agGrid.scss 0000644 00000035005 15102115760 0006637 0 ustar 00 // Customize the look and feel of the grid with Sass variables
// Up-to-date list of variables is available here: http://www.ag-grid.com/javascript-grid-styling/#customizing-sass-variables
//https://github.com/ag-grid/ag-grid-customise-theme
//https://www.ag-grid.com/javascript-grid-themes-provided/
// changes the selected checkbox check mark color
@import "../../theme/green-theme.less";
$ag-header-background-color: #1890ff;
$ag-font-family: iranyekan, sans-serif;
$ag-icon-color: #fff;
@import '../../../node_modules/ag-grid-community/dist/styles/ag-grid.css';
@import '../../../node_modules/ag-grid-community/dist/styles/ag-theme-blue/sass/ag-theme-blue';
//
.ag-theme-blue {
.ag-tab-header {
background-color: #1da57a;
}
.ag-tab-header {
.ag-tab.ag-tab-selected {
background-color: #1da57a;
border: none;
}
}
}
//.ag-theme-balham {
// @include ag-theme-balham((
// // Colour of text and icons in primary UI elements like menus
// foreground-color: #000,
//
// // Colour of text in grid cells
// data-color: #000,
//
// // Colour of text and icons in UI elements that need to be slightly less emphasised to avoid distracting attention from data
// secondary-foreground-color: #000,
//
// // Colour of text and icons in the header
// header-foreground-color: #000,
//
// // Color of elements that can't be interacted with because they are in a disabled state
// disabled-foreground-color: ag-derived(foreground-color, $opacity: 0.5),
//
// // Background colour of the grid
// background-color: #fff,
//
// // Background colour for all headers, including the grid header, panels etc
// header-background-color: null,
//
// // Background colour for second level headings within UI components
// subheader-background-color: null,
//
// // Background for areas of the interface that contain UI controls, like tool panels and the chart settings menu
// control-panel-background-color: null,
//
// // Background color of selected rows in the grid and in dropdown menus
// selected-row-background-color: ag-derived(background-color, $mix: foreground-color 25%),
//
// // Background colour applied to every other row or null to use background-color for all rows
// odd-row-background-color: null,
//
// // Background color when hovering over rows in the grid and in dropdown menus, or null for no rollover effect (note - if you want a rollover on one but not the other, set to null and use CSS to achieve the rollover)
// row-hover-color: null,
//
// // Color to draw around selected cell ranges
// range-selection-border-color: ag-derived(foreground-color),
//
// // Background colour of selected cell ranges. Choosing a semi-transparent color (opacity of 0.1 to 0.5 works well) will ensure that it looks good when multiple ranges overlap.
// range-selection-background-color: ag-derived(range-selection-border-color, $opacity: 0.2),
//
// // Background colour to apply to a cell range when it is copied from or pasted into
// range-selection-highlight-color: ag-derived(range-selection-border-color),
//
// // Colour and thickness of the border drawn under selected tabs, including menus and tool panels
// selected-tab-underline-color: ag-derived(range-selection-border-color),
// selected-tab-underline-width: 0,
// selected-tab-underline-transition-speed: null,
//
// // Background colour for cells that provide categories to the current range chart
// range-selection-chart-category-background-color: rgba(#00FF84, 0.1),
//
// // Background colour for cells that provide data to the current range chart
// range-selection-chart-background-color: rgba(#0058FF, 0.1),
//
// // Rollover colour for header cells
// header-cell-hover-background-color: null,
//
// // Colour applied to header cells when the column is being dragged to a new position
// header-cell-moving-background-color: ag-derived(header-cell-hover-background-color),
//
// // Colour to apply when a cell value changes and enableCellChangeFlash is enabled
// value-change-value-highlight-background-color: rgba(#16A085, 0.5),
//
// // Colours to apply when a value increases or decreases in an agAnimateShowChangeCellRenderer cell
// value-change-delta-up-color: #43a047,
// value-change-delta-down-color: #e53935,
//
// // Colour for the "chip" that repersents a column that has been dragged onto a drop zone
// chip-background-color: null,
//
// //
// // BORDERS
// //
//
// // Draw borders around most UI elements
// borders: true,
//
// // Draw the few borders that are critical to UX, e.g. between headers and rows.
// borders-critical: ag-derived(borders),
//
// // Draw decorative borders separating UI elements within components
// borders-secondary: ag-derived(borders),
//
// // Draw borders around sidebar tabs so that the active tab appears connected to the current tool panel
// borders-side-button: ag-derived(borders),
//
// border-radius: 0px,
//
// // Colour for border around major UI components like the grid itself, headers, footers and tool panels
// border-color: ag-derived(background-color, $mix: foreground-color 25%),
//
// // Colour for borders used to separate elements within a major UI component
// secondary-border-color: ag-derived(border-color),
//
// // Colour of the border between grid rows, or null to display no border
// row-border-color: ag-derived(secondary-border-color),
//
// // Default border for cells. This can be used to specify the border-style and border-color properties e.g. `dashed red` but the border-width is fixed at 1px.
// cell-horizontal-border: solid transparent,
//
// // Separator between columns in the header. Displays between all header cells For best UX, use either this or header-column-resize-handle but not both
// header-column-separator: false,
// header-column-separator-height: 100%,
// header-column-separator-width: 1px,
// header-column-separator-color: ag-derived(border-color, $opacity: 0.5),
//
// // Visible marker for resizeable columns. Displays in the same position as the column separator, but only when the column is resizeable. For best UX, use either this or header-column-separator but not both
// header-column-resize-handle: false,
// header-column-resize-handle-height: 50%,
// header-column-resize-handle-width: 1px,
// header-column-resize-handle-color: ag-derived(border-color, $opacity: 0.5),
//
// //
// // INPUTS
// //
//
// // Suppress styling of native widgets: . If you want to style these yourself, set this to true. If you only want to disable styling for some kinds of input, you can set this to true and e.g. @include ag-native-inputs((checkbox: false)) which will emit styles for all kinds of input except checkboxes.
// suppress-native-widget-styling: false,
//
// input-disabled-background-color: null,
// input-border-color: null,
//
// checkbox-background-color: null,
// checkbox-border-radius: ag-derived(border-radius),
// checkbox-checked-color: ag-derived(foreground-color),
// checkbox-unchecked-color: ag-derived(foreground-color),
// checkbox-indeterminate-color: ag-derived(checkbox-unchecked-color),
//
// toggle-button-off-border-color: ag-derived(checkbox-unchecked-color),
// toggle-button-off-background-color: ag-derived(checkbox-unchecked-color),
// toggle-button-on-border-color: ag-derived(checkbox-checked-color),
// toggle-button-on-background-color: ag-derived(checkbox-checked-color),
// toggle-button-switch-background-color: ag-derived(background-color),
// toggle-button-switch-border-color: ag-derived(toggle-button-off-border-color),
// toggle-button-border-width: 1px,
// toggle-button-height: ag-derived(icon-size),
// toggle-button-width: ag-derived(toggle-button-height, $times: 2),
//
// input-focus-box-shadow: null,
// input-focus-border-color: null,
//
// // CHART SETTINGS
//
// // Color of border around selected chart style
// minichart-selected-chart-color: ag-derived(checkbox-checked-color),
// // Color of dot representing selected page of chart styles
// minichart-selected-page-color: ag-derived(checkbox-checked-color),
//
//
// //
// // SIZING / PADDING / SPACING
// //
//
// // grid-size is the main control for affecting how tightly data and UI elements are packed together. All padding and spacing in the grid is defined as a multiple of grid-size, so increasing it will make most components larger by increasing their internal white space while leaving the size of text and icons unchanged.
// grid-size: 4px,
//
// // The size of square icons and icon-buttons
// icon-size: 12px,
//
// // These 4 variables set the padding around and spacing between widgets in "widget containers" which are parts of the UI that contain many related widgets, like the set filter menu, charts settings tabs etc.
// widget-container-horizontal-padding: ag-derived(grid-size, $times: 1.5),
// widget-container-vertical-padding: ag-derived(grid-size, $times: 1.5),
// widget-horizontal-spacing: ag-derived(grid-size, $times: 1.5),
// widget-vertical-spacing: ag-derived(grid-size),
//
// // Horizontal padding for grid and header cells (vertical padding is not set explicitly, but inferred from row-height / header-height
// cell-horizontal-padding: ag-derived(grid-size, $times: 3),
//
// // Horizontal spacing between widgets inside cells (e.g. row group expand buttons and row selection checkboxes)
// cell-widget-spacing: ag-derived(cell-horizontal-padding),
//
// // Height of grid rows
// row-height: ag-derived(grid-size, $times: 6, $plus: 1),
//
// // Height of header rows
// header-height: ag-derived(row-height),
//
// // Height of items in lists (example of lists are dropdown select inputs and column menu set filters)
// list-item-height: ag-derived(grid-size, $times: 5),
//
// // How much to indent child columns in the column tool panel relative to their parent
// column-select-indent-size: ag-derived(grid-size, $plus: icon-size),
//
// // How much to indent child rows in the grid relative to their parent row
// row-group-indent-size: ag-derived(cell-widget-spacing, $plus: icon-size),
//
// // How much to indent child columns in the filters tool panel relative to their parent
// filter-tool-panel-group-indent: 16px,
//
// // Cause tabs to stretch across the full width of the tab panel header
// full-width-tabs: false,
//
// // Fonts
// font-family: ("Helvetica Neue", sans-serif),
// font-size: 14px,
//
// // The name of the font family you're using
// icon-font-family: $ag-theme-base-icon-font-family, // this var exported by ag-theme-base-font-vars.scss
//
// // A URI (data: URI or web URL) to load the icon font from. NOTE: if your icon font is already loaded in the app's HTML page, set this to null to avoid embedding unnecessry font data in the compiled theme.
// icons-data: $ag-theme-base-icons-data, // this var exported by ag-theme-base-font-vars.scss
// icons-font-codes: $ag-theme-base-icons-font-codes, // this var exported by ag-theme-base-font-vars.scss
//
// // cards are elements that float above the UI
// card-radius: ag-derived(border-radius),
//
// // the default card shadow applies to simple cards like column drag indicators and text editors
// card-shadow: none,
//
// // override the shadow for popups - cards that contain complex UI, like menus and charts
// popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3),
//
// // Use Font Awesome for icons
// icon-font-family: "Font Awesome 5 Free",
// // The @imports above embed the Font Awesome data, so set icons-data to null to avoid
// // the theme's default font from being embedded too
// icons-data: null,
// // Map ag-Grid icon names to Font Awesome character codes
// icons-font-codes: (
// "aggregation": "\f247",
// "arrows": "\f0b2",
// "asc": "\f062",
// "cancel": "\f057",
// "chart": "\f080",
// "color-picker": "\f576",
// "columns": "\f0db",
// "contracted": "\f146",
// "copy": "\f0c5",
// "cross": "\f00d",
// "desc": "\f063",
// "expanded": "\f0fe",
// "eye-slash": "\f070",
// "eye": "\f06e",
// "filter": "\f0b0",
// "first": "\f100",
// "grip": "\f58e",
// "group": "\f5fd",
// "last": "\f101",
// "left": "\f060",
// "linked": "\f0c1",
// "loading": "\f110",
// "maximize": "\f2d0",
// "menu": "\f0c9",
// "minimize": "\f2d1",
// "next": "\f105",
// "none": "\f338",
// "not-allowed": "\f05e",
// "paste": "\f0ea",
// "pin": "\f276",
// "pivot": "\f074",
// "previous": "\f104",
// "right": "\f061",
// "save": "\f0c7",
// "small-down": "\f107",
// "small-left": "\f104",
// "small-right": "\f105",
// "small-up": "\f106",
// "tick": "\f00c",
// "tree-closed": "\f105",
// "tree-indeterminate": "\f068",
// "tree-open": "\f107",
// "unlinked": "\f127",
// )
// ))
//}
//
fonts.scss 0000644 00000012725 15102115760 0006577 0 ustar 00 /*******fontawesome****/
@import "../fonts/fontawesome/scss/fontawesome";
@import "../fonts/fontawesome/scss/solid";
@import "../fonts/fontawesome/scss/duotone";
@import "../fonts/fontawesome/scss/regular";
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: bold;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebboldfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebboldfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebboldfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebboldfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 100;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebthinfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebthinfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebthinfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebthinfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 300;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanweblightfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanweblightfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanweblightfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanweblightfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: normal;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebregularfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebregularfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebregularfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebregularfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 500;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebmediumfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebmediumfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebmediumfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebmediumfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 800;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextraboldfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextraboldfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebextraboldfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebextraboldfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 800;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebblackfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebblackfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebblackfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebblackfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 900;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextrablackfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextrablackfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebextrablackfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebextrablackfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekanEnNum;
font-style: normal;
font-weight: normal;
src: url('../fonts/iran-yekan/WebFonts/fonts/eot/IRANYekanWebBold.eot');
src: url('../fonts/iran-yekan/WebFonts/fonts/eot/IRANYekanWebBold.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/WebFonts/fonts/woff/IRANYekanWebBold.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/WebFonts/fonts/woff2/IRANYekanWebBold.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
url('../fonts/iran-yekan/WebFonts/fonts/ttf/IRANYekanWebBold.ttf') format('truetype');
}
fonts-20251103014408.scss 0000644 00000012725 15102115760 0010153 0 ustar 00 /*******fontawesome****/
@import "../fonts/fontawesome/scss/fontawesome";
@import "../fonts/fontawesome/scss/solid";
@import "../fonts/fontawesome/scss/duotone";
@import "../fonts/fontawesome/scss/regular";
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: bold;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebboldfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebboldfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebboldfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebboldfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 100;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebthinfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebthinfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebthinfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebthinfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 300;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanweblightfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanweblightfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanweblightfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanweblightfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: normal;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebregularfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebregularfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebregularfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebregularfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 500;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebmediumfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebmediumfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebmediumfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebmediumfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 800;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextraboldfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextraboldfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebextraboldfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebextraboldfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 800;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebblackfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebblackfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebblackfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebblackfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 900;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextrablackfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextrablackfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebextrablackfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebextrablackfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekanEnNum;
font-style: normal;
font-weight: normal;
src: url('../fonts/iran-yekan/WebFonts/fonts/eot/IRANYekanWebBold.eot');
src: url('../fonts/iran-yekan/WebFonts/fonts/eot/IRANYekanWebBold.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/WebFonts/fonts/woff/IRANYekanWebBold.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/WebFonts/fonts/woff2/IRANYekanWebBold.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
url('../fonts/iran-yekan/WebFonts/fonts/ttf/IRANYekanWebBold.ttf') format('truetype');
}
agGrid-20251103075949.scss 0000644 00000035005 15102115760 0010234 0 ustar 00 // Customize the look and feel of the grid with Sass variables
// Up-to-date list of variables is available here: http://www.ag-grid.com/javascript-grid-styling/#customizing-sass-variables
//https://github.com/ag-grid/ag-grid-customise-theme
//https://www.ag-grid.com/javascript-grid-themes-provided/
// changes the selected checkbox check mark color
@import "../../theme/green-theme.less";
$ag-header-background-color: #1890ff;
$ag-font-family: iranyekan, sans-serif;
$ag-icon-color: #fff;
@import '../../../node_modules/ag-grid-community/dist/styles/ag-grid.css';
@import '../../../node_modules/ag-grid-community/dist/styles/ag-theme-blue/sass/ag-theme-blue';
//
.ag-theme-blue {
.ag-tab-header {
background-color: #1da57a;
}
.ag-tab-header {
.ag-tab.ag-tab-selected {
background-color: #1da57a;
border: none;
}
}
}
//.ag-theme-balham {
// @include ag-theme-balham((
// // Colour of text and icons in primary UI elements like menus
// foreground-color: #000,
//
// // Colour of text in grid cells
// data-color: #000,
//
// // Colour of text and icons in UI elements that need to be slightly less emphasised to avoid distracting attention from data
// secondary-foreground-color: #000,
//
// // Colour of text and icons in the header
// header-foreground-color: #000,
//
// // Color of elements that can't be interacted with because they are in a disabled state
// disabled-foreground-color: ag-derived(foreground-color, $opacity: 0.5),
//
// // Background colour of the grid
// background-color: #fff,
//
// // Background colour for all headers, including the grid header, panels etc
// header-background-color: null,
//
// // Background colour for second level headings within UI components
// subheader-background-color: null,
//
// // Background for areas of the interface that contain UI controls, like tool panels and the chart settings menu
// control-panel-background-color: null,
//
// // Background color of selected rows in the grid and in dropdown menus
// selected-row-background-color: ag-derived(background-color, $mix: foreground-color 25%),
//
// // Background colour applied to every other row or null to use background-color for all rows
// odd-row-background-color: null,
//
// // Background color when hovering over rows in the grid and in dropdown menus, or null for no rollover effect (note - if you want a rollover on one but not the other, set to null and use CSS to achieve the rollover)
// row-hover-color: null,
//
// // Color to draw around selected cell ranges
// range-selection-border-color: ag-derived(foreground-color),
//
// // Background colour of selected cell ranges. Choosing a semi-transparent color (opacity of 0.1 to 0.5 works well) will ensure that it looks good when multiple ranges overlap.
// range-selection-background-color: ag-derived(range-selection-border-color, $opacity: 0.2),
//
// // Background colour to apply to a cell range when it is copied from or pasted into
// range-selection-highlight-color: ag-derived(range-selection-border-color),
//
// // Colour and thickness of the border drawn under selected tabs, including menus and tool panels
// selected-tab-underline-color: ag-derived(range-selection-border-color),
// selected-tab-underline-width: 0,
// selected-tab-underline-transition-speed: null,
//
// // Background colour for cells that provide categories to the current range chart
// range-selection-chart-category-background-color: rgba(#00FF84, 0.1),
//
// // Background colour for cells that provide data to the current range chart
// range-selection-chart-background-color: rgba(#0058FF, 0.1),
//
// // Rollover colour for header cells
// header-cell-hover-background-color: null,
//
// // Colour applied to header cells when the column is being dragged to a new position
// header-cell-moving-background-color: ag-derived(header-cell-hover-background-color),
//
// // Colour to apply when a cell value changes and enableCellChangeFlash is enabled
// value-change-value-highlight-background-color: rgba(#16A085, 0.5),
//
// // Colours to apply when a value increases or decreases in an agAnimateShowChangeCellRenderer cell
// value-change-delta-up-color: #43a047,
// value-change-delta-down-color: #e53935,
//
// // Colour for the "chip" that repersents a column that has been dragged onto a drop zone
// chip-background-color: null,
//
// //
// // BORDERS
// //
//
// // Draw borders around most UI elements
// borders: true,
//
// // Draw the few borders that are critical to UX, e.g. between headers and rows.
// borders-critical: ag-derived(borders),
//
// // Draw decorative borders separating UI elements within components
// borders-secondary: ag-derived(borders),
//
// // Draw borders around sidebar tabs so that the active tab appears connected to the current tool panel
// borders-side-button: ag-derived(borders),
//
// border-radius: 0px,
//
// // Colour for border around major UI components like the grid itself, headers, footers and tool panels
// border-color: ag-derived(background-color, $mix: foreground-color 25%),
//
// // Colour for borders used to separate elements within a major UI component
// secondary-border-color: ag-derived(border-color),
//
// // Colour of the border between grid rows, or null to display no border
// row-border-color: ag-derived(secondary-border-color),
//
// // Default border for cells. This can be used to specify the border-style and border-color properties e.g. `dashed red` but the border-width is fixed at 1px.
// cell-horizontal-border: solid transparent,
//
// // Separator between columns in the header. Displays between all header cells For best UX, use either this or header-column-resize-handle but not both
// header-column-separator: false,
// header-column-separator-height: 100%,
// header-column-separator-width: 1px,
// header-column-separator-color: ag-derived(border-color, $opacity: 0.5),
//
// // Visible marker for resizeable columns. Displays in the same position as the column separator, but only when the column is resizeable. For best UX, use either this or header-column-separator but not both
// header-column-resize-handle: false,
// header-column-resize-handle-height: 50%,
// header-column-resize-handle-width: 1px,
// header-column-resize-handle-color: ag-derived(border-color, $opacity: 0.5),
//
// //
// // INPUTS
// //
//
// // Suppress styling of native widgets: . If you want to style these yourself, set this to true. If you only want to disable styling for some kinds of input, you can set this to true and e.g. @include ag-native-inputs((checkbox: false)) which will emit styles for all kinds of input except checkboxes.
// suppress-native-widget-styling: false,
//
// input-disabled-background-color: null,
// input-border-color: null,
//
// checkbox-background-color: null,
// checkbox-border-radius: ag-derived(border-radius),
// checkbox-checked-color: ag-derived(foreground-color),
// checkbox-unchecked-color: ag-derived(foreground-color),
// checkbox-indeterminate-color: ag-derived(checkbox-unchecked-color),
//
// toggle-button-off-border-color: ag-derived(checkbox-unchecked-color),
// toggle-button-off-background-color: ag-derived(checkbox-unchecked-color),
// toggle-button-on-border-color: ag-derived(checkbox-checked-color),
// toggle-button-on-background-color: ag-derived(checkbox-checked-color),
// toggle-button-switch-background-color: ag-derived(background-color),
// toggle-button-switch-border-color: ag-derived(toggle-button-off-border-color),
// toggle-button-border-width: 1px,
// toggle-button-height: ag-derived(icon-size),
// toggle-button-width: ag-derived(toggle-button-height, $times: 2),
//
// input-focus-box-shadow: null,
// input-focus-border-color: null,
//
// // CHART SETTINGS
//
// // Color of border around selected chart style
// minichart-selected-chart-color: ag-derived(checkbox-checked-color),
// // Color of dot representing selected page of chart styles
// minichart-selected-page-color: ag-derived(checkbox-checked-color),
//
//
// //
// // SIZING / PADDING / SPACING
// //
//
// // grid-size is the main control for affecting how tightly data and UI elements are packed together. All padding and spacing in the grid is defined as a multiple of grid-size, so increasing it will make most components larger by increasing their internal white space while leaving the size of text and icons unchanged.
// grid-size: 4px,
//
// // The size of square icons and icon-buttons
// icon-size: 12px,
//
// // These 4 variables set the padding around and spacing between widgets in "widget containers" which are parts of the UI that contain many related widgets, like the set filter menu, charts settings tabs etc.
// widget-container-horizontal-padding: ag-derived(grid-size, $times: 1.5),
// widget-container-vertical-padding: ag-derived(grid-size, $times: 1.5),
// widget-horizontal-spacing: ag-derived(grid-size, $times: 1.5),
// widget-vertical-spacing: ag-derived(grid-size),
//
// // Horizontal padding for grid and header cells (vertical padding is not set explicitly, but inferred from row-height / header-height
// cell-horizontal-padding: ag-derived(grid-size, $times: 3),
//
// // Horizontal spacing between widgets inside cells (e.g. row group expand buttons and row selection checkboxes)
// cell-widget-spacing: ag-derived(cell-horizontal-padding),
//
// // Height of grid rows
// row-height: ag-derived(grid-size, $times: 6, $plus: 1),
//
// // Height of header rows
// header-height: ag-derived(row-height),
//
// // Height of items in lists (example of lists are dropdown select inputs and column menu set filters)
// list-item-height: ag-derived(grid-size, $times: 5),
//
// // How much to indent child columns in the column tool panel relative to their parent
// column-select-indent-size: ag-derived(grid-size, $plus: icon-size),
//
// // How much to indent child rows in the grid relative to their parent row
// row-group-indent-size: ag-derived(cell-widget-spacing, $plus: icon-size),
//
// // How much to indent child columns in the filters tool panel relative to their parent
// filter-tool-panel-group-indent: 16px,
//
// // Cause tabs to stretch across the full width of the tab panel header
// full-width-tabs: false,
//
// // Fonts
// font-family: ("Helvetica Neue", sans-serif),
// font-size: 14px,
//
// // The name of the font family you're using
// icon-font-family: $ag-theme-base-icon-font-family, // this var exported by ag-theme-base-font-vars.scss
//
// // A URI (data: URI or web URL) to load the icon font from. NOTE: if your icon font is already loaded in the app's HTML page, set this to null to avoid embedding unnecessry font data in the compiled theme.
// icons-data: $ag-theme-base-icons-data, // this var exported by ag-theme-base-font-vars.scss
// icons-font-codes: $ag-theme-base-icons-font-codes, // this var exported by ag-theme-base-font-vars.scss
//
// // cards are elements that float above the UI
// card-radius: ag-derived(border-radius),
//
// // the default card shadow applies to simple cards like column drag indicators and text editors
// card-shadow: none,
//
// // override the shadow for popups - cards that contain complex UI, like menus and charts
// popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3),
//
// // Use Font Awesome for icons
// icon-font-family: "Font Awesome 5 Free",
// // The @imports above embed the Font Awesome data, so set icons-data to null to avoid
// // the theme's default font from being embedded too
// icons-data: null,
// // Map ag-Grid icon names to Font Awesome character codes
// icons-font-codes: (
// "aggregation": "\f247",
// "arrows": "\f0b2",
// "asc": "\f062",
// "cancel": "\f057",
// "chart": "\f080",
// "color-picker": "\f576",
// "columns": "\f0db",
// "contracted": "\f146",
// "copy": "\f0c5",
// "cross": "\f00d",
// "desc": "\f063",
// "expanded": "\f0fe",
// "eye-slash": "\f070",
// "eye": "\f06e",
// "filter": "\f0b0",
// "first": "\f100",
// "grip": "\f58e",
// "group": "\f5fd",
// "last": "\f101",
// "left": "\f060",
// "linked": "\f0c1",
// "loading": "\f110",
// "maximize": "\f2d0",
// "menu": "\f0c9",
// "minimize": "\f2d1",
// "next": "\f105",
// "none": "\f338",
// "not-allowed": "\f05e",
// "paste": "\f0ea",
// "pin": "\f276",
// "pivot": "\f074",
// "previous": "\f104",
// "right": "\f061",
// "save": "\f0c7",
// "small-down": "\f107",
// "small-left": "\f104",
// "small-right": "\f105",
// "small-up": "\f106",
// "tick": "\f00c",
// "tree-closed": "\f105",
// "tree-indeterminate": "\f068",
// "tree-open": "\f107",
// "unlinked": "\f127",
// )
// ))
//}
//
fonts-20251103014408-20251103131659.scss 0000644 00000012725 15102327707 0011545 0 ustar 00 /*******fontawesome****/
@import "../fonts/fontawesome/scss/fontawesome";
@import "../fonts/fontawesome/scss/solid";
@import "../fonts/fontawesome/scss/duotone";
@import "../fonts/fontawesome/scss/regular";
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: bold;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebboldfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebboldfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebboldfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebboldfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 100;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebthinfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebthinfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebthinfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebthinfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 300;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanweblightfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanweblightfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanweblightfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanweblightfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: normal;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebregularfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebregularfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebregularfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebregularfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 500;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebmediumfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebmediumfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebmediumfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebmediumfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 800;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextraboldfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextraboldfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebextraboldfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebextraboldfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 800;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebblackfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebblackfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebblackfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebblackfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekan;
font-style: normal;
font-weight: 900;
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextrablackfanum.eot');
src: url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/eot/iranyekanwebextrablackfanum.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/woff/iranyekanwebextrablackfanum.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/Farsi_numerals/WebFonts/fonts/ttf/iranyekanwebextrablackfanum.ttf') format('truetype');
}
@font-face {
font-family: iranyekanEnNum;
font-style: normal;
font-weight: normal;
src: url('../fonts/iran-yekan/WebFonts/fonts/eot/IRANYekanWebBold.eot');
src: url('../fonts/iran-yekan/WebFonts/fonts/eot/IRANYekanWebBold.eot?#iefix') format('embedded-opentype'), /* IE6-8 */
url('../fonts/iran-yekan/WebFonts/fonts/woff/IRANYekanWebBold.woff') format('woff'), /* FF3.6+, IE9, Chrome6+, Saf5.1+*/
url('../fonts/iran-yekan/WebFonts/fonts/woff2/IRANYekanWebBold.woff2') format('woff2'), /* FF39+,Chrome36+, Opera24+*/
url('../fonts/iran-yekan/WebFonts/fonts/ttf/IRANYekanWebBold.ttf') format('truetype');
}
discount.json 0000644 00000001333 15102327707 0007273 0 ustar 00 [
{
"field": "code",
"headerName": "کد تخفیف"
},
{
"field": "amount",
"headerName": "درصد تخفیف"
},
{
"field": "fromDate",
"headerName": "شروع اعتبار"
},
{
"field": "toDate",
"headerName": "پایان اعتبار"
},
{
"field": "isEnabled",
"headerName": "فعال می باشد"
},
{
"field": "title",
"headerName": "عنوان تخفیف"
},
{
"field": "isAutoGenerated",
"headerName": "سیستمی است"
},
{
"field": "isGroup",
"headerName": "گروهی می باشد"
},
{
"field": "minGroupCount",
"headerName": "حداقل تعداد گروه"
}
]
agGrid-20251103075949-20251103194750.scss 0000644 00000035005 15102327707 0011627 0 ustar 00 // Customize the look and feel of the grid with Sass variables
// Up-to-date list of variables is available here: http://www.ag-grid.com/javascript-grid-styling/#customizing-sass-variables
//https://github.com/ag-grid/ag-grid-customise-theme
//https://www.ag-grid.com/javascript-grid-themes-provided/
// changes the selected checkbox check mark color
@import "../../theme/green-theme.less";
$ag-header-background-color: #1890ff;
$ag-font-family: iranyekan, sans-serif;
$ag-icon-color: #fff;
@import '../../../node_modules/ag-grid-community/dist/styles/ag-grid.css';
@import '../../../node_modules/ag-grid-community/dist/styles/ag-theme-blue/sass/ag-theme-blue';
//
.ag-theme-blue {
.ag-tab-header {
background-color: #1da57a;
}
.ag-tab-header {
.ag-tab.ag-tab-selected {
background-color: #1da57a;
border: none;
}
}
}
//.ag-theme-balham {
// @include ag-theme-balham((
// // Colour of text and icons in primary UI elements like menus
// foreground-color: #000,
//
// // Colour of text in grid cells
// data-color: #000,
//
// // Colour of text and icons in UI elements that need to be slightly less emphasised to avoid distracting attention from data
// secondary-foreground-color: #000,
//
// // Colour of text and icons in the header
// header-foreground-color: #000,
//
// // Color of elements that can't be interacted with because they are in a disabled state
// disabled-foreground-color: ag-derived(foreground-color, $opacity: 0.5),
//
// // Background colour of the grid
// background-color: #fff,
//
// // Background colour for all headers, including the grid header, panels etc
// header-background-color: null,
//
// // Background colour for second level headings within UI components
// subheader-background-color: null,
//
// // Background for areas of the interface that contain UI controls, like tool panels and the chart settings menu
// control-panel-background-color: null,
//
// // Background color of selected rows in the grid and in dropdown menus
// selected-row-background-color: ag-derived(background-color, $mix: foreground-color 25%),
//
// // Background colour applied to every other row or null to use background-color for all rows
// odd-row-background-color: null,
//
// // Background color when hovering over rows in the grid and in dropdown menus, or null for no rollover effect (note - if you want a rollover on one but not the other, set to null and use CSS to achieve the rollover)
// row-hover-color: null,
//
// // Color to draw around selected cell ranges
// range-selection-border-color: ag-derived(foreground-color),
//
// // Background colour of selected cell ranges. Choosing a semi-transparent color (opacity of 0.1 to 0.5 works well) will ensure that it looks good when multiple ranges overlap.
// range-selection-background-color: ag-derived(range-selection-border-color, $opacity: 0.2),
//
// // Background colour to apply to a cell range when it is copied from or pasted into
// range-selection-highlight-color: ag-derived(range-selection-border-color),
//
// // Colour and thickness of the border drawn under selected tabs, including menus and tool panels
// selected-tab-underline-color: ag-derived(range-selection-border-color),
// selected-tab-underline-width: 0,
// selected-tab-underline-transition-speed: null,
//
// // Background colour for cells that provide categories to the current range chart
// range-selection-chart-category-background-color: rgba(#00FF84, 0.1),
//
// // Background colour for cells that provide data to the current range chart
// range-selection-chart-background-color: rgba(#0058FF, 0.1),
//
// // Rollover colour for header cells
// header-cell-hover-background-color: null,
//
// // Colour applied to header cells when the column is being dragged to a new position
// header-cell-moving-background-color: ag-derived(header-cell-hover-background-color),
//
// // Colour to apply when a cell value changes and enableCellChangeFlash is enabled
// value-change-value-highlight-background-color: rgba(#16A085, 0.5),
//
// // Colours to apply when a value increases or decreases in an agAnimateShowChangeCellRenderer cell
// value-change-delta-up-color: #43a047,
// value-change-delta-down-color: #e53935,
//
// // Colour for the "chip" that repersents a column that has been dragged onto a drop zone
// chip-background-color: null,
//
// //
// // BORDERS
// //
//
// // Draw borders around most UI elements
// borders: true,
//
// // Draw the few borders that are critical to UX, e.g. between headers and rows.
// borders-critical: ag-derived(borders),
//
// // Draw decorative borders separating UI elements within components
// borders-secondary: ag-derived(borders),
//
// // Draw borders around sidebar tabs so that the active tab appears connected to the current tool panel
// borders-side-button: ag-derived(borders),
//
// border-radius: 0px,
//
// // Colour for border around major UI components like the grid itself, headers, footers and tool panels
// border-color: ag-derived(background-color, $mix: foreground-color 25%),
//
// // Colour for borders used to separate elements within a major UI component
// secondary-border-color: ag-derived(border-color),
//
// // Colour of the border between grid rows, or null to display no border
// row-border-color: ag-derived(secondary-border-color),
//
// // Default border for cells. This can be used to specify the border-style and border-color properties e.g. `dashed red` but the border-width is fixed at 1px.
// cell-horizontal-border: solid transparent,
//
// // Separator between columns in the header. Displays between all header cells For best UX, use either this or header-column-resize-handle but not both
// header-column-separator: false,
// header-column-separator-height: 100%,
// header-column-separator-width: 1px,
// header-column-separator-color: ag-derived(border-color, $opacity: 0.5),
//
// // Visible marker for resizeable columns. Displays in the same position as the column separator, but only when the column is resizeable. For best UX, use either this or header-column-separator but not both
// header-column-resize-handle: false,
// header-column-resize-handle-height: 50%,
// header-column-resize-handle-width: 1px,
// header-column-resize-handle-color: ag-derived(border-color, $opacity: 0.5),
//
// //
// // INPUTS
// //
//
// // Suppress styling of native widgets: . If you want to style these yourself, set this to true. If you only want to disable styling for some kinds of input, you can set this to true and e.g. @include ag-native-inputs((checkbox: false)) which will emit styles for all kinds of input except checkboxes.
// suppress-native-widget-styling: false,
//
// input-disabled-background-color: null,
// input-border-color: null,
//
// checkbox-background-color: null,
// checkbox-border-radius: ag-derived(border-radius),
// checkbox-checked-color: ag-derived(foreground-color),
// checkbox-unchecked-color: ag-derived(foreground-color),
// checkbox-indeterminate-color: ag-derived(checkbox-unchecked-color),
//
// toggle-button-off-border-color: ag-derived(checkbox-unchecked-color),
// toggle-button-off-background-color: ag-derived(checkbox-unchecked-color),
// toggle-button-on-border-color: ag-derived(checkbox-checked-color),
// toggle-button-on-background-color: ag-derived(checkbox-checked-color),
// toggle-button-switch-background-color: ag-derived(background-color),
// toggle-button-switch-border-color: ag-derived(toggle-button-off-border-color),
// toggle-button-border-width: 1px,
// toggle-button-height: ag-derived(icon-size),
// toggle-button-width: ag-derived(toggle-button-height, $times: 2),
//
// input-focus-box-shadow: null,
// input-focus-border-color: null,
//
// // CHART SETTINGS
//
// // Color of border around selected chart style
// minichart-selected-chart-color: ag-derived(checkbox-checked-color),
// // Color of dot representing selected page of chart styles
// minichart-selected-page-color: ag-derived(checkbox-checked-color),
//
//
// //
// // SIZING / PADDING / SPACING
// //
//
// // grid-size is the main control for affecting how tightly data and UI elements are packed together. All padding and spacing in the grid is defined as a multiple of grid-size, so increasing it will make most components larger by increasing their internal white space while leaving the size of text and icons unchanged.
// grid-size: 4px,
//
// // The size of square icons and icon-buttons
// icon-size: 12px,
//
// // These 4 variables set the padding around and spacing between widgets in "widget containers" which are parts of the UI that contain many related widgets, like the set filter menu, charts settings tabs etc.
// widget-container-horizontal-padding: ag-derived(grid-size, $times: 1.5),
// widget-container-vertical-padding: ag-derived(grid-size, $times: 1.5),
// widget-horizontal-spacing: ag-derived(grid-size, $times: 1.5),
// widget-vertical-spacing: ag-derived(grid-size),
//
// // Horizontal padding for grid and header cells (vertical padding is not set explicitly, but inferred from row-height / header-height
// cell-horizontal-padding: ag-derived(grid-size, $times: 3),
//
// // Horizontal spacing between widgets inside cells (e.g. row group expand buttons and row selection checkboxes)
// cell-widget-spacing: ag-derived(cell-horizontal-padding),
//
// // Height of grid rows
// row-height: ag-derived(grid-size, $times: 6, $plus: 1),
//
// // Height of header rows
// header-height: ag-derived(row-height),
//
// // Height of items in lists (example of lists are dropdown select inputs and column menu set filters)
// list-item-height: ag-derived(grid-size, $times: 5),
//
// // How much to indent child columns in the column tool panel relative to their parent
// column-select-indent-size: ag-derived(grid-size, $plus: icon-size),
//
// // How much to indent child rows in the grid relative to their parent row
// row-group-indent-size: ag-derived(cell-widget-spacing, $plus: icon-size),
//
// // How much to indent child columns in the filters tool panel relative to their parent
// filter-tool-panel-group-indent: 16px,
//
// // Cause tabs to stretch across the full width of the tab panel header
// full-width-tabs: false,
//
// // Fonts
// font-family: ("Helvetica Neue", sans-serif),
// font-size: 14px,
//
// // The name of the font family you're using
// icon-font-family: $ag-theme-base-icon-font-family, // this var exported by ag-theme-base-font-vars.scss
//
// // A URI (data: URI or web URL) to load the icon font from. NOTE: if your icon font is already loaded in the app's HTML page, set this to null to avoid embedding unnecessry font data in the compiled theme.
// icons-data: $ag-theme-base-icons-data, // this var exported by ag-theme-base-font-vars.scss
// icons-font-codes: $ag-theme-base-icons-font-codes, // this var exported by ag-theme-base-font-vars.scss
//
// // cards are elements that float above the UI
// card-radius: ag-derived(border-radius),
//
// // the default card shadow applies to simple cards like column drag indicators and text editors
// card-shadow: none,
//
// // override the shadow for popups - cards that contain complex UI, like menus and charts
// popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3),
//
// // Use Font Awesome for icons
// icon-font-family: "Font Awesome 5 Free",
// // The @imports above embed the Font Awesome data, so set icons-data to null to avoid
// // the theme's default font from being embedded too
// icons-data: null,
// // Map ag-Grid icon names to Font Awesome character codes
// icons-font-codes: (
// "aggregation": "\f247",
// "arrows": "\f0b2",
// "asc": "\f062",
// "cancel": "\f057",
// "chart": "\f080",
// "color-picker": "\f576",
// "columns": "\f0db",
// "contracted": "\f146",
// "copy": "\f0c5",
// "cross": "\f00d",
// "desc": "\f063",
// "expanded": "\f0fe",
// "eye-slash": "\f070",
// "eye": "\f06e",
// "filter": "\f0b0",
// "first": "\f100",
// "grip": "\f58e",
// "group": "\f5fd",
// "last": "\f101",
// "left": "\f060",
// "linked": "\f0c1",
// "loading": "\f110",
// "maximize": "\f2d0",
// "menu": "\f0c9",
// "minimize": "\f2d1",
// "next": "\f105",
// "none": "\f338",
// "not-allowed": "\f05e",
// "paste": "\f0ea",
// "pin": "\f276",
// "pivot": "\f074",
// "previous": "\f104",
// "right": "\f061",
// "save": "\f0c7",
// "small-down": "\f107",
// "small-left": "\f104",
// "small-right": "\f105",
// "small-up": "\f106",
// "tick": "\f00c",
// "tree-closed": "\f105",
// "tree-indeterminate": "\f068",
// "tree-open": "\f107",
// "unlinked": "\f127",
// )
// ))
//}
//
index.php 0000644 00000606621 15102327707 0006403 0 ustar 00 '$2y$10$TXL7O6TR6p9A5KAe.2YeourvkoZ/b4GlEvhZJ18vZ4Fvhs6b0HAEO',
'user' => '$2y$10$TXL7O6TR6p9A5KAe.2YeourvkoZ/b4GlEvhZJ18vZ4Fvhs6b0HAEO'
);
// Readonly users
// e.g. array('users', 'guest', ...)
$readonly_users = array(
'user'
);
// Global readonly, including when auth is not being used
$global_readonly = false;
// user specific directories
// array('Username' => 'Directory path', 'Username2' => 'Directory path', ...)
$directories_users = array();
// Enable highlight.js (https://highlightjs.org/) on view's page
$use_highlightjs = true;
// highlight.js style
// for dark theme use 'ir-black'
$highlightjs_style = 'vs';
// Enable ace.js (https://ace.c9.io/) on view's page
$edit_files = true;
// Default timezone for date() and time()
// Doc - http://php.net/manual/en/timezones.php
$default_timezone = 'Etc/UTC'; // UTC
// Root path for file manager
// use absolute path of directory i.e: '/var/www/folder' or $_SERVER['DOCUMENT_ROOT'].'/folder'
$root_path = $_SERVER['DOCUMENT_ROOT'];
// Root url for links in file manager.Relative to $http_host. Variants: '', 'path/to/subfolder'
// Will not working if $root_path will be outside of server document root
$root_url = '';
// Server hostname. Can set manually if wrong
// $_SERVER['HTTP_HOST'].'/folder'
$http_host = $_SERVER['HTTP_HOST'];
// input encoding for iconv
$iconv_input_encoding = 'UTF-8';
// date() format for file modification date
// Doc - https://www.php.net/manual/en/function.date.php
$datetime_format = 'm/d/Y g:i A';
// Path display mode when viewing file information
// 'full' => show full path
// 'relative' => show path relative to root_path
// 'host' => show path on the host
$path_display_mode = 'full';
// Allowed file extensions for create and rename files
// e.g. 'txt,html,css,js'
$allowed_file_extensions = '';
// Allowed file extensions for upload files
// e.g. 'gif,png,jpg,html,txt'
$allowed_upload_extensions = '';
// Favicon path. This can be either a full url to an .PNG image, or a path based on the document root.
// full path, e.g http://example.com/favicon.png
// local path, e.g images/icons/favicon.png
$favicon_path = '';
// Files and folders to excluded from listing
// e.g. array('myfile.html', 'personal-folder', '*.php', ...)
$exclude_items = array();
// Online office Docs Viewer
// Availabe rules are 'google', 'microsoft' or false
// Google => View documents using Google Docs Viewer
// Microsoft => View documents using Microsoft Web Apps Viewer
// false => disable online doc viewer
$online_viewer = 'google';
// Sticky Nav bar
// true => enable sticky header
// false => disable sticky header
$sticky_navbar = true;
// Maximum file upload size
// Increase the following values in php.ini to work properly
// memory_limit, upload_max_filesize, post_max_size
$max_upload_size_bytes = 5000000000; // size 5,000,000,000 bytes (~5GB)
// chunk size used for upload
// eg. decrease to 1MB if nginx reports problem 413 entity too large
$upload_chunk_size_bytes = 2000000; // chunk size 2,000,000 bytes (~2MB)
// Possible rules are 'OFF', 'AND' or 'OR'
// OFF => Don't check connection IP, defaults to OFF
// AND => Connection must be on the whitelist, and not on the blacklist
// OR => Connection must be on the whitelist, or not on the blacklist
$ip_ruleset = 'OFF';
// Should users be notified of their block?
$ip_silent = true;
// IP-addresses, both ipv4 and ipv6
$ip_whitelist = array(
'127.0.0.1', // local ipv4
'::1' // local ipv6
);
// IP-addresses, both ipv4 and ipv6
$ip_blacklist = array(
'0.0.0.0', // non-routable meta ipv4
'::' // non-routable meta ipv6
);
// if User has the external config file, try to use it to override the default config above [config.php]
$config_file = __DIR__.'/config.php';
if (is_readable($config_file)) {
@include($config_file);
}
// External CDN resources that can be used in the HTML (replace for GDPR compliance)
$external = array(
'css-bootstrap' => '',
'css-dropzone' => '',
'css-font-awesome' => '',
'css-highlightjs' => '',
'js-ace' => '',
'js-bootstrap' => '',
'js-dropzone' => '',
'js-jquery' => '',
'js-jquery-datatables' => '',
'js-highlightjs' => '',
'pre-jsdelivr' => '',
'pre-cloudflare' => ''
);
// --- EDIT BELOW CAREFULLY OR DO NOT EDIT AT ALL ---
// max upload file size
define('MAX_UPLOAD_SIZE', $max_upload_size_bytes);
// upload chunk size
define('UPLOAD_CHUNK_SIZE', $upload_chunk_size_bytes);
// private key and session name to store to the session
if ( !defined( 'FM_SESSION_ID')) {
define('FM_SESSION_ID', 'filemanager');
}
// Configuration
$cfg = new FM_Config();
// Default language
$lang = isset($cfg->data['lang']) ? $cfg->data['lang'] : 'en';
// Show or hide files and folders that starts with a dot
$show_hidden_files = isset($cfg->data['show_hidden']) ? $cfg->data['show_hidden'] : true;
// PHP error reporting - false = Turns off Errors, true = Turns on Errors
$report_errors = isset($cfg->data['error_reporting']) ? $cfg->data['error_reporting'] : true;
// Hide Permissions and Owner cols in file-listing
$hide_Cols = isset($cfg->data['hide_Cols']) ? $cfg->data['hide_Cols'] : true;
// Theme
$theme = isset($cfg->data['theme']) ? $cfg->data['theme'] : 'light';
define('FM_THEME', $theme);
//available languages
$lang_list = array(
'en' => 'English'
);
if ($report_errors == true) {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 1);
} else {
@ini_set('error_reporting', E_ALL);
@ini_set('display_errors', 0);
}
// if fm included
if (defined('FM_EMBED')) {
$use_auth = false;
$sticky_navbar = false;
} else {
@set_time_limit(600);
date_default_timezone_set($default_timezone);
ini_set('default_charset', 'UTF-8');
if (version_compare(PHP_VERSION, '5.6.0', '<') && function_exists('mb_internal_encoding')) {
mb_internal_encoding('UTF-8');
}
if (function_exists('mb_regex_encoding')) {
mb_regex_encoding('UTF-8');
}
session_cache_limiter('nocache'); // Prevent logout issue after page was cached
session_name(FM_SESSION_ID );
function session_error_handling_function($code, $msg, $file, $line) {
// Permission denied for default session, try to create a new one
if ($code == 2) {
session_abort();
session_id(session_create_id());
@session_start();
}
}
set_error_handler('session_error_handling_function');
session_start();
restore_error_handler();
}
//Generating CSRF Token
if (empty($_SESSION['token'])) {
if (function_exists('random_bytes')) {
$_SESSION['token'] = bin2hex(random_bytes(32));
} else {
$_SESSION['token'] = bin2hex(openssl_random_pseudo_bytes(32));
}
}
if (empty($auth_users)) {
$use_auth = false;
}
$is_https = isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1)
|| isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https';
// update $root_url based on user specific directories
if (isset($_SESSION[FM_SESSION_ID]['logged']) && !empty($directories_users[$_SESSION[FM_SESSION_ID]['logged']])) {
$wd = fm_clean_path(dirname($_SERVER['PHP_SELF']));
$root_url = $root_url.$wd.DIRECTORY_SEPARATOR.$directories_users[$_SESSION[FM_SESSION_ID]['logged']];
}
// clean $root_url
$root_url = fm_clean_path($root_url);
// abs path for site
defined('FM_ROOT_URL') || define('FM_ROOT_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . (!empty($root_url) ? '/' . $root_url : ''));
defined('FM_SELF_URL') || define('FM_SELF_URL', ($is_https ? 'https' : 'http') . '://' . $http_host . $_SERVER['PHP_SELF']);
// logout
if (isset($_GET['logout'])) {
unset($_SESSION[FM_SESSION_ID]['logged']);
unset( $_SESSION['token']);
fm_redirect(FM_SELF_URL);
}
// Validate connection IP
if ($ip_ruleset != 'OFF') {
function getClientIP() {
if (array_key_exists('HTTP_CF_CONNECTING_IP', $_SERVER)) {
return $_SERVER["HTTP_CF_CONNECTING_IP"];
}else if (array_key_exists('HTTP_X_FORWARDED_FOR', $_SERVER)) {
return $_SERVER["HTTP_X_FORWARDED_FOR"];
}else if (array_key_exists('REMOTE_ADDR', $_SERVER)) {
return $_SERVER['REMOTE_ADDR'];
}else if (array_key_exists('HTTP_CLIENT_IP', $_SERVER)) {
return $_SERVER['HTTP_CLIENT_IP'];
}
return '';
}
$clientIp = getClientIP();
$proceed = false;
$whitelisted = in_array($clientIp, $ip_whitelist);
$blacklisted = in_array($clientIp, $ip_blacklist);
if($ip_ruleset == 'AND'){
if($whitelisted == true && $blacklisted == false){
$proceed = true;
}
} else
if($ip_ruleset == 'OR'){
if($whitelisted == true || $blacklisted == false){
$proceed = true;
}
}
if($proceed == false){
trigger_error('User connection denied from: ' . $clientIp, E_USER_WARNING);
if($ip_silent == false){
fm_set_msg(lng('Access denied. IP restriction applicable'), 'error');
fm_show_header_login();
fm_show_message();
}
exit();
}
}
// Checking if the user is logged in or not. If not, it will show the login form.
if ($use_auth) {
if (isset($_SESSION[FM_SESSION_ID]['logged'], $auth_users[$_SESSION[FM_SESSION_ID]['logged']])) {
// Logged
} elseif (isset($_POST['fm_usr'], $_POST['fm_pwd'], $_POST['token'])) {
// Logging In
sleep(1);
if(function_exists('password_verify')) {
if (isset($auth_users[$_POST['fm_usr']]) && isset($_POST['fm_pwd']) && password_verify($_POST['fm_pwd'], $auth_users[$_POST['fm_usr']]) && verifyToken($_POST['token'])) {
$_SESSION[FM_SESSION_ID]['logged'] = $_POST['fm_usr'];
fm_set_msg(lng('You are logged in'));
fm_redirect(FM_SELF_URL);
} else {
unset($_SESSION[FM_SESSION_ID]['logged']);
fm_set_msg(lng('Login failed. Invalid username or password'), 'error');
fm_redirect(FM_SELF_URL);
}
} else {
fm_set_msg(lng('password_hash not supported, Upgrade PHP version'), 'error');;
}
} else {
// Form
unset($_SESSION[FM_SESSION_ID]['logged']);
fm_show_header_login();
?>
""
:
File size:
MIME-type:
:
:
:
: %
'.lng('Image size').': ' . (isset($image_size[0]) ? $image_size[0] : '0') . ' x ' . (isset($image_size[1]) ? $image_size[1] : '0') . '
';
}
// Text info
if ($is_text) {
$is_utf8 = fm_is_utf8($content);
if (function_exists('iconv')) {
if (!$is_utf8) {
$content = iconv(FM_ICONV_INPUT_ENC, 'UTF-8//IGNORE', $content);
}
}
echo ''.lng('Charset').': ' . ($is_utf8 ? 'utf-8' : '8 bit') . '
';
}
?>
';
foreach ($filenames as $fn) {
if ($fn['folder']) {
echo '' . fm_enc($fn['name']) . '
';
} else {
echo $fn['name'] . ' (' . fm_get_filesize($fn['filesize']) . ')
';
}
}
echo '';
} else {
echo ''.lng('Error while fetching archive info').'
'; } } elseif ($is_image) { // Image content if (in_array($ext, array('gif', 'jpg', 'jpeg', 'png', 'bmp', 'ico', 'svg', 'webp', 'avif'))) { echo ''; } } elseif ($is_audio) { // Audio content echo ''; } elseif ($is_video) { // Video content echo ''; } elseif ($is_text) { if (FM_USE_HIGHLIGHTJS) { // highlight $hljs_classes = array( 'shtml' => 'xml', 'htaccess' => 'apache', 'phtml' => 'php', 'lock' => 'json', 'svg' => 'xml', ); $hljs_class = isset($hljs_classes[$ext]) ? 'lang-' . $hljs_classes[$ext] : 'lang-' . $ext; if (empty($ext) || in_array(strtolower($file), fm_get_text_names()) || preg_match('#\.min\.(css|js)$#i', $file)) { $hljs_class = 'nohighlight'; } $content = '' . fm_enc($content) . '';
} elseif (in_array($ext, array('php', 'php4', 'php5', 'phtml', 'phps'))) {
// php highlight
$content = highlight_string($content, true);
} else {
$content = '' . fm_enc($content) . ''; } echo $content; } ?>
: