@epilot/zenith-react 0.2.0-next.1 → 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/data-table/data-table-header.js +113 -99
- package/dist/components/data-table/data-table-header.js.map +1 -1
- package/dist/components/data-table/data-table-row.js +49 -40
- package/dist/components/data-table/data-table-row.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 +260 -322
- 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 +29 -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
package/dist/vendor/.bun/@floating-ui_core@1.8.0/vendor/@floating-ui/core/dist/floating-ui.core.js
DELETED
|
@@ -1,512 +0,0 @@
|
|
|
1
|
-
import { getSideAxis as E, getAlignmentAxis as N, getSide as V, getAlignment as Y, evaluate as T, getPaddingObject as U, rectToClientRect as _, getAxisLength as q, getOppositePlacement as Z, getExpandedPlacements as ee, getOppositeAxisPlacements as te, getAlignmentSides as ne, min as B, max as z, clamp as G, getOppositeAxis as J, sides as ie } from "../../../../../@floating-ui_utils@0.2.12/vendor/@floating-ui/utils/dist/floating-ui.utils.js";
|
|
2
|
-
function X(t, e, m) {
|
|
3
|
-
let {
|
|
4
|
-
reference: l,
|
|
5
|
-
floating: r
|
|
6
|
-
} = t;
|
|
7
|
-
const s = E(e), c = N(e), n = q(c), a = V(e), g = s === "y", x = l.x + l.width / 2 - r.width / 2, d = l.y + l.height / 2 - r.height / 2, f = l[n] / 2 - r[n] / 2;
|
|
8
|
-
let i;
|
|
9
|
-
switch (a) {
|
|
10
|
-
case "top":
|
|
11
|
-
i = {
|
|
12
|
-
x,
|
|
13
|
-
y: l.y - r.height
|
|
14
|
-
};
|
|
15
|
-
break;
|
|
16
|
-
case "bottom":
|
|
17
|
-
i = {
|
|
18
|
-
x,
|
|
19
|
-
y: l.y + l.height
|
|
20
|
-
};
|
|
21
|
-
break;
|
|
22
|
-
case "right":
|
|
23
|
-
i = {
|
|
24
|
-
x: l.x + l.width,
|
|
25
|
-
y: d
|
|
26
|
-
};
|
|
27
|
-
break;
|
|
28
|
-
case "left":
|
|
29
|
-
i = {
|
|
30
|
-
x: l.x - r.width,
|
|
31
|
-
y: d
|
|
32
|
-
};
|
|
33
|
-
break;
|
|
34
|
-
default:
|
|
35
|
-
i = {
|
|
36
|
-
x: l.x,
|
|
37
|
-
y: l.y
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
const o = Y(e);
|
|
41
|
-
return o && (i[c] += f * (o === "end" ? 1 : -1) * (m && g ? -1 : 1)), i;
|
|
42
|
-
}
|
|
43
|
-
async function se(t, e) {
|
|
44
|
-
var m;
|
|
45
|
-
e === void 0 && (e = {});
|
|
46
|
-
const {
|
|
47
|
-
x: l,
|
|
48
|
-
y: r,
|
|
49
|
-
platform: s,
|
|
50
|
-
rects: c,
|
|
51
|
-
elements: n,
|
|
52
|
-
strategy: a
|
|
53
|
-
} = t, {
|
|
54
|
-
boundary: g = "clippingAncestors",
|
|
55
|
-
rootBoundary: x = "viewport",
|
|
56
|
-
elementContext: d = "floating",
|
|
57
|
-
altBoundary: f = !1,
|
|
58
|
-
padding: i = 0
|
|
59
|
-
} = T(e, t), o = U(i), h = n[f ? d === "floating" ? "reference" : "floating" : d], p = _(await s.getClippingRect({
|
|
60
|
-
element: (m = await (s.isElement == null ? void 0 : s.isElement(h))) == null || m ? h : h.contextElement || await (s.getDocumentElement == null ? void 0 : s.getDocumentElement(n.floating)),
|
|
61
|
-
boundary: g,
|
|
62
|
-
rootBoundary: x,
|
|
63
|
-
strategy: a
|
|
64
|
-
})), A = d === "floating" ? {
|
|
65
|
-
x: l,
|
|
66
|
-
y: r,
|
|
67
|
-
width: c.floating.width,
|
|
68
|
-
height: c.floating.height
|
|
69
|
-
} : c.reference, y = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(n.floating)), v = await (s.isElement == null ? void 0 : s.isElement(y)) && await (s.getScale == null ? void 0 : s.getScale(y)) || {
|
|
70
|
-
x: 1,
|
|
71
|
-
y: 1
|
|
72
|
-
}, b = _(s.convertOffsetParentRelativeRectToViewportRelativeRect ? await s.convertOffsetParentRelativeRectToViewportRelativeRect({
|
|
73
|
-
elements: n,
|
|
74
|
-
rect: A,
|
|
75
|
-
offsetParent: y,
|
|
76
|
-
strategy: a
|
|
77
|
-
}) : A);
|
|
78
|
-
return {
|
|
79
|
-
top: (p.top - b.top + o.top) / v.y,
|
|
80
|
-
bottom: (b.bottom - p.bottom + o.bottom) / v.y,
|
|
81
|
-
left: (p.left - b.left + o.left) / v.x,
|
|
82
|
-
right: (b.right - p.right + o.right) / v.x
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
const oe = 50, ae = async (t, e, m) => {
|
|
86
|
-
const {
|
|
87
|
-
placement: l = "bottom",
|
|
88
|
-
strategy: r = "absolute",
|
|
89
|
-
middleware: s = [],
|
|
90
|
-
platform: c
|
|
91
|
-
} = m, n = c.detectOverflow ? c : {
|
|
92
|
-
...c,
|
|
93
|
-
detectOverflow: se
|
|
94
|
-
}, a = await (c.isRTL == null ? void 0 : c.isRTL(e));
|
|
95
|
-
let g = await c.getElementRects({
|
|
96
|
-
reference: t,
|
|
97
|
-
floating: e,
|
|
98
|
-
strategy: r
|
|
99
|
-
}), {
|
|
100
|
-
x,
|
|
101
|
-
y: d
|
|
102
|
-
} = X(g, l, a), f = l, i = 0;
|
|
103
|
-
const o = {};
|
|
104
|
-
for (let u = 0; u < s.length; u++) {
|
|
105
|
-
const h = s[u];
|
|
106
|
-
if (!h)
|
|
107
|
-
continue;
|
|
108
|
-
const {
|
|
109
|
-
name: p,
|
|
110
|
-
fn: A
|
|
111
|
-
} = h, {
|
|
112
|
-
x: y,
|
|
113
|
-
y: v,
|
|
114
|
-
data: b,
|
|
115
|
-
reset: w
|
|
116
|
-
} = await A({
|
|
117
|
-
x,
|
|
118
|
-
y: d,
|
|
119
|
-
initialPlacement: l,
|
|
120
|
-
placement: f,
|
|
121
|
-
strategy: r,
|
|
122
|
-
middlewareData: o,
|
|
123
|
-
rects: g,
|
|
124
|
-
platform: n,
|
|
125
|
-
elements: {
|
|
126
|
-
reference: t,
|
|
127
|
-
floating: e
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
x = y ?? x, d = v ?? d, o[p] = {
|
|
131
|
-
...o[p],
|
|
132
|
-
...b
|
|
133
|
-
}, w && i < oe && (i++, typeof w == "object" && (w.placement && (f = w.placement), w.rects && (g = w.rects === !0 ? await c.getElementRects({
|
|
134
|
-
reference: t,
|
|
135
|
-
floating: e,
|
|
136
|
-
strategy: r
|
|
137
|
-
}) : w.rects), {
|
|
138
|
-
x,
|
|
139
|
-
y: d
|
|
140
|
-
} = X(g, f, a)), u = -1);
|
|
141
|
-
}
|
|
142
|
-
return {
|
|
143
|
-
x,
|
|
144
|
-
y: d,
|
|
145
|
-
placement: f,
|
|
146
|
-
strategy: r,
|
|
147
|
-
middlewareData: o
|
|
148
|
-
};
|
|
149
|
-
}, re = (t) => ({
|
|
150
|
-
name: "arrow",
|
|
151
|
-
options: t,
|
|
152
|
-
async fn(e) {
|
|
153
|
-
const {
|
|
154
|
-
x: m,
|
|
155
|
-
y: l,
|
|
156
|
-
placement: r,
|
|
157
|
-
rects: s,
|
|
158
|
-
platform: c,
|
|
159
|
-
elements: n,
|
|
160
|
-
middlewareData: a
|
|
161
|
-
} = e, {
|
|
162
|
-
element: g,
|
|
163
|
-
padding: x = 0
|
|
164
|
-
} = T(t, e) || {};
|
|
165
|
-
if (g == null)
|
|
166
|
-
return {};
|
|
167
|
-
const d = U(x), f = {
|
|
168
|
-
x: m,
|
|
169
|
-
y: l
|
|
170
|
-
}, i = N(r), o = q(i), u = await c.getDimensions(g), h = i === "y", p = h ? "top" : "left", A = h ? "bottom" : "right", y = h ? "clientHeight" : "clientWidth", v = s.reference[o] + s.reference[i] - f[i] - s.floating[o], b = f[i] - s.reference[i], w = await (c.getOffsetParent == null ? void 0 : c.getOffsetParent(g));
|
|
171
|
-
let O = w ? w[y] : 0;
|
|
172
|
-
(!O || !await (c.isElement == null ? void 0 : c.isElement(w))) && (O = n.floating[y] || s.floating[o]);
|
|
173
|
-
const C = v / 2 - b / 2, L = O / 2 - u[o] / 2 - 1, P = B(d[p], L), W = B(d[A], L), j = O - u[o] - W, k = O / 2 - u[o] / 2 + C, R = G(P, k, j), H = !a.arrow && Y(r) != null && k !== R && s.reference[o] / 2 - (k < P ? P : W) - u[o] / 2 < 0, D = H ? k < P ? k - P : k - j : 0;
|
|
174
|
-
return {
|
|
175
|
-
[i]: f[i] + D,
|
|
176
|
-
data: {
|
|
177
|
-
[i]: R,
|
|
178
|
-
centerOffset: k - R - D,
|
|
179
|
-
...H && {
|
|
180
|
-
alignmentOffset: D
|
|
181
|
-
}
|
|
182
|
-
},
|
|
183
|
-
reset: H
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
}), fe = function(t) {
|
|
187
|
-
return t === void 0 && (t = {}), {
|
|
188
|
-
name: "flip",
|
|
189
|
-
options: t,
|
|
190
|
-
async fn(e) {
|
|
191
|
-
var m, l;
|
|
192
|
-
const {
|
|
193
|
-
placement: r,
|
|
194
|
-
middlewareData: s,
|
|
195
|
-
rects: c,
|
|
196
|
-
initialPlacement: n,
|
|
197
|
-
platform: a,
|
|
198
|
-
elements: g
|
|
199
|
-
} = e, {
|
|
200
|
-
mainAxis: x = !0,
|
|
201
|
-
crossAxis: d = !0,
|
|
202
|
-
fallbackPlacements: f,
|
|
203
|
-
fallbackStrategy: i = "bestFit",
|
|
204
|
-
fallbackAxisSideDirection: o = "none",
|
|
205
|
-
flipAlignment: u = !0,
|
|
206
|
-
...h
|
|
207
|
-
} = T(t, e);
|
|
208
|
-
if ((m = s.arrow) != null && m.alignmentOffset)
|
|
209
|
-
return {};
|
|
210
|
-
const p = V(r), A = E(n), y = V(n) === n, v = await (a.isRTL == null ? void 0 : a.isRTL(g.floating)), b = f || (y || !u ? [Z(n)] : ee(n)), w = o !== "none";
|
|
211
|
-
!f && w && b.push(...te(n, u, o, v));
|
|
212
|
-
const O = [n, ...b], C = await a.detectOverflow(e, h), L = [];
|
|
213
|
-
let P = ((l = s.flip) == null ? void 0 : l.overflows) || [];
|
|
214
|
-
if (x && L.push(C[p]), d) {
|
|
215
|
-
const R = ne(r, c, v);
|
|
216
|
-
L.push(C[R[0]], C[R[1]]);
|
|
217
|
-
}
|
|
218
|
-
if (P = [...P, {
|
|
219
|
-
placement: r,
|
|
220
|
-
overflows: L
|
|
221
|
-
}], !L.every((R) => R <= 0)) {
|
|
222
|
-
var W, j;
|
|
223
|
-
const R = (((W = s.flip) == null ? void 0 : W.index) || 0) + 1, H = O[R];
|
|
224
|
-
if (H && (!(d === "alignment" ? A !== E(H) : !1) || // We leave the current main axis only if every placement on that axis
|
|
225
|
-
// overflows the main axis.
|
|
226
|
-
P.every((S) => E(S.placement) === A ? S.overflows[0] > 0 : !0)))
|
|
227
|
-
return {
|
|
228
|
-
data: {
|
|
229
|
-
index: R,
|
|
230
|
-
overflows: P
|
|
231
|
-
},
|
|
232
|
-
reset: {
|
|
233
|
-
placement: H
|
|
234
|
-
}
|
|
235
|
-
};
|
|
236
|
-
let D = (j = P.filter((F) => F.overflows[0] <= 0).sort((F, S) => F.overflows[1] - S.overflows[1])[0]) == null ? void 0 : j.placement;
|
|
237
|
-
if (!D)
|
|
238
|
-
switch (i) {
|
|
239
|
-
case "bestFit": {
|
|
240
|
-
var k;
|
|
241
|
-
const F = (k = P.filter((S) => {
|
|
242
|
-
if (w) {
|
|
243
|
-
const M = E(S.placement);
|
|
244
|
-
return M === A || // Create a bias to the `y` side axis due to horizontal
|
|
245
|
-
// reading directions favoring greater width.
|
|
246
|
-
M === "y";
|
|
247
|
-
}
|
|
248
|
-
return !0;
|
|
249
|
-
}).map((S) => [S.placement, S.overflows.filter((M) => M > 0).reduce((M, Q) => M + Q, 0)]).sort((S, M) => S[1] - M[1])[0]) == null ? void 0 : k[0];
|
|
250
|
-
F && (D = F);
|
|
251
|
-
break;
|
|
252
|
-
}
|
|
253
|
-
case "initialPlacement":
|
|
254
|
-
D = n;
|
|
255
|
-
break;
|
|
256
|
-
}
|
|
257
|
-
if (r !== D)
|
|
258
|
-
return {
|
|
259
|
-
reset: {
|
|
260
|
-
placement: D
|
|
261
|
-
}
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
|
-
return {};
|
|
265
|
-
}
|
|
266
|
-
};
|
|
267
|
-
};
|
|
268
|
-
function $(t, e) {
|
|
269
|
-
return {
|
|
270
|
-
top: t.top - e.height,
|
|
271
|
-
right: t.right - e.width,
|
|
272
|
-
bottom: t.bottom - e.height,
|
|
273
|
-
left: t.left - e.width
|
|
274
|
-
};
|
|
275
|
-
}
|
|
276
|
-
function I(t) {
|
|
277
|
-
return ie.some((e) => t[e] >= 0);
|
|
278
|
-
}
|
|
279
|
-
const me = function(t) {
|
|
280
|
-
return t === void 0 && (t = {}), {
|
|
281
|
-
name: "hide",
|
|
282
|
-
options: t,
|
|
283
|
-
async fn(e) {
|
|
284
|
-
const {
|
|
285
|
-
rects: m,
|
|
286
|
-
platform: l
|
|
287
|
-
} = e, {
|
|
288
|
-
strategy: r = "referenceHidden",
|
|
289
|
-
...s
|
|
290
|
-
} = T(t, e);
|
|
291
|
-
switch (r) {
|
|
292
|
-
case "referenceHidden": {
|
|
293
|
-
const c = await l.detectOverflow(e, {
|
|
294
|
-
...s,
|
|
295
|
-
elementContext: "reference"
|
|
296
|
-
}), n = $(c, m.reference);
|
|
297
|
-
return {
|
|
298
|
-
data: {
|
|
299
|
-
referenceHiddenOffsets: n,
|
|
300
|
-
referenceHidden: I(n)
|
|
301
|
-
}
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
|
-
case "escaped": {
|
|
305
|
-
const c = await l.detectOverflow(e, {
|
|
306
|
-
...s,
|
|
307
|
-
altBoundary: !0
|
|
308
|
-
}), n = $(c, m.floating);
|
|
309
|
-
return {
|
|
310
|
-
data: {
|
|
311
|
-
escapedOffsets: n,
|
|
312
|
-
escaped: I(n)
|
|
313
|
-
}
|
|
314
|
-
};
|
|
315
|
-
}
|
|
316
|
-
default:
|
|
317
|
-
return {};
|
|
318
|
-
}
|
|
319
|
-
}
|
|
320
|
-
};
|
|
321
|
-
}, K = /* @__PURE__ */ new Set(["left", "top"]);
|
|
322
|
-
async function le(t, e) {
|
|
323
|
-
const {
|
|
324
|
-
placement: m,
|
|
325
|
-
platform: l,
|
|
326
|
-
elements: r
|
|
327
|
-
} = t, s = await (l.isRTL == null ? void 0 : l.isRTL(r.floating)), c = V(m), n = Y(m), a = E(m) === "y", g = K.has(c) ? -1 : 1, x = s && a ? -1 : 1, d = T(e, t);
|
|
328
|
-
let {
|
|
329
|
-
mainAxis: f,
|
|
330
|
-
crossAxis: i,
|
|
331
|
-
alignmentAxis: o
|
|
332
|
-
} = typeof d == "number" ? {
|
|
333
|
-
mainAxis: d,
|
|
334
|
-
crossAxis: 0,
|
|
335
|
-
alignmentAxis: null
|
|
336
|
-
} : {
|
|
337
|
-
mainAxis: d.mainAxis || 0,
|
|
338
|
-
crossAxis: d.crossAxis || 0,
|
|
339
|
-
alignmentAxis: d.alignmentAxis
|
|
340
|
-
};
|
|
341
|
-
return n && typeof o == "number" && (i = n === "end" ? o * -1 : o), a ? {
|
|
342
|
-
x: i * x,
|
|
343
|
-
y: f * g
|
|
344
|
-
} : {
|
|
345
|
-
x: f * g,
|
|
346
|
-
y: i * x
|
|
347
|
-
};
|
|
348
|
-
}
|
|
349
|
-
const de = function(t) {
|
|
350
|
-
return t === void 0 && (t = 0), {
|
|
351
|
-
name: "offset",
|
|
352
|
-
options: t,
|
|
353
|
-
async fn(e) {
|
|
354
|
-
var m, l;
|
|
355
|
-
const {
|
|
356
|
-
x: r,
|
|
357
|
-
y: s,
|
|
358
|
-
placement: c,
|
|
359
|
-
middlewareData: n
|
|
360
|
-
} = e, a = await le(e, t);
|
|
361
|
-
return c === ((m = n.offset) == null ? void 0 : m.placement) && (l = n.arrow) != null && l.alignmentOffset ? {} : {
|
|
362
|
-
x: r + a.x,
|
|
363
|
-
y: s + a.y,
|
|
364
|
-
data: {
|
|
365
|
-
...a,
|
|
366
|
-
placement: c
|
|
367
|
-
}
|
|
368
|
-
};
|
|
369
|
-
}
|
|
370
|
-
};
|
|
371
|
-
}, ue = function(t) {
|
|
372
|
-
return t === void 0 && (t = {}), {
|
|
373
|
-
name: "shift",
|
|
374
|
-
options: t,
|
|
375
|
-
async fn(e) {
|
|
376
|
-
const {
|
|
377
|
-
x: m,
|
|
378
|
-
y: l,
|
|
379
|
-
placement: r,
|
|
380
|
-
platform: s
|
|
381
|
-
} = e, {
|
|
382
|
-
mainAxis: c = !0,
|
|
383
|
-
crossAxis: n = !1,
|
|
384
|
-
limiter: a = {
|
|
385
|
-
fn: (A) => {
|
|
386
|
-
let {
|
|
387
|
-
x: y,
|
|
388
|
-
y: v
|
|
389
|
-
} = A;
|
|
390
|
-
return {
|
|
391
|
-
x: y,
|
|
392
|
-
y: v
|
|
393
|
-
};
|
|
394
|
-
}
|
|
395
|
-
},
|
|
396
|
-
...g
|
|
397
|
-
} = T(t, e), x = {
|
|
398
|
-
x: m,
|
|
399
|
-
y: l
|
|
400
|
-
}, d = await s.detectOverflow(e, g), f = E(r), i = J(f);
|
|
401
|
-
let o = x[i], u = x[f];
|
|
402
|
-
const h = (A, y) => G(y + d[A === "y" ? "top" : "left"], y, y - d[A === "y" ? "bottom" : "right"]);
|
|
403
|
-
c && (o = h(i, o)), n && (u = h(f, u));
|
|
404
|
-
const p = a.fn({
|
|
405
|
-
...e,
|
|
406
|
-
[i]: o,
|
|
407
|
-
[f]: u
|
|
408
|
-
});
|
|
409
|
-
return {
|
|
410
|
-
...p,
|
|
411
|
-
data: {
|
|
412
|
-
x: p.x - m,
|
|
413
|
-
y: p.y - l,
|
|
414
|
-
enabled: {
|
|
415
|
-
[i]: c,
|
|
416
|
-
[f]: n
|
|
417
|
-
}
|
|
418
|
-
}
|
|
419
|
-
};
|
|
420
|
-
}
|
|
421
|
-
};
|
|
422
|
-
}, ge = function(t) {
|
|
423
|
-
return t === void 0 && (t = {}), {
|
|
424
|
-
options: t,
|
|
425
|
-
fn(e) {
|
|
426
|
-
var m, l;
|
|
427
|
-
const {
|
|
428
|
-
x: r,
|
|
429
|
-
y: s,
|
|
430
|
-
placement: c,
|
|
431
|
-
rects: n,
|
|
432
|
-
middlewareData: a
|
|
433
|
-
} = e, {
|
|
434
|
-
offset: g = 0,
|
|
435
|
-
mainAxis: x = !0,
|
|
436
|
-
crossAxis: d = !0
|
|
437
|
-
} = T(t, e), f = {
|
|
438
|
-
x: r,
|
|
439
|
-
y: s
|
|
440
|
-
}, i = E(c), o = J(i);
|
|
441
|
-
let u = f[o], h = f[i];
|
|
442
|
-
const p = T(g, e), A = typeof p == "number" ? {
|
|
443
|
-
mainAxis: p,
|
|
444
|
-
crossAxis: 0
|
|
445
|
-
} : {
|
|
446
|
-
mainAxis: (m = p.mainAxis) != null ? m : 0,
|
|
447
|
-
crossAxis: (l = p.crossAxis) != null ? l : 0
|
|
448
|
-
};
|
|
449
|
-
if (x) {
|
|
450
|
-
const b = o === "y" ? "height" : "width", w = n.reference[o] - n.floating[b] + A.mainAxis, O = n.reference[o] + n.reference[b] - A.mainAxis;
|
|
451
|
-
u < w ? u = w : u > O && (u = O);
|
|
452
|
-
}
|
|
453
|
-
if (d) {
|
|
454
|
-
var y, v;
|
|
455
|
-
const b = o === "y" ? "width" : "height", w = K.has(V(c)), O = n.reference[i] - n.floating[b] + (w && ((y = a.offset) == null ? void 0 : y[i]) || 0) + (w ? 0 : A.crossAxis), C = n.reference[i] + n.reference[b] + (w ? 0 : ((v = a.offset) == null ? void 0 : v[i]) || 0) - (w ? A.crossAxis : 0);
|
|
456
|
-
h < O ? h = O : h > C && (h = C);
|
|
457
|
-
}
|
|
458
|
-
return {
|
|
459
|
-
[o]: u,
|
|
460
|
-
[i]: h
|
|
461
|
-
};
|
|
462
|
-
}
|
|
463
|
-
};
|
|
464
|
-
}, xe = function(t) {
|
|
465
|
-
return t === void 0 && (t = {}), {
|
|
466
|
-
name: "size",
|
|
467
|
-
options: t,
|
|
468
|
-
async fn(e) {
|
|
469
|
-
const {
|
|
470
|
-
placement: m,
|
|
471
|
-
rects: l,
|
|
472
|
-
platform: r,
|
|
473
|
-
elements: s
|
|
474
|
-
} = e, {
|
|
475
|
-
apply: c = () => {
|
|
476
|
-
},
|
|
477
|
-
...n
|
|
478
|
-
} = T(t, e), a = await r.detectOverflow(e, n), g = V(m), x = Y(m), d = E(m) === "y", {
|
|
479
|
-
width: f,
|
|
480
|
-
height: i
|
|
481
|
-
} = l.floating;
|
|
482
|
-
let o, u;
|
|
483
|
-
g === "top" || g === "bottom" ? (o = g, u = x === (await (r.isRTL == null ? void 0 : r.isRTL(s.floating)) ? "start" : "end") ? "left" : "right") : (u = g, o = x === "end" ? "top" : "bottom");
|
|
484
|
-
const h = i - a.top - a.bottom, p = f - a.left - a.right, A = B(i - a[o], h), y = B(f - a[u], p), v = e.middlewareData.shift, b = !v;
|
|
485
|
-
let w = A, O = y;
|
|
486
|
-
v != null && v.enabled.x && (O = p), v != null && v.enabled.y && (w = h), b && !x && (d ? O = f - 2 * z(a.left, a.right) : w = i - 2 * z(a.top, a.bottom)), await c({
|
|
487
|
-
...e,
|
|
488
|
-
availableWidth: O,
|
|
489
|
-
availableHeight: w
|
|
490
|
-
});
|
|
491
|
-
const C = await r.getDimensions(s.floating);
|
|
492
|
-
return f !== C.width || i !== C.height ? {
|
|
493
|
-
reset: {
|
|
494
|
-
rects: !0
|
|
495
|
-
}
|
|
496
|
-
} : {};
|
|
497
|
-
}
|
|
498
|
-
};
|
|
499
|
-
};
|
|
500
|
-
export {
|
|
501
|
-
re as arrow,
|
|
502
|
-
ae as computePosition,
|
|
503
|
-
se as detectOverflow,
|
|
504
|
-
fe as flip,
|
|
505
|
-
me as hide,
|
|
506
|
-
ge as limitShift,
|
|
507
|
-
de as offset,
|
|
508
|
-
_ as rectToClientRect,
|
|
509
|
-
ue as shift,
|
|
510
|
-
xe as size
|
|
511
|
-
};
|
|
512
|
-
//# sourceMappingURL=floating-ui.core.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"floating-ui.core.js","sources":["../../../../../../../../../../node_modules/.bun/@floating-ui+core@1.8.0/node_modules/@floating-ui/core/dist/floating-ui.core.mjs"],"sourcesContent":["import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n const alignment = getAlignment(placement);\n if (alignment) {\n coords[alignmentAxis] += commonAlign * (alignment === 'end' ? 1 : -1) * (rtl && isVertical ? -1 : 1);\n }\n return coords;\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) && (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n// Maximum number of resets that can occur before bailing to avoid infinite reset loops.\nconst MAX_RESET_COUNT = 50;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const platformWithDetectOverflow = platform.detectOverflow ? platform : {\n ...platform,\n detectOverflow\n };\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let resetCount = 0;\n const middlewareData = {};\n for (let i = 0; i < middleware.length; i++) {\n const currentMiddleware = middleware[i];\n if (!currentMiddleware) {\n continue;\n }\n const {\n name,\n fn\n } = currentMiddleware;\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform: platformWithDetectOverflow,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData[name] = {\n ...middlewareData[name],\n ...data\n };\n if (reset && resetCount < MAX_RESET_COUNT) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(minPadding, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < minPadding ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < minPadding ? center - minPadding : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects,\n platform\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await platform.detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n\n // No rects (e.g. a hidden or detached reference, or a collapsed range) —\n // keep the existing reference rect rather than resetting to an invalid\n // one with non-finite values.\n if (!nativeClientRects.length) {\n return {};\n }\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && (clientRects[0].left > clientRects[1].right || clientRects[1].left > clientRects[0].right) && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n return rectToClientRect({\n x: left,\n y: top,\n width: right - left,\n height: bottom - top\n });\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n return rectToClientRect({\n x: minLeft,\n y: top,\n width: maxRight - minLeft,\n height: bottom - top\n });\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n platform\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const clampCoord = (axis, coord) => clamp(coord + overflow[axis === 'y' ? 'top' : 'left'], coord, coord - overflow[axis === 'y' ? 'bottom' : 'right']);\n if (checkMainAxis) {\n mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);\n }\n if (checkCrossAxis) {\n crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n var _rawOffset$mainAxis, _rawOffset$crossAxis;\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,\n crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n// Method syntax keeps callback parameters bivariant, but expressing the\n// explicit `| undefined` required by `exactOptionalPropertyTypes` needs\n// property syntax, which is contravariant under `strictFunctionTypes`.\n// Extracting the function from a method position restores that bivariance so\n// consumers can still assign callbacks with narrower parameter types.\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await platform.detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const shiftData = state.middlewareData.shift;\n const noShift = !shiftData;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (shiftData != null && shiftData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if (shiftData != null && shiftData.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n if (isYAxis) {\n availableWidth = width - 2 * max(overflow.left, overflow.right);\n } else {\n availableHeight = height - 2 * max(overflow.top, overflow.bottom);\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n"],"names":["computeCoordsFromPlacement","_ref","placement","rtl","reference","floating","sideAxis","getSideAxis","alignmentAxis","getAlignmentAxis","alignLength","getAxisLength","side","getSide","isVertical","commonX","commonY","commonAlign","coords","alignment","getAlignment","detectOverflow","state","options","_await$platform$isEle","x","y","platform","rects","elements","strategy","boundary","rootBoundary","elementContext","altBoundary","padding","evaluate","paddingObject","getPaddingObject","element","clippingClientRect","rectToClientRect","rect","offsetParent","offsetScale","elementClientRect","MAX_RESET_COUNT","computePosition","config","middleware","platformWithDetectOverflow","statefulPlacement","resetCount","middlewareData","i","currentMiddleware","name","fn","nextX","nextY","data","reset","arrow","axis","length","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","min","maxPadding","max","center","offset","clamp","shouldAddOffset","alignmentOffset","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","flipAlignment","detectOverflowOptions","initialSideAxis","isBasePlacement","fallbackPlacements","getOppositePlacement","getExpandedPlacements","hasFallbackAxisSideDirection","getOppositeAxisPlacements","placements","overflow","overflows","overflowsData","sides","getAlignmentSides","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","d","resetPlacement","a","b","_overflowsData$filter2","currentSideAxis","acc","getSideOffsets","isAnySideFullyClipped","hide","offsets","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","_middlewareData$offse","diffCoords","shift","limiter","getOppositeAxis","mainAxisCoord","crossAxisCoord","clampCoord","coord","limitedCoords","limitShift","_rawOffset$mainAxis","_rawOffset$crossAxis","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","size","apply","width","height","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","shiftData","noShift","availableHeight","availableWidth","nextDimensions"],"mappings":"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","x_google_ignoreList":[0]}
|