@medusajs/ui 4.0.5-preview-20250211104335 → 4.0.5-snapshot-20250127145424
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/cjs/blocks/data-table/components/data-table-action-cell.d.ts.map +1 -1
- package/dist/cjs/blocks/data-table/components/data-table-action-cell.js +1 -1
- package/dist/cjs/blocks/data-table/components/data-table-action-cell.js.map +1 -1
- package/dist/cjs/blocks/data-table/components/data-table-select-cell.d.ts.map +1 -1
- package/dist/cjs/blocks/data-table/components/data-table-select-cell.js.map +1 -1
- package/dist/cjs/blocks/data-table/components/data-table-table.js +4 -4
- package/dist/cjs/blocks/data-table/components/data-table-table.js.map +1 -1
- package/dist/cjs/blocks/data-table/index.d.ts +1 -1
- package/dist/cjs/blocks/data-table/index.d.ts.map +1 -1
- package/dist/cjs/blocks/data-table/index.js.map +1 -1
- package/dist/cjs/blocks/data-table/types.d.ts +1 -2
- package/dist/cjs/blocks/data-table/types.d.ts.map +1 -1
- package/dist/cjs/blocks/data-table/types.js.map +1 -1
- package/dist/cjs/blocks/data-table/use-data-table.d.ts +1 -2
- package/dist/cjs/blocks/data-table/use-data-table.d.ts.map +1 -1
- package/dist/cjs/blocks/data-table/use-data-table.js +1 -2
- package/dist/cjs/blocks/data-table/use-data-table.js.map +1 -1
- package/dist/cjs/components/alert/alert.d.ts.map +1 -1
- package/dist/cjs/components/alert/alert.js +0 -1
- package/dist/cjs/components/alert/alert.js.map +1 -1
- package/dist/cjs/components/avatar/avatar.d.ts +2 -2
- package/dist/cjs/components/avatar/avatar.d.ts.map +1 -1
- package/dist/cjs/components/avatar/avatar.js +4 -4
- package/dist/cjs/components/avatar/avatar.js.map +1 -1
- package/dist/cjs/components/badge/badge.d.ts.map +1 -1
- package/dist/cjs/components/badge/badge.js +2 -2
- package/dist/cjs/components/badge/badge.js.map +1 -1
- package/dist/cjs/components/button/button.d.ts.map +1 -1
- package/dist/cjs/components/button/button.js +2 -2
- package/dist/cjs/components/button/button.js.map +1 -1
- package/dist/cjs/components/calender/calendar.d.ts.map +1 -1
- package/dist/cjs/components/calender/calendar.js +0 -1
- package/dist/cjs/components/calender/calendar.js.map +1 -1
- package/dist/cjs/components/checkbox/checkbox.d.ts +2 -2
- package/dist/cjs/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/cjs/components/checkbox/checkbox.js +3 -3
- package/dist/cjs/components/checkbox/checkbox.js.map +1 -1
- package/dist/cjs/components/checkbox/types.d.ts +2 -2
- package/dist/cjs/components/checkbox/types.d.ts.map +1 -1
- package/dist/cjs/components/checkbox/types.js.map +1 -1
- package/dist/cjs/components/command-bar/command-bar.d.ts.map +1 -1
- package/dist/cjs/components/command-bar/command-bar.js +7 -10
- package/dist/cjs/components/command-bar/command-bar.js.map +1 -1
- package/dist/cjs/components/copy/copy.js +2 -2
- package/dist/cjs/components/copy/copy.js.map +1 -1
- package/dist/cjs/components/drawer/drawer.d.ts +9 -9
- package/dist/cjs/components/drawer/drawer.d.ts.map +1 -1
- package/dist/cjs/components/drawer/drawer.js +10 -10
- package/dist/cjs/components/drawer/drawer.js.map +1 -1
- package/dist/cjs/components/dropdown-menu/dropdown-menu.d.ts +14 -14
- package/dist/cjs/components/dropdown-menu/dropdown-menu.d.ts.map +1 -1
- package/dist/cjs/components/dropdown-menu/dropdown-menu.js +18 -18
- package/dist/cjs/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/cjs/components/focus-modal/focus-modal.d.ts +9 -9
- package/dist/cjs/components/focus-modal/focus-modal.d.ts.map +1 -1
- package/dist/cjs/components/focus-modal/focus-modal.js +10 -10
- package/dist/cjs/components/focus-modal/focus-modal.js.map +1 -1
- package/dist/cjs/components/hint/hint.js.map +1 -1
- package/dist/cjs/components/icon-badge/icon-badge.d.ts.map +1 -1
- package/dist/cjs/components/icon-badge/icon-badge.js +2 -2
- package/dist/cjs/components/icon-badge/icon-badge.js.map +1 -1
- package/dist/cjs/components/icon-button/icon-button.d.ts.map +1 -1
- package/dist/cjs/components/icon-button/icon-button.js +2 -2
- package/dist/cjs/components/icon-button/icon-button.js.map +1 -1
- package/dist/cjs/components/label/label.d.ts.map +1 -1
- package/dist/cjs/components/label/label.js +2 -2
- package/dist/cjs/components/label/label.js.map +1 -1
- package/dist/cjs/components/popover/popover.d.ts +6 -6
- package/dist/cjs/components/popover/popover.d.ts.map +1 -1
- package/dist/cjs/components/popover/popover.js +7 -7
- package/dist/cjs/components/popover/popover.js.map +1 -1
- package/dist/cjs/components/progress-accordion/progress-accordion.d.ts +5 -5
- package/dist/cjs/components/progress-accordion/progress-accordion.d.ts.map +1 -1
- package/dist/cjs/components/progress-accordion/progress-accordion.js +6 -6
- package/dist/cjs/components/progress-accordion/progress-accordion.js.map +1 -1
- package/dist/cjs/components/progress-tabs/progress-tabs.d.ts +5 -5
- package/dist/cjs/components/progress-tabs/progress-tabs.d.ts.map +1 -1
- package/dist/cjs/components/progress-tabs/progress-tabs.js +5 -5
- package/dist/cjs/components/progress-tabs/progress-tabs.js.map +1 -1
- package/dist/cjs/components/prompt/prompt.d.ts +8 -8
- package/dist/cjs/components/prompt/prompt.d.ts.map +1 -1
- package/dist/cjs/components/prompt/prompt.js +10 -10
- package/dist/cjs/components/prompt/prompt.js.map +1 -1
- package/dist/cjs/components/radio-group/radio-group.d.ts +4 -4
- package/dist/cjs/components/radio-group/radio-group.d.ts.map +1 -1
- package/dist/cjs/components/radio-group/radio-group.js +6 -6
- package/dist/cjs/components/radio-group/radio-group.js.map +1 -1
- package/dist/cjs/components/select/select.d.ts +9 -9
- package/dist/cjs/components/select/select.d.ts.map +1 -1
- package/dist/cjs/components/select/select.js +14 -14
- package/dist/cjs/components/select/select.js.map +1 -1
- package/dist/cjs/components/skeleton/skeleton.d.ts.map +1 -1
- package/dist/cjs/components/skeleton/skeleton.js +1 -1
- package/dist/cjs/components/skeleton/skeleton.js.map +1 -1
- package/dist/cjs/components/switch/switch.d.ts +2 -2
- package/dist/cjs/components/switch/switch.d.ts.map +1 -1
- package/dist/cjs/components/switch/switch.js +3 -3
- package/dist/cjs/components/switch/switch.js.map +1 -1
- package/dist/cjs/components/tabs/tabs.d.ts +5 -5
- package/dist/cjs/components/tabs/tabs.d.ts.map +1 -1
- package/dist/cjs/components/tabs/tabs.js +5 -5
- package/dist/cjs/components/tabs/tabs.js.map +1 -1
- package/dist/cjs/components/text/text.d.ts.map +1 -1
- package/dist/cjs/components/text/text.js +2 -2
- package/dist/cjs/components/text/text.js.map +1 -1
- package/dist/cjs/components/textarea/textarea.js +1 -1
- package/dist/cjs/components/textarea/textarea.js.map +1 -1
- package/dist/cjs/components/toast/toast.d.ts.map +1 -1
- package/dist/cjs/components/toast/toast.js +1 -1
- package/dist/cjs/components/toast/toast.js.map +1 -1
- package/dist/cjs/components/tooltip/tooltip.d.ts +3 -3
- package/dist/cjs/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/cjs/components/tooltip/tooltip.js +6 -6
- package/dist/cjs/components/tooltip/tooltip.js.map +1 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +1 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-action-cell.d.ts.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-action-cell.js +1 -1
- package/dist/esm/blocks/data-table/components/data-table-action-cell.js.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-select-cell.d.ts.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-select-cell.js.map +1 -1
- package/dist/esm/blocks/data-table/components/data-table-table.js +4 -4
- package/dist/esm/blocks/data-table/components/data-table-table.js.map +1 -1
- package/dist/esm/blocks/data-table/index.d.ts +1 -1
- package/dist/esm/blocks/data-table/index.d.ts.map +1 -1
- package/dist/esm/blocks/data-table/index.js.map +1 -1
- package/dist/esm/blocks/data-table/types.d.ts +1 -2
- package/dist/esm/blocks/data-table/types.d.ts.map +1 -1
- package/dist/esm/blocks/data-table/types.js.map +1 -1
- package/dist/esm/blocks/data-table/use-data-table.d.ts +1 -2
- package/dist/esm/blocks/data-table/use-data-table.d.ts.map +1 -1
- package/dist/esm/blocks/data-table/use-data-table.js +1 -2
- package/dist/esm/blocks/data-table/use-data-table.js.map +1 -1
- package/dist/esm/components/alert/alert.d.ts.map +1 -1
- package/dist/esm/components/alert/alert.js +0 -1
- package/dist/esm/components/alert/alert.js.map +1 -1
- package/dist/esm/components/avatar/avatar.d.ts +2 -2
- package/dist/esm/components/avatar/avatar.d.ts.map +1 -1
- package/dist/esm/components/avatar/avatar.js +4 -4
- package/dist/esm/components/avatar/avatar.js.map +1 -1
- package/dist/esm/components/badge/badge.d.ts.map +1 -1
- package/dist/esm/components/badge/badge.js +2 -2
- package/dist/esm/components/badge/badge.js.map +1 -1
- package/dist/esm/components/button/button.d.ts.map +1 -1
- package/dist/esm/components/button/button.js +2 -2
- package/dist/esm/components/button/button.js.map +1 -1
- package/dist/esm/components/calender/calendar.d.ts.map +1 -1
- package/dist/esm/components/calender/calendar.js +0 -1
- package/dist/esm/components/calender/calendar.js.map +1 -1
- package/dist/esm/components/checkbox/checkbox.d.ts +2 -2
- package/dist/esm/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/esm/components/checkbox/checkbox.js +3 -3
- package/dist/esm/components/checkbox/checkbox.js.map +1 -1
- package/dist/esm/components/checkbox/types.d.ts +2 -2
- package/dist/esm/components/checkbox/types.d.ts.map +1 -1
- package/dist/esm/components/checkbox/types.js.map +1 -1
- package/dist/esm/components/command-bar/command-bar.d.ts.map +1 -1
- package/dist/esm/components/command-bar/command-bar.js +2 -5
- package/dist/esm/components/command-bar/command-bar.js.map +1 -1
- package/dist/esm/components/copy/copy.js +2 -2
- package/dist/esm/components/copy/copy.js.map +1 -1
- package/dist/esm/components/drawer/drawer.d.ts +9 -9
- package/dist/esm/components/drawer/drawer.d.ts.map +1 -1
- package/dist/esm/components/drawer/drawer.js +10 -10
- package/dist/esm/components/drawer/drawer.js.map +1 -1
- package/dist/esm/components/dropdown-menu/dropdown-menu.d.ts +14 -14
- package/dist/esm/components/dropdown-menu/dropdown-menu.d.ts.map +1 -1
- package/dist/esm/components/dropdown-menu/dropdown-menu.js +18 -18
- package/dist/esm/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/esm/components/focus-modal/focus-modal.d.ts +9 -9
- package/dist/esm/components/focus-modal/focus-modal.d.ts.map +1 -1
- package/dist/esm/components/focus-modal/focus-modal.js +10 -10
- package/dist/esm/components/focus-modal/focus-modal.js.map +1 -1
- package/dist/esm/components/hint/hint.js.map +1 -1
- package/dist/esm/components/icon-badge/icon-badge.d.ts.map +1 -1
- package/dist/esm/components/icon-badge/icon-badge.js +2 -2
- package/dist/esm/components/icon-badge/icon-badge.js.map +1 -1
- package/dist/esm/components/icon-button/icon-button.d.ts.map +1 -1
- package/dist/esm/components/icon-button/icon-button.js +2 -2
- package/dist/esm/components/icon-button/icon-button.js.map +1 -1
- package/dist/esm/components/label/label.d.ts.map +1 -1
- package/dist/esm/components/label/label.js +2 -2
- package/dist/esm/components/label/label.js.map +1 -1
- package/dist/esm/components/popover/popover.d.ts +6 -6
- package/dist/esm/components/popover/popover.d.ts.map +1 -1
- package/dist/esm/components/popover/popover.js +7 -7
- package/dist/esm/components/popover/popover.js.map +1 -1
- package/dist/esm/components/progress-accordion/progress-accordion.d.ts +5 -5
- package/dist/esm/components/progress-accordion/progress-accordion.d.ts.map +1 -1
- package/dist/esm/components/progress-accordion/progress-accordion.js +6 -6
- package/dist/esm/components/progress-accordion/progress-accordion.js.map +1 -1
- package/dist/esm/components/progress-tabs/progress-tabs.d.ts +5 -5
- package/dist/esm/components/progress-tabs/progress-tabs.d.ts.map +1 -1
- package/dist/esm/components/progress-tabs/progress-tabs.js +5 -5
- package/dist/esm/components/progress-tabs/progress-tabs.js.map +1 -1
- package/dist/esm/components/prompt/prompt.d.ts +8 -8
- package/dist/esm/components/prompt/prompt.d.ts.map +1 -1
- package/dist/esm/components/prompt/prompt.js +10 -10
- package/dist/esm/components/prompt/prompt.js.map +1 -1
- package/dist/esm/components/radio-group/radio-group.d.ts +4 -4
- package/dist/esm/components/radio-group/radio-group.d.ts.map +1 -1
- package/dist/esm/components/radio-group/radio-group.js +6 -6
- package/dist/esm/components/radio-group/radio-group.js.map +1 -1
- package/dist/esm/components/select/select.d.ts +9 -9
- package/dist/esm/components/select/select.d.ts.map +1 -1
- package/dist/esm/components/select/select.js +14 -14
- package/dist/esm/components/select/select.js.map +1 -1
- package/dist/esm/components/skeleton/skeleton.d.ts.map +1 -1
- package/dist/esm/components/skeleton/skeleton.js +1 -1
- package/dist/esm/components/skeleton/skeleton.js.map +1 -1
- package/dist/esm/components/switch/switch.d.ts +2 -2
- package/dist/esm/components/switch/switch.d.ts.map +1 -1
- package/dist/esm/components/switch/switch.js +3 -3
- package/dist/esm/components/switch/switch.js.map +1 -1
- package/dist/esm/components/tabs/tabs.d.ts +5 -5
- package/dist/esm/components/tabs/tabs.d.ts.map +1 -1
- package/dist/esm/components/tabs/tabs.js +5 -5
- package/dist/esm/components/tabs/tabs.js.map +1 -1
- package/dist/esm/components/text/text.d.ts.map +1 -1
- package/dist/esm/components/text/text.js +2 -2
- package/dist/esm/components/text/text.js.map +1 -1
- package/dist/esm/components/textarea/textarea.js +1 -1
- package/dist/esm/components/textarea/textarea.js.map +1 -1
- package/dist/esm/components/toast/toast.d.ts.map +1 -1
- package/dist/esm/components/toast/toast.js +1 -1
- package/dist/esm/components/toast/toast.js.map +1 -1
- package/dist/esm/components/tooltip/tooltip.d.ts +3 -3
- package/dist/esm/components/tooltip/tooltip.d.ts.map +1 -1
- package/dist/esm/components/tooltip/tooltip.js +6 -6
- package/dist/esm/components/tooltip/tooltip.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +20 -6
- package/dist/cjs/components/divider/divider.d.ts +0 -8
- package/dist/cjs/components/divider/divider.d.ts.map +0 -1
- package/dist/cjs/components/divider/divider.js +0 -17
- package/dist/cjs/components/divider/divider.js.map +0 -1
- package/dist/cjs/components/divider/index.d.ts +0 -2
- package/dist/cjs/components/divider/index.d.ts.map +0 -1
- package/dist/cjs/components/divider/index.js +0 -5
- package/dist/cjs/components/divider/index.js.map +0 -1
- package/dist/cjs/utils/is-input-element.d.ts +0 -3
- package/dist/cjs/utils/is-input-element.d.ts.map +0 -1
- package/dist/cjs/utils/is-input-element.js +0 -12
- package/dist/cjs/utils/is-input-element.js.map +0 -1
- package/dist/esm/components/divider/divider.d.ts +0 -8
- package/dist/esm/components/divider/divider.d.ts.map +0 -1
- package/dist/esm/components/divider/divider.js +0 -12
- package/dist/esm/components/divider/divider.js.map +0 -1
- package/dist/esm/components/divider/index.d.ts +0 -2
- package/dist/esm/components/divider/index.d.ts.map +0 -1
- package/dist/esm/components/divider/index.js +0 -2
- package/dist/esm/components/divider/index.js.map +0 -1
- package/dist/esm/utils/is-input-element.d.ts +0 -3
- package/dist/esm/utils/is-input-element.d.ts.map +0 -1
- package/dist/esm/utils/is-input-element.js +0 -9
- package/dist/esm/utils/is-input-element.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-action-cell.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-action-cell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;
|
1
|
+
{"version":3,"file":"data-table-action-cell.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-action-cell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAKnD,UAAU,wBAAwB,CAAC,KAAK;IACtC,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,QAAA,MAAM,mBAAmB;sBAEtB,yBAAyB,KAAK,CAAC;;CA8DjC,CAAA;AAGD,OAAO,EAAE,mBAAmB,EAAE,CAAA;AAC9B,YAAY,EAAE,wBAAwB,EAAE,CAAA"}
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.DataTableActionCell = void 0;
|
5
5
|
const tslib_1 = require("tslib");
|
6
6
|
const React = tslib_1.__importStar(require("react"));
|
7
|
+
const icons_1 = require("@medusajs/icons");
|
7
8
|
const dropdown_menu_1 = require("../../../components/dropdown-menu");
|
8
9
|
const icon_button_1 = require("../../../components/icon-button");
|
9
|
-
const icons_1 = require("@medusajs/icons");
|
10
10
|
const DataTableActionCell = ({ ctx, }) => {
|
11
11
|
const meta = ctx.column.columnDef.meta;
|
12
12
|
const actions = meta === null || meta === void 0 ? void 0 : meta.___actions;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-action-cell.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-action-cell.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;AAEZ,qDAA8B;
|
1
|
+
{"version":3,"file":"data-table-action-cell.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-action-cell.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;AAEZ,qDAA8B;AAE9B,2CAAoD;AAEpD,qEAAgE;AAChE,iEAA4D;AAO5D,MAAM,mBAAmB,GAAG,CAAS,EACnC,GAAG,GAC6B,EAAE,EAAE;IACpC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAErB,CAAA;IACb,MAAM,OAAO,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA;IAEhC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;IAE9E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,oBAAC,4BAAY;QACX,oBAAC,4BAAY,CAAC,OAAO,IAAC,OAAO,QAAC,SAAS,EAAC,MAAM;YAC5C,oBAAC,wBAAU,IAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAC,aAAa;gBAC5C,oBAAC,0BAAkB,OAAG,CACX,CACQ;QACvB,oBAAC,4BAAY,CAAC,OAAO,IAAC,IAAI,EAAC,QAAQ,IAChC,eAAe,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;YAC5C,MAAM,MAAM,GAAG,GAAG,KAAK,eAAe,CAAC,MAAM,GAAG,CAAC,CAAA;YAEjD,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,oBAAC,KAAK,CAAC,QAAQ,IAAC,GAAG,EAAE,GAAG;gBACrB,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC7B,oBAAC,4BAAY,CAAC,IAAI,IAChB,GAAG,EAAE,MAAM,CAAC,KAAK,EACjB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;wBACb,CAAC,CAAC,eAAe,EAAE,CAAA;wBACnB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;oBACrB,CAAC,EACD,SAAS,EAAC,mDAAmD;oBAE5D,MAAM,CAAC,IAAI;oBACX,MAAM,CAAC,KAAK,CACK,CACrB,CAAC;gBACD,CAAC,MAAM,IAAI,oBAAC,4BAAY,CAAC,SAAS,OAAG,CACvB,CAClB,CAAC,CAAC,CAAC,CACF,oBAAC,4BAAY,CAAC,IAAI,IAChB,GAAG,EAAE,aAAa,CAAC,KAAK,EACxB,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBACb,CAAC,CAAC,eAAe,EAAE,CAAA;oBACnB,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;gBAC5B,CAAC,EACD,SAAS,EAAC,mDAAmD;gBAE5D,aAAa,CAAC,IAAI;gBAClB,aAAa,CAAC,KAAK,CACF,CACrB,CAAA;QACH,CAAC,CAAC,CACmB,CACV,CAChB,CAAA;AACH,CAAC,CAAA;AAGQ,kDAAmB;AAF5B,mBAAmB,CAAC,WAAW,GAAG,sBAAsB,CAAA","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { EllipsisHorizontal } from \"@medusajs/icons\"\nimport { CellContext } from \"@tanstack/react-table\"\nimport { DropdownMenu } from \"../../../components/dropdown-menu\"\nimport { IconButton } from \"../../../components/icon-button\"\nimport { DataTableActionColumnDefMeta } from \"../types\"\n\ninterface DataTableActionCellProps<TData> {\n ctx: CellContext<TData, unknown>\n}\n\nconst DataTableActionCell = <TData,>({\n ctx,\n}: DataTableActionCellProps<TData>) => {\n const meta = ctx.column.columnDef.meta as\n | DataTableActionColumnDefMeta<TData>\n | undefined\n const actions = meta?.___actions\n\n if (!actions) {\n return null\n }\n\n const resolvedActions = typeof actions === \"function\" ? actions(ctx) : actions\n\n if (!Array.isArray(resolvedActions)) {\n return null\n }\n\n return (\n <DropdownMenu>\n <DropdownMenu.Trigger asChild className=\"ml-1\">\n <IconButton size=\"small\" variant=\"transparent\">\n <EllipsisHorizontal />\n </IconButton>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content side=\"bottom\">\n {resolvedActions.map((actionOrGroup, idx) => {\n const isArray = Array.isArray(actionOrGroup)\n const isLast = idx === resolvedActions.length - 1\n\n return isArray ? (\n <React.Fragment key={idx}>\n {actionOrGroup.map((action) => (\n <DropdownMenu.Item\n key={action.label}\n onClick={(e) => {\n e.stopPropagation()\n action.onClick(ctx)\n }}\n className=\"[&>svg]:text-ui-fg-subtle flex items-center gap-2\"\n >\n {action.icon}\n {action.label}\n </DropdownMenu.Item>\n ))}\n {!isLast && <DropdownMenu.Separator />}\n </React.Fragment>\n ) : (\n <DropdownMenu.Item\n key={actionOrGroup.label}\n onClick={(e) => {\n e.stopPropagation()\n actionOrGroup.onClick(ctx)\n }}\n className=\"[&>svg]:text-ui-fg-subtle flex items-center gap-2\"\n >\n {actionOrGroup.icon}\n {actionOrGroup.label}\n </DropdownMenu.Item>\n )\n })}\n </DropdownMenu.Content>\n </DropdownMenu>\n )\n}\nDataTableActionCell.displayName = \"DataTable.ActionCell\"\n\nexport { DataTableActionCell }\nexport type { DataTableActionCellProps }\n\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-select-cell.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-select-cell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;
|
1
|
+
{"version":3,"file":"data-table-select-cell.d.ts","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-select-cell.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAG7F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,UAAU,wBAAwB,CAAC,KAAK;IACtC,GAAG,EAAE,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED,QAAA,MAAM,mBAAmB;mBAAmB,yBAAyB,KAAK,CAAC;;CAW1E,CAAA;AAGD,UAAU,0BAA0B,CAAC,KAAK;IACxC,GAAG,EAAE,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;CAC5C;AAED,QAAA,MAAM,qBAAqB,iBAAmB,2BAA2B,KAAK,CAAC,sBAgB9E,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,CAAA;AACrD,YAAY,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-select-cell.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-select-cell.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;AAGZ,
|
1
|
+
{"version":3,"file":"data-table-select-cell.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-select-cell.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;AAGZ,oDAAgD;AAEhD,qDAA8B;AAM9B,MAAM,mBAAmB,GAAG,CAAS,KAAsC,EAAE,EAAE;IAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;IAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAA;IAEzD,OAAO,CACL,oBAAC,mBAAQ,IACP,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,QAAQ,GACzB,CACH,CAAA;AACH,CAAC,CAAA;AAyBQ,kDAAmB;AAxB5B,mBAAmB,CAAC,WAAW,GAAG,sBAAsB,CAAA;AAMxD,MAAM,qBAAqB,GAAG,CAAS,KAAwC,EAAE,EAAE;IACjF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,EAAE;QACzD,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,wBAAwB,EAAE,CAAA;IAE9C,MAAM,QAAQ,GAAG,CAAC,OAAqB,EAAE,EAAE;QACzC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC,CAAA;IAED,OAAO,CACL,oBAAC,mBAAQ,IACP,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,QAAQ,GACzB,CACH,CAAA;AACH,CAAC,CAAA;AAE6B,sDAAqB","sourcesContent":["\"use client\"\n\nimport type { DataTableCellContext, DataTableHeaderContext } from \"@/blocks/data-table/types\"\nimport { Checkbox } from \"@/components/checkbox\"\nimport { CheckedState } from \"@radix-ui/react-checkbox\"\nimport * as React from \"react\"\n\ninterface DataTableSelectCellProps<TData> {\n ctx: DataTableCellContext<TData, unknown>\n}\n\nconst DataTableSelectCell = <TData,>(props: DataTableSelectCellProps<TData>) => {\n const checked = props.ctx.row.getIsSelected()\n const onChange = props.ctx.row.getToggleSelectedHandler()\n\n return (\n <Checkbox\n onClick={(e) => e.stopPropagation()}\n checked={checked}\n onCheckedChange={onChange}\n />\n )\n}\nDataTableSelectCell.displayName = \"DataTable.SelectCell\"\n\ninterface DataTableSelectHeaderProps<TData> {\n ctx: DataTableHeaderContext<TData, unknown>\n}\n\nconst DataTableSelectHeader = <TData,>(props: DataTableSelectHeaderProps<TData>) => {\n const checked = props.ctx.table.getIsSomePageRowsSelected()\n ? \"indeterminate\"\n : props.ctx.table.getIsAllPageRowsSelected()\n\n const onChange = (checked: CheckedState) => {\n props.ctx.table.toggleAllPageRowsSelected(!!checked)\n }\n\n return (\n <Checkbox\n onClick={(e) => e.stopPropagation()}\n checked={checked}\n onCheckedChange={onChange}\n />\n )\n}\n\nexport { DataTableSelectCell, DataTableSelectHeader }\nexport type { DataTableSelectCellProps, DataTableSelectHeaderProps }\n\n"]}
|
@@ -16,7 +16,7 @@ const data_table_sorting_icon_1 = require("./data-table-sorting-icon");
|
|
16
16
|
* This component renders the table in a data table, supporting advanced features.
|
17
17
|
*/
|
18
18
|
const DataTableTable = (props) => {
|
19
|
-
const hoveredRowId = React.
|
19
|
+
const [hoveredRowId, setHoveredRowId] = React.useState(null);
|
20
20
|
const isKeyDown = React.useRef(false);
|
21
21
|
const [showStickyBorder, setShowStickyBorder] = React.useState(false);
|
22
22
|
const scrollableRef = React.useRef(null);
|
@@ -36,7 +36,7 @@ const DataTableTable = (props) => {
|
|
36
36
|
isKeyDown.current = true;
|
37
37
|
const row = instance
|
38
38
|
.getRowModel()
|
39
|
-
.rows.find((r) => r.id === hoveredRowId
|
39
|
+
.rows.find((r) => r.id === hoveredRowId);
|
40
40
|
if (row && row.getCanSelect()) {
|
41
41
|
row.toggleSelected();
|
42
42
|
}
|
@@ -107,7 +107,7 @@ const DataTableTable = (props) => {
|
|
107
107
|
canSort && (React.createElement(data_table_sorting_icon_1.DataTableSortingIcon, { direction: sortDirection })))));
|
108
108
|
}))))),
|
109
109
|
React.createElement(table_1.Table.Body, { className: "border-b-0 border-t-0" }, instance.getRowModel().rows.map((row) => {
|
110
|
-
return (React.createElement(table_1.Table.Row, { key: row.id, onMouseEnter: () => (
|
110
|
+
return (React.createElement(table_1.Table.Row, { key: row.id, onMouseEnter: () => setHoveredRowId(row.id), onMouseLeave: () => setHoveredRowId(null), onClick: (e) => { var _a; return (_a = instance.onRowClick) === null || _a === void 0 ? void 0 : _a.call(instance, e, row); }, className: (0, clx_1.clx)("group/row last:border-b-0", {
|
111
111
|
"cursor-pointer": !!instance.onRowClick,
|
112
112
|
}) }, row.getVisibleCells().map((cell, idx) => {
|
113
113
|
const isSelectCell = cell.column.id === "select";
|
@@ -144,7 +144,7 @@ const DataTableEmptyStateDisplay = ({ state, props, }) => {
|
|
144
144
|
return null;
|
145
145
|
}
|
146
146
|
const content = state === types_1.DataTableEmptyState.EMPTY ? props === null || props === void 0 ? void 0 : props.empty : props === null || props === void 0 ? void 0 : props.filtered;
|
147
|
-
return (React.createElement("div", { className: "flex min-h-[250px] w-full flex-
|
147
|
+
return (React.createElement("div", { className: "flex min-h-[250px] w-full flex-col items-center justify-center border-y px-6 py-4" }, (_a = content === null || content === void 0 ? void 0 : content.custom) !== null && _a !== void 0 ? _a : (React.createElement(DefaultEmptyStateContent, { heading: content === null || content === void 0 ? void 0 : content.heading, description: content === null || content === void 0 ? void 0 : content.description }))));
|
148
148
|
};
|
149
149
|
const DataTableTableSkeleton = ({ pageSize = 10, }) => {
|
150
150
|
return (React.createElement("div", { className: "flex w-full flex-1 flex-col overflow-hidden" },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-table-table.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { Table } from \"@/components/table\"\nimport { flexRender } from \"@tanstack/react-table\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Text } from \"@/components/text\"\nimport { clx } from \"@/utils/clx\"\nimport {\n DataTableEmptyState,\n DataTableEmptyStateContent,\n DataTableEmptyStateProps,\n} from \"../types\"\nimport { DataTableSortingIcon } from \"./data-table-sorting-icon\"\n\ninterface DataTableTableProps {\n /**\n * The empty state to display when the table is empty.\n */\n emptyState?: DataTableEmptyStateProps\n}\n\n/**\n * This component renders the table in a data table, supporting advanced features.\n */\nconst DataTableTable = (props: DataTableTableProps) => {\n const hoveredRowId = React.useRef<string | null>(null)\n const isKeyDown = React.useRef(false)\n\n const [showStickyBorder, setShowStickyBorder] = React.useState(false)\n const scrollableRef = React.useRef<HTMLDivElement>(null)\n\n const { instance } = useDataTableContext()\n\n const pageIndex = instance.pageIndex\n\n const columns = instance.getAllColumns()\n\n const hasSelect = columns.find((c) => c.id === \"select\")\n const hasActions = columns.find((c) => c.id === \"action\")\n\n React.useEffect(() => {\n const onKeyDownHandler = (event: KeyboardEvent) => {\n // If an editable element is focused, we don't want to select a row\n const isEditableElementFocused = getIsEditableElementFocused()\n\n if (\n event.key.toLowerCase() === \"x\" &&\n hoveredRowId &&\n !isKeyDown.current &&\n !isEditableElementFocused\n ) {\n isKeyDown.current = true\n\n const row = instance\n .getRowModel()\n .rows.find((r) => r.id === hoveredRowId.current)\n\n if (row && row.getCanSelect()) {\n row.toggleSelected()\n }\n }\n }\n\n const onKeyUpHandler = (event: KeyboardEvent) => {\n if (event.key.toLowerCase() === \"x\") {\n isKeyDown.current = false\n }\n }\n\n document.addEventListener(\"keydown\", onKeyDownHandler)\n document.addEventListener(\"keyup\", onKeyUpHandler)\n return () => {\n document.removeEventListener(\"keydown\", onKeyDownHandler)\n document.removeEventListener(\"keyup\", onKeyUpHandler)\n }\n }, [hoveredRowId, instance])\n\n const handleHorizontalScroll = (e: React.UIEvent<HTMLDivElement>) => {\n const scrollLeft = e.currentTarget.scrollLeft\n\n if (scrollLeft > 0) {\n setShowStickyBorder(true)\n } else {\n setShowStickyBorder(false)\n }\n }\n\n React.useEffect(() => {\n scrollableRef.current?.scroll({ top: 0, left: 0 })\n }, [pageIndex])\n\n if (instance.showSkeleton) {\n return <DataTableTableSkeleton pageSize={instance.pageSize} />\n }\n\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n {instance.emptyState === DataTableEmptyState.POPULATED && (\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.HeaderCell\n key={header.id}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n className={clx(\n \"group flex w-fit cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n }\n )}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </Table.HeaderCell>\n )\n })}\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => (hoveredRowId.current = row.id)}\n onMouseLeave={() => (hoveredRowId.current = null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last-of-type:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n )}\n <DataTableEmptyStateDisplay\n state={instance.emptyState}\n props={props.emptyState}\n />\n </div>\n )\n}\nDataTableTable.displayName = \"DataTable.Table\"\n\ninterface DataTableEmptyStateDisplayProps {\n state: DataTableEmptyState\n props?: DataTableEmptyStateProps\n}\n\nconst DefaultEmptyStateContent = ({\n heading,\n description,\n}: DataTableEmptyStateContent) => (\n <div className=\"flex size-full flex-col items-center justify-center gap-2\">\n <Text size=\"base\" weight=\"plus\">\n {heading}\n </Text>\n <Text>{description}</Text>\n </div>\n)\n\nconst DataTableEmptyStateDisplay = ({\n state,\n props,\n}: DataTableEmptyStateDisplayProps) => {\n if (state === DataTableEmptyState.POPULATED) {\n return null\n }\n\n const content =\n state === DataTableEmptyState.EMPTY ? props?.empty : props?.filtered\n\n return (\n <div className=\"flex min-h-[250px] w-full flex-1 flex-col items-center justify-center border-y px-6 py-4\">\n {content?.custom ?? (\n <DefaultEmptyStateContent\n heading={content?.heading}\n description={content?.description}\n />\n )}\n </div>\n )\n}\n\ninterface DataTableTableSkeletonProps {\n pageSize?: number\n}\n\nconst DataTableTableSkeleton = ({\n pageSize = 10,\n}: DataTableTableSkeletonProps) => {\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n <div className=\"min-h-0 w-full flex-1 overscroll-none border-y\">\n <div className=\"flex flex-col divide-y\">\n <Skeleton className=\"h-12 w-full\" />\n {Array.from({ length: pageSize }, (_, i) => i).map((row) => (\n <Skeleton key={row} className=\"h-12 w-full rounded-none\" />\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nfunction getIsEditableElementFocused() {\n const activeElement = !!document ? document.activeElement : null\n const isEditableElementFocused =\n activeElement instanceof HTMLInputElement ||\n activeElement instanceof HTMLTextAreaElement ||\n activeElement?.getAttribute(\"contenteditable\") === \"true\"\n\n return isEditableElementFocused\n}\n\nexport { DataTableTable }\nexport type { DataTableEmptyStateProps, DataTableTableProps }\n"]}
|
1
|
+
{"version":3,"file":"data-table-table.js","sourceRoot":"","sources":["../../../../../src/blocks/data-table/components/data-table-table.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\n\nimport { Table } from \"@/components/table\"\nimport { flexRender } from \"@tanstack/react-table\"\n\nimport { useDataTableContext } from \"@/blocks/data-table/context/use-data-table-context\"\nimport { Skeleton } from \"@/components/skeleton\"\nimport { Text } from \"@/components/text\"\nimport { clx } from \"@/utils/clx\"\nimport {\n DataTableEmptyState,\n DataTableEmptyStateContent,\n DataTableEmptyStateProps,\n} from \"../types\"\nimport { DataTableSortingIcon } from \"./data-table-sorting-icon\"\n\ninterface DataTableTableProps {\n /**\n * The empty state to display when the table is empty.\n */\n emptyState?: DataTableEmptyStateProps\n}\n\n/**\n * This component renders the table in a data table, supporting advanced features.\n */\nconst DataTableTable = (props: DataTableTableProps) => {\n const [hoveredRowId, setHoveredRowId] = React.useState<string | null>(null)\n const isKeyDown = React.useRef(false)\n\n const [showStickyBorder, setShowStickyBorder] = React.useState(false)\n const scrollableRef = React.useRef<HTMLDivElement>(null)\n\n const { instance } = useDataTableContext()\n\n const pageIndex = instance.pageIndex\n\n const columns = instance.getAllColumns()\n\n const hasSelect = columns.find((c) => c.id === \"select\")\n const hasActions = columns.find((c) => c.id === \"action\")\n\n React.useEffect(() => {\n const onKeyDownHandler = (event: KeyboardEvent) => {\n // If an editable element is focused, we don't want to select a row\n const isEditableElementFocused = getIsEditableElementFocused()\n\n if (\n event.key.toLowerCase() === \"x\" &&\n hoveredRowId &&\n !isKeyDown.current &&\n !isEditableElementFocused\n ) {\n isKeyDown.current = true\n\n const row = instance\n .getRowModel()\n .rows.find((r) => r.id === hoveredRowId)\n\n if (row && row.getCanSelect()) {\n row.toggleSelected()\n }\n }\n }\n\n const onKeyUpHandler = (event: KeyboardEvent) => {\n if (event.key.toLowerCase() === \"x\") {\n isKeyDown.current = false\n }\n }\n\n document.addEventListener(\"keydown\", onKeyDownHandler)\n document.addEventListener(\"keyup\", onKeyUpHandler)\n return () => {\n document.removeEventListener(\"keydown\", onKeyDownHandler)\n document.removeEventListener(\"keyup\", onKeyUpHandler)\n }\n }, [hoveredRowId, instance])\n\n const handleHorizontalScroll = (e: React.UIEvent<HTMLDivElement>) => {\n const scrollLeft = e.currentTarget.scrollLeft\n\n if (scrollLeft > 0) {\n setShowStickyBorder(true)\n } else {\n setShowStickyBorder(false)\n }\n }\n\n React.useEffect(() => {\n scrollableRef.current?.scroll({ top: 0, left: 0 })\n }, [pageIndex])\n\n if (instance.showSkeleton) {\n return <DataTableTableSkeleton pageSize={instance.pageSize} />\n }\n\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n {instance.emptyState === DataTableEmptyState.POPULATED && (\n <div\n ref={scrollableRef}\n onScroll={handleHorizontalScroll}\n className=\"min-h-0 w-full flex-1 overflow-auto overscroll-none border-y\"\n >\n <Table className=\"relative isolate w-full\">\n <Table.Header\n className=\"shadow-ui-border-base sticky inset-x-0 top-0 z-[1] w-full border-b-0 border-t-0 shadow-[0_1px_1px_0]\"\n style={{ transform: \"translate3d(0,0,0)\" }}\n >\n {instance.getHeaderGroups().map((headerGroup) => (\n <Table.Row\n key={headerGroup.id}\n className={clx(\"border-b-0\", {\n \"[&_th:last-of-type]:w-[1%] [&_th:last-of-type]:whitespace-nowrap\":\n hasActions,\n \"[&_th:first-of-type]:w-[1%] [&_th:first-of-type]:whitespace-nowrap\":\n hasSelect,\n })}\n >\n {headerGroup.headers.map((header, idx) => {\n const canSort = header.column.getCanSort()\n const sortDirection = header.column.getIsSorted()\n const sortHandler = header.column.getToggleSortingHandler()\n\n const isActionHeader = header.id === \"action\"\n const isSelectHeader = header.id === \"select\"\n const isSpecialHeader = isActionHeader || isSelectHeader\n\n const Wrapper = canSort ? \"button\" : \"div\"\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.HeaderCell\n key={header.id}\n className={clx(\"whitespace-nowrap\", {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectHeader,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionHeader,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"bg-ui-bg-subtle sticky\":\n isFirstColumn || isSelectHeader,\n \"left-0\":\n isSelectHeader || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n })}\n style={\n !isSpecialHeader\n ? {\n width: header.column.columnDef.size,\n maxWidth: header.column.columnDef.maxSize,\n minWidth: header.column.columnDef.minSize,\n }\n : undefined\n }\n >\n <Wrapper\n type={canSort ? \"button\" : undefined}\n onClick={canSort ? sortHandler : undefined}\n className={clx(\n \"group flex w-fit cursor-default items-center gap-2\",\n {\n \"cursor-pointer\": canSort,\n }\n )}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {canSort && (\n <DataTableSortingIcon direction={sortDirection} />\n )}\n </Wrapper>\n </Table.HeaderCell>\n )\n })}\n </Table.Row>\n ))}\n </Table.Header>\n <Table.Body className=\"border-b-0 border-t-0\">\n {instance.getRowModel().rows.map((row) => {\n return (\n <Table.Row\n key={row.id}\n onMouseEnter={() => setHoveredRowId(row.id)}\n onMouseLeave={() => setHoveredRowId(null)}\n onClick={(e) => instance.onRowClick?.(e, row)}\n className={clx(\"group/row last:border-b-0\", {\n \"cursor-pointer\": !!instance.onRowClick,\n })}\n >\n {row.getVisibleCells().map((cell, idx) => {\n const isSelectCell = cell.column.id === \"select\"\n const isActionCell = cell.column.id === \"action\"\n const isSpecialCell = isSelectCell || isActionCell\n\n const isFirstColumn = hasSelect ? idx === 1 : idx === 0\n\n return (\n <Table.Cell\n key={cell.id}\n className={clx(\n \"items-stretch truncate whitespace-nowrap\",\n {\n \"w-[calc(20px+24px+24px)] min-w-[calc(20px+24px+24px)] max-w-[calc(20px+24px+24px)]\":\n isSelectCell,\n \"w-[calc(28px+24px+4px)] min-w-[calc(28px+24px+4px)] max-w-[calc(28px+24px+4px)]\":\n isActionCell,\n \"bg-ui-bg-base group-hover/row:bg-ui-bg-base-hover transition-fg sticky h-full\":\n isFirstColumn || isSelectCell,\n \"after:absolute after:inset-y-0 after:right-0 after:h-full after:w-px after:bg-transparent after:content-['']\":\n isFirstColumn,\n \"after:bg-ui-border-base\":\n showStickyBorder && isFirstColumn,\n \"left-0\":\n isSelectCell || (isFirstColumn && !hasSelect),\n \"left-[calc(20px+24px+24px)]\":\n isFirstColumn && hasSelect,\n }\n )}\n style={\n !isSpecialCell\n ? {\n width: cell.column.columnDef.size,\n maxWidth: cell.column.columnDef.maxSize,\n minWidth: cell.column.columnDef.minSize,\n }\n : undefined\n }\n >\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </Table.Cell>\n )\n })}\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </div>\n )}\n <DataTableEmptyStateDisplay\n state={instance.emptyState}\n props={props.emptyState}\n />\n </div>\n )\n}\nDataTableTable.displayName = \"DataTable.Table\"\n\ninterface DataTableEmptyStateDisplayProps {\n state: DataTableEmptyState\n props?: DataTableEmptyStateProps\n}\n\nconst DefaultEmptyStateContent = ({\n heading,\n description,\n}: DataTableEmptyStateContent) => (\n <div className=\"flex size-full flex-col items-center justify-center gap-2\">\n <Text size=\"base\" weight=\"plus\">\n {heading}\n </Text>\n <Text>{description}</Text>\n </div>\n)\n\nconst DataTableEmptyStateDisplay = ({\n state,\n props,\n}: DataTableEmptyStateDisplayProps) => {\n if (state === DataTableEmptyState.POPULATED) {\n return null\n }\n\n const content =\n state === DataTableEmptyState.EMPTY ? props?.empty : props?.filtered\n\n return (\n <div className=\"flex min-h-[250px] w-full flex-col items-center justify-center border-y px-6 py-4\">\n {content?.custom ?? (\n <DefaultEmptyStateContent\n heading={content?.heading}\n description={content?.description}\n />\n )}\n </div>\n )\n}\n\ninterface DataTableTableSkeletonProps {\n pageSize?: number\n}\n\nconst DataTableTableSkeleton = ({\n pageSize = 10,\n}: DataTableTableSkeletonProps) => {\n return (\n <div className=\"flex w-full flex-1 flex-col overflow-hidden\">\n <div className=\"min-h-0 w-full flex-1 overscroll-none border-y\">\n <div className=\"flex flex-col divide-y\">\n <Skeleton className=\"h-12 w-full\" />\n {Array.from({ length: pageSize }, (_, i) => i).map((row) => (\n <Skeleton key={row} className=\"h-12 w-full rounded-none\" />\n ))}\n </div>\n </div>\n </div>\n )\n}\n\nfunction getIsEditableElementFocused() {\n const activeElement = !!document ? document.activeElement : null\n const isEditableElementFocused =\n activeElement instanceof HTMLInputElement ||\n activeElement instanceof HTMLTextAreaElement ||\n activeElement?.getAttribute(\"contenteditable\") === \"true\"\n\n return isEditableElementFocused\n}\n\nexport { DataTableTable }\nexport type { DataTableEmptyStateProps, DataTableTableProps }\n\n"]}
|
@@ -3,5 +3,5 @@ export * from "./use-data-table";
|
|
3
3
|
export * from "./utils/create-data-table-column-helper";
|
4
4
|
export * from "./utils/create-data-table-command-helper";
|
5
5
|
export * from "./utils/create-data-table-filter-helper";
|
6
|
-
export type { DataTableAction, DataTableCellContext, DataTableColumn, DataTableColumnDef, DataTableColumnFilter, DataTableCommand, DataTableDateComparisonOperator, DataTableEmptyState, DataTableEmptyStateContent, DataTableEmptyStateProps, DataTableFilter, DataTableFilteringState, DataTableHeaderContext, DataTablePaginationState,
|
6
|
+
export type { DataTableAction, DataTableCellContext, DataTableColumn, DataTableColumnDef, DataTableColumnFilter, DataTableCommand, DataTableDateComparisonOperator, DataTableEmptyState, DataTableEmptyStateContent, DataTableEmptyStateProps, DataTableFilter, DataTableFilteringState, DataTableHeaderContext, DataTablePaginationState, DataTableRowSelectionState, DataTableSortDirection, DataTableSortingState, } from "./types";
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blocks/data-table/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yCAAyC,CAAA;AACvD,cAAc,0CAA0C,CAAA;AACxD,cAAc,yCAAyC,CAAA;AAEvD,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,+BAA+B,EAC/B,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blocks/data-table/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,yCAAyC,CAAA;AACvD,cAAc,0CAA0C,CAAA;AACxD,cAAc,yCAAyC,CAAA;AAEvD,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,+BAA+B,EAC/B,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,SAAS,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/blocks/data-table/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,2DAAgC;AAChC,kFAAuD;AACvD,mFAAwD;AACxD,kFAAuD","sourcesContent":["export * from \"./data-table\"\nexport * from \"./use-data-table\"\nexport * from \"./utils/create-data-table-column-helper\"\nexport * from \"./utils/create-data-table-command-helper\"\nexport * from \"./utils/create-data-table-filter-helper\"\n\nexport type {\n DataTableAction,\n DataTableCellContext,\n DataTableColumn,\n DataTableColumnDef,\n DataTableColumnFilter,\n DataTableCommand,\n DataTableDateComparisonOperator,\n DataTableEmptyState,\n DataTableEmptyStateContent,\n DataTableEmptyStateProps,\n DataTableFilter,\n DataTableFilteringState,\n DataTableHeaderContext,\n DataTablePaginationState,\n
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/blocks/data-table/index.ts"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,2DAAgC;AAChC,kFAAuD;AACvD,mFAAwD;AACxD,kFAAuD","sourcesContent":["export * from \"./data-table\"\nexport * from \"./use-data-table\"\nexport * from \"./utils/create-data-table-column-helper\"\nexport * from \"./utils/create-data-table-command-helper\"\nexport * from \"./utils/create-data-table-filter-helper\"\n\nexport type {\n DataTableAction,\n DataTableCellContext,\n DataTableColumn,\n DataTableColumnDef,\n DataTableColumnFilter,\n DataTableCommand,\n DataTableDateComparisonOperator,\n DataTableEmptyState,\n DataTableEmptyStateContent,\n DataTableEmptyStateProps,\n DataTableFilter,\n DataTableFilteringState,\n DataTableHeaderContext,\n DataTablePaginationState,\n DataTableRowSelectionState,\n DataTableSortDirection,\n DataTableSortingState,\n} from \"./types\"\n"]}
|
@@ -1,7 +1,6 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import type { AccessorFn, AccessorFnColumnDef, AccessorKeyColumnDef, CellContext, Column, ColumnDef, ColumnFilter, ColumnSort, DeepKeys, DeepValue, DisplayColumnDef, HeaderContext, IdentifiedColumnDef, IdIdentifier, PaginationState,
|
2
|
+
import type { AccessorFn, AccessorFnColumnDef, AccessorKeyColumnDef, CellContext, Column, ColumnDef, ColumnFilter, ColumnSort, DeepKeys, DeepValue, DisplayColumnDef, HeaderContext, IdentifiedColumnDef, IdIdentifier, PaginationState, RowData, RowSelectionState, SortDirection, StringHeaderIdentifier, StringOrTemplateHeader } from "@tanstack/react-table";
|
3
3
|
export type DataTableRowData = RowData;
|
4
|
-
export type DataTableRow<TData extends DataTableRowData> = Row<TData>;
|
5
4
|
export type DataTableAction<TData> = {
|
6
5
|
label: string;
|
7
6
|
onClick: (ctx: CellContext<TData, unknown>) => void;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/data-table/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,MAAM,EACN,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,eAAe,EACf,
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/blocks/data-table/types.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/blocks/data-table/types.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/blocks/data-table/types.ts"],"names":[],"mappings":";;;AA6QA,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,sCAAe,CAAA;IACf,wDAAiC,CAAA;IACjC,8CAAuB,CAAA;AACzB,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B","sourcesContent":["import type {\n AccessorFn,\n AccessorFnColumnDef,\n AccessorKeyColumnDef,\n CellContext,\n Column,\n ColumnDef,\n ColumnFilter,\n ColumnSort,\n DeepKeys,\n DeepValue,\n DisplayColumnDef,\n HeaderContext,\n IdentifiedColumnDef,\n IdIdentifier,\n PaginationState,\n RowData,\n RowSelectionState,\n SortDirection,\n StringHeaderIdentifier,\n StringOrTemplateHeader,\n} from \"@tanstack/react-table\"\n\nexport type DataTableRowData = RowData\n\nexport type DataTableAction<TData> = {\n label: string\n onClick: (ctx: CellContext<TData, unknown>) => void\n icon?: React.ReactNode\n}\n\nexport interface DataTableCellContext<TData extends DataTableRowData, TValue>\n extends CellContext<TData, TValue> {}\n\nexport interface DataTableHeaderContext<TData extends DataTableRowData, TValue>\n extends HeaderContext<TData, TValue> {}\n\nexport type DataTableSortDirection = SortDirection\n\nexport interface DataTableActionColumnDef<TData>\n extends Pick<DisplayColumnDef<TData>, \"meta\"> {\n actions:\n | DataTableAction<TData>[]\n | DataTableAction<TData>[][]\n | ((\n ctx: DataTableCellContext<TData, unknown>\n ) => DataTableAction<TData>[] | DataTableAction<TData>[][])\n}\n\nexport interface DataTableSelectColumnDef<TData>\n extends Pick<DisplayColumnDef<TData>, \"cell\" | \"header\"> {}\n\nexport type DataTableSortableColumnDef = {\n /**\n * The label to display in the sorting menu.\n */\n sortLabel?: string\n /**\n * The label to display in the sorting menu when sorting in ascending order.\n */\n sortAscLabel?: string\n /**\n * The label to display in the sorting menu when sorting in descending order.\n */\n sortDescLabel?: string\n /**\n * Whether the column is sortable.\n * @default false\n */\n enableSorting?: boolean\n}\n\nexport type DataTableSortableColumnDefMeta = {\n ___sortMetaData?: DataTableSortableColumnDef\n}\n\nexport type DataTableActionColumnDefMeta<TData> = {\n ___actions?:\n | DataTableAction<TData>[]\n | DataTableAction<TData>[][]\n | ((ctx: DataTableCellContext<TData, unknown>) => DataTableAction<TData>[])\n}\n\nexport interface DataTableColumn<\n TData extends DataTableRowData,\n TValue = unknown\n> extends Column<TData, TValue> {}\n\nexport type DataTableColumnDef<\n TData extends DataTableRowData,\n TValue = unknown\n> = ColumnDef<TData, TValue>\n\nexport type DataTableColumnSizing = {\n /**\n * The maximum size of the column.\n */\n maxSize?: number\n /**\n * The minimum size of the column.\n */\n minSize?: number\n /**\n * The size of the column.\n */\n size?: number\n}\n\ntype DataTableColumnIdentifiers<TData extends DataTableRowData, TValue> =\n | IdIdentifier<TData, TValue>\n | StringHeaderIdentifier\n\nexport type DataTableDisplayColumnDef<\n TData extends DataTableRowData,\n TValue = unknown\n> = Pick<\n DisplayColumnDef<TData, TValue>,\n \"meta\" | \"header\" | \"cell\" | \"minSize\" | \"maxSize\" | \"size\"\n> &\n DataTableColumnIdentifiers<TData, TValue>\n\nexport interface DataTableIdentifiedColumnDef<\n TData extends DataTableRowData,\n TValue\n> extends Pick<\n IdentifiedColumnDef<TData, TValue>,\n \"meta\" | \"header\" | \"cell\" | \"minSize\" | \"maxSize\" | \"size\"\n > {\n id?: string\n header?: StringOrTemplateHeader<TData, TValue>\n}\n\nexport interface DataTableColumnHelper<TData> {\n /**\n * Create a accessor column.\n *\n * @param accessor The accessor to create the column for.\n * @param column The column to create for the accessor.\n * @returns The created accessor.\n */\n accessor: <\n TAccessor extends AccessorFn<TData> | DeepKeys<TData>,\n TValue extends TAccessor extends AccessorFn<TData, infer TReturn>\n ? TReturn\n : TAccessor extends DeepKeys<TData>\n ? DeepValue<TData, TAccessor>\n : never\n >(\n accessor: TAccessor,\n column: TAccessor extends AccessorFn<TData>\n ? DataTableDisplayColumnDef<TData, TValue> & DataTableSortableColumnDef\n : DataTableIdentifiedColumnDef<TData, TValue> & DataTableSortableColumnDef\n ) => TAccessor extends AccessorFn<TData>\n ? AccessorFnColumnDef<TData, TValue>\n : AccessorKeyColumnDef<TData, TValue>\n /**\n * Create a display column.\n *\n * @param column The column to create the display for.\n * @returns The created display column.\n */\n display: (column: DataTableDisplayColumnDef<TData>) => DisplayColumnDef<TData>\n /**\n * Create an action column.\n *\n * @param props The props to create the action column for.\n * @returns The created action column.\n */\n action: (\n props: DataTableActionColumnDef<TData>\n ) => DisplayColumnDef<TData, unknown>\n /**\n * Create a select column.\n *\n * @param props The props to create the select column for.\n * @returns The created select column.\n */\n select: (\n props?: DataTableSelectColumnDef<TData>\n ) => DisplayColumnDef<TData, unknown>\n}\n\nexport interface DataTableSortingState extends ColumnSort {}\nexport interface DataTableRowSelectionState extends RowSelectionState {}\nexport interface DataTablePaginationState extends PaginationState {}\nexport type DataTableFilteringState<\n T extends Record<string, unknown> = Record<string, unknown>\n> = {\n [K in keyof T]: T[K]\n}\n\nexport type DataTableFilterType = \"radio\" | \"select\" | \"date\"\nexport type DataTableFilterOption<T = string> = {\n label: string\n value: T\n}\n\ninterface DataTableBaseFilterProps {\n type: DataTableFilterType\n label: string\n}\n\nexport interface DataTableRadioFilterProps extends DataTableBaseFilterProps {\n type: \"radio\"\n options: DataTableFilterOption[]\n}\n\nexport interface DataTableSelectFilterProps extends DataTableBaseFilterProps {\n type: \"select\"\n options: DataTableFilterOption[]\n}\n\nexport interface DataTableDateFilterProps extends DataTableBaseFilterProps {\n type: \"date\"\n /**\n * The format of the date.\n * @default \"date\"\n */\n format?: \"date\" | \"date-time\"\n /**\n * The label to display for the range option.\n */\n rangeOptionLabel?: string\n /**\n * The label to display for the start of the range option.\n */\n rangeOptionStartLabel?: string\n /**\n * The label to display for the end of the range option.\n */\n rangeOptionEndLabel?: string\n /**\n * Whether to disable the range option.\n */\n disableRangeOption?: boolean\n /**\n * A function to format the date value.\n *\n * @example\n * ```tsx\n * formatDateValue={(value) => value.toLocaleDateString()}\n * ```\n */\n formatDateValue?: (value: Date) => string\n /**\n * The options to display in the filter.\n *\n * @example\n * ```tsx\n * options: [\n * { label: \"Today\", value: { $gte: new Date().toISOString() } },\n * { label: \"Yesterday\", value: { $gte: new Date(new Date().getTime() - 24 * 60 * 60 * 1000).toISOString() } },\n * ]\n * ```\n */\n options: DataTableFilterOption<DataTableDateComparisonOperator>[]\n}\n\nexport type DataTableFilterProps =\n | DataTableRadioFilterProps\n | DataTableSelectFilterProps\n | DataTableDateFilterProps\n\nexport type DataTableFilter<\n T extends DataTableFilterProps = DataTableFilterProps\n> = T & {\n id: string\n}\n\nexport enum DataTableEmptyState {\n EMPTY = \"EMPTY\",\n FILTERED_EMPTY = \"FILTERED_EMPTY\",\n POPULATED = \"POPULATED\",\n}\n\nexport type DataTableDateComparisonOperator = {\n /**\n * The filtered date must be greater than or equal to this value.\n */\n $gte?: string\n /**\n * The filtered date must be less than or equal to this value.\n */\n $lte?: string\n /**\n * The filtered date must be less than this value.\n */\n $lt?: string\n /**\n * The filtered date must be greater than this value.\n */\n $gt?: string\n}\n\ntype DataTableCommandAction = (\n selection: DataTableRowSelectionState\n) => void | Promise<void>\n\nexport interface DataTableCommand {\n /**\n * The label to display in the command bar.\n */\n label: string\n /**\n * The action to perform when the command is selected.\n */\n action: DataTableCommandAction\n /**\n * The shortcut to use for the command.\n *\n * @example \"i\"\n */\n shortcut: string\n}\n\nexport type DataTableEmptyStateContent = {\n /**\n * The heading to display in the empty state.\n */\n heading?: string\n /**\n * The description to display in the empty state.\n */\n description?: string\n /**\n * A custom component to display in the empty state, if provided it will override the heading and description.\n */\n custom?: React.ReactNode\n}\n\nexport type DataTableEmptyStateProps = {\n /**\n * The empty state to display when the table is filtered, but no rows are found.\n */\n filtered?: DataTableEmptyStateContent\n /**\n * The empty state to display when the table is empty.\n */\n empty?: DataTableEmptyStateContent\n}\n\nexport interface DataTableColumnFilter extends ColumnFilter {}\n"]}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { type TableOptions, useReactTable } from "@tanstack/react-table";
|
2
2
|
import * as React from "react";
|
3
|
-
import { DataTableColumnDef, DataTableColumnFilter, DataTableCommand, DataTableDateComparisonOperator, DataTableEmptyState, DataTableFilter, DataTableFilteringState, DataTableFilterOption, DataTablePaginationState,
|
3
|
+
import { DataTableColumnDef, DataTableColumnFilter, DataTableCommand, DataTableDateComparisonOperator, DataTableEmptyState, DataTableFilter, DataTableFilteringState, DataTableFilterOption, DataTablePaginationState, DataTableRowSelectionState, DataTableSortingState } from "./types";
|
4
4
|
interface DataTableOptions<TData> extends Pick<TableOptions<TData>, "data" | "getRowId"> {
|
5
5
|
/**
|
6
6
|
* The columns to use for the table.
|
@@ -31,7 +31,6 @@ interface DataTableOptions<TData> extends Pick<TableOptions<TData>, "data" | "ge
|
|
31
31
|
rowSelection?: {
|
32
32
|
state: DataTableRowSelectionState;
|
33
33
|
onRowSelectionChange: (state: DataTableRowSelectionState) => void;
|
34
|
-
enableRowSelection?: boolean | ((row: DataTableRow<TData>) => boolean) | undefined;
|
35
34
|
};
|
36
35
|
/**
|
37
36
|
* The state and callback for the sorting.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-data-table.d.ts","sourceRoot":"","sources":["../../../../src/blocks/data-table/use-data-table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,YAAY,EAEjB,aAAa,EACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,+BAA+B,EAC/B,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,
|
1
|
+
{"version":3,"file":"use-data-table.d.ts","sourceRoot":"","sources":["../../../../src/blocks/data-table/use-data-table.tsx"],"names":[],"mappings":"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"}
|
@@ -10,7 +10,7 @@ const useDataTable = ({ rowCount = 0, filters, commands, rowSelection, sorting,
|
|
10
10
|
const { state: sortingState, onSortingChange } = sorting !== null && sorting !== void 0 ? sorting : {};
|
11
11
|
const { state: filteringState, onFilteringChange } = filtering !== null && filtering !== void 0 ? filtering : {};
|
12
12
|
const { state: paginationState, onPaginationChange } = pagination !== null && pagination !== void 0 ? pagination : {};
|
13
|
-
const { state: rowSelectionState, onRowSelectionChange
|
13
|
+
const { state: rowSelectionState, onRowSelectionChange } = rowSelection !== null && rowSelection !== void 0 ? rowSelection : {};
|
14
14
|
const autoResetPageIndexHandler = React.useCallback(() => {
|
15
15
|
return autoResetPageIndex
|
16
16
|
? () => paginationState &&
|
@@ -61,7 +61,6 @@ const useDataTable = ({ rowCount = 0, filters, commands, rowSelection, sorting,
|
|
61
61
|
})),
|
62
62
|
pagination: paginationState,
|
63
63
|
},
|
64
|
-
enableRowSelection,
|
65
64
|
rowCount,
|
66
65
|
onColumnFiltersChange: filteringStateHandler(),
|
67
66
|
onRowSelectionChange: rowSelectionStateHandler(),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"use-data-table.js","sourceRoot":"","sources":["../../../../src/blocks/data-table/use-data-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ColumnFilter,\n ColumnFiltersState,\n type ColumnSort,\n getCoreRowModel,\n PaginationState,\n type RowSelectionState,\n type SortingState,\n type TableOptions,\n type Updater,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport * as React from \"react\";\nimport {\n DataTableColumnDef,\n DataTableColumnFilter,\n DataTableCommand,\n DataTableDateComparisonOperator,\n DataTableEmptyState,\n DataTableFilter,\n DataTableFilteringState,\n DataTableFilterOption,\n DataTablePaginationState,\n DataTableRow,\n DataTableRowSelectionState,\n DataTableSortingState,\n} from \"./types\";\n\ninterface DataTableOptions<TData>\n extends Pick<TableOptions<TData>, \"data\" | \"getRowId\"> {\n /**\n * The columns to use for the table.\n */\n columns: DataTableColumnDef<TData, any>[];\n /**\n * The filters which the user can apply to the table.\n */\n filters?: DataTableFilter[]\n /**\n * The commands which the user can apply to selected rows.\n */\n commands?: DataTableCommand[]\n /**\n * Whether the data for the table is currently being loaded.\n */\n isLoading?: boolean\n /**\n * The state and callback for the filtering.\n */\n filtering?: {\n state: DataTableFilteringState\n onFilteringChange: (state: DataTableFilteringState) => void\n }\n /**\n * The state and callback for the row selection.\n */\n rowSelection?: {\n state: DataTableRowSelectionState\n onRowSelectionChange: (state: DataTableRowSelectionState) => void\n enableRowSelection?: boolean | ((row: DataTableRow<TData>) => boolean) | undefined\n }\n /**\n * The state and callback for the sorting.\n */\n sorting?: {\n state: DataTableSortingState | null\n onSortingChange: (state: DataTableSortingState) => void\n }\n /**\n * The state and callback for the search, with optional debounce.\n */\n search?: {\n state: string\n onSearchChange: (state: string) => void\n /**\n * Debounce time in milliseconds for the search callback.\n * @default 300\n */\n debounce?: number\n }\n /**\n * The state and callback for the pagination.\n */\n pagination?: {\n state: DataTablePaginationState\n onPaginationChange: (state: DataTablePaginationState) => void\n }\n /**\n * The function to execute when a row is clicked.\n */\n onRowClick?: (\n event: React.MouseEvent<HTMLTableRowElement, MouseEvent>,\n row: TData\n ) => void\n /**\n * The total count of rows. When working with pagination, this will be the total\n * number of rows available, not the number of rows currently being displayed.\n */\n rowCount?: number\n /**\n * Whether the page index should be reset the filtering, sorting, or pagination changes.\n *\n * @default true\n */\n autoResetPageIndex?: boolean\n}\n\ninterface UseDataTableReturn<TData>\n extends Pick<\n ReturnType<typeof useReactTable<TData>>,\n | \"getHeaderGroups\"\n | \"getRowModel\"\n | \"getCanNextPage\"\n | \"getCanPreviousPage\"\n | \"nextPage\"\n | \"previousPage\"\n | \"getPageCount\"\n | \"getAllColumns\"\n > {\n getSorting: () => DataTableSortingState | null\n setSorting: (\n sortingOrUpdater:\n | DataTableSortingState\n | ((prev: DataTableSortingState | null) => DataTableSortingState)\n ) => void\n getFilters: () => DataTableFilter[]\n getFilterOptions: <\n T extends string | string[] | DataTableDateComparisonOperator\n >(\n id: string\n ) => DataTableFilterOption<T>[] | null\n getFilterMeta: (id: string) => DataTableFilter | null\n getFiltering: () => DataTableFilteringState\n addFilter: (filter: DataTableColumnFilter) => void\n removeFilter: (id: string) => void\n clearFilters: () => void\n updateFilter: (filter: DataTableColumnFilter) => void\n getSearch: () => string\n onSearchChange: (search: string) => void\n getCommands: () => DataTableCommand[]\n getRowSelection: () => DataTableRowSelectionState\n onRowClick?: (\n event: React.MouseEvent<HTMLTableRowElement, MouseEvent>,\n row: TData\n ) => void\n emptyState: DataTableEmptyState\n isLoading: boolean\n showSkeleton: boolean\n pageIndex: number\n pageSize: number\n rowCount: number\n enablePagination: boolean\n enableFiltering: boolean\n enableSorting: boolean\n enableSearch: boolean\n}\n\nconst useDataTable = <TData,>({\n rowCount = 0,\n filters,\n commands,\n rowSelection,\n sorting,\n filtering,\n pagination,\n search,\n onRowClick,\n autoResetPageIndex = true,\n isLoading = false,\n ...options\n}: DataTableOptions<TData>): UseDataTableReturn<TData> => {\n const { state: sortingState, onSortingChange } = sorting ?? {}\n const { state: filteringState, onFilteringChange } = filtering ?? {}\n const { state: paginationState, onPaginationChange } = pagination ?? {}\n const { state: rowSelectionState, onRowSelectionChange, enableRowSelection } = rowSelection ?? {}\n\n const autoResetPageIndexHandler = React.useCallback(() => {\n return autoResetPageIndex\n ? () =>\n paginationState &&\n onPaginationChange?.({ ...paginationState, pageIndex: 0 })\n : undefined\n }, [autoResetPageIndex, paginationState, onPaginationChange])\n\n const sortingStateHandler = React.useCallback(() => {\n return onSortingChange\n ? (updaterOrValue: Updater<SortingState>) => {\n autoResetPageIndexHandler()?.()\n onSortingChangeTransformer(\n onSortingChange,\n sortingState\n )(updaterOrValue)\n }\n : undefined\n }, [onSortingChange, sortingState, autoResetPageIndexHandler])\n\n const rowSelectionStateHandler = React.useCallback(() => {\n return onRowSelectionChange\n ? (updaterOrValue: Updater<RowSelectionState>) => {\n autoResetPageIndexHandler()?.()\n onRowSelectionChangeTransformer(\n onRowSelectionChange,\n rowSelectionState\n )(updaterOrValue)\n }\n : undefined\n }, [onRowSelectionChange, rowSelectionState, autoResetPageIndexHandler])\n\n const filteringStateHandler = React.useCallback(() => {\n return onFilteringChange\n ? (updaterOrValue: Updater<ColumnFiltersState>) => {\n autoResetPageIndexHandler()?.()\n onFilteringChangeTransformer(\n onFilteringChange,\n filteringState\n )(updaterOrValue)\n }\n : undefined\n }, [onFilteringChange, filteringState, autoResetPageIndexHandler])\n\n const paginationStateHandler = React.useCallback(() => {\n return onPaginationChange\n ? onPaginationChangeTransformer(onPaginationChange, paginationState)\n : undefined\n }, [onPaginationChange, paginationState])\n\n const instance = useReactTable({\n ...options,\n getCoreRowModel: getCoreRowModel(),\n state: {\n rowSelection: rowSelectionState ?? {},\n sorting: sortingState ? [sortingState] : undefined,\n columnFilters: Object.entries(filteringState ?? {}).map(\n ([id, filter]) => ({\n id,\n value: filter,\n })\n ),\n pagination: paginationState,\n },\n enableRowSelection,\n rowCount,\n onColumnFiltersChange: filteringStateHandler(),\n onRowSelectionChange: rowSelectionStateHandler(),\n onSortingChange: sortingStateHandler(),\n onPaginationChange: paginationStateHandler(),\n manualSorting: true,\n manualPagination: true,\n manualFiltering: true,\n })\n\n const getSorting = React.useCallback(() => {\n return instance.getState().sorting?.[0] ?? null\n }, [instance])\n\n const setSorting = React.useCallback(\n (\n sortingOrUpdater: ColumnSort | ((prev: ColumnSort | null) => ColumnSort)\n ) => {\n const currentSort = instance.getState().sorting?.[0] ?? null\n const newSorting =\n typeof sortingOrUpdater === \"function\"\n ? sortingOrUpdater(currentSort)\n : sortingOrUpdater\n\n autoResetPageIndexHandler()?.()\n instance.setSorting([newSorting])\n },\n [instance, autoResetPageIndexHandler]\n )\n\n const getFilters = React.useCallback(() => {\n return filters ?? []\n }, [filters])\n\n const getFilterOptions = React.useCallback(\n <T extends string | string[] | DataTableDateComparisonOperator>(\n id: string\n ) => {\n const filter = getFilters().find((filter) => filter.id === id)\n\n if (!filter) {\n return null\n }\n\n return filter.options as DataTableFilterOption<T>[]\n },\n [getFilters]\n )\n\n const getFilterMeta = React.useCallback(\n (id: string) => {\n return getFilters().find((filter) => filter.id === id) || null\n },\n [getFilters]\n )\n\n const getFiltering = React.useCallback(() => {\n const state = instance.getState().columnFilters ?? []\n return Object.fromEntries(state.map((filter) => [filter.id, filter.value]))\n }, [instance])\n\n const addFilter = React.useCallback(\n (filter: ColumnFilter) => {\n if (filter.value) {\n autoResetPageIndexHandler()?.()\n }\n onFilteringChange?.({ ...getFiltering(), [filter.id]: filter.value })\n },\n [onFilteringChange, getFiltering, autoResetPageIndexHandler]\n )\n\n const removeFilter = React.useCallback(\n (id: string) => {\n const currentFilters = getFiltering()\n delete currentFilters[id]\n autoResetPageIndexHandler()?.()\n onFilteringChange?.(currentFilters)\n },\n [onFilteringChange, getFiltering, autoResetPageIndexHandler]\n )\n\n const clearFilters = React.useCallback(() => {\n autoResetPageIndexHandler()?.()\n onFilteringChange?.({})\n }, [onFilteringChange, autoResetPageIndexHandler])\n\n const updateFilter = React.useCallback(\n (filter: ColumnFilter) => {\n addFilter(filter)\n },\n [addFilter]\n )\n\n const { state: searchState, onSearchChange, debounce = 300 } = search ?? {}\n\n const [localSearch, setLocalSearch] = React.useState(searchState ?? \"\")\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout>>()\n\n React.useEffect(() => {\n setLocalSearch(searchState ?? \"\")\n }, [searchState])\n\n const getSearch = React.useCallback(() => {\n return localSearch\n }, [localSearch])\n\n const debouncedSearchChange = React.useMemo(() => {\n if (!onSearchChange) {\n return undefined\n }\n\n return (value: string) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n\n if (debounce <= 0) {\n autoResetPageIndexHandler()?.()\n onSearchChange(value)\n return\n }\n\n timeoutRef.current = setTimeout(() => {\n autoResetPageIndexHandler()?.()\n onSearchChange(value)\n }, debounce)\n }\n }, [onSearchChange, debounce, autoResetPageIndexHandler])\n\n React.useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n const onSearchChangeHandler = React.useCallback(\n (search: string) => {\n setLocalSearch(search)\n debouncedSearchChange?.(search)\n },\n [debouncedSearchChange]\n )\n\n const getCommands = React.useCallback(() => {\n return commands ?? []\n }, [commands])\n\n const getRowSelection = React.useCallback(() => {\n return instance.getState().rowSelection\n }, [instance])\n\n const rows = instance.getRowModel().rows\n\n const emptyState = React.useMemo(() => {\n const hasRows = rows.length > 0\n const hasSearch = Boolean(searchState)\n const hasFilters = Object.keys(filteringState ?? {}).length > 0\n\n if (hasRows) {\n return DataTableEmptyState.POPULATED\n }\n\n if (hasSearch || hasFilters) {\n return DataTableEmptyState.FILTERED_EMPTY\n }\n\n return DataTableEmptyState.EMPTY\n }, [rows, searchState, filteringState])\n\n const showSkeleton = React.useMemo(() => {\n return isLoading === true && rows.length === 0\n }, [isLoading, rows])\n\n const enablePagination: boolean = !!pagination\n const enableFiltering: boolean = !!filtering\n const enableSorting: boolean = !!sorting\n const enableSearch: boolean = !!search\n\n return {\n // Table\n getHeaderGroups: instance.getHeaderGroups,\n getRowModel: instance.getRowModel,\n getAllColumns: instance.getAllColumns,\n // Pagination\n enablePagination,\n getCanNextPage: instance.getCanNextPage,\n getCanPreviousPage: instance.getCanPreviousPage,\n nextPage: instance.nextPage,\n previousPage: instance.previousPage,\n getPageCount: instance.getPageCount,\n pageIndex: instance.getState()?.pagination?.pageIndex ?? 0,\n pageSize: instance.getState()?.pagination?.pageSize ?? 10,\n rowCount,\n // Search\n enableSearch,\n getSearch,\n onSearchChange: onSearchChangeHandler,\n // Sorting\n enableSorting,\n getSorting,\n setSorting,\n // Filtering\n enableFiltering,\n getFilters,\n getFilterOptions,\n getFilterMeta,\n getFiltering,\n addFilter,\n removeFilter,\n clearFilters,\n updateFilter,\n // Commands\n getCommands,\n getRowSelection,\n // Handlers\n onRowClick,\n // Empty State\n emptyState,\n // Loading\n isLoading,\n showSkeleton,\n }\n}\n\nfunction onSortingChangeTransformer(\n onSortingChange: (state: ColumnSort) => void,\n state?: ColumnSort | null\n) {\n return (updaterOrValue: Updater<SortingState>) => {\n const value =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(state ? [state] : [])\n : updaterOrValue\n const columnSort = value[0]\n\n onSortingChange(columnSort)\n }\n}\n\nfunction onRowSelectionChangeTransformer(\n onRowSelectionChange: (state: RowSelectionState) => void,\n state?: RowSelectionState\n) {\n return (updaterOrValue: Updater<RowSelectionState>) => {\n const value =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(state ?? {})\n : updaterOrValue\n\n onRowSelectionChange(value)\n }\n}\n\nfunction onFilteringChangeTransformer(\n onFilteringChange: (state: DataTableFilteringState) => void,\n state?: DataTableFilteringState\n) {\n return (updaterOrValue: Updater<ColumnFiltersState>) => {\n const value =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(\n Object.entries(state ?? {}).map(([id, filter]) => ({\n id,\n value: filter,\n }))\n )\n : updaterOrValue\n\n const transformedValue = Object.fromEntries(\n value.map((filter) => [filter.id, filter])\n )\n\n onFilteringChange(transformedValue)\n }\n}\n\nfunction onPaginationChangeTransformer(\n onPaginationChange: (state: PaginationState) => void,\n state?: PaginationState\n) {\n return (updaterOrValue: Updater<PaginationState>) => {\n const value =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(state ?? { pageIndex: 0, pageSize: 10 })\n : updaterOrValue\n\n onPaginationChange(value)\n }\n}\n\nexport { useDataTable };\nexport type { DataTableOptions, UseDataTableReturn };\n\n"]}
|
1
|
+
{"version":3,"file":"use-data-table.js","sourceRoot":"","sources":["../../../../src/blocks/data-table/use-data-table.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ColumnFilter,\n ColumnFiltersState,\n type ColumnSort,\n getCoreRowModel,\n PaginationState,\n type RowSelectionState,\n type SortingState,\n type TableOptions,\n type Updater,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport * as React from \"react\";\nimport {\n DataTableColumnDef,\n DataTableColumnFilter,\n DataTableCommand,\n DataTableDateComparisonOperator,\n DataTableEmptyState,\n DataTableFilter,\n DataTableFilteringState,\n DataTableFilterOption,\n DataTablePaginationState,\n DataTableRowSelectionState,\n DataTableSortingState,\n} from \"./types\";\n\ninterface DataTableOptions<TData>\n extends Pick<TableOptions<TData>, \"data\" | \"getRowId\"> {\n /**\n * The columns to use for the table.\n */\n columns: DataTableColumnDef<TData, any>[];\n /**\n * The filters which the user can apply to the table.\n */\n filters?: DataTableFilter[]\n /**\n * The commands which the user can apply to selected rows.\n */\n commands?: DataTableCommand[]\n /**\n * Whether the data for the table is currently being loaded.\n */\n isLoading?: boolean\n /**\n * The state and callback for the filtering.\n */\n filtering?: {\n state: DataTableFilteringState\n onFilteringChange: (state: DataTableFilteringState) => void\n }\n /**\n * The state and callback for the row selection.\n */\n rowSelection?: {\n state: DataTableRowSelectionState\n onRowSelectionChange: (state: DataTableRowSelectionState) => void\n }\n /**\n * The state and callback for the sorting.\n */\n sorting?: {\n state: DataTableSortingState | null\n onSortingChange: (state: DataTableSortingState) => void\n }\n /**\n * The state and callback for the search, with optional debounce.\n */\n search?: {\n state: string\n onSearchChange: (state: string) => void\n /**\n * Debounce time in milliseconds for the search callback.\n * @default 300\n */\n debounce?: number\n }\n /**\n * The state and callback for the pagination.\n */\n pagination?: {\n state: DataTablePaginationState\n onPaginationChange: (state: DataTablePaginationState) => void\n }\n /**\n * The function to execute when a row is clicked.\n */\n onRowClick?: (\n event: React.MouseEvent<HTMLTableRowElement, MouseEvent>,\n row: TData\n ) => void\n /**\n * The total count of rows. When working with pagination, this will be the total\n * number of rows available, not the number of rows currently being displayed.\n */\n rowCount?: number\n /**\n * Whether the page index should be reset the filtering, sorting, or pagination changes.\n *\n * @default true\n */\n autoResetPageIndex?: boolean\n}\n\ninterface UseDataTableReturn<TData>\n extends Pick<\n ReturnType<typeof useReactTable<TData>>,\n | \"getHeaderGroups\"\n | \"getRowModel\"\n | \"getCanNextPage\"\n | \"getCanPreviousPage\"\n | \"nextPage\"\n | \"previousPage\"\n | \"getPageCount\"\n | \"getAllColumns\"\n > {\n getSorting: () => DataTableSortingState | null\n setSorting: (\n sortingOrUpdater:\n | DataTableSortingState\n | ((prev: DataTableSortingState | null) => DataTableSortingState)\n ) => void\n getFilters: () => DataTableFilter[]\n getFilterOptions: <\n T extends string | string[] | DataTableDateComparisonOperator\n >(\n id: string\n ) => DataTableFilterOption<T>[] | null\n getFilterMeta: (id: string) => DataTableFilter | null\n getFiltering: () => DataTableFilteringState\n addFilter: (filter: DataTableColumnFilter) => void\n removeFilter: (id: string) => void\n clearFilters: () => void\n updateFilter: (filter: DataTableColumnFilter) => void\n getSearch: () => string\n onSearchChange: (search: string) => void\n getCommands: () => DataTableCommand[]\n getRowSelection: () => DataTableRowSelectionState\n onRowClick?: (\n event: React.MouseEvent<HTMLTableRowElement, MouseEvent>,\n row: TData\n ) => void\n emptyState: DataTableEmptyState\n isLoading: boolean\n showSkeleton: boolean\n pageIndex: number\n pageSize: number\n rowCount: number\n enablePagination: boolean\n enableFiltering: boolean\n enableSorting: boolean\n enableSearch: boolean\n}\n\nconst useDataTable = <TData,>({\n rowCount = 0,\n filters,\n commands,\n rowSelection,\n sorting,\n filtering,\n pagination,\n search,\n onRowClick,\n autoResetPageIndex = true,\n isLoading = false,\n ...options\n}: DataTableOptions<TData>): UseDataTableReturn<TData> => {\n const { state: sortingState, onSortingChange } = sorting ?? {}\n const { state: filteringState, onFilteringChange } = filtering ?? {}\n const { state: paginationState, onPaginationChange } = pagination ?? {}\n const { state: rowSelectionState, onRowSelectionChange } = rowSelection ?? {}\n\n const autoResetPageIndexHandler = React.useCallback(() => {\n return autoResetPageIndex\n ? () =>\n paginationState &&\n onPaginationChange?.({ ...paginationState, pageIndex: 0 })\n : undefined\n }, [autoResetPageIndex, paginationState, onPaginationChange])\n\n const sortingStateHandler = React.useCallback(() => {\n return onSortingChange\n ? (updaterOrValue: Updater<SortingState>) => {\n autoResetPageIndexHandler()?.()\n onSortingChangeTransformer(\n onSortingChange,\n sortingState\n )(updaterOrValue)\n }\n : undefined\n }, [onSortingChange, sortingState, autoResetPageIndexHandler])\n\n const rowSelectionStateHandler = React.useCallback(() => {\n return onRowSelectionChange\n ? (updaterOrValue: Updater<RowSelectionState>) => {\n autoResetPageIndexHandler()?.()\n onRowSelectionChangeTransformer(\n onRowSelectionChange,\n rowSelectionState\n )(updaterOrValue)\n }\n : undefined\n }, [onRowSelectionChange, rowSelectionState, autoResetPageIndexHandler])\n\n const filteringStateHandler = React.useCallback(() => {\n return onFilteringChange\n ? (updaterOrValue: Updater<ColumnFiltersState>) => {\n autoResetPageIndexHandler()?.()\n onFilteringChangeTransformer(\n onFilteringChange,\n filteringState\n )(updaterOrValue)\n }\n : undefined\n }, [onFilteringChange, filteringState, autoResetPageIndexHandler])\n\n const paginationStateHandler = React.useCallback(() => {\n return onPaginationChange\n ? onPaginationChangeTransformer(onPaginationChange, paginationState)\n : undefined\n }, [onPaginationChange, paginationState])\n\n const instance = useReactTable({\n ...options,\n getCoreRowModel: getCoreRowModel(),\n state: {\n rowSelection: rowSelectionState ?? {},\n sorting: sortingState ? [sortingState] : undefined,\n columnFilters: Object.entries(filteringState ?? {}).map(\n ([id, filter]) => ({\n id,\n value: filter,\n })\n ),\n pagination: paginationState,\n },\n rowCount,\n onColumnFiltersChange: filteringStateHandler(),\n onRowSelectionChange: rowSelectionStateHandler(),\n onSortingChange: sortingStateHandler(),\n onPaginationChange: paginationStateHandler(),\n manualSorting: true,\n manualPagination: true,\n manualFiltering: true,\n })\n\n const getSorting = React.useCallback(() => {\n return instance.getState().sorting?.[0] ?? null\n }, [instance])\n\n const setSorting = React.useCallback(\n (\n sortingOrUpdater: ColumnSort | ((prev: ColumnSort | null) => ColumnSort)\n ) => {\n const currentSort = instance.getState().sorting?.[0] ?? null\n const newSorting =\n typeof sortingOrUpdater === \"function\"\n ? sortingOrUpdater(currentSort)\n : sortingOrUpdater\n\n autoResetPageIndexHandler()?.()\n instance.setSorting([newSorting])\n },\n [instance, autoResetPageIndexHandler]\n )\n\n const getFilters = React.useCallback(() => {\n return filters ?? []\n }, [filters])\n\n const getFilterOptions = React.useCallback(\n <T extends string | string[] | DataTableDateComparisonOperator>(\n id: string\n ) => {\n const filter = getFilters().find((filter) => filter.id === id)\n\n if (!filter) {\n return null\n }\n\n return filter.options as DataTableFilterOption<T>[]\n },\n [getFilters]\n )\n\n const getFilterMeta = React.useCallback(\n (id: string) => {\n return getFilters().find((filter) => filter.id === id) || null\n },\n [getFilters]\n )\n\n const getFiltering = React.useCallback(() => {\n const state = instance.getState().columnFilters ?? []\n return Object.fromEntries(state.map((filter) => [filter.id, filter.value]))\n }, [instance])\n\n const addFilter = React.useCallback(\n (filter: ColumnFilter) => {\n if (filter.value) {\n autoResetPageIndexHandler()?.()\n }\n onFilteringChange?.({ ...getFiltering(), [filter.id]: filter.value })\n },\n [onFilteringChange, getFiltering, autoResetPageIndexHandler]\n )\n\n const removeFilter = React.useCallback(\n (id: string) => {\n const currentFilters = getFiltering()\n delete currentFilters[id]\n autoResetPageIndexHandler()?.()\n onFilteringChange?.(currentFilters)\n },\n [onFilteringChange, getFiltering, autoResetPageIndexHandler]\n )\n\n const clearFilters = React.useCallback(() => {\n autoResetPageIndexHandler()?.()\n onFilteringChange?.({})\n }, [onFilteringChange, autoResetPageIndexHandler])\n\n const updateFilter = React.useCallback(\n (filter: ColumnFilter) => {\n addFilter(filter)\n },\n [addFilter]\n )\n\n const { state: searchState, onSearchChange, debounce = 300 } = search ?? {}\n\n const [localSearch, setLocalSearch] = React.useState(searchState ?? \"\")\n const timeoutRef = React.useRef<ReturnType<typeof setTimeout>>()\n\n React.useEffect(() => {\n setLocalSearch(searchState ?? \"\")\n }, [searchState])\n\n const getSearch = React.useCallback(() => {\n return localSearch\n }, [localSearch])\n\n const debouncedSearchChange = React.useMemo(() => {\n if (!onSearchChange) {\n return undefined\n }\n\n return (value: string) => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n\n if (debounce <= 0) {\n autoResetPageIndexHandler()?.()\n onSearchChange(value)\n return\n }\n\n timeoutRef.current = setTimeout(() => {\n autoResetPageIndexHandler()?.()\n onSearchChange(value)\n }, debounce)\n }\n }, [onSearchChange, debounce, autoResetPageIndexHandler])\n\n React.useEffect(() => {\n return () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current)\n }\n }\n }, [])\n\n const onSearchChangeHandler = React.useCallback(\n (search: string) => {\n setLocalSearch(search)\n debouncedSearchChange?.(search)\n },\n [debouncedSearchChange]\n )\n\n const getCommands = React.useCallback(() => {\n return commands ?? []\n }, [commands])\n\n const getRowSelection = React.useCallback(() => {\n return instance.getState().rowSelection\n }, [instance])\n\n const rows = instance.getRowModel().rows\n\n const emptyState = React.useMemo(() => {\n const hasRows = rows.length > 0\n const hasSearch = Boolean(searchState)\n const hasFilters = Object.keys(filteringState ?? {}).length > 0\n\n if (hasRows) {\n return DataTableEmptyState.POPULATED\n }\n\n if (hasSearch || hasFilters) {\n return DataTableEmptyState.FILTERED_EMPTY\n }\n\n return DataTableEmptyState.EMPTY\n }, [rows, searchState, filteringState])\n\n const showSkeleton = React.useMemo(() => {\n return isLoading === true && rows.length === 0\n }, [isLoading, rows])\n\n const enablePagination: boolean = !!pagination\n const enableFiltering: boolean = !!filtering\n const enableSorting: boolean = !!sorting\n const enableSearch: boolean = !!search\n\n return {\n // Table\n getHeaderGroups: instance.getHeaderGroups,\n getRowModel: instance.getRowModel,\n getAllColumns: instance.getAllColumns,\n // Pagination\n enablePagination,\n getCanNextPage: instance.getCanNextPage,\n getCanPreviousPage: instance.getCanPreviousPage,\n nextPage: instance.nextPage,\n previousPage: instance.previousPage,\n getPageCount: instance.getPageCount,\n pageIndex: instance.getState()?.pagination?.pageIndex ?? 0,\n pageSize: instance.getState()?.pagination?.pageSize ?? 10,\n rowCount,\n // Search\n enableSearch,\n getSearch,\n onSearchChange: onSearchChangeHandler,\n // Sorting\n enableSorting,\n getSorting,\n setSorting,\n // Filtering\n enableFiltering,\n getFilters,\n getFilterOptions,\n getFilterMeta,\n getFiltering,\n addFilter,\n removeFilter,\n clearFilters,\n updateFilter,\n // Commands\n getCommands,\n getRowSelection,\n // Handlers\n onRowClick,\n // Empty State\n emptyState,\n // Loading\n isLoading,\n showSkeleton,\n }\n}\n\nfunction onSortingChangeTransformer(\n onSortingChange: (state: ColumnSort) => void,\n state?: ColumnSort | null\n) {\n return (updaterOrValue: Updater<SortingState>) => {\n const value =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(state ? [state] : [])\n : updaterOrValue\n const columnSort = value[0]\n\n onSortingChange(columnSort)\n }\n}\n\nfunction onRowSelectionChangeTransformer(\n onRowSelectionChange: (state: RowSelectionState) => void,\n state?: RowSelectionState\n) {\n return (updaterOrValue: Updater<RowSelectionState>) => {\n const value =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(state ?? {})\n : updaterOrValue\n\n onRowSelectionChange(value)\n }\n}\n\nfunction onFilteringChangeTransformer(\n onFilteringChange: (state: DataTableFilteringState) => void,\n state?: DataTableFilteringState\n) {\n return (updaterOrValue: Updater<ColumnFiltersState>) => {\n const value =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(\n Object.entries(state ?? {}).map(([id, filter]) => ({\n id,\n value: filter,\n }))\n )\n : updaterOrValue\n\n const transformedValue = Object.fromEntries(\n value.map((filter) => [filter.id, filter])\n )\n\n onFilteringChange(transformedValue)\n }\n}\n\nfunction onPaginationChangeTransformer(\n onPaginationChange: (state: PaginationState) => void,\n state?: PaginationState\n) {\n return (updaterOrValue: Updater<PaginationState>) => {\n const value =\n typeof updaterOrValue === \"function\"\n ? updaterOrValue(state ?? { pageIndex: 0, pageSize: 10 })\n : updaterOrValue\n\n onPaginationChange(value)\n }\n}\n\nexport { useDataTable };\nexport type { DataTableOptions, UseDataTableReturn };\n\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../../src/components/alert/alert.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../../src/components/alert/alert.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,UAAU,UAAW,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAChE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAA;IAClD,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK,mFAqEjB,CAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../../src/components/alert/alert.tsx"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../../src/components/alert/alert.tsx"],"names":[],"mappings":";;;;AAAA,qCAAiC;AACjC,2CAMwB;AACxB,qDAA8B;AAE9B,0DAAqD;AAOrD;;;;GAIG;AACU,QAAA,KAAK,GAAG,KAAK,CAAC,UAAU,CACnC,CACE;AACE;;GAEG;AACH,OAAO,GAAG,MAAM;AAChB;;GAEG;AACH,WAAW,GAAG,KAAK,EACnB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACG,EACb,GAAG,EACH,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEvD,MAAM,IAAI,GAAG;QACX,IAAI,EAAE,8BAAsB;QAC5B,KAAK,EAAE,oBAAY;QACnB,OAAO,EAAE,wBAAgB;QACzB,OAAO,EAAE,8BAAsB;KAChC,CAAC,OAAO,CAAC,CAAA;IAEV,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,YAAY,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC,CAAA;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAA,SAAG,EACZ,8FAA8F,EAC9F;YACE,sBAAsB,EAAE,CAAC,WAAW;YACpC,2BAA2B,EAAE,WAAW;SACzC,EACD,SAAS,CACV,KACG,KAAK;QAET,oBAAC,IAAI,IACH,SAAS,EAAE,IAAA,SAAG,EAAC;gBACb,sBAAsB,EAAE,OAAO,KAAK,OAAO;gBAC3C,wBAAwB,EAAE,OAAO,KAAK,SAAS;gBAC/C,yBAAyB,EAAE,OAAO,KAAK,SAAS;gBAChD,0BAA0B,EAAE,OAAO,KAAK,MAAM;aAC/C,CAAC,GACF;QACF,iCAAM,QAAQ,CAAO;QACpB,WAAW,IAAI,CACd,oBAAC,wBAAU,IACT,IAAI,EAAC,SAAS,EACd,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,aAAa;YAEtB,oBAAC,iBAAS,IAAC,SAAS,EAAC,kBAAkB,GAAG,CAC/B,CACd,CACG,CACP,CAAA;AACH,CAAC,CACF,CAAA","sourcesContent":["import { clx } from \"@/utils/clx\"\nimport {\n CheckCircleSolid,\n ExclamationCircleSolid,\n InformationCircleSolid,\n XCircleSolid,\n XMarkMini,\n} from \"@medusajs/icons\"\nimport * as React from \"react\"\n\nimport { IconButton } from \"@/components/icon-button\"\n\ninterface AlertProps extends React.ComponentPropsWithoutRef<\"div\"> {\n variant?: \"error\" | \"success\" | \"warning\" | \"info\"\n dismissible?: boolean\n}\n\n/**\n * This component is based on the div element and supports all of its props\n *\n * @excludeExternal\n */\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n (\n {\n /**\n * The variant of the alert\n */\n variant = \"info\",\n /**\n * Whether the alert is dismissible\n */\n dismissible = false,\n className,\n children,\n ...props\n }: AlertProps,\n ref\n ) => {\n const [dismissed, setDismissed] = React.useState(false)\n\n const Icon = {\n info: InformationCircleSolid,\n error: XCircleSolid,\n success: CheckCircleSolid,\n warning: ExclamationCircleSolid,\n }[variant]\n\n const handleDismiss = () => {\n setDismissed(true)\n }\n\n if (dismissed) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={clx(\n \"bg-ui-bg-subtle text-pretty txt-compact-small grid items-start gap-x-2 rounded-lg border p-3\",\n {\n \"grid-cols-[20px_1fr]\": !dismissible,\n \"grid-cols-[20px_1fr_20px]\": dismissible,\n },\n className\n )}\n {...props}\n >\n <Icon\n className={clx({\n \"text-ui-tag-red-icon\": variant === \"error\",\n \"text-ui-tag-green-icon\": variant === \"success\",\n \"text-ui-tag-orange-icon\": variant === \"warning\",\n \"text-ui-tag-neutral-icon\": variant === \"info\",\n })}\n />\n <div>{children}</div>\n {dismissible && (\n <IconButton\n size=\"2xsmall\"\n variant=\"transparent\"\n type=\"button\"\n onClick={handleDismiss}\n >\n <XMarkMini className=\"text-ui-fg-muted\" />\n </IconButton>\n )}\n </div>\n )\n }\n)\n"]}
|
@@ -1,5 +1,5 @@
|
|
1
|
+
import * as Primitives from "@radix-ui/react-avatar";
|
1
2
|
import { type VariantProps } from "cva";
|
2
|
-
import { Avatar as RadixAvatar } from "radix-ui";
|
3
3
|
import * as React from "react";
|
4
4
|
declare const avatarVariants: (props?: ({
|
5
5
|
variant?: "squared" | "rounded" | undefined;
|
@@ -59,7 +59,7 @@ declare const avatarVariants: (props?: ({
|
|
59
59
|
[x: string]: any;
|
60
60
|
} | null | undefined;
|
61
61
|
})) | undefined) => string;
|
62
|
-
interface AvatarProps extends Omit<React.ComponentPropsWithoutRef<typeof
|
62
|
+
interface AvatarProps extends Omit<React.ComponentPropsWithoutRef<typeof Primitives.Root>, "asChild" | "children" | "size">, VariantProps<typeof avatarVariants> {
|
63
63
|
src?: string;
|
64
64
|
fallback: string;
|
65
65
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/avatar/avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../src/components/avatar/avatar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,KAAK,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAoDlB,CAAA;AAwDF,UAAU,WACR,SAAQ,IAAI,CACR,KAAK,CAAC,wBAAwB,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,EACtD,SAAS,GAAG,UAAU,GAAG,MAAM,CAChC,EACD,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,QAAA,MAAM,MAAM,qFAqDX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
|