erp-pro-ui 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +512 -288
- package/dist/accordion.cjs +1 -1
- package/dist/accordion.mjs +1 -1
- package/dist/alert.cjs +1 -1
- package/dist/alert.mjs +1 -1
- package/dist/ascii-text.cjs +1 -1
- package/dist/ascii-text.mjs +1 -1
- package/dist/button.cjs +1 -1
- package/dist/button.mjs +1 -1
- package/dist/card.cjs +1 -1
- package/dist/card.mjs +1 -1
- package/dist/carousel.cjs +1 -1
- package/dist/carousel.mjs +1 -1
- package/dist/catalog.cjs +6 -0
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.ts +11 -1
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.mjs +6 -0
- package/dist/catalog.mjs.map +1 -1
- package/dist/charts.cjs +4 -1
- package/dist/charts.mjs +2 -2
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.mjs +1 -1
- package/dist/chip.cjs +1 -1
- package/dist/chip.mjs +1 -1
- package/dist/chroma-grid.cjs +1 -1
- package/dist/chroma-grid.mjs +1 -1
- package/dist/chunks/{accordion-C_0oGZkZ.mjs → accordion-Cbt-SJhj.mjs} +4 -4
- package/dist/chunks/accordion-Cbt-SJhj.mjs.map +1 -0
- package/dist/chunks/{accordion-BZ5hyz0_.cjs → accordion-pfJR8YYA.cjs} +4 -4
- package/dist/chunks/accordion-pfJR8YYA.cjs.map +1 -0
- package/dist/chunks/{alert-DeVa-NR1.mjs → alert-CtdLy4Hv.mjs} +6 -6
- package/dist/chunks/alert-CtdLy4Hv.mjs.map +1 -0
- package/dist/chunks/{alert-BdBDWqBN.cjs → alert-Dvz1GoL5.cjs} +6 -6
- package/dist/chunks/alert-Dvz1GoL5.cjs.map +1 -0
- package/dist/chunks/{ascii-text-BzQCLfya.mjs → ascii-text-C5tyNsR3.mjs} +32 -5
- package/dist/chunks/ascii-text-C5tyNsR3.mjs.map +1 -0
- package/dist/chunks/{ascii-text-D6lVHWph.cjs → ascii-text-DlmArZXh.cjs} +32 -5
- package/dist/chunks/ascii-text-DlmArZXh.cjs.map +1 -0
- package/dist/chunks/background-gradient-animation-BL-lnrJe.mjs.map +1 -1
- package/dist/chunks/background-gradient-animation-CXV9GDH8.cjs.map +1 -1
- package/dist/chunks/{button-CmNEMp_O.mjs → button-B0Lhj0AS.mjs} +3 -3
- package/dist/chunks/button-B0Lhj0AS.mjs.map +1 -0
- package/dist/chunks/{button-BH1eUjae.cjs → button-CZL6kFzT.cjs} +3 -3
- package/dist/chunks/button-CZL6kFzT.cjs.map +1 -0
- package/dist/chunks/{card-CzstAQYy.mjs → card-CcIF6z2H.mjs} +2 -2
- package/dist/chunks/card-CcIF6z2H.mjs.map +1 -0
- package/dist/chunks/{card-DZGM4zLx.cjs → card-gt-HZh0h.cjs} +2 -2
- package/dist/chunks/card-gt-HZh0h.cjs.map +1 -0
- package/dist/chunks/{carousel-47Eiyzwg.cjs → carousel-Cq5uwqQt.cjs} +3 -3
- package/dist/chunks/{carousel-BJ3nm2bw.mjs.map → carousel-Cq5uwqQt.cjs.map} +1 -1
- package/dist/chunks/{carousel-BJ3nm2bw.mjs → carousel-DJdqBVRK.mjs} +3 -3
- package/dist/chunks/{carousel-47Eiyzwg.cjs.map → carousel-DJdqBVRK.mjs.map} +1 -1
- package/dist/chunks/charts-BpElnsoR.cjs +687 -0
- package/dist/chunks/charts-BpElnsoR.cjs.map +1 -0
- package/dist/chunks/charts-DugYWvEf.mjs +632 -0
- package/dist/chunks/charts-DugYWvEf.mjs.map +1 -0
- package/dist/chunks/{checkbox-B3eIojWs.mjs → checkbox-DvwlGwWe.mjs} +8 -8
- package/dist/chunks/checkbox-DvwlGwWe.mjs.map +1 -0
- package/dist/chunks/{checkbox-DQmZwRTt.cjs → checkbox-yHuSw-hV.cjs} +8 -8
- package/dist/chunks/checkbox-yHuSw-hV.cjs.map +1 -0
- package/dist/chunks/{chip-cZ7-HmWw.mjs → chip-BGSUmnlO.mjs} +12 -12
- package/dist/chunks/chip-BGSUmnlO.mjs.map +1 -0
- package/dist/chunks/{chip-BH6wzwat.cjs → chip-DcBji__g.cjs} +12 -12
- package/dist/chunks/chip-DcBji__g.cjs.map +1 -0
- package/dist/chunks/{chroma-grid-DtsqM4LW.cjs → chroma-grid-9E9j1s9I.cjs} +10 -10
- package/dist/chunks/chroma-grid-9E9j1s9I.cjs.map +1 -0
- package/dist/chunks/{chroma-grid-CC_fFzxO.mjs → chroma-grid-Cdeql_2C.mjs} +10 -10
- package/dist/chunks/chroma-grid-Cdeql_2C.mjs.map +1 -0
- package/dist/chunks/color-palette-BLvDnCOD.cjs +754 -0
- package/dist/chunks/color-palette-BLvDnCOD.cjs.map +1 -0
- package/dist/chunks/color-palette-CXlCDiZz.mjs +748 -0
- package/dist/chunks/color-palette-CXlCDiZz.mjs.map +1 -0
- package/dist/chunks/{combobox-mAvOcg-E.cjs → combobox-BXu3s0dt.cjs} +56 -32
- package/dist/chunks/combobox-BXu3s0dt.cjs.map +1 -0
- package/dist/chunks/combobox-CjK-qG4k.mjs +132 -0
- package/dist/chunks/combobox-CjK-qG4k.mjs.map +1 -0
- package/dist/chunks/{data-table-BRcGhJDf.cjs → data-table-9HELVsYR.cjs} +197 -292
- package/dist/chunks/data-table-9HELVsYR.cjs.map +1 -0
- package/dist/chunks/{data-table-Dp0t_I_z.mjs → data-table-DyEQn9Yj.mjs} +197 -292
- package/dist/chunks/data-table-DyEQn9Yj.mjs.map +1 -0
- package/dist/chunks/{date-picker-BWBkr6LG.mjs → date-picker-D8gaaMlJ.mjs} +39 -16
- package/dist/chunks/date-picker-D8gaaMlJ.mjs.map +1 -0
- package/dist/chunks/{date-picker-DooielHi.cjs → date-picker-W9om1j7A.cjs} +39 -16
- package/dist/chunks/date-picker-W9om1j7A.cjs.map +1 -0
- package/dist/chunks/{dialog-Cbuf8V0g.cjs → dialog-CYFiWN8M.cjs} +20 -20
- package/dist/chunks/dialog-CYFiWN8M.cjs.map +1 -0
- package/dist/chunks/{dialog-C6nxSfIl.mjs → dialog-DUWnV9tN.mjs} +20 -20
- package/dist/chunks/dialog-DUWnV9tN.mjs.map +1 -0
- package/dist/chunks/{drawer-Dn0u8Sck.cjs → drawer-CLjsYdxN.cjs} +39 -22
- package/dist/chunks/drawer-CLjsYdxN.cjs.map +1 -0
- package/dist/chunks/drawer-D82Jz6KO.mjs +122 -0
- package/dist/chunks/drawer-D82Jz6KO.mjs.map +1 -0
- package/dist/chunks/{form-TwlDrshv.mjs → form-B2vcaHwh.mjs} +4 -4
- package/dist/chunks/form-B2vcaHwh.mjs.map +1 -0
- package/dist/chunks/{form-DcEuk721.cjs → form-CzH9GQc6.cjs} +4 -4
- package/dist/chunks/form-CzH9GQc6.cjs.map +1 -0
- package/dist/chunks/{gradual-blur-2jVhPcND.cjs → gradual-blur-B9GoY8o1.cjs} +1 -1
- package/dist/chunks/{gradual-blur-2jVhPcND.cjs.map → gradual-blur-B9GoY8o1.cjs.map} +1 -1
- package/dist/chunks/{gradual-blur-jTzKCmAV.mjs → gradual-blur-Bl3dOMEz.mjs} +1 -1
- package/dist/chunks/{gradual-blur-jTzKCmAV.mjs.map → gradual-blur-Bl3dOMEz.mjs.map} +1 -1
- package/dist/chunks/{hover-card-KjWMnvt_.cjs → hover-card-v0QwmVBU.cjs} +9 -4
- package/dist/chunks/hover-card-v0QwmVBU.cjs.map +1 -0
- package/dist/chunks/{hover-card-DwTVfjgN.mjs → hover-card-xqwpmZNm.mjs} +9 -4
- package/dist/chunks/{hover-card-KjWMnvt_.cjs.map → hover-card-xqwpmZNm.mjs.map} +1 -1
- package/dist/chunks/{icons-DYkpqWYG.cjs → icons-BxIzP2jd.cjs} +131 -8
- package/dist/chunks/icons-BxIzP2jd.cjs.map +1 -0
- package/dist/chunks/{icons-CrM6pFkv.mjs → icons-DuumN7z-.mjs} +108 -9
- package/dist/chunks/icons-DuumN7z-.mjs.map +1 -0
- package/dist/chunks/{input-CoRHoZkB.cjs → input-D9qZNqXV.cjs} +8 -8
- package/dist/chunks/input-D9qZNqXV.cjs.map +1 -0
- package/dist/chunks/{input-ChhwdNGk.mjs → input-wNqevfQ4.mjs} +8 -8
- package/dist/chunks/input-wNqevfQ4.mjs.map +1 -0
- package/dist/chunks/{label-EciNc4hO.cjs → label-BWPEGVam.cjs} +1 -1
- package/dist/chunks/{label-EciNc4hO.cjs.map → label-BWPEGVam.cjs.map} +1 -1
- package/dist/chunks/{label-JZn7PmtR.mjs → label-KPA-yYOF.mjs} +1 -1
- package/dist/chunks/{label-JZn7PmtR.mjs.map → label-KPA-yYOF.mjs.map} +1 -1
- package/dist/chunks/{loading-DPNa_X3c.mjs → loading-S1TdIrbB.mjs} +2 -2
- package/dist/chunks/{loading-DPNa_X3c.mjs.map → loading-S1TdIrbB.mjs.map} +1 -1
- package/dist/chunks/{loading-Cqgps3nf.cjs → loading-q7IEg56I.cjs} +2 -2
- package/dist/chunks/{loading-Cqgps3nf.cjs.map → loading-q7IEg56I.cjs.map} +1 -1
- package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs +132 -0
- package/dist/chunks/multi-select-combobox-ELSH_Xr4.mjs.map +1 -0
- package/dist/chunks/multi-select-combobox-UW0X15W7.cjs +139 -0
- package/dist/chunks/multi-select-combobox-UW0X15W7.cjs.map +1 -0
- package/dist/chunks/{otp-input-DaQDfI9C.cjs → otp-input-B6zzOEqw.cjs} +13 -14
- package/dist/chunks/otp-input-B6zzOEqw.cjs.map +1 -0
- package/dist/chunks/{otp-input-CNungc1j.mjs → otp-input-Bg4nQG6x.mjs} +13 -14
- package/dist/chunks/otp-input-Bg4nQG6x.mjs.map +1 -0
- package/dist/chunks/{overlay-BfUR77DT.cjs → overlay-DWNTyQzK.cjs} +1 -1
- package/dist/chunks/{overlay-BfUR77DT.cjs.map → overlay-DWNTyQzK.cjs.map} +1 -1
- package/dist/chunks/{overlay-CpdakhXI.mjs → overlay-TycCIFOu.mjs} +1 -1
- package/dist/chunks/{overlay-CpdakhXI.mjs.map → overlay-TycCIFOu.mjs.map} +1 -1
- package/dist/chunks/{password-strength-meter-xtMqhhFg.mjs → password-strength-meter-CbNSBuh_.mjs} +10 -10
- package/dist/chunks/password-strength-meter-CbNSBuh_.mjs.map +1 -0
- package/dist/chunks/{password-strength-meter-u4YI00zE.cjs → password-strength-meter-DxMV6GAs.cjs} +10 -10
- package/dist/chunks/password-strength-meter-DxMV6GAs.cjs.map +1 -0
- package/dist/chunks/progress-bar-C1OvQ-NI.cjs +96 -0
- package/dist/chunks/progress-bar-C1OvQ-NI.cjs.map +1 -0
- package/dist/chunks/progress-bar-C9FZDrju.mjs +89 -0
- package/dist/chunks/progress-bar-C9FZDrju.mjs.map +1 -0
- package/dist/chunks/{radio-C-fPZgSY.mjs → radio-C9w_CoiY.mjs} +9 -9
- package/dist/chunks/radio-C9w_CoiY.mjs.map +1 -0
- package/dist/chunks/{radio-mCgvEhOR.cjs → radio-jMHDvaMY.cjs} +9 -9
- package/dist/chunks/radio-jMHDvaMY.cjs.map +1 -0
- package/dist/chunks/select-D71tk6-I.mjs +152 -0
- package/dist/chunks/select-D71tk6-I.mjs.map +1 -0
- package/dist/chunks/select-WC_kPqUP.cjs +158 -0
- package/dist/chunks/select-WC_kPqUP.cjs.map +1 -0
- package/dist/chunks/{skeleton-D1S4RyeL.mjs → skeleton-BhYWOp0Q.mjs} +1 -1
- package/dist/chunks/{skeleton-D1S4RyeL.mjs.map → skeleton-BhYWOp0Q.mjs.map} +1 -1
- package/dist/chunks/{skeleton-C-NHrM-w.cjs → skeleton-DTXpHYYB.cjs} +1 -1
- package/dist/chunks/{skeleton-C-NHrM-w.cjs.map → skeleton-DTXpHYYB.cjs.map} +1 -1
- package/dist/chunks/{spinners-hf553hP9.mjs → spinners-BBCWD2gw.mjs} +2 -2
- package/dist/chunks/{spinners-hf553hP9.mjs.map → spinners-BBCWD2gw.mjs.map} +1 -1
- package/dist/chunks/{spinners-CU3bLaoo.cjs → spinners-BL4ERCCw.cjs} +2 -2
- package/dist/chunks/{spinners-CU3bLaoo.cjs.map → spinners-BL4ERCCw.cjs.map} +1 -1
- package/dist/chunks/{splash-cursor-Dpzl_YXx.cjs → splash-cursor-BVSmbcIX.cjs} +9 -8
- package/dist/chunks/splash-cursor-BVSmbcIX.cjs.map +1 -0
- package/dist/chunks/{splash-cursor-9BsoQZl0.mjs → splash-cursor-rSrTnawZ.mjs} +9 -8
- package/dist/chunks/splash-cursor-rSrTnawZ.mjs.map +1 -0
- package/dist/chunks/{spotlight-card-Bl0aXnT4.mjs → spotlight-card-BpZLMOp6.mjs} +1 -1
- package/dist/chunks/{spotlight-card-Bl0aXnT4.mjs.map → spotlight-card-BpZLMOp6.mjs.map} +1 -1
- package/dist/chunks/{spotlight-card-SUhrgstF.cjs → spotlight-card-DS1dy1W3.cjs} +1 -1
- package/dist/chunks/{spotlight-card-SUhrgstF.cjs.map → spotlight-card-DS1dy1W3.cjs.map} +1 -1
- package/dist/chunks/{stepper-uz8iRzlY.mjs → stepper-D4yQsQB0.mjs} +14 -14
- package/dist/chunks/stepper-D4yQsQB0.mjs.map +1 -0
- package/dist/chunks/{stepper-BDz6PkjV.cjs → stepper-fY-Sx72k.cjs} +14 -14
- package/dist/chunks/stepper-fY-Sx72k.cjs.map +1 -0
- package/dist/chunks/{sun-to-moon-button-3E6qah0o.mjs → sun-to-moon-button-B2Aje05o.mjs} +3 -3
- package/dist/chunks/{sun-to-moon-button-3E6qah0o.mjs.map → sun-to-moon-button-B2Aje05o.mjs.map} +1 -1
- package/dist/chunks/{sun-to-moon-button-B__3FWnK.cjs → sun-to-moon-button-BmFwRBye.cjs} +3 -3
- package/dist/chunks/{sun-to-moon-button-B__3FWnK.cjs.map → sun-to-moon-button-BmFwRBye.cjs.map} +1 -1
- package/dist/chunks/{switch-y8oWcyLp.cjs → switch-C5otDb4c.cjs} +3 -3
- package/dist/chunks/switch-C5otDb4c.cjs.map +1 -0
- package/dist/chunks/{switch-DYLavKgf.mjs → switch-DOVl_i_s.mjs} +3 -3
- package/dist/chunks/switch-DOVl_i_s.mjs.map +1 -0
- package/dist/chunks/textarea-CAUsyu4-.cjs +63 -0
- package/dist/chunks/textarea-CAUsyu4-.cjs.map +1 -0
- package/dist/chunks/textarea-CU5C-Zw9.mjs +57 -0
- package/dist/chunks/textarea-CU5C-Zw9.mjs.map +1 -0
- package/dist/chunks/{theme-CBtWIFMT.cjs → theme-7DWLxJK_.cjs} +4 -2
- package/dist/chunks/theme-7DWLxJK_.cjs.map +1 -0
- package/dist/chunks/{theme-Bwu0HKqZ.mjs → theme-BceKeYhw.mjs} +4 -2
- package/dist/chunks/theme-BceKeYhw.mjs.map +1 -0
- package/dist/chunks/{toast-C8JRhbSo.mjs → toast-CvfP7PUP.mjs} +20 -20
- package/dist/chunks/toast-CvfP7PUP.mjs.map +1 -0
- package/dist/chunks/{toast-DWOwpD2F.cjs → toast-Ds7_19Ap.cjs} +20 -20
- package/dist/chunks/toast-Ds7_19Ap.cjs.map +1 -0
- package/dist/chunks/{tooltip-YtA_66_1.mjs → tooltip-efHETBo1.mjs} +1 -1
- package/dist/chunks/{tooltip-YtA_66_1.mjs.map → tooltip-efHETBo1.mjs.map} +1 -1
- package/dist/chunks/{tooltip-BHXNmXsa.cjs → tooltip-nkIqViGk.cjs} +1 -1
- package/dist/chunks/{tooltip-BHXNmXsa.cjs.map → tooltip-nkIqViGk.cjs.map} +1 -1
- package/dist/chunks/{typography-BzprBnQc.mjs → typography-CLu6Hx9j.mjs} +7 -3
- package/dist/chunks/{typography-BzprBnQc.mjs.map → typography-CLu6Hx9j.mjs.map} +1 -1
- package/dist/chunks/{typography-3wSx67DZ.cjs → typography-DaLu9tty.cjs} +7 -3
- package/dist/chunks/{typography-3wSx67DZ.cjs.map → typography-DaLu9tty.cjs.map} +1 -1
- package/dist/color-palette.cjs +1 -1
- package/dist/color-palette.mjs +1 -1
- package/dist/colors.css +121 -186
- package/dist/combobox.cjs +1 -1
- package/dist/combobox.mjs +1 -1
- package/dist/components/data-display/charts/AreaChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/BarChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/NeonLineChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/PieChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/StackedBarChart.d.ts.map +1 -1
- package/dist/components/data-display/charts/ThinBreakdownBar.d.ts.map +1 -1
- package/dist/components/data-display/charts/chartPalette.d.ts +10 -0
- package/dist/components/data-display/charts/chartPalette.d.ts.map +1 -0
- package/dist/components/data-display/charts/index.d.ts +2 -0
- package/dist/components/data-display/charts/index.d.ts.map +1 -1
- package/dist/components/data-display/chip/Chip.d.ts.map +1 -1
- package/dist/components/data-display/color-palette/ColorPalette.d.ts.map +1 -1
- package/dist/components/data-display/data-table/DataTable.d.ts +17 -10
- package/dist/components/data-display/data-table/DataTable.d.ts.map +1 -1
- package/dist/components/data-display/data-table/index.d.ts +1 -1
- package/dist/components/data-display/data-table/index.d.ts.map +1 -1
- package/dist/components/data-display/index.d.ts +1 -0
- package/dist/components/data-display/index.d.ts.map +1 -1
- package/dist/components/data-display/progress-bar/ProgressBar.d.ts +18 -0
- package/dist/components/data-display/progress-bar/ProgressBar.d.ts.map +1 -0
- package/dist/components/data-display/progress-bar/index.d.ts +3 -0
- package/dist/components/data-display/progress-bar/index.d.ts.map +1 -0
- package/dist/components/effects/ascii-text/ASCIIText.d.ts.map +1 -1
- package/dist/components/effects/border-beam/BorderBeam.d.ts.map +1 -1
- package/dist/components/effects/chroma-grid/ChromaGrid.d.ts.map +1 -1
- package/dist/components/effects/splash-cursor/SplashCursor.d.ts.map +1 -1
- package/dist/components/forms/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/forms/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/components/forms/input/Input.d.ts.map +1 -1
- package/dist/components/forms/multi-select-combobox/MultiSelectCombobox.d.ts.map +1 -1
- package/dist/components/forms/otp-input/OTPInput.d.ts.map +1 -1
- package/dist/components/forms/password-strength-meter/PasswordCriteria.d.ts.map +1 -1
- package/dist/components/forms/select/Select.d.ts.map +1 -1
- package/dist/components/forms/select/types.d.ts +2 -0
- package/dist/components/forms/select/types.d.ts.map +1 -1
- package/dist/components/forms/textarea/Textarea.d.ts.map +1 -1
- package/dist/components/icons/ColumnsIcon.d.ts +9 -0
- package/dist/components/icons/ColumnsIcon.d.ts.map +1 -0
- package/dist/components/icons/MailIcon.d.ts +9 -0
- package/dist/components/icons/MailIcon.d.ts.map +1 -0
- package/dist/components/icons/PlayIcon.d.ts +9 -0
- package/dist/components/icons/PlayIcon.d.ts.map +1 -0
- package/dist/components/icons/ZapIcon.d.ts +9 -0
- package/dist/components/icons/ZapIcon.d.ts.map +1 -0
- package/dist/components/icons/index.d.ts +4 -0
- package/dist/components/icons/index.d.ts.map +1 -1
- package/dist/components/navigation/accordion/Accordion.d.ts.map +1 -1
- package/dist/components/overlays/drawer/Drawer.d.ts.map +1 -1
- package/dist/components/overlays/hover-card/HoverCard.d.ts.map +1 -1
- package/dist/components/typography/Typography.d.ts.map +1 -1
- package/dist/data-table.cjs +1 -1
- package/dist/data-table.mjs +1 -1
- package/dist/date-picker.cjs +1 -1
- package/dist/date-picker.mjs +1 -1
- package/dist/dialog.cjs +1 -1
- package/dist/dialog.mjs +1 -1
- package/dist/docs.cjs +50 -4
- package/dist/docs.cjs.map +1 -1
- package/dist/docs.d.ts +59 -9
- package/dist/docs.d.ts.map +1 -1
- package/dist/docs.mjs +50 -4
- package/dist/docs.mjs.map +1 -1
- package/dist/drawer.cjs +1 -1
- package/dist/drawer.mjs +1 -1
- package/dist/fonts.css +5 -0
- package/dist/form.cjs +1 -1
- package/dist/form.mjs +1 -1
- package/dist/foundation.css +3 -3
- package/dist/foundations/theme/ThemeProvider.d.ts +1 -0
- package/dist/foundations/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/gradual-blur.cjs +1 -1
- package/dist/gradual-blur.mjs +1 -1
- package/dist/hover-card.cjs +1 -1
- package/dist/hover-card.mjs +1 -1
- package/dist/icons.cjs +5 -1
- package/dist/icons.mjs +2 -2
- package/dist/index.cjs +50 -41
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +5 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +43 -42
- package/dist/index.mjs.map +1 -1
- package/dist/input.cjs +1 -1
- package/dist/input.mjs +1 -1
- package/dist/label.cjs +1 -1
- package/dist/label.mjs +1 -1
- package/dist/loading.cjs +1 -1
- package/dist/loading.mjs +1 -1
- package/dist/multi-select-combobox.cjs +1 -1
- package/dist/multi-select-combobox.mjs +1 -1
- package/dist/otp-input.cjs +1 -1
- package/dist/otp-input.mjs +1 -1
- package/dist/password-strength-meter.cjs +1 -1
- package/dist/password-strength-meter.mjs +1 -1
- package/dist/progress-bar.cjs +3 -0
- package/dist/progress-bar.d.ts +2 -0
- package/dist/progress-bar.mjs +2 -0
- package/dist/radio.cjs +1 -1
- package/dist/radio.mjs +1 -1
- package/dist/select.cjs +1 -1
- package/dist/select.mjs +1 -1
- package/dist/skeleton.cjs +1 -1
- package/dist/skeleton.mjs +1 -1
- package/dist/spinners.cjs +1 -1
- package/dist/spinners.mjs +1 -1
- package/dist/splash-cursor.cjs +1 -1
- package/dist/splash-cursor.mjs +1 -1
- package/dist/spotlight-card.cjs +1 -1
- package/dist/spotlight-card.mjs +1 -1
- package/dist/stepper.cjs +1 -1
- package/dist/stepper.mjs +1 -1
- package/dist/sun-to-moon-button.cjs +1 -1
- package/dist/sun-to-moon-button.mjs +1 -1
- package/dist/switch.cjs +1 -1
- package/dist/switch.mjs +1 -1
- package/dist/textarea.cjs +1 -1
- package/dist/textarea.mjs +1 -1
- package/dist/theme.cjs +1 -1
- package/dist/theme.mjs +1 -1
- package/dist/toast.cjs +1 -1
- package/dist/toast.mjs +1 -1
- package/dist/tokens.css +592 -0
- package/dist/tooltip.cjs +1 -1
- package/dist/tooltip.mjs +1 -1
- package/dist/typography.cjs +1 -1
- package/dist/typography.mjs +1 -1
- package/package.json +19 -5
- package/dist/chunks/accordion-BZ5hyz0_.cjs.map +0 -1
- package/dist/chunks/accordion-C_0oGZkZ.mjs.map +0 -1
- package/dist/chunks/alert-BdBDWqBN.cjs.map +0 -1
- package/dist/chunks/alert-DeVa-NR1.mjs.map +0 -1
- package/dist/chunks/ascii-text-BzQCLfya.mjs.map +0 -1
- package/dist/chunks/ascii-text-D6lVHWph.cjs.map +0 -1
- package/dist/chunks/button-BH1eUjae.cjs.map +0 -1
- package/dist/chunks/button-CmNEMp_O.mjs.map +0 -1
- package/dist/chunks/card-CzstAQYy.mjs.map +0 -1
- package/dist/chunks/card-DZGM4zLx.cjs.map +0 -1
- package/dist/chunks/charts-Bynf6x07.mjs +0 -448
- package/dist/chunks/charts-Bynf6x07.mjs.map +0 -1
- package/dist/chunks/charts-UYl7Ecqv.cjs +0 -485
- package/dist/chunks/charts-UYl7Ecqv.cjs.map +0 -1
- package/dist/chunks/checkbox-B3eIojWs.mjs.map +0 -1
- package/dist/chunks/checkbox-DQmZwRTt.cjs.map +0 -1
- package/dist/chunks/chip-BH6wzwat.cjs.map +0 -1
- package/dist/chunks/chip-cZ7-HmWw.mjs.map +0 -1
- package/dist/chunks/chroma-grid-CC_fFzxO.mjs.map +0 -1
- package/dist/chunks/chroma-grid-DtsqM4LW.cjs.map +0 -1
- package/dist/chunks/color-palette-Cz7vqbil.cjs +0 -1156
- package/dist/chunks/color-palette-Cz7vqbil.cjs.map +0 -1
- package/dist/chunks/color-palette-yadpDCUw.mjs +0 -1150
- package/dist/chunks/color-palette-yadpDCUw.mjs.map +0 -1
- package/dist/chunks/combobox-B9Nzlhu3.mjs +0 -108
- package/dist/chunks/combobox-B9Nzlhu3.mjs.map +0 -1
- package/dist/chunks/combobox-mAvOcg-E.cjs.map +0 -1
- package/dist/chunks/data-table-BRcGhJDf.cjs.map +0 -1
- package/dist/chunks/data-table-Dp0t_I_z.mjs.map +0 -1
- package/dist/chunks/date-picker-BWBkr6LG.mjs.map +0 -1
- package/dist/chunks/date-picker-DooielHi.cjs.map +0 -1
- package/dist/chunks/dialog-C6nxSfIl.mjs.map +0 -1
- package/dist/chunks/dialog-Cbuf8V0g.cjs.map +0 -1
- package/dist/chunks/drawer-DIuvgqTA.mjs +0 -105
- package/dist/chunks/drawer-DIuvgqTA.mjs.map +0 -1
- package/dist/chunks/drawer-Dn0u8Sck.cjs.map +0 -1
- package/dist/chunks/form-DcEuk721.cjs.map +0 -1
- package/dist/chunks/form-TwlDrshv.mjs.map +0 -1
- package/dist/chunks/hover-card-DwTVfjgN.mjs.map +0 -1
- package/dist/chunks/icons-CrM6pFkv.mjs.map +0 -1
- package/dist/chunks/icons-DYkpqWYG.cjs.map +0 -1
- package/dist/chunks/input-ChhwdNGk.mjs.map +0 -1
- package/dist/chunks/input-CoRHoZkB.cjs.map +0 -1
- package/dist/chunks/multi-select-combobox-BPRTZVF6.mjs +0 -108
- package/dist/chunks/multi-select-combobox-BPRTZVF6.mjs.map +0 -1
- package/dist/chunks/multi-select-combobox-DiMwJxj_.cjs +0 -115
- package/dist/chunks/multi-select-combobox-DiMwJxj_.cjs.map +0 -1
- package/dist/chunks/otp-input-CNungc1j.mjs.map +0 -1
- package/dist/chunks/otp-input-DaQDfI9C.cjs.map +0 -1
- package/dist/chunks/password-strength-meter-u4YI00zE.cjs.map +0 -1
- package/dist/chunks/password-strength-meter-xtMqhhFg.mjs.map +0 -1
- package/dist/chunks/radio-C-fPZgSY.mjs.map +0 -1
- package/dist/chunks/radio-mCgvEhOR.cjs.map +0 -1
- package/dist/chunks/select-BB-pOzI2.mjs +0 -116
- package/dist/chunks/select-BB-pOzI2.mjs.map +0 -1
- package/dist/chunks/select-BwelAQc1.cjs +0 -122
- package/dist/chunks/select-BwelAQc1.cjs.map +0 -1
- package/dist/chunks/splash-cursor-9BsoQZl0.mjs.map +0 -1
- package/dist/chunks/splash-cursor-Dpzl_YXx.cjs.map +0 -1
- package/dist/chunks/stepper-BDz6PkjV.cjs.map +0 -1
- package/dist/chunks/stepper-uz8iRzlY.mjs.map +0 -1
- package/dist/chunks/switch-DYLavKgf.mjs.map +0 -1
- package/dist/chunks/switch-y8oWcyLp.cjs.map +0 -1
- package/dist/chunks/textarea-BWkUVpm3.cjs +0 -66
- package/dist/chunks/textarea-BWkUVpm3.cjs.map +0 -1
- package/dist/chunks/textarea-Bxqe70TW.mjs +0 -60
- package/dist/chunks/textarea-Bxqe70TW.mjs.map +0 -1
- package/dist/chunks/theme-Bwu0HKqZ.mjs.map +0 -1
- package/dist/chunks/theme-CBtWIFMT.cjs.map +0 -1
- package/dist/chunks/toast-C8JRhbSo.mjs.map +0 -1
- package/dist/chunks/toast-DWOwpD2F.cjs.map +0 -1
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
const require_chunk = require("./chunk-B_GkZjkl.cjs");
|
|
2
|
-
const
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
2
|
+
const require_icons = require("./icons-BxIzP2jd.cjs");
|
|
3
|
+
const require_button = require("./button-CZL6kFzT.cjs");
|
|
4
|
+
const require_checkbox = require("./checkbox-yHuSw-hV.cjs");
|
|
5
|
+
const require_chip = require("./chip-DcBji__g.cjs");
|
|
6
|
+
const require_combobox = require("./combobox-BXu3s0dt.cjs");
|
|
7
|
+
const require_multi_select_combobox = require("./multi-select-combobox-UW0X15W7.cjs");
|
|
8
|
+
const require_input = require("./input-D9qZNqXV.cjs");
|
|
9
|
+
const require_select = require("./select-WC_kPqUP.cjs");
|
|
10
|
+
const require_switch = require("./switch-C5otDb4c.cjs");
|
|
11
|
+
const require_date_picker = require("./date-picker-W9om1j7A.cjs");
|
|
9
12
|
let react = require("react");
|
|
10
13
|
react = require_chunk.__toESM(react);
|
|
11
14
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
12
15
|
let _tanstack_react_table = require("@tanstack/react-table");
|
|
13
16
|
//#region src/components/data-display/data-table/DataTable.tsx
|
|
17
|
+
function renderDefaultCellValue(value) {
|
|
18
|
+
if (value === void 0 || value === null || value === "") return "-";
|
|
19
|
+
if (typeof value === "boolean") return value ? "Yes" : "No";
|
|
20
|
+
if (Array.isArray(value)) return value.length > 0 ? value.join(", ") : "-";
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
14
23
|
var FilterDropdown = ({ isOpen, onClose, children }) => {
|
|
15
24
|
if (!isOpen) return null;
|
|
16
25
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -18,14 +27,15 @@ var FilterDropdown = ({ isOpen, onClose, children }) => {
|
|
|
18
27
|
onClick: onClose,
|
|
19
28
|
"aria-hidden": "true"
|
|
20
29
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
21
|
-
className: "absolute top-full right-0 mt-2
|
|
30
|
+
className: "absolute top-full right-0 z-50 mt-2 min-w-64 overflow-hidden rounded-[4px] border border-white/45 bg-neutral-50 shadow-[0_18px_40px_rgba(15,23,42,0.18)] ring-1 ring-inset ring-white/35 backdrop-blur-2xl dark:border-white/10 dark:bg-neutral-800/50 dark:shadow-[0_22px_48px_rgba(0,0,0,0.42)] dark:ring-white/6",
|
|
22
31
|
children
|
|
23
32
|
})] });
|
|
24
33
|
};
|
|
25
|
-
var FilterButton = ({ icon, label, onClick, hasActive }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
34
|
+
var FilterButton = ({ icon, label, onClick, hasActive }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
26
35
|
onClick,
|
|
27
36
|
title: label,
|
|
28
|
-
|
|
37
|
+
"aria-label": label,
|
|
38
|
+
className: `h-10 min-w-10 px-0 py-0 shadow-none ${hasActive ? "border-accent/20 bg-accent-subtle text-accent hover:bg-accent-subtle hover:opacity-100" : "border-transparent bg-transparent text-neutral-600 hover:bg-neutral-100 hover:text-neutral-700 hover:opacity-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:hover:text-neutral-200"}`,
|
|
29
39
|
children: icon
|
|
30
40
|
});
|
|
31
41
|
var ColumnToggle = ({ columns, onToggle, onShowAll, onHideAll }) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -40,28 +50,26 @@ var ColumnToggle = ({ columns, onToggle, onShowAll, onHideAll }) => /* @__PURE__
|
|
|
40
50
|
}),
|
|
41
51
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
42
52
|
className: "space-y-2 max-h-64 overflow-y-auto",
|
|
43
|
-
children: columns.map((col) => /* @__PURE__ */ (0, react_jsx_runtime.
|
|
44
|
-
className: "
|
|
45
|
-
children:
|
|
46
|
-
type: "checkbox",
|
|
53
|
+
children: columns.map((col) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
54
|
+
className: "rounded-[8px] px-2 py-1 hover:bg-neutral-100 dark:hover:bg-neutral-700",
|
|
55
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_checkbox.Checkbox, {
|
|
47
56
|
checked: col.visible !== false,
|
|
48
57
|
onChange: () => onToggle(col.id),
|
|
49
|
-
|
|
50
|
-
})
|
|
51
|
-
className: "text-sm text-neutral-700 dark:text-neutral-300",
|
|
52
|
-
children: col.label
|
|
53
|
-
})]
|
|
58
|
+
label: col.label
|
|
59
|
+
})
|
|
54
60
|
}, col.id))
|
|
55
61
|
}),
|
|
56
62
|
(onShowAll || onHideAll) && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
57
|
-
className: "flex gap-2
|
|
58
|
-
children: [onShowAll && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
63
|
+
className: "flex gap-2 border-t border-neutral-200 pt-2 dark:border-neutral-700",
|
|
64
|
+
children: [onShowAll && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
59
65
|
onClick: onShowAll,
|
|
60
|
-
|
|
66
|
+
size: "small",
|
|
67
|
+
className: "flex-1 border-none bg-transparent px-1 py-1 text-xs font-semibold text-accent shadow-none hover:bg-transparent hover:text-accent-hover hover:opacity-100",
|
|
61
68
|
children: "SHOW ALL"
|
|
62
|
-
}), onHideAll && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
69
|
+
}), onHideAll && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
63
70
|
onClick: onHideAll,
|
|
64
|
-
|
|
71
|
+
size: "small",
|
|
72
|
+
className: "flex-1 border-none bg-transparent px-1 py-1 text-xs font-semibold text-neutral-500 shadow-none hover:bg-transparent hover:text-neutral-600 hover:opacity-100 dark:text-neutral-300 dark:hover:text-white",
|
|
65
73
|
children: "HIDE ALL"
|
|
66
74
|
})]
|
|
67
75
|
})
|
|
@@ -89,36 +97,41 @@ var FilterProfile = ({ isOpen, onClose, onSaveProfile }) => {
|
|
|
89
97
|
children: "Add new profile"
|
|
90
98
|
}),
|
|
91
99
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
|
|
92
|
-
className: "block text-sm font-medium text-
|
|
100
|
+
className: "mb-2 block text-sm font-medium text-accent",
|
|
93
101
|
children: "Enter filter profile name:"
|
|
94
102
|
}),
|
|
95
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
103
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
|
|
96
104
|
type: "text",
|
|
97
105
|
value: profileName,
|
|
98
106
|
onChange: (e) => setProfileName(e.target.value),
|
|
99
107
|
placeholder: "Enter value",
|
|
100
|
-
className: "
|
|
101
|
-
|
|
108
|
+
className: "",
|
|
109
|
+
onKeyDown: (e) => e.key === "Enter" && handleSave()
|
|
102
110
|
}),
|
|
103
111
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
104
|
-
className: "flex gap-
|
|
105
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.
|
|
112
|
+
className: "flex justify-end gap-3 mt-6",
|
|
113
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
106
114
|
onClick: onClose,
|
|
107
|
-
className: "
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
className: "min-w-28",
|
|
116
|
+
size: "medium",
|
|
117
|
+
children: "Cancel"
|
|
118
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
110
119
|
onClick: handleSave,
|
|
111
120
|
disabled: !profileName.trim(),
|
|
112
|
-
className: "
|
|
113
|
-
|
|
121
|
+
className: "min-w-28",
|
|
122
|
+
size: "medium",
|
|
123
|
+
primary: true,
|
|
124
|
+
children: "Save"
|
|
114
125
|
})]
|
|
115
126
|
})
|
|
116
127
|
]
|
|
117
128
|
})
|
|
118
129
|
});
|
|
119
130
|
};
|
|
120
|
-
var ICON_BUTTON_CLASS_NAME = "
|
|
131
|
+
var ICON_BUTTON_CLASS_NAME = "inline-flex items-center justify-center rounded-lg text-neutral-400 transition-colors hover:bg-neutral-100 hover:text-neutral-600 dark:hover:bg-neutral-700";
|
|
121
132
|
var DISABLED_ICON_BUTTON_CLASS_NAME = `${ICON_BUTTON_CLASS_NAME} disabled:opacity-40 disabled:cursor-not-allowed`;
|
|
133
|
+
var TABLE_CONTROL_ICON_CLASS_NAME = "h-[18px] w-[18px] shrink-0";
|
|
134
|
+
var TABLE_COMPLEX_ICON_CLASS_NAME = "h-5 w-5 shrink-0";
|
|
122
135
|
var isFilterValueEmpty = (value) => {
|
|
123
136
|
if (value === void 0 || value === null) return true;
|
|
124
137
|
if (typeof value === "string") return value === "";
|
|
@@ -279,22 +292,9 @@ function useAsyncFilterOptions(externalFilterOptions, filterSelectorOpen) {
|
|
|
279
292
|
function LoadingFilterField({ label }) {
|
|
280
293
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
281
294
|
className: "h-10 flex items-center justify-center bg-neutral-100 dark:bg-neutral-800 rounded-md px-3",
|
|
282
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.
|
|
295
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.LoaderIcon, {
|
|
283
296
|
className: "w-4 h-4 animate-spin text-neutral-400",
|
|
284
|
-
|
|
285
|
-
viewBox: "0 0 24 24",
|
|
286
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
287
|
-
className: "opacity-25",
|
|
288
|
-
cx: "12",
|
|
289
|
-
cy: "12",
|
|
290
|
-
r: "10",
|
|
291
|
-
stroke: "currentColor",
|
|
292
|
-
strokeWidth: "4"
|
|
293
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
294
|
-
className: "opacity-75",
|
|
295
|
-
fill: "currentColor",
|
|
296
|
-
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
297
|
-
})]
|
|
297
|
+
"aria-hidden": "true"
|
|
298
298
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
299
299
|
className: "ml-2 text-sm text-neutral-500",
|
|
300
300
|
children: label
|
|
@@ -340,7 +340,7 @@ function NumberRangeFilter({ value, onChange }) {
|
|
|
340
340
|
}
|
|
341
341
|
function FilterFieldControl({ filter, value, isActive, onChange }) {
|
|
342
342
|
if (filter.isLoading) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LoadingFilterField, { label: filter.label });
|
|
343
|
-
const activeClassName = isActive ? "border-
|
|
343
|
+
const activeClassName = isActive ? "border-accent" : "";
|
|
344
344
|
switch (filter.type) {
|
|
345
345
|
case "text": return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
|
|
346
346
|
value: getStringFilterValue(value),
|
|
@@ -382,39 +382,32 @@ function FilterFieldControl({ filter, value, isActive, onChange }) {
|
|
|
382
382
|
onChange: (values) => onChange(values),
|
|
383
383
|
placeholder: filter.placeholder || filter.label,
|
|
384
384
|
options: toSelectOptions(filter.options),
|
|
385
|
-
className: isActive ? "border-
|
|
385
|
+
className: isActive ? "border-accent border-2" : ""
|
|
386
386
|
}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_combobox.Combobox, {
|
|
387
387
|
value: getStringFilterValue(value),
|
|
388
388
|
onChange: (nextValue) => onChange(nextValue),
|
|
389
389
|
placeholder: filter.placeholder || filter.label,
|
|
390
390
|
options: toSelectOptions(filter.options),
|
|
391
|
-
className: isActive ? "border-
|
|
391
|
+
className: isActive ? "border-accent border-2" : ""
|
|
392
392
|
});
|
|
393
393
|
}
|
|
394
394
|
}
|
|
395
395
|
function ToolbarIconButton({ title, onClick, disabled, children }) {
|
|
396
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
396
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
397
397
|
onClick,
|
|
398
398
|
disabled,
|
|
399
399
|
title,
|
|
400
|
-
|
|
400
|
+
"aria-label": title,
|
|
401
|
+
className: disabled ? `${DISABLED_ICON_BUTTON_CLASS_NAME} h-10 w-10 shrink-0 border-transparent bg-transparent px-0 py-0 text-base shadow-none hover:bg-transparent hover:opacity-100` : `${ICON_BUTTON_CLASS_NAME} h-10 w-10 shrink-0 border-transparent bg-transparent px-0 py-0 text-base shadow-none hover:opacity-100`,
|
|
401
402
|
children
|
|
402
403
|
});
|
|
403
404
|
}
|
|
404
405
|
function SearchField({ value, onChange, placeholder }) {
|
|
405
406
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
406
407
|
className: "relative w-[300px]",
|
|
407
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
408
|
-
className:
|
|
409
|
-
|
|
410
|
-
stroke: "currentColor",
|
|
411
|
-
viewBox: "0 0 24 24",
|
|
412
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
413
|
-
strokeLinecap: "round",
|
|
414
|
-
strokeLinejoin: "round",
|
|
415
|
-
strokeWidth: 2,
|
|
416
|
-
d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
|
|
417
|
-
})
|
|
408
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.SearchIcon, {
|
|
409
|
+
className: `pointer-events-none absolute left-4 top-1/2 z-10 -translate-y-1/2 text-neutral-400 ${TABLE_CONTROL_ICON_CLASS_NAME}`,
|
|
410
|
+
"aria-hidden": "true"
|
|
418
411
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input.Input, {
|
|
419
412
|
type: "text",
|
|
420
413
|
value,
|
|
@@ -427,33 +420,32 @@ function SearchField({ value, onChange, placeholder }) {
|
|
|
427
420
|
function RowActionsCell({ rowIndex, row, isOpen, onToggle, onClose, onRowAction }) {
|
|
428
421
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("td", {
|
|
429
422
|
className: "px-2 py-3 text-right relative",
|
|
430
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
423
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
431
424
|
onClick: () => onToggle(rowIndex),
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", { d: "M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z" })
|
|
425
|
+
"aria-label": "Open row actions",
|
|
426
|
+
className: "h-8 w-8 border-none bg-transparent px-0 py-0 text-neutral-500 shadow-none hover:bg-neutral-100 hover:text-neutral-700 hover:opacity-100 dark:hover:bg-neutral-600 dark:hover:text-neutral-200",
|
|
427
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.EllipsisVerticalIcon, {
|
|
428
|
+
className: TABLE_CONTROL_ICON_CLASS_NAME,
|
|
429
|
+
"aria-hidden": "true"
|
|
438
430
|
})
|
|
439
431
|
}), isOpen ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
440
432
|
className: "fixed inset-0 z-40",
|
|
441
433
|
onClick: onClose
|
|
442
434
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
443
435
|
className: "absolute right-0 top-full mt-1 bg-white dark:bg-neutral-800 rounded-lg shadow-lg border border-neutral-200 dark:border-neutral-700 z-50 min-w-32 py-1",
|
|
444
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
436
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
445
437
|
onClick: () => {
|
|
446
438
|
onRowAction?.("edit", row);
|
|
447
439
|
onClose();
|
|
448
440
|
},
|
|
449
|
-
className: "w-full
|
|
441
|
+
className: "w-full justify-start rounded-none border-none bg-transparent px-4 py-2 text-sm font-normal text-neutral-700 shadow-none hover:bg-neutral-50 hover:text-neutral-900 hover:opacity-100 dark:text-neutral-200 dark:hover:bg-neutral-700 dark:hover:text-white",
|
|
450
442
|
children: "Edit"
|
|
451
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
443
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
452
444
|
onClick: () => {
|
|
453
445
|
onRowAction?.("delete", row);
|
|
454
446
|
onClose();
|
|
455
447
|
},
|
|
456
|
-
className: "w-full
|
|
448
|
+
className: "w-full justify-start rounded-none border-none bg-transparent px-4 py-2 text-sm font-normal text-error shadow-none hover:bg-neutral-50 hover:text-error hover:opacity-100 dark:hover:bg-neutral-700",
|
|
457
449
|
children: "Delete"
|
|
458
450
|
})]
|
|
459
451
|
})] }) : null]
|
|
@@ -479,59 +471,49 @@ function DataTablePagination({ table, totalCount, filteredCount }) {
|
|
|
479
471
|
]
|
|
480
472
|
})
|
|
481
473
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
482
|
-
className: "flex items-center gap-2",
|
|
474
|
+
className: "flex flex-wrap items-center justify-end gap-2",
|
|
483
475
|
children: [
|
|
484
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("
|
|
485
|
-
|
|
476
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
477
|
+
className: "text-sm text-neutral-600 dark:text-neutral-400",
|
|
478
|
+
children: "Rows"
|
|
479
|
+
}),
|
|
480
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_select.Select, {
|
|
481
|
+
value: String(pageSize),
|
|
486
482
|
onChange: (event) => table.setPageSize(Number(event.target.value)),
|
|
487
|
-
|
|
488
|
-
|
|
483
|
+
"aria-label": "Rows per page",
|
|
484
|
+
containerClassName: "w-24 min-w-24 shrink-0",
|
|
485
|
+
triggerClassName: "px-3 font-medium text-neutral-900 dark:text-white",
|
|
486
|
+
options: [
|
|
489
487
|
10,
|
|
490
488
|
20,
|
|
491
489
|
30,
|
|
492
490
|
50,
|
|
493
491
|
100
|
|
494
|
-
].map((size) =>
|
|
495
|
-
value: size,
|
|
496
|
-
|
|
497
|
-
}
|
|
492
|
+
].map((size) => ({
|
|
493
|
+
value: String(size),
|
|
494
|
+
label: String(size)
|
|
495
|
+
}))
|
|
498
496
|
}),
|
|
499
497
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
|
|
500
498
|
title: "First page",
|
|
501
499
|
onClick: () => table.setPageIndex(0),
|
|
502
500
|
disabled: !table.getCanPreviousPage(),
|
|
503
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
504
|
-
className:
|
|
505
|
-
|
|
506
|
-
stroke: "currentColor",
|
|
507
|
-
viewBox: "0 0 24 24",
|
|
508
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
509
|
-
strokeLinecap: "round",
|
|
510
|
-
strokeLinejoin: "round",
|
|
511
|
-
strokeWidth: 2,
|
|
512
|
-
d: "M11 19l-7-7 7-7m8 14l-7-7 7-7"
|
|
513
|
-
})
|
|
501
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronsLeftIcon, {
|
|
502
|
+
className: TABLE_CONTROL_ICON_CLASS_NAME,
|
|
503
|
+
"aria-hidden": "true"
|
|
514
504
|
})
|
|
515
505
|
}),
|
|
516
506
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
|
|
517
507
|
title: "Previous page",
|
|
518
508
|
onClick: () => table.previousPage(),
|
|
519
509
|
disabled: !table.getCanPreviousPage(),
|
|
520
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
521
|
-
className:
|
|
522
|
-
|
|
523
|
-
stroke: "currentColor",
|
|
524
|
-
viewBox: "0 0 24 24",
|
|
525
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
526
|
-
strokeLinecap: "round",
|
|
527
|
-
strokeLinejoin: "round",
|
|
528
|
-
strokeWidth: 2,
|
|
529
|
-
d: "M15 19l-7-7 7-7"
|
|
530
|
-
})
|
|
510
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronLeftIcon, {
|
|
511
|
+
className: TABLE_CONTROL_ICON_CLASS_NAME,
|
|
512
|
+
"aria-hidden": "true"
|
|
531
513
|
})
|
|
532
514
|
}),
|
|
533
515
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
534
|
-
className: "px-3
|
|
516
|
+
className: "inline-flex h-10 shrink-0 items-center rounded-lg px-3 text-sm font-medium text-neutral-700 dark:text-neutral-300",
|
|
535
517
|
children: [
|
|
536
518
|
"Page ",
|
|
537
519
|
pageIndex + 1,
|
|
@@ -543,34 +525,18 @@ function DataTablePagination({ table, totalCount, filteredCount }) {
|
|
|
543
525
|
title: "Next page",
|
|
544
526
|
onClick: () => table.nextPage(),
|
|
545
527
|
disabled: !table.getCanNextPage(),
|
|
546
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
547
|
-
className:
|
|
548
|
-
|
|
549
|
-
stroke: "currentColor",
|
|
550
|
-
viewBox: "0 0 24 24",
|
|
551
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
552
|
-
strokeLinecap: "round",
|
|
553
|
-
strokeLinejoin: "round",
|
|
554
|
-
strokeWidth: 2,
|
|
555
|
-
d: "M9 5l7 7-7 7"
|
|
556
|
-
})
|
|
528
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronRightIcon, {
|
|
529
|
+
className: TABLE_CONTROL_ICON_CLASS_NAME,
|
|
530
|
+
"aria-hidden": "true"
|
|
557
531
|
})
|
|
558
532
|
}),
|
|
559
533
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
|
|
560
534
|
title: "Last page",
|
|
561
535
|
onClick: () => table.setPageIndex(table.getPageCount() - 1),
|
|
562
536
|
disabled: !table.getCanNextPage(),
|
|
563
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
564
|
-
className:
|
|
565
|
-
|
|
566
|
-
stroke: "currentColor",
|
|
567
|
-
viewBox: "0 0 24 24",
|
|
568
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
569
|
-
strokeLinecap: "round",
|
|
570
|
-
strokeLinejoin: "round",
|
|
571
|
-
strokeWidth: 2,
|
|
572
|
-
d: "M13 5l7 7-7 7M5 5l7 7-7 7"
|
|
573
|
-
})
|
|
537
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.ChevronsRightIcon, {
|
|
538
|
+
className: TABLE_CONTROL_ICON_CLASS_NAME,
|
|
539
|
+
"aria-hidden": "true"
|
|
574
540
|
})
|
|
575
541
|
})
|
|
576
542
|
]
|
|
@@ -582,37 +548,36 @@ function FilterSelectorMenu({ filterOptions, visibleFilters, onToggleFilter, onS
|
|
|
582
548
|
className: "p-2 min-w-48 space-y-1",
|
|
583
549
|
children: [
|
|
584
550
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
585
|
-
className: "text-xs font-semibold text-neutral-500
|
|
551
|
+
className: "px-2 pb-2 text-xs font-semibold text-neutral-500 dark:text-neutral-300",
|
|
586
552
|
children: "Show filters"
|
|
587
553
|
}),
|
|
588
|
-
filterOptions.map((filter) => /* @__PURE__ */ (0, react_jsx_runtime.
|
|
589
|
-
className: "
|
|
590
|
-
children:
|
|
591
|
-
type: "checkbox",
|
|
554
|
+
filterOptions.map((filter) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
555
|
+
className: "min-w-36",
|
|
556
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_checkbox.Checkbox, {
|
|
592
557
|
checked: visibleFilters.includes(filter.id),
|
|
593
558
|
onChange: (event) => onToggleFilter(filter.id, event.target.checked),
|
|
594
|
-
|
|
595
|
-
})
|
|
596
|
-
className: "text-sm text-neutral-700 dark:text-neutral-300",
|
|
597
|
-
children: filter.label
|
|
598
|
-
})]
|
|
559
|
+
label: filter.label
|
|
560
|
+
})
|
|
599
561
|
}, filter.id)),
|
|
600
562
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
601
|
-
className: "flex gap-2
|
|
602
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
563
|
+
className: "flex gap-2 border-t border-neutral-200 pt-2 dark:border-neutral-700",
|
|
564
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
603
565
|
onClick: onShowAll,
|
|
604
|
-
|
|
566
|
+
size: "small",
|
|
567
|
+
className: "flex-1 border-none bg-transparent px-1 py-1 text-xs font-semibold text-accent shadow-none hover:bg-transparent hover:text-accent-hover hover:opacity-100",
|
|
605
568
|
children: "SHOW ALL"
|
|
606
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
569
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
607
570
|
onClick: onHideAll,
|
|
608
|
-
|
|
571
|
+
size: "small",
|
|
572
|
+
className: "flex-1 border-none bg-transparent px-1 py-1 text-xs font-semibold text-neutral-500 shadow-none hover:bg-transparent hover:text-neutral-600 hover:opacity-100 dark:text-neutral-300 dark:hover:text-white",
|
|
609
573
|
children: "HIDE ALL"
|
|
610
574
|
})]
|
|
611
575
|
})
|
|
612
576
|
]
|
|
613
577
|
});
|
|
614
578
|
}
|
|
615
|
-
function DataTableToolbar({ searchQuery, onSearchChange, searchPlaceholder, bulkDeleteEnabled, bulkSelectionActive, selectedCount, bulkActionsContent, bulkActionCard, onToggleBulkSelection, onBulkDeleteSelected, onExport, columnMenuOpen, onToggleColumnMenu, onCloseColumnMenu, columns, onColumnToggle }) {
|
|
579
|
+
function DataTableToolbar({ searchQuery, onSearchChange, searchPlaceholder, bulkDeleteEnabled, bulkSelectionActive, selectedCount, bulkActionsContent, bulkActionCard, onToggleBulkSelection, onBulkDeleteSelected, onExport, columnMenuOpen, onToggleColumnMenu, onCloseColumnMenu, columns, onColumnToggle, onShowAllColumns, onHideAllColumns }) {
|
|
580
|
+
const hasSelectedRows = selectedCount > 0;
|
|
616
581
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
617
582
|
className: "border-b border-neutral-200 px-4 py-3 dark:border-neutral-700",
|
|
618
583
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -620,31 +585,9 @@ function DataTableToolbar({ searchQuery, onSearchChange, searchPlaceholder, bulk
|
|
|
620
585
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
621
586
|
className: "flex min-w-0 flex-1 flex-wrap items-center gap-2",
|
|
622
587
|
children: [bulkDeleteEnabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterButton, {
|
|
623
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
className: "h-6.5 w-6.5",
|
|
627
|
-
viewBox: "0 0 24 24",
|
|
628
|
-
children: [
|
|
629
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
630
|
-
strokeLinecap: "round",
|
|
631
|
-
strokeLinejoin: "round",
|
|
632
|
-
strokeWidth: 1.75,
|
|
633
|
-
d: "M4.25 10V18.85A1.25 1.25 0 005.5 20.1H14"
|
|
634
|
-
}),
|
|
635
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
636
|
-
strokeLinecap: "round",
|
|
637
|
-
strokeLinejoin: "round",
|
|
638
|
-
strokeWidth: 1.75,
|
|
639
|
-
d: "M7 5.75h10A1.25 1.25 0 0118.25 7v10A1.25 1.25 0 0117 18.25H7A1.25 1.25 0 015.75 17V7A1.25 1.25 0 017 5.75z"
|
|
640
|
-
}),
|
|
641
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
642
|
-
strokeLinecap: "round",
|
|
643
|
-
strokeLinejoin: "round",
|
|
644
|
-
strokeWidth: 1.75,
|
|
645
|
-
d: "m9.25 12 2.25 2.25 4.25-4.5"
|
|
646
|
-
})
|
|
647
|
-
]
|
|
588
|
+
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.SelectionIcon, {
|
|
589
|
+
className: TABLE_COMPLEX_ICON_CLASS_NAME,
|
|
590
|
+
"aria-hidden": "true"
|
|
648
591
|
}),
|
|
649
592
|
label: bulkSelectionActive ? "Disable bulk selection" : "Enable bulk selection",
|
|
650
593
|
onClick: onToggleBulkSelection,
|
|
@@ -659,34 +602,18 @@ function DataTableToolbar({ searchQuery, onSearchChange, searchPlaceholder, bulk
|
|
|
659
602
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
|
|
660
603
|
onClick: onExport,
|
|
661
604
|
title: "Refresh",
|
|
662
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
663
|
-
className:
|
|
664
|
-
|
|
665
|
-
stroke: "currentColor",
|
|
666
|
-
viewBox: "0 0 24 24",
|
|
667
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
668
|
-
strokeLinecap: "round",
|
|
669
|
-
strokeLinejoin: "round",
|
|
670
|
-
strokeWidth: 2,
|
|
671
|
-
d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"
|
|
672
|
-
})
|
|
605
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.RefreshIcon, {
|
|
606
|
+
className: TABLE_CONTROL_ICON_CLASS_NAME,
|
|
607
|
+
"aria-hidden": "true"
|
|
673
608
|
})
|
|
674
609
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
675
610
|
className: "relative",
|
|
676
611
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
|
|
677
612
|
onClick: onToggleColumnMenu,
|
|
678
613
|
title: "Column settings",
|
|
679
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
680
|
-
className:
|
|
681
|
-
|
|
682
|
-
stroke: "currentColor",
|
|
683
|
-
viewBox: "0 0 24 24",
|
|
684
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
685
|
-
strokeLinecap: "round",
|
|
686
|
-
strokeLinejoin: "round",
|
|
687
|
-
strokeWidth: 2,
|
|
688
|
-
d: "M4 6h16M7 12h10m-7 6h4"
|
|
689
|
-
})
|
|
614
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.SettingsIcon, {
|
|
615
|
+
className: TABLE_COMPLEX_ICON_CLASS_NAME,
|
|
616
|
+
"aria-hidden": "true"
|
|
690
617
|
})
|
|
691
618
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterDropdown, {
|
|
692
619
|
isOpen: columnMenuOpen,
|
|
@@ -695,17 +622,22 @@ function DataTableToolbar({ searchQuery, onSearchChange, searchPlaceholder, bulk
|
|
|
695
622
|
columns,
|
|
696
623
|
onToggle: (columnId) => {
|
|
697
624
|
onColumnToggle?.(columnId);
|
|
698
|
-
}
|
|
625
|
+
},
|
|
626
|
+
onShowAll: onShowAllColumns,
|
|
627
|
+
onHideAll: onHideAllColumns
|
|
699
628
|
})
|
|
700
629
|
})]
|
|
701
630
|
})]
|
|
702
631
|
})]
|
|
703
|
-
}), bulkSelectionActive &&
|
|
704
|
-
className: "mt-
|
|
632
|
+
}), bulkSelectionActive && hasSelectedRows ? bulkActionCard ?? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
633
|
+
className: "mt-2 flex flex-col gap-2 rounded-[4px] border border-neutral-200 bg-neutral-50 px-3 py-2 shadow-sm dark:border-neutral-700 dark:bg-neutral-800/50 dark:shadow-black/25 lg:flex-row lg:items-center lg:justify-between",
|
|
705
634
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
706
635
|
className: "flex min-w-0 flex-wrap items-center gap-2",
|
|
707
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
708
|
-
|
|
636
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_chip.Chip, {
|
|
637
|
+
variant: "soft",
|
|
638
|
+
color: "primary",
|
|
639
|
+
size: "sm",
|
|
640
|
+
className: "uppercase tracking-wide",
|
|
709
641
|
children: "Bulk actions"
|
|
710
642
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
|
|
711
643
|
className: "text-sm font-medium text-neutral-900 dark:text-white",
|
|
@@ -719,21 +651,14 @@ function DataTableToolbar({ searchQuery, onSearchChange, searchPlaceholder, bulk
|
|
|
719
651
|
})]
|
|
720
652
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
721
653
|
className: "flex flex-wrap items-center gap-2",
|
|
722
|
-
children: [bulkActionsContent, bulkDeleteEnabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(
|
|
723
|
-
type: "button",
|
|
654
|
+
children: [bulkActionsContent, bulkDeleteEnabled ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_button.Button, {
|
|
724
655
|
onClick: onBulkDeleteSelected,
|
|
725
|
-
|
|
726
|
-
|
|
656
|
+
primary: true,
|
|
657
|
+
size: "small",
|
|
658
|
+
className: "border-accent/20 px-3 py-2 text-sm text-on-accent shadow-lg shadow-accent/20 hover:bg-accent-hover hover:opacity-100",
|
|
659
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.TrashIcon, {
|
|
727
660
|
className: "h-4 w-4",
|
|
728
|
-
|
|
729
|
-
stroke: "currentColor",
|
|
730
|
-
viewBox: "0 0 24 24",
|
|
731
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
732
|
-
strokeLinecap: "round",
|
|
733
|
-
strokeLinejoin: "round",
|
|
734
|
-
strokeWidth: 2,
|
|
735
|
-
d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6M9 7V4a1 1 0 011-1h4a1 1 0 011 1v3m-7 0h8"
|
|
736
|
-
})
|
|
661
|
+
"aria-hidden": "true"
|
|
737
662
|
}), "Delete selected"]
|
|
738
663
|
}) : null]
|
|
739
664
|
})]
|
|
@@ -752,22 +677,9 @@ function LoadingTableState({ colSpan }) {
|
|
|
752
677
|
colSpan,
|
|
753
678
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
754
679
|
className: "flex flex-col items-center gap-3",
|
|
755
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.
|
|
756
|
-
className: "w-8 h-8 animate-spin text-
|
|
757
|
-
|
|
758
|
-
viewBox: "0 0 24 24",
|
|
759
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
760
|
-
className: "opacity-25",
|
|
761
|
-
cx: "12",
|
|
762
|
-
cy: "12",
|
|
763
|
-
r: "10",
|
|
764
|
-
stroke: "currentColor",
|
|
765
|
-
strokeWidth: "4"
|
|
766
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
767
|
-
className: "opacity-75",
|
|
768
|
-
fill: "currentColor",
|
|
769
|
-
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
770
|
-
})]
|
|
680
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.LoaderIcon, {
|
|
681
|
+
className: "w-8 h-8 animate-spin text-accent",
|
|
682
|
+
"aria-hidden": "true"
|
|
771
683
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: "Loading data..." })]
|
|
772
684
|
})
|
|
773
685
|
});
|
|
@@ -840,6 +752,11 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
840
752
|
const [selectedRowIds, setSelectedRowIds] = react.default.useState({});
|
|
841
753
|
const [rowMenuOpen, setRowMenuOpen] = react.default.useState(null);
|
|
842
754
|
const [searchQuery, setSearchQuery] = react.default.useState("");
|
|
755
|
+
const [columnVisibility, setColumnVisibility] = react.default.useState(() => Object.fromEntries(columns.map((column) => [column.id, column.visible !== false])));
|
|
756
|
+
const columnsVisibilitySignature = react.default.useMemo(() => columns.map((column) => `${column.id}:${column.visible !== false}`).join("|"), [columns]);
|
|
757
|
+
react.default.useEffect(() => {
|
|
758
|
+
setColumnVisibility(Object.fromEntries(columns.map((column) => [column.id, column.visible !== false])));
|
|
759
|
+
}, [columns, columnsVisibilitySignature]);
|
|
843
760
|
const asyncFilterOptions = useAsyncFilterOptions(externalFilterOptions, filterSelectorOpen);
|
|
844
761
|
const filterOptions = react.default.useMemo(() => {
|
|
845
762
|
return resolveFilterOptions(columns, data, externalFilterOptions, asyncFilterOptions);
|
|
@@ -849,7 +766,11 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
849
766
|
externalFilterOptions,
|
|
850
767
|
asyncFilterOptions
|
|
851
768
|
]);
|
|
852
|
-
const
|
|
769
|
+
const resolvedColumns = react.default.useMemo(() => columns.map((column) => ({
|
|
770
|
+
...column,
|
|
771
|
+
visible: columnVisibility[column.id] ?? column.visible !== false
|
|
772
|
+
})), [columnVisibility, columns]);
|
|
773
|
+
const visibleColumns = react.default.useMemo(() => resolvedColumns.filter((column) => column.visible !== false), [resolvedColumns]);
|
|
853
774
|
const manualPagination = usesManualPagination(totalCount, onPaginationChange);
|
|
854
775
|
const pageCount = totalCount === void 0 ? void 0 : Math.ceil(totalCount / pagination.pageSize);
|
|
855
776
|
const filteredData = react.default.useMemo(() => {
|
|
@@ -865,7 +786,16 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
865
786
|
id: col.id,
|
|
866
787
|
accessorKey: col.id,
|
|
867
788
|
header: col.label,
|
|
868
|
-
cell: (info) =>
|
|
789
|
+
cell: (info) => {
|
|
790
|
+
const value = info.getValue();
|
|
791
|
+
if (col.renderCell) return col.renderCell({
|
|
792
|
+
value,
|
|
793
|
+
row: info.row.original,
|
|
794
|
+
rowIndex: info.row.index,
|
|
795
|
+
columnId: col.id
|
|
796
|
+
});
|
|
797
|
+
return renderDefaultCellValue(value);
|
|
798
|
+
}
|
|
869
799
|
})), [visibleColumns]);
|
|
870
800
|
const updatePagination = react.default.useCallback((updater) => {
|
|
871
801
|
setPagination((previous) => {
|
|
@@ -961,6 +891,19 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
961
891
|
const handleToggleColumnMenu = react.default.useCallback(() => {
|
|
962
892
|
setColumnMenuOpen((previous) => !previous);
|
|
963
893
|
}, []);
|
|
894
|
+
const handleToggleColumnVisibility = react.default.useCallback((columnId) => {
|
|
895
|
+
setColumnVisibility((previous) => ({
|
|
896
|
+
...previous,
|
|
897
|
+
[columnId]: !(previous[columnId] ?? true)
|
|
898
|
+
}));
|
|
899
|
+
onColumnToggle?.(columnId);
|
|
900
|
+
}, [onColumnToggle]);
|
|
901
|
+
const handleShowAllColumns = react.default.useCallback(() => {
|
|
902
|
+
setColumnVisibility(Object.fromEntries(columns.map((column) => [column.id, true])));
|
|
903
|
+
}, [columns]);
|
|
904
|
+
const handleHideAllColumns = react.default.useCallback(() => {
|
|
905
|
+
setColumnVisibility(Object.fromEntries(columns.map((column) => [column.id, false])));
|
|
906
|
+
}, [columns]);
|
|
964
907
|
const handleToggleBulkSelection = react.default.useCallback(() => {
|
|
965
908
|
setBulkSelectionActive((previous) => {
|
|
966
909
|
if (previous) setSelectedRowIds({});
|
|
@@ -1024,13 +967,13 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
1024
967
|
className: "space-y-0",
|
|
1025
968
|
children: [
|
|
1026
969
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1027
|
-
className: "flex items-center justify-between gap-4
|
|
970
|
+
className: "mb-4 flex items-center justify-between gap-4 rounded-[8px] border border-neutral-200 bg-neutral-50 px-4 py-4 dark:border-neutral-700 dark:bg-neutral-800/50",
|
|
1028
971
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1029
972
|
className: "flex items-center gap-3 flex-wrap",
|
|
1030
973
|
children: filterOptions.filter((filter) => visibleFilters.includes(filter.id)).map((filter, index) => {
|
|
1031
974
|
const isActive = isFilterActive(activeFilters[filter.id]);
|
|
1032
975
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1033
|
-
className: `min-w-[200px] ${index > 0 ? "
|
|
976
|
+
className: `min-w-[200px] ${index > 0 ? "border-l border-neutral-200 pl-3 dark:border-neutral-600" : ""}`,
|
|
1034
977
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterFieldControl, {
|
|
1035
978
|
filter,
|
|
1036
979
|
value: activeFilters[filter.id],
|
|
@@ -1047,17 +990,9 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
1047
990
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
|
|
1048
991
|
onClick: handleToggleFilterSelector,
|
|
1049
992
|
title: "Add filter",
|
|
1050
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
1051
|
-
className:
|
|
1052
|
-
|
|
1053
|
-
stroke: "currentColor",
|
|
1054
|
-
strokeWidth: 2,
|
|
1055
|
-
viewBox: "0 0 24 24",
|
|
1056
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1057
|
-
strokeLinecap: "round",
|
|
1058
|
-
strokeLinejoin: "round",
|
|
1059
|
-
d: "M3 4h18l-7 8v6l-4 2v-8L3 4z"
|
|
1060
|
-
})
|
|
993
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.FilterIcon, {
|
|
994
|
+
className: TABLE_COMPLEX_ICON_CLASS_NAME,
|
|
995
|
+
"aria-hidden": "true"
|
|
1061
996
|
})
|
|
1062
997
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterDropdown, {
|
|
1063
998
|
isOpen: filterSelectorOpen,
|
|
@@ -1075,21 +1010,9 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
1075
1010
|
onClick: handleResetFilters,
|
|
1076
1011
|
disabled: !hasActiveFilters,
|
|
1077
1012
|
title: "Clear filters",
|
|
1078
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.
|
|
1079
|
-
className:
|
|
1080
|
-
|
|
1081
|
-
stroke: "currentColor",
|
|
1082
|
-
strokeWidth: 2,
|
|
1083
|
-
viewBox: "0 0 24 24",
|
|
1084
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1085
|
-
strokeLinecap: "round",
|
|
1086
|
-
strokeLinejoin: "round",
|
|
1087
|
-
d: "M3 4h18l-7 8v6l-4 2v-8L3 4z"
|
|
1088
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1089
|
-
strokeLinecap: "round",
|
|
1090
|
-
strokeLinejoin: "round",
|
|
1091
|
-
d: "M17 17l4 4m0-4l-4 4"
|
|
1092
|
-
})]
|
|
1013
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.FilterXIcon, {
|
|
1014
|
+
className: TABLE_COMPLEX_ICON_CLASS_NAME,
|
|
1015
|
+
"aria-hidden": "true"
|
|
1093
1016
|
})
|
|
1094
1017
|
}),
|
|
1095
1018
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
@@ -1097,38 +1020,18 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
1097
1020
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(ToolbarIconButton, {
|
|
1098
1021
|
onClick: handleToggleProfileMenu,
|
|
1099
1022
|
title: "Filter profiles",
|
|
1100
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.
|
|
1101
|
-
className:
|
|
1102
|
-
|
|
1103
|
-
stroke: "currentColor",
|
|
1104
|
-
strokeWidth: 2,
|
|
1105
|
-
viewBox: "0 0 24 24",
|
|
1106
|
-
children: [
|
|
1107
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("circle", {
|
|
1108
|
-
cx: "9",
|
|
1109
|
-
cy: "7",
|
|
1110
|
-
r: "3"
|
|
1111
|
-
}),
|
|
1112
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1113
|
-
strokeLinecap: "round",
|
|
1114
|
-
strokeLinejoin: "round",
|
|
1115
|
-
d: "M3 21v-2a4 4 0 014-4h4"
|
|
1116
|
-
}),
|
|
1117
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
|
|
1118
|
-
strokeLinecap: "round",
|
|
1119
|
-
strokeLinejoin: "round",
|
|
1120
|
-
d: "M15 12h6l-3 3.5v2.5l-1.5 1v-3.5L15 12z"
|
|
1121
|
-
})
|
|
1122
|
-
]
|
|
1023
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons.FilterProfileIcon, {
|
|
1024
|
+
className: TABLE_COMPLEX_ICON_CLASS_NAME,
|
|
1025
|
+
"aria-hidden": "true"
|
|
1123
1026
|
})
|
|
1124
1027
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterDropdown, {
|
|
1125
1028
|
isOpen: profileMenuOpen,
|
|
1126
1029
|
onClose: () => setProfileMenuOpen(false),
|
|
1127
1030
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1128
1031
|
className: "p-2 min-w-48",
|
|
1129
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
1032
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_button.Button, {
|
|
1130
1033
|
onClick: handleOpenProfile,
|
|
1131
|
-
className: "w-full
|
|
1034
|
+
className: "w-full justify-start border-2 border-dashed border-accent/40 bg-transparent px-4 py-3 text-left text-sm font-medium text-accent shadow-none hover:bg-accent-subtle hover:opacity-100",
|
|
1132
1035
|
children: "Save new filter profile"
|
|
1133
1036
|
})
|
|
1134
1037
|
})
|
|
@@ -1138,7 +1041,7 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
1138
1041
|
})]
|
|
1139
1042
|
}),
|
|
1140
1043
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
1141
|
-
className: "bg-
|
|
1044
|
+
className: "bg-background-secondary rounded-lg border border-neutral-200 dark:border-neutral-700 overflow-hidden",
|
|
1142
1045
|
children: [
|
|
1143
1046
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(DataTableToolbar, {
|
|
1144
1047
|
searchQuery,
|
|
@@ -1155,8 +1058,10 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
1155
1058
|
columnMenuOpen,
|
|
1156
1059
|
onToggleColumnMenu: handleToggleColumnMenu,
|
|
1157
1060
|
onCloseColumnMenu: () => setColumnMenuOpen(false),
|
|
1158
|
-
columns,
|
|
1159
|
-
onColumnToggle
|
|
1061
|
+
columns: resolvedColumns,
|
|
1062
|
+
onColumnToggle: handleToggleColumnVisibility,
|
|
1063
|
+
onShowAllColumns: handleShowAllColumns,
|
|
1064
|
+
onHideAllColumns: handleHideAllColumns
|
|
1160
1065
|
}),
|
|
1161
1066
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
1162
1067
|
className: "overflow-auto",
|
|
@@ -1164,12 +1069,12 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
1164
1069
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("table", {
|
|
1165
1070
|
className: "w-full min-w-[600px]",
|
|
1166
1071
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("thead", {
|
|
1167
|
-
className: "sticky top-0
|
|
1072
|
+
className: "sticky top-0 z-10 bg-background-secondary",
|
|
1168
1073
|
children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("tr", {
|
|
1169
1074
|
className: "border-b border-neutral-200 dark:border-neutral-700",
|
|
1170
1075
|
children: [
|
|
1171
1076
|
bulkSelectionActive ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", {
|
|
1172
|
-
className: "w-12 px-4 py-3 bg-
|
|
1077
|
+
className: "w-12 px-4 py-3 bg-background-secondary",
|
|
1173
1078
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_checkbox.Checkbox, {
|
|
1174
1079
|
"aria-label": "Select all visible rows",
|
|
1175
1080
|
checked: allVisibleRowsSelected,
|
|
@@ -1177,10 +1082,10 @@ function DataTable({ columns, data, isLoading = false, onColumnToggle, pageSize
|
|
|
1177
1082
|
})
|
|
1178
1083
|
}) : null,
|
|
1179
1084
|
headerGroup.headers.map((header) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", {
|
|
1180
|
-
className: "px-4 py-3 text-left text-sm font-semibold text-neutral-900 dark:text-white whitespace-nowrap
|
|
1085
|
+
className: "bg-background-secondary px-4 py-3 text-left text-sm font-semibold text-neutral-900 dark:text-white whitespace-nowrap",
|
|
1181
1086
|
children: header.isPlaceholder ? null : (0, _tanstack_react_table.flexRender)(header.column.columnDef.header, header.getContext())
|
|
1182
1087
|
}, header.id)),
|
|
1183
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { className: "w-12 bg-
|
|
1088
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("th", { className: "w-12 bg-background-secondary" })
|
|
1184
1089
|
]
|
|
1185
1090
|
}, headerGroup.id))
|
|
1186
1091
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("tbody", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(DataTableRows, {
|
|
@@ -1246,4 +1151,4 @@ Object.defineProperty(exports, "FilterProfile", {
|
|
|
1246
1151
|
}
|
|
1247
1152
|
});
|
|
1248
1153
|
|
|
1249
|
-
//# sourceMappingURL=data-table-
|
|
1154
|
+
//# sourceMappingURL=data-table-9HELVsYR.cjs.map
|