@purpur/library 9.0.9 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +63 -0
- package/CHANGELOG.md +28 -1
- package/dist/LICENSE.txt +48 -27
- package/dist/{autocomplete-B_OBQM2h.js → autocomplete-B421J7CS.js} +2 -2
- package/dist/{autocomplete-B_OBQM2h.js.map → autocomplete-B421J7CS.js.map} +1 -1
- package/dist/{autocomplete-DJ3zbA0m.mjs → autocomplete-B8L-dTmF.mjs} +3 -3
- package/dist/{autocomplete-DJ3zbA0m.mjs.map → autocomplete-B8L-dTmF.mjs.map} +1 -1
- package/dist/autocomplete.cjs.js +1 -1
- package/dist/autocomplete.es.js +1 -1
- package/dist/button-Cv7NlYbv.mjs +109 -0
- package/dist/button-Cv7NlYbv.mjs.map +1 -0
- package/dist/button-Dqxdc3nC.js +2 -0
- package/dist/button-Dqxdc3nC.js.map +1 -0
- package/dist/button.cjs.js +1 -1
- package/dist/button.es.js +1 -1
- package/dist/{calendar-BSdvi_DA.js → calendar-C-F-pVCe.js} +2 -2
- package/dist/{calendar-BSdvi_DA.js.map → calendar-C-F-pVCe.js.map} +1 -1
- package/dist/{calendar-9p_aA7KY.mjs → calendar-DWpnuylk.mjs} +2 -2
- package/dist/{calendar-9p_aA7KY.mjs.map → calendar-DWpnuylk.mjs.map} +1 -1
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.es.js +1 -1
- package/dist/chat-field-CxOqk0-9.js +2 -0
- package/dist/chat-field-CxOqk0-9.js.map +1 -0
- package/dist/chat-field-yK-TwW0D.mjs +149 -0
- package/dist/chat-field-yK-TwW0D.mjs.map +1 -0
- package/dist/chat-field.cjs.js +2 -0
- package/dist/chat-field.cjs.js.map +1 -0
- package/dist/chat-field.es.js +5 -0
- package/dist/chat-field.es.js.map +1 -0
- package/dist/components/autocomplete/src/autocomplete.d.ts.map +1 -1
- package/dist/components/button/src/button.d.ts +4 -0
- package/dist/components/button/src/button.d.ts.map +1 -1
- package/dist/components/chat-field/src/chat-field.d.ts +71 -0
- package/dist/components/chat-field/src/chat-field.d.ts.map +1 -0
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group-item.d.ts.map +1 -1
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +6 -1
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-container.d.ts +2 -0
- package/dist/components/drawer/src/drawer-container.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-content.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-frame.d.ts +2 -1
- package/dist/components/drawer/src/drawer-frame.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-handle.d.ts +2 -1
- package/dist/components/drawer/src/drawer-handle.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-header.d.ts +2 -0
- package/dist/components/drawer/src/drawer-header.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-scroll-area.d.ts +2 -0
- package/dist/components/drawer/src/drawer-scroll-area.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer.context.d.ts +6 -2
- package/dist/components/drawer/src/drawer.context.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer.d.ts +3 -0
- package/dist/components/drawer/src/drawer.d.ts.map +1 -1
- package/dist/components/drawer/src/types.d.ts +1 -0
- package/dist/components/drawer/src/types.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown-combobox.d.ts +34 -0
- package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -0
- package/dist/components/dropdown/src/dropdown-select.d.ts +34 -0
- package/dist/components/dropdown/src/dropdown-select.d.ts.map +1 -0
- package/dist/components/dropdown/src/dropdown-shared.d.ts +51 -0
- package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -0
- package/dist/components/dropdown/src/dropdown.d.ts +6 -0
- package/dist/components/dropdown/src/dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/src/dropdown.types.d.ts +94 -0
- package/dist/components/dropdown/src/dropdown.types.d.ts.map +1 -0
- package/dist/components/dropdown/src/useDropdown.d.ts +38 -0
- package/dist/components/dropdown/src/useDropdown.d.ts.map +1 -0
- package/dist/components/dropdown/src/useDropdownFilter.d.ts +9 -0
- package/dist/components/dropdown/src/useDropdownFilter.d.ts.map +1 -0
- package/dist/components/dropdown/src/useDropdownHighlight.d.ts +19 -0
- package/dist/components/dropdown/src/useDropdownHighlight.d.ts.map +1 -0
- package/dist/components/dropdown/src/useDropdownInput.d.ts +12 -0
- package/dist/components/dropdown/src/useDropdownInput.d.ts.map +1 -0
- package/dist/components/dropdown/src/useOnClickOutside.d.ts +2 -0
- package/dist/components/dropdown/src/useOnClickOutside.d.ts.map +1 -0
- package/dist/components/listbox/src/listbox-item.d.ts +2 -0
- package/dist/components/listbox/src/listbox-item.d.ts.map +1 -1
- package/dist/components/notification/src/notification.d.ts +2 -1
- package/dist/components/notification/src/notification.d.ts.map +1 -1
- package/dist/components/search-field/src/search-field-autocomplete.d.ts +73 -0
- package/dist/components/search-field/src/search-field-autocomplete.d.ts.map +1 -0
- package/dist/components/search-field/src/search-field-base.d.ts +97 -0
- package/dist/components/search-field/src/search-field-base.d.ts.map +1 -0
- package/dist/components/search-field/src/search-field.d.ts +123 -41
- package/dist/components/search-field/src/search-field.d.ts.map +1 -1
- package/dist/components/text-field/src/text-field-ai.d.ts +669 -0
- package/dist/components/text-field/src/text-field-ai.d.ts.map +1 -0
- package/dist/components/text-field/src/text-field-base.d.ts +671 -0
- package/dist/components/text-field/src/text-field-base.d.ts.map +1 -0
- package/dist/components/text-field/src/text-field.d.ts +42 -4
- package/dist/components/text-field/src/text-field.d.ts.map +1 -1
- package/dist/components-metadata.js +30 -1
- package/dist/{date-field-Ch2lM7-P.mjs → date-field-4tYMPw89.mjs} +2 -2
- package/dist/{date-field-Ch2lM7-P.mjs.map → date-field-4tYMPw89.mjs.map} +1 -1
- package/dist/{date-field-DTI5mQkg.js → date-field-B7ipm5sH.js} +2 -2
- package/dist/{date-field-DTI5mQkg.js.map → date-field-B7ipm5sH.js.map} +1 -1
- package/dist/date-field.cjs.js +1 -1
- package/dist/date-field.es.js +1 -1
- package/dist/{date-picker-Dk39IXG5.js → date-picker-B8L1Hm8r.js} +2 -2
- package/dist/{date-picker-Dk39IXG5.js.map → date-picker-B8L1Hm8r.js.map} +1 -1
- package/dist/{date-picker-Bt3IaH23.mjs → date-picker-Bp_XpoOF.mjs} +4 -4
- package/dist/{date-picker-Bt3IaH23.mjs.map → date-picker-Bp_XpoOF.mjs.map} +1 -1
- package/dist/date-picker.cjs.js +1 -1
- package/dist/date-picker.es.js +1 -1
- package/dist/dismissable-chip-group-Cd23yjBa.js +2 -0
- package/dist/dismissable-chip-group-Cd23yjBa.js.map +1 -0
- package/dist/dismissable-chip-group-D-gD93ON.mjs +89 -0
- package/dist/dismissable-chip-group-D-gD93ON.mjs.map +1 -0
- package/dist/dismissable-chip-group.cjs.js +1 -1
- package/dist/dismissable-chip-group.es.js +5 -2
- package/dist/drawer-UdK-u7IX.js +2 -0
- package/dist/drawer-UdK-u7IX.js.map +1 -0
- package/dist/drawer-Vi9H2O3N.mjs +562 -0
- package/dist/drawer-Vi9H2O3N.mjs.map +1 -0
- package/dist/drawer.cjs.js +1 -1
- package/dist/drawer.es.js +1 -1
- package/dist/dropdown-BC6evqyq.js +2 -0
- package/dist/dropdown-BC6evqyq.js.map +1 -0
- package/dist/dropdown-C-Ze4gvG.mjs +771 -0
- package/dist/dropdown-C-Ze4gvG.mjs.map +1 -0
- package/dist/dropdown.cjs.js +2 -0
- package/dist/dropdown.cjs.js.map +1 -0
- package/dist/dropdown.es.js +6 -0
- package/dist/dropdown.es.js.map +1 -0
- package/dist/{hero-banner-B5HKmkXc.mjs → hero-banner-BjwICxaJ.mjs} +2 -2
- package/dist/{hero-banner-B5HKmkXc.mjs.map → hero-banner-BjwICxaJ.mjs.map} +1 -1
- package/dist/{hero-banner-OnNSuxNT.js → hero-banner-yGRM4OlS.js} +2 -2
- package/dist/{hero-banner-OnNSuxNT.js.map → hero-banner-yGRM4OlS.js.map} +1 -1
- package/dist/hero-banner.cjs.js +1 -1
- package/dist/hero-banner.es.js +1 -1
- package/dist/illustrative-icon/assets/json/cart-checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/cart-checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/document-checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/document-checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/support-checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/support-checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/user-checkmark-duocolor-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/assets/json/user-checkmark-offblack-animated.json.d.ts +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-duocolor-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-duocolor-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-duocolor-animated.es.js +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-offblack-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-offblack-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/cart-checkmark-offblack-animated.es.js +1 -1
- package/dist/illustrative-icon/components/checkmark-duocolor-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/checkmark-duocolor-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/checkmark-duocolor-animated.es.js +1 -1
- package/dist/illustrative-icon/components/checkmark-offblack-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/checkmark-offblack-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/checkmark-offblack-animated.es.js +1 -1
- package/dist/illustrative-icon/components/document-checkmark-duocolor-animated.cjs.js +2 -2
- package/dist/illustrative-icon/components/document-checkmark-duocolor-animated.es.js +2 -2
- package/dist/illustrative-icon/components/document-checkmark-offblack-animated.cjs.js +2 -2
- package/dist/illustrative-icon/components/document-checkmark-offblack-animated.es.js +2 -2
- package/dist/illustrative-icon/components/support-checkmark-duocolor-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/support-checkmark-duocolor-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/support-checkmark-duocolor-animated.es.js +1 -1
- package/dist/illustrative-icon/components/support-checkmark-offblack-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/support-checkmark-offblack-animated.cjs.js.map +1 -1
- package/dist/illustrative-icon/components/support-checkmark-offblack-animated.es.js +1 -1
- package/dist/illustrative-icon/components/user-checkmark-duocolor-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/user-checkmark-duocolor-animated.es.js +1 -1
- package/dist/illustrative-icon/components/user-checkmark-offblack-animated.cjs.js +1 -1
- package/dist/illustrative-icon/components/user-checkmark-offblack-animated.es.js +1 -1
- package/dist/libraries/library/src/chat-field.d.ts +6 -0
- package/dist/libraries/library/src/chat-field.d.ts.map +1 -0
- package/dist/libraries/library/src/dropdown.d.ts +6 -0
- package/dist/libraries/library/src/dropdown.d.ts.map +1 -0
- package/dist/libraries/library/src/library.d.ts +2 -0
- package/dist/libraries/library/src/library.d.ts.map +1 -1
- package/dist/libraries/theme/src/theme-props.d.ts +1 -0
- package/dist/libraries/theme/src/theme-props.d.ts.map +1 -1
- package/dist/libraries/tokens/dist/border/variables.d.ts +1 -0
- package/dist/libraries/tokens/dist/border/variables.dark.d.ts +1 -0
- package/dist/library.cjs.js +1 -1
- package/dist/library.es.js +603 -592
- package/dist/library.es.js.map +1 -1
- package/dist/listbox-COBHLRtB.js +2 -0
- package/dist/listbox-COBHLRtB.js.map +1 -0
- package/dist/listbox-DG4KmQP_.mjs +66 -0
- package/dist/listbox-DG4KmQP_.mjs.map +1 -0
- package/dist/listbox.cjs.js +1 -1
- package/dist/listbox.es.js +1 -1
- package/dist/{modal-CQiJ98iI.js → modal-DMeRO1wE.js} +2 -2
- package/dist/{modal-CQiJ98iI.js.map → modal-DMeRO1wE.js.map} +1 -1
- package/dist/{modal-B1eJu9HN.mjs → modal-fTWvPEPW.mjs} +2 -2
- package/dist/{modal-B1eJu9HN.mjs.map → modal-fTWvPEPW.mjs.map} +1 -1
- package/dist/modal.cjs.js +1 -1
- package/dist/modal.es.js +1 -1
- package/dist/{notification-BtcM7Ndu.mjs → notification-BvoL7BIW.mjs} +60 -51
- package/dist/notification-BvoL7BIW.mjs.map +1 -0
- package/dist/notification-DE1pvk9W.js +2 -0
- package/dist/notification-DE1pvk9W.js.map +1 -0
- package/dist/{notification-banner-CbKcE7o4.mjs → notification-banner-C4gkkSlf.mjs} +2 -2
- package/dist/{notification-banner-CbKcE7o4.mjs.map → notification-banner-C4gkkSlf.mjs.map} +1 -1
- package/dist/{notification-banner-B0CUuKZn.js → notification-banner-COH7wJu2.js} +2 -2
- package/dist/{notification-banner-B0CUuKZn.js.map → notification-banner-COH7wJu2.js.map} +1 -1
- package/dist/notification-banner.cjs.js +1 -1
- package/dist/notification-banner.es.js +1 -1
- package/dist/notification.cjs.js +1 -1
- package/dist/notification.es.js +1 -1
- package/dist/{popover-D6k4-oO1.js → popover-BnUVNqSi.js} +2 -2
- package/dist/{popover-D6k4-oO1.js.map → popover-BnUVNqSi.js.map} +1 -1
- package/dist/{popover-D3b2gHm-.mjs → popover-lxTyKALA.mjs} +2 -2
- package/dist/{popover-D3b2gHm-.mjs.map → popover-lxTyKALA.mjs.map} +1 -1
- package/dist/popover.cjs.js +1 -1
- package/dist/popover.es.js +1 -1
- package/dist/purpur.css +1 -1
- package/dist/{quantity-selector-Djf8APeL.mjs → quantity-selector-CsR6KTG3.mjs} +3 -3
- package/dist/{quantity-selector-Djf8APeL.mjs.map → quantity-selector-CsR6KTG3.mjs.map} +1 -1
- package/dist/{quantity-selector-Bc-4Dnpc.js → quantity-selector-DWDg4aFO.js} +2 -2
- package/dist/{quantity-selector-Bc-4Dnpc.js.map → quantity-selector-DWDg4aFO.js.map} +1 -1
- package/dist/quantity-selector.cjs.js +1 -1
- package/dist/quantity-selector.es.js +1 -1
- package/dist/search-field-Caj2dKLn.mjs +151 -0
- package/dist/search-field-Caj2dKLn.mjs.map +1 -0
- package/dist/search-field-DAktzYb0.js +2 -0
- package/dist/search-field-DAktzYb0.js.map +1 -0
- package/dist/search-field.cjs.js +1 -1
- package/dist/search-field.es.js +3 -2
- package/dist/{stepper-CTdGj87I.mjs → stepper-B351hexi.mjs} +3 -3
- package/dist/{stepper-CTdGj87I.mjs.map → stepper-B351hexi.mjs.map} +1 -1
- package/dist/{stepper-BaoOY4Ea.js → stepper-Cb4_9D2h.js} +2 -2
- package/dist/{stepper-BaoOY4Ea.js.map → stepper-Cb4_9D2h.js.map} +1 -1
- package/dist/stepper.cjs.js +1 -1
- package/dist/stepper.es.js +1 -1
- package/dist/{table-D7qthqj_.mjs → table-DXYHrKI7.mjs} +5 -5
- package/dist/{table-D7qthqj_.mjs.map → table-DXYHrKI7.mjs.map} +1 -1
- package/dist/{table-TdOPMFoP.js → table-x3SDCR-z.js} +2 -2
- package/dist/{table-TdOPMFoP.js.map → table-x3SDCR-z.js.map} +1 -1
- package/dist/table.cjs.js +1 -1
- package/dist/table.es.js +1 -1
- package/dist/text-field-BQYzwIrG.mjs +322 -0
- package/dist/text-field-BQYzwIrG.mjs.map +1 -0
- package/dist/text-field-BwxGMWds.js +2 -0
- package/dist/text-field-BwxGMWds.js.map +1 -0
- package/dist/text-field.cjs.js +1 -1
- package/dist/text-field.es.js +4 -3
- package/dist/tokens/border/variables.css +1 -0
- package/dist/tokens/border/variables.d.ts +1 -0
- package/dist/tokens/border/variables.dark.css +1 -0
- package/dist/tokens/border/variables.dark.d.ts +1 -0
- package/dist/tokens/border/variables.dark.js +1 -0
- package/dist/tokens/border/variables.dark.json +1 -0
- package/dist/tokens/border/variables.dark.scss +1 -0
- package/dist/tokens/border/variables.js +1 -0
- package/dist/tokens/border/variables.json +1 -0
- package/dist/tokens/border/variables.scss +1 -0
- package/dist/tokens.cjs.js +1 -1
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js +337 -336
- package/dist/tokens.es.js.map +1 -1
- package/dist/{tooltip-BtGtu3ph.mjs → tooltip-BHsVKFJ3.mjs} +2 -2
- package/dist/{tooltip-BtGtu3ph.mjs.map → tooltip-BHsVKFJ3.mjs.map} +1 -1
- package/dist/{tooltip-eUP35j3v.js → tooltip-B_qTqtcF.js} +2 -2
- package/dist/{tooltip-eUP35j3v.js.map → tooltip-B_qTqtcF.js.map} +1 -1
- package/dist/tooltip.cjs.js +1 -1
- package/dist/tooltip.es.js +1 -1
- package/dist/use-autocomplete.es-BHDgQLae.js +2 -0
- package/dist/use-autocomplete.es-BHDgQLae.js.map +1 -0
- package/dist/use-autocomplete.es-CVv3z8t6.mjs +142 -0
- package/dist/use-autocomplete.es-CVv3z8t6.mjs.map +1 -0
- package/package.json +22 -20
- package/src/aliases.ts +8 -0
- package/src/chat-field.ts +6 -0
- package/src/dropdown.ts +6 -0
- package/src/entries.js +2 -0
- package/src/library.ts +4 -0
- package/tokens/border/variables.css +1 -0
- package/tokens/border/variables.d.ts +1 -0
- package/tokens/border/variables.dark.css +1 -0
- package/tokens/border/variables.dark.d.ts +1 -0
- package/tokens/border/variables.dark.js +1 -0
- package/tokens/border/variables.dark.json +1 -0
- package/tokens/border/variables.dark.scss +1 -0
- package/tokens/border/variables.js +1 -0
- package/tokens/border/variables.json +1 -0
- package/tokens/border/variables.scss +1 -0
- package/dist/button-BxdChrq-.js +0 -2
- package/dist/button-BxdChrq-.js.map +0 -1
- package/dist/button-D-BBdNhd.mjs +0 -105
- package/dist/button-D-BBdNhd.mjs.map +0 -1
- package/dist/dismissable-chip-group-CnziecOt.js +0 -2
- package/dist/dismissable-chip-group-CnziecOt.js.map +0 -1
- package/dist/dismissable-chip-group-ZCYOt1sB.mjs +0 -79
- package/dist/dismissable-chip-group-ZCYOt1sB.mjs.map +0 -1
- package/dist/drawer-B6j8nfAY.mjs +0 -530
- package/dist/drawer-B6j8nfAY.mjs.map +0 -1
- package/dist/drawer-CJsLdd2x.js +0 -2
- package/dist/drawer-CJsLdd2x.js.map +0 -1
- package/dist/listbox-BmjBtIv8.js +0 -2
- package/dist/listbox-BmjBtIv8.js.map +0 -1
- package/dist/listbox-oDeP8FvH.mjs +0 -65
- package/dist/listbox-oDeP8FvH.mjs.map +0 -1
- package/dist/notification-BtcM7Ndu.mjs.map +0 -1
- package/dist/notification-Dsg3Vzfi.js +0 -2
- package/dist/notification-Dsg3Vzfi.js.map +0 -1
- package/dist/search-field-0CBoxcNH.js +0 -2
- package/dist/search-field-0CBoxcNH.js.map +0 -1
- package/dist/search-field-aP_i6Nr0.mjs +0 -91
- package/dist/search-field-aP_i6Nr0.mjs.map +0 -1
- package/dist/text-field-9zPmL99g.mjs +0 -185
- package/dist/text-field-9zPmL99g.mjs.map +0 -1
- package/dist/text-field-CKCwxTJX.js +0 -2
- package/dist/text-field-CKCwxTJX.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip-BtGtu3ph.mjs","sources":["../../../common/temp/node_modules/.pnpm/@radix-ui+primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-context/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slot@1.1.2_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-primitive@2.0.2_@types+react-dom@19.2.3_@types+react@19.2.14__@types+re_1e08a41ab6d69f63decdd1a7ef3d0124/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-escape-keydown@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.5_@types+react-dom@19.2.3_@types+react@19.2.14__@_daae5b69e1592fdb83452fafd1706eb6/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-id@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-id/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-arrow@1.1.2_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react@_4a5bb3f0828453ad3992b684e0ab7e71/node_modules/@radix-ui/react-arrow/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-size@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-popper@1.2.2_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_e39c92251b59f22a48ef4c2580514e40/node_modules/@radix-ui/react-popper/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-portal@1.1.4_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_13ea421b3c6b7bf2381352021ced39c4/node_modules/@radix-ui/react-portal/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-presence@1.1.2_@types+react-dom@19.2.3_@types+react@19.2.14__@types+rea_c3f4f93ddaa297a37774699cdd549def/node_modules/@radix-ui/react-presence/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-visually-hidden@1.1.2_@types+react-dom@19.2.3_@types+react@19.2.14__@ty_83277a4343857a174ebb25dad47ba1cc/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-tooltip@1.1.8_@types+react-dom@19.2.3_@types+react@19.2.14__@types+reac_8b9f5da679cd5f83efb85cb13907bc34/node_modules/@radix-ui/react-tooltip/dist/index.mjs","../../../components/tooltip/src/tooltip.tsx"],"sourcesContent":["// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/useCallbackRef.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/useEscapeKeydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/dismissable-layer/src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/useLayoutEffect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\"useId\".toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/arrow/src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n Arrow,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/useSize.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/popper/src/popper.tsx\nimport * as React from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ jsx(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ jsx(\n ArrowPrimitive.Root,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n return value !== null;\n}\nvar transformOrigin = (options) => ({\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n ALIGN_OPTIONS,\n Anchor,\n Arrow,\n Content,\n Popper,\n PopperAnchor,\n PopperArrow,\n PopperContent,\n Root2 as Root,\n SIDE_OPTIONS,\n createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/portal/src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/visually-hidden/src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: {\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\",\n ...props.style\n }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/tooltip/src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayed,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n setIsOpenDelayed(false);\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n }\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayed) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayed, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","import React, { Children, forwardRef, type ReactNode, useState } from \"react\";\nimport { type Size } from \"@purpur/action\";\nimport { Button, BUTTON_VARIANT } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconInfo } from \"@purpur/icon/info\";\nimport { Paragraph, ParagraphVariant } from \"@purpur/paragraph\";\nimport { purpurMotionDuration400 } from \"@purpur/tokens\";\nimport * as RadixTooltip from \"@radix-ui/react-tooltip\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./tooltip.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport const TOOLTIP_POSITION = {\n TOP: \"top\",\n BOTTOM: \"bottom\",\n LEFT: \"left\",\n RIGHT: \"right\",\n} as const;\n\nexport type TooltipPosition = (typeof TOOLTIP_POSITION)[keyof typeof TOOLTIP_POSITION];\n\nexport const TOOLTIP_ALIGN = {\n START: \"start\",\n CENTER: \"center\",\n END: \"end\",\n} as const;\nexport type TooltipAlign = (typeof TOOLTIP_ALIGN)[keyof typeof TOOLTIP_ALIGN];\n\ntype WithTriggerElement = {\n triggerElement: ReactNode;\n triggerAriaLabel?: never;\n};\n\ntype WithoutTriggeElement = {\n triggerElement?: never;\n triggerAriaLabel: string;\n};\n\nexport type TooltipProps = Omit<BaseProps, \"children\"> & {\n align?: TooltipAlign;\n buttonSize?: Size;\n children: ReactNode;\n negative?: boolean;\n position?: TooltipPosition;\n triggerAriaLabel?: string;\n triggerElement?: ReactNode;\n contentClassName?: string;\n} & (WithTriggerElement | WithoutTriggeElement);\n\nconst rootClassName = \"purpur-tooltip\";\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n buttonSize = \"md\",\n children,\n className,\n contentClassName,\n negative = false,\n position = TOOLTIP_POSITION.TOP,\n align = TOOLTIP_ALIGN.CENTER,\n triggerAriaLabel,\n triggerElement,\n ...props\n },\n ref\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const classes = cx(\n className,\n rootClassName,\n `${rootClassName}--primary${negative ? \"-negative\" : \"\"}`\n );\n const tooltipButton = (\n <Button\n ref={ref}\n aria-label={triggerAriaLabel}\n aria-expanded={isOpen}\n variant={BUTTON_VARIANT.TERTIARY_PURPLE}\n negative={negative}\n iconOnly\n data-testid={`${dataTestId}-trigger-button`}\n size={buttonSize}\n >\n <IconInfo size=\"md\" />\n </Button>\n );\n\n return (\n <div data-testid={dataTestId} className={classes}>\n <RadixTooltip.Provider delayDuration={parseInt(purpurMotionDuration400)}>\n <RadixTooltip.Root open={isOpen} onOpenChange={setIsOpen} {...props}>\n <RadixTooltip.Trigger\n asChild\n onClick={(e) => {\n e.preventDefault();\n setIsOpen(true);\n }}\n >\n {Children.count(triggerElement) === 0 ? tooltipButton : triggerElement}\n </RadixTooltip.Trigger>\n <RadixTooltip.Portal>\n <RadixTooltip.Content\n side={position}\n align={align}\n className={cx(\n contentClassName,\n `${rootClassName}__content`,\n `${rootClassName}__content--primary${negative ? \"-negative\" : \"\"}`\n )}\n sideOffset={-5}\n data-testid={`${dataTestId}-content`}\n >\n {typeof children === \"string\" ? (\n <Paragraph\n variant={ParagraphVariant.PARAGRAPH100}\n negative={!negative}\n data-testid={`${dataTestId}-paragraph`}\n >\n {children}\n </Paragraph>\n ) : (\n children\n )}\n <RadixTooltip.Arrow\n className={cx(\n `${rootClassName}__arrow`,\n `${rootClassName}__arrow--primary${negative ? \"-negative\" : \"\"}`\n )}\n />\n </RadixTooltip.Content>\n </RadixTooltip.Portal>\n </RadixTooltip.Root>\n </RadixTooltip.Provider>\n </div>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n"],"names":["composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","value","composeRefs","refs","node","hasCleanup","cleanups","cleanup","i","useComposedRefs","React","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","rootComponentName","defaultContext","BaseContext","index","Provider","props","scope","children","context","Context","jsx","useContext2","consumerName","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","Slot","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","SlotClone","childrenRef","getElementRef","props2","mergeProps","Slottable","Fragment2","childProps","overrideProps","propName","slotPropValue","childPropValue","args","element","getter","mayWarn","NODES","Primitive","primitive","Node","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","target","ReactDOM","useCallbackRef","callback","callbackRef","useEscapeKeydown","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","handleKeyDown","DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableLayerContext","DismissableLayer","disableOutsidePointerEvents","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","force","composedRefs","node2","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","useFocusOutside","dispatchUpdate","handleUpdate","BRANCH_NAME","DismissableLayerBranch","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","timerId","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","name","handler","detail","discrete","useLayoutEffect2","useReactId","count","useId","deterministicId","id","setId","useLayoutEffect","reactId","NAME","Arrow","width","height","arrowProps","Root","useSize","size","setSize","resizeObserver","entries","entry","borderSizeEntry","borderSize","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","ANCHOR_NAME","PopperAnchor","virtualRef","anchorProps","CONTENT_NAME","PopperContentProvider","useContentContext","PopperContent","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPaddingProp","sticky","hideWhenDetached","updatePositionStrategy","onPlaced","contentProps","content","setContent","arrow","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","collisionPadding","boundary","hasExplicitBoundaries","detectOverflowOptions","isNotNull","floatingStyles","placement","isPositioned","middlewareData","useFloating","autoUpdate","offset","shift","limitShift","flip","elements","rects","availableWidth","availableHeight","anchorWidth","anchorHeight","contentStyle","floatingUIarrow","transformOrigin","hide","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","contentContext","baseSide","ArrowPrimitive.Root","options","data","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","x","Root2","Anchor","Content","PORTAL_NAME","Portal","containerProp","portalProps","mounted","setMounted","container","useStateMachine","initialState","machine","state","Presence","present","presence","usePresence","React2","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","styles","wasPresent","prevAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","value2","uncontrolledState","prevValueRef","VisuallyHidden","createTooltipContext","usePopperScope","PROVIDER_NAME","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","isOpenDelayed","setIsOpenDelayed","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","Tooltip","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","contentId","openTimerRef","wasOpenDelayedRef","open","setOpen","open2","stateAttribute","handleOpen","handleClose","handleDelayedOpen","PopperPrimitive.Root","TRIGGER_NAME","TooltipTrigger","triggerProps","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","PopperPrimitive.Anchor","PortalProvider","usePortalContext","TooltipPortal","forceMount","PortalPrimitive","TooltipContent","portalContext","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","onClose","onPointerInTransitChange","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","currentTarget","exitPoint","exitSide","getExitSideFromRect","paddedExitPoints","getPaddedExitPoints","hoverTargetPoints","getPointsFromRect","graceArea","getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","isPointInPolygon","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","ariaLabel","handleScroll","jsxs","PopperPrimitive.Content","VisuallyHiddenPrimitive.Root","TooltipArrow","PopperPrimitive.Arrow","point","rect","top","bottom","right","left","padding","polygon","y","inside","j","xi","yi","xj","yj","points","newPoints","a","b","getHullPresorted","upperHull","p","q","r","lowerHull","Root3","Trigger","Content2","Arrow2","cx","c","TOOLTIP_POSITION","TOOLTIP_ALIGN","rootClassName","forwardRef","dataTestId","buttonSize","className","contentClassName","negative","position","triggerAriaLabel","triggerElement","isOpen","setIsOpen","useState","classes","tooltipButton","Button","BUTTON_VARIANT","IconInfo","RadixTooltip.Provider","purpurMotionDuration400","RadixTooltip.Root","RadixTooltip.Trigger","e","Children","RadixTooltip.Portal","RadixTooltip.Content","Paragraph","ParagraphVariant","RadixTooltip.Arrow"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]}
|
|
1
|
+
{"version":3,"file":"tooltip-BHsVKFJ3.mjs","sources":["../../../common/temp/node_modules/.pnpm/@radix-ui+primitive@1.1.1/node_modules/@radix-ui/primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.1_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-context@1.1.1_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-context/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-slot@1.1.2_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-primitive@2.0.2_@types+react-dom@19.2.3_@types+react@19.2.14__@types+re_1e08a41ab6d69f63decdd1a7ef3d0124/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-escape-keydown@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.5_@types+react-dom@19.2.3_@types+react@19.2.14__@_daae5b69e1592fdb83452fafd1706eb6/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-id@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-id/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-arrow@1.1.2_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react@_4a5bb3f0828453ad3992b684e0ab7e71/node_modules/@radix-ui/react-arrow/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-size@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-popper@1.2.2_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_e39c92251b59f22a48ef4c2580514e40/node_modules/@radix-ui/react-popper/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-portal@1.1.4_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_13ea421b3c6b7bf2381352021ced39c4/node_modules/@radix-ui/react-portal/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-presence@1.1.2_@types+react-dom@19.2.3_@types+react@19.2.14__@types+rea_c3f4f93ddaa297a37774699cdd549def/node_modules/@radix-ui/react-presence/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.1.0_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-visually-hidden@1.1.2_@types+react-dom@19.2.3_@types+react@19.2.14__@ty_83277a4343857a174ebb25dad47ba1cc/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","../../../common/temp/node_modules/.pnpm/@radix-ui+react-tooltip@1.1.8_@types+react-dom@19.2.3_@types+react@19.2.14__@types+reac_8b9f5da679cd5f83efb85cb13907bc34/node_modules/@radix-ui/react-tooltip/dist/index.mjs","../../../components/tooltip/src/tooltip.tsx"],"sourcesContent":["// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nexport {\n composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/composeRefs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/createContext.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/slot/src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\nvar Slot = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n});\nSlot.displayName = \"Slot\";\nvar SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n});\nSlotClone.displayName = \"SlotClone\";\nvar Slottable = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n};\nfunction isSlottable(child) {\n return React.isValidElement(child) && child.type === Slottable;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n childPropValue(...args);\n slotPropValue(...args);\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Slot;\nexport {\n Root,\n Slot,\n Slottable\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/primitive/src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/useCallbackRef.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/useEscapeKeydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/dismissable-layer/src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/useLayoutEffect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = Boolean(globalThis?.document) ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\"useId\".toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/arrow/src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n Arrow,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/useSize.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/popper/src/popper.tsx\nimport * as React from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ jsx(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ jsx(\n ArrowPrimitive.Root,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n return value !== null;\n}\nvar transformOrigin = (options) => ({\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n ALIGN_OPTIONS,\n Anchor,\n Arrow,\n Content,\n Popper,\n PopperAnchor,\n PopperArrow,\n PopperContent,\n Root2 as Root,\n SIDE_OPTIONS,\n createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/portal/src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/presence/src/Presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// packages/react/presence/src/useStateMachine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// packages/react/presence/src/Presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef({});\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n if (node2) stylesRef.current = getComputedStyle(node2);\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Presence\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-controllable-state/src/useControllableState.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n }\n}) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n const handleChange = useCallbackRef(onChange);\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const setter = nextValue;\n const value2 = typeof nextValue === \"function\" ? setter(prop) : nextValue;\n if (value2 !== prop) handleChange(value2);\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const uncontrolledState = React.useState(defaultProp);\n const [value] = uncontrolledState;\n const prevValueRef = React.useRef(value);\n const handleChange = useCallbackRef(onChange);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef, handleChange]);\n return uncontrolledState;\n}\nexport {\n useControllableState\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/visually-hidden/src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: {\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\",\n ...props.style\n }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/tooltip/src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Slottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const [isOpenDelayed, setIsOpenDelayed] = React.useState(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayed,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n setIsOpenDelayed(false);\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => setIsOpenDelayed(true),\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n }\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayed) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayed, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i].x;\n const yi = polygon[i].y;\n const xj = polygon[j].x;\n const yj = polygon[j].y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","import React, { Children, forwardRef, type ReactNode, useState } from \"react\";\nimport { type Size } from \"@purpur/action\";\nimport { Button, BUTTON_VARIANT } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconInfo } from \"@purpur/icon/info\";\nimport { Paragraph, ParagraphVariant } from \"@purpur/paragraph\";\nimport { purpurMotionDuration400 } from \"@purpur/tokens\";\nimport * as RadixTooltip from \"@radix-ui/react-tooltip\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./tooltip.module.scss\";\n\nconst cx = c.bind(styles);\n\nexport const TOOLTIP_POSITION = {\n TOP: \"top\",\n BOTTOM: \"bottom\",\n LEFT: \"left\",\n RIGHT: \"right\",\n} as const;\n\nexport type TooltipPosition = (typeof TOOLTIP_POSITION)[keyof typeof TOOLTIP_POSITION];\n\nexport const TOOLTIP_ALIGN = {\n START: \"start\",\n CENTER: \"center\",\n END: \"end\",\n} as const;\nexport type TooltipAlign = (typeof TOOLTIP_ALIGN)[keyof typeof TOOLTIP_ALIGN];\n\ntype WithTriggerElement = {\n triggerElement: ReactNode;\n triggerAriaLabel?: never;\n};\n\ntype WithoutTriggeElement = {\n triggerElement?: never;\n triggerAriaLabel: string;\n};\n\nexport type TooltipProps = Omit<BaseProps, \"children\"> & {\n align?: TooltipAlign;\n buttonSize?: Size;\n children: ReactNode;\n negative?: boolean;\n position?: TooltipPosition;\n triggerAriaLabel?: string;\n triggerElement?: ReactNode;\n contentClassName?: string;\n} & (WithTriggerElement | WithoutTriggeElement);\n\nconst rootClassName = \"purpur-tooltip\";\n\nexport const Tooltip = forwardRef<HTMLButtonElement, TooltipProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n buttonSize = \"md\",\n children,\n className,\n contentClassName,\n negative = false,\n position = TOOLTIP_POSITION.TOP,\n align = TOOLTIP_ALIGN.CENTER,\n triggerAriaLabel,\n triggerElement,\n ...props\n },\n ref\n ) => {\n const [isOpen, setIsOpen] = useState(false);\n const classes = cx(\n className,\n rootClassName,\n `${rootClassName}--primary${negative ? \"-negative\" : \"\"}`\n );\n const tooltipButton = (\n <Button\n ref={ref}\n aria-label={triggerAriaLabel}\n aria-expanded={isOpen}\n variant={BUTTON_VARIANT.TERTIARY_PURPLE}\n negative={negative}\n iconOnly\n data-testid={`${dataTestId}-trigger-button`}\n size={buttonSize}\n >\n <IconInfo size=\"md\" />\n </Button>\n );\n\n return (\n <div data-testid={dataTestId} className={classes}>\n <RadixTooltip.Provider delayDuration={parseInt(purpurMotionDuration400)}>\n <RadixTooltip.Root open={isOpen} onOpenChange={setIsOpen} {...props}>\n <RadixTooltip.Trigger\n asChild\n onClick={(e) => {\n e.preventDefault();\n setIsOpen(true);\n }}\n >\n {Children.count(triggerElement) === 0 ? tooltipButton : triggerElement}\n </RadixTooltip.Trigger>\n <RadixTooltip.Portal>\n <RadixTooltip.Content\n side={position}\n align={align}\n className={cx(\n contentClassName,\n `${rootClassName}__content`,\n `${rootClassName}__content--primary${negative ? \"-negative\" : \"\"}`\n )}\n sideOffset={-5}\n data-testid={`${dataTestId}-content`}\n >\n {typeof children === \"string\" ? (\n <Paragraph\n variant={ParagraphVariant.PARAGRAPH100}\n negative={!negative}\n data-testid={`${dataTestId}-paragraph`}\n >\n {children}\n </Paragraph>\n ) : (\n children\n )}\n <RadixTooltip.Arrow\n className={cx(\n `${rootClassName}__arrow`,\n `${rootClassName}__arrow--primary${negative ? \"-negative\" : \"\"}`\n )}\n />\n </RadixTooltip.Content>\n </RadixTooltip.Portal>\n </RadixTooltip.Root>\n </RadixTooltip.Provider>\n </div>\n );\n }\n);\n\nTooltip.displayName = \"Tooltip\";\n"],"names":["composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","value","composeRefs","refs","node","hasCleanup","cleanups","cleanup","i","useComposedRefs","React","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","rootComponentName","defaultContext","BaseContext","index","Provider","props","scope","children","context","Context","jsx","useContext2","consumerName","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","Slot","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","SlotClone","childrenRef","getElementRef","props2","mergeProps","Slottable","Fragment2","childProps","overrideProps","propName","slotPropValue","childPropValue","args","element","getter","mayWarn","NODES","Primitive","primitive","Node","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","target","ReactDOM","useCallbackRef","callback","callbackRef","useEscapeKeydown","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","handleKeyDown","DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableLayerContext","DismissableLayer","disableOutsidePointerEvents","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","force","composedRefs","node2","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","useFocusOutside","dispatchUpdate","handleUpdate","BRANCH_NAME","DismissableLayerBranch","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","timerId","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","name","handler","detail","discrete","useLayoutEffect2","useReactId","count","useId","deterministicId","id","setId","useLayoutEffect","reactId","NAME","Arrow","width","height","arrowProps","Root","useSize","size","setSize","resizeObserver","entries","entry","borderSizeEntry","borderSize","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","ANCHOR_NAME","PopperAnchor","virtualRef","anchorProps","CONTENT_NAME","PopperContentProvider","useContentContext","PopperContent","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPaddingProp","sticky","hideWhenDetached","updatePositionStrategy","onPlaced","contentProps","content","setContent","arrow","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","collisionPadding","boundary","hasExplicitBoundaries","detectOverflowOptions","isNotNull","floatingStyles","placement","isPositioned","middlewareData","useFloating","autoUpdate","offset","shift","limitShift","flip","elements","rects","availableWidth","availableHeight","anchorWidth","anchorHeight","contentStyle","floatingUIarrow","transformOrigin","hide","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","contentContext","baseSide","ArrowPrimitive.Root","options","data","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","x","Root2","Anchor","Content","PORTAL_NAME","Portal","containerProp","portalProps","mounted","setMounted","container","useStateMachine","initialState","machine","state","Presence","present","presence","usePresence","React2","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","styles","wasPresent","prevAnimationName","timeoutId","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","useControllableState","prop","defaultProp","onChange","uncontrolledProp","setUncontrolledProp","useUncontrolledState","isControlled","handleChange","setValue","nextValue","value2","uncontrolledState","prevValueRef","VisuallyHidden","createTooltipContext","usePopperScope","PROVIDER_NAME","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","isOpenDelayed","setIsOpenDelayed","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","Tooltip","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","contentId","openTimerRef","wasOpenDelayedRef","open","setOpen","open2","stateAttribute","handleOpen","handleClose","handleDelayedOpen","PopperPrimitive.Root","TRIGGER_NAME","TooltipTrigger","triggerProps","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","PopperPrimitive.Anchor","PortalProvider","usePortalContext","TooltipPortal","forceMount","PortalPrimitive","TooltipContent","portalContext","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","onClose","onPointerInTransitChange","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","currentTarget","exitPoint","exitSide","getExitSideFromRect","paddedExitPoints","getPaddedExitPoints","hoverTargetPoints","getPointsFromRect","graceArea","getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","isPointInPolygon","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","ariaLabel","handleScroll","jsxs","PopperPrimitive.Content","VisuallyHiddenPrimitive.Root","TooltipArrow","PopperPrimitive.Arrow","point","rect","top","bottom","right","left","padding","polygon","y","inside","j","xi","yi","xj","yj","points","newPoints","a","b","getHullPresorted","upperHull","p","q","r","lowerHull","Root3","Trigger","Content2","Arrow2","cx","c","TOOLTIP_POSITION","TOOLTIP_ALIGN","rootClassName","forwardRef","dataTestId","buttonSize","className","contentClassName","negative","position","triggerAriaLabel","triggerElement","isOpen","setIsOpen","useState","classes","tooltipButton","Button","BUTTON_VARIANT","IconInfo","RadixTooltip.Provider","purpurMotionDuration400","RadixTooltip.Root","RadixTooltip.Trigger","e","Children","RadixTooltip.Portal","RadixTooltip.Content","Paragraph","ParagraphVariant","RadixTooltip.Arrow"],"mappings":";;;;;;;;;;;AACA,SAASA,EAAqBC,GAAsBC,GAAiB,EAAE,0BAAAC,IAA2B,GAAI,IAAK,IAAI;AAC7G,SAAO,SAAqBC,GAAO;AAEjC,QADAH,IAAuBG,CAAK,GACxBD,MAA6B,MAAS,CAACC,EAAM;AAC/C,aAAOF,IAAkBE,CAAK;AAAA,EAElC;AACF;ACNA,SAASC,GAAOC,GAAKC,GAAO;AAC1B,MAAI,OAAOD,KAAQ;AACjB,WAAOA,EAAIC,CAAK;AACX,EAAID,KAAQ,SACjBA,EAAI,UAAUC;AAElB;AACA,SAASC,MAAeC,GAAM;AAC5B,SAAO,CAACC,MAAS;AACf,QAAIC,IAAa;AACjB,UAAMC,IAAWH,EAAK,IAAI,CAACH,MAAQ;AACjC,YAAMO,IAAUR,GAAOC,GAAKI,CAAI;AAChC,aAAI,CAACC,KAAc,OAAOE,KAAW,eACnCF,IAAa,KAERE;AAAA,IACT,CAAC;AACD,QAAIF;AACF,aAAO,MAAM;AACX,iBAASG,IAAI,GAAGA,IAAIF,EAAS,QAAQE,KAAK;AACxC,gBAAMD,IAAUD,EAASE,CAAC;AAC1B,UAAI,OAAOD,KAAW,aACpBA,EAAO,IAEPR,GAAOI,EAAKK,CAAC,GAAG,IAAI;AAAA,QAExB;AAAA,MACF;AAAA,EAEJ;AACF;AACA,SAASC,KAAmBN,GAAM;AAChC,SAAOO,EAAM,YAAYR,GAAY,GAAGC,CAAI,GAAGA,CAAI;AACrD;AChBA,SAASQ,GAAmBC,GAAWC,IAAyB,IAAI;AAClE,MAAIC,IAAkB,CAAA;AACtB,WAASC,EAAeC,GAAmBC,GAAgB;AACzD,UAAMC,IAAcR,EAAM,cAAcO,CAAc,GAChDE,IAAQL,EAAgB;AAC9B,IAAAA,IAAkB,CAAC,GAAGA,GAAiBG,CAAc;AACrD,UAAMG,IAAW,CAACC,MAAU;AAC1B,YAAM,EAAE,OAAAC,GAAO,UAAAC,GAAU,GAAGC,EAAO,IAAKH,GAClCI,IAAUH,IAAQV,CAAS,IAAIO,CAAK,KAAKD,GACzCjB,IAAQS,EAAM,QAAQ,MAAMc,GAAS,OAAO,OAAOA,CAAO,CAAC;AACjE,aAAuB,gBAAAE,EAAID,EAAQ,UAAU,EAAE,OAAAxB,GAAO,UAAAsB,EAAQ,CAAE;AAAA,IAClE;AACA,IAAAH,EAAS,cAAcJ,IAAoB;AAC3C,aAASW,EAAYC,GAAcN,GAAO;AACxC,YAAMG,IAAUH,IAAQV,CAAS,IAAIO,CAAK,KAAKD,GACzCM,IAAUd,EAAM,WAAWe,CAAO;AACxC,UAAID,EAAS,QAAOA;AACpB,UAAIP,MAAmB,OAAQ,QAAOA;AACtC,YAAM,IAAI,MAAM,KAAKW,CAAY,4BAA4BZ,CAAiB,IAAI;AAAA,IACpF;AACA,WAAO,CAACI,GAAUO,CAAW;AAAA,EAC/B;AACA,QAAME,IAAc,MAAM;AACxB,UAAMC,IAAgBhB,EAAgB,IAAI,CAACG,MAClCP,EAAM,cAAcO,CAAc,CAC1C;AACD,WAAO,SAAkBK,GAAO;AAC9B,YAAMS,IAAWT,IAAQV,CAAS,KAAKkB;AACvC,aAAOpB,EAAM;AAAA,QACX,OAAO,EAAE,CAAC,UAAUE,CAAS,EAAE,GAAG,EAAE,GAAGU,GAAO,CAACV,CAAS,GAAGmB,EAAQ;QACnE,CAACT,GAAOS,CAAQ;AAAA,MACxB;AAAA,IACI;AAAA,EACF;AACA,SAAAF,EAAY,YAAYjB,GACjB,CAACG,GAAgBiB,GAAqBH,GAAa,GAAGhB,CAAsB,CAAC;AACtF;AACA,SAASmB,MAAwBC,GAAQ;AACvC,QAAMC,IAAYD,EAAO,CAAC;AAC1B,MAAIA,EAAO,WAAW,EAAG,QAAOC;AAChC,QAAML,IAAc,MAAM;AACxB,UAAMM,IAAaF,EAAO,IAAI,CAACG,OAAkB;AAAA,MAC/C,UAAUA,EAAY;AAAA,MACtB,WAAWA,EAAa;AAAA,IAC9B,EAAM;AACF,WAAO,SAA2BC,GAAgB;AAChD,YAAMC,IAAaH,EAAW,OAAO,CAACI,GAAa,EAAE,UAAAC,GAAU,WAAA5B,QAAgB;AAE7E,cAAM6B,IADaD,EAASH,CAAc,EACV,UAAUzB,CAAS,EAAE;AACrD,eAAO,EAAE,GAAG2B,GAAa,GAAGE,EAAY;AAAA,MAC1C,GAAG,CAAA,CAAE;AACL,aAAO/B,EAAM,QAAQ,OAAO,EAAE,CAAC,UAAUwB,EAAU,SAAS,EAAE,GAAGI,EAAU,IAAK,CAACA,CAAU,CAAC;AAAA,IAC9F;AAAA,EACF;AACA,SAAAT,EAAY,YAAYK,EAAU,WAC3BL;AACT;ACvEA,IAAIa,KAAOhC,EAAM,WAAW,CAACW,GAAOsB,MAAiB;AACnD,QAAM,EAAE,UAAApB,GAAU,GAAGqB,EAAS,IAAKvB,GAC7BwB,IAAgBnC,EAAM,SAAS,QAAQa,CAAQ,GAC/CuB,IAAYD,EAAc,KAAKE,EAAW;AAChD,MAAID,GAAW;AACb,UAAME,IAAaF,EAAU,MAAM,UAC7BG,IAAcJ,EAAc,IAAI,CAACK,MACjCA,MAAUJ,IACRpC,EAAM,SAAS,MAAMsC,CAAU,IAAI,IAAUtC,EAAM,SAAS,KAAK,IAAI,IAClEA,EAAM,eAAesC,CAAU,IAAIA,EAAW,MAAM,WAAW,OAE/DE,CAEV;AACD,WAAuB,gBAAAxB,EAAIyB,GAAW,EAAE,GAAGP,GAAW,KAAKD,GAAc,UAAUjC,EAAM,eAAesC,CAAU,IAAItC,EAAM,aAAasC,GAAY,QAAQC,CAAW,IAAI,MAAM;AAAA,EACpL;AACA,SAAuB,gBAAAvB,EAAIyB,GAAW,EAAE,GAAGP,GAAW,KAAKD,GAAc,UAAApB,GAAU;AACrF,CAAC;AACDmB,GAAK,cAAc;AACnB,IAAIS,IAAYzC,EAAM,WAAW,CAACW,GAAOsB,MAAiB;AACxD,QAAM,EAAE,UAAApB,GAAU,GAAGqB,EAAS,IAAKvB;AACnC,MAAIX,EAAM,eAAea,CAAQ,GAAG;AAClC,UAAM6B,IAAcC,GAAc9B,CAAQ,GACpC+B,IAASC,GAAWX,GAAWrB,EAAS,KAAK;AACnD,WAAIA,EAAS,SAASb,EAAM,aAC1B4C,EAAO,MAAMX,IAAezC,GAAYyC,GAAcS,CAAW,IAAIA,IAEhE1C,EAAM,aAAaa,GAAU+B,CAAM;AAAA,EAC5C;AACA,SAAO5C,EAAM,SAAS,MAAMa,CAAQ,IAAI,IAAIb,EAAM,SAAS,KAAK,IAAI,IAAI;AAC1E,CAAC;AACDyC,EAAU,cAAc;AACxB,IAAIK,KAAY,CAAC,EAAE,UAAAjC,QACM,gBAAAG,EAAI+B,IAAW,EAAE,UAAAlC,GAAU;AAEpD,SAASwB,GAAYG,GAAO;AAC1B,SAAOxC,EAAM,eAAewC,CAAK,KAAKA,EAAM,SAASM;AACvD;AACA,SAASD,GAAWX,GAAWc,GAAY;AACzC,QAAMC,IAAgB,EAAE,GAAGD,EAAU;AACrC,aAAWE,KAAYF,GAAY;AACjC,UAAMG,IAAgBjB,EAAUgB,CAAQ,GAClCE,IAAiBJ,EAAWE,CAAQ;AAE1C,IADkB,WAAW,KAAKA,CAAQ,IAEpCC,KAAiBC,IACnBH,EAAcC,CAAQ,IAAI,IAAIG,MAAS;AACrC,MAAAD,EAAe,GAAGC,CAAI,GACtBF,EAAc,GAAGE,CAAI;AAAA,IACvB,IACSF,MACTF,EAAcC,CAAQ,IAAIC,KAEnBD,MAAa,UACtBD,EAAcC,CAAQ,IAAI,EAAE,GAAGC,GAAe,GAAGC,EAAc,IACtDF,MAAa,gBACtBD,EAAcC,CAAQ,IAAI,CAACC,GAAeC,CAAc,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG;AAAA,EAEtF;AACA,SAAO,EAAE,GAAGlB,GAAW,GAAGe,EAAa;AACzC;AACA,SAASN,GAAcW,GAAS;AAC9B,MAAIC,IAAS,OAAO,yBAAyBD,EAAQ,OAAO,KAAK,GAAG,KAChEE,IAAUD,KAAU,oBAAoBA,KAAUA,EAAO;AAC7D,SAAIC,IACKF,EAAQ,OAEjBC,IAAS,OAAO,yBAAyBD,GAAS,KAAK,GAAG,KAC1DE,IAAUD,KAAU,oBAAoBA,KAAUA,EAAO,gBACrDC,IACKF,EAAQ,MAAM,MAEhBA,EAAQ,MAAM,OAAOA,EAAQ;AACtC;ACxEA,IAAIG,KAAQ;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GACIC,IAAYD,GAAM,OAAO,CAACE,GAAWjE,MAAS;AAChD,QAAMkE,IAAO5D,EAAM,WAAW,CAACW,GAAOsB,MAAiB;AACrD,UAAM,EAAE,SAAA4B,GAAS,GAAGC,EAAc,IAAKnD,GACjCoD,IAAOF,IAAU7B,KAAOtC;AAC9B,WAAI,OAAO,SAAW,QACpB,OAAO,uBAAO,IAAI,UAAU,CAAC,IAAI,KAEZ,gBAAAsB,EAAI+C,GAAM,EAAE,GAAGD,GAAgB,KAAK7B,GAAc;AAAA,EAC3E,CAAC;AACD,SAAA2B,EAAK,cAAc,aAAalE,CAAI,IAC7B,EAAE,GAAGiE,GAAW,CAACjE,CAAI,GAAGkE,EAAI;AACrC,GAAG,EAAE;AACL,SAASI,GAA4BC,GAAQ7E,GAAO;AAClD,EAAI6E,KAAQC,GAAS,UAAU,MAAMD,EAAO,cAAc7E,CAAK,CAAC;AAClE;ACnCA,SAAS+E,EAAeC,GAAU;AAChC,QAAMC,IAAcrE,EAAM,OAAOoE,CAAQ;AACzC,SAAApE,EAAM,UAAU,MAAM;AACpB,IAAAqE,EAAY,UAAUD;AAAA,EACxB,CAAC,GACMpE,EAAM,QAAQ,MAAM,IAAIqD,MAASgB,EAAY,UAAU,GAAGhB,CAAI,GAAG,EAAE;AAC5E;ACLA,SAASiB,GAAiBC,GAAqBC,IAAgB,YAAY,UAAU;AACnF,QAAMC,IAAkBN,EAAeI,CAAmB;AAC1D,EAAAvE,EAAM,UAAU,MAAM;AACpB,UAAM0E,IAAgB,CAACtF,MAAU;AAC/B,MAAIA,EAAM,QAAQ,YAChBqF,EAAgBrF,CAAK;AAAA,IAEzB;AACA,WAAAoF,EAAc,iBAAiB,WAAWE,GAAe,EAAE,SAAS,IAAM,GACnE,MAAMF,EAAc,oBAAoB,WAAWE,GAAe,EAAE,SAAS,IAAM;AAAA,EAC5F,GAAG,CAACD,GAAiBD,CAAa,CAAC;AACrC;ACJA,IAAIG,KAAyB,oBACzBC,IAAiB,2BACjBC,KAAuB,uCACvBC,KAAgB,iCAChBC,IACAC,KAA0BhF,EAAM,cAAc;AAAA,EAChD,QAAwB,oBAAI,IAAG;AAAA,EAC/B,wCAAwD,oBAAI,IAAG;AAAA,EAC/D,UAA0B,oBAAI,IAAG;AACnC,CAAC,GACGiF,KAAmBjF,EAAM;AAAA,EAC3B,CAACW,GAAOsB,MAAiB;AACvB,UAAM;AAAA,MACJ,6BAAAiD,IAA8B;AAAA,MAC9B,iBAAAT;AAAA,MACA,sBAAAU;AAAA,MACA,gBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,WAAAC;AAAA,MACA,GAAGC;AAAA,IACT,IAAQ5E,GACEG,IAAUd,EAAM,WAAWgF,EAAuB,GAClD,CAACtF,GAAM8F,CAAO,IAAIxF,EAAM,SAAS,IAAI,GACrCwE,IAAgB9E,GAAM,iBAAiB,YAAY,UACnD,CAAA,EAAG+F,CAAK,IAAIzF,EAAM,SAAS,CAAA,CAAE,GAC7B0F,IAAe3F,EAAgBkC,GAAc,CAAC0D,MAAUH,EAAQG,CAAK,CAAC,GACtEC,IAAS,MAAM,KAAK9E,EAAQ,MAAM,GAClC,CAAC+E,CAA4C,IAAI,CAAC,GAAG/E,EAAQ,sCAAsC,EAAE,MAAM,EAAE,GAC7GgF,IAAoDF,EAAO,QAAQC,CAA4C,GAC/GpF,IAAQf,IAAOkG,EAAO,QAAQlG,CAAI,IAAI,IACtCqG,IAA8BjF,EAAQ,uCAAuC,OAAO,GACpFkF,IAAyBvF,KAASqF,GAClCG,IAAqBC,GAAsB,CAAC9G,MAAU;AAC1D,YAAM6E,IAAS7E,EAAM,QACf+G,IAAwB,CAAC,GAAGrF,EAAQ,QAAQ,EAAE,KAAK,CAACsF,MAAWA,EAAO,SAASnC,CAAM,CAAC;AAC5F,MAAI,CAAC+B,KAA0BG,MAC/BhB,IAAuB/F,CAAK,GAC5BiG,IAAoBjG,CAAK,GACpBA,EAAM,oBAAkBkG,IAAS;AAAA,IACxC,GAAGd,CAAa,GACV6B,IAAeC,GAAgB,CAAClH,MAAU;AAC9C,YAAM6E,IAAS7E,EAAM;AAErB,MADwB,CAAC,GAAG0B,EAAQ,QAAQ,EAAE,KAAK,CAACsF,MAAWA,EAAO,SAASnC,CAAM,CAAC,MAEtFmB,IAAiBhG,CAAK,GACtBiG,IAAoBjG,CAAK,GACpBA,EAAM,oBAAkBkG,IAAS;AAAA,IACxC,GAAGd,CAAa;AAChB,WAAAF,GAAiB,CAAClF,MAAU;AAE1B,MADuBqB,MAAUK,EAAQ,OAAO,OAAO,MAEvD2D,IAAkBrF,CAAK,GACnB,CAACA,EAAM,oBAAoBkG,MAC7BlG,EAAM,eAAc,GACpBkG,EAAS;AAAA,IAEb,GAAGd,CAAa,GAChBxE,EAAM,UAAU,MAAM;AACpB,UAAKN;AACL,eAAIwF,MACEpE,EAAQ,uCAAuC,SAAS,MAC1DiE,KAA4BP,EAAc,KAAK,MAAM,eACrDA,EAAc,KAAK,MAAM,gBAAgB,SAE3C1D,EAAQ,uCAAuC,IAAIpB,CAAI,IAEzDoB,EAAQ,OAAO,IAAIpB,CAAI,GACvB6G,GAAc,GACP,MAAM;AACX,UAAIrB,KAA+BpE,EAAQ,uCAAuC,SAAS,MACzF0D,EAAc,KAAK,MAAM,gBAAgBO;AAAA,QAE7C;AAAA,IACF,GAAG,CAACrF,GAAM8E,GAAeU,GAA6BpE,CAAO,CAAC,GAC9Dd,EAAM,UAAU,MACP,MAAM;AACX,MAAKN,MACLoB,EAAQ,OAAO,OAAOpB,CAAI,GAC1BoB,EAAQ,uCAAuC,OAAOpB,CAAI,GAC1D6G,GAAc;AAAA,IAChB,GACC,CAAC7G,GAAMoB,CAAO,CAAC,GAClBd,EAAM,UAAU,MAAM;AACpB,YAAMwG,IAAe,MAAMf,EAAM,EAAE;AACnC,sBAAS,iBAAiBb,GAAgB4B,CAAY,GAC/C,MAAM,SAAS,oBAAoB5B,GAAgB4B,CAAY;AAAA,IACxE,GAAG,CAAA,CAAE,GACkB,gBAAAxF;AAAA,MACrB0C,EAAU;AAAA,MACV;AAAA,QACE,GAAG6B;AAAA,QACH,KAAKG;AAAA,QACL,OAAO;AAAA,UACL,eAAeK,IAA8BC,IAAyB,SAAS,SAAS;AAAA,UACxF,GAAGrF,EAAM;AAAA,QACnB;AAAA,QACQ,gBAAgB3B,EAAqB2B,EAAM,gBAAgB0F,EAAa,cAAc;AAAA,QACtF,eAAerH,EAAqB2B,EAAM,eAAe0F,EAAa,aAAa;AAAA,QACnF,sBAAsBrH;AAAA,UACpB2B,EAAM;AAAA,UACNsF,EAAmB;AAAA,QAC7B;AAAA,MACA;AAAA,IACA;AAAA,EACE;AACF;AACAhB,GAAiB,cAAcN;AAC/B,IAAI8B,KAAc,0BACdC,KAAyB1G,EAAM,WAAW,CAACW,GAAOsB,MAAiB;AACrE,QAAMnB,IAAUd,EAAM,WAAWgF,EAAuB,GAClD1F,IAAMU,EAAM,OAAO,IAAI,GACvB0F,IAAe3F,EAAgBkC,GAAc3C,CAAG;AACtD,SAAAU,EAAM,UAAU,MAAM;AACpB,UAAMN,IAAOJ,EAAI;AACjB,QAAII;AACF,aAAAoB,EAAQ,SAAS,IAAIpB,CAAI,GAClB,MAAM;AACX,QAAAoB,EAAQ,SAAS,OAAOpB,CAAI;AAAA,MAC9B;AAAA,EAEJ,GAAG,CAACoB,EAAQ,QAAQ,CAAC,GACE,gBAAAE,EAAI0C,EAAU,KAAK,EAAE,GAAG/C,GAAO,KAAK+E,GAAc;AAC3E,CAAC;AACDgB,GAAuB,cAAcD;AACrC,SAASP,GAAsBf,GAAsBX,IAAgB,YAAY,UAAU;AACzF,QAAMmC,IAA2BxC,EAAegB,CAAoB,GAC9DyB,IAA8B5G,EAAM,OAAO,EAAK,GAChD6G,IAAiB7G,EAAM,OAAO,MAAM;AAAA,EAC1C,CAAC;AACD,SAAAA,EAAM,UAAU,MAAM;AACpB,UAAM8G,IAAoB,CAAC1H,MAAU;AACnC,UAAIA,EAAM,UAAU,CAACwH,EAA4B,SAAS;AACxD,YAAIG,IAA4C,WAAW;AACzD,UAAAC;AAAA,YACEnC;AAAA,YACA8B;AAAA,YACAM;AAAA,YACA,EAAE,UAAU,GAAI;AAAA,UAC5B;AAAA,QACQ;AAEA,cAAMA,IAAc,EAAE,eAAe7H,EAAK;AAC1C,QAAIA,EAAM,gBAAgB,WACxBoF,EAAc,oBAAoB,SAASqC,EAAe,OAAO,GACjEA,EAAe,UAAUE,GACzBvC,EAAc,iBAAiB,SAASqC,EAAe,SAAS,EAAE,MAAM,IAAM,KAE9EE,EAAyC;AAAA,MAE7C;AACE,QAAAvC,EAAc,oBAAoB,SAASqC,EAAe,OAAO;AAEnE,MAAAD,EAA4B,UAAU;AAAA,IACxC,GACMM,IAAU,OAAO,WAAW,MAAM;AACtC,MAAA1C,EAAc,iBAAiB,eAAesC,CAAiB;AAAA,IACjE,GAAG,CAAC;AACJ,WAAO,MAAM;AACX,aAAO,aAAaI,CAAO,GAC3B1C,EAAc,oBAAoB,eAAesC,CAAiB,GAClEtC,EAAc,oBAAoB,SAASqC,EAAe,OAAO;AAAA,IACnE;AAAA,EACF,GAAG,CAACrC,GAAemC,CAAwB,CAAC,GACrC;AAAA;AAAA,IAEL,sBAAsB,MAAMC,EAA4B,UAAU;AAAA,EACtE;AACA;AACA,SAASN,GAAgBlB,GAAgBZ,IAAgB,YAAY,UAAU;AAC7E,QAAM2C,IAAqBhD,EAAeiB,CAAc,GAClDgC,IAA4BpH,EAAM,OAAO,EAAK;AACpD,SAAAA,EAAM,UAAU,MAAM;AACpB,UAAMqH,IAAc,CAACjI,MAAU;AAC7B,MAAIA,EAAM,UAAU,CAACgI,EAA0B,WAE7CJ,GAA6BlC,IAAeqC,GADxB,EAAE,eAAe/H,EAAK,GACmC;AAAA,QAC3E,UAAU;AAAA,MACpB,CAAS;AAAA,IAEL;AACA,WAAAoF,EAAc,iBAAiB,WAAW6C,CAAW,GAC9C,MAAM7C,EAAc,oBAAoB,WAAW6C,CAAW;AAAA,EACvE,GAAG,CAAC7C,GAAe2C,CAAkB,CAAC,GAC/B;AAAA,IACL,gBAAgB,MAAMC,EAA0B,UAAU;AAAA,IAC1D,eAAe,MAAMA,EAA0B,UAAU;AAAA,EAC7D;AACA;AACA,SAASb,KAAiB;AACxB,QAAMnH,IAAQ,IAAI,YAAYwF,CAAc;AAC5C,WAAS,cAAcxF,CAAK;AAC9B;AACA,SAAS4H,GAA6BM,GAAMC,GAASC,GAAQ,EAAE,UAAAC,EAAQ,GAAI;AACzE,QAAMxD,IAASuD,EAAO,cAAc,QAC9BpI,IAAQ,IAAI,YAAYkI,GAAM,EAAE,SAAS,IAAO,YAAY,IAAM,QAAAE,GAAQ;AAChF,EAAID,KAAStD,EAAO,iBAAiBqD,GAAMC,GAAS,EAAE,MAAM,IAAM,GAC9DE,IACFzD,GAA4BC,GAAQ7E,CAAK,IAEzC6E,EAAO,cAAc7E,CAAK;AAE9B;ACjNA,IAAIsI,IAA2B,YAAY,WAAY1H,EAAM,kBAAkB,MAAM;AACrF,GCAI2H,KAAa3H,EAAM,UAAwB,MAAA;AAAA,IAC3C4H,KAAQ;AACZ,SAASC,GAAMC,GAAiB;AAC9B,QAAM,CAACC,GAAIC,CAAK,IAAIhI,EAAM,SAAS2H,IAAY;AAC/CM,SAAAA,EAAgB,MAAM;AACE,IAAAD,EAAM,CAACE,MAAYA,KAAW,OAAON,IAAO,CAAC;AAAA,EACrE,GAAG,CAACE,CAAe,CAAC,GACOC,IAAK,SAASA,CAAE,KAAK;AAClD;ACPA,IAAII,KAAO,SACPC,KAAQpI,EAAM,WAAW,CAACW,GAAOsB,MAAiB;AACpD,QAAM,EAAE,UAAApB,GAAU,OAAAwH,IAAQ,IAAI,QAAAC,IAAS,GAAG,GAAGC,EAAU,IAAK5H;AAC5D,SAAuB,gBAAAK;AAAA,IACrB0C,EAAU;AAAA,IACV;AAAA,MACE,GAAG6E;AAAA,MACH,KAAKtG;AAAA,MACL,OAAAoG;AAAA,MACA,QAAAC;AAAA,MACA,SAAS;AAAA,MACT,qBAAqB;AAAA,MACrB,UAAU3H,EAAM,UAAUE,IAA2B,gBAAAG,EAAI,WAAW,EAAE,QAAQ,iBAAgB,CAAE;AAAA,IACtG;AAAA,EACA;AACA,CAAC;AACDoH,GAAM,cAAcD;AACpB,IAAIK,KAAOJ;AClBX,SAASK,GAAQnF,GAAS;AACxB,QAAM,CAACoF,GAAMC,CAAO,IAAI3I,EAAM,SAAS,MAAM;AAC7CiI,SAAAA,EAAgB,MAAM;AACpB,QAAI3E,GAAS;AACX,MAAAqF,EAAQ,EAAE,OAAOrF,EAAQ,aAAa,QAAQA,EAAQ,cAAc;AACpE,YAAMsF,IAAiB,IAAI,eAAe,CAACC,MAAY;AAIrD,YAHI,CAAC,MAAM,QAAQA,CAAO,KAGtB,CAACA,EAAQ;AACX;AAEF,cAAMC,IAAQD,EAAQ,CAAC;AACvB,YAAIR,GACAC;AACJ,YAAI,mBAAmBQ,GAAO;AAC5B,gBAAMC,IAAkBD,EAAM,eACxBE,IAAa,MAAM,QAAQD,CAAe,IAAIA,EAAgB,CAAC,IAAIA;AACzE,UAAAV,IAAQW,EAAW,YACnBV,IAASU,EAAW;AAAA,QACtB;AACE,UAAAX,IAAQ/E,EAAQ,aAChBgF,IAAShF,EAAQ;AAEnB,QAAAqF,EAAQ,EAAE,OAAAN,GAAO,QAAAC,GAAQ;AAAA,MAC3B,CAAC;AACD,aAAAM,EAAe,QAAQtF,GAAS,EAAE,KAAK,aAAY,CAAE,GAC9C,MAAMsF,EAAe,UAAUtF,CAAO;AAAA,IAC/C;AACE,MAAAqF,EAAQ,MAAM;AAAA,EAElB,GAAG,CAACrF,CAAO,CAAC,GACLoF;AACT;ACXA,IAAIO,IAAc,UACd,CAACC,IAAqBC,EAAiB,IAAIlJ,GAAmBgJ,CAAW,GACzE,CAACG,IAAgBC,EAAgB,IAAIH,GAAoBD,CAAW,GACpEK,KAAS,CAAC3I,MAAU;AACtB,QAAM,EAAE,eAAA4I,GAAe,UAAA1I,EAAQ,IAAKF,GAC9B,CAAC6I,GAAQC,CAAS,IAAIzJ,EAAM,SAAS,IAAI;AAC/C,SAAuB,gBAAAgB,EAAIoI,IAAgB,EAAE,OAAOG,GAAe,QAAAC,GAAQ,gBAAgBC,GAAW,UAAA5I,GAAU;AAClH;AACAyI,GAAO,cAAcL;AACrB,IAAIS,KAAc,gBACdC,KAAe3J,EAAM;AAAA,EACvB,CAACW,GAAOsB,MAAiB;AACvB,UAAM,EAAE,eAAAsH,GAAe,YAAAK,GAAY,GAAGC,EAAW,IAAKlJ,GAChDG,IAAUuI,GAAiBK,IAAaH,CAAa,GACrDjK,IAAMU,EAAM,OAAO,IAAI,GACvB0F,IAAe3F,EAAgBkC,GAAc3C,CAAG;AACtD,WAAAU,EAAM,UAAU,MAAM;AACpB,MAAAc,EAAQ,eAAe8I,GAAY,WAAWtK,EAAI,OAAO;AAAA,IAC3D,CAAC,GACMsK,IAAa,OAAuB,gBAAA5I,EAAI0C,EAAU,KAAK,EAAE,GAAGmG,GAAa,KAAKnE,GAAc;AAAA,EACrG;AACF;AACAiE,GAAa,cAAcD;AAC3B,IAAII,IAAe,iBACf,CAACC,IAAuBC,EAAiB,IAAId,GAAoBY,CAAY,GAC7EG,KAAgBjK,EAAM;AAAA,EACxB,CAACW,GAAOsB,MAAiB;AACvB,UAAM;AAAA,MACJ,eAAAsH;AAAA,MACA,MAAAW,IAAO;AAAA,MACP,YAAAC,IAAa;AAAA,MACb,OAAAC,IAAQ;AAAA,MACR,aAAAC,IAAc;AAAA,MACd,cAAAC,IAAe;AAAA,MACf,iBAAAC,IAAkB;AAAA,MAClB,mBAAAC,IAAoB,CAAA;AAAA,MACpB,kBAAkBC,IAAuB;AAAA,MACzC,QAAAC,IAAS;AAAA,MACT,kBAAAC,IAAmB;AAAA,MACnB,wBAAAC,IAAyB;AAAA,MACzB,UAAAC;AAAA,MACA,GAAGC;AAAA,IACT,IAAQnK,GACEG,IAAUuI,GAAiBS,GAAcP,CAAa,GACtD,CAACwB,GAASC,CAAU,IAAIhL,EAAM,SAAS,IAAI,GAC3C0F,IAAe3F,EAAgBkC,GAAc,CAACvC,MAASsL,EAAWtL,CAAI,CAAC,GACvE,CAACuL,GAAOC,CAAQ,IAAIlL,EAAM,SAAS,IAAI,GACvCmL,IAAY1C,GAAQwC,CAAK,GACzBG,IAAaD,GAAW,SAAS,GACjCE,IAAcF,GAAW,UAAU,GACnCG,IAAmBpB,KAAQE,MAAU,WAAW,MAAMA,IAAQ,KAC9DmB,IAAmB,OAAOd,KAAyB,WAAWA,IAAuB,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,GAAGA,EAAoB,GACpJe,KAAW,MAAM,QAAQhB,CAAiB,IAAIA,IAAoB,CAACA,CAAiB,GACpFiB,KAAwBD,GAAS,SAAS,GAC1CE,IAAwB;AAAA,MAC5B,SAASH;AAAA,MACT,UAAUC,GAAS,OAAOG,EAAS;AAAA;AAAA,MAEnC,aAAaF;AAAA,IACnB,GACU,EAAE,MAAAhM,IAAM,gBAAAmM,IAAgB,WAAAC,IAAW,cAAAC,GAAc,gBAAAC,EAAc,IAAKC,GAAY;AAAA;AAAA,MAEpF,UAAU;AAAA,MACV,WAAWV;AAAA,MACX,sBAAsB,IAAIjI,MACR4I,GAAW,GAAG5I,GAAM;AAAA,QAClC,gBAAgBuH,MAA2B;AAAA,MACrD,CAAS;AAAA,MAGH,UAAU;AAAA,QACR,WAAW9J,EAAQ;AAAA,MAC3B;AAAA,MACM,YAAY;AAAA,QACVoL,GAAO,EAAE,UAAU/B,IAAakB,GAAa,eAAehB,GAAa;AAAA,QACzEE,KAAmB4B,GAAM;AAAA,UACvB,UAAU;AAAA,UACV,WAAW;AAAA,UACX,SAASzB,MAAW,YAAY0B,GAAU,IAAK;AAAA,UAC/C,GAAGV;AAAA,QACb,CAAS;AAAA,QACDnB,KAAmB8B,GAAK,EAAE,GAAGX,GAAuB;AAAA,QACpDhD,GAAK;AAAA,UACH,GAAGgD;AAAA,UACH,OAAO,CAAC,EAAE,UAAAY,GAAU,OAAAC,IAAO,gBAAAC,IAAgB,iBAAAC,GAAe,MAAO;AAC/D,kBAAM,EAAE,OAAOC,IAAa,QAAQC,GAAY,IAAKJ,GAAM,WACrDK,IAAeN,EAAS,SAAS;AACvC,YAAAM,EAAa,YAAY,kCAAkC,GAAGJ,EAAc,IAAI,GAChFI,EAAa,YAAY,mCAAmC,GAAGH,EAAe,IAAI,GAClFG,EAAa,YAAY,+BAA+B,GAAGF,EAAW,IAAI,GAC1EE,EAAa,YAAY,gCAAgC,GAAGD,EAAY,IAAI;AAAA,UAC9E;AAAA,QACV,CAAS;AAAA,QACD1B,KAAS4B,GAAgB,EAAE,SAAS5B,GAAO,SAASX,GAAc;AAAA,QAClEwC,GAAgB,EAAE,YAAA1B,GAAY,aAAAC,GAAa;AAAA,QAC3CV,KAAoBoC,GAAK,EAAE,UAAU,mBAAmB,GAAGrB,EAAqB,CAAE;AAAA,MAC1F;AAAA,IACA,CAAK,GACK,CAACsB,IAAYC,EAAW,IAAIC,GAA6BrB,EAAS,GAClEsB,KAAehJ,EAAe0G,CAAQ;AAC5C5C,IAAAA,EAAgB,MAAM;AACpB,MAAI6D,KACFqB,KAAY;AAAA,IAEhB,GAAG,CAACrB,GAAcqB,EAAY,CAAC;AAC/B,UAAMC,KAASrB,EAAe,OAAO,GAC/BsB,KAAStB,EAAe,OAAO,GAC/BuB,KAAoBvB,EAAe,OAAO,iBAAiB,GAC3D,CAACwB,IAAeC,EAAgB,IAAIxN,EAAM,SAAQ;AACxDiI,WAAAA,EAAgB,MAAM;AACpB,MAAI8C,KAASyC,GAAiB,OAAO,iBAAiBzC,CAAO,EAAE,MAAM;AAAA,IACvE,GAAG,CAACA,CAAO,CAAC,GACW,gBAAA/J;AAAA,MACrB;AAAA,MACA;AAAA,QACE,KAAKvB,GAAK;AAAA,QACV,qCAAqC;AAAA,QACrC,OAAO;AAAA,UACL,GAAGmM;AAAA,UACH,WAAWE,IAAeF,GAAe,YAAY;AAAA;AAAA,UAErD,UAAU;AAAA,UACV,QAAQ2B;AAAA,UACP,mCAAoC;AAAA,YACnCxB,EAAe,iBAAiB;AAAA,YAChCA,EAAe,iBAAiB;AAAA,UAC5C,EAAY,KAAK,GAAG;AAAA;AAAA;AAAA;AAAA,UAIV,GAAGA,EAAe,MAAM,mBAAmB;AAAA,YACzC,YAAY;AAAA,YACZ,eAAe;AAAA,UAC3B;AAAA,QACA;AAAA,QACQ,KAAKpL,EAAM;AAAA,QACX,UAA0B,gBAAAK;AAAA,UACxB+I;AAAA,UACA;AAAA,YACE,OAAOR;AAAA,YACP,YAAAyD;AAAA,YACA,eAAe9B;AAAA,YACf,QAAAkC;AAAA,YACA,QAAAC;AAAA,YACA,iBAAiBC;AAAA,YACjB,UAA0B,gBAAAtM;AAAA,cACxB0C,EAAU;AAAA,cACV;AAAA,gBACE,aAAasJ;AAAA,gBACb,cAAcC;AAAA,gBACd,GAAGnC;AAAA,gBACH,KAAKpF;AAAA,gBACL,OAAO;AAAA,kBACL,GAAGoF,EAAa;AAAA;AAAA;AAAA,kBAGhB,WAAYgB,IAAwB,SAAT;AAAA,gBAC7C;AAAA,cACA;AAAA,YACA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACE;AACF;AACA7B,GAAc,cAAcH;AAC5B,IAAI2D,KAAa,eACbC,KAAgB;AAAA,EAClB,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AACR,GACIC,KAAc3N,EAAM,WAAW,SAAsBW,GAAOsB,GAAc;AAC5E,QAAM,EAAE,eAAAsH,GAAe,GAAGhB,EAAU,IAAK5H,GACnCiN,IAAiB5D,GAAkByD,IAAYlE,CAAa,GAC5DsE,IAAWH,GAAcE,EAAe,UAAU;AACxD;AAAA;AAAA;AAAA;AAAA,IAIkB,gBAAA5M;AAAA,MACd;AAAA,MACA;AAAA,QACE,KAAK4M,EAAe;AAAA,QACpB,OAAO;AAAA,UACL,UAAU;AAAA,UACV,MAAMA,EAAe;AAAA,UACrB,KAAKA,EAAe;AAAA,UACpB,CAACC,CAAQ,GAAG;AAAA,UACZ,iBAAiB;AAAA,YACf,KAAK;AAAA,YACL,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,MAAM;AAAA,UAClB,EAAYD,EAAe,UAAU;AAAA,UAC3B,WAAW;AAAA,YACT,KAAK;AAAA,YACL,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,MAAM;AAAA,UAClB,EAAYA,EAAe,UAAU;AAAA,UAC3B,YAAYA,EAAe,kBAAkB,WAAW;AAAA,QAClE;AAAA,QACQ,UAA0B,gBAAA5M;AAAA,UACxB8M;AAAAA,UACA;AAAA,YACE,GAAGvF;AAAA,YACH,KAAKtG;AAAA,YACL,OAAO;AAAA,cACL,GAAGsG,EAAW;AAAA;AAAA,cAEd,SAAS;AAAA,YACvB;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA;AAEA,CAAC;AACDoF,GAAY,cAAcF;AAC1B,SAAS9B,GAAUpM,GAAO;AACxB,SAAOA,MAAU;AACnB;AACA,IAAIuN,KAAkB,CAACiB,OAAa;AAAA,EAClC,MAAM;AAAA,EACN,SAAAA;AAAA,EACA,GAAGC,GAAM;AACP,UAAM,EAAE,WAAAnC,GAAW,OAAAU,GAAO,gBAAAR,EAAc,IAAKiC,GAEvCC,IADoBlC,EAAe,OAAO,iBAAiB,GAE3DX,IAAa6C,IAAgB,IAAIF,EAAQ,YACzC1C,IAAc4C,IAAgB,IAAIF,EAAQ,aAC1C,CAACf,GAAYC,CAAW,IAAIC,GAA6BrB,CAAS,GAClEqC,IAAe,EAAE,OAAO,MAAM,QAAQ,OAAO,KAAK,OAAM,EAAGjB,CAAW,GACtEkB,KAAgBpC,EAAe,OAAO,KAAK,KAAKX,IAAa,GAC7DgD,KAAgBrC,EAAe,OAAO,KAAK,KAAKV,IAAc;AACpE,QAAIgD,IAAI,IACJ,IAAI;AACR,WAAIrB,MAAe,YACjBqB,IAAIJ,IAAgBC,IAAe,GAAGC,CAAY,MAClD,IAAI,GAAG,CAAC9C,CAAW,QACV2B,MAAe,SACxBqB,IAAIJ,IAAgBC,IAAe,GAAGC,CAAY,MAClD,IAAI,GAAG5B,EAAM,SAAS,SAASlB,CAAW,QACjC2B,MAAe,WACxBqB,IAAI,GAAG,CAAChD,CAAW,MACnB,IAAI4C,IAAgBC,IAAe,GAAGE,CAAY,QACzCpB,MAAe,WACxBqB,IAAI,GAAG9B,EAAM,SAAS,QAAQlB,CAAW,MACzC,IAAI4C,IAAgBC,IAAe,GAAGE,CAAY,OAE7C,EAAE,MAAM,EAAE,GAAAC,GAAG,EAAC,EAAE;AAAA,EACzB;AACF;AACA,SAASnB,GAA6BrB,GAAW;AAC/C,QAAM,CAAC3B,GAAME,IAAQ,QAAQ,IAAIyB,EAAU,MAAM,GAAG;AACpD,SAAO,CAAC3B,GAAME,CAAK;AACrB;AACA,IAAIkE,KAAQhF,IACRiF,KAAS5E,IACT6E,KAAUvE,IACV7B,KAAQuF,ICxRRc,KAAc,UACdC,KAAS1O,EAAM,WAAW,CAACW,GAAOsB,MAAiB;AACrD,QAAM,EAAE,WAAW0M,GAAe,GAAGC,EAAW,IAAKjO,GAC/C,CAACkO,GAASC,CAAU,IAAI9O,EAAM,SAAS,EAAK;AAClDiI,EAAAA,EAAgB,MAAM6G,EAAW,EAAI,GAAG,CAAA,CAAE;AAC1C,QAAMC,IAAYJ,KAAiBE,KAAW,YAAY,UAAU;AACpE,SAAOE,IAAY7K,GAAS,aAA6B,gBAAAlD,EAAI0C,EAAU,KAAK,EAAE,GAAGkL,GAAa,KAAK3M,EAAY,CAAE,GAAG8M,CAAS,IAAI;AACnI,CAAC;AACDL,GAAO,cAAcD;ACPrB,SAASO,GAAgBC,GAAcC,GAAS;AAC9C,SAAOlP,EAAM,WAAW,CAACmP,GAAO/P,MACZ8P,EAAQC,CAAK,EAAE/P,CAAK,KAClB+P,GACnBF,CAAY;AACjB;AAGA,IAAIG,KAAW,CAACzO,MAAU;AACxB,QAAM,EAAE,SAAA0O,GAAS,UAAAxO,EAAQ,IAAKF,GACxB2O,IAAWC,GAAYF,CAAO,GAC9B7M,IAAQ,OAAO3B,KAAa,aAAaA,EAAS,EAAE,SAASyO,EAAS,UAAS,CAAE,IAAIE,EAAO,SAAS,KAAK3O,CAAQ,GAClHvB,IAAMS,EAAgBuP,EAAS,KAAK3M,GAAcH,CAAK,CAAC;AAE9D,SADmB,OAAO3B,KAAa,cAClByO,EAAS,YAAYE,EAAO,aAAahN,GAAO,EAAE,KAAAlD,EAAG,CAAE,IAAI;AAClF;AACA8P,GAAS,cAAc;AACvB,SAASG,GAAYF,GAAS;AAC5B,QAAM,CAAC3P,GAAM8F,CAAO,IAAIgK,EAAO,SAAQ,GACjCC,IAAYD,EAAO,OAAO,EAAE,GAC5BE,IAAiBF,EAAO,OAAOH,CAAO,GACtCM,IAAuBH,EAAO,OAAO,MAAM,GAC3CP,IAAeI,IAAU,YAAY,aACrC,CAACF,GAAOS,CAAI,IAAIZ,GAAgBC,GAAc;AAAA,IAClD,SAAS;AAAA,MACP,SAAS;AAAA,MACT,eAAe;AAAA,IACrB;AAAA,IACI,kBAAkB;AAAA,MAChB,OAAO;AAAA,MACP,eAAe;AAAA,IACrB;AAAA,IACI,WAAW;AAAA,MACT,OAAO;AAAA,IACb;AAAA,EACA,CAAG;AACDO,SAAAA,EAAO,UAAU,MAAM;AACrB,UAAMK,IAAuBC,EAAiBL,EAAU,OAAO;AAC/D,IAAAE,EAAqB,UAAUR,MAAU,YAAYU,IAAuB;AAAA,EAC9E,GAAG,CAACV,CAAK,CAAC,GACVlH,EAAgB,MAAM;AACpB,UAAM8H,IAASN,EAAU,SACnBO,IAAaN,EAAe;AAElC,QAD0BM,MAAeX,GAClB;AACrB,YAAMY,IAAoBN,EAAqB,SACzCE,IAAuBC,EAAiBC,CAAM;AACpD,MAAIV,IACFO,EAAK,OAAO,IACHC,MAAyB,UAAUE,GAAQ,YAAY,SAChEH,EAAK,SAAS,IAIZA,EADEI,KADgBC,MAAsBJ,IAEnC,kBAEA,SAFe,GAKxBH,EAAe,UAAUL;AAAA,IAC3B;AAAA,EACF,GAAG,CAACA,GAASO,CAAI,CAAC,GAClB3H,EAAgB,MAAM;AACpB,QAAIvI,GAAM;AACR,UAAIwQ;AACJ,YAAMC,IAAczQ,EAAK,cAAc,eAAe,QAChD0Q,IAAqB,CAAChR,MAAU;AAEpC,cAAMiR,IADuBP,EAAiBL,EAAU,OAAO,EACf,SAASrQ,EAAM,aAAa;AAC5E,YAAIA,EAAM,WAAWM,KAAQ2Q,MAC3BT,EAAK,eAAe,GAChB,CAACF,EAAe,UAAS;AAC3B,gBAAMY,IAAkB5Q,EAAK,MAAM;AACnC,UAAAA,EAAK,MAAM,oBAAoB,YAC/BwQ,IAAYC,EAAY,WAAW,MAAM;AACvC,YAAIzQ,EAAK,MAAM,sBAAsB,eACnCA,EAAK,MAAM,oBAAoB4Q;AAAA,UAEnC,CAAC;AAAA,QACH;AAAA,MAEJ,GACMC,IAAuB,CAACnR,MAAU;AACtC,QAAIA,EAAM,WAAWM,MACnBiQ,EAAqB,UAAUG,EAAiBL,EAAU,OAAO;AAAA,MAErE;AACA,aAAA/P,EAAK,iBAAiB,kBAAkB6Q,CAAoB,GAC5D7Q,EAAK,iBAAiB,mBAAmB0Q,CAAkB,GAC3D1Q,EAAK,iBAAiB,gBAAgB0Q,CAAkB,GACjD,MAAM;AACX,QAAAD,EAAY,aAAaD,CAAS,GAClCxQ,EAAK,oBAAoB,kBAAkB6Q,CAAoB,GAC/D7Q,EAAK,oBAAoB,mBAAmB0Q,CAAkB,GAC9D1Q,EAAK,oBAAoB,gBAAgB0Q,CAAkB;AAAA,MAC7D;AAAA,IACF;AACE,MAAAR,EAAK,eAAe;AAAA,EAExB,GAAG,CAAClQ,GAAMkQ,CAAI,CAAC,GACR;AAAA,IACL,WAAW,CAAC,WAAW,kBAAkB,EAAE,SAAST,CAAK;AAAA,IACzD,KAAKK,EAAO,YAAY,CAAC7J,MAAU;AACjC,MAAIA,MAAO8J,EAAU,UAAU,iBAAiB9J,CAAK,IACrDH,EAAQG,CAAK;AAAA,IACf,GAAG,CAAA,CAAE;AAAA,EACT;AACA;AACA,SAASmK,EAAiBC,GAAQ;AAChC,SAAOA,GAAQ,iBAAiB;AAClC;AACA,SAASpN,GAAcW,GAAS;AAC9B,MAAIC,IAAS,OAAO,yBAAyBD,EAAQ,OAAO,KAAK,GAAG,KAChEE,IAAUD,KAAU,oBAAoBA,KAAUA,EAAO;AAC7D,SAAIC,IACKF,EAAQ,OAEjBC,IAAS,OAAO,yBAAyBD,GAAS,KAAK,GAAG,KAC1DE,IAAUD,KAAU,oBAAoBA,KAAUA,EAAO,gBACrDC,IACKF,EAAQ,MAAM,MAEhBA,EAAQ,MAAM,OAAOA,EAAQ;AACtC;ACjIA,SAASkN,GAAqB;AAAA,EAC5B,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC,IAAW,MAAM;AAAA,EACjB;AACF,GAAG;AACD,QAAM,CAACC,GAAkBC,CAAmB,IAAIC,GAAqB,EAAE,aAAAJ,GAAa,UAAAC,GAAU,GACxFI,IAAeN,MAAS,QACxBlR,IAAQwR,IAAeN,IAAOG,GAC9BI,IAAe7M,EAAewM,CAAQ,GACtCM,IAAWjR,EAAM;AAAA,IACrB,CAACkR,MAAc;AACb,UAAIH,GAAc;AAEhB,cAAMI,IAAS,OAAOD,KAAc,aADrBA,EACyCT,CAAI,IAAIS;AAChE,QAAIC,MAAWV,KAAMO,EAAaG,CAAM;AAAA,MAC1C;AACE,QAAAN,EAAoBK,CAAS;AAAA,IAEjC;AAAA,IACA,CAACH,GAAcN,GAAMI,GAAqBG,CAAY;AAAA,EAC1D;AACE,SAAO,CAACzR,GAAO0R,CAAQ;AACzB;AACA,SAASH,GAAqB;AAAA,EAC5B,aAAAJ;AAAA,EACA,UAAAC;AACF,GAAG;AACD,QAAMS,IAAoBpR,EAAM,SAAS0Q,CAAW,GAC9C,CAACnR,CAAK,IAAI6R,GACVC,IAAerR,EAAM,OAAOT,CAAK,GACjCyR,IAAe7M,EAAewM,CAAQ;AAC5C,SAAA3Q,EAAM,UAAU,MAAM;AACpB,IAAIqR,EAAa,YAAY9R,MAC3ByR,EAAazR,CAAK,GAClB8R,EAAa,UAAU9R;AAAA,EAE3B,GAAG,CAACA,GAAO8R,GAAcL,CAAY,CAAC,GAC/BI;AACT;ACtCA,IAAIjJ,KAAO,kBACPmJ,KAAiBtR,EAAM;AAAA,EACzB,CAACW,GAAOsB,MACiB,gBAAAjB;AAAA,IACrB0C,EAAU;AAAA,IACV;AAAA,MACE,GAAG/C;AAAA,MACH,KAAKsB;AAAA,MACL,OAAO;AAAA;AAAA,QAEL,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,MAAM;AAAA,QACN,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,GAAGtB,EAAM;AAAA,MACnB;AAAA,IACA;AAAA,EACA;AAEA;AACA2Q,GAAe,cAAcnJ;AAC7B,IAAIK,KAAO8I,ICbP,CAACC,CAAwC,IAAItR,GAAmB,WAAW;AAAA,EAC7EkJ;AACF,CAAC,GACGqI,IAAiBrI,GAAiB,GAClCsI,KAAgB,mBAChBC,KAAyB,KACzBC,IAAe,gBACf,CAACC,IAAgCC,EAAyB,IAAIN,EAAqBE,EAAa,GAChGK,KAAkB,CAACnR,MAAU;AAC/B,QAAM;AAAA,IACJ,gBAAAoR;AAAA,IACA,eAAAC,IAAgBN;AAAA,IAChB,mBAAAO,IAAoB;AAAA,IACpB,yBAAAC,IAA0B;AAAA,IAC1B,UAAArR;AAAA,EACJ,IAAMF,GACE,CAACwR,GAAeC,CAAgB,IAAIpS,EAAM,SAAS,EAAI,GACvDqS,IAAwBrS,EAAM,OAAO,EAAK,GAC1CsS,IAAoBtS,EAAM,OAAO,CAAC;AACxC,SAAAA,EAAM,UAAU,MAAM;AACpB,UAAMuS,IAAiBD,EAAkB;AACzC,WAAO,MAAM,OAAO,aAAaC,CAAc;AAAA,EACjD,GAAG,CAAA,CAAE,GACkB,gBAAAvR;AAAA,IACrB4Q;AAAA,IACA;AAAA,MACE,OAAOG;AAAA,MACP,eAAAI;AAAA,MACA,eAAAH;AAAA,MACA,QAAQhS,EAAM,YAAY,MAAM;AAC9B,eAAO,aAAasS,EAAkB,OAAO,GAC7CF,EAAiB,EAAK;AAAA,MACxB,GAAG,CAAA,CAAE;AAAA,MACL,SAASpS,EAAM,YAAY,MAAM;AAC/B,eAAO,aAAasS,EAAkB,OAAO,GAC7CA,EAAkB,UAAU,OAAO;AAAA,UACjC,MAAMF,EAAiB,EAAI;AAAA,UAC3BH;AAAA,QACV;AAAA,MACM,GAAG,CAACA,CAAiB,CAAC;AAAA,MACtB,uBAAAI;AAAA,MACA,0BAA0BrS,EAAM,YAAY,CAACwS,MAAc;AACzD,QAAAH,EAAsB,UAAUG;AAAA,MAClC,GAAG,CAAA,CAAE;AAAA,MACL,yBAAAN;AAAA,MACA,UAAArR;AAAA,IACN;AAAA,EACA;AACA;AACAiR,GAAgB,cAAcL;AAC9B,IAAIgB,IAAe,WACf,CAACC,IAAwBC,CAAiB,IAAIpB,EAAqBkB,CAAY,GAC/EG,KAAU,CAACjS,MAAU;AACvB,QAAM;AAAA,IACJ,gBAAAoR;AAAA,IACA,UAAAlR;AAAA,IACA,MAAMgS;AAAA,IACN,aAAAC,IAAc;AAAA,IACd,cAAAC;AAAA,IACA,yBAAyBC;AAAA,IACzB,eAAeC;AAAA,EACnB,IAAMtS,GACEuS,IAAkBrB,GAA0BY,GAAc9R,EAAM,cAAc,GAC9EwS,IAAc3B,EAAeO,CAAc,GAC3C,CAACqB,GAASC,CAAU,IAAIrT,EAAM,SAAS,IAAI,GAC3CsT,IAAYzL,GAAK,GACjB0L,IAAevT,EAAM,OAAO,CAAC,GAC7BkS,IAA0Bc,KAA+BE,EAAgB,yBACzElB,IAAgBiB,KAAqBC,EAAgB,eACrDM,IAAoBxT,EAAM,OAAO,EAAK,GACtC,CAACyT,IAAO,IAAOC,CAAO,IAAIlD,GAAqB;AAAA,IACnD,MAAMqC;AAAA,IACN,aAAaC;AAAA,IACb,UAAU,CAACa,MAAU;AACnB,MAAIA,KACFT,EAAgB,OAAM,GACtB,SAAS,cAAc,IAAI,YAAYvB,CAAY,CAAC,KAEpDuB,EAAgB,QAAO,GAEzBH,IAAeY,CAAK;AAAA,IACtB;AAAA,EACJ,CAAG,GACKC,IAAiB5T,EAAM,QAAQ,MAC5ByT,IAAOD,EAAkB,UAAU,iBAAiB,iBAAiB,UAC3E,CAACC,CAAI,CAAC,GACHI,IAAa7T,EAAM,YAAY,MAAM;AACzC,WAAO,aAAauT,EAAa,OAAO,GACxCA,EAAa,UAAU,GACvBC,EAAkB,UAAU,IAC5BE,EAAQ,EAAI;AAAA,EACd,GAAG,CAACA,CAAO,CAAC,GACNI,IAAc9T,EAAM,YAAY,MAAM;AAC1C,WAAO,aAAauT,EAAa,OAAO,GACxCA,EAAa,UAAU,GACvBG,EAAQ,EAAK;AAAA,EACf,GAAG,CAACA,CAAO,CAAC,GACNK,IAAoB/T,EAAM,YAAY,MAAM;AAChD,WAAO,aAAauT,EAAa,OAAO,GACxCA,EAAa,UAAU,OAAO,WAAW,MAAM;AAC7C,MAAAC,EAAkB,UAAU,IAC5BE,EAAQ,EAAI,GACZH,EAAa,UAAU;AAAA,IACzB,GAAGvB,CAAa;AAAA,EAClB,GAAG,CAACA,GAAe0B,CAAO,CAAC;AAC3B,SAAA1T,EAAM,UAAU,MACP,MAAM;AACX,IAAIuT,EAAa,YACf,OAAO,aAAaA,EAAa,OAAO,GACxCA,EAAa,UAAU;AAAA,EAE3B,GACC,CAAA,CAAE,GACkB,gBAAAvS,EAAIgT,IAAsB,EAAE,GAAGb,GAAa,UAA0B,gBAAAnS;AAAA,IAC3F0R;AAAA,IACA;AAAA,MACE,OAAOX;AAAA,MACP,WAAAuB;AAAA,MACA,MAAAG;AAAA,MACA,gBAAAG;AAAA,MACA,SAAAR;AAAA,MACA,iBAAiBC;AAAA,MACjB,gBAAgBrT,EAAM,YAAY,MAAM;AACtC,QAAIkT,EAAgB,gBAAea,EAAiB,IAC/CF,EAAU;AAAA,MACjB,GAAG,CAACX,EAAgB,eAAea,GAAmBF,CAAU,CAAC;AAAA,MACjE,gBAAgB7T,EAAM,YAAY,MAAM;AACtC,QAAIkS,IACF4B,EAAW,KAEX,OAAO,aAAaP,EAAa,OAAO,GACxCA,EAAa,UAAU;AAAA,MAE3B,GAAG,CAACO,GAAa5B,CAAuB,CAAC;AAAA,MACzC,QAAQ2B;AAAA,MACR,SAASC;AAAA,MACT,yBAAA5B;AAAA,MACA,UAAArR;AAAA,IACN;AAAA,EACA,GAAK;AACL;AACA+R,GAAQ,cAAcH;AACtB,IAAIwB,IAAe,kBACfC,KAAiBlU,EAAM;AAAA,EACzB,CAACW,GAAOsB,MAAiB;AACvB,UAAM,EAAE,gBAAA8P,GAAgB,GAAGoC,EAAY,IAAKxT,GACtCG,IAAU6R,EAAkBsB,GAAclC,CAAc,GACxDmB,IAAkBrB,GAA0BoC,GAAclC,CAAc,GACxEoB,IAAc3B,EAAeO,CAAc,GAC3CzS,IAAMU,EAAM,OAAO,IAAI,GACvB0F,IAAe3F,EAAgBkC,GAAc3C,GAAKwB,EAAQ,eAAe,GACzEsT,IAAmBpU,EAAM,OAAO,EAAK,GACrCqU,IAA0BrU,EAAM,OAAO,EAAK,GAC5CsU,IAAkBtU,EAAM,YAAY,MAAMoU,EAAiB,UAAU,IAAO,EAAE;AACpF,WAAApU,EAAM,UAAU,MACP,MAAM,SAAS,oBAAoB,aAAasU,CAAe,GACrE,CAACA,CAAe,CAAC,GACG,gBAAAtT,EAAIuT,IAAwB,EAAE,SAAS,IAAM,GAAGpB,GAAa,UAA0B,gBAAAnS;AAAA,MAC5G0C,EAAU;AAAA,MACV;AAAA,QACE,oBAAoB5C,EAAQ,OAAOA,EAAQ,YAAY;AAAA,QACvD,cAAcA,EAAQ;AAAA,QACtB,GAAGqT;AAAA,QACH,KAAKzO;AAAA,QACL,eAAe1G,EAAqB2B,EAAM,eAAe,CAACvB,MAAU;AAClE,UAAIA,EAAM,gBAAgB,WACtB,CAACiV,EAAwB,WAAW,CAACnB,EAAgB,sBAAsB,YAC7EpS,EAAQ,eAAc,GACtBuT,EAAwB,UAAU;AAAA,QAEtC,CAAC;AAAA,QACD,gBAAgBrV,EAAqB2B,EAAM,gBAAgB,MAAM;AAC/D,UAAAG,EAAQ,eAAc,GACtBuT,EAAwB,UAAU;AAAA,QACpC,CAAC;AAAA,QACD,eAAerV,EAAqB2B,EAAM,eAAe,MAAM;AAC7D,UAAAyT,EAAiB,UAAU,IAC3B,SAAS,iBAAiB,aAAaE,GAAiB,EAAE,MAAM,IAAM;AAAA,QACxE,CAAC;AAAA,QACD,SAAStV,EAAqB2B,EAAM,SAAS,MAAM;AACjD,UAAKyT,EAAiB,WAAStT,EAAQ,OAAM;AAAA,QAC/C,CAAC;AAAA,QACD,QAAQ9B,EAAqB2B,EAAM,QAAQG,EAAQ,OAAO;AAAA,QAC1D,SAAS9B,EAAqB2B,EAAM,SAASG,EAAQ,OAAO;AAAA,MACpE;AAAA,IACA,GAAO;AAAA,EACL;AACF;AACAoT,GAAe,cAAcD;AAC7B,IAAIxF,KAAc,iBACd,CAAC+F,IAAgBC,EAAgB,IAAIlD,EAAqB9C,IAAa;AAAA,EACzE,YAAY;AACd,CAAC,GACGiG,KAAgB,CAAC/T,MAAU;AAC7B,QAAM,EAAE,gBAAAoR,GAAgB,YAAA4C,GAAY,UAAA9T,GAAU,WAAAkO,EAAS,IAAKpO,GACtDG,IAAU6R,EAAkBlE,IAAasD,CAAc;AAC7D,SAAuB,gBAAA/Q,EAAIwT,IAAgB,EAAE,OAAOzC,GAAgB,YAAA4C,GAAY,UAA0B,gBAAA3T,EAAIoO,IAAU,EAAE,SAASuF,KAAc7T,EAAQ,MAAM,UAA0B,gBAAAE,EAAI4T,IAAiB,EAAE,SAAS,IAAM,WAAA7F,GAAW,UAAAlO,GAAU,EAAC,CAAE,EAAC,CAAE;AAC5P;AACA6T,GAAc,cAAcjG;AAC5B,IAAI3E,IAAe,kBACf+K,KAAiB7U,EAAM;AAAA,EACzB,CAACW,GAAOsB,MAAiB;AACvB,UAAM6S,IAAgBL,GAAiB3K,GAAcnJ,EAAM,cAAc,GACnE,EAAE,YAAAgU,IAAaG,EAAc,YAAY,MAAA5K,IAAO,OAAO,GAAGY,EAAY,IAAKnK,GAC3EG,IAAU6R,EAAkB7I,GAAcnJ,EAAM,cAAc;AACpE,WAAuB,gBAAAK,EAAIoO,IAAU,EAAE,SAASuF,KAAc7T,EAAQ,MAAM,UAAUA,EAAQ,0BAA0C,gBAAAE,EAAI+T,IAAoB,EAAE,MAAA7K,GAAM,GAAGY,GAAc,KAAK7I,GAAc,IAAoB,gBAAAjB,EAAIgU,IAAyB,EAAE,MAAA9K,GAAM,GAAGY,GAAc,KAAK7I,EAAY,CAAE,EAAC,CAAE;AAAA,EAC9S;AACF,GACI+S,KAA0BhV,EAAM,WAAW,CAACW,GAAOsB,MAAiB;AACtE,QAAMnB,IAAU6R,EAAkB7I,GAAcnJ,EAAM,cAAc,GAC9DuS,IAAkBrB,GAA0B/H,GAAcnJ,EAAM,cAAc,GAC9ErB,IAAMU,EAAM,OAAO,IAAI,GACvB0F,IAAe3F,EAAgBkC,GAAc3C,CAAG,GAChD,CAAC2V,GAAkBC,CAAmB,IAAIlV,EAAM,SAAS,IAAI,GAC7D,EAAE,SAAAoT,GAAS,SAAA+B,EAAO,IAAKrU,GACvBiK,IAAUzL,EAAI,SACd,EAAE,0BAAA8V,EAAwB,IAAKlC,GAC/BmC,IAAwBrV,EAAM,YAAY,MAAM;AACpD,IAAAkV,EAAoB,IAAI,GACxBE,EAAyB,EAAK;AAAA,EAChC,GAAG,CAACA,CAAwB,CAAC,GACvBE,IAAwBtV,EAAM;AAAA,IAClC,CAACZ,GAAOmW,MAAgB;AACtB,YAAMC,IAAgBpW,EAAM,eACtBqW,IAAY,EAAE,GAAGrW,EAAM,SAAS,GAAGA,EAAM,QAAO,GAChDsW,IAAWC,GAAoBF,GAAWD,EAAc,sBAAqB,CAAE,GAC/EI,IAAmBC,GAAoBJ,GAAWC,CAAQ,GAC1DI,IAAoBC,GAAkBR,EAAY,sBAAqB,CAAE,GACzES,IAAYC,GAAQ,CAAC,GAAGL,GAAkB,GAAGE,CAAiB,CAAC;AACrE,MAAAZ,EAAoBc,CAAS,GAC7BZ,EAAyB,EAAI;AAAA,IAC/B;AAAA,IACA,CAACA,CAAwB;AAAA,EAC7B;AACE,SAAApV,EAAM,UAAU,MACP,MAAMqV,EAAqB,GACjC,CAACA,CAAqB,CAAC,GAC1BrV,EAAM,UAAU,MAAM;AACpB,QAAIoT,KAAWrI,GAAS;AACtB,YAAMmL,IAAqB,CAAC9W,MAAUkW,EAAsBlW,GAAO2L,CAAO,GACpEoL,IAAqB,CAAC/W,MAAUkW,EAAsBlW,GAAOgU,CAAO;AAC1E,aAAAA,EAAQ,iBAAiB,gBAAgB8C,CAAkB,GAC3DnL,EAAQ,iBAAiB,gBAAgBoL,CAAkB,GACpD,MAAM;AACX,QAAA/C,EAAQ,oBAAoB,gBAAgB8C,CAAkB,GAC9DnL,EAAQ,oBAAoB,gBAAgBoL,CAAkB;AAAA,MAChE;AAAA,IACF;AAAA,EACF,GAAG,CAAC/C,GAASrI,GAASuK,GAAuBD,CAAqB,CAAC,GACnErV,EAAM,UAAU,MAAM;AACpB,QAAIiV,GAAkB;AACpB,YAAMmB,IAA0B,CAAChX,MAAU;AACzC,cAAM6E,IAAS7E,EAAM,QACfiX,IAAkB,EAAE,GAAGjX,EAAM,SAAS,GAAGA,EAAM,QAAO,GACtDkX,IAAmBlD,GAAS,SAASnP,CAAM,KAAK8G,GAAS,SAAS9G,CAAM,GACxEsS,IAA4B,CAACC,GAAiBH,GAAiBpB,CAAgB;AACrF,QAAIqB,IACFjB,EAAqB,IACZkB,MACTlB,EAAqB,GACrBF,EAAO;AAAA,MAEX;AACA,sBAAS,iBAAiB,eAAeiB,CAAuB,GACzD,MAAM,SAAS,oBAAoB,eAAeA,CAAuB;AAAA,IAClF;AAAA,EACF,GAAG,CAAChD,GAASrI,GAASkK,GAAkBE,GAASE,CAAqB,CAAC,GAChD,gBAAArU,EAAI+T,IAAoB,EAAE,GAAGpU,GAAO,KAAK+E,GAAc;AAChF,CAAC,GACG,CAAC+Q,IAAsCC,EAA+B,IAAInF,EAAqBkB,GAAc,EAAE,UAAU,IAAO,GAChIsC,KAAqB/U,EAAM;AAAA,EAC7B,CAACW,GAAOsB,MAAiB;AACvB,UAAM;AAAA,MACJ,gBAAA8P;AAAA,MACA,UAAAlR;AAAA,MACA,cAAc8V;AAAA,MACd,iBAAAlS;AAAA,MACA,sBAAAU;AAAA,MACA,GAAG2F;AAAA,IACT,IAAQnK,GACEG,IAAU6R,EAAkB7I,GAAciI,CAAc,GACxDoB,IAAc3B,EAAeO,CAAc,GAC3C,EAAE,SAAAoD,EAAO,IAAKrU;AACpB,WAAAd,EAAM,UAAU,OACd,SAAS,iBAAiB2R,GAAcwD,CAAO,GACxC,MAAM,SAAS,oBAAoBxD,GAAcwD,CAAO,IAC9D,CAACA,CAAO,CAAC,GACZnV,EAAM,UAAU,MAAM;AACpB,UAAIc,EAAQ,SAAS;AACnB,cAAM8V,IAAe,CAACxX,MAAU;AAE9B,UADeA,EAAM,QACT,SAAS0B,EAAQ,OAAO,KAAGqU,EAAO;AAAA,QAChD;AACA,sBAAO,iBAAiB,UAAUyB,GAAc,EAAE,SAAS,IAAM,GAC1D,MAAM,OAAO,oBAAoB,UAAUA,GAAc,EAAE,SAAS,IAAM;AAAA,MACnF;AAAA,IACF,GAAG,CAAC9V,EAAQ,SAASqU,CAAO,CAAC,GACN,gBAAAnU;AAAA,MACrBiE;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,6BAA6B;AAAA,QAC7B,iBAAAR;AAAA,QACA,sBAAAU;AAAA,QACA,gBAAgB,CAAC/F,MAAUA,EAAM,eAAc;AAAA,QAC/C,WAAW+V;AAAA,QACX,UAA0B,gBAAA0B;AAAA,UACxBC;AAAAA,UACA;AAAA,YACE,cAAchW,EAAQ;AAAA,YACtB,GAAGqS;AAAA,YACH,GAAGrI;AAAA,YACH,KAAK7I;AAAA,YACL,OAAO;AAAA,cACL,GAAG6I,EAAa;AAAA,cAGd,4CAA4C;AAAA,cAC5C,2CAA2C;AAAA,cAC3C,4CAA4C;AAAA,cAC5C,iCAAiC;AAAA,cACjC,kCAAkC;AAAA,YAElD;AAAA,YACY,UAAU;AAAA,cACQ,gBAAA9J,EAAI8B,IAAW,EAAE,UAAAjC,GAAU;AAAA,cAC3B,gBAAAG,EAAIyV,IAAsC,EAAE,OAAO1E,GAAgB,UAAU,IAAM,UAA0B,gBAAA/Q,EAAI+V,IAA8B,EAAE,IAAIjW,EAAQ,WAAW,MAAM,WAAW,UAAU6V,KAAa9V,EAAQ,CAAE,EAAC,CAAE;AAAA,YAC3P;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACE;AACF;AACAgU,GAAe,cAAc/K;AAC7B,IAAI2D,KAAa,gBACbuJ,KAAehX,EAAM;AAAA,EACvB,CAACW,GAAOsB,MAAiB;AACvB,UAAM,EAAE,gBAAA8P,GAAgB,GAAGxJ,EAAU,IAAK5H,GACpCwS,IAAc3B,EAAeO,CAAc;AAKjD,WAJqC2E;AAAA,MACnCjJ;AAAA,MACAsE;AAAA,IACN,EACwC,WAAW,OAAuB,gBAAA/Q,EAAIiW,IAAuB,EAAE,GAAG9D,GAAa,GAAG5K,GAAY,KAAKtG,EAAY,CAAE;AAAA,EACvJ;AACF;AACA+U,GAAa,cAAcvJ;AAC3B,SAASkI,GAAoBuB,GAAOC,GAAM;AACxC,QAAMC,IAAM,KAAK,IAAID,EAAK,MAAMD,EAAM,CAAC,GACjCG,IAAS,KAAK,IAAIF,EAAK,SAASD,EAAM,CAAC,GACvCI,IAAQ,KAAK,IAAIH,EAAK,QAAQD,EAAM,CAAC,GACrCK,IAAO,KAAK,IAAIJ,EAAK,OAAOD,EAAM,CAAC;AACzC,UAAQ,KAAK,IAAIE,GAAKC,GAAQC,GAAOC,CAAI,GAAC;AAAA,IACxC,KAAKA;AACH,aAAO;AAAA,IACT,KAAKD;AACH,aAAO;AAAA,IACT,KAAKF;AACH,aAAO;AAAA,IACT,KAAKC;AACH,aAAO;AAAA,IACT;AACE,YAAM,IAAI,MAAM,aAAa;AAAA,EACnC;AACA;AACA,SAASxB,GAAoBJ,GAAWC,GAAU8B,IAAU,GAAG;AAC7D,QAAM5B,IAAmB,CAAA;AACzB,UAAQF,GAAQ;AAAA,IACd,KAAK;AACH,MAAAE,EAAiB;AAAA,QACf,EAAE,GAAGH,EAAU,IAAI+B,GAAS,GAAG/B,EAAU,IAAI+B,EAAO;AAAA,QACpD,EAAE,GAAG/B,EAAU,IAAI+B,GAAS,GAAG/B,EAAU,IAAI+B,EAAO;AAAA,MAC5D;AACM;AAAA,IACF,KAAK;AACH,MAAA5B,EAAiB;AAAA,QACf,EAAE,GAAGH,EAAU,IAAI+B,GAAS,GAAG/B,EAAU,IAAI+B,EAAO;AAAA,QACpD,EAAE,GAAG/B,EAAU,IAAI+B,GAAS,GAAG/B,EAAU,IAAI+B,EAAO;AAAA,MAC5D;AACM;AAAA,IACF,KAAK;AACH,MAAA5B,EAAiB;AAAA,QACf,EAAE,GAAGH,EAAU,IAAI+B,GAAS,GAAG/B,EAAU,IAAI+B,EAAO;AAAA,QACpD,EAAE,GAAG/B,EAAU,IAAI+B,GAAS,GAAG/B,EAAU,IAAI+B,EAAO;AAAA,MAC5D;AACM;AAAA,IACF,KAAK;AACH,MAAA5B,EAAiB;AAAA,QACf,EAAE,GAAGH,EAAU,IAAI+B,GAAS,GAAG/B,EAAU,IAAI+B,EAAO;AAAA,QACpD,EAAE,GAAG/B,EAAU,IAAI+B,GAAS,GAAG/B,EAAU,IAAI+B,EAAO;AAAA,MAC5D;AACM;AAAA,EACN;AACE,SAAO5B;AACT;AACA,SAASG,GAAkBoB,GAAM;AAC/B,QAAM,EAAE,KAAAC,GAAK,OAAAE,GAAO,QAAAD,GAAQ,MAAAE,EAAI,IAAKJ;AACrC,SAAO;AAAA,IACL,EAAE,GAAGI,GAAM,GAAGH,EAAG;AAAA,IACjB,EAAE,GAAGE,GAAO,GAAGF,EAAG;AAAA,IAClB,EAAE,GAAGE,GAAO,GAAGD,EAAM;AAAA,IACrB,EAAE,GAAGE,GAAM,GAAGF,EAAM;AAAA,EACxB;AACA;AACA,SAASb,GAAiBU,GAAOO,GAAS;AACxC,QAAM,EAAE,GAAApJ,GAAG,GAAAqJ,EAAC,IAAKR;AACjB,MAAIS,IAAS;AACb,WAAS7X,IAAI,GAAG8X,IAAIH,EAAQ,SAAS,GAAG3X,IAAI2X,EAAQ,QAAQG,IAAI9X,KAAK;AACnE,UAAM+X,IAAKJ,EAAQ3X,CAAC,EAAE,GAChBgY,IAAKL,EAAQ3X,CAAC,EAAE,GAChBiY,IAAKN,EAAQG,CAAC,EAAE,GAChBI,IAAKP,EAAQG,CAAC,EAAE;AAEtB,IADkBE,IAAKJ,KAAMM,IAAKN,KAAKrJ,KAAK0J,IAAKF,MAAOH,IAAII,MAAOE,IAAKF,KAAMD,MAC/DF,IAAS,CAACA;AAAA,EAC3B;AACA,SAAOA;AACT;AACA,SAAS1B,GAAQgC,GAAQ;AACvB,QAAMC,IAAYD,EAAO,MAAK;AAC9B,SAAAC,EAAU,KAAK,CAACC,GAAGC,MACbD,EAAE,IAAIC,EAAE,IAAU,KACbD,EAAE,IAAIC,EAAE,IAAU,IAClBD,EAAE,IAAIC,EAAE,IAAU,KAClBD,EAAE,IAAIC,EAAE,IAAU,IACf,CACb,GACMC,GAAiBH,CAAS;AACnC;AACA,SAASG,GAAiBJ,GAAQ;AAChC,MAAIA,EAAO,UAAU,EAAG,QAAOA,EAAO,MAAK;AAC3C,QAAMK,IAAY,CAAA;AAClB,WAASxY,IAAI,GAAGA,IAAImY,EAAO,QAAQnY,KAAK;AACtC,UAAMyY,IAAIN,EAAOnY,CAAC;AAClB,WAAOwY,EAAU,UAAU,KAAG;AAC5B,YAAME,IAAIF,EAAUA,EAAU,SAAS,CAAC,GAClCG,IAAIH,EAAUA,EAAU,SAAS,CAAC;AACxC,WAAKE,EAAE,IAAIC,EAAE,MAAMF,EAAE,IAAIE,EAAE,OAAOD,EAAE,IAAIC,EAAE,MAAMF,EAAE,IAAIE,EAAE,GAAI,CAAAH,EAAU,IAAG;AAAA,UACpE;AAAA,IACP;AACA,IAAAA,EAAU,KAAKC,CAAC;AAAA,EAClB;AACA,EAAAD,EAAU,IAAG;AACb,QAAMI,IAAY,CAAA;AAClB,WAAS5Y,IAAImY,EAAO,SAAS,GAAGnY,KAAK,GAAGA,KAAK;AAC3C,UAAMyY,IAAIN,EAAOnY,CAAC;AAClB,WAAO4Y,EAAU,UAAU,KAAG;AAC5B,YAAMF,IAAIE,EAAUA,EAAU,SAAS,CAAC,GAClCD,IAAIC,EAAUA,EAAU,SAAS,CAAC;AACxC,WAAKF,EAAE,IAAIC,EAAE,MAAMF,EAAE,IAAIE,EAAE,OAAOD,EAAE,IAAIC,EAAE,MAAMF,EAAE,IAAIE,EAAE,GAAI,CAAAC,EAAU,IAAG;AAAA,UACpE;AAAA,IACP;AACA,IAAAA,EAAU,KAAKH,CAAC;AAAA,EAClB;AAEA,SADAG,EAAU,IAAG,GACTJ,EAAU,WAAW,KAAKI,EAAU,WAAW,KAAKJ,EAAU,CAAC,EAAE,MAAMI,EAAU,CAAC,EAAE,KAAKJ,EAAU,CAAC,EAAE,MAAMI,EAAU,CAAC,EAAE,IACpHJ,IAEAA,EAAU,OAAOI,CAAS;AAErC;AACA,IAAIhY,KAAWoR,IACX6G,KAAQ/F,IACRgG,KAAU1E,IACVxF,KAASgG,IACTmE,KAAWhE,IACXiE,KAAS9B;;;;;;;;;;;;GCxdP+B,IAAKC,GAAE,KAAKjJ,EAAM,GAEXkJ,KAAmB;AAAA,EAC9B,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AACT,GAIaC,KAAgB;AAAA,EAC3B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,KAAK;AACP,GAwBMC,IAAgB,kBAETvG,KAAUwG;AAAA,EACrB,CACE;AAAA,IACE,CAAC,gBAAgBC;AAAA,IACjB,YAAAC,IAAa;AAAA,IACb,UAAAzY;AAAA,IACA,WAAA0Y;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,UAAAC,IAAWT,GAAiB;AAAA,IAC5B,OAAA7O,IAAQ8O,GAAc;AAAA,IACtB,kBAAAS;AAAA,IACA,gBAAAC;AAAA,IACA,GAAGjZ;AAAA,EAAA,GAELrB,MACG;AACH,UAAM,CAACua,GAAQC,CAAS,IAAIC,GAAS,EAAK,GACpCC,IAAUjB;AAAA,MACdQ;AAAA,MACAJ;AAAA,MACA,GAAGA,CAAa,YAAYM,IAAW,cAAc,EAAE;AAAA,IAAA,GAEnDQ,IACJ,gBAAAjZ;AAAA,MAACkZ;AAAA,MAAA;AAAA,QACC,KAAA5a;AAAA,QACA,cAAYqa;AAAA,QACZ,iBAAeE;AAAA,QACf,SAASM,GAAe;AAAA,QACxB,UAAAV;AAAA,QACA,UAAQ;AAAA,QACR,eAAa,GAAGJ,CAAU;AAAA,QAC1B,MAAMC;AAAA,QAEN,UAAA,gBAAAtY,EAACoZ,IAAA,EAAS,MAAK,KAAA,CAAK;AAAA,MAAA;AAAA,IAAA;AAIxB,WACE,gBAAApZ,EAAC,SAAI,eAAaqY,GAAY,WAAWW,GACvC,UAAA,gBAAAhZ,EAACqZ,IAAA,EAAsB,eAAe,SAASC,EAAuB,GACpE,UAAA,gBAAAzD,EAAC0D,IAAA,EAAkB,MAAMV,GAAQ,cAAcC,GAAY,GAAGnZ,GAC5D,UAAA;AAAA,MAAA,gBAAAK;AAAA,QAACwZ;AAAAA,QAAA;AAAA,UACC,SAAO;AAAA,UACP,SAAS,CAACC,MAAM;AACd,YAAAA,EAAE,eAAA,GACFX,EAAU,EAAI;AAAA,UAChB;AAAA,UAEC,UAAAY,GAAS,MAAMd,CAAc,MAAM,IAAIK,IAAgBL;AAAA,QAAA;AAAA,MAAA;AAAA,MAE1D,gBAAA5Y,EAAC2Z,IAAA,EACC,UAAA,gBAAA9D;AAAA,QAAC+D;AAAAA,QAAA;AAAA,UACC,MAAMlB;AAAA,UACN,OAAAtP;AAAA,UACA,WAAW2O;AAAA,YACTS;AAAA,YACA,GAAGL,CAAa;AAAA,YAChB,GAAGA,CAAa,qBAAqBM,IAAW,cAAc,EAAE;AAAA,UAAA;AAAA,UAElE,YAAY;AAAA,UACZ,eAAa,GAAGJ,CAAU;AAAA,UAEzB,UAAA;AAAA,YAAA,OAAOxY,KAAa,WACnB,gBAAAG;AAAA,cAAC6Z;AAAA,cAAA;AAAA,gBACC,SAASC,GAAiB;AAAA,gBAC1B,UAAU,CAACrB;AAAA,gBACX,eAAa,GAAGJ,CAAU;AAAA,gBAEzB,UAAAxY;AAAA,cAAA;AAAA,YAAA,IAGHA;AAAA,YAEF,gBAAAG;AAAA,cAAC+Z;AAAAA,cAAA;AAAA,gBACC,WAAWhC;AAAA,kBACT,GAAGI,CAAa;AAAA,kBAChB,GAAGA,CAAa,mBAAmBM,IAAW,cAAc,EAAE;AAAA,gBAAA;AAAA,cAChE;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA,EACF,CACF;AAAA,IAAA,EAAA,CACF,GACF,GACF;AAAA,EAEJ;AACF;AAEA7G,GAAQ,cAAc;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]}
|