themelia-react-ui 1.0.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +281 -1
- package/README.md +10 -5
- package/dist/{accordion-BRTcsp8J.js → accordion-CQXVcd7Q.js} +13 -13
- package/dist/accordion-CQXVcd7Q.js.map +1 -0
- package/dist/action-menu-BTpyPWJ2.js +264 -0
- package/dist/action-menu-BTpyPWJ2.js.map +1 -0
- package/dist/{affordance-geometry.generated-CL84ZN9A.js → affordance-geometry.generated-CCIXb2A1.js} +7 -2
- package/dist/affordance-geometry.generated-CCIXb2A1.js.map +1 -0
- package/dist/{ai-artifact-DLVdK0Py.js → ai-artifact-2PQ2fItc.js} +171 -176
- package/dist/ai-artifact-2PQ2fItc.js.map +1 -0
- package/dist/{app-shell-C_fKpljx.js → app-shell-BE_j8-AT.js} +4 -4
- package/dist/{app-shell-C_fKpljx.js.map → app-shell-BE_j8-AT.js.map} +1 -1
- package/dist/{attachment-DbjUWsP0.js → attachment-q69dlt5Y.js} +9 -9
- package/dist/{attachment-DbjUWsP0.js.map → attachment-q69dlt5Y.js.map} +1 -1
- package/dist/{auth-CAQcasMV.js → auth-M3vGMgDR.js} +42 -42
- package/dist/{auth-CAQcasMV.js.map → auth-M3vGMgDR.js.map} +1 -1
- package/dist/{avatar-Bu2HhitA.js → avatar-djdaaQ_s.js} +14 -12
- package/dist/avatar-djdaaQ_s.js.map +1 -0
- package/dist/{badge-CzId1Wlm.js → badge-0tATj-tW.js} +9 -9
- package/dist/badge-0tATj-tW.js.map +1 -0
- package/dist/base/accordion.js +1 -1
- package/dist/base/action-menu.js +1 -1
- package/dist/base/attachment.js +1 -1
- package/dist/base/avatar.js +1 -1
- package/dist/base/badge.js +1 -1
- package/dist/base/buttons.js +2 -2
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +11 -11
- package/dist/base/carousel.js.map +1 -1
- package/dist/base/cascader.js +244 -222
- package/dist/base/cascader.js.map +1 -1
- package/dist/base/chart.js +1 -1
- package/dist/base/choice-inputs.js +2 -2
- package/dist/base/code-block.js +1 -1
- package/dist/base/combobox.js +1 -1
- package/dist/base/command.js +1 -1
- package/dist/base/copyable.js +1 -1
- package/dist/base/date-pickers.js +2 -2
- package/dist/base/display.js +6 -6
- package/dist/base/feedback.js +3 -3
- package/dist/base/forms-numeric.js +1 -1
- package/dist/base/forms.js +2 -2
- package/dist/base/inline-edit.js +81 -76
- package/dist/base/inline-edit.js.map +1 -1
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +1 -1
- package/dist/base/navigation.js +6 -6
- package/dist/base/popover-menu.js +1 -1
- package/dist/base/popover.js +1 -1
- package/dist/base/qr-code.js +7 -4
- package/dist/base/qr-code.js.map +1 -1
- package/dist/base/repeaters.js +42 -42
- package/dist/base/repeaters.js.map +1 -1
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +1 -1
- package/dist/base/signature-pad.js +9 -9
- package/dist/base/signature-pad.js.map +1 -1
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +1 -1
- package/dist/base/structure.js +1 -1
- package/dist/base/table.js +1 -1
- package/dist/base/text-inputs.js +2 -2
- package/dist/base/toaster.js +4 -4
- package/dist/base/toaster.js.map +1 -1
- package/dist/base/tree.js +1 -1
- package/dist/base/upload-queue.js +1 -1
- package/dist/base/upload.js +3 -3
- package/dist/base/value-inputs.js +1 -1
- package/dist/blocks/admin.js +229 -220
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +147 -180
- package/dist/blocks/ai.js.map +1 -1
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +530 -523
- package/dist/blocks/analytics.js.map +1 -1
- package/dist/blocks/collaboration.js +1 -1
- package/dist/blocks/commerce/receipt.js +1 -1
- package/dist/blocks/commerce.js +1390 -1516
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +1 -1
- package/dist/blocks/onboarding.js +5 -5
- package/dist/blocks/planning.js +82 -91
- package/dist/blocks/planning.js.map +1 -1
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-BuYz5SDU.js → breadcrumbs-BG_FfMK4.js} +5 -5
- package/dist/{breadcrumbs-BuYz5SDU.js.map → breadcrumbs-BG_FfMK4.js.map} +1 -1
- package/dist/{button-BZDasD04.js → button-BS3KDg00.js} +185 -162
- package/dist/button-BS3KDg00.js.map +1 -0
- package/dist/{button-BZyfTvwm.js → button-R9CCoH7A.js} +2 -2
- package/dist/{button-BZyfTvwm.js.map → button-R9CCoH7A.js.map} +1 -1
- package/dist/{buttons-D_6KJvEE.js → buttons-DS0ZIwJ_.js} +11 -11
- package/dist/buttons-DS0ZIwJ_.js.map +1 -0
- package/dist/{cards-qGSErLw_.js → cards-QoJ4syG9.js} +7 -7
- package/dist/{cards-qGSErLw_.js.map → cards-QoJ4syG9.js.map} +1 -1
- package/dist/{chart-Bsc5BICK.js → chart-DwYRKKc-.js} +17 -15
- package/dist/chart-DwYRKKc-.js.map +1 -0
- package/dist/checkbox-B7ygNTYp.js +35 -0
- package/dist/checkbox-B7ygNTYp.js.map +1 -0
- package/dist/choice-inputs-DrJ17tpL.js +752 -0
- package/dist/choice-inputs-DrJ17tpL.js.map +1 -0
- package/dist/{code-block-DzHKRybS.js → code-block-CD0B7M93.js} +19 -19
- package/dist/{code-block-DzHKRybS.js.map → code-block-CD0B7M93.js.map} +1 -1
- package/dist/{collapsible-ClvC7Bj3.js → collapsible-oMUGM4tr.js} +3 -3
- package/dist/{collapsible-ClvC7Bj3.js.map → collapsible-oMUGM4tr.js.map} +1 -1
- package/dist/{collection-content-D6S8cv_n.js → collection-content-Ys-OZOkY.js} +3 -3
- package/dist/{collection-content-D6S8cv_n.js.map → collection-content-Ys-OZOkY.js.map} +1 -1
- package/dist/{combobox-BFnbJJp3.js → combobox-6dvVny2q.js} +96 -97
- package/dist/combobox-6dvVny2q.js.map +1 -0
- package/dist/{combobox-hozNwUcc.js → combobox-CB7039j7.js} +326 -308
- package/dist/combobox-CB7039j7.js.map +1 -0
- package/dist/{command-BnmSchli.js → command-kPMPjIxJ.js} +34 -30
- package/dist/command-kPMPjIxJ.js.map +1 -0
- package/dist/{comments-u5L0OGip.js → comments-You0Bzbr.js} +349 -348
- package/dist/comments-You0Bzbr.js.map +1 -0
- package/dist/components/base/accordion/accordion-variants.d.ts +3 -3
- package/dist/components/base/action-menu/action-menu.d.ts +7 -2
- package/dist/components/base/avatar/stacked-avatars.d.ts +5 -4
- package/dist/components/base/badge/badge.d.ts +1 -1
- package/dist/components/base/badge/badge.recipes.d.ts +4 -4
- package/dist/components/base/buttons/base-button.d.ts +7 -0
- package/dist/components/base/buttons/button-group.recipes.d.ts +2 -2
- package/dist/components/base/buttons/button.variants.d.ts +1 -0
- package/dist/components/base/buttons/loader-button.d.ts +3 -1
- package/dist/components/base/buttons/text-button.d.ts +2 -2
- package/dist/components/base/carousel/carousel.d.ts +3 -1
- package/dist/components/base/chart/chart.d.ts +7 -7
- package/dist/components/base/choice-inputs/checkbox.d.ts +6 -7
- package/dist/components/base/choice-inputs/choice-types.d.ts +10 -1
- package/dist/components/base/choice-inputs/pill-radio-group.d.ts +9 -0
- package/dist/components/base/choice-inputs/select-popup.d.ts +9 -1
- package/dist/components/base/choice-inputs/switch-card.d.ts +1 -1
- package/dist/components/base/date-pickers/date-picker-field.d.ts +23 -0
- package/dist/components/base/date-pickers/datepicker.types.d.ts +13 -3
- package/dist/components/base/display/alert-dialog.d.ts +8 -2
- package/dist/components/base/display/content-block.d.ts +4 -2
- package/dist/components/base/display/date-block.d.ts +1 -1
- package/dist/components/base/display/dialog.d.ts +12 -5
- package/dist/components/base/display/surface-title.d.ts +6 -1
- package/dist/components/base/feedback/alert.d.ts +1 -1
- package/dist/components/base/feedback/state-display.d.ts +5 -4
- package/dist/components/base/forms/form-sizing.d.ts +32 -0
- package/dist/components/base/forms/workflow.d.ts +2 -0
- package/dist/components/base/forms-numeric/coordinates-input.d.ts +3 -0
- package/dist/components/base/forms-numeric/rounding-mode-select.d.ts +4 -1
- package/dist/components/base/navigation/dropdown-menu.d.ts +2 -2
- package/dist/components/base/navigation/language-switcher.d.ts +4 -1
- package/dist/components/base/navigation/overflow-tab-bar.d.ts +7 -0
- package/dist/components/base/navigation/page-header/page-header.d.ts +4 -1
- package/dist/components/base/qr-code/qr-code.d.ts +2 -0
- package/dist/components/base/sheet/index.d.ts +29 -1
- package/dist/components/base/sheet/sheet.d.ts +14 -5
- package/dist/components/base/spinner/spinner.d.ts +3 -2
- package/dist/components/base/structure/structure.types.d.ts +1 -1
- package/dist/components/base/text-inputs/input-group.d.ts +2 -2
- package/dist/components/base/upload/upload.recipes.d.ts +11 -0
- package/dist/components/base/value-inputs/date-time-input.d.ts +4 -2
- package/dist/components/base/value-inputs/tags-input.d.ts +2 -0
- package/dist/components/blocks/admin/api-key-list/api-key-list.types.d.ts +1 -1
- package/dist/components/blocks/analytics/format-metric-value.d.ts +11 -1
- package/dist/components/blocks/analytics/index.d.ts +1 -1
- package/dist/components/blocks/analytics/use-metric-format-options.d.ts +3 -0
- package/dist/components/blocks/commerce/address-card/address-card.d.ts +1 -1
- package/dist/components/blocks/commerce/address-card/types.d.ts +3 -1
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.d.ts +4 -0
- package/dist/components/blocks/commerce/booking-calendar-event-card/booking-calendar-event-card.types.d.ts +2 -2
- package/dist/components/blocks/commerce/discount-stack/types.d.ts +1 -1
- package/dist/components/blocks/commerce/inventory-section/types.d.ts +4 -1
- package/dist/components/blocks/commerce/loyalty-points/types.d.ts +1 -1
- package/dist/components/blocks/commerce/order-status/types.d.ts +4 -0
- package/dist/components/blocks/commerce/payment-method/payment-method.d.ts +1 -1
- package/dist/components/blocks/commerce/payment-method/types.d.ts +3 -1
- package/dist/components/blocks/commerce/seo-listing/seo-listing-card.d.ts +1 -1
- package/dist/components/blocks/commerce/seo-listing/types.d.ts +3 -1
- package/dist/components/blocks/commerce/vendor-profile/types.d.ts +4 -1
- package/dist/components/blocks/data-display/dense-info-card/dense-info.strings.d.ts +4 -1
- package/dist/components/blocks/data-display/inline-stat/inline-stat.d.ts +4 -1
- package/dist/components/features/global-search/partials/global-search-idle-state.d.ts +1 -1
- package/dist/components/features/overlays/alert-dialog.d.ts +1 -1
- package/dist/components/features/overlays/drawer.d.ts +1 -1
- package/dist/components/features/overlays/hooks/use-overlay-actions.d.ts +2 -2
- package/dist/components/features/overlays/hooks/use-overlay-visibility.d.ts +11 -4
- package/dist/components/features/overlays/overlay-tone-icon.d.ts +37 -0
- package/dist/components/features/overlays/overlays.types.d.ts +42 -19
- package/dist/components/features/products/components/product-variants-manager.d.ts +1 -1
- package/dist/components/features/products/partials/index.d.ts +1 -1
- package/dist/components/features/products/partials/product-metric-tile.d.ts +6 -0
- package/dist/components/features/products/partials/product-tone.d.ts +11 -1
- package/dist/components/features/products/products.types.d.ts +2 -1
- package/dist/components/features/table/partials/cell-renderers.d.ts +1 -1
- package/dist/components/layout/page/index.d.ts +1 -1
- package/dist/components/layout/page/page.types.d.ts +53 -3
- package/dist/components/layout/page/partials/page-header-commands.d.ts +13 -0
- package/dist/components/layout/page/partials/page-header.d.ts +1 -1
- package/dist/components/primitives/date.d.ts +16 -3
- package/dist/components/primitives/dimensions.d.ts +6 -0
- package/dist/components/primitives/duration.d.ts +6 -0
- package/dist/components/primitives/file-size.d.ts +6 -0
- package/dist/components/primitives/index.d.ts +1 -1
- package/dist/components/primitives/initials.d.ts +11 -2
- package/dist/components/primitives/link.d.ts +7 -0
- package/dist/components/primitives/money.d.ts +29 -7
- package/dist/components/primitives/number.d.ts +17 -0
- package/dist/components/primitives/value-typography.d.ts +54 -0
- package/dist/components/primitives/value.d.ts +31 -6
- package/dist/components/typography/heading.d.ts +9 -1
- package/dist/components/typography/label.d.ts +3 -0
- package/dist/components/typography/running-text.d.ts +12 -0
- package/dist/components/typography/text-link.d.ts +23 -1
- package/dist/components/typography/text.d.ts +12 -0
- package/dist/components/typography/text.styles.d.ts +35 -13
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/checkbox.d.ts +5 -0
- package/dist/components/ui/overlay.recipes.d.ts +15 -2
- package/dist/components/ui/select.d.ts +3 -1
- package/dist/components/ui/switch.d.ts +5 -0
- package/dist/{containers-DqB-bSYE.js → containers-D_L4mTVb.js} +3 -3
- package/dist/{containers-DqB-bSYE.js.map → containers-D_L4mTVb.js.map} +1 -1
- package/dist/{copyable-BTSByfmq.js → copyable-DDjTeW_j.js} +4 -4
- package/dist/{copyable-BTSByfmq.js.map → copyable-DDjTeW_j.js.map} +1 -1
- package/dist/{data-display-Bihs9Ven.js → data-display-3xWQUnMA.js} +471 -478
- package/dist/data-display-3xWQUnMA.js.map +1 -0
- package/dist/date-picker-DrDFj8Lo.js +1527 -0
- package/dist/date-picker-DrDFj8Lo.js.map +1 -0
- package/dist/date-pickers-CnFCb0n2.js +174 -0
- package/dist/date-pickers-CnFCb0n2.js.map +1 -0
- package/dist/date-uf3z37Nm.js +144 -0
- package/dist/date-uf3z37Nm.js.map +1 -0
- package/dist/{display-CS6Hbk18.js → display-DrdvPwF0.js} +25 -25
- package/dist/display-DrdvPwF0.js.map +1 -0
- package/dist/{dropdown-menu-D-boNgGO.js → dropdown-menu-CURh59jb.js} +22 -15
- package/dist/dropdown-menu-CURh59jb.js.map +1 -0
- package/dist/features/activities.js +38 -35
- package/dist/features/activities.js.map +1 -1
- package/dist/features/ai-chat.js +36 -35
- package/dist/features/ai-chat.js.map +1 -1
- package/dist/features/async-preview.js +8 -8
- package/dist/features/combobox.js +1 -1
- package/dist/features/comments.js +1 -1
- package/dist/features/data-view.js +10 -10
- package/dist/features/email-composer.js +325 -326
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +190 -200
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +77 -77
- package/dist/features/global-search.js.map +1 -1
- package/dist/features/kanban.js +4 -4
- package/dist/features/map.js +8 -8
- package/dist/features/media-library.js +499 -502
- package/dist/features/media-library.js.map +1 -1
- package/dist/features/mentions.js +1 -1
- package/dist/features/overlays.js +1 -1
- package/dist/features/products.js +1216 -1248
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +46 -44
- package/dist/features/questionnaire.js.map +1 -1
- package/dist/features/resource-assignment.js +96 -88
- package/dist/features/resource-assignment.js.map +1 -1
- package/dist/features/resource.js +11 -11
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +188 -184
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +7 -7
- package/dist/features/sync.js.map +1 -1
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +469 -470
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-CJkUAapr.js → feedback-C7nR0UtT.js} +9 -10
- package/dist/feedback-C7nR0UtT.js.map +1 -0
- package/dist/field-affordance-recipes-CkOCdE2y.js +46 -0
- package/dist/field-affordance-recipes-CkOCdE2y.js.map +1 -0
- package/dist/{field-state-recipes-DQQpiLWC.js → field-state-recipes-C-MFBX_8.js} +3 -3
- package/dist/field-state-recipes-C-MFBX_8.js.map +1 -0
- package/dist/{filters-D6FF8L6s.js → filters-Da-gNPsE.js} +467 -467
- package/dist/filters-Da-gNPsE.js.map +1 -0
- package/dist/{form-field-CZwrkP7m.js → form-field-VZRULhUK.js} +7 -7
- package/dist/{form-field-CZwrkP7m.js.map → form-field-VZRULhUK.js.map} +1 -1
- package/dist/form-sizing-uWP4lzVh.js +126 -0
- package/dist/form-sizing-uWP4lzVh.js.map +1 -0
- package/dist/{forms-B5NCbkSC.js → forms-DDeEnXSY.js} +11 -11
- package/dist/forms-DDeEnXSY.js.map +1 -0
- package/dist/forms-numeric-D3CO60IF.js +905 -0
- package/dist/forms-numeric-D3CO60IF.js.map +1 -0
- package/dist/{header-kxruN3RM.js → header-2ycNqGOR.js} +43 -42
- package/dist/header-2ycNqGOR.js.map +1 -0
- package/dist/{hooks-BrlnCwQd.js → hooks-DQ5SPwZw.js} +2 -2
- package/dist/{hooks-BrlnCwQd.js.map → hooks-DQ5SPwZw.js.map} +1 -1
- package/dist/{icon-badge-Btc6pQrp.js → icon-badge-DKlaKXoo.js} +3 -3
- package/dist/{icon-badge-Btc6pQrp.js.map → icon-badge-DKlaKXoo.js.map} +1 -1
- package/dist/index.js +2 -2
- package/dist/{input-vxcaNCYC.js → input-BoLm9Hks.js} +3 -3
- package/dist/{input-vxcaNCYC.js.map → input-BoLm9Hks.js.map} +1 -1
- package/dist/input-DhQdBnV3.js +255 -0
- package/dist/{input-SX9V0AL3.js.map → input-DhQdBnV3.js.map} +1 -1
- package/dist/item-xzh8Df65.js +264 -0
- package/dist/item-xzh8Df65.js.map +1 -0
- package/dist/layout/app-shell.js +1 -1
- package/dist/layout/auth.js +1 -1
- package/dist/layout/containers.js +1 -1
- package/dist/layout/header.js +1 -1
- package/dist/layout/hooks.js +1 -1
- package/dist/layout/navigation.js +1 -1
- package/dist/layout/page.js +1 -1
- package/dist/layout/settings.js +1 -1
- package/dist/layout/sidebar.js +2 -2
- package/dist/layout/workspace.js +1 -1
- package/dist/layout.js +10 -10
- package/dist/lib/affordance-geometry.generated.d.ts +6 -1
- package/dist/lib/field-affordance-recipes.d.ts +35 -0
- package/dist/lib/field-state-recipes.d.ts +4 -2
- package/dist/lib/format.d.ts +9 -0
- package/dist/lib/money-format.d.ts +30 -0
- package/dist/lib/overlay-anatomy-recipes.d.ts +1 -1
- package/dist/lib/surface-recipes.d.ts +8 -6
- package/dist/lib/token-merge.generated.d.ts +11 -11
- package/dist/lib/track-recipes.d.ts +1 -1
- package/dist/lib/ui-provider/provider.d.ts +7 -2
- package/dist/lib/ui-provider/store.d.ts +6 -2
- package/dist/lib/ui-provider/types.d.ts +5 -2
- package/dist/lib/utils.js +1 -1
- package/dist/{media-gallery-DLp3HAz0.js → media-gallery-DQUQ0m3O.js} +8 -8
- package/dist/media-gallery-DQUQ0m3O.js.map +1 -0
- package/dist/{mentions-Cl0Kt_Pd.js → mentions-DwnO1hh4.js} +34 -35
- package/dist/{mentions-Cl0Kt_Pd.js.map → mentions-DwnO1hh4.js.map} +1 -1
- package/dist/{message-SZUNB1eX.js → message-YfFmbXNP.js} +5 -5
- package/dist/{message-SZUNB1eX.js.map → message-YfFmbXNP.js.map} +1 -1
- package/dist/{navigation-DyytsLRB.js → navigation-Cbp5V8gG.js} +33 -34
- package/dist/navigation-Cbp5V8gG.js.map +1 -0
- package/dist/{navigation-DnQSNMT0.js → navigation-Cs1npsPm.js} +111 -87
- package/dist/navigation-Cs1npsPm.js.map +1 -0
- package/dist/{navigation-row-recipes-DQEXQcqY.js → navigation-row-recipes-DlU-4QYO.js} +2 -2
- package/dist/{navigation-row-recipes-DQEXQcqY.js.map → navigation-row-recipes-DlU-4QYO.js.map} +1 -1
- package/dist/number-CKRBYmZK.js +352 -0
- package/dist/number-CKRBYmZK.js.map +1 -0
- package/dist/overlay.recipes-CNO2S9V6.js +34 -0
- package/dist/overlay.recipes-CNO2S9V6.js.map +1 -0
- package/dist/overlays-DhZO7N-I.js +994 -0
- package/dist/overlays-DhZO7N-I.js.map +1 -0
- package/dist/page-C6R_8jFt.js +325 -0
- package/dist/page-C6R_8jFt.js.map +1 -0
- package/dist/{page-header-D8nERkn5.js → page-header-hUTzcRZX.js} +9 -9
- package/dist/page-header-hUTzcRZX.js.map +1 -0
- package/dist/{pagination-NLGqRirf.js → pagination-Cm0jqa3I.js} +8 -8
- package/dist/{pagination-NLGqRirf.js.map → pagination-Cm0jqa3I.js.map} +1 -1
- package/dist/{popover-CghIYdQf.js → popover-Dcv_9jxr.js} +6 -6
- package/dist/{popover-CghIYdQf.js.map → popover-Dcv_9jxr.js.map} +1 -1
- package/dist/{popover-menu-B4PoWhRl.js → popover-menu-DnRFKnHP.js} +6 -6
- package/dist/{popover-menu-B4PoWhRl.js.map → popover-menu-DnRFKnHP.js.map} +1 -1
- package/dist/{popover.recipes-QlD4JenO.js → popover.recipes-wmbvL8Ah.js} +2 -2
- package/dist/{popover.recipes-QlD4JenO.js.map → popover.recipes-wmbvL8Ah.js.map} +1 -1
- package/dist/primitives-BHrwQXFC.js +379 -0
- package/dist/primitives-BHrwQXFC.js.map +1 -0
- package/dist/primitives.js +5 -5
- package/dist/{progress-BroqrAyV.js → progress-Br9WTFya.js} +7 -7
- package/dist/progress-Br9WTFya.js.map +1 -0
- package/dist/{receipt-BuJynLgf.js → receipt-CV89q1fs.js} +6 -6
- package/dist/{receipt-BuJynLgf.js.map → receipt-CV89q1fs.js.map} +1 -1
- package/dist/{rich-text-editor-BKyG7rWz.js → rich-text-editor-CF8QYt5p.js} +6 -6
- package/dist/{rich-text-editor-BKyG7rWz.js.map → rich-text-editor-CF8QYt5p.js.map} +1 -1
- package/dist/{rich-text-editor.recipes-B72Nfuze.js → rich-text-editor.recipes-CnrbmTS1.js} +4 -4
- package/dist/{rich-text-editor.recipes-B72Nfuze.js.map → rich-text-editor.recipes-CnrbmTS1.js.map} +1 -1
- package/dist/{rich-text-DlxDOtf4.js → rich-text-j-FGAeZW.js} +4 -4
- package/dist/{rich-text-DlxDOtf4.js.map → rich-text-j-FGAeZW.js.map} +1 -1
- package/dist/{scroll-area-D-pIhEKl.js → scroll-area-DRdr16Pt.js} +3 -3
- package/dist/scroll-area-DRdr16Pt.js.map +1 -0
- package/dist/{separator-BhtFyo4x.js → separator-BMEvwnSX.js} +2 -2
- package/dist/{separator-BhtFyo4x.js.map → separator-BMEvwnSX.js.map} +1 -1
- package/dist/{separator-BNIgG3au.js → separator-Do5GWDYi.js} +4 -4
- package/dist/separator-Do5GWDYi.js.map +1 -0
- package/dist/services/actions/action-adapters.d.ts +4 -0
- package/dist/services/actions.js +8 -3
- package/dist/services/actions.js.map +1 -1
- package/dist/{settings-DOTOzeZ2.js → settings-DHk0L2MF.js} +17 -17
- package/dist/settings-DHk0L2MF.js.map +1 -0
- package/dist/sheet-DRFNY1_D.js +207 -0
- package/dist/sheet-DRFNY1_D.js.map +1 -0
- package/dist/sidebar-Cb8WzOvE.js +511 -0
- package/dist/sidebar-Cb8WzOvE.js.map +1 -0
- package/dist/{sidebar-CyR4XKwR.js → sidebar-Crc9M9JV.js} +18 -18
- package/dist/sidebar-Crc9M9JV.js.map +1 -0
- package/dist/{skeleton-3F0uhYn3.js → skeleton-DVMXr15h.js} +4 -4
- package/dist/{skeleton-3F0uhYn3.js.map → skeleton-DVMXr15h.js.map} +1 -1
- package/dist/{smart-card-DjGVV2xr.js → smart-card-Bek-TwUp.js} +222 -207
- package/dist/smart-card-Bek-TwUp.js.map +1 -0
- package/dist/{spinner-Cpf7oRkF.js → spinner-CmTAbEp0.js} +8 -6
- package/dist/spinner-CmTAbEp0.js.map +1 -0
- package/dist/{structure-CRdqVawd.js → structure-hzCW-XsV.js} +3 -3
- package/dist/{structure-CRdqVawd.js.map → structure-hzCW-XsV.js.map} +1 -1
- package/dist/{structure.recipes-Bqhf9oIh.js → structure.recipes-EPz60cU8.js} +37 -19
- package/dist/structure.recipes-EPz60cU8.js.map +1 -0
- package/dist/style.css +1 -1
- package/dist/surface-recipes-DOdoBXGm.js +28 -0
- package/dist/surface-recipes-DOdoBXGm.js.map +1 -0
- package/dist/table-D6zKeYQX.js +162 -0
- package/dist/table-D6zKeYQX.js.map +1 -0
- package/dist/{table-CcRDZiLP.js → table-Dn4XSrSB.js} +348 -348
- package/dist/table-Dn4XSrSB.js.map +1 -0
- package/dist/{tabs-BNgu7g0u.js → tabs-Dk8E_knt.js} +14 -13
- package/dist/tabs-Dk8E_knt.js.map +1 -0
- package/dist/{text-inputs-DsR56TR-.js → text-inputs-BFpku0Qd.js} +150 -149
- package/dist/text-inputs-BFpku0Qd.js.map +1 -0
- package/dist/{text.styles-Q4sGAIgA.js → text.styles-g4He6UIW.js} +17 -14
- package/dist/text.styles-g4He6UIW.js.map +1 -0
- package/dist/theme.css +16 -12
- package/dist/themes/green.css +24 -0
- package/dist/{timelines-D1pkt3se.js → timelines-CxuAFIc2.js} +25 -38
- package/dist/timelines-CxuAFIc2.js.map +1 -0
- package/dist/track-recipes-CDcKmndW.js +10 -0
- package/dist/track-recipes-CDcKmndW.js.map +1 -0
- package/dist/{tree-BtmYyMZV.js → tree-BotPlyiD.js} +13 -13
- package/dist/{tree-BtmYyMZV.js.map → tree-BotPlyiD.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/typography-CAr3dQhX.js +116 -0
- package/dist/typography-CAr3dQhX.js.map +1 -0
- package/dist/typography.js +2 -2
- package/dist/{ui-provider-DRPn3qNl.js → ui-provider-D2_TeLqw.js} +20 -21
- package/dist/ui-provider-D2_TeLqw.js.map +1 -0
- package/dist/ui-provider.js +1 -1
- package/dist/{upload-CDbYw1WN.js → upload-B0WHW7ak.js} +221 -220
- package/dist/upload-B0WHW7ak.js.map +1 -0
- package/dist/{upload-queue-CNd_hH_a.js → upload-queue-BHZ_wBfd.js} +59 -62
- package/dist/upload-queue-BHZ_wBfd.js.map +1 -0
- package/dist/{usage-card-VyJLUwRr.js → usage-card-U0YBLTNT.js} +42 -43
- package/dist/{usage-card-VyJLUwRr.js.map → usage-card-U0YBLTNT.js.map} +1 -1
- package/dist/{utils-BvH9PSmq.js → utils-Cospvlj1.js} +221 -51
- package/dist/utils-Cospvlj1.js.map +1 -0
- package/dist/value-inputs-CjfzGMsN.js +854 -0
- package/dist/value-inputs-CjfzGMsN.js.map +1 -0
- package/dist/value-typography-Deb3yQZg.js +116 -0
- package/dist/value-typography-Deb3yQZg.js.map +1 -0
- package/dist/{workspace-CcR8r-Nt.js → workspace-YoFjXi6i.js} +44 -45
- package/dist/workspace-YoFjXi6i.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +51 -38
- package/docs/consumer-skill/examples/app-layout.tsx +2 -4
- package/docs/consumer-skill/examples/detail.tsx +3 -4
- package/docs/consumer-skill/examples/edit.tsx +1 -1
- package/docs/consumer-skill/examples/layout-blocks.tsx +20 -0
- package/docs/consumer-skill/examples/manifest.json +28 -6
- package/docs/consumer-skill/examples/scoped-directory.tsx +2 -2
- package/docs/consumer-skill/references/composition.md +89 -17
- package/docs/consumer-skill/references/discovery.md +4 -0
- package/docs/consumer-skill/references/installation.md +22 -0
- package/docs/consumer-skill/references/integration.md +32 -1
- package/docs/consumer-skill/references/public-api.json +111 -70
- package/docs/consumer-skill/references/review.md +20 -4
- package/docs/consumer-skill/references/theming.md +7 -1
- package/docs/consumer-skill/references/tokens.json +5 -2
- package/docs/consumer-skill/references/workflows.md +4 -2
- package/docs/consumer-skill/scripts/composition-policy.mjs +93 -2
- package/docs/consumer-skill/scripts/discovery.mjs +11 -3
- package/docs/consumer-skill/scripts/pin-button-defaults.mjs +95 -0
- package/package.json +5 -3
- package/dist/accordion-BRTcsp8J.js.map +0 -1
- package/dist/action-menu-Drxw_vJk.js +0 -265
- package/dist/action-menu-Drxw_vJk.js.map +0 -1
- package/dist/affordance-geometry.generated-CL84ZN9A.js.map +0 -1
- package/dist/ai-artifact-DLVdK0Py.js.map +0 -1
- package/dist/avatar-Bu2HhitA.js.map +0 -1
- package/dist/badge-CzId1Wlm.js.map +0 -1
- package/dist/button-BZDasD04.js.map +0 -1
- package/dist/buttons-D_6KJvEE.js.map +0 -1
- package/dist/chart-Bsc5BICK.js.map +0 -1
- package/dist/checkbox-BQNDjUCh.js +0 -34
- package/dist/checkbox-BQNDjUCh.js.map +0 -1
- package/dist/choice-inputs-Mk3iWbhr.js +0 -725
- package/dist/choice-inputs-Mk3iWbhr.js.map +0 -1
- package/dist/combobox-BFnbJJp3.js.map +0 -1
- package/dist/combobox-hozNwUcc.js.map +0 -1
- package/dist/command-BnmSchli.js.map +0 -1
- package/dist/comments-u5L0OGip.js.map +0 -1
- package/dist/data-display-Bihs9Ven.js.map +0 -1
- package/dist/date-DOKhJPu7.js +0 -140
- package/dist/date-DOKhJPu7.js.map +0 -1
- package/dist/date-picker-DzP5HQq7.js +0 -1541
- package/dist/date-picker-DzP5HQq7.js.map +0 -1
- package/dist/date-pickers-BpgGz7S-.js +0 -196
- package/dist/date-pickers-BpgGz7S-.js.map +0 -1
- package/dist/display-CS6Hbk18.js.map +0 -1
- package/dist/dropdown-menu-D-boNgGO.js.map +0 -1
- package/dist/feedback-CJkUAapr.js.map +0 -1
- package/dist/field-affordance-recipes-uKY4MsZ_.js +0 -25
- package/dist/field-affordance-recipes-uKY4MsZ_.js.map +0 -1
- package/dist/field-state-recipes-DQQpiLWC.js.map +0 -1
- package/dist/filters-D6FF8L6s.js.map +0 -1
- package/dist/form-sizing-QP8aIRaW.js +0 -103
- package/dist/form-sizing-QP8aIRaW.js.map +0 -1
- package/dist/format-iamDSqs2.js +0 -110
- package/dist/format-iamDSqs2.js.map +0 -1
- package/dist/forms-B5NCbkSC.js.map +0 -1
- package/dist/forms-numeric-Crrm80Lm.js +0 -867
- package/dist/forms-numeric-Crrm80Lm.js.map +0 -1
- package/dist/header-kxruN3RM.js.map +0 -1
- package/dist/input-SX9V0AL3.js +0 -255
- package/dist/item-DE4YnuJx.js +0 -258
- package/dist/item-DE4YnuJx.js.map +0 -1
- package/dist/media-gallery-DLp3HAz0.js.map +0 -1
- package/dist/navigation-DnQSNMT0.js.map +0 -1
- package/dist/navigation-DyytsLRB.js.map +0 -1
- package/dist/number-DasMFWEG.js +0 -269
- package/dist/number-DasMFWEG.js.map +0 -1
- package/dist/overlay.recipes-BxW5FIfK.js +0 -6
- package/dist/overlay.recipes-BxW5FIfK.js.map +0 -1
- package/dist/overlays-DUbs1KEi.js +0 -1011
- package/dist/overlays-DUbs1KEi.js.map +0 -1
- package/dist/page-hGmT4nWK.js +0 -213
- package/dist/page-hGmT4nWK.js.map +0 -1
- package/dist/page-header-D8nERkn5.js.map +0 -1
- package/dist/primitives-C7ff0QaI.js +0 -337
- package/dist/primitives-C7ff0QaI.js.map +0 -1
- package/dist/progress-BroqrAyV.js.map +0 -1
- package/dist/scroll-area-D-pIhEKl.js.map +0 -1
- package/dist/separator-BNIgG3au.js.map +0 -1
- package/dist/settings-DOTOzeZ2.js.map +0 -1
- package/dist/sheet-BFhrNehm.js +0 -205
- package/dist/sheet-BFhrNehm.js.map +0 -1
- package/dist/sidebar-CyR4XKwR.js.map +0 -1
- package/dist/sidebar-SvGJ0Zwi.js +0 -506
- package/dist/sidebar-SvGJ0Zwi.js.map +0 -1
- package/dist/smart-card-DjGVV2xr.js.map +0 -1
- package/dist/spinner-Cpf7oRkF.js.map +0 -1
- package/dist/structure.recipes-Bqhf9oIh.js.map +0 -1
- package/dist/surface-recipes-Dd__PD-w.js +0 -28
- package/dist/surface-recipes-Dd__PD-w.js.map +0 -1
- package/dist/table-CLtJTxoR.js +0 -147
- package/dist/table-CLtJTxoR.js.map +0 -1
- package/dist/table-CcRDZiLP.js.map +0 -1
- package/dist/tabs-BNgu7g0u.js.map +0 -1
- package/dist/text-inputs-DsR56TR-.js.map +0 -1
- package/dist/text.styles-Q4sGAIgA.js.map +0 -1
- package/dist/timelines-D1pkt3se.js.map +0 -1
- package/dist/track-recipes-LLPNVwFg.js +0 -10
- package/dist/track-recipes-LLPNVwFg.js.map +0 -1
- package/dist/typography-BxQgiZyw.js +0 -96
- package/dist/typography-BxQgiZyw.js.map +0 -1
- package/dist/ui-provider-DRPn3qNl.js.map +0 -1
- package/dist/upload-CDbYw1WN.js.map +0 -1
- package/dist/upload-queue-CNd_hH_a.js.map +0 -1
- package/dist/utils-BvH9PSmq.js.map +0 -1
- package/dist/value-inputs-D0KCrfVC.js +0 -840
- package/dist/value-inputs-D0KCrfVC.js.map +0 -1
- package/dist/workspace-CcR8r-Nt.js.map +0 -1
package/dist/number-DasMFWEG.js
DELETED
|
@@ -1,269 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { c as e, u as t } from "./ui-provider-DRPn3qNl.js";
|
|
3
|
-
import { t as n } from "./utils-BvH9PSmq.js";
|
|
4
|
-
import { a as r } from "./typography-BxQgiZyw.js";
|
|
5
|
-
import "react";
|
|
6
|
-
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
7
|
-
//#region src/components/primitives/money.tsx
|
|
8
|
-
function o(e) {
|
|
9
|
-
let t = e.trim();
|
|
10
|
-
if (!t) return "";
|
|
11
|
-
let n = t.lastIndexOf(","), r = t.lastIndexOf(".");
|
|
12
|
-
if (n >= 0 && r >= 0) {
|
|
13
|
-
let e = n > r ? "," : ".", i = e === "," ? "." : ",";
|
|
14
|
-
return t.replace(RegExp(`\\${i}`, "g"), "").replace(e, ".");
|
|
15
|
-
}
|
|
16
|
-
if (n >= 0) {
|
|
17
|
-
let [e, n = ""] = t.split(",");
|
|
18
|
-
return n.length > 0 && n.length <= 2 ? `${e.replace(/,/g, "")}.${n}` : t.replace(/,/g, "");
|
|
19
|
-
}
|
|
20
|
-
if (r >= 0) {
|
|
21
|
-
let [e, n = ""] = t.split(".");
|
|
22
|
-
if (n.length === 3 && e.length > 0) return t.replace(/\./g, "");
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
}
|
|
26
|
-
function s(e) {
|
|
27
|
-
if (e == null || e === "") return null;
|
|
28
|
-
if (typeof e == "number") return Number.isFinite(e) ? e : null;
|
|
29
|
-
let t = Number.parseFloat(o(e));
|
|
30
|
-
return Number.isFinite(t) ? t : null;
|
|
31
|
-
}
|
|
32
|
-
function c(e, t) {
|
|
33
|
-
return e === void 0 || !Number.isFinite(e) ? t : Math.min(100, Math.max(0, Math.trunc(e)));
|
|
34
|
-
}
|
|
35
|
-
function l(e, t, n = {
|
|
36
|
-
minimumFractionDigits: 2,
|
|
37
|
-
maximumFractionDigits: 2
|
|
38
|
-
}) {
|
|
39
|
-
let r = c(t, n.maximumFractionDigits), i = c(e, Math.min(n.minimumFractionDigits, r));
|
|
40
|
-
return {
|
|
41
|
-
minimumFractionDigits: i,
|
|
42
|
-
maximumFractionDigits: Math.max(i, r)
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
function u(e, t) {
|
|
46
|
-
if (!e) return {
|
|
47
|
-
minimumFractionDigits: 2,
|
|
48
|
-
maximumFractionDigits: 2
|
|
49
|
-
};
|
|
50
|
-
try {
|
|
51
|
-
let n = new Intl.NumberFormat(t, {
|
|
52
|
-
style: "currency",
|
|
53
|
-
currency: e
|
|
54
|
-
}).resolvedOptions();
|
|
55
|
-
return {
|
|
56
|
-
minimumFractionDigits: n.minimumFractionDigits ?? 2,
|
|
57
|
-
maximumFractionDigits: n.maximumFractionDigits ?? 2
|
|
58
|
-
};
|
|
59
|
-
} catch {
|
|
60
|
-
return {
|
|
61
|
-
minimumFractionDigits: 2,
|
|
62
|
-
maximumFractionDigits: 2
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
function d(e) {
|
|
67
|
-
return e === void 0 || !Number.isFinite(e) || e <= 0 ? 100 : e;
|
|
68
|
-
}
|
|
69
|
-
function f(e) {
|
|
70
|
-
let t = s(e.amount);
|
|
71
|
-
return t === null ? null : e.unit === "minor" ? t / d(e.minorUnitScale) : t;
|
|
72
|
-
}
|
|
73
|
-
function p(e, t, n) {
|
|
74
|
-
return e.formatToParts(t).map((e) => e.type === "currency" ? n : e.value).join("");
|
|
75
|
-
}
|
|
76
|
-
function m({ amount: e, currency: t, locale: n, currencyDisplay: r = "symbol", minimumFractionDigits: i, maximumFractionDigits: a, formatMode: o, symbol: c }) {
|
|
77
|
-
let d = s(e);
|
|
78
|
-
if (d === null) return null;
|
|
79
|
-
let f = t ?? "", m = l(i, a, u(f, n));
|
|
80
|
-
if (o === "decimal" || !f) return new Intl.NumberFormat(n, m).format(d);
|
|
81
|
-
if (o === "with_code") return `${new Intl.NumberFormat(n, m).format(d)} ${f}`.trim();
|
|
82
|
-
try {
|
|
83
|
-
let e = new Intl.NumberFormat(n, {
|
|
84
|
-
...m,
|
|
85
|
-
style: "currency",
|
|
86
|
-
currency: f,
|
|
87
|
-
currencyDisplay: r
|
|
88
|
-
});
|
|
89
|
-
return c ? p(e, d, c) : e.format(d);
|
|
90
|
-
} catch {
|
|
91
|
-
let e = new Intl.NumberFormat(n, m).format(d);
|
|
92
|
-
return c ? `${c}${e}` : `${e} ${f}`.trim();
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
function h(e) {
|
|
96
|
-
return e === "left" ? {
|
|
97
|
-
text: "text-left",
|
|
98
|
-
justify: "justify-start"
|
|
99
|
-
} : e === "center" ? {
|
|
100
|
-
text: "text-center",
|
|
101
|
-
justify: "justify-center"
|
|
102
|
-
} : {
|
|
103
|
-
text: "text-right",
|
|
104
|
-
justify: "justify-end"
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
function g({ amount: o, currency: s, unit: c = "major", minorUnitScale: l, symbol: u, locale: d, currencyDisplay: p, minimumFractionDigits: g, maximumFractionDigits: _, formatMode: v, emptyLabel: y = "—", size: b, align: x = "right", weight: S = "medium", type: C = "main", tag: w = "span", lineHeight: T = "normal", numeric: E, secondary: D, displayMode: O, layout: k, secondaryEmphasis: A = "discrete", separator: j = "·", className: M, ref: N, ...P }) {
|
|
108
|
-
let F = e(), I = t(), L = s ?? I.defaultCurrency ?? "USD", R = f({
|
|
109
|
-
amount: o,
|
|
110
|
-
unit: c,
|
|
111
|
-
minorUnitScale: l
|
|
112
|
-
}), z = R === null ? null : m({
|
|
113
|
-
amount: R,
|
|
114
|
-
currency: L,
|
|
115
|
-
symbol: u,
|
|
116
|
-
locale: d ?? F.locale,
|
|
117
|
-
currencyDisplay: p,
|
|
118
|
-
minimumFractionDigits: g,
|
|
119
|
-
maximumFractionDigits: _,
|
|
120
|
-
formatMode: v ?? I.formatMode ?? "with_code"
|
|
121
|
-
});
|
|
122
|
-
if (z === null) return /* @__PURE__ */ i(r, {
|
|
123
|
-
ref: N,
|
|
124
|
-
tag: w,
|
|
125
|
-
size: b,
|
|
126
|
-
align: x,
|
|
127
|
-
weight: S,
|
|
128
|
-
type: "secondary",
|
|
129
|
-
lineHeight: T,
|
|
130
|
-
numeric: E,
|
|
131
|
-
className: n("money--component inline tabular-nums", M),
|
|
132
|
-
...P,
|
|
133
|
-
children: y
|
|
134
|
-
});
|
|
135
|
-
let B = D ? f(D) : null, V = D?.currency ?? I.displayCurrency ?? L, H = O ?? (I.dualPricingEnabled ? I.displayMode : void 0) ?? "dual";
|
|
136
|
-
if (B === null || A === "hidden" || H === "default_only" || H === "dynamic" && V === L || !D) return /* @__PURE__ */ i(r, {
|
|
137
|
-
ref: N,
|
|
138
|
-
tag: w,
|
|
139
|
-
size: b,
|
|
140
|
-
align: x,
|
|
141
|
-
weight: S,
|
|
142
|
-
type: C,
|
|
143
|
-
lineHeight: T,
|
|
144
|
-
numeric: E,
|
|
145
|
-
className: n("money--component inline whitespace-nowrap tabular-nums", M),
|
|
146
|
-
...P,
|
|
147
|
-
children: z
|
|
148
|
-
});
|
|
149
|
-
let U = m({
|
|
150
|
-
amount: B,
|
|
151
|
-
currency: V,
|
|
152
|
-
symbol: D.symbol,
|
|
153
|
-
locale: d ?? F.locale,
|
|
154
|
-
currencyDisplay: D.currencyDisplay ?? p,
|
|
155
|
-
minimumFractionDigits: D.minimumFractionDigits ?? g,
|
|
156
|
-
maximumFractionDigits: D.maximumFractionDigits ?? _,
|
|
157
|
-
formatMode: D.formatMode ?? v ?? I.formatMode ?? "with_code"
|
|
158
|
-
}), W = k ?? (I.dualPricingDisplay === "inline" ? "inline" : "stacked"), G = A === "match" ? b : A === "muted" ? "xs" : "xxs", K = A === "match" ? C : A === "muted" ? "secondary" : "discrete", q = h(x);
|
|
159
|
-
return W === "inline" ? /* @__PURE__ */ a(r, {
|
|
160
|
-
ref: N,
|
|
161
|
-
tag: w,
|
|
162
|
-
size: b,
|
|
163
|
-
align: x,
|
|
164
|
-
type: C,
|
|
165
|
-
lineHeight: T,
|
|
166
|
-
numeric: E,
|
|
167
|
-
className: n("money--component money--inline inline-flex items-baseline gap-space-xs whitespace-nowrap tabular-nums", q.justify, M),
|
|
168
|
-
...P,
|
|
169
|
-
children: [
|
|
170
|
-
/* @__PURE__ */ i(r, {
|
|
171
|
-
tag: "span",
|
|
172
|
-
size: b,
|
|
173
|
-
weight: S,
|
|
174
|
-
type: C,
|
|
175
|
-
className: "money--primary",
|
|
176
|
-
children: z
|
|
177
|
-
}),
|
|
178
|
-
/* @__PURE__ */ i("span", {
|
|
179
|
-
className: "money--separator inline-flex shrink-0 items-center text-muted-foreground",
|
|
180
|
-
"aria-hidden": "true",
|
|
181
|
-
children: j
|
|
182
|
-
}),
|
|
183
|
-
/* @__PURE__ */ i(r, {
|
|
184
|
-
tag: "span",
|
|
185
|
-
size: G,
|
|
186
|
-
weight: A === "match" ? S : "regular",
|
|
187
|
-
type: K,
|
|
188
|
-
className: "money--secondary",
|
|
189
|
-
children: U
|
|
190
|
-
})
|
|
191
|
-
]
|
|
192
|
-
}) : /* @__PURE__ */ a(r, {
|
|
193
|
-
ref: N,
|
|
194
|
-
tag: w,
|
|
195
|
-
size: b,
|
|
196
|
-
align: x,
|
|
197
|
-
type: C,
|
|
198
|
-
lineHeight: T,
|
|
199
|
-
numeric: E,
|
|
200
|
-
className: n("money--component money--stacked inline-flex flex-col whitespace-nowrap tabular-nums leading-tight", q.text, M),
|
|
201
|
-
...P,
|
|
202
|
-
children: [/* @__PURE__ */ i(r, {
|
|
203
|
-
tag: "span",
|
|
204
|
-
size: b,
|
|
205
|
-
align: x,
|
|
206
|
-
weight: S,
|
|
207
|
-
type: C,
|
|
208
|
-
lineHeight: "tight",
|
|
209
|
-
className: "money--primary",
|
|
210
|
-
children: z
|
|
211
|
-
}), /* @__PURE__ */ i(r, {
|
|
212
|
-
tag: "span",
|
|
213
|
-
size: G,
|
|
214
|
-
align: x,
|
|
215
|
-
weight: A === "match" ? S : "regular",
|
|
216
|
-
type: K,
|
|
217
|
-
lineHeight: "tight",
|
|
218
|
-
className: "money--secondary",
|
|
219
|
-
children: U
|
|
220
|
-
})]
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
//#endregion
|
|
224
|
-
//#region src/components/primitives/number.tsx
|
|
225
|
-
function _(e) {
|
|
226
|
-
if (e == null || e === "") return null;
|
|
227
|
-
let t = typeof e == "number" ? e : globalThis.Number.parseFloat(e);
|
|
228
|
-
return globalThis.Number.isFinite(t) ? t : null;
|
|
229
|
-
}
|
|
230
|
-
function v(e, t, n) {
|
|
231
|
-
let r = _(e);
|
|
232
|
-
return r === null ? null : new Intl.NumberFormat(t, n).format(r);
|
|
233
|
-
}
|
|
234
|
-
function y({ value: t, locale: a, options: o, emptyLabel: s = "—", size: c, align: l = "right", weight: u = "regular", type: d = "main", className: f, ref: p, ...m }) {
|
|
235
|
-
let h = e(), g = v(t, a ?? h.locale, o);
|
|
236
|
-
return /* @__PURE__ */ i(r, {
|
|
237
|
-
ref: p,
|
|
238
|
-
tag: "span",
|
|
239
|
-
size: c,
|
|
240
|
-
align: l,
|
|
241
|
-
weight: u,
|
|
242
|
-
type: g === null ? "secondary" : d,
|
|
243
|
-
className: n("number--component inline tabular-nums", f),
|
|
244
|
-
...m,
|
|
245
|
-
children: g ?? s
|
|
246
|
-
});
|
|
247
|
-
}
|
|
248
|
-
function b({ value: t, locale: a, scaled: o = !1, options: s, emptyLabel: c = "—", size: l, align: u = "right", weight: d = "regular", type: f = "main", className: p, ref: m, ...h }) {
|
|
249
|
-
let g = e(), v = _(t), y = v === null ? null : new Intl.NumberFormat(a ?? g.locale, {
|
|
250
|
-
style: "percent",
|
|
251
|
-
maximumFractionDigits: 1,
|
|
252
|
-
...s
|
|
253
|
-
}).format(o ? v / 100 : v);
|
|
254
|
-
return /* @__PURE__ */ i(r, {
|
|
255
|
-
ref: m,
|
|
256
|
-
tag: "span",
|
|
257
|
-
size: l,
|
|
258
|
-
align: u,
|
|
259
|
-
weight: d,
|
|
260
|
-
type: y === null ? "secondary" : f,
|
|
261
|
-
className: n("percent--component inline tabular-nums", p),
|
|
262
|
-
...h,
|
|
263
|
-
children: y ?? c
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
//#endregion
|
|
267
|
-
export { b as n, g as r, y as t };
|
|
268
|
-
|
|
269
|
-
//# sourceMappingURL=number-DasMFWEG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"number-DasMFWEG.js","names":["Number","useFormattingConfig","useMoneyConfig","cn","Text","normalizeDecimalString","trimmed","value","comma","dot","decimalSeparator","groupingSeparator","head","tail","parseMoneyAmount","amount","parsed","normalizeFractionDigits","fallback","resolveFractionDigits","normalizedMaximum","maximumFractionDigits","normalizedMinimum","minimumFractionDigits","resolveCurrencyFractionDigits","currency","resolved","locale","normalizeMinorUnitScale","resolveMajorAmount","replaceCurrencyPart","formatter","part","symbol","formatMoneyAmount","resolvedCurrency","numberOptions","formatMode","formattedNumber","getAlignmentClasses","align","Money","props","formatting","money","primaryAmount","primaryLabel","className","emptyLabel","secondaryAmount","secondary","resolvedSecondaryCurrency","resolvedDisplayMode","displayMode","secondaryEmphasis","secondaryLabel","currencyDisplay","resolvedLayout","layout","secondarySize","size","secondaryType","type","alignment","separator","weight","parseNumericValue","renderNumberLabel","options","Number$1","label","Percent","scaled"],"sources":["../src/components/primitives/money.tsx","../src/components/primitives/number.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from 'react';\n\nimport { Text, type TextProps } from '../typography';\nimport type { TextSize } from '../../lib/ui-provider';\nimport { EMPTY } from '../../lib/format';\nimport {\n\tuseFormattingConfig,\n\tuseMoneyConfig,\n\ttype MoneyDisplayMode,\n\ttype MoneyFormatMode,\n} from '../../lib/ui-provider';\nimport { cn } from '../../lib/utils';\n\ntype SpanProps = Omit<ComponentPropsWithoutRef<'span'>, 'children' | 'color'>;\n\nexport type MoneyUnit = 'major' | 'minor';\nexport type MoneyLayout = 'inline' | 'stacked';\nexport type MoneySecondaryEmphasis = 'discrete' | 'muted' | 'match' | 'hidden';\n\n/** A secondary monetary value rendered by the canonical `<Money>` primitive. */\nexport interface MoneyValue {\n\t/** Numeric amount or an unformatted decimal string. */\n\tamount?: number | string | null;\n\t/** ISO 4217 currency code. Falls back to `UIProvider.money.defaultCurrency`. */\n\tcurrency?: string | null;\n\t/** Unit of the incoming amount. `minor` converts cents/pence before formatting. */\n\tunit?: MoneyUnit;\n\t/** Number of minor units in one major unit. Defaults to 100. */\n\tminorUnitScale?: number;\n\t/** Optional consumer-resolved symbol. Intl placement is preserved. */\n\tsymbol?: string | null;\n\t/** Intl currency label style when the resolved format mode uses currency formatting. */\n\tcurrencyDisplay?: Intl.NumberFormatOptions['currencyDisplay'];\n\t/** Minimum decimal digits. Defaults to the currency's Intl convention. */\n\tminimumFractionDigits?: number;\n\t/** Maximum decimal digits. Defaults to the currency's Intl convention. */\n\tmaximumFractionDigits?: number;\n\t/** Per-value override for the UIProvider money format policy. */\n\tformatMode?: MoneyFormatMode;\n}\n\nexport interface MoneyProps extends SpanProps, MoneyValue {\n\t/** Ref to the semantic root selected by `tag`. */\n\tref?: Ref<HTMLElement>;\n\t/** BCP-47 locale override. Falls back to `UIProvider.formatting.locale`. */\n\tlocale?: string;\n\t/** Content rendered when the amount is absent or cannot be parsed. */\n\temptyLabel?: ReactNode;\n\t/** Typography size for both primary and secondary monetary values. */\n\tsize?: TextSize;\n\t/** Inline text alignment. Defaults to right alignment for numeric scanning. */\n\talign?: TextProps['align'];\n\t/** Typography weight for the primary value. */\n\tweight?: TextProps['weight'];\n\t/** Primary or secondary semantic text tone. */\n\ttype?: TextProps['type'];\n\t/** Semantic root element used by the typography primitive. */\n\ttag?: TextProps['tag'];\n\t/** Line-height preset applied to the root value. */\n\tlineHeight?: TextProps['lineHeight'];\n\t/** Applies the typography primitive's monospace numeric treatment. */\n\tnumeric?: TextProps['numeric'];\n\t/**\n\t * Optional converted/display value. Passing it is an explicit request to\n\t * render both values unless `displayMode=\"default_only\"` or\n\t * `secondaryEmphasis=\"hidden\"` is set.\n\t */\n\tsecondary?: MoneyValue | null;\n\t/**\n\t * Controls whether the secondary value is visible. `dynamic` shows it only\n\t * when the two currency codes differ. When omitted, an explicitly supplied\n\t * `secondary` renders; an enabled UIProvider money policy can narrow it.\n\t */\n\tdisplayMode?: MoneyDisplayMode;\n\t/** Pair layout. Falls back to the UIProvider `dualPricingDisplay` policy. */\n\tlayout?: MoneyLayout;\n\t/** Visual prominence of a secondary value. */\n\tsecondaryEmphasis?: MoneySecondaryEmphasis;\n\t/** Inline separator. Defaults to a quiet middle dot; pass an arrow for conversion flows. */\n\tseparator?: ReactNode;\n}\n\nfunction normalizeDecimalString(value: string) {\n\tconst trimmed = value.trim();\n\tif (!trimmed) return '';\n\n\tconst comma = trimmed.lastIndexOf(',');\n\tconst dot = trimmed.lastIndexOf('.');\n\n\tif (comma >= 0 && dot >= 0) {\n\t\tconst decimalSeparator = comma > dot ? ',' : '.';\n\t\tconst groupingSeparator = decimalSeparator === ',' ? '.' : ',';\n\t\treturn trimmed\n\t\t\t.replace(new RegExp(`\\\\${groupingSeparator}`, 'g'), '')\n\t\t\t.replace(decimalSeparator, '.');\n\t}\n\n\tif (comma >= 0) {\n\t\tconst [head, tail = ''] = trimmed.split(',');\n\t\tif (tail.length > 0 && tail.length <= 2) return `${head.replace(/,/g, '')}.${tail}`;\n\t\treturn trimmed.replace(/,/g, '');\n\t}\n\n\tif (dot >= 0) {\n\t\tconst [head, tail = ''] = trimmed.split('.');\n\t\tif (tail.length === 3 && head.length > 0) return trimmed.replace(/\\./g, '');\n\t}\n\n\treturn trimmed;\n}\n\nfunction parseMoneyAmount(amount: MoneyValue['amount']): number | null {\n\tif (amount === null || amount === undefined || amount === '') return null;\n\tif (typeof amount === 'number') return Number.isFinite(amount) ? amount : null;\n\tconst parsed = Number.parseFloat(normalizeDecimalString(amount));\n\treturn Number.isFinite(parsed) ? parsed : null;\n}\n\nfunction normalizeFractionDigits(value: number | undefined, fallback: number) {\n\tif (value === undefined || !Number.isFinite(value)) return fallback;\n\treturn Math.min(100, Math.max(0, Math.trunc(value)));\n}\n\nfunction resolveFractionDigits(\n\tminimumFractionDigits?: number,\n\tmaximumFractionDigits?: number,\n\tfallback = { minimumFractionDigits: 2, maximumFractionDigits: 2 },\n) {\n\tconst normalizedMaximum = normalizeFractionDigits(\n\t\tmaximumFractionDigits,\n\t\tfallback.maximumFractionDigits,\n\t);\n\tconst normalizedMinimum = normalizeFractionDigits(\n\t\tminimumFractionDigits,\n\t\tMath.min(fallback.minimumFractionDigits, normalizedMaximum),\n\t);\n\n\treturn {\n\t\tminimumFractionDigits: normalizedMinimum,\n\t\tmaximumFractionDigits: Math.max(normalizedMinimum, normalizedMaximum),\n\t};\n}\n\nfunction resolveCurrencyFractionDigits(currency: string, locale?: string) {\n\tif (!currency) return { minimumFractionDigits: 2, maximumFractionDigits: 2 };\n\ttry {\n\t\tconst resolved = new Intl.NumberFormat(locale, {\n\t\t\tstyle: 'currency',\n\t\t\tcurrency,\n\t\t}).resolvedOptions();\n\t\treturn {\n\t\t\tminimumFractionDigits: resolved.minimumFractionDigits ?? 2,\n\t\t\tmaximumFractionDigits: resolved.maximumFractionDigits ?? 2,\n\t\t};\n\t} catch {\n\t\treturn { minimumFractionDigits: 2, maximumFractionDigits: 2 };\n\t}\n}\n\nfunction normalizeMinorUnitScale(value: number | undefined) {\n\tif (value === undefined || !Number.isFinite(value) || value <= 0) return 100;\n\treturn value;\n}\n\nfunction resolveMajorAmount(value: MoneyValue): number | null {\n\tconst parsed = parseMoneyAmount(value.amount);\n\tif (parsed === null) return null;\n\treturn value.unit === 'minor'\n\t\t? parsed / normalizeMinorUnitScale(value.minorUnitScale)\n\t\t: parsed;\n}\n\nfunction replaceCurrencyPart(\n\tformatter: Intl.NumberFormat,\n\tvalue: number,\n\tsymbol: string,\n) {\n\treturn formatter\n\t\t.formatToParts(value)\n\t\t.map((part) => part.type === 'currency' ? symbol : part.value)\n\t\t.join('');\n}\n\nfunction formatMoneyAmount({\n\tamount,\n\tcurrency,\n\tlocale,\n\tcurrencyDisplay = 'symbol',\n\tminimumFractionDigits,\n\tmaximumFractionDigits,\n\tformatMode,\n\tsymbol,\n}: Required<Pick<MoneyValue, 'amount'>> &\n\tPick<\n\t\tMoneyValue,\n\t\t'currency' | 'currencyDisplay' | 'minimumFractionDigits' | 'maximumFractionDigits' | 'formatMode' | 'symbol'\n\t> & { locale?: string }) {\n\tconst value = parseMoneyAmount(amount);\n\tif (value === null) return null;\n\n\tconst resolvedCurrency = currency ?? '';\n\tconst numberOptions: Intl.NumberFormatOptions = resolveFractionDigits(\n\t\tminimumFractionDigits,\n\t\tmaximumFractionDigits,\n\t\tresolveCurrencyFractionDigits(resolvedCurrency, locale),\n\t);\n\n\tif (formatMode === 'decimal' || !resolvedCurrency) {\n\t\treturn new Intl.NumberFormat(locale, numberOptions).format(value);\n\t}\n\n\tif (formatMode === 'with_code') {\n\t\treturn `${new Intl.NumberFormat(locale, numberOptions).format(value)} ${resolvedCurrency}`.trim();\n\t}\n\n\ttry {\n\t\tconst formatter = new Intl.NumberFormat(locale, {\n\t\t\t...numberOptions,\n\t\t\tstyle: 'currency',\n\t\t\tcurrency: resolvedCurrency,\n\t\t\tcurrencyDisplay,\n\t\t});\n\t\treturn symbol\n\t\t\t? replaceCurrencyPart(formatter, value, symbol)\n\t\t\t: formatter.format(value);\n\t} catch {\n\t\tconst formattedNumber = new Intl.NumberFormat(locale, numberOptions).format(value);\n\t\treturn symbol\n\t\t\t? `${symbol}${formattedNumber}`\n\t\t\t: `${formattedNumber} ${resolvedCurrency}`.trim();\n\t}\n}\n\nfunction getAlignmentClasses(align: TextProps['align']) {\n\tif (align === 'left') return { text: 'text-left', justify: 'justify-start' };\n\tif (align === 'center') return { text: 'text-center', justify: 'justify-center' };\n\treturn { text: 'text-right', justify: 'justify-end' };\n}\n\n/**\n * Canonical monetary display primitive.\n *\n * It owns major/minor-unit conversion, locale-aware formatting, empty values,\n * and optional inline/stacked dual-currency display. Consumers should use\n * this component instead of composing separate money-display or currency-pair\n * wrappers.\n */\nexport function Money({\n\tamount,\n\tcurrency,\n\tunit = 'major',\n\tminorUnitScale,\n\tsymbol,\n\tlocale,\n\tcurrencyDisplay,\n\tminimumFractionDigits,\n\tmaximumFractionDigits,\n\tformatMode,\n\temptyLabel = EMPTY,\n\tsize,\n\talign = 'right',\n\tweight = 'medium',\n\ttype = 'main',\n\ttag = 'span',\n\tlineHeight = 'normal',\n\tnumeric,\n\tsecondary,\n\tdisplayMode,\n\tlayout,\n\tsecondaryEmphasis = 'discrete',\n\tseparator = '·',\n\tclassName,\n\tref,\n\t...props\n}: MoneyProps) {\n\tconst formatting = useFormattingConfig();\n\tconst money = useMoneyConfig();\n\tconst resolvedCurrency = currency ?? money.defaultCurrency ?? 'USD';\n\tconst primaryAmount = resolveMajorAmount({ amount, unit, minorUnitScale });\n\tconst primaryLabel = primaryAmount === null\n\t\t? null\n\t\t: formatMoneyAmount({\n\t\t\t\tamount: primaryAmount,\n\t\t\t\tcurrency: resolvedCurrency,\n\t\t\t\tsymbol,\n\t\t\t\tlocale: locale ?? formatting.locale,\n\t\t\t\tcurrencyDisplay,\n\t\t\t\tminimumFractionDigits,\n\t\t\t\tmaximumFractionDigits,\n\t\t\t\tformatMode: formatMode ?? money.formatMode ?? 'with_code',\n\t\t\t});\n\n\tif (primaryLabel === null) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tref={ref}\n\t\t\t\ttag={tag}\n\t\t\t\tsize={size}\n\t\t\t\talign={align}\n\t\t\t\tweight={weight}\n\t\t\t\ttype=\"secondary\"\n\t\t\t\tlineHeight={lineHeight}\n\t\t\t\tnumeric={numeric}\n\t\t\t\tclassName={cn('money--component inline tabular-nums', className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{emptyLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tconst secondaryAmount = secondary ? resolveMajorAmount(secondary) : null;\n\tconst resolvedSecondaryCurrency = secondary?.currency ?? money.displayCurrency ?? resolvedCurrency;\n\tconst resolvedDisplayMode = displayMode\n\t\t?? (money.dualPricingEnabled ? money.displayMode : undefined)\n\t\t?? 'dual';\n\tconst hasDifferentCurrencies = resolvedSecondaryCurrency !== resolvedCurrency;\n\tconst shouldRenderSecondary = secondaryAmount !== null\n\t\t&& secondaryEmphasis !== 'hidden'\n\t\t&& resolvedDisplayMode !== 'default_only'\n\t\t&& (resolvedDisplayMode !== 'dynamic' || hasDifferentCurrencies);\n\n\tif (!shouldRenderSecondary || !secondary) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tref={ref}\n\t\t\t\ttag={tag}\n\t\t\t\tsize={size}\n\t\t\t\talign={align}\n\t\t\t\tweight={weight}\n\t\t\t\ttype={type}\n\t\t\t\tlineHeight={lineHeight}\n\t\t\t\tnumeric={numeric}\n\t\t\t\tclassName={cn('money--component inline whitespace-nowrap tabular-nums', className)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{primaryLabel}\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tconst secondaryLabel = formatMoneyAmount({\n\t\tamount: secondaryAmount,\n\t\tcurrency: resolvedSecondaryCurrency,\n\t\tsymbol: secondary.symbol,\n\t\tlocale: locale ?? formatting.locale,\n\t\tcurrencyDisplay: secondary.currencyDisplay ?? currencyDisplay,\n\t\tminimumFractionDigits: secondary.minimumFractionDigits ?? minimumFractionDigits,\n\t\tmaximumFractionDigits: secondary.maximumFractionDigits ?? maximumFractionDigits,\n\t\tformatMode: secondary.formatMode ?? formatMode ?? money.formatMode ?? 'with_code',\n\t});\n\tconst resolvedLayout: MoneyLayout = layout\n\t\t?? (money.dualPricingDisplay === 'inline' ? 'inline' : 'stacked');\n\tconst secondarySize: TextSize | undefined = secondaryEmphasis === 'match'\n\t\t? size\n\t\t: secondaryEmphasis === 'muted'\n\t\t\t? 'xs'\n\t\t\t: 'xxs';\n\tconst secondaryType: TextProps['type'] = secondaryEmphasis === 'match'\n\t\t? type\n\t\t: secondaryEmphasis === 'muted'\n\t\t\t? 'secondary'\n\t\t\t: 'discrete';\n\tconst alignment = getAlignmentClasses(align);\n\n\tif (resolvedLayout === 'inline') {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tref={ref}\n\t\t\t\ttag={tag}\n\t\t\t\tsize={size}\n\t\t\t\talign={align}\n\t\t\t\ttype={type}\n\t\t\t\tlineHeight={lineHeight}\n\t\t\t\tnumeric={numeric}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'money--component money--inline inline-flex items-baseline gap-space-xs whitespace-nowrap tabular-nums',\n\t\t\t\t\talignment.justify,\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<Text tag=\"span\" size={size} weight={weight} type={type} className=\"money--primary\">\n\t\t\t\t\t{primaryLabel}\n\t\t\t\t</Text>\n\t\t\t\t<span className=\"money--separator inline-flex shrink-0 items-center text-muted-foreground\" aria-hidden=\"true\">\n\t\t\t\t\t{separator}\n\t\t\t\t</span>\n\t\t\t\t<Text tag=\"span\" size={secondarySize} weight={secondaryEmphasis === 'match' ? weight : 'regular'} type={secondaryType} className=\"money--secondary\">\n\t\t\t\t\t{secondaryLabel}\n\t\t\t\t</Text>\n\t\t\t</Text>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Text\n\t\t\tref={ref}\n\t\t\ttag={tag}\n\t\t\tsize={size}\n\t\t\talign={align}\n\t\t\ttype={type}\n\t\t\tlineHeight={lineHeight}\n\t\t\tnumeric={numeric}\n\t\t\tclassName={cn(\n\t\t\t\t'money--component money--stacked inline-flex flex-col whitespace-nowrap tabular-nums leading-tight',\n\t\t\t\talignment.text,\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<Text tag=\"span\" size={size} align={align} weight={weight} type={type} lineHeight=\"tight\" className=\"money--primary\">\n\t\t\t\t{primaryLabel}\n\t\t\t</Text>\n\t\t\t<Text tag=\"span\" size={secondarySize} align={align} weight={secondaryEmphasis === 'match' ? weight : 'regular'} type={secondaryType} lineHeight=\"tight\" className=\"money--secondary\">\n\t\t\t\t{secondaryLabel}\n\t\t\t</Text>\n\t\t</Text>\n\t);\n}\n","import { type ComponentPropsWithoutRef, type ReactNode, type Ref } from 'react';\n\nimport { Text, type TextProps } from '../typography';\nimport type { TextSize } from '../../lib/ui-provider';\nimport { EMPTY } from '../../lib/format';\nimport { useFormattingConfig } from '../../lib/ui-provider';\nimport { cn } from '../../lib/utils';\n\ntype SpanProps = Omit<ComponentPropsWithoutRef<'span'>, 'children' | 'color'>;\n\nexport interface NumberProps extends SpanProps {\n\tvalue?: number | string | null;\n\tlocale?: string;\n\toptions?: Intl.NumberFormatOptions;\n\temptyLabel?: ReactNode;\n\tsize?: TextSize;\n\talign?: TextProps['align'];\n\tweight?: TextProps['weight'];\n\ttype?: TextProps['type'];\n\tref?: Ref<HTMLSpanElement>;\n}\n\nexport interface PercentProps extends Omit<NumberProps, 'options'> {\n\tscaled?: boolean;\n\toptions?: Intl.NumberFormatOptions;\n\tref?: Ref<HTMLSpanElement>;\n}\n\nfunction parseNumericValue(value: NumberProps['value']) {\n\tif (value === null || value === undefined || value === '') return null;\n\tconst parsed = typeof value === 'number' ? value : globalThis.Number.parseFloat(value);\n\treturn globalThis.Number.isFinite(parsed) ? parsed : null;\n}\n\nfunction renderNumberLabel(value: NumberProps['value'], locale?: string, options?: Intl.NumberFormatOptions) {\n\tconst parsed = parseNumericValue(value);\n\tif (parsed === null) return null;\n\treturn new Intl.NumberFormat(locale, options).format(parsed);\n}\n\nexport function Number({\n\tvalue,\n\tlocale,\n\toptions,\n\temptyLabel = EMPTY,\n\tsize,\n\talign = 'right',\n\tweight = 'regular',\n\ttype = 'main',\n\tclassName,\n\tref,\n\t...props\n}: NumberProps) {\n\tconst formatting = useFormattingConfig();\n\tconst label = renderNumberLabel(value, locale ?? formatting.locale, options);\n\n\treturn (\n\t\t<Text\n\t\t\tref={ref}\n\t\t\ttag=\"span\"\n\t\t\tsize={size}\n\t\t\talign={align}\n\t\t\tweight={weight}\n\t\t\ttype={label === null ? 'secondary' : type}\n\t\t\tclassName={cn('number--component inline tabular-nums', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{label ?? emptyLabel}\n\t\t</Text>\n\t);\n}\n\nexport function Percent({\n\tvalue,\n\tlocale,\n\tscaled = false,\n\toptions,\n\temptyLabel = EMPTY,\n\tsize,\n\talign = 'right',\n\tweight = 'regular',\n\ttype = 'main',\n\tclassName,\n\tref,\n\t...props\n}: PercentProps) {\n\tconst formatting = useFormattingConfig();\n\tconst parsed = parseNumericValue(value);\n\tconst label = parsed === null\n\t\t? null\n\t\t: new Intl.NumberFormat(locale ?? formatting.locale, {\n\t\t\t\tstyle: 'percent',\n\t\t\t\tmaximumFractionDigits: 1,\n\t\t\t\t...options,\n\t\t\t}).format(scaled ? parsed / 100 : parsed);\n\n\treturn (\n\t\t<Text\n\t\t\tref={ref}\n\t\t\ttag=\"span\"\n\t\t\tsize={size}\n\t\t\talign={align}\n\t\t\tweight={weight}\n\t\t\ttype={label === null ? 'secondary' : type}\n\t\t\tclassName={cn('percent--component inline tabular-nums', className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{label ?? emptyLabel}\n\t\t</Text>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.recipes-BxW5FIfK.js","names":["modalBackdropRecipe"],"sources":["../src/components/ui/overlay.recipes.ts"],"sourcesContent":["/** One modal scrim recipe; the color comes from the shared semantic token. */\nexport const modalBackdropRecipe = 'fixed inset-0 z-50 bg-(--overlay-backdrop) supports-backdrop-filter:backdrop-blur-sm';\n"],"mappings":";AACA,IAAaA,IAAsB"}
|