kz-design-system 0.2.0 → 0.3.0
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.
- package/dist/button.d.mts +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/button.js +6 -2
- package/dist/button.js.map +1 -1
- package/dist/button.mjs +11 -3
- package/dist/button.mjs.map +1 -1
- package/dist/color-picker.js +6 -2
- package/dist/color-picker.js.map +1 -1
- package/dist/color-picker.mjs +11 -3
- package/dist/color-picker.mjs.map +1 -1
- package/dist/date-range-picker.js +6 -2
- package/dist/date-range-picker.js.map +1 -1
- package/dist/date-range-picker.mjs +11 -3
- package/dist/date-range-picker.mjs.map +1 -1
- package/dist/date-time-picker.js +6 -2
- package/dist/date-time-picker.js.map +1 -1
- package/dist/date-time-picker.mjs +11 -3
- package/dist/date-time-picker.mjs.map +1 -1
- package/dist/dropdown.js +6 -2
- package/dist/dropdown.js.map +1 -1
- package/dist/dropdown.mjs +11 -3
- package/dist/dropdown.mjs.map +1 -1
- package/dist/error-page.js +5 -1
- package/dist/error-page.js.map +1 -1
- package/dist/error-page.mjs +10 -2
- package/dist/error-page.mjs.map +1 -1
- package/dist/file-uploader.js +5 -1
- package/dist/file-uploader.js.map +1 -1
- package/dist/file-uploader.mjs +10 -2
- package/dist/file-uploader.mjs.map +1 -1
- package/dist/icon-picker.d.mts +1 -1
- package/dist/icon-picker.d.ts +1 -1
- package/dist/icon-picker.js +10 -2
- package/dist/icon-picker.js.map +1 -1
- package/dist/icon-picker.mjs +15 -3
- package/dist/icon-picker.mjs.map +1 -1
- package/dist/{icon-registry-YZFYW-mt.d.mts → icon-registry-DY5NSKnE.d.mts} +5 -1
- package/dist/{icon-registry-YZFYW-mt.d.ts → icon-registry-DY5NSKnE.d.ts} +5 -1
- package/dist/icon.d.mts +2 -2
- package/dist/icon.d.ts +2 -2
- package/dist/icon.js +9 -1
- package/dist/icon.js.map +1 -1
- package/dist/icon.mjs +14 -2
- package/dist/icon.mjs.map +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +994 -693
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +999 -695
- package/dist/index.mjs.map +1 -1
- package/dist/modal.js +5 -1
- package/dist/modal.js.map +1 -1
- package/dist/modal.mjs +10 -2
- package/dist/modal.mjs.map +1 -1
- package/dist/number-input.js +6 -2
- package/dist/number-input.js.map +1 -1
- package/dist/number-input.mjs +11 -3
- package/dist/number-input.mjs.map +1 -1
- package/dist/pagination.js +6 -2
- package/dist/pagination.js.map +1 -1
- package/dist/pagination.mjs +11 -3
- package/dist/pagination.mjs.map +1 -1
- package/dist/qr-renderer.js +6 -2
- package/dist/qr-renderer.js.map +1 -1
- package/dist/qr-renderer.mjs +11 -3
- package/dist/qr-renderer.mjs.map +1 -1
- package/dist/range-slider.d.mts +38 -0
- package/dist/range-slider.d.ts +38 -0
- package/dist/range-slider.js +466 -0
- package/dist/range-slider.js.map +1 -0
- package/dist/range-slider.mjs +426 -0
- package/dist/range-slider.mjs.map +1 -0
- package/dist/select.js +5 -1
- package/dist/select.js.map +1 -1
- package/dist/select.mjs +10 -2
- package/dist/select.mjs.map +1 -1
- package/dist/sidemenu.d.mts +1 -1
- package/dist/sidemenu.d.ts +1 -1
- package/dist/sidemenu.js +5 -1
- package/dist/sidemenu.js.map +1 -1
- package/dist/sidemenu.mjs +10 -2
- package/dist/sidemenu.mjs.map +1 -1
- package/dist/sidepanel.js +5 -1
- package/dist/sidepanel.js.map +1 -1
- package/dist/sidepanel.mjs +10 -2
- package/dist/sidepanel.mjs.map +1 -1
- package/dist/sql-editor.js +6 -2
- package/dist/sql-editor.js.map +1 -1
- package/dist/sql-editor.mjs +11 -3
- package/dist/sql-editor.mjs.map +1 -1
- package/dist/styles.css +2 -2
- package/dist/table.d.mts +14 -0
- package/dist/table.d.ts +14 -0
- package/dist/table.js +41 -21
- package/dist/table.js.map +1 -1
- package/dist/table.mjs +46 -22
- package/dist/table.mjs.map +1 -1
- package/dist/tabs.js +5 -1
- package/dist/tabs.js.map +1 -1
- package/dist/tabs.mjs +10 -2
- package/dist/tabs.mjs.map +1 -1
- package/dist/text-area.js +5 -1
- package/dist/text-area.js.map +1 -1
- package/dist/text-area.mjs +10 -2
- package/dist/text-area.mjs.map +1 -1
- package/dist/text-input.js +5 -1
- package/dist/text-input.js.map +1 -1
- package/dist/text-input.mjs +10 -2
- package/dist/text-input.mjs.map +1 -1
- package/dist/toast.js +5 -1
- package/dist/toast.js.map +1 -1
- package/dist/toast.mjs +10 -2
- package/dist/toast.mjs.map +1 -1
- package/dist/toggle-button.js +6 -2
- package/dist/toggle-button.js.map +1 -1
- package/dist/toggle-button.mjs +11 -3
- package/dist/toggle-button.mjs.map +1 -1
- package/package.json +7 -1
package/dist/table.d.mts
CHANGED
|
@@ -12,6 +12,16 @@ interface TableColumn<TData, TEditValue = string> {
|
|
|
12
12
|
minWidth?: string;
|
|
13
13
|
maxWidth?: string;
|
|
14
14
|
align?: TableAlign;
|
|
15
|
+
/** Custom CSS class for this column's header cell (<th>). */
|
|
16
|
+
headerClassName?: string;
|
|
17
|
+
/** Custom inline styles for this column's header cell (<th>). */
|
|
18
|
+
headerStyle?: React.CSSProperties;
|
|
19
|
+
/** Custom CSS class for this column's body cells (<td>). */
|
|
20
|
+
cellClassName?: string;
|
|
21
|
+
/** Custom inline styles for this column's body cells (<td>). */
|
|
22
|
+
cellStyle?: React.CSSProperties;
|
|
23
|
+
/** Hide this column from rendering. */
|
|
24
|
+
hidden?: boolean;
|
|
15
25
|
sortable?: boolean;
|
|
16
26
|
/** Whether this column's cells are editable. Enables the pencil icon on hover. */
|
|
17
27
|
editable?: boolean;
|
|
@@ -55,6 +65,10 @@ interface TableProps<TData, TEditValue = string> {
|
|
|
55
65
|
/** Max height of the scrollable area (CSS value, e.g. "60vh", "400px"). Only applies when stickyHeader is true. Default: none (fills parent). */
|
|
56
66
|
maxHeight?: string;
|
|
57
67
|
getRowSticky?: (row: TData, index: number) => boolean;
|
|
68
|
+
/** Return a custom CSS class for a row's <tr> element. */
|
|
69
|
+
getRowClassName?: (row: TData, index: number) => string | undefined;
|
|
70
|
+
/** Return custom inline styles for a row's <tr> element. */
|
|
71
|
+
getRowStyle?: (row: TData, index: number) => React.CSSProperties | undefined;
|
|
58
72
|
caption?: string;
|
|
59
73
|
header?: React.ReactNode;
|
|
60
74
|
title?: React.ReactNode;
|
package/dist/table.d.ts
CHANGED
|
@@ -12,6 +12,16 @@ interface TableColumn<TData, TEditValue = string> {
|
|
|
12
12
|
minWidth?: string;
|
|
13
13
|
maxWidth?: string;
|
|
14
14
|
align?: TableAlign;
|
|
15
|
+
/** Custom CSS class for this column's header cell (<th>). */
|
|
16
|
+
headerClassName?: string;
|
|
17
|
+
/** Custom inline styles for this column's header cell (<th>). */
|
|
18
|
+
headerStyle?: React.CSSProperties;
|
|
19
|
+
/** Custom CSS class for this column's body cells (<td>). */
|
|
20
|
+
cellClassName?: string;
|
|
21
|
+
/** Custom inline styles for this column's body cells (<td>). */
|
|
22
|
+
cellStyle?: React.CSSProperties;
|
|
23
|
+
/** Hide this column from rendering. */
|
|
24
|
+
hidden?: boolean;
|
|
15
25
|
sortable?: boolean;
|
|
16
26
|
/** Whether this column's cells are editable. Enables the pencil icon on hover. */
|
|
17
27
|
editable?: boolean;
|
|
@@ -55,6 +65,10 @@ interface TableProps<TData, TEditValue = string> {
|
|
|
55
65
|
/** Max height of the scrollable area (CSS value, e.g. "60vh", "400px"). Only applies when stickyHeader is true. Default: none (fills parent). */
|
|
56
66
|
maxHeight?: string;
|
|
57
67
|
getRowSticky?: (row: TData, index: number) => boolean;
|
|
68
|
+
/** Return a custom CSS class for a row's <tr> element. */
|
|
69
|
+
getRowClassName?: (row: TData, index: number) => string | undefined;
|
|
70
|
+
/** Return custom inline styles for a row's <tr> element. */
|
|
71
|
+
getRowStyle?: (row: TData, index: number) => React.CSSProperties | undefined;
|
|
58
72
|
caption?: string;
|
|
59
73
|
header?: React.ReactNode;
|
|
60
74
|
title?: React.ReactNode;
|
package/dist/table.js
CHANGED
|
@@ -404,7 +404,11 @@ var iconRegistry = {
|
|
|
404
404
|
["pencil" /* Pencil */]: import_lucide_react.Pencil,
|
|
405
405
|
["trash-2" /* Trash2 */]: import_lucide_react.Trash2,
|
|
406
406
|
["eye" /* Eye */]: import_lucide_react.Eye,
|
|
407
|
-
["eye-off" /* EyeOff */]: import_lucide_react.EyeOff
|
|
407
|
+
["eye-off" /* EyeOff */]: import_lucide_react.EyeOff,
|
|
408
|
+
["pin" /* Pin */]: import_lucide_react.Pin,
|
|
409
|
+
["pin-off" /* PinOff */]: import_lucide_react.PinOff,
|
|
410
|
+
["save" /* Save */]: import_lucide_react.Save,
|
|
411
|
+
["rotate-ccw" /* RotateCcw */]: import_lucide_react.RotateCcw
|
|
408
412
|
};
|
|
409
413
|
|
|
410
414
|
// src/icon/icon-sizes.ts
|
|
@@ -647,7 +651,7 @@ var base = [
|
|
|
647
651
|
"inline-flex items-center justify-center gap-2 whitespace-nowrap font-medium",
|
|
648
652
|
"transition-all duration-150 ease-out",
|
|
649
653
|
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-[var(--kz-color-border-focus)]",
|
|
650
|
-
"disabled:
|
|
654
|
+
"disabled:cursor-not-allowed disabled:opacity-[var(--kz-component-button-disabled-opacity,0.5)]",
|
|
651
655
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0"
|
|
652
656
|
].join(" ");
|
|
653
657
|
var buttonVariants = (0, import_class_variance_authority2.cva)(base, {
|
|
@@ -1406,6 +1410,8 @@ function TableInner({
|
|
|
1406
1410
|
stickyHeader = false,
|
|
1407
1411
|
maxHeight,
|
|
1408
1412
|
getRowSticky,
|
|
1413
|
+
getRowClassName,
|
|
1414
|
+
getRowStyle,
|
|
1409
1415
|
caption,
|
|
1410
1416
|
header: headerProp,
|
|
1411
1417
|
title,
|
|
@@ -1451,6 +1457,10 @@ function TableInner({
|
|
|
1451
1457
|
() => data.map((row, i) => getRowId(row, i)),
|
|
1452
1458
|
[data, getRowId]
|
|
1453
1459
|
);
|
|
1460
|
+
const visibleColumns = React8.useMemo(
|
|
1461
|
+
() => columns.filter((col) => !col.hidden),
|
|
1462
|
+
[columns]
|
|
1463
|
+
);
|
|
1454
1464
|
const selectedCount = React8.useMemo(
|
|
1455
1465
|
() => Object.keys(selectedRowIds).filter((id) => selectedRowIds[id]).length,
|
|
1456
1466
|
[selectedRowIds]
|
|
@@ -1710,11 +1720,13 @@ function TableInner({
|
|
|
1710
1720
|
)
|
|
1711
1721
|
}
|
|
1712
1722
|
),
|
|
1713
|
-
|
|
1714
|
-
const
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
if (col.
|
|
1723
|
+
visibleColumns.map((col) => {
|
|
1724
|
+
const thStyle = {
|
|
1725
|
+
...col.headerStyle
|
|
1726
|
+
};
|
|
1727
|
+
if (col.width) thStyle.width = col.width;
|
|
1728
|
+
if (col.minWidth) thStyle.minWidth = col.minWidth;
|
|
1729
|
+
if (col.maxWidth) thStyle.maxWidth = col.maxWidth;
|
|
1718
1730
|
const align = col.align ?? "left";
|
|
1719
1731
|
const isSortable = col.sortable && onSortChange != null;
|
|
1720
1732
|
const isActive = sort?.key === col.key;
|
|
@@ -1728,9 +1740,10 @@ function TableInner({
|
|
|
1728
1740
|
"kz-table-th border-b border-[var(--kz-component-table-row-border)] bg-[var(--kz-component-table-header-bg)]",
|
|
1729
1741
|
sizeClass,
|
|
1730
1742
|
alignClasses[align],
|
|
1731
|
-
stickyHeader && "sticky top-0 z-10 bg-[var(--kz-component-table-header-bg)]"
|
|
1743
|
+
stickyHeader && "sticky top-0 z-10 bg-[var(--kz-component-table-header-bg)]",
|
|
1744
|
+
col.headerClassName
|
|
1732
1745
|
),
|
|
1733
|
-
style,
|
|
1746
|
+
style: thStyle,
|
|
1734
1747
|
children: isSortable ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
|
|
1735
1748
|
"button",
|
|
1736
1749
|
{
|
|
@@ -1796,7 +1809,7 @@ function TableInner({
|
|
|
1796
1809
|
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("tbody", { children: loading ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1797
1810
|
"td",
|
|
1798
1811
|
{
|
|
1799
|
-
colSpan:
|
|
1812
|
+
colSpan: visibleColumns.length + (selectableRows ? 1 : 0) + (actions ? 1 : 0),
|
|
1800
1813
|
className: cn(
|
|
1801
1814
|
"kz-table-td text-center text-[var(--kz-color-text-muted)]",
|
|
1802
1815
|
sizeClass
|
|
@@ -1806,7 +1819,7 @@ function TableInner({
|
|
|
1806
1819
|
) }) : data.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("tr", { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1807
1820
|
"td",
|
|
1808
1821
|
{
|
|
1809
|
-
colSpan:
|
|
1822
|
+
colSpan: visibleColumns.length + (selectableRows ? 1 : 0) + (actions ? 1 : 0),
|
|
1810
1823
|
className: cn(
|
|
1811
1824
|
"kz-table-td text-center text-[var(--kz-color-text-muted)]",
|
|
1812
1825
|
sizeClass
|
|
@@ -1826,8 +1839,10 @@ function TableInner({
|
|
|
1826
1839
|
className: cn(
|
|
1827
1840
|
"kz-table-tr border-b border-[var(--kz-component-table-row-border)] last:border-b-0 hover:bg-[var(--kz-component-table-row-hover-bg)] transition-colors duration-[var(--kz-motion-duration-normal)]",
|
|
1828
1841
|
isSticky && "kz-table-tr--sticky",
|
|
1829
|
-
hasEditingCell && "kz-table-tr--editing"
|
|
1842
|
+
hasEditingCell && "kz-table-tr--editing",
|
|
1843
|
+
getRowClassName?.(row, index)
|
|
1830
1844
|
),
|
|
1845
|
+
style: getRowStyle?.(row, index),
|
|
1831
1846
|
children: [
|
|
1832
1847
|
selectableRows && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1833
1848
|
"td",
|
|
@@ -1849,11 +1864,13 @@ function TableInner({
|
|
|
1849
1864
|
)
|
|
1850
1865
|
}
|
|
1851
1866
|
),
|
|
1852
|
-
|
|
1853
|
-
const
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
if (col.
|
|
1867
|
+
visibleColumns.map((col) => {
|
|
1868
|
+
const tdStyle = {
|
|
1869
|
+
...col.cellStyle
|
|
1870
|
+
};
|
|
1871
|
+
if (col.width) tdStyle.width = col.width;
|
|
1872
|
+
if (col.minWidth) tdStyle.minWidth = col.minWidth;
|
|
1873
|
+
if (col.maxWidth) tdStyle.maxWidth = col.maxWidth;
|
|
1857
1874
|
const align = col.align ?? "left";
|
|
1858
1875
|
const isCellEditing = isMultiCellMode ? !!editingCells[rowId]?.[col.key] : editingCell != null && editingCell.rowId === rowId && editingCell.columnKey === col.key;
|
|
1859
1876
|
if (isCellEditing) {
|
|
@@ -1874,9 +1891,10 @@ function TableInner({
|
|
|
1874
1891
|
className: cn(
|
|
1875
1892
|
"kz-table-td text-[var(--kz-color-text-primary)]",
|
|
1876
1893
|
sizeClass,
|
|
1877
|
-
alignClasses[align]
|
|
1894
|
+
alignClasses[align],
|
|
1895
|
+
col.cellClassName
|
|
1878
1896
|
),
|
|
1879
|
-
style,
|
|
1897
|
+
style: tdStyle,
|
|
1880
1898
|
children: col.editCell ? col.editCell(row, cellDraft, onChange) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
1881
1899
|
TextInput,
|
|
1882
1900
|
{
|
|
@@ -1899,9 +1917,10 @@ function TableInner({
|
|
|
1899
1917
|
"kz-table-td text-[var(--kz-color-text-primary)]",
|
|
1900
1918
|
sizeClass,
|
|
1901
1919
|
alignClasses[align],
|
|
1902
|
-
col.editable && "kz-table-td--editable"
|
|
1920
|
+
col.editable && "kz-table-td--editable",
|
|
1921
|
+
col.cellClassName
|
|
1903
1922
|
),
|
|
1904
|
-
style,
|
|
1923
|
+
style: tdStyle,
|
|
1905
1924
|
children: [
|
|
1906
1925
|
getCellContent(row, col),
|
|
1907
1926
|
col.editable && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
@@ -2010,6 +2029,7 @@ function TableInner({
|
|
|
2010
2029
|
Button,
|
|
2011
2030
|
{
|
|
2012
2031
|
variant: "primary" /* Primary */,
|
|
2032
|
+
status: "success" /* Success */,
|
|
2013
2033
|
size: "sm" /* Sm */,
|
|
2014
2034
|
onClick: handleCellSave,
|
|
2015
2035
|
children: "Save"
|