@customafk/lunas-ui 0.0.53 → 0.0.54
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/{add-new-CBg3KRIT.cjs → add-new-DfABsmli.cjs} +2 -2
- package/dist/{add-new-CBg3KRIT.cjs.map → add-new-DfABsmli.cjs.map} +1 -1
- package/dist/{add-new-B9_P1OXs.js → add-new-Dwxj9tEB.js} +2 -2
- package/dist/{add-new-B9_P1OXs.js.map → add-new-Dwxj9tEB.js.map} +1 -1
- package/dist/{badge-DP4D6fsq.js → badge-BJWJGcs7.js} +1 -1
- package/dist/{badge-DP4D6fsq.js.map → badge-BJWJGcs7.js.map} +1 -1
- package/dist/{badge-C5OQVVdj.cjs → badge-CtACOYGz.cjs} +1 -1
- package/dist/{badge-C5OQVVdj.cjs.map → badge-CtACOYGz.cjs.map} +1 -1
- package/dist/{button-y_YnE05_.d.ts → button-6o1dgit-.d.cts} +4 -4
- package/dist/{button-DBBV45P_.d.cts → button-B4fdn-Yc.d.ts} +5 -5
- package/dist/{calendar-DSpnZGer.cjs → calendar-CnhHBLl8.cjs} +1 -1
- package/dist/{calendar-DSpnZGer.cjs.map → calendar-CnhHBLl8.cjs.map} +1 -1
- package/dist/{calendar-DXPcqnGq.js → calendar-DlLKQCdQ.js} +1 -1
- package/dist/{calendar-DXPcqnGq.js.map → calendar-DlLKQCdQ.js.map} +1 -1
- package/dist/{command-BHcMi5w6.d.cts → command-B1RFofax.d.cts} +12 -12
- package/dist/{command-BAGuL4Lq.d.ts → command-CMagw20N.d.ts} +12 -12
- package/dist/{command-DEYbZBFJ.js → command-CxB1jizd.js} +1 -1
- package/dist/{command-DEYbZBFJ.js.map → command-CxB1jizd.js.map} +1 -1
- package/dist/{command-BBHlXG-4.cjs → command-DL8-AZm7.cjs} +1 -1
- package/dist/{command-BBHlXG-4.cjs.map → command-DL8-AZm7.cjs.map} +1 -1
- package/dist/data-display/country.cjs +1 -1
- package/dist/data-display/country.js +1 -1
- package/dist/data-display/data-list.cjs +1 -1
- package/dist/data-display/data-list.js +1 -1
- package/dist/data-display/date-tooltip.cjs +1 -1
- package/dist/data-display/date-tooltip.js +1 -1
- package/dist/data-display/date.cjs +1 -1
- package/dist/data-display/date.js +1 -1
- package/dist/data-display/empty.cjs +1 -1
- package/dist/data-display/empty.d.cts +2 -2
- package/dist/data-display/empty.d.ts +2 -2
- package/dist/data-display/empty.js +1 -1
- package/dist/data-display/name.cjs +1 -1
- package/dist/data-display/name.js +1 -1
- package/dist/data-display/phone-number.cjs +1 -1
- package/dist/data-display/phone-number.js +1 -1
- package/dist/data-display/role-badge.cjs +1 -1
- package/dist/data-display/role-badge.js +1 -1
- package/dist/data-display/statistic.cjs +1 -1
- package/dist/data-display/statistic.d.cts +2 -2
- package/dist/data-display/statistic.d.ts +2 -2
- package/dist/data-display/statistic.js +1 -1
- package/dist/{date-B1g1OMYc.js → date-CztL0aWp.js} +1 -1
- package/dist/{date-B1g1OMYc.js.map → date-CztL0aWp.js.map} +1 -1
- package/dist/{date-Cw6Jf7k6.cjs → date-DCURBWXk.cjs} +1 -1
- package/dist/{date-Cw6Jf7k6.cjs.map → date-DCURBWXk.cjs.map} +1 -1
- package/dist/{dialog-LR_6dvSQ.d.cts → dialog-DxwqxuCv.d.cts} +12 -12
- package/dist/{dialog-DzGLUK6_.d.ts → dialog-J3LaGLck.d.ts} +12 -12
- package/dist/dialogs/detail-dialog/component/sidebar.cjs +1 -1
- package/dist/dialogs/detail-dialog/component/sidebar.d.cts +30 -30
- package/dist/dialogs/detail-dialog/component/sidebar.d.ts +4 -4
- package/dist/dialogs/detail-dialog/component/sidebar.js +1 -1
- package/dist/dialogs/detail-dialog/index.cjs +1 -1
- package/dist/dialogs/detail-dialog/index.cjs.map +1 -1
- package/dist/dialogs/detail-dialog/index.js +1 -1
- package/dist/dialogs/form-dialog.d.cts +2 -2
- package/dist/dialogs/form-dialog.d.ts +2 -2
- package/dist/{flex-CXCO0f21.js → flex-CvokpUf1.js} +1 -1
- package/dist/{flex-CXCO0f21.js.map → flex-CvokpUf1.js.map} +1 -1
- package/dist/{flex-BSVrFdMJ.cjs → flex-DjACH4wX.cjs} +1 -1
- package/dist/{flex-BSVrFdMJ.cjs.map → flex-DjACH4wX.cjs.map} +1 -1
- package/dist/forms/combobox-field.cjs +1 -1
- package/dist/forms/combobox-field.d.cts +2 -2
- package/dist/forms/combobox-field.d.ts +2 -2
- package/dist/forms/combobox-field.js +1 -1
- package/dist/forms/date-field.cjs +1 -1
- package/dist/forms/date-field.d.cts +2 -2
- package/dist/forms/date-field.d.ts +2 -2
- package/dist/forms/date-field.js +1 -1
- package/dist/forms/form-wrapper.d.cts +2 -2
- package/dist/forms/form-wrapper.d.ts +2 -2
- package/dist/forms/multi-select-field.cjs +1 -1
- package/dist/forms/multi-select-field.d.cts +2 -2
- package/dist/forms/multi-select-field.d.ts +2 -2
- package/dist/forms/multi-select-field.js +1 -1
- package/dist/forms/number-field.cjs +1 -1
- package/dist/forms/number-field.d.cts +2 -2
- package/dist/forms/number-field.d.ts +2 -2
- package/dist/forms/number-field.js +1 -1
- package/dist/forms/password-field.cjs +1 -1
- package/dist/forms/password-field.d.cts +2 -2
- package/dist/forms/password-field.js +1 -1
- package/dist/forms/select-field.cjs +1 -1
- package/dist/forms/select-field.d.cts +2 -2
- package/dist/forms/select-field.d.ts +2 -2
- package/dist/forms/select-field.js +1 -1
- package/dist/forms/switch-field.cjs +1 -1
- package/dist/forms/switch-field.d.cts +2 -2
- package/dist/forms/switch-field.d.ts +2 -2
- package/dist/forms/switch-field.js +1 -1
- package/dist/forms/text-field.cjs +1 -1
- package/dist/forms/text-field.d.cts +2 -2
- package/dist/forms/text-field.d.ts +2 -2
- package/dist/forms/text-field.js +1 -1
- package/dist/forms/textarea-field.cjs +1 -1
- package/dist/forms/textarea-field.d.cts +2 -2
- package/dist/forms/textarea-field.d.ts +2 -2
- package/dist/forms/textarea-field.js +1 -1
- package/dist/{input-C-60EZ1K.cjs → input-C2xQcVZP.cjs} +1 -1
- package/dist/{input-C-60EZ1K.cjs.map → input-C2xQcVZP.cjs.map} +1 -1
- package/dist/{input-nsu0-DwM.js → input-DgJVc3kt.js} +1 -1
- package/dist/{input-nsu0-DwM.js.map → input-DgJVc3kt.js.map} +1 -1
- package/dist/{input-BZBf-l4K.d.ts → input-Dt8julrj.d.cts} +3 -3
- package/dist/{input-Ci55gNyE.d.cts → input-fe1qd_Yy.d.ts} +3 -3
- package/dist/layouts/app-layout/index.cjs +1 -1
- package/dist/layouts/app-layout/index.cjs.map +1 -1
- package/dist/layouts/app-layout/index.d.cts +3 -3
- package/dist/layouts/app-layout/index.d.ts +26 -26
- package/dist/layouts/app-layout/index.js +1 -1
- package/dist/layouts/app-layout/index.js.map +1 -1
- package/dist/layouts/flex.cjs +1 -1
- package/dist/layouts/flex.d.cts +2 -2
- package/dist/layouts/flex.d.ts +2 -2
- package/dist/layouts/flex.js +1 -1
- package/dist/layouts/main/index.cjs +1 -1
- package/dist/layouts/main/index.d.cts +4 -4
- package/dist/layouts/main/index.d.ts +4 -4
- package/dist/layouts/main/index.js +1 -1
- package/dist/{multi-select-Doj_6IIC.cjs → multi-select-BuhAcysb.cjs} +2 -2
- package/dist/{multi-select-Doj_6IIC.cjs.map → multi-select-BuhAcysb.cjs.map} +1 -1
- package/dist/{multi-select-i3VQ915k.js → multi-select-LJzXqVC-.js} +2 -2
- package/dist/{multi-select-i3VQ915k.js.map → multi-select-LJzXqVC-.js.map} +1 -1
- package/dist/{paragraph-C0KfolV0.js → paragraph-Bn2q1srm.js} +1 -1
- package/dist/{paragraph-C0KfolV0.js.map → paragraph-Bn2q1srm.js.map} +1 -1
- package/dist/{paragraph-JXci2Ihg.cjs → paragraph-DA4bg12A.cjs} +1 -1
- package/dist/{paragraph-JXci2Ihg.cjs.map → paragraph-DA4bg12A.cjs.map} +1 -1
- package/dist/{popover-DjfTTw9J.js → popover-CTFp7ZXi.js} +1 -1
- package/dist/{popover-DjfTTw9J.js.map → popover-CTFp7ZXi.js.map} +1 -1
- package/dist/{popover-F0wFeBo7.cjs → popover-DCcPvdz2.cjs} +1 -1
- package/dist/{popover-F0wFeBo7.cjs.map → popover-DCcPvdz2.cjs.map} +1 -1
- package/dist/{refresh-Uhf4oSfg.js → refresh-CNeJCjk5.js} +2 -2
- package/dist/{refresh-Uhf4oSfg.js.map → refresh-CNeJCjk5.js.map} +1 -1
- package/dist/{refresh-X3mMFqTM.cjs → refresh-DmguI4WR.cjs} +2 -2
- package/dist/{refresh-X3mMFqTM.cjs.map → refresh-DmguI4WR.cjs.map} +1 -1
- package/dist/{search-input-w_52Z2rk.js → search-input-CP1CX74C.js} +2 -2
- package/dist/{search-input-w_52Z2rk.js.map → search-input-CP1CX74C.js.map} +1 -1
- package/dist/{search-input-DyqFLvzs.cjs → search-input-DzRJf6qI.cjs} +2 -2
- package/dist/{search-input-DyqFLvzs.cjs.map → search-input-DzRJf6qI.cjs.map} +1 -1
- package/dist/{select-C5k0McoM.cjs → select-BCBdGAk7.cjs} +1 -1
- package/dist/{select-C5k0McoM.cjs.map → select-BCBdGAk7.cjs.map} +1 -1
- package/dist/{select-Ch3I_jWe.js → select-DmjCwCGB.js} +1 -1
- package/dist/{select-Ch3I_jWe.js.map → select-DmjCwCGB.js.map} +1 -1
- package/dist/{separator-BssDmBsX.d.ts → separator-Cs0J9x-4.d.ts} +3 -3
- package/dist/{separator-DbpWHldj.d.cts → separator-Rm2a238S.d.cts} +3 -3
- package/dist/{sidebar-5HuN-j1i.js → sidebar-BiG4ZcRy.js} +2 -2
- package/dist/{sidebar-5HuN-j1i.js.map → sidebar-BiG4ZcRy.js.map} +1 -1
- package/dist/{sidebar-BDLTT1ko.js → sidebar-C397Bg8C.js} +2 -2
- package/dist/{sidebar-BDLTT1ko.js.map → sidebar-C397Bg8C.js.map} +1 -1
- package/dist/{sidebar-B-iUTI3P.cjs → sidebar-Ccw4-cV5.cjs} +2 -2
- package/dist/{sidebar-B-iUTI3P.cjs.map → sidebar-Ccw4-cV5.cjs.map} +1 -1
- package/dist/{sidebar-C0EmqKyz.cjs → sidebar-DGjpr6u7.cjs} +2 -2
- package/dist/{sidebar-C0EmqKyz.cjs.map → sidebar-DGjpr6u7.cjs.map} +1 -1
- package/dist/{switch-B9LmV-PS.js → switch-965kHdW_.js} +1 -1
- package/dist/{switch-B9LmV-PS.js.map → switch-965kHdW_.js.map} +1 -1
- package/dist/{switch-bfoTi9s3.cjs → switch-C3igCoxt.cjs} +1 -1
- package/dist/{switch-bfoTi9s3.cjs.map → switch-C3igCoxt.cjs.map} +1 -1
- package/dist/table/index.cjs +1 -1
- package/dist/table/index.cjs.map +1 -1
- package/dist/table/index.d.cts +2 -2
- package/dist/table/index.d.ts +2 -2
- package/dist/table/index.js +1 -1
- package/dist/{textarea-0egIZLQD.js → textarea-BK2brgwY.js} +1 -1
- package/dist/{textarea-0egIZLQD.js.map → textarea-BK2brgwY.js.map} +1 -1
- package/dist/{textarea-dFxubrKf.cjs → textarea-Y4wAXFGr.cjs} +1 -1
- package/dist/{textarea-dFxubrKf.cjs.map → textarea-Y4wAXFGr.cjs.map} +1 -1
- package/dist/{toggle-C9fT4j4U.d.cts → toggle-B_di9jVO.d.cts} +3 -3
- package/dist/{toggle-Cfa3Ju6R.d.ts → toggle-Dfy8X50O.d.ts} +3 -3
- package/dist/{tooltip-CnemaSZS.d.cts → tooltip-BkWWOZyr.d.cts} +6 -6
- package/dist/{tooltip-jz3-KXgN.js → tooltip-C9Ex69RQ.js} +1 -1
- package/dist/{tooltip-jz3-KXgN.js.map → tooltip-C9Ex69RQ.js.map} +1 -1
- package/dist/{tooltip-GgIQS_wc.d.ts → tooltip-DFRxIbzr.d.ts} +6 -6
- package/dist/{tooltip-BeQcgjzF.cjs → tooltip-i-daLHx3.cjs} +1 -1
- package/dist/{tooltip-BeQcgjzF.cjs.map → tooltip-i-daLHx3.cjs.map} +1 -1
- package/dist/{types-CnMfjcgO.cjs → types--5Hxh5iL.cjs} +1 -1
- package/dist/{types-CnMfjcgO.cjs.map → types--5Hxh5iL.cjs.map} +1 -1
- package/dist/{types-BVNbk1ZN.js → types-DGK6BDUS.js} +1 -1
- package/dist/{types-BVNbk1ZN.js.map → types-DGK6BDUS.js.map} +1 -1
- package/dist/typography/paragraph.cjs +1 -1
- package/dist/typography/paragraph.d.cts +2 -2
- package/dist/typography/paragraph.d.ts +2 -2
- package/dist/typography/paragraph.js +1 -1
- package/dist/typography/title.d.cts +2 -2
- package/dist/typography/title.d.ts +2 -2
- package/dist/ui/alert-dialog.d.cts +12 -12
- package/dist/ui/alert-dialog.d.ts +12 -12
- package/dist/ui/alert.d.cts +6 -6
- package/dist/ui/alert.d.ts +6 -6
- package/dist/ui/aspect-ratio.d.cts +2 -2
- package/dist/ui/aspect-ratio.d.ts +2 -2
- package/dist/ui/avatar.d.cts +4 -4
- package/dist/ui/avatar.d.ts +4 -4
- package/dist/ui/badge.cjs +1 -1
- package/dist/ui/badge.d.cts +4 -4
- package/dist/ui/badge.d.ts +4 -4
- package/dist/ui/badge.js +1 -1
- package/dist/ui/breadcrumb.d.cts +8 -8
- package/dist/ui/breadcrumb.d.ts +8 -8
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/buttons/add-new.cjs +1 -1
- package/dist/ui/buttons/add-new.js +1 -1
- package/dist/ui/buttons/refresh.cjs +1 -1
- package/dist/ui/buttons/refresh.js +1 -1
- package/dist/ui/calendar.cjs +1 -1
- package/dist/ui/calendar.d.cts +4 -4
- package/dist/ui/calendar.d.ts +4 -4
- package/dist/ui/calendar.js +1 -1
- package/dist/ui/card.d.cts +8 -8
- package/dist/ui/card.d.ts +8 -8
- package/dist/ui/carousel.d.cts +7 -7
- package/dist/ui/carousel.d.ts +7 -7
- package/dist/ui/collapsible.d.cts +4 -4
- package/dist/ui/collapsible.d.ts +4 -4
- package/dist/ui/command.cjs +1 -1
- package/dist/ui/command.d.cts +2 -2
- package/dist/ui/command.d.ts +2 -2
- package/dist/ui/command.js +1 -1
- package/dist/ui/context-menu.d.cts +16 -16
- package/dist/ui/context-menu.d.ts +16 -16
- package/dist/ui/dialog.d.cts +1 -1
- package/dist/ui/dialog.d.ts +1 -1
- package/dist/ui/dropdown-menu.d.cts +16 -16
- package/dist/ui/dropdown-menu.d.ts +16 -16
- package/dist/ui/file-uploader.d.cts +2 -2
- package/dist/ui/file-uploader.d.ts +2 -2
- package/dist/ui/form.d.cts +7 -7
- package/dist/ui/form.d.ts +7 -7
- package/dist/ui/hover-card.d.cts +4 -4
- package/dist/ui/hover-card.d.ts +4 -4
- package/dist/ui/input-otp.d.cts +5 -5
- package/dist/ui/input-otp.d.ts +5 -5
- package/dist/ui/input.cjs +1 -1
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.ts +1 -1
- package/dist/ui/input.js +1 -1
- package/dist/ui/inputs/search-input.cjs +1 -1
- package/dist/ui/inputs/search-input.d.cts +3 -3
- package/dist/ui/inputs/search-input.d.ts +3 -3
- package/dist/ui/inputs/search-input.js +1 -1
- package/dist/ui/label.d.cts +2 -2
- package/dist/ui/label.d.ts +2 -2
- package/dist/ui/menubar.d.cts +17 -17
- package/dist/ui/menubar.d.ts +17 -17
- package/dist/ui/multi-select.cjs +1 -1
- package/dist/ui/multi-select.d.cts +2 -2
- package/dist/ui/multi-select.d.ts +2 -2
- package/dist/ui/multi-select.js +1 -1
- package/dist/ui/navigation-menu.d.cts +11 -11
- package/dist/ui/navigation-menu.d.ts +11 -11
- package/dist/ui/pagination.d.cts +9 -9
- package/dist/ui/pagination.d.ts +9 -9
- package/dist/ui/popover.cjs +1 -1
- package/dist/ui/popover.d.cts +5 -5
- package/dist/ui/popover.d.ts +5 -5
- package/dist/ui/popover.js +1 -1
- package/dist/ui/progress.d.cts +2 -2
- package/dist/ui/progress.d.ts +2 -2
- package/dist/ui/radio-group.d.cts +3 -3
- package/dist/ui/radio-group.d.ts +3 -3
- package/dist/ui/resizable.d.cts +4 -4
- package/dist/ui/resizable.d.ts +4 -4
- package/dist/ui/scroll-area.d.cts +3 -3
- package/dist/ui/scroll-area.d.ts +3 -3
- package/dist/ui/select.cjs +1 -1
- package/dist/ui/select.d.cts +11 -11
- package/dist/ui/select.d.ts +11 -11
- package/dist/ui/select.js +1 -1
- package/dist/ui/separator.d.cts +1 -1
- package/dist/ui/separator.d.ts +1 -1
- package/dist/ui/sheet.d.cts +9 -9
- package/dist/ui/sheet.d.ts +9 -9
- package/dist/ui/sidebar.cjs +1 -1
- package/dist/ui/sidebar.d.cts +30 -30
- package/dist/ui/sidebar.d.ts +30 -30
- package/dist/ui/sidebar.js +1 -1
- package/dist/ui/skeleton.d.cts +2 -2
- package/dist/ui/skeleton.d.ts +2 -2
- package/dist/ui/slider.d.cts +2 -2
- package/dist/ui/slider.d.ts +2 -2
- package/dist/ui/sonner.d.cts +2 -2
- package/dist/ui/sonner.d.ts +2 -2
- package/dist/ui/switch.cjs +1 -1
- package/dist/ui/switch.d.cts +2 -2
- package/dist/ui/switch.d.ts +2 -2
- package/dist/ui/switch.js +1 -1
- package/dist/ui/table.d.cts +9 -9
- package/dist/ui/table.d.ts +9 -9
- package/dist/ui/tabs.d.cts +5 -5
- package/dist/ui/tabs.d.ts +5 -5
- package/dist/ui/textarea.cjs +1 -1
- package/dist/ui/textarea.d.cts +2 -2
- package/dist/ui/textarea.d.ts +2 -2
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/toggle-group.d.cts +4 -4
- package/dist/ui/toggle-group.d.ts +4 -4
- package/dist/ui/toggle.d.cts +1 -1
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/tooltip.cjs +1 -1
- package/dist/ui/tooltip.d.cts +1 -1
- package/dist/ui/tooltip.d.ts +1 -1
- package/dist/ui/tooltip.js +1 -1
- package/package.json +1 -1
package/dist/table/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-BsjVK5EW.cjs`),n=require(`../button-Db_CKSZw.cjs`);require(`../input-C-60EZ1K.cjs`);const r=require(`../select-C5k0McoM.cjs`),i=require(`../flex-BSVrFdMJ.cjs`);require(`../paragraph-JXci2Ihg.cjs`);const a=require(`../dropdown-menu-DCzZUtLD.cjs`);require(`../scroll-area-DWFiNHIK.cjs`);const o=require(`../table-0gtpLtja.cjs`),s=require(`../search-input-DyqFLvzs.cjs`),c=require(`../add-new-CBg3KRIT.cjs`),l=require(`../refresh-X3mMFqTM.cjs`),u=e.__toESM(require(`react`)),d=e.__toESM(require(`react/jsx-runtime`)),f=e.__toESM(require(`lucide-react`)),p=e.__toESM(require(`@tanstack/react-table`)),m=e=>{let t=e.getIsPinned();return{left:t===`left`?`${e.getStart(`left`)}px`:void 0,right:t===`right`?`${e.getAfter(`right`)}px`:void 0,position:t?`sticky`:`relative`,width:e.getSize(),zIndex:t?1:0}},h=({column:e})=>{let t=e.getIsSorted(),n={asc:(0,d.jsx)(f.ChevronUp,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`}),desc:(0,d.jsx)(f.ChevronDown,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`})};return t?n[t]:null},g=({column:e})=>{let t=e.columnDef.header;return e.getCanPin()?e.getIsPinned()?(0,d.jsx)(n.Button,{size:`icon`,variant:`ghost`,color:`secondary`,className:`hover:[&_svg]:text-secondary-foreground -mr-1 size-7 shadow-none`,"aria-label":`Unpin ${t} column`,title:`Unpin ${t} column`,onClick:()=>e.pin(!1),children:(0,d.jsx)(f.PinOffIcon,{className:`opacity-60`,size:16,"aria-hidden":`true`})}):(0,d.jsxs)(a.DropdownMenu,{children:[(0,d.jsx)(a.DropdownMenuTrigger,{asChild:!0,children:(0,d.jsx)(n.Button,{size:`icon`,variant:`ghost`,color:`secondary`,className:`size-7 shadow-none`,"aria-label":`Pin options for ${t} column`,title:`Pin options for ${t} column`,children:(0,d.jsx)(f.EllipsisIcon,{className:`opacity-60`,size:16,"aria-hidden":`true`})})}),(0,d.jsxs)(a.DropdownMenuContent,{align:`end`,children:[(0,d.jsxs)(a.DropdownMenuItem,{onClick:()=>e.pin(`left`),children:[(0,d.jsx)(f.ArrowLeftToLineIcon,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to left`]}),(0,d.jsxs)(a.DropdownMenuItem,{onClick:()=>e.pin(`right`),children:[(0,d.jsx)(f.ArrowRightToLineIcon,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to right`]})]})]}):null},_=({header:e})=>{let{column:n}=e,r=e=>{n.getCanSort()&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n.getToggleSortingHandler()?.(e))};return(0,d.jsxs)(`div`,{className:`flex items-center justify-between gap-2 truncate`,children:[!e.isPlaceholder&&(0,d.jsxs)(`div`,{className:t.cn(n.getCanSort()&&`flex h-full cursor-pointer items-center justify-between gap-2 select-none`),onClick:n.getToggleSortingHandler(),onKeyDown:r,tabIndex:n.getCanSort()?0:void 0,children:[(0,d.jsx)(`span`,{className:`truncate`,children:(0,p.flexRender)(n.columnDef.header,e.getContext())}),(0,d.jsx)(h,{column:n})]}),!e.isPlaceholder&&(0,d.jsx)(g,{column:n})]})},v=({table:e,isLoading:n,onClickRow:r})=>{"use no memo";return(0,d.jsxs)(o.Table,{className:t.cn(`!w-full`,`table-fixed border-separate border-spacing-0`,`[&_td]:border-border-weak`,`[&_th]:border-border-weak`,`[&_th]:border-b`,`[&_th]:border-b-border-weak`,`[&_tr]:border-none`,`[&_tr:not(:last-child)_td]:border-b`,`[&_tr:not(:last-child)_td]:border-b-border-weak`,`[&_tfoot_td]:border-t`),style:{width:e.getTotalSize()},children:[(0,d.jsx)(o.TableHeader,{className:`sticky top-0 z-10 backdrop-blur-xs`,children:e.getHeaderGroups().map(e=>(0,d.jsx)(o.TableRow,{children:e.headers.map(e=>{let{column:n}=e,r=n.getIsPinned(),i=r===`left`&&n.getIsLastColumn(`left`),a=r===`right`&&n.getIsFirstColumn(`right`);return(0,d.jsx)(o.TableHead,{"data-pinned":r||void 0,"data-last-col":i?`left`:a?`right`:void 0,className:t.cn(`relative h-9 font-semibold select-none`,`data-pinned:backdrop-blur-xs`,`data-pinned:bg-muted-weak`,`[&>.cursor-col-resize]:last:opacity-0`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&:not([data-pinned]):has(+[data-pinned])_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-last-col=left]_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right]:last-child_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=right][data-last-col=right]]:border-l`),colSpan:e.colSpan,style:{width:e.getSize(),maxWidth:e.getSize(),...m(e.column)},children:(0,d.jsx)(_,{header:e})},e.id)})},e.id))}),(0,d.jsx)(o.TableBody,{className:t.cn(n&&`h-36`,e.getRowModel().rows?.length===0&&`h-48`),children:n?(0,d.jsx)(o.TableRow,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:(0,d.jsx)(o.TableCell,{children:`loading...`})}):(0,d.jsx)(u.default.Fragment,{children:e.getRowModel().rows?.length?e.getRowModel().rows.map(e=>(0,d.jsx)(o.TableRow,{"data-state":e.getIsSelected()&&`selected`,className:`cursor-pointer border-none focus:outline-none`,onClick:()=>r?.(e?.id||e.original?.id?.toString()||e.original?.uuid||void 0),children:e.getVisibleCells().map(e=>{let{column:n}=e,r=n.getIsPinned(),i=r===`left`&&n.getIsLastColumn(`left`),a=r===`right`&&n.getIsFirstColumn(`right`);return(0,d.jsx)(o.TableCell,{style:{...m(n),width:e.column.getSize(),maxWidth:e.column.getSize()},"data-pinned":r||void 0,"data-last-col":i?`left`:a?`right`:void 0,className:t.cn(`overflow-hidden py-2.5`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right][data-last-col=right]]:border-l`,`data-pinned:bg-background/90`),children:(0,p.flexRender)(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)):(0,d.jsx)(o.TableRow,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:(0,d.jsx)(o.TableCell,{children:(0,d.jsxs)(`div`,{className:`text-muted-foreground flex size-full flex-col items-center justify-center gap-y-8 text-base`,children:[(0,d.jsx)(f.PackagePlusIcon,{size:48,strokeWidth:2}),(0,d.jsx)(`p`,{children:`Thêm dữ liệu để hiển thị`})]})})})})})]})};function y({filteredSelectedRowsLength:e,filteredRowsLength:t,pageSize:i,setPageSize:a,pageIndex:o=0,setPageIndex:s,previousPage:c,nextPage:l,canPreviousPage:u,canNextPage:p,pageCount:m=1}){"use no memo";return(0,d.jsxs)(`div`,{className:`mt-4 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 px-2 sm:flex-row`,children:[(0,d.jsxs)(`div`,{className:`text-text-positive flex-1 text-sm`,children:[e,` of `,t,` row(s) selected.`]}),(0,d.jsxs)(`div`,{className:`flex w-full flex-col flex-wrap items-start space-y-2 sm:w-fit sm:space-y-4`,children:[(0,d.jsxs)(`div`,{className:`flex items-center space-x-2 sm:space-x-4`,children:[(0,d.jsx)(`p`,{className:`sr-only text-sm font-medium sm:not-sr-only sm:mr-4`,children:`Rows per page`}),(0,d.jsxs)(r.Select,{value:`${i}`,onValueChange:e=>{a?.(Number(e))},children:[(0,d.jsx)(r.SelectTrigger,{className:`h-8 w-18`,children:(0,d.jsx)(r.SelectValue,{placeholder:i})}),(0,d.jsx)(r.SelectContent,{side:`top`,children:[10,20,30,40,50].map(e=>(0,d.jsx)(r.SelectItem,{value:`${e}`,children:e},e))})]}),(0,d.jsxs)(`div`,{className:`flex items-center justify-center text-sm font-medium`,children:[`Page `,o+1,` of `,m]})]}),(0,d.jsxs)(`div`,{className:`flex w-full justify-end space-x-2 *:size-9 *:p-0`,children:[(0,d.jsxs)(n.Button,{variant:`outline`,color:`muted`,onClick:()=>s?.(0),disabled:!u,children:[(0,d.jsx)(`span`,{className:`sr-only`,children:`Go to first page`}),(0,d.jsx)(f.ChevronsLeft,{})]}),(0,d.jsxs)(n.Button,{variant:`outline`,color:`muted`,onClick:c,disabled:!u,children:[(0,d.jsx)(`span`,{className:`sr-only`,children:`Go to previous page`}),(0,d.jsx)(f.ChevronLeft,{})]}),(0,d.jsxs)(n.Button,{variant:`outline`,color:`muted`,onClick:l,disabled:!p,children:[(0,d.jsx)(`span`,{className:`sr-only`,children:`Go to next page`}),(0,d.jsx)(f.ChevronRight,{})]}),(0,d.jsxs)(n.Button,{variant:`outline`,color:`muted`,onClick:()=>{s?.(m-1)},disabled:!p,children:[(0,d.jsx)(`span`,{className:`sr-only`,children:`Go to last page`}),(0,d.jsx)(f.ChevronsRight,{})]})]})]})]})}const b=({onAdd:e,onRefresh:t})=>(0,d.jsxs)(i.Flex,{justify:`between`,padding:`none`,width:`full`,className:`flex-0`,children:[(0,d.jsx)(`div`,{className:`max-sm:flex-1`,children:(0,d.jsx)(s.SearchInput,{placeholder:`Search...`})}),(0,d.jsxs)(i.Flex,{wrap:!1,className:`flex-0 px-0`,children:[!!e&&(0,d.jsx)(c.AddNewBtn,{onClick:e}),(0,d.jsx)(l.RefreshBtn,{onClick:t})]})]});function x({data:e,totalCount:t,isLoading:n,columns:r,pagination:a,onAdd:o,onRefresh:s,onClickRow:c,onPaginationChange:l}){"use no memo";let[f,m]=u.default.useState({}),[h,g]=u.default.useState([]),[_,x]=u.default.useState([]),[S,C]=u.default.useState({}),w=u.default.useMemo(()=>({columnPinning:{right:[`actions`,`update`,`delete`]},pagination:{pageIndex:0,pageSize:20}}),[]),T=(0,p.useReactTable)({initialState:w,data:e,columns:r,rowCount:t,columnResizeMode:`onChange`,manualPagination:!0,enableColumnResizing:!1,enableMultiRowSelection:!1,getCoreRowModel:(0,p.getCoreRowModel)(),getPaginationRowModel:(0,p.getPaginationRowModel)(),getSortedRowModel:(0,p.getSortedRowModel)(),getFilteredRowModel:(0,p.getFilteredRowModel)(),getFacetedRowModel:(0,p.getFacetedRowModel)(),getFacetedUniqueValues:(0,p.getFacetedUniqueValues)(),getRowId:e=>e.id||e.uuid,state:{rowSelection:f,sorting:h,columnVisibility:S,columnFilters:_,...a?{pagination:a}:{}},onRowSelectionChange:m,onSortingChange:g,onColumnVisibilityChange:C,onColumnFiltersChange:x,...l?{onPaginationChange:l}:{}});return(0,d.jsxs)(i.Flex,{vertical:!0,wrap:!1,gap:`sm`,align:`start`,className:`size-full overflow-y-auto pt-1`,children:[(0,d.jsx)(b,{onAdd:o,onRefresh:s}),(0,d.jsxs)(i.Flex,{padding:`none`,vertical:!0,wrap:!1,width:`full`,className:`flex-1 overflow-auto pb-4`,children:[(0,d.jsx)(v,{table:T,isLoading:n,onClickRow:c}),(0,d.jsx)(y,{pageSize:T.getState().pagination.pageSize,setPageSize:T.setPageSize,filteredSelectedRowsLength:T.getFilteredSelectedRowModel().rows.length,filteredRowsLength:T.getFilteredRowModel().rows.length,pageIndex:T.getState().pagination.pageIndex,setPageIndex:T.setPageIndex,previousPage:T.previousPage,nextPage:T.nextPage,canPreviousPage:T.getCanPreviousPage(),canNextPage:T.getCanNextPage(),pageCount:T.getPageCount()})]})]})}exports.Table=x;
|
|
1
|
+
const e=require(`../chunk-CUT6urMc.cjs`),t=require(`../utils-BsjVK5EW.cjs`),n=require(`../button-Db_CKSZw.cjs`),r=require(`../flex-DjACH4wX.cjs`);require(`../paragraph-DA4bg12A.cjs`),require(`../input-C2xQcVZP.cjs`);const i=require(`../select-BCBdGAk7.cjs`),a=require(`../dropdown-menu-DCzZUtLD.cjs`);require(`../scroll-area-DWFiNHIK.cjs`);const o=require(`../table-0gtpLtja.cjs`),s=require(`../search-input-DzRJf6qI.cjs`),c=require(`../add-new-DfABsmli.cjs`),l=require(`../refresh-DmguI4WR.cjs`),u=e.__toESM(require(`react`)),d=e.__toESM(require(`react/jsx-runtime`)),f=e.__toESM(require(`lucide-react`)),p=e.__toESM(require(`@tanstack/react-table`)),m=e=>{let t=e.getIsPinned();return{left:t===`left`?`${e.getStart(`left`)}px`:void 0,right:t===`right`?`${e.getAfter(`right`)}px`:void 0,position:t?`sticky`:`relative`,width:e.getSize(),zIndex:t?1:0}},h=({column:e})=>{let t=e.getIsSorted(),n={asc:(0,d.jsx)(f.ChevronUp,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`}),desc:(0,d.jsx)(f.ChevronDown,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`})};return t?n[t]:null},g=({column:e})=>{let t=e.columnDef.header;return e.getCanPin()?e.getIsPinned()?(0,d.jsx)(n.Button,{size:`icon`,variant:`ghost`,color:`secondary`,className:`hover:[&_svg]:text-secondary-foreground -mr-1 size-7 shadow-none`,"aria-label":`Unpin ${t} column`,title:`Unpin ${t} column`,onClick:()=>e.pin(!1),children:(0,d.jsx)(f.PinOffIcon,{className:`opacity-60`,size:16,"aria-hidden":`true`})}):(0,d.jsxs)(a.DropdownMenu,{children:[(0,d.jsx)(a.DropdownMenuTrigger,{asChild:!0,children:(0,d.jsx)(n.Button,{size:`icon`,variant:`ghost`,color:`secondary`,className:`size-7 shadow-none`,"aria-label":`Pin options for ${t} column`,title:`Pin options for ${t} column`,children:(0,d.jsx)(f.EllipsisIcon,{className:`opacity-60`,size:16,"aria-hidden":`true`})})}),(0,d.jsxs)(a.DropdownMenuContent,{align:`end`,children:[(0,d.jsxs)(a.DropdownMenuItem,{onClick:()=>e.pin(`left`),children:[(0,d.jsx)(f.ArrowLeftToLineIcon,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to left`]}),(0,d.jsxs)(a.DropdownMenuItem,{onClick:()=>e.pin(`right`),children:[(0,d.jsx)(f.ArrowRightToLineIcon,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to right`]})]})]}):null},_=({header:e})=>{let{column:n}=e,r=e=>{n.getCanSort()&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n.getToggleSortingHandler()?.(e))};return(0,d.jsxs)(`div`,{className:`flex items-center justify-between gap-2 truncate`,children:[!e.isPlaceholder&&(0,d.jsxs)(`div`,{className:t.cn(n.getCanSort()&&`flex h-full cursor-pointer items-center justify-between gap-2 select-none`),onClick:n.getToggleSortingHandler(),onKeyDown:r,tabIndex:n.getCanSort()?0:void 0,children:[(0,d.jsx)(`span`,{className:`truncate`,children:(0,p.flexRender)(n.columnDef.header,e.getContext())}),(0,d.jsx)(h,{column:n})]}),!e.isPlaceholder&&(0,d.jsx)(g,{column:n})]})},v=({table:e,isLoading:n,onClickRow:r})=>{"use no memo";return(0,d.jsxs)(o.Table,{className:t.cn(`!w-full`,`table-fixed border-separate border-spacing-0`,`[&_td]:border-border-weak`,`[&_th]:border-border-weak`,`[&_th]:border-b`,`[&_th]:border-b-border-weak`,`[&_tr]:border-none`,`[&_tr:not(:last-child)_td]:border-b`,`[&_tr:not(:last-child)_td]:border-b-border-weak`,`[&_tfoot_td]:border-t`),style:{width:e.getTotalSize()},children:[(0,d.jsx)(o.TableHeader,{className:`sticky top-0 z-10 backdrop-blur-xs`,children:e.getHeaderGroups().map(e=>(0,d.jsx)(o.TableRow,{children:e.headers.map(e=>{let{column:n}=e,r=n.getIsPinned(),i=r===`left`&&n.getIsLastColumn(`left`),a=r===`right`&&n.getIsFirstColumn(`right`);return(0,d.jsx)(o.TableHead,{"data-pinned":r||void 0,"data-last-col":i?`left`:a?`right`:void 0,className:t.cn(`relative h-9 font-semibold select-none`,`data-pinned:backdrop-blur-xs`,`data-pinned:bg-muted-weak`,`[&>.cursor-col-resize]:last:opacity-0`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&:not([data-pinned]):has(+[data-pinned])_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-last-col=left]_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right]:last-child_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=right][data-last-col=right]]:border-l`),colSpan:e.colSpan,style:{width:e.getSize(),maxWidth:e.getSize(),...m(e.column)},children:(0,d.jsx)(_,{header:e})},e.id)})},e.id))}),(0,d.jsx)(o.TableBody,{className:t.cn(n&&`h-36`,e.getRowModel().rows?.length===0&&`h-48`),children:n?(0,d.jsx)(o.TableRow,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:(0,d.jsx)(o.TableCell,{children:`loading...`})}):(0,d.jsx)(u.default.Fragment,{children:e.getRowModel().rows?.length?e.getRowModel().rows.map(e=>(0,d.jsx)(o.TableRow,{"data-state":e.getIsSelected()&&`selected`,className:`cursor-pointer border-none focus:outline-none`,onClick:()=>r?.(e?.id||e.original?.id?.toString()||e.original?.uuid||void 0),children:e.getVisibleCells().map(e=>{let{column:n}=e,r=n.getIsPinned(),i=r===`left`&&n.getIsLastColumn(`left`),a=r===`right`&&n.getIsFirstColumn(`right`);return(0,d.jsx)(o.TableCell,{style:{...m(n),width:e.column.getSize(),maxWidth:e.column.getSize()},"data-pinned":r||void 0,"data-last-col":i?`left`:a?`right`:void 0,className:t.cn(`overflow-hidden py-2.5`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right][data-last-col=right]]:border-l`,`data-pinned:bg-background/90`),children:(0,p.flexRender)(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)):(0,d.jsx)(o.TableRow,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:(0,d.jsx)(o.TableCell,{children:(0,d.jsxs)(`div`,{className:`text-muted-foreground flex size-full flex-col items-center justify-center gap-y-8 text-base`,children:[(0,d.jsx)(f.PackagePlusIcon,{size:48,strokeWidth:2}),(0,d.jsx)(`p`,{children:`Thêm dữ liệu để hiển thị`})]})})})})})]})};function y({filteredSelectedRowsLength:e,filteredRowsLength:t,pageSize:r,setPageSize:a,pageIndex:o=0,setPageIndex:s,previousPage:c,nextPage:l,canPreviousPage:u,canNextPage:p,pageCount:m=1}){"use no memo";return(0,d.jsxs)(`div`,{className:`mt-4 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 px-2 sm:flex-row`,children:[(0,d.jsxs)(`div`,{className:`text-text-positive flex-1 text-sm`,children:[e,` of `,t,` row(s) selected.`]}),(0,d.jsxs)(`div`,{className:`flex w-full flex-col flex-wrap items-start space-y-2 sm:w-fit sm:space-y-4`,children:[(0,d.jsxs)(`div`,{className:`flex items-center space-x-2 sm:space-x-4`,children:[(0,d.jsx)(`p`,{className:`sr-only text-sm font-medium sm:not-sr-only sm:mr-4`,children:`Rows per page`}),(0,d.jsxs)(i.Select,{value:`${r}`,onValueChange:e=>{a?.(Number(e))},children:[(0,d.jsx)(i.SelectTrigger,{className:`h-8 w-18`,children:(0,d.jsx)(i.SelectValue,{placeholder:r})}),(0,d.jsx)(i.SelectContent,{side:`top`,children:[10,20,30,40,50].map(e=>(0,d.jsx)(i.SelectItem,{value:`${e}`,children:e},e))})]}),(0,d.jsxs)(`div`,{className:`flex items-center justify-center text-sm font-medium`,children:[`Page `,o+1,` of `,m]})]}),(0,d.jsxs)(`div`,{className:`flex w-full justify-end space-x-2 *:size-9 *:p-0`,children:[(0,d.jsxs)(n.Button,{variant:`outline`,color:`muted`,onClick:()=>s?.(0),disabled:!u,children:[(0,d.jsx)(`span`,{className:`sr-only`,children:`Go to first page`}),(0,d.jsx)(f.ChevronsLeft,{})]}),(0,d.jsxs)(n.Button,{variant:`outline`,color:`muted`,onClick:c,disabled:!u,children:[(0,d.jsx)(`span`,{className:`sr-only`,children:`Go to previous page`}),(0,d.jsx)(f.ChevronLeft,{})]}),(0,d.jsxs)(n.Button,{variant:`outline`,color:`muted`,onClick:l,disabled:!p,children:[(0,d.jsx)(`span`,{className:`sr-only`,children:`Go to next page`}),(0,d.jsx)(f.ChevronRight,{})]}),(0,d.jsxs)(n.Button,{variant:`outline`,color:`muted`,onClick:()=>{s?.(m-1)},disabled:!p,children:[(0,d.jsx)(`span`,{className:`sr-only`,children:`Go to last page`}),(0,d.jsx)(f.ChevronsRight,{})]})]})]})]})}const b=({onAdd:e,onRefresh:t})=>(0,d.jsxs)(r.Flex,{justify:`between`,padding:`none`,width:`full`,className:`flex-0`,children:[(0,d.jsx)(`div`,{className:`max-sm:flex-1`,children:(0,d.jsx)(s.SearchInput,{placeholder:`Search...`})}),(0,d.jsxs)(r.Flex,{wrap:!1,className:`flex-0 px-0`,children:[!!e&&(0,d.jsx)(c.AddNewBtn,{onClick:e}),(0,d.jsx)(l.RefreshBtn,{onClick:t})]})]});function x({data:e,totalCount:t,isLoading:n,columns:i,pagination:a,onAdd:o,onRefresh:s,onClickRow:c,onPaginationChange:l}){"use no memo";let[f,m]=u.default.useState({}),[h,g]=u.default.useState([]),[_,x]=u.default.useState([]),[S,C]=u.default.useState({}),w=u.default.useMemo(()=>({columnPinning:{right:[`actions`,`update`,`delete`]},pagination:{pageIndex:0,pageSize:20}}),[]),T=(0,p.useReactTable)({initialState:w,data:e,columns:i,rowCount:t,columnResizeMode:`onChange`,manualPagination:!0,enableColumnResizing:!1,enableMultiRowSelection:!1,getCoreRowModel:(0,p.getCoreRowModel)(),getPaginationRowModel:(0,p.getPaginationRowModel)(),getSortedRowModel:(0,p.getSortedRowModel)(),getFilteredRowModel:(0,p.getFilteredRowModel)(),getFacetedRowModel:(0,p.getFacetedRowModel)(),getFacetedUniqueValues:(0,p.getFacetedUniqueValues)(),getRowId:e=>e.id||e.uuid,state:{rowSelection:f,sorting:h,columnVisibility:S,columnFilters:_,...a?{pagination:a}:{}},onRowSelectionChange:m,onSortingChange:g,onColumnVisibilityChange:C,onColumnFiltersChange:x,...l?{onPaginationChange:l}:{}});return(0,d.jsxs)(r.Flex,{vertical:!0,wrap:!1,gap:`sm`,align:`start`,className:`size-full overflow-y-auto pt-1`,children:[(0,d.jsx)(b,{onAdd:o,onRefresh:s}),(0,d.jsxs)(r.Flex,{padding:`none`,vertical:!0,wrap:!1,width:`full`,className:`flex-1 overflow-auto pb-4`,children:[(0,d.jsx)(v,{table:T,isLoading:n,onClickRow:c}),(0,d.jsx)(y,{pageSize:T.getState().pagination.pageSize,setPageSize:T.setPageSize,filteredSelectedRowsLength:T.getFilteredSelectedRowModel().rows.length,filteredRowsLength:T.getFilteredRowModel().rows.length,pageIndex:T.getState().pagination.pageIndex,setPageIndex:T.setPageIndex,previousPage:T.previousPage,nextPage:T.nextPage,canPreviousPage:T.getCanPreviousPage(),canNextPage:T.getCanNextPage(),pageCount:T.getPageCount()})]})]})}exports.Table=x;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/table/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["ChevronUp","ChevronDown","Button","PinOffIcon","DropdownMenu","DropdownMenuTrigger","EllipsisIcon","DropdownMenuContent","DropdownMenuItem","ArrowLeftToLineIcon","ArrowRightToLineIcon","cn","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","React","PackagePlusIcon","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","pageSize","Button","ChevronsLeft","ChevronLeft","ChevronRight","ChevronsRight","DataTableHeader: React.FC<Props>","Flex","SearchInput","AddNewBtn","RefreshBtn","React","Flex"],"sources":["../../packages/components/table/data-table.tsx","../../packages/components/table/data-table-pagination.tsx","../../packages/components/table/data-table-header.tsx","../../packages/components/table/index.tsx"],"sourcesContent":["import React from 'react'\nimport { type Column, flexRender, type Header, type Table as ReactTable } from '@tanstack/react-table'\nimport { ArrowLeftToLineIcon, ArrowRightToLineIcon, ChevronDown, ChevronUp, EllipsisIcon, PackagePlusIcon, PinOffIcon } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\nimport type { AnyEntity } from '@/types'\n\nimport { Button } from '@/components/ui/button'\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'\nimport { ScrollArea, ScrollBar } from '@/components/ui/scroll-area'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table'\n\n// Helper function to compute pinning styles for columns\nconst getPinningStyles = (column: Column<AnyEntity>): React.CSSProperties => {\n const isPinned = column.getIsPinned()\n return {\n left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n width: column.getSize(),\n zIndex: isPinned ? 1 : 0,\n }\n}\n\nconst SortingIndicator = ({ column }: { column: Column<AnyEntity> }) => {\n const sortDirection = column.getIsSorted()\n\n const icons = {\n asc: <ChevronUp className=\"shrink-0 opacity-60\" size={16} strokeWidth={2} aria-hidden=\"true\" />,\n desc: <ChevronDown className=\"shrink-0 opacity-60\" size={16} strokeWidth={2} aria-hidden=\"true\" />,\n }\n\n return sortDirection ? icons[sortDirection] : null\n}\n\nconst PinControls = ({ column }: { column: Column<AnyEntity> }) => {\n const columnHeader = column.columnDef.header as string\n\n if (!column.getCanPin()) return null\n\n if (column.getIsPinned()) {\n return (\n <Button\n size=\"icon\"\n variant=\"ghost\"\n color=\"secondary\"\n className=\"hover:[&_svg]:text-secondary-foreground -mr-1 size-7 shadow-none\"\n aria-label={`Unpin ${columnHeader} column`}\n title={`Unpin ${columnHeader} column`}\n onClick={() => column.pin(false)}\n >\n <PinOffIcon className=\"opacity-60\" size={16} aria-hidden=\"true\" />\n </Button>\n )\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n size=\"icon\"\n variant=\"ghost\"\n color=\"secondary\"\n className=\"size-7 shadow-none\"\n aria-label={`Pin options for ${columnHeader} column`}\n title={`Pin options for ${columnHeader} column`}\n >\n <EllipsisIcon className=\"opacity-60\" size={16} aria-hidden=\"true\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => column.pin('left')}>\n <ArrowLeftToLineIcon size={16} className=\"opacity-60\" aria-hidden=\"true\" />\n Stick to left\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => column.pin('right')}>\n <ArrowRightToLineIcon size={16} className=\"opacity-60\" aria-hidden=\"true\" />\n Stick to right\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n\nconst HeaderContent = ({ header }: { header: Header<AnyEntity, unknown> }) => {\n const { column } = header\n\n const handleSort = (e: React.KeyboardEvent) => {\n if (column.getCanSort() && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault()\n column.getToggleSortingHandler()?.(e)\n }\n }\n\n return (\n <div className=\"flex items-center justify-between gap-2 truncate\">\n {!header.isPlaceholder && (\n <div\n className={cn(column.getCanSort() && 'flex h-full cursor-pointer items-center justify-between gap-2 select-none')}\n onClick={column.getToggleSortingHandler()}\n onKeyDown={handleSort}\n tabIndex={column.getCanSort() ? 0 : undefined}\n >\n <span className=\"truncate\">{flexRender(column.columnDef.header, header.getContext())}</span>\n <SortingIndicator column={column} />\n </div>\n )}\n {!header.isPlaceholder && <PinControls column={column} />}\n </div>\n )\n}\n\ninterface DataTableProps {\n table: ReactTable<AnyEntity>\n columnsLength?: number\n isLoading?: boolean\n onClickRow?: (id: string) => void\n}\n\nexport const DataTable = ({ table, isLoading, onClickRow }: DataTableProps) => {\n 'use no memo'\n\n return (\n <Table\n className={cn(\n '!w-full',\n 'table-fixed border-separate border-spacing-0',\n '[&_td]:border-border-weak',\n '[&_th]:border-border-weak',\n '[&_th]:border-b',\n '[&_th]:border-b-border-weak',\n '[&_tr]:border-none',\n '[&_tr:not(:last-child)_td]:border-b',\n '[&_tr:not(:last-child)_td]:border-b-border-weak',\n '[&_tfoot_td]:border-t',\n )}\n style={{\n width: table.getTotalSize(),\n }}\n >\n <TableHeader className=\"sticky top-0 z-10 backdrop-blur-xs\">\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const { column } = header\n const isPinned = column.getIsPinned()\n const isLastLeftPinned = isPinned === 'left' && column.getIsLastColumn('left')\n const isFirstRightPinned = isPinned === 'right' && column.getIsFirstColumn('right')\n return (\n <TableHead\n key={header.id}\n data-pinned={isPinned || undefined}\n data-last-col={isLastLeftPinned ? 'left' : isFirstRightPinned ? 'right' : undefined}\n className={cn(\n 'relative h-9 font-semibold select-none',\n 'data-pinned:backdrop-blur-xs',\n 'data-pinned:bg-muted-weak',\n '[&>.cursor-col-resize]:last:opacity-0',\n '[&[data-pinned][data-last-col]]:border-border-weak',\n '[&:not([data-pinned]):has(+[data-pinned])_div.cursor-col-resize:last-child]:opacity-0',\n '[&[data-last-col=left]_div.cursor-col-resize:last-child]:opacity-0',\n '[&[data-pinned=left][data-last-col=left]]:border-r',\n '[&[data-pinned=right]:last-child_div.cursor-col-resize:last-child]:opacity-0',\n '[&[data-pinned=right][data-last-col=right]]:border-l',\n )}\n {...{\n colSpan: header.colSpan,\n style: {\n width: header.getSize(),\n maxWidth: header.getSize(),\n ...getPinningStyles(header.column),\n },\n }}\n >\n <HeaderContent header={header} />\n </TableHead>\n )\n })}\n </TableRow>\n ))}\n </TableHeader>\n\n <TableBody className={cn(isLoading && 'h-36', table.getRowModel().rows?.length === 0 && 'h-48')}>\n {isLoading ? (\n <TableRow className=\"absolute top-9 flex h-36 w-full items-center justify-center\">\n <TableCell>loading...</TableCell>\n </TableRow>\n ) : (\n <React.Fragment>\n {table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && 'selected'}\n className=\"cursor-pointer border-none focus:outline-none\"\n onClick={() => onClickRow?.(row?.id || row.original?.id?.toString() || row.original?.uuid || undefined)}\n >\n {row.getVisibleCells().map((cell) => {\n const { column } = cell\n const isPinned = column.getIsPinned()\n const isLastLeftPinned = isPinned === 'left' && column.getIsLastColumn('left')\n const isFirstRightPinned = isPinned === 'right' && column.getIsFirstColumn('right')\n return (\n <TableCell\n key={cell.id}\n style={{\n ...getPinningStyles(column),\n width: cell.column.getSize(),\n maxWidth: cell.column.getSize(),\n }}\n data-pinned={isPinned || undefined}\n data-last-col={isLastLeftPinned ? 'left' : isFirstRightPinned ? 'right' : undefined}\n className={cn(\n 'overflow-hidden py-2.5',\n '[&[data-pinned][data-last-col]]:border-border-weak',\n '[&[data-pinned=left][data-last-col=left]]:border-r',\n '[&[data-pinned=right][data-last-col=right]]:border-l',\n 'data-pinned:bg-background/90',\n )}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n )\n })}\n </TableRow>\n ))\n ) : (\n <TableRow className=\"absolute top-9 flex h-36 w-full items-center justify-center\">\n <TableCell>\n <div className=\"text-muted-foreground flex size-full flex-col items-center justify-center gap-y-8 text-base\">\n <PackagePlusIcon size={48} strokeWidth={2} />\n <p>Thêm dữ liệu để hiển thị</p>\n </div>\n </TableCell>\n </TableRow>\n )}\n </React.Fragment>\n )}\n </TableBody>\n </Table>\n )\n}\n","import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react'\n\nimport { Button } from '@/components/ui/button'\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'\n\ninterface DataTablePaginationProps {\n filteredSelectedRowsLength?: number\n filteredRowsLength?: number\n\n pageSize?: number\n setPageSize?: (size: number) => void\n\n pageIndex?: number\n setPageIndex?: (index: number) => void\n\n previousPage?: () => void\n nextPage?: () => void\n\n canPreviousPage?: boolean\n canNextPage?: boolean\n\n pageCount?: number\n}\n\nexport function DataTablePagination<TData>({\n filteredSelectedRowsLength,\n filteredRowsLength,\n pageSize,\n setPageSize,\n pageIndex = 0,\n setPageIndex,\n previousPage,\n nextPage,\n canPreviousPage,\n canNextPage,\n pageCount = 1,\n}: DataTablePaginationProps) {\n 'use no memo'\n return (\n <div className=\"mt-4 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 px-2 sm:flex-row\">\n <div className=\"text-text-positive flex-1 text-sm\">\n {filteredSelectedRowsLength} of {filteredRowsLength} row(s) selected.\n </div>\n\n <div className=\"flex w-full flex-col flex-wrap items-start space-y-2 sm:w-fit sm:space-y-4\">\n <div className=\"flex items-center space-x-2 sm:space-x-4\">\n <p className=\"sr-only text-sm font-medium sm:not-sr-only sm:mr-4\">Rows per page</p>\n <Select\n value={`${pageSize}`}\n onValueChange={(value) => {\n setPageSize?.(Number(value))\n }}\n >\n <SelectTrigger className=\"h-8 w-18\">\n <SelectValue placeholder={pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <div className=\"flex items-center justify-center text-sm font-medium\">\n Page {pageIndex + 1} of {pageCount}\n </div>\n </div>\n\n <div className=\"flex w-full justify-end space-x-2 *:size-9 *:p-0\">\n <Button variant=\"outline\" color=\"muted\" onClick={() => setPageIndex?.(0)} disabled={!canPreviousPage}>\n <span className=\"sr-only\">Go to first page</span>\n <ChevronsLeft />\n </Button>\n <Button variant=\"outline\" color=\"muted\" onClick={previousPage} disabled={!canPreviousPage}>\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeft />\n </Button>\n <Button variant=\"outline\" color=\"muted\" onClick={nextPage} disabled={!canNextPage}>\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRight />\n </Button>\n <Button\n variant=\"outline\"\n color=\"muted\"\n onClick={() => {\n setPageIndex?.(pageCount - 1)\n }}\n disabled={!canNextPage}\n >\n <span className=\"sr-only\">Go to last page</span>\n <ChevronsRight />\n </Button>\n </div>\n </div>\n </div>\n )\n}\n","import { Flex } from '@/components/layouts/flex'\nimport { SearchInput } from '@/components/ui/inputs/search-input'\nimport { AddNewBtn } from '@/components/ui/buttons/add-new'\nimport { RefreshBtn } from '@/components/ui/buttons/refresh'\n\ntype Props = {\n onAdd?: () => void\n onRefresh?: () => void\n}\n\nexport const DataTableHeader: React.FC<Props> = ({ onAdd, onRefresh }) => {\n return (\n <Flex justify=\"between\" padding=\"none\" width=\"full\" className=\"flex-0\">\n <div className=\"max-sm:flex-1\">\n <SearchInput placeholder=\"Search...\" />\n </div>\n <Flex wrap={false} className=\"flex-0 px-0\">\n {!!onAdd && <AddNewBtn onClick={onAdd} />}\n <RefreshBtn onClick={onRefresh} />\n </Flex>\n </Flex>\n )\n}\n","import React from 'react'\nimport {\n type ColumnDef,\n type ColumnFiltersState,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type PaginationState,\n type RowSelectionState,\n type SortingState,\n useReactTable,\n type VisibilityState,\n} from '@tanstack/react-table'\n\nimport { DataTable } from './data-table'\nimport { DataTablePagination } from './data-table-pagination'\nimport { Flex } from '../layouts/flex'\nimport { DataTableHeader } from './data-table-header'\n\ntype Props<T> = {\n data: T[]\n totalCount?: number\n isLoading?: boolean\n columns: ColumnDef<T>[]\n pagination?: PaginationState\n onAdd?: () => void\n onRefresh?: () => void\n onClickRow?: (id: string) => void\n onPaginationChange?: React.Dispatch<React.SetStateAction<PaginationState>>\n}\nexport function Table<T extends Record<string, unknown>>({\n data,\n totalCount,\n isLoading,\n columns,\n pagination,\n onAdd,\n onRefresh,\n onClickRow,\n onPaginationChange,\n}: Props<T>) {\n 'use no memo'\n\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({})\n const [sorting, setSorting] = React.useState<SortingState>([])\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>([])\n const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>({})\n\n const initialState = React.useMemo(\n () => ({\n columnPinning: { right: ['actions', 'update', 'delete'] },\n pagination: { pageIndex: 0, pageSize: 20 },\n }),\n [],\n )\n\n const table = useReactTable<T>({\n initialState,\n data,\n columns,\n rowCount: totalCount,\n columnResizeMode: 'onChange',\n manualPagination: true,\n enableColumnResizing: false,\n enableMultiRowSelection: false,\n getCoreRowModel: getCoreRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getRowId: (row) => (row.id as string) || (row.uuid as string),\n state: {\n rowSelection,\n sorting,\n columnVisibility,\n columnFilters,\n ...(pagination ? { pagination } : {}),\n },\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnVisibilityChange: setColumnVisibility,\n onColumnFiltersChange: setColumnFilters,\n ...(onPaginationChange ? { onPaginationChange } : {}),\n })\n\n return (\n <Flex vertical wrap={false} gap=\"sm\" align=\"start\" className=\"size-full overflow-y-auto pt-1\">\n <DataTableHeader onAdd={onAdd} onRefresh={onRefresh} />\n <Flex padding=\"none\" vertical wrap={false} width=\"full\" className=\"flex-1 overflow-auto pb-4\">\n <DataTable table={table} isLoading={isLoading} onClickRow={onClickRow} />\n <DataTablePagination\n pageSize={table.getState().pagination.pageSize}\n setPageSize={table.setPageSize}\n filteredSelectedRowsLength={table.getFilteredSelectedRowModel().rows.length}\n filteredRowsLength={table.getFilteredRowModel().rows.length}\n pageIndex={table.getState().pagination.pageIndex}\n setPageIndex={table.setPageIndex}\n previousPage={table.previousPage}\n nextPage={table.nextPage}\n canPreviousPage={table.getCanPreviousPage()}\n canNextPage={table.getCanNextPage()}\n pageCount={table.getPageCount()}\n />\n </Flex>\n </Flex>\n )\n}\n"],"mappings":"kpBAaM,EAAoB,GAAmD,CAC3E,IAAM,EAAW,EAAO,cACxB,MAAO,CACL,KAAM,IAAa,OAAS,GAAG,EAAO,SAAS,QAAQ,IAAM,IAAA,GAC7D,MAAO,IAAa,QAAU,GAAG,EAAO,SAAS,SAAS,IAAM,IAAA,GAChE,SAAU,EAAW,SAAW,WAChC,MAAO,EAAO,UACd,OAAQ,EAAW,EAAI,IAIrB,GAAoB,CAAE,YAA4C,CACtE,IAAM,EAAgB,EAAO,cAEvB,EAAQ,CACZ,KAAK,EAAA,EAAA,KAACA,EAAAA,UAAAA,CAAU,UAAU,sBAAsB,KAAM,GAAI,YAAa,EAAG,cAAY,SACtF,MAAM,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAY,UAAU,sBAAsB,KAAM,GAAI,YAAa,EAAG,cAAY,UAG3F,OAAO,EAAgB,EAAM,GAAiB,MAG1C,GAAe,CAAE,YAA4C,CACjE,IAAM,EAAe,EAAO,UAAU,OAoBtC,OAlBK,EAAO,YAER,EAAO,eAEP,EAAA,EAAA,KAACyB,EAAAA,OAAAA,CACC,KAAK,OACL,QAAQ,QACR,MAAM,YACN,UAAU,mEACV,aAAY,SAAS,EAAa,SAClC,MAAO,SAAS,EAAa,SAC7B,YAAe,EAAO,IAAI,cAE1B,EAAA,EAAA,KAACvB,EAAAA,WAAAA,CAAW,UAAU,aAAa,KAAM,GAAI,cAAY,YAM7D,EAAA,EAAA,MAACC,EAAAA,aAAAA,CAAAA,SAAAA,EACC,EAAA,EAAA,KAACC,EAAAA,oBAAAA,CAAoB,QAAA,aACnB,EAAA,EAAA,KAACqB,EAAAA,OAAAA,CACC,KAAK,OACL,QAAQ,QACR,MAAM,YACN,UAAU,qBACV,aAAY,mBAAmB,EAAa,SAC5C,MAAO,mBAAmB,EAAa,mBAEvC,EAAA,EAAA,KAACpB,EAAAA,aAAAA,CAAa,UAAU,aAAa,KAAM,GAAI,cAAY,cAG/D,EAAA,EAAA,MAACC,EAAAA,oBAAAA,CAAoB,MAAM,iBACzB,EAAA,EAAA,MAACC,EAAAA,iBAAAA,CAAiB,YAAe,EAAO,IAAI,mBAC1C,EAAA,EAAA,KAACC,EAAAA,oBAAAA,CAAoB,KAAM,GAAI,UAAU,aAAa,cAAY,SAAS,oBAG7E,EAAA,EAAA,MAACD,EAAAA,iBAAAA,CAAiB,YAAe,EAAO,IAAI,oBAC1C,EAAA,EAAA,KAACE,EAAAA,qBAAAA,CAAqB,KAAM,GAAI,UAAU,aAAa,cAAY,SAAS,0BAtCpD,MA8C5B,GAAiB,CAAE,YAAqD,CAC5E,GAAM,CAAE,UAAW,EAEb,EAAc,GAA2B,CACzC,EAAO,eAAiB,EAAE,MAAQ,SAAW,EAAE,MAAQ,OACzD,EAAE,iBACF,EAAO,4BAA4B,KAIvC,OACE,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,6DACZ,CAAC,EAAO,gBACP,EAAA,EAAA,MAAC,MAAA,CACC,UAAWC,EAAAA,GAAG,EAAO,cAAgB,6EACrC,QAAS,EAAO,0BAChB,UAAW,EACX,SAAU,EAAO,aAAe,EAAI,IAAA,cAEpC,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,qCAAuB,EAAO,UAAU,OAAQ,EAAO,iBACvE,EAAA,EAAA,KAAC,EAAA,CAAyB,cAG7B,CAAC,EAAO,gBAAiB,EAAA,EAAA,KAAC,EAAA,CAAoB,eAYxC,GAAa,CAAE,QAAO,YAAW,gBAAiC,CAC7E,cAEA,OACE,EAAA,EAAA,MAACC,EAAAA,MAAAA,CACC,UAAWD,EAAAA,GACT,UACA,+CACA,4BACA,4BACA,kBACA,8BACA,qBACA,sCACA,kDACA,yBAEF,MAAO,CACL,MAAO,EAAM,2BAGf,EAAA,EAAA,KAACE,EAAAA,YAAAA,CAAY,UAAU,8CACpB,EAAM,kBAAkB,IAAK,IAC5B,EAAA,EAAA,KAACC,EAAAA,SAAAA,CAAAA,SACE,EAAY,QAAQ,IAAK,GAAW,CACnC,GAAM,CAAE,UAAW,EACb,EAAW,EAAO,cAClB,EAAmB,IAAa,QAAU,EAAO,gBAAgB,QACjE,EAAqB,IAAa,SAAW,EAAO,iBAAiB,SAC3E,OACE,EAAA,EAAA,KAACC,EAAAA,UAAAA,CAEC,cAAa,GAAY,IAAA,GACzB,gBAAe,EAAmB,OAAS,EAAqB,QAAU,IAAA,GAC1E,UAAWJ,EAAAA,GACT,yCACA,+BACA,4BACA,wCACA,qDACA,wFACA,qEACA,qDACA,+EACA,wDAGA,QAAS,EAAO,QAChB,MAAO,CACL,MAAO,EAAO,UACd,SAAU,EAAO,UACjB,GAAG,EAAiB,EAAO,mBAI/B,EAAA,EAAA,KAAC,EAAA,CAAsB,YAxBlB,EAAO,OARL,EAAY,QAwC/B,EAAA,EAAA,KAACK,EAAAA,UAAAA,CAAU,UAAWL,EAAAA,GAAG,GAAa,OAAQ,EAAM,cAAc,MAAM,SAAW,GAAK,iBACrF,GACC,EAAA,EAAA,KAACG,EAAAA,SAAAA,CAAS,UAAU,wEAClB,EAAA,EAAA,KAACG,EAAAA,UAAAA,CAAAA,SAAU,kBAGb,EAAA,EAAA,KAACmB,EAAAA,QAAM,SAAA,CAAA,SACJ,EAAM,cAAc,MAAM,OACzB,EAAM,cAAc,KAAK,IAAK,IAC5B,EAAA,EAAA,KAACtB,EAAAA,SAAAA,CAEC,aAAY,EAAI,iBAAmB,WACnC,UAAU,gDACV,YAAe,IAAa,GAAK,IAAM,EAAI,UAAU,IAAI,YAAc,EAAI,UAAU,MAAQ,IAAA,aAE5F,EAAI,kBAAkB,IAAK,GAAS,CACnC,GAAM,CAAE,UAAW,EACb,EAAW,EAAO,cAClB,EAAmB,IAAa,QAAU,EAAO,gBAAgB,QACjE,EAAqB,IAAa,SAAW,EAAO,iBAAiB,SAC3E,OACE,EAAA,EAAA,KAACG,EAAAA,UAAAA,CAEC,MAAO,CACL,GAAG,EAAiB,GACpB,MAAO,EAAK,OAAO,UACnB,SAAU,EAAK,OAAO,WAExB,cAAa,GAAY,IAAA,GACzB,gBAAe,EAAmB,OAAS,EAAqB,QAAU,IAAA,GAC1E,UAAWN,EAAAA,GACT,yBACA,qDACA,qDACA,uDACA,0DAGU,EAAK,OAAO,UAAU,KAAM,EAAK,eAhBxC,EAAK,OAZX,EAAI,MAmCb,EAAA,EAAA,KAACG,EAAAA,SAAAA,CAAS,UAAU,wEAClB,EAAA,EAAA,KAACG,EAAAA,UAAAA,CAAAA,UACC,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,yGACb,EAAA,EAAA,KAACE,EAAAA,gBAAAA,CAAgB,KAAM,GAAI,YAAa,KACxC,EAAA,EAAA,KAAC,IAAA,CAAA,SAAE,4CC/MvB,SAAgB,EAA2B,CACzC,6BACA,qBACA,WACA,cACA,YAAY,EACZ,eACA,eACA,WACA,kBACA,cACA,YAAY,GACe,CAC3B,cACA,OACE,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,+FACb,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,8CACZ,EAA2B,OAAK,EAAmB,wBAGtD,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,wFACb,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,sDACb,EAAA,EAAA,KAAC,IAAA,CAAE,UAAU,8DAAqD,mBAClE,EAAA,EAAA,MAACC,EAAAA,OAAAA,CACC,MAAO,GAAG,IACV,cAAgB,GAAU,CACxB,IAAc,OAAO,gBAGvB,EAAA,EAAA,KAACC,EAAAA,cAAAA,CAAc,UAAU,qBACvB,EAAA,EAAA,KAACC,EAAAA,YAAAA,CAAY,YAAa,OAE5B,EAAA,EAAA,KAACC,EAAAA,cAAAA,CAAc,KAAK,eACjB,CAAC,GAAI,GAAI,GAAI,GAAI,IAAI,IAAK,IACzB,EAAA,EAAA,KAACC,EAAAA,WAAAA,CAA0B,MAAO,GAAGC,aAClCA,GADcA,UAMvB,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,iEAAuD,QAC9D,EAAY,EAAE,OAAK,SAI7B,EAAA,EAAA,MAAC,MAAA,CAAI,UAAU,8DACb,EAAA,EAAA,MAACC,EAAAA,OAAAA,CAAO,QAAQ,UAAU,MAAM,QAAQ,YAAe,IAAe,GAAI,SAAU,CAAC,aACnF,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,mBAAU,sBAC1B,EAAA,EAAA,KAACC,EAAAA,aAAAA,QAEH,EAAA,EAAA,MAACD,EAAAA,OAAAA,CAAO,QAAQ,UAAU,MAAM,QAAQ,QAAS,EAAc,SAAU,CAAC,aACxE,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,mBAAU,yBAC1B,EAAA,EAAA,KAACE,EAAAA,YAAAA,QAEH,EAAA,EAAA,MAACF,EAAAA,OAAAA,CAAO,QAAQ,UAAU,MAAM,QAAQ,QAAS,EAAU,SAAU,CAAC,aACpE,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,mBAAU,qBAC1B,EAAA,EAAA,KAACG,EAAAA,aAAAA,QAEH,EAAA,EAAA,MAACH,EAAAA,OAAAA,CACC,QAAQ,UACR,MAAM,QACN,YAAe,CACb,IAAe,EAAY,IAE7B,SAAU,CAAC,aAEX,EAAA,EAAA,KAAC,OAAA,CAAK,UAAU,mBAAU,qBAC1B,EAAA,EAAA,KAACI,EAAAA,cAAAA,gBCjFb,MAAaC,GAAoC,CAAE,QAAO,gBAEtD,EAAA,EAAA,MAACM,EAAAA,KAAAA,CAAK,QAAQ,UAAU,QAAQ,OAAO,MAAM,OAAO,UAAU,oBAC5D,EAAA,EAAA,KAAC,MAAA,CAAI,UAAU,0BACb,EAAA,EAAA,KAACJ,EAAAA,YAAAA,CAAY,YAAY,iBAE3B,EAAA,EAAA,MAACI,EAAAA,KAAAA,CAAK,KAAM,GAAO,UAAU,wBAC1B,CAAC,CAAC,IAAS,EAAA,EAAA,KAACH,EAAAA,UAAAA,CAAU,QAAS,KAChC,EAAA,EAAA,KAACC,EAAAA,WAAAA,CAAW,QAAS,UCe7B,SAAgB,EAAyC,CACvD,OACA,aACA,YACA,UACA,aACA,QACA,YACA,aACA,sBACW,CACX,cAEA,GAAM,CAAC,EAAc,GAAmBC,EAAAA,QAAM,SAA4B,IACpE,CAAC,EAAS,GAAcA,EAAAA,QAAM,SAAuB,IACrD,CAAC,EAAe,GAAoBA,EAAAA,QAAM,SAA6B,IACvE,CAAC,EAAkB,GAAuBA,EAAAA,QAAM,SAA0B,IAE1E,EAAeA,EAAAA,QAAM,aAClB,CACL,cAAe,CAAE,MAAO,CAAC,UAAW,SAAU,WAC9C,WAAY,CAAE,UAAW,EAAG,SAAU,MAExC,IAGI,GAAA,EAAA,EAAA,eAAyB,CAC7B,eACA,OACA,UACA,SAAU,EACV,iBAAkB,WAClB,iBAAkB,GAClB,qBAAsB,GACtB,wBAAyB,GACzB,iBAAA,EAAA,EAAA,mBACA,uBAAA,EAAA,EAAA,yBACA,mBAAA,EAAA,EAAA,qBACA,qBAAA,EAAA,EAAA,uBACA,oBAAA,EAAA,EAAA,sBACA,wBAAA,EAAA,EAAA,0BACA,SAAW,GAAS,EAAI,IAAkB,EAAI,KAC9C,MAAO,CACL,eACA,UACA,mBACA,gBACA,GAAI,EAAa,CAAE,cAAe,IAEpC,qBAAsB,EACtB,gBAAiB,EACjB,yBAA0B,EAC1B,sBAAuB,EACvB,GAAI,EAAqB,CAAE,sBAAuB,KAGpD,OACE,EAAA,EAAA,MAACC,EAAAA,KAAAA,CAAK,SAAA,GAAS,KAAM,GAAO,IAAI,KAAK,MAAM,QAAQ,UAAU,4CAC3D,EAAA,EAAA,KAAC,EAAA,CAAuB,QAAkB,eAC1C,EAAA,EAAA,MAACA,EAAAA,KAAAA,CAAK,QAAQ,OAAO,SAAA,GAAS,KAAM,GAAO,MAAM,OAAO,UAAU,uCAChE,EAAA,EAAA,KAAC,EAAA,CAAiB,QAAkB,YAAuB,gBAC3D,EAAA,EAAA,KAAC,EAAA,CACC,SAAU,EAAM,WAAW,WAAW,SACtC,YAAa,EAAM,YACnB,2BAA4B,EAAM,8BAA8B,KAAK,OACrE,mBAAoB,EAAM,sBAAsB,KAAK,OACrD,UAAW,EAAM,WAAW,WAAW,UACvC,aAAc,EAAM,aACpB,aAAc,EAAM,aACpB,SAAU,EAAM,SAChB,gBAAiB,EAAM,qBACvB,YAAa,EAAM,iBACnB,UAAW,EAAM"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["ChevronUp","ChevronDown","Button","PinOffIcon","DropdownMenu","DropdownMenuTrigger","EllipsisIcon","DropdownMenuContent","DropdownMenuItem","ArrowLeftToLineIcon","ArrowRightToLineIcon","cn","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","React","PackagePlusIcon","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","pageSize","Button","ChevronsLeft","ChevronLeft","ChevronRight","ChevronsRight","DataTableHeader: React.FC<Props>","Flex","SearchInput","AddNewBtn","RefreshBtn","React","Flex"],"sources":["../../packages/components/table/data-table.tsx","../../packages/components/table/data-table-pagination.tsx","../../packages/components/table/data-table-header.tsx","../../packages/components/table/index.tsx"],"sourcesContent":["import React from 'react'\nimport { type Column, flexRender, type Header, type Table as ReactTable } from '@tanstack/react-table'\nimport { ArrowLeftToLineIcon, ArrowRightToLineIcon, ChevronDown, ChevronUp, EllipsisIcon, PackagePlusIcon, PinOffIcon } from 'lucide-react'\n\nimport { cn } from '@/lib/utils'\nimport type { AnyEntity } from '@/types'\n\nimport { Button } from '@/components/ui/button'\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu'\nimport { ScrollArea, ScrollBar } from '@/components/ui/scroll-area'\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table'\n\n// Helper function to compute pinning styles for columns\nconst getPinningStyles = (column: Column<AnyEntity>): React.CSSProperties => {\n const isPinned = column.getIsPinned()\n return {\n left: isPinned === 'left' ? `${column.getStart('left')}px` : undefined,\n right: isPinned === 'right' ? `${column.getAfter('right')}px` : undefined,\n position: isPinned ? 'sticky' : 'relative',\n width: column.getSize(),\n zIndex: isPinned ? 1 : 0,\n }\n}\n\nconst SortingIndicator = ({ column }: { column: Column<AnyEntity> }) => {\n const sortDirection = column.getIsSorted()\n\n const icons = {\n asc: <ChevronUp className=\"shrink-0 opacity-60\" size={16} strokeWidth={2} aria-hidden=\"true\" />,\n desc: <ChevronDown className=\"shrink-0 opacity-60\" size={16} strokeWidth={2} aria-hidden=\"true\" />,\n }\n\n return sortDirection ? icons[sortDirection] : null\n}\n\nconst PinControls = ({ column }: { column: Column<AnyEntity> }) => {\n const columnHeader = column.columnDef.header as string\n\n if (!column.getCanPin()) return null\n\n if (column.getIsPinned()) {\n return (\n <Button\n size=\"icon\"\n variant=\"ghost\"\n color=\"secondary\"\n className=\"hover:[&_svg]:text-secondary-foreground -mr-1 size-7 shadow-none\"\n aria-label={`Unpin ${columnHeader} column`}\n title={`Unpin ${columnHeader} column`}\n onClick={() => column.pin(false)}\n >\n <PinOffIcon className=\"opacity-60\" size={16} aria-hidden=\"true\" />\n </Button>\n )\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n size=\"icon\"\n variant=\"ghost\"\n color=\"secondary\"\n className=\"size-7 shadow-none\"\n aria-label={`Pin options for ${columnHeader} column`}\n title={`Pin options for ${columnHeader} column`}\n >\n <EllipsisIcon className=\"opacity-60\" size={16} aria-hidden=\"true\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuItem onClick={() => column.pin('left')}>\n <ArrowLeftToLineIcon size={16} className=\"opacity-60\" aria-hidden=\"true\" />\n Stick to left\n </DropdownMenuItem>\n <DropdownMenuItem onClick={() => column.pin('right')}>\n <ArrowRightToLineIcon size={16} className=\"opacity-60\" aria-hidden=\"true\" />\n Stick to right\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}\n\nconst HeaderContent = ({ header }: { header: Header<AnyEntity, unknown> }) => {\n const { column } = header\n\n const handleSort = (e: React.KeyboardEvent) => {\n if (column.getCanSort() && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault()\n column.getToggleSortingHandler()?.(e)\n }\n }\n\n return (\n <div className=\"flex items-center justify-between gap-2 truncate\">\n {!header.isPlaceholder && (\n <div\n className={cn(column.getCanSort() && 'flex h-full cursor-pointer items-center justify-between gap-2 select-none')}\n onClick={column.getToggleSortingHandler()}\n onKeyDown={handleSort}\n tabIndex={column.getCanSort() ? 0 : undefined}\n >\n <span className=\"truncate\">{flexRender(column.columnDef.header, header.getContext())}</span>\n <SortingIndicator column={column} />\n </div>\n )}\n {!header.isPlaceholder && <PinControls column={column} />}\n </div>\n )\n}\n\ninterface DataTableProps {\n table: ReactTable<AnyEntity>\n columnsLength?: number\n isLoading?: boolean\n onClickRow?: (id: string) => void\n}\n\nexport const DataTable = ({ table, isLoading, onClickRow }: DataTableProps) => {\n 'use no memo'\n\n return (\n <Table\n className={cn(\n '!w-full',\n 'table-fixed border-separate border-spacing-0',\n '[&_td]:border-border-weak',\n '[&_th]:border-border-weak',\n '[&_th]:border-b',\n '[&_th]:border-b-border-weak',\n '[&_tr]:border-none',\n '[&_tr:not(:last-child)_td]:border-b',\n '[&_tr:not(:last-child)_td]:border-b-border-weak',\n '[&_tfoot_td]:border-t',\n )}\n style={{\n width: table.getTotalSize(),\n }}\n >\n <TableHeader className=\"sticky top-0 z-10 backdrop-blur-xs\">\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const { column } = header\n const isPinned = column.getIsPinned()\n const isLastLeftPinned = isPinned === 'left' && column.getIsLastColumn('left')\n const isFirstRightPinned = isPinned === 'right' && column.getIsFirstColumn('right')\n return (\n <TableHead\n key={header.id}\n data-pinned={isPinned || undefined}\n data-last-col={isLastLeftPinned ? 'left' : isFirstRightPinned ? 'right' : undefined}\n className={cn(\n 'relative h-9 font-semibold select-none',\n 'data-pinned:backdrop-blur-xs',\n 'data-pinned:bg-muted-weak',\n '[&>.cursor-col-resize]:last:opacity-0',\n '[&[data-pinned][data-last-col]]:border-border-weak',\n '[&:not([data-pinned]):has(+[data-pinned])_div.cursor-col-resize:last-child]:opacity-0',\n '[&[data-last-col=left]_div.cursor-col-resize:last-child]:opacity-0',\n '[&[data-pinned=left][data-last-col=left]]:border-r',\n '[&[data-pinned=right]:last-child_div.cursor-col-resize:last-child]:opacity-0',\n '[&[data-pinned=right][data-last-col=right]]:border-l',\n )}\n {...{\n colSpan: header.colSpan,\n style: {\n width: header.getSize(),\n maxWidth: header.getSize(),\n ...getPinningStyles(header.column),\n },\n }}\n >\n <HeaderContent header={header} />\n </TableHead>\n )\n })}\n </TableRow>\n ))}\n </TableHeader>\n\n <TableBody className={cn(isLoading && 'h-36', table.getRowModel().rows?.length === 0 && 'h-48')}>\n {isLoading ? (\n <TableRow className=\"absolute top-9 flex h-36 w-full items-center justify-center\">\n <TableCell>loading...</TableCell>\n </TableRow>\n ) : (\n <React.Fragment>\n {table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && 'selected'}\n className=\"cursor-pointer border-none focus:outline-none\"\n onClick={() => onClickRow?.(row?.id || row.original?.id?.toString() || row.original?.uuid || undefined)}\n >\n {row.getVisibleCells().map((cell) => {\n const { column } = cell\n const isPinned = column.getIsPinned()\n const isLastLeftPinned = isPinned === 'left' && column.getIsLastColumn('left')\n const isFirstRightPinned = isPinned === 'right' && column.getIsFirstColumn('right')\n return (\n <TableCell\n key={cell.id}\n style={{\n ...getPinningStyles(column),\n width: cell.column.getSize(),\n maxWidth: cell.column.getSize(),\n }}\n data-pinned={isPinned || undefined}\n data-last-col={isLastLeftPinned ? 'left' : isFirstRightPinned ? 'right' : undefined}\n className={cn(\n 'overflow-hidden py-2.5',\n '[&[data-pinned][data-last-col]]:border-border-weak',\n '[&[data-pinned=left][data-last-col=left]]:border-r',\n '[&[data-pinned=right][data-last-col=right]]:border-l',\n 'data-pinned:bg-background/90',\n )}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n )\n })}\n </TableRow>\n ))\n ) : (\n <TableRow className=\"absolute top-9 flex h-36 w-full items-center justify-center\">\n <TableCell>\n <div className=\"text-muted-foreground flex size-full flex-col items-center justify-center gap-y-8 text-base\">\n <PackagePlusIcon size={48} strokeWidth={2} />\n <p>Thêm dữ liệu để hiển thị</p>\n </div>\n </TableCell>\n </TableRow>\n )}\n </React.Fragment>\n )}\n </TableBody>\n </Table>\n )\n}\n","import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react'\n\nimport { Button } from '@/components/ui/button'\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'\n\ninterface DataTablePaginationProps {\n filteredSelectedRowsLength?: number\n filteredRowsLength?: number\n\n pageSize?: number\n setPageSize?: (size: number) => void\n\n pageIndex?: number\n setPageIndex?: (index: number) => void\n\n previousPage?: () => void\n nextPage?: () => void\n\n canPreviousPage?: boolean\n canNextPage?: boolean\n\n pageCount?: number\n}\n\nexport function DataTablePagination<TData>({\n filteredSelectedRowsLength,\n filteredRowsLength,\n pageSize,\n setPageSize,\n pageIndex = 0,\n setPageIndex,\n previousPage,\n nextPage,\n canPreviousPage,\n canNextPage,\n pageCount = 1,\n}: DataTablePaginationProps) {\n 'use no memo'\n return (\n <div className=\"mt-4 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 px-2 sm:flex-row\">\n <div className=\"text-text-positive flex-1 text-sm\">\n {filteredSelectedRowsLength} of {filteredRowsLength} row(s) selected.\n </div>\n\n <div className=\"flex w-full flex-col flex-wrap items-start space-y-2 sm:w-fit sm:space-y-4\">\n <div className=\"flex items-center space-x-2 sm:space-x-4\">\n <p className=\"sr-only text-sm font-medium sm:not-sr-only sm:mr-4\">Rows per page</p>\n <Select\n value={`${pageSize}`}\n onValueChange={(value) => {\n setPageSize?.(Number(value))\n }}\n >\n <SelectTrigger className=\"h-8 w-18\">\n <SelectValue placeholder={pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <div className=\"flex items-center justify-center text-sm font-medium\">\n Page {pageIndex + 1} of {pageCount}\n </div>\n </div>\n\n <div className=\"flex w-full justify-end space-x-2 *:size-9 *:p-0\">\n <Button variant=\"outline\" color=\"muted\" onClick={() => setPageIndex?.(0)} disabled={!canPreviousPage}>\n <span className=\"sr-only\">Go to first page</span>\n <ChevronsLeft />\n </Button>\n <Button variant=\"outline\" color=\"muted\" onClick={previousPage} disabled={!canPreviousPage}>\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeft />\n </Button>\n <Button variant=\"outline\" color=\"muted\" onClick={nextPage} disabled={!canNextPage}>\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRight />\n </Button>\n <Button\n variant=\"outline\"\n color=\"muted\"\n onClick={() => {\n setPageIndex?.(pageCount - 1)\n }}\n disabled={!canNextPage}\n >\n <span className=\"sr-only\">Go to last page</span>\n <ChevronsRight />\n </Button>\n </div>\n </div>\n </div>\n )\n}\n","import { Flex } from '@/components/layouts/flex'\nimport { SearchInput } from '@/components/ui/inputs/search-input'\nimport { AddNewBtn } from '@/components/ui/buttons/add-new'\nimport { RefreshBtn } from '@/components/ui/buttons/refresh'\n\ntype Props = {\n onAdd?: () => void\n onRefresh?: () => void\n}\n\nexport const DataTableHeader: React.FC<Props> = ({ onAdd, onRefresh }) => {\n return (\n <Flex justify=\"between\" padding=\"none\" width=\"full\" className=\"flex-0\">\n <div className=\"max-sm:flex-1\">\n <SearchInput placeholder=\"Search...\" />\n </div>\n <Flex wrap={false} className=\"flex-0 px-0\">\n {!!onAdd && <AddNewBtn onClick={onAdd} />}\n <RefreshBtn onClick={onRefresh} />\n </Flex>\n </Flex>\n )\n}\n","import React from 'react'\nimport {\n type ColumnDef,\n type ColumnFiltersState,\n getCoreRowModel,\n getFacetedRowModel,\n getFacetedUniqueValues,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n type PaginationState,\n type RowSelectionState,\n type SortingState,\n useReactTable,\n type VisibilityState,\n} from '@tanstack/react-table'\n\nimport { DataTable } from './data-table'\nimport { DataTablePagination } from './data-table-pagination'\nimport { Flex } from '../layouts/flex'\nimport { DataTableHeader } from './data-table-header'\n\ntype Props<T> = {\n data: T[]\n totalCount?: number\n isLoading?: boolean\n columns: ColumnDef<T>[]\n pagination?: PaginationState\n onAdd?: () => void\n onRefresh?: () => void\n onClickRow?: (id: string) => void\n onPaginationChange?: React.Dispatch<React.SetStateAction<PaginationState>>\n}\nexport function Table<T extends Record<string, unknown>>({\n data,\n totalCount,\n isLoading,\n columns,\n pagination,\n onAdd,\n onRefresh,\n onClickRow,\n onPaginationChange,\n}: Props<T>) {\n 'use no memo'\n\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({})\n const [sorting, setSorting] = React.useState<SortingState>([])\n const [columnFilters, setColumnFilters] = React.useState<ColumnFiltersState>([])\n const [columnVisibility, setColumnVisibility] = React.useState<VisibilityState>({})\n\n const initialState = React.useMemo(\n () => ({\n columnPinning: { right: ['actions', 'update', 'delete'] },\n pagination: { pageIndex: 0, pageSize: 20 },\n }),\n [],\n )\n\n const table = useReactTable<T>({\n initialState,\n data,\n columns,\n rowCount: totalCount,\n columnResizeMode: 'onChange',\n manualPagination: true,\n enableColumnResizing: false,\n enableMultiRowSelection: false,\n getCoreRowModel: getCoreRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getFacetedRowModel: getFacetedRowModel(),\n getFacetedUniqueValues: getFacetedUniqueValues(),\n getRowId: (row) => (row.id as string) || (row.uuid as string),\n state: {\n rowSelection,\n sorting,\n columnVisibility,\n columnFilters,\n ...(pagination ? { pagination } : {}),\n },\n onRowSelectionChange: setRowSelection,\n onSortingChange: setSorting,\n onColumnVisibilityChange: setColumnVisibility,\n onColumnFiltersChange: setColumnFilters,\n ...(onPaginationChange ? { onPaginationChange } : {}),\n })\n\n return (\n <Flex vertical wrap={false} gap=\"sm\" align=\"start\" className=\"size-full overflow-y-auto pt-1\">\n <DataTableHeader onAdd={onAdd} onRefresh={onRefresh} />\n <Flex padding=\"none\" vertical wrap={false} width=\"full\" className=\"flex-1 overflow-auto pb-4\">\n <DataTable table={table} isLoading={isLoading} onClickRow={onClickRow} />\n <DataTablePagination\n pageSize={table.getState().pagination.pageSize}\n setPageSize={table.setPageSize}\n filteredSelectedRowsLength={table.getFilteredSelectedRowModel().rows.length}\n filteredRowsLength={table.getFilteredRowModel().rows.length}\n pageIndex={table.getState().pagination.pageIndex}\n setPageIndex={table.setPageIndex}\n previousPage={table.previousPage}\n nextPage={table.nextPage}\n canPreviousPage={table.getCanPreviousPage()}\n canNextPage={table.getCanNextPage()}\n pageCount={table.getPageCount()}\n />\n </Flex>\n </Flex>\n )\n}\n"],"mappings":"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"}
|
package/dist/table/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime33 from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { ColumnDef, PaginationState } from "@tanstack/react-table";
|
|
4
4
|
|
|
@@ -24,7 +24,7 @@ declare function Table<T extends Record<string, unknown>>({
|
|
|
24
24
|
onRefresh,
|
|
25
25
|
onClickRow,
|
|
26
26
|
onPaginationChange
|
|
27
|
-
}: Props<T>):
|
|
27
|
+
}: Props<T>): react_jsx_runtime33.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
export { Table };
|
|
30
30
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/table/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime28 from "react/jsx-runtime";
|
|
3
3
|
import { ColumnDef, PaginationState } from "@tanstack/react-table";
|
|
4
4
|
|
|
5
5
|
//#region packages/components/table/index.d.ts
|
|
@@ -24,7 +24,7 @@ declare function Table<T extends Record<string, unknown>>({
|
|
|
24
24
|
onRefresh,
|
|
25
25
|
onClickRow,
|
|
26
26
|
onPaginationChange
|
|
27
|
-
}: Props<T>):
|
|
27
|
+
}: Props<T>): react_jsx_runtime28.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
export { Table };
|
|
30
30
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/table/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{cn as e}from"../utils-D9AH0PUV.js";import{Button as t}from"../button-Pscu7CVU.js";import"../
|
|
1
|
+
import{cn as e}from"../utils-D9AH0PUV.js";import{Button as t}from"../button-Pscu7CVU.js";import{Flex as n}from"../flex-CvokpUf1.js";import"../paragraph-Bn2q1srm.js";import"../input-DgJVc3kt.js";import{Select as r,SelectContent as i,SelectItem as a,SelectTrigger as o,SelectValue as s}from"../select-DmjCwCGB.js";import{DropdownMenu as c,DropdownMenuContent as l,DropdownMenuItem as u,DropdownMenuTrigger as d}from"../dropdown-menu-CwOzdfK7.js";import"../scroll-area-CQ6N4gco.js";import{Table as f,TableBody as p,TableCell as m,TableHead as h,TableHeader as g,TableRow as _}from"../table-Bpzbgpff.js";import{SearchInput as v}from"../search-input-CP1CX74C.js";import{AddNewBtn as y}from"../add-new-Dwxj9tEB.js";import{RefreshBtn as b}from"../refresh-CNeJCjk5.js";import x from"react";import{jsx as S,jsxs as C}from"react/jsx-runtime";import{ArrowLeftToLineIcon as w,ArrowRightToLineIcon as T,ChevronDown as E,ChevronLeft as D,ChevronRight as O,ChevronUp as k,ChevronsLeft as A,ChevronsRight as j,EllipsisIcon as M,PackagePlusIcon as N,PinOffIcon as P}from"lucide-react";import{flexRender as F,getCoreRowModel as I,getFacetedRowModel as L,getFacetedUniqueValues as R,getFilteredRowModel as z,getPaginationRowModel as B,getSortedRowModel as V,useReactTable as H}from"@tanstack/react-table";const U=e=>{let t=e.getIsPinned();return{left:t===`left`?`${e.getStart(`left`)}px`:void 0,right:t===`right`?`${e.getAfter(`right`)}px`:void 0,position:t?`sticky`:`relative`,width:e.getSize(),zIndex:t?1:0}},W=({column:e})=>{let t=e.getIsSorted(),n={asc:S(k,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`}),desc:S(E,{className:`shrink-0 opacity-60`,size:16,strokeWidth:2,"aria-hidden":`true`})};return t?n[t]:null},G=({column:e})=>{let n=e.columnDef.header;return e.getCanPin()?e.getIsPinned()?S(t,{size:`icon`,variant:`ghost`,color:`secondary`,className:`hover:[&_svg]:text-secondary-foreground -mr-1 size-7 shadow-none`,"aria-label":`Unpin ${n} column`,title:`Unpin ${n} column`,onClick:()=>e.pin(!1),children:S(P,{className:`opacity-60`,size:16,"aria-hidden":`true`})}):C(c,{children:[S(d,{asChild:!0,children:S(t,{size:`icon`,variant:`ghost`,color:`secondary`,className:`size-7 shadow-none`,"aria-label":`Pin options for ${n} column`,title:`Pin options for ${n} column`,children:S(M,{className:`opacity-60`,size:16,"aria-hidden":`true`})})}),C(l,{align:`end`,children:[C(u,{onClick:()=>e.pin(`left`),children:[S(w,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to left`]}),C(u,{onClick:()=>e.pin(`right`),children:[S(T,{size:16,className:`opacity-60`,"aria-hidden":`true`}),`Stick to right`]})]})]}):null},K=({header:t})=>{let{column:n}=t,r=e=>{n.getCanSort()&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n.getToggleSortingHandler()?.(e))};return C(`div`,{className:`flex items-center justify-between gap-2 truncate`,children:[!t.isPlaceholder&&C(`div`,{className:e(n.getCanSort()&&`flex h-full cursor-pointer items-center justify-between gap-2 select-none`),onClick:n.getToggleSortingHandler(),onKeyDown:r,tabIndex:n.getCanSort()?0:void 0,children:[S(`span`,{className:`truncate`,children:F(n.columnDef.header,t.getContext())}),S(W,{column:n})]}),!t.isPlaceholder&&S(G,{column:n})]})},q=({table:t,isLoading:n,onClickRow:r})=>{"use no memo";return C(f,{className:e(`!w-full`,`table-fixed border-separate border-spacing-0`,`[&_td]:border-border-weak`,`[&_th]:border-border-weak`,`[&_th]:border-b`,`[&_th]:border-b-border-weak`,`[&_tr]:border-none`,`[&_tr:not(:last-child)_td]:border-b`,`[&_tr:not(:last-child)_td]:border-b-border-weak`,`[&_tfoot_td]:border-t`),style:{width:t.getTotalSize()},children:[S(g,{className:`sticky top-0 z-10 backdrop-blur-xs`,children:t.getHeaderGroups().map(t=>S(_,{children:t.headers.map(t=>{let{column:n}=t,r=n.getIsPinned(),i=r===`left`&&n.getIsLastColumn(`left`),a=r===`right`&&n.getIsFirstColumn(`right`);return S(h,{"data-pinned":r||void 0,"data-last-col":i?`left`:a?`right`:void 0,className:e(`relative h-9 font-semibold select-none`,`data-pinned:backdrop-blur-xs`,`data-pinned:bg-muted-weak`,`[&>.cursor-col-resize]:last:opacity-0`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&:not([data-pinned]):has(+[data-pinned])_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-last-col=left]_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right]:last-child_div.cursor-col-resize:last-child]:opacity-0`,`[&[data-pinned=right][data-last-col=right]]:border-l`),colSpan:t.colSpan,style:{width:t.getSize(),maxWidth:t.getSize(),...U(t.column)},children:S(K,{header:t})},t.id)})},t.id))}),S(p,{className:e(n&&`h-36`,t.getRowModel().rows?.length===0&&`h-48`),children:n?S(_,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:S(m,{children:`loading...`})}):S(x.Fragment,{children:t.getRowModel().rows?.length?t.getRowModel().rows.map(t=>S(_,{"data-state":t.getIsSelected()&&`selected`,className:`cursor-pointer border-none focus:outline-none`,onClick:()=>r?.(t?.id||t.original?.id?.toString()||t.original?.uuid||void 0),children:t.getVisibleCells().map(t=>{let{column:n}=t,r=n.getIsPinned(),i=r===`left`&&n.getIsLastColumn(`left`),a=r===`right`&&n.getIsFirstColumn(`right`);return S(m,{style:{...U(n),width:t.column.getSize(),maxWidth:t.column.getSize()},"data-pinned":r||void 0,"data-last-col":i?`left`:a?`right`:void 0,className:e(`overflow-hidden py-2.5`,`[&[data-pinned][data-last-col]]:border-border-weak`,`[&[data-pinned=left][data-last-col=left]]:border-r`,`[&[data-pinned=right][data-last-col=right]]:border-l`,`data-pinned:bg-background/90`),children:F(t.column.columnDef.cell,t.getContext())},t.id)})},t.id)):S(_,{className:`absolute top-9 flex h-36 w-full items-center justify-center`,children:S(m,{children:C(`div`,{className:`text-muted-foreground flex size-full flex-col items-center justify-center gap-y-8 text-base`,children:[S(N,{size:48,strokeWidth:2}),S(`p`,{children:`Thêm dữ liệu để hiển thị`})]})})})})})]})};function J({filteredSelectedRowsLength:e,filteredRowsLength:n,pageSize:c,setPageSize:l,pageIndex:u=0,setPageIndex:d,previousPage:f,nextPage:p,canPreviousPage:m,canNextPage:h,pageCount:g=1}){"use no memo";return C(`div`,{className:`mt-4 flex w-full flex-0 flex-col flex-wrap items-start space-y-2 px-2 sm:flex-row`,children:[C(`div`,{className:`text-text-positive flex-1 text-sm`,children:[e,` of `,n,` row(s) selected.`]}),C(`div`,{className:`flex w-full flex-col flex-wrap items-start space-y-2 sm:w-fit sm:space-y-4`,children:[C(`div`,{className:`flex items-center space-x-2 sm:space-x-4`,children:[S(`p`,{className:`sr-only text-sm font-medium sm:not-sr-only sm:mr-4`,children:`Rows per page`}),C(r,{value:`${c}`,onValueChange:e=>{l?.(Number(e))},children:[S(o,{className:`h-8 w-18`,children:S(s,{placeholder:c})}),S(i,{side:`top`,children:[10,20,30,40,50].map(e=>S(a,{value:`${e}`,children:e},e))})]}),C(`div`,{className:`flex items-center justify-center text-sm font-medium`,children:[`Page `,u+1,` of `,g]})]}),C(`div`,{className:`flex w-full justify-end space-x-2 *:size-9 *:p-0`,children:[C(t,{variant:`outline`,color:`muted`,onClick:()=>d?.(0),disabled:!m,children:[S(`span`,{className:`sr-only`,children:`Go to first page`}),S(A,{})]}),C(t,{variant:`outline`,color:`muted`,onClick:f,disabled:!m,children:[S(`span`,{className:`sr-only`,children:`Go to previous page`}),S(D,{})]}),C(t,{variant:`outline`,color:`muted`,onClick:p,disabled:!h,children:[S(`span`,{className:`sr-only`,children:`Go to next page`}),S(O,{})]}),C(t,{variant:`outline`,color:`muted`,onClick:()=>{d?.(g-1)},disabled:!h,children:[S(`span`,{className:`sr-only`,children:`Go to last page`}),S(j,{})]})]})]})]})}const Y=({onAdd:e,onRefresh:t})=>C(n,{justify:`between`,padding:`none`,width:`full`,className:`flex-0`,children:[S(`div`,{className:`max-sm:flex-1`,children:S(v,{placeholder:`Search...`})}),C(n,{wrap:!1,className:`flex-0 px-0`,children:[!!e&&S(y,{onClick:e}),S(b,{onClick:t})]})]});function X({data:e,totalCount:t,isLoading:r,columns:i,pagination:a,onAdd:o,onRefresh:s,onClickRow:c,onPaginationChange:l}){"use no memo";let[u,d]=x.useState({}),[f,p]=x.useState([]),[m,h]=x.useState([]),[g,_]=x.useState({}),v=x.useMemo(()=>({columnPinning:{right:[`actions`,`update`,`delete`]},pagination:{pageIndex:0,pageSize:20}}),[]),y=H({initialState:v,data:e,columns:i,rowCount:t,columnResizeMode:`onChange`,manualPagination:!0,enableColumnResizing:!1,enableMultiRowSelection:!1,getCoreRowModel:I(),getPaginationRowModel:B(),getSortedRowModel:V(),getFilteredRowModel:z(),getFacetedRowModel:L(),getFacetedUniqueValues:R(),getRowId:e=>e.id||e.uuid,state:{rowSelection:u,sorting:f,columnVisibility:g,columnFilters:m,...a?{pagination:a}:{}},onRowSelectionChange:d,onSortingChange:p,onColumnVisibilityChange:_,onColumnFiltersChange:h,...l?{onPaginationChange:l}:{}});return C(n,{vertical:!0,wrap:!1,gap:`sm`,align:`start`,className:`size-full overflow-y-auto pt-1`,children:[S(Y,{onAdd:o,onRefresh:s}),C(n,{padding:`none`,vertical:!0,wrap:!1,width:`full`,className:`flex-1 overflow-auto pb-4`,children:[S(q,{table:y,isLoading:r,onClickRow:c}),S(J,{pageSize:y.getState().pagination.pageSize,setPageSize:y.setPageSize,filteredSelectedRowsLength:y.getFilteredSelectedRowModel().rows.length,filteredRowsLength:y.getFilteredRowModel().rows.length,pageIndex:y.getState().pagination.pageIndex,setPageIndex:y.setPageIndex,previousPage:y.previousPage,nextPage:y.nextPage,canPreviousPage:y.getCanPreviousPage(),canNextPage:y.getCanNextPage(),pageCount:y.getPageCount()})]})]})}export{X as Table};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{cn as e}from"./utils-D9AH0PUV.js";import t from"react";import{jsx as n}from"react/jsx-runtime";function r({className:r,onChange:i,onValueChange:a,...o}){let s=t.useCallback(e=>{i?.(e),a?.(e.target.value)},[i,a]);return n(`textarea`,{"data-slot":`textarea`,className:e(`border-border-weak caret-primary`,`flex min-h-16 w-full bg-transparent px-3 py-2`,`field-sizing-content`,`shadow-input rounded-md border`,`text-sm transition-[color,border,box-shadow] outline-none`,`hover:border-border`,`placeholder:text-text-positive-muted`,`disabled:pointer-events-none`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`focus-visible:ring-4`,`focus-visible:ring-primary-weak`,`focus-visible:border-primary-strong`,`aria-invalid:ring-danger-muted`,`aria-invalid:border-danger-strong`,r),...o,onChange:s})}export{r as Textarea};
|
|
2
|
-
//# sourceMappingURL=textarea-
|
|
2
|
+
//# sourceMappingURL=textarea-BK2brgwY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea-
|
|
1
|
+
{"version":3,"file":"textarea-BK2brgwY.js","names":[],"sources":["../packages/components/ui/textarea.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nfunction Textarea({\n className,\n onChange,\n onValueChange,\n ...props\n}: React.ComponentProps<'textarea'> & {\n onValueChange?: (value: string) => void\n}) {\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n onChange?.(e)\n onValueChange?.(e.target.value)\n },\n [onChange, onValueChange],\n )\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'border-border-weak caret-primary',\n 'flex min-h-16 w-full bg-transparent px-3 py-2',\n 'field-sizing-content',\n 'shadow-input rounded-md border',\n 'text-sm transition-[color,border,box-shadow] outline-none',\n 'hover:border-border',\n 'placeholder:text-text-positive-muted',\n 'disabled:pointer-events-none',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:border-primary-strong',\n 'aria-invalid:ring-danger-muted',\n 'aria-invalid:border-danger-strong',\n className,\n )}\n {...props}\n onChange={handleChange}\n />\n )\n}\n\nexport { Textarea }\n"],"mappings":"sGAKA,SAAS,EAAS,CAChB,YACA,WACA,gBACA,GAAG,GAGF,CACD,IAAM,EAAe,EAAM,YACxB,GAA8C,CAC7C,IAAW,GACX,IAAgB,EAAE,OAAO,QAE3B,CAAC,EAAU,IAEb,OACE,EAAC,WAAA,CACC,YAAU,WACV,UAAW,EACT,mCACA,gDACA,uBACA,iCACA,4DACA,sBACA,uCACA,+BACA,8BACA,sBACA,uBACA,kCACA,sCACA,iCACA,oCACA,GAEF,GAAI,EACJ,SAAU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-BsjVK5EW.cjs`),n=e.__toESM(require(`react`)),r=e.__toESM(require(`react/jsx-runtime`));function i({className:e,onChange:i,onValueChange:a,...o}){let s=n.default.useCallback(e=>{i?.(e),a?.(e.target.value)},[i,a]);return(0,r.jsx)(`textarea`,{"data-slot":`textarea`,className:t.cn(`border-border-weak caret-primary`,`flex min-h-16 w-full bg-transparent px-3 py-2`,`field-sizing-content`,`shadow-input rounded-md border`,`text-sm transition-[color,border,box-shadow] outline-none`,`hover:border-border`,`placeholder:text-text-positive-muted`,`disabled:pointer-events-none`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`focus-visible:ring-4`,`focus-visible:ring-primary-weak`,`focus-visible:border-primary-strong`,`aria-invalid:ring-danger-muted`,`aria-invalid:border-danger-strong`,e),...o,onChange:s})}Object.defineProperty(exports,`Textarea`,{enumerable:!0,get:function(){return i}});
|
|
2
|
-
//# sourceMappingURL=textarea-
|
|
2
|
+
//# sourceMappingURL=textarea-Y4wAXFGr.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"textarea-
|
|
1
|
+
{"version":3,"file":"textarea-Y4wAXFGr.cjs","names":["React","cn"],"sources":["../packages/components/ui/textarea.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nfunction Textarea({\n className,\n onChange,\n onValueChange,\n ...props\n}: React.ComponentProps<'textarea'> & {\n onValueChange?: (value: string) => void\n}) {\n const handleChange = React.useCallback(\n (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n onChange?.(e)\n onValueChange?.(e.target.value)\n },\n [onChange, onValueChange],\n )\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n 'border-border-weak caret-primary',\n 'flex min-h-16 w-full bg-transparent px-3 py-2',\n 'field-sizing-content',\n 'shadow-input rounded-md border',\n 'text-sm transition-[color,border,box-shadow] outline-none',\n 'hover:border-border',\n 'placeholder:text-text-positive-muted',\n 'disabled:pointer-events-none',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'focus-visible:ring-4',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:border-primary-strong',\n 'aria-invalid:ring-danger-muted',\n 'aria-invalid:border-danger-strong',\n className,\n )}\n {...props}\n onChange={handleChange}\n />\n )\n}\n\nexport { Textarea }\n"],"mappings":"kJAKA,SAAS,EAAS,CAChB,YACA,WACA,gBACA,GAAG,GAGF,CACD,IAAM,EAAeA,EAAAA,QAAM,YACxB,GAA8C,CAC7C,IAAW,GACX,IAAgB,EAAE,OAAO,QAE3B,CAAC,EAAU,IAEb,OACE,EAAA,EAAA,KAAC,WAAA,CACC,YAAU,WACV,UAAWC,EAAAA,GACT,mCACA,gDACA,uBACA,iCACA,4DACA,sBACA,uCACA,+BACA,8BACA,sBACA,uBACA,kCACA,sCACA,iCACA,oCACA,GAEF,GAAI,EACJ,SAAU"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime193 from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import * as class_variance_authority_types4 from "class-variance-authority/types";
|
|
4
4
|
import { VariantProps } from "class-variance-authority";
|
|
@@ -14,7 +14,7 @@ declare function Toggle$1({
|
|
|
14
14
|
variant,
|
|
15
15
|
size,
|
|
16
16
|
...props
|
|
17
|
-
}: React.ComponentProps<typeof Toggle.Root> & VariantProps<typeof toggleVariants>):
|
|
17
|
+
}: React.ComponentProps<typeof Toggle.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime193.JSX.Element;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { Toggle$1 as Toggle, toggleVariants };
|
|
20
|
-
//# sourceMappingURL=toggle-
|
|
20
|
+
//# sourceMappingURL=toggle-B_di9jVO.d.cts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime226 from "react/jsx-runtime";
|
|
3
3
|
import { Toggle } from "radix-ui";
|
|
4
4
|
import { VariantProps } from "class-variance-authority";
|
|
5
5
|
import * as class_variance_authority_types5 from "class-variance-authority/types";
|
|
@@ -14,7 +14,7 @@ declare function Toggle$1({
|
|
|
14
14
|
variant,
|
|
15
15
|
size,
|
|
16
16
|
...props
|
|
17
|
-
}: React.ComponentProps<typeof Toggle.Root> & VariantProps<typeof toggleVariants>):
|
|
17
|
+
}: React.ComponentProps<typeof Toggle.Root> & VariantProps<typeof toggleVariants>): react_jsx_runtime226.JSX.Element;
|
|
18
18
|
//#endregion
|
|
19
19
|
export { Toggle$1 as Toggle, toggleVariants };
|
|
20
|
-
//# sourceMappingURL=toggle-
|
|
20
|
+
//# sourceMappingURL=toggle-Dfy8X50O.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime203 from "react/jsx-runtime";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { Tooltip } from "radix-ui";
|
|
4
4
|
|
|
@@ -6,19 +6,19 @@ import { Tooltip } from "radix-ui";
|
|
|
6
6
|
declare function TooltipProvider({
|
|
7
7
|
delayDuration,
|
|
8
8
|
...props
|
|
9
|
-
}: React.ComponentProps<typeof Tooltip.Provider>):
|
|
9
|
+
}: React.ComponentProps<typeof Tooltip.Provider>): react_jsx_runtime203.JSX.Element;
|
|
10
10
|
declare function Tooltip$1({
|
|
11
11
|
...props
|
|
12
|
-
}: React.ComponentProps<typeof Tooltip.Root>):
|
|
12
|
+
}: React.ComponentProps<typeof Tooltip.Root>): react_jsx_runtime203.JSX.Element;
|
|
13
13
|
declare function TooltipTrigger({
|
|
14
14
|
...props
|
|
15
|
-
}: React.ComponentProps<typeof Tooltip.Trigger>):
|
|
15
|
+
}: React.ComponentProps<typeof Tooltip.Trigger>): react_jsx_runtime203.JSX.Element;
|
|
16
16
|
declare function TooltipContent({
|
|
17
17
|
className,
|
|
18
18
|
sideOffset,
|
|
19
19
|
children,
|
|
20
20
|
...props
|
|
21
|
-
}: React.ComponentProps<typeof Tooltip.Content>):
|
|
21
|
+
}: React.ComponentProps<typeof Tooltip.Content>): react_jsx_runtime203.JSX.Element;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { Tooltip$1 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
24
|
-
//# sourceMappingURL=tooltip-
|
|
24
|
+
//# sourceMappingURL=tooltip-BkWWOZyr.d.cts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{cn as e}from"./utils-D9AH0PUV.js";import t from"react";import{jsx as n,jsxs as r}from"react/jsx-runtime";import{Tooltip as i}from"radix-ui";function a({delayDuration:e=0,...t}){return n(i.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function o({...e}){return n(a,{children:n(i.Root,{"data-slot":`tooltip`,...e})})}function s({...e}){return n(i.Trigger,{"data-slot":`tooltip-trigger`,...e})}function c({className:t,sideOffset:a=0,children:o,...s}){return n(i.Portal,{children:r(i.Content,{"data-slot":`tooltip-content`,sideOffset:a,className:e(`bg-secondary-strong text-text-negative-intense shadow-dropdown outline-none`,`animate-in fade-in-0 zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,`z-50 w-fit`,`origin-(--radix-tooltip-content-transform-origin)`,`rounded-lg px-3 py-1.5 text-xs text-balance`,t),...s,children:[o,n(i.Arrow,{className:`bg-secondary-strong fill-foreground text-secondary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-xs`})]})})}export{o as Tooltip,c as TooltipContent,a as TooltipProvider,s as TooltipTrigger};
|
|
2
|
-
//# sourceMappingURL=tooltip-
|
|
2
|
+
//# sourceMappingURL=tooltip-C9Ex69RQ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-
|
|
1
|
+
{"version":3,"file":"tooltip-C9Ex69RQ.js","names":["TooltipPrimitive","Tooltip"],"sources":["../packages/components/ui/tooltip.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Tooltip as TooltipPrimitive } from 'radix-ui'\n\nimport { cn } from '@/lib/utils'\n\nfunction TooltipProvider({ delayDuration = 0, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n )\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({ className, sideOffset = 0, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-secondary-strong text-text-negative-intense shadow-dropdown outline-none',\n 'animate-in fade-in-0 zoom-in-95',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n 'z-50 w-fit',\n 'origin-(--radix-tooltip-content-transform-origin)',\n 'rounded-lg px-3 py-1.5 text-xs text-balance',\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-secondary-strong fill-foreground text-secondary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-xs\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n"],"mappings":"mJAMA,SAAS,EAAgB,CAAE,gBAAgB,EAAG,GAAG,GAAiE,CAChH,OAAO,EAACA,EAAiB,SAAA,CAAS,YAAU,mBAAkC,gBAAe,GAAI,IAGnG,SAASC,EAAQ,CAAE,GAAG,GAA6D,CACjF,OACE,EAAC,EAAA,CAAA,SACC,EAACD,EAAiB,KAAA,CAAK,YAAU,UAAU,GAAI,MAKrD,SAAS,EAAe,CAAE,GAAG,GAAgE,CAC3F,OAAO,EAACA,EAAiB,QAAA,CAAQ,YAAU,kBAAkB,GAAI,IAGnE,SAAS,EAAe,CAAE,YAAW,aAAa,EAAG,WAAU,GAAG,GAAgE,CAChI,OACE,EAACA,EAAiB,OAAA,CAAA,SAChB,EAACA,EAAiB,QAAA,CAChB,YAAU,kBACE,aACZ,UAAW,EACT,8EACA,kCACA,kCACA,iCACA,kCACA,yCACA,yCACA,yCACA,yCACA,aACA,oDACA,8CACA,GAEF,GAAI,YAEH,EACD,EAACA,EAAiB,MAAA,CAAM,UAAU"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime107 from "react/jsx-runtime";
|
|
3
3
|
import { Tooltip } from "radix-ui";
|
|
4
4
|
|
|
5
5
|
//#region packages/components/ui/tooltip.d.ts
|
|
6
6
|
declare function TooltipProvider({
|
|
7
7
|
delayDuration,
|
|
8
8
|
...props
|
|
9
|
-
}: React.ComponentProps<typeof Tooltip.Provider>):
|
|
9
|
+
}: React.ComponentProps<typeof Tooltip.Provider>): react_jsx_runtime107.JSX.Element;
|
|
10
10
|
declare function Tooltip$1({
|
|
11
11
|
...props
|
|
12
|
-
}: React.ComponentProps<typeof Tooltip.Root>):
|
|
12
|
+
}: React.ComponentProps<typeof Tooltip.Root>): react_jsx_runtime107.JSX.Element;
|
|
13
13
|
declare function TooltipTrigger({
|
|
14
14
|
...props
|
|
15
|
-
}: React.ComponentProps<typeof Tooltip.Trigger>):
|
|
15
|
+
}: React.ComponentProps<typeof Tooltip.Trigger>): react_jsx_runtime107.JSX.Element;
|
|
16
16
|
declare function TooltipContent({
|
|
17
17
|
className,
|
|
18
18
|
sideOffset,
|
|
19
19
|
children,
|
|
20
20
|
...props
|
|
21
|
-
}: React.ComponentProps<typeof Tooltip.Content>):
|
|
21
|
+
}: React.ComponentProps<typeof Tooltip.Content>): react_jsx_runtime107.JSX.Element;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { Tooltip$1 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
|
|
24
|
-
//# sourceMappingURL=tooltip-
|
|
24
|
+
//# sourceMappingURL=tooltip-DFRxIbzr.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
const e=require(`./chunk-CUT6urMc.cjs`),t=require(`./utils-BsjVK5EW.cjs`),n=e.__toESM(require(`react`)),r=e.__toESM(require(`react/jsx-runtime`)),i=e.__toESM(require(`radix-ui`));function a({delayDuration:e=0,...t}){return(0,r.jsx)(i.Tooltip.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function o({...e}){return(0,r.jsx)(a,{children:(0,r.jsx)(i.Tooltip.Root,{"data-slot":`tooltip`,...e})})}function s({...e}){return(0,r.jsx)(i.Tooltip.Trigger,{"data-slot":`tooltip-trigger`,...e})}function c({className:e,sideOffset:n=0,children:a,...o}){return(0,r.jsx)(i.Tooltip.Portal,{children:(0,r.jsxs)(i.Tooltip.Content,{"data-slot":`tooltip-content`,sideOffset:n,className:t.cn(`bg-secondary-strong text-text-negative-intense shadow-dropdown outline-none`,`animate-in fade-in-0 zoom-in-95`,`data-[state=closed]:animate-out`,`data-[state=closed]:fade-out-0`,`data-[state=closed]:zoom-out-95`,`data-[side=bottom]:slide-in-from-top-2`,`data-[side=left]:slide-in-from-right-2`,`data-[side=right]:slide-in-from-left-2`,`data-[side=top]:slide-in-from-bottom-2`,`z-50 w-fit`,`origin-(--radix-tooltip-content-transform-origin)`,`rounded-lg px-3 py-1.5 text-xs text-balance`,e),...o,children:[a,(0,r.jsx)(i.Tooltip.Arrow,{className:`bg-secondary-strong fill-foreground text-secondary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-xs`})]})})}Object.defineProperty(exports,`Tooltip`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`TooltipContent`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`TooltipProvider`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`TooltipTrigger`,{enumerable:!0,get:function(){return s}});
|
|
2
|
-
//# sourceMappingURL=tooltip-
|
|
2
|
+
//# sourceMappingURL=tooltip-i-daLHx3.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-
|
|
1
|
+
{"version":3,"file":"tooltip-i-daLHx3.cjs","names":["TooltipPrimitive","cn"],"sources":["../packages/components/ui/tooltip.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\nimport { Tooltip as TooltipPrimitive } from 'radix-ui'\n\nimport { cn } from '@/lib/utils'\n\nfunction TooltipProvider({ delayDuration = 0, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n )\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({ className, sideOffset = 0, children, ...props }: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-secondary-strong text-text-negative-intense shadow-dropdown outline-none',\n 'animate-in fade-in-0 zoom-in-95',\n 'data-[state=closed]:animate-out',\n 'data-[state=closed]:fade-out-0',\n 'data-[state=closed]:zoom-out-95',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n 'data-[side=top]:slide-in-from-bottom-2',\n 'z-50 w-fit',\n 'origin-(--radix-tooltip-content-transform-origin)',\n 'rounded-lg px-3 py-1.5 text-xs text-balance',\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-secondary-strong fill-foreground text-secondary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-xs\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n"],"mappings":"mLAMA,SAAS,EAAgB,CAAE,gBAAgB,EAAG,GAAG,GAAiE,CAChH,OAAO,EAAA,EAAA,KAACA,EAAAA,QAAiB,SAAA,CAAS,YAAU,mBAAkC,gBAAe,GAAI,IAGnG,SAAS,EAAQ,CAAE,GAAG,GAA6D,CACjF,OACE,EAAA,EAAA,KAAC,EAAA,CAAA,UACC,EAAA,EAAA,KAACA,EAAAA,QAAiB,KAAA,CAAK,YAAU,UAAU,GAAI,MAKrD,SAAS,EAAe,CAAE,GAAG,GAAgE,CAC3F,OAAO,EAAA,EAAA,KAACA,EAAAA,QAAiB,QAAA,CAAQ,YAAU,kBAAkB,GAAI,IAGnE,SAAS,EAAe,CAAE,YAAW,aAAa,EAAG,WAAU,GAAG,GAAgE,CAChI,OACE,EAAA,EAAA,KAACA,EAAAA,QAAiB,OAAA,CAAA,UAChB,EAAA,EAAA,MAACA,EAAAA,QAAiB,QAAA,CAChB,YAAU,kBACE,aACZ,UAAWC,EAAAA,GACT,8EACA,kCACA,kCACA,iCACA,kCACA,yCACA,yCACA,yCACA,yCACA,aACA,oDACA,8CACA,GAEF,GAAI,YAEH,GACD,EAAA,EAAA,KAACD,EAAAA,QAAiB,MAAA,CAAM,UAAU"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
let e=function(e){return e.SUPER_ADMIN=`SUPER_ADMIN`,e.ADMIN=`ADMIN`,e.MODERATOR=`MODERATOR`,e.STAFF=`STAFF`,e.USER=`USER`,e}({}),t=function(e){return e.VIETNAM=`Vietnam`,e.USA=`USA`,e.JAPAN=`Japan`,e.KOREA=`Korea`,e.CHINA=`China`,e.TAIWAN=`Taiwan`,e.THAILAND=`Thailand`,e.MALAYSIA=`Malaysia`,e.SINGAPORE=`Singapore`,e.INDONESIA=`Indonesia`,e}({});Object.defineProperty(exports,`ECountry`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`ERole`,{enumerable:!0,get:function(){return e}});
|
|
2
|
-
//# sourceMappingURL=types
|
|
2
|
+
//# sourceMappingURL=types--5Hxh5iL.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types
|
|
1
|
+
{"version":3,"file":"types--5Hxh5iL.cjs","names":[],"sources":["../packages/types.ts"],"sourcesContent":["export enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n USER = 'USER',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n PREORDER = 'preorder',\n}\n\nexport type AnyEntity = any\n"],"mappings":"AAAA,IAAY,EAAA,SAAA,EAAL,OACL,GAAA,YAAA,cACA,EAAA,MAAA,QACA,EAAA,UAAA,YACA,EAAA,MAAA,QACA,EAAA,KAAA,cAGU,EAAA,SAAA,EAAL,OACL,GAAA,QAAA,UACA,EAAA,IAAA,MACA,EAAA,MAAA,QACA,EAAA,MAAA,QACA,EAAA,MAAA,QACA,EAAA,OAAA,SACA,EAAA,SAAA,WACA,EAAA,SAAA,WACA,EAAA,UAAA,YACA,EAAA,UAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
let e=function(e){return e.SUPER_ADMIN=`SUPER_ADMIN`,e.ADMIN=`ADMIN`,e.MODERATOR=`MODERATOR`,e.STAFF=`STAFF`,e.USER=`USER`,e}({}),t=function(e){return e.VIETNAM=`Vietnam`,e.USA=`USA`,e.JAPAN=`Japan`,e.KOREA=`Korea`,e.CHINA=`China`,e.TAIWAN=`Taiwan`,e.THAILAND=`Thailand`,e.MALAYSIA=`Malaysia`,e.SINGAPORE=`Singapore`,e.INDONESIA=`Indonesia`,e}({});export{t as ECountry,e as ERole};
|
|
2
|
-
//# sourceMappingURL=types-
|
|
2
|
+
//# sourceMappingURL=types-DGK6BDUS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types-
|
|
1
|
+
{"version":3,"file":"types-DGK6BDUS.js","names":[],"sources":["../packages/types.ts"],"sourcesContent":["export enum ERole {\n SUPER_ADMIN = 'SUPER_ADMIN',\n ADMIN = 'ADMIN',\n MODERATOR = 'MODERATOR',\n STAFF = 'STAFF',\n USER = 'USER',\n}\n\nexport enum ECountry {\n VIETNAM = 'Vietnam',\n USA = 'USA',\n JAPAN = 'Japan',\n KOREA = 'Korea',\n CHINA = 'China',\n TAIWAN = 'Taiwan',\n THAILAND = 'Thailand',\n MALAYSIA = 'Malaysia',\n SINGAPORE = 'Singapore',\n INDONESIA = 'Indonesia',\n}\n\nexport enum EWeightUnit {\n KG = 'kg',\n G = 'g',\n LB = 'lb',\n OZ = 'oz',\n}\n\nexport enum EDimensionUnit {\n CM = 'cm',\n M = 'm',\n INCH = 'inch',\n FT = 'ft',\n}\n\nexport enum EProductStatus {\n DRAFT = 'draft',\n REVIEW = 'review',\n ACTIVE = 'active',\n INACTIVE = 'inactive',\n CANCELLED = 'cancelled',\n}\n\nexport enum EProductInventoryStatus {\n IN_STOCK = 'in_stock',\n OUT_OF_STOCK = 'out_of_stock',\n PREORDER = 'preorder',\n}\n\nexport type AnyEntity = any\n"],"mappings":"AAAA,IAAY,EAAA,SAAA,EAAL,OACL,GAAA,YAAA,cACA,EAAA,MAAA,QACA,EAAA,UAAA,YACA,EAAA,MAAA,QACA,EAAA,KAAA,cAGU,EAAA,SAAA,EAAL,OACL,GAAA,QAAA,UACA,EAAA,IAAA,MACA,EAAA,MAAA,QACA,EAAA,MAAA,QACA,EAAA,MAAA,QACA,EAAA,OAAA,SACA,EAAA,SAAA,WACA,EAAA,SAAA,WACA,EAAA,UAAA,YACA,EAAA,UAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";require(`../utils-BsjVK5EW.cjs`);const e=require(`../paragraph-
|
|
1
|
+
"use client";require(`../utils-BsjVK5EW.cjs`);const e=require(`../paragraph-DA4bg12A.cjs`);exports.Paragraph=e.Paragraph;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime10 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region packages/components/typography/paragraph.d.ts
|
|
4
4
|
type Props = {
|
|
@@ -10,7 +10,7 @@ declare const Paragraph: ({
|
|
|
10
10
|
variant,
|
|
11
11
|
className,
|
|
12
12
|
children
|
|
13
|
-
}: Props) =>
|
|
13
|
+
}: Props) => react_jsx_runtime10.JSX.Element;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { Paragraph };
|
|
16
16
|
//# sourceMappingURL=paragraph.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime42 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region packages/components/typography/paragraph.d.ts
|
|
4
4
|
type Props = {
|
|
@@ -10,7 +10,7 @@ declare const Paragraph: ({
|
|
|
10
10
|
variant,
|
|
11
11
|
className,
|
|
12
12
|
children
|
|
13
|
-
}: Props) =>
|
|
13
|
+
}: Props) => react_jsx_runtime42.JSX.Element;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { Paragraph };
|
|
16
16
|
//# sourceMappingURL=paragraph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import"../utils-D9AH0PUV.js";import{Paragraph as e}from"../paragraph-
|
|
1
|
+
"use client";import"../utils-D9AH0PUV.js";import{Paragraph as e}from"../paragraph-Bn2q1srm.js";export{e as Paragraph};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime12 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region packages/components/typography/title.d.ts
|
|
4
4
|
type Props = {
|
|
@@ -10,7 +10,7 @@ declare const Title: ({
|
|
|
10
10
|
level,
|
|
11
11
|
className,
|
|
12
12
|
children
|
|
13
|
-
}: Props) =>
|
|
13
|
+
}: Props) => react_jsx_runtime12.JSX.Element;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { Title };
|
|
16
16
|
//# sourceMappingURL=title.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime60 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region packages/components/typography/title.d.ts
|
|
4
4
|
type Props = {
|
|
@@ -10,7 +10,7 @@ declare const Title: ({
|
|
|
10
10
|
level,
|
|
11
11
|
className,
|
|
12
12
|
children
|
|
13
|
-
}: Props) =>
|
|
13
|
+
}: Props) => react_jsx_runtime60.JSX.Element;
|
|
14
14
|
//#endregion
|
|
15
15
|
export { Title };
|
|
16
16
|
//# sourceMappingURL=title.d.ts.map
|