zaravand-ui 4.3.0 → 4.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,7 @@ export declare const noSearchResultMessage = "\u062F\u0627\u062F\u0647\u200C\u06
5
5
  export declare const actionsColumnLabel = "\u0639\u0645\u0644\u06CC\u0627\u062A";
6
6
  export declare const rowNumberColumnLabel = "\u0631\u062F\u06CC\u0641";
7
7
  export declare const addButtonLabel = "\u0627\u0641\u0632\u0648\u062F\u0646";
8
+ export declare const importExcelButtonLabel = "\u0628\u0627\u0631\u06AF\u0630\u0627\u0631\u06CC \u0627\u06A9\u0633\u0644";
8
9
  export declare const printButtonLabel = "\u0686\u0627\u067E";
9
10
  export declare const previewPrintButtonLabel = "\u067E\u06CC\u0634\u200C\u0646\u0645\u0627\u06CC\u0634 \u0686\u0627\u067E";
10
11
  export declare const editButtonLabel = "\u0648\u06CC\u0631\u0627\u06CC\u0634";
@@ -25,6 +25,7 @@ export type TableRowActionInput = {
25
25
  rowId?: TableRowId;
26
26
  };
27
27
  export type TableAddRowHandler = () => void | Promise<void>;
28
+ export type TableImportExcelHandler = () => void | Promise<void>;
28
29
  export type TableEditRowHandler = (input: TableRowActionInput) => void | Promise<void>;
29
30
  export type TableDeleteRowHandler = (input: TableRowActionInput) => void | Promise<void>;
30
31
  export type TablePrintHandlerInput = {
@@ -153,6 +154,13 @@ export interface TableProps {
153
154
  data: DynamicTableRow[];
154
155
  setData: React.Dispatch<React.SetStateAction<DynamicTableRow[]>>;
155
156
  onAdd?: TableAddRowHandler;
157
+ /**
158
+ * When provided, shows an import-from-Excel icon button in the table
159
+ * controls that calls this handler. The table performs no file
160
+ * selection/parsing/uploading itself — the parent owns the whole flow
161
+ * (opening a file picker, reading the file, sending it to the server).
162
+ */
163
+ onImportExcel?: TableImportExcelHandler;
156
164
  onEdit?: TableEditRowHandler;
157
165
  onDelete?: TableDeleteRowHandler;
158
166
  /**
@@ -1,37 +1,37 @@
1
1
  /**
2
- * Fixed desktop-sized tokens for the whole library, expressed as `px`
3
- * multiplied by the `--zui-scale` CSS custom property (see src/index.css)
4
- * instead of `rem`. `--zui-scale` defaults to 1 — the desktop/Full-HD
5
- * design size, identical to this library's previous fixed-rem behavior
6
- * when a consuming app doesn't set it, and is intentionally independent
7
- * of the host app's own root `font-size`/`rem` scaling, which this
8
- * library no longer reads (`rem` always resolves against the document's
9
- * <html> element, so it can't be scoped to just this library's
10
- * components).
2
+ * Fixed desktop-sized tokens for the whole library, expressed as a bare
3
+ * number multiplied by the `--zui-scale` CSS custom property (see
4
+ * src/index.css) instead of `rem`. `--zui-scale` is a LENGTH that
5
+ * defaults to `10px` the desktop/Full-HD design size, identical to
6
+ * this library's previous fixed-rem behavior when a consuming app
7
+ * doesn't set it, and is intentionally independent of the host app's own
8
+ * root `font-size`/`rem` scaling, which this library no longer reads
9
+ * (`rem` always resolves against the document's <html> element, so it
10
+ * can't be scoped to just this library's components).
11
11
  *
12
- * Every value below is the same desktop pixel size this token held before
13
- * (its old `rem` value × 10, since those were authored against a
14
- * 1rem = 10px baseline), just re-expressed against `--zui-scale` instead.
12
+ * Every bare number below is the token's old `rem` numeral, unchanged
13
+ * those were already authored against a 1rem = 10px baseline, which is
14
+ * exactly what `--zui-scale`'s `10px` default reproduces.
15
15
  */
16
- declare const CONTROL_HEIGHT_SM = "zui:h-[calc(var(--zui-scale,1)*46.08px)]";
17
- declare const CONTROL_HEIGHT_DEFAULT = "zui:h-[calc(var(--zui-scale,1)*51.84px)]";
18
- declare const CONTROL_HEIGHT_LG = "zui:h-[calc(var(--zui-scale,1)*57.6px)]";
16
+ declare const CONTROL_HEIGHT_SM = "zui:h-[calc(var(--zui-scale,10px)*4.608)]";
17
+ declare const CONTROL_HEIGHT_DEFAULT = "zui:h-[calc(var(--zui-scale,10px)*5.184)]";
18
+ declare const CONTROL_HEIGHT_LG = "zui:h-[calc(var(--zui-scale,10px)*5.76)]";
19
19
  declare const controlHeightBySize: {
20
- readonly sm: "zui:h-[calc(var(--zui-scale,1)*46.08px)]";
21
- readonly default: "zui:h-[calc(var(--zui-scale,1)*51.84px)]";
22
- readonly lg: "zui:h-[calc(var(--zui-scale,1)*57.6px)]";
20
+ readonly sm: "zui:h-[calc(var(--zui-scale,10px)*4.608)]";
21
+ readonly default: "zui:h-[calc(var(--zui-scale,10px)*5.184)]";
22
+ readonly lg: "zui:h-[calc(var(--zui-scale,10px)*5.76)]";
23
23
  };
24
- declare const CONTROL_PADDING_X = "zui:px-[calc(var(--zui-scale,1)*12px)]";
25
- declare const CONTROL_PADDING_Y = "zui:py-[calc(var(--zui-scale,1)*12px)]";
26
- declare const BUTTON_PADDING_X = "zui:px-[calc(var(--zui-scale,1)*16px)]";
27
- declare const TEXTAREA_MIN_HEIGHT = "zui:min-h-[calc(var(--zui-scale,1)*76.8px)]";
28
- declare const TABLE_HEADER_HEIGHT = "zui:h-[calc(var(--zui-scale,1)*56px)]";
29
- declare const TABLE_TEXT_SIZE = "zui:text-[calc(var(--zui-scale,1)*14px)]";
30
- declare const DATEPICKER_DAY_SIZE = "zui:size-[calc(var(--zui-scale,1)*32px)]";
31
- declare const DATEPICKER_NAV_SIZE = "zui:size-[calc(var(--zui-scale,1)*28px)]";
32
- declare const DATEPICKER_CONTROL_HEIGHT = "zui:h-[calc(var(--zui-scale,1)*32px)]";
33
- declare const OVERLAY_PANEL_PADDING = "zui:p-[calc(var(--zui-scale,1)*24px)]";
34
- declare const TOAST_PADDING = "zui:p-[calc(var(--zui-scale,1)*16px)]";
35
- declare const DATEPICKER_MANUAL_SEGMENT_WIDTH = "zui:w-[calc(var(--zui-scale,1)*104px)]";
36
- declare const SQUARE_ICON_BUTTON_SIZE_IMPORTANT = "zui:[&>button]:!h-[calc(var(--zui-scale,1)*46.08px)] zui:[&>button]:!w-[calc(var(--zui-scale,1)*46.08px)]";
24
+ declare const CONTROL_PADDING_X = "zui:px-[calc(var(--zui-scale,10px)*1.2)]";
25
+ declare const CONTROL_PADDING_Y = "zui:py-[calc(var(--zui-scale,10px)*1.2)]";
26
+ declare const BUTTON_PADDING_X = "zui:px-[calc(var(--zui-scale,10px)*1.6)]";
27
+ declare const TEXTAREA_MIN_HEIGHT = "zui:min-h-[calc(var(--zui-scale,10px)*7.68)]";
28
+ declare const TABLE_HEADER_HEIGHT = "zui:h-[calc(var(--zui-scale,10px)*5.6)]";
29
+ declare const TABLE_TEXT_SIZE = "zui:text-[calc(var(--zui-scale,10px)*1.4)]";
30
+ declare const DATEPICKER_DAY_SIZE = "zui:size-[calc(var(--zui-scale,10px)*3.2)]";
31
+ declare const DATEPICKER_NAV_SIZE = "zui:size-[calc(var(--zui-scale,10px)*2.8)]";
32
+ declare const DATEPICKER_CONTROL_HEIGHT = "zui:h-[calc(var(--zui-scale,10px)*3.2)]";
33
+ declare const OVERLAY_PANEL_PADDING = "zui:p-[calc(var(--zui-scale,10px)*2.4)]";
34
+ declare const TOAST_PADDING = "zui:p-[calc(var(--zui-scale,10px)*1.6)]";
35
+ declare const DATEPICKER_MANUAL_SEGMENT_WIDTH = "zui:w-[calc(var(--zui-scale,10px)*10.4)]";
36
+ declare const SQUARE_ICON_BUTTON_SIZE_IMPORTANT = "zui:[&>button]:!h-[calc(var(--zui-scale,10px)*4.608)] zui:[&>button]:!w-[calc(var(--zui-scale,10px)*4.608)]";
37
37
  export { controlHeightBySize, CONTROL_HEIGHT_SM, CONTROL_HEIGHT_DEFAULT, CONTROL_HEIGHT_LG, CONTROL_PADDING_X, CONTROL_PADDING_Y, BUTTON_PADDING_X, TEXTAREA_MIN_HEIGHT, TABLE_HEADER_HEIGHT, TABLE_TEXT_SIZE, DATEPICKER_DAY_SIZE, DATEPICKER_NAV_SIZE, DATEPICKER_CONTROL_HEIGHT, OVERLAY_PANEL_PADDING, TOAST_PADDING, DATEPICKER_MANUAL_SEGMENT_WIDTH, SQUARE_ICON_BUTTON_SIZE_IMPORTANT, };