@epilot/zenith-react 0.2.0-next.3 → 0.2.0-next.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/README.md +25 -0
- package/codemods/README.md +168 -0
- package/codemods/migrate/base-elements/accordion.ts +132 -0
- package/codemods/migrate/base-elements/alert.ts +81 -0
- package/codemods/migrate/base-elements/avatar.ts +116 -0
- package/codemods/migrate/base-elements/button.ts +188 -0
- package/codemods/migrate/base-elements/checkbox.ts +17 -0
- package/codemods/migrate/base-elements/chip.ts +87 -0
- package/codemods/migrate/base-elements/chip360.ts +162 -0
- package/codemods/migrate/base-elements/circular-progress.ts +73 -0
- package/codemods/migrate/base-elements/dialog.ts +323 -0
- package/codemods/migrate/base-elements/divider.ts +61 -0
- package/codemods/migrate/base-elements/feedback-message.ts +95 -0
- package/codemods/migrate/base-elements/icon-button.ts +203 -0
- package/codemods/migrate/base-elements/index.ts +55 -0
- package/codemods/migrate/base-elements/mui-props.ts +29 -0
- package/codemods/migrate/base-elements/notification.ts +98 -0
- package/codemods/migrate/base-elements/paper.ts +78 -0
- package/codemods/migrate/base-elements/select.ts +328 -0
- package/codemods/migrate/base-elements/shared.ts +910 -0
- package/codemods/migrate/base-elements/skeleton.ts +83 -0
- package/codemods/migrate/base-elements/switch.ts +19 -0
- package/codemods/migrate/base-elements/tabs.ts +222 -0
- package/codemods/migrate/base-elements/text-field.ts +425 -0
- package/codemods/migrate/base-elements/toggle-button.ts +185 -0
- package/codemods/migrate/base-elements/tooltip.ts +231 -0
- package/codemods/migrate/base-elements/typography.ts +247 -0
- package/codemods/migrate/base-elements/unsupported.ts +277 -0
- package/codemods/migrate/from-base-elements.ts +20 -0
- package/codemods/migrate/from-volt.ts +20 -0
- package/codemods/migrate/lib/imports.ts +399 -0
- package/codemods/migrate/lib/jsx.ts +313 -0
- package/codemods/migrate/lib/run-migration.ts +528 -0
- package/codemods/migrate/lib/source.ts +6 -0
- package/codemods/migrate/lib/todo.ts +107 -0
- package/codemods/migrate/lib/types.ts +114 -0
- package/codemods/migrate/volt/class-helpers.ts +37 -0
- package/codemods/migrate/volt/index.ts +18 -0
- package/codemods/migrate/volt/pagination.ts +26 -0
- package/codemods/migrate/volt/same-name.ts +293 -0
- package/codemods/migrate/volt/stylesheets.ts +18 -0
- package/codemods/migrate/volt/tanstack-types.ts +20 -0
- package/codemods/radix-to-base-ui.ts +389 -0
- package/dist/_virtual/_zenith-runtime-family_accordion.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_accordion.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_alert-dialog.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_alert-dialog.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_avatar.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_avatar.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_button.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_button.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_checkbox.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_checkbox.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_csp-provider.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_csp-provider.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_dialog.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_dialog.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_direction-provider.js +8 -0
- package/dist/_virtual/_zenith-runtime-family_direction-provider.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_menu.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_menu.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_merge-props.js +11 -0
- package/dist/_virtual/_zenith-runtime-family_merge-props.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_popover.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_popover.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_radio-group.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_radio-group.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_radio.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_radio.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_scroll-area.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_scroll-area.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_select.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_select.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_separator.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_separator.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_switch.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_switch.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_tabs.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_tabs.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_toast.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_toast.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_toggle-group.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_toggle-group.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_toggle.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_toggle.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_tooltip.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_tooltip.js.map +1 -0
- package/dist/_virtual/_zenith-runtime-family_use-render.js +7 -0
- package/dist/_virtual/_zenith-runtime-family_use-render.js.map +1 -0
- package/dist/components/accordion/accordion.js +179 -96
- package/dist/components/accordion/accordion.js.map +1 -1
- package/dist/components/alert-dialog/alert-dialog.js +243 -206
- package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
- package/dist/components/avatar/avatar.js +94 -82
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/badge/badge.js +11 -11
- package/dist/components/breadcrumb/breadcrumb.js +69 -70
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/button/button.js +119 -102
- package/dist/components/button/button.js.map +1 -1
- package/dist/components/checkbox/checkbox.js +68 -51
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/date-range-picker/date-range-picker.js +100 -90
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-input.js +118 -108
- package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-panel.js +91 -94
- package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
- package/dist/components/dialog/dialog.js +238 -228
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/drawer/drawer.js +259 -321
- package/dist/components/drawer/drawer.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.js +533 -279
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
- package/dist/components/field/field-combobox.js +87 -77
- package/dist/components/field/field-combobox.js.map +1 -1
- package/dist/components/list/list-sortable.js +104 -0
- package/dist/components/list/list-sortable.js.map +1 -0
- package/dist/components/list/list.js +246 -324
- package/dist/components/list/list.js.map +1 -1
- package/dist/components/option-card/option-card.js +121 -117
- package/dist/components/option-card/option-card.js.map +1 -1
- package/dist/components/pill/pill.js +7 -7
- package/dist/components/popover/popover.js +223 -127
- package/dist/components/popover/popover.js.map +1 -1
- package/dist/components/radio/radio-group-base.js +54 -0
- package/dist/components/radio/radio-group-base.js.map +1 -0
- package/dist/components/radio/radio.js +71 -60
- package/dist/components/radio/radio.js.map +1 -1
- package/dist/components/scroll-area/scroll-area.js +142 -108
- package/dist/components/scroll-area/scroll-area.js.map +1 -1
- package/dist/components/scroll-overflow/scroll-overflow.js +156 -127
- package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
- package/dist/components/segmented-control/segmented-control.js +93 -81
- package/dist/components/segmented-control/segmented-control.js.map +1 -1
- package/dist/components/select/select.js +485 -310
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/separator/separator.js.map +1 -1
- package/dist/components/slot/compose-as-child.js +15 -12
- package/dist/components/slot/compose-as-child.js.map +1 -1
- package/dist/components/switch/switch.js +75 -68
- package/dist/components/switch/switch.js.map +1 -1
- package/dist/components/table/table-pagination.js +212 -175
- package/dist/components/table/table-pagination.js.map +1 -1
- package/dist/components/tabs/tabs.js +193 -190
- package/dist/components/tabs/tabs.js.map +1 -1
- package/dist/components/toast/toast.js +610 -148
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toggle/toggle-group.js +143 -32
- package/dist/components/toggle/toggle-group.js.map +1 -1
- package/dist/components/toggle/toggle.js +83 -53
- package/dist/components/toggle/toggle.js.map +1 -1
- package/dist/components/tooltip/tooltip.js +298 -138
- package/dist/components/tooltip/tooltip.js.map +1 -1
- package/dist/index.d.ts +2335 -2129
- package/dist/index.js +24 -23
- package/dist/list/sortable/index.d.ts +29 -0
- package/dist/list/sortable/index.js +5 -0
- package/dist/{_virtual → list/sortable}/index.js.map +1 -1
- package/dist/packages/tokens/dist/delivery/index.js +10 -10
- package/dist/packages/tokens/dist/delivery/index.js.map +1 -1
- package/dist/packages/tokens/dist/generated/core.generated.js +6 -15
- package/dist/packages/tokens/dist/generated/core.generated.js.map +1 -1
- package/dist/packages/tokens/dist/generated/palette.generated.js +4 -5
- package/dist/packages/tokens/dist/generated/palette.generated.js.map +1 -1
- package/dist/packages/tokens/dist/generated/palette.meta.generated.js +5 -0
- package/dist/packages/tokens/dist/generated/palette.meta.generated.js.map +1 -0
- package/dist/packages/tokens/dist/install.js +40 -17
- package/dist/packages/tokens/dist/install.js.map +1 -1
- package/dist/renderer/runtime-contract.generated.js +8 -0
- package/dist/renderer/runtime-contract.generated.js.map +1 -0
- package/dist/renderer/served.js +34 -0
- package/dist/renderer/served.js.map +1 -0
- package/dist/tokens/core.meta.generated.js +2 -2
- package/dist/tokens/core.meta.generated.js.map +1 -1
- package/dist/tokens/index.d.ts +1028 -1028
- package/dist/tokens/index.js +863 -863
- package/dist/tokens/index.js.map +1 -1
- package/dist/tokens/palette.meta.generated.js +5 -0
- package/dist/tokens/palette.meta.generated.js.map +1 -0
- package/dist/tokens.json +1 -1
- package/dist/vendor/.bun/@radix-ui_react-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-dialog/dist/index.js +57 -62
- package/dist/vendor/.bun/@radix-ui_react-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-dialog/dist/index.js.map +1 -1
- package/dist/vendor/.bun/@radix-ui_react-slot@1.2.3_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js +32 -38
- package/dist/vendor/.bun/@radix-ui_react-slot@1.2.3_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js.map +1 -1
- package/package.json +28 -21
- package/scripts/migration-diagnostics-core.mjs +18 -10
- package/scripts/migration-diagnostics.mjs +31 -8
- package/dist/_virtual/index.js +0 -6
- package/dist/_virtual/index2.js +0 -5
- package/dist/_virtual/index2.js.map +0 -1
- package/dist/_virtual/use-sync-external-store-shim.development.js +0 -5
- package/dist/_virtual/use-sync-external-store-shim.development.js.map +0 -1
- package/dist/_virtual/use-sync-external-store-shim.production.js +0 -5
- package/dist/_virtual/use-sync-external-store-shim.production.js.map +0 -1
- package/dist/tokens/palette.generated.js +0 -5
- package/dist/tokens/palette.generated.js.map +0 -1
- package/dist/vendor/.bun/@floating-ui_core@1.8.0/vendor/@floating-ui/core/dist/floating-ui.core.js +0 -512
- package/dist/vendor/.bun/@floating-ui_core@1.8.0/vendor/@floating-ui/core/dist/floating-ui.core.js.map +0 -1
- package/dist/vendor/.bun/@floating-ui_dom@1.8.0/vendor/@floating-ui/dom/dist/floating-ui.dom.js +0 -396
- package/dist/vendor/.bun/@floating-ui_dom@1.8.0/vendor/@floating-ui/dom/dist/floating-ui.dom.js.map +0 -1
- package/dist/vendor/.bun/@floating-ui_react-dom@2.1.9_6f4b9a1cfb20c0ae/vendor/@floating-ui/react-dom/dist/floating-ui.react-dom.js +0 -233
- package/dist/vendor/.bun/@floating-ui_react-dom@2.1.9_6f4b9a1cfb20c0ae/vendor/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +0 -1
- package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.dom.js +0 -137
- package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +0 -1
- package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.js +0 -129
- package/dist/vendor/.bun/@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_number@1.1.1/vendor/@radix-ui/number/dist/index.js +0 -7
- package/dist/vendor/.bun/@radix-ui_number@1.1.1/vendor/@radix-ui/number/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-accordion@1.2.12_2b23df507bdda662/vendor/@radix-ui/react-accordion/dist/index.js +0 -240
- package/dist/vendor/.bun/@radix-ui_react-accordion@1.2.12_2b23df507bdda662/vendor/@radix-ui/react-accordion/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-alert-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-alert-dialog/dist/index.js +0 -128
- package/dist/vendor/.bun/@radix-ui_react-alert-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-alert-dialog/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-arrow@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-arrow/dist/index.js +0 -25
- package/dist/vendor/.bun/@radix-ui_react-arrow@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-arrow/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-avatar@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-avatar/dist/index.js +0 -76
- package/dist/vendor/.bun/@radix-ui_react-avatar@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-avatar/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-checkbox@1.3.3_2b23df507bdda662/vendor/@radix-ui/react-checkbox/dist/index.js +0 -252
- package/dist/vendor/.bun/@radix-ui_react-checkbox@1.3.3_2b23df507bdda662/vendor/@radix-ui/react-checkbox/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-collapsible@1.1.12_2b23df507bdda662/vendor/@radix-ui/react-collapsible/dist/index.js +0 -121
- package/dist/vendor/.bun/@radix-ui_react-collapsible@1.1.12_2b23df507bdda662/vendor/@radix-ui/react-collapsible/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-collection@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-collection/dist/index.js +0 -49
- package/dist/vendor/.bun/@radix-ui_react-collection@1.1.7_2b23df507bdda662/vendor/@radix-ui/react-collection/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-direction@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-direction/dist/index.js +0 -11
- package/dist/vendor/.bun/@radix-ui_react-direction@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-direction/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-dropdown-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-dropdown-menu/dist/index.js +0 -228
- package/dist/vendor/.bun/@radix-ui_react-dropdown-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-dropdown-menu/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-menu/dist/index.js +0 -653
- package/dist/vendor/.bun/@radix-ui_react-menu@2.1.16_2b23df507bdda662/vendor/@radix-ui/react-menu/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-popover@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-popover/dist/index.js +0 -244
- package/dist/vendor/.bun/@radix-ui_react-popover@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-popover/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-popper@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-popper/dist/index.js +0 -222
- package/dist/vendor/.bun/@radix-ui_react-popper@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-popper/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-radio-group@1.3.8_2b23df507bdda662/vendor/@radix-ui/react-radio-group/dist/index.js +0 -239
- package/dist/vendor/.bun/@radix-ui_react-radio-group@1.3.8_2b23df507bdda662/vendor/@radix-ui/react-radio-group/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-roving-focus@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-roving-focus/dist/index.js +0 -184
- package/dist/vendor/.bun/@radix-ui_react-roving-focus@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-roving-focus/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-scroll-area@1.2.10_2b23df507bdda662/vendor/@radix-ui/react-scroll-area/dist/index.js +0 -535
- package/dist/vendor/.bun/@radix-ui_react-scroll-area@1.2.10_2b23df507bdda662/vendor/@radix-ui/react-scroll-area/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-select@2.2.6_2b23df507bdda662/vendor/@radix-ui/react-select/dist/index.js +0 -863
- package/dist/vendor/.bun/@radix-ui_react-select@2.2.6_2b23df507bdda662/vendor/@radix-ui/react-select/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-slot@1.2.4_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js +0 -63
- package/dist/vendor/.bun/@radix-ui_react-slot@1.2.4_0ac650c021fb1b59/vendor/@radix-ui/react-slot/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-switch@1.2.6_2b23df507bdda662/vendor/@radix-ui/react-switch/dist/index.js +0 -133
- package/dist/vendor/.bun/@radix-ui_react-switch@1.2.6_2b23df507bdda662/vendor/@radix-ui/react-switch/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-tabs@1.1.13_2b23df507bdda662/vendor/@radix-ui/react-tabs/dist/index.js +0 -164
- package/dist/vendor/.bun/@radix-ui_react-tabs@1.1.13_2b23df507bdda662/vendor/@radix-ui/react-tabs/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-toggle-group@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-toggle-group/dist/index.js +0 -138
- package/dist/vendor/.bun/@radix-ui_react-toggle-group@1.1.11_2b23df507bdda662/vendor/@radix-ui/react-toggle-group/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-toggle@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-toggle/dist/index.js +0 -34
- package/dist/vendor/.bun/@radix-ui_react-toggle@1.1.10_2b23df507bdda662/vendor/@radix-ui/react-toggle/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-tooltip@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-tooltip/dist/index.js +0 -340
- package/dist/vendor/.bun/@radix-ui_react-tooltip@1.2.8_2b23df507bdda662/vendor/@radix-ui/react-tooltip/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-use-is-hydrated@0.1.0_0ac650c021fb1b59/vendor/@radix-ui/react-use-is-hydrated/dist/index.js +0 -16
- package/dist/vendor/.bun/@radix-ui_react-use-is-hydrated@0.1.0_0ac650c021fb1b59/vendor/@radix-ui/react-use-is-hydrated/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-use-previous@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-previous/dist/index.js +0 -9
- package/dist/vendor/.bun/@radix-ui_react-use-previous@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-previous/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-use-size@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-size/dist/index.js +0 -28
- package/dist/vendor/.bun/@radix-ui_react-use-size@1.1.1_0ac650c021fb1b59/vendor/@radix-ui/react-use-size/dist/index.js.map +0 -1
- package/dist/vendor/.bun/@radix-ui_react-visually-hidden@1.2.3_2b23df507bdda662/vendor/@radix-ui/react-visually-hidden/dist/index.js +0 -33
- package/dist/vendor/.bun/@radix-ui_react-visually-hidden@1.2.3_2b23df507bdda662/vendor/@radix-ui/react-visually-hidden/dist/index.js.map +0 -1
- package/dist/vendor/.bun/sonner@2.0.7_6f4b9a1cfb20c0ae/vendor/sonner/dist/index.js +0 -747
- package/dist/vendor/.bun/sonner@2.0.7_6f4b9a1cfb20c0ae/vendor/sonner/dist/index.js.map +0 -1
- package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -68
- package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -1
- package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -56
- package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +0 -1
- package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/shim/index.js +0 -11
- package/dist/vendor/.bun/use-sync-external-store@1.7.0_62547eec5a2188e3/vendor/use-sync-external-store/shim/index.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toast.js","sources":["../../../src/components/toast/toast.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as Sonner from \"sonner\"\nimport { shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\nimport { Spinner } from \"../spinner/spinner\"\n\nconst InfoIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M12.0003 16.75C12.2129 16.75 12.391 16.6781 12.5345 16.5343C12.6782 16.3906 12.75 16.2125 12.75 16V11.75C12.75 11.5375 12.6781 11.3593 12.5343 11.2155C12.3904 11.0718 12.2122 11 11.9997 11C11.7871 11 11.609 11.0718 11.4655 11.2155C11.3218 11.3593 11.25 11.5375 11.25 11.75V16C11.25 16.2125 11.3219 16.3906 11.4658 16.5343C11.6096 16.6781 11.7878 16.75 12.0003 16.75ZM12 9.2885C12.2288 9.2885 12.4207 9.21108 12.5755 9.05625C12.7303 8.90142 12.8077 8.70958 12.8077 8.48075C12.8077 8.25192 12.7303 8.06008 12.5755 7.90525C12.4207 7.75058 12.2288 7.67325 12 7.67325C11.7712 7.67325 11.5793 7.75058 11.4245 7.90525C11.2697 8.06008 11.1923 8.25192 11.1923 8.48075C11.1923 8.70958 11.2697 8.90142 11.4245 9.05625C11.5793 9.21108 11.7712 9.2885 12 9.2885ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n)\n\nconst WarningIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M3.4255 20.5C3.256 20.5 3.10375 20.4586 2.96875 20.3757C2.83375 20.2929 2.72883 20.1837 2.654 20.048C2.576 19.9133 2.53308 19.7675 2.52525 19.6105C2.51742 19.4535 2.55975 19.298 2.65225 19.144L11.213 4.356C11.3057 4.202 11.4215 4.08817 11.5605 4.0145C11.6997 3.94083 11.8462 3.904 12 3.904C12.1538 3.904 12.3003 3.94083 12.4395 4.0145C12.5785 4.08817 12.6943 4.202 12.787 4.356L21.3477 19.144C21.4402 19.298 21.4826 19.4535 21.4747 19.6105C21.4669 19.7675 21.424 19.9133 21.346 20.048C21.2712 20.1837 21.1663 20.2929 21.0313 20.3757C20.8963 20.4586 20.744 20.5 20.5745 20.5H3.4255ZM12 17.8077C12.2288 17.8077 12.4207 17.7303 12.5755 17.5755C12.7303 17.4207 12.8078 17.2288 12.8078 17C12.8078 16.7712 12.7303 16.5793 12.5755 16.4245C12.4207 16.2697 12.2288 16.1923 12 16.1923C11.7712 16.1923 11.5793 16.2697 11.4245 16.4245C11.2697 16.5793 11.1923 16.7712 11.1923 17C11.1923 17.2288 11.2697 17.4207 11.4245 17.5755C11.5793 17.7303 11.7712 17.8077 12 17.8077ZM12.0003 15.1923C12.2129 15.1923 12.391 15.1204 12.5345 14.9768C12.6782 14.8329 12.75 14.6548 12.75 14.4423V10.9423C12.75 10.7298 12.6781 10.5517 12.5342 10.408C12.3904 10.2642 12.2122 10.1923 11.9997 10.1923C11.7871 10.1923 11.609 10.2642 11.4655 10.408C11.3218 10.5517 11.25 10.7298 11.25 10.9423V14.4423C11.25 14.6548 11.3219 14.8329 11.4658 14.9768C11.6096 15.1204 11.7878 15.1923 12.0003 15.1923Z\" />\n </svg>\n)\n\nconst CheckIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M10.5808 14.1463L8.25775 11.823C8.11925 11.6847 7.94517 11.6138 7.7355 11.6105C7.526 11.6073 7.34875 11.6782 7.20375 11.823C7.05892 11.968 6.9865 12.1437 6.9865 12.35C6.9865 12.5563 7.05892 12.732 7.20375 12.877L9.948 15.6212C10.1288 15.8019 10.3398 15.8922 10.5808 15.8922C10.8218 15.8922 11.0327 15.8019 11.2135 15.6212L16.777 10.0577C16.9153 9.91925 16.9862 9.74517 16.9895 9.5355C16.9927 9.326 16.9218 9.14875 16.777 9.00375C16.632 8.85892 16.4563 8.7865 16.25 8.7865C16.0437 8.7865 15.868 8.85892 15.723 9.00375L10.5808 14.1463ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n)\n\nconst ErrorIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M12 16.7307C12.2288 16.7307 12.4207 16.6533 12.5755 16.4985C12.7303 16.3437 12.8077 16.1518 12.8077 15.923C12.8077 15.6942 12.7303 15.5023 12.5755 15.3475C12.4207 15.1928 12.2288 15.1155 12 15.1155C11.7712 15.1155 11.5793 15.1928 11.4245 15.3475C11.2697 15.5023 11.1923 15.6942 11.1923 15.923C11.1923 16.1518 11.2697 16.3437 11.4245 16.4985C11.5793 16.6533 11.7712 16.7307 12 16.7307ZM12.0003 13.077C12.2129 13.077 12.391 13.0051 12.5345 12.8613C12.6782 12.7176 12.75 12.5395 12.75 12.327V7.827C12.75 7.6145 12.6781 7.43633 12.5343 7.2925C12.3904 7.14883 12.2122 7.077 11.9997 7.077C11.7871 7.077 11.609 7.14883 11.4655 7.2925C11.3218 7.43633 11.25 7.6145 11.25 7.827V12.327C11.25 12.5395 11.3219 12.7176 11.4658 12.8613C11.6096 13.0051 11.7878 13.077 12.0003 13.077ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n)\n\nconst useStyles = makeZenithStyles({\n toast: {\n ...boxModel,\n pointerEvents: \"auto\",\n position: \"relative\",\n width: \"100%\",\n display: \"flex\",\n alignItems: \"baseline\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.padding(tokens.spacingGroup2, tokens.spacingElement3),\n ...shorthands.borderRadius(tokens.radiusXl),\n ...shorthands.borderStyle(\"solid\"),\n ...shorthands.borderWidth(0),\n ...shorthands.borderColor(tokens.grayA6),\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n boxShadow: \"0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a\",\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.grayA8,\n },\n },\n default: {\n ...boxModel,\n backgroundColor: tokens.body,\n ...shorthands.borderColor(tokens.grayA6),\n ...shorthands.gap(tokens.spacingElement2),\n color: tokens.grayA12,\n },\n content: {\n display: \"flex\",\n flexDirection: \"column\",\n ...shorthands.gap(\"0.125rem\"),\n },\n title: {\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n fontWeight: tokens.fontWeightSemibold,\n ...shorthands.margin(0),\n },\n description: {\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n ...shorthands.margin(0),\n },\n icon: {\n ...boxModel,\n alignSelf: \"flex-start\",\n display: \"flex\",\n width: \"1.25rem\",\n height: \"1.25rem\",\n position: \"relative\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n flexShrink: 0,\n marginLeft: \"var(--toast-icon-margin-start)\",\n marginRight: \"var(--toast-icon-margin-end)\",\n },\n actionButton: {\n ...boxModel,\n ...shorthands.borderRadius(\"9999px\"),\n flexShrink: 0,\n alignSelf: \"flex-end\",\n cursor: \"pointer\",\n marginLeft: \"auto\",\n marginTop: tokens.spacingGroup2,\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightMedium,\n ...shorthands.padding(\"0.3125rem\", tokens.spacingElement2),\n color: tokens.accentContrast,\n backgroundColor: tokens.gray12,\n \":hover\": {\n backgroundColor: tokens.gray11,\n },\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.grayA8,\n },\n },\n cancelButton: {\n ...boxModel,\n backgroundColor: tokens.graySoft,\n color: tokens.grayA12,\n \":hover\": {\n backgroundColor: tokens.graySoftHover,\n },\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n fontWeight: tokens.fontWeightMedium,\n ...shorthands.padding(\"0.3125rem\", tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusMd),\n },\n closeButton: {\n ...nativeControl,\n position: \"absolute\",\n right: \"0.625rem\",\n top: \"0.625rem\",\n ...shorthands.borderRadius(\"9999px\"),\n color: \"currentColor\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n ...shorthands.border(\"0\"),\n ...shorthands.padding(0),\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: \"inherit\",\n },\n \"& > svg\": {\n width: \"1rem\",\n height: \"1rem\",\n strokeWidth: \"2px\",\n },\n },\n success: {\n ...boxModel,\n ...shorthands.borderColor(tokens.successUi),\n backgroundColor: tokens.success4,\n color: tokens.successA12,\n \"& [data-icon]\": {\n color: tokens.successA11,\n },\n },\n info: {\n ...boxModel,\n ...shorthands.borderColor(tokens.infoUi),\n backgroundColor: tokens.info3,\n color: tokens.infoA12,\n \"& [data-icon]\": {\n color: tokens.infoA11,\n },\n },\n warning: {\n ...boxModel,\n ...shorthands.borderColor(tokens.warningUi),\n backgroundColor: tokens.warning3,\n color: tokens.warningA12,\n \"& [data-icon]\": {\n color: tokens.warningA11,\n },\n },\n error: {\n ...boxModel,\n ...shorthands.borderColor(tokens.errorUi),\n backgroundColor: tokens.error4,\n color: tokens.errorA12,\n \"& [data-icon]\": {\n color: tokens.errorA11,\n },\n },\n loading: {},\n spinner: {\n ...boxModel,\n width: \"1.125rem\",\n height: \"1.125rem\",\n },\n})\n\n/**\n * Zenith's own Toaster surface. Declared rather than intersected with\n * `Sonner.ToasterProps` so a sonner release cannot move this package's public\n * API without a change in this repository. Props sonner supports but Zenith\n * does not intend to own -- `invert`, `hotkey`, `richColors`, `swipeDirections`\n * and `icons` -- are deliberately absent: Zenith owns the toast's appearance.\n */\nexport type ToasterProps = {\n id?: string\n theme?: \"light\" | \"dark\"\n position?: ToastPosition\n duration?: number\n gap?: number\n visibleToasts?: number\n closeButton?: boolean\n expand?: boolean\n dir?: \"rtl\" | \"ltr\" | \"auto\"\n offset?: ToastOffset\n mobileOffset?: ToastOffset\n className?: string\n style?: React.CSSProperties\n containerAriaLabel?: string\n /** Per-toast defaults. Zenith supplies the class names; these merge over them. */\n toastOptions?: {\n className?: string\n descriptionClassName?: string\n style?: React.CSSProperties\n duration?: number\n closeButton?: boolean\n closeButtonAriaLabel?: string\n classNames?: Partial<\n Record<\n | \"toast\"\n | \"title\"\n | \"description\"\n | \"loader\"\n | \"closeButton\"\n | \"cancelButton\"\n | \"actionButton\"\n | \"success\"\n | \"error\"\n | \"info\"\n | \"warning\"\n | \"loading\"\n | \"default\"\n | \"content\"\n | \"icon\",\n string\n >\n >\n }\n}\n\nexport type ToastPosition =\n | \"top-left\"\n | \"top-right\"\n | \"top-center\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"bottom-center\"\n\nexport type ToastOffset =\n | string\n | number\n | {\n top?: string | number\n right?: string | number\n bottom?: string | number\n left?: string | number\n }\n\n/**\n * root element and entire subtree are sonner's; we style it through sonner's own `toastOptions`\n * class hooks rather than by selecting it. There is no element of ours here to put `data-slot` or\n * `SLOT_ATTR` on, and a marker set on sonner's root would name a node we do not control. knowingly\n * skipped.\n * @slot-foreign-dom sonner renders and owns this DOM. `Toaster` returns `<Sonner.Toaster>`, whose\n * This is ownership, not debt — distinct from `@slot-exempt`, which means our element, rule\n */\nexport const Toaster = React.forwardRef<HTMLElement, ToasterProps>(\n function Toaster({ theme, toastOptions, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <Sonner.Toaster\n ref={ref}\n closeButton={true}\n theme={theme}\n toastOptions={{\n ...toastOptions,\n unstyled: true,\n classNames: {\n toast: styles.toast,\n default: styles.default,\n content: styles.content,\n title: styles.title,\n description: styles.description,\n icon: styles.icon,\n actionButton: styles.actionButton,\n cancelButton: styles.cancelButton,\n closeButton: styles.closeButton,\n success: styles.success,\n info: styles.info,\n warning: styles.warning,\n error: styles.error,\n loading: styles.loading,\n ...toastOptions?.classNames,\n },\n }}\n icons={{\n success: <CheckIcon />,\n info: <InfoIcon />,\n warning: <WarningIcon />,\n error: <ErrorIcon />,\n loading: <Spinner className={styles.spinner} />,\n }}\n {...props}\n />\n )\n }\n)\n\n/**\n * Zenith's own per-toast options. Previously `Parameters<typeof Sonner.toast>[1]`, which made\n * every option sonner declared part of this package's public API. `onDismiss`/`onAutoClose`\n * receive sonner's internal toast record.\n */\nexport type ToastOptions = {\n id?: string | number\n description?: React.ReactNode\n duration?: number\n icon?: React.ReactNode\n className?: string\n style?: React.CSSProperties\n position?: ToastPosition\n dismissible?: boolean\n action?: {\n label: React.ReactNode\n /** Call `event.preventDefault()` here to keep the toast open after the action. */\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void\n }\n cancel?: {\n label: React.ReactNode\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void\n }\n onDismiss?: (toast: unknown) => void\n onAutoClose?: (toast: unknown) => void\n /** Routes this toast to `<Toaster id>`; without it a second Toaster renders nothing. */\n toasterId?: string\n}\n\n/**\n * Sonner's own options type, used only to cast at the delegation boundary. It is\n * never referenced by an exported declaration, so it does not reach this\n * package's `.d.ts`.\n */\ntype SonnerOptions = Parameters<typeof Sonner.toast>[1]\n\n/**\n * Every key Zenith declares must still exist on sonner's own options type. The\n * delegation casts below would otherwise hide a rename or removal: the cast\n * stays assignable because every property is optional, so a sonner release that\n * drops `dismissible` would compile cleanly and stop working at runtime. This\n * turns that into a build failure.\n */\ntype _ZenithToastOptionsExistOnSonner =\n keyof ToastOptions extends keyof NonNullable<SonnerOptions> ? true : never\nconst _zenithToastOptionsConform: _ZenithToastOptionsExistOnSonner = true\nvoid _zenithToastOptionsConform\n\nfunction toastFn(message: React.ReactNode, options?: ToastOptions) {\n return Sonner.toast(message, options as SonnerOptions)\n}\n\n/**\n * Zenith's toast entry point. Delegates to sonner, but the callable surface is this package's own:\n * a sonner release can no longer add, remove or reshape a method here without a change in this\n * repository. `promise` is the one member passed through rather than re-wrapped.\n */\nexport const toast = Object.assign(toastFn, {\n success: (message: React.ReactNode, options?: ToastOptions) =>\n Sonner.toast.success(message, options as SonnerOptions),\n error: (message: React.ReactNode, options?: ToastOptions) =>\n Sonner.toast.error(message, options as SonnerOptions),\n warning: (message: React.ReactNode, options?: ToastOptions) =>\n Sonner.toast.warning(message, options as SonnerOptions),\n info: (message: React.ReactNode, options?: ToastOptions) =>\n Sonner.toast.info(message, options as SonnerOptions),\n loading: (message: React.ReactNode, options?: ToastOptions) =>\n Sonner.toast.loading(message, options as SonnerOptions),\n dismiss: (id?: string | number) => Sonner.toast.dismiss(id),\n /**\n * Declared here rather than passed through: sonner's own signature references types its bundle\n * does not name publicly, which makes the emitted `.d.ts` unbuildable (TS4023). The return is\n * `unknown` on purpose -- sonner returns an internally-typed handle, and every use in this\n * repository and its docs ignores it.\n */\n promise: <T,>(\n promise: Promise<T> | (() => Promise<T>),\n data?: {\n loading?: React.ReactNode\n success?: React.ReactNode | ((data: T) => React.ReactNode)\n error?: React.ReactNode | ((error: unknown) => React.ReactNode)\n description?: React.ReactNode\n finally?: () => void | Promise<void>\n }\n ): unknown =>\n Sonner.toast.promise(\n promise as Parameters<typeof Sonner.toast.promise>[0],\n data as Parameters<typeof Sonner.toast.promise>[1]\n ),\n})\n"],"names":["InfoIcon","props","jsx","WarningIcon","CheckIcon","ErrorIcon","useStyles","makeZenithStyles","boxModel","shorthands","tokens.spacingElement2","tokens.spacingGroup2","tokens.spacingElement3","tokens.radiusXl","tokens.grayA6","tokens.body","tokens.grayA12","tokens.grayA8","tokens.textSm","tokens.leadingSm","tokens.fontWeightSemibold","tokens.textXs","tokens.leadingXs","tokens.fontWeightMedium","tokens.accentContrast","tokens.gray12","tokens.gray11","tokens.graySoft","tokens.graySoftHover","tokens.radiusMd","nativeControl","tokens.successUi","tokens.success4","tokens.successA12","tokens.successA11","tokens.infoUi","tokens.info3","tokens.infoA12","tokens.infoA11","tokens.warningUi","tokens.warning3","tokens.warningA12","tokens.warningA11","tokens.errorUi","tokens.error4","tokens.errorA12","tokens.errorA11","Toaster","React","theme","toastOptions","ref","styles","Sonner.Toaster","Spinner","toastFn","message","options","Sonner.toast","toast","id","promise","data"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toast.js","sources":["../../../src/components/toast/toast.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Toast as ToastPrimitive } from \"@base-ui/react/toast\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport * as tokens from \"../../tokens\"\nimport { Spinner } from \"../spinner/spinner\"\n\nconst InfoIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M12.0003 16.75C12.2129 16.75 12.391 16.6781 12.5345 16.5343C12.6782 16.3906 12.75 16.2125 12.75 16V11.75C12.75 11.5375 12.6781 11.3593 12.5343 11.2155C12.3904 11.0718 12.2122 11 11.9997 11C11.7871 11 11.609 11.0718 11.4655 11.2155C11.3218 11.3593 11.25 11.5375 11.25 11.75V16C11.25 16.2125 11.3219 16.3906 11.4658 16.5343C11.6096 16.6781 11.7878 16.75 12.0003 16.75ZM12 9.2885C12.2288 9.2885 12.4207 9.21108 12.5755 9.05625C12.7303 8.90142 12.8077 8.70958 12.8077 8.48075C12.8077 8.25192 12.7303 8.06008 12.5755 7.90525C12.4207 7.75058 12.2288 7.67325 12 7.67325C11.7712 7.67325 11.5793 7.75058 11.4245 7.90525C11.2697 8.06008 11.1923 8.25192 11.1923 8.48075C11.1923 8.70958 11.2697 8.90142 11.4245 9.05625C11.5793 9.21108 11.7712 9.2885 12 9.2885ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n)\n\nconst WarningIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M3.4255 20.5C3.256 20.5 3.10375 20.4586 2.96875 20.3757C2.83375 20.2929 2.72883 20.1837 2.654 20.048C2.576 19.9133 2.53308 19.7675 2.52525 19.6105C2.51742 19.4535 2.55975 19.298 2.65225 19.144L11.213 4.356C11.3057 4.202 11.4215 4.08817 11.5605 4.0145C11.6997 3.94083 11.8462 3.904 12 3.904C12.1538 3.904 12.3003 3.94083 12.4395 4.0145C12.5785 4.08817 12.6943 4.202 12.787 4.356L21.3477 19.144C21.4402 19.298 21.4826 19.4535 21.4747 19.6105C21.4669 19.7675 21.424 19.9133 21.346 20.048C21.2712 20.1837 21.1663 20.2929 21.0313 20.3757C20.8963 20.4586 20.744 20.5 20.5745 20.5H3.4255ZM12 17.8077C12.2288 17.8077 12.4207 17.7303 12.5755 17.5755C12.7303 17.4207 12.8078 17.2288 12.8078 17C12.8078 16.7712 12.7303 16.5793 12.5755 16.4245C12.4207 16.2697 12.2288 16.1923 12 16.1923C11.7712 16.1923 11.5793 16.2697 11.4245 16.4245C11.2697 16.5793 11.1923 16.7712 11.1923 17C11.1923 17.2288 11.2697 17.4207 11.4245 17.5755C11.5793 17.7303 11.7712 17.8077 12 17.8077ZM12.0003 15.1923C12.2129 15.1923 12.391 15.1204 12.5345 14.9768C12.6782 14.8329 12.75 14.6548 12.75 14.4423V10.9423C12.75 10.7298 12.6781 10.5517 12.5342 10.408C12.3904 10.2642 12.2122 10.1923 11.9997 10.1923C11.7871 10.1923 11.609 10.2642 11.4655 10.408C11.3218 10.5517 11.25 10.7298 11.25 10.9423V14.4423C11.25 14.6548 11.3219 14.8329 11.4658 14.9768C11.6096 15.1204 11.7878 15.1923 12.0003 15.1923Z\" />\n </svg>\n)\n\nconst CheckIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M10.5808 14.1463L8.25775 11.823C8.11925 11.6847 7.94517 11.6138 7.7355 11.6105C7.526 11.6073 7.34875 11.6782 7.20375 11.823C7.05892 11.968 6.9865 12.1437 6.9865 12.35C6.9865 12.5563 7.05892 12.732 7.20375 12.877L9.948 15.6212C10.1288 15.8019 10.3398 15.8922 10.5808 15.8922C10.8218 15.8922 11.0327 15.8019 11.2135 15.6212L16.777 10.0577C16.9153 9.91925 16.9862 9.74517 16.9895 9.5355C16.9927 9.326 16.9218 9.14875 16.777 9.00375C16.632 8.85892 16.4563 8.7865 16.25 8.7865C16.0437 8.7865 15.868 8.85892 15.723 9.00375L10.5808 14.1463ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n)\n\nconst ErrorIcon = (props: React.ComponentProps<\"svg\">) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n {...props}\n >\n <path d=\"M12 16.7307C12.2288 16.7307 12.4207 16.6533 12.5755 16.4985C12.7303 16.3437 12.8077 16.1518 12.8077 15.923C12.8077 15.6942 12.7303 15.5023 12.5755 15.3475C12.4207 15.1928 12.2288 15.1155 12 15.1155C11.7712 15.1155 11.5793 15.1928 11.4245 15.3475C11.2697 15.5023 11.1923 15.6942 11.1923 15.923C11.1923 16.1518 11.2697 16.3437 11.4245 16.4985C11.5793 16.6533 11.7712 16.7307 12 16.7307ZM12.0003 13.077C12.2129 13.077 12.391 13.0051 12.5345 12.8613C12.6782 12.7176 12.75 12.5395 12.75 12.327V7.827C12.75 7.6145 12.6781 7.43633 12.5343 7.2925C12.3904 7.14883 12.2122 7.077 11.9997 7.077C11.7871 7.077 11.609 7.14883 11.4655 7.2925C11.3218 7.43633 11.25 7.6145 11.25 7.827V12.327C11.25 12.5395 11.3219 12.7176 11.4658 12.8613C11.6096 13.0051 11.7878 13.077 12.0003 13.077ZM12.0017 21.5C10.6877 21.5 9.45267 21.2507 8.2965 20.752C7.14033 20.2533 6.13467 19.5766 5.2795 18.7218C4.42433 17.8669 3.74725 16.8617 3.24825 15.706C2.74942 14.5503 2.5 13.3156 2.5 12.0017C2.5 10.6877 2.74933 9.45267 3.248 8.2965C3.74667 7.14033 4.42342 6.13467 5.27825 5.2795C6.13308 4.42433 7.13833 3.74725 8.294 3.24825C9.44967 2.74942 10.6844 2.5 11.9982 2.5C13.3122 2.5 14.5473 2.74933 15.7035 3.248C16.8597 3.74667 17.8653 4.42342 18.7205 5.27825C19.5757 6.13308 20.2528 7.13833 20.7518 8.294C21.2506 9.44967 21.5 10.6844 21.5 11.9982C21.5 13.3122 21.2507 14.5473 20.752 15.7035C20.2533 16.8597 19.5766 17.8653 18.7218 18.7205C17.8669 19.5757 16.8617 20.2528 15.706 20.7518C14.5503 21.2506 13.3156 21.5 12.0017 21.5Z\" />\n </svg>\n)\n\nconst CloseIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n)\n\n/**\n * Stack geometry. The list sets the gap and the front toast's height, each toast its own index and\n * offset; all are set inline because they follow props and measured heights, and the rules below\n * read them.\n */\nconst GAP = \"--zenith-toast-gap\"\nconst FRONT_HEIGHT = \"--zenith-toast-front-height\"\nconst INDEX = \"--zenith-toast-index\"\nconst STACK_OFFSET = \"--zenith-toast-stack-offset\"\n/** -1 when the stack grows upwards from the bottom edge, 1 when it grows down from the top. */\nconst LIFT = \"--zenith-toast-lift\"\nconst TRANSLATE_Y = \"--zenith-toast-y\"\nconst SCALE = \"--zenith-toast-scale\"\n\nconst SIDES = [\"top\", \"right\", \"bottom\", \"left\"] as const\ntype Side = (typeof SIDES)[number]\nconst EDGE: Record<Side, string> = {\n top: \"--zenith-toast-offset-top\",\n right: \"--zenith-toast-offset-right\",\n bottom: \"--zenith-toast-offset-bottom\",\n left: \"--zenith-toast-offset-left\",\n}\nconst MOBILE_EDGE: Record<Side, string> = {\n top: \"--zenith-toast-mobile-offset-top\",\n right: \"--zenith-toast-mobile-offset-right\",\n bottom: \"--zenith-toast-mobile-offset-bottom\",\n left: \"--zenith-toast-mobile-offset-left\",\n}\n\n/** The width below which the stack spans the viewport between the mobile offsets. */\nconst NARROW = \"@media (max-width: 600px)\"\nconst REDUCED_MOTION = \"@media (prefers-reduced-motion: reduce)\"\n\nconst useStyles = makeZenithStyles({\n list: {\n ...boxModel,\n position: \"fixed\",\n // The toast width before Base UI, kept so a toast still measures what it did.\n width: \"356px\",\n ...shorthands.margin(0),\n ...shorthands.padding(0),\n listStyleType: \"none\",\n outlineStyle: \"none\",\n // Above every overlay (OVERLAY_Z_INDEX), as the toaster always was.\n zIndex: 999999999,\n [NARROW]: {\n left: `var(${MOBILE_EDGE.left})`,\n right: `var(${MOBILE_EDGE.right})`,\n width: \"auto\",\n },\n },\n listTop: {\n top: `var(${EDGE.top})`,\n [NARROW]: { top: `var(${MOBILE_EDGE.top})` },\n },\n listBottom: {\n bottom: `var(${EDGE.bottom})`,\n [NARROW]: { bottom: `var(${MOBILE_EDGE.bottom})` },\n },\n listLeft: {\n left: `var(${EDGE.left})`,\n },\n listRight: {\n right: `var(${EDGE.right})`,\n },\n listCenter: {\n left: \"50%\",\n transform: \"translateX(-50%)\",\n [NARROW]: { transform: \"none\" },\n },\n root: {\n ...boxModel,\n position: \"absolute\",\n [TRANSLATE_Y]: \"0px\",\n [SCALE]: \"1\",\n transform: `translateY(var(${TRANSLATE_Y})) scale(var(${SCALE}))`,\n opacity: 1,\n touchAction: \"none\",\n overflowWrap: \"anywhere\",\n outlineStyle: \"none\",\n transitionProperty: \"transform, opacity, height, box-shadow\",\n transitionDuration: `${tokens.motionSlow}, ${tokens.motionSlow}, ${tokens.motionSlow}, ${tokens.motionBase}`,\n transitionTimingFunction: tokens.ease,\n \"& > *\": {\n transitionProperty: \"opacity\",\n transitionDuration: tokens.motionSlow,\n transitionTimingFunction: tokens.ease,\n },\n \"&[data-starting-style]\": {\n opacity: 0,\n transform: `translateY(calc(var(${LIFT}) * -100%))`,\n },\n \"&[data-ending-style]\": {\n opacity: 0,\n transform: `translateY(calc(var(${TRANSLATE_Y}) - var(${LIFT}) * 100%))`,\n },\n \"&[data-ending-style][data-swipe-direction='right']\": {\n transform: `translateX(calc(var(--toast-swipe-movement-x) + 100%)) translateY(var(${TRANSLATE_Y}))`,\n },\n \"&[data-ending-style][data-swipe-direction='left']\": {\n transform: `translateX(calc(var(--toast-swipe-movement-x) - 100%)) translateY(var(${TRANSLATE_Y}))`,\n },\n \"&[data-ending-style][data-swipe-direction='down']\": {\n transform: `translateY(calc(var(${TRANSLATE_Y}) + var(--toast-swipe-movement-y) + 100%))`,\n },\n \"&[data-ending-style][data-swipe-direction='up']\": {\n transform: `translateY(calc(var(${TRANSLATE_Y}) + var(--toast-swipe-movement-y) - 100%))`,\n },\n // Beyond `visibleToasts`: kept in the stack, out of sight and out of reach.\n \"&[data-limited]\": {\n opacity: 0,\n pointerEvents: \"none\",\n },\n [REDUCED_MOTION]: {\n transitionProperty: \"none\",\n \"& > *\": { transitionProperty: \"none\" },\n },\n },\n rootTop: {\n top: 0,\n [LIFT]: \"1\",\n },\n rootBottom: {\n bottom: 0,\n [LIFT]: \"-1\",\n },\n rootLeft: {\n left: 0,\n },\n rootRight: {\n right: 0,\n },\n /** An older toast while the stack is collapsed: tucked behind the front one, a step smaller. */\n behind: {\n [TRANSLATE_Y]: `calc(var(${LIFT}) * var(${GAP}) * var(${INDEX}))`,\n [SCALE]: `calc(1 - var(${INDEX}) * 0.05)`,\n height: `var(${FRONT_HEIGHT})`,\n \"& > *\": { opacity: 0 },\n },\n /** Hovered, focused or `expand`: every toast at its own height, one gap apart. */\n expanded: {\n [TRANSLATE_Y]: `calc(var(${LIFT}) * var(${STACK_OFFSET}))`,\n height: \"var(--toast-height)\",\n // Bridges the gap above each toast, so moving between toasts does not collapse the stack.\n \"::after\": {\n content: '\"\"',\n position: \"absolute\",\n left: 0,\n bottom: \"100%\",\n width: \"100%\",\n height: `calc(var(${GAP}) + 1px)`,\n },\n },\n toast: {\n ...boxModel,\n pointerEvents: \"auto\",\n width: \"100%\",\n display: \"flex\",\n alignItems: \"baseline\",\n ...shorthands.gap(tokens.spacingElement2),\n ...shorthands.padding(tokens.spacingGroup2, tokens.spacingElement3),\n ...shorthands.borderRadius(tokens.radiusXl),\n ...shorthands.borderStyle(\"solid\"),\n ...shorthands.borderWidth(0),\n ...shorthands.borderColor(tokens.grayA6),\n backgroundColor: tokens.body,\n color: tokens.grayA12,\n boxShadow: \"0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a\",\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineColor: tokens.grayA8,\n },\n },\n default: {\n ...boxModel,\n backgroundColor: tokens.body,\n ...shorthands.borderColor(tokens.grayA6),\n ...shorthands.gap(tokens.spacingElement2),\n color: tokens.grayA12,\n },\n content: {\n display: \"flex\",\n flexDirection: \"column\",\n ...shorthands.gap(\"0.125rem\"),\n },\n title: {\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n fontWeight: tokens.fontWeightSemibold,\n ...shorthands.margin(0),\n },\n description: {\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n ...shorthands.margin(0),\n },\n icon: {\n ...boxModel,\n alignSelf: \"flex-start\",\n display: \"flex\",\n width: \"1.25rem\",\n height: \"1.25rem\",\n position: \"relative\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n flexShrink: 0,\n // The optical offsets the icon always had, written per writing direction.\n marginInlineStart: \"-3px\",\n marginInlineEnd: \"4px\",\n },\n loader: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n },\n actionButton: {\n ...boxModel,\n ...shorthands.borderRadius(\"9999px\"),\n flexShrink: 0,\n alignSelf: \"flex-end\",\n cursor: \"pointer\",\n marginLeft: \"auto\",\n marginTop: tokens.spacingGroup2,\n fontSize: tokens.textXs,\n lineHeight: tokens.leadingXs,\n fontWeight: tokens.fontWeightMedium,\n ...shorthands.padding(\"0.3125rem\", tokens.spacingElement2),\n color: tokens.accentContrast,\n backgroundColor: tokens.gray12,\n \":hover\": {\n backgroundColor: tokens.gray11,\n },\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.grayA8,\n },\n },\n cancelButton: {\n ...boxModel,\n backgroundColor: tokens.graySoft,\n color: tokens.grayA12,\n \":hover\": {\n backgroundColor: tokens.graySoftHover,\n },\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n fontWeight: tokens.fontWeightMedium,\n ...shorthands.padding(\"0.3125rem\", tokens.spacingElement2),\n ...shorthands.borderRadius(tokens.radiusMd),\n },\n closeButton: {\n ...nativeControl,\n position: \"absolute\",\n right: \"0.625rem\",\n top: \"0.625rem\",\n ...shorthands.borderRadius(\"9999px\"),\n color: \"currentColor\",\n cursor: \"pointer\",\n backgroundColor: \"transparent\",\n ...shorthands.border(\"0\"),\n ...shorthands.padding(0),\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: \"inherit\",\n },\n \"& > svg\": {\n width: \"1rem\",\n height: \"1rem\",\n strokeWidth: \"2px\",\n },\n },\n success: {\n ...boxModel,\n ...shorthands.borderColor(tokens.successUi),\n backgroundColor: tokens.success4,\n color: tokens.successA12,\n [`& [${SLOT_ATTR}=\"toast-icon\"]`]: {\n color: tokens.successA11,\n },\n },\n info: {\n ...boxModel,\n ...shorthands.borderColor(tokens.infoUi),\n backgroundColor: tokens.info3,\n color: tokens.infoA12,\n [`& [${SLOT_ATTR}=\"toast-icon\"]`]: {\n color: tokens.infoA11,\n },\n },\n warning: {\n ...boxModel,\n ...shorthands.borderColor(tokens.warningUi),\n backgroundColor: tokens.warning3,\n color: tokens.warningA12,\n [`& [${SLOT_ATTR}=\"toast-icon\"]`]: {\n color: tokens.warningA11,\n },\n },\n error: {\n ...boxModel,\n ...shorthands.borderColor(tokens.errorUi),\n backgroundColor: tokens.error4,\n color: tokens.errorA12,\n [`& [${SLOT_ATTR}=\"toast-icon\"]`]: {\n color: tokens.errorA11,\n },\n },\n loading: {},\n spinner: {\n ...boxModel,\n width: \"1.125rem\",\n height: \"1.125rem\",\n },\n})\n\n/**\n * Zenith's own Toaster surface. Props a headless toast library might add are not part of it:\n * Zenith owns the toast's appearance and behaviour, and this type changes only with this file.\n */\nexport type ToasterProps = {\n id?: string\n theme?: \"light\" | \"dark\"\n position?: ToastPosition\n duration?: number\n gap?: number\n visibleToasts?: number\n closeButton?: boolean\n expand?: boolean\n dir?: \"rtl\" | \"ltr\" | \"auto\"\n offset?: ToastOffset\n mobileOffset?: ToastOffset\n className?: string\n style?: React.CSSProperties\n containerAriaLabel?: string\n /** Per-toast defaults. Zenith supplies the class names; these merge over them. */\n toastOptions?: {\n className?: string\n descriptionClassName?: string\n style?: React.CSSProperties\n duration?: number\n closeButton?: boolean\n closeButtonAriaLabel?: string\n classNames?: Partial<\n Record<\n | \"toast\"\n | \"title\"\n | \"description\"\n | \"loader\"\n | \"closeButton\"\n | \"cancelButton\"\n | \"actionButton\"\n | \"success\"\n | \"error\"\n | \"info\"\n | \"warning\"\n | \"loading\"\n | \"default\"\n | \"content\"\n | \"icon\",\n string\n >\n >\n }\n}\n\nexport type ToastPosition =\n | \"top-left\"\n | \"top-right\"\n | \"top-center\"\n | \"bottom-left\"\n | \"bottom-right\"\n | \"bottom-center\"\n\nexport type ToastOffset =\n | string\n | number\n | {\n top?: string | number\n right?: string | number\n bottom?: string | number\n left?: string | number\n }\n\n/** Zenith's own per-toast options. */\nexport type ToastOptions = {\n id?: string | number\n description?: React.ReactNode\n duration?: number\n icon?: React.ReactNode\n className?: string\n style?: React.CSSProperties\n position?: ToastPosition\n dismissible?: boolean\n action?: {\n label: React.ReactNode\n /** Call `event.preventDefault()` here to keep the toast open after the action. */\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => void\n }\n cancel?: {\n label: React.ReactNode\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void\n }\n /** Receives the toast's record: its id, title, type and these options. */\n onDismiss?: (toast: unknown) => void\n /** Receives the toast's record: its id, title, type and these options. */\n onAutoClose?: (toast: unknown) => void\n /** Routes this toast to `<Toaster id>`; without it a second Toaster renders nothing. */\n toasterId?: string\n}\n\ntype ToastType = \"success\" | \"error\" | \"warning\" | \"info\" | \"loading\"\ntype ToastClassNameKey = keyof NonNullable<\n NonNullable<ToasterProps[\"toastOptions\"]>[\"classNames\"]\n>\ntype ToastObject = ToastPrimitive.Root.ToastObject<ToastOptions>\ntype ToastManager = ReturnType<\n typeof ToastPrimitive.createToastManager<ToastOptions>\n>\n\nconst DEFAULT_DURATION = 4000\nconst DEFAULT_GAP = 14\nconst DEFAULT_VISIBLE_TOASTS = 3\nconst DEFAULT_OFFSET = \"24px\"\nconst DEFAULT_MOBILE_OFFSET = \"16px\"\n\n// Sized to fill the 1.25rem icon slot: an SVG with only a viewBox is a 0px flex item in WebKit,\n// even with flex-shrink 0, while Chromium stretches it, so Safari drew no glyph at all.\nconst TYPE_ICONS: Record<Exclude<ToastType, \"loading\">, React.ReactNode> = {\n success: <CheckIcon width=\"100%\" height=\"100%\" />,\n info: <InfoIcon width=\"100%\" height=\"100%\" />,\n warning: <WarningIcon width=\"100%\" height=\"100%\" />,\n error: <ErrorIcon width=\"100%\" height=\"100%\" />,\n}\n\n/**\n * One manager per `<Toaster id>`, held by this module rather than by a Toaster, so `toast()` works\n * from anywhere. Each app bundle has its own copy of this module and so its own managers: a toast\n * fired in one app reaches only that app's Toaster.\n */\nconst managers = new Map<string, ToastManager>()\n\nfunction managerFor(toasterId: string | undefined): ToastManager {\n const key = toasterId ?? \"\"\n let manager = managers.get(key)\n if (!manager) {\n manager = ToastPrimitive.createToastManager<ToastOptions>()\n managers.set(key, manager)\n }\n return manager\n}\n\n/**\n * Why a toast closed, recorded just before it closes, so its `onClose` can call `onDismiss`, call\n * `onAutoClose`, or neither. Base UI's timer is the one closer that records nothing.\n */\ntype CloseReason = \"dismissed\" | \"acted\"\nconst closeReasons = new Map<string, CloseReason>()\n/** Toasts shown and not yet closed, by Base UI id. */\nconst openToasts = new Set<string>()\n\ntype ToastRecord = ToastOptions & {\n id: string | number\n title: React.ReactNode\n type?: ToastType\n}\n\nfunction settle(key: string, record: ToastRecord): void {\n // Every Toaster sharing a manager reports the close; the callbacks run once.\n if (!openToasts.delete(key)) return\n const reason = closeReasons.get(key)\n closeReasons.delete(key)\n if (reason === \"dismissed\") record.onDismiss?.(record)\n else if (reason === undefined) record.onAutoClose?.(record)\n}\n\nfunction close(manager: ToastManager, key: string, reason: CloseReason) {\n closeReasons.set(key, reason)\n manager.close(key)\n}\n\n/**\n * For the closes Base UI performs itself on a gesture (a swipe, Escape): marked as a dismissal for\n * the rest of this task, which is when Base UI acts on the same event, then forgotten.\n */\nfunction expectDismissal(key: string) {\n if (!openToasts.has(key)) return\n closeReasons.set(key, \"dismissed\")\n queueMicrotask(() => {\n if (openToasts.has(key) && closeReasons.get(key) === \"dismissed\") {\n closeReasons.delete(key)\n }\n })\n}\n\n/** `0` means the Toaster's default and `Infinity` means never; Base UI spells never as `0`. */\nfunction timeoutOf(duration: number | undefined): number | undefined {\n if (!duration) return undefined\n return duration === Infinity ? 0 : duration\n}\n\nlet lastId = 0\n\nfunction show(\n type: ToastType | undefined,\n message: React.ReactNode,\n options: ToastOptions = {}\n): string | number {\n const id =\n options.id === undefined || options.id === \"\" ? ++lastId : options.id\n const key = String(id)\n const record: ToastRecord = { ...options, id, title: message, type }\n openToasts.add(key)\n managerFor(options.toasterId).add({\n id: key,\n title: message,\n description: options.description,\n type,\n timeout: timeoutOf(options.duration),\n onClose: () => settle(key, record),\n data: options,\n })\n return id\n}\n\nfunction documentDirection(): \"ltr\" | \"rtl\" {\n if (typeof document === \"undefined\") return \"ltr\"\n const attribute = document.documentElement.getAttribute(\"dir\")\n if (attribute === \"ltr\" || attribute === \"rtl\") return attribute\n return getComputedStyle(document.documentElement).direction === \"rtl\"\n ? \"rtl\"\n : \"ltr\"\n}\n\nfunction edgeVariables(\n offset: ToastOffset | undefined,\n mobileOffset: ToastOffset | undefined\n): Record<string, string> {\n const variables: Record<string, string> = {}\n const assign = (\n value: ToastOffset | undefined,\n names: Record<Side, string>,\n fallback: string\n ) => {\n for (const side of SIDES) {\n const raw =\n typeof value === \"object\"\n ? (value[side] ?? fallback)\n : (value ?? fallback)\n variables[names[side]] = typeof raw === \"number\" ? `${raw}px` : raw\n }\n }\n assign(offset, EDGE, DEFAULT_OFFSET)\n assign(mobileOffset, MOBILE_EDGE, DEFAULT_MOBILE_OFFSET)\n return variables\n}\n\ntype StackEntry = { toast: ToastObject; index: number; offset: number }\ntype Stack = {\n position: ToastPosition\n frontHeight: number\n entries: StackEntry[]\n}\n\n/** Toasts grouped by position, newest first, each with its place in its own stack. */\nfunction stacksOf(\n toasts: ToastObject[],\n fallback: ToastPosition,\n gap: number\n): Stack[] {\n const byPosition = new Map<ToastPosition, ToastObject[]>()\n for (const toast of toasts) {\n const position = toast.data?.position ?? fallback\n byPosition.set(position, [...(byPosition.get(position) ?? []), toast])\n }\n return [...byPosition].map(([position, members]) => {\n let index = 0\n let heightBefore = 0\n let frontHeight = 0\n const entries = members.map((toast) => {\n const entry = { toast, index, offset: heightBefore + index * gap }\n if (toast.transitionStatus !== \"ending\") {\n if (index === 0) frontHeight = toast.height ?? 0\n heightBefore += toast.height ?? 0\n index += 1\n }\n return entry\n })\n return { position, frontHeight, entries }\n })\n}\n\ntype ToastItemProps = StackEntry & {\n total: number\n y: \"top\" | \"bottom\"\n x: \"left\" | \"right\" | \"center\"\n expand: boolean\n closeButton: boolean\n toastOptions: ToasterProps[\"toastOptions\"]\n manager: ToastManager\n}\n\nfunction ToastItem({\n toast,\n index,\n offset,\n total,\n y,\n x,\n expand,\n closeButton,\n toastOptions,\n manager,\n}: ToastItemProps) {\n const styles = useStyles()\n const options = toast.data ?? {}\n const type = toast.type as ToastType | undefined\n const key = toast.id\n const dismissible = options.dismissible !== false\n // A caller's class replaces Zenith's for that part. The loader is the exception, merged below,\n // because its class is what centres the spinner.\n const classNames: Record<Exclude<ToastClassNameKey, \"loader\">, string> = {\n toast: styles.toast,\n title: styles.title,\n description: styles.description,\n closeButton: styles.closeButton,\n cancelButton: styles.cancelButton,\n actionButton: styles.actionButton,\n success: styles.success,\n error: styles.error,\n info: styles.info,\n warning: styles.warning,\n loading: styles.loading,\n default: styles.default,\n content: styles.content,\n icon: styles.icon,\n ...toastOptions?.classNames,\n }\n\n const icon =\n options.icon === null\n ? null\n : type === \"loading\"\n ? options.icon || (\n <div\n className={mergeClasses(\n styles.loader,\n toastOptions?.classNames?.loader\n )}\n >\n <Spinner className={styles.spinner} />\n </div>\n )\n : options.icon || (type ? TYPE_ICONS[type] : null)\n\n const swipeDirection: (\"up\" | \"down\" | \"left\" | \"right\")[] = dismissible\n ? [y === \"top\" ? \"up\" : \"down\", ...(x === \"center\" ? [] : [x])]\n : []\n\n return (\n <ToastPrimitive.Root\n toast={toast}\n render={<li />}\n // Still a list item in a list, as before: Base UI's dialog role would hide the stack's shape.\n role={undefined}\n aria-modal={undefined}\n data-slot=\"toast\"\n {...{ [SLOT_ATTR]: \"toast\" }}\n swipeDirection={swipeDirection}\n className={(state) =>\n mergeClasses(\n classNames.toast,\n classNames.default,\n type && classNames[type],\n styles.root,\n y === \"top\" ? styles.rootTop : styles.rootBottom,\n x === \"left\" && styles.rootLeft,\n x === \"right\" && styles.rootRight,\n expand || state.expanded\n ? styles.expanded\n : index > 0 && styles.behind,\n toastOptions?.className,\n options.className\n )\n }\n style={\n {\n zIndex: total - index,\n [INDEX]: index,\n [STACK_OFFSET]: `${offset}px`,\n ...toastOptions?.style,\n ...options.style,\n } as React.CSSProperties\n }\n onKeyDown={(event) => {\n if (event.key !== \"Escape\") return\n if (dismissible) expectDismissal(key)\n else event.preventBaseUIHandler()\n }}\n onPointerUp={() => expectDismissal(key)}\n >\n {closeButton && type !== \"loading\" ? (\n <button\n type=\"button\"\n aria-label={toastOptions?.closeButtonAriaLabel ?? \"Close toast\"}\n data-slot=\"toast-close\"\n {...{ [SLOT_ATTR]: \"toast-close\" }}\n className={classNames.closeButton}\n onClick={() => {\n if (dismissible) close(manager, key, \"dismissed\")\n }}\n >\n <CloseIcon />\n </button>\n ) : null}\n {icon ? (\n <div\n data-slot=\"toast-icon\"\n {...{ [SLOT_ATTR]: \"toast-icon\" }}\n className={classNames.icon}\n >\n {icon}\n </div>\n ) : null}\n <ToastPrimitive.Content\n data-slot=\"toast-content\"\n {...{ [SLOT_ATTR]: \"toast-content\" }}\n className={classNames.content}\n >\n <ToastPrimitive.Title\n render={<div />}\n data-slot=\"toast-title\"\n {...{ [SLOT_ATTR]: \"toast-title\" }}\n className={classNames.title}\n />\n {toast.description ? (\n <ToastPrimitive.Description\n render={<div />}\n data-slot=\"toast-description\"\n {...{ [SLOT_ATTR]: \"toast-description\" }}\n className={mergeClasses(\n classNames.description,\n toastOptions?.descriptionClassName\n )}\n />\n ) : null}\n </ToastPrimitive.Content>\n {options.cancel ? (\n <button\n type=\"button\"\n data-slot=\"toast-cancel\"\n {...{ [SLOT_ATTR]: \"toast-cancel\" }}\n className={classNames.cancelButton}\n onClick={(event) => {\n if (!dismissible) return\n options.cancel?.onClick?.(event)\n close(manager, key, \"acted\")\n }}\n >\n {options.cancel.label}\n </button>\n ) : null}\n {options.action ? (\n <button\n type=\"button\"\n data-slot=\"toast-action\"\n {...{ [SLOT_ATTR]: \"toast-action\" }}\n className={classNames.actionButton}\n onClick={(event) => {\n options.action?.onClick(event)\n if (!event.defaultPrevented) close(manager, key, \"acted\")\n }}\n >\n {options.action.label}\n </button>\n ) : null}\n </ToastPrimitive.Root>\n )\n}\n\nconst ToasterViewport = React.forwardRef<HTMLElement, ToasterProps>(\n function ToasterViewport(\n {\n id,\n theme,\n position = \"bottom-right\",\n gap = DEFAULT_GAP,\n closeButton = true,\n expand = false,\n dir,\n offset,\n mobileOffset,\n className,\n style,\n containerAriaLabel = \"Notifications\",\n toastOptions,\n },\n ref\n ) {\n const styles = useStyles()\n const { toasts } = ToastPrimitive.useToastManager<ToastOptions>()\n const manager = managerFor(id)\n const direction =\n dir === undefined || dir === \"auto\" ? documentDirection() : dir\n const edges = edgeVariables(offset, mobileOffset)\n\n return (\n <ToastPrimitive.Viewport\n // Base UI types its element as a div; the public ref has always been an HTMLElement.\n ref={ref as React.Ref<HTMLDivElement>}\n data-slot=\"toaster\"\n {...{ [SLOT_ATTR]: \"toaster\" }}\n // F6 moves focus into the stack, the way alt+T did.\n aria-label={`${containerAriaLabel} F6`}\n data-theme={theme}\n >\n {stacksOf(toasts, position, gap).map((stack) => {\n const [y, x] = stack.position.split(\"-\") as [\n \"top\" | \"bottom\",\n \"left\" | \"right\" | \"center\",\n ]\n return (\n <ol\n key={stack.position}\n dir={direction}\n data-slot=\"toast-list\"\n {...{ [SLOT_ATTR]: \"toast-list\" }}\n className={mergeClasses(\n styles.list,\n y === \"top\" ? styles.listTop : styles.listBottom,\n x === \"left\" && styles.listLeft,\n x === \"right\" && styles.listRight,\n x === \"center\" && styles.listCenter,\n className\n )}\n style={\n {\n [FRONT_HEIGHT]: `${stack.frontHeight}px`,\n [GAP]: `${gap}px`,\n ...style,\n ...edges,\n } as React.CSSProperties\n }\n >\n {stack.entries.map((entry) => (\n <ToastItem\n key={entry.toast.id}\n {...entry}\n total={stack.entries.length}\n y={y}\n x={x}\n expand={expand}\n closeButton={toastOptions?.closeButton ?? closeButton}\n toastOptions={toastOptions}\n manager={manager}\n />\n ))}\n </ol>\n )\n })}\n </ToastPrimitive.Viewport>\n )\n }\n)\n\n/**\n * The toast region. Render it once near the app root; `toast()` from anywhere in the same app shows\n * here. Built on Base UI's headless Toast: every rule is a Griffel atom installed through the\n * runtime renderer, so a page with several apps holds one copy of them.\n */\nexport const Toaster = React.forwardRef<HTMLElement, ToasterProps>(\n function Toaster(props, ref) {\n const timeout =\n timeoutOf(props.toastOptions?.duration ?? props.duration) ??\n DEFAULT_DURATION\n\n return (\n <ToastPrimitive.Provider\n toastManager={managerFor(props.id)}\n timeout={timeout}\n limit={props.visibleToasts ?? DEFAULT_VISIBLE_TOASTS}\n >\n <ToasterViewport {...props} ref={ref} />\n </ToastPrimitive.Provider>\n )\n }\n)\n\nfunction toastFn(message: React.ReactNode, options?: ToastOptions) {\n return show(undefined, message, options)\n}\n\n/** A fetch `Response` that resolved with an error status. */\nfunction isFailedResponse(value: unknown): value is { status: number } {\n return (\n typeof value === \"object\" &&\n value !== null &&\n \"ok\" in value &&\n value.ok === false &&\n \"status\" in value &&\n typeof value.status === \"number\"\n )\n}\n\n/**\n * Zenith's toast entry point. Every method is this package's own, implemented on Base UI's toast\n * manager.\n */\nexport const toast = Object.assign(toastFn, {\n success: (message: React.ReactNode, options?: ToastOptions) =>\n show(\"success\", message, options),\n error: (message: React.ReactNode, options?: ToastOptions) =>\n show(\"error\", message, options),\n warning: (message: React.ReactNode, options?: ToastOptions) =>\n show(\"warning\", message, options),\n info: (message: React.ReactNode, options?: ToastOptions) =>\n show(\"info\", message, options),\n loading: (message: React.ReactNode, options?: ToastOptions) =>\n show(\"loading\", message, options),\n /** Dismisses one toast, or every toast when called without an id. Returns the id it was given. */\n dismiss: (id?: string | number): string | number => {\n const keys = id === undefined ? [...openToasts] : [String(id)]\n for (const key of keys) {\n if (openToasts.has(key)) closeReasons.set(key, \"dismissed\")\n }\n for (const manager of managers.values()) {\n manager.close(id === undefined ? undefined : String(id))\n }\n return id as string | number\n },\n /**\n * Shows `loading` while the promise is pending, then turns the same toast into `success` or\n * `error`. A resolved `Response` with an error status counts as a failure. Returns `{ unwrap }`,\n * whose promise settles like the original.\n */\n promise: <T,>(\n promise: Promise<T> | (() => Promise<T>),\n data?: {\n loading?: React.ReactNode\n success?: React.ReactNode | ((data: T) => React.ReactNode)\n error?: React.ReactNode | ((error: unknown) => React.ReactNode)\n description?: React.ReactNode\n finally?: () => void | Promise<void>\n }\n ): unknown => {\n if (!data) return undefined\n const id =\n data.loading === undefined\n ? undefined\n : show(\"loading\", data.loading, { description: data.description })\n const settled = Promise.resolve(\n typeof promise === \"function\" ? promise() : promise\n )\n let dismissAfter = id !== undefined\n const fail = (reason: unknown) => {\n dismissAfter = false\n const message =\n typeof data.error === \"function\" ? data.error(reason) : data.error\n show(\"error\", message, { id, description: data.description })\n }\n void settled\n .then(\n (result) => {\n if (isFailedResponse(result)) {\n fail(`HTTP error! status: ${result.status}`)\n } else if (result instanceof Error) {\n fail(result)\n } else if (data.success !== undefined) {\n dismissAfter = false\n const message =\n typeof data.success === \"function\"\n ? data.success(result)\n : data.success\n show(\"success\", message, { id, description: data.description })\n }\n },\n (reason: unknown) => {\n if (data.error !== undefined) fail(reason)\n }\n )\n .finally(() => {\n if (dismissAfter && id !== undefined) toast.dismiss(id)\n void data.finally?.()\n })\n return { unwrap: () => settled }\n },\n})\n"],"names":["InfoIcon","props","jsx","WarningIcon","CheckIcon","ErrorIcon","CloseIcon","jsxs","GAP","FRONT_HEIGHT","INDEX","STACK_OFFSET","LIFT","TRANSLATE_Y","SCALE","SIDES","EDGE","MOBILE_EDGE","NARROW","REDUCED_MOTION","useStyles","makeZenithStyles","boxModel","shorthands","tokens.motionSlow","tokens.motionBase","tokens.ease","tokens.spacingElement2","tokens.spacingGroup2","tokens.spacingElement3","tokens.radiusXl","tokens.grayA6","tokens.body","tokens.grayA12","tokens.grayA8","tokens.textSm","tokens.leadingSm","tokens.fontWeightSemibold","tokens.textXs","tokens.leadingXs","tokens.fontWeightMedium","tokens.accentContrast","tokens.gray12","tokens.gray11","tokens.graySoft","tokens.graySoftHover","tokens.radiusMd","nativeControl","tokens.successUi","tokens.success4","tokens.successA12","SLOT_ATTR","tokens.successA11","tokens.infoUi","tokens.info3","tokens.infoA12","tokens.infoA11","tokens.warningUi","tokens.warning3","tokens.warningA12","tokens.warningA11","tokens.errorUi","tokens.error4","tokens.errorA12","tokens.errorA11","DEFAULT_DURATION","DEFAULT_GAP","DEFAULT_VISIBLE_TOASTS","DEFAULT_OFFSET","DEFAULT_MOBILE_OFFSET","TYPE_ICONS","managers","managerFor","toasterId","key","manager","ToastPrimitive","closeReasons","openToasts","settle","record","reason","_a","_b","close","expectDismissal","timeoutOf","duration","lastId","show","type","message","options","id","documentDirection","attribute","edgeVariables","offset","mobileOffset","variables","assign","value","names","fallback","side","raw","stacksOf","toasts","gap","byPosition","toast","position","members","index","heightBefore","frontHeight","entries","entry","ToastItem","total","y","x","expand","closeButton","toastOptions","styles","dismissible","classNames","icon","mergeClasses","Spinner","swipeDirection","state","event","ToasterViewport","React","theme","dir","className","style","containerAriaLabel","ref","direction","edges","stack","Toaster","timeout","toastFn","isFailedResponse","keys","promise","data","settled","dismissAfter","fail","result"],"mappings":"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"}
|
|
@@ -1,47 +1,158 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import * as
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
1
|
+
import { jsx as T } from "react/jsx-runtime";
|
|
2
|
+
import * as o from "react";
|
|
3
|
+
import { Toggle as M } from "../../_virtual/_zenith-runtime-family_toggle.js";
|
|
4
|
+
import { ToggleGroup as W } from "../../_virtual/_zenith-runtime-family_toggle-group.js";
|
|
5
|
+
import { DirectionProvider as H } from "../../_virtual/_zenith-runtime-family_direction-provider.js";
|
|
6
|
+
import { mergeClasses as k, SLOT_ATTR as D, shorthands as j } from "@epilot/zenith-runtime/v1";
|
|
7
|
+
import { makeZenithStyles as Y } from "../../styles/make-styles.js";
|
|
8
|
+
import { spacingElement1 as Z } from "../../tokens/index.js";
|
|
9
|
+
import { useToggleStyles as $, buttonSlotProps as q, respectDefaultPrevented as z, onlySlotChild as J } from "./toggle.js";
|
|
10
|
+
const Q = Y({
|
|
9
11
|
group: {
|
|
10
12
|
display: "flex",
|
|
11
|
-
...
|
|
13
|
+
...j.gap(Z)
|
|
12
14
|
}
|
|
13
|
-
}),
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
}), L = o.createContext(
|
|
16
|
+
null
|
|
17
|
+
), X = /* @__PURE__ */ new Set([
|
|
18
|
+
"ArrowUp",
|
|
19
|
+
"ArrowDown",
|
|
20
|
+
"ArrowLeft",
|
|
21
|
+
"ArrowRight",
|
|
22
|
+
"Home",
|
|
23
|
+
"End"
|
|
24
|
+
]), P = (i) => i === void 0 || i === "" ? [] : typeof i == "string" ? [i] : i, v = o.forwardRef(function({
|
|
25
|
+
type: c,
|
|
26
|
+
value: d,
|
|
27
|
+
defaultValue: f,
|
|
28
|
+
onValueChange: g,
|
|
29
|
+
loop: m,
|
|
30
|
+
rovingFocus: l = !0,
|
|
31
|
+
dir: t,
|
|
32
|
+
asChild: w = !1,
|
|
33
|
+
children: y,
|
|
34
|
+
...s
|
|
35
|
+
}, G) {
|
|
36
|
+
const u = c === "single", [I, V] = o.useState(
|
|
37
|
+
() => P(f)
|
|
38
|
+
), C = d !== void 0, R = C ? P(d) : I, h = o.useRef({ isControlled: C, onValueChange: g, single: u });
|
|
39
|
+
h.current = { isControlled: C, onValueChange: g, single: u };
|
|
40
|
+
const p = o.useCallback(
|
|
41
|
+
(e, r) => {
|
|
42
|
+
const n = h.current, a = n.onValueChange;
|
|
43
|
+
a == null || a(
|
|
44
|
+
n.single ? e[0] ?? "" : e,
|
|
45
|
+
r
|
|
46
|
+
), !n.isControlled && !r.isCanceled && V(e);
|
|
47
|
+
},
|
|
48
|
+
[]
|
|
49
|
+
), [U, b] = o.useState(!1), S = o.useRef(
|
|
50
|
+
/* @__PURE__ */ new Map()
|
|
51
|
+
), [_, N] = o.useState(0), x = o.useCallback(
|
|
52
|
+
(e, r, n) => (S.current.set(e, { element: r, disabled: n }), N((a) => a + 1), () => {
|
|
53
|
+
S.current.delete(e), N((a) => a + 1);
|
|
54
|
+
}),
|
|
55
|
+
[]
|
|
56
|
+
), [B, F] = o.useState(void 0);
|
|
57
|
+
o.useLayoutEffect(() => {
|
|
58
|
+
var r;
|
|
59
|
+
const e = R.map((n) => [n, S.current.get(n)]).filter(
|
|
60
|
+
(n) => n[1] !== void 0 && !n[1].disabled
|
|
61
|
+
).sort(
|
|
62
|
+
(n, a) => n[1].element.compareDocumentPosition(a[1].element) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1
|
|
63
|
+
);
|
|
64
|
+
F((r = e[0]) == null ? void 0 : r[0]);
|
|
65
|
+
}, [R, _]);
|
|
66
|
+
const A = !U && l ? B : void 0, K = o.useMemo(
|
|
67
|
+
() => ({
|
|
68
|
+
single: u,
|
|
69
|
+
value: R,
|
|
70
|
+
rovingFocus: l,
|
|
71
|
+
entryValue: A,
|
|
72
|
+
registerItem: x
|
|
73
|
+
}),
|
|
74
|
+
[u, R, l, A, x]
|
|
75
|
+
), E = w ? J(y) : void 0, O = /* @__PURE__ */ T(
|
|
76
|
+
W,
|
|
17
77
|
{
|
|
18
|
-
ref:
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
78
|
+
ref: G,
|
|
79
|
+
multiple: !u,
|
|
80
|
+
value: R,
|
|
81
|
+
onValueChange: p,
|
|
82
|
+
loopFocus: m,
|
|
83
|
+
...s,
|
|
84
|
+
onFocus: (e) => {
|
|
85
|
+
var r;
|
|
86
|
+
(r = s.onFocus) == null || r.call(s, e), b(!0);
|
|
87
|
+
},
|
|
88
|
+
onKeyDown: (e) => {
|
|
89
|
+
var r, n;
|
|
90
|
+
(r = s.onKeyDown) == null || r.call(s, e), !l && !e.defaultPrevented && X.has(e.key) && ((n = e.preventBaseUIHandler) == null || n.call(e));
|
|
91
|
+
},
|
|
92
|
+
onBlur: (e) => {
|
|
93
|
+
var r;
|
|
94
|
+
(r = s.onBlur) == null || r.call(s, e), e.currentTarget.contains(e.relatedTarget) || b(!1);
|
|
95
|
+
},
|
|
96
|
+
...E ? { render: E } : { children: y }
|
|
23
97
|
}
|
|
24
98
|
);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
99
|
+
return /* @__PURE__ */ T(L.Provider, { value: K, children: t ? /* @__PURE__ */ T(H, { direction: t, children: O }) : O });
|
|
100
|
+
}), ue = o.forwardRef(
|
|
101
|
+
function({ className: c, ...d }, f) {
|
|
102
|
+
const g = Q();
|
|
103
|
+
return /* @__PURE__ */ T(
|
|
104
|
+
v,
|
|
105
|
+
{
|
|
106
|
+
ref: f,
|
|
107
|
+
"data-slot": "toggle-group",
|
|
108
|
+
[D]: "toggle-group",
|
|
109
|
+
className: k(g.group, c),
|
|
110
|
+
...d
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
), ee = o.forwardRef(function({ value: c, asChild: d = !1, children: f, onClick: g, ...m }, l) {
|
|
115
|
+
const t = o.useContext(L), w = (t == null ? void 0 : t.value.includes(c)) ?? !1, y = t == null ? void 0 : t.entryValue, s = t == null ? void 0 : t.registerItem, G = m.disabled === !0, u = o.useRef(null);
|
|
116
|
+
return o.useEffect(
|
|
117
|
+
() => s && u.current ? s(c, u.current, G) : void 0,
|
|
118
|
+
[s, c, G]
|
|
119
|
+
), /* @__PURE__ */ T(
|
|
120
|
+
M,
|
|
121
|
+
{
|
|
122
|
+
ref: (I) => {
|
|
123
|
+
u.current = I, typeof l == "function" ? l(I) : l && (l.current = I);
|
|
124
|
+
},
|
|
125
|
+
value: c,
|
|
126
|
+
...m,
|
|
127
|
+
...t != null && t.single ? { role: "radio", "aria-checked": w, "aria-pressed": void 0 } : {},
|
|
128
|
+
...(t == null ? void 0 : t.rovingFocus) === !1 ? { tabIndex: 0 } : {},
|
|
129
|
+
...y !== void 0 ? { tabIndex: y === c ? 0 : -1 } : {},
|
|
130
|
+
onClick: z(g),
|
|
131
|
+
...q(d, f)
|
|
132
|
+
}
|
|
133
|
+
);
|
|
134
|
+
}), ae = o.forwardRef(function({ className: c, variant: d = "default", size: f = "base", ...g }, m) {
|
|
135
|
+
const l = $();
|
|
136
|
+
return /* @__PURE__ */ T(
|
|
137
|
+
ee,
|
|
29
138
|
{
|
|
30
|
-
ref:
|
|
139
|
+
ref: m,
|
|
31
140
|
"data-slot": "toggle-group-item",
|
|
32
|
-
[
|
|
33
|
-
className:
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
141
|
+
[D]: "toggle-group-item",
|
|
142
|
+
className: k(
|
|
143
|
+
l.root,
|
|
144
|
+
l[d],
|
|
145
|
+
l[f],
|
|
146
|
+
c
|
|
38
147
|
),
|
|
39
|
-
...
|
|
148
|
+
...g
|
|
40
149
|
}
|
|
41
150
|
);
|
|
42
151
|
});
|
|
43
152
|
export {
|
|
44
|
-
|
|
45
|
-
|
|
153
|
+
ue as ToggleGroup,
|
|
154
|
+
ae as ToggleGroupItem,
|
|
155
|
+
ee as ToggleGroupItemRoot,
|
|
156
|
+
v as ToggleGroupRoot
|
|
46
157
|
};
|
|
47
158
|
//# sourceMappingURL=toggle-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.js","sources":["../../../src/components/toggle/toggle-group.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport { useToggleStyles, type ToggleVariant, type ToggleSize } from \"./toggle\"\n\nconst useToggleGroupStyles = makeZenithStyles({\n group: {\n display: \"flex\",\n ...shorthands.gap(tokens.spacingElement1),\n },\n})\n\nexport type ToggleGroupProps = React.ComponentProps<\n typeof ToggleGroupPrimitive.Root\n>\n\nexport const ToggleGroup = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Root>,\n ToggleGroupProps\n>(function ToggleGroup({ className, ...props }, ref) {\n const styles = useToggleGroupStyles()\n\n return (\n <ToggleGroupPrimitive.Root\n ref={ref}\n data-slot=\"toggle-group\"\n {...{ [SLOT_ATTR]: \"toggle-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n})\n\nexport type ToggleGroupItemProps = React.ComponentProps<\n typeof ToggleGroupPrimitive.Item\n> & {\n variant?: ToggleVariant\n size?: ToggleSize\n}\n\nexport const ToggleGroupItem = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Item>,\n ToggleGroupItemProps\n>(function ToggleGroupItem(\n { className, variant = \"default\", size = \"base\", ...props },\n ref\n) {\n const styles = useToggleStyles()\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n data-slot=\"toggle-group-item\"\n {...{ [SLOT_ATTR]: \"toggle-group-item\" }}\n className={mergeClasses(\n styles.root,\n styles[variant],\n styles[size],\n className\n )}\n {...props}\n />\n )\n})\n"],"names":["useToggleGroupStyles","makeZenithStyles","shorthands","tokens.spacingElement1","ToggleGroup","React","className","props","ref","styles","jsx","ToggleGroupPrimitive.Root","SLOT_ATTR","mergeClasses","ToggleGroupItem","variant","size","useToggleStyles","ToggleGroupPrimitive.Item"],"mappings":";;;;;;;AASA,MAAMA,IAAuBC,EAAiB;AAAA,EAC5C,OAAO;AAAA,IACL,SAAS;AAAA,IACT,GAAGC,EAAW,IAAIC,CAAsB;AAAA,EAAA;AAE5C,CAAC,GAMYC,IAAcC,EAAM,WAG/B,SAAqB,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,GAAK;AACnD,QAAMC,IAAST,EAAA;AAEf,SACE,gBAAAU;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,KAAAH;AAAA,MACA,aAAU;AAAA,MACJ,CAACI,CAAS,GAAG;AAAA,MACnB,WAAWC,EAAaJ,EAAO,OAAOH,CAAS;AAAA,MAC9C,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC,GASYO,IAAkBT,EAAM,WAGnC,SACA,EAAE,WAAAC,GAAW,SAAAS,IAAU,WAAW,MAAAC,IAAO,QAAQ,GAAGT,EAAA,GACpDC,GACA;AACA,QAAMC,IAASQ,EAAA;AAEf,SACE,gBAAAP;AAAA,IAACQ;AAAAA,IAAA;AAAA,MACC,KAAAV;AAAA,MACA,aAAU;AAAA,MACJ,CAACI,CAAS,GAAG;AAAA,MACnB,WAAWC;AAAA,QACTJ,EAAO;AAAA,QACPA,EAAOM,CAAO;AAAA,QACdN,EAAOO,CAAI;AAAA,QACXV;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV,CAAC;"}
|
|
1
|
+
{"version":3,"file":"toggle-group.js","sources":["../../../src/components/toggle/toggle-group.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Toggle as TogglePrimitive } from \"@base-ui/react/toggle\"\nimport { ToggleGroup as ToggleGroupPrimitive } from \"@base-ui/react/toggle-group\"\nimport { DirectionProvider } from \"@base-ui/react/direction-provider\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\nimport {\n buttonSlotProps,\n onlySlotChild,\n respectDefaultPrevented,\n useToggleStyles,\n type ToggleChangeDetails,\n type ToggleVariant,\n type ToggleSize,\n} from \"./toggle\"\n\nconst useToggleGroupStyles = makeZenithStyles({\n group: {\n display: \"flex\",\n ...shorthands.gap(tokens.spacingElement1),\n },\n})\n\n/** What a group's `onValueChange` receives second; the same shape as a toggle's. */\nexport type ToggleGroupChangeDetails = ToggleChangeDetails\n\ntype ToggleGroupBaseProps = {\n /** Whether the whole group ignores user interaction. */\n disabled?: boolean\n /**\n * Whether the group is one tab stop with the arrow keys moving within it.\n * Under Base UI the arrow keys always move focus; `false` makes every item a tab stop as well.\n * @default true\n */\n rovingFocus?: boolean\n /** Whether the arrow keys wrap from the last item to the first and back. @default true */\n loop?: boolean\n /** Which arrow keys move between the items. @default \"horizontal\" */\n orientation?: \"horizontal\" | \"vertical\"\n /** The reading direction; under `rtl` the left and right arrow keys swap. */\n dir?: \"ltr\" | \"rtl\"\n /** Renders the single child element as the group, merging its props and behaviour onto it. */\n asChild?: boolean\n}\n\ntype ToggleGroupSingleOwnProps = ToggleGroupBaseProps & {\n type: \"single\"\n /** The pressed item's value, when the group is controlled. `\"\"` presses nothing. */\n value?: string\n /** The value of the item pressed at first, when the group is uncontrolled. */\n defaultValue?: string\n /**\n * Called with the pressed item's value, or `\"\"` when the pressed item is released, and Base UI's\n * change details. `eventDetails.cancel()` keeps the current value.\n */\n onValueChange?: (\n value: string,\n eventDetails: ToggleGroupChangeDetails\n ) => void\n}\n\ntype ToggleGroupMultipleOwnProps = ToggleGroupBaseProps & {\n type: \"multiple\"\n /** The values of the pressed items, when the group is controlled. */\n value?: string[]\n /** The values of the items pressed at first, when the group is uncontrolled. */\n defaultValue?: string[]\n /**\n * Called with the values of the pressed items and Base UI's change details.\n * `eventDetails.cancel()` keeps the current values.\n */\n onValueChange?: (\n value: string[],\n eventDetails: ToggleGroupChangeDetails\n ) => void\n}\n\nexport type ToggleGroupSingleProps = Omit<\n React.ComponentPropsWithRef<\"div\">,\n keyof ToggleGroupSingleOwnProps\n> &\n ToggleGroupSingleOwnProps\n\nexport type ToggleGroupMultipleProps = Omit<\n React.ComponentPropsWithRef<\"div\">,\n keyof ToggleGroupMultipleOwnProps\n> &\n ToggleGroupMultipleOwnProps\n\nexport type ToggleGroupProps = ToggleGroupSingleProps | ToggleGroupMultipleProps\n\ntype ToggleGroupContextValue = {\n single: boolean\n /** The pressed values, held here so that single-mode items can state `aria-checked`. */\n value: readonly string[]\n rovingFocus: boolean\n /**\n * The item that holds the group's one tab stop until focus is inside it: the first pressed item\n * that can take focus, in document order, as under Radix. Base UI's own entry point is the first\n * item, which stays the entry when nothing is pressed.\n */\n entryValue: string | undefined\n /** Tells the group where an item is, so that the entry can be found in document order. */\n registerItem: (\n value: string,\n element: HTMLElement,\n disabled: boolean\n ) => () => void\n}\nconst ToggleGroupContext = React.createContext<ToggleGroupContextValue | null>(\n null\n)\n\nconst NAVIGATION_KEYS = new Set([\n \"ArrowUp\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"Home\",\n \"End\",\n])\n\nconst toValues = (value: string | readonly string[] | undefined) =>\n value === undefined || value === \"\"\n ? []\n : typeof value === \"string\"\n ? [value]\n : value\n\n/**\n * Radix's ToggleGroup over Base UI's, unstyled: the `type` discriminant becomes `multiple`, a\n * string value in single mode becomes an array and back (`\"\"` for none), and the keyboard props\n * keep their Radix names. Base UI models the pressed set as an array in both modes.\n * @internal shared with OptionCardGroup, which styles it differently; not a public export.\n */\nexport const ToggleGroupRoot = React.forwardRef<\n HTMLDivElement,\n ToggleGroupProps\n>(function ToggleGroupRoot(\n {\n type,\n value,\n defaultValue,\n onValueChange,\n loop,\n rovingFocus = true,\n dir,\n asChild = false,\n children,\n ...props\n },\n ref\n) {\n const single = type === \"single\"\n\n // Zenith owns the value, so Base UI always receives it controlled, as an array.\n const [uncontrolled, setUncontrolled] = React.useState(() =>\n toValues(defaultValue)\n )\n const isControlled = value !== undefined\n const pressed = isControlled ? toValues(value) : uncontrolled\n const latest = React.useRef({ isControlled, onValueChange, single })\n latest.current = { isControlled, onValueChange, single }\n\n const change = React.useCallback(\n (next: string[], eventDetails: ToggleGroupPrimitive.ChangeEventDetails) => {\n const current = latest.current\n const handler = current.onValueChange as\n | ((\n value: string | string[],\n details: ToggleGroupChangeDetails\n ) => void)\n | undefined\n handler?.(\n current.single ? (next[0] ?? \"\") : next,\n eventDetails as ToggleGroupChangeDetails\n )\n if (!current.isControlled && !eventDetails.isCanceled)\n setUncontrolled(next)\n },\n []\n )\n\n const [focusWithin, setFocusWithin] = React.useState(false)\n const items = React.useRef(\n new Map<string, { element: HTMLElement; disabled: boolean }>()\n )\n const [registered, setRegistered] = React.useState(0)\n const registerItem = React.useCallback(\n (itemValue: string, element: HTMLElement, disabled: boolean) => {\n items.current.set(itemValue, { element, disabled })\n setRegistered((count) => count + 1)\n return () => {\n items.current.delete(itemValue)\n setRegistered((count) => count + 1)\n }\n },\n []\n )\n const [entry, setEntry] = React.useState<string | undefined>(undefined)\n React.useLayoutEffect(() => {\n const candidates = pressed\n .map((name) => [name, items.current.get(name)] as const)\n .filter(\n (\n candidate\n ): candidate is [string, { element: HTMLElement; disabled: boolean }] =>\n candidate[1] !== undefined && !candidate[1].disabled\n )\n .sort((a, b) =>\n a[1].element.compareDocumentPosition(b[1].element) &\n Node.DOCUMENT_POSITION_FOLLOWING\n ? -1\n : 1\n )\n setEntry(candidates[0]?.[0])\n }, [pressed, registered])\n const entryValue = !focusWithin && rovingFocus ? entry : undefined\n\n const contextValue = React.useMemo(\n () => ({\n single,\n value: pressed,\n rovingFocus,\n entryValue,\n registerItem,\n }),\n [single, pressed, rovingFocus, entryValue, registerItem]\n )\n\n const child = asChild ? onlySlotChild(children) : undefined\n const root = (\n <ToggleGroupPrimitive\n ref={ref}\n multiple={!single}\n value={pressed}\n onValueChange={change}\n loopFocus={loop}\n // Base UI types the root's handlers with its own event wrapper; the element is the same\n // <div>, so the caller's div-typed handlers receive exactly the events they declare.\n {...(props as ToggleGroupPrimitive.Props)}\n onFocus={(event) => {\n props.onFocus?.(event)\n setFocusWithin(true)\n }}\n onKeyDown={(event) => {\n props.onKeyDown?.(event)\n // Without roving focus Radix left plain buttons, which no arrow key moves between.\n if (\n !rovingFocus &&\n !event.defaultPrevented &&\n NAVIGATION_KEYS.has(event.key)\n )\n (\n event as typeof event & { preventBaseUIHandler?: () => void }\n ).preventBaseUIHandler?.()\n }}\n onBlur={(event) => {\n props.onBlur?.(event)\n if (!event.currentTarget.contains(event.relatedTarget as Node | null))\n setFocusWithin(false)\n }}\n {...(child ? { render: child } : { children })}\n />\n )\n\n return (\n <ToggleGroupContext.Provider value={contextValue}>\n {/* Base UI's arrow keys follow the direction a provider gives them, not an attribute. */}\n {dir ? (\n <DirectionProvider direction={dir}>{root}</DirectionProvider>\n ) : (\n root\n )}\n </ToggleGroupContext.Provider>\n )\n})\n\nexport const ToggleGroup = React.forwardRef<HTMLDivElement, ToggleGroupProps>(\n function ToggleGroup({ className, ...props }, ref) {\n const styles = useToggleGroupStyles()\n\n return (\n <ToggleGroupRoot\n ref={ref}\n data-slot=\"toggle-group\"\n {...{ [SLOT_ATTR]: \"toggle-group\" }}\n className={mergeClasses(styles.group, className)}\n {...props}\n />\n )\n }\n)\n\nexport type ToggleGroupItemProps = Omit<\n React.ComponentPropsWithRef<\"button\">,\n \"value\"\n> & {\n /** This item's value. Every item in a group needs its own. */\n value: string\n /** Renders the single child element as the item, merging its props and behaviour onto it. */\n asChild?: boolean\n variant?: ToggleVariant\n size?: ToggleSize\n}\n\n/**\n * A group item, unstyled. Under Radix an item of a single-selection group was a `radio` stating\n * `aria-checked`; Base UI's toggle is always a button stating `aria-pressed`, so that is restored.\n * @internal shared with OptionCard, which styles it differently; not a public export.\n */\nexport const ToggleGroupItemRoot = React.forwardRef<\n HTMLButtonElement,\n Omit<ToggleGroupItemProps, \"variant\" | \"size\">\n>(function ToggleGroupItemRoot(\n { value, asChild = false, children, onClick, ...props },\n ref\n) {\n const group = React.useContext(ToggleGroupContext)\n const pressed = group?.value.includes(value) ?? false\n const entry = group?.entryValue\n const registerItem = group?.registerItem\n const disabled = props.disabled === true\n const element = React.useRef<HTMLButtonElement | null>(null)\n\n React.useEffect(\n () =>\n registerItem && element.current\n ? registerItem(value, element.current, disabled)\n : undefined,\n [registerItem, value, disabled]\n )\n\n return (\n <TogglePrimitive\n ref={(node: HTMLButtonElement | null) => {\n element.current = node\n if (typeof ref === \"function\") ref(node)\n else if (ref) ref.current = node\n }}\n value={value}\n {...(props as TogglePrimitive.Props)}\n {...(group?.single\n ? { role: \"radio\", \"aria-checked\": pressed, \"aria-pressed\": undefined }\n : {})}\n // Base UI keeps one item in the tab order; without roving focus Radix left every item in it.\n {...(group?.rovingFocus === false ? { tabIndex: 0 } : {})}\n {...(entry !== undefined ? { tabIndex: entry === value ? 0 : -1 } : {})}\n onClick={respectDefaultPrevented(onClick)}\n {...buttonSlotProps(asChild, children)}\n />\n )\n})\n\nexport const ToggleGroupItem = React.forwardRef<\n HTMLButtonElement,\n ToggleGroupItemProps\n>(function ToggleGroupItem(\n { className, variant = \"default\", size = \"base\", ...props },\n ref\n) {\n const styles = useToggleStyles()\n\n return (\n <ToggleGroupItemRoot\n ref={ref}\n data-slot=\"toggle-group-item\"\n {...{ [SLOT_ATTR]: \"toggle-group-item\" }}\n className={mergeClasses(\n styles.root,\n styles[variant],\n styles[size],\n className\n )}\n {...props}\n />\n )\n})\n"],"names":["useToggleGroupStyles","makeZenithStyles","shorthands","tokens.spacingElement1","ToggleGroupContext","React","NAVIGATION_KEYS","toValues","value","ToggleGroupRoot","type","defaultValue","onValueChange","loop","rovingFocus","dir","asChild","children","props","ref","single","uncontrolled","setUncontrolled","isControlled","pressed","latest","change","next","eventDetails","current","handler","focusWithin","setFocusWithin","items","registered","setRegistered","registerItem","itemValue","element","disabled","count","entry","setEntry","candidates","name","candidate","a","b","_a","entryValue","contextValue","child","onlySlotChild","root","jsx","ToggleGroupPrimitive","event","_b","DirectionProvider","ToggleGroup","className","styles","SLOT_ATTR","mergeClasses","ToggleGroupItemRoot","onClick","group","TogglePrimitive","node","respectDefaultPrevented","buttonSlotProps","ToggleGroupItem","variant","size","useToggleStyles"],"mappings":"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"}
|