themelia-react-ui 2.0.2 → 2.0.4
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 +67 -7
- package/README.md +70 -37
- package/THIRD_PARTY_NOTICES.md +6 -12
- package/dist/{accordion-Cjb6sx0G.js → accordion-96o0pN62.js} +5 -5
- package/dist/{accordion-Cjb6sx0G.js.map → accordion-96o0pN62.js.map} +1 -1
- package/dist/action-menu-CHgs8vmj.js +281 -0
- package/dist/action-menu-CHgs8vmj.js.map +1 -0
- package/dist/{affordance-geometry.generated-tF36bREk.js → affordance-geometry.generated-B8yGOr8-.js} +7 -1
- package/dist/affordance-geometry.generated-B8yGOr8-.js.map +1 -0
- package/dist/{ai-artifact-DvTwDVyL.js → ai-artifact-BZUGwBq6.js} +277 -276
- package/dist/ai-artifact-BZUGwBq6.js.map +1 -0
- package/dist/{app-shell-C4FhvCqF.js → app-shell-D63ATkIK.js} +84 -83
- package/dist/app-shell-D63ATkIK.js.map +1 -0
- package/dist/{attachment-BxDfL2mw.js → attachment-DkoqHPPl.js} +7 -7
- package/dist/{attachment-BxDfL2mw.js.map → attachment-DkoqHPPl.js.map} +1 -1
- package/dist/{auth-ax2BqjrI.js → auth-D2FVZ1MH.js} +10 -10
- package/dist/{auth-ax2BqjrI.js.map → auth-D2FVZ1MH.js.map} +1 -1
- package/dist/{avatar-DAPlDvhJ.js → avatar-DWO_HHhB.js} +5 -5
- package/dist/{avatar-DAPlDvhJ.js.map → avatar-DWO_HHhB.js.map} +1 -1
- package/dist/{badge-HpFqoqSY.js → badge-DErMA7ul.js} +4 -4
- package/dist/{badge-HpFqoqSY.js.map → badge-DErMA7ul.js.map} +1 -1
- 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/batch-action-bar.js +1 -1
- package/dist/base/buttons.js +1 -1
- package/dist/base/cards.js +2 -2
- package/dist/base/carousel.js +3 -3
- package/dist/base/cascader.js +13 -13
- 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 +2 -2
- 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 +3 -3
- package/dist/base/inline-edit.js +10 -10
- package/dist/base/item.js +1 -1
- package/dist/base/media-gallery.js +1 -1
- package/dist/base/metadata-list.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 +1 -1
- package/dist/base/repeaters.js +9 -9
- package/dist/base/sheet.js +1 -1
- package/dist/base/sidebar.js +1 -1
- package/dist/base/signature-pad.js +6 -6
- package/dist/base/skeleton.js +1 -1
- package/dist/base/spinner.js +4 -4
- 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 +3 -3
- 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/{batch-action-bar-DnUJ21NQ.js → batch-action-bar-CdfIkCsV.js} +4 -4
- package/dist/{batch-action-bar-DnUJ21NQ.js.map → batch-action-bar-CdfIkCsV.js.map} +1 -1
- package/dist/blocks/admin.js +20 -20
- package/dist/blocks/admin.js.map +1 -1
- package/dist/blocks/ai.js +15 -15
- package/dist/blocks/analytics/usage-card.js +1 -1
- package/dist/blocks/analytics.js +17 -17
- 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 +570 -567
- package/dist/blocks/commerce.js.map +1 -1
- package/dist/blocks/data-display.js +2 -2
- package/dist/blocks/onboarding.js +5 -5
- package/dist/blocks/planning.js +11 -11
- package/dist/blocks/timelines.js +1 -1
- package/dist/{breadcrumbs-C-oqs1sQ.js → breadcrumbs-B-WFKecD.js} +4 -4
- package/dist/{breadcrumbs-C-oqs1sQ.js.map → breadcrumbs-B-WFKecD.js.map} +1 -1
- package/dist/{button-DVzspB_G.js → button-DkmK-z8E.js} +2 -2
- package/dist/{button-DVzspB_G.js.map → button-DkmK-z8E.js.map} +1 -1
- package/dist/{buttons-DPZekJFu.js → buttons-BbfzgczK.js} +8 -8
- package/dist/{buttons-DPZekJFu.js.map → buttons-BbfzgczK.js.map} +1 -1
- package/dist/{cards-BaBZR-AU.js → cards-4JTWqvVe.js} +10 -10
- package/dist/cards-4JTWqvVe.js.map +1 -0
- package/dist/{chart-ZOYyK2xG.js → chart-C19flDQb.js} +4 -4
- package/dist/{chart-ZOYyK2xG.js.map → chart-C19flDQb.js.map} +1 -1
- package/dist/{checkbox-AWIhNhmo.js → checkbox-CzYUTPeJ.js} +9 -5
- package/dist/checkbox-CzYUTPeJ.js.map +1 -0
- package/dist/{choice-inputs-CNHvARCJ.js → choice-inputs-JLtij2y4.js} +182 -176
- package/dist/choice-inputs-JLtij2y4.js.map +1 -0
- package/dist/{code-block-DeneBJR_.js → code-block-CGNaUtAE.js} +7 -7
- package/dist/{code-block-DeneBJR_.js.map → code-block-CGNaUtAE.js.map} +1 -1
- package/dist/{collapsible-C-_l4hpy.js → collapsible-Do4G0zcC.js} +3 -3
- package/dist/{collapsible-C-_l4hpy.js.map → collapsible-Do4G0zcC.js.map} +1 -1
- package/dist/{collection-content-By56pLog.js → collection-content-C0e8SsTm.js} +3 -3
- package/dist/{collection-content-By56pLog.js.map → collection-content-C0e8SsTm.js.map} +1 -1
- package/dist/{combobox-C0EQW6dr.js → combobox-CBJDs6w_.js} +349 -347
- package/dist/combobox-CBJDs6w_.js.map +1 -0
- package/dist/{combobox-xCQ2RMNE.js → combobox-hbhSS18O.js} +158 -112
- package/dist/combobox-hbhSS18O.js.map +1 -0
- package/dist/{command-C25VMRII.js → command-D8NrBj-b.js} +7 -7
- package/dist/{command-C25VMRII.js.map → command-D8NrBj-b.js.map} +1 -1
- package/dist/{comments-BYYlTA8E.js → comments-Di4w0H_S.js} +383 -382
- package/dist/comments-Di4w0H_S.js.map +1 -0
- package/dist/components/base/action-menu/action-menu.d.ts +2 -0
- package/dist/components/base/cards/card.recipes.d.ts +12 -5
- package/dist/components/base/cards/smart-card.types.d.ts +12 -7
- package/dist/components/base/choice-inputs/checkbox.d.ts +7 -2
- package/dist/components/base/choice-inputs/switch-card.d.ts +7 -0
- package/dist/components/base/choice-inputs/toggle-field.d.ts +7 -0
- package/dist/components/base/combobox/combobox-field.d.ts +16 -0
- package/dist/components/base/date-pickers/datepicker.types.d.ts +7 -0
- package/dist/components/base/forms/controlled-form-field.d.ts +6 -6
- package/dist/components/base/forms/form-field.d.ts +5 -3
- package/dist/components/base/forms/index.d.ts +1 -0
- package/dist/components/base/forms/server-errors.d.ts +16 -0
- package/dist/components/base/forms/workflow.d.ts +5 -2
- package/dist/components/base/metadata-list/metadata-list.d.ts +3 -1
- package/dist/components/base/navigation/page-header/page-header.d.ts +4 -2
- package/dist/components/base/structure/composition.recipes.d.ts +17 -0
- package/dist/components/base/text-inputs/hooks/use-form-field-state.d.ts +7 -2
- package/dist/components/base/text-inputs/input.d.ts +4 -2
- package/dist/components/base/text-inputs/textarea.d.ts +4 -2
- package/dist/components/base/value-inputs/date-time-input.d.ts +2 -1
- package/dist/components/base/value-inputs/slider.d.ts +5 -1
- package/dist/components/base/value-inputs/tags-input.d.ts +5 -1
- package/dist/components/typography/text.styles.d.ts +26 -1
- package/dist/components/ui/combobox-dismiss.d.ts +16 -0
- package/dist/components/ui/combobox.d.ts +11 -6
- package/dist/components/ui/dialog.d.ts +1 -1
- package/dist/components/ui/popover.d.ts +1 -1
- package/dist/components/ui/sheet.d.ts +1 -1
- package/dist/composition.recipes-COdiFhxB.js +19 -0
- package/dist/composition.recipes-COdiFhxB.js.map +1 -0
- package/dist/containers-CRmHf7GP.js +104 -0
- package/dist/containers-CRmHf7GP.js.map +1 -0
- package/dist/{copyable-ClBuk_UK.js → copyable-CnGCZdX4.js} +4 -4
- package/dist/{copyable-ClBuk_UK.js.map → copyable-CnGCZdX4.js.map} +1 -1
- package/dist/{data-display-DT_khPl_.js → data-display-D4oujtx0.js} +239 -238
- package/dist/data-display-D4oujtx0.js.map +1 -0
- package/dist/{date-DCrsDTZc.js → date-Q7jnXxpk.js} +5 -5
- package/dist/{date-DCrsDTZc.js.map → date-Q7jnXxpk.js.map} +1 -1
- package/dist/{date-picker-ay0Pha_a.js → date-picker-zOt1oNss.js} +102 -90
- package/dist/date-picker-zOt1oNss.js.map +1 -0
- package/dist/date-pickers-cj8IXbDC.js +179 -0
- package/dist/date-pickers-cj8IXbDC.js.map +1 -0
- package/dist/{display-hAc1HjpI.js → display-BB4BL_-K.js} +8 -8
- package/dist/{display-hAc1HjpI.js.map → display-BB4BL_-K.js.map} +1 -1
- package/dist/{dropdown-menu-Cl4X7L5S.js → dropdown-menu-CjY8Vt7W.js} +8 -8
- package/dist/{dropdown-menu-Cl4X7L5S.js.map → dropdown-menu-CjY8Vt7W.js.map} +1 -1
- package/dist/features/activities.js +11 -11
- package/dist/features/ai-chat.js +9 -9
- package/dist/features/appointment-calendar.js +222 -220
- package/dist/features/appointment-calendar.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 +275 -274
- package/dist/features/email-composer.js.map +1 -1
- package/dist/features/event-calendar.js +199 -198
- package/dist/features/event-calendar.js.map +1 -1
- package/dist/features/filters.js +1 -1
- package/dist/features/global-search.js +12 -12
- package/dist/features/kanban.js +4 -4
- package/dist/features/map.js +7 -7
- package/dist/features/media-library.js +623 -622
- 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 +973 -969
- package/dist/features/products.js.map +1 -1
- package/dist/features/questionnaire.js +12 -12
- package/dist/features/resource-assignment.js +8 -8
- package/dist/features/resource.js +113 -112
- package/dist/features/resource.js.map +1 -1
- package/dist/features/rich-text-editor.js +2 -2
- package/dist/features/schema-form.js +254 -253
- package/dist/features/schema-form.js.map +1 -1
- package/dist/features/suggestions.js +3 -3
- package/dist/features/sync.js +3 -3
- package/dist/features/table.js +1 -1
- package/dist/features/theme-tweaker.js +19 -19
- package/dist/features/theme-tweaker.js.map +1 -1
- package/dist/{feedback-BYIhtitP.js → feedback-DZNL5Lg1.js} +9 -9
- package/dist/{feedback-BYIhtitP.js.map → feedback-DZNL5Lg1.js.map} +1 -1
- package/dist/{field-affordance-recipes-DZhnIL_Y.js → field-affordance-recipes-DjwGx8eM.js} +2 -2
- package/dist/{field-affordance-recipes-DZhnIL_Y.js.map → field-affordance-recipes-DjwGx8eM.js.map} +1 -1
- package/dist/{filters-BGfvjP4d.js → filters-BcT-uoFy.js} +19 -19
- package/dist/{filters-BGfvjP4d.js.map → filters-BcT-uoFy.js.map} +1 -1
- package/dist/{form-field-CwH9y77i.js → form-field-CsgRmdit.js} +14 -8
- package/dist/form-field-CsgRmdit.js.map +1 -0
- package/dist/{form-sizing-BdP_Mf5p.js → form-sizing-NXgjkmBG.js} +3 -3
- package/dist/{form-sizing-BdP_Mf5p.js.map → form-sizing-NXgjkmBG.js.map} +1 -1
- package/dist/{forms-B9G_xwzi.js → forms-BV5m5aQF.js} +83 -65
- package/dist/forms-BV5m5aQF.js.map +1 -0
- package/dist/{forms-numeric-B_jraJaQ.js → forms-numeric-Cd33AKbD.js} +288 -288
- package/dist/forms-numeric-Cd33AKbD.js.map +1 -0
- package/dist/{header-CGXuhcRm.js → header-BA697l4a.js} +14 -14
- package/dist/{header-CGXuhcRm.js.map → header-BA697l4a.js.map} +1 -1
- package/dist/hooks/useFormErrors.d.ts +1 -1
- package/dist/{hooks-Dkz0K2WT.js → hooks-BQ-L7Uu2.js} +2 -2
- package/dist/{hooks-Dkz0K2WT.js.map → hooks-BQ-L7Uu2.js.map} +1 -1
- package/dist/{icon-badge-DYKIwvOV.js → icon-badge-COWbCCWu.js} +3 -3
- package/dist/{icon-badge-DYKIwvOV.js.map → icon-badge-COWbCCWu.js.map} +1 -1
- package/dist/index.js +2 -2
- package/dist/input-Cdw4k0fb.js +289 -0
- package/dist/input-Cdw4k0fb.js.map +1 -0
- package/dist/{input-CZw8iU99.js → input-DOPL5_QE.js} +3 -3
- package/dist/{input-CZw8iU99.js.map → input-DOPL5_QE.js.map} +1 -1
- package/dist/item-BvZ2DR_x.js +277 -0
- package/dist/item-BvZ2DR_x.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 -0
- package/dist/lib/ui-provider/types.d.ts +1 -1
- package/dist/lib/use-popup-focus-recovery.d.ts +8 -0
- package/dist/lib/utils.js +1 -1
- package/dist/{media-gallery-3zIVLMWH.js → media-gallery-CSl5W1Fy.js} +6 -6
- package/dist/{media-gallery-3zIVLMWH.js.map → media-gallery-CSl5W1Fy.js.map} +1 -1
- package/dist/{mentions-utuUvH1K.js → mentions-RKOQaaIB.js} +8 -8
- package/dist/{mentions-utuUvH1K.js.map → mentions-RKOQaaIB.js.map} +1 -1
- package/dist/{message-DZ_ruyUV.js → message-INU2xsxu.js} +4 -4
- package/dist/{message-DZ_ruyUV.js.map → message-INU2xsxu.js.map} +1 -1
- package/dist/metadata-list-qVV7AVxa.js +443 -0
- package/dist/metadata-list-qVV7AVxa.js.map +1 -0
- package/dist/{navigation-BzhHI3lo.js → navigation-BQNcg1jT.js} +8 -8
- package/dist/{navigation-BzhHI3lo.js.map → navigation-BQNcg1jT.js.map} +1 -1
- package/dist/{navigation-Bnotn4AQ.js → navigation-DLF3E1IC.js} +7 -7
- package/dist/{navigation-Bnotn4AQ.js.map → navigation-DLF3E1IC.js.map} +1 -1
- package/dist/{navigation-row-recipes-BFLCk_Aq.js → navigation-row-recipes-WZEs-hYo.js} +2 -2
- package/dist/{navigation-row-recipes-BFLCk_Aq.js.map → navigation-row-recipes-WZEs-hYo.js.map} +1 -1
- package/dist/{number-DbV1Dija.js → number-E_OiIfJz.js} +5 -5
- package/dist/{number-DbV1Dija.js.map → number-E_OiIfJz.js.map} +1 -1
- package/dist/{overflow-tab-bar-CWY7Nogn.js → overflow-tab-bar-CrbqMteP.js} +107 -105
- package/dist/overflow-tab-bar-CrbqMteP.js.map +1 -0
- package/dist/{overlays-DNWmZrJ4.js → overlays-BlKynmde.js} +322 -319
- package/dist/overlays-BlKynmde.js.map +1 -0
- package/dist/page-CIwNUtGr.js +227 -0
- package/dist/page-CIwNUtGr.js.map +1 -0
- package/dist/page-header-commands-DFMlNYzN.js +128 -0
- package/dist/page-header-commands-DFMlNYzN.js.map +1 -0
- package/dist/{pagination-BL25hu2s.js → pagination-Ch8X_47u.js} +5 -5
- package/dist/{pagination-BL25hu2s.js.map → pagination-Ch8X_47u.js.map} +1 -1
- package/dist/{popover-menu-B9WWygpa.js → popover-menu-BYaCdFhf.js} +6 -6
- package/dist/{popover-menu-B9WWygpa.js.map → popover-menu-BYaCdFhf.js.map} +1 -1
- package/dist/{popover-7_m66eYW.js → popover-uwzX2vo7.js} +65 -63
- package/dist/popover-uwzX2vo7.js.map +1 -0
- package/dist/{primitives-BFK08r9M.js → primitives-Du64iDbb.js} +6 -6
- package/dist/{primitives-BFK08r9M.js.map → primitives-Du64iDbb.js.map} +1 -1
- package/dist/primitives.js +4 -4
- package/dist/{progress-B1VnCT0K.js → progress-BvF2oCdV.js} +5 -5
- package/dist/{progress-B1VnCT0K.js.map → progress-BvF2oCdV.js.map} +1 -1
- package/dist/{receipt-BVSOH3Xo.js → receipt-D789Jwyy.js} +6 -6
- package/dist/{receipt-BVSOH3Xo.js.map → receipt-D789Jwyy.js.map} +1 -1
- package/dist/{rich-text-GOUyKQ-s.js → rich-text-CLJEf76s.js} +4 -4
- package/dist/{rich-text-GOUyKQ-s.js.map → rich-text-CLJEf76s.js.map} +1 -1
- package/dist/{rich-text-editor-cRLC-eBK.js → rich-text-editor-Cm1dpUpQ.js} +10 -10
- package/dist/{rich-text-editor-cRLC-eBK.js.map → rich-text-editor-Cm1dpUpQ.js.map} +1 -1
- package/dist/{rich-text-editor-toolbar-DfXg0-VC.js → rich-text-editor-toolbar-L__e4x47.js} +4 -4
- package/dist/{rich-text-editor-toolbar-DfXg0-VC.js.map → rich-text-editor-toolbar-L__e4x47.js.map} +1 -1
- package/dist/{scroll-area-DcI-M1UT.js → scroll-area-La5RXsEk.js} +2 -2
- package/dist/{scroll-area-DcI-M1UT.js.map → scroll-area-La5RXsEk.js.map} +1 -1
- package/dist/{separator-Bom7NsGO.js → separator-DAEV0w65.js} +2 -2
- package/dist/{separator-Bom7NsGO.js.map → separator-DAEV0w65.js.map} +1 -1
- package/dist/{separator-BDV-Y648.js → separator-GNfPG-90.js} +3 -3
- package/dist/{separator-BDV-Y648.js.map → separator-GNfPG-90.js.map} +1 -1
- package/dist/services/actions.js +1 -1
- package/dist/settings-BA2iboic.js +174 -0
- package/dist/settings-BA2iboic.js.map +1 -0
- package/dist/{sheet-CGpB3omz.js → sheet-DoAxTb2J.js} +75 -73
- package/dist/sheet-DoAxTb2J.js.map +1 -0
- package/dist/{sidebar-A0ElHINE.js → sidebar-ByqKR_W5.js} +13 -13
- package/dist/{sidebar-A0ElHINE.js.map → sidebar-ByqKR_W5.js.map} +1 -1
- package/dist/{sidebar-CPx_7YBa.js → sidebar-D2iSnGJ7.js} +11 -11
- package/dist/{sidebar-CPx_7YBa.js.map → sidebar-D2iSnGJ7.js.map} +1 -1
- package/dist/{skeleton-Byjnt7qr.js → skeleton-CUj8O5Bd.js} +3 -3
- package/dist/{skeleton-Byjnt7qr.js.map → skeleton-CUj8O5Bd.js.map} +1 -1
- package/dist/smart-card-CqkzQsK-.js +614 -0
- package/dist/smart-card-CqkzQsK-.js.map +1 -0
- package/dist/{structure-BmisBK-3.js → structure-C0V0_Fyf.js} +3 -3
- package/dist/{structure-BmisBK-3.js.map → structure-C0V0_Fyf.js.map} +1 -1
- package/dist/{structure.recipes-EPz60cU8.js → structure.recipes-BB4-n58V.js} +2 -2
- package/dist/{structure.recipes-EPz60cU8.js.map → structure.recipes-BB4-n58V.js.map} +1 -1
- package/dist/style.css +1 -1
- package/dist/{table-DsfzoUia.js → table-CpvnzJn9.js} +3 -3
- package/dist/{table-DsfzoUia.js.map → table-CpvnzJn9.js.map} +1 -1
- package/dist/{table-BweFy_P9.js → table-DH7rozUv.js} +19 -19
- package/dist/{table-BweFy_P9.js.map → table-DH7rozUv.js.map} +1 -1
- package/dist/{tabs-CDocW5D1.js → tabs-eqVsJZWO.js} +7 -7
- package/dist/{tabs-CDocW5D1.js.map → tabs-eqVsJZWO.js.map} +1 -1
- package/dist/{text-inputs-f9Ia-aCi.js → text-inputs-DXItiR0O.js} +101 -98
- package/dist/text-inputs-DXItiR0O.js.map +1 -0
- package/dist/{text.styles-g4He6UIW.js → text.styles-B64My8RZ.js} +25 -10
- package/dist/text.styles-B64My8RZ.js.map +1 -0
- package/dist/theme.css +152 -112
- package/dist/{timelines-CwM_9IhD.js → timelines-DmtztAY_.js} +10 -10
- package/dist/{timelines-CwM_9IhD.js.map → timelines-DmtztAY_.js.map} +1 -1
- package/dist/{tooltip-yiRJUFjp.js → tooltip-B4hjKtoV.js} +3 -3
- package/dist/{tooltip-yiRJUFjp.js.map → tooltip-B4hjKtoV.js.map} +1 -1
- package/dist/{tree-WnKQzwbq.js → tree-CV11PURP.js} +8 -8
- package/dist/{tree-WnKQzwbq.js.map → tree-CV11PURP.js.map} +1 -1
- package/dist/typography/rich-text.js +1 -1
- package/dist/typography-CSyJrh28.js +117 -0
- package/dist/typography-CSyJrh28.js.map +1 -0
- package/dist/typography.js +1 -1
- package/dist/{ui-provider-C_U0Xma4.js → ui-provider-CQCuCBcy.js} +3 -3
- package/dist/ui-provider-CQCuCBcy.js.map +1 -0
- package/dist/ui-provider.js +1 -1
- package/dist/{upload-CXyxmQBP.js → upload-C9SA0X-8.js} +11 -11
- package/dist/{upload-CXyxmQBP.js.map → upload-C9SA0X-8.js.map} +1 -1
- package/dist/{upload-queue-Boscubn9.js → upload-queue-DhQJiSRc.js} +9 -9
- package/dist/{upload-queue-Boscubn9.js.map → upload-queue-DhQJiSRc.js.map} +1 -1
- package/dist/{usage-card-BhO5eqkX.js → usage-card-DVTRDmGz.js} +134 -133
- package/dist/usage-card-DVTRDmGz.js.map +1 -0
- package/dist/use-popup-focus-recovery-C0QPvgOR.js +36 -0
- package/dist/use-popup-focus-recovery-C0QPvgOR.js.map +1 -0
- package/dist/{utils-BRhFDwuU.js → utils-CF3c95Io.js} +68 -5
- package/dist/utils-CF3c95Io.js.map +1 -0
- package/dist/value-inputs-C0o70p-U.js +980 -0
- package/dist/value-inputs-C0o70p-U.js.map +1 -0
- package/dist/{value-typography-BP8OG6h5.js → value-typography-ClupF0Gz.js} +2 -2
- package/dist/{value-typography-BP8OG6h5.js.map → value-typography-ClupF0Gz.js.map} +1 -1
- package/dist/workspace-9EFVXUyk.js +410 -0
- package/dist/workspace-9EFVXUyk.js.map +1 -0
- package/docs/consumer-skill/SKILL.md +14 -129
- package/docs/consumer-skill/examples/app-layout.tsx +22 -12
- package/docs/consumer-skill/examples/authentication.tsx +77 -0
- package/docs/consumer-skill/examples/edit.tsx +30 -38
- package/docs/consumer-skill/examples/manifest.json +51 -1
- package/docs/consumer-skill/examples/rhf-bindings.tsx +86 -0
- package/docs/consumer-skill/examples/rhf-edit-page.tsx +141 -0
- package/docs/consumer-skill/examples/rhf-overlay-form.tsx +92 -0
- package/docs/consumer-skill/examples/rhf-transport.tsx +28 -0
- package/docs/consumer-skill/references/agents-md.md +17 -7
- package/docs/consumer-skill/references/authentication.md +42 -0
- package/docs/consumer-skill/references/component-contracts.json +319824 -0
- package/docs/consumer-skill/references/composition-mapping.md +92 -0
- package/docs/consumer-skill/references/composition.md +43 -19
- package/docs/consumer-skill/references/design-contract.md +32 -0
- package/docs/consumer-skill/references/discovery.md +84 -7
- package/docs/consumer-skill/references/installation.md +45 -35
- package/docs/consumer-skill/references/integration.md +6 -2
- package/docs/consumer-skill/references/public-api.json +1520 -66
- package/docs/consumer-skill/references/review.md +9 -4
- package/docs/consumer-skill/references/rhf-workflows.md +86 -0
- package/docs/consumer-skill/references/screen-archetypes.md +22 -0
- package/docs/consumer-skill/references/theming.md +8 -9
- package/docs/consumer-skill/references/tokens.json +12 -3
- package/docs/consumer-skill/references/workflows.md +7 -5
- package/docs/consumer-skill/scripts/composition-schema.d.mts +2 -0
- package/docs/consumer-skill/scripts/composition-schema.mjs +32 -0
- package/docs/consumer-skill/scripts/composition.mjs +198 -0
- package/docs/consumer-skill/scripts/discovery.mjs +42 -10
- package/docs/consumer-skill/scripts/inspect-component.mjs +11 -0
- package/docs/consumer-skill/scripts/inspect-tokens.mjs +11 -0
- package/docs/consumer-skill/scripts/inspection.mjs +138 -0
- package/docs/consumer-skill/scripts/map-composition.mjs +12 -0
- package/docs/consumer-skill/scripts/setup-skills.mjs +76 -0
- package/docs/consumer-skills/themelia-components/SKILL.md +30 -0
- package/docs/consumer-skills/themelia-composition/SKILL.md +35 -0
- package/docs/consumer-skills/themelia-forms/SKILL.md +12 -0
- package/docs/consumer-skills/themelia-foundation/SKILL.md +14 -0
- package/docs/consumer-skills/themelia-tokenization/SKILL.md +35 -0
- package/package.json +6 -4
- package/templates/README.md +39 -0
- package/templates/admin-shell-template.tsx +382 -0
- package/templates/analytics-operations-template.tsx +376 -0
- package/templates/customers-template.tsx +509 -0
- package/templates/index.ts +29 -0
- package/templates/orders-template.tsx +1102 -0
- package/templates/products-template.tsx +834 -0
- package/templates/user-permissions-template.tsx +450 -0
- package/dist/action-menu-CllU52Mm.js +0 -280
- package/dist/action-menu-CllU52Mm.js.map +0 -1
- package/dist/affordance-geometry.generated-tF36bREk.js.map +0 -1
- package/dist/ai-artifact-DvTwDVyL.js.map +0 -1
- package/dist/app-shell-C4FhvCqF.js.map +0 -1
- package/dist/cards-BaBZR-AU.js.map +0 -1
- package/dist/checkbox-AWIhNhmo.js.map +0 -1
- package/dist/choice-inputs-CNHvARCJ.js.map +0 -1
- package/dist/combobox-C0EQW6dr.js.map +0 -1
- package/dist/combobox-xCQ2RMNE.js.map +0 -1
- package/dist/comments-BYYlTA8E.js.map +0 -1
- package/dist/containers-Mu1LMGV1.js +0 -103
- package/dist/containers-Mu1LMGV1.js.map +0 -1
- package/dist/data-display-DT_khPl_.js.map +0 -1
- package/dist/date-picker-ay0Pha_a.js.map +0 -1
- package/dist/date-pickers-Ccw8DL2b.js +0 -175
- package/dist/date-pickers-Ccw8DL2b.js.map +0 -1
- package/dist/form-field-CwH9y77i.js.map +0 -1
- package/dist/forms-B9G_xwzi.js.map +0 -1
- package/dist/forms-numeric-B_jraJaQ.js.map +0 -1
- package/dist/input-DQdEd0YD.js +0 -263
- package/dist/input-DQdEd0YD.js.map +0 -1
- package/dist/item-K5_ghvze.js +0 -275
- package/dist/item-K5_ghvze.js.map +0 -1
- package/dist/metadata-list-8N16ZMW_.js +0 -405
- package/dist/metadata-list-8N16ZMW_.js.map +0 -1
- package/dist/overflow-tab-bar-CWY7Nogn.js.map +0 -1
- package/dist/overlays-DNWmZrJ4.js.map +0 -1
- package/dist/page-Bgl1F560.js +0 -224
- package/dist/page-Bgl1F560.js.map +0 -1
- package/dist/page-header-commands-DOb6WsfD.js +0 -126
- package/dist/page-header-commands-DOb6WsfD.js.map +0 -1
- package/dist/popover-7_m66eYW.js.map +0 -1
- package/dist/settings-ybnjVwbd.js +0 -171
- package/dist/settings-ybnjVwbd.js.map +0 -1
- package/dist/sheet-CGpB3omz.js.map +0 -1
- package/dist/smart-card-DiC5aac3.js +0 -604
- package/dist/smart-card-DiC5aac3.js.map +0 -1
- package/dist/text-inputs-f9Ia-aCi.js.map +0 -1
- package/dist/text.styles-g4He6UIW.js.map +0 -1
- package/dist/typography-UTnveOEy.js +0 -117
- package/dist/typography-UTnveOEy.js.map +0 -1
- package/dist/ui-provider-C_U0Xma4.js.map +0 -1
- package/dist/usage-card-BhO5eqkX.js.map +0 -1
- package/dist/utils-BRhFDwuU.js.map +0 -1
- package/dist/value-inputs-DXPDjvBU.js +0 -963
- package/dist/value-inputs-DXPDjvBU.js.map +0 -1
- package/dist/workspace-Cdrg7k9f.js +0 -408
- package/dist/workspace-Cdrg7k9f.js.map +0 -1
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { c as e } from "./ui-provider-
|
|
2
|
+
import { c as e } from "./ui-provider-CQCuCBcy.js";
|
|
3
3
|
import { useStrings as t } from "./lib/strings.js";
|
|
4
|
-
import { t as n } from "./utils-
|
|
5
|
-
import { n as r } from "./buttons-
|
|
6
|
-
import { c as i, o as a } from "./typography-
|
|
7
|
-
import { r as o, t as s } from "./structure-
|
|
8
|
-
import { t as c } from "./smart-card-
|
|
9
|
-
import { i as l, t as u } from "./progress-
|
|
10
|
-
import { n as d
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
4
|
+
import { t as n } from "./utils-CF3c95Io.js";
|
|
5
|
+
import { n as r } from "./buttons-BbfzgczK.js";
|
|
6
|
+
import { c as i, o as a } from "./typography-CSyJrh28.js";
|
|
7
|
+
import { r as o, t as s } from "./structure-C0V0_Fyf.js";
|
|
8
|
+
import { t as c } from "./smart-card-CqkzQsK-.js";
|
|
9
|
+
import { i as l, t as u } from "./progress-BvF2oCdV.js";
|
|
10
|
+
import { n as d } from "./composition.recipes-COdiFhxB.js";
|
|
11
|
+
import { n as f, t as p } from "./number-E_OiIfJz.js";
|
|
12
|
+
import { i as m, n as h, r as g, t as _ } from "./tabs-eqVsJZWO.js";
|
|
13
|
+
import { Fragment as v, jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
13
14
|
//#region src/components/blocks/analytics/usage-card/usage-card.data.ts
|
|
14
|
-
function
|
|
15
|
+
function x(e) {
|
|
15
16
|
return typeof e == "number" && Number.isFinite(e) && e >= 0 ? e : null;
|
|
16
17
|
}
|
|
17
|
-
function
|
|
18
|
-
if (
|
|
18
|
+
function S(e, t, n = 1) {
|
|
19
|
+
if (x(e) === null || x(t) === null) return !0;
|
|
19
20
|
let r = Math.max(e, t) * 2 ** -52 * Math.max(1, n);
|
|
20
21
|
return e - t > r;
|
|
21
22
|
}
|
|
22
|
-
function
|
|
23
|
-
let n =
|
|
23
|
+
function C(e, t) {
|
|
24
|
+
let n = x(e), r = x(t), i = n === null ? "unavailable" : t === null ? "unlimited" : r === null ? "unavailable" : "limited", a = n !== null && r !== null && r > 0 ? n / r * 100 : n === 0 && r === 0 ? 0 : null;
|
|
24
25
|
return {
|
|
25
26
|
kind: i,
|
|
26
27
|
used: n,
|
|
@@ -31,8 +32,8 @@ function S(e, t) {
|
|
|
31
32
|
excess: i === "limited" ? Math.max(0, (n ?? 0) - (r ?? 0)) : null
|
|
32
33
|
};
|
|
33
34
|
}
|
|
34
|
-
function
|
|
35
|
-
let t = e.map((e) =>
|
|
35
|
+
function w(e) {
|
|
36
|
+
let t = e.map((e) => x(e.value)), n = t.length > 0 && t.every((e) => e !== null), r = t.reduce((e, t) => Math.max(e, t ?? 0), 0);
|
|
36
37
|
return {
|
|
37
38
|
values: t,
|
|
38
39
|
average: n ? t.reduce((e, n) => e + (n ?? 0) / t.length, 0) : null,
|
|
@@ -41,7 +42,7 @@ function C(e) {
|
|
|
41
42
|
}
|
|
42
43
|
//#endregion
|
|
43
44
|
//#region src/components/blocks/analytics/usage-card/usage-card.strings.ts
|
|
44
|
-
var
|
|
45
|
+
var T = {
|
|
45
46
|
title: "Usage",
|
|
46
47
|
usage: "Usage",
|
|
47
48
|
used: "used",
|
|
@@ -61,28 +62,28 @@ var w = {
|
|
|
61
62
|
error: "Unable to load usage",
|
|
62
63
|
empty: "No usage data",
|
|
63
64
|
retry: "Retry"
|
|
64
|
-
},
|
|
65
|
+
}, E = [
|
|
65
66
|
"bg-chart-1",
|
|
66
67
|
"bg-chart-2",
|
|
67
68
|
"bg-chart-3",
|
|
68
69
|
"bg-chart-4",
|
|
69
70
|
"bg-chart-5"
|
|
70
71
|
];
|
|
71
|
-
function
|
|
72
|
-
return
|
|
72
|
+
function D(e, t) {
|
|
73
|
+
return E[(e.color === void 0 ? t : e.color - 1) % E.length];
|
|
73
74
|
}
|
|
74
|
-
function
|
|
75
|
-
let r =
|
|
76
|
-
return /* @__PURE__ */
|
|
75
|
+
function O({ quota: e, strings: t, prominent: n = !1 }) {
|
|
76
|
+
let r = C(e.used, e.limit);
|
|
77
|
+
return /* @__PURE__ */ b(s, {
|
|
77
78
|
gap: "dense",
|
|
78
79
|
className: "usage-card--quota",
|
|
79
80
|
children: [
|
|
80
|
-
/* @__PURE__ */
|
|
81
|
+
/* @__PURE__ */ b(s, {
|
|
81
82
|
direction: "horizontal",
|
|
82
83
|
gap: "xs",
|
|
83
84
|
align: "baseline",
|
|
84
85
|
children: [
|
|
85
|
-
/* @__PURE__ */
|
|
86
|
+
/* @__PURE__ */ y(p, {
|
|
86
87
|
type: "inherit",
|
|
87
88
|
value: r.used,
|
|
88
89
|
emptyLabel: t.unavailable,
|
|
@@ -90,21 +91,21 @@ function D({ quota: e, strings: t, prominent: n = !1 }) {
|
|
|
90
91
|
weight: n ? "semibold" : "medium",
|
|
91
92
|
align: "left"
|
|
92
93
|
}),
|
|
93
|
-
!n && r.kind === "limited" && /* @__PURE__ */
|
|
94
|
+
!n && r.kind === "limited" && /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y(i, {
|
|
94
95
|
tag: "span",
|
|
95
96
|
type: "secondary",
|
|
96
97
|
children: t.of
|
|
97
|
-
}), /* @__PURE__ */
|
|
98
|
+
}), /* @__PURE__ */ y(p, {
|
|
98
99
|
value: r.limit,
|
|
99
100
|
type: "secondary",
|
|
100
101
|
align: "left"
|
|
101
102
|
})] }),
|
|
102
|
-
e.unit && /* @__PURE__ */
|
|
103
|
+
e.unit && /* @__PURE__ */ y(i, {
|
|
103
104
|
tag: "span",
|
|
104
105
|
type: "secondary",
|
|
105
106
|
children: e.unit
|
|
106
107
|
}),
|
|
107
|
-
n && r.used !== null && /* @__PURE__ */
|
|
108
|
+
n && r.used !== null && /* @__PURE__ */ y(i, {
|
|
108
109
|
tag: "span",
|
|
109
110
|
size: "xs",
|
|
110
111
|
type: "secondary",
|
|
@@ -112,29 +113,29 @@ function D({ quota: e, strings: t, prominent: n = !1 }) {
|
|
|
112
113
|
})
|
|
113
114
|
]
|
|
114
115
|
}),
|
|
115
|
-
n && r.kind === "limited" && /* @__PURE__ */
|
|
116
|
+
n && r.kind === "limited" && /* @__PURE__ */ b(s, {
|
|
116
117
|
direction: "horizontal",
|
|
117
118
|
gap: "xs",
|
|
118
119
|
align: "baseline",
|
|
119
|
-
children: [/* @__PURE__ */
|
|
120
|
+
children: [/* @__PURE__ */ y(i, {
|
|
120
121
|
tag: "span",
|
|
121
122
|
size: "xs",
|
|
122
123
|
type: "secondary",
|
|
123
124
|
children: t.of
|
|
124
|
-
}), /* @__PURE__ */
|
|
125
|
+
}), /* @__PURE__ */ y(p, {
|
|
125
126
|
value: r.limit,
|
|
126
127
|
size: "xs",
|
|
127
128
|
type: "secondary",
|
|
128
129
|
align: "left"
|
|
129
130
|
})]
|
|
130
131
|
}),
|
|
131
|
-
r.kind === "unlimited" && /* @__PURE__ */
|
|
132
|
+
r.kind === "unlimited" && /* @__PURE__ */ y(i, {
|
|
132
133
|
tag: "span",
|
|
133
134
|
size: "xs",
|
|
134
135
|
type: "secondary",
|
|
135
136
|
children: t.unlimited
|
|
136
137
|
}),
|
|
137
|
-
r.kind === "unavailable" && r.used !== null && /* @__PURE__ */
|
|
138
|
+
r.kind === "unavailable" && r.used !== null && /* @__PURE__ */ y(i, {
|
|
138
139
|
tag: "span",
|
|
139
140
|
size: "xs",
|
|
140
141
|
type: "secondary",
|
|
@@ -143,59 +144,59 @@ function D({ quota: e, strings: t, prominent: n = !1 }) {
|
|
|
143
144
|
]
|
|
144
145
|
});
|
|
145
146
|
}
|
|
146
|
-
function
|
|
147
|
-
let o =
|
|
147
|
+
function k({ quota: t, label: r, strings: i, categories: a }) {
|
|
148
|
+
let o = C(t.used, t.limit), s = e();
|
|
148
149
|
if (o.kind !== "limited") return null;
|
|
149
|
-
let c = a?.reduce((e, t) => e + (
|
|
150
|
-
return /* @__PURE__ */
|
|
150
|
+
let c = a?.reduce((e, t) => e + (x(t.value) ?? 0), 0) ?? 0, d = !!a?.length && a.every((e) => x(e.value) !== null) && !S(c, o.used ?? 0, a.length), f = Math.max(o.limit ?? 0, o.used ?? 0), p = f > 0 ? f : 1, m = S(o.used ?? 0, c, a?.length) ? (o.used ?? 0) - c : 0, h = new Intl.NumberFormat(s.locale);
|
|
151
|
+
return /* @__PURE__ */ y(u, {
|
|
151
152
|
value: o.progress ?? 0,
|
|
152
153
|
"aria-label": r,
|
|
153
154
|
getAriaValueText: () => `${h.format(o.used ?? 0)} ${i.of} ${h.format(o.limit ?? 0)} ${t.unit ?? ""} ${i.used}`,
|
|
154
155
|
tone: o.excess ? "destructive" : "primary",
|
|
155
|
-
trackSlot: d ? /* @__PURE__ */
|
|
156
|
+
trackSlot: d ? /* @__PURE__ */ b(l, { children: [a?.map((e, t) => /* @__PURE__ */ y("span", {
|
|
156
157
|
"aria-hidden": "true",
|
|
157
|
-
className: n("h-full shrink-0",
|
|
158
|
+
className: n("h-full shrink-0", D(e, t)),
|
|
158
159
|
style: { width: `${(e.value ?? 0) / p * 100}%` }
|
|
159
|
-
}, e.id)), m > 0 && /* @__PURE__ */
|
|
160
|
+
}, e.id)), m > 0 && /* @__PURE__ */ y("span", {
|
|
160
161
|
"aria-hidden": "true",
|
|
161
162
|
className: "h-full shrink-0 bg-primary",
|
|
162
163
|
style: { width: `${m / p * 100}%` }
|
|
163
164
|
})] }) : void 0
|
|
164
165
|
});
|
|
165
166
|
}
|
|
166
|
-
function
|
|
167
|
-
let r =
|
|
168
|
-
return /* @__PURE__ */
|
|
167
|
+
function A({ days: e, unit: t, strings: n }) {
|
|
168
|
+
let r = w(e);
|
|
169
|
+
return /* @__PURE__ */ b(s, {
|
|
169
170
|
gap: "sm",
|
|
170
171
|
className: "usage-card--daily",
|
|
171
172
|
children: [
|
|
172
|
-
/* @__PURE__ */
|
|
173
|
+
/* @__PURE__ */ b(s, {
|
|
173
174
|
direction: "horizontal",
|
|
174
175
|
justify: "between",
|
|
175
176
|
align: "baseline",
|
|
176
177
|
gap: "sm",
|
|
177
|
-
children: [/* @__PURE__ */
|
|
178
|
+
children: [/* @__PURE__ */ y(a, {
|
|
178
179
|
className: "text-inherit",
|
|
179
180
|
children: n.daily
|
|
180
|
-
}), /* @__PURE__ */
|
|
181
|
+
}), /* @__PURE__ */ b(s, {
|
|
181
182
|
direction: "horizontal",
|
|
182
183
|
gap: "xs",
|
|
183
184
|
align: "baseline",
|
|
184
185
|
children: [
|
|
185
|
-
/* @__PURE__ */
|
|
186
|
+
/* @__PURE__ */ y(i, {
|
|
186
187
|
tag: "span",
|
|
187
188
|
size: "xs",
|
|
188
189
|
type: "secondary",
|
|
189
190
|
children: n.average
|
|
190
191
|
}),
|
|
191
|
-
/* @__PURE__ */
|
|
192
|
+
/* @__PURE__ */ y(p, {
|
|
192
193
|
type: "inherit",
|
|
193
194
|
value: r.average,
|
|
194
195
|
emptyLabel: n.unavailable,
|
|
195
196
|
options: { maximumFractionDigits: 0 },
|
|
196
197
|
weight: "medium"
|
|
197
198
|
}),
|
|
198
|
-
/* @__PURE__ */
|
|
199
|
+
/* @__PURE__ */ y(i, {
|
|
199
200
|
tag: "span",
|
|
200
201
|
size: "xs",
|
|
201
202
|
type: "secondary",
|
|
@@ -204,42 +205,42 @@ function k({ days: e, unit: t, strings: n }) {
|
|
|
204
205
|
]
|
|
205
206
|
})]
|
|
206
207
|
}),
|
|
207
|
-
e.length > 0 && /* @__PURE__ */
|
|
208
|
+
e.length > 0 && /* @__PURE__ */ b(v, { children: [/* @__PURE__ */ y("svg", {
|
|
208
209
|
viewBox: `0 0 ${e.length * 10} 40`,
|
|
209
210
|
preserveAspectRatio: "none",
|
|
210
211
|
"aria-hidden": "true",
|
|
211
212
|
className: "usage-card--daily-chart h-control-lg w-full overflow-visible",
|
|
212
|
-
children: r.values.map((e, t) => e === null ? null : /* @__PURE__ */
|
|
213
|
+
children: r.values.map((e, t) => e === null ? null : /* @__PURE__ */ y("rect", {
|
|
213
214
|
x: t * 10 + 1,
|
|
214
215
|
y: 40 - e / r.maximum * 40,
|
|
215
216
|
width: 8,
|
|
216
217
|
height: e / r.maximum * 40,
|
|
217
218
|
className: "fill-chart-1"
|
|
218
219
|
}, t))
|
|
219
|
-
}), /* @__PURE__ */
|
|
220
|
+
}), /* @__PURE__ */ b(s, {
|
|
220
221
|
direction: "horizontal",
|
|
221
222
|
justify: "between",
|
|
222
223
|
gap: "sm",
|
|
223
224
|
"aria-hidden": "true",
|
|
224
|
-
children: [/* @__PURE__ */
|
|
225
|
+
children: [/* @__PURE__ */ y(i, {
|
|
225
226
|
size: "xs",
|
|
226
227
|
type: "secondary",
|
|
227
228
|
children: e[0]?.label
|
|
228
|
-
}), e.length > 1 && /* @__PURE__ */
|
|
229
|
+
}), e.length > 1 && /* @__PURE__ */ y(i, {
|
|
229
230
|
size: "xs",
|
|
230
231
|
type: "secondary",
|
|
231
232
|
children: e[e.length - 1]?.label
|
|
232
233
|
})]
|
|
233
234
|
})] }),
|
|
234
|
-
/* @__PURE__ */
|
|
235
|
+
/* @__PURE__ */ y("ol", {
|
|
235
236
|
className: "sr-only",
|
|
236
237
|
"aria-label": n.daily,
|
|
237
|
-
children: e.map((e, r) => /* @__PURE__ */
|
|
238
|
+
children: e.map((e, r) => /* @__PURE__ */ b("li", { children: [
|
|
238
239
|
e.label,
|
|
239
240
|
": ",
|
|
240
|
-
/* @__PURE__ */
|
|
241
|
+
/* @__PURE__ */ y(p, {
|
|
241
242
|
type: "inherit",
|
|
242
|
-
value:
|
|
243
|
+
value: x(e.value),
|
|
243
244
|
emptyLabel: n.unavailable
|
|
244
245
|
}),
|
|
245
246
|
" ",
|
|
@@ -249,25 +250,25 @@ function k({ days: e, unit: t, strings: n }) {
|
|
|
249
250
|
]
|
|
250
251
|
});
|
|
251
252
|
}
|
|
252
|
-
function
|
|
253
|
-
let r =
|
|
254
|
-
return /* @__PURE__ */
|
|
253
|
+
function j({ data: e, strings: t }) {
|
|
254
|
+
let r = C(e.used, e.limit), c = e.categories?.reduce((e, t) => e + (x(t.value) ?? 0), 0) ?? 0, l = r.used !== null && S(c, r.used, e.categories?.length);
|
|
255
|
+
return /* @__PURE__ */ b(s, {
|
|
255
256
|
gap: "lg",
|
|
256
257
|
children: [
|
|
257
|
-
/* @__PURE__ */
|
|
258
|
+
/* @__PURE__ */ b(s, {
|
|
258
259
|
gap: "md",
|
|
259
260
|
className: "usage-card--summary",
|
|
260
261
|
children: [
|
|
261
|
-
/* @__PURE__ */
|
|
262
|
+
/* @__PURE__ */ b(s, {
|
|
262
263
|
direction: "horizontal",
|
|
263
264
|
justify: "between",
|
|
264
265
|
align: "start",
|
|
265
266
|
gap: "sm",
|
|
266
|
-
children: [/* @__PURE__ */
|
|
267
|
+
children: [/* @__PURE__ */ y(O, {
|
|
267
268
|
quota: e,
|
|
268
269
|
strings: t,
|
|
269
270
|
prominent: !0
|
|
270
|
-
}), r.percent !== null && /* @__PURE__ */
|
|
271
|
+
}), r.percent !== null && /* @__PURE__ */ y(f, {
|
|
271
272
|
value: r.percent,
|
|
272
273
|
scaled: !0,
|
|
273
274
|
size: "lg",
|
|
@@ -276,46 +277,46 @@ function A({ data: e, strings: t }) {
|
|
|
276
277
|
options: { maximumFractionDigits: 0 }
|
|
277
278
|
})]
|
|
278
279
|
}),
|
|
279
|
-
/* @__PURE__ */
|
|
280
|
+
/* @__PURE__ */ y(k, {
|
|
280
281
|
quota: e,
|
|
281
282
|
label: t.usage,
|
|
282
283
|
strings: t,
|
|
283
284
|
categories: e.categories
|
|
284
285
|
}),
|
|
285
|
-
!!e.categories?.length && /* @__PURE__ */
|
|
286
|
-
render: /* @__PURE__ */
|
|
286
|
+
!!e.categories?.length && /* @__PURE__ */ y(o, {
|
|
287
|
+
render: /* @__PURE__ */ y("ul", { "aria-label": t.breakdown }),
|
|
287
288
|
columns: 3,
|
|
288
289
|
gap: "sm",
|
|
289
290
|
className: "m-0 list-none p-0 font-sans usage-card--categories grid-cols-[minmax(0,1fr)_auto_minmax(5ch,max-content)]",
|
|
290
291
|
children: e.categories.map((e, a) => {
|
|
291
|
-
let o =
|
|
292
|
-
return /* @__PURE__ */
|
|
292
|
+
let o = x(e.value), c = r.used === null || o === null || l ? null : r.used === 0 ? 0 : o / r.used;
|
|
293
|
+
return /* @__PURE__ */ b("li", {
|
|
293
294
|
className: "usage-card--category col-span-full grid grid-cols-subgrid items-baseline",
|
|
294
295
|
children: [
|
|
295
|
-
/* @__PURE__ */
|
|
296
|
+
/* @__PURE__ */ b(s, {
|
|
296
297
|
direction: "horizontal",
|
|
297
298
|
gap: "sm",
|
|
298
299
|
align: "center",
|
|
299
300
|
wrap: !1,
|
|
300
301
|
className: "min-w-0",
|
|
301
|
-
children: [/* @__PURE__ */
|
|
302
|
+
children: [/* @__PURE__ */ y("span", {
|
|
302
303
|
"aria-hidden": "true",
|
|
303
|
-
className: n("size-icon-sm shrink-0 rounded-full",
|
|
304
|
-
}), /* @__PURE__ */
|
|
304
|
+
className: n("size-icon-sm shrink-0 rounded-full", D(e, a))
|
|
305
|
+
}), /* @__PURE__ */ y(i, {
|
|
305
306
|
type: "inherit",
|
|
306
307
|
tag: "span",
|
|
307
308
|
className: "break-words",
|
|
308
309
|
children: e.label
|
|
309
310
|
})]
|
|
310
311
|
}),
|
|
311
|
-
/* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ y(p, {
|
|
312
313
|
type: "inherit",
|
|
313
314
|
value: o,
|
|
314
315
|
emptyLabel: t.unavailable,
|
|
315
316
|
weight: "medium",
|
|
316
317
|
className: "usage-card--category-value"
|
|
317
318
|
}),
|
|
318
|
-
/* @__PURE__ */
|
|
319
|
+
/* @__PURE__ */ y(f, {
|
|
319
320
|
value: c,
|
|
320
321
|
emptyLabel: t.unavailable,
|
|
321
322
|
type: "secondary",
|
|
@@ -326,44 +327,44 @@ function A({ data: e, strings: t }) {
|
|
|
326
327
|
}, e.id);
|
|
327
328
|
})
|
|
328
329
|
}),
|
|
329
|
-
l && /* @__PURE__ */
|
|
330
|
+
l && /* @__PURE__ */ y(i, {
|
|
330
331
|
size: "xs",
|
|
331
332
|
type: "secondary",
|
|
332
333
|
children: t.inconsistentBreakdown
|
|
333
334
|
})
|
|
334
335
|
]
|
|
335
336
|
}),
|
|
336
|
-
e.daily && /* @__PURE__ */
|
|
337
|
+
e.daily && /* @__PURE__ */ y(A, {
|
|
337
338
|
days: e.daily,
|
|
338
339
|
unit: e.unit,
|
|
339
340
|
strings: t
|
|
340
341
|
}),
|
|
341
|
-
!!e.resources?.length && /* @__PURE__ */
|
|
342
|
+
!!e.resources?.length && /* @__PURE__ */ b(s, {
|
|
342
343
|
gap: "sm",
|
|
343
|
-
children: [/* @__PURE__ */
|
|
344
|
+
children: [/* @__PURE__ */ y(a, {
|
|
344
345
|
className: "text-inherit",
|
|
345
346
|
children: t.resources
|
|
346
|
-
}), /* @__PURE__ */
|
|
347
|
+
}), /* @__PURE__ */ y(o, {
|
|
347
348
|
columns: 1,
|
|
348
349
|
gap: "md",
|
|
349
350
|
className: "usage-card--resources @sm/card:grid-cols-3",
|
|
350
|
-
children: e.resources.map((e) => /* @__PURE__ */
|
|
351
|
+
children: e.resources.map((e) => /* @__PURE__ */ b(s, {
|
|
351
352
|
gap: "sm",
|
|
352
353
|
className: "usage-card--resource min-w-0",
|
|
353
354
|
role: "group",
|
|
354
355
|
"aria-label": e.label,
|
|
355
356
|
children: [
|
|
356
|
-
/* @__PURE__ */
|
|
357
|
+
/* @__PURE__ */ y(i, {
|
|
357
358
|
type: "inherit",
|
|
358
359
|
tag: "span",
|
|
359
360
|
weight: "medium",
|
|
360
361
|
children: e.label
|
|
361
362
|
}),
|
|
362
|
-
/* @__PURE__ */
|
|
363
|
+
/* @__PURE__ */ y(O, {
|
|
363
364
|
quota: e,
|
|
364
365
|
strings: t
|
|
365
366
|
}),
|
|
366
|
-
/* @__PURE__ */
|
|
367
|
+
/* @__PURE__ */ y(k, {
|
|
367
368
|
quota: e,
|
|
368
369
|
label: e.label,
|
|
369
370
|
strings: t
|
|
@@ -375,98 +376,98 @@ function A({ data: e, strings: t }) {
|
|
|
375
376
|
]
|
|
376
377
|
});
|
|
377
378
|
}
|
|
378
|
-
function
|
|
379
|
-
let
|
|
380
|
-
|
|
379
|
+
function M({ data: e, status: a = "ready", periods: o, period: l, onPeriodChange: u, onRetry: f, loadingSlot: v, errorSlot: x, emptySlot: S, footerAction: w, strings: E, ...D }) {
|
|
380
|
+
let O = t(T, E), k = a === "ready" && !!e, A = k ? C(e.used, e.limit) : null, M = l ?? o?.[0]?.value ?? "", N = !!o?.length, P;
|
|
381
|
+
P = a === "loading" ? /* @__PURE__ */ y("div", {
|
|
381
382
|
role: "status",
|
|
382
|
-
children:
|
|
383
|
+
children: v ?? /* @__PURE__ */ y(i, {
|
|
383
384
|
type: "secondary",
|
|
384
|
-
children:
|
|
385
|
+
children: O.loading
|
|
385
386
|
})
|
|
386
|
-
}) : a === "error" ? /* @__PURE__ */
|
|
387
|
+
}) : a === "error" ? /* @__PURE__ */ b(s, {
|
|
387
388
|
role: "alert",
|
|
388
389
|
gap: "sm",
|
|
389
|
-
children: [
|
|
390
|
+
children: [x ?? /* @__PURE__ */ y(i, {
|
|
390
391
|
type: "inherit",
|
|
391
|
-
children:
|
|
392
|
-
}),
|
|
392
|
+
children: O.error
|
|
393
|
+
}), f && /* @__PURE__ */ y(r, {
|
|
393
394
|
tone: "secondary",
|
|
394
|
-
onClick:
|
|
395
|
-
children:
|
|
395
|
+
onClick: f,
|
|
396
|
+
children: O.retry
|
|
396
397
|
})]
|
|
397
|
-
}) :
|
|
398
|
+
}) : k ? /* @__PURE__ */ y(j, {
|
|
398
399
|
data: e,
|
|
399
|
-
strings:
|
|
400
|
-
}) : /* @__PURE__ */
|
|
400
|
+
strings: O
|
|
401
|
+
}) : /* @__PURE__ */ y("div", { children: S ?? /* @__PURE__ */ y(i, {
|
|
401
402
|
type: "secondary",
|
|
402
|
-
children:
|
|
403
|
+
children: O.empty
|
|
403
404
|
}) });
|
|
404
|
-
let
|
|
405
|
+
let F = (A?.kind === "limited" || w) && /* @__PURE__ */ b(s, {
|
|
405
406
|
direction: "horizontal",
|
|
406
407
|
justify: "between",
|
|
407
408
|
align: "center",
|
|
408
409
|
gap: "md",
|
|
409
|
-
children: [
|
|
410
|
+
children: [A?.kind === "limited" && /* @__PURE__ */ b(s, {
|
|
410
411
|
direction: "horizontal",
|
|
411
412
|
gap: "xs",
|
|
412
413
|
align: "baseline",
|
|
413
414
|
children: [
|
|
414
|
-
/* @__PURE__ */
|
|
415
|
+
/* @__PURE__ */ y(p, {
|
|
415
416
|
type: "inherit",
|
|
416
|
-
value:
|
|
417
|
+
value: A.excess ? A.excess : A.remaining,
|
|
417
418
|
weight: "medium"
|
|
418
419
|
}),
|
|
419
|
-
e?.unit && /* @__PURE__ */
|
|
420
|
+
e?.unit && /* @__PURE__ */ y(i, {
|
|
420
421
|
tag: "span",
|
|
421
422
|
type: "secondary",
|
|
422
423
|
children: e.unit
|
|
423
424
|
}),
|
|
424
|
-
/* @__PURE__ */
|
|
425
|
+
/* @__PURE__ */ y(i, {
|
|
425
426
|
tag: "span",
|
|
426
427
|
type: "secondary",
|
|
427
|
-
children:
|
|
428
|
+
children: A.excess ? O.overLimit : O.remaining
|
|
428
429
|
})
|
|
429
430
|
]
|
|
430
|
-
}),
|
|
431
|
-
}),
|
|
432
|
-
...
|
|
433
|
-
title:
|
|
434
|
-
className: n("usage-card--component min-w-0",
|
|
431
|
+
}), w]
|
|
432
|
+
}), I = /* @__PURE__ */ y(c, {
|
|
433
|
+
...D,
|
|
434
|
+
title: D.title ?? O.title,
|
|
435
|
+
className: n("usage-card--component min-w-0", D.className),
|
|
435
436
|
"data-component": "usage-card",
|
|
436
437
|
"data-slot": "usage-card",
|
|
437
438
|
"aria-busy": a === "loading" || void 0,
|
|
438
|
-
headerAction:
|
|
439
|
+
headerAction: N ? /* @__PURE__ */ b(s, {
|
|
439
440
|
direction: "horizontal",
|
|
440
|
-
gap:
|
|
441
|
+
gap: d.commands,
|
|
441
442
|
align: "center",
|
|
442
443
|
className: "usage-card--header-actions max-w-full",
|
|
443
|
-
children: [/* @__PURE__ */
|
|
444
|
+
children: [/* @__PURE__ */ y(g, {
|
|
444
445
|
scrollable: !0,
|
|
445
|
-
"aria-label":
|
|
446
|
-
children: o.map((e) => /* @__PURE__ */
|
|
446
|
+
"aria-label": O.periods,
|
|
447
|
+
children: o.map((e) => /* @__PURE__ */ y(m, {
|
|
447
448
|
value: e.value,
|
|
448
449
|
disabled: e.disabled || !u,
|
|
449
450
|
children: e.label
|
|
450
451
|
}, e.value))
|
|
451
|
-
}),
|
|
452
|
-
}) :
|
|
453
|
-
footerSlot:
|
|
454
|
-
children:
|
|
455
|
-
value:
|
|
456
|
-
children:
|
|
457
|
-
}) :
|
|
452
|
+
}), D.headerAction]
|
|
453
|
+
}) : D.headerAction,
|
|
454
|
+
footerSlot: F,
|
|
455
|
+
children: N ? /* @__PURE__ */ y(h, {
|
|
456
|
+
value: M,
|
|
457
|
+
children: P
|
|
458
|
+
}) : P
|
|
458
459
|
});
|
|
459
|
-
return
|
|
460
|
-
value:
|
|
460
|
+
return N ? /* @__PURE__ */ y(_, {
|
|
461
|
+
value: M,
|
|
461
462
|
onValueChange: (e) => {
|
|
462
463
|
typeof e == "string" && u?.(e);
|
|
463
464
|
},
|
|
464
465
|
className: "min-w-0",
|
|
465
|
-
children:
|
|
466
|
-
}) :
|
|
466
|
+
children: I
|
|
467
|
+
}) : I;
|
|
467
468
|
}
|
|
468
|
-
|
|
469
|
+
M.displayName = "UsageCard";
|
|
469
470
|
//#endregion
|
|
470
|
-
export {
|
|
471
|
+
export { T as n, M as t };
|
|
471
472
|
|
|
472
|
-
//# sourceMappingURL=usage-card-
|
|
473
|
+
//# sourceMappingURL=usage-card-DVTRDmGz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-card-DVTRDmGz.js","names":["NumberValue","_Fragment","useFormattingConfig","cn","Button","Text","DisplayLabel","Grid","Stack","Card","ProgressTrack","Progress","compositionRhythm","Percent","Number$1","TabsTrigger","TabsContent","TabsList","Tabs","validUsage","value","usageExceeds","actual","expected","tolerance","terms","quotaSummary","used","usedValue","limit","limitValue","kind","ratio","dailySummary","values","days","day","complete","maximum","max","sum","defaultUsageCardStrings","chartColors","categoryColor","category","index","QuotaValue","summary","quota","strings","prominent","Fragment","QuotaProgress","formatting","categories","total","segmented","denominator","unclassified","format","label","DailyUsage","unit","UsageBody","data","categoryTotal","inconsistent","percent","resource","UsageCard","stringsProp","cardProps","useStrings","ready","status","selectedPeriod","period","periods","hasPeriods","body","loadingSlot","errorSlot","onRetry","emptySlot","footer","footerAction","card","item","onPeriodChange"],"sources":["../src/components/blocks/analytics/usage-card/usage-card.data.ts","../src/components/blocks/analytics/usage-card/usage-card.strings.ts","../src/components/blocks/analytics/usage-card/usage-card.tsx"],"sourcesContent":["import type { UsageCardDay } from './types';\n\nexport function validUsage(value: number | null | undefined): number | null {\n\treturn typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : null;\n}\n\n/** Account only for rounding accumulated by positive finite category additions. */\nexport function usageExceeds(actual: number, expected: number, terms = 1): boolean {\n\tif (validUsage(actual) === null || validUsage(expected) === null) return true;\n\tconst magnitude = Math.max(actual, expected);\n\tconst tolerance = magnitude * Number.EPSILON * Math.max(1, terms);\n\treturn actual - expected > tolerance;\n}\n\n/** Retain actual numbers; cap only geometry. Zero quota has no finite percentage. */\nexport function quotaSummary(usedValue: number | null, limitValue: number | null | undefined) {\n\tconst used = validUsage(usedValue);\n\tconst limit = validUsage(limitValue);\n\tconst kind = used === null ? 'unavailable' : limitValue === null ? 'unlimited' : limit === null ? 'unavailable' : 'limited';\n\tconst ratio = used !== null && limit !== null && limit > 0 ? used / limit * 100 : used === 0 && limit === 0 ? 0 : null;\n\tconst percent = ratio !== null && Number.isFinite(ratio) ? ratio : null;\n\treturn {\n\t\tkind, used, limit, percent,\n\t\tprogress: kind === 'limited' ? limit === 0 ? used === 0 ? 0 : 100 : Math.min(100, ratio ?? 0) : null,\n\t\tremaining: kind === 'limited' ? Math.max(0, (limit ?? 0) - (used ?? 0)) : null,\n\t\texcess: kind === 'limited' ? Math.max(0, (used ?? 0) - (limit ?? 0)) : null,\n\t} as const;\n}\n\nexport function dailySummary(days: readonly UsageCardDay[]) {\n\tconst values = days.map(day => validUsage(day.value));\n\tconst complete = values.length > 0 && values.every(value => value !== null);\n\tconst maximum = values.reduce<number>((max, value) => Math.max(max, value ?? 0), 0);\n\treturn {\n\t\tvalues,\n\t\t// Dividing before summing avoids overflow for finite, very large values.\n\t\taverage: complete ? values.reduce<number>((sum, value) => sum + (value ?? 0) / values.length, 0) : null,\n\t\tmaximum: maximum > 0 ? maximum : 1,\n\t};\n}\n","export interface UsageCardStrings {\n\ttitle: string;\n\tusage: string;\n\tused: string;\n\tof: string;\n\tunlimited: string;\n\tunavailable: string;\n\tremaining: string;\n\toverLimit: string;\n\tbreakdown: string;\n\tinconsistentBreakdown: string;\n\tdaily: string;\n\taverage: string;\n\tperDay: string;\n\tresources: string;\n\tperiods: string;\n\tloading: string;\n\terror: string;\n\tempty: string;\n\tretry: string;\n}\nexport const defaultUsageCardStrings: UsageCardStrings = {\n\ttitle: 'Usage', usage: 'Usage', used: 'used', of: 'of', unlimited: 'Unlimited',\n\tunavailable: 'Unavailable', remaining: 'remaining', overLimit: 'over limit',\n\tbreakdown: 'Usage breakdown', inconsistentBreakdown: 'Category totals exceed reported usage.',\n\tdaily: 'Daily usage', average: 'Average', perDay: 'per day', resources: 'Resources',\n\tperiods: 'Usage period', loading: 'Loading usage', error: 'Unable to load usage',\n\tempty: 'No usage data', retry: 'Retry',\n};\n","import {compositionRhythm} from '../../../base/structure/composition.recipes';\nimport type { ReactNode } from 'react';\n\nimport { Button } from '../../../base/buttons';\nimport { Card } from '../../../base/cards';\nimport { Progress, ProgressTrack } from '../../../base/feedback';\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '../../../base/navigation';\nimport { Grid, Stack } from '../../../base/structure';\nimport { Number as NumberValue, Percent } from '../../../primitives';\nimport { DisplayLabel, Text } from '../../../typography';\nimport { useStrings } from '../../../../lib/strings';\nimport { useFormattingConfig } from '../../../../lib/ui-provider';\nimport { cn } from '../../../../lib/utils';\n\nimport { dailySummary, quotaSummary, usageExceeds, validUsage } from './usage-card.data';\nimport { defaultUsageCardStrings, type UsageCardStrings } from './usage-card.strings';\nimport type { UsageCardCategory, UsageCardData, UsageCardDay, UsageCardProps, UsageCardQuota } from './types';\n\nconst chartColors = ['bg-chart-1', 'bg-chart-2', 'bg-chart-3', 'bg-chart-4', 'bg-chart-5'] as const;\nfunction categoryColor(category: UsageCardCategory, index: number) {\n\treturn chartColors[(category.color === undefined ? index : category.color - 1) % chartColors.length];\n}\n\nfunction QuotaValue({ quota, strings, prominent = false }: { quota: UsageCardQuota; strings: UsageCardStrings; prominent?: boolean }) {\n\tconst summary = quotaSummary(quota.used, quota.limit);\n\treturn <Stack gap=\"dense\" className=\"usage-card--quota\">\n\t\t<Stack direction=\"horizontal\" gap=\"xs\" align=\"baseline\">\n\t\t\t<NumberValue type=\"inherit\" value={summary.used} emptyLabel={strings.unavailable} size={prominent ? 'xl' : undefined} weight={prominent ? 'semibold' : 'medium'} align=\"left\" />\n\t\t\t{!prominent && summary.kind === 'limited' && <>\n\t\t\t\t<Text tag=\"span\" type=\"secondary\">{strings.of}</Text>\n\t\t\t\t<NumberValue value={summary.limit} type=\"secondary\" align=\"left\" />\n\t\t\t</>}\n\t\t\t{quota.unit && <Text tag=\"span\" type=\"secondary\">{quota.unit}</Text>}\n\t\t\t{prominent && summary.used !== null && <Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.used}</Text>}\n\t\t</Stack>\n\t\t{prominent && summary.kind === 'limited' && <Stack direction=\"horizontal\" gap=\"xs\" align=\"baseline\">\n\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.of}</Text>\n\t\t\t<NumberValue value={summary.limit} size=\"xs\" type=\"secondary\" align=\"left\" />\n\t\t</Stack>}\n\t\t{summary.kind === 'unlimited' && <Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.unlimited}</Text>}\n\t\t{summary.kind === 'unavailable' && summary.used !== null && <Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.unavailable}</Text>}\n\t</Stack>;\n}\n\nfunction QuotaProgress({ quota, label, strings, categories }: { quota: UsageCardQuota; label: string; strings: UsageCardStrings; categories?: readonly UsageCardCategory[] }) {\n\tconst summary = quotaSummary(quota.used, quota.limit);\n\tconst formatting = useFormattingConfig();\n\tif (summary.kind !== 'limited') return null;\n\tconst sum = categories?.reduce((total, category) => total + (validUsage(category.value) ?? 0), 0) ?? 0;\n\tconst segmented = !!categories?.length && categories.every(category => validUsage(category.value) !== null) && !usageExceeds(sum, summary.used ?? 0, categories.length);\n\tconst maximum = Math.max(summary.limit ?? 0, summary.used ?? 0);\n\tconst denominator = maximum > 0 ? maximum : 1;\n\tconst unclassified = usageExceeds(summary.used ?? 0, sum, categories?.length) ? (summary.used ?? 0) - sum : 0;\n\tconst format = new Intl.NumberFormat(formatting.locale);\n\treturn <Progress\n\t\tvalue={summary.progress ?? 0}\n\t\taria-label={label}\n\t\tgetAriaValueText={() => `${format.format(summary.used ?? 0)} ${strings.of} ${format.format(summary.limit ?? 0)} ${quota.unit ?? ''} ${strings.used}`}\n\t\ttone={summary.excess ? 'destructive' : 'primary'}\n\t\ttrackSlot={segmented ? <ProgressTrack>\n\t\t\t{categories?.map((category, index) => <span key={category.id} aria-hidden=\"true\" className={cn('h-full shrink-0', categoryColor(category, index))} style={{ width: `${(category.value ?? 0) / denominator * 100}%` }} />)}\n\t\t\t{unclassified > 0 && <span aria-hidden=\"true\" className=\"h-full shrink-0 bg-primary\" style={{ width: `${unclassified / denominator * 100}%` }} />}\n\t\t</ProgressTrack> : undefined}\n\t/>;\n}\n\nfunction DailyUsage({ days, unit, strings }: { days: readonly UsageCardDay[]; unit?: string; strings: UsageCardStrings }) {\n\tconst summary = dailySummary(days);\n\treturn <Stack gap=\"sm\" className=\"usage-card--daily\">\n\t\t<Stack direction=\"horizontal\" justify=\"between\" align=\"baseline\" gap=\"sm\">\n\t\t\t<DisplayLabel className=\"text-inherit\">{strings.daily}</DisplayLabel>\n\t\t\t<Stack direction=\"horizontal\" gap=\"xs\" align=\"baseline\">\n\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.average}</Text>\n\t\t\t\t<NumberValue type=\"inherit\" value={summary.average} emptyLabel={strings.unavailable} options={{ maximumFractionDigits: 0 }} weight=\"medium\" />\n\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{strings.perDay}</Text>\n\t\t\t</Stack>\n\t\t</Stack>\n\t\t{days.length > 0 && <>\n\t\t\t<svg viewBox={`0 0 ${days.length * 10} 40`} preserveAspectRatio=\"none\" aria-hidden=\"true\" className=\"usage-card--daily-chart h-control-lg w-full overflow-visible\">\n\t\t\t\t{summary.values.map((value, index) => value === null ? null : <rect key={index} x={index * 10 + 1} y={40 - value / summary.maximum * 40} width={8} height={value / summary.maximum * 40} className=\"fill-chart-1\" />)}\n\t\t\t</svg>\n\t\t\t<Stack direction=\"horizontal\" justify=\"between\" gap=\"sm\" aria-hidden=\"true\">\n\t\t\t\t<Text size=\"xs\" type=\"secondary\">{days[0]?.label}</Text>\n\t\t\t\t{days.length > 1 && <Text size=\"xs\" type=\"secondary\">{days[days.length - 1]?.label}</Text>}\n\t\t\t</Stack>\n\t\t</>}\n\t\t<ol className=\"sr-only\" aria-label={strings.daily}>\n\t\t\t{days.map((day, index) => <li key={index}>{day.label}: <NumberValue type=\"inherit\" value={validUsage(day.value)} emptyLabel={strings.unavailable} /> {unit}</li>)}\n\t\t</ol>\n\t</Stack>;\n}\n\nfunction UsageBody({ data, strings }: { data: UsageCardData; strings: UsageCardStrings }) {\n\tconst summary = quotaSummary(data.used, data.limit);\n\tconst categoryTotal = data.categories?.reduce((total, category) => total + (validUsage(category.value) ?? 0), 0) ?? 0;\n\tconst inconsistent = summary.used !== null && usageExceeds(categoryTotal, summary.used, data.categories?.length);\n\treturn <Stack gap=\"lg\">\n\t\t<Stack gap=\"md\" className=\"usage-card--summary\">\n\t\t\t<Stack direction=\"horizontal\" justify=\"between\" align=\"start\" gap=\"sm\">\n\t\t\t\t<QuotaValue quota={data} strings={strings} prominent />\n\t\t\t\t{summary.percent !== null && <Percent value={summary.percent} scaled size=\"lg\" weight=\"medium\" type=\"secondary\" options={{ maximumFractionDigits: 0 }} />}\n\t\t\t</Stack>\n\t\t\t<QuotaProgress quota={data} label={strings.usage} strings={strings} categories={data.categories} />\n\t\t\t{!!data.categories?.length && <Grid render={<ul aria-label={strings.breakdown} />} columns={3} gap=\"sm\" className=\"m-0 list-none p-0 font-sans usage-card--categories grid-cols-[minmax(0,1fr)_auto_minmax(5ch,max-content)]\">\n\t\t\t\t{data.categories.map((category, index) => {\n\t\t\t\t\tconst value = validUsage(category.value);\n\t\t\t\t\tconst percent = summary.used === null || value === null || inconsistent ? null : summary.used === 0 ? 0 : value / summary.used;\n\t\t\t\t\treturn <li key={category.id} className=\"usage-card--category col-span-full grid grid-cols-subgrid items-baseline\">\n\t\t\t\t\t\t<Stack direction=\"horizontal\" gap=\"sm\" align=\"center\" wrap={false} className=\"min-w-0\">\n\t\t\t\t\t\t\t<span aria-hidden=\"true\" className={cn('size-icon-sm shrink-0 rounded-full', categoryColor(category, index))} />\n\t\t\t\t\t\t\t<Text type=\"inherit\" tag=\"span\" className=\"break-words\">{category.label}</Text>\n\t\t\t\t\t\t</Stack>\n\t\t\t\t\t\t<NumberValue type=\"inherit\" value={value} emptyLabel={strings.unavailable} weight=\"medium\" className=\"usage-card--category-value\" />\n\t\t\t\t\t\t<Percent value={percent} emptyLabel={strings.unavailable} type=\"secondary\" options={{ maximumFractionDigits: 0 }} className=\"usage-card--category-share\" />\n\t\t\t\t\t</li>;\n\t\t\t\t})}\n\t\t\t</Grid>}\n\t\t\t{inconsistent && <Text size=\"xs\" type=\"secondary\">{strings.inconsistentBreakdown}</Text>}\n\t\t</Stack>\n\t\t{data.daily && <DailyUsage days={data.daily} unit={data.unit} strings={strings} />}\n\t\t{!!data.resources?.length && <Stack gap=\"sm\">\n\t\t\t<DisplayLabel className=\"text-inherit\">{strings.resources}</DisplayLabel>\n\t\t\t<Grid columns={1} gap=\"md\" className=\"usage-card--resources @sm/card:grid-cols-3\">\n\t\t\t\t{data.resources.map(resource => <Stack key={resource.id} gap=\"sm\" className=\"usage-card--resource min-w-0\" role=\"group\" aria-label={resource.label}>\n\t\t\t\t\t<Text type=\"inherit\" tag=\"span\" weight=\"medium\">{resource.label}</Text>\n\t\t\t\t\t<QuotaValue quota={resource} strings={strings} />\n\t\t\t\t\t<QuotaProgress quota={resource} label={resource.label} strings={strings} />\n\t\t\t\t</Stack>)}\n\t\t\t</Grid>\n\t\t</Stack>}\n\t</Stack>;\n}\n\n/** App-owned usage data and period callbacks in the canonical Card composition. */\nexport function UsageCard({ data, status = 'ready', periods, period, onPeriodChange, onRetry, loadingSlot, errorSlot, emptySlot, footerAction, strings: stringsProp, ...cardProps }: UsageCardProps) {\n\tconst strings = useStrings(defaultUsageCardStrings, stringsProp);\n\tconst ready = status === 'ready' && !!data;\n\tconst summary = ready ? quotaSummary(data.used, data.limit) : null;\n\tconst selectedPeriod = period ?? periods?.[0]?.value ?? '';\n\tconst hasPeriods = !!periods?.length;\n\tlet body: ReactNode;\n\tif (status === 'loading') body = <div role=\"status\">{loadingSlot ?? <Text type=\"secondary\">{strings.loading}</Text>}</div>;\n\telse if (status === 'error') body = <Stack role=\"alert\" gap=\"sm\">{errorSlot ?? <Text type=\"inherit\">{strings.error}</Text>}{onRetry && <Button tone=\"secondary\" onClick={onRetry}>{strings.retry}</Button>}</Stack>;\n\telse if (!ready) body = <div>{emptySlot ?? <Text type=\"secondary\">{strings.empty}</Text>}</div>;\n\telse body = <UsageBody data={data} strings={strings} />;\n\tconst footer = (summary?.kind === 'limited' || footerAction) && <Stack direction=\"horizontal\" justify=\"between\" align=\"center\" gap=\"md\">\n\t\t{summary?.kind === 'limited' && <Stack direction=\"horizontal\" gap=\"xs\" align=\"baseline\">\n\t\t\t<NumberValue type=\"inherit\" value={summary.excess ? summary.excess : summary.remaining} weight=\"medium\" />\n\t\t\t{data?.unit && <Text tag=\"span\" type=\"secondary\">{data.unit}</Text>}\n\t\t\t<Text tag=\"span\" type=\"secondary\">{summary.excess ? strings.overLimit : strings.remaining}</Text>\n\t\t</Stack>}\n\t\t{footerAction}\n\t</Stack>;\n\tconst card = <Card\n\t\t{...cardProps}\n\t\ttitle={cardProps.title ?? strings.title}\n\t\tclassName={cn('usage-card--component min-w-0', cardProps.className)}\n\t\tdata-component=\"usage-card\"\n\t\tdata-slot=\"usage-card\"\n\t\taria-busy={status === 'loading' || undefined}\n\t\theaderAction={hasPeriods ? <Stack direction=\"horizontal\" gap={compositionRhythm.commands} align=\"center\" className=\"usage-card--header-actions max-w-full\">\n\t\t\t<TabsList scrollable aria-label={strings.periods}>\n\t\t\t\t{periods.map(item => <TabsTrigger key={item.value} value={item.value} disabled={item.disabled || !onPeriodChange}>{item.label}</TabsTrigger>)}\n\t\t\t</TabsList>\n\t\t\t{cardProps.headerAction}\n\t\t</Stack> : cardProps.headerAction}\n\t\tfooterSlot={footer}\n\t>\n\t\t{hasPeriods ? <TabsContent value={selectedPeriod}>{body}</TabsContent> : body}\n\t</Card>;\n\treturn hasPeriods ? <Tabs value={selectedPeriod} onValueChange={value => { if (typeof value === 'string') onPeriodChange?.(value); }} className=\"min-w-0\">{card}</Tabs> : card;\n}\n\nUsageCard.displayName = 'UsageCard';\n"],"mappings":"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"}
|