@lerianstudio/sindarian-ui 1.2.0-beta.13 → 1.2.0-beta.14
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/charts/chart.d.ts +64 -0
- package/dist/charts/chart.d.ts.map +1 -0
- package/dist/charts/chart.js +232 -0
- package/dist/charts/index.d.ts +3 -0
- package/dist/charts/index.d.ts.map +1 -0
- package/dist/charts/index.js +11 -0
- package/dist/components/breadcrumb/get-breadcrumb-paths.js +5 -2
- package/dist/components/form/date-time-picker-field/index.js +1 -1
- package/dist/components/form/file-upload-field/index.d.ts +52 -0
- package/dist/components/form/file-upload-field/index.d.ts.map +1 -0
- package/dist/components/form/file-upload-field/index.js +50 -0
- package/dist/components/form/index.d.ts +3 -0
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +3 -0
- package/dist/components/form/radio-group-field/index.d.ts +32 -0
- package/dist/components/form/radio-group-field/index.d.ts.map +1 -0
- package/dist/components/form/radio-group-field/index.js +29 -0
- package/dist/components/form/renderable-label.d.ts +35 -0
- package/dist/components/form/renderable-label.d.ts.map +1 -0
- package/dist/components/form/renderable-label.js +57 -0
- package/dist/components/form/textarea-field/index.d.ts +31 -0
- package/dist/components/form/textarea-field/index.d.ts.map +1 -0
- package/dist/components/form/textarea-field/index.js +23 -0
- package/dist/components/table/id-table-cell.js +5 -2
- package/dist/components/ui/accordion/index.d.ts +14 -0
- package/dist/components/ui/accordion/index.d.ts.map +1 -0
- package/dist/components/ui/accordion/index.js +62 -0
- package/dist/components/ui/alert-dialog/index.d.ts +15 -0
- package/dist/components/ui/alert-dialog/index.d.ts.map +1 -0
- package/dist/components/ui/alert-dialog/index.js +84 -0
- package/dist/components/ui/autocomplete/index.js +4 -4
- package/dist/components/ui/file-upload/index.d.ts +94 -0
- package/dist/components/ui/file-upload/index.d.ts.map +1 -0
- package/dist/components/ui/file-upload/index.js +230 -0
- package/dist/components/ui/hover-card/index.d.ts +7 -0
- package/dist/components/ui/hover-card/index.d.ts.map +1 -0
- package/dist/components/ui/hover-card/index.js +51 -0
- package/dist/components/ui/input/index.js +2 -2
- package/dist/components/ui/otp-input/index.d.ts.map +1 -1
- package/dist/components/ui/otp-input/index.js +1 -1
- package/dist/components/ui/radio-group/index.d.ts +6 -0
- package/dist/components/ui/radio-group/index.d.ts.map +1 -0
- package/dist/components/ui/radio-group/index.js +48 -0
- package/dist/components/ui/scroll-area/index.d.ts +6 -0
- package/dist/components/ui/scroll-area/index.d.ts.map +1 -0
- package/dist/components/ui/scroll-area/index.js +49 -0
- package/dist/components/ui/sidebar/index.d.ts +1 -0
- package/dist/components/ui/sidebar/index.d.ts.map +1 -1
- package/dist/components/ui/sidebar/index.js +1 -0
- package/dist/components/ui/sidebar/next-router.cjs +44 -0
- package/dist/components/ui/sidebar/next-router.d.cts +7 -0
- package/dist/components/ui/sidebar/sidebar-item-button.d.ts +2 -2
- package/dist/components/ui/sidebar/sidebar-item-button.d.ts.map +1 -1
- package/dist/components/ui/sidebar/sidebar-item-button.js +3 -5
- package/dist/components/ui/sidebar/sidebar-item-icon-button.d.ts +2 -2
- package/dist/components/ui/sidebar/sidebar-item-icon-button.d.ts.map +1 -1
- package/dist/components/ui/sidebar/sidebar-item-icon-button.js +3 -5
- package/dist/components/ui/sidebar/sidebar-item.d.ts.map +1 -1
- package/dist/components/ui/sidebar/sidebar-item.js +3 -2
- package/dist/components/ui/sidebar/sidebar-router.d.ts +82 -0
- package/dist/components/ui/sidebar/sidebar-router.d.ts.map +1 -0
- package/dist/components/ui/sidebar/sidebar-router.js +126 -0
- package/dist/components/ui/toast/index.d.ts +1 -1
- package/dist/components/ui/toast/index.d.ts.map +1 -1
- package/dist/components/ui/toggle-group/index.d.ts +18 -0
- package/dist/components/ui/toggle-group/index.d.ts.map +1 -0
- package/dist/components/ui/toggle-group/index.js +87 -0
- package/dist/domain/blotter/index.d.ts +40 -0
- package/dist/domain/blotter/index.d.ts.map +1 -0
- package/dist/domain/blotter/index.js +16 -0
- package/dist/domain/delinquency-aging/aging-buckets.d.ts +37 -0
- package/dist/domain/delinquency-aging/aging-buckets.d.ts.map +1 -0
- package/dist/domain/delinquency-aging/aging-buckets.js +97 -0
- package/dist/domain/delinquency-aging/index.d.ts +52 -0
- package/dist/domain/delinquency-aging/index.d.ts.map +1 -0
- package/dist/domain/delinquency-aging/index.js +151 -0
- package/dist/domain/figure/index.d.ts +30 -0
- package/dist/domain/figure/index.d.ts.map +1 -0
- package/dist/domain/figure/index.js +18 -0
- package/dist/domain/format.d.ts +57 -0
- package/dist/domain/format.d.ts.map +1 -0
- package/dist/domain/format.js +102 -0
- package/dist/domain/index.d.ts +22 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +43 -0
- package/dist/domain/key-id/index.d.ts +31 -0
- package/dist/domain/key-id/index.d.ts.map +1 -0
- package/dist/domain/key-id/index.js +167 -0
- package/dist/domain/ledger-sheet/index.d.ts +45 -0
- package/dist/domain/ledger-sheet/index.d.ts.map +1 -0
- package/dist/domain/ledger-sheet/index.js +28 -0
- package/dist/domain/money-diff.d.ts +23 -0
- package/dist/domain/money-diff.d.ts.map +1 -0
- package/dist/domain/money-diff.js +48 -0
- package/dist/domain/money-math.d.ts +32 -0
- package/dist/domain/money-math.d.ts.map +1 -0
- package/dist/domain/money-math.js +104 -0
- package/dist/domain/money-text/index.d.ts +37 -0
- package/dist/domain/money-text/index.d.ts.map +1 -0
- package/dist/domain/money-text/index.js +113 -0
- package/dist/domain/section-label/index.d.ts +21 -0
- package/dist/domain/section-label/index.d.ts.map +1 -0
- package/dist/domain/section-label/index.js +9 -0
- package/dist/domain/status-rail/index.d.ts +40 -0
- package/dist/domain/status-rail/index.d.ts.map +1 -0
- package/dist/domain/status-rail/index.js +64 -0
- package/dist/domain/threshold-gauge/index.d.ts +84 -0
- package/dist/domain/threshold-gauge/index.d.ts.map +1 -0
- package/dist/domain/threshold-gauge/index.js +157 -0
- package/dist/enterprise/alert-banner/index.d.ts +30 -0
- package/dist/enterprise/alert-banner/index.d.ts.map +1 -0
- package/dist/enterprise/alert-banner/index.js +24 -0
- package/dist/enterprise/app-shell/index.d.ts +61 -0
- package/dist/enterprise/app-shell/index.d.ts.map +1 -0
- package/dist/enterprise/app-shell/index.js +87 -0
- package/dist/enterprise/cursor-pager/index.d.ts +21 -0
- package/dist/enterprise/cursor-pager/index.d.ts.map +1 -0
- package/dist/enterprise/cursor-pager/index.js +26 -0
- package/dist/enterprise/data-table/index.d.ts +88 -0
- package/dist/enterprise/data-table/index.d.ts.map +1 -0
- package/dist/enterprise/data-table/index.js +245 -0
- package/dist/enterprise/date-range-picker/index.d.ts +37 -0
- package/dist/enterprise/date-range-picker/index.d.ts.map +1 -0
- package/dist/enterprise/date-range-picker/index.js +74 -0
- package/dist/enterprise/detail-panel/index.d.ts +54 -0
- package/dist/enterprise/detail-panel/index.d.ts.map +1 -0
- package/dist/enterprise/detail-panel/index.js +20 -0
- package/dist/enterprise/empty-state/index.d.ts +32 -0
- package/dist/enterprise/empty-state/index.d.ts.map +1 -0
- package/dist/enterprise/empty-state/index.js +13 -0
- package/dist/enterprise/index.d.ts +26 -0
- package/dist/enterprise/index.d.ts.map +1 -0
- package/dist/enterprise/index.js +39 -0
- package/dist/enterprise/number-input/index.d.ts +55 -0
- package/dist/enterprise/number-input/index.d.ts.map +1 -0
- package/dist/enterprise/number-input/index.js +238 -0
- package/dist/enterprise/search-input/index.d.ts +32 -0
- package/dist/enterprise/search-input/index.d.ts.map +1 -0
- package/dist/enterprise/search-input/index.js +114 -0
- package/dist/enterprise/stat-card/index.d.ts +43 -0
- package/dist/enterprise/stat-card/index.d.ts.map +1 -0
- package/dist/enterprise/stat-card/index.js +67 -0
- package/dist/enterprise/status-badge/index.d.ts +31 -0
- package/dist/enterprise/status-badge/index.d.ts.map +1 -0
- package/dist/enterprise/status-badge/index.js +120 -0
- package/dist/enterprise/use-is-mobile.d.ts +11 -0
- package/dist/enterprise/use-is-mobile.d.ts.map +1 -0
- package/dist/enterprise/use-is-mobile.js +59 -0
- package/dist/enterprise/virtualized-table/index.d.ts +26 -0
- package/dist/enterprise/virtualized-table/index.d.ts.map +1 -0
- package/dist/enterprise/virtualized-table/index.js +114 -0
- package/dist/esm/charts/chart.d.ts +64 -0
- package/dist/esm/charts/chart.d.ts.map +1 -0
- package/dist/esm/charts/chart.js +191 -0
- package/dist/esm/charts/index.d.ts +3 -0
- package/dist/esm/charts/index.d.ts.map +1 -0
- package/dist/esm/charts/index.js +3 -0
- package/dist/esm/components/breadcrumb/get-breadcrumb-paths.d.ts +10 -0
- package/dist/esm/components/breadcrumb/get-breadcrumb-paths.d.ts.map +1 -0
- package/dist/esm/components/breadcrumb/get-breadcrumb-paths.js +12 -0
- package/dist/esm/components/breadcrumb/index.d.ts +11 -0
- package/dist/esm/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/esm/components/breadcrumb/index.js +6 -0
- package/dist/esm/components/card/account-card/index.d.ts +32 -0
- package/dist/esm/components/card/account-card/index.d.ts.map +1 -0
- package/dist/esm/components/card/account-card/index.js +53 -0
- package/dist/esm/components/card/basic-card/index.d.ts +6 -0
- package/dist/esm/components/card/basic-card/index.d.ts.map +1 -0
- package/dist/esm/components/card/basic-card/index.js +14 -0
- package/dist/esm/components/card/dashboard-card/index.d.ts +5 -0
- package/dist/esm/components/card/dashboard-card/index.d.ts.map +1 -0
- package/dist/esm/components/card/dashboard-card/index.js +14 -0
- package/dist/esm/components/card/entity-card/index.d.ts +22 -0
- package/dist/esm/components/card/entity-card/index.d.ts.map +1 -0
- package/dist/esm/components/card/entity-card/index.js +48 -0
- package/dist/esm/components/card/index.d.ts +5 -0
- package/dist/esm/components/card/index.d.ts.map +1 -0
- package/dist/esm/components/card/index.js +4 -0
- package/dist/esm/components/dialog/confirmation-dialog/index.d.ts +16 -0
- package/dist/esm/components/dialog/confirmation-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/dialog/confirmation-dialog/index.js +25 -0
- package/dist/esm/components/dialog/confirmation-dialog/use-confirm-dialog.d.ts +31 -0
- package/dist/esm/components/dialog/confirmation-dialog/use-confirm-dialog.d.ts.map +1 -0
- package/dist/esm/components/dialog/confirmation-dialog/use-confirm-dialog.js +49 -0
- package/dist/esm/components/dialog/index.d.ts +4 -0
- package/dist/esm/components/dialog/index.d.ts.map +1 -0
- package/dist/esm/components/dialog/index.js +3 -0
- package/dist/esm/components/dialog/large-dialog/index.d.ts +11 -0
- package/dist/esm/components/dialog/large-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/dialog/large-dialog/index.js +16 -0
- package/dist/esm/components/entity-box/index.d.ts +17 -0
- package/dist/esm/components/entity-box/index.d.ts.map +1 -0
- package/dist/esm/components/entity-box/index.js +31 -0
- package/dist/esm/components/entity-data-table/index.d.ts +17 -0
- package/dist/esm/components/entity-data-table/index.d.ts.map +1 -0
- package/dist/esm/components/entity-data-table/index.js +17 -0
- package/dist/esm/components/form/combo-box-field/index.d.ts +14 -0
- package/dist/esm/components/form/combo-box-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/combo-box-field/index.js +28 -0
- package/dist/esm/components/form/country-field/index.d.ts +5 -0
- package/dist/esm/components/form/country-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/country-field/index.js +7 -0
- package/dist/esm/components/form/date-picker-field/index.d.ts +21 -0
- package/dist/esm/components/form/date-picker-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/date-picker-field/index.js +38 -0
- package/dist/esm/components/form/date-range-field/index.d.ts +21 -0
- package/dist/esm/components/form/date-range-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/date-range-field/index.js +17 -0
- package/dist/esm/components/form/date-time-picker-field/index.d.ts +23 -0
- package/dist/esm/components/form/date-time-picker-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/date-time-picker-field/index.js +73 -0
- package/dist/esm/components/form/file-upload-field/index.d.ts +52 -0
- package/dist/esm/components/form/file-upload-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/file-upload-field/index.js +46 -0
- package/dist/esm/components/form/index.d.ts +16 -0
- package/dist/esm/components/form/index.d.ts.map +1 -0
- package/dist/esm/components/form/index.js +15 -0
- package/dist/esm/components/form/input-field/index.d.ts +26 -0
- package/dist/esm/components/form/input-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/input-field/index.js +10 -0
- package/dist/esm/components/form/otp-field/index.d.ts +18 -0
- package/dist/esm/components/form/otp-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/otp-field/index.js +15 -0
- package/dist/esm/components/form/pagination-limit-field/index.d.ts +9 -0
- package/dist/esm/components/form/pagination-limit-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/pagination-limit-field/index.js +6 -0
- package/dist/esm/components/form/password-field/index.d.ts +14 -0
- package/dist/esm/components/form/password-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/password-field/index.js +10 -0
- package/dist/esm/components/form/radio-group-field/index.d.ts +32 -0
- package/dist/esm/components/form/radio-group-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/radio-group-field/index.js +25 -0
- package/dist/esm/components/form/renderable-label.d.ts +35 -0
- package/dist/esm/components/form/renderable-label.d.ts.map +1 -0
- package/dist/esm/components/form/renderable-label.js +54 -0
- package/dist/esm/components/form/select-field/index.d.ts +20 -0
- package/dist/esm/components/form/select-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/select-field/index.js +16 -0
- package/dist/esm/components/form/state-field/index.d.ts +10 -0
- package/dist/esm/components/form/state-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/state-field/index.js +35 -0
- package/dist/esm/components/form/switch-field/index.d.ts +15 -0
- package/dist/esm/components/form/switch-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/switch-field/index.js +7 -0
- package/dist/esm/components/form/textarea-field/index.d.ts +31 -0
- package/dist/esm/components/form/textarea-field/index.d.ts.map +1 -0
- package/dist/esm/components/form/textarea-field/index.js +19 -0
- package/dist/esm/components/page/index.d.ts +4 -0
- package/dist/esm/components/page/index.d.ts.map +1 -0
- package/dist/esm/components/page/index.js +11 -0
- package/dist/esm/components/page-header/index.d.ts +33 -0
- package/dist/esm/components/page-header/index.d.ts.map +1 -0
- package/dist/esm/components/page-header/index.js +40 -0
- package/dist/esm/components/pagination/index.d.ts +8 -0
- package/dist/esm/components/pagination/index.d.ts.map +1 -0
- package/dist/esm/components/pagination/index.js +6 -0
- package/dist/esm/components/table/id-table-cell.d.ts +7 -0
- package/dist/esm/components/table/id-table-cell.d.ts.map +1 -0
- package/dist/esm/components/table/id-table-cell.js +12 -0
- package/dist/esm/components/table/index.d.ts +3 -0
- package/dist/esm/components/table/index.d.ts.map +1 -0
- package/dist/esm/components/table/index.js +2 -0
- package/dist/esm/components/table/locked-table-actions.d.ts +7 -0
- package/dist/esm/components/table/locked-table-actions.d.ts.map +1 -0
- package/dist/esm/components/table/locked-table-actions.js +7 -0
- package/dist/esm/components/table/name-table-cell.d.ts +6 -0
- package/dist/esm/components/table/name-table-cell.d.ts.map +1 -0
- package/dist/esm/components/table/name-table-cell.js +6 -0
- package/dist/esm/components/ui/accordion/index.d.ts +14 -0
- package/dist/esm/components/ui/accordion/index.d.ts.map +1 -0
- package/dist/esm/components/ui/accordion/index.js +24 -0
- package/dist/esm/components/ui/alert/index.d.ts +15 -0
- package/dist/esm/components/ui/alert/index.d.ts.map +1 -0
- package/dist/esm/components/ui/alert/index.js +38 -0
- package/dist/esm/components/ui/alert-dialog/index.d.ts +15 -0
- package/dist/esm/components/ui/alert-dialog/index.d.ts.map +1 -0
- package/dist/esm/components/ui/alert-dialog/index.js +39 -0
- package/dist/esm/components/ui/autocomplete/index.d.ts +54 -0
- package/dist/esm/components/ui/autocomplete/index.d.ts.map +1 -0
- package/dist/esm/components/ui/autocomplete/index.js +276 -0
- package/dist/esm/components/ui/autosize-textarea/index.d.ts +15 -0
- package/dist/esm/components/ui/autosize-textarea/index.d.ts.map +1 -0
- package/dist/esm/components/ui/autosize-textarea/index.js +51 -0
- package/dist/esm/components/ui/avatar/index.d.ts +7 -0
- package/dist/esm/components/ui/avatar/index.d.ts.map +1 -0
- package/dist/esm/components/ui/avatar/index.js +14 -0
- package/dist/esm/components/ui/badge/index.d.ts +11 -0
- package/dist/esm/components/ui/badge/index.d.ts.map +1 -0
- package/dist/esm/components/ui/badge/index.js +29 -0
- package/dist/esm/components/ui/breadcrumb/index.d.ts +12 -0
- package/dist/esm/components/ui/breadcrumb/index.d.ts.map +1 -0
- package/dist/esm/components/ui/breadcrumb/index.js +27 -0
- package/dist/esm/components/ui/button/index.d.ts +22 -0
- package/dist/esm/components/ui/button/index.d.ts.map +1 -0
- package/dist/esm/components/ui/button/index.js +59 -0
- package/dist/esm/components/ui/calendar/index.d.ts +9 -0
- package/dist/esm/components/ui/calendar/index.d.ts.map +1 -0
- package/dist/esm/components/ui/calendar/index.js +79 -0
- package/dist/esm/components/ui/card/index.d.ts +10 -0
- package/dist/esm/components/ui/card/index.d.ts.map +1 -0
- package/dist/esm/components/ui/card/index.js +24 -0
- package/dist/esm/components/ui/checkbox/index.d.ts +5 -0
- package/dist/esm/components/ui/checkbox/index.d.ts.map +1 -0
- package/dist/esm/components/ui/checkbox/index.js +9 -0
- package/dist/esm/components/ui/collapsible/index.d.ts +6 -0
- package/dist/esm/components/ui/collapsible/index.d.ts.map +1 -0
- package/dist/esm/components/ui/collapsible/index.js +13 -0
- package/dist/esm/components/ui/command/index.d.ts +14 -0
- package/dist/esm/components/ui/command/index.d.ts.map +1 -0
- package/dist/esm/components/ui/command/index.js +51 -0
- package/dist/esm/components/ui/copy-field/index.d.ts +56 -0
- package/dist/esm/components/ui/copy-field/index.d.ts.map +1 -0
- package/dist/esm/components/ui/copy-field/index.js +114 -0
- package/dist/esm/components/ui/dialog/index.d.ts +16 -0
- package/dist/esm/components/ui/dialog/index.d.ts.map +1 -0
- package/dist/esm/components/ui/dialog/index.js +36 -0
- package/dist/esm/components/ui/dropdown-menu/index.d.ts +27 -0
- package/dist/esm/components/ui/dropdown-menu/index.d.ts.map +1 -0
- package/dist/esm/components/ui/dropdown-menu/index.js +57 -0
- package/dist/esm/components/ui/field/index.d.ts +25 -0
- package/dist/esm/components/ui/field/index.d.ts.map +1 -0
- package/dist/esm/components/ui/field/index.js +68 -0
- package/dist/esm/components/ui/file-upload/index.d.ts +94 -0
- package/dist/esm/components/ui/file-upload/index.d.ts.map +1 -0
- package/dist/esm/components/ui/file-upload/index.js +193 -0
- package/dist/esm/components/ui/form.d.ts +39 -0
- package/dist/esm/components/ui/form.d.ts.map +1 -0
- package/dist/esm/components/ui/form.js +67 -0
- package/dist/esm/components/ui/hover-card/index.d.ts +7 -0
- package/dist/esm/components/ui/hover-card/index.d.ts.map +1 -0
- package/dist/esm/components/ui/hover-card/index.js +14 -0
- package/dist/esm/components/ui/icon-button/index.d.ts +13 -0
- package/dist/esm/components/ui/icon-button/index.d.ts.map +1 -0
- package/dist/esm/components/ui/icon-button/index.js +31 -0
- package/dist/esm/components/ui/input/adornment.d.ts +9 -0
- package/dist/esm/components/ui/input/adornment.d.ts.map +1 -0
- package/dist/esm/components/ui/input/adornment.js +17 -0
- package/dist/esm/components/ui/input/index.d.ts +18 -0
- package/dist/esm/components/ui/input/index.d.ts.map +1 -0
- package/dist/esm/components/ui/input/index.js +60 -0
- package/dist/esm/components/ui/label/index.d.ts +7 -0
- package/dist/esm/components/ui/label/index.d.ts.map +1 -0
- package/dist/esm/components/ui/label/index.js +10 -0
- package/dist/esm/components/ui/loading-button/index.d.ts +8 -0
- package/dist/esm/components/ui/loading-button/index.d.ts.map +1 -0
- package/dist/esm/components/ui/loading-button/index.js +7 -0
- package/dist/esm/components/ui/multiple-select/index.d.ts +91 -0
- package/dist/esm/components/ui/multiple-select/index.d.ts.map +1 -0
- package/dist/esm/components/ui/multiple-select/index.js +196 -0
- package/dist/esm/components/ui/otp-input/index.d.ts +13 -0
- package/dist/esm/components/ui/otp-input/index.d.ts.map +1 -0
- package/dist/esm/components/ui/otp-input/index.js +21 -0
- package/dist/esm/components/ui/paper/index.d.ts +4 -0
- package/dist/esm/components/ui/paper/index.d.ts.map +1 -0
- package/dist/esm/components/ui/paper/index.js +5 -0
- package/dist/esm/components/ui/paper-collapsible/index.d.ts +9 -0
- package/dist/esm/components/ui/paper-collapsible/index.d.ts.map +1 -0
- package/dist/esm/components/ui/paper-collapsible/index.js +19 -0
- package/dist/esm/components/ui/popover/index.d.ts +8 -0
- package/dist/esm/components/ui/popover/index.d.ts.map +1 -0
- package/dist/esm/components/ui/popover/index.js +17 -0
- package/dist/esm/components/ui/progress/index.d.ts +8 -0
- package/dist/esm/components/ui/progress/index.d.ts.map +1 -0
- package/dist/esm/components/ui/progress/index.js +8 -0
- package/dist/esm/components/ui/qr-code/index.d.ts +26 -0
- package/dist/esm/components/ui/qr-code/index.d.ts.map +1 -0
- package/dist/esm/components/ui/qr-code/index.js +24 -0
- package/dist/esm/components/ui/radio-group/index.d.ts +6 -0
- package/dist/esm/components/ui/radio-group/index.d.ts.map +1 -0
- package/dist/esm/components/ui/radio-group/index.js +12 -0
- package/dist/esm/components/ui/scroll-area/index.d.ts +6 -0
- package/dist/esm/components/ui/scroll-area/index.d.ts.map +1 -0
- package/dist/esm/components/ui/scroll-area/index.js +13 -0
- package/dist/esm/components/ui/select/index.d.ts +18 -0
- package/dist/esm/components/ui/select/index.d.ts.map +1 -0
- package/dist/esm/components/ui/select/index.js +47 -0
- package/dist/esm/components/ui/separator/index.d.ts +5 -0
- package/dist/esm/components/ui/separator/index.d.ts.map +1 -0
- package/dist/esm/components/ui/separator/index.js +8 -0
- package/dist/esm/components/ui/sheet/index.d.ts +19 -0
- package/dist/esm/components/ui/sheet/index.d.ts.map +1 -0
- package/dist/esm/components/ui/sheet/index.js +59 -0
- package/dist/esm/components/ui/sidebar/index.d.ts +11 -0
- package/dist/esm/components/ui/sidebar/index.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/index.js +10 -0
- package/dist/esm/components/ui/sidebar/next-router.cjs +44 -0
- package/dist/esm/components/ui/sidebar/next-router.d.cts +7 -0
- package/dist/esm/components/ui/sidebar/sidebar-back-button.d.ts +3 -0
- package/dist/esm/components/ui/sidebar/sidebar-back-button.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-back-button.js +5 -0
- package/dist/esm/components/ui/sidebar/sidebar-components.d.ts +23 -0
- package/dist/esm/components/ui/sidebar/sidebar-components.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-components.js +15 -0
- package/dist/esm/components/ui/sidebar/sidebar-expand-button.d.ts +7 -0
- package/dist/esm/components/ui/sidebar/sidebar-expand-button.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-expand-button.js +12 -0
- package/dist/esm/components/ui/sidebar/sidebar-item-button.d.ts +12 -0
- package/dist/esm/components/ui/sidebar/sidebar-item-button.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-item-button.js +18 -0
- package/dist/esm/components/ui/sidebar/sidebar-item-collapsible.d.ts +12 -0
- package/dist/esm/components/ui/sidebar/sidebar-item-collapsible.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-item-collapsible.js +44 -0
- package/dist/esm/components/ui/sidebar/sidebar-item-icon-button.d.ts +12 -0
- package/dist/esm/components/ui/sidebar/sidebar-item-icon-button.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-item-icon-button.js +14 -0
- package/dist/esm/components/ui/sidebar/sidebar-item.d.ts +13 -0
- package/dist/esm/components/ui/sidebar/sidebar-item.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-item.js +16 -0
- package/dist/esm/components/ui/sidebar/sidebar-provider.d.ts +12 -0
- package/dist/esm/components/ui/sidebar/sidebar-provider.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-provider.js +51 -0
- package/dist/esm/components/ui/sidebar/sidebar-root.d.ts +3 -0
- package/dist/esm/components/ui/sidebar/sidebar-root.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-root.js +20 -0
- package/dist/esm/components/ui/sidebar/sidebar-router.d.ts +82 -0
- package/dist/esm/components/ui/sidebar/sidebar-router.d.ts.map +1 -0
- package/dist/esm/components/ui/sidebar/sidebar-router.js +89 -0
- package/dist/esm/components/ui/skeleton/index.d.ts +3 -0
- package/dist/esm/components/ui/skeleton/index.d.ts.map +1 -0
- package/dist/esm/components/ui/skeleton/index.js +6 -0
- package/dist/esm/components/ui/stepper/index.d.ts +18 -0
- package/dist/esm/components/ui/stepper/index.d.ts.map +1 -0
- package/dist/esm/components/ui/stepper/index.js +20 -0
- package/dist/esm/components/ui/switch/index.d.ts +5 -0
- package/dist/esm/components/ui/switch/index.d.ts.map +1 -0
- package/dist/esm/components/ui/switch/index.js +8 -0
- package/dist/esm/components/ui/table/index.d.ts +21 -0
- package/dist/esm/components/ui/table/index.d.ts.map +1 -0
- package/dist/esm/components/ui/table/index.js +44 -0
- package/dist/esm/components/ui/tabs/index.d.ts +8 -0
- package/dist/esm/components/ui/tabs/index.d.ts.map +1 -0
- package/dist/esm/components/ui/tabs/index.js +17 -0
- package/dist/esm/components/ui/textarea/index.d.ts +4 -0
- package/dist/esm/components/ui/textarea/index.d.ts.map +1 -0
- package/dist/esm/components/ui/textarea/index.js +6 -0
- package/dist/esm/components/ui/time-picker/index.d.ts +18 -0
- package/dist/esm/components/ui/time-picker/index.d.ts.map +1 -0
- package/dist/esm/components/ui/time-picker/index.js +49 -0
- package/dist/esm/components/ui/toast/index.d.ts +18 -0
- package/dist/esm/components/ui/toast/index.d.ts.map +1 -0
- package/dist/esm/components/ui/toast/index.js +2 -0
- package/dist/esm/components/ui/toast/toaster.d.ts +6 -0
- package/dist/esm/components/ui/toast/toaster.d.ts.map +1 -0
- package/dist/esm/components/ui/toast/toaster.js +8 -0
- package/dist/esm/components/ui/toggle-group/index.d.ts +18 -0
- package/dist/esm/components/ui/toggle-group/index.d.ts.map +1 -0
- package/dist/esm/components/ui/toggle-group/index.js +51 -0
- package/dist/esm/components/ui/tooltip/index.d.ts +11 -0
- package/dist/esm/components/ui/tooltip/index.d.ts.map +1 -0
- package/dist/esm/components/ui/tooltip/index.js +28 -0
- package/dist/esm/domain/blotter/index.d.ts +40 -0
- package/dist/esm/domain/blotter/index.d.ts.map +1 -0
- package/dist/esm/domain/blotter/index.js +12 -0
- package/dist/esm/domain/delinquency-aging/aging-buckets.d.ts +37 -0
- package/dist/esm/domain/delinquency-aging/aging-buckets.d.ts.map +1 -0
- package/dist/esm/domain/delinquency-aging/aging-buckets.js +92 -0
- package/dist/esm/domain/delinquency-aging/index.d.ts +52 -0
- package/dist/esm/domain/delinquency-aging/index.d.ts.map +1 -0
- package/dist/esm/domain/delinquency-aging/index.js +147 -0
- package/dist/esm/domain/figure/index.d.ts +30 -0
- package/dist/esm/domain/figure/index.d.ts.map +1 -0
- package/dist/esm/domain/figure/index.js +14 -0
- package/dist/esm/domain/format.d.ts +57 -0
- package/dist/esm/domain/format.d.ts.map +1 -0
- package/dist/esm/domain/format.js +94 -0
- package/dist/esm/domain/index.d.ts +22 -0
- package/dist/esm/domain/index.d.ts.map +1 -0
- package/dist/esm/domain/index.js +19 -0
- package/dist/esm/domain/key-id/index.d.ts +31 -0
- package/dist/esm/domain/key-id/index.d.ts.map +1 -0
- package/dist/esm/domain/key-id/index.js +162 -0
- package/dist/esm/domain/ledger-sheet/index.d.ts +45 -0
- package/dist/esm/domain/ledger-sheet/index.d.ts.map +1 -0
- package/dist/esm/domain/ledger-sheet/index.js +24 -0
- package/dist/esm/domain/money-diff.d.ts +23 -0
- package/dist/esm/domain/money-diff.d.ts.map +1 -0
- package/dist/esm/domain/money-diff.js +45 -0
- package/dist/esm/domain/money-math.d.ts +32 -0
- package/dist/esm/domain/money-math.d.ts.map +1 -0
- package/dist/esm/domain/money-math.js +98 -0
- package/dist/esm/domain/money-text/index.d.ts +37 -0
- package/dist/esm/domain/money-text/index.d.ts.map +1 -0
- package/dist/esm/domain/money-text/index.js +108 -0
- package/dist/esm/domain/section-label/index.d.ts +21 -0
- package/dist/esm/domain/section-label/index.d.ts.map +1 -0
- package/dist/esm/domain/section-label/index.js +6 -0
- package/dist/esm/domain/status-rail/index.d.ts +40 -0
- package/dist/esm/domain/status-rail/index.d.ts.map +1 -0
- package/dist/esm/domain/status-rail/index.js +59 -0
- package/dist/esm/domain/threshold-gauge/index.d.ts +84 -0
- package/dist/esm/domain/threshold-gauge/index.d.ts.map +1 -0
- package/dist/esm/domain/threshold-gauge/index.js +153 -0
- package/dist/esm/enterprise/alert-banner/index.d.ts +30 -0
- package/dist/esm/enterprise/alert-banner/index.d.ts.map +1 -0
- package/dist/esm/enterprise/alert-banner/index.js +21 -0
- package/dist/esm/enterprise/app-shell/index.d.ts +61 -0
- package/dist/esm/enterprise/app-shell/index.d.ts.map +1 -0
- package/dist/esm/enterprise/app-shell/index.js +51 -0
- package/dist/esm/enterprise/cursor-pager/index.d.ts +21 -0
- package/dist/esm/enterprise/cursor-pager/index.d.ts.map +1 -0
- package/dist/esm/enterprise/cursor-pager/index.js +23 -0
- package/dist/esm/enterprise/data-table/index.d.ts +88 -0
- package/dist/esm/enterprise/data-table/index.d.ts.map +1 -0
- package/dist/esm/enterprise/data-table/index.js +242 -0
- package/dist/esm/enterprise/date-range-picker/index.d.ts +37 -0
- package/dist/esm/enterprise/date-range-picker/index.d.ts.map +1 -0
- package/dist/esm/enterprise/date-range-picker/index.js +71 -0
- package/dist/esm/enterprise/detail-panel/index.d.ts +54 -0
- package/dist/esm/enterprise/detail-panel/index.d.ts.map +1 -0
- package/dist/esm/enterprise/detail-panel/index.js +17 -0
- package/dist/esm/enterprise/empty-state/index.d.ts +32 -0
- package/dist/esm/enterprise/empty-state/index.d.ts.map +1 -0
- package/dist/esm/enterprise/empty-state/index.js +10 -0
- package/dist/esm/enterprise/index.d.ts +26 -0
- package/dist/esm/enterprise/index.d.ts.map +1 -0
- package/dist/esm/enterprise/index.js +22 -0
- package/dist/esm/enterprise/number-input/index.d.ts +55 -0
- package/dist/esm/enterprise/number-input/index.d.ts.map +1 -0
- package/dist/esm/enterprise/number-input/index.js +200 -0
- package/dist/esm/enterprise/search-input/index.d.ts +32 -0
- package/dist/esm/enterprise/search-input/index.d.ts.map +1 -0
- package/dist/esm/enterprise/search-input/index.js +78 -0
- package/dist/esm/enterprise/stat-card/index.d.ts +43 -0
- package/dist/esm/enterprise/stat-card/index.d.ts.map +1 -0
- package/dist/esm/enterprise/stat-card/index.js +64 -0
- package/dist/esm/enterprise/status-badge/index.d.ts +31 -0
- package/dist/esm/enterprise/status-badge/index.d.ts.map +1 -0
- package/dist/esm/enterprise/status-badge/index.js +116 -0
- package/dist/esm/enterprise/use-is-mobile.d.ts +11 -0
- package/dist/esm/enterprise/use-is-mobile.d.ts.map +1 -0
- package/dist/esm/enterprise/use-is-mobile.js +23 -0
- package/dist/esm/enterprise/virtualized-table/index.d.ts +26 -0
- package/dist/esm/enterprise/virtualized-table/index.d.ts.map +1 -0
- package/dist/esm/enterprise/virtualized-table/index.js +111 -0
- package/dist/esm/hooks/use-click-away.d.ts +9 -0
- package/dist/esm/hooks/use-click-away.d.ts.map +1 -0
- package/dist/esm/hooks/use-click-away.js +22 -0
- package/dist/esm/hooks/use-pagination.d.ts +13 -0
- package/dist/esm/hooks/use-pagination.d.ts.map +1 -0
- package/dist/esm/hooks/use-pagination.js +38 -0
- package/dist/esm/hooks/use-stepper.d.ts +11 -0
- package/dist/esm/hooks/use-stepper.d.ts.map +1 -0
- package/dist/esm/hooks/use-stepper.js +22 -0
- package/dist/esm/hooks/use-time.d.ts +6 -0
- package/dist/esm/hooks/use-time.d.ts.map +1 -0
- package/dist/esm/hooks/use-time.js +13 -0
- package/dist/esm/hooks/use-toast.d.ts +31 -0
- package/dist/esm/hooks/use-toast.d.ts.map +1 -0
- package/dist/esm/hooks/use-toast.js +63 -0
- package/dist/esm/index.d.ts +69 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +74 -0
- package/dist/esm/lib/storage/get-storage-object.d.ts +2 -0
- package/dist/esm/lib/storage/get-storage-object.d.ts.map +1 -0
- package/dist/esm/lib/storage/get-storage-object.js +17 -0
- package/dist/esm/lib/storage/get-storage.d.ts +2 -0
- package/dist/esm/lib/storage/get-storage.d.ts.map +1 -0
- package/dist/esm/lib/storage/get-storage.js +14 -0
- package/dist/esm/lib/storage/index.d.ts +3 -0
- package/dist/esm/lib/storage/index.d.ts.map +1 -0
- package/dist/esm/lib/storage/index.js +2 -0
- package/dist/esm/lib/typography.d.ts +17 -0
- package/dist/esm/lib/typography.d.ts.map +1 -0
- package/dist/esm/lib/typography.js +16 -0
- package/dist/esm/lib/utils.d.ts +3 -0
- package/dist/esm/lib/utils.d.ts.map +1 -0
- package/dist/esm/lib/utils.js +5 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/public/countries.json +21210 -0
- package/dist/esm/theme/get-theme-script.d.ts +3 -0
- package/dist/esm/theme/get-theme-script.d.ts.map +1 -0
- package/dist/esm/theme/get-theme-script.js +41 -0
- package/dist/esm/theme/index.d.ts +6 -0
- package/dist/esm/theme/index.d.ts.map +1 -0
- package/dist/esm/theme/index.js +4 -0
- package/dist/esm/theme/mode-toggle.d.ts +25 -0
- package/dist/esm/theme/mode-toggle.d.ts.map +1 -0
- package/dist/esm/theme/mode-toggle.js +27 -0
- package/dist/esm/theme/theme-provider.d.ts +38 -0
- package/dist/esm/theme/theme-provider.d.ts.map +1 -0
- package/dist/esm/theme/theme-provider.js +98 -0
- package/dist/esm/toast/helpers.d.ts +16 -0
- package/dist/esm/toast/helpers.d.ts.map +1 -0
- package/dist/esm/toast/helpers.js +29 -0
- package/dist/esm/toast/index.d.ts +3 -0
- package/dist/esm/toast/index.d.ts.map +1 -0
- package/dist/esm/toast/index.js +4 -0
- package/dist/esm/types/metadata-type.d.ts +2 -0
- package/dist/esm/types/metadata-type.d.ts.map +1 -0
- package/dist/esm/types/metadata-type.js +1 -0
- package/dist/esm/utils/countries.cjs +17 -0
- package/dist/esm/utils/countries.d.cts +14 -0
- package/dist/esm/utils/country-utils.d.ts +17 -0
- package/dist/esm/utils/country-utils.d.ts.map +1 -0
- package/dist/esm/utils/country-utils.js +18 -0
- package/dist/esm/utils/currency-codes.d.ts +5 -0
- package/dist/esm/utils/currency-codes.d.ts.map +1 -0
- package/dist/esm/utils/currency-codes.js +181 -0
- package/dist/globals.css +66 -0
- package/dist/hooks/use-toast.d.ts +1 -1
- package/dist/hooks/use-toast.d.ts.map +1 -1
- package/dist/hooks/use-toast.js +4 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -1
- package/dist/lib/storage/get-storage-object.d.ts.map +1 -1
- package/dist/lib/storage/get-storage-object.js +6 -2
- package/dist/lib/typography.d.ts +17 -0
- package/dist/lib/typography.d.ts.map +1 -0
- package/dist/lib/typography.js +19 -0
- package/dist/public/countries.json +21200 -21200
- package/dist/theme/get-theme-script.d.ts +3 -0
- package/dist/theme/get-theme-script.d.ts.map +1 -0
- package/dist/theme/get-theme-script.js +44 -0
- package/dist/theme/index.d.ts +6 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +11 -0
- package/dist/theme/mode-toggle.d.ts +25 -0
- package/dist/theme/mode-toggle.d.ts.map +1 -0
- package/dist/theme/mode-toggle.js +30 -0
- package/dist/theme/theme-provider.d.ts +38 -0
- package/dist/theme/theme-provider.d.ts.map +1 -0
- package/dist/theme/theme-provider.js +135 -0
- package/dist/toast/helpers.d.ts +16 -0
- package/dist/toast/helpers.d.ts.map +1 -0
- package/dist/toast/helpers.js +34 -0
- package/dist/toast/index.d.ts +3 -0
- package/dist/toast/index.d.ts.map +1 -0
- package/dist/toast/index.js +10 -0
- package/dist/utils/countries.cjs +17 -0
- package/dist/utils/countries.d.cts +14 -0
- package/dist/utils/country-utils.js +2 -2
- package/package.json +54 -18
- package/dist/components/ui/button/button.test.d.ts +0 -2
- package/dist/components/ui/button/button.test.d.ts.map +0 -1
- package/dist/components/ui/button/button.test.js +0 -65
- package/dist/components/ui/copy-field/copy-field.test.d.ts +0 -2
- package/dist/components/ui/copy-field/copy-field.test.d.ts.map +0 -1
- package/dist/components/ui/copy-field/copy-field.test.js +0 -268
- package/dist/components/ui/input/input.test.d.ts +0 -2
- package/dist/components/ui/input/input.test.d.ts.map +0 -1
- package/dist/components/ui/input/input.test.js +0 -52
- package/dist/components/ui/label/label.stories.d.ts +0 -5
- package/dist/components/ui/label/label.stories.d.ts.map +0 -1
- package/dist/components/ui/label/label.stories.js +0 -24
- package/dist/components/ui/qr-code/qr-code.test.d.ts +0 -2
- package/dist/components/ui/qr-code/qr-code.test.d.ts.map +0 -1
- package/dist/components/ui/qr-code/qr-code.test.js +0 -60
- package/dist/components/ui/sidebar/sidebar-provider.test.d.ts +0 -2
- package/dist/components/ui/sidebar/sidebar-provider.test.d.ts.map +0 -1
- package/dist/components/ui/sidebar/sidebar-provider.test.js +0 -170
- package/dist/hooks/use-click-away.test.d.ts +0 -2
- package/dist/hooks/use-click-away.test.d.ts.map +0 -1
- package/dist/hooks/use-click-away.test.js +0 -39
- package/dist/hooks/use-stepper.test.d.ts +0 -2
- package/dist/hooks/use-stepper.test.d.ts.map +0 -1
- package/dist/hooks/use-stepper.test.js +0 -45
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { buttonVariants } from '../../ui/button/index.js';
|
|
4
|
+
import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../ui/tooltip/index.js';
|
|
5
|
+
import { cn } from '../../../lib/utils.js';
|
|
6
|
+
import { iconButtonVariants } from '../icon-button/index.js';
|
|
7
|
+
import { useSidebarRouter } from './sidebar-router.js';
|
|
8
|
+
export const SidebarItemIconButton = ({ className, title, icon, href, active, inactive, disabled, ...props }) => {
|
|
9
|
+
const { Link } = useSidebarRouter();
|
|
10
|
+
const sharedClassName = cn(buttonVariants({
|
|
11
|
+
variant: active ? 'tertiary' : 'outline'
|
|
12
|
+
}), iconButtonVariants(), inactive && 'hover:border-transparent', disabled && 'cursor-default opacity-30', className);
|
|
13
|
+
return (_jsx(TooltipProvider, { children: _jsxs(Tooltip, { delayDuration: 0, children: [_jsx(TooltipTrigger, { asChild: true, children: disabled || inactive ? (_jsx("div", { "data-slot": "sidebar-item-icon-button", className: sharedClassName, children: icon })) : (_jsx(Link, { "data-slot": "sidebar-item-icon-button", href: href, className: sharedClassName, ...props, children: icon })) }), _jsx(TooltipContent, { side: "right", children: title })] }) }));
|
|
14
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SidebarItemButton } from './sidebar-item-button.js';
|
|
3
|
+
import { SidebarItemIconButton } from './sidebar-item-icon-button.js';
|
|
4
|
+
export type SidebarItemProps = React.ComponentProps<typeof SidebarItemButton> & React.ComponentProps<typeof SidebarItemIconButton> & {
|
|
5
|
+
title: string;
|
|
6
|
+
icon: React.ReactNode;
|
|
7
|
+
href: string;
|
|
8
|
+
active?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
};
|
|
12
|
+
export declare const SidebarItem: ({ active, href, children: _children, ...props }: SidebarItemProps) => React.JSX.Element;
|
|
13
|
+
//# sourceMappingURL=sidebar-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/sidebar/sidebar-item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAIlE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,GAC3E,KAAK,CAAC,cAAc,CAAC,OAAO,qBAAqB,CAAC,GAAG;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAEH,eAAO,MAAM,WAAW,GAAI,iDAKzB,gBAAgB,sBA0BlB,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { SidebarItemButton } from './sidebar-item-button.js';
|
|
4
|
+
import { SidebarItemIconButton } from './sidebar-item-icon-button.js';
|
|
5
|
+
import { useSidebar } from './sidebar-provider.js';
|
|
6
|
+
import { useSidebarRouter } from './sidebar-router.js';
|
|
7
|
+
export const SidebarItem = ({ active, href, children: _children, ...props }) => {
|
|
8
|
+
const { usePathname } = useSidebarRouter();
|
|
9
|
+
const pathname = usePathname();
|
|
10
|
+
const { isCollapsed } = useSidebar();
|
|
11
|
+
const isActive = (href) => pathname === href;
|
|
12
|
+
if (isCollapsed) {
|
|
13
|
+
return (_jsx(SidebarItemIconButton, { "data-slot": "sidebar-item", href: href, active: isActive(href) || active, ...props }));
|
|
14
|
+
}
|
|
15
|
+
return (_jsx(SidebarItemButton, { "data-slot": "sidebar-item", href: href, active: isActive(href) || active, ...props }));
|
|
16
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type SidebarContextProps = {
|
|
3
|
+
isCollapsed: boolean;
|
|
4
|
+
items: Record<string, boolean>;
|
|
5
|
+
setItems: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;
|
|
6
|
+
getItemCollapsed: (key: string) => boolean;
|
|
7
|
+
setItemCollapsed: (key: string, value: boolean) => void;
|
|
8
|
+
toggleSidebar: () => void;
|
|
9
|
+
};
|
|
10
|
+
export declare const useSidebar: () => SidebarContextProps;
|
|
11
|
+
export declare const SidebarProvider: ({ children }: React.PropsWithChildren) => React.JSX.Element;
|
|
12
|
+
//# sourceMappingURL=sidebar-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-provider.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/sidebar/sidebar-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,OAAO,CAAA;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACvE,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAA;IAC1C,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAA;IACvD,aAAa,EAAE,MAAM,IAAI,CAAA;CAC1B,CAAA;AAMD,eAAO,MAAM,UAAU,2BAMtB,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,cAAc,KAAK,CAAC,iBAAiB,sBAqDpE,CAAA"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { getStorage, getStorageObject } from '../../../lib/storage/index.js';
|
|
5
|
+
const SidebarContext = React.createContext(undefined);
|
|
6
|
+
export const useSidebar = () => {
|
|
7
|
+
const context = React.useContext(SidebarContext);
|
|
8
|
+
if (!context) {
|
|
9
|
+
throw new Error('useSidebar must be used within a SidebarProvider');
|
|
10
|
+
}
|
|
11
|
+
return context;
|
|
12
|
+
};
|
|
13
|
+
export const SidebarProvider = ({ children }) => {
|
|
14
|
+
const [hydrated, setHydrated] = React.useState(false);
|
|
15
|
+
const [collapsed, setCollapsed] = React.useState(false);
|
|
16
|
+
const [items, _setItems] = React.useState({});
|
|
17
|
+
const toggleSidebar = () => setCollapsed((collapsed) => !collapsed);
|
|
18
|
+
const getItemCollapsed = (key) => {
|
|
19
|
+
return items[key] || false;
|
|
20
|
+
};
|
|
21
|
+
const setItemCollapsed = (key, value) => {
|
|
22
|
+
_setItems((items) => ({ ...items, [key]: value }));
|
|
23
|
+
};
|
|
24
|
+
// Read from localStorage after hydration to avoid SSR mismatch
|
|
25
|
+
React.useEffect(() => {
|
|
26
|
+
setCollapsed(getStorage('sidebar-collapsed', false) === 'true');
|
|
27
|
+
_setItems(getStorageObject('sidebar-items', {}));
|
|
28
|
+
setHydrated(true);
|
|
29
|
+
}, []);
|
|
30
|
+
// Only persist to localStorage after hydration to avoid overwriting stored values
|
|
31
|
+
React.useEffect(() => {
|
|
32
|
+
if (!hydrated) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
localStorage.setItem('sidebar-collapsed', JSON.stringify(collapsed));
|
|
36
|
+
}, [collapsed, hydrated]);
|
|
37
|
+
React.useEffect(() => {
|
|
38
|
+
if (!hydrated) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
localStorage.setItem('sidebar-items', JSON.stringify(items));
|
|
42
|
+
}, [items, hydrated]);
|
|
43
|
+
return (_jsx(SidebarContext.Provider, { value: {
|
|
44
|
+
isCollapsed: collapsed,
|
|
45
|
+
items,
|
|
46
|
+
setItems: _setItems,
|
|
47
|
+
getItemCollapsed,
|
|
48
|
+
setItemCollapsed,
|
|
49
|
+
toggleSidebar
|
|
50
|
+
}, children: children }));
|
|
51
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-root.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/sidebar/sidebar-root.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAoBzB,eAAO,MAAM,WAAW,GAAI,yBAGzB,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,sBAW7B,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { useSidebar } from './sidebar-provider.js';
|
|
5
|
+
import { cn } from '../../../lib/utils.js';
|
|
6
|
+
const sidebarVariants = cva('group/sidebar shadow-sidebar relative flex flex-col transition-[width] duration-300 ease-in-out', {
|
|
7
|
+
variants: {
|
|
8
|
+
collapsed: {
|
|
9
|
+
true: 'w-[72px]',
|
|
10
|
+
false: 'w-[244px]'
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
defaultVariants: {
|
|
14
|
+
collapsed: false
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
export const SidebarRoot = ({ className, ...props }) => {
|
|
18
|
+
const { isCollapsed } = useSidebar();
|
|
19
|
+
return (_jsx("nav", { "data-slot": "sidebar-root", className: cn(sidebarVariants({ collapsed: isCollapsed }), className), "data-collapsed": isCollapsed, ...props }));
|
|
20
|
+
};
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Router injection for the sidebar's links.
|
|
3
|
+
*
|
|
4
|
+
* The sidebar needs exactly two things from a router: a component that renders
|
|
5
|
+
* a client-side-navigating link, and a way to read the current pathname (for
|
|
6
|
+
* the active item). Nothing else.
|
|
7
|
+
*
|
|
8
|
+
* Resolution order, per render:
|
|
9
|
+
* 1. a mounted <SidebarRouterProvider> — what a Vite/TanStack Router app uses
|
|
10
|
+
* 2. next/link + next/navigation, when the app runs under Next.js
|
|
11
|
+
* 3. a plain <a> (full page loads) + a dev-only warning
|
|
12
|
+
*
|
|
13
|
+
* Step 2 is why a Next.js app needs no provider and no code change: the default
|
|
14
|
+
* still routes through next/link exactly as the hard import used to.
|
|
15
|
+
*/
|
|
16
|
+
import * as React from 'react';
|
|
17
|
+
/**
|
|
18
|
+
* next/link's own options — every prop it accepts that is NOT a DOM anchor
|
|
19
|
+
* attribute. Mirrored from next 16's `InternalLinkProps` so a Next.js call site
|
|
20
|
+
* that passes any of them keeps compiling; they are forwarded untouched and
|
|
21
|
+
* ignored by routers that have no use for them.
|
|
22
|
+
*
|
|
23
|
+
* `href` and `as` are narrowed to `string`: next also accepts a `UrlObject`,
|
|
24
|
+
* but the sidebar builds its own hrefs and every other router in play takes a
|
|
25
|
+
* string.
|
|
26
|
+
*
|
|
27
|
+
* next's `onMouseEnter`/`onTouchStart`/`onClick` are deliberately absent — they
|
|
28
|
+
* are real anchor attributes and already come from `AnchorHTMLAttributes`.
|
|
29
|
+
*/
|
|
30
|
+
type RouterOnlyLinkProps = {
|
|
31
|
+
/** @deprecated next v10: dynamic-route hrefs resolve automatically. */
|
|
32
|
+
as?: string;
|
|
33
|
+
replace?: boolean;
|
|
34
|
+
scroll?: boolean;
|
|
35
|
+
/** Pages Router only. */
|
|
36
|
+
shallow?: boolean;
|
|
37
|
+
passHref?: boolean;
|
|
38
|
+
prefetch?: boolean | 'auto' | null;
|
|
39
|
+
unstable_dynamicOnHover?: boolean;
|
|
40
|
+
/** Pages Router only. */
|
|
41
|
+
locale?: string | false;
|
|
42
|
+
/** @deprecated next: removed in a future version. */
|
|
43
|
+
legacyBehavior?: boolean;
|
|
44
|
+
onNavigate?: (event: {
|
|
45
|
+
preventDefault: () => void;
|
|
46
|
+
}) => void;
|
|
47
|
+
transitionTypes?: string[];
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Props the sidebar passes to whatever Link it is given: the DOM anchor
|
|
51
|
+
* attributes plus next/link's options.
|
|
52
|
+
*/
|
|
53
|
+
export type SidebarLinkProps = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
|
|
54
|
+
href: string;
|
|
55
|
+
children?: React.ReactNode;
|
|
56
|
+
} & RouterOnlyLinkProps;
|
|
57
|
+
/** The full injection surface. Both members are required — a router that can
|
|
58
|
+
* link but not report its pathname would silently break the active state. */
|
|
59
|
+
export type SidebarRouter = {
|
|
60
|
+
/** Renders a client-side-navigating link. */
|
|
61
|
+
Link: React.ComponentType<SidebarLinkProps>;
|
|
62
|
+
/** Current pathname, e.g. `/ledgers/123`. Must re-render on navigation. */
|
|
63
|
+
usePathname: () => string;
|
|
64
|
+
};
|
|
65
|
+
export type SidebarRouterProviderProps = React.PropsWithChildren<{
|
|
66
|
+
router: SidebarRouter;
|
|
67
|
+
}>;
|
|
68
|
+
/**
|
|
69
|
+
* Teaches the sidebar how to navigate. Mount it above any sidebar in an app
|
|
70
|
+
* that is not Next.js:
|
|
71
|
+
*
|
|
72
|
+
* <SidebarRouterProvider router={{ Link: MyLink, usePathname: useMyPathname }}>
|
|
73
|
+
*
|
|
74
|
+
* Keep `router` referentially stable (module constant or useMemo): `usePathname`
|
|
75
|
+
* is called as a hook, so swapping the object for a different implementation
|
|
76
|
+
* mid-tree would change hook identity.
|
|
77
|
+
*/
|
|
78
|
+
export declare function SidebarRouterProvider({ router, children }: SidebarRouterProviderProps): React.JSX.Element;
|
|
79
|
+
/** The router the sidebar should use: injected, else Next, else plain anchors. */
|
|
80
|
+
export declare function useSidebarRouter(): SidebarRouter;
|
|
81
|
+
export {};
|
|
82
|
+
//# sourceMappingURL=sidebar-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar-router.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/sidebar/sidebar-router.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B;;;;;;;;;;;;GAYG;AACH,KAAK,mBAAmB,GAAG;IACzB,uEAAuE;IACvE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA;IAClC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACvB,qDAAqD;IACrD,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,cAAc,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,IAAI,CAAA;IAC5D,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,IAAI,CACjC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC7C,MAAM,CACP,GAAG;IACF,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,GAAG,mBAAmB,CAAA;AAEvB;8EAC8E;AAC9E,MAAM,MAAM,aAAa,GAAG;IAC1B,6CAA6C;IAC7C,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAA;IAC3C,2EAA2E;IAC3E,WAAW,EAAE,MAAM,MAAM,CAAA;CAC1B,CAAA;AAID,MAAM,MAAM,0BAA0B,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/D,MAAM,EAAE,aAAa,CAAA;CACtB,CAAC,CAAA;AAEF;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAQ,EACT,EAAE,0BAA0B,qBAM5B;AAkED,kFAAkF;AAClF,wBAAgB,gBAAgB,IAAI,aAAa,CAIhD"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Router injection for the sidebar's links.
|
|
5
|
+
*
|
|
6
|
+
* The sidebar needs exactly two things from a router: a component that renders
|
|
7
|
+
* a client-side-navigating link, and a way to read the current pathname (for
|
|
8
|
+
* the active item). Nothing else.
|
|
9
|
+
*
|
|
10
|
+
* Resolution order, per render:
|
|
11
|
+
* 1. a mounted <SidebarRouterProvider> — what a Vite/TanStack Router app uses
|
|
12
|
+
* 2. next/link + next/navigation, when the app runs under Next.js
|
|
13
|
+
* 3. a plain <a> (full page loads) + a dev-only warning
|
|
14
|
+
*
|
|
15
|
+
* Step 2 is why a Next.js app needs no provider and no code change: the default
|
|
16
|
+
* still routes through next/link exactly as the hard import used to.
|
|
17
|
+
*/
|
|
18
|
+
import * as React from 'react';
|
|
19
|
+
import { loadNextRouter } from './next-router.cjs';
|
|
20
|
+
const SidebarRouterContext = React.createContext(null);
|
|
21
|
+
/**
|
|
22
|
+
* Teaches the sidebar how to navigate. Mount it above any sidebar in an app
|
|
23
|
+
* that is not Next.js:
|
|
24
|
+
*
|
|
25
|
+
* <SidebarRouterProvider router={{ Link: MyLink, usePathname: useMyPathname }}>
|
|
26
|
+
*
|
|
27
|
+
* Keep `router` referentially stable (module constant or useMemo): `usePathname`
|
|
28
|
+
* is called as a hook, so swapping the object for a different implementation
|
|
29
|
+
* mid-tree would change hook identity.
|
|
30
|
+
*/
|
|
31
|
+
export function SidebarRouterProvider({ router, children }) {
|
|
32
|
+
return (_jsx(SidebarRouterContext.Provider, { value: router, children: children }));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolve Next's router once, at module load, so the returned object — and
|
|
36
|
+
* therefore `usePathname`'s identity — is stable across renders.
|
|
37
|
+
*
|
|
38
|
+
* The resolution itself lives in `next-router.cjs`: it needs a literal
|
|
39
|
+
* `require`, which exists in the CommonJS output but not in the ESM one. That
|
|
40
|
+
* file is CommonJS in both builds, so a Next.js consumer keeps client-side
|
|
41
|
+
* navigation whichever format its bundler picks. See the file for the details.
|
|
42
|
+
*/
|
|
43
|
+
const NEXT_ROUTER = loadNextRouter();
|
|
44
|
+
let warned = false;
|
|
45
|
+
/**
|
|
46
|
+
* The router-only props, as a runtime key set. Typed `Record<keyof
|
|
47
|
+
* RouterOnlyLinkProps, true>` so it is exhaustive BY CONSTRUCTION: adding a
|
|
48
|
+
* prop to the type without listing it here is a compile error, and the two can
|
|
49
|
+
* never drift. Forwarding any of these to a DOM `<a>` earns a React
|
|
50
|
+
* unknown-attribute warning.
|
|
51
|
+
*/
|
|
52
|
+
const ROUTER_ONLY_PROPS = {
|
|
53
|
+
as: true,
|
|
54
|
+
replace: true,
|
|
55
|
+
scroll: true,
|
|
56
|
+
shallow: true,
|
|
57
|
+
passHref: true,
|
|
58
|
+
prefetch: true,
|
|
59
|
+
unstable_dynamicOnHover: true,
|
|
60
|
+
locale: true,
|
|
61
|
+
legacyBehavior: true,
|
|
62
|
+
onNavigate: true,
|
|
63
|
+
transitionTypes: true
|
|
64
|
+
};
|
|
65
|
+
/** Last resort: a real link that costs a full page load. Warns once, in dev. */
|
|
66
|
+
function PlainLink({ href, children, ...rest }) {
|
|
67
|
+
if (!warned && process.env.NODE_ENV !== 'production') {
|
|
68
|
+
warned = true;
|
|
69
|
+
console.warn('sindarian-ui: sidebar links are falling back to plain <a>, so every ' +
|
|
70
|
+
'navigation reloads the page and no item will show as active. Mount ' +
|
|
71
|
+
'<SidebarRouterProvider router={{ Link, usePathname }}> above the ' +
|
|
72
|
+
"sidebar with your router's equivalents.");
|
|
73
|
+
}
|
|
74
|
+
const anchorProps = { ...rest };
|
|
75
|
+
for (const key of Object.keys(ROUTER_ONLY_PROPS))
|
|
76
|
+
delete anchorProps[key];
|
|
77
|
+
return (_jsx("a", { href: href, ...anchorProps, children: children }));
|
|
78
|
+
}
|
|
79
|
+
const FALLBACK_ROUTER = {
|
|
80
|
+
Link: PlainLink,
|
|
81
|
+
// No router, no truth. Returning '' marks nothing active rather than
|
|
82
|
+
// guessing from location.pathname, which would go stale on the first
|
|
83
|
+
// client-side navigation anyway.
|
|
84
|
+
usePathname: () => ''
|
|
85
|
+
};
|
|
86
|
+
/** The router the sidebar should use: injected, else Next, else plain anchors. */
|
|
87
|
+
export function useSidebarRouter() {
|
|
88
|
+
return (React.useContext(SidebarRouterContext) ?? NEXT_ROUTER ?? FALLBACK_ROUTER);
|
|
89
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/skeleton/index.tsx"],"names":[],"mappings":"AAEA,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAQrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../lib/utils.js';
|
|
3
|
+
function Skeleton({ className, ...props }) {
|
|
4
|
+
return (_jsx("div", { "data-slot": "skeleton", className: cn('bg-muted animate-pulse rounded-md', className), ...props }));
|
|
5
|
+
}
|
|
6
|
+
export { Skeleton };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare function Stepper({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
2
|
+
export type StepperItemProps = React.ComponentProps<'div'> & {
|
|
3
|
+
active?: boolean;
|
|
4
|
+
complete?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare function StepperItem({ className, active, complete, ...props }: StepperItemProps): import("react").JSX.Element;
|
|
7
|
+
export declare function StepperItemNumber({ className, ...props }: React.ComponentProps<'div'>): import("react").JSX.Element;
|
|
8
|
+
export type StepperItemTextProps = React.ComponentProps<'div'> & {
|
|
9
|
+
title: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function StepperItemText({ className, title, description, ...props }: StepperItemTextProps): import("react").JSX.Element;
|
|
13
|
+
export type StepperControlProps = React.PropsWithChildren & {
|
|
14
|
+
active?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare const StepperContent: ({ active, children }: StepperControlProps) => import("react").JSX.Element | null;
|
|
17
|
+
export declare const StepperItemSkeleton: () => import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/stepper/index.tsx"],"names":[],"mappings":"AAIA,wBAAgB,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAI3E;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC3D,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,MAAc,EACd,QAAgB,EAChB,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAUlB;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,+BAQ7B;AAED,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/D,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,KAAK,EACL,WAAW,EACX,GAAG,KAAK,EACT,EAAE,oBAAoB,+BActB;AAED,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,iBAAiB,GAAG;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,sBAAsB,mBAAmB,uCAEvE,CAAA;AAED,eAAO,MAAM,mBAAmB,mCAK/B,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../lib/utils.js';
|
|
3
|
+
import { CircleCheck } from 'lucide-react';
|
|
4
|
+
import { Skeleton } from '../skeleton/index.js';
|
|
5
|
+
export function Stepper({ className, ...props }) {
|
|
6
|
+
return (_jsx("div", { "data-slot": "stepper", className: cn('stepper', className), ...props }));
|
|
7
|
+
}
|
|
8
|
+
export function StepperItem({ className, active = false, complete = false, ...props }) {
|
|
9
|
+
return (_jsx("div", { "data-slot": "stepper-item", "data-active": active, "data-complete": complete, className: cn('stepper-item group', className), ...props }));
|
|
10
|
+
}
|
|
11
|
+
export function StepperItemNumber({ className, ...props }) {
|
|
12
|
+
return (_jsx("div", { "data-slot": "stepper-item-number", className: cn('stepper-item-number', className), ...props }));
|
|
13
|
+
}
|
|
14
|
+
export function StepperItemText({ className, title, description, ...props }) {
|
|
15
|
+
return (_jsxs("div", { "data-slot": "stepper-item-text", className: cn('stepper-item-text', className), ...props, children: [_jsxs("div", { className: "stepper-item-title", children: [_jsx("p", { children: title }), _jsx(CircleCheck, { className: "stepper-item-icon", width: 16, height: 16 })] }), description && _jsx("p", { className: "stepper-item-description", children: description })] }));
|
|
16
|
+
}
|
|
17
|
+
export const StepperContent = ({ active, children }) => {
|
|
18
|
+
return active ? _jsx(_Fragment, { children: children }) : null;
|
|
19
|
+
};
|
|
20
|
+
export const StepperItemSkeleton = () => (_jsxs("div", { className: "flex flex-row items-center gap-3", children: [_jsx(Skeleton, { className: "bg-muted h-8 w-8 rounded-full" }), _jsx(Skeleton, { className: "bg-muted h-5 w-32" })] }));
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
3
|
+
declare function Switch({ className, ...props }: React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>): React.JSX.Element;
|
|
4
|
+
export { Switch };
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/switch/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAA;AAI1D,iBAAS,MAAM,CAAC,EACd,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,qBAkB9D;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as SwitchPrimitives from '@radix-ui/react-switch';
|
|
4
|
+
import { cn } from '../../../lib/utils.js';
|
|
5
|
+
function Switch({ className, ...props }) {
|
|
6
|
+
return (_jsx(SwitchPrimitives.Root, { "data-slot": "switch", className: cn('focus-visible:ring-ring focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-muted peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:cursor-not-allowed disabled:opacity-50', className), ...props, children: _jsx(SwitchPrimitives.Thumb, { "data-slot": "switch-thumb", className: cn('bg-background pointer-events-none block h-5 w-5 rounded-full shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0') }) }));
|
|
7
|
+
}
|
|
8
|
+
export { Switch };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
declare function TableContainer({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
3
|
+
declare function Table({ className, ...props }: React.ComponentProps<'table'>): React.JSX.Element;
|
|
4
|
+
declare function TableHeader({ className, ...props }: React.ComponentProps<'thead'>): React.JSX.Element;
|
|
5
|
+
declare function TableBody({ className, ...props }: React.ComponentProps<'tbody'>): React.JSX.Element;
|
|
6
|
+
declare function TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>): React.JSX.Element;
|
|
7
|
+
export type TableRowProps = React.ComponentProps<'tr'> & {
|
|
8
|
+
active?: boolean;
|
|
9
|
+
button?: boolean;
|
|
10
|
+
};
|
|
11
|
+
declare function TableRow({ className, active, button, ...props }: TableRowProps): React.JSX.Element;
|
|
12
|
+
export type TableHeadProps = React.ComponentProps<'th'> & {
|
|
13
|
+
align?: 'left' | 'center' | 'right';
|
|
14
|
+
};
|
|
15
|
+
declare function TableHead({ className, align, ...props }: TableHeadProps): React.JSX.Element;
|
|
16
|
+
declare function TableCell({ className, onClick, ...props }: React.ComponentProps<'td'>): React.JSX.Element;
|
|
17
|
+
declare function TableCellWrapper({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
18
|
+
declare function TableCellAction({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
|
|
19
|
+
declare function TableCaption({ className, ...props }: React.ComponentProps<'caption'>): React.JSX.Element;
|
|
20
|
+
export { TableContainer, Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCellWrapper, TableCellAction, TableCaption };
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/table/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQ3E;AAED,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAUpE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAQ1E;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAQxE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,qBAW1E;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG;IACvD,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,qBAevE;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG;IACxD,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,iBAAS,SAAS,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,qBAehE;AAED,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAe5B;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAQ7B;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAW5E;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,qBAQjC;AAED,OAAO,EACL,cAAc,EACd,KAAK,EACL,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,YAAY,EACb,CAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../lib/utils.js';
|
|
3
|
+
function TableContainer({ className, ...props }) {
|
|
4
|
+
return (_jsx("div", { "data-slot": "data-table-container", className: cn('mt-4', className), ...props }));
|
|
5
|
+
}
|
|
6
|
+
function Table({ className, ...props }) {
|
|
7
|
+
return (_jsx("div", { className: "relative w-full overflow-auto", children: _jsx("table", { "data-slot": "data-table", className: cn('w-full caption-bottom text-sm', className), ...props }) }));
|
|
8
|
+
}
|
|
9
|
+
function TableHeader({ className, ...props }) {
|
|
10
|
+
return (_jsx("thead", { "data-slot": "data-table-header", className: cn('[&_tr]:border-b hover:[&_tr]:bg-transparent', className), ...props }));
|
|
11
|
+
}
|
|
12
|
+
function TableBody({ className, ...props }) {
|
|
13
|
+
return (_jsx("tbody", { "data-slot": "data-table-body", className: cn('', className), ...props }));
|
|
14
|
+
}
|
|
15
|
+
function TableFooter({ className, ...props }) {
|
|
16
|
+
return (_jsx("tfoot", { "data-slot": "data-table-footer", className: cn('bg-muted/50 border-t font-medium last:[&>tr]:border-b-0', className), ...props }));
|
|
17
|
+
}
|
|
18
|
+
function TableRow({ className, active, button, ...props }) {
|
|
19
|
+
return (_jsx("tr", { "data-slot": "data-table-row", className: cn('data-[state=selected]:bg-muted hover:bg-muted border-b transition-colors', {
|
|
20
|
+
'cursor-pointer': button,
|
|
21
|
+
'bg-accent/50 hover:bg-accent/50': active
|
|
22
|
+
}, className), ...props }));
|
|
23
|
+
}
|
|
24
|
+
function TableHead({ className, align, ...props }) {
|
|
25
|
+
return (_jsx("th", { "data-slot": "data-table-head", className: cn('text-muted-foreground h-12 px-6 py-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0', {
|
|
26
|
+
'text-center': align === 'center',
|
|
27
|
+
'text-right': align === 'right'
|
|
28
|
+
}, className), ...props }));
|
|
29
|
+
}
|
|
30
|
+
function TableCell({ className, onClick, ...props }) {
|
|
31
|
+
return (_jsx("td", { "data-slot": "data-table-cell", className: cn('group/table-cell text-foreground px-6 py-4 align-middle text-sm font-normal [&:has([role=checkbox])]:pr-0', {
|
|
32
|
+
'hover:underline': onClick
|
|
33
|
+
}, className), onClick: onClick, ...props }));
|
|
34
|
+
}
|
|
35
|
+
function TableCellWrapper({ className, ...props }) {
|
|
36
|
+
return (_jsx("div", { "data-slot": "data-table-cell-wrapper", className: cn('flex items-center', className), ...props }));
|
|
37
|
+
}
|
|
38
|
+
function TableCellAction({ className, ...props }) {
|
|
39
|
+
return (_jsx("div", { "data-slot": "data-table-cell-action", className: cn('ml-4 w-fit opacity-0 transition-opacity group-hover/table-cell:opacity-100', className), ...props }));
|
|
40
|
+
}
|
|
41
|
+
function TableCaption({ className, ...props }) {
|
|
42
|
+
return (_jsx("caption", { "data-slot": "data-table-caption", className: cn('text-muted-foreground mt-4 text-sm', className), ...props }));
|
|
43
|
+
}
|
|
44
|
+
export { TableContainer, Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCellWrapper, TableCellAction, TableCaption };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
3
|
+
declare function Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): React.JSX.Element;
|
|
4
|
+
declare function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>): React.JSX.Element;
|
|
5
|
+
declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): React.JSX.Element;
|
|
6
|
+
declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): React.JSX.Element;
|
|
7
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent };
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/tabs/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,aAAa,MAAM,sBAAsB,CAAA;AAIrD,iBAAS,IAAI,CAAC,EACZ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,qBAQjD;AAED,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,qBAQjD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,OAAO,CAAC,qBAWpD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,OAAO,CAAC,qBAQpD;AAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
4
|
+
import { cn } from '../../../lib/utils.js';
|
|
5
|
+
function Tabs({ className, ...props }) {
|
|
6
|
+
return (_jsx(TabsPrimitive.Root, { "data-slot": "tabs", className: cn('tabs', className), ...props }));
|
|
7
|
+
}
|
|
8
|
+
function TabsList({ className, ...props }) {
|
|
9
|
+
return (_jsx(TabsPrimitive.List, { "data-slot": "tabs-list", className: cn('tabs-list', className), ...props }));
|
|
10
|
+
}
|
|
11
|
+
function TabsTrigger({ className, ...props }) {
|
|
12
|
+
return (_jsx(TabsPrimitive.Trigger, { "data-slot": "tabs-trigger", className: cn('!focus-visible:outline-none !focus-visible:ring-2 !focus-visible:ring-slate-950 !focus-visible:ring-offset-2 tabs-trigger tabs-trigger-disabled', className), ...props }));
|
|
13
|
+
}
|
|
14
|
+
function TabsContent({ className, ...props }) {
|
|
15
|
+
return (_jsx(TabsPrimitive.Content, { "data-slot": "tabs-content", className: cn('tabs-content', className), ...props }));
|
|
16
|
+
}
|
|
17
|
+
export { Tabs, TabsList, TabsTrigger, TabsContent };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/textarea/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,qBAY1E;AAED,OAAO,EAAE,QAAQ,EAAE,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../../lib/utils.js';
|
|
3
|
+
function Textarea({ className, ...props }) {
|
|
4
|
+
return (_jsx("textarea", { className: cn('border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex w-full rounded-md border px-3 py-2 text-base focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden', 'read-only:bg-muted read-only:cursor-default read-only:caret-transparent read-only:opacity-50 read-only:select-text read-only:focus:ring-0 read-only:focus:ring-offset-0 read-only:focus:outline-hidden', 'disabled:cursor-not-allowed disabled:opacity-50', className), ...props }));
|
|
5
|
+
}
|
|
6
|
+
export { Textarea };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export declare const HOURS: string[];
|
|
3
|
+
export declare const MINUTES: string[];
|
|
4
|
+
export type TimePickerProps = {
|
|
5
|
+
hour?: number;
|
|
6
|
+
minute?: number;
|
|
7
|
+
onChange?: (time: {
|
|
8
|
+
hour: number;
|
|
9
|
+
minute: number;
|
|
10
|
+
}) => void;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
className?: string;
|
|
13
|
+
hourLabel?: string;
|
|
14
|
+
minuteLabel?: string;
|
|
15
|
+
};
|
|
16
|
+
declare function TimePicker({ hour, minute, onChange, disabled, className, hourLabel, minuteLabel }: TimePickerProps): React.JSX.Element;
|
|
17
|
+
export { TimePicker };
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/time-picker/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,eAAO,MAAM,KAAK,UAEjB,CAAA;AAED,eAAO,MAAM,OAAO,UAEnB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAsFD,iBAAS,UAAU,CAAC,EAClB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAkB,EAClB,WAAsB,EACvB,EAAE,eAAe,qBAqCjB;AAED,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { cn } from '../../../lib/utils.js';
|
|
5
|
+
export const HOURS = Array.from({ length: 24 }, (_, i) => String(i).padStart(2, '0'));
|
|
6
|
+
export const MINUTES = Array.from({ length: 60 }, (_, i) => String(i).padStart(2, '0'));
|
|
7
|
+
function TimeScrollColumn({ items, selected, onSelect, label, disabled }) {
|
|
8
|
+
const listRef = React.useRef(null);
|
|
9
|
+
const hasScrolled = React.useRef(false);
|
|
10
|
+
const prevSelected = React.useRef(selected);
|
|
11
|
+
React.useEffect(() => {
|
|
12
|
+
if (prevSelected.current !== selected) {
|
|
13
|
+
hasScrolled.current = false;
|
|
14
|
+
prevSelected.current = selected;
|
|
15
|
+
}
|
|
16
|
+
}, [selected]);
|
|
17
|
+
React.useEffect(() => {
|
|
18
|
+
if (hasScrolled.current)
|
|
19
|
+
return;
|
|
20
|
+
if (!listRef.current || !selected)
|
|
21
|
+
return;
|
|
22
|
+
const selectedIndex = items.indexOf(selected);
|
|
23
|
+
if (selectedIndex < 0)
|
|
24
|
+
return;
|
|
25
|
+
const selectedElement = listRef.current.children[0]?.children[selectedIndex];
|
|
26
|
+
if (selectedElement) {
|
|
27
|
+
selectedElement.scrollIntoView({ block: 'nearest' });
|
|
28
|
+
hasScrolled.current = true;
|
|
29
|
+
}
|
|
30
|
+
}, [selected, items]);
|
|
31
|
+
return (_jsxs("div", { className: "flex min-h-0 min-w-0 flex-1 flex-col items-center", children: [_jsx("span", { className: "text-muted-foreground text-xs font-medium select-none", children: label }), _jsx("div", { className: "h-1.5" }), _jsx("div", { ref: listRef, className: "max-h-60 overflow-y-auto", role: "group", "aria-label": label, children: _jsx("div", { className: "flex flex-col gap-1 p-1", children: items.map((item) => {
|
|
32
|
+
const isSelected = item === selected;
|
|
33
|
+
return (_jsx("button", { type: "button", "aria-pressed": isSelected, disabled: disabled, className: cn('flex h-8 w-11 items-center justify-center rounded-md text-sm tabular-nums transition-colors', isSelected
|
|
34
|
+
? 'bg-accent text-accent-foreground font-bold'
|
|
35
|
+
: 'text-muted-foreground hover:bg-muted font-normal', disabled && 'pointer-events-none opacity-50'), onClick: () => onSelect(item), children: item }, item));
|
|
36
|
+
}) }) })] }));
|
|
37
|
+
}
|
|
38
|
+
function TimePicker({ hour, minute, onChange, disabled, className, hourLabel = 'Hour', minuteLabel = 'Minute' }) {
|
|
39
|
+
const selectedHour = String(hour ?? 0).padStart(2, '0');
|
|
40
|
+
const selectedMinute = String(minute ?? 0).padStart(2, '0');
|
|
41
|
+
const handleHourSelect = React.useCallback((value) => {
|
|
42
|
+
onChange?.({ hour: parseInt(value, 10), minute: minute ?? 0 });
|
|
43
|
+
}, [onChange, minute]);
|
|
44
|
+
const handleMinuteSelect = React.useCallback((value) => {
|
|
45
|
+
onChange?.({ hour: hour ?? 0, minute: parseInt(value, 10) });
|
|
46
|
+
}, [onChange, hour]);
|
|
47
|
+
return (_jsxs("div", { "data-slot": "time-picker", className: cn('flex gap-2 p-3', className), children: [_jsx(TimeScrollColumn, { items: HOURS, selected: selectedHour, onSelect: handleHourSelect, label: hourLabel, disabled: disabled }), _jsx(TimeScrollColumn, { items: MINUTES, selected: selectedMinute, onSelect: handleMinuteSelect, label: minuteLabel, disabled: disabled })] }));
|
|
48
|
+
}
|
|
49
|
+
export { TimePicker };
|