react-start-kit-shared 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +236 -0
- package/dist/chunks/Actions-2AYZB2tr.es.js +34 -0
- package/dist/chunks/Actions-2AYZB2tr.es.js.map +1 -0
- package/dist/chunks/Actions-CZS1OCgc.cjs.js +2 -0
- package/dist/chunks/Actions-CZS1OCgc.cjs.js.map +1 -0
- package/dist/chunks/DateRangePicker-BTWpQRRq.es.js +178 -0
- package/dist/chunks/DateRangePicker-BTWpQRRq.es.js.map +1 -0
- package/dist/chunks/DateRangePicker-D6Q3vFLO.cjs.js +2 -0
- package/dist/chunks/DateRangePicker-D6Q3vFLO.cjs.js.map +1 -0
- package/dist/chunks/Empty-BiJ2b9JP.cjs.js +2 -0
- package/dist/chunks/Empty-BiJ2b9JP.cjs.js.map +1 -0
- package/dist/chunks/Empty-CP4yXr6G.es.js +25 -0
- package/dist/chunks/Empty-CP4yXr6G.es.js.map +1 -0
- package/dist/chunks/ExportData-Cf-cs_pE.es.js +36 -0
- package/dist/chunks/ExportData-Cf-cs_pE.es.js.map +1 -0
- package/dist/chunks/ExportData-Yp3Tm5Lv.cjs.js +2 -0
- package/dist/chunks/ExportData-Yp3Tm5Lv.cjs.js.map +1 -0
- package/dist/chunks/Keyboard-CJVAJWdO.es.js +5 -0
- package/dist/chunks/Keyboard-CJVAJWdO.es.js.map +1 -0
- package/dist/chunks/Keyboard-kyPAAQWP.cjs.js +2 -0
- package/dist/chunks/Keyboard-kyPAAQWP.cjs.js.map +1 -0
- package/dist/chunks/Loader-B51uJ48y.cjs.js +2 -0
- package/dist/chunks/Loader-B51uJ48y.cjs.js.map +1 -0
- package/dist/chunks/Loader-JIMPYfiR.es.js +14 -0
- package/dist/chunks/Loader-JIMPYfiR.es.js.map +1 -0
- package/dist/chunks/MyInput-BbLCYCkb.es.js +280 -0
- package/dist/chunks/MyInput-BbLCYCkb.es.js.map +1 -0
- package/dist/chunks/MyInput-CIgmb5kZ.cjs.js +2 -0
- package/dist/chunks/MyInput-CIgmb5kZ.cjs.js.map +1 -0
- package/dist/chunks/MyPagination-DYYM6ks6.cjs.js +2 -0
- package/dist/chunks/MyPagination-DYYM6ks6.cjs.js.map +1 -0
- package/dist/chunks/MyPagination-Dtx70bK6.es.js +142 -0
- package/dist/chunks/MyPagination-Dtx70bK6.es.js.map +1 -0
- package/dist/chunks/MySelect-DWTZ-FuO.es.js +58 -0
- package/dist/chunks/MySelect-DWTZ-FuO.es.js.map +1 -0
- package/dist/chunks/MySelect-DoX-Qy5y.cjs.js +2 -0
- package/dist/chunks/MySelect-DoX-Qy5y.cjs.js.map +1 -0
- package/dist/chunks/PasswordConfirm-DGVigQbo.cjs.js +2 -0
- package/dist/chunks/PasswordConfirm-DGVigQbo.cjs.js.map +1 -0
- package/dist/chunks/PasswordConfirm-DYTMNa33.es.js +3270 -0
- package/dist/chunks/PasswordConfirm-DYTMNa33.es.js.map +1 -0
- package/dist/chunks/Search-BQKw3els.cjs.js +2 -0
- package/dist/chunks/Search-BQKw3els.cjs.js.map +1 -0
- package/dist/chunks/Search-DqbIV61m.es.js +147 -0
- package/dist/chunks/Search-DqbIV61m.es.js.map +1 -0
- package/dist/chunks/SortOrder-81BrXp3i.cjs.js +2 -0
- package/dist/chunks/SortOrder-81BrXp3i.cjs.js.map +1 -0
- package/dist/chunks/SortOrder-CwuehjY1.es.js +5 -0
- package/dist/chunks/SortOrder-CwuehjY1.es.js.map +1 -0
- package/dist/chunks/Spin-CCtUPIlI.cjs.js +2 -0
- package/dist/chunks/Spin-CCtUPIlI.cjs.js.map +1 -0
- package/dist/chunks/Spin-DSBxxpPG.es.js +37 -0
- package/dist/chunks/Spin-DSBxxpPG.es.js.map +1 -0
- package/dist/chunks/ThemeMode-BO6tit_Z.cjs.js +2 -0
- package/dist/chunks/ThemeMode-BO6tit_Z.cjs.js.map +1 -0
- package/dist/chunks/ThemeMode-CqURAYDL.es.js +5 -0
- package/dist/chunks/ThemeMode-CqURAYDL.es.js.map +1 -0
- package/dist/chunks/ThemeProviderContext-CDiIvEe7.es.js +10 -0
- package/dist/chunks/ThemeProviderContext-CDiIvEe7.es.js.map +1 -0
- package/dist/chunks/ThemeProviderContext-rq2okb30.cjs.js +2 -0
- package/dist/chunks/ThemeProviderContext-rq2okb30.cjs.js.map +1 -0
- package/dist/chunks/_commonjsHelpers-DKOUU3wS.cjs.js +2 -0
- package/dist/chunks/_commonjsHelpers-DKOUU3wS.cjs.js.map +1 -0
- package/dist/chunks/_commonjsHelpers-DaMA6jEr.es.js +9 -0
- package/dist/chunks/_commonjsHelpers-DaMA6jEr.es.js.map +1 -0
- package/dist/chunks/index-ClQFzqcq.cjs.js +2 -0
- package/dist/chunks/index-ClQFzqcq.cjs.js.map +1 -0
- package/dist/chunks/index-E1NtSoNr.es.js +10 -0
- package/dist/chunks/index-E1NtSoNr.es.js.map +1 -0
- package/dist/chunks/useColumnsStore-C5UCQBGh.es.js +181 -0
- package/dist/chunks/useColumnsStore-C5UCQBGh.es.js.map +1 -0
- package/dist/chunks/useColumnsStore-ChRhCpCd.cjs.js +2 -0
- package/dist/chunks/useColumnsStore-ChRhCpCd.cjs.js.map +1 -0
- package/dist/chunks/useFilter-D93ncAmn.cjs.js +2 -0
- package/dist/chunks/useFilter-D93ncAmn.cjs.js.map +1 -0
- package/dist/chunks/useFilter-DpCwY1KO.es.js +17 -0
- package/dist/chunks/useFilter-DpCwY1KO.es.js.map +1 -0
- package/dist/chunks/useSortable-B8xGLknV.cjs.js +2 -0
- package/dist/chunks/useSortable-B8xGLknV.cjs.js.map +1 -0
- package/dist/chunks/useSortable-DD1y7f_o.es.js +256 -0
- package/dist/chunks/useSortable-DD1y7f_o.es.js.map +1 -0
- package/dist/chunks/useTheme-hjEZ-FC3.cjs.js +2 -0
- package/dist/chunks/useTheme-hjEZ-FC3.cjs.js.map +1 -0
- package/dist/chunks/useTheme-iKF3BEvj.es.js +12 -0
- package/dist/chunks/useTheme-iKF3BEvj.es.js.map +1 -0
- package/dist/components/actions/index.cjs.js +2 -0
- package/dist/components/actions/index.cjs.js.map +1 -0
- package/dist/components/actions/index.es.js +5 -0
- package/dist/components/actions/index.es.js.map +1 -0
- package/dist/components/confirm/index.cjs.js +2 -0
- package/dist/components/confirm/index.cjs.js.map +1 -0
- package/dist/components/confirm/index.es.js +7 -0
- package/dist/components/confirm/index.es.js.map +1 -0
- package/dist/components/datatable/index.cjs.js +2 -0
- package/dist/components/datatable/index.cjs.js.map +1 -0
- package/dist/components/datatable/index.es.js +404 -0
- package/dist/components/datatable/index.es.js.map +1 -0
- package/dist/components/datepicker/index.cjs.js +2 -0
- package/dist/components/datepicker/index.cjs.js.map +1 -0
- package/dist/components/datepicker/index.es.js +5 -0
- package/dist/components/datepicker/index.es.js.map +1 -0
- package/dist/components/empty/index.cjs.js +2 -0
- package/dist/components/empty/index.cjs.js.map +1 -0
- package/dist/components/empty/index.es.js +5 -0
- package/dist/components/empty/index.es.js.map +1 -0
- package/dist/components/export/index.cjs.js +2 -0
- package/dist/components/export/index.cjs.js.map +1 -0
- package/dist/components/export/index.es.js +5 -0
- package/dist/components/export/index.es.js.map +1 -0
- package/dist/components/filters/index.cjs.js +2 -0
- package/dist/components/filters/index.cjs.js.map +1 -0
- package/dist/components/filters/index.es.js +48 -0
- package/dist/components/filters/index.es.js.map +1 -0
- package/dist/components/form/index.cjs.js +2 -0
- package/dist/components/form/index.cjs.js.map +1 -0
- package/dist/components/form/index.es.js +450 -0
- package/dist/components/form/index.es.js.map +1 -0
- package/dist/components/gallery/index.cjs.js +2 -0
- package/dist/components/gallery/index.cjs.js.map +1 -0
- package/dist/components/gallery/index.es.js +308 -0
- package/dist/components/gallery/index.es.js.map +1 -0
- package/dist/components/loader/index.cjs.js +2 -0
- package/dist/components/loader/index.cjs.js.map +1 -0
- package/dist/components/loader/index.es.js +7 -0
- package/dist/components/loader/index.es.js.map +1 -0
- package/dist/components/modal/index.cjs.js +2 -0
- package/dist/components/modal/index.cjs.js.map +1 -0
- package/dist/components/modal/index.es.js +46 -0
- package/dist/components/modal/index.es.js.map +1 -0
- package/dist/components/pagination/index.cjs.js +2 -0
- package/dist/components/pagination/index.cjs.js.map +1 -0
- package/dist/components/pagination/index.es.js +6 -0
- package/dist/components/pagination/index.es.js.map +1 -0
- package/dist/components/scroll/index.cjs.js +2 -0
- package/dist/components/scroll/index.cjs.js.map +1 -0
- package/dist/components/scroll/index.es.js +16 -0
- package/dist/components/scroll/index.es.js.map +1 -0
- package/dist/components/theme/index.cjs.js +2 -0
- package/dist/components/theme/index.cjs.js.map +1 -0
- package/dist/components/theme/index.es.js +26 -0
- package/dist/components/theme/index.es.js.map +1 -0
- package/dist/components/tooltip/index.cjs.js +2 -0
- package/dist/components/tooltip/index.cjs.js.map +1 -0
- package/dist/components/tooltip/index.es.js +18 -0
- package/dist/components/tooltip/index.es.js.map +1 -0
- package/dist/enums/index.cjs.js +2 -0
- package/dist/enums/index.cjs.js.map +1 -0
- package/dist/enums/index.es.js +9 -0
- package/dist/enums/index.es.js.map +1 -0
- package/dist/hooks/index.cjs.js +21 -0
- package/dist/hooks/index.cjs.js.map +1 -0
- package/dist/hooks/index.es.js +1015 -0
- package/dist/hooks/index.es.js.map +1 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.es.js +2 -0
- package/dist/index.es.js.map +1 -0
- package/dist/providers/index.cjs.js +2 -0
- package/dist/providers/index.cjs.js.map +1 -0
- package/dist/providers/index.es.js +32 -0
- package/dist/providers/index.es.js.map +1 -0
- package/dist/stores/index.cjs.js +2 -0
- package/dist/stores/index.cjs.js.map +1 -0
- package/dist/stores/index.es.js +21 -0
- package/dist/stores/index.es.js.map +1 -0
- package/dist/styles.css +1 -0
- package/dist/types/App.d.ts +3 -0
- package/dist/types/App.d.ts.map +1 -0
- package/dist/types/components/actions/Actions.d.ts +32 -0
- package/dist/types/components/actions/Actions.d.ts.map +1 -0
- package/dist/types/components/actions/index.d.ts +2 -0
- package/dist/types/components/actions/index.d.ts.map +1 -0
- package/dist/types/components/confirm/Confirm.d.ts +27 -0
- package/dist/types/components/confirm/Confirm.d.ts.map +1 -0
- package/dist/types/components/confirm/PasswordConfirm.d.ts +22 -0
- package/dist/types/components/confirm/PasswordConfirm.d.ts.map +1 -0
- package/dist/types/components/confirm/index.d.ts +4 -0
- package/dist/types/components/confirm/index.d.ts.map +1 -0
- package/dist/types/components/datatable/DataTable.d.ts +196 -0
- package/dist/types/components/datatable/DataTable.d.ts.map +1 -0
- package/dist/types/components/datatable/MyTable.d.ts +56 -0
- package/dist/types/components/datatable/MyTable.d.ts.map +1 -0
- package/dist/types/components/datatable/index.d.ts +3 -0
- package/dist/types/components/datatable/index.d.ts.map +1 -0
- package/dist/types/components/datepicker/DateRangePicker.d.ts +50 -0
- package/dist/types/components/datepicker/DateRangePicker.d.ts.map +1 -0
- package/dist/types/components/datepicker/index.d.ts +2 -0
- package/dist/types/components/datepicker/index.d.ts.map +1 -0
- package/dist/types/components/empty/Empty.d.ts +19 -0
- package/dist/types/components/empty/Empty.d.ts.map +1 -0
- package/dist/types/components/empty/index.d.ts +2 -0
- package/dist/types/components/empty/index.d.ts.map +1 -0
- package/dist/types/components/export/ExportData.d.ts +52 -0
- package/dist/types/components/export/ExportData.d.ts.map +1 -0
- package/dist/types/components/export/index.d.ts +2 -0
- package/dist/types/components/export/index.d.ts.map +1 -0
- package/dist/types/components/filters/AppliedFilters.d.ts +24 -0
- package/dist/types/components/filters/AppliedFilters.d.ts.map +1 -0
- package/dist/types/components/filters/FilterWrapper.d.ts +58 -0
- package/dist/types/components/filters/FilterWrapper.d.ts.map +1 -0
- package/dist/types/components/filters/Search.d.ts +28 -0
- package/dist/types/components/filters/Search.d.ts.map +1 -0
- package/dist/types/components/filters/SearchWithCtrl.d.ts +25 -0
- package/dist/types/components/filters/SearchWithCtrl.d.ts.map +1 -0
- package/dist/types/components/filters/index.d.ts +4 -0
- package/dist/types/components/filters/index.d.ts.map +1 -0
- package/dist/types/components/form/MyCheckbox.d.ts +20 -0
- package/dist/types/components/form/MyCheckbox.d.ts.map +1 -0
- package/dist/types/components/form/MyDatePicker.d.ts +43 -0
- package/dist/types/components/form/MyDatePicker.d.ts.map +1 -0
- package/dist/types/components/form/MyDateRangePicker.d.ts +26 -0
- package/dist/types/components/form/MyDateRangePicker.d.ts.map +1 -0
- package/dist/types/components/form/MyHtmlEditor.d.ts +26 -0
- package/dist/types/components/form/MyHtmlEditor.d.ts.map +1 -0
- package/dist/types/components/form/MyInput.d.ts +24 -0
- package/dist/types/components/form/MyInput.d.ts.map +1 -0
- package/dist/types/components/form/MyMaskInput.d.ts +28 -0
- package/dist/types/components/form/MyMaskInput.d.ts.map +1 -0
- package/dist/types/components/form/MyRadio.d.ts +25 -0
- package/dist/types/components/form/MyRadio.d.ts.map +1 -0
- package/dist/types/components/form/MySelect.d.ts +29 -0
- package/dist/types/components/form/MySelect.d.ts.map +1 -0
- package/dist/types/components/form/MyShadcnSelect.d.ts +39 -0
- package/dist/types/components/form/MyShadcnSelect.d.ts.map +1 -0
- package/dist/types/components/form/MySwitch.d.ts +20 -0
- package/dist/types/components/form/MySwitch.d.ts.map +1 -0
- package/dist/types/components/form/MyTextarea.d.ts +24 -0
- package/dist/types/components/form/MyTextarea.d.ts.map +1 -0
- package/dist/types/components/form/MyTimePicker.d.ts +29 -0
- package/dist/types/components/form/MyTimePicker.d.ts.map +1 -0
- package/dist/types/components/form/index.d.ts +14 -0
- package/dist/types/components/form/index.d.ts.map +1 -0
- package/dist/types/components/gallery/MyGallery.d.ts +62 -0
- package/dist/types/components/gallery/MyGallery.d.ts.map +1 -0
- package/dist/types/components/gallery/index.d.ts +2 -0
- package/dist/types/components/gallery/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +15 -0
- package/dist/types/components/index.d.ts.map +1 -0
- package/dist/types/components/loader/Loader.d.ts +10 -0
- package/dist/types/components/loader/Loader.d.ts.map +1 -0
- package/dist/types/components/loader/Spin.d.ts +14 -0
- package/dist/types/components/loader/Spin.d.ts.map +1 -0
- package/dist/types/components/loader/index.d.ts +4 -0
- package/dist/types/components/loader/index.d.ts.map +1 -0
- package/dist/types/components/modal/MyModal.d.ts +51 -0
- package/dist/types/components/modal/MyModal.d.ts.map +1 -0
- package/dist/types/components/modal/index.d.ts +2 -0
- package/dist/types/components/modal/index.d.ts.map +1 -0
- package/dist/types/components/pagination/MyLimitSelect.d.ts +27 -0
- package/dist/types/components/pagination/MyLimitSelect.d.ts.map +1 -0
- package/dist/types/components/pagination/MyPagination.d.ts +39 -0
- package/dist/types/components/pagination/MyPagination.d.ts.map +1 -0
- package/dist/types/components/pagination/index.d.ts +4 -0
- package/dist/types/components/pagination/index.d.ts.map +1 -0
- package/dist/types/components/scroll/ScrollArea.d.ts +10 -0
- package/dist/types/components/scroll/ScrollArea.d.ts.map +1 -0
- package/dist/types/components/scroll/index.d.ts +2 -0
- package/dist/types/components/scroll/index.d.ts.map +1 -0
- package/dist/types/components/theme/index.d.ts +2 -0
- package/dist/types/components/theme/index.d.ts.map +1 -0
- package/dist/types/components/theme/theme-toggle.d.ts +15 -0
- package/dist/types/components/theme/theme-toggle.d.ts.map +1 -0
- package/dist/types/components/tooltip/MyTooltip.d.ts +25 -0
- package/dist/types/components/tooltip/MyTooltip.d.ts.map +1 -0
- package/dist/types/components/tooltip/index.d.ts +3 -0
- package/dist/types/components/tooltip/index.d.ts.map +1 -0
- package/dist/types/contexts/ThemeProviderContext.d.ts +18 -0
- package/dist/types/contexts/ThemeProviderContext.d.ts.map +1 -0
- package/dist/types/contexts/index.d.ts +2 -0
- package/dist/types/contexts/index.d.ts.map +1 -0
- package/dist/types/enums/Keyboard.d.ts +8 -0
- package/dist/types/enums/Keyboard.d.ts.map +1 -0
- package/dist/types/enums/SortOrder.d.ts +10 -0
- package/dist/types/enums/SortOrder.d.ts.map +1 -0
- package/dist/types/enums/ThemeMode.d.ts +12 -0
- package/dist/types/enums/ThemeMode.d.ts.map +1 -0
- package/dist/types/enums/index.d.ts +4 -0
- package/dist/types/enums/index.d.ts.map +1 -0
- package/dist/types/hooks/index.d.ts +9 -0
- package/dist/types/hooks/index.d.ts.map +1 -0
- package/dist/types/hooks/useColumns.d.ts +31 -0
- package/dist/types/hooks/useColumns.d.ts.map +1 -0
- package/dist/types/hooks/useConfirm.d.ts +21 -0
- package/dist/types/hooks/useConfirm.d.ts.map +1 -0
- package/dist/types/hooks/useDataTable.d.ts +33 -0
- package/dist/types/hooks/useDataTable.d.ts.map +1 -0
- package/dist/types/hooks/useDocumentTitle.d.ts +9 -0
- package/dist/types/hooks/useDocumentTitle.d.ts.map +1 -0
- package/dist/types/hooks/useFilter.d.ts +29 -0
- package/dist/types/hooks/useFilter.d.ts.map +1 -0
- package/dist/types/hooks/useMediaQuerySizes.d.ts +22 -0
- package/dist/types/hooks/useMediaQuerySizes.d.ts.map +1 -0
- package/dist/types/hooks/useSortable.d.ts +29 -0
- package/dist/types/hooks/useSortable.d.ts.map +1 -0
- package/dist/types/hooks/useTheme.d.ts +14 -0
- package/dist/types/hooks/useTheme.d.ts.map +1 -0
- package/dist/types/index.cjs.js +2 -0
- package/dist/types/index.cjs.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.es.js +2 -0
- package/dist/types/index.es.js.map +1 -0
- package/dist/types/main.d.ts +1 -0
- package/dist/types/main.d.ts.map +1 -0
- package/dist/types/providers/ThemeProvider.d.ts +24 -0
- package/dist/types/providers/ThemeProvider.d.ts.map +1 -0
- package/dist/types/providers/index.d.ts +2 -0
- package/dist/types/providers/index.d.ts.map +1 -0
- package/dist/types/schemas/createConfirmPasswordSchema.d.ts +20 -0
- package/dist/types/schemas/createConfirmPasswordSchema.d.ts.map +1 -0
- package/dist/types/schemas/index.d.ts +2 -0
- package/dist/types/schemas/index.d.ts.map +1 -0
- package/dist/types/stores/index.d.ts +3 -0
- package/dist/types/stores/index.d.ts.map +1 -0
- package/dist/types/stores/useColumnsStore.d.ts +26 -0
- package/dist/types/stores/useColumnsStore.d.ts.map +1 -0
- package/dist/types/stores/useDateRangeStore.d.ts +27 -0
- package/dist/types/stores/useDateRangeStore.d.ts.map +1 -0
- package/dist/types/stories/Actions.stories.d.ts +8 -0
- package/dist/types/stories/Actions.stories.d.ts.map +1 -0
- package/dist/types/stories/AppliedFilters.stories.d.ts +10 -0
- package/dist/types/stories/AppliedFilters.stories.d.ts.map +1 -0
- package/dist/types/stories/Confirm.stories.d.ts +8 -0
- package/dist/types/stories/Confirm.stories.d.ts.map +1 -0
- package/dist/types/stories/DataTable.stories.d.ts +19 -0
- package/dist/types/stories/DataTable.stories.d.ts.map +1 -0
- package/dist/types/stories/DateRangePicker.stories.d.ts +10 -0
- package/dist/types/stories/DateRangePicker.stories.d.ts.map +1 -0
- package/dist/types/stories/Empty.stories.d.ts +9 -0
- package/dist/types/stories/Empty.stories.d.ts.map +1 -0
- package/dist/types/stories/ExportData.stories.d.ts +9 -0
- package/dist/types/stories/ExportData.stories.d.ts.map +1 -0
- package/dist/types/stories/FilterWrapper.stories.d.ts +9 -0
- package/dist/types/stories/FilterWrapper.stories.d.ts.map +1 -0
- package/dist/types/stories/Loader.stories.d.ts +7 -0
- package/dist/types/stories/Loader.stories.d.ts.map +1 -0
- package/dist/types/stories/MyCheckbox.stories.d.ts +8 -0
- package/dist/types/stories/MyCheckbox.stories.d.ts.map +1 -0
- package/dist/types/stories/MyDatePicker.stories.d.ts +10 -0
- package/dist/types/stories/MyDatePicker.stories.d.ts.map +1 -0
- package/dist/types/stories/MyDateRangePicker.stories.d.ts +8 -0
- package/dist/types/stories/MyDateRangePicker.stories.d.ts.map +1 -0
- package/dist/types/stories/MyGallery.stories.d.ts +9 -0
- package/dist/types/stories/MyGallery.stories.d.ts.map +1 -0
- package/dist/types/stories/MyHtmlEditor.stories.d.ts +8 -0
- package/dist/types/stories/MyHtmlEditor.stories.d.ts.map +1 -0
- package/dist/types/stories/MyInput.stories.d.ts +10 -0
- package/dist/types/stories/MyInput.stories.d.ts.map +1 -0
- package/dist/types/stories/MyLimitSelect.stories.d.ts +9 -0
- package/dist/types/stories/MyLimitSelect.stories.d.ts.map +1 -0
- package/dist/types/stories/MyMaskInput.stories.d.ts +9 -0
- package/dist/types/stories/MyMaskInput.stories.d.ts.map +1 -0
- package/dist/types/stories/MyModal.stories.d.ts +10 -0
- package/dist/types/stories/MyModal.stories.d.ts.map +1 -0
- package/dist/types/stories/MyPagination.stories.d.ts +10 -0
- package/dist/types/stories/MyPagination.stories.d.ts.map +1 -0
- package/dist/types/stories/MyRadio.stories.d.ts +7 -0
- package/dist/types/stories/MyRadio.stories.d.ts.map +1 -0
- package/dist/types/stories/MySelect.stories.d.ts +10 -0
- package/dist/types/stories/MySelect.stories.d.ts.map +1 -0
- package/dist/types/stories/MyShadcnSelect.stories.d.ts +9 -0
- package/dist/types/stories/MyShadcnSelect.stories.d.ts.map +1 -0
- package/dist/types/stories/MySwitch.stories.d.ts +8 -0
- package/dist/types/stories/MySwitch.stories.d.ts.map +1 -0
- package/dist/types/stories/MyTable.stories.d.ts +19 -0
- package/dist/types/stories/MyTable.stories.d.ts.map +1 -0
- package/dist/types/stories/MyTextarea.stories.d.ts +9 -0
- package/dist/types/stories/MyTextarea.stories.d.ts.map +1 -0
- package/dist/types/stories/MyTimePicker.stories.d.ts +9 -0
- package/dist/types/stories/MyTimePicker.stories.d.ts.map +1 -0
- package/dist/types/stories/MyTooltip.stories.d.ts +10 -0
- package/dist/types/stories/MyTooltip.stories.d.ts.map +1 -0
- package/dist/types/stories/PasswordConfirm.stories.d.ts +8 -0
- package/dist/types/stories/PasswordConfirm.stories.d.ts.map +1 -0
- package/dist/types/stories/ScrollArea.stories.d.ts +8 -0
- package/dist/types/stories/ScrollArea.stories.d.ts.map +1 -0
- package/dist/types/stories/Search.stories.d.ts +8 -0
- package/dist/types/stories/Search.stories.d.ts.map +1 -0
- package/dist/types/stories/SearchWithCtrl.stories.d.ts +8 -0
- package/dist/types/stories/SearchWithCtrl.stories.d.ts.map +1 -0
- package/dist/types/stories/Spin.stories.d.ts +8 -0
- package/dist/types/stories/Spin.stories.d.ts.map +1 -0
- package/dist/types/stories/ThemeToggle.stories.d.ts +8 -0
- package/dist/types/stories/ThemeToggle.stories.d.ts.map +1 -0
- package/dist/types/types/column.type.d.ts +31 -0
- package/dist/types/types/column.type.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +3 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/translation-args.type.d.ts +17 -0
- package/dist/types/types/translation-args.type.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/utils.d.ts +8 -0
- package/dist/types/utils/utils.d.ts.map +1 -0
- package/dist/types/vite-env.d.ts +1 -0
- package/dist/utils/index.cjs.js +2 -0
- package/dist/utils/index.cjs.js.map +1 -0
- package/dist/utils/index.es.js +7 -0
- package/dist/utils/index.es.js.map +1 -0
- package/package.json +265 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),j=require("./MyInput-CIgmb5kZ.cjs.js"),h=require("lucide-react"),r=require("react"),g=require("react-i18next"),i=require("react-start-kit/button"),k=require("react-start-kit/form"),x=require("react-start-kit/popover"),D=require("./useFilter-D93ncAmn.cjs.js"),$=require("./MySelect-DoX-Qy5y.cjs.js"),A=require("./index-ClQFzqcq.cjs.js"),C=require("react-start-kit/utils"),S=require("./Keyboard-kyPAAQWP.cjs.js"),O=r.memo(function({filters:a,params:c,onFilter:n,onChange:o,onCancel:b,triggerProps:l,contentProps:u,title:t,resetText:E,applyText:I,...w}){const{t:p}=g.useTranslation(),[B,M]=r.useState(!1),[P,d]=r.useState(!1),{form:v}=D.useFilter({params:c}),{watch:R,handleSubmit:T,control:f,reset:q}=v;r.useEffect(()=>{let s=!1;a.map(K=>{const m=j.get(c,`${K.name}`);(Array.isArray(m)?m.length>0:m)&&(s=!0),M(s)})},[a,c]);const N=R();r.useEffect(()=>{o==null||o(N)},[N,o]);const z=r.useCallback((s={})=>{n==null||n(s),d(!1)},[n]),F=r.useCallback(()=>{q(),n&&n({...Object.fromEntries(a.map(s=>[s.name,void 0]))}),d(!1)},[n,q,a]);return e.jsxs(x.Popover,{open:P,onOpenChange:d,children:[e.jsx(x.PopoverTrigger,{...l,className:"grow",children:e.jsx(i.Button,{asChild:!0,size:"sm",variant:"secondary",className:"ml-auto w-full px-3",...w,children:e.jsxs("div",{className:"flex items-center",children:[B?e.jsx(h.ListFilterPlusIcon,{className:"size-5"}):e.jsx(h.ListFilterIcon,{className:"size-5"})," ",e.jsx("span",{className:"hidden md:inline!",children:t||p("Filter")}),e.jsx(h.ChevronDown,{})]})})}),e.jsx(x.PopoverContent,{side:"bottom",align:"end",...u,children:e.jsx(k.Form,{...v,children:e.jsxs("form",{onSubmit:T(z),className:"space-y-4",children:[e.jsx("div",{className:"h-full shrink space-y-6 p-1",children:a.map(s=>s.options?e.jsx($.MySelect,{control:f,name:s.name,isSearchable:!!s.isSearchable,placeholder:s.placeholder,isMulti:s.isMulti,options:s.options,label:s.label},s.name):e.jsx(j.MyInput,{control:f,placeholder:s.placeholder,name:s.name,label:s.label},s.name))}),e.jsxs("div",{className:"flex shrink-0 justify-end gap-2",children:[e.jsx(i.Button,{variant:"destructive",type:"reset",size:"sm",onClick:F,children:E||p("Reset")}),e.jsx(i.Button,{type:"submit",size:"sm",children:I||p("Apply")})]})]})})})]})}),W=({placeholder:y,onSearchChange:a,className:c,inputProps:n,...o})=>{const{t:b}=g.useTranslation(),[l,u]=r.useState("");return e.jsxs("div",{...o,className:C.cn("relative w-full",c),children:[e.jsx(k.Input,{...n,placeholder:y||b("Type text and press Enter"),onInput:t=>u(j.get(t,"target.value","")),onKeyUp:t=>{t.key===S.Keyboard.ENTER&&(a(l||void 0),t.stopPropagation(),t.preventDefault())},onKeyDown:t=>{t.key===S.Keyboard.ENTER&&(t.stopPropagation(),t.preventDefault())}}),e.jsx(i.Button,{type:"button",variant:"ghost",className:"text-foreground absolute top-0 right-0 cursor-pointer rounded-md bg-transparent!",onClick:()=>a(l),children:e.jsx(A.pv,{})})]})};exports.FilterWrapper=O;exports.Search=W;
|
|
2
|
+
//# sourceMappingURL=Search-BQKw3els.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Search-BQKw3els.cjs.js","sources":["../../src/components/filters/FilterWrapper.tsx","../../src/components/filters/Search.tsx"],"sourcesContent":["import get from 'lodash.get';\nimport { ChevronDown, ListFilterIcon, ListFilterPlusIcon } from 'lucide-react';\nimport { memo, type ReactNode, useCallback, useEffect, useState } from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Button, type ButtonProps } from 'react-start-kit/button';\nimport { Form, type Option } from 'react-start-kit/form';\nimport {\n Popover,\n type PopoverContainerProps,\n PopoverContent,\n PopoverTrigger,\n} from 'react-start-kit/popover';\nimport { useFilter } from '../../hooks';\nimport { MyInput, MySelect } from '../form';\n\n/**\n * Interface representing a filter configuration.\n */\nexport interface FilterInterface {\n /** Label for the filter field. */\n label?: ReactNode;\n /** Placeholder text for the input/select. */\n placeholder?: string;\n /** Default value for the filter. */\n value?: string | string[];\n /** Name of the filter field (used as key). */\n name: string;\n /** Whether the filter supports multiple values (for select inputs). */\n isMulti?: boolean;\n /** Whether the filter supports searchable inputs (for select inputs). */\n isSearchable?: boolean;\n /** Options for select inputs. */\n options?: Option[];\n access?: string[];\n}\n\n/**\n * Props for the FilterWrapper component.\n */\nexport interface FilterWrapperProps\n extends Omit<ButtonProps, 'title'>, PopoverContainerProps {\n /** Array of filter definitions to render. */\n filters: FilterInterface[];\n /** Current active parameters/filters. */\n params?: Record<string, unknown>;\n /** Callback fired when filters are applied. */\n onFilter?: (filters: Record<string, unknown>) => void;\n /** Callback fired when the filter popover is closed/cancelled. */\n onCancel?: () => void;\n /** Callback fired when filter form values change. */\n onChange?: (filters: FieldValues) => void;\n /** Title for the filter button. */\n title?: ReactNode;\n /** Text for the reset button. */\n resetText?: ReactNode;\n /** Text for the apply button. */\n applyText?: ReactNode;\n}\n\n/**\n * FilterWrapper shows a popover with a dynamic list of field filters and emits selected filter values.\n *\n * @param props.filters - Array of filter definitions to render.\n * @param props.params - Current params used to detect active filters.\n * @param props.onFilter - Callback fired when user applies filters.\n * @param props.onCancel - Callback fired on cancel.\n * @param props.onChange - Callback fired whenever filter form values change.\n * @returns {JSX.Element} A filter button that opens a popover with filter controls\n */\nexport const FilterWrapper = memo(function FilterWrapper({\n filters,\n params,\n onFilter,\n onChange,\n onCancel,\n triggerProps,\n contentProps,\n title,\n resetText,\n applyText,\n ...btnProps\n}: FilterWrapperProps) {\n const { t } = useTranslation();\n const [isFiltered, setIsFiltered] = useState(false);\n const [open, setOpen] = useState(false);\n const { form } = useFilter({ params });\n\n const { watch, handleSubmit, control, reset } = form;\n\n useEffect(() => {\n let hasFilter = false;\n filters.map((filter) => {\n const value = get(params, `${filter.name}`);\n if (Array.isArray(value) ? value.length > 0 : Boolean(value)) {\n hasFilter = true;\n }\n\n setIsFiltered(hasFilter);\n });\n }, [filters, params]);\n\n const values = watch();\n\n useEffect(() => {\n onChange?.(values);\n }, [values, onChange]);\n\n const handleFilter = useCallback(\n (data = {}) => {\n onFilter?.(data);\n setOpen(false);\n },\n [onFilter]\n );\n\n const handleReset = useCallback(() => {\n reset();\n if (onFilter) {\n onFilter({\n ...Object.fromEntries(\n filters.map((filter) => [filter.name, undefined])\n ),\n });\n }\n setOpen(false);\n }, [onFilter, reset, filters]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger {...triggerProps} className={'grow'}>\n <Button\n asChild\n size={'sm'}\n variant=\"secondary\"\n className={'ml-auto w-full px-3'}\n {...btnProps}\n >\n <div className={'flex items-center'}>\n {isFiltered ? (\n <ListFilterPlusIcon className={'size-5'} />\n ) : (\n <ListFilterIcon className={'size-5'} />\n )}{' '}\n <span className={'hidden md:inline!'}>{title || t('Filter')}</span>\n <ChevronDown />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent side={'bottom'} align={'end'} {...contentProps}>\n <Form {...form}>\n <form onSubmit={handleSubmit(handleFilter)} className={'space-y-4'}>\n <div className={'h-full shrink space-y-6 p-1'}>\n {filters.map((filter) =>\n filter.options ? (\n <MySelect\n key={filter.name}\n control={control}\n name={filter.name}\n isSearchable={Boolean(filter.isSearchable)}\n placeholder={filter.placeholder}\n isMulti={filter.isMulti}\n options={filter.options}\n label={filter.label}\n />\n ) : (\n <MyInput\n key={filter.name}\n control={control}\n placeholder={filter.placeholder}\n name={filter.name}\n label={filter.label}\n />\n )\n )}\n </div>\n <div className={'flex shrink-0 justify-end gap-2'}>\n <Button\n variant={'destructive'}\n type=\"reset\"\n size={'sm'}\n onClick={handleReset}\n >\n {resetText || t('Reset')}\n </Button>\n <Button type=\"submit\" size={'sm'}>\n {applyText || t('Apply')}\n </Button>\n </div>\n </form>\n </Form>\n </PopoverContent>\n </Popover>\n );\n});\n","import { RiSearchLine } from '@remixicon/react';\nimport get from 'lodash.get';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from 'react-start-kit/button';\nimport type { CardProps } from 'react-start-kit/card';\nimport { Input, type InputProps } from 'react-start-kit/form';\nimport { cn } from 'react-start-kit/utils';\nimport { Keyboard } from '../../enums';\n\n/**\n * Props for the Search component.\n */\nexport type SearchProps = Omit<CardProps, 'title'> & {\n /** Custom placeholder text for the input. */\n placeholder?: string;\n /** Callback fired when the search is triggered. */\n onSearchChange: (search?: string) => void;\n inputProps?: InputProps;\n};\n\n/**\n * Search input with a submit button that triggers a search action.\n *\n * This component renders a search input field and a search button. The search\n * is triggered when the user presses Enter or clicks the button. The search\n * value is then passed to the `onSearchChange` callback.\n *\n * @param {SearchProps} props - The props for the component.\n * @param {string} [props.placeholder] - Optional placeholder text for the input field.\n * @param {Function} props.onSearchChange - Callback function that is called when a search is performed.\n * @param {string} [props.className] - Optional class name for the component.\n * @param {InputProps} [props.inputProps] - Optional props to pass to the underlying Input component.\n * @returns {JSX.Element} A search input field with submit button\n */\nexport const Search = ({\n placeholder,\n onSearchChange,\n className,\n inputProps,\n ...props\n}: SearchProps) => {\n const { t } = useTranslation();\n const [search, setSearch] = useState('');\n\n return (\n <div {...props} className={cn('relative w-full', className)}>\n <Input\n {...inputProps}\n placeholder={placeholder || t('Type text and press Enter')}\n onInput={(evt) => setSearch(get(evt, 'target.value', ''))}\n onKeyUp={(evt) => {\n if (evt.key === Keyboard.ENTER) {\n onSearchChange(search || undefined);\n evt.stopPropagation();\n evt.preventDefault();\n }\n }}\n onKeyDown={(event) => {\n if (event.key === Keyboard.ENTER) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n />\n <Button\n type={'button'}\n variant={'ghost'}\n className={\n 'text-foreground absolute top-0 right-0 cursor-pointer rounded-md bg-transparent!'\n }\n onClick={() => onSearchChange(search)}\n >\n <RiSearchLine />\n </Button>\n </div>\n );\n};\n"],"names":["FilterWrapper","memo","filters","params","onFilter","onChange","onCancel","triggerProps","contentProps","title","resetText","applyText","btnProps","t","useTranslation","isFiltered","setIsFiltered","useState","open","setOpen","form","useFilter","watch","handleSubmit","control","reset","useEffect","hasFilter","filter","value","get","values","handleFilter","useCallback","data","handleReset","jsxs","Popover","jsx","PopoverTrigger","Button","ListFilterPlusIcon","ListFilterIcon","ChevronDown","PopoverContent","Form","MySelect","MyInput","Search","placeholder","onSearchChange","className","inputProps","props","search","setSearch","cn","Input","evt","Keyboard","event","RiSearchLine"],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { jsxs as l, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { g as E, M as B } from "./MyInput-BbLCYCkb.es.js";
|
|
3
|
+
import { ListFilterPlusIcon as O, ListFilterIcon as C, ChevronDown as L } from "lucide-react";
|
|
4
|
+
import { memo as W, useState as h, useEffect as x, useCallback as S } from "react";
|
|
5
|
+
import { useTranslation as w } from "react-i18next";
|
|
6
|
+
import { Button as c } from "react-start-kit/button";
|
|
7
|
+
import { Form as U, Input as $ } from "react-start-kit/form";
|
|
8
|
+
import { Popover as q, PopoverTrigger as G, PopoverContent as H } from "react-start-kit/popover";
|
|
9
|
+
import { u as J } from "./useFilter-DpCwY1KO.es.js";
|
|
10
|
+
import { M as Q } from "./MySelect-DWTZ-FuO.es.js";
|
|
11
|
+
import { p as V } from "./index-E1NtSoNr.es.js";
|
|
12
|
+
import { cn as X } from "react-start-kit/utils";
|
|
13
|
+
import { K as k } from "./Keyboard-CJVAJWdO.es.js";
|
|
14
|
+
const me = W(function({
|
|
15
|
+
filters: t,
|
|
16
|
+
params: n,
|
|
17
|
+
onFilter: o,
|
|
18
|
+
onChange: r,
|
|
19
|
+
onCancel: y,
|
|
20
|
+
triggerProps: i,
|
|
21
|
+
contentProps: m,
|
|
22
|
+
title: a,
|
|
23
|
+
resetText: I,
|
|
24
|
+
applyText: M,
|
|
25
|
+
...P
|
|
26
|
+
}) {
|
|
27
|
+
const { t: p } = w(), [z, T] = h(!1), [j, d] = h(!1), { form: v } = J({ params: n }), { watch: D, handleSubmit: F, control: b, reset: N } = v;
|
|
28
|
+
x(() => {
|
|
29
|
+
let e = !1;
|
|
30
|
+
t.map((A) => {
|
|
31
|
+
const u = E(n, `${A.name}`);
|
|
32
|
+
(Array.isArray(u) ? u.length > 0 : u) && (e = !0), T(e);
|
|
33
|
+
});
|
|
34
|
+
}, [t, n]);
|
|
35
|
+
const g = D();
|
|
36
|
+
x(() => {
|
|
37
|
+
r == null || r(g);
|
|
38
|
+
}, [g, r]);
|
|
39
|
+
const K = S(
|
|
40
|
+
(e = {}) => {
|
|
41
|
+
o == null || o(e), d(!1);
|
|
42
|
+
},
|
|
43
|
+
[o]
|
|
44
|
+
), R = S(() => {
|
|
45
|
+
N(), o && o({
|
|
46
|
+
...Object.fromEntries(
|
|
47
|
+
t.map((e) => [e.name, void 0])
|
|
48
|
+
)
|
|
49
|
+
}), d(!1);
|
|
50
|
+
}, [o, N, t]);
|
|
51
|
+
return /* @__PURE__ */ l(q, { open: j, onOpenChange: d, children: [
|
|
52
|
+
/* @__PURE__ */ s(G, { ...i, className: "grow", children: /* @__PURE__ */ s(
|
|
53
|
+
c,
|
|
54
|
+
{
|
|
55
|
+
asChild: !0,
|
|
56
|
+
size: "sm",
|
|
57
|
+
variant: "secondary",
|
|
58
|
+
className: "ml-auto w-full px-3",
|
|
59
|
+
...P,
|
|
60
|
+
children: /* @__PURE__ */ l("div", { className: "flex items-center", children: [
|
|
61
|
+
z ? /* @__PURE__ */ s(O, { className: "size-5" }) : /* @__PURE__ */ s(C, { className: "size-5" }),
|
|
62
|
+
" ",
|
|
63
|
+
/* @__PURE__ */ s("span", { className: "hidden md:inline!", children: a || p("Filter") }),
|
|
64
|
+
/* @__PURE__ */ s(L, {})
|
|
65
|
+
] })
|
|
66
|
+
}
|
|
67
|
+
) }),
|
|
68
|
+
/* @__PURE__ */ s(H, { side: "bottom", align: "end", ...m, children: /* @__PURE__ */ s(U, { ...v, children: /* @__PURE__ */ l("form", { onSubmit: F(K), className: "space-y-4", children: [
|
|
69
|
+
/* @__PURE__ */ s("div", { className: "h-full shrink space-y-6 p-1", children: t.map(
|
|
70
|
+
(e) => e.options ? /* @__PURE__ */ s(
|
|
71
|
+
Q,
|
|
72
|
+
{
|
|
73
|
+
control: b,
|
|
74
|
+
name: e.name,
|
|
75
|
+
isSearchable: !!e.isSearchable,
|
|
76
|
+
placeholder: e.placeholder,
|
|
77
|
+
isMulti: e.isMulti,
|
|
78
|
+
options: e.options,
|
|
79
|
+
label: e.label
|
|
80
|
+
},
|
|
81
|
+
e.name
|
|
82
|
+
) : /* @__PURE__ */ s(
|
|
83
|
+
B,
|
|
84
|
+
{
|
|
85
|
+
control: b,
|
|
86
|
+
placeholder: e.placeholder,
|
|
87
|
+
name: e.name,
|
|
88
|
+
label: e.label
|
|
89
|
+
},
|
|
90
|
+
e.name
|
|
91
|
+
)
|
|
92
|
+
) }),
|
|
93
|
+
/* @__PURE__ */ l("div", { className: "flex shrink-0 justify-end gap-2", children: [
|
|
94
|
+
/* @__PURE__ */ s(
|
|
95
|
+
c,
|
|
96
|
+
{
|
|
97
|
+
variant: "destructive",
|
|
98
|
+
type: "reset",
|
|
99
|
+
size: "sm",
|
|
100
|
+
onClick: R,
|
|
101
|
+
children: I || p("Reset")
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
/* @__PURE__ */ s(c, { type: "submit", size: "sm", children: M || p("Apply") })
|
|
105
|
+
] })
|
|
106
|
+
] }) }) })
|
|
107
|
+
] });
|
|
108
|
+
}), pe = ({
|
|
109
|
+
placeholder: f,
|
|
110
|
+
onSearchChange: t,
|
|
111
|
+
className: n,
|
|
112
|
+
inputProps: o,
|
|
113
|
+
...r
|
|
114
|
+
}) => {
|
|
115
|
+
const { t: y } = w(), [i, m] = h("");
|
|
116
|
+
return /* @__PURE__ */ l("div", { ...r, className: X("relative w-full", n), children: [
|
|
117
|
+
/* @__PURE__ */ s(
|
|
118
|
+
$,
|
|
119
|
+
{
|
|
120
|
+
...o,
|
|
121
|
+
placeholder: f || y("Type text and press Enter"),
|
|
122
|
+
onInput: (a) => m(E(a, "target.value", "")),
|
|
123
|
+
onKeyUp: (a) => {
|
|
124
|
+
a.key === k.ENTER && (t(i || void 0), a.stopPropagation(), a.preventDefault());
|
|
125
|
+
},
|
|
126
|
+
onKeyDown: (a) => {
|
|
127
|
+
a.key === k.ENTER && (a.stopPropagation(), a.preventDefault());
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
),
|
|
131
|
+
/* @__PURE__ */ s(
|
|
132
|
+
c,
|
|
133
|
+
{
|
|
134
|
+
type: "button",
|
|
135
|
+
variant: "ghost",
|
|
136
|
+
className: "text-foreground absolute top-0 right-0 cursor-pointer rounded-md bg-transparent!",
|
|
137
|
+
onClick: () => t(i),
|
|
138
|
+
children: /* @__PURE__ */ s(V, {})
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
] });
|
|
142
|
+
};
|
|
143
|
+
export {
|
|
144
|
+
me as F,
|
|
145
|
+
pe as S
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=Search-DqbIV61m.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Search-DqbIV61m.es.js","sources":["../../src/components/filters/FilterWrapper.tsx","../../src/components/filters/Search.tsx"],"sourcesContent":["import get from 'lodash.get';\nimport { ChevronDown, ListFilterIcon, ListFilterPlusIcon } from 'lucide-react';\nimport { memo, type ReactNode, useCallback, useEffect, useState } from 'react';\nimport type { FieldValues } from 'react-hook-form';\nimport { useTranslation } from 'react-i18next';\nimport { Button, type ButtonProps } from 'react-start-kit/button';\nimport { Form, type Option } from 'react-start-kit/form';\nimport {\n Popover,\n type PopoverContainerProps,\n PopoverContent,\n PopoverTrigger,\n} from 'react-start-kit/popover';\nimport { useFilter } from '../../hooks';\nimport { MyInput, MySelect } from '../form';\n\n/**\n * Interface representing a filter configuration.\n */\nexport interface FilterInterface {\n /** Label for the filter field. */\n label?: ReactNode;\n /** Placeholder text for the input/select. */\n placeholder?: string;\n /** Default value for the filter. */\n value?: string | string[];\n /** Name of the filter field (used as key). */\n name: string;\n /** Whether the filter supports multiple values (for select inputs). */\n isMulti?: boolean;\n /** Whether the filter supports searchable inputs (for select inputs). */\n isSearchable?: boolean;\n /** Options for select inputs. */\n options?: Option[];\n access?: string[];\n}\n\n/**\n * Props for the FilterWrapper component.\n */\nexport interface FilterWrapperProps\n extends Omit<ButtonProps, 'title'>, PopoverContainerProps {\n /** Array of filter definitions to render. */\n filters: FilterInterface[];\n /** Current active parameters/filters. */\n params?: Record<string, unknown>;\n /** Callback fired when filters are applied. */\n onFilter?: (filters: Record<string, unknown>) => void;\n /** Callback fired when the filter popover is closed/cancelled. */\n onCancel?: () => void;\n /** Callback fired when filter form values change. */\n onChange?: (filters: FieldValues) => void;\n /** Title for the filter button. */\n title?: ReactNode;\n /** Text for the reset button. */\n resetText?: ReactNode;\n /** Text for the apply button. */\n applyText?: ReactNode;\n}\n\n/**\n * FilterWrapper shows a popover with a dynamic list of field filters and emits selected filter values.\n *\n * @param props.filters - Array of filter definitions to render.\n * @param props.params - Current params used to detect active filters.\n * @param props.onFilter - Callback fired when user applies filters.\n * @param props.onCancel - Callback fired on cancel.\n * @param props.onChange - Callback fired whenever filter form values change.\n * @returns {JSX.Element} A filter button that opens a popover with filter controls\n */\nexport const FilterWrapper = memo(function FilterWrapper({\n filters,\n params,\n onFilter,\n onChange,\n onCancel,\n triggerProps,\n contentProps,\n title,\n resetText,\n applyText,\n ...btnProps\n}: FilterWrapperProps) {\n const { t } = useTranslation();\n const [isFiltered, setIsFiltered] = useState(false);\n const [open, setOpen] = useState(false);\n const { form } = useFilter({ params });\n\n const { watch, handleSubmit, control, reset } = form;\n\n useEffect(() => {\n let hasFilter = false;\n filters.map((filter) => {\n const value = get(params, `${filter.name}`);\n if (Array.isArray(value) ? value.length > 0 : Boolean(value)) {\n hasFilter = true;\n }\n\n setIsFiltered(hasFilter);\n });\n }, [filters, params]);\n\n const values = watch();\n\n useEffect(() => {\n onChange?.(values);\n }, [values, onChange]);\n\n const handleFilter = useCallback(\n (data = {}) => {\n onFilter?.(data);\n setOpen(false);\n },\n [onFilter]\n );\n\n const handleReset = useCallback(() => {\n reset();\n if (onFilter) {\n onFilter({\n ...Object.fromEntries(\n filters.map((filter) => [filter.name, undefined])\n ),\n });\n }\n setOpen(false);\n }, [onFilter, reset, filters]);\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger {...triggerProps} className={'grow'}>\n <Button\n asChild\n size={'sm'}\n variant=\"secondary\"\n className={'ml-auto w-full px-3'}\n {...btnProps}\n >\n <div className={'flex items-center'}>\n {isFiltered ? (\n <ListFilterPlusIcon className={'size-5'} />\n ) : (\n <ListFilterIcon className={'size-5'} />\n )}{' '}\n <span className={'hidden md:inline!'}>{title || t('Filter')}</span>\n <ChevronDown />\n </div>\n </Button>\n </PopoverTrigger>\n <PopoverContent side={'bottom'} align={'end'} {...contentProps}>\n <Form {...form}>\n <form onSubmit={handleSubmit(handleFilter)} className={'space-y-4'}>\n <div className={'h-full shrink space-y-6 p-1'}>\n {filters.map((filter) =>\n filter.options ? (\n <MySelect\n key={filter.name}\n control={control}\n name={filter.name}\n isSearchable={Boolean(filter.isSearchable)}\n placeholder={filter.placeholder}\n isMulti={filter.isMulti}\n options={filter.options}\n label={filter.label}\n />\n ) : (\n <MyInput\n key={filter.name}\n control={control}\n placeholder={filter.placeholder}\n name={filter.name}\n label={filter.label}\n />\n )\n )}\n </div>\n <div className={'flex shrink-0 justify-end gap-2'}>\n <Button\n variant={'destructive'}\n type=\"reset\"\n size={'sm'}\n onClick={handleReset}\n >\n {resetText || t('Reset')}\n </Button>\n <Button type=\"submit\" size={'sm'}>\n {applyText || t('Apply')}\n </Button>\n </div>\n </form>\n </Form>\n </PopoverContent>\n </Popover>\n );\n});\n","import { RiSearchLine } from '@remixicon/react';\nimport get from 'lodash.get';\nimport { useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Button } from 'react-start-kit/button';\nimport type { CardProps } from 'react-start-kit/card';\nimport { Input, type InputProps } from 'react-start-kit/form';\nimport { cn } from 'react-start-kit/utils';\nimport { Keyboard } from '../../enums';\n\n/**\n * Props for the Search component.\n */\nexport type SearchProps = Omit<CardProps, 'title'> & {\n /** Custom placeholder text for the input. */\n placeholder?: string;\n /** Callback fired when the search is triggered. */\n onSearchChange: (search?: string) => void;\n inputProps?: InputProps;\n};\n\n/**\n * Search input with a submit button that triggers a search action.\n *\n * This component renders a search input field and a search button. The search\n * is triggered when the user presses Enter or clicks the button. The search\n * value is then passed to the `onSearchChange` callback.\n *\n * @param {SearchProps} props - The props for the component.\n * @param {string} [props.placeholder] - Optional placeholder text for the input field.\n * @param {Function} props.onSearchChange - Callback function that is called when a search is performed.\n * @param {string} [props.className] - Optional class name for the component.\n * @param {InputProps} [props.inputProps] - Optional props to pass to the underlying Input component.\n * @returns {JSX.Element} A search input field with submit button\n */\nexport const Search = ({\n placeholder,\n onSearchChange,\n className,\n inputProps,\n ...props\n}: SearchProps) => {\n const { t } = useTranslation();\n const [search, setSearch] = useState('');\n\n return (\n <div {...props} className={cn('relative w-full', className)}>\n <Input\n {...inputProps}\n placeholder={placeholder || t('Type text and press Enter')}\n onInput={(evt) => setSearch(get(evt, 'target.value', ''))}\n onKeyUp={(evt) => {\n if (evt.key === Keyboard.ENTER) {\n onSearchChange(search || undefined);\n evt.stopPropagation();\n evt.preventDefault();\n }\n }}\n onKeyDown={(event) => {\n if (event.key === Keyboard.ENTER) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n />\n <Button\n type={'button'}\n variant={'ghost'}\n className={\n 'text-foreground absolute top-0 right-0 cursor-pointer rounded-md bg-transparent!'\n }\n onClick={() => onSearchChange(search)}\n >\n <RiSearchLine />\n </Button>\n </div>\n );\n};\n"],"names":["FilterWrapper","memo","filters","params","onFilter","onChange","onCancel","triggerProps","contentProps","title","resetText","applyText","btnProps","t","useTranslation","isFiltered","setIsFiltered","useState","open","setOpen","form","useFilter","watch","handleSubmit","control","reset","useEffect","hasFilter","filter","value","get","values","handleFilter","useCallback","data","handleReset","jsxs","Popover","jsx","PopoverTrigger","Button","ListFilterPlusIcon","ListFilterIcon","ChevronDown","PopoverContent","Form","MySelect","MyInput","Search","placeholder","onSearchChange","className","inputProps","props","search","setSearch","cn","Input","evt","Keyboard","event","RiSearchLine"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortOrder-81BrXp3i.cjs.js","sources":["../../src/enums/SortOrder.ts"],"sourcesContent":["/**\n * SortOrder enum for ascending/descending sort.\n */\nexport enum SortOrder {\n /** Ascending sort order (A-Z, 0-9, oldest to newest) */\n ASC = 'ASC',\n /** Descending sort order (Z-A, 9-0, newest to oldest) */\n DESC = 'DESC',\n}\n"],"names":["SortOrder"],"mappings":"aAGO,IAAKA,GAAAA,IAEVA,EAAA,IAAM,MAENA,EAAA,KAAO,OAJGA,IAAAA,GAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SortOrder-CwuehjY1.es.js","sources":["../../src/enums/SortOrder.ts"],"sourcesContent":["/**\n * SortOrder enum for ascending/descending sort.\n */\nexport enum SortOrder {\n /** Ascending sort order (A-Z, 0-9, oldest to newest) */\n ASC = 'ASC',\n /** Descending sort order (Z-A, 9-0, newest to oldest) */\n DESC = 'DESC',\n}\n"],"names":["SortOrder"],"mappings":"AAGO,IAAKA,sBAAAA,OAEVA,EAAA,MAAM,OAENA,EAAA,OAAO,QAJGA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const t=require("react/jsx-runtime"),s=require("react-start-kit/utils"),c=e=>t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",...e,className:s.cn("mr-1 size-5 animate-spin text-white",e==null?void 0:e.className),children:[t.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),t.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]});exports.Spin=c;
|
|
2
|
+
//# sourceMappingURL=Spin-CCtUPIlI.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spin-CCtUPIlI.cjs.js","sources":["../../src/components/loader/Spin.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport { cn } from 'react-start-kit/utils';\n\n/**\n * Props for the Spin component.\n */\nexport type SpinProps = HTMLAttributes<HTMLOrSVGElement>;\n\n/**\n * Spin renders a simple SVG spinner. You can override className to change size/color.\n *\n * @param props - Optional HTML/SVG attributes applied to the svg element.\n * @returns {JSX.Element} An SVG spinner element.\n */\nconst Spin = (props?: SpinProps) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n className={cn('mr-1 size-5 animate-spin text-white', props?.className)}\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n ></circle>\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n );\n};\n\nexport default Spin;\n"],"names":["Spin","props","jsxs","cn","jsx"],"mappings":"qFAcMA,EAAQC,GAEVC,EAAAA,KAAC,MAAA,CACC,MAAM,6BACN,KAAK,OACL,QAAQ,YACP,GAAGD,EACJ,UAAWE,EAAAA,GAAG,sCAAuCF,GAAA,YAAAA,EAAO,SAAS,EAErE,SAAA,CAAAG,EAAAA,IAAC,SAAA,CACC,UAAU,aACV,GAAG,KACH,GAAG,KACH,EAAE,KACF,OAAO,eACP,YAAY,GAAA,CAAA,EAEdA,EAAAA,IAAC,OAAA,CACC,UAAU,aACV,KAAK,eACL,EAAE,iHAAA,CAAA,CACH,CAAA,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsxs as c, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { cn as a } from "react-start-kit/utils";
|
|
3
|
+
const s = (t) => /* @__PURE__ */ c(
|
|
4
|
+
"svg",
|
|
5
|
+
{
|
|
6
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
7
|
+
fill: "none",
|
|
8
|
+
viewBox: "0 0 24 24",
|
|
9
|
+
...t,
|
|
10
|
+
className: a("mr-1 size-5 animate-spin text-white", t == null ? void 0 : t.className),
|
|
11
|
+
children: [
|
|
12
|
+
/* @__PURE__ */ e(
|
|
13
|
+
"circle",
|
|
14
|
+
{
|
|
15
|
+
className: "opacity-25",
|
|
16
|
+
cx: "12",
|
|
17
|
+
cy: "12",
|
|
18
|
+
r: "10",
|
|
19
|
+
stroke: "currentColor",
|
|
20
|
+
strokeWidth: "4"
|
|
21
|
+
}
|
|
22
|
+
),
|
|
23
|
+
/* @__PURE__ */ e(
|
|
24
|
+
"path",
|
|
25
|
+
{
|
|
26
|
+
className: "opacity-75",
|
|
27
|
+
fill: "currentColor",
|
|
28
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"
|
|
29
|
+
}
|
|
30
|
+
)
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
export {
|
|
35
|
+
s as S
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=Spin-DSBxxpPG.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spin-DSBxxpPG.es.js","sources":["../../src/components/loader/Spin.tsx"],"sourcesContent":["import type { HTMLAttributes } from 'react';\nimport { cn } from 'react-start-kit/utils';\n\n/**\n * Props for the Spin component.\n */\nexport type SpinProps = HTMLAttributes<HTMLOrSVGElement>;\n\n/**\n * Spin renders a simple SVG spinner. You can override className to change size/color.\n *\n * @param props - Optional HTML/SVG attributes applied to the svg element.\n * @returns {JSX.Element} An SVG spinner element.\n */\nconst Spin = (props?: SpinProps) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n {...props}\n className={cn('mr-1 size-5 animate-spin text-white', props?.className)}\n >\n <circle\n className=\"opacity-25\"\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n stroke=\"currentColor\"\n strokeWidth=\"4\"\n ></circle>\n <path\n className=\"opacity-75\"\n fill=\"currentColor\"\n d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\n ></path>\n </svg>\n );\n};\n\nexport default Spin;\n"],"names":["Spin","props","jsxs","cn","jsx"],"mappings":";;AAcA,MAAMA,IAAO,CAACC,MAEV,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,MAAK;AAAA,IACL,SAAQ;AAAA,IACP,GAAGD;AAAA,IACJ,WAAWE,EAAG,uCAAuCF,KAAA,gBAAAA,EAAO,SAAS;AAAA,IAErE,UAAA;AAAA,MAAA,gBAAAG;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,IAAG;AAAA,UACH,IAAG;AAAA,UACH,GAAE;AAAA,UACF,QAAO;AAAA,UACP,aAAY;AAAA,QAAA;AAAA,MAAA;AAAA,MAEd,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,MAAK;AAAA,UACL,GAAE;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeMode-BO6tit_Z.cjs.js","sources":["../../src/enums/ThemeMode.ts"],"sourcesContent":["/**\n * Enum for supported theme modes.\n */\nexport enum ThemeMode {\n /** Light theme with bright colors */\n LIGHT = 'light',\n /** Dark theme with dark colors */\n DARK = 'dark',\n /** Follow system/OS theme preference */\n SYSTEM = 'system',\n}\n"],"names":["ThemeMode"],"mappings":"aAGO,IAAKA,GAAAA,IAEVA,EAAA,MAAQ,QAERA,EAAA,KAAO,OAEPA,EAAA,OAAS,SANCA,IAAAA,GAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeMode-CqURAYDL.es.js","sources":["../../src/enums/ThemeMode.ts"],"sourcesContent":["/**\n * Enum for supported theme modes.\n */\nexport enum ThemeMode {\n /** Light theme with bright colors */\n LIGHT = 'light',\n /** Dark theme with dark colors */\n DARK = 'dark',\n /** Follow system/OS theme preference */\n SYSTEM = 'system',\n}\n"],"names":["ThemeMode"],"mappings":"AAGO,IAAKA,sBAAAA,OAEVA,EAAA,QAAQ,SAERA,EAAA,OAAO,QAEPA,EAAA,SAAS,UANCA,IAAAA,KAAA,CAAA,CAAA;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProviderContext-CDiIvEe7.es.js","sources":["../../src/contexts/ThemeProviderContext.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { ThemeMode } from '../enums';\n\n/**\n * State shape for the ThemeProvider context.\n */\ntype ThemeProviderState = {\n /** Current active theme mode. */\n theme: ThemeMode;\n /** Function to update the theme. */\n setTheme: (theme: ThemeMode) => void;\n};\n\n/**\n * React context holding the current theme and a setter to update it.\n *\n * Use together with useTheme() hook. Defaults to system theme.\n */\nexport const ThemeProviderContext = createContext<ThemeProviderState>({\n theme: ThemeMode.SYSTEM,\n setTheme: () => null,\n});\n"],"names":["ThemeProviderContext","createContext","ThemeMode"],"mappings":";;AAkBO,MAAMA,IAAuBC,EAAkC;AAAA,EACpE,OAAOC,EAAU;AAAA,EACjB,UAAU,MAAM;AAClB,CAAC;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProviderContext-rq2okb30.cjs.js","sources":["../../src/contexts/ThemeProviderContext.ts"],"sourcesContent":["import { createContext } from 'react';\nimport { ThemeMode } from '../enums';\n\n/**\n * State shape for the ThemeProvider context.\n */\ntype ThemeProviderState = {\n /** Current active theme mode. */\n theme: ThemeMode;\n /** Function to update the theme. */\n setTheme: (theme: ThemeMode) => void;\n};\n\n/**\n * React context holding the current theme and a setter to update it.\n *\n * Use together with useTheme() hook. Defaults to system theme.\n */\nexport const ThemeProviderContext = createContext<ThemeProviderState>({\n theme: ThemeMode.SYSTEM,\n setTheme: () => null,\n});\n"],"names":["ThemeProviderContext","createContext","ThemeMode"],"mappings":"+EAkBaA,EAAuBC,EAAAA,cAAkC,CACpE,MAAOC,EAAAA,UAAU,OACjB,SAAU,IAAM,IAClB,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var o=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function l(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}exports.commonjsGlobal=o;exports.getDefaultExportFromCjs=l;
|
|
2
|
+
//# sourceMappingURL=_commonjsHelpers-DKOUU3wS.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_commonjsHelpers-DKOUU3wS.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var o = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {};
|
|
2
|
+
function l(e) {
|
|
3
|
+
return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
|
|
4
|
+
}
|
|
5
|
+
export {
|
|
6
|
+
o as c,
|
|
7
|
+
l as g
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=_commonjsHelpers-DaMA6jEr.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_commonjsHelpers-DaMA6jEr.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const r=require("react"),o=e=>e&&e.__esModule?e:{default:e},l=o(r),c=({color:e="currentColor",size:t=24,className:a,...s})=>l.default.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...s,className:"remixicon "+(a||"")},l.default.createElement("path",{d:"M11.9999 13.1714L16.9497 8.22168L18.3639 9.63589L11.9999 15.9999L5.63599 9.63589L7.0502 8.22168L11.9999 13.1714Z"})),i=({color:e="currentColor",size:t=24,className:a,...s})=>l.default.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...s,className:"remixicon "+(a||"")},l.default.createElement("path",{d:"M11 7H13V17H11V7ZM15 11H17V17H15V11ZM7 13H9V17H7V13ZM15 4H5V20H19V8H15V4ZM3 2.9918C3 2.44405 3.44749 2 3.9985 2H16L20.9997 7L21 20.9925C21 21.5489 20.5551 22 20.0066 22H3.9934C3.44476 22 3 21.5447 3 21.0082V2.9918Z"})),n=({color:e="currentColor",size:t=24,className:a,...s})=>l.default.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...s,className:"remixicon "+(a||"")},l.default.createElement("path",{d:"M11 5H5V19H11V5ZM13 5V19H19V5H13ZM4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3Z"})),m=({color:e="currentColor",size:t=24,className:a,...s})=>l.default.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...s,className:"remixicon "+(a||"")},l.default.createElement("path",{d:"M22 18V20H2V18H22ZM2 3.5L10 8.5L2 13.5V3.5ZM22 11V13H12V11H22ZM4 7.1085V9.8915L6.22641 8.5L4 7.1085ZM22 4V6H12V4H22Z"})),w=({color:e="currentColor",size:t=24,className:a,...s})=>l.default.createElement("svg",{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",width:t,height:t,fill:e,...s,className:"remixicon "+(a||"")},l.default.createElement("path",{d:"M18.031 16.6168L22.3137 20.8995L20.8995 22.3137L16.6168 18.031C15.0769 19.263 13.124 20 11 20C6.032 20 2 15.968 2 11C2 6.032 6.032 2 11 2C15.968 2 20 6.032 20 11C20 13.124 19.263 15.0769 18.031 16.6168ZM16.0247 15.8748C17.2475 14.6146 18 12.8956 18 11C18 7.1325 14.8675 4 11 4C7.1325 4 4 7.1325 4 11C4 14.8675 7.1325 18 11 18C12.8956 18 14.6146 17.2475 15.8748 16.0247L16.0247 15.8748Z"}));exports.Wg=m;exports.ZC=i;exports.f1=c;exports.pv=w;exports.yn=n;
|
|
2
|
+
//# sourceMappingURL=index-ClQFzqcq.cjs.js.map
|