@lerianstudio/sindarian-ui 2.0.0-beta.24 → 2.0.0-beta.26
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.js +4 -231
- package/dist/charts/index.js +1 -11
- package/dist/components/breadcrumb/get-breadcrumb-paths.js +1 -18
- package/dist/components/breadcrumb/index.js +1 -37
- package/dist/components/card/account-card/index.js +1 -69
- package/dist/components/card/basic-card/index.js +1 -20
- package/dist/components/card/dashboard-card/index.js +1 -20
- package/dist/components/card/entity-card/index.js +1 -68
- package/dist/components/card/index.js +1 -20
- package/dist/components/dialog/confirmation-dialog/index.d.ts.map +1 -1
- package/dist/components/dialog/confirmation-dialog/index.js +1 -96
- package/dist/components/dialog/confirmation-dialog/use-confirm-dialog.js +1 -55
- package/dist/components/dialog/index.js +1 -19
- package/dist/components/dialog/large-dialog/index.d.ts +2 -2
- package/dist/components/dialog/large-dialog/index.d.ts.map +1 -1
- package/dist/components/dialog/large-dialog/index.js +1 -21
- package/dist/components/entity-box/index.js +1 -67
- package/dist/components/entity-data-table/index.js +1 -20
- package/dist/components/form/combo-box-field/index.js +1 -35
- package/dist/components/form/country-field/index.js +1 -11
- package/dist/components/form/date-picker-field/index.js +1 -83
- package/dist/components/form/date-range-field/index.js +1 -58
- package/dist/components/form/date-time-picker-field/index.js +1 -114
- package/dist/components/form/file-upload-field/index.js +1 -69
- package/dist/components/form/index.js +1 -31
- package/dist/components/form/input-field/index.js +1 -96
- package/dist/components/form/otp-field/index.js +1 -19
- package/dist/components/form/pagination-limit-field/index.js +1 -10
- package/dist/components/form/password-field/index.d.ts.map +1 -1
- package/dist/components/form/password-field/index.js +1 -16
- package/dist/components/form/radio-group-field/index.js +1 -36
- package/dist/components/form/renderable-label.js +1 -57
- package/dist/components/form/select-field/index.js +1 -68
- package/dist/components/form/state-field/index.js +1 -42
- package/dist/components/form/switch-field/index.js +1 -16
- package/dist/components/form/textarea-field/index.js +1 -23
- package/dist/components/page/index.js +1 -20
- package/dist/components/page-header/index.js +1 -80
- package/dist/components/pagination/index.js +1 -10
- package/dist/components/table/id-table-cell.js +1 -109
- package/dist/components/table/index.js +1 -19
- package/dist/components/table/locked-table-actions.js +1 -41
- package/dist/components/table/name-table-cell.js +1 -58
- package/dist/components/ui/accordion/index.js +1 -62
- package/dist/components/ui/alert/index.js +1 -45
- package/dist/components/ui/alert-dialog/index.js +1 -84
- package/dist/components/ui/autocomplete/index.js +1 -440
- package/dist/components/ui/autosize-textarea/index.js +1 -89
- package/dist/components/ui/avatar/index.js +1 -51
- package/dist/components/ui/badge/index.js +1 -83
- package/dist/components/ui/breadcrumb/index.js +1 -35
- package/dist/components/ui/button/index.js +1 -65
- package/dist/components/ui/button/styles.css +2 -1
- package/dist/components/ui/calendar/index.js +1 -118
- package/dist/components/ui/card/index.js +1 -32
- package/dist/components/ui/checkbox/index.js +1 -44
- package/dist/components/ui/collapsible/index.js +1 -50
- package/dist/components/ui/command/index.js +1 -95
- package/dist/components/ui/copy-field/index.js +1 -163
- package/dist/components/ui/dialog/index.d.ts +4 -1
- package/dist/components/ui/dialog/index.d.ts.map +1 -1
- package/dist/components/ui/dialog/index.js +1 -80
- package/dist/components/ui/dialog/styles.css +2 -1
- package/dist/components/ui/dropdown-menu/index.js +1 -110
- package/dist/components/ui/field/index.js +1 -82
- package/dist/components/ui/file-upload/index.js +1 -574
- package/dist/components/ui/form.js +1 -162
- package/dist/components/ui/hover-card/index.js +1 -51
- package/dist/components/ui/icon-button/index.js +1 -35
- package/dist/components/ui/input/adornment.js +1 -21
- package/dist/components/ui/input/index.js +1 -99
- package/dist/components/ui/input/styles.css +29 -12
- package/dist/components/ui/label/index.js +1 -45
- package/dist/components/ui/lerian-wordmark/index.js +1 -7
- package/dist/components/ui/loading-button/index.js +1 -9
- package/dist/components/ui/multiple-select/index.js +1 -235
- package/dist/components/ui/otp-input/index.js +1 -62
- package/dist/components/ui/paper/index.js +1 -8
- package/dist/components/ui/paper-collapsible/index.js +1 -24
- package/dist/components/ui/popover/index.js +1 -55
- package/dist/components/ui/progress/index.js +1 -66
- package/dist/components/ui/qr-code/index.js +1 -27
- package/dist/components/ui/radio-group/index.js +1 -48
- package/dist/components/ui/scroll-area/index.js +1 -49
- package/dist/components/ui/select/index.js +1 -119
- package/dist/components/ui/select/styles.css +6 -3
- package/dist/components/ui/separator/index.js +1 -43
- package/dist/components/ui/sheet/index.d.ts +7 -2
- package/dist/components/ui/sheet/index.d.ts.map +1 -1
- package/dist/components/ui/sheet/index.js +1 -136
- package/dist/components/ui/sidebar/index.js +1 -27
- package/dist/components/ui/sidebar/next-router.cjs +1 -119
- package/dist/components/ui/sidebar/sidebar-back-button.js +1 -8
- package/dist/components/ui/sidebar/sidebar-components.js +1 -23
- package/dist/components/ui/sidebar/sidebar-expand-button.js +1 -49
- package/dist/components/ui/sidebar/sidebar-item-button.js +1 -21
- package/dist/components/ui/sidebar/sidebar-item-collapsible.js +1 -52
- package/dist/components/ui/sidebar/sidebar-item-icon-button.js +1 -18
- package/dist/components/ui/sidebar/sidebar-item.js +1 -44
- package/dist/components/ui/sidebar/sidebar-provider.js +1 -201
- package/dist/components/ui/sidebar/sidebar-root.d.ts +3 -1
- package/dist/components/ui/sidebar/sidebar-root.d.ts.map +1 -1
- package/dist/components/ui/sidebar/sidebar-root.js +1 -130
- package/dist/components/ui/sidebar/sidebar-router.js +1 -126
- package/dist/components/ui/sidebar/sidebar-trigger.js +1 -57
- package/dist/components/ui/skeleton/index.js +1 -8
- package/dist/components/ui/stepper/index.js +1 -29
- package/dist/components/ui/switch/index.js +1 -43
- package/dist/components/ui/table/index.js +1 -56
- package/dist/components/ui/tabs/index.js +1 -55
- package/dist/components/ui/textarea/index.js +1 -8
- package/dist/components/ui/time-picker/index.js +1 -85
- package/dist/components/ui/toast/index.js +1 -3
- package/dist/components/ui/toast/toaster.js +1 -16
- package/dist/components/ui/toggle-group/index.js +1 -156
- package/dist/components/ui/tooltip/index.js +1 -81
- package/dist/domain/blotter/index.js +1 -20
- package/dist/domain/delinquency-aging/aging-buckets.js +1 -120
- package/dist/domain/delinquency-aging/index.js +1 -222
- package/dist/domain/figure/index.js +1 -19
- package/dist/domain/format.js +1 -137
- package/dist/domain/index.js +1 -43
- package/dist/domain/key-id/index.js +1 -174
- package/dist/domain/ledger-sheet/index.js +1 -28
- package/dist/domain/money-diff.js +1 -48
- package/dist/domain/money-math.js +1 -104
- package/dist/domain/money-text/index.js +1 -123
- package/dist/domain/section-label/index.js +1 -17
- package/dist/domain/status-rail/index.js +1 -76
- package/dist/domain/threshold-gauge/index.js +1 -161
- package/dist/enterprise/alert-banner/index.js +1 -24
- package/dist/enterprise/app-shell/index.js +1 -87
- package/dist/enterprise/cursor-pager/index.js +1 -26
- package/dist/enterprise/data-table/column-size.js +1 -103
- package/dist/enterprise/data-table/index.d.ts.map +1 -1
- package/dist/enterprise/data-table/index.js +1 -345
- package/dist/enterprise/date-range-picker/index.js +1 -115
- package/dist/enterprise/detail-panel/index.js +1 -20
- package/dist/enterprise/empty-state/index.d.ts +6 -1
- package/dist/enterprise/empty-state/index.d.ts.map +1 -1
- package/dist/enterprise/empty-state/index.js +1 -13
- package/dist/enterprise/index.js +1 -39
- package/dist/enterprise/number-input/index.js +1 -252
- package/dist/enterprise/search-input/index.js +1 -121
- package/dist/enterprise/stat-card/index.js +1 -75
- package/dist/enterprise/status-badge/index.js +1 -120
- package/dist/enterprise/use-is-mobile.js +1 -68
- package/dist/enterprise/virtualized-table/index.js +1 -141
- package/dist/esm/charts/chart.js +4 -190
- package/dist/esm/charts/index.js +1 -3
- package/dist/esm/components/breadcrumb/get-breadcrumb-paths.js +1 -12
- package/dist/esm/components/breadcrumb/index.js +1 -30
- package/dist/esm/components/card/account-card/index.js +1 -53
- package/dist/esm/components/card/basic-card/index.js +1 -14
- package/dist/esm/components/card/dashboard-card/index.js +1 -14
- package/dist/esm/components/card/entity-card/index.js +1 -52
- package/dist/esm/components/card/index.js +1 -4
- package/dist/esm/components/dialog/confirmation-dialog/index.d.ts.map +1 -1
- package/dist/esm/components/dialog/confirmation-dialog/index.js +1 -60
- package/dist/esm/components/dialog/confirmation-dialog/use-confirm-dialog.js +1 -49
- package/dist/esm/components/dialog/index.js +1 -3
- package/dist/esm/components/dialog/large-dialog/index.d.ts +2 -2
- package/dist/esm/components/dialog/large-dialog/index.d.ts.map +1 -1
- package/dist/esm/components/dialog/large-dialog/index.js +1 -16
- package/dist/esm/components/entity-box/index.js +1 -56
- package/dist/esm/components/entity-data-table/index.js +1 -17
- package/dist/esm/components/form/combo-box-field/index.js +1 -28
- package/dist/esm/components/form/country-field/index.js +1 -7
- package/dist/esm/components/form/date-picker-field/index.js +1 -43
- package/dist/esm/components/form/date-range-field/index.js +1 -18
- package/dist/esm/components/form/date-time-picker-field/index.js +1 -74
- package/dist/esm/components/form/file-upload-field/index.js +1 -65
- package/dist/esm/components/form/index.js +1 -15
- package/dist/esm/components/form/input-field/index.js +1 -92
- package/dist/esm/components/form/otp-field/index.js +1 -15
- package/dist/esm/components/form/pagination-limit-field/index.js +1 -6
- package/dist/esm/components/form/password-field/index.d.ts.map +1 -1
- package/dist/esm/components/form/password-field/index.js +1 -10
- package/dist/esm/components/form/radio-group-field/index.js +1 -32
- package/dist/esm/components/form/renderable-label.js +1 -54
- package/dist/esm/components/form/select-field/index.js +1 -64
- package/dist/esm/components/form/state-field/index.js +1 -35
- package/dist/esm/components/form/switch-field/index.js +1 -12
- package/dist/esm/components/form/textarea-field/index.js +1 -19
- package/dist/esm/components/page/index.js +1 -15
- package/dist/esm/components/page-header/index.js +1 -71
- package/dist/esm/components/pagination/index.js +1 -6
- package/dist/esm/components/table/id-table-cell.js +1 -105
- package/dist/esm/components/table/index.js +1 -3
- package/dist/esm/components/table/locked-table-actions.js +1 -37
- package/dist/esm/components/table/name-table-cell.js +1 -54
- package/dist/esm/components/ui/accordion/index.js +1 -24
- package/dist/esm/components/ui/alert/index.js +1 -38
- package/dist/esm/components/ui/alert-dialog/index.js +1 -39
- package/dist/esm/components/ui/autocomplete/index.js +1 -392
- package/dist/esm/components/ui/autosize-textarea/index.js +1 -51
- package/dist/esm/components/ui/avatar/index.js +1 -14
- package/dist/esm/components/ui/badge/index.js +1 -79
- package/dist/esm/components/ui/breadcrumb/index.js +1 -27
- package/dist/esm/components/ui/button/index.js +1 -60
- package/dist/esm/components/ui/calendar/index.js +1 -82
- package/dist/esm/components/ui/card/index.js +1 -24
- package/dist/esm/components/ui/checkbox/index.js +1 -9
- package/dist/esm/components/ui/collapsible/index.js +1 -13
- package/dist/esm/components/ui/command/index.js +1 -51
- package/dist/esm/components/ui/copy-field/index.js +1 -127
- package/dist/esm/components/ui/dialog/index.d.ts +4 -1
- package/dist/esm/components/ui/dialog/index.d.ts.map +1 -1
- package/dist/esm/components/ui/dialog/index.js +1 -36
- package/dist/esm/components/ui/dropdown-menu/index.js +1 -60
- package/dist/esm/components/ui/field/index.js +1 -71
- package/dist/esm/components/ui/file-upload/index.js +1 -536
- package/dist/esm/components/ui/form.js +1 -118
- package/dist/esm/components/ui/hover-card/index.js +1 -14
- package/dist/esm/components/ui/icon-button/index.js +1 -31
- package/dist/esm/components/ui/input/adornment.js +1 -17
- package/dist/esm/components/ui/input/index.js +1 -60
- package/dist/esm/components/ui/label/index.js +1 -10
- package/dist/esm/components/ui/lerian-wordmark/index.js +1 -4
- package/dist/esm/components/ui/loading-button/index.js +1 -7
- package/dist/esm/components/ui/multiple-select/index.js +1 -196
- package/dist/esm/components/ui/otp-input/index.js +1 -21
- package/dist/esm/components/ui/paper/index.js +1 -5
- package/dist/esm/components/ui/paper-collapsible/index.js +1 -19
- package/dist/esm/components/ui/popover/index.js +1 -17
- package/dist/esm/components/ui/progress/index.js +1 -31
- package/dist/esm/components/ui/qr-code/index.js +1 -24
- package/dist/esm/components/ui/radio-group/index.js +1 -12
- package/dist/esm/components/ui/scroll-area/index.js +1 -13
- package/dist/esm/components/ui/select/index.js +1 -74
- package/dist/esm/components/ui/separator/index.js +1 -8
- package/dist/esm/components/ui/sheet/index.d.ts +7 -2
- package/dist/esm/components/ui/sheet/index.d.ts.map +1 -1
- package/dist/esm/components/ui/sheet/index.js +1 -92
- package/dist/esm/components/ui/sidebar/index.js +1 -11
- package/dist/esm/components/ui/sidebar/next-router.cjs +1 -119
- package/dist/esm/components/ui/sidebar/sidebar-back-button.js +1 -5
- package/dist/esm/components/ui/sidebar/sidebar-components.js +1 -15
- package/dist/esm/components/ui/sidebar/sidebar-expand-button.js +1 -42
- package/dist/esm/components/ui/sidebar/sidebar-item-button.js +1 -18
- package/dist/esm/components/ui/sidebar/sidebar-item-collapsible.js +1 -44
- package/dist/esm/components/ui/sidebar/sidebar-item-icon-button.js +1 -14
- package/dist/esm/components/ui/sidebar/sidebar-item.js +1 -40
- package/dist/esm/components/ui/sidebar/sidebar-provider.js +1 -193
- package/dist/esm/components/ui/sidebar/sidebar-root.d.ts +3 -1
- package/dist/esm/components/ui/sidebar/sidebar-root.d.ts.map +1 -1
- package/dist/esm/components/ui/sidebar/sidebar-root.js +1 -126
- package/dist/esm/components/ui/sidebar/sidebar-router.js +1 -89
- package/dist/esm/components/ui/sidebar/sidebar-trigger.js +1 -53
- package/dist/esm/components/ui/skeleton/index.js +1 -6
- package/dist/esm/components/ui/stepper/index.js +1 -20
- package/dist/esm/components/ui/switch/index.js +1 -8
- package/dist/esm/components/ui/table/index.js +1 -44
- package/dist/esm/components/ui/tabs/index.js +1 -17
- package/dist/esm/components/ui/textarea/index.js +1 -6
- package/dist/esm/components/ui/time-picker/index.js +1 -49
- package/dist/esm/components/ui/toast/index.js +1 -2
- package/dist/esm/components/ui/toast/toaster.js +1 -13
- package/dist/esm/components/ui/toggle-group/index.js +1 -120
- package/dist/esm/components/ui/tooltip/index.js +1 -43
- package/dist/esm/domain/blotter/index.js +1 -16
- package/dist/esm/domain/delinquency-aging/aging-buckets.js +1 -115
- package/dist/esm/domain/delinquency-aging/index.js +1 -218
- package/dist/esm/domain/figure/index.js +1 -15
- package/dist/esm/domain/format.js +1 -128
- package/dist/esm/domain/index.js +1 -19
- package/dist/esm/domain/key-id/index.js +1 -169
- package/dist/esm/domain/ledger-sheet/index.js +1 -24
- package/dist/esm/domain/money-diff.js +1 -45
- package/dist/esm/domain/money-math.js +1 -98
- package/dist/esm/domain/money-text/index.js +1 -118
- package/dist/esm/domain/section-label/index.js +1 -14
- package/dist/esm/domain/status-rail/index.js +1 -71
- package/dist/esm/domain/threshold-gauge/index.js +1 -157
- package/dist/esm/enterprise/alert-banner/index.js +1 -21
- package/dist/esm/enterprise/app-shell/index.js +1 -51
- package/dist/esm/enterprise/cursor-pager/index.js +1 -23
- package/dist/esm/enterprise/data-table/column-size.js +1 -97
- package/dist/esm/enterprise/data-table/index.d.ts.map +1 -1
- package/dist/esm/enterprise/data-table/index.js +1 -342
- package/dist/esm/enterprise/date-range-picker/index.js +1 -112
- package/dist/esm/enterprise/detail-panel/index.js +1 -17
- package/dist/esm/enterprise/empty-state/index.d.ts +6 -1
- package/dist/esm/enterprise/empty-state/index.d.ts.map +1 -1
- package/dist/esm/enterprise/empty-state/index.js +1 -10
- package/dist/esm/enterprise/index.js +1 -22
- package/dist/esm/enterprise/number-input/index.js +1 -214
- package/dist/esm/enterprise/search-input/index.js +1 -85
- package/dist/esm/enterprise/stat-card/index.js +1 -72
- package/dist/esm/enterprise/status-badge/index.js +1 -116
- package/dist/esm/enterprise/use-is-mobile.js +1 -31
- package/dist/esm/enterprise/virtualized-table/index.js +1 -138
- package/dist/esm/hooks/use-click-away.js +1 -22
- package/dist/esm/hooks/use-pagination.js +1 -38
- package/dist/esm/hooks/use-stepper.js +1 -22
- package/dist/esm/hooks/use-time.js +1 -13
- package/dist/esm/hooks/use-toast.js +1 -107
- package/dist/esm/index.js +1 -77
- package/dist/esm/lib/storage/get-storage-object.js +1 -17
- package/dist/esm/lib/storage/get-storage.js +1 -14
- package/dist/esm/lib/storage/index.js +1 -2
- package/dist/esm/lib/typography.js +1 -31
- package/dist/esm/lib/utils.js +1 -41
- package/dist/esm/theme/get-theme-script.js +1 -41
- package/dist/esm/theme/index.js +1 -4
- package/dist/esm/theme/mode-toggle.js +1 -45
- package/dist/esm/theme/theme-provider.js +1 -122
- package/dist/esm/toast/helpers.js +1 -36
- package/dist/esm/toast/index.js +1 -4
- package/dist/esm/types/metadata-type.js +1 -1
- package/dist/esm/utils/countries.cjs +1 -17
- package/dist/esm/utils/country-utils.js +1 -18
- package/dist/esm/utils/currency-codes.js +1 -181
- package/dist/globals.css +1 -0
- package/dist/hooks/use-click-away.js +1 -29
- package/dist/hooks/use-pagination.js +1 -41
- package/dist/hooks/use-stepper.js +1 -26
- package/dist/hooks/use-time.js +1 -20
- package/dist/hooks/use-toast.js +1 -111
- package/dist/index.js +1 -96
- package/dist/lib/storage/get-storage-object.js +1 -23
- package/dist/lib/storage/get-storage.js +1 -17
- package/dist/lib/storage/index.js +1 -18
- package/dist/lib/typography.js +1 -34
- package/dist/lib/utils.js +1 -45
- package/dist/theme/get-theme-script.js +1 -44
- package/dist/theme/index.js +1 -11
- package/dist/theme/mode-toggle.js +1 -48
- package/dist/theme/theme-provider.js +1 -160
- package/dist/toast/helpers.js +1 -41
- package/dist/toast/index.js +1 -10
- package/dist/tokens.css +7 -4
- package/dist/types/metadata-type.js +1 -2
- package/dist/utils/countries.cjs +1 -17
- package/dist/utils/country-utils.js +1 -25
- package/dist/utils/currency-codes.js +1 -184
- package/package.json +4 -3
|
@@ -1,126 +1 @@
|
|
|
1
|
-
|
|
2
|
-
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
exports.SidebarRouterProvider = SidebarRouterProvider;
|
|
38
|
-
exports.useSidebarRouter = useSidebarRouter;
|
|
39
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
-
/**
|
|
41
|
-
* Router injection for the sidebar's links.
|
|
42
|
-
*
|
|
43
|
-
* The sidebar needs exactly two things from a router: a component that renders
|
|
44
|
-
* a client-side-navigating link, and a way to read the current pathname (for
|
|
45
|
-
* the active item). Nothing else.
|
|
46
|
-
*
|
|
47
|
-
* Resolution order, per render:
|
|
48
|
-
* 1. a mounted <SidebarRouterProvider> — what a Vite/TanStack Router app uses
|
|
49
|
-
* 2. next/link + next/navigation, when the app runs under Next.js
|
|
50
|
-
* 3. a plain <a> (full page loads) + a dev-only warning
|
|
51
|
-
*
|
|
52
|
-
* Step 2 is why a Next.js app needs no provider and no code change: the default
|
|
53
|
-
* still routes through next/link exactly as the hard import used to.
|
|
54
|
-
*/
|
|
55
|
-
const React = __importStar(require("react"));
|
|
56
|
-
const next_router_cjs_1 = require("./next-router.cjs");
|
|
57
|
-
const SidebarRouterContext = React.createContext(null);
|
|
58
|
-
/**
|
|
59
|
-
* Teaches the sidebar how to navigate. Mount it above any sidebar in an app
|
|
60
|
-
* that is not Next.js:
|
|
61
|
-
*
|
|
62
|
-
* <SidebarRouterProvider router={{ Link: MyLink, usePathname: useMyPathname }}>
|
|
63
|
-
*
|
|
64
|
-
* Keep `router` referentially stable (module constant or useMemo): `usePathname`
|
|
65
|
-
* is called as a hook, so swapping the object for a different implementation
|
|
66
|
-
* mid-tree would change hook identity.
|
|
67
|
-
*/
|
|
68
|
-
function SidebarRouterProvider({ router, children }) {
|
|
69
|
-
return ((0, jsx_runtime_1.jsx)(SidebarRouterContext.Provider, { value: router, children: children }));
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Resolve Next's router once, at module load, so the returned object — and
|
|
73
|
-
* therefore `usePathname`'s identity — is stable across renders.
|
|
74
|
-
*
|
|
75
|
-
* The resolution itself lives in `next-router.cjs`: it needs a literal
|
|
76
|
-
* `require`, which exists in the CommonJS output but not in the ESM one. That
|
|
77
|
-
* file is CommonJS in both builds, so a Next.js consumer keeps client-side
|
|
78
|
-
* navigation whichever format its bundler picks. See the file for the details.
|
|
79
|
-
*/
|
|
80
|
-
const NEXT_ROUTER = (0, next_router_cjs_1.loadNextRouter)();
|
|
81
|
-
let warned = false;
|
|
82
|
-
/**
|
|
83
|
-
* The router-only props, as a runtime key set. Typed `Record<keyof
|
|
84
|
-
* RouterOnlyLinkProps, true>` so it is exhaustive BY CONSTRUCTION: adding a
|
|
85
|
-
* prop to the type without listing it here is a compile error, and the two can
|
|
86
|
-
* never drift. Forwarding any of these to a DOM `<a>` earns a React
|
|
87
|
-
* unknown-attribute warning.
|
|
88
|
-
*/
|
|
89
|
-
const ROUTER_ONLY_PROPS = {
|
|
90
|
-
as: true,
|
|
91
|
-
replace: true,
|
|
92
|
-
scroll: true,
|
|
93
|
-
shallow: true,
|
|
94
|
-
passHref: true,
|
|
95
|
-
prefetch: true,
|
|
96
|
-
unstable_dynamicOnHover: true,
|
|
97
|
-
locale: true,
|
|
98
|
-
legacyBehavior: true,
|
|
99
|
-
onNavigate: true,
|
|
100
|
-
transitionTypes: true
|
|
101
|
-
};
|
|
102
|
-
/** Last resort: a real link that costs a full page load. Warns once, in dev. */
|
|
103
|
-
function PlainLink({ href, children, ...rest }) {
|
|
104
|
-
if (!warned && process.env.NODE_ENV !== 'production') {
|
|
105
|
-
warned = true;
|
|
106
|
-
console.warn('sindarian-ui: sidebar links are falling back to plain <a>, so every ' +
|
|
107
|
-
'navigation reloads the page and no item will show as active. Mount ' +
|
|
108
|
-
'<SidebarRouterProvider router={{ Link, usePathname }}> above the ' +
|
|
109
|
-
"sidebar with your router's equivalents.");
|
|
110
|
-
}
|
|
111
|
-
const anchorProps = { ...rest };
|
|
112
|
-
for (const key of Object.keys(ROUTER_ONLY_PROPS))
|
|
113
|
-
delete anchorProps[key];
|
|
114
|
-
return ((0, jsx_runtime_1.jsx)("a", { href: href, ...anchorProps, children: children }));
|
|
115
|
-
}
|
|
116
|
-
const FALLBACK_ROUTER = {
|
|
117
|
-
Link: PlainLink,
|
|
118
|
-
// No router, no truth. Returning '' marks nothing active rather than
|
|
119
|
-
// guessing from location.pathname, which would go stale on the first
|
|
120
|
-
// client-side navigation anyway.
|
|
121
|
-
usePathname: () => ''
|
|
122
|
-
};
|
|
123
|
-
/** The router the sidebar should use: injected, else Next, else plain anchors. */
|
|
124
|
-
function useSidebarRouter() {
|
|
125
|
-
return (React.useContext(SidebarRouterContext) ?? NEXT_ROUTER ?? FALLBACK_ROUTER);
|
|
126
|
-
}
|
|
1
|
+
"use client";"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(n,e,u,t){if(t===void 0)t=u;var r=Object.getOwnPropertyDescriptor(e,u);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[u]}}}Object.defineProperty(n,t,r)}):(function(n,e,u,t){if(t===void 0)t=u;n[t]=e[u]}));var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(n,e){Object.defineProperty(n,"default",{enumerable:true,value:e})}):function(n,e){n["default"]=e});var __importStar=this&&this.__importStar||(function(){var n=function(e){n=Object.getOwnPropertyNames||function(u){var t=[];for(var r in u)if(Object.prototype.hasOwnProperty.call(u,r))t[t.length]=r;return t};return n(e)};return function(e){if(e&&e.__esModule)return e;var u={};if(e!=null){for(var t=n(e),r=0;r<t.length;r++)if(t[r]!=="default")__createBinding(u,e,t[r])}__setModuleDefault(u,e);return u}})();Object.defineProperty(exports,"__esModule",{value:true});exports.SidebarRouterProvider=SidebarRouterProvider;exports.useSidebarRouter=useSidebarRouter;const jsx_runtime_1=require("react/jsx-runtime");const React=__importStar(require("react"));const next_router_cjs_1=require("./next-router.cjs");const SidebarRouterContext=React.createContext(null);function SidebarRouterProvider({router:n,children:e}){return(0,jsx_runtime_1.jsx)(SidebarRouterContext.Provider,{value:n,children:e})}const NEXT_ROUTER=(0,next_router_cjs_1.loadNextRouter)();let warned=false;const ROUTER_ONLY_PROPS={as:true,replace:true,scroll:true,shallow:true,passHref:true,prefetch:true,unstable_dynamicOnHover:true,locale:true,legacyBehavior:true,onNavigate:true,transitionTypes:true};function PlainLink({href:n,children:e,...u}){if(!warned&&process.env.NODE_ENV!=="production"){warned=true;console.warn("sindarian-ui: sidebar links are falling back to plain <a>, so every navigation reloads the page and no item will show as active. Mount <SidebarRouterProvider router={{ Link, usePathname }}> above the sidebar with your router's equivalents.")}const t={...u};for(const r of Object.keys(ROUTER_ONLY_PROPS))delete t[r];return(0,jsx_runtime_1.jsx)("a",{href:n,...t,children:e})}const FALLBACK_ROUTER={Link:PlainLink,usePathname:()=>""};function useSidebarRouter(){return React.useContext(SidebarRouterContext)??NEXT_ROUTER??FALLBACK_ROUTER}
|
|
@@ -1,57 +1 @@
|
|
|
1
|
-
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.SidebarTrigger = void 0;
|
|
5
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const lucide_react_1 = require("lucide-react");
|
|
7
|
-
const utils_1 = require("../../../lib/utils");
|
|
8
|
-
const icon_button_1 = require("../icon-button");
|
|
9
|
-
const sidebar_provider_1 = require("./sidebar-provider");
|
|
10
|
-
/**
|
|
11
|
-
* The control that opens the mobile drawer.
|
|
12
|
-
*
|
|
13
|
-
* Hidden from 768px up by default, because above it the rail is already on
|
|
14
|
-
* screen and a second way to reach it is a second thing to explain; a consumer
|
|
15
|
-
* that wants it everywhere passes its own display class.
|
|
16
|
-
*
|
|
17
|
-
* ⛔ THE BREAKPOINT IS IN PIXELS, AND `md:hidden` IS NOT A SPELLING OF IT.
|
|
18
|
-
*
|
|
19
|
-
* Whether the rail became a drawer is decided by `SIDEBAR_MOBILE_QUERY`, which
|
|
20
|
-
* is `not (min-width: 768px)` — pixels. `md:` is 48rem, and rem inside a MEDIA
|
|
21
|
-
* QUERY resolves against the browser's default font size rather than anything
|
|
22
|
-
* the page declares, so the two flip at different widths the moment a reader
|
|
23
|
-
* changes that setting. At Chrome's "Small" (12px) `md:` turns over at 576px
|
|
24
|
-
* while the drawer still turns over at 768px: every window between them showed
|
|
25
|
-
* NO RAIL AND NO HAMBURGER, which is a console with no navigation at all.
|
|
26
|
-
* Measured on product-console; the band is four of this package's own fixtures
|
|
27
|
-
* in `scripts/measure-phone-shapes.mjs`. At "Very large" (20px) the same
|
|
28
|
-
* mismatch runs the other way and 768–959px drew both.
|
|
29
|
-
*
|
|
30
|
-
* `min-[768px]:hidden` is the exact complement of that query, at every font
|
|
31
|
-
* size AND at any sub-pixel precision — which is why the query next door is
|
|
32
|
-
* spelled as a negation rather than as `(max-width: 767px)`: that pair leaves
|
|
33
|
-
* the open interval (767, 768) matched by neither, and a viewport there draws
|
|
34
|
-
* the rail plus a hamburger that opens nothing.
|
|
35
|
-
*
|
|
36
|
-
* ⚠️ THE PROPERTY IS ABOUT THE TWO MEDIA DECISIONS, NOT ABOUT THE FIRST PAINT.
|
|
37
|
-
* The harness enforces one of the two and never neither or both, which holds
|
|
38
|
-
* wherever `isMobile` has been read. `isMobile` starts false on purpose — there
|
|
39
|
-
* is no viewport on the server — and is corrected in an effect, so on a phone
|
|
40
|
-
* the first painted frame shows the inline rail while this control is already
|
|
41
|
-
* on screen. That one hydration is the deliberate price of hydration safety,
|
|
42
|
-
* documented on `SidebarProvider`'s own effect, and predates this class.
|
|
43
|
-
*
|
|
44
|
-
* ⚠️ `aria-controls` IS SET ONLY WHILE THE DRAWER EXISTS. Radix unmounts the
|
|
45
|
-
* dialog content when closed, and a reference to an element that is not in the
|
|
46
|
-
* DOM is what axe-core reports as a CRITICAL `aria-valid-attr-value` — the same
|
|
47
|
-
* defect the Autocomplete panel was repaired for (console-sdk#150). A toggle
|
|
48
|
-
* with `aria-expanded="false"` and no `aria-controls` is complete on its own.
|
|
49
|
-
*/
|
|
50
|
-
const SidebarTrigger = ({ className, onClick, 'aria-label': ariaLabel = 'Open navigation', ...props }) => {
|
|
51
|
-
const { openMobile, setOpenMobile, sidebarId } = (0, sidebar_provider_1.useSidebar)();
|
|
52
|
-
return ((0, jsx_runtime_1.jsx)(icon_button_1.IconButton, { type: "button", variant: "outline", "data-slot": "sidebar-trigger", "aria-label": ariaLabel, "aria-expanded": openMobile, "aria-controls": openMobile ? sidebarId : undefined, className: (0, utils_1.cn)('min-[768px]:hidden', className), onClick: (event) => {
|
|
53
|
-
onClick?.(event);
|
|
54
|
-
setOpenMobile(!openMobile);
|
|
55
|
-
}, ...props, children: (0, jsx_runtime_1.jsx)(lucide_react_1.Menu, { "aria-hidden": true }) }));
|
|
56
|
-
};
|
|
57
|
-
exports.SidebarTrigger = SidebarTrigger;
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.SidebarTrigger=void 0;const jsx_runtime_1=require("react/jsx-runtime");const lucide_react_1=require("lucide-react");const utils_1=require("../../../lib/utils");const icon_button_1=require("../icon-button");const sidebar_provider_1=require("./sidebar-provider");const SidebarTrigger=({className:r,onClick:i,"aria-label":t="Open navigation",...n})=>{const{openMobile:e,setOpenMobile:a,sidebarId:o}=(0,sidebar_provider_1.useSidebar)();return(0,jsx_runtime_1.jsx)(icon_button_1.IconButton,{type:"button",variant:"outline","data-slot":"sidebar-trigger","aria-label":t,"aria-expanded":e,"aria-controls":e?o:void 0,className:(0,utils_1.cn)("min-[768px]:hidden",r),onClick:s=>{i?.(s);a(!e)},...n,children:(0,jsx_runtime_1.jsx)(lucide_react_1.Menu,{"aria-hidden":true})})};exports.SidebarTrigger=SidebarTrigger;
|
|
@@ -1,8 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Skeleton = Skeleton;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const utils_1 = require("../../../lib/utils");
|
|
6
|
-
function Skeleton({ className, ...props }) {
|
|
7
|
-
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "skeleton", className: (0, utils_1.cn)('bg-muted rounded-md motion-safe:animate-pulse', className), ...props }));
|
|
8
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Skeleton=Skeleton;const jsx_runtime_1=require("react/jsx-runtime");const utils_1=require("../../../lib/utils");function Skeleton({className:e,...t}){return(0,jsx_runtime_1.jsx)("div",{"data-slot":"skeleton",className:(0,utils_1.cn)("bg-muted rounded-md motion-safe:animate-pulse",e),...t})}
|
|
@@ -1,29 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StepperItemSkeleton = exports.StepperContent = void 0;
|
|
4
|
-
exports.Stepper = Stepper;
|
|
5
|
-
exports.StepperItem = StepperItem;
|
|
6
|
-
exports.StepperItemNumber = StepperItemNumber;
|
|
7
|
-
exports.StepperItemText = StepperItemText;
|
|
8
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
9
|
-
const utils_1 = require("../../../lib/utils");
|
|
10
|
-
const lucide_react_1 = require("lucide-react");
|
|
11
|
-
const skeleton_1 = require("../skeleton");
|
|
12
|
-
function Stepper({ className, ...props }) {
|
|
13
|
-
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "stepper", className: (0, utils_1.cn)('stepper', className), ...props }));
|
|
14
|
-
}
|
|
15
|
-
function StepperItem({ className, active = false, complete = false, ...props }) {
|
|
16
|
-
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "stepper-item", "data-active": active, "data-complete": complete, className: (0, utils_1.cn)('stepper-item group', className), ...props }));
|
|
17
|
-
}
|
|
18
|
-
function StepperItemNumber({ className, ...props }) {
|
|
19
|
-
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "stepper-item-number", className: (0, utils_1.cn)('stepper-item-number', className), ...props }));
|
|
20
|
-
}
|
|
21
|
-
function StepperItemText({ className, title, description, ...props }) {
|
|
22
|
-
return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "stepper-item-text", className: (0, utils_1.cn)('stepper-item-text', className), ...props, children: [(0, jsx_runtime_1.jsxs)("div", { className: "stepper-item-title", children: [(0, jsx_runtime_1.jsx)("p", { children: title }), (0, jsx_runtime_1.jsx)(lucide_react_1.CircleCheck, { className: "stepper-item-icon", width: 16, height: 16 })] }), description && (0, jsx_runtime_1.jsx)("p", { className: "stepper-item-description", children: description })] }));
|
|
23
|
-
}
|
|
24
|
-
const StepperContent = ({ active, children }) => {
|
|
25
|
-
return active ? (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children }) : null;
|
|
26
|
-
};
|
|
27
|
-
exports.StepperContent = StepperContent;
|
|
28
|
-
const StepperItemSkeleton = () => ((0, jsx_runtime_1.jsxs)("div", { className: "flex flex-row items-center gap-3", children: [(0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "bg-muted h-8 w-8 rounded-full" }), (0, jsx_runtime_1.jsx)(skeleton_1.Skeleton, { className: "bg-muted h-5 w-32" })] }));
|
|
29
|
-
exports.StepperItemSkeleton = StepperItemSkeleton;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.StepperItemSkeleton=exports.StepperContent=void 0;exports.Stepper=Stepper;exports.StepperItem=StepperItem;exports.StepperItemNumber=StepperItemNumber;exports.StepperItemText=StepperItemText;const jsx_runtime_1=require("react/jsx-runtime");const utils_1=require("../../../lib/utils");const lucide_react_1=require("lucide-react");const skeleton_1=require("../skeleton");function Stepper({className:e,...t}){return(0,jsx_runtime_1.jsx)("div",{"data-slot":"stepper",className:(0,utils_1.cn)("stepper",e),...t})}function StepperItem({className:e,active:t=false,complete:r=false,...s}){return(0,jsx_runtime_1.jsx)("div",{"data-slot":"stepper-item","data-active":t,"data-complete":r,className:(0,utils_1.cn)("stepper-item group",e),...s})}function StepperItemNumber({className:e,...t}){return(0,jsx_runtime_1.jsx)("div",{"data-slot":"stepper-item-number",className:(0,utils_1.cn)("stepper-item-number",e),...t})}function StepperItemText({className:e,title:t,description:r,...s}){return(0,jsx_runtime_1.jsxs)("div",{"data-slot":"stepper-item-text",className:(0,utils_1.cn)("stepper-item-text",e),...s,children:[(0,jsx_runtime_1.jsxs)("div",{className:"stepper-item-title",children:[(0,jsx_runtime_1.jsx)("p",{children:t}),(0,jsx_runtime_1.jsx)(lucide_react_1.CircleCheck,{className:"stepper-item-icon",width:16,height:16})]}),r&&(0,jsx_runtime_1.jsx)("p",{className:"stepper-item-description",children:r})]})}const StepperContent=({active:e,children:t})=>{return e?(0,jsx_runtime_1.jsx)(jsx_runtime_1.Fragment,{children:t}):null};exports.StepperContent=StepperContent;const StepperItemSkeleton=()=>(0,jsx_runtime_1.jsxs)("div",{className:"flex flex-row items-center gap-3",children:[(0,jsx_runtime_1.jsx)(skeleton_1.Skeleton,{className:"bg-muted h-8 w-8 rounded-full"}),(0,jsx_runtime_1.jsx)(skeleton_1.Skeleton,{className:"bg-muted h-5 w-32"})]});exports.StepperItemSkeleton=StepperItemSkeleton;
|
|
@@ -1,43 +1 @@
|
|
|
1
|
-
|
|
2
|
-
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
exports.Switch = Switch;
|
|
38
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
39
|
-
const SwitchPrimitives = __importStar(require("@radix-ui/react-switch"));
|
|
40
|
-
const utils_1 = require("../../../lib/utils");
|
|
41
|
-
function Switch({ className, ...props }) {
|
|
42
|
-
return ((0, jsx_runtime_1.jsx)(SwitchPrimitives.Root, { "data-slot": "switch", className: (0, utils_1.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: (0, jsx_runtime_1.jsx)(SwitchPrimitives.Thumb, { "data-slot": "switch-thumb", className: (0, utils_1.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') }) }));
|
|
43
|
-
}
|
|
1
|
+
"use client";"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(n,e,i,t){if(t===void 0)t=i;var r=Object.getOwnPropertyDescriptor(e,i);if(!r||("get"in r?!e.__esModule:r.writable||r.configurable)){r={enumerable:true,get:function(){return e[i]}}}Object.defineProperty(n,t,r)}):(function(n,e,i,t){if(t===void 0)t=i;n[t]=e[i]}));var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(n,e){Object.defineProperty(n,"default",{enumerable:true,value:e})}):function(n,e){n["default"]=e});var __importStar=this&&this.__importStar||(function(){var n=function(e){n=Object.getOwnPropertyNames||function(i){var t=[];for(var r in i)if(Object.prototype.hasOwnProperty.call(i,r))t[t.length]=r;return t};return n(e)};return function(e){if(e&&e.__esModule)return e;var i={};if(e!=null){for(var t=n(e),r=0;r<t.length;r++)if(t[r]!=="default")__createBinding(i,e,t[r])}__setModuleDefault(i,e);return i}})();Object.defineProperty(exports,"__esModule",{value:true});exports.Switch=Switch;const jsx_runtime_1=require("react/jsx-runtime");const SwitchPrimitives=__importStar(require("@radix-ui/react-switch"));const utils_1=require("../../../lib/utils");function Switch({className:n,...e}){return(0,jsx_runtime_1.jsx)(SwitchPrimitives.Root,{"data-slot":"switch",className:(0,utils_1.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",n),...e,children:(0,jsx_runtime_1.jsx)(SwitchPrimitives.Thumb,{"data-slot":"switch-thumb",className:(0,utils_1.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")})})}
|
|
@@ -1,56 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TableContainer = TableContainer;
|
|
4
|
-
exports.Table = Table;
|
|
5
|
-
exports.TableHeader = TableHeader;
|
|
6
|
-
exports.TableBody = TableBody;
|
|
7
|
-
exports.TableFooter = TableFooter;
|
|
8
|
-
exports.TableHead = TableHead;
|
|
9
|
-
exports.TableRow = TableRow;
|
|
10
|
-
exports.TableCell = TableCell;
|
|
11
|
-
exports.TableCellWrapper = TableCellWrapper;
|
|
12
|
-
exports.TableCellAction = TableCellAction;
|
|
13
|
-
exports.TableCaption = TableCaption;
|
|
14
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
15
|
-
const utils_1 = require("../../../lib/utils");
|
|
16
|
-
function TableContainer({ className, ...props }) {
|
|
17
|
-
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "data-table-container", className: (0, utils_1.cn)('mt-4', className), ...props }));
|
|
18
|
-
}
|
|
19
|
-
function Table({ className, ...props }) {
|
|
20
|
-
return ((0, jsx_runtime_1.jsx)("div", { className: "relative w-full overflow-auto", children: (0, jsx_runtime_1.jsx)("table", { "data-slot": "data-table", className: (0, utils_1.cn)('w-full caption-bottom text-sm', className), ...props }) }));
|
|
21
|
-
}
|
|
22
|
-
function TableHeader({ className, ...props }) {
|
|
23
|
-
return ((0, jsx_runtime_1.jsx)("thead", { "data-slot": "data-table-header", className: (0, utils_1.cn)('[&_tr]:border-b hover:[&_tr]:bg-transparent', className), ...props }));
|
|
24
|
-
}
|
|
25
|
-
function TableBody({ className, ...props }) {
|
|
26
|
-
return ((0, jsx_runtime_1.jsx)("tbody", { "data-slot": "data-table-body", className: (0, utils_1.cn)('', className), ...props }));
|
|
27
|
-
}
|
|
28
|
-
function TableFooter({ className, ...props }) {
|
|
29
|
-
return ((0, jsx_runtime_1.jsx)("tfoot", { "data-slot": "data-table-footer", className: (0, utils_1.cn)('bg-muted/50 border-t font-medium last:[&>tr]:border-b-0', className), ...props }));
|
|
30
|
-
}
|
|
31
|
-
function TableRow({ className, active, button, ...props }) {
|
|
32
|
-
return ((0, jsx_runtime_1.jsx)("tr", { "data-slot": "data-table-row", className: (0, utils_1.cn)('data-[state=selected]:bg-muted hover:bg-muted border-b transition-colors', {
|
|
33
|
-
'cursor-pointer': button,
|
|
34
|
-
'bg-accent/50 hover:bg-accent/50': active
|
|
35
|
-
}, className), ...props }));
|
|
36
|
-
}
|
|
37
|
-
function TableHead({ className, align, ...props }) {
|
|
38
|
-
return ((0, jsx_runtime_1.jsx)("th", { "data-slot": "data-table-head", className: (0, utils_1.cn)('text-muted-foreground h-12 px-6 py-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0', {
|
|
39
|
-
'text-center': align === 'center',
|
|
40
|
-
'text-right': align === 'right'
|
|
41
|
-
}, className), ...props }));
|
|
42
|
-
}
|
|
43
|
-
function TableCell({ className, onClick, ...props }) {
|
|
44
|
-
return ((0, jsx_runtime_1.jsx)("td", { "data-slot": "data-table-cell", className: (0, utils_1.cn)('group/table-cell text-foreground px-6 py-4 align-middle text-sm font-normal [&:has([role=checkbox])]:pr-0', {
|
|
45
|
-
'hover:underline': onClick
|
|
46
|
-
}, className), onClick: onClick, ...props }));
|
|
47
|
-
}
|
|
48
|
-
function TableCellWrapper({ className, ...props }) {
|
|
49
|
-
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "data-table-cell-wrapper", className: (0, utils_1.cn)('flex items-center', className), ...props }));
|
|
50
|
-
}
|
|
51
|
-
function TableCellAction({ className, ...props }) {
|
|
52
|
-
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "data-table-cell-action", className: (0, utils_1.cn)('ml-4 w-fit opacity-0 transition-opacity group-hover/table-cell:opacity-100', className), ...props }));
|
|
53
|
-
}
|
|
54
|
-
function TableCaption({ className, ...props }) {
|
|
55
|
-
return ((0, jsx_runtime_1.jsx)("caption", { "data-slot": "data-table-caption", className: (0, utils_1.cn)('text-muted-foreground mt-4 text-sm', className), ...props }));
|
|
56
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.TableContainer=TableContainer;exports.Table=Table;exports.TableHeader=TableHeader;exports.TableBody=TableBody;exports.TableFooter=TableFooter;exports.TableHead=TableHead;exports.TableRow=TableRow;exports.TableCell=TableCell;exports.TableCellWrapper=TableCellWrapper;exports.TableCellAction=TableCellAction;exports.TableCaption=TableCaption;const jsx_runtime_1=require("react/jsx-runtime");const utils_1=require("../../../lib/utils");function TableContainer({className:e,...t}){return(0,jsx_runtime_1.jsx)("div",{"data-slot":"data-table-container",className:(0,utils_1.cn)("mt-4",e),...t})}function Table({className:e,...t}){return(0,jsx_runtime_1.jsx)("div",{className:"relative w-full overflow-auto",children:(0,jsx_runtime_1.jsx)("table",{"data-slot":"data-table",className:(0,utils_1.cn)("w-full caption-bottom text-sm",e),...t})})}function TableHeader({className:e,...t}){return(0,jsx_runtime_1.jsx)("thead",{"data-slot":"data-table-header",className:(0,utils_1.cn)("[&_tr]:border-b hover:[&_tr]:bg-transparent",e),...t})}function TableBody({className:e,...t}){return(0,jsx_runtime_1.jsx)("tbody",{"data-slot":"data-table-body",className:(0,utils_1.cn)("",e),...t})}function TableFooter({className:e,...t}){return(0,jsx_runtime_1.jsx)("tfoot",{"data-slot":"data-table-footer",className:(0,utils_1.cn)("bg-muted/50 border-t font-medium last:[&>tr]:border-b-0",e),...t})}function TableRow({className:e,active:t,button:a,...r}){return(0,jsx_runtime_1.jsx)("tr",{"data-slot":"data-table-row",className:(0,utils_1.cn)("data-[state=selected]:bg-muted hover:bg-muted border-b transition-colors",{"cursor-pointer":a,"bg-accent/50 hover:bg-accent/50":t},e),...r})}function TableHead({className:e,align:t,...a}){return(0,jsx_runtime_1.jsx)("th",{"data-slot":"data-table-head",className:(0,utils_1.cn)("text-muted-foreground h-12 px-6 py-4 text-left align-middle font-medium [&:has([role=checkbox])]:pr-0",{"text-center":t==="center","text-right":t==="right"},e),...a})}function TableCell({className:e,onClick:t,...a}){return(0,jsx_runtime_1.jsx)("td",{"data-slot":"data-table-cell",className:(0,utils_1.cn)("group/table-cell text-foreground px-6 py-4 align-middle text-sm font-normal [&:has([role=checkbox])]:pr-0",{"hover:underline":t},e),onClick:t,...a})}function TableCellWrapper({className:e,...t}){return(0,jsx_runtime_1.jsx)("div",{"data-slot":"data-table-cell-wrapper",className:(0,utils_1.cn)("flex items-center",e),...t})}function TableCellAction({className:e,...t}){return(0,jsx_runtime_1.jsx)("div",{"data-slot":"data-table-cell-action",className:(0,utils_1.cn)("ml-4 w-fit opacity-0 transition-opacity group-hover/table-cell:opacity-100",e),...t})}function TableCaption({className:e,...t}){return(0,jsx_runtime_1.jsx)("caption",{"data-slot":"data-table-caption",className:(0,utils_1.cn)("text-muted-foreground mt-4 text-sm",e),...t})}
|
|
@@ -1,55 +1 @@
|
|
|
1
|
-
|
|
2
|
-
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
exports.Tabs = Tabs;
|
|
38
|
-
exports.TabsList = TabsList;
|
|
39
|
-
exports.TabsTrigger = TabsTrigger;
|
|
40
|
-
exports.TabsContent = TabsContent;
|
|
41
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
42
|
-
const TabsPrimitive = __importStar(require("@radix-ui/react-tabs"));
|
|
43
|
-
const utils_1 = require("../../../lib/utils");
|
|
44
|
-
function Tabs({ className, ...props }) {
|
|
45
|
-
return ((0, jsx_runtime_1.jsx)(TabsPrimitive.Root, { "data-slot": "tabs", className: (0, utils_1.cn)('tabs', className), ...props }));
|
|
46
|
-
}
|
|
47
|
-
function TabsList({ className, ...props }) {
|
|
48
|
-
return ((0, jsx_runtime_1.jsx)(TabsPrimitive.List, { "data-slot": "tabs-list", className: (0, utils_1.cn)('tabs-list', className), ...props }));
|
|
49
|
-
}
|
|
50
|
-
function TabsTrigger({ className, ...props }) {
|
|
51
|
-
return ((0, jsx_runtime_1.jsx)(TabsPrimitive.Trigger, { "data-slot": "tabs-trigger", className: (0, utils_1.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 }));
|
|
52
|
-
}
|
|
53
|
-
function TabsContent({ className, ...props }) {
|
|
54
|
-
return ((0, jsx_runtime_1.jsx)(TabsPrimitive.Content, { "data-slot": "tabs-content", className: (0, utils_1.cn)('tabs-content', className), ...props }));
|
|
55
|
-
}
|
|
1
|
+
"use client";"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,s,r){if(r===void 0)r=s;var n=Object.getOwnPropertyDescriptor(t,s);if(!n||("get"in n?!t.__esModule:n.writable||n.configurable)){n={enumerable:true,get:function(){return t[s]}}}Object.defineProperty(e,r,n)}):(function(e,t,s,r){if(r===void 0)r=s;e[r]=t[s]}));var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:true,value:t})}):function(e,t){e["default"]=t});var __importStar=this&&this.__importStar||(function(){var e=function(t){e=Object.getOwnPropertyNames||function(s){var r=[];for(var n in s)if(Object.prototype.hasOwnProperty.call(s,n))r[r.length]=n;return r};return e(t)};return function(t){if(t&&t.__esModule)return t;var s={};if(t!=null){for(var r=e(t),n=0;n<r.length;n++)if(r[n]!=="default")__createBinding(s,t,r[n])}__setModuleDefault(s,t);return s}})();Object.defineProperty(exports,"__esModule",{value:true});exports.Tabs=Tabs;exports.TabsList=TabsList;exports.TabsTrigger=TabsTrigger;exports.TabsContent=TabsContent;const jsx_runtime_1=require("react/jsx-runtime");const TabsPrimitive=__importStar(require("@radix-ui/react-tabs"));const utils_1=require("../../../lib/utils");function Tabs({className:e,...t}){return(0,jsx_runtime_1.jsx)(TabsPrimitive.Root,{"data-slot":"tabs",className:(0,utils_1.cn)("tabs",e),...t})}function TabsList({className:e,...t}){return(0,jsx_runtime_1.jsx)(TabsPrimitive.List,{"data-slot":"tabs-list",className:(0,utils_1.cn)("tabs-list",e),...t})}function TabsTrigger({className:e,...t}){return(0,jsx_runtime_1.jsx)(TabsPrimitive.Trigger,{"data-slot":"tabs-trigger",className:(0,utils_1.cn)("!focus-visible:outline-none !focus-visible:ring-2 !focus-visible:ring-slate-950 !focus-visible:ring-offset-2 tabs-trigger tabs-trigger-disabled",e),...t})}function TabsContent({className:e,...t}){return(0,jsx_runtime_1.jsx)(TabsPrimitive.Content,{"data-slot":"tabs-content",className:(0,utils_1.cn)("tabs-content",e),...t})}
|
|
@@ -1,8 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Textarea = Textarea;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const utils_1 = require("../../../lib/utils");
|
|
6
|
-
function Textarea({ className, ...props }) {
|
|
7
|
-
return ((0, jsx_runtime_1.jsx)("textarea", { className: (0, utils_1.cn)('border-input-border 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 }));
|
|
8
|
-
}
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Textarea=Textarea;const jsx_runtime_1=require("react/jsx-runtime");const utils_1=require("../../../lib/utils");function Textarea({className:e,...r}){return(0,jsx_runtime_1.jsx)("textarea",{className:(0,utils_1.cn)("border-input-border aria-invalid:border-destructive 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",e),...r})}
|
|
@@ -1,85 +1 @@
|
|
|
1
|
-
|
|
2
|
-
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
exports.MINUTES = exports.HOURS = void 0;
|
|
38
|
-
exports.TimePicker = TimePicker;
|
|
39
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
-
const React = __importStar(require("react"));
|
|
41
|
-
const utils_1 = require("../../../lib/utils");
|
|
42
|
-
exports.HOURS = Array.from({ length: 24 }, (_, i) => String(i).padStart(2, '0'));
|
|
43
|
-
exports.MINUTES = Array.from({ length: 60 }, (_, i) => String(i).padStart(2, '0'));
|
|
44
|
-
function TimeScrollColumn({ items, selected, onSelect, label, disabled }) {
|
|
45
|
-
const listRef = React.useRef(null);
|
|
46
|
-
const hasScrolled = React.useRef(false);
|
|
47
|
-
const prevSelected = React.useRef(selected);
|
|
48
|
-
React.useEffect(() => {
|
|
49
|
-
if (prevSelected.current !== selected) {
|
|
50
|
-
hasScrolled.current = false;
|
|
51
|
-
prevSelected.current = selected;
|
|
52
|
-
}
|
|
53
|
-
}, [selected]);
|
|
54
|
-
React.useEffect(() => {
|
|
55
|
-
if (hasScrolled.current)
|
|
56
|
-
return;
|
|
57
|
-
if (!listRef.current || !selected)
|
|
58
|
-
return;
|
|
59
|
-
const selectedIndex = items.indexOf(selected);
|
|
60
|
-
if (selectedIndex < 0)
|
|
61
|
-
return;
|
|
62
|
-
const selectedElement = listRef.current.children[0]?.children[selectedIndex];
|
|
63
|
-
if (selectedElement) {
|
|
64
|
-
selectedElement.scrollIntoView({ block: 'nearest' });
|
|
65
|
-
hasScrolled.current = true;
|
|
66
|
-
}
|
|
67
|
-
}, [selected, items]);
|
|
68
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex min-h-0 min-w-0 flex-1 flex-col items-center", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-muted-foreground text-xs font-medium select-none", children: label }), (0, jsx_runtime_1.jsx)("div", { className: "h-1.5" }), (0, jsx_runtime_1.jsx)("div", { ref: listRef, className: "max-h-60 overflow-y-auto", role: "group", "aria-label": label, children: (0, jsx_runtime_1.jsx)("div", { className: "flex flex-col gap-1 p-1", children: items.map((item) => {
|
|
69
|
-
const isSelected = item === selected;
|
|
70
|
-
return ((0, jsx_runtime_1.jsx)("button", { type: "button", "aria-pressed": isSelected, disabled: disabled, className: (0, utils_1.cn)('flex h-8 w-11 items-center justify-center rounded-md text-sm tabular-nums transition-colors', isSelected
|
|
71
|
-
? 'bg-accent text-accent-foreground font-bold'
|
|
72
|
-
: 'text-muted-foreground hover:bg-muted font-normal', disabled && 'pointer-events-none opacity-50'), onClick: () => onSelect(item), children: item }, item));
|
|
73
|
-
}) }) })] }));
|
|
74
|
-
}
|
|
75
|
-
function TimePicker({ hour, minute, onChange, disabled, className, hourLabel = 'Hour', minuteLabel = 'Minute' }) {
|
|
76
|
-
const selectedHour = String(hour ?? 0).padStart(2, '0');
|
|
77
|
-
const selectedMinute = String(minute ?? 0).padStart(2, '0');
|
|
78
|
-
const handleHourSelect = React.useCallback((value) => {
|
|
79
|
-
onChange?.({ hour: parseInt(value, 10), minute: minute ?? 0 });
|
|
80
|
-
}, [onChange, minute]);
|
|
81
|
-
const handleMinuteSelect = React.useCallback((value) => {
|
|
82
|
-
onChange?.({ hour: hour ?? 0, minute: parseInt(value, 10) });
|
|
83
|
-
}, [onChange, hour]);
|
|
84
|
-
return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "time-picker", className: (0, utils_1.cn)('flex gap-2 p-3', className), children: [(0, jsx_runtime_1.jsx)(TimeScrollColumn, { items: exports.HOURS, selected: selectedHour, onSelect: handleHourSelect, label: hourLabel, disabled: disabled }), (0, jsx_runtime_1.jsx)(TimeScrollColumn, { items: exports.MINUTES, selected: selectedMinute, onSelect: handleMinuteSelect, label: minuteLabel, disabled: disabled })] }));
|
|
85
|
-
}
|
|
1
|
+
"use client";"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,n,r){if(r===void 0)r=n;var s=Object.getOwnPropertyDescriptor(e,n);if(!s||("get"in s?!e.__esModule:s.writable||s.configurable)){s={enumerable:true,get:function(){return e[n]}}}Object.defineProperty(t,r,s)}):(function(t,e,n,r){if(r===void 0)r=n;t[r]=e[n]}));var __setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:true,value:e})}):function(t,e){t["default"]=e});var __importStar=this&&this.__importStar||(function(){var t=function(e){t=Object.getOwnPropertyNames||function(n){var r=[];for(var s in n)if(Object.prototype.hasOwnProperty.call(n,s))r[r.length]=s;return r};return t(e)};return function(e){if(e&&e.__esModule)return e;var n={};if(e!=null){for(var r=t(e),s=0;s<r.length;s++)if(r[s]!=="default")__createBinding(n,e,r[s])}__setModuleDefault(n,e);return n}})();Object.defineProperty(exports,"__esModule",{value:true});exports.MINUTES=exports.HOURS=void 0;exports.TimePicker=TimePicker;const jsx_runtime_1=require("react/jsx-runtime");const React=__importStar(require("react"));const utils_1=require("../../../lib/utils");exports.HOURS=Array.from({length:24},(t,e)=>String(e).padStart(2,"0"));exports.MINUTES=Array.from({length:60},(t,e)=>String(e).padStart(2,"0"));function TimeScrollColumn({items:t,selected:e,onSelect:n,label:r,disabled:s}){const l=React.useRef(null);const u=React.useRef(false);const a=React.useRef(e);React.useEffect(()=>{if(a.current!==e){u.current=false;a.current=e}},[e]);React.useEffect(()=>{if(u.current)return;if(!l.current||!e)return;const c=t.indexOf(e);if(c<0)return;const i=l.current.children[0]?.children[c];if(i){i.scrollIntoView({block:"nearest"});u.current=true}},[e,t]);return(0,jsx_runtime_1.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col items-center",children:[(0,jsx_runtime_1.jsx)("span",{className:"text-muted-foreground text-xs font-medium select-none",children:r}),(0,jsx_runtime_1.jsx)("div",{className:"h-1.5"}),(0,jsx_runtime_1.jsx)("div",{ref:l,className:"max-h-60 overflow-y-auto",role:"group","aria-label":r,children:(0,jsx_runtime_1.jsx)("div",{className:"flex flex-col gap-1 p-1",children:t.map(c=>{const i=c===e;return(0,jsx_runtime_1.jsx)("button",{type:"button","aria-pressed":i,disabled:s,className:(0,utils_1.cn)("flex h-8 w-11 items-center justify-center rounded-md text-sm tabular-nums transition-colors",i?"bg-accent text-accent-foreground font-bold":"text-muted-foreground hover:bg-muted font-normal",s&&"pointer-events-none opacity-50"),onClick:()=>n(c),children:c},c)})})})]})}function TimePicker({hour:t,minute:e,onChange:n,disabled:r,className:s,hourLabel:l="Hour",minuteLabel:u="Minute"}){const a=String(t??0).padStart(2,"0");const c=String(e??0).padStart(2,"0");const i=React.useCallback(o=>{n?.({hour:parseInt(o,10),minute:e??0})},[n,e]);const f=React.useCallback(o=>{n?.({hour:t??0,minute:parseInt(o,10)})},[n,t]);return(0,jsx_runtime_1.jsxs)("div",{"data-slot":"time-picker",className:(0,utils_1.cn)("flex gap-2 p-3",s),children:[(0,jsx_runtime_1.jsx)(TimeScrollColumn,{items:exports.HOURS,selected:a,onSelect:i,label:l,disabled:r}),(0,jsx_runtime_1.jsx)(TimeScrollColumn,{items:exports.MINUTES,selected:c,onSelect:f,label:u,disabled:r})]})}
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Toaster = Toaster;
|
|
5
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
-
const sonner_1 = require("sonner");
|
|
7
|
-
const use_toast_1 = require("../../../hooks/use-toast");
|
|
8
|
-
const theme_provider_1 = require("../../../theme/theme-provider");
|
|
9
|
-
function Toaster({ theme, position = 'bottom-right' }) {
|
|
10
|
-
// Optional read: a Toaster mounted outside any ThemeProvider must still
|
|
11
|
-
// render, so this cannot go through `useTheme`, which throws.
|
|
12
|
-
const themeContext = (0, theme_provider_1.useOptionalTheme)();
|
|
13
|
-
return ((0, jsx_runtime_1.jsx)(sonner_1.Toaster, { theme: theme ?? themeContext?.resolvedTheme ?? 'system', position: position, visibleToasts: 3, duration: use_toast_1.DEFAULT_DURATION, expand: false, closeButton: true, richColors: false, offset: 16, gap: 8, toastOptions: {
|
|
14
|
-
className: 'font-sans !text-sm !font-medium'
|
|
15
|
-
} }));
|
|
16
|
-
}
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.Toaster=Toaster;const jsx_runtime_1=require("react/jsx-runtime");const sonner_1=require("sonner");const use_toast_1=require("../../../hooks/use-toast");const theme_provider_1=require("../../../theme/theme-provider");function Toaster({theme:e,position:t="bottom-right"}){const s=(0,theme_provider_1.useOptionalTheme)();return(0,jsx_runtime_1.jsx)(sonner_1.Toaster,{theme:e??s?.resolvedTheme??"system",position:t,visibleToasts:3,duration:use_toast_1.DEFAULT_DURATION,expand:false,closeButton:true,richColors:false,offset:16,gap:8,toastOptions:{className:"font-sans !text-sm !font-medium"}})}
|