@qualcomm-ui/core 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.txt +31 -0
- package/dist/accordion/accordion.api.d.ts +4 -0
- package/dist/accordion/accordion.api.d.ts.map +1 -0
- package/dist/accordion/accordion.machine.d.ts +4 -0
- package/dist/accordion/accordion.machine.d.ts.map +1 -0
- package/dist/accordion/accordion.props.d.ts +3 -0
- package/dist/accordion/accordion.props.d.ts.map +1 -0
- package/dist/accordion/accordion.types.d.ts +155 -0
- package/dist/accordion/accordion.types.d.ts.map +1 -0
- package/dist/accordion/index.cjs +2 -0
- package/dist/accordion/index.cjs.map +7 -0
- package/dist/accordion/index.d.ts +5 -0
- package/dist/accordion/index.d.ts.map +1 -0
- package/dist/accordion/index.js +2 -0
- package/dist/accordion/index.js.map +7 -0
- package/dist/accordion/internal/accordion.dom.d.ts +10 -0
- package/dist/accordion/internal/accordion.dom.d.ts.map +1 -0
- package/dist/accordion/internal/index.d.ts +2 -0
- package/dist/accordion/internal/index.d.ts.map +1 -0
- package/dist/action-group/action-group.d.ts +6 -0
- package/dist/action-group/action-group.d.ts.map +1 -0
- package/dist/action-group/index.cjs +2 -0
- package/dist/action-group/index.cjs.map +7 -0
- package/dist/action-group/index.d.ts +2 -0
- package/dist/action-group/index.d.ts.map +1 -0
- package/dist/action-group/index.js +2 -0
- package/dist/action-group/index.js.map +7 -0
- package/dist/avatar/avatar.api.d.ts +4 -0
- package/dist/avatar/avatar.api.d.ts.map +1 -0
- package/dist/avatar/avatar.machine.d.ts +4 -0
- package/dist/avatar/avatar.machine.d.ts.map +1 -0
- package/dist/avatar/avatar.props.d.ts +3 -0
- package/dist/avatar/avatar.props.d.ts.map +1 -0
- package/dist/avatar/avatar.types.d.ts +55 -0
- package/dist/avatar/avatar.types.d.ts.map +1 -0
- package/dist/avatar/index.cjs +2 -0
- package/dist/avatar/index.cjs.map +7 -0
- package/dist/avatar/index.d.ts +5 -0
- package/dist/avatar/index.d.ts.map +1 -0
- package/dist/avatar/index.js +2 -0
- package/dist/avatar/index.js.map +7 -0
- package/dist/avatar/internal/avatar.dom.d.ts +12 -0
- package/dist/avatar/internal/avatar.dom.d.ts.map +1 -0
- package/dist/avatar/internal/index.d.ts +2 -0
- package/dist/avatar/internal/index.d.ts.map +1 -0
- package/dist/checkbox/checkbox.api.d.ts +4 -0
- package/dist/checkbox/checkbox.api.d.ts.map +1 -0
- package/dist/checkbox/checkbox.machine.d.ts +4 -0
- package/dist/checkbox/checkbox.machine.d.ts.map +1 -0
- package/dist/checkbox/checkbox.props.d.ts +3 -0
- package/dist/checkbox/checkbox.props.d.ts.map +1 -0
- package/dist/checkbox/checkbox.types.d.ts +165 -0
- package/dist/checkbox/checkbox.types.d.ts.map +1 -0
- package/dist/checkbox/index.cjs +2 -0
- package/dist/checkbox/index.cjs.map +7 -0
- package/dist/checkbox/index.d.ts +5 -0
- package/dist/checkbox/index.d.ts.map +1 -0
- package/dist/checkbox/index.js +2 -0
- package/dist/checkbox/index.js.map +7 -0
- package/dist/checkbox/internal/checkbox.dom.d.ts +7 -0
- package/dist/checkbox/internal/checkbox.dom.d.ts.map +1 -0
- package/dist/checkbox/internal/index.d.ts +2 -0
- package/dist/checkbox/internal/index.d.ts.map +1 -0
- package/dist/collapsible/collapsible.api.d.ts +4 -0
- package/dist/collapsible/collapsible.api.d.ts.map +1 -0
- package/dist/collapsible/collapsible.machine.d.ts +4 -0
- package/dist/collapsible/collapsible.machine.d.ts.map +1 -0
- package/dist/collapsible/collapsible.props.d.ts +4 -0
- package/dist/collapsible/collapsible.props.d.ts.map +1 -0
- package/dist/collapsible/collapsible.types.d.ts +129 -0
- package/dist/collapsible/collapsible.types.d.ts.map +1 -0
- package/dist/collapsible/index.cjs +2 -0
- package/dist/collapsible/index.cjs.map +7 -0
- package/dist/collapsible/index.d.ts +5 -0
- package/dist/collapsible/index.d.ts.map +1 -0
- package/dist/collapsible/index.js +2 -0
- package/dist/collapsible/index.js.map +7 -0
- package/dist/collapsible/internal/collapsible.dom.d.ts +5 -0
- package/dist/collapsible/internal/collapsible.dom.d.ts.map +1 -0
- package/dist/collapsible/internal/index.d.ts +2 -0
- package/dist/collapsible/internal/index.d.ts.map +1 -0
- package/dist/combobox/combobox.api.d.ts +4 -0
- package/dist/combobox/combobox.api.d.ts.map +1 -0
- package/dist/combobox/combobox.collection.d.ts +4 -0
- package/dist/combobox/combobox.collection.d.ts.map +1 -0
- package/dist/combobox/combobox.machine.d.ts +4 -0
- package/dist/combobox/combobox.machine.d.ts.map +1 -0
- package/dist/combobox/combobox.props.d.ts +4 -0
- package/dist/combobox/combobox.props.d.ts.map +1 -0
- package/dist/combobox/combobox.types.d.ts +631 -0
- package/dist/combobox/combobox.types.d.ts.map +1 -0
- package/dist/combobox/index.cjs +2 -0
- package/dist/combobox/index.cjs.map +7 -0
- package/dist/combobox/index.d.ts +6 -0
- package/dist/combobox/index.d.ts.map +1 -0
- package/dist/combobox/index.js +2 -0
- package/dist/combobox/index.js.map +7 -0
- package/dist/combobox/internal/combobox.dom.d.ts +13 -0
- package/dist/combobox/internal/combobox.dom.d.ts.map +1 -0
- package/dist/combobox/internal/index.d.ts +2 -0
- package/dist/combobox/internal/index.d.ts.map +1 -0
- package/dist/dialog/dialog.api.d.ts +4 -0
- package/dist/dialog/dialog.api.d.ts.map +1 -0
- package/dist/dialog/dialog.machine.d.ts +4 -0
- package/dist/dialog/dialog.machine.d.ts.map +1 -0
- package/dist/dialog/dialog.props.d.ts +4 -0
- package/dist/dialog/dialog.props.d.ts.map +1 -0
- package/dist/dialog/dialog.types.d.ts +184 -0
- package/dist/dialog/dialog.types.d.ts.map +1 -0
- package/dist/dialog/index.cjs +2 -0
- package/dist/dialog/index.cjs.map +7 -0
- package/dist/dialog/index.d.ts +5 -0
- package/dist/dialog/index.d.ts.map +1 -0
- package/dist/dialog/index.js +2 -0
- package/dist/dialog/index.js.map +7 -0
- package/dist/dialog/internal/dialog.dom.d.ts +5 -0
- package/dist/dialog/internal/dialog.dom.d.ts.map +1 -0
- package/dist/dialog/internal/index.d.ts +2 -0
- package/dist/dialog/internal/index.d.ts.map +1 -0
- package/dist/dnd/dnd.types.d.ts +13 -0
- package/dist/dnd/dnd.types.d.ts.map +1 -0
- package/dist/dnd/index.cjs +2 -0
- package/dist/dnd/index.cjs.map +7 -0
- package/dist/dnd/index.d.ts +2 -0
- package/dist/dnd/index.d.ts.map +1 -0
- package/dist/dnd/index.js +1 -0
- package/dist/dnd/index.js.map +7 -0
- package/dist/field/field.types.d.ts +87 -0
- package/dist/field/field.types.d.ts.map +1 -0
- package/dist/field/index.cjs +2 -0
- package/dist/field/index.cjs.map +7 -0
- package/dist/field/index.d.ts +2 -0
- package/dist/field/index.d.ts.map +1 -0
- package/dist/field/index.js +1 -0
- package/dist/field/index.js.map +7 -0
- package/dist/fieldset/fieldset.types.d.ts +49 -0
- package/dist/fieldset/fieldset.types.d.ts.map +1 -0
- package/dist/fieldset/index.cjs +2 -0
- package/dist/fieldset/index.cjs.map +7 -0
- package/dist/fieldset/index.d.ts +2 -0
- package/dist/fieldset/index.d.ts.map +1 -0
- package/dist/fieldset/index.js +1 -0
- package/dist/fieldset/index.js.map +7 -0
- package/dist/inline-notification/index.cjs +2 -0
- package/dist/inline-notification/index.cjs.map +7 -0
- package/dist/inline-notification/index.d.ts +5 -0
- package/dist/inline-notification/index.d.ts.map +1 -0
- package/dist/inline-notification/index.js +2 -0
- package/dist/inline-notification/index.js.map +7 -0
- package/dist/inline-notification/inline-notification.api.d.ts +4 -0
- package/dist/inline-notification/inline-notification.api.d.ts.map +1 -0
- package/dist/inline-notification/inline-notification.machine.d.ts +4 -0
- package/dist/inline-notification/inline-notification.machine.d.ts.map +1 -0
- package/dist/inline-notification/inline-notification.props.d.ts +7 -0
- package/dist/inline-notification/inline-notification.props.d.ts.map +1 -0
- package/dist/inline-notification/inline-notification.types.d.ts +76 -0
- package/dist/inline-notification/inline-notification.types.d.ts.map +1 -0
- package/dist/inline-notification/internal/index.d.ts +2 -0
- package/dist/inline-notification/internal/index.d.ts.map +1 -0
- package/dist/inline-notification/internal/inline-notification.dom.d.ts +4 -0
- package/dist/inline-notification/internal/inline-notification.dom.d.ts.map +1 -0
- package/dist/input/index.cjs +2 -0
- package/dist/input/index.cjs.map +7 -0
- package/dist/input/index.d.ts +2 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +1 -0
- package/dist/input/index.js.map +7 -0
- package/dist/input/input.types.d.ts +66 -0
- package/dist/input/input.types.d.ts.map +1 -0
- package/dist/menu/index.cjs +2 -0
- package/dist/menu/index.cjs.map +7 -0
- package/dist/menu/index.d.ts +5 -0
- package/dist/menu/index.d.ts.map +1 -0
- package/dist/menu/index.js +2 -0
- package/dist/menu/index.js.map +7 -0
- package/dist/menu/internal/index.d.ts +2 -0
- package/dist/menu/internal/index.d.ts.map +1 -0
- package/dist/menu/internal/menu.dom.d.ts +33 -0
- package/dist/menu/internal/menu.dom.d.ts.map +1 -0
- package/dist/menu/menu.api.d.ts +4 -0
- package/dist/menu/menu.api.d.ts.map +1 -0
- package/dist/menu/menu.machine.d.ts +4 -0
- package/dist/menu/menu.machine.d.ts.map +1 -0
- package/dist/menu/menu.props.d.ts +8 -0
- package/dist/menu/menu.props.d.ts.map +1 -0
- package/dist/menu/menu.types.d.ts +482 -0
- package/dist/menu/menu.types.d.ts.map +1 -0
- package/dist/number-input/index.cjs +2 -0
- package/dist/number-input/index.cjs.map +7 -0
- package/dist/number-input/index.d.ts +6 -0
- package/dist/number-input/index.d.ts.map +1 -0
- package/dist/number-input/index.js +2 -0
- package/dist/number-input/index.js.map +7 -0
- package/dist/number-input/internal/index.d.ts +2 -0
- package/dist/number-input/internal/index.d.ts.map +1 -0
- package/dist/number-input/internal/number-input.dom.d.ts +10 -0
- package/dist/number-input/internal/number-input.dom.d.ts.map +1 -0
- package/dist/number-input/number-input.api.d.ts +4 -0
- package/dist/number-input/number-input.api.d.ts.map +1 -0
- package/dist/number-input/number-input.machine.d.ts +4 -0
- package/dist/number-input/number-input.machine.d.ts.map +1 -0
- package/dist/number-input/number-input.props.d.ts +4 -0
- package/dist/number-input/number-input.props.d.ts.map +1 -0
- package/dist/number-input/number-input.types.d.ts +395 -0
- package/dist/number-input/number-input.types.d.ts.map +1 -0
- package/dist/number-input/number-input.utils.d.ts +11 -0
- package/dist/number-input/number-input.utils.d.ts.map +1 -0
- package/dist/overlay-panel/index.cjs.map +7 -0
- package/dist/overlay-panel/index.d.ts +2 -0
- package/dist/overlay-panel/index.d.ts.map +1 -0
- package/dist/overlay-panel/overlay-panel.types.d.ts +2 -0
- package/dist/overlay-panel/overlay-panel.types.d.ts.map +1 -0
- package/dist/pagination/index.cjs +2 -0
- package/dist/pagination/index.cjs.map +7 -0
- package/dist/pagination/index.d.ts +5 -0
- package/dist/pagination/index.d.ts.map +1 -0
- package/dist/pagination/index.js +2 -0
- package/dist/pagination/index.js.map +7 -0
- package/dist/pagination/pagination.api.d.ts +4 -0
- package/dist/pagination/pagination.api.d.ts.map +1 -0
- package/dist/pagination/pagination.machine.d.ts +4 -0
- package/dist/pagination/pagination.machine.d.ts.map +1 -0
- package/dist/pagination/pagination.props.d.ts +3 -0
- package/dist/pagination/pagination.props.d.ts.map +1 -0
- package/dist/pagination/pagination.types.d.ts +214 -0
- package/dist/pagination/pagination.types.d.ts.map +1 -0
- package/dist/password-input/index.cjs +2 -0
- package/dist/password-input/index.cjs.map +7 -0
- package/dist/password-input/index.d.ts +5 -0
- package/dist/password-input/index.d.ts.map +1 -0
- package/dist/password-input/index.js +2 -0
- package/dist/password-input/index.js.map +7 -0
- package/dist/password-input/internal/index.d.ts +2 -0
- package/dist/password-input/internal/index.d.ts.map +1 -0
- package/dist/password-input/internal/password.dom.d.ts +7 -0
- package/dist/password-input/internal/password.dom.d.ts.map +1 -0
- package/dist/password-input/password-input.api.d.ts +4 -0
- package/dist/password-input/password-input.api.d.ts.map +1 -0
- package/dist/password-input/password-input.machine.d.ts +4 -0
- package/dist/password-input/password-input.machine.d.ts.map +1 -0
- package/dist/password-input/password-input.props.d.ts +3 -0
- package/dist/password-input/password-input.props.d.ts.map +1 -0
- package/dist/password-input/password-input.types.d.ts +172 -0
- package/dist/password-input/password-input.types.d.ts.map +1 -0
- package/dist/popover/index.cjs +2 -0
- package/dist/popover/index.cjs.map +7 -0
- package/dist/popover/index.d.ts +5 -0
- package/dist/popover/index.d.ts.map +1 -0
- package/dist/popover/index.js +2 -0
- package/dist/popover/index.js.map +7 -0
- package/dist/popover/internal/index.d.ts +2 -0
- package/dist/popover/internal/index.d.ts.map +1 -0
- package/dist/popover/internal/popover.dom.d.ts +8 -0
- package/dist/popover/internal/popover.dom.d.ts.map +1 -0
- package/dist/popover/popover.api.d.ts +4 -0
- package/dist/popover/popover.api.d.ts.map +1 -0
- package/dist/popover/popover.machine.d.ts +4 -0
- package/dist/popover/popover.machine.d.ts.map +1 -0
- package/dist/popover/popover.props.d.ts +3 -0
- package/dist/popover/popover.props.d.ts.map +1 -0
- package/dist/popover/popover.types.d.ts +233 -0
- package/dist/popover/popover.types.d.ts.map +1 -0
- package/dist/presence/index.cjs +2 -0
- package/dist/presence/index.cjs.map +7 -0
- package/dist/presence/index.d.ts +5 -0
- package/dist/presence/index.d.ts.map +1 -0
- package/dist/presence/index.js +2 -0
- package/dist/presence/index.js.map +7 -0
- package/dist/presence/presence.api.d.ts +4 -0
- package/dist/presence/presence.api.d.ts.map +1 -0
- package/dist/presence/presence.machine.d.ts +4 -0
- package/dist/presence/presence.machine.d.ts.map +1 -0
- package/dist/presence/presence.props.d.ts +6 -0
- package/dist/presence/presence.props.d.ts.map +1 -0
- package/dist/presence/presence.types.d.ts +94 -0
- package/dist/presence/presence.types.d.ts.map +1 -0
- package/dist/progress/index.cjs +2 -0
- package/dist/progress/index.cjs.map +7 -0
- package/dist/progress/index.d.ts +5 -0
- package/dist/progress/index.d.ts.map +1 -0
- package/dist/progress/index.js +2 -0
- package/dist/progress/index.js.map +7 -0
- package/dist/progress/internal/index.d.ts +2 -0
- package/dist/progress/internal/index.d.ts.map +1 -0
- package/dist/progress/internal/progress.dom.d.ts +4 -0
- package/dist/progress/internal/progress.dom.d.ts.map +1 -0
- package/dist/progress/progress.api.d.ts +4 -0
- package/dist/progress/progress.api.d.ts.map +1 -0
- package/dist/progress/progress.machine.d.ts +4 -0
- package/dist/progress/progress.machine.d.ts.map +1 -0
- package/dist/progress/progress.props.d.ts +4 -0
- package/dist/progress/progress.props.d.ts.map +1 -0
- package/dist/progress/progress.types.d.ts +182 -0
- package/dist/progress/progress.types.d.ts.map +1 -0
- package/dist/radio/index.cjs +2 -0
- package/dist/radio/index.cjs.map +7 -0
- package/dist/radio/index.d.ts +5 -0
- package/dist/radio/index.d.ts.map +1 -0
- package/dist/radio/index.js +2 -0
- package/dist/radio/index.js.map +7 -0
- package/dist/radio/internal/index.d.ts +2 -0
- package/dist/radio/internal/index.d.ts.map +1 -0
- package/dist/radio/internal/radio.dom.d.ts +10 -0
- package/dist/radio/internal/radio.dom.d.ts.map +1 -0
- package/dist/radio/radio.api.d.ts +4 -0
- package/dist/radio/radio.api.d.ts.map +1 -0
- package/dist/radio/radio.machine.d.ts +4 -0
- package/dist/radio/radio.machine.d.ts.map +1 -0
- package/dist/radio/radio.props.d.ts +4 -0
- package/dist/radio/radio.props.d.ts.map +1 -0
- package/dist/radio/radio.types.d.ts +233 -0
- package/dist/radio/radio.types.d.ts.map +1 -0
- package/dist/segmented-control/index.cjs +2 -0
- package/dist/segmented-control/index.cjs.map +7 -0
- package/dist/segmented-control/index.d.ts +5 -0
- package/dist/segmented-control/index.d.ts.map +1 -0
- package/dist/segmented-control/index.js +2 -0
- package/dist/segmented-control/index.js.map +7 -0
- package/dist/segmented-control/internal/index.d.ts +2 -0
- package/dist/segmented-control/internal/index.d.ts.map +1 -0
- package/dist/segmented-control/internal/segmented-control.dom.d.ts +7 -0
- package/dist/segmented-control/internal/segmented-control.dom.d.ts.map +1 -0
- package/dist/segmented-control/segmented-control.api.d.ts +4 -0
- package/dist/segmented-control/segmented-control.api.d.ts.map +1 -0
- package/dist/segmented-control/segmented-control.machine.d.ts +4 -0
- package/dist/segmented-control/segmented-control.machine.d.ts.map +1 -0
- package/dist/segmented-control/segmented-control.props.d.ts +4 -0
- package/dist/segmented-control/segmented-control.props.d.ts.map +1 -0
- package/dist/segmented-control/segmented-control.types.d.ts +103 -0
- package/dist/segmented-control/segmented-control.types.d.ts.map +1 -0
- package/dist/select/index.cjs +2 -0
- package/dist/select/index.cjs.map +7 -0
- package/dist/select/index.d.ts +6 -0
- package/dist/select/index.d.ts.map +1 -0
- package/dist/select/index.js +2 -0
- package/dist/select/index.js.map +7 -0
- package/dist/select/internal/index.d.ts +2 -0
- package/dist/select/internal/index.d.ts.map +1 -0
- package/dist/select/internal/select.dom.d.ts +9 -0
- package/dist/select/internal/select.dom.d.ts.map +1 -0
- package/dist/select/select.api.d.ts +4 -0
- package/dist/select/select.api.d.ts.map +1 -0
- package/dist/select/select.collection.d.ts +4 -0
- package/dist/select/select.collection.d.ts.map +1 -0
- package/dist/select/select.machine.d.ts +4 -0
- package/dist/select/select.machine.d.ts.map +1 -0
- package/dist/select/select.props.d.ts +3 -0
- package/dist/select/select.props.d.ts.map +1 -0
- package/dist/select/select.types.d.ts +582 -0
- package/dist/select/select.types.d.ts.map +1 -0
- package/dist/side-nav/index.cjs +2 -0
- package/dist/side-nav/index.cjs.map +7 -0
- package/dist/side-nav/index.d.ts +5 -0
- package/dist/side-nav/index.d.ts.map +1 -0
- package/dist/side-nav/index.js +2 -0
- package/dist/side-nav/index.js.map +7 -0
- package/dist/side-nav/internal/index.d.ts +2 -0
- package/dist/side-nav/internal/index.d.ts.map +1 -0
- package/dist/side-nav/internal/side-nav.dom.d.ts +5 -0
- package/dist/side-nav/internal/side-nav.dom.d.ts.map +1 -0
- package/dist/side-nav/side-nav.api.d.ts +4 -0
- package/dist/side-nav/side-nav.api.d.ts.map +1 -0
- package/dist/side-nav/side-nav.machine.d.ts +4 -0
- package/dist/side-nav/side-nav.machine.d.ts.map +1 -0
- package/dist/side-nav/side-nav.props.d.ts +4 -0
- package/dist/side-nav/side-nav.props.d.ts.map +1 -0
- package/dist/side-nav/side-nav.types.d.ts +108 -0
- package/dist/side-nav/side-nav.types.d.ts.map +1 -0
- package/dist/slider/index.cjs +2 -0
- package/dist/slider/index.cjs.map +7 -0
- package/dist/slider/index.d.ts +5 -0
- package/dist/slider/index.d.ts.map +1 -0
- package/dist/slider/index.js +2 -0
- package/dist/slider/index.js.map +7 -0
- package/dist/slider/slider.api.d.ts +4 -0
- package/dist/slider/slider.api.d.ts.map +1 -0
- package/dist/slider/slider.dom.d.ts +18 -0
- package/dist/slider/slider.dom.d.ts.map +1 -0
- package/dist/slider/slider.machine.d.ts +4 -0
- package/dist/slider/slider.machine.d.ts.map +1 -0
- package/dist/slider/slider.props.d.ts +4 -0
- package/dist/slider/slider.props.d.ts.map +1 -0
- package/dist/slider/slider.style.d.ts +21 -0
- package/dist/slider/slider.style.d.ts.map +1 -0
- package/dist/slider/slider.types.d.ts +449 -0
- package/dist/slider/slider.types.d.ts.map +1 -0
- package/dist/slider/slider.utils.d.ts +17 -0
- package/dist/slider/slider.utils.d.ts.map +1 -0
- package/dist/switch/index.cjs +2 -0
- package/dist/switch/index.cjs.map +7 -0
- package/dist/switch/index.d.ts +5 -0
- package/dist/switch/index.d.ts.map +1 -0
- package/dist/switch/index.js +2 -0
- package/dist/switch/index.js.map +7 -0
- package/dist/switch/internal/index.d.ts +2 -0
- package/dist/switch/internal/index.d.ts.map +1 -0
- package/dist/switch/internal/switch.dom.d.ts +7 -0
- package/dist/switch/internal/switch.dom.d.ts.map +1 -0
- package/dist/switch/switch.api.d.ts +4 -0
- package/dist/switch/switch.api.d.ts.map +1 -0
- package/dist/switch/switch.machine.d.ts +4 -0
- package/dist/switch/switch.machine.d.ts.map +1 -0
- package/dist/switch/switch.props.d.ts +4 -0
- package/dist/switch/switch.props.d.ts.map +1 -0
- package/dist/switch/switch.types.d.ts +157 -0
- package/dist/switch/switch.types.d.ts.map +1 -0
- package/dist/table/aggregation-fns.d.ts +14 -0
- package/dist/table/aggregation-fns.d.ts.map +1 -0
- package/dist/table/column-helper.d.ts +9 -0
- package/dist/table/column-helper.d.ts.map +1 -0
- package/dist/table/core/cell.d.ts +46 -0
- package/dist/table/core/cell.d.ts.map +1 -0
- package/dist/table/core/column.d.ts +55 -0
- package/dist/table/core/column.d.ts.map +1 -0
- package/dist/table/core/headers.d.ts +196 -0
- package/dist/table/core/headers.d.ts.map +1 -0
- package/dist/table/core/row.d.ts +76 -0
- package/dist/table/core/row.d.ts.map +1 -0
- package/dist/table/core/table.d.ts +244 -0
- package/dist/table/core/table.d.ts.map +1 -0
- package/dist/table/dom.d.ts +3 -0
- package/dist/table/dom.d.ts.map +1 -0
- package/dist/table/features/column-sizing.d.ts +168 -0
- package/dist/table/features/column-sizing.d.ts.map +1 -0
- package/dist/table/features/expanding.d.ts +138 -0
- package/dist/table/features/expanding.d.ts.map +1 -0
- package/dist/table/features/filters.d.ts +309 -0
- package/dist/table/features/filters.d.ts.map +1 -0
- package/dist/table/features/grouping.d.ts +182 -0
- package/dist/table/features/grouping.d.ts.map +1 -0
- package/dist/table/features/ordering.d.ts +33 -0
- package/dist/table/features/ordering.d.ts.map +1 -0
- package/dist/table/features/pagination.d.ts +127 -0
- package/dist/table/features/pagination.d.ts.map +1 -0
- package/dist/table/features/pinning.d.ts +227 -0
- package/dist/table/features/pinning.d.ts.map +1 -0
- package/dist/table/features/row-selection.d.ts +148 -0
- package/dist/table/features/row-selection.d.ts.map +1 -0
- package/dist/table/features/sorting.d.ts +194 -0
- package/dist/table/features/sorting.d.ts.map +1 -0
- package/dist/table/features/visibility.d.ts +119 -0
- package/dist/table/features/visibility.d.ts.map +1 -0
- package/dist/table/filter-fns.d.ts +4 -0
- package/dist/table/filter-fns.d.ts.map +1 -0
- package/dist/table/index.cjs +5 -0
- package/dist/table/index.cjs.map +7 -0
- package/dist/table/index.d.ts +32 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/index.js +5 -0
- package/dist/table/index.js.map +7 -0
- package/dist/table/sorting-fns.d.ts +5 -0
- package/dist/table/sorting-fns.d.ts.map +1 -0
- package/dist/table/types.d.ts +142 -0
- package/dist/table/types.d.ts.map +1 -0
- package/dist/table/utils/filter-rows-utils.d.ts +5 -0
- package/dist/table/utils/filter-rows-utils.d.ts.map +1 -0
- package/dist/table/utils/get-core-row-model.d.ts +3 -0
- package/dist/table/utils/get-core-row-model.d.ts.map +1 -0
- package/dist/table/utils/get-expanded-row-model.d.ts +8 -0
- package/dist/table/utils/get-expanded-row-model.d.ts.map +1 -0
- package/dist/table/utils/get-faceted-min-max-values.d.ts +3 -0
- package/dist/table/utils/get-faceted-min-max-values.d.ts.map +1 -0
- package/dist/table/utils/get-faceted-row-model.d.ts +3 -0
- package/dist/table/utils/get-faceted-row-model.d.ts.map +1 -0
- package/dist/table/utils/get-faceted-unique-values.d.ts +3 -0
- package/dist/table/utils/get-faceted-unique-values.d.ts.map +1 -0
- package/dist/table/utils/get-filtered-row-model.d.ts +3 -0
- package/dist/table/utils/get-filtered-row-model.d.ts.map +1 -0
- package/dist/table/utils/get-grouped-row-model.d.ts +3 -0
- package/dist/table/utils/get-grouped-row-model.d.ts.map +1 -0
- package/dist/table/utils/get-pagination-row-model.d.ts +3 -0
- package/dist/table/utils/get-pagination-row-model.d.ts.map +1 -0
- package/dist/table/utils/get-sorted-row-model.d.ts +3 -0
- package/dist/table/utils/get-sorted-row-model.d.ts.map +1 -0
- package/dist/table/utils.d.ts +39 -0
- package/dist/table/utils.d.ts.map +1 -0
- package/dist/tabs/index.cjs +2 -0
- package/dist/tabs/index.cjs.map +7 -0
- package/dist/tabs/index.d.ts +5 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +2 -0
- package/dist/tabs/index.js.map +7 -0
- package/dist/tabs/internal/index.d.ts +2 -0
- package/dist/tabs/internal/index.d.ts.map +1 -0
- package/dist/tabs/internal/tabs.dom.d.ts +42 -0
- package/dist/tabs/internal/tabs.dom.d.ts.map +1 -0
- package/dist/tabs/tabs.api.d.ts +4 -0
- package/dist/tabs/tabs.api.d.ts.map +1 -0
- package/dist/tabs/tabs.machine.d.ts +4 -0
- package/dist/tabs/tabs.machine.d.ts.map +1 -0
- package/dist/tabs/tabs.props.d.ts +4 -0
- package/dist/tabs/tabs.props.d.ts.map +1 -0
- package/dist/tabs/tabs.types.d.ts +256 -0
- package/dist/tabs/tabs.types.d.ts.map +1 -0
- package/dist/text-area/index.cjs +2 -0
- package/dist/text-area/index.cjs.map +7 -0
- package/dist/text-area/index.d.ts +2 -0
- package/dist/text-area/index.d.ts.map +1 -0
- package/dist/text-area/index.js +1 -0
- package/dist/text-area/index.js.map +7 -0
- package/dist/text-input/index.cjs +2 -0
- package/dist/text-input/index.cjs.map +7 -0
- package/dist/text-input/index.d.ts +5 -0
- package/dist/text-input/index.d.ts.map +1 -0
- package/dist/text-input/index.js +2 -0
- package/dist/text-input/index.js.map +7 -0
- package/dist/text-input/internal/index.d.ts +2 -0
- package/dist/text-input/internal/index.d.ts.map +1 -0
- package/dist/text-input/internal/text-input.dom.d.ts +7 -0
- package/dist/text-input/internal/text-input.dom.d.ts.map +1 -0
- package/dist/text-input/text-input.api.d.ts +4 -0
- package/dist/text-input/text-input.api.d.ts.map +1 -0
- package/dist/text-input/text-input.machine.d.ts +4 -0
- package/dist/text-input/text-input.machine.d.ts.map +1 -0
- package/dist/text-input/text-input.props.d.ts +3 -0
- package/dist/text-input/text-input.props.d.ts.map +1 -0
- package/dist/text-input/text-input.types.d.ts +118 -0
- package/dist/text-input/text-input.types.d.ts.map +1 -0
- package/dist/toast/index.cjs +2 -0
- package/dist/toast/index.cjs.map +7 -0
- package/dist/toast/index.d.ts +8 -0
- package/dist/toast/index.d.ts.map +1 -0
- package/dist/toast/index.js +2 -0
- package/dist/toast/index.js.map +7 -0
- package/dist/toast/internal/index.d.ts +2 -0
- package/dist/toast/internal/index.d.ts.map +1 -0
- package/dist/toast/internal/toast.dom.d.ts +10 -0
- package/dist/toast/internal/toast.dom.d.ts.map +1 -0
- package/dist/toast/toast-group.api.d.ts +4 -0
- package/dist/toast/toast-group.api.d.ts.map +1 -0
- package/dist/toast/toast-group.machine.d.ts +4 -0
- package/dist/toast/toast-group.machine.d.ts.map +1 -0
- package/dist/toast/toast.api.d.ts +4 -0
- package/dist/toast/toast.api.d.ts.map +1 -0
- package/dist/toast/toast.machine.d.ts +4 -0
- package/dist/toast/toast.machine.d.ts.map +1 -0
- package/dist/toast/toast.store.d.ts +4 -0
- package/dist/toast/toast.store.d.ts.map +1 -0
- package/dist/toast/toast.types.d.ts +463 -0
- package/dist/toast/toast.types.d.ts.map +1 -0
- package/dist/toast/toast.utils.d.ts +9 -0
- package/dist/toast/toast.utils.d.ts.map +1 -0
- package/dist/tooltip/index.cjs +2 -0
- package/dist/tooltip/index.cjs.map +7 -0
- package/dist/tooltip/index.d.ts +5 -0
- package/dist/tooltip/index.d.ts.map +1 -0
- package/dist/tooltip/index.js +2 -0
- package/dist/tooltip/index.js.map +7 -0
- package/dist/tooltip/tooltip.api.d.ts +4 -0
- package/dist/tooltip/tooltip.api.d.ts.map +1 -0
- package/dist/tooltip/tooltip.machine.d.ts +4 -0
- package/dist/tooltip/tooltip.machine.d.ts.map +1 -0
- package/dist/tooltip/tooltip.props.d.ts +4 -0
- package/dist/tooltip/tooltip.props.d.ts.map +1 -0
- package/dist/tooltip/tooltip.store.d.ts +5 -0
- package/dist/tooltip/tooltip.store.d.ts.map +1 -0
- package/dist/tooltip/tooltip.types.d.ts +122 -0
- package/dist/tooltip/tooltip.types.d.ts.map +1 -0
- package/dist/tree/index.cjs +2 -0
- package/dist/tree/index.cjs.map +7 -0
- package/dist/tree/index.d.ts +6 -0
- package/dist/tree/index.d.ts.map +1 -0
- package/dist/tree/index.js +2 -0
- package/dist/tree/index.js.map +7 -0
- package/dist/tree/internal/index.d.ts +3 -0
- package/dist/tree/internal/index.d.ts.map +1 -0
- package/dist/tree/internal/tree.dom.d.ts +8 -0
- package/dist/tree/internal/tree.dom.d.ts.map +1 -0
- package/dist/tree/internal/tree.utils.d.ts +12 -0
- package/dist/tree/internal/tree.utils.d.ts.map +1 -0
- package/dist/tree/tree.api.d.ts +5 -0
- package/dist/tree/tree.api.d.ts.map +1 -0
- package/dist/tree/tree.collection.d.ts +4 -0
- package/dist/tree/tree.collection.d.ts.map +1 -0
- package/dist/tree/tree.machine.d.ts +4 -0
- package/dist/tree/tree.machine.d.ts.map +1 -0
- package/dist/tree/tree.props.d.ts +7 -0
- package/dist/tree/tree.props.d.ts.map +1 -0
- package/dist/tree/tree.types.d.ts +579 -0
- package/dist/tree/tree.types.d.ts.map +1 -0
- package/dist/tsbuildinfo +1 -0
- package/package.json +29 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/menu/menu.api.ts", "../../src/menu/internal/menu.dom.ts", "../../src/menu/menu.machine.ts", "../../src/menu/menu.props.ts"],
|
|
4
|
+
"sourcesContent": ["// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {getPlacementStyles} from \"@qualcomm-ui/dom/floating-ui\"\nimport {\n getEventKey,\n getEventPoint,\n getEventTarget,\n isAnchorElement,\n isContextMenuEvent,\n isDownloadingEvent,\n isEditableElement,\n isModifierKey,\n isOpeningInNewTab,\n isPrintableKey,\n isSelfTarget,\n isValidTabEvent,\n} from \"@qualcomm-ui/dom/query\"\nimport {booleanAriaAttr, booleanDataAttr} from \"@qualcomm-ui/utils/attributes\"\nimport {cast} from \"@qualcomm-ui/utils/functions\"\nimport {hasProp} from \"@qualcomm-ui/utils/guard\"\nimport type {\n EventKeyMap,\n JSX,\n Machine,\n PropNormalizer,\n} from \"@qualcomm-ui/utils/machine\"\nimport {mergeProps} from \"@qualcomm-ui/utils/merge-props\"\n\nimport {\n domIds,\n getGroupId,\n getGroupLabelId,\n getItemEl,\n getItemId,\n isTargetDisabled,\n itemSelectEvent,\n} from \"./internal\"\nimport type {\n GetOptionItemPropsReturn,\n ItemProps,\n ItemState,\n MenuApi,\n MenuArrowBindings,\n MenuArrowTipBindings,\n MenuCommonBindings,\n MenuContentBindings,\n MenuContextTriggerBindings,\n MenuItemBindings,\n MenuItemGroupBindings,\n MenuItemGroupLabelBindings,\n MenuItemIndicatorBindings,\n MenuItemLabelBindings,\n MenuOptionItemBindings,\n MenuOptionItemControlBindings,\n MenuPositionerBindings,\n MenuSchema,\n MenuSeparatorBindings,\n MenuTriggerBindings,\n MenuTriggerItemBindings,\n OptionItemProps,\n OptionItemState,\n} from \"./menu.types\"\n\nexport function createMenuApi(\n machine: Machine<MenuSchema>,\n normalize: PropNormalizer,\n): MenuApi {\n const {computed, context, prop, scope, send, state} = machine\n\n const commonBindings: MenuCommonBindings = {\n \"data-scope\": \"menu\",\n dir: prop(\"dir\"),\n }\n\n const open = state.hasTag(\"open\")\n\n const composite = prop(\"composite\")\n\n const currentPlacement = context.get(\"currentPlacement\")\n const anchorPoint = context.get(\"anchorPoint\")\n const highlightedValue = context.get(\"highlightedValue\")\n\n const popperStyles = getPlacementStyles({\n ...prop(\"positioning\"),\n placement: anchorPoint ? \"bottom\" : currentPlacement,\n })\n\n function getItemState(props: ItemProps): ItemState {\n return {\n disabled: !!props.disabled,\n highlighted: highlightedValue === props.value && !!props.value,\n id: getItemId(scope, props.value),\n }\n }\n\n function getOptionItemProps(\n props: OptionItemProps,\n ): GetOptionItemPropsReturn {\n const valueText = props.valueText ?? props.value\n return {...props, id: props.value, valueText}\n }\n\n function getOptionItemState(props: OptionItemProps): OptionItemState {\n const itemState = getItemState(getOptionItemProps(props))\n return {\n ...itemState,\n checked: !!props.checked,\n }\n }\n\n function getItemBindings(props: ItemProps): MenuItemBindings {\n const {closeOnSelect, value, valueText} = props\n const itemState = getItemState(props)\n const id = getItemId(scope, value)\n return normalize.element({\n ...commonBindings,\n \"aria-disabled\": booleanAriaAttr(itemState.disabled),\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-focus-visible\": booleanDataAttr(\n itemState.highlighted && context.get(\"itemFocusVisible\"),\n ),\n \"data-highlighted\": booleanDataAttr(itemState.highlighted),\n \"data-ownedby\": domIds.content(scope),\n \"data-part\": \"item\",\n \"data-value\": value,\n \"data-valuetext\": valueText,\n id,\n onClick(event) {\n if (isDownloadingEvent(event)) {\n return\n }\n if (isOpeningInNewTab(event)) {\n return\n }\n if (itemState.disabled) {\n return\n }\n\n const target = event.currentTarget\n send({closeOnSelect, id, target, type: \"ITEM_CLICK\"})\n },\n onDragStart(event) {\n const isLink = event.currentTarget.matches(\"a[href]\")\n if (isLink) {\n event.preventDefault()\n }\n },\n onPointerDown(event) {\n if (itemState.disabled) {\n return\n }\n const target = event.currentTarget\n send({closeOnSelect, id, target, type: \"ITEM_POINTERDOWN\"})\n },\n onPointerLeave(event) {\n if (itemState.disabled) {\n return\n }\n if (event.pointerType !== \"mouse\") {\n return\n }\n\n const pointerMoved = machine.event.previous()?.type.includes(\"POINTER\")\n if (!pointerMoved) {\n return\n }\n\n const target = event.currentTarget\n send({closeOnSelect, id, target, type: \"ITEM_POINTERLEAVE\"})\n },\n onPointerMove(event) {\n if (itemState.disabled) {\n return\n }\n if (event.pointerType !== \"mouse\") {\n return\n }\n const target = event.currentTarget\n if (itemState.highlighted) {\n return\n }\n send({closeOnSelect, id, target, type: \"ITEM_POINTERMOVE\"})\n },\n role: \"menuitem\",\n tabIndex: -1,\n })\n }\n\n return {\n addItemListener(props) {\n const node = scope.getById(props.id)\n if (!node) {\n return\n }\n const listener = () => props.onSelect?.()\n node.addEventListener(itemSelectEvent, listener)\n return () => node.removeEventListener(itemSelectEvent, listener)\n },\n highlightedValue,\n open,\n reposition(options = {}) {\n send({options, type: \"POSITIONING.SET\"})\n },\n\n setChild(child) {\n send({id: child.prop(\"id\")!, type: \"CHILD.SET\", value: child})\n },\n setHighlightedValue(value) {\n send({type: \"HIGHLIGHTED.SET\", value})\n },\n setOpen(nextOpen) {\n const open = state.hasTag(\"open\")\n if (open === nextOpen) {\n return\n }\n send({type: nextOpen ? \"OPEN\" : \"CLOSE\"})\n },\n setParent(parent) {\n send({id: parent.prop(\"id\")!, type: \"PARENT.SET\", value: parent})\n },\n\n // group: prop getters\n getArrowBindings(): MenuArrowBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"arrow\",\n style: popperStyles.arrow,\n })\n },\n\n getArrowTipBindings(): MenuArrowTipBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"arrow-tip\",\n style: popperStyles.arrowTip,\n })\n },\n\n getContentBindings(props): MenuContentBindings {\n scope.ids.set(\"content\", props.id)\n return normalize.element({\n ...commonBindings,\n \"aria-activedescendant\": computed(\"highlightedId\") || undefined,\n \"aria-labelledby\": domIds.trigger(scope),\n \"data-from\": context.get(\"anchorPoint\") ? \"context-trigger\" : \"trigger\",\n \"data-part\": \"content\",\n \"data-placement\": currentPlacement,\n \"data-state\": open ? \"open\" : \"closed\",\n hidden: !open,\n id: domIds.content(scope),\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n if (!isSelfTarget(event)) {\n return\n }\n\n const target = getEventTarget<Element>(event)\n\n const sameMenu =\n target?.closest(\"[role=menu]\") === event.currentTarget ||\n target === event.currentTarget\n if (!sameMenu) {\n return\n }\n\n if (event.key === \"Tab\") {\n const valid = isValidTabEvent(event)\n if (!valid) {\n event.preventDefault()\n return\n }\n }\n\n const item = getItemEl(scope, highlightedValue)\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({type: \"ARROW_DOWN\"})\n },\n ArrowLeft() {\n send({type: \"ARROW_LEFT\"})\n },\n ArrowRight() {\n send({type: \"ARROW_RIGHT\"})\n },\n ArrowUp() {\n send({type: \"ARROW_UP\"})\n },\n End() {\n send({type: \"END\"})\n },\n Enter() {\n send({type: \"ENTER\"})\n\n if (highlightedValue == null) {\n return\n }\n\n if (isAnchorElement(item)) {\n prop(\"navigate\")?.({\n href: item.href,\n node: item,\n value: highlightedValue,\n })\n }\n },\n Home() {\n send({type: \"HOME\"})\n },\n Space(event) {\n if (computed(\"isTypingAhead\")) {\n send({key: event.key, type: \"TYPEAHEAD\"})\n } else {\n keyMap.Enter?.(event)\n }\n },\n }\n\n const key = getEventKey(event, {dir: prop(\"dir\")})\n const exec = keyMap[key]\n\n if (exec) {\n exec(event as JSX.KeyboardEvent<HTMLElement>)\n event.stopPropagation()\n event.preventDefault()\n return\n }\n\n // typeahead\n if (!prop(\"typeahead\")) {\n return\n }\n if (!isPrintableKey(event)) {\n return\n }\n if (isModifierKey(event)) {\n return\n }\n if (isEditableElement(target)) {\n return\n }\n\n send({key: event.key, type: \"TYPEAHEAD\"})\n event.preventDefault()\n },\n onPointerEnter(event) {\n if (event.pointerType !== \"mouse\") {\n return\n }\n send({type: \"MENU_POINTERENTER\"})\n },\n role: composite ? \"menu\" : \"dialog\",\n tabIndex: 0,\n })\n },\n\n getContextTriggerBindings(props): MenuContextTriggerBindings {\n scope.ids.register(\"contextTrigger\", props)\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"context-trigger\",\n id: props.id,\n onContextMenu(event) {\n const point = getEventPoint(event)\n send({point, type: \"CONTEXT_MENU\"})\n event.preventDefault()\n },\n onPointerCancel(event) {\n if (event.pointerType === \"mouse\") {\n return\n }\n send({type: \"CONTEXT_MENU_CANCEL\"})\n },\n onPointerDown(event) {\n if (event.pointerType === \"mouse\") {\n return\n }\n const point = getEventPoint(event)\n send({point, type: \"CONTEXT_MENU_START\"})\n },\n onPointerMove(event) {\n if (event.pointerType === \"mouse\") {\n return\n }\n send({type: \"CONTEXT_MENU_CANCEL\"})\n },\n onPointerUp(event) {\n if (event.pointerType === \"mouse\") {\n return\n }\n send({type: \"CONTEXT_MENU_CANCEL\"})\n },\n style: {\n userSelect: \"none\",\n WebkitTouchCallout: \"none\",\n WebkitUserSelect: \"none\",\n },\n })\n },\n\n getItemBindings,\n\n getItemGroupBindings(props): MenuItemGroupBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-labelledby\": getGroupLabelId(scope, props.id),\n \"data-part\": \"item-group\",\n id: getGroupId(scope, props.id),\n role: \"group\",\n })\n },\n\n getItemGroupLabelBindings(props): MenuItemGroupLabelBindings {\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"item-group-label\",\n id: getGroupLabelId(scope, props.htmlFor),\n })\n },\n\n getItemIndicatorBindings(props): MenuItemIndicatorBindings {\n const itemState = getOptionItemState(cast(props))\n const dataState = itemState.checked ? \"checked\" : \"unchecked\"\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-highlighted\": booleanDataAttr(itemState.highlighted),\n \"data-part\": \"item-indicator\",\n \"data-state\": hasProp(props, \"checked\") ? dataState : undefined,\n hidden: hasProp(props, \"checked\") ? !itemState.checked : undefined,\n })\n },\n\n getItemLabelBindings(props): MenuItemLabelBindings {\n const itemState = getOptionItemState(cast(props))\n const dataState = itemState.checked ? \"checked\" : \"unchecked\"\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-highlighted\": booleanDataAttr(itemState.highlighted),\n \"data-part\": \"item-text\",\n \"data-state\": hasProp(props, \"checked\") ? dataState : undefined,\n })\n },\n\n getItemState,\n\n getOptionItemBindings(props): MenuOptionItemBindings {\n const {closeOnSelect, disabled, type} = props\n\n const option = getOptionItemProps(props)\n const itemState = getOptionItemState(props)\n\n return {\n ...getItemBindings(option),\n ...normalize.element({\n ...commonBindings,\n \"aria-checked\": booleanAriaAttr(itemState.checked),\n \"data-state\": itemState.checked ? \"checked\" : \"unchecked\",\n \"data-type\": type,\n \"data-value\": option.value,\n dir: prop(\"dir\"),\n onClick(event) {\n if (disabled) {\n return\n }\n if (isDownloadingEvent(event)) {\n return\n }\n if (isOpeningInNewTab(event)) {\n return\n }\n const target = event.currentTarget\n send({\n closeOnSelect,\n option: {\n ...option,\n // angular fix for stale closure issue\n checked:\n cast<HTMLButtonElement>(target).getAttribute(\"data-state\") ===\n \"checked\",\n },\n target,\n type: \"ITEM_CLICK\",\n })\n },\n role: `menuitem${type}`,\n } as MenuOptionItemBindings),\n }\n },\n\n getOptionItemControlBindings(props): MenuOptionItemControlBindings {\n const itemState = getOptionItemState(props)\n return normalize.element({\n ...commonBindings,\n \"data-disabled\": booleanDataAttr(itemState.disabled),\n \"data-part\": \"item-control\",\n \"data-state\": itemState.checked ? \"checked\" : \"unchecked\",\n })\n },\n\n getOptionItemState,\n\n getPositionerBindings(props): MenuPositionerBindings {\n scope.ids.set(\"positioner\", props.id)\n return normalize.element({\n ...commonBindings,\n \"data-part\": \"positioner\",\n id: props.id,\n style: popperStyles.floating,\n })\n },\n\n getSeparatorBindings(): MenuSeparatorBindings {\n return normalize.element({\n ...commonBindings,\n \"aria-orientation\": \"horizontal\",\n \"data-part\": \"separator\",\n role: \"separator\",\n })\n },\n\n getTriggerBindings(props): MenuTriggerBindings {\n scope.ids.set(\"trigger\", props.id)\n return normalize.button({\n ...commonBindings,\n \"aria-controls\": domIds.content(scope),\n \"aria-expanded\": booleanAriaAttr(open),\n \"aria-haspopup\": composite ? \"menu\" : \"dialog\",\n \"data-part\": computed(\"isSubmenu\") ? \"trigger-item\" : \"trigger\",\n \"data-placement\": context.get(\"currentPlacement\"),\n \"data-state\": open ? \"open\" : \"closed\",\n \"data-uid\": prop(\"id\")!,\n id: props.id,\n onBlur() {\n send({type: \"TRIGGER_BLUR\"})\n },\n onClick(event) {\n if (event.defaultPrevented) {\n return\n }\n if (isTargetDisabled(event.currentTarget)) {\n return\n }\n send({target: event.currentTarget, type: \"TRIGGER_CLICK\"})\n },\n onFocus() {\n send({type: \"TRIGGER_FOCUS\"})\n },\n onKeyDown(event) {\n if (event.defaultPrevented) {\n return\n }\n const keyMap: EventKeyMap = {\n ArrowDown() {\n send({type: \"ARROW_DOWN\"})\n },\n ArrowUp() {\n send({type: \"ARROW_UP\"})\n },\n Enter() {\n send({src: \"enter\", type: \"ARROW_DOWN\"})\n },\n Space() {\n send({src: \"space\", type: \"ARROW_DOWN\"})\n },\n }\n\n const key = getEventKey(event, {\n dir: prop(\"dir\"),\n orientation: \"vertical\",\n })\n const exec = keyMap[key]\n\n if (exec) {\n event.preventDefault()\n exec(event as JSX.KeyboardEvent<HTMLElement>)\n }\n },\n onPointerDown(event) {\n if (isTargetDisabled(event.currentTarget)) {\n return\n }\n if (isContextMenuEvent(event)) {\n return\n }\n event.preventDefault()\n },\n onPointerLeave(event) {\n if (isTargetDisabled(event.currentTarget)) {\n return\n }\n if (event.pointerType !== \"mouse\") {\n return\n }\n if (!computed(\"isSubmenu\")) {\n return\n }\n const point = getEventPoint(event)\n send({\n point,\n target: event.currentTarget,\n type: \"TRIGGER_POINTERLEAVE\",\n })\n },\n onPointerMove(event) {\n if (event.pointerType !== \"mouse\") {\n return\n }\n const disabled = isTargetDisabled(event.currentTarget)\n if (disabled || !computed(\"isSubmenu\")) {\n return\n }\n const point = getEventPoint(event)\n send({\n point,\n target: event.currentTarget,\n type: \"TRIGGER_POINTERMOVE\",\n })\n },\n type: \"button\",\n })\n },\n\n getTriggerItemBindings(childApi, props): MenuTriggerItemBindings {\n const triggerProps = childApi.getTriggerBindings(props)\n return mergeProps(getItemBindings({value: triggerProps.id}), triggerProps)\n },\n }\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {\n getByTypeahead,\n getWindow,\n isHTMLElement,\n queryAll,\n type TypeaheadState,\n} from \"@qualcomm-ui/dom/query\"\nimport {first, last, next, prev} from \"@qualcomm-ui/utils/array\"\nimport type {ScopeDomElements, ScopeDomIds} from \"@qualcomm-ui/utils/machine\"\n\nimport type {MenuElementIds, MenuScope} from \"../menu.types\"\n\nexport const domIds: ScopeDomIds<MenuElementIds, MenuScope> = {\n arrow: (scope) => scope.ids.get(\"arrow\"),\n content: (scope) => scope.ids.get(\"content\"),\n contextTrigger: (scope) => scope.ids.get(\"contextTrigger\"),\n group: (scope) => scope.ids.get(\"group\"),\n positioner: (scope) => scope.ids.get(\"positioner\"),\n trigger: (scope) => scope.ids.get(\"trigger\"),\n}\n\nexport const domEls: ScopeDomElements<MenuElementIds, MenuScope> = {\n arrow: (scope) => scope.getById(domIds.arrow(scope)),\n content: (scope) => scope.getById(domIds.content(scope)),\n contextTrigger: (scope) => scope.getById(domIds.contextTrigger(scope)),\n group: (scope) => scope.getById(domIds.group(scope)),\n positioner: (scope) => scope.getById(domIds.positioner(scope)),\n trigger: (scope) => scope.getById(domIds.trigger(scope)),\n}\n\n// TODO: replace with id collection\nexport function getItemId(ctx: MenuScope, id: string): string {\n return `${ctx.id}/${id}`\n}\nexport function getItemValue(\n el: HTMLElement | null | undefined,\n): string | null {\n return el?.dataset.value ?? null\n}\n\nexport function getGroupId(ctx: MenuScope, id: string) {\n return `menu:${ctx.id}:group:${id}`\n}\n\nexport function getGroupLabelId(\n ctx: MenuScope,\n id: string | undefined,\n): string | undefined {\n if (!ctx.id || !id) {\n return undefined\n }\n return `menu:${ctx.id}:group-label:${id}`\n}\n\nexport function isTriggerItem(el: HTMLElement | null): boolean {\n return (\n !!el?.getAttribute(\"role\")?.startsWith(\"menuitem\") &&\n !!el?.hasAttribute(\"aria-controls\")\n )\n}\nexport const getElements = (ctx: MenuScope): HTMLElement[] => {\n const ownerId = CSS.escape(domIds.content(ctx))\n const selector = `[role^=\"menuitem\"][data-ownedby=${ownerId}]:not([data-disabled])`\n return queryAll(domEls.content(ctx), selector)\n}\nexport const getFirstEl = (ctx: MenuScope): HTMLElement | undefined =>\n first(getElements(ctx))\nexport const getLastEl = (ctx: MenuScope): HTMLElement | undefined =>\n last(getElements(ctx))\n\nconst isMatch = (el: HTMLElement, value: string | null) => {\n if (!value) {\n return false\n }\n return el.id === value || el.dataset.value === value\n}\n\nexport function getNextEl(\n ctx: MenuScope,\n opts: {loop?: boolean | undefined; loopFocus: boolean; value: string | null},\n): HTMLElement | undefined {\n const items = getElements(ctx)\n const index = items.findIndex((el) => isMatch(el, opts.value))\n return next(items, index, {loop: opts.loop ?? opts.loopFocus})\n}\n\nexport function getPrevEl(\n ctx: MenuScope,\n opts: {loop?: boolean | undefined; loopFocus: boolean; value: string | null},\n): HTMLElement | undefined {\n const items = getElements(ctx)\n const index = items.findIndex((el) => isMatch(el, opts.value))\n return prev(items, index, {loop: opts.loop ?? opts.loopFocus})\n}\n\nexport function getElemByKey(\n ctx: MenuScope,\n opts: {key: string; typeaheadState: TypeaheadState; value: string | null},\n): HTMLElement | undefined {\n const items = getElements(ctx)\n const item = items.find((el) => isMatch(el, opts.value))\n return getByTypeahead(items, {\n activeId: item?.id ?? null,\n key: opts.key,\n state: opts.typeaheadState,\n })\n}\n\nexport function getItemEl(\n ctx: MenuScope,\n value: string | null,\n): HTMLElement | null {\n return value ? ctx.getById(getItemId(ctx, value)) : null\n}\n\nexport function isTargetDisabled(v: EventTarget | null): boolean {\n return (\n isHTMLElement(v) &&\n (v.dataset.disabled === \"\" || v.hasAttribute(\"disabled\"))\n )\n}\n\nexport const itemSelectEvent = \"menu:select\"\n\nexport function dispatchSelectionEvent(\n el: HTMLElement | null,\n value: string,\n): void {\n if (!el) {\n return\n }\n const win = getWindow(el)\n const event = new win.CustomEvent(itemSelectEvent, {detail: {value}})\n el.dispatchEvent(event)\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {trackDismissableElement} from \"@qualcomm-ui/dom/dismissable\"\nimport {\n getPlacement,\n getPlacementSide,\n type Placement,\n} from \"@qualcomm-ui/dom/floating-ui\"\nimport {\n addDomEvent,\n clickIfLink,\n contains,\n getByTypeahead,\n getEventTarget,\n getInitialFocus,\n isEditableElement,\n observeAttributes,\n raf,\n scrollIntoView,\n} from \"@qualcomm-ui/dom/query\"\nimport {\n getElementPolygon,\n isPointInPolygon,\n type Point,\n} from \"@qualcomm-ui/dom/rect-utils\"\nimport {isEqual} from \"@qualcomm-ui/utils/equal\"\nimport {\n createGuards,\n createMachine,\n type GuardFn,\n type Machine,\n type MachineConfig,\n} from \"@qualcomm-ui/utils/machine\"\n\nimport {\n dispatchSelectionEvent,\n domEls,\n domIds,\n getElemByKey,\n getFirstEl,\n getItemEl,\n getItemId,\n getItemValue,\n getLastEl,\n getNextEl,\n getPrevEl,\n isTriggerItem,\n} from \"./internal\"\nimport type {MenuSchema, MenuScope} from \"./menu.types\"\n\nconst {and, not, or} = createGuards<MenuSchema>()\n\nexport const menuMachine: MachineConfig<MenuSchema> = createMachine<MenuSchema>(\n {\n actions: {\n clearHighlightedItem({context}) {\n context.set(\"highlightedValue\", null)\n },\n clearIntentPolygon({context}) {\n context.set(\"intentPolygon\", null)\n },\n clickHighlightedItem({computed, scope}) {\n const itemEl = scope.getById(computed(\"highlightedId\")!)\n if (!itemEl || itemEl.dataset.disabled) {\n return\n }\n queueMicrotask(() => itemEl.click())\n },\n closeRootMenu({refs}) {\n closeRootMenu({parent: refs.get(\"parent\")})\n },\n focusMenu({context, event, scope}) {\n raf(() => {\n const contentEl = domEls.content(scope)\n const initialFocusEl = getInitialFocus({\n enabled: !contains(contentEl, scope.getActiveElement()),\n filter(node) {\n return !node.role?.startsWith(\"menuitem\")\n },\n root: contentEl,\n })\n if (\"fromArrowKey\" in event && event.fromArrowKey) {\n context.set(\"itemFocusVisible\", true)\n }\n initialFocusEl?.focus({preventScroll: true})\n })\n },\n focusParentMenu({event, refs}) {\n refs.get(\"parent\")?.send({\n fromArrowKey: event.type.startsWith(\"ARROW\"),\n type: \"FOCUS_MENU\",\n })\n },\n focusTrigger({computed, context, event, scope}) {\n if (\n computed(\"isSubmenu\") ||\n context.get(\"anchorPoint\") ||\n (\"restoreFocus\" in event && event.restoreFocus === false)\n ) {\n return\n }\n queueMicrotask(() =>\n domEls.trigger(scope)?.focus({preventScroll: true}),\n )\n },\n highlightFirstItem({context, event, scope}) {\n // use raf in event content is lazy mounted\n const fn = domEls.content(scope) ? queueMicrotask : raf\n fn(() => {\n context.set(\n \"itemFocusVisible\",\n event.type.startsWith(\"ARROW\") ||\n (\"fromArrowKey\" in event && event.fromArrowKey),\n )\n const first = getFirstEl(scope)\n if (!first) {\n return\n }\n context.set(\"highlightedValue\", getItemValue(first))\n })\n },\n highlightLastItem({context, event, scope}) {\n // use raf in event content is lazy mounted\n const fn = domEls.content(scope) ? queueMicrotask : raf\n fn(() => {\n context.set(\"itemFocusVisible\", event.type.startsWith(\"ARROW\"))\n const last = getLastEl(scope)\n if (!last) {\n return\n }\n context.set(\"highlightedValue\", getItemValue(last))\n })\n },\n highlightMatchedItem({context, event, refs, scope}) {\n const node = getElemByKey(scope, {\n key: \"key\" in event ? event.key : \"\",\n typeaheadState: refs.get(\"typeaheadState\"),\n value: context.get(\"highlightedValue\"),\n })\n if (!node) {\n return\n }\n context.set(\"highlightedValue\", getItemValue(node))\n context.set(\"itemFocusVisible\", event.type.startsWith(\"ARROW\"))\n },\n highlightNextItem({context, event, prop, scope}) {\n const next = getNextEl(scope, {\n loop: \"loop\" in event ? event.loop : undefined,\n loopFocus: prop(\"loopFocus\"),\n value: context.get(\"highlightedValue\"),\n })\n context.set(\"highlightedValue\", getItemValue(next))\n context.set(\"itemFocusVisible\", event.type.startsWith(\"ARROW\"))\n },\n highlightPrevItem({context, event, prop, scope}) {\n const prev = getPrevEl(scope, {\n loop: \"loop\" in event ? event.loop : undefined,\n loopFocus: prop(\"loopFocus\"),\n value: context.get(\"highlightedValue\"),\n })\n context.set(\"highlightedValue\", getItemValue(prev))\n context.set(\"itemFocusVisible\", event.type.startsWith(\"ARROW\"))\n },\n invokeOnClose({prop}) {\n prop(\"onOpenChange\")?.(false)\n },\n invokeOnOpen({prop}) {\n prop(\"onOpenChange\")?.(true)\n },\n invokeOnSelect({context, prop, scope}) {\n const value = context.get(\"highlightedValue\")\n if (value == null) {\n return\n }\n\n const node = getItemEl(scope, value)\n dispatchSelectionEvent(node, value)\n\n prop(\"onSelect\")?.(value)\n },\n openSubmenu({computed, context, event, refs, scope}) {\n const item = scope.getById(computed(\"highlightedId\")!)\n const id = item?.getAttribute(\"data-uid\")\n const children = refs.get(\"children\")\n const child = id ? children[id] : null\n context.set(\"itemFocusVisible\", false)\n child?.send({\n fromArrowKey: event.type.startsWith(\"ARROW\"),\n type: \"OPEN_AUTOFOCUS\",\n })\n },\n reposition({context, event, prop, refs, scope}) {\n const getMenuPositionerEl = () => domEls.positioner(scope)\n const anchorPoint = context.get(\"anchorPoint\")\n const getAnchorRect = anchorPoint\n ? () => ({height: 0, width: 0, ...anchorPoint})\n : undefined\n\n const positioning = {\n ...prop(\"positioning\"),\n ...refs.get(\"positioningOverride\"),\n }\n\n getPlacement(domEls.trigger(scope), getMenuPositionerEl, {\n ...positioning,\n defer: true,\n getAnchorRect,\n ...(\"options\" in event ? (event.options ?? {}) : {}),\n listeners: false,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n })\n },\n restoreHighlightedItem({context}) {\n if (!context.get(\"lastHighlightedValue\")) {\n return\n }\n context.set(\"highlightedValue\", context.get(\"lastHighlightedValue\"))\n context.set(\"lastHighlightedValue\", null)\n },\n restoreParentHighlightedItem({refs}) {\n refs.get(\"parent\")?.send({type: \"HIGHLIGHTED.RESTORE\"})\n },\n resumePointer({flush, refs}) {\n const parent = refs.get(\"parent\")\n if (!parent) {\n return\n }\n flush(() => {\n parent.context.set(\"suspendPointer\", false)\n })\n },\n setAnchorPoint({context, event}) {\n if (\"point\" in event) {\n context.set(\"anchorPoint\", (prev) => {\n return isEqual(prev, event.point) ? prev : event.point\n })\n }\n },\n setChildMenu({event, refs}) {\n const children = refs.get(\"children\")\n if (\"id\" in event && \"value\" in event) {\n children[event.id] = event.value\n }\n refs.set(\"children\", children)\n },\n setHighlightedItem({context, event}) {\n context.set(\"itemFocusVisible\", false)\n if (\"value\" in event && event.value) {\n context.set(\"highlightedValue\", event.value as string)\n } else if (\"target\" in event) {\n context.set(\n \"highlightedValue\",\n getItemValue(event.target as HTMLElement),\n )\n } else {\n context.set(\"highlightedValue\", null)\n }\n },\n setIntentPolygon({context, event, scope}) {\n const menu = domEls.content(scope)\n const placement = context.get(\"currentPlacement\")\n\n if (!menu || !placement) {\n return\n }\n\n const rect = menu.getBoundingClientRect()\n const polygon = getElementPolygon(rect, placement)\n if (!polygon) {\n return\n }\n\n const rightSide = getPlacementSide(placement) === \"right\"\n const bleed = rightSide ? -5 : +5\n\n const point = \"point\" in event ? event.point : ({} as any)\n\n context.set(\"intentPolygon\", [\n {...point, x: point.x + bleed},\n ...polygon,\n ])\n },\n setLastHighlightedItem({context, event}) {\n if (\"target\" in event) {\n context.set(\n \"lastHighlightedValue\",\n getItemValue(event.target as HTMLElement),\n )\n }\n },\n setOptionState({event}) {\n if (!(\"option\" in event) || !event.option) {\n return\n }\n const {checked, onCheckedChange, type} = event.option\n if (type === \"radio\") {\n onCheckedChange?.(true)\n } else if (type === \"checkbox\") {\n onCheckedChange?.(!checked)\n }\n },\n setParentMenu({event, refs}) {\n refs.set(\n \"parent\",\n \"value\" in event ? (event.value as Machine<MenuSchema>) : null,\n )\n },\n setSubmenuPlacement({computed, refs}) {\n if (!computed(\"isSubmenu\")) {\n return\n }\n const placement = computed(\"isRtl\") ? \"left-start\" : \"right-start\"\n refs.set(\"positioningOverride\", {gutter: 0, placement})\n },\n toggleVisibility({event, prop, send}) {\n send({\n previousEvent: event,\n type: prop(\"open\") ? \"CONTROLLED.OPEN\" : \"CONTROLLED.CLOSE\",\n })\n },\n },\n computed: {\n highlightedId: ({context, refs, scope}) =>\n resolveItemId(\n refs.get(\"children\"),\n context.get(\"highlightedValue\"),\n scope,\n ),\n isRtl: ({prop}) => prop(\"dir\") === \"rtl\",\n isSubmenu: ({refs}) => !!refs.get(\"parent\"),\n isTypingAhead: ({refs}) => refs.get(\"typeaheadState\").keysSoFar !== \"\",\n },\n context({bindable, prop}) {\n return {\n anchorPoint: bindable<Point | null>(() => ({\n defaultValue: null,\n hash(value) {\n return `x: ${value?.x}, y: ${value?.y}`\n },\n })),\n currentPlacement: bindable<Placement | undefined>(() => ({\n defaultValue: undefined,\n })),\n highlightedValue: bindable<string | null>(() => ({\n defaultValue: prop(\"defaultHighlightedValue\") || null,\n onChange(value) {\n prop(\"onHighlightChange\")?.(value)\n },\n value: prop(\"highlightedValue\"),\n })),\n intentPolygon: bindable<Point[] | null>(() => ({\n defaultValue: null,\n })),\n itemFocusVisible: bindable<boolean>(() => ({\n defaultValue: false,\n })),\n lastHighlightedValue: bindable<string | null>(() => ({\n defaultValue: null,\n })),\n suspendPointer: bindable<boolean>(() => ({\n defaultValue: false,\n })),\n }\n },\n effects: {\n scrollToHighlightedItem({computed, event, scope}) {\n const exec = () => {\n if (event.type.startsWith(\"ITEM_POINTER\")) {\n return\n }\n\n const itemEl = scope.getById(computed(\"highlightedId\")!)\n const contentEl = domEls.content(scope)\n\n scrollIntoView(itemEl, {block: \"nearest\", rootEl: contentEl})\n }\n raf(() => exec())\n\n const contentEl = () => domEls.content(scope)\n return observeAttributes(contentEl, {\n attributes: [\"aria-activedescendant\"],\n callback: exec,\n defer: true,\n })\n },\n trackInteractOutside({computed, prop, refs, scope, send}) {\n const getContentEl = () => domEls.content(scope)\n let restoreFocus = true\n return trackDismissableElement(getContentEl, {\n defer: true,\n exclude: () => domEls.trigger(scope),\n onDismiss() {\n send({restoreFocus, src: \"interact-outside\", type: \"CLOSE\"})\n },\n onEscapeKeyDown(event) {\n prop(\"onEscapeKeyDown\")?.(event)\n if (computed(\"isSubmenu\")) {\n event.preventDefault()\n }\n closeRootMenu({parent: refs.get(\"parent\")})\n },\n onFocusOutside(event) {\n const target = getEventTarget(event.detail.originalEvent)\n if (contains(domEls.content(scope), event.currentTarget)) {\n // fix for angular nested portal behavior\n event.preventDefault()\n domEls.content(scope)?.focus()\n }\n prop(\"onFocusOutside\")?.(event)\n\n const isWithinContextTrigger = contains(\n domEls.contextTrigger(scope),\n target,\n )\n if (isWithinContextTrigger) {\n event.preventDefault()\n return\n }\n },\n onInteractOutside: prop(\"onInteractOutside\"),\n onPointerDownOutside(event) {\n prop(\"onPointerDownOutside\")?.(event)\n\n const target = getEventTarget(event.detail.originalEvent)\n const isWithinContextTrigger = contains(\n domEls.contextTrigger(scope),\n target,\n )\n if (isWithinContextTrigger && event.detail.contextmenu) {\n event.preventDefault()\n return\n }\n restoreFocus = !event.detail.focusable\n },\n onRequestDismiss: prop(\"onRequestDismiss\"),\n })\n },\n trackPointerMove({context, flush, refs, scope, send}) {\n const parent = refs.get(\"parent\")\n\n // NOTE: we're mutating parent context here. sending events to parent\n // doesn't work\n flush(() => {\n parent!.context.set(\"suspendPointer\", true)\n })\n\n const doc = scope.getDoc()\n\n return addDomEvent(doc, \"pointermove\", (e) => {\n const isMovingToSubmenu = isWithinPolygon(\n context.get(\"intentPolygon\"),\n {\n x: e.clientX,\n y: e.clientY,\n },\n )\n\n if (!isMovingToSubmenu) {\n send({type: \"POINTER_MOVED_AWAY_FROM_SUBMENU\"})\n parent!.context.set(\"suspendPointer\", false)\n }\n })\n },\n trackPositioning({context, prop, refs, scope}) {\n if (!!domEls.contextTrigger(scope)) {\n return\n }\n const positioning = {\n ...prop(\"positioning\"),\n ...refs.get(\"positioningOverride\"),\n }\n context.set(\"currentPlacement\", positioning.placement)\n const getPositionerEl = () => domEls.positioner(scope)\n return getPlacement(domEls.trigger(scope), getPositionerEl, {\n ...positioning,\n defer: true,\n onComplete(data) {\n context.set(\"currentPlacement\", data.placement)\n },\n })\n },\n waitForCloseDelay({send}) {\n const timer = setTimeout(() => {\n send({type: \"DELAY.CLOSE\"})\n }, 300)\n return () => clearTimeout(timer)\n },\n waitForLongPress({send}) {\n const timer = setTimeout(() => {\n send({type: \"LONG_PRESS.OPEN\"})\n }, 700)\n return () => clearTimeout(timer)\n },\n waitForOpenDelay({send}) {\n const timer = setTimeout(() => {\n send({type: \"DELAY.OPEN\"})\n }, 100)\n return () => clearTimeout(timer)\n },\n },\n guards: {\n closeOnSelect: ({event, prop}) =>\n \"closeOnSelect\" in event\n ? (event?.closeOnSelect ?? prop(\"closeOnSelect\"))\n : prop(\"closeOnSelect\"),\n isArrowDownEvent: ({event}) =>\n \"previousEvent\" in event && event.previousEvent?.type === \"ARROW_DOWN\",\n isArrowLeftEvent: ({event}) =>\n \"previousEvent\" in event && event.previousEvent?.type === \"ARROW_LEFT\",\n isArrowUpEvent: ({event}) =>\n \"previousEvent\" in event && event.previousEvent?.type === \"ARROW_UP\",\n isHighlightedItemEditable: ({computed, scope}) =>\n isEditableElement(scope.getById(computed(\"highlightedId\")!)),\n isOpenAutoFocusEvent: ({event}) =>\n \"previousEvent\" in event &&\n event.previousEvent?.type === \"OPEN_AUTOFOCUS\",\n // guard assertions (for controlled mode)\n isOpenControlled: ({prop}) => prop(\"open\") !== undefined,\n isPointerSuspended: ({context}) => context.get(\"suspendPointer\"),\n isSubmenu: ({computed}) => computed(\"isSubmenu\"),\n // whether the trigger is also a menu item\n isTriggerItem: ({event}) =>\n \"target\" in event && isTriggerItem(event.target as HTMLElement),\n // whether the trigger item is the active item\n isTriggerItemHighlighted: ({computed, event, scope}) => {\n const target = ((\"target\" in event ? event.target : undefined) ??\n scope.getById(computed(\"highlightedId\")!)) as HTMLElement | null\n return !!target?.hasAttribute(\"aria-controls\")\n },\n },\n ids({bindableId}) {\n return {\n arrow: bindableId(),\n content: bindableId(),\n contextTrigger: bindableId(),\n group: bindableId(),\n positioner: bindableId(),\n root: bindableId(),\n trigger: bindableId(),\n }\n },\n initialState({prop}) {\n const open = prop(\"open\") || prop(\"defaultOpen\")\n return open ? \"open\" : \"idle\"\n },\n on: {\n \"CHILD.SET\": {\n actions: [\"setChildMenu\"],\n },\n CLOSE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"closed\",\n },\n ],\n \"HIGHLIGHTED.RESTORE\": {\n actions: [\"restoreHighlightedItem\"],\n },\n \"HIGHLIGHTED.SET\": {\n actions: [\"setHighlightedItem\"],\n },\n OPEN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n OPEN_AUTOFOCUS: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstItem\", \"invokeOnOpen\"],\n // internal: true,\n target: \"open\",\n },\n ],\n \"PARENT.SET\": {\n actions: [\"setParentMenu\"],\n },\n },\n props({props}) {\n return {\n closeOnSelect: true,\n composite: true,\n dir: \"ltr\",\n loopFocus: false,\n navigate(details) {\n clickIfLink(details.node)\n },\n typeahead: true,\n ...props,\n positioning: {\n gutter: 5,\n placement: \"bottom-start\",\n ...props.positioning,\n },\n ...props,\n }\n },\n refs() {\n return {\n children: {},\n parent: null,\n positioningOverride: {},\n typeaheadState: {...getByTypeahead.defaultOptions},\n }\n },\n states: {\n closed: {\n entry: [\"clearHighlightedItem\", \"focusTrigger\", \"resumePointer\"],\n on: {\n ARROW_DOWN: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightFirstItem\", \"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n ARROW_UP: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"highlightLastItem\", \"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n CONTEXT_MENU: [\n {\n actions: [\"setAnchorPoint\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"setAnchorPoint\", \"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n CONTEXT_MENU_START: {\n actions: [\"setAnchorPoint\"],\n target: \"opening:contextmenu\",\n },\n \"CONTROLLED.OPEN\": [\n {\n actions: [\"highlightFirstItem\"],\n guard: or(\"isOpenAutoFocusEvent\", \"isArrowDownEvent\"),\n target: \"open\",\n },\n {\n actions: [\"highlightLastItem\"],\n guard: \"isArrowUpEvent\",\n target: \"open\",\n },\n {\n target: \"open\",\n },\n ],\n TRIGGER_BLUR: {target: \"idle\"},\n TRIGGER_CLICK: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n TRIGGER_POINTERMOVE: {\n guard: \"isTriggerItem\",\n target: \"opening\",\n },\n },\n tags: [\"closed\"],\n },\n\n closing: {\n effects: [\n \"trackPointerMove\",\n \"trackInteractOutside\",\n \"waitForCloseDelay\",\n ],\n on: {\n \"CONTROLLED.CLOSE\": {\n actions: [\"focusParentMenu\", \"restoreParentHighlightedItem\"],\n target: \"closed\",\n },\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n },\n \"DELAY.CLOSE\": [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\n \"focusParentMenu\",\n \"restoreParentHighlightedItem\",\n \"invokeOnClose\",\n ],\n target: \"closed\",\n },\n ],\n // don't invoke on open here since the menu is still open (we're only\n // keeping it open)\n MENU_POINTERENTER: {\n actions: [\"clearIntentPolygon\"],\n target: \"open\",\n },\n POINTER_MOVED_AWAY_FROM_SUBMENU: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"focusParentMenu\", \"restoreParentHighlightedItem\"],\n target: \"closed\",\n },\n ],\n },\n tags: [\"open\"],\n },\n\n idle: {\n on: {\n CONTEXT_MENU: [\n {\n actions: [\"setAnchorPoint\", \"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"setAnchorPoint\", \"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n CONTEXT_MENU_START: {\n actions: [\"setAnchorPoint\"],\n target: \"opening:contextmenu\",\n },\n \"CONTROLLED.CLOSE\": {\n target: \"closed\",\n },\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n },\n TRIGGER_CLICK: [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n TRIGGER_FOCUS: {\n guard: not(\"isSubmenu\"),\n target: \"closed\",\n },\n TRIGGER_POINTERMOVE: {\n guard: \"isSubmenu\",\n target: \"opening\",\n },\n },\n tags: [\"closed\"],\n },\n\n open: {\n effects: [\n \"trackInteractOutside\",\n \"trackPositioning\",\n \"scrollToHighlightedItem\",\n ],\n entry: [\"focusMenu\", \"resumePointer\"],\n on: {\n ARROW_DOWN: {\n actions: [\"highlightNextItem\", \"focusMenu\"],\n },\n ARROW_LEFT: [\n {\n actions: [\"invokeOnClose\"],\n guard: and(\"isSubmenu\", \"isOpenControlled\"),\n },\n {\n actions: [\"focusParentMenu\", \"invokeOnClose\"],\n guard: \"isSubmenu\",\n target: \"closed\",\n },\n ],\n ARROW_RIGHT: {\n actions: [\"openSubmenu\"],\n guard: \"isTriggerItemHighlighted\",\n },\n ARROW_UP: {\n actions: [\"highlightPrevItem\", \"focusMenu\"],\n },\n CONTEXT_MENU: {\n actions: [\"setAnchorPoint\", \"focusMenu\"],\n },\n \"CONTROLLED.CLOSE\": [\n {\n actions: [\"focusParentMenu\"],\n guard: \"isArrowLeftEvent\",\n target: \"closed\",\n },\n {\n target: \"closed\",\n },\n ],\n END: {\n actions: [\"highlightLastItem\", \"focusMenu\"],\n },\n ENTER: [\n {\n actions: [\"openSubmenu\"],\n guard: \"isTriggerItemHighlighted\",\n },\n {\n actions: [\"clickHighlightedItem\"],\n },\n ],\n FOCUS_MENU: {\n actions: [\"focusMenu\"],\n },\n HOME: {\n actions: [\"highlightFirstItem\", \"focusMenu\"],\n },\n ITEM_CLICK: [\n // == grouped ==\n {\n actions: [\n \"invokeOnSelect\",\n \"setOptionState\",\n \"closeRootMenu\",\n \"invokeOnClose\",\n ],\n guard: and(\n not(\"isTriggerItemHighlighted\"),\n not(\"isHighlightedItemEditable\"),\n \"closeOnSelect\",\n \"isOpenControlled\" as keyof GuardFn<MenuSchema>,\n ),\n },\n {\n actions: [\n \"invokeOnSelect\",\n \"setOptionState\",\n \"closeRootMenu\",\n \"invokeOnClose\",\n ],\n guard: and(\n not(\"isTriggerItemHighlighted\"),\n not(\"isHighlightedItemEditable\"),\n \"closeOnSelect\",\n ),\n target: \"closed\",\n },\n //\n {\n actions: [\"invokeOnSelect\", \"setOptionState\"],\n guard: and(\n not(\"isTriggerItemHighlighted\"),\n not(\"isHighlightedItemEditable\"),\n ),\n },\n {actions: [\"setHighlightedItem\"]},\n ],\n ITEM_POINTERDOWN: {\n actions: [\"setHighlightedItem\"],\n },\n ITEM_POINTERLEAVE: {\n actions: [\"clearHighlightedItem\"],\n guard: and(not(\"isPointerSuspended\"), not(\"isTriggerItem\")),\n },\n ITEM_POINTERMOVE: [\n {\n actions: [\"setHighlightedItem\", \"focusMenu\"],\n guard: not(\"isPointerSuspended\"),\n },\n {\n actions: [\"setLastHighlightedItem\"],\n },\n ],\n \"POSITIONING.SET\": {\n actions: [\"reposition\"],\n },\n TRIGGER_CLICK: [\n {\n actions: [\"invokeOnClose\"],\n guard: and(not(\"isTriggerItem\"), \"isOpenControlled\"),\n },\n {\n actions: [\"invokeOnClose\"],\n guard: not(\"isTriggerItem\"),\n target: \"closed\",\n },\n ],\n TRIGGER_POINTERLEAVE: {\n target: \"closing\",\n },\n TRIGGER_POINTERMOVE: {\n actions: [\"setIntentPolygon\"],\n guard: \"isTriggerItem\",\n },\n TYPEAHEAD: {\n actions: [\"highlightMatchedItem\"],\n },\n },\n tags: [\"open\"],\n },\n\n opening: {\n effects: [\"waitForOpenDelay\"],\n on: {\n BLUR: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"closed\",\n },\n ],\n \"CONTROLLED.CLOSE\": {\n target: \"closed\",\n },\n \"CONTROLLED.OPEN\": {\n target: \"open\",\n },\n \"DELAY.OPEN\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n TRIGGER_POINTERLEAVE: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"closed\",\n },\n ],\n },\n tags: [\"closed\"],\n },\n\n \"opening:contextmenu\": {\n effects: [\"waitForLongPress\"],\n on: {\n CONTEXT_MENU_CANCEL: [\n {\n actions: [\"invokeOnClose\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnClose\"],\n target: \"closed\",\n },\n ],\n \"CONTROLLED.CLOSE\": {target: \"closed\"},\n \"CONTROLLED.OPEN\": {target: \"open\"},\n \"LONG_PRESS.OPEN\": [\n {\n actions: [\"invokeOnOpen\"],\n guard: \"isOpenControlled\",\n },\n {\n actions: [\"invokeOnOpen\"],\n target: \"open\",\n },\n ],\n },\n tags: [\"closed\"],\n },\n },\n watch({action, computed, context, prop, track}) {\n track([() => computed(\"isSubmenu\")], () => {\n action([\"setSubmenuPlacement\"])\n })\n track([() => context.hash(\"anchorPoint\")], () => {\n action([\"reposition\"])\n })\n track([() => prop(\"open\")], () => {\n action([\"toggleVisibility\"])\n })\n },\n },\n)\n\nfunction closeRootMenu(ctx: {parent: Machine<MenuSchema> | null}) {\n let parent = ctx.parent\n while (parent && parent.computed(\"isSubmenu\")) {\n parent = parent.refs.get(\"parent\")\n }\n parent?.send({type: \"CLOSE\"})\n}\n\nfunction isWithinPolygon(polygon: Point[] | null, point: Point) {\n if (!polygon) {\n return false\n }\n return isPointInPolygon(polygon, point)\n}\n\nfunction resolveItemId(\n children: Record<string, Machine<MenuSchema>>,\n value: string | null,\n scope: MenuScope,\n) {\n const hasChildren = Object.keys(children).length > 0\n if (!value) {\n return null\n }\n if (!hasChildren) {\n return getItemId(scope, value)\n }\n for (const id in children) {\n const childMenu = children[id]\n const childTriggerId = domIds.trigger(childMenu.scope)\n if (childTriggerId === value) {\n return childTriggerId\n }\n }\n return getItemId(scope, value)\n}\n", "// Modified from https://github.com/chakra-ui/zag\n// MIT License\n// Changes from Qualcomm Technologies, Inc. are provided under the following license:\n// Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.\n// SPDX-License-Identifier: BSD-3-Clause-Clear\n\nimport {createProps, createSplitProps} from \"@qualcomm-ui/utils/object\"\n\nimport type {ItemProps, MenuApiProps, OptionItemProps} from \"./menu.types\"\n\nexport const menuProps: (keyof MenuApiProps)[] = createProps<MenuApiProps>()(\n \"anchorPoint\",\n \"closeOnSelect\",\n \"composite\",\n \"defaultHighlightedValue\",\n \"defaultOpen\",\n \"dir\",\n \"getRootNode\",\n \"highlightedValue\",\n \"id\",\n \"loopFocus\",\n \"navigate\",\n \"onEscapeKeyDown\",\n \"onFocusOutside\",\n \"onHighlightChange\",\n \"onInteractOutside\",\n \"onOpenChange\",\n \"onPointerDownOutside\",\n \"onRequestDismiss\",\n \"onSelect\",\n \"open\",\n \"positioning\",\n \"typeahead\",\n)\n\nexport const splitMenuProps: <Props extends MenuApiProps>(\n props: Props,\n) => [MenuApiProps, Omit<Props, keyof MenuApiProps>] =\n createSplitProps<MenuApiProps>(menuProps)\n\nexport const menuItemProps: (keyof ItemProps)[] = createProps<ItemProps>()(\n \"closeOnSelect\",\n \"disabled\",\n \"onSelect\",\n \"value\",\n \"valueText\",\n)\n\nexport const splitMenuItemProps: <Props extends ItemProps>(\n props: Props,\n) => [ItemProps, Omit<Props, keyof ItemProps>] =\n createSplitProps<ItemProps>(menuItemProps)\n\nexport const menuOptionItemProps: (keyof OptionItemProps)[] =\n createProps<OptionItemProps>()(\n \"closeOnSelect\",\n \"disabled\",\n \"checked\",\n \"onCheckedChange\",\n \"onSelect\",\n \"value\",\n \"type\",\n \"valueText\",\n )\n\nexport const splitMenuOptionItemProps: <Props extends OptionItemProps>(\n props: Props,\n) => [OptionItemProps, Omit<Props, keyof OptionItemProps>] =\n createSplitProps<OptionItemProps>(menuOptionItemProps)\n"],
|
|
5
|
+
"mappings": "AAMA,OAAQ,sBAAAA,OAAyB,+BACjC,OACE,eAAAC,GACA,iBAAAC,EACA,kBAAAC,GACA,mBAAAC,GACA,sBAAAC,GACA,sBAAAC,GACA,qBAAAC,GACA,iBAAAC,GACA,qBAAAC,GACA,kBAAAC,GACA,gBAAAC,GACA,mBAAAC,OACK,yBACP,OAAQ,mBAAAC,EAAiB,mBAAAC,MAAsB,gCAC/C,OAAQ,QAAAC,MAAW,+BACnB,OAAQ,WAAAC,MAAc,2BAOtB,OAAQ,cAAAC,OAAiB,iCCxBzB,OACE,kBAAAC,GACA,aAAAC,GACA,iBAAAC,GACA,YAAAC,OAEK,yBACP,OAAQ,SAAAC,GAAO,QAAAC,GAAM,QAAAC,GAAM,QAAAC,OAAW,2BAK/B,IAAMC,EAAiD,CAC5D,MAAQC,GAAUA,EAAM,IAAI,IAAI,OAAO,EACvC,QAAUA,GAAUA,EAAM,IAAI,IAAI,SAAS,EAC3C,eAAiBA,GAAUA,EAAM,IAAI,IAAI,gBAAgB,EACzD,MAAQA,GAAUA,EAAM,IAAI,IAAI,OAAO,EACvC,WAAaA,GAAUA,EAAM,IAAI,IAAI,YAAY,EACjD,QAAUA,GAAUA,EAAM,IAAI,IAAI,SAAS,CAC7C,EAEaC,EAAsD,CACjE,MAAQD,GAAUA,EAAM,QAAQD,EAAO,MAAMC,CAAK,CAAC,EACnD,QAAUA,GAAUA,EAAM,QAAQD,EAAO,QAAQC,CAAK,CAAC,EACvD,eAAiBA,GAAUA,EAAM,QAAQD,EAAO,eAAeC,CAAK,CAAC,EACrE,MAAQA,GAAUA,EAAM,QAAQD,EAAO,MAAMC,CAAK,CAAC,EACnD,WAAaA,GAAUA,EAAM,QAAQD,EAAO,WAAWC,CAAK,CAAC,EAC7D,QAAUA,GAAUA,EAAM,QAAQD,EAAO,QAAQC,CAAK,CAAC,CACzD,EAGO,SAASE,EAAUC,EAAgBC,EAAoB,CAC5D,MAAO,GAAGD,EAAI,EAAE,IAAIC,CAAE,EACxB,CACO,SAASC,EACdC,EACe,CACf,OAAOA,GAAI,QAAQ,OAAS,IAC9B,CAEO,SAASC,EAAWJ,EAAgBC,EAAY,CACrD,MAAO,QAAQD,EAAI,EAAE,UAAUC,CAAE,EACnC,CAEO,SAASI,EACdL,EACAC,EACoB,CACpB,GAAI,GAACD,EAAI,IAAM,CAACC,GAGhB,MAAO,QAAQD,EAAI,EAAE,gBAAgBC,CAAE,EACzC,CAEO,SAASK,EAAcH,EAAiC,CAC7D,MACE,CAAC,CAACA,GAAI,aAAa,MAAM,GAAG,WAAW,UAAU,GACjD,CAAC,CAACA,GAAI,aAAa,eAAe,CAEtC,CACO,IAAMI,EAAeP,GAAkC,CAE5D,IAAMQ,EAAW,mCADD,IAAI,OAAOZ,EAAO,QAAQI,CAAG,CAAC,CACa,yBAC3D,OAAOT,GAASO,EAAO,QAAQE,CAAG,EAAGQ,CAAQ,CAC/C,EACaC,EAAcT,GACzBR,GAAMe,EAAYP,CAAG,CAAC,EACXU,EAAaV,GACxBP,GAAKc,EAAYP,CAAG,CAAC,EAEjBW,EAAU,CAACR,EAAiBS,IAC3BA,EAGET,EAAG,KAAOS,GAAST,EAAG,QAAQ,QAAUS,EAFtC,GAKJ,SAASC,EACdb,EACAc,EACyB,CACzB,IAAMC,EAAQR,EAAYP,CAAG,EACvBgB,EAAQD,EAAM,UAAWZ,GAAOQ,EAAQR,EAAIW,EAAK,KAAK,CAAC,EAC7D,OAAOpB,GAAKqB,EAAOC,EAAO,CAAC,KAAMF,EAAK,MAAQA,EAAK,SAAS,CAAC,CAC/D,CAEO,SAASG,EACdjB,EACAc,EACyB,CACzB,IAAMC,EAAQR,EAAYP,CAAG,EACvBgB,EAAQD,EAAM,UAAWZ,GAAOQ,EAAQR,EAAIW,EAAK,KAAK,CAAC,EAC7D,OAAOnB,GAAKoB,EAAOC,EAAO,CAAC,KAAMF,EAAK,MAAQA,EAAK,SAAS,CAAC,CAC/D,CAEO,SAASI,GACdlB,EACAc,EACyB,CACzB,IAAMC,EAAQR,EAAYP,CAAG,EACvBmB,EAAOJ,EAAM,KAAMZ,GAAOQ,EAAQR,EAAIW,EAAK,KAAK,CAAC,EACvD,OAAO1B,GAAe2B,EAAO,CAC3B,SAAUI,GAAM,IAAM,KACtB,IAAKL,EAAK,IACV,MAAOA,EAAK,cACd,CAAC,CACH,CAEO,SAASM,EACdpB,EACAY,EACoB,CACpB,OAAOA,EAAQZ,EAAI,QAAQD,EAAUC,EAAKY,CAAK,CAAC,EAAI,IACtD,CAEO,SAASS,EAAiBC,EAAgC,CAC/D,OACEhC,GAAcgC,CAAC,IACdA,EAAE,QAAQ,WAAa,IAAMA,EAAE,aAAa,UAAU,EAE3D,CAEO,IAAMC,EAAkB,cAExB,SAASC,GACdrB,EACAS,EACM,CACN,GAAI,CAACT,EACH,OAEF,IAAMsB,EAAMpC,GAAUc,CAAE,EAClBuB,EAAQ,IAAID,EAAI,YAAYF,EAAiB,CAAC,OAAQ,CAAC,MAAAX,CAAK,CAAC,CAAC,EACpET,EAAG,cAAcuB,CAAK,CACxB,CDzEO,SAASC,GACdC,EACAC,EACS,CACT,GAAM,CAAC,SAAAC,EAAU,QAAAC,EAAS,KAAAC,EAAM,MAAAC,EAAO,KAAAC,EAAM,MAAAC,CAAK,EAAIP,EAEhDQ,EAAqC,CACzC,aAAc,OACd,IAAKJ,EAAK,KAAK,CACjB,EAEMK,EAAOF,EAAM,OAAO,MAAM,EAE1BG,EAAYN,EAAK,WAAW,EAE5BO,EAAmBR,EAAQ,IAAI,kBAAkB,EACjDS,GAAcT,EAAQ,IAAI,aAAa,EACvCU,EAAmBV,EAAQ,IAAI,kBAAkB,EAEjDW,EAAeC,GAAmB,CACtC,GAAGX,EAAK,aAAa,EACrB,UAAWQ,GAAc,SAAWD,CACtC,CAAC,EAED,SAASK,EAAaC,EAA6B,CACjD,MAAO,CACL,SAAU,CAAC,CAACA,EAAM,SAClB,YAAaJ,IAAqBI,EAAM,OAAS,CAAC,CAACA,EAAM,MACzD,GAAIC,EAAUb,EAAOY,EAAM,KAAK,CAClC,CACF,CAEA,SAASE,EACPF,EAC0B,CAC1B,IAAMG,EAAYH,EAAM,WAAaA,EAAM,MAC3C,MAAO,CAAC,GAAGA,EAAO,GAAIA,EAAM,MAAO,UAAAG,CAAS,CAC9C,CAEA,SAASC,EAAmBJ,EAAyC,CAEnE,MAAO,CACL,GAFgBD,EAAaG,EAAmBF,CAAK,CAAC,EAGtD,QAAS,CAAC,CAACA,EAAM,OACnB,CACF,CAEA,SAASK,EAAgBL,EAAoC,CAC3D,GAAM,CAAC,cAAAM,EAAe,MAAAC,EAAO,UAAAJ,CAAS,EAAIH,EACpCQ,EAAYT,EAAaC,CAAK,EAC9BS,EAAKR,EAAUb,EAAOmB,CAAK,EACjC,OAAOvB,EAAU,QAAQ,CACvB,GAAGO,EACH,gBAAiBmB,EAAgBF,EAAU,QAAQ,EACnD,gBAAiBG,EAAgBH,EAAU,QAAQ,EACnD,qBAAsBG,EACpBH,EAAU,aAAetB,EAAQ,IAAI,kBAAkB,CACzD,EACA,mBAAoByB,EAAgBH,EAAU,WAAW,EACzD,eAAgBI,EAAO,QAAQxB,CAAK,EACpC,YAAa,OACb,aAAcmB,EACd,iBAAkBJ,EAClB,GAAAM,EACA,QAAQI,EAAO,CAOb,GANIC,GAAmBD,CAAK,GAGxBE,GAAkBF,CAAK,GAGvBL,EAAU,SACZ,OAGF,IAAMQ,EAASH,EAAM,cACrBxB,EAAK,CAAC,cAAAiB,EAAe,GAAAG,EAAI,OAAAO,EAAQ,KAAM,YAAY,CAAC,CACtD,EACA,YAAYH,EAAO,CACFA,EAAM,cAAc,QAAQ,SAAS,GAElDA,EAAM,eAAe,CAEzB,EACA,cAAcA,EAAO,CACnB,GAAIL,EAAU,SACZ,OAEF,IAAMQ,EAASH,EAAM,cACrBxB,EAAK,CAAC,cAAAiB,EAAe,GAAAG,EAAI,OAAAO,EAAQ,KAAM,kBAAkB,CAAC,CAC5D,EACA,eAAeH,EAAO,CASpB,GARIL,EAAU,UAGVK,EAAM,cAAgB,SAKtB,CADiB9B,EAAQ,MAAM,SAAS,GAAG,KAAK,SAAS,SAAS,EAEpE,OAGF,IAAMiC,EAASH,EAAM,cACrBxB,EAAK,CAAC,cAAAiB,EAAe,GAAAG,EAAI,OAAAO,EAAQ,KAAM,mBAAmB,CAAC,CAC7D,EACA,cAAcH,EAAO,CAInB,GAHIL,EAAU,UAGVK,EAAM,cAAgB,QACxB,OAEF,IAAMG,EAASH,EAAM,cACjBL,EAAU,aAGdnB,EAAK,CAAC,cAAAiB,EAAe,GAAAG,EAAI,OAAAO,EAAQ,KAAM,kBAAkB,CAAC,CAC5D,EACA,KAAM,WACN,SAAU,EACZ,CAAC,CACH,CAEA,MAAO,CACL,gBAAgBhB,EAAO,CACrB,IAAMiB,EAAO7B,EAAM,QAAQY,EAAM,EAAE,EACnC,GAAI,CAACiB,EACH,OAEF,IAAMC,EAAW,IAAMlB,EAAM,WAAW,EACxC,OAAAiB,EAAK,iBAAiBE,EAAiBD,CAAQ,EACxC,IAAMD,EAAK,oBAAoBE,EAAiBD,CAAQ,CACjE,EACA,iBAAAtB,EACA,KAAAJ,EACA,WAAW4B,EAAU,CAAC,EAAG,CACvB/B,EAAK,CAAC,QAAA+B,EAAS,KAAM,iBAAiB,CAAC,CACzC,EAEA,SAASC,EAAO,CACdhC,EAAK,CAAC,GAAIgC,EAAM,KAAK,IAAI,EAAI,KAAM,YAAa,MAAOA,CAAK,CAAC,CAC/D,EACA,oBAAoBd,EAAO,CACzBlB,EAAK,CAAC,KAAM,kBAAmB,MAAAkB,CAAK,CAAC,CACvC,EACA,QAAQe,EAAU,CACHhC,EAAM,OAAO,MAAM,IACnBgC,GAGbjC,EAAK,CAAC,KAAMiC,EAAW,OAAS,OAAO,CAAC,CAC1C,EACA,UAAUC,EAAQ,CAChBlC,EAAK,CAAC,GAAIkC,EAAO,KAAK,IAAI,EAAI,KAAM,aAAc,MAAOA,CAAM,CAAC,CAClE,EAGA,kBAAsC,CACpC,OAAOvC,EAAU,QAAQ,CACvB,GAAGO,EACH,YAAa,QACb,MAAOM,EAAa,KACtB,CAAC,CACH,EAEA,qBAA4C,CAC1C,OAAOb,EAAU,QAAQ,CACvB,GAAGO,EACH,YAAa,YACb,MAAOM,EAAa,QACtB,CAAC,CACH,EAEA,mBAAmBG,EAA4B,CAC7C,OAAAZ,EAAM,IAAI,IAAI,UAAWY,EAAM,EAAE,EAC1BhB,EAAU,QAAQ,CACvB,GAAGO,EACH,wBAAyBN,EAAS,eAAe,GAAK,OACtD,kBAAmB2B,EAAO,QAAQxB,CAAK,EACvC,YAAaF,EAAQ,IAAI,aAAa,EAAI,kBAAoB,UAC9D,YAAa,UACb,iBAAkBQ,EAClB,aAAcF,EAAO,OAAS,SAC9B,OAAQ,CAACA,EACT,GAAIoB,EAAO,QAAQxB,CAAK,EACxB,UAAUyB,EAAO,CAIf,GAHIA,EAAM,kBAGN,CAACW,GAAaX,CAAK,EACrB,OAGF,IAAMG,EAASS,GAAwBZ,CAAK,EAK5C,GAAI,EAFFG,GAAQ,QAAQ,aAAa,IAAMH,EAAM,eACzCG,IAAWH,EAAM,eAEjB,OAGF,GAAIA,EAAM,MAAQ,OAEZ,CADUa,GAAgBb,CAAK,EACvB,CACVA,EAAM,eAAe,EACrB,MACF,CAGF,IAAMc,EAAOC,EAAUxC,EAAOQ,CAAgB,EACxCiC,EAAsB,CAC1B,WAAY,CACVxC,EAAK,CAAC,KAAM,YAAY,CAAC,CAC3B,EACA,WAAY,CACVA,EAAK,CAAC,KAAM,YAAY,CAAC,CAC3B,EACA,YAAa,CACXA,EAAK,CAAC,KAAM,aAAa,CAAC,CAC5B,EACA,SAAU,CACRA,EAAK,CAAC,KAAM,UAAU,CAAC,CACzB,EACA,KAAM,CACJA,EAAK,CAAC,KAAM,KAAK,CAAC,CACpB,EACA,OAAQ,CACNA,EAAK,CAAC,KAAM,OAAO,CAAC,EAEhBO,GAAoB,MAIpBkC,GAAgBH,CAAI,GACtBxC,EAAK,UAAU,IAAI,CACjB,KAAMwC,EAAK,KACX,KAAMA,EACN,MAAO/B,CACT,CAAC,CAEL,EACA,MAAO,CACLP,EAAK,CAAC,KAAM,MAAM,CAAC,CACrB,EACA,MAAMwB,EAAO,CACP5B,EAAS,eAAe,EAC1BI,EAAK,CAAC,IAAKwB,EAAM,IAAK,KAAM,WAAW,CAAC,EAExCgB,EAAO,QAAQhB,CAAK,CAExB,CACF,EAEMkB,EAAMC,GAAYnB,EAAO,CAAC,IAAK1B,EAAK,KAAK,CAAC,CAAC,EAC3C8C,EAAOJ,EAAOE,CAAG,EAEvB,GAAIE,EAAM,CACRA,EAAKpB,CAAuC,EAC5CA,EAAM,gBAAgB,EACtBA,EAAM,eAAe,EACrB,MACF,CAGK1B,EAAK,WAAW,GAGhB+C,GAAerB,CAAK,IAGrBsB,GAActB,CAAK,GAGnBuB,GAAkBpB,CAAM,IAI5B3B,EAAK,CAAC,IAAKwB,EAAM,IAAK,KAAM,WAAW,CAAC,EACxCA,EAAM,eAAe,GACvB,EACA,eAAeA,EAAO,CAChBA,EAAM,cAAgB,SAG1BxB,EAAK,CAAC,KAAM,mBAAmB,CAAC,CAClC,EACA,KAAMI,EAAY,OAAS,SAC3B,SAAU,CACZ,CAAC,CACH,EAEA,0BAA0BO,EAAmC,CAC3D,OAAAZ,EAAM,IAAI,SAAS,iBAAkBY,CAAK,EACnChB,EAAU,QAAQ,CACvB,GAAGO,EACH,YAAa,kBACb,GAAIS,EAAM,GACV,cAAca,EAAO,CACnB,IAAMwB,EAAQC,EAAczB,CAAK,EACjCxB,EAAK,CAAC,MAAAgD,EAAO,KAAM,cAAc,CAAC,EAClCxB,EAAM,eAAe,CACvB,EACA,gBAAgBA,EAAO,CACjBA,EAAM,cAAgB,SAG1BxB,EAAK,CAAC,KAAM,qBAAqB,CAAC,CACpC,EACA,cAAcwB,EAAO,CACnB,GAAIA,EAAM,cAAgB,QACxB,OAEF,IAAMwB,EAAQC,EAAczB,CAAK,EACjCxB,EAAK,CAAC,MAAAgD,EAAO,KAAM,oBAAoB,CAAC,CAC1C,EACA,cAAcxB,EAAO,CACfA,EAAM,cAAgB,SAG1BxB,EAAK,CAAC,KAAM,qBAAqB,CAAC,CACpC,EACA,YAAYwB,EAAO,CACbA,EAAM,cAAgB,SAG1BxB,EAAK,CAAC,KAAM,qBAAqB,CAAC,CACpC,EACA,MAAO,CACL,WAAY,OACZ,mBAAoB,OACpB,iBAAkB,MACpB,CACF,CAAC,CACH,EAEA,gBAAAgB,EAEA,qBAAqBL,EAA8B,CACjD,OAAOhB,EAAU,QAAQ,CACvB,GAAGO,EACH,kBAAmBgD,EAAgBnD,EAAOY,EAAM,EAAE,EAClD,YAAa,aACb,GAAIwC,EAAWpD,EAAOY,EAAM,EAAE,EAC9B,KAAM,OACR,CAAC,CACH,EAEA,0BAA0BA,EAAmC,CAC3D,OAAOhB,EAAU,QAAQ,CACvB,GAAGO,EACH,YAAa,mBACb,GAAIgD,EAAgBnD,EAAOY,EAAM,OAAO,CAC1C,CAAC,CACH,EAEA,yBAAyBA,EAAkC,CACzD,IAAMQ,EAAYJ,EAAmBqC,EAAKzC,CAAK,CAAC,EAC1C0C,EAAYlC,EAAU,QAAU,UAAY,YAClD,OAAOxB,EAAU,QAAQ,CACvB,GAAGO,EACH,gBAAiBoB,EAAgBH,EAAU,QAAQ,EACnD,mBAAoBG,EAAgBH,EAAU,WAAW,EACzD,YAAa,iBACb,aAAcmC,EAAQ3C,EAAO,SAAS,EAAI0C,EAAY,OACtD,OAAQC,EAAQ3C,EAAO,SAAS,EAAI,CAACQ,EAAU,QAAU,MAC3D,CAAC,CACH,EAEA,qBAAqBR,EAA8B,CACjD,IAAMQ,EAAYJ,EAAmBqC,EAAKzC,CAAK,CAAC,EAC1C0C,EAAYlC,EAAU,QAAU,UAAY,YAClD,OAAOxB,EAAU,QAAQ,CACvB,GAAGO,EACH,gBAAiBoB,EAAgBH,EAAU,QAAQ,EACnD,mBAAoBG,EAAgBH,EAAU,WAAW,EACzD,YAAa,YACb,aAAcmC,EAAQ3C,EAAO,SAAS,EAAI0C,EAAY,MACxD,CAAC,CACH,EAEA,aAAA3C,EAEA,sBAAsBC,EAA+B,CACnD,GAAM,CAAC,cAAAM,EAAe,SAAAsC,EAAU,KAAAC,CAAI,EAAI7C,EAElC8C,EAAS5C,EAAmBF,CAAK,EACjCQ,EAAYJ,EAAmBJ,CAAK,EAE1C,MAAO,CACL,GAAGK,EAAgByC,CAAM,EACzB,GAAG9D,EAAU,QAAQ,CACnB,GAAGO,EACH,eAAgBmB,EAAgBF,EAAU,OAAO,EACjD,aAAcA,EAAU,QAAU,UAAY,YAC9C,YAAaqC,EACb,aAAcC,EAAO,MACrB,IAAK3D,EAAK,KAAK,EACf,QAAQ0B,EAAO,CAOb,GANI+B,GAGA9B,GAAmBD,CAAK,GAGxBE,GAAkBF,CAAK,EACzB,OAEF,IAAMG,EAASH,EAAM,cACrBxB,EAAK,CACH,cAAAiB,EACA,OAAQ,CACN,GAAGwC,EAEH,QACEL,EAAwBzB,CAAM,EAAE,aAAa,YAAY,IACzD,SACJ,EACA,OAAAA,EACA,KAAM,YACR,CAAC,CACH,EACA,KAAM,WAAW6B,CAAI,EACvB,CAA2B,CAC7B,CACF,EAEA,6BAA6B7C,EAAsC,CACjE,IAAMQ,EAAYJ,EAAmBJ,CAAK,EAC1C,OAAOhB,EAAU,QAAQ,CACvB,GAAGO,EACH,gBAAiBoB,EAAgBH,EAAU,QAAQ,EACnD,YAAa,eACb,aAAcA,EAAU,QAAU,UAAY,WAChD,CAAC,CACH,EAEA,mBAAAJ,EAEA,sBAAsBJ,EAA+B,CACnD,OAAAZ,EAAM,IAAI,IAAI,aAAcY,EAAM,EAAE,EAC7BhB,EAAU,QAAQ,CACvB,GAAGO,EACH,YAAa,aACb,GAAIS,EAAM,GACV,MAAOH,EAAa,QACtB,CAAC,CACH,EAEA,sBAA8C,CAC5C,OAAOb,EAAU,QAAQ,CACvB,GAAGO,EACH,mBAAoB,aACpB,YAAa,YACb,KAAM,WACR,CAAC,CACH,EAEA,mBAAmBS,EAA4B,CAC7C,OAAAZ,EAAM,IAAI,IAAI,UAAWY,EAAM,EAAE,EAC1BhB,EAAU,OAAO,CACtB,GAAGO,EACH,gBAAiBqB,EAAO,QAAQxB,CAAK,EACrC,gBAAiBsB,EAAgBlB,CAAI,EACrC,gBAAiBC,EAAY,OAAS,SACtC,YAAaR,EAAS,WAAW,EAAI,eAAiB,UACtD,iBAAkBC,EAAQ,IAAI,kBAAkB,EAChD,aAAcM,EAAO,OAAS,SAC9B,WAAYL,EAAK,IAAI,EACrB,GAAIa,EAAM,GACV,QAAS,CACPX,EAAK,CAAC,KAAM,cAAc,CAAC,CAC7B,EACA,QAAQwB,EAAO,CACTA,EAAM,kBAGNkC,EAAiBlC,EAAM,aAAa,GAGxCxB,EAAK,CAAC,OAAQwB,EAAM,cAAe,KAAM,eAAe,CAAC,CAC3D,EACA,SAAU,CACRxB,EAAK,CAAC,KAAM,eAAe,CAAC,CAC9B,EACA,UAAUwB,EAAO,CACf,GAAIA,EAAM,iBACR,OAEF,IAAMgB,EAAsB,CAC1B,WAAY,CACVxC,EAAK,CAAC,KAAM,YAAY,CAAC,CAC3B,EACA,SAAU,CACRA,EAAK,CAAC,KAAM,UAAU,CAAC,CACzB,EACA,OAAQ,CACNA,EAAK,CAAC,IAAK,QAAS,KAAM,YAAY,CAAC,CACzC,EACA,OAAQ,CACNA,EAAK,CAAC,IAAK,QAAS,KAAM,YAAY,CAAC,CACzC,CACF,EAEM0C,EAAMC,GAAYnB,EAAO,CAC7B,IAAK1B,EAAK,KAAK,EACf,YAAa,UACf,CAAC,EACK8C,EAAOJ,EAAOE,CAAG,EAEnBE,IACFpB,EAAM,eAAe,EACrBoB,EAAKpB,CAAuC,EAEhD,EACA,cAAcA,EAAO,CACfkC,EAAiBlC,EAAM,aAAa,GAGpCmC,GAAmBnC,CAAK,GAG5BA,EAAM,eAAe,CACvB,EACA,eAAeA,EAAO,CAOpB,GANIkC,EAAiBlC,EAAM,aAAa,GAGpCA,EAAM,cAAgB,SAGtB,CAAC5B,EAAS,WAAW,EACvB,OAEF,IAAMoD,EAAQC,EAAczB,CAAK,EACjCxB,EAAK,CACH,MAAAgD,EACA,OAAQxB,EAAM,cACd,KAAM,sBACR,CAAC,CACH,EACA,cAAcA,EAAO,CAKnB,GAJIA,EAAM,cAAgB,SAGTkC,EAAiBlC,EAAM,aAAa,GACrC,CAAC5B,EAAS,WAAW,EACnC,OAEF,IAAMoD,EAAQC,EAAczB,CAAK,EACjCxB,EAAK,CACH,MAAAgD,EACA,OAAQxB,EAAM,cACd,KAAM,qBACR,CAAC,CACH,EACA,KAAM,QACR,CAAC,CACH,EAEA,uBAAuBoC,EAAUjD,EAAgC,CAC/D,IAAMkD,EAAeD,EAAS,mBAAmBjD,CAAK,EACtD,OAAOmD,GAAW9C,EAAgB,CAAC,MAAO6C,EAAa,EAAE,CAAC,EAAGA,CAAY,CAC3E,CACF,CACF,CEpnBA,OAAQ,2BAAAE,OAA8B,+BACtC,OACE,gBAAAC,GACA,oBAAAC,OAEK,+BACP,OACE,eAAAC,GACA,eAAAC,GACA,YAAAC,EACA,kBAAAC,GACA,kBAAAC,GACA,mBAAAC,GACA,qBAAAC,GACA,qBAAAC,GACA,OAAAC,EACA,kBAAAC,OACK,yBACP,OACE,qBAAAC,GACA,oBAAAC,OAEK,8BACP,OAAQ,WAAAC,OAAc,2BACtB,OACE,gBAAAC,GACA,iBAAAC,OAIK,6BAkBP,GAAM,CAAC,IAAAC,EAAK,IAAAC,EAAK,GAAAC,EAAE,EAAIC,GAAyB,EAEnCC,GAAyCC,GACpD,CACE,QAAS,CACP,qBAAqB,CAAC,QAAAC,CAAO,EAAG,CAC9BA,EAAQ,IAAI,mBAAoB,IAAI,CACtC,EACA,mBAAmB,CAAC,QAAAA,CAAO,EAAG,CAC5BA,EAAQ,IAAI,gBAAiB,IAAI,CACnC,EACA,qBAAqB,CAAC,SAAAC,EAAU,MAAAC,CAAK,EAAG,CACtC,IAAMC,EAASD,EAAM,QAAQD,EAAS,eAAe,CAAE,EACnD,CAACE,GAAUA,EAAO,QAAQ,UAG9B,eAAe,IAAMA,EAAO,MAAM,CAAC,CACrC,EACA,cAAc,CAAC,KAAAC,CAAI,EAAG,CACpBC,GAAc,CAAC,OAAQD,EAAK,IAAI,QAAQ,CAAC,CAAC,CAC5C,EACA,UAAU,CAAC,QAAAJ,EAAS,MAAAM,EAAO,MAAAJ,CAAK,EAAG,CACjCK,EAAI,IAAM,CACR,IAAMC,EAAYC,EAAO,QAAQP,CAAK,EAChCQ,EAAiBC,GAAgB,CACrC,QAAS,CAACC,EAASJ,EAAWN,EAAM,iBAAiB,CAAC,EACtD,OAAOW,EAAM,CACX,MAAO,CAACA,EAAK,MAAM,WAAW,UAAU,CAC1C,EACA,KAAML,CACR,CAAC,EACG,iBAAkBF,GAASA,EAAM,cACnCN,EAAQ,IAAI,mBAAoB,EAAI,EAEtCU,GAAgB,MAAM,CAAC,cAAe,EAAI,CAAC,CAC7C,CAAC,CACH,EACA,gBAAgB,CAAC,MAAAJ,EAAO,KAAAF,CAAI,EAAG,CAC7BA,EAAK,IAAI,QAAQ,GAAG,KAAK,CACvB,aAAcE,EAAM,KAAK,WAAW,OAAO,EAC3C,KAAM,YACR,CAAC,CACH,EACA,aAAa,CAAC,SAAAL,EAAU,QAAAD,EAAS,MAAAM,EAAO,MAAAJ,CAAK,EAAG,CAE5CD,EAAS,WAAW,GACpBD,EAAQ,IAAI,aAAa,GACxB,iBAAkBM,GAASA,EAAM,eAAiB,IAIrD,eAAe,IACbG,EAAO,QAAQP,CAAK,GAAG,MAAM,CAAC,cAAe,EAAI,CAAC,CACpD,CACF,EACA,mBAAmB,CAAC,QAAAF,EAAS,MAAAM,EAAO,MAAAJ,CAAK,EAAG,EAE/BO,EAAO,QAAQP,CAAK,EAAI,eAAiBK,GACjD,IAAM,CACPP,EAAQ,IACN,mBACAM,EAAM,KAAK,WAAW,OAAO,GAC1B,iBAAkBA,GAASA,EAAM,YACtC,EACA,IAAMQ,EAAQC,EAAWb,CAAK,EACzBY,GAGLd,EAAQ,IAAI,mBAAoBgB,EAAaF,CAAK,CAAC,CACrD,CAAC,CACH,EACA,kBAAkB,CAAC,QAAAd,EAAS,MAAAM,EAAO,MAAAJ,CAAK,EAAG,EAE9BO,EAAO,QAAQP,CAAK,EAAI,eAAiBK,GACjD,IAAM,CACPP,EAAQ,IAAI,mBAAoBM,EAAM,KAAK,WAAW,OAAO,CAAC,EAC9D,IAAMW,EAAOC,EAAUhB,CAAK,EACvBe,GAGLjB,EAAQ,IAAI,mBAAoBgB,EAAaC,CAAI,CAAC,CACpD,CAAC,CACH,EACA,qBAAqB,CAAC,QAAAjB,EAAS,MAAAM,EAAO,KAAAF,EAAM,MAAAF,CAAK,EAAG,CAClD,IAAMW,EAAOM,GAAajB,EAAO,CAC/B,IAAK,QAASI,EAAQA,EAAM,IAAM,GAClC,eAAgBF,EAAK,IAAI,gBAAgB,EACzC,MAAOJ,EAAQ,IAAI,kBAAkB,CACvC,CAAC,EACIa,IAGLb,EAAQ,IAAI,mBAAoBgB,EAAaH,CAAI,CAAC,EAClDb,EAAQ,IAAI,mBAAoBM,EAAM,KAAK,WAAW,OAAO,CAAC,EAChE,EACA,kBAAkB,CAAC,QAAAN,EAAS,MAAAM,EAAO,KAAAc,EAAM,MAAAlB,CAAK,EAAG,CAC/C,IAAMmB,EAAOC,EAAUpB,EAAO,CAC5B,KAAM,SAAUI,EAAQA,EAAM,KAAO,OACrC,UAAWc,EAAK,WAAW,EAC3B,MAAOpB,EAAQ,IAAI,kBAAkB,CACvC,CAAC,EACDA,EAAQ,IAAI,mBAAoBgB,EAAaK,CAAI,CAAC,EAClDrB,EAAQ,IAAI,mBAAoBM,EAAM,KAAK,WAAW,OAAO,CAAC,CAChE,EACA,kBAAkB,CAAC,QAAAN,EAAS,MAAAM,EAAO,KAAAc,EAAM,MAAAlB,CAAK,EAAG,CAC/C,IAAMqB,EAAOC,EAAUtB,EAAO,CAC5B,KAAM,SAAUI,EAAQA,EAAM,KAAO,OACrC,UAAWc,EAAK,WAAW,EAC3B,MAAOpB,EAAQ,IAAI,kBAAkB,CACvC,CAAC,EACDA,EAAQ,IAAI,mBAAoBgB,EAAaO,CAAI,CAAC,EAClDvB,EAAQ,IAAI,mBAAoBM,EAAM,KAAK,WAAW,OAAO,CAAC,CAChE,EACA,cAAc,CAAC,KAAAc,CAAI,EAAG,CACpBA,EAAK,cAAc,IAAI,EAAK,CAC9B,EACA,aAAa,CAAC,KAAAA,CAAI,EAAG,CACnBA,EAAK,cAAc,IAAI,EAAI,CAC7B,EACA,eAAe,CAAC,QAAApB,EAAS,KAAAoB,EAAM,MAAAlB,CAAK,EAAG,CACrC,IAAMuB,EAAQzB,EAAQ,IAAI,kBAAkB,EAC5C,GAAIyB,GAAS,KACX,OAGF,IAAMZ,EAAOa,EAAUxB,EAAOuB,CAAK,EACnCE,GAAuBd,EAAMY,CAAK,EAElCL,EAAK,UAAU,IAAIK,CAAK,CAC1B,EACA,YAAY,CAAC,SAAAxB,EAAU,QAAAD,EAAS,MAAAM,EAAO,KAAAF,EAAM,MAAAF,CAAK,EAAG,CAEnD,IAAM0B,EADO1B,EAAM,QAAQD,EAAS,eAAe,CAAE,GACpC,aAAa,UAAU,EAClC4B,EAAWzB,EAAK,IAAI,UAAU,EAC9B0B,EAAQF,EAAKC,EAASD,CAAE,EAAI,KAClC5B,EAAQ,IAAI,mBAAoB,EAAK,EACrC8B,GAAO,KAAK,CACV,aAAcxB,EAAM,KAAK,WAAW,OAAO,EAC3C,KAAM,gBACR,CAAC,CACH,EACA,WAAW,CAAC,QAAAN,EAAS,MAAAM,EAAO,KAAAc,EAAM,KAAAhB,EAAM,MAAAF,CAAK,EAAG,CAC9C,IAAM6B,EAAsB,IAAMtB,EAAO,WAAWP,CAAK,EACnD8B,EAAchC,EAAQ,IAAI,aAAa,EACvCiC,EAAgBD,EAClB,KAAO,CAAC,OAAQ,EAAG,MAAO,EAAG,GAAGA,CAAW,GAC3C,OAEEE,EAAc,CAClB,GAAGd,EAAK,aAAa,EACrB,GAAGhB,EAAK,IAAI,qBAAqB,CACnC,EAEA+B,GAAa1B,EAAO,QAAQP,CAAK,EAAG6B,EAAqB,CACvD,GAAGG,EACH,MAAO,GACP,cAAAD,EACA,GAAI,YAAa3B,EAASA,EAAM,SAAW,CAAC,EAAK,CAAC,EAClD,UAAW,GACX,WAAW8B,EAAM,CACfpC,EAAQ,IAAI,mBAAoBoC,EAAK,SAAS,CAChD,CACF,CAAC,CACH,EACA,uBAAuB,CAAC,QAAApC,CAAO,EAAG,CAC3BA,EAAQ,IAAI,sBAAsB,IAGvCA,EAAQ,IAAI,mBAAoBA,EAAQ,IAAI,sBAAsB,CAAC,EACnEA,EAAQ,IAAI,uBAAwB,IAAI,EAC1C,EACA,6BAA6B,CAAC,KAAAI,CAAI,EAAG,CACnCA,EAAK,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAM,qBAAqB,CAAC,CACxD,EACA,cAAc,CAAC,MAAAiC,EAAO,KAAAjC,CAAI,EAAG,CAC3B,IAAMkC,EAASlC,EAAK,IAAI,QAAQ,EAC3BkC,GAGLD,EAAM,IAAM,CACVC,EAAO,QAAQ,IAAI,iBAAkB,EAAK,CAC5C,CAAC,CACH,EACA,eAAe,CAAC,QAAAtC,EAAS,MAAAM,CAAK,EAAG,CAC3B,UAAWA,GACbN,EAAQ,IAAI,cAAgBuB,GACnBgB,GAAQhB,EAAMjB,EAAM,KAAK,EAAIiB,EAAOjB,EAAM,KAClD,CAEL,EACA,aAAa,CAAC,MAAAA,EAAO,KAAAF,CAAI,EAAG,CAC1B,IAAMyB,EAAWzB,EAAK,IAAI,UAAU,EAChC,OAAQE,GAAS,UAAWA,IAC9BuB,EAASvB,EAAM,EAAE,EAAIA,EAAM,OAE7BF,EAAK,IAAI,WAAYyB,CAAQ,CAC/B,EACA,mBAAmB,CAAC,QAAA7B,EAAS,MAAAM,CAAK,EAAG,CACnCN,EAAQ,IAAI,mBAAoB,EAAK,EACjC,UAAWM,GAASA,EAAM,MAC5BN,EAAQ,IAAI,mBAAoBM,EAAM,KAAe,EAC5C,WAAYA,EACrBN,EAAQ,IACN,mBACAgB,EAAaV,EAAM,MAAqB,CAC1C,EAEAN,EAAQ,IAAI,mBAAoB,IAAI,CAExC,EACA,iBAAiB,CAAC,QAAAA,EAAS,MAAAM,EAAO,MAAAJ,CAAK,EAAG,CACxC,IAAMsC,EAAO/B,EAAO,QAAQP,CAAK,EAC3BuC,EAAYzC,EAAQ,IAAI,kBAAkB,EAEhD,GAAI,CAACwC,GAAQ,CAACC,EACZ,OAGF,IAAMC,EAAOF,EAAK,sBAAsB,EAClCG,EAAUC,GAAkBF,EAAMD,CAAS,EACjD,GAAI,CAACE,EACH,OAIF,IAAME,EADYC,GAAiBL,CAAS,IAAM,QACxB,GAAK,EAEzBM,EAAQ,UAAWzC,EAAQA,EAAM,MAAS,CAAC,EAEjDN,EAAQ,IAAI,gBAAiB,CAC3B,CAAC,GAAG+C,EAAO,EAAGA,EAAM,EAAIF,CAAK,EAC7B,GAAGF,CACL,CAAC,CACH,EACA,uBAAuB,CAAC,QAAA3C,EAAS,MAAAM,CAAK,EAAG,CACnC,WAAYA,GACdN,EAAQ,IACN,uBACAgB,EAAaV,EAAM,MAAqB,CAC1C,CAEJ,EACA,eAAe,CAAC,MAAAA,CAAK,EAAG,CACtB,GAAI,EAAE,WAAYA,IAAU,CAACA,EAAM,OACjC,OAEF,GAAM,CAAC,QAAA0C,EAAS,gBAAAC,EAAiB,KAAAC,CAAI,EAAI5C,EAAM,OAC3C4C,IAAS,QACXD,IAAkB,EAAI,EACbC,IAAS,YAClBD,IAAkB,CAACD,CAAO,CAE9B,EACA,cAAc,CAAC,MAAA1C,EAAO,KAAAF,CAAI,EAAG,CAC3BA,EAAK,IACH,SACA,UAAWE,EAASA,EAAM,MAAgC,IAC5D,CACF,EACA,oBAAoB,CAAC,SAAAL,EAAU,KAAAG,CAAI,EAAG,CACpC,GAAI,CAACH,EAAS,WAAW,EACvB,OAEF,IAAMwC,EAAYxC,EAAS,OAAO,EAAI,aAAe,cACrDG,EAAK,IAAI,sBAAuB,CAAC,OAAQ,EAAG,UAAAqC,CAAS,CAAC,CACxD,EACA,iBAAiB,CAAC,MAAAnC,EAAO,KAAAc,EAAM,KAAA+B,CAAI,EAAG,CACpCA,EAAK,CACH,cAAe7C,EACf,KAAMc,EAAK,MAAM,EAAI,kBAAoB,kBAC3C,CAAC,CACH,CACF,EACA,SAAU,CACR,cAAe,CAAC,CAAC,QAAApB,EAAS,KAAAI,EAAM,MAAAF,CAAK,IACnCkD,GACEhD,EAAK,IAAI,UAAU,EACnBJ,EAAQ,IAAI,kBAAkB,EAC9BE,CACF,EACF,MAAO,CAAC,CAAC,KAAAkB,CAAI,IAAMA,EAAK,KAAK,IAAM,MACnC,UAAW,CAAC,CAAC,KAAAhB,CAAI,IAAM,CAAC,CAACA,EAAK,IAAI,QAAQ,EAC1C,cAAe,CAAC,CAAC,KAAAA,CAAI,IAAMA,EAAK,IAAI,gBAAgB,EAAE,YAAc,EACtE,EACA,QAAQ,CAAC,SAAAiD,EAAU,KAAAjC,CAAI,EAAG,CACxB,MAAO,CACL,YAAaiC,EAAuB,KAAO,CACzC,aAAc,KACd,KAAK5B,EAAO,CACV,MAAO,MAAMA,GAAO,CAAC,QAAQA,GAAO,CAAC,EACvC,CACF,EAAE,EACF,iBAAkB4B,EAAgC,KAAO,CACvD,aAAc,MAChB,EAAE,EACF,iBAAkBA,EAAwB,KAAO,CAC/C,aAAcjC,EAAK,yBAAyB,GAAK,KACjD,SAASK,EAAO,CACdL,EAAK,mBAAmB,IAAIK,CAAK,CACnC,EACA,MAAOL,EAAK,kBAAkB,CAChC,EAAE,EACF,cAAeiC,EAAyB,KAAO,CAC7C,aAAc,IAChB,EAAE,EACF,iBAAkBA,EAAkB,KAAO,CACzC,aAAc,EAChB,EAAE,EACF,qBAAsBA,EAAwB,KAAO,CACnD,aAAc,IAChB,EAAE,EACF,eAAgBA,EAAkB,KAAO,CACvC,aAAc,EAChB,EAAE,CACJ,CACF,EACA,QAAS,CACP,wBAAwB,CAAC,SAAApD,EAAU,MAAAK,EAAO,MAAAJ,CAAK,EAAG,CAChD,IAAMoD,EAAO,IAAM,CACjB,GAAIhD,EAAM,KAAK,WAAW,cAAc,EACtC,OAGF,IAAMH,EAASD,EAAM,QAAQD,EAAS,eAAe,CAAE,EACjDO,EAAYC,EAAO,QAAQP,CAAK,EAEtCqD,GAAepD,EAAQ,CAAC,MAAO,UAAW,OAAQK,CAAS,CAAC,CAC9D,EACA,OAAAD,EAAI,IAAM+C,EAAK,CAAC,EAGTE,GADW,IAAM/C,EAAO,QAAQP,CAAK,EACR,CAClC,WAAY,CAAC,uBAAuB,EACpC,SAAUoD,EACV,MAAO,EACT,CAAC,CACH,EACA,qBAAqB,CAAC,SAAArD,EAAU,KAAAmB,EAAM,KAAAhB,EAAM,MAAAF,EAAO,KAAAiD,CAAI,EAAG,CACxD,IAAMM,EAAe,IAAMhD,EAAO,QAAQP,CAAK,EAC3CwD,EAAe,GACnB,OAAOC,GAAwBF,EAAc,CAC3C,MAAO,GACP,QAAS,IAAMhD,EAAO,QAAQP,CAAK,EACnC,WAAY,CACViD,EAAK,CAAC,aAAAO,EAAc,IAAK,mBAAoB,KAAM,OAAO,CAAC,CAC7D,EACA,gBAAgBpD,EAAO,CACrBc,EAAK,iBAAiB,IAAId,CAAK,EAC3BL,EAAS,WAAW,GACtBK,EAAM,eAAe,EAEvBD,GAAc,CAAC,OAAQD,EAAK,IAAI,QAAQ,CAAC,CAAC,CAC5C,EACA,eAAeE,EAAO,CACpB,IAAMsD,EAASC,GAAevD,EAAM,OAAO,aAAa,EAYxD,GAXIM,EAASH,EAAO,QAAQP,CAAK,EAAGI,EAAM,aAAa,IAErDA,EAAM,eAAe,EACrBG,EAAO,QAAQP,CAAK,GAAG,MAAM,GAE/BkB,EAAK,gBAAgB,IAAId,CAAK,EAECM,EAC7BH,EAAO,eAAeP,CAAK,EAC3B0D,CACF,EAC4B,CAC1BtD,EAAM,eAAe,EACrB,MACF,CACF,EACA,kBAAmBc,EAAK,mBAAmB,EAC3C,qBAAqBd,EAAO,CAC1Bc,EAAK,sBAAsB,IAAId,CAAK,EAEpC,IAAMsD,EAASC,GAAevD,EAAM,OAAO,aAAa,EAKxD,GAJ+BM,EAC7BH,EAAO,eAAeP,CAAK,EAC3B0D,CACF,GAC8BtD,EAAM,OAAO,YAAa,CACtDA,EAAM,eAAe,EACrB,MACF,CACAoD,EAAe,CAACpD,EAAM,OAAO,SAC/B,EACA,iBAAkBc,EAAK,kBAAkB,CAC3C,CAAC,CACH,EACA,iBAAiB,CAAC,QAAApB,EAAS,MAAAqC,EAAO,KAAAjC,EAAM,MAAAF,EAAO,KAAAiD,CAAI,EAAG,CACpD,IAAMb,EAASlC,EAAK,IAAI,QAAQ,EAIhCiC,EAAM,IAAM,CACVC,EAAQ,QAAQ,IAAI,iBAAkB,EAAI,CAC5C,CAAC,EAED,IAAMwB,EAAM5D,EAAM,OAAO,EAEzB,OAAO6D,GAAYD,EAAK,cAAgBE,GAAM,CAClBC,GACxBjE,EAAQ,IAAI,eAAe,EAC3B,CACE,EAAGgE,EAAE,QACL,EAAGA,EAAE,OACP,CACF,IAGEb,EAAK,CAAC,KAAM,iCAAiC,CAAC,EAC9Cb,EAAQ,QAAQ,IAAI,iBAAkB,EAAK,EAE/C,CAAC,CACH,EACA,iBAAiB,CAAC,QAAAtC,EAAS,KAAAoB,EAAM,KAAAhB,EAAM,MAAAF,CAAK,EAAG,CAC7C,GAAMO,EAAO,eAAeP,CAAK,EAC/B,OAEF,IAAMgC,EAAc,CAClB,GAAGd,EAAK,aAAa,EACrB,GAAGhB,EAAK,IAAI,qBAAqB,CACnC,EACAJ,EAAQ,IAAI,mBAAoBkC,EAAY,SAAS,EACrD,IAAMgC,EAAkB,IAAMzD,EAAO,WAAWP,CAAK,EACrD,OAAOiC,GAAa1B,EAAO,QAAQP,CAAK,EAAGgE,EAAiB,CAC1D,GAAGhC,EACH,MAAO,GACP,WAAWE,EAAM,CACfpC,EAAQ,IAAI,mBAAoBoC,EAAK,SAAS,CAChD,CACF,CAAC,CACH,EACA,kBAAkB,CAAC,KAAAe,CAAI,EAAG,CACxB,IAAMgB,EAAQ,WAAW,IAAM,CAC7BhB,EAAK,CAAC,KAAM,aAAa,CAAC,CAC5B,EAAG,GAAG,EACN,MAAO,IAAM,aAAagB,CAAK,CACjC,EACA,iBAAiB,CAAC,KAAAhB,CAAI,EAAG,CACvB,IAAMgB,EAAQ,WAAW,IAAM,CAC7BhB,EAAK,CAAC,KAAM,iBAAiB,CAAC,CAChC,EAAG,GAAG,EACN,MAAO,IAAM,aAAagB,CAAK,CACjC,EACA,iBAAiB,CAAC,KAAAhB,CAAI,EAAG,CACvB,IAAMgB,EAAQ,WAAW,IAAM,CAC7BhB,EAAK,CAAC,KAAM,YAAY,CAAC,CAC3B,EAAG,GAAG,EACN,MAAO,IAAM,aAAagB,CAAK,CACjC,CACF,EACA,OAAQ,CACN,cAAe,CAAC,CAAC,MAAA7D,EAAO,KAAAc,CAAI,IAC1B,kBAAmBd,EACdA,GAAO,eAAiBc,EAAK,eAAe,EAC7CA,EAAK,eAAe,EAC1B,iBAAkB,CAAC,CAAC,MAAAd,CAAK,IACvB,kBAAmBA,GAASA,EAAM,eAAe,OAAS,aAC5D,iBAAkB,CAAC,CAAC,MAAAA,CAAK,IACvB,kBAAmBA,GAASA,EAAM,eAAe,OAAS,aAC5D,eAAgB,CAAC,CAAC,MAAAA,CAAK,IACrB,kBAAmBA,GAASA,EAAM,eAAe,OAAS,WAC5D,0BAA2B,CAAC,CAAC,SAAAL,EAAU,MAAAC,CAAK,IAC1CkE,GAAkBlE,EAAM,QAAQD,EAAS,eAAe,CAAE,CAAC,EAC7D,qBAAsB,CAAC,CAAC,MAAAK,CAAK,IAC3B,kBAAmBA,GACnBA,EAAM,eAAe,OAAS,iBAEhC,iBAAkB,CAAC,CAAC,KAAAc,CAAI,IAAMA,EAAK,MAAM,IAAM,OAC/C,mBAAoB,CAAC,CAAC,QAAApB,CAAO,IAAMA,EAAQ,IAAI,gBAAgB,EAC/D,UAAW,CAAC,CAAC,SAAAC,CAAQ,IAAMA,EAAS,WAAW,EAE/C,cAAe,CAAC,CAAC,MAAAK,CAAK,IACpB,WAAYA,GAAS+D,EAAc/D,EAAM,MAAqB,EAEhE,yBAA0B,CAAC,CAAC,SAAAL,EAAU,MAAAK,EAAO,MAAAJ,CAAK,IAGzC,CAAC,GAFS,WAAYI,EAAQA,EAAM,OAAS,SAClDJ,EAAM,QAAQD,EAAS,eAAe,CAAE,IACzB,aAAa,eAAe,CAEjD,EACA,IAAI,CAAC,WAAAqE,CAAU,EAAG,CAChB,MAAO,CACL,MAAOA,EAAW,EAClB,QAASA,EAAW,EACpB,eAAgBA,EAAW,EAC3B,MAAOA,EAAW,EAClB,WAAYA,EAAW,EACvB,KAAMA,EAAW,EACjB,QAASA,EAAW,CACtB,CACF,EACA,aAAa,CAAC,KAAAlD,CAAI,EAAG,CAEnB,OADaA,EAAK,MAAM,GAAKA,EAAK,aAAa,EACjC,OAAS,MACzB,EACA,GAAI,CACF,YAAa,CACX,QAAS,CAAC,cAAc,CAC1B,EACA,MAAO,CACL,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,eAAe,EACzB,OAAQ,QACV,CACF,EACA,sBAAuB,CACrB,QAAS,CAAC,wBAAwB,CACpC,EACA,kBAAmB,CACjB,QAAS,CAAC,oBAAoB,CAChC,EACA,KAAM,CACJ,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,cAAc,EACxB,OAAQ,MACV,CACF,EACA,eAAgB,CACd,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,qBAAsB,cAAc,EAE9C,OAAQ,MACV,CACF,EACA,aAAc,CACZ,QAAS,CAAC,eAAe,CAC3B,CACF,EACA,MAAM,CAAC,MAAAmD,CAAK,EAAG,CACb,MAAO,CACL,cAAe,GACf,UAAW,GACX,IAAK,MACL,UAAW,GACX,SAASC,EAAS,CAChBC,GAAYD,EAAQ,IAAI,CAC1B,EACA,UAAW,GACX,GAAGD,EACH,YAAa,CACX,OAAQ,EACR,UAAW,eACX,GAAGA,EAAM,WACX,EACA,GAAGA,CACL,CACF,EACA,MAAO,CACL,MAAO,CACL,SAAU,CAAC,EACX,OAAQ,KACR,oBAAqB,CAAC,EACtB,eAAgB,CAAC,GAAGG,GAAe,cAAc,CACnD,CACF,EACA,OAAQ,CACN,OAAQ,CACN,MAAO,CAAC,uBAAwB,eAAgB,eAAe,EAC/D,GAAI,CACF,WAAY,CACV,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,qBAAsB,cAAc,EAC9C,OAAQ,MACV,CACF,EACA,SAAU,CACR,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,oBAAqB,cAAc,EAC7C,OAAQ,MACV,CACF,EACA,aAAc,CACZ,CACE,QAAS,CAAC,iBAAkB,cAAc,EAC1C,MAAO,kBACT,EACA,CACE,QAAS,CAAC,iBAAkB,cAAc,EAC1C,OAAQ,MACV,CACF,EACA,mBAAoB,CAClB,QAAS,CAAC,gBAAgB,EAC1B,OAAQ,qBACV,EACA,kBAAmB,CACjB,CACE,QAAS,CAAC,oBAAoB,EAC9B,MAAO9E,GAAG,uBAAwB,kBAAkB,EACpD,OAAQ,MACV,EACA,CACE,QAAS,CAAC,mBAAmB,EAC7B,MAAO,iBACP,OAAQ,MACV,EACA,CACE,OAAQ,MACV,CACF,EACA,aAAc,CAAC,OAAQ,MAAM,EAC7B,cAAe,CACb,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,cAAc,EACxB,OAAQ,MACV,CACF,EACA,oBAAqB,CACnB,MAAO,gBACP,OAAQ,SACV,CACF,EACA,KAAM,CAAC,QAAQ,CACjB,EAEA,QAAS,CACP,QAAS,CACP,mBACA,uBACA,mBACF,EACA,GAAI,CACF,mBAAoB,CAClB,QAAS,CAAC,kBAAmB,8BAA8B,EAC3D,OAAQ,QACV,EACA,kBAAmB,CACjB,OAAQ,MACV,EACA,cAAe,CACb,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CACP,kBACA,+BACA,eACF,EACA,OAAQ,QACV,CACF,EAGA,kBAAmB,CACjB,QAAS,CAAC,oBAAoB,EAC9B,OAAQ,MACV,EACA,gCAAiC,CAC/B,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,kBAAmB,8BAA8B,EAC3D,OAAQ,QACV,CACF,CACF,EACA,KAAM,CAAC,MAAM,CACf,EAEA,KAAM,CACJ,GAAI,CACF,aAAc,CACZ,CACE,QAAS,CAAC,iBAAkB,cAAc,EAC1C,MAAO,kBACT,EACA,CACE,QAAS,CAAC,iBAAkB,cAAc,EAC1C,OAAQ,MACV,CACF,EACA,mBAAoB,CAClB,QAAS,CAAC,gBAAgB,EAC1B,OAAQ,qBACV,EACA,mBAAoB,CAClB,OAAQ,QACV,EACA,kBAAmB,CACjB,OAAQ,MACV,EACA,cAAe,CACb,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,cAAc,EACxB,OAAQ,MACV,CACF,EACA,cAAe,CACb,MAAOD,EAAI,WAAW,EACtB,OAAQ,QACV,EACA,oBAAqB,CACnB,MAAO,YACP,OAAQ,SACV,CACF,EACA,KAAM,CAAC,QAAQ,CACjB,EAEA,KAAM,CACJ,QAAS,CACP,uBACA,mBACA,yBACF,EACA,MAAO,CAAC,YAAa,eAAe,EACpC,GAAI,CACF,WAAY,CACV,QAAS,CAAC,oBAAqB,WAAW,CAC5C,EACA,WAAY,CACV,CACE,QAAS,CAAC,eAAe,EACzB,MAAOD,EAAI,YAAa,kBAAkB,CAC5C,EACA,CACE,QAAS,CAAC,kBAAmB,eAAe,EAC5C,MAAO,YACP,OAAQ,QACV,CACF,EACA,YAAa,CACX,QAAS,CAAC,aAAa,EACvB,MAAO,0BACT,EACA,SAAU,CACR,QAAS,CAAC,oBAAqB,WAAW,CAC5C,EACA,aAAc,CACZ,QAAS,CAAC,iBAAkB,WAAW,CACzC,EACA,mBAAoB,CAClB,CACE,QAAS,CAAC,iBAAiB,EAC3B,MAAO,mBACP,OAAQ,QACV,EACA,CACE,OAAQ,QACV,CACF,EACA,IAAK,CACH,QAAS,CAAC,oBAAqB,WAAW,CAC5C,EACA,MAAO,CACL,CACE,QAAS,CAAC,aAAa,EACvB,MAAO,0BACT,EACA,CACE,QAAS,CAAC,sBAAsB,CAClC,CACF,EACA,WAAY,CACV,QAAS,CAAC,WAAW,CACvB,EACA,KAAM,CACJ,QAAS,CAAC,qBAAsB,WAAW,CAC7C,EACA,WAAY,CAEV,CACE,QAAS,CACP,iBACA,iBACA,gBACA,eACF,EACA,MAAOA,EACLC,EAAI,0BAA0B,EAC9BA,EAAI,2BAA2B,EAC/B,gBACA,kBACF,CACF,EACA,CACE,QAAS,CACP,iBACA,iBACA,gBACA,eACF,EACA,MAAOD,EACLC,EAAI,0BAA0B,EAC9BA,EAAI,2BAA2B,EAC/B,eACF,EACA,OAAQ,QACV,EAEA,CACE,QAAS,CAAC,iBAAkB,gBAAgB,EAC5C,MAAOD,EACLC,EAAI,0BAA0B,EAC9BA,EAAI,2BAA2B,CACjC,CACF,EACA,CAAC,QAAS,CAAC,oBAAoB,CAAC,CAClC,EACA,iBAAkB,CAChB,QAAS,CAAC,oBAAoB,CAChC,EACA,kBAAmB,CACjB,QAAS,CAAC,sBAAsB,EAChC,MAAOD,EAAIC,EAAI,oBAAoB,EAAGA,EAAI,eAAe,CAAC,CAC5D,EACA,iBAAkB,CAChB,CACE,QAAS,CAAC,qBAAsB,WAAW,EAC3C,MAAOA,EAAI,oBAAoB,CACjC,EACA,CACE,QAAS,CAAC,wBAAwB,CACpC,CACF,EACA,kBAAmB,CACjB,QAAS,CAAC,YAAY,CACxB,EACA,cAAe,CACb,CACE,QAAS,CAAC,eAAe,EACzB,MAAOD,EAAIC,EAAI,eAAe,EAAG,kBAAkB,CACrD,EACA,CACE,QAAS,CAAC,eAAe,EACzB,MAAOA,EAAI,eAAe,EAC1B,OAAQ,QACV,CACF,EACA,qBAAsB,CACpB,OAAQ,SACV,EACA,oBAAqB,CACnB,QAAS,CAAC,kBAAkB,EAC5B,MAAO,eACT,EACA,UAAW,CACT,QAAS,CAAC,sBAAsB,CAClC,CACF,EACA,KAAM,CAAC,MAAM,CACf,EAEA,QAAS,CACP,QAAS,CAAC,kBAAkB,EAC5B,GAAI,CACF,KAAM,CACJ,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,eAAe,EACzB,OAAQ,QACV,CACF,EACA,mBAAoB,CAClB,OAAQ,QACV,EACA,kBAAmB,CACjB,OAAQ,MACV,EACA,aAAc,CACZ,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,cAAc,EACxB,OAAQ,MACV,CACF,EACA,qBAAsB,CACpB,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,eAAe,EACzB,OAAQ,QACV,CACF,CACF,EACA,KAAM,CAAC,QAAQ,CACjB,EAEA,sBAAuB,CACrB,QAAS,CAAC,kBAAkB,EAC5B,GAAI,CACF,oBAAqB,CACnB,CACE,QAAS,CAAC,eAAe,EACzB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,eAAe,EACzB,OAAQ,QACV,CACF,EACA,mBAAoB,CAAC,OAAQ,QAAQ,EACrC,kBAAmB,CAAC,OAAQ,MAAM,EAClC,kBAAmB,CACjB,CACE,QAAS,CAAC,cAAc,EACxB,MAAO,kBACT,EACA,CACE,QAAS,CAAC,cAAc,EACxB,OAAQ,MACV,CACF,CACF,EACA,KAAM,CAAC,QAAQ,CACjB,CACF,EACA,MAAM,CAAC,OAAAgF,EAAQ,SAAA1E,EAAU,QAAAD,EAAS,KAAAoB,EAAM,MAAAwD,CAAK,EAAG,CAC9CA,EAAM,CAAC,IAAM3E,EAAS,WAAW,CAAC,EAAG,IAAM,CACzC0E,EAAO,CAAC,qBAAqB,CAAC,CAChC,CAAC,EACDC,EAAM,CAAC,IAAM5E,EAAQ,KAAK,aAAa,CAAC,EAAG,IAAM,CAC/C2E,EAAO,CAAC,YAAY,CAAC,CACvB,CAAC,EACDC,EAAM,CAAC,IAAMxD,EAAK,MAAM,CAAC,EAAG,IAAM,CAChCuD,EAAO,CAAC,kBAAkB,CAAC,CAC7B,CAAC,CACH,CACF,CACF,EAEA,SAAStE,GAAcwE,EAA2C,CAChE,IAAIvC,EAASuC,EAAI,OACjB,KAAOvC,GAAUA,EAAO,SAAS,WAAW,GAC1CA,EAASA,EAAO,KAAK,IAAI,QAAQ,EAEnCA,GAAQ,KAAK,CAAC,KAAM,OAAO,CAAC,CAC9B,CAEA,SAAS2B,GAAgBtB,EAAyBI,EAAc,CAC9D,OAAKJ,EAGEmC,GAAiBnC,EAASI,CAAK,EAF7B,EAGX,CAEA,SAASK,GACPvB,EACAJ,EACAvB,EACA,CACA,IAAM6E,EAAc,OAAO,KAAKlD,CAAQ,EAAE,OAAS,EACnD,GAAI,CAACJ,EACH,OAAO,KAET,GAAI,CAACsD,EACH,OAAOC,EAAU9E,EAAOuB,CAAK,EAE/B,QAAWG,KAAMC,EAAU,CACzB,IAAMoD,EAAYpD,EAASD,CAAE,EACvBsD,EAAiBC,EAAO,QAAQF,EAAU,KAAK,EACrD,GAAIC,IAAmBzD,EACrB,OAAOyD,CAEX,CACA,OAAOF,EAAU9E,EAAOuB,CAAK,CAC/B,CCthCA,OAAQ,eAAA2D,EAAa,oBAAAC,MAAuB,4BAIrC,IAAMC,GAAoCF,EAA0B,EACzE,cACA,gBACA,YACA,0BACA,cACA,MACA,cACA,mBACA,KACA,YACA,WACA,kBACA,iBACA,oBACA,oBACA,eACA,uBACA,mBACA,WACA,OACA,cACA,WACF,EAEaG,GAGXF,EAA+BC,EAAS,EAE7BE,GAAqCJ,EAAuB,EACvE,gBACA,WACA,WACA,QACA,WACF,EAEaK,GAGXJ,EAA4BG,EAAa,EAE9BE,GACXN,EAA6B,EAC3B,gBACA,WACA,UACA,kBACA,WACA,QACA,OACA,WACF,EAEWO,GAGXN,EAAkCK,EAAmB",
|
|
6
|
+
"names": ["getPlacementStyles", "getEventKey", "getEventPoint", "getEventTarget", "isAnchorElement", "isContextMenuEvent", "isDownloadingEvent", "isEditableElement", "isModifierKey", "isOpeningInNewTab", "isPrintableKey", "isSelfTarget", "isValidTabEvent", "booleanAriaAttr", "booleanDataAttr", "cast", "hasProp", "mergeProps", "getByTypeahead", "getWindow", "isHTMLElement", "queryAll", "first", "last", "next", "prev", "domIds", "scope", "domEls", "getItemId", "ctx", "id", "getItemValue", "el", "getGroupId", "getGroupLabelId", "isTriggerItem", "getElements", "selector", "getFirstEl", "getLastEl", "isMatch", "value", "getNextEl", "opts", "items", "index", "getPrevEl", "getElemByKey", "item", "getItemEl", "isTargetDisabled", "v", "itemSelectEvent", "dispatchSelectionEvent", "win", "event", "createMenuApi", "machine", "normalize", "computed", "context", "prop", "scope", "send", "state", "commonBindings", "open", "composite", "currentPlacement", "anchorPoint", "highlightedValue", "popperStyles", "getPlacementStyles", "getItemState", "props", "getItemId", "getOptionItemProps", "valueText", "getOptionItemState", "getItemBindings", "closeOnSelect", "value", "itemState", "id", "booleanAriaAttr", "booleanDataAttr", "domIds", "event", "isDownloadingEvent", "isOpeningInNewTab", "target", "node", "listener", "itemSelectEvent", "options", "child", "nextOpen", "parent", "isSelfTarget", "getEventTarget", "isValidTabEvent", "item", "getItemEl", "keyMap", "isAnchorElement", "key", "getEventKey", "exec", "isPrintableKey", "isModifierKey", "isEditableElement", "point", "getEventPoint", "getGroupLabelId", "getGroupId", "cast", "dataState", "hasProp", "disabled", "type", "option", "isTargetDisabled", "isContextMenuEvent", "childApi", "triggerProps", "mergeProps", "trackDismissableElement", "getPlacement", "getPlacementSide", "addDomEvent", "clickIfLink", "contains", "getByTypeahead", "getEventTarget", "getInitialFocus", "isEditableElement", "observeAttributes", "raf", "scrollIntoView", "getElementPolygon", "isPointInPolygon", "isEqual", "createGuards", "createMachine", "and", "not", "or", "createGuards", "menuMachine", "createMachine", "context", "computed", "scope", "itemEl", "refs", "closeRootMenu", "event", "raf", "contentEl", "domEls", "initialFocusEl", "getInitialFocus", "contains", "node", "first", "getFirstEl", "getItemValue", "last", "getLastEl", "getElemByKey", "prop", "next", "getNextEl", "prev", "getPrevEl", "value", "getItemEl", "dispatchSelectionEvent", "id", "children", "child", "getMenuPositionerEl", "anchorPoint", "getAnchorRect", "positioning", "getPlacement", "data", "flush", "parent", "isEqual", "menu", "placement", "rect", "polygon", "getElementPolygon", "bleed", "getPlacementSide", "point", "checked", "onCheckedChange", "type", "send", "resolveItemId", "bindable", "exec", "scrollIntoView", "observeAttributes", "getContentEl", "restoreFocus", "trackDismissableElement", "target", "getEventTarget", "doc", "addDomEvent", "e", "isWithinPolygon", "getPositionerEl", "timer", "isEditableElement", "isTriggerItem", "bindableId", "props", "details", "clickIfLink", "getByTypeahead", "action", "track", "ctx", "isPointInPolygon", "hasChildren", "getItemId", "childMenu", "childTriggerId", "domIds", "createProps", "createSplitProps", "menuProps", "splitMenuProps", "menuItemProps", "splitMenuItemProps", "menuOptionItemProps", "splitMenuOptionItemProps"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/menu/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type TypeaheadState } from "@qualcomm-ui/dom/query";
|
|
2
|
+
import type { ScopeDomElements, ScopeDomIds } from "@qualcomm-ui/utils/machine";
|
|
3
|
+
import type { MenuElementIds, MenuScope } from "../menu.types";
|
|
4
|
+
export declare const domIds: ScopeDomIds<MenuElementIds, MenuScope>;
|
|
5
|
+
export declare const domEls: ScopeDomElements<MenuElementIds, MenuScope>;
|
|
6
|
+
export declare function getItemId(ctx: MenuScope, id: string): string;
|
|
7
|
+
export declare function getItemValue(el: HTMLElement | null | undefined): string | null;
|
|
8
|
+
export declare function getGroupId(ctx: MenuScope, id: string): string;
|
|
9
|
+
export declare function getGroupLabelId(ctx: MenuScope, id: string | undefined): string | undefined;
|
|
10
|
+
export declare function isTriggerItem(el: HTMLElement | null): boolean;
|
|
11
|
+
export declare const getElements: (ctx: MenuScope) => HTMLElement[];
|
|
12
|
+
export declare const getFirstEl: (ctx: MenuScope) => HTMLElement | undefined;
|
|
13
|
+
export declare const getLastEl: (ctx: MenuScope) => HTMLElement | undefined;
|
|
14
|
+
export declare function getNextEl(ctx: MenuScope, opts: {
|
|
15
|
+
loop?: boolean | undefined;
|
|
16
|
+
loopFocus: boolean;
|
|
17
|
+
value: string | null;
|
|
18
|
+
}): HTMLElement | undefined;
|
|
19
|
+
export declare function getPrevEl(ctx: MenuScope, opts: {
|
|
20
|
+
loop?: boolean | undefined;
|
|
21
|
+
loopFocus: boolean;
|
|
22
|
+
value: string | null;
|
|
23
|
+
}): HTMLElement | undefined;
|
|
24
|
+
export declare function getElemByKey(ctx: MenuScope, opts: {
|
|
25
|
+
key: string;
|
|
26
|
+
typeaheadState: TypeaheadState;
|
|
27
|
+
value: string | null;
|
|
28
|
+
}): HTMLElement | undefined;
|
|
29
|
+
export declare function getItemEl(ctx: MenuScope, value: string | null): HTMLElement | null;
|
|
30
|
+
export declare function isTargetDisabled(v: EventTarget | null): boolean;
|
|
31
|
+
export declare const itemSelectEvent = "menu:select";
|
|
32
|
+
export declare function dispatchSelectionEvent(el: HTMLElement | null, value: string): void;
|
|
33
|
+
//# sourceMappingURL=menu.dom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.dom.d.ts","sourceRoot":"","sources":["../../../src/menu/internal/menu.dom.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,4BAA4B,CAAA;AAE7E,OAAO,KAAK,EAAC,cAAc,EAAE,SAAS,EAAC,MAAM,eAAe,CAAA;AAE5D,eAAO,MAAM,MAAM,EAAE,WAAW,CAAC,cAAc,EAAE,SAAS,CAOzD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,gBAAgB,CAAC,cAAc,EAAE,SAAS,CAO9D,CAAA;AAGD,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAE5D;AACD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GACjC,MAAM,GAAG,IAAI,CAEf;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,UAEpD;AAED,wBAAgB,eAAe,CAC7B,GAAG,EAAE,SAAS,EACd,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,MAAM,GAAG,SAAS,CAKpB;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAK7D;AACD,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,KAAG,WAAW,EAIvD,CAAA;AACD,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,KAAG,WAAW,GAAG,SACjC,CAAA;AACzB,eAAO,MAAM,SAAS,GAAI,KAAK,SAAS,KAAG,WAAW,GAAG,SACjC,CAAA;AASxB,wBAAgB,SAAS,CACvB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE;IAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAC,GAC3E,WAAW,GAAG,SAAS,CAIzB;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE;IAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAC,GAC3E,WAAW,GAAG,SAAS,CAIzB;AAED,wBAAgB,YAAY,CAC1B,GAAG,EAAE,SAAS,EACd,IAAI,EAAE;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAC,GACxE,WAAW,GAAG,SAAS,CAQzB;AAED,wBAAgB,SAAS,CACvB,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,GAAG,IAAI,GACnB,WAAW,GAAG,IAAI,CAEpB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAK/D;AAED,eAAO,MAAM,eAAe,gBAAgB,CAAA;AAE5C,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,WAAW,GAAG,IAAI,EACtB,KAAK,EAAE,MAAM,GACZ,IAAI,CAON"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Machine, PropNormalizer } from "@qualcomm-ui/utils/machine";
|
|
2
|
+
import type { MenuApi, MenuSchema } from "./menu.types";
|
|
3
|
+
export declare function createMenuApi(machine: Machine<MenuSchema>, normalize: PropNormalizer): MenuApi;
|
|
4
|
+
//# sourceMappingURL=menu.api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.api.d.ts","sourceRoot":"","sources":["../../src/menu/menu.api.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAGV,OAAO,EACP,cAAc,EACf,MAAM,4BAA4B,CAAA;AAYnC,OAAO,KAAK,EAIV,OAAO,EAcP,UAAU,EAMX,MAAM,cAAc,CAAA;AAErB,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,EAC5B,SAAS,EAAE,cAAc,GACxB,OAAO,CAojBT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.machine.d.ts","sourceRoot":"","sources":["../../src/menu/menu.machine.ts"],"names":[],"mappings":"AA8BA,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,4BAA4B,CAAA;AAgBnC,OAAO,KAAK,EAAC,UAAU,EAAY,MAAM,cAAc,CAAA;AAIvD,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,UAAU,CA+7BjD,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ItemProps, MenuApiProps, OptionItemProps } from "./menu.types";
|
|
2
|
+
export declare const menuProps: (keyof MenuApiProps)[];
|
|
3
|
+
export declare const splitMenuProps: <Props extends MenuApiProps>(props: Props) => [MenuApiProps, Omit<Props, keyof MenuApiProps>];
|
|
4
|
+
export declare const menuItemProps: (keyof ItemProps)[];
|
|
5
|
+
export declare const splitMenuItemProps: <Props extends ItemProps>(props: Props) => [ItemProps, Omit<Props, keyof ItemProps>];
|
|
6
|
+
export declare const menuOptionItemProps: (keyof OptionItemProps)[];
|
|
7
|
+
export declare const splitMenuOptionItemProps: <Props extends OptionItemProps>(props: Props) => [OptionItemProps, Omit<Props, keyof OptionItemProps>];
|
|
8
|
+
//# sourceMappingURL=menu.props.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.props.d.ts","sourceRoot":"","sources":["../../src/menu/menu.props.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,SAAS,EAAE,YAAY,EAAE,eAAe,EAAC,MAAM,cAAc,CAAA;AAE1E,eAAO,MAAM,SAAS,EAAE,CAAC,MAAM,YAAY,CAAC,EAuB3C,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,CAAC,KAAK,SAAS,YAAY,EACtD,KAAK,EAAE,KAAK,KACT,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,YAAY,CAAC,CACR,CAAA;AAE3C,eAAO,MAAM,aAAa,EAAE,CAAC,MAAM,SAAS,CAAC,EAM5C,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,CAAC,KAAK,SAAS,SAAS,EACvD,KAAK,EAAE,KAAK,KACT,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,SAAS,CAAC,CACD,CAAA;AAE5C,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,eAAe,CAAC,EAUtD,CAAA;AAEH,eAAO,MAAM,wBAAwB,EAAE,CAAC,KAAK,SAAS,eAAe,EACnE,KAAK,EAAE,KAAK,KACT,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,eAAe,CAAC,CACD,CAAA"}
|