@godxjp/ui 6.0.0 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/index.d.ts +140 -0
- package/dist/app/index.js +38 -0
- package/dist/app.prop-IobwLwaM.d.ts +90 -0
- package/dist/checkbox-NkFkqsQ8.d.ts +13 -0
- package/dist/chunk-2XW7J3EI.js +226 -0
- package/dist/chunk-3F2AKYRD.js +416 -0
- package/dist/chunk-3KPEZ5CF.js +37 -0
- package/dist/chunk-3UGU5TYP.js +89 -0
- package/{src/props/registry.ts → dist/chunk-6RA3KSVK.js} +118 -133
- package/dist/chunk-7NZFVD24.js +122 -0
- package/dist/chunk-7PWBC4BY.js +25 -0
- package/dist/chunk-7S7MYFXE.js +61 -0
- package/dist/chunk-7WRZG2IG.js +71 -0
- package/dist/chunk-B775Y6BE.js +1 -0
- package/dist/chunk-BHV2FUOA.js +111 -0
- package/dist/chunk-BI3HERR7.js +70 -0
- package/dist/chunk-BPSKQUL2.js +68 -0
- package/dist/chunk-CDWPQ5RP.js +187 -0
- package/dist/chunk-CP2LET6N.js +244 -0
- package/dist/chunk-CQBADMFG.js +20 -0
- package/dist/chunk-CRERCLIZ.js +33 -0
- package/dist/chunk-DU6ZYZRP.js +238 -0
- package/dist/chunk-DY5C44UP.js +55 -0
- package/dist/chunk-E4HJNQ62.js +117 -0
- package/dist/chunk-E76QIYSY.js +93 -0
- package/dist/chunk-F7PG4OEV.js +37 -0
- package/dist/chunk-GDSVW62T.js +171 -0
- package/dist/chunk-H2FHJOLU.js +178 -0
- package/dist/chunk-HJEBRCXL.js +55 -0
- package/dist/chunk-ICM6XBST.js +16 -0
- package/{src/components/data-entry/calendar.tsx → dist/chunk-IK7I3ABN.js} +33 -35
- package/dist/chunk-L6J44O74.js +144 -0
- package/dist/chunk-LDSLS6HE.js +1 -0
- package/dist/chunk-LVNUHUEZ.js +191 -0
- package/dist/chunk-M64MVRLS.js +92 -0
- package/dist/chunk-NGQW3KEM.js +402 -0
- package/dist/chunk-NZ4FOC5N.js +559 -0
- package/dist/chunk-PIIRNAXA.js +26 -0
- package/dist/chunk-S66TJXJU.js +33 -0
- package/dist/chunk-SMLKNECP.js +133 -0
- package/dist/chunk-TAHBM3F2.js +66 -0
- package/dist/chunk-TO33OY4L.js +150 -0
- package/dist/chunk-TO7URV7U.js +51 -0
- package/dist/chunk-TOO5AEKL.js +81 -0
- package/dist/chunk-U3GHAOIJ.js +299 -0
- package/dist/chunk-U7N2A7A3.js +9 -0
- package/dist/chunk-UX634MYF.js +123 -0
- package/dist/chunk-V6UWJKZF.js +28 -0
- package/{src/components/data-entry/input.tsx → dist/chunk-VOHTRR5X.js} +18 -16
- package/dist/chunk-WRFKVUPW.js +332 -0
- package/dist/chunk-WXW43RK5.js +24 -0
- package/{src/components/navigation/tabs.tsx → dist/chunk-XG7XDYIM.js} +46 -53
- package/dist/chunk-YFCQKO3B.js +842 -0
- package/dist/chunk-ZDWXGWLY.js +73 -0
- package/dist/chunk-ZLK5SPT6.js +11 -0
- package/dist/chunk-ZS6DTAM2.js +31 -0
- package/dist/chunk-ZT5UEUBO.js +1 -0
- package/dist/components/admin/index.d.ts +80 -0
- package/dist/components/admin/index.js +38 -0
- package/dist/components/data-display/badge.d.ts +12 -0
- package/dist/components/data-display/badge.js +3 -0
- package/dist/components/data-display/card.d.ts +87 -0
- package/dist/components/data-display/card.js +2 -0
- package/dist/components/data-display/index.d.ts +72 -0
- package/dist/components/data-display/index.js +89 -0
- package/dist/components/data-display/popover.d.ts +13 -0
- package/dist/components/data-display/popover.js +2 -0
- package/dist/components/data-display/scroll-area.d.ts +7 -0
- package/dist/components/data-display/scroll-area.js +2 -0
- package/dist/components/data-display/table.d.ts +10 -0
- package/dist/components/data-display/table.js +3 -0
- package/dist/components/data-entry/autocomplete.d.ts +16 -0
- package/dist/components/data-entry/autocomplete.js +8 -0
- package/dist/components/data-entry/calendar.d.ts +16 -0
- package/dist/components/data-entry/calendar.js +4 -0
- package/dist/components/data-entry/cascader.d.ts +32 -0
- package/dist/components/data-entry/cascader.js +13 -0
- package/dist/components/data-entry/checkbox.d.ts +13 -0
- package/dist/components/data-entry/checkbox.js +4 -0
- package/dist/components/data-entry/color-picker.d.ts +16 -0
- package/dist/components/data-entry/color-picker.js +6 -0
- package/dist/components/data-entry/command.d.ts +69 -0
- package/dist/components/data-entry/command.js +3 -0
- package/dist/components/data-entry/date-picker.d.ts +16 -0
- package/dist/components/data-entry/date-picker.js +8 -0
- package/dist/components/data-entry/date-range-picker.d.ts +16 -0
- package/dist/components/data-entry/date-range-picker.js +8 -0
- package/dist/components/data-entry/index.d.ts +53 -0
- package/dist/components/data-entry/index.js +152 -0
- package/dist/components/data-entry/input.d.ts +6 -0
- package/dist/components/data-entry/input.js +2 -0
- package/dist/components/data-entry/label.d.ts +8 -0
- package/dist/components/data-entry/label.js +2 -0
- package/dist/components/data-entry/radio.d.ts +24 -0
- package/dist/components/data-entry/radio.js +4 -0
- package/dist/components/data-entry/select.d.ts +18 -0
- package/dist/components/data-entry/select.js +3 -0
- package/dist/components/data-entry/slider.d.ts +16 -0
- package/dist/components/data-entry/slider.js +2 -0
- package/dist/components/data-entry/switch.d.ts +17 -0
- package/dist/components/data-entry/switch.js +2 -0
- package/dist/components/data-entry/textarea.d.ts +6 -0
- package/dist/components/data-entry/textarea.js +3 -0
- package/dist/components/data-entry/time-picker.d.ts +16 -0
- package/dist/components/data-entry/time-picker.js +7 -0
- package/dist/components/data-entry/transfer.d.ts +17 -0
- package/dist/components/data-entry/transfer.js +11 -0
- package/dist/components/data-entry/tree-select.d.ts +26 -0
- package/dist/components/data-entry/tree-select.js +13 -0
- package/dist/components/data-entry/upload.d.ts +42 -0
- package/dist/components/data-entry/upload.js +11 -0
- package/dist/components/feedback/alert.d.ts +60 -0
- package/dist/components/feedback/alert.js +7 -0
- package/dist/components/feedback/dialog.d.ts +64 -0
- package/dist/components/feedback/dialog.js +7 -0
- package/dist/components/feedback/index.d.ts +16 -0
- package/dist/components/feedback/index.js +14 -0
- package/dist/components/feedback/sheet.d.ts +24 -0
- package/dist/components/feedback/sheet.js +2 -0
- package/dist/components/feedback/sonner.d.ts +6 -0
- package/dist/components/feedback/sonner.js +1 -0
- package/dist/components/general/button.d.ts +20 -0
- package/dist/components/general/button.js +2 -0
- package/dist/components/general/index.d.ts +6 -0
- package/dist/components/general/index.js +2 -0
- package/dist/components/layout/index.d.ts +71 -0
- package/dist/components/layout/index.js +5 -0
- package/dist/components/navigation/dropdown-menu.d.ts +28 -0
- package/dist/components/navigation/dropdown-menu.js +2 -0
- package/dist/components/navigation/index.d.ts +32 -0
- package/dist/components/navigation/index.js +12 -0
- package/dist/components/navigation/pagination.d.ts +11 -0
- package/dist/components/navigation/pagination.js +7 -0
- package/dist/components/navigation/steps.d.ts +12 -0
- package/dist/components/navigation/steps.js +3 -0
- package/dist/components/navigation/tabs-items.d.ts +12 -0
- package/dist/components/navigation/tabs-items.js +3 -0
- package/dist/components/navigation/tabs.d.ts +12 -0
- package/dist/components/navigation/tabs.js +2 -0
- package/dist/components/query/index.d.ts +43 -0
- package/dist/components/query/index.js +8 -0
- package/dist/components/ui/index.d.ts +57 -0
- package/dist/components/ui/index.js +37 -0
- package/{src/props/vocabulary/content.prop.ts → dist/content.prop-D1Dd3TAc.d.ts} +16 -20
- package/dist/data-display.prop-DNTAzmDy.d.ts +58 -0
- package/dist/data-entry.prop-BEGA1lTq.d.ts +323 -0
- package/dist/data-table-D1u_rKLK.d.ts +83 -0
- package/dist/data.prop-BVvfKC_g.d.ts +41 -0
- package/dist/feedback.prop-BmxUlpAW.d.ts +64 -0
- package/dist/filter-bar-B7OGFO9S.d.ts +10 -0
- package/dist/form/index.d.ts +21 -0
- package/dist/form/index.js +4 -0
- package/dist/form.prop-BHgpuFFm.d.ts +41 -0
- package/dist/format-date-ByyZoqI5.d.ts +51 -0
- package/dist/general.prop-D7brMPNL.d.ts +16 -0
- package/dist/i18n/index.d.ts +217 -0
- package/dist/i18n/index.js +2 -0
- package/dist/index.d.ts +53 -0
- package/dist/index.js +39 -0
- package/dist/inline-C5u6ptJV.d.ts +10 -0
- package/dist/interaction.prop-Cdn7wOtq.d.ts +25 -0
- package/{src/props/vocabulary/layout.prop.ts → dist/layout.prop-4TCNvyQZ.d.ts} +9 -14
- package/dist/layout.prop-C795F0qg.d.ts +112 -0
- package/dist/lib/datetime/index.d.ts +31 -0
- package/dist/lib/datetime/index.js +1 -0
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.js +1 -0
- package/dist/navigation.prop-DpZqcXey.d.ts +78 -0
- package/dist/navigation.prop-DxBiClEH.d.ts +20 -0
- package/dist/props/components/index.d.ts +27 -0
- package/dist/props/components/index.js +1 -0
- package/dist/props/index.d.ts +28 -0
- package/dist/props/index.js +3 -0
- package/dist/props/registry.d.ts +649 -0
- package/dist/props/registry.js +1 -0
- package/dist/props/vocabulary/index.d.ts +7 -0
- package/dist/props/vocabulary/index.js +1 -0
- package/dist/query.prop-hIPrk2zI.d.ts +71 -0
- package/dist/search-input-uP01rY1L.d.ts +22 -0
- package/dist/shared.prop-BNRJc9K0.d.ts +45 -0
- package/{src → dist}/styles/control.css +1 -1
- package/dist/types-mvzYGrma.d.ts +37 -0
- package/dist/use-toast-Dol5bdY3.d.ts +34 -0
- package/package.json +234 -68
- package/src/app/__tests__/app-provider.test.tsx +0 -232
- package/src/app/__tests__/date-format-labels.test.ts +0 -36
- package/src/app/__tests__/date-formats.test.ts +0 -44
- package/src/app/__tests__/timezones.test.ts +0 -65
- package/src/app/app-provider.tsx +0 -227
- package/src/app/date-format-labels.ts +0 -21
- package/src/app/date-formats.ts +0 -30
- package/src/app/index.ts +0 -40
- package/src/app/locales.ts +0 -32
- package/src/app/request-headers.ts +0 -31
- package/src/app/storage.ts +0 -44
- package/src/app/time-format-labels.ts +0 -19
- package/src/app/time-formats.ts +0 -15
- package/src/app/timezones.ts +0 -208
- package/src/app/types.ts +0 -39
- package/src/app/use-formatting.ts +0 -47
- package/src/components/__tests__/accessibility-primitives.test.tsx +0 -65
- package/src/components/__tests__/docs-parity.test.ts +0 -41
- package/src/components/__tests__/shadcn-release-guardrails.test.ts +0 -71
- package/src/components/__tests__/theme-axes-integration.test.tsx +0 -242
- package/src/components/admin/index.ts +0 -76
- package/src/components/data-display/__tests__/card-table.test.tsx +0 -328
- package/src/components/data-display/__tests__/data-display.test.tsx +0 -73
- package/src/components/data-display/__tests__/data-table.test.tsx +0 -84
- package/src/components/data-display/__tests__/popover.test.tsx +0 -92
- package/src/components/data-display/__tests__/scroll-area-collapsible.test.tsx +0 -66
- package/src/components/data-display/badge.tsx +0 -27
- package/src/components/data-display/card.tsx +0 -194
- package/src/components/data-display/code-badge.tsx +0 -28
- package/src/components/data-display/collapsible.tsx +0 -5
- package/src/components/data-display/data-table.tsx +0 -476
- package/src/components/data-display/empty-state.tsx +0 -22
- package/src/components/data-display/index.ts +0 -41
- package/src/components/data-display/key-value-grid.tsx +0 -46
- package/src/components/data-display/popover.tsx +0 -62
- package/src/components/data-display/progress-meter.tsx +0 -20
- package/src/components/data-display/scan-panel.tsx +0 -16
- package/src/components/data-display/scroll-area.tsx +0 -42
- package/src/components/data-display/status-badge.tsx +0 -83
- package/src/components/data-display/table.tsx +0 -59
- package/src/components/data-display/timeline.tsx +0 -42
- package/src/components/data-display/tree-list.tsx +0 -42
- package/src/components/data-entry/__fixtures__/tree-options.ts +0 -80
- package/src/components/data-entry/__tests__/cascader-tree-transfer.test.tsx +0 -417
- package/src/components/data-entry/__tests__/checkbox-group.test.tsx +0 -40
- package/src/components/data-entry/__tests__/checkbox.test.tsx +0 -20
- package/src/components/data-entry/__tests__/date-autocomplete.test.tsx +0 -94
- package/src/components/data-entry/__tests__/form-field.test.tsx +0 -49
- package/src/components/data-entry/__tests__/input-textarea.test.tsx +0 -38
- package/src/components/data-entry/__tests__/label-select.test.tsx +0 -62
- package/src/components/data-entry/__tests__/pickers.test.tsx +0 -74
- package/src/components/data-entry/__tests__/radio.test.tsx +0 -46
- package/src/components/data-entry/__tests__/search-input.test.tsx +0 -32
- package/src/components/data-entry/__tests__/switch-field.test.tsx +0 -52
- package/src/components/data-entry/__tests__/upload.test.tsx +0 -125
- package/src/components/data-entry/autocomplete.tsx +0 -91
- package/src/components/data-entry/cascader.tsx +0 -305
- package/src/components/data-entry/checkbox-group.tsx +0 -90
- package/src/components/data-entry/checkbox.tsx +0 -30
- package/src/components/data-entry/choice-field.tsx +0 -27
- package/src/components/data-entry/choice-option.ts +0 -20
- package/src/components/data-entry/color-picker.tsx +0 -75
- package/src/components/data-entry/command.tsx +0 -56
- package/src/components/data-entry/country-select.tsx +0 -88
- package/src/components/data-entry/date-picker.tsx +0 -69
- package/src/components/data-entry/date-range-picker.tsx +0 -75
- package/src/components/data-entry/form-field.tsx +0 -59
- package/src/components/data-entry/index.ts +0 -62
- package/src/components/data-entry/label.tsx +0 -25
- package/src/components/data-entry/radio.tsx +0 -109
- package/src/components/data-entry/search-input.tsx +0 -103
- package/src/components/data-entry/select.tsx +0 -149
- package/src/components/data-entry/slider.tsx +0 -38
- package/src/components/data-entry/switch-field.tsx +0 -91
- package/src/components/data-entry/switch.tsx +0 -24
- package/src/components/data-entry/textarea.tsx +0 -12
- package/src/components/data-entry/time-picker.tsx +0 -214
- package/src/components/data-entry/transfer.tsx +0 -231
- package/src/components/data-entry/tree-select-strategy.ts +0 -6
- package/src/components/data-entry/tree-select.tsx +0 -279
- package/src/components/data-entry/tree-utils.ts +0 -221
- package/src/components/data-entry/upload-crop-dialog.tsx +0 -109
- package/src/components/data-entry/upload-types.ts +0 -86
- package/src/components/data-entry/upload.tsx +0 -498
- package/src/components/data-entry/use-upload-draft.ts +0 -93
- package/src/components/feedback/__tests__/alert.test.tsx +0 -127
- package/src/components/feedback/__tests__/dialog.test.tsx +0 -290
- package/src/components/feedback/__tests__/sheet.test.tsx +0 -94
- package/src/components/feedback/__tests__/skeleton.test.tsx +0 -25
- package/src/components/feedback/__tests__/toast.test.tsx +0 -52
- package/src/components/feedback/alert.tsx +0 -167
- package/src/components/feedback/dialog.tsx +0 -325
- package/src/components/feedback/index.ts +0 -53
- package/src/components/feedback/sheet.tsx +0 -130
- package/src/components/feedback/skeleton.tsx +0 -95
- package/src/components/feedback/sonner.tsx +0 -54
- package/src/components/feedback/toaster.tsx +0 -1
- package/src/components/feedback/use-toast.ts +0 -62
- package/src/components/general/__tests__/button.test.tsx +0 -71
- package/src/components/general/button.tsx +0 -61
- package/src/components/general/index.ts +0 -2
- package/src/components/layout/__tests__/page-container.test.tsx +0 -69
- package/src/components/layout/__tests__/page-inset.test.tsx +0 -14
- package/src/components/layout/__tests__/stack-inline.test.tsx +0 -39
- package/src/components/layout/app-shell.tsx +0 -42
- package/src/components/layout/breadcrumb.tsx +0 -35
- package/src/components/layout/index.ts +0 -31
- package/src/components/layout/inline.tsx +0 -13
- package/src/components/layout/menu.tsx +0 -34
- package/src/components/layout/mobile-frame.tsx +0 -57
- package/src/components/layout/page-container.tsx +0 -81
- package/src/components/layout/page-inset.tsx +0 -16
- package/src/components/layout/responsive-grid.tsx +0 -14
- package/src/components/layout/shell-app.tsx +0 -30
- package/src/components/layout/sidebar.tsx +0 -98
- package/src/components/layout/split-pane.tsx +0 -16
- package/src/components/layout/stack.tsx +0 -13
- package/src/components/layout/topbar.tsx +0 -108
- package/src/components/navigation/__tests__/app-pickers.test.tsx +0 -118
- package/src/components/navigation/__tests__/dropdown-menu.test.tsx +0 -104
- package/src/components/navigation/__tests__/navigation.test.tsx +0 -61
- package/src/components/navigation/__tests__/pagination-steps-tabs.test.tsx +0 -76
- package/src/components/navigation/date-format-picker.tsx +0 -55
- package/src/components/navigation/dropdown-menu.tsx +0 -190
- package/src/components/navigation/filter-bar.tsx +0 -38
- package/src/components/navigation/index.ts +0 -28
- package/src/components/navigation/locale-picker.tsx +0 -49
- package/src/components/navigation/page-header.tsx +0 -50
- package/src/components/navigation/pagination-utils.ts +0 -35
- package/src/components/navigation/pagination.tsx +0 -168
- package/src/components/navigation/steps.tsx +0 -163
- package/src/components/navigation/tabs-items.tsx +0 -69
- package/src/components/navigation/time-format-picker.tsx +0 -55
- package/src/components/navigation/timezone-picker.tsx +0 -63
- package/src/components/query/__tests__/data-state.test.tsx +0 -214
- package/src/components/query/__tests__/infinite-prefetch.test.tsx +0 -105
- package/src/components/query/__tests__/query-helpers.test.tsx +0 -61
- package/src/components/query/data-state.tsx +0 -58
- package/src/components/query/index.ts +0 -10
- package/src/components/query/infinite-query-state.tsx +0 -99
- package/src/components/query/mutation-feedback.tsx +0 -31
- package/src/components/query/prefetch-link.tsx +0 -45
- package/src/components/query/query-refetch-button.tsx +0 -41
- package/src/components/ui/alert-dialog.tsx +0 -1
- package/src/components/ui/alert.tsx +0 -1
- package/src/components/ui/autocomplete.tsx +0 -1
- package/src/components/ui/badge.tsx +0 -1
- package/src/components/ui/button.tsx +0 -1
- package/src/components/ui/calendar.tsx +0 -1
- package/src/components/ui/card.tsx +0 -1
- package/src/components/ui/checkbox.tsx +0 -1
- package/src/components/ui/color-picker.tsx +0 -1
- package/src/components/ui/command.tsx +0 -1
- package/src/components/ui/date-picker.tsx +0 -1
- package/src/components/ui/date-range-picker.tsx +0 -1
- package/src/components/ui/dialog.tsx +0 -1
- package/src/components/ui/dropdown-menu.tsx +0 -1
- package/src/components/ui/index.tsx +0 -31
- package/src/components/ui/input.tsx +0 -1
- package/src/components/ui/label.tsx +0 -1
- package/src/components/ui/pagination.tsx +0 -1
- package/src/components/ui/popover.tsx +0 -1
- package/src/components/ui/radio.tsx +0 -1
- package/src/components/ui/scroll-area.tsx +0 -1
- package/src/components/ui/select.tsx +0 -1
- package/src/components/ui/sheet.tsx +0 -1
- package/src/components/ui/slider.tsx +0 -1
- package/src/components/ui/sonner.tsx +0 -1
- package/src/components/ui/switch.tsx +0 -1
- package/src/components/ui/table.tsx +0 -1
- package/src/components/ui/tabs-items.tsx +0 -1
- package/src/components/ui/tabs.tsx +0 -1
- package/src/components/ui/textarea.tsx +0 -1
- package/src/components/ui/time-picker.tsx +0 -1
- package/src/components/ui/upload.tsx +0 -1
- package/src/form/__tests__/use-zod-form.test.tsx +0 -97
- package/src/form/form-field-control.tsx +0 -44
- package/src/form/form-root.tsx +0 -29
- package/src/form/index.ts +0 -7
- package/src/form/use-zod-form.ts +0 -29
- package/src/i18n/__tests__/translate.test.ts +0 -23
- package/src/i18n/index.ts +0 -9
- package/src/i18n/messages/en.json +0 -171
- package/src/i18n/messages/ja.json +0 -171
- package/src/i18n/messages/vi.json +0 -171
- package/src/i18n/translate.ts +0 -74
- package/src/i18n/use-translation.ts +0 -53
- package/src/index.ts +0 -3
- package/src/lib/__tests__/control-styles.test.ts +0 -78
- package/src/lib/__tests__/datetime.test.ts +0 -77
- package/src/lib/__tests__/format-date.test.ts +0 -97
- package/src/lib/__tests__/format.test.ts +0 -62
- package/src/lib/__tests__/theme-tokens-audit.test.ts +0 -176
- package/src/lib/__tests__/theme-tokens-css.test.ts +0 -118
- package/src/lib/__tests__/token-governance.test.ts +0 -191
- package/src/lib/__tests__/variants.test.ts +0 -18
- package/src/lib/control-styles.ts +0 -33
- package/src/lib/datetime/detect.ts +0 -25
- package/src/lib/datetime/format-date.ts +0 -100
- package/src/lib/datetime/format.ts +0 -140
- package/src/lib/datetime/index.ts +0 -25
- package/src/lib/datetime/parse.ts +0 -51
- package/src/lib/datetime/sync.ts +0 -48
- package/src/lib/format.ts +0 -114
- package/src/lib/hooks.ts +0 -54
- package/src/lib/utils.ts +0 -6
- package/src/lib/variants.ts +0 -40
- package/src/props/components/app.prop.ts +0 -99
- package/src/props/components/data-display.prop.ts +0 -73
- package/src/props/components/data-entry.prop.ts +0 -334
- package/src/props/components/feedback.prop.ts +0 -80
- package/src/props/components/form.prop.ts +0 -46
- package/src/props/components/general.prop.ts +0 -18
- package/src/props/components/index.ts +0 -99
- package/src/props/components/layout.prop.ts +0 -130
- package/src/props/components/navigation.prop.ts +0 -88
- package/src/props/components/query.prop.ts +0 -94
- package/src/props/index.ts +0 -17
- package/src/props/vocabulary/data.prop.ts +0 -46
- package/src/props/vocabulary/index.ts +0 -73
- package/src/props/vocabulary/interaction.prop.ts +0 -42
- package/src/props/vocabulary/navigation.prop.ts +0 -19
- package/src/props/vocabulary/shared.prop.ts +0 -59
- package/src/test/__tests__/render-loop-guard.test.tsx +0 -38
- package/src/test/jest-dom.d.ts +0 -4
- package/src/test/render-loop-guard.tsx +0 -50
- package/src/test/render.tsx +0 -29
- package/src/test/theme-globals.test.ts +0 -77
- package/src/test/theme-globals.ts +0 -134
- package/src/test/theme-test-utils.tsx +0 -67
- /package/{src → dist}/styles/alert-layout.css +0 -0
- /package/{src → dist}/styles/badge-layout.css +0 -0
- /package/{src → dist}/styles/card-layout.css +0 -0
- /package/{src → dist}/styles/data-display-layout.css +0 -0
- /package/{src → dist}/styles/density.css +0 -0
- /package/{src → dist}/styles/dialog-layout.css +0 -0
- /package/{src → dist}/styles/index.css +0 -0
- /package/{src → dist}/styles/layout.css +0 -0
- /package/{src → dist}/styles/shell-layout.css +0 -0
- /package/{src → dist}/styles/table-layout.css +0 -0
- /package/{src → dist}/theme/example.service.css +0 -0
- /package/{src → dist}/tokens/base.css +0 -0
- /package/{src → dist}/tokens/foundation.css +0 -0
- /package/{src → dist}/tokens/primitives/badge.css +0 -0
- /package/{src → dist}/tokens/primitives/card.css +0 -0
- /package/{src → dist}/tokens/primitives/control.css +0 -0
- /package/{src → dist}/tokens/primitives/feedback.css +0 -0
- /package/{src → dist}/tokens/primitives/layout.css +0 -0
- /package/{src → dist}/tokens/primitives/navigation.css +0 -0
- /package/{src → dist}/tokens/primitives/table.css +0 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { UseQueryResult, UseInfiniteQueryResult, InfiniteData, UseMutationResult, QueryKey } from '@tanstack/react-query';
|
|
3
|
+
import { LinkProps } from 'react-router-dom';
|
|
4
|
+
import { B as ButtonProp } from './general.prop-D7brMPNL.js';
|
|
5
|
+
import { H as HandlerProp, a as ClassNameProp } from './shared.prop-BNRJc9K0.js';
|
|
6
|
+
|
|
7
|
+
/** Query / async lifecycle helpers — @see docs/COMPONENTS.md#query */
|
|
8
|
+
|
|
9
|
+
/** @see DataState — TanStack Query lifecycle widget (not a visual component). */
|
|
10
|
+
type DataStateProp<T> = {
|
|
11
|
+
query: UseQueryResult<T>;
|
|
12
|
+
skeleton: React.ReactNode;
|
|
13
|
+
empty?: React.ReactNode;
|
|
14
|
+
isEmpty?: (data: NonNullable<T>) => boolean;
|
|
15
|
+
errorRenderer?: (error: unknown, retry: () => void) => React.ReactNode;
|
|
16
|
+
/** Default error UI retry button. Default `true`. */
|
|
17
|
+
showRetry?: boolean;
|
|
18
|
+
/** Default `() => query.refetch()`. */
|
|
19
|
+
onRetry?: HandlerProp;
|
|
20
|
+
children: (data: NonNullable<T>) => React.ReactNode;
|
|
21
|
+
};
|
|
22
|
+
type MutationLike = Pick<UseMutationResult<unknown, unknown, unknown, unknown>, "isError" | "error" | "isPending">;
|
|
23
|
+
/** @see MutationFeedback — inline mutation error (form submit, simulator run). */
|
|
24
|
+
type MutationFeedbackProp = {
|
|
25
|
+
mutation: MutationLike;
|
|
26
|
+
onRetry?: HandlerProp;
|
|
27
|
+
showRetry?: boolean;
|
|
28
|
+
/** Optional inline pending slot while `mutation.isPending`. */
|
|
29
|
+
pending?: React.ReactNode;
|
|
30
|
+
className?: ClassNameProp;
|
|
31
|
+
};
|
|
32
|
+
type QueryRefetchLike = Pick<UseQueryResult<unknown>, "isFetching" | "refetch">;
|
|
33
|
+
/** @see QueryRefetchButton — header Refresh wired to `query.refetch()`. */
|
|
34
|
+
type QueryRefetchButtonProp = Omit<ButtonProp, "onClick" | "disabled"> & {
|
|
35
|
+
query: QueryRefetchLike;
|
|
36
|
+
label?: React.ReactNode;
|
|
37
|
+
};
|
|
38
|
+
type InfiniteQueryLike<TPage> = Pick<UseInfiniteQueryResult<InfiniteData<TPage>, unknown>, "isPending" | "isError" | "isFetching" | "isFetchingNextPage" | "error" | "data" | "hasNextPage" | "fetchNextPage" | "refetch">;
|
|
39
|
+
type InfiniteQueryHelpers = {
|
|
40
|
+
fetchNextPage: () => void;
|
|
41
|
+
hasNextPage: boolean;
|
|
42
|
+
isFetchingNextPage: boolean;
|
|
43
|
+
};
|
|
44
|
+
/** @see InfiniteQueryState — useInfiniteQuery lifecycle + load more. */
|
|
45
|
+
type InfiniteQueryStateProp<TPage, TFlat> = {
|
|
46
|
+
query: InfiniteQueryLike<TPage>;
|
|
47
|
+
skeleton: React.ReactNode;
|
|
48
|
+
empty?: React.ReactNode;
|
|
49
|
+
flatten: (data: {
|
|
50
|
+
pages: TPage[];
|
|
51
|
+
}) => TFlat;
|
|
52
|
+
isEmpty?: (flat: TFlat) => boolean;
|
|
53
|
+
errorRenderer?: (error: unknown, retry: () => void) => React.ReactNode;
|
|
54
|
+
showRetry?: boolean;
|
|
55
|
+
onRetry?: HandlerProp;
|
|
56
|
+
loadingMore?: React.ReactNode;
|
|
57
|
+
/** Custom load-more footer; `false` hides footer entirely. */
|
|
58
|
+
loadMore?: React.ReactNode | false;
|
|
59
|
+
/** Show default load-more button when `hasNextPage`. Default `true`. */
|
|
60
|
+
showLoadMore?: boolean;
|
|
61
|
+
children: (flat: TFlat, helpers: InfiniteQueryHelpers) => React.ReactNode;
|
|
62
|
+
};
|
|
63
|
+
/** @see PrefetchLink — Link + prefetchQuery on hover/focus. */
|
|
64
|
+
type PrefetchLinkProp = LinkProps & {
|
|
65
|
+
queryKey: QueryKey;
|
|
66
|
+
queryFn: () => Promise<unknown>;
|
|
67
|
+
prefetchOn?: "hover" | "focus" | "both" | "none";
|
|
68
|
+
staleTime?: number;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export type { DataStateProp as D, InfiniteQueryHelpers as I, MutationFeedbackProp as M, PrefetchLinkProp as P, QueryRefetchButtonProp as Q, InfiniteQueryStateProp as a };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { F as FormFieldProp } from './data-entry.prop-BEGA1lTq.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
|
|
5
|
+
declare function FormField({ id, label, required, helper, error, labelAddon, className, children, }: FormFieldProp): react_jsx_runtime.JSX.Element;
|
|
6
|
+
|
|
7
|
+
interface SearchInputProps {
|
|
8
|
+
value?: string;
|
|
9
|
+
defaultValue?: string;
|
|
10
|
+
placeholder?: string;
|
|
11
|
+
debounce?: number;
|
|
12
|
+
onSearch: (q: string) => void;
|
|
13
|
+
label?: React.ReactNode;
|
|
14
|
+
ariaLabel?: string;
|
|
15
|
+
className?: string;
|
|
16
|
+
inputClassName?: string;
|
|
17
|
+
id?: string;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
}
|
|
20
|
+
declare function SearchInput({ value: controlledValue, defaultValue, placeholder, debounce, onSearch, label, ariaLabel, className, inputClassName, id, disabled, }: SearchInputProps): react_jsx_runtime.JSX.Element;
|
|
21
|
+
|
|
22
|
+
export { FormField as F, SearchInput as S };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Shared atomic prop types used across multiple components.
|
|
5
|
+
* @see docs/PROPS-VOCABULARY.md
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/** Extra CSS class names on a component root. */
|
|
9
|
+
type ClassNameProp = string;
|
|
10
|
+
/** Child nodes slot. */
|
|
11
|
+
type ChildrenProp = React.ReactNode;
|
|
12
|
+
/** Stable DOM / form identifier. */
|
|
13
|
+
type IdProp = string;
|
|
14
|
+
/** Controlled open state for panels (Dialog, Sheet, Popover). */
|
|
15
|
+
type OpenProp = boolean;
|
|
16
|
+
/** Callback when open state changes. */
|
|
17
|
+
type OnOpenChangeProp = (open: boolean) => void;
|
|
18
|
+
/** Async or sync handler — no return value expected. */
|
|
19
|
+
type HandlerProp = () => void | Promise<void>;
|
|
20
|
+
/** Loading / pending state — disables actions and shows spinners. */
|
|
21
|
+
type PendingProp = boolean;
|
|
22
|
+
/** Field or control is required. */
|
|
23
|
+
type RequiredProp = boolean;
|
|
24
|
+
/** Disable user interaction. */
|
|
25
|
+
type DisabledProp = boolean;
|
|
26
|
+
/** Generic label text (filters, form fields, nav groups). */
|
|
27
|
+
type LabelProp = React.ReactNode;
|
|
28
|
+
/** Helper / hint text below inputs. */
|
|
29
|
+
type HelperProp = React.ReactNode;
|
|
30
|
+
/** Validation error message. */
|
|
31
|
+
type ErrorProp = React.ReactNode;
|
|
32
|
+
/** Placeholder text for inputs. */
|
|
33
|
+
type PlaceholderProp = string;
|
|
34
|
+
/** HTML input `name` attribute. */
|
|
35
|
+
type NameProp = string;
|
|
36
|
+
/** HTML input `value` — string form. */
|
|
37
|
+
type ValueProp = string;
|
|
38
|
+
/** Change handler for text inputs. */
|
|
39
|
+
type OnChangeProp = React.ChangeEventHandler<HTMLInputElement>;
|
|
40
|
+
/** Click handler for buttons and interactive elements. */
|
|
41
|
+
type OnClickProp = React.MouseEventHandler<HTMLButtonElement>;
|
|
42
|
+
/** Radix/shadcn `asChild` polymorphism — render as child element. */
|
|
43
|
+
type AsChildProp = boolean;
|
|
44
|
+
|
|
45
|
+
export type { AsChildProp as A, ChildrenProp as C, DisabledProp as D, ErrorProp as E, HandlerProp as H, IdProp as I, LabelProp as L, NameProp as N, OnChangeProp as O, PendingProp as P, RequiredProp as R, ValueProp as V, ClassNameProp as a, HelperProp as b, OnClickProp as c, OnOpenChangeProp as d, OpenProp as e, PlaceholderProp as f };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/** Clock display — sent as `x-time-format` to backend. */
|
|
2
|
+
type AppTimeFormat = "24h" | "12h";
|
|
3
|
+
declare const APP_TIME_FORMATS: readonly ["24h", "12h"];
|
|
4
|
+
declare const APP_REQUEST_HEADER_TIME_FORMAT: "x-time-format";
|
|
5
|
+
/** date-fns pattern for time-only display. */
|
|
6
|
+
declare function getTimePattern(timeFormat: AppTimeFormat): string;
|
|
7
|
+
declare function isAppTimeFormat(value: string | null | undefined): value is AppTimeFormat;
|
|
8
|
+
|
|
9
|
+
/** Date-only display preset — sent as `x-date-format` to backend. */
|
|
10
|
+
|
|
11
|
+
type AppDateFormat = "iso" | "dmy" | "mdy";
|
|
12
|
+
declare const APP_DATE_FORMATS: readonly ["iso", "dmy", "mdy"];
|
|
13
|
+
declare const APP_REQUEST_HEADER_DATE_FORMAT: "x-date-format";
|
|
14
|
+
/** date-fns pattern for date-only display. */
|
|
15
|
+
declare function getDatePattern(dateFormat: AppDateFormat): string;
|
|
16
|
+
/** date-fns pattern for date + time (table cells). */
|
|
17
|
+
declare function getDateTimePattern(timeFormat: AppTimeFormat, dateFormat: AppDateFormat): string;
|
|
18
|
+
declare function isAppDateFormat(value: string | null | undefined): value is AppDateFormat;
|
|
19
|
+
|
|
20
|
+
/** Supported UI locales — sent as `x-locale` to backend. */
|
|
21
|
+
type AppLocale = "vi" | "en" | "ja";
|
|
22
|
+
/** IANA timezone identifier — sent as `x-timezone` to backend. */
|
|
23
|
+
type AppTimezone = string;
|
|
24
|
+
/** How to resolve the initial timezone when nothing is stored. */
|
|
25
|
+
type AppTimezoneDefault = "browser" | "system" | (AppTimezone & {});
|
|
26
|
+
|
|
27
|
+
declare const APP_LOCALES: readonly ["vi", "en", "ja"];
|
|
28
|
+
declare const APP_REQUEST_HEADER_LOCALE: "x-locale";
|
|
29
|
+
declare const APP_REQUEST_HEADER_TIMEZONE: "x-timezone";
|
|
30
|
+
type AppRequestHeaders = {
|
|
31
|
+
"x-locale": AppLocale;
|
|
32
|
+
"x-timezone": AppTimezone;
|
|
33
|
+
"x-time-format": AppTimeFormat;
|
|
34
|
+
"x-date-format": AppDateFormat;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export { APP_DATE_FORMATS as A, APP_LOCALES as a, APP_REQUEST_HEADER_DATE_FORMAT as b, APP_REQUEST_HEADER_LOCALE as c, APP_REQUEST_HEADER_TIMEZONE as d, APP_REQUEST_HEADER_TIME_FORMAT as e, APP_TIME_FORMATS as f, type AppDateFormat as g, type AppLocale as h, type AppRequestHeaders as i, type AppTimeFormat as j, type AppTimezone as k, type AppTimezoneDefault as l, getDatePattern as m, getDateTimePattern as n, getTimePattern as o, isAppDateFormat as p, isAppTimeFormat as q };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { ExternalToast, toast as toast$1 } from 'sonner';
|
|
4
|
+
|
|
5
|
+
interface SkeletonRowsProps {
|
|
6
|
+
rows?: number;
|
|
7
|
+
columns?: number;
|
|
8
|
+
className?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Skeleton for a flat list of rows (use inside a Card or section). */
|
|
11
|
+
declare function SkeletonRows({ rows, columns, className }: SkeletonRowsProps): react_jsx_runtime.JSX.Element;
|
|
12
|
+
/** Skeleton matching the DataTable layout — header row + N body rows. */
|
|
13
|
+
declare function SkeletonTable({ rows, columns }: SkeletonRowsProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
/** Skeleton matching a Card detail layout — title + 6 metadata rows. */
|
|
15
|
+
declare function SkeletonDetail(): react_jsx_runtime.JSX.Element;
|
|
16
|
+
/** Skeleton matching a stat card / dashboard tile. */
|
|
17
|
+
declare function SkeletonCard(): react_jsx_runtime.JSX.Element;
|
|
18
|
+
|
|
19
|
+
type LegacyToastOptions = ExternalToast & {
|
|
20
|
+
title?: React.ReactNode;
|
|
21
|
+
description?: React.ReactNode;
|
|
22
|
+
variant?: "default" | "destructive" | "success";
|
|
23
|
+
};
|
|
24
|
+
type ToastFn = typeof toast$1 & ((options: LegacyToastOptions) => ReturnType<typeof toast$1>);
|
|
25
|
+
/** Sonner toast + legacy `{ title, variant }` object form. */
|
|
26
|
+
declare const toast: ToastFn;
|
|
27
|
+
/** Legacy hook — prefer `toast` import directly; kept for existing admin pages. */
|
|
28
|
+
declare function useToast(): {
|
|
29
|
+
toast: (options: LegacyToastOptions) => string | number;
|
|
30
|
+
dismiss: (id?: number | string) => string | number;
|
|
31
|
+
toasts: readonly [];
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { type LegacyToastOptions as L, SkeletonCard as S, SkeletonDetail as a, SkeletonRows as b, SkeletonTable as c, toast as t, useToast as u };
|
package/package.json
CHANGED
|
@@ -1,72 +1,234 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@godxjp/ui",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "@godxjp/ui — shared React UI framework (shadcn + Radix + Tailwind v4).",
|
|
6
6
|
"files": [
|
|
7
|
-
"
|
|
7
|
+
"dist",
|
|
8
8
|
"scripts/ui-audit.mjs",
|
|
9
9
|
"README.md"
|
|
10
10
|
],
|
|
11
|
-
"main": "./
|
|
12
|
-
"types": "./
|
|
11
|
+
"main": "./dist/index.js",
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
13
|
"exports": {
|
|
14
|
-
".":
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"./
|
|
19
|
-
"./
|
|
20
|
-
"./
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
"./
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
"./
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"./
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"./
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"./
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"./
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
"./ui
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"./
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"./
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
"./
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
"./
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"./
|
|
69
|
-
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"import": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./styles": "./dist/styles/index.css",
|
|
19
|
+
"./tokens": "./dist/tokens/base.css",
|
|
20
|
+
"./admin": {
|
|
21
|
+
"types": "./dist/components/admin/index.d.ts",
|
|
22
|
+
"import": "./dist/components/admin/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./layout": {
|
|
25
|
+
"types": "./dist/components/layout/index.d.ts",
|
|
26
|
+
"import": "./dist/components/layout/index.js"
|
|
27
|
+
},
|
|
28
|
+
"./general": {
|
|
29
|
+
"types": "./dist/components/general/index.d.ts",
|
|
30
|
+
"import": "./dist/components/general/index.js"
|
|
31
|
+
},
|
|
32
|
+
"./data-entry": {
|
|
33
|
+
"types": "./dist/components/data-entry/index.d.ts",
|
|
34
|
+
"import": "./dist/components/data-entry/index.js"
|
|
35
|
+
},
|
|
36
|
+
"./data-display": {
|
|
37
|
+
"types": "./dist/components/data-display/index.d.ts",
|
|
38
|
+
"import": "./dist/components/data-display/index.js"
|
|
39
|
+
},
|
|
40
|
+
"./feedback": {
|
|
41
|
+
"types": "./dist/components/feedback/index.d.ts",
|
|
42
|
+
"import": "./dist/components/feedback/index.js"
|
|
43
|
+
},
|
|
44
|
+
"./query": {
|
|
45
|
+
"types": "./dist/components/query/index.d.ts",
|
|
46
|
+
"import": "./dist/components/query/index.js"
|
|
47
|
+
},
|
|
48
|
+
"./ui": {
|
|
49
|
+
"types": "./dist/components/ui/index.d.ts",
|
|
50
|
+
"import": "./dist/components/ui/index.js"
|
|
51
|
+
},
|
|
52
|
+
"./navigation": {
|
|
53
|
+
"types": "./dist/components/navigation/index.d.ts",
|
|
54
|
+
"import": "./dist/components/navigation/index.js"
|
|
55
|
+
},
|
|
56
|
+
"./props": {
|
|
57
|
+
"types": "./dist/props/index.d.ts",
|
|
58
|
+
"import": "./dist/props/index.js"
|
|
59
|
+
},
|
|
60
|
+
"./props/vocabulary": {
|
|
61
|
+
"types": "./dist/props/vocabulary/index.d.ts",
|
|
62
|
+
"import": "./dist/props/vocabulary/index.js"
|
|
63
|
+
},
|
|
64
|
+
"./props/components": {
|
|
65
|
+
"types": "./dist/props/components/index.d.ts",
|
|
66
|
+
"import": "./dist/props/components/index.js"
|
|
67
|
+
},
|
|
68
|
+
"./props/registry": {
|
|
69
|
+
"types": "./dist/props/registry.d.ts",
|
|
70
|
+
"import": "./dist/props/registry.js"
|
|
71
|
+
},
|
|
72
|
+
"./form": {
|
|
73
|
+
"types": "./dist/form/index.d.ts",
|
|
74
|
+
"import": "./dist/form/index.js"
|
|
75
|
+
},
|
|
76
|
+
"./app": {
|
|
77
|
+
"types": "./dist/app/index.d.ts",
|
|
78
|
+
"import": "./dist/app/index.js"
|
|
79
|
+
},
|
|
80
|
+
"./datetime": {
|
|
81
|
+
"types": "./dist/lib/datetime/index.d.ts",
|
|
82
|
+
"import": "./dist/lib/datetime/index.js"
|
|
83
|
+
},
|
|
84
|
+
"./i18n": {
|
|
85
|
+
"types": "./dist/i18n/index.d.ts",
|
|
86
|
+
"import": "./dist/i18n/index.js"
|
|
87
|
+
},
|
|
88
|
+
"./lib/utils": {
|
|
89
|
+
"types": "./dist/lib/utils.d.ts",
|
|
90
|
+
"import": "./dist/lib/utils.js"
|
|
91
|
+
},
|
|
92
|
+
"./ui/button": {
|
|
93
|
+
"types": "./dist/components/general/button.d.ts",
|
|
94
|
+
"import": "./dist/components/general/button.js"
|
|
95
|
+
},
|
|
96
|
+
"./ui/badge": {
|
|
97
|
+
"types": "./dist/components/data-display/badge.d.ts",
|
|
98
|
+
"import": "./dist/components/data-display/badge.js"
|
|
99
|
+
},
|
|
100
|
+
"./ui/card": {
|
|
101
|
+
"types": "./dist/components/data-display/card.d.ts",
|
|
102
|
+
"import": "./dist/components/data-display/card.js"
|
|
103
|
+
},
|
|
104
|
+
"./ui/table": {
|
|
105
|
+
"types": "./dist/components/data-display/table.d.ts",
|
|
106
|
+
"import": "./dist/components/data-display/table.js"
|
|
107
|
+
},
|
|
108
|
+
"./ui/input": {
|
|
109
|
+
"types": "./dist/components/data-entry/input.d.ts",
|
|
110
|
+
"import": "./dist/components/data-entry/input.js"
|
|
111
|
+
},
|
|
112
|
+
"./ui/label": {
|
|
113
|
+
"types": "./dist/components/data-entry/label.d.ts",
|
|
114
|
+
"import": "./dist/components/data-entry/label.js"
|
|
115
|
+
},
|
|
116
|
+
"./ui/select": {
|
|
117
|
+
"types": "./dist/components/data-entry/select.d.ts",
|
|
118
|
+
"import": "./dist/components/data-entry/select.js"
|
|
119
|
+
},
|
|
120
|
+
"./ui/checkbox": {
|
|
121
|
+
"types": "./dist/components/data-entry/checkbox.d.ts",
|
|
122
|
+
"import": "./dist/components/data-entry/checkbox.js"
|
|
123
|
+
},
|
|
124
|
+
"./ui/radio": {
|
|
125
|
+
"types": "./dist/components/data-entry/radio.d.ts",
|
|
126
|
+
"import": "./dist/components/data-entry/radio.js"
|
|
127
|
+
},
|
|
128
|
+
"./ui/switch": {
|
|
129
|
+
"types": "./dist/components/data-entry/switch.d.ts",
|
|
130
|
+
"import": "./dist/components/data-entry/switch.js"
|
|
131
|
+
},
|
|
132
|
+
"./ui/slider": {
|
|
133
|
+
"types": "./dist/components/data-entry/slider.d.ts",
|
|
134
|
+
"import": "./dist/components/data-entry/slider.js"
|
|
135
|
+
},
|
|
136
|
+
"./ui/calendar": {
|
|
137
|
+
"types": "./dist/components/data-entry/calendar.d.ts",
|
|
138
|
+
"import": "./dist/components/data-entry/calendar.js"
|
|
139
|
+
},
|
|
140
|
+
"./ui/date-picker": {
|
|
141
|
+
"types": "./dist/components/data-entry/date-picker.d.ts",
|
|
142
|
+
"import": "./dist/components/data-entry/date-picker.js"
|
|
143
|
+
},
|
|
144
|
+
"./ui/date-range-picker": {
|
|
145
|
+
"types": "./dist/components/data-entry/date-range-picker.d.ts",
|
|
146
|
+
"import": "./dist/components/data-entry/date-range-picker.js"
|
|
147
|
+
},
|
|
148
|
+
"./ui/time-picker": {
|
|
149
|
+
"types": "./dist/components/data-entry/time-picker.d.ts",
|
|
150
|
+
"import": "./dist/components/data-entry/time-picker.js"
|
|
151
|
+
},
|
|
152
|
+
"./ui/color-picker": {
|
|
153
|
+
"types": "./dist/components/data-entry/color-picker.d.ts",
|
|
154
|
+
"import": "./dist/components/data-entry/color-picker.js"
|
|
155
|
+
},
|
|
156
|
+
"./ui/autocomplete": {
|
|
157
|
+
"types": "./dist/components/data-entry/autocomplete.d.ts",
|
|
158
|
+
"import": "./dist/components/data-entry/autocomplete.js"
|
|
159
|
+
},
|
|
160
|
+
"./ui/upload": {
|
|
161
|
+
"types": "./dist/components/data-entry/upload.d.ts",
|
|
162
|
+
"import": "./dist/components/data-entry/upload.js"
|
|
163
|
+
},
|
|
164
|
+
"./ui/cascader": {
|
|
165
|
+
"types": "./dist/components/data-entry/cascader.d.ts",
|
|
166
|
+
"import": "./dist/components/data-entry/cascader.js"
|
|
167
|
+
},
|
|
168
|
+
"./ui/tree-select": {
|
|
169
|
+
"types": "./dist/components/data-entry/tree-select.d.ts",
|
|
170
|
+
"import": "./dist/components/data-entry/tree-select.js"
|
|
171
|
+
},
|
|
172
|
+
"./ui/transfer": {
|
|
173
|
+
"types": "./dist/components/data-entry/transfer.d.ts",
|
|
174
|
+
"import": "./dist/components/data-entry/transfer.js"
|
|
175
|
+
},
|
|
176
|
+
"./ui/command": {
|
|
177
|
+
"types": "./dist/components/data-entry/command.d.ts",
|
|
178
|
+
"import": "./dist/components/data-entry/command.js"
|
|
179
|
+
},
|
|
180
|
+
"./ui/scroll-area": {
|
|
181
|
+
"types": "./dist/components/data-display/scroll-area.d.ts",
|
|
182
|
+
"import": "./dist/components/data-display/scroll-area.js"
|
|
183
|
+
},
|
|
184
|
+
"./ui/popover": {
|
|
185
|
+
"types": "./dist/components/data-display/popover.d.ts",
|
|
186
|
+
"import": "./dist/components/data-display/popover.js"
|
|
187
|
+
},
|
|
188
|
+
"./ui/textarea": {
|
|
189
|
+
"types": "./dist/components/data-entry/textarea.d.ts",
|
|
190
|
+
"import": "./dist/components/data-entry/textarea.js"
|
|
191
|
+
},
|
|
192
|
+
"./ui/dialog": {
|
|
193
|
+
"types": "./dist/components/feedback/dialog.d.ts",
|
|
194
|
+
"import": "./dist/components/feedback/dialog.js"
|
|
195
|
+
},
|
|
196
|
+
"./ui/alert-dialog": {
|
|
197
|
+
"types": "./dist/components/feedback/dialog.d.ts",
|
|
198
|
+
"import": "./dist/components/feedback/dialog.js"
|
|
199
|
+
},
|
|
200
|
+
"./ui/alert": {
|
|
201
|
+
"types": "./dist/components/feedback/alert.d.ts",
|
|
202
|
+
"import": "./dist/components/feedback/alert.js"
|
|
203
|
+
},
|
|
204
|
+
"./ui/sonner": {
|
|
205
|
+
"types": "./dist/components/feedback/sonner.d.ts",
|
|
206
|
+
"import": "./dist/components/feedback/sonner.js"
|
|
207
|
+
},
|
|
208
|
+
"./ui/tabs": {
|
|
209
|
+
"types": "./dist/components/navigation/tabs.d.ts",
|
|
210
|
+
"import": "./dist/components/navigation/tabs.js"
|
|
211
|
+
},
|
|
212
|
+
"./ui/tabs-items": {
|
|
213
|
+
"types": "./dist/components/navigation/tabs-items.d.ts",
|
|
214
|
+
"import": "./dist/components/navigation/tabs-items.js"
|
|
215
|
+
},
|
|
216
|
+
"./ui/pagination": {
|
|
217
|
+
"types": "./dist/components/navigation/pagination.d.ts",
|
|
218
|
+
"import": "./dist/components/navigation/pagination.js"
|
|
219
|
+
},
|
|
220
|
+
"./ui/steps": {
|
|
221
|
+
"types": "./dist/components/navigation/steps.d.ts",
|
|
222
|
+
"import": "./dist/components/navigation/steps.js"
|
|
223
|
+
},
|
|
224
|
+
"./ui/sheet": {
|
|
225
|
+
"types": "./dist/components/feedback/sheet.d.ts",
|
|
226
|
+
"import": "./dist/components/feedback/sheet.js"
|
|
227
|
+
},
|
|
228
|
+
"./ui/dropdown-menu": {
|
|
229
|
+
"types": "./dist/components/navigation/dropdown-menu.d.ts",
|
|
230
|
+
"import": "./dist/components/navigation/dropdown-menu.js"
|
|
231
|
+
}
|
|
70
232
|
},
|
|
71
233
|
"scripts": {
|
|
72
234
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
@@ -78,11 +240,13 @@
|
|
|
78
240
|
"test:watch": "vitest",
|
|
79
241
|
"test:coverage": "vitest run --coverage",
|
|
80
242
|
"verify": "pnpm typecheck && pnpm lint && pnpm format && pnpm test",
|
|
81
|
-
"verify:release": "pnpm typecheck && pnpm lint && pnpm
|
|
243
|
+
"verify:release": "pnpm typecheck && pnpm lint && pnpm build && pnpm test",
|
|
82
244
|
"preview": "node preview/scripts/kill-port.mjs && vite --config preview/vite.config.ts --port 6008 --strictPort",
|
|
83
245
|
"preview:build": "vite build --config preview/vite.config.ts",
|
|
84
246
|
"docs:sync-primitives": "node preview/scripts/sync-primitive-docs.mjs && prettier --write \"docs/primitives/**/*.tsx\"",
|
|
85
|
-
"audit": "node scripts/ui-audit.mjs"
|
|
247
|
+
"audit": "node scripts/ui-audit.mjs",
|
|
248
|
+
"build": "tsup && node scripts/copy-styles.mjs",
|
|
249
|
+
"prepublishOnly": "pnpm run build"
|
|
86
250
|
},
|
|
87
251
|
"peerDependencies": {
|
|
88
252
|
"@hookform/resolvers": "^5.2.0",
|
|
@@ -95,8 +259,11 @@
|
|
|
95
259
|
"zod": "^4.4.0"
|
|
96
260
|
},
|
|
97
261
|
"dependencies": {
|
|
262
|
+
"@date-fns/tz": "^1.5.0",
|
|
263
|
+
"@fontsource/m-plus-2": "^5.2.9",
|
|
98
264
|
"@radix-ui/react-alert-dialog": "^1.1.15",
|
|
99
265
|
"@radix-ui/react-checkbox": "^1.3.3",
|
|
266
|
+
"@radix-ui/react-collapsible": "^1.1.12",
|
|
100
267
|
"@radix-ui/react-context": "^1.1.2",
|
|
101
268
|
"@radix-ui/react-dialog": "^1.1.15",
|
|
102
269
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
@@ -104,7 +271,6 @@
|
|
|
104
271
|
"@radix-ui/react-popover": "^1.1.15",
|
|
105
272
|
"@radix-ui/react-radio-group": "^1.3.8",
|
|
106
273
|
"@radix-ui/react-scroll-area": "^1.2.10",
|
|
107
|
-
"@radix-ui/react-collapsible": "^1.1.12",
|
|
108
274
|
"@radix-ui/react-select": "^2.2.6",
|
|
109
275
|
"@radix-ui/react-slider": "^1.3.6",
|
|
110
276
|
"@radix-ui/react-slot": "^1.2.4",
|
|
@@ -113,14 +279,12 @@
|
|
|
113
279
|
"class-variance-authority": "^0.7.1",
|
|
114
280
|
"clsx": "^2.1.1",
|
|
115
281
|
"cmdk": "^1.1.1",
|
|
116
|
-
"@date-fns/tz": "^1.5.0",
|
|
117
282
|
"date-fns": "^4.1.0",
|
|
118
283
|
"lucide-react": "^1.14.0",
|
|
119
284
|
"react-day-picker": "^10.0.1",
|
|
120
285
|
"sonner": "^2.0.7",
|
|
121
286
|
"tailwind-merge": "^3.5.0",
|
|
122
|
-
"tailwindcss-animate": "^1.0.7"
|
|
123
|
-
"@fontsource/m-plus-2": "^5.2.9"
|
|
287
|
+
"tailwindcss-animate": "^1.0.7"
|
|
124
288
|
},
|
|
125
289
|
"devDependencies": {
|
|
126
290
|
"@eslint/js": "^9.39.4",
|
|
@@ -146,6 +310,7 @@
|
|
|
146
310
|
"react-hook-form": "^7.76.0",
|
|
147
311
|
"react-router-dom": "^7.15.0",
|
|
148
312
|
"tailwindcss": "^4.2.4",
|
|
313
|
+
"tsup": "^8.5.1",
|
|
149
314
|
"typescript": "^6.0.3",
|
|
150
315
|
"typescript-eslint": "^8.60.0",
|
|
151
316
|
"vite": "^8.0.10",
|
|
@@ -154,5 +319,6 @@
|
|
|
154
319
|
},
|
|
155
320
|
"bin": {
|
|
156
321
|
"godxjp-ui-audit": "scripts/ui-audit.mjs"
|
|
157
|
-
}
|
|
158
|
-
|
|
322
|
+
},
|
|
323
|
+
"module": "./dist/index.js"
|
|
324
|
+
}
|