@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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/input/index.ts"],"names":[],"mappings":"AAAA,mBAAmB,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { BooleanAriaAttr, BooleanDataAttr } from "@qualcomm-ui/utils/attributes";
|
|
2
|
+
import type { JSX } from "@qualcomm-ui/utils/machine";
|
|
3
|
+
export interface InputRootBindings {
|
|
4
|
+
"data-disabled": BooleanDataAttr;
|
|
5
|
+
"data-focus": BooleanDataAttr;
|
|
6
|
+
"data-invalid": BooleanDataAttr;
|
|
7
|
+
"data-part": "root";
|
|
8
|
+
}
|
|
9
|
+
export interface InputLabelBindings {
|
|
10
|
+
"data-disabled": BooleanDataAttr;
|
|
11
|
+
"data-focus": BooleanDataAttr;
|
|
12
|
+
"data-invalid": BooleanDataAttr;
|
|
13
|
+
"data-part": "label";
|
|
14
|
+
htmlFor: string;
|
|
15
|
+
id: string;
|
|
16
|
+
}
|
|
17
|
+
export interface InputErrorTextBindings {
|
|
18
|
+
"aria-live": "polite";
|
|
19
|
+
"data-part": "error-text";
|
|
20
|
+
hidden: boolean;
|
|
21
|
+
id: string;
|
|
22
|
+
}
|
|
23
|
+
export interface InputHintBindings {
|
|
24
|
+
"data-disabled": BooleanDataAttr;
|
|
25
|
+
"data-part": "hint";
|
|
26
|
+
id: string;
|
|
27
|
+
}
|
|
28
|
+
export interface InputInputGroupBindings {
|
|
29
|
+
"data-disabled": BooleanDataAttr;
|
|
30
|
+
"data-focus": BooleanDataAttr;
|
|
31
|
+
"data-invalid": BooleanDataAttr;
|
|
32
|
+
"data-part": "input-group";
|
|
33
|
+
"data-readonly": BooleanDataAttr;
|
|
34
|
+
onClick: JSX.MouseEventHandler<HTMLElement>;
|
|
35
|
+
}
|
|
36
|
+
export interface InputErrorIndicatorBindings {
|
|
37
|
+
"aria-label": "Error";
|
|
38
|
+
"data-part": "error-indicator";
|
|
39
|
+
hidden: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface InputInputBindings {
|
|
42
|
+
"aria-describedby": string | undefined;
|
|
43
|
+
"aria-invalid": BooleanAriaAttr;
|
|
44
|
+
"aria-labelledby": string | undefined;
|
|
45
|
+
"data-empty": BooleanDataAttr;
|
|
46
|
+
"data-focus": BooleanDataAttr;
|
|
47
|
+
"data-invalid": BooleanDataAttr;
|
|
48
|
+
"data-part": "input";
|
|
49
|
+
disabled: boolean | undefined;
|
|
50
|
+
form?: string;
|
|
51
|
+
id: string;
|
|
52
|
+
name?: string;
|
|
53
|
+
onBlur: JSX.FocusEventHandler;
|
|
54
|
+
onChange: JSX.ChangeEventHandler<HTMLInputElement>;
|
|
55
|
+
onFocus: JSX.FocusEventHandler;
|
|
56
|
+
required?: boolean;
|
|
57
|
+
value: string;
|
|
58
|
+
}
|
|
59
|
+
export interface InputClearTriggerBindings {
|
|
60
|
+
"aria-label": "Clear input";
|
|
61
|
+
"data-disabled": BooleanDataAttr;
|
|
62
|
+
"data-part": "clear-trigger";
|
|
63
|
+
disabled: boolean | undefined;
|
|
64
|
+
onClick: JSX.MouseEventHandler;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=input.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.types.d.ts","sourceRoot":"","sources":["../../src/input/input.types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EAChB,MAAM,+BAA+B,CAAA;AACtC,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,4BAA4B,CAAA;AAEnD,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,OAAO,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,QAAQ,CAAA;IACrB,WAAW,EAAE,YAAY,CAAA;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,EAAE,eAAe,CAAA;IAChC,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,aAAa,CAAA;IAC1B,eAAe,EAAE,eAAe,CAAA;IAChC,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,2BAA2B;IAC1C,YAAY,EAAE,OAAO,CAAA;IACrB,WAAW,EAAE,iBAAiB,CAAA;IAC9B,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,cAAc,EAAE,eAAe,CAAA;IAC/B,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,YAAY,EAAE,eAAe,CAAA;IAC7B,YAAY,EAAE,eAAe,CAAA;IAC7B,cAAc,EAAE,eAAe,CAAA;IAC/B,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,GAAG,CAAC,iBAAiB,CAAA;IAC7B,QAAQ,EAAE,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAClD,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,yBAAyB;IACxC,YAAY,EAAE,aAAa,CAAA;IAC3B,eAAe,EAAE,eAAe,CAAA;IAChC,WAAW,EAAE,eAAe,CAAA;IAC5B,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,OAAO,EAAE,GAAG,CAAC,iBAAiB,CAAA;CAC/B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var X=Object.defineProperty;var me=Object.getOwnPropertyDescriptor;var he=Object.getOwnPropertyNames;var Oe=Object.prototype.hasOwnProperty;var Ee=(e,t)=>{for(var n in t)X(e,n,{get:t[n],enumerable:!0})},fe=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of he(t))!Oe.call(e,s)&&s!==n&&X(e,s,{get:()=>t[s],enumerable:!(o=me(t,s))||o.enumerable});return e};var Ie=e=>fe(X({},"__esModule",{value:!0}),e);var Le={};Ee(Le,{createMenuApi:()=>Te,menuItemProps:()=>de,menuMachine:()=>ye,menuOptionItemProps:()=>ce,menuProps:()=>ge,splitMenuItemProps:()=>Re,splitMenuOptionItemProps:()=>ke,splitMenuProps:()=>Ce});module.exports=Ie(Le);var re=require("@qualcomm-ui/dom/floating-ui"),u=require("@qualcomm-ui/dom/query"),I=require("@qualcomm-ui/utils/attributes"),w=require("@qualcomm-ui/utils/functions"),V=require("@qualcomm-ui/utils/guard"),se=require("@qualcomm-ui/utils/merge-props");var S=require("@qualcomm-ui/dom/query"),C=require("@qualcomm-ui/utils/array"),E={arrow:e=>e.ids.get("arrow"),content:e=>e.ids.get("content"),contextTrigger:e=>e.ids.get("contextTrigger"),group:e=>e.ids.get("group"),positioner:e=>e.ids.get("positioner"),trigger:e=>e.ids.get("trigger")},O={arrow:e=>e.getById(E.arrow(e)),content:e=>e.getById(E.content(e)),contextTrigger:e=>e.getById(E.contextTrigger(e)),group:e=>e.getById(E.group(e)),positioner:e=>e.getById(E.positioner(e)),trigger:e=>e.getById(E.trigger(e))};function L(e,t){return`${e.id}/${t}`}function R(e){return e?.dataset.value??null}function Q(e,t){return`menu:${e.id}:group:${t}`}function q(e,t){if(!(!e.id||!t))return`menu:${e.id}:group-label:${t}`}function Z(e){return!!e?.getAttribute("role")?.startsWith("menuitem")&&!!e?.hasAttribute("aria-controls")}var D=e=>{let n=`[role^="menuitem"][data-ownedby=${CSS.escape(E.content(e))}]:not([data-disabled])`;return(0,S.queryAll)(O.content(e),n)},z=e=>(0,C.first)(D(e)),ee=e=>(0,C.last)(D(e)),Y=(e,t)=>t?e.id===t||e.dataset.value===t:!1;function te(e,t){let n=D(e),o=n.findIndex(s=>Y(s,t.value));return(0,C.next)(n,o,{loop:t.loop??t.loopFocus})}function ne(e,t){let n=D(e),o=n.findIndex(s=>Y(s,t.value));return(0,C.prev)(n,o,{loop:t.loop??t.loopFocus})}function ie(e,t){let n=D(e),o=n.find(s=>Y(s,t.value));return(0,S.getByTypeahead)(n,{activeId:o?.id??null,key:t.key,state:t.typeaheadState})}function B(e,t){return t?e.getById(L(e,t)):null}function H(e){return(0,S.isHTMLElement)(e)&&(e.dataset.disabled===""||e.hasAttribute("disabled"))}var x="menu:select";function oe(e,t){if(!e)return;let n=(0,S.getWindow)(e),o=new n.CustomEvent(x,{detail:{value:t}});e.dispatchEvent(o)}function Te(e,t){let{computed:n,context:o,prop:s,scope:l,send:a,state:c}=e,p={"data-scope":"menu",dir:s("dir")},T=c.hasTag("open"),$=s("composite"),J=o.get("currentPlacement"),pe=o.get("anchorPoint"),N=o.get("highlightedValue"),W=(0,re.getPlacementStyles)({...s("positioning"),placement:pe?"bottom":J});function U(r){return{disabled:!!r.disabled,highlighted:N===r.value&&!!r.value,id:L(l,r.value)}}function j(r){let i=r.valueText??r.value;return{...r,id:r.value,valueText:i}}function b(r){return{...U(j(r)),checked:!!r.checked}}function K(r){let{closeOnSelect:i,value:g,valueText:M}=r,m=U(r),y=L(l,g);return t.element({...p,"aria-disabled":(0,I.booleanAriaAttr)(m.disabled),"data-disabled":(0,I.booleanDataAttr)(m.disabled),"data-focus-visible":(0,I.booleanDataAttr)(m.highlighted&&o.get("itemFocusVisible")),"data-highlighted":(0,I.booleanDataAttr)(m.highlighted),"data-ownedby":E.content(l),"data-part":"item","data-value":g,"data-valuetext":M,id:y,onClick(h){if((0,u.isDownloadingEvent)(h)||(0,u.isOpeningInNewTab)(h)||m.disabled)return;let f=h.currentTarget;a({closeOnSelect:i,id:y,target:f,type:"ITEM_CLICK"})},onDragStart(h){h.currentTarget.matches("a[href]")&&h.preventDefault()},onPointerDown(h){if(m.disabled)return;let f=h.currentTarget;a({closeOnSelect:i,id:y,target:f,type:"ITEM_POINTERDOWN"})},onPointerLeave(h){if(m.disabled||h.pointerType!=="mouse"||!e.event.previous()?.type.includes("POINTER"))return;let v=h.currentTarget;a({closeOnSelect:i,id:y,target:v,type:"ITEM_POINTERLEAVE"})},onPointerMove(h){if(m.disabled||h.pointerType!=="mouse")return;let f=h.currentTarget;m.highlighted||a({closeOnSelect:i,id:y,target:f,type:"ITEM_POINTERMOVE"})},role:"menuitem",tabIndex:-1})}return{addItemListener(r){let i=l.getById(r.id);if(!i)return;let g=()=>r.onSelect?.();return i.addEventListener(x,g),()=>i.removeEventListener(x,g)},highlightedValue:N,open:T,reposition(r={}){a({options:r,type:"POSITIONING.SET"})},setChild(r){a({id:r.prop("id"),type:"CHILD.SET",value:r})},setHighlightedValue(r){a({type:"HIGHLIGHTED.SET",value:r})},setOpen(r){c.hasTag("open")!==r&&a({type:r?"OPEN":"CLOSE"})},setParent(r){a({id:r.prop("id"),type:"PARENT.SET",value:r})},getArrowBindings(){return t.element({...p,"data-part":"arrow",style:W.arrow})},getArrowTipBindings(){return t.element({...p,"data-part":"arrow-tip",style:W.arrowTip})},getContentBindings(r){return l.ids.set("content",r.id),t.element({...p,"aria-activedescendant":n("highlightedId")||void 0,"aria-labelledby":E.trigger(l),"data-from":o.get("anchorPoint")?"context-trigger":"trigger","data-part":"content","data-placement":J,"data-state":T?"open":"closed",hidden:!T,id:E.content(l),onKeyDown(i){if(i.defaultPrevented||!(0,u.isSelfTarget)(i))return;let g=(0,u.getEventTarget)(i);if(!(g?.closest("[role=menu]")===i.currentTarget||g===i.currentTarget))return;if(i.key==="Tab"&&!(0,u.isValidTabEvent)(i)){i.preventDefault();return}let m=B(l,N),y={ArrowDown(){a({type:"ARROW_DOWN"})},ArrowLeft(){a({type:"ARROW_LEFT"})},ArrowRight(){a({type:"ARROW_RIGHT"})},ArrowUp(){a({type:"ARROW_UP"})},End(){a({type:"END"})},Enter(){a({type:"ENTER"}),N!=null&&(0,u.isAnchorElement)(m)&&s("navigate")?.({href:m.href,node:m,value:N})},Home(){a({type:"HOME"})},Space(v){n("isTypingAhead")?a({key:v.key,type:"TYPEAHEAD"}):y.Enter?.(v)}},h=(0,u.getEventKey)(i,{dir:s("dir")}),f=y[h];if(f){f(i),i.stopPropagation(),i.preventDefault();return}s("typeahead")&&(0,u.isPrintableKey)(i)&&((0,u.isModifierKey)(i)||(0,u.isEditableElement)(g)||(a({key:i.key,type:"TYPEAHEAD"}),i.preventDefault()))},onPointerEnter(i){i.pointerType==="mouse"&&a({type:"MENU_POINTERENTER"})},role:$?"menu":"dialog",tabIndex:0})},getContextTriggerBindings(r){return l.ids.register("contextTrigger",r),t.element({...p,"data-part":"context-trigger",id:r.id,onContextMenu(i){let g=(0,u.getEventPoint)(i);a({point:g,type:"CONTEXT_MENU"}),i.preventDefault()},onPointerCancel(i){i.pointerType!=="mouse"&&a({type:"CONTEXT_MENU_CANCEL"})},onPointerDown(i){if(i.pointerType==="mouse")return;let g=(0,u.getEventPoint)(i);a({point:g,type:"CONTEXT_MENU_START"})},onPointerMove(i){i.pointerType!=="mouse"&&a({type:"CONTEXT_MENU_CANCEL"})},onPointerUp(i){i.pointerType!=="mouse"&&a({type:"CONTEXT_MENU_CANCEL"})},style:{userSelect:"none",WebkitTouchCallout:"none",WebkitUserSelect:"none"}})},getItemBindings:K,getItemGroupBindings(r){return t.element({...p,"aria-labelledby":q(l,r.id),"data-part":"item-group",id:Q(l,r.id),role:"group"})},getItemGroupLabelBindings(r){return t.element({...p,"data-part":"item-group-label",id:q(l,r.htmlFor)})},getItemIndicatorBindings(r){let i=b((0,w.cast)(r)),g=i.checked?"checked":"unchecked";return t.element({...p,"data-disabled":(0,I.booleanDataAttr)(i.disabled),"data-highlighted":(0,I.booleanDataAttr)(i.highlighted),"data-part":"item-indicator","data-state":(0,V.hasProp)(r,"checked")?g:void 0,hidden:(0,V.hasProp)(r,"checked")?!i.checked:void 0})},getItemLabelBindings(r){let i=b((0,w.cast)(r)),g=i.checked?"checked":"unchecked";return t.element({...p,"data-disabled":(0,I.booleanDataAttr)(i.disabled),"data-highlighted":(0,I.booleanDataAttr)(i.highlighted),"data-part":"item-text","data-state":(0,V.hasProp)(r,"checked")?g:void 0})},getItemState:U,getOptionItemBindings(r){let{closeOnSelect:i,disabled:g,type:M}=r,m=j(r),y=b(r);return{...K(m),...t.element({...p,"aria-checked":(0,I.booleanAriaAttr)(y.checked),"data-state":y.checked?"checked":"unchecked","data-type":M,"data-value":m.value,dir:s("dir"),onClick(h){if(g||(0,u.isDownloadingEvent)(h)||(0,u.isOpeningInNewTab)(h))return;let f=h.currentTarget;a({closeOnSelect:i,option:{...m,checked:(0,w.cast)(f).getAttribute("data-state")==="checked"},target:f,type:"ITEM_CLICK"})},role:`menuitem${M}`})}},getOptionItemControlBindings(r){let i=b(r);return t.element({...p,"data-disabled":(0,I.booleanDataAttr)(i.disabled),"data-part":"item-control","data-state":i.checked?"checked":"unchecked"})},getOptionItemState:b,getPositionerBindings(r){return l.ids.set("positioner",r.id),t.element({...p,"data-part":"positioner",id:r.id,style:W.floating})},getSeparatorBindings(){return t.element({...p,"aria-orientation":"horizontal","data-part":"separator",role:"separator"})},getTriggerBindings(r){return l.ids.set("trigger",r.id),t.button({...p,"aria-controls":E.content(l),"aria-expanded":(0,I.booleanAriaAttr)(T),"aria-haspopup":$?"menu":"dialog","data-part":n("isSubmenu")?"trigger-item":"trigger","data-placement":o.get("currentPlacement"),"data-state":T?"open":"closed","data-uid":s("id"),id:r.id,onBlur(){a({type:"TRIGGER_BLUR"})},onClick(i){i.defaultPrevented||H(i.currentTarget)||a({target:i.currentTarget,type:"TRIGGER_CLICK"})},onFocus(){a({type:"TRIGGER_FOCUS"})},onKeyDown(i){if(i.defaultPrevented)return;let g={ArrowDown(){a({type:"ARROW_DOWN"})},ArrowUp(){a({type:"ARROW_UP"})},Enter(){a({src:"enter",type:"ARROW_DOWN"})},Space(){a({src:"space",type:"ARROW_DOWN"})}},M=(0,u.getEventKey)(i,{dir:s("dir"),orientation:"vertical"}),m=g[M];m&&(i.preventDefault(),m(i))},onPointerDown(i){H(i.currentTarget)||(0,u.isContextMenuEvent)(i)||i.preventDefault()},onPointerLeave(i){if(H(i.currentTarget)||i.pointerType!=="mouse"||!n("isSubmenu"))return;let g=(0,u.getEventPoint)(i);a({point:g,target:i.currentTarget,type:"TRIGGER_POINTERLEAVE"})},onPointerMove(i){if(i.pointerType!=="mouse"||H(i.currentTarget)||!n("isSubmenu"))return;let M=(0,u.getEventPoint)(i);a({point:M,target:i.currentTarget,type:"TRIGGER_POINTERMOVE"})},type:"button"})},getTriggerItemBindings(r,i){let g=r.getTriggerBindings(i);return(0,se.mergeProps)(K({value:g.id}),g)}}}var le=require("@qualcomm-ui/dom/dismissable"),_=require("@qualcomm-ui/dom/floating-ui"),d=require("@qualcomm-ui/dom/query"),F=require("@qualcomm-ui/dom/rect-utils"),ue=require("@qualcomm-ui/utils/equal"),G=require("@qualcomm-ui/utils/machine");var{and:A,not:P,or:Pe}=(0,G.createGuards)(),ye=(0,G.createMachine)({actions:{clearHighlightedItem({context:e}){e.set("highlightedValue",null)},clearIntentPolygon({context:e}){e.set("intentPolygon",null)},clickHighlightedItem({computed:e,scope:t}){let n=t.getById(e("highlightedId"));!n||n.dataset.disabled||queueMicrotask(()=>n.click())},closeRootMenu({refs:e}){ae({parent:e.get("parent")})},focusMenu({context:e,event:t,scope:n}){(0,d.raf)(()=>{let o=O.content(n),s=(0,d.getInitialFocus)({enabled:!(0,d.contains)(o,n.getActiveElement()),filter(l){return!l.role?.startsWith("menuitem")},root:o});"fromArrowKey"in t&&t.fromArrowKey&&e.set("itemFocusVisible",!0),s?.focus({preventScroll:!0})})},focusParentMenu({event:e,refs:t}){t.get("parent")?.send({fromArrowKey:e.type.startsWith("ARROW"),type:"FOCUS_MENU"})},focusTrigger({computed:e,context:t,event:n,scope:o}){e("isSubmenu")||t.get("anchorPoint")||"restoreFocus"in n&&n.restoreFocus===!1||queueMicrotask(()=>O.trigger(o)?.focus({preventScroll:!0}))},highlightFirstItem({context:e,event:t,scope:n}){(O.content(n)?queueMicrotask:d.raf)(()=>{e.set("itemFocusVisible",t.type.startsWith("ARROW")||"fromArrowKey"in t&&t.fromArrowKey);let s=z(n);s&&e.set("highlightedValue",R(s))})},highlightLastItem({context:e,event:t,scope:n}){(O.content(n)?queueMicrotask:d.raf)(()=>{e.set("itemFocusVisible",t.type.startsWith("ARROW"));let s=ee(n);s&&e.set("highlightedValue",R(s))})},highlightMatchedItem({context:e,event:t,refs:n,scope:o}){let s=ie(o,{key:"key"in t?t.key:"",typeaheadState:n.get("typeaheadState"),value:e.get("highlightedValue")});s&&(e.set("highlightedValue",R(s)),e.set("itemFocusVisible",t.type.startsWith("ARROW")))},highlightNextItem({context:e,event:t,prop:n,scope:o}){let s=te(o,{loop:"loop"in t?t.loop:void 0,loopFocus:n("loopFocus"),value:e.get("highlightedValue")});e.set("highlightedValue",R(s)),e.set("itemFocusVisible",t.type.startsWith("ARROW"))},highlightPrevItem({context:e,event:t,prop:n,scope:o}){let s=ne(o,{loop:"loop"in t?t.loop:void 0,loopFocus:n("loopFocus"),value:e.get("highlightedValue")});e.set("highlightedValue",R(s)),e.set("itemFocusVisible",t.type.startsWith("ARROW"))},invokeOnClose({prop:e}){e("onOpenChange")?.(!1)},invokeOnOpen({prop:e}){e("onOpenChange")?.(!0)},invokeOnSelect({context:e,prop:t,scope:n}){let o=e.get("highlightedValue");if(o==null)return;let s=B(n,o);oe(s,o),t("onSelect")?.(o)},openSubmenu({computed:e,context:t,event:n,refs:o,scope:s}){let a=s.getById(e("highlightedId"))?.getAttribute("data-uid"),c=o.get("children"),p=a?c[a]:null;t.set("itemFocusVisible",!1),p?.send({fromArrowKey:n.type.startsWith("ARROW"),type:"OPEN_AUTOFOCUS"})},reposition({context:e,event:t,prop:n,refs:o,scope:s}){let l=()=>O.positioner(s),a=e.get("anchorPoint"),c=a?()=>({height:0,width:0,...a}):void 0,p={...n("positioning"),...o.get("positioningOverride")};(0,_.getPlacement)(O.trigger(s),l,{...p,defer:!0,getAnchorRect:c,..."options"in t?t.options??{}:{},listeners:!1,onComplete(T){e.set("currentPlacement",T.placement)}})},restoreHighlightedItem({context:e}){e.get("lastHighlightedValue")&&(e.set("highlightedValue",e.get("lastHighlightedValue")),e.set("lastHighlightedValue",null))},restoreParentHighlightedItem({refs:e}){e.get("parent")?.send({type:"HIGHLIGHTED.RESTORE"})},resumePointer({flush:e,refs:t}){let n=t.get("parent");n&&e(()=>{n.context.set("suspendPointer",!1)})},setAnchorPoint({context:e,event:t}){"point"in t&&e.set("anchorPoint",n=>(0,ue.isEqual)(n,t.point)?n:t.point)},setChildMenu({event:e,refs:t}){let n=t.get("children");"id"in e&&"value"in e&&(n[e.id]=e.value),t.set("children",n)},setHighlightedItem({context:e,event:t}){e.set("itemFocusVisible",!1),"value"in t&&t.value?e.set("highlightedValue",t.value):"target"in t?e.set("highlightedValue",R(t.target)):e.set("highlightedValue",null)},setIntentPolygon({context:e,event:t,scope:n}){let o=O.content(n),s=e.get("currentPlacement");if(!o||!s)return;let l=o.getBoundingClientRect(),a=(0,F.getElementPolygon)(l,s);if(!a)return;let p=(0,_.getPlacementSide)(s)==="right"?-5:5,T="point"in t?t.point:{};e.set("intentPolygon",[{...T,x:T.x+p},...a])},setLastHighlightedItem({context:e,event:t}){"target"in t&&e.set("lastHighlightedValue",R(t.target))},setOptionState({event:e}){if(!("option"in e)||!e.option)return;let{checked:t,onCheckedChange:n,type:o}=e.option;o==="radio"?n?.(!0):o==="checkbox"&&n?.(!t)},setParentMenu({event:e,refs:t}){t.set("parent","value"in e?e.value:null)},setSubmenuPlacement({computed:e,refs:t}){if(!e("isSubmenu"))return;let n=e("isRtl")?"left-start":"right-start";t.set("positioningOverride",{gutter:0,placement:n})},toggleVisibility({event:e,prop:t,send:n}){n({previousEvent:e,type:t("open")?"CONTROLLED.OPEN":"CONTROLLED.CLOSE"})}},computed:{highlightedId:({context:e,refs:t,scope:n})=>Se(t.get("children"),e.get("highlightedValue"),n),isRtl:({prop:e})=>e("dir")==="rtl",isSubmenu:({refs:e})=>!!e.get("parent"),isTypingAhead:({refs:e})=>e.get("typeaheadState").keysSoFar!==""},context({bindable:e,prop:t}){return{anchorPoint:e(()=>({defaultValue:null,hash(n){return`x: ${n?.x}, y: ${n?.y}`}})),currentPlacement:e(()=>({defaultValue:void 0})),highlightedValue:e(()=>({defaultValue:t("defaultHighlightedValue")||null,onChange(n){t("onHighlightChange")?.(n)},value:t("highlightedValue")})),intentPolygon:e(()=>({defaultValue:null})),itemFocusVisible:e(()=>({defaultValue:!1})),lastHighlightedValue:e(()=>({defaultValue:null})),suspendPointer:e(()=>({defaultValue:!1}))}},effects:{scrollToHighlightedItem({computed:e,event:t,scope:n}){let o=()=>{if(t.type.startsWith("ITEM_POINTER"))return;let l=n.getById(e("highlightedId")),a=O.content(n);(0,d.scrollIntoView)(l,{block:"nearest",rootEl:a})};return(0,d.raf)(()=>o()),(0,d.observeAttributes)(()=>O.content(n),{attributes:["aria-activedescendant"],callback:o,defer:!0})},trackInteractOutside({computed:e,prop:t,refs:n,scope:o,send:s}){let l=()=>O.content(o),a=!0;return(0,le.trackDismissableElement)(l,{defer:!0,exclude:()=>O.trigger(o),onDismiss(){s({restoreFocus:a,src:"interact-outside",type:"CLOSE"})},onEscapeKeyDown(c){t("onEscapeKeyDown")?.(c),e("isSubmenu")&&c.preventDefault(),ae({parent:n.get("parent")})},onFocusOutside(c){let p=(0,d.getEventTarget)(c.detail.originalEvent);if((0,d.contains)(O.content(o),c.currentTarget)&&(c.preventDefault(),O.content(o)?.focus()),t("onFocusOutside")?.(c),(0,d.contains)(O.contextTrigger(o),p)){c.preventDefault();return}},onInteractOutside:t("onInteractOutside"),onPointerDownOutside(c){t("onPointerDownOutside")?.(c);let p=(0,d.getEventTarget)(c.detail.originalEvent);if((0,d.contains)(O.contextTrigger(o),p)&&c.detail.contextmenu){c.preventDefault();return}a=!c.detail.focusable},onRequestDismiss:t("onRequestDismiss")})},trackPointerMove({context:e,flush:t,refs:n,scope:o,send:s}){let l=n.get("parent");t(()=>{l.context.set("suspendPointer",!0)});let a=o.getDoc();return(0,d.addDomEvent)(a,"pointermove",c=>{Me(e.get("intentPolygon"),{x:c.clientX,y:c.clientY})||(s({type:"POINTER_MOVED_AWAY_FROM_SUBMENU"}),l.context.set("suspendPointer",!1))})},trackPositioning({context:e,prop:t,refs:n,scope:o}){if(O.contextTrigger(o))return;let s={...t("positioning"),...n.get("positioningOverride")};e.set("currentPlacement",s.placement);let l=()=>O.positioner(o);return(0,_.getPlacement)(O.trigger(o),l,{...s,defer:!0,onComplete(a){e.set("currentPlacement",a.placement)}})},waitForCloseDelay({send:e}){let t=setTimeout(()=>{e({type:"DELAY.CLOSE"})},300);return()=>clearTimeout(t)},waitForLongPress({send:e}){let t=setTimeout(()=>{e({type:"LONG_PRESS.OPEN"})},700);return()=>clearTimeout(t)},waitForOpenDelay({send:e}){let t=setTimeout(()=>{e({type:"DELAY.OPEN"})},100);return()=>clearTimeout(t)}},guards:{closeOnSelect:({event:e,prop:t})=>"closeOnSelect"in e?e?.closeOnSelect??t("closeOnSelect"):t("closeOnSelect"),isArrowDownEvent:({event:e})=>"previousEvent"in e&&e.previousEvent?.type==="ARROW_DOWN",isArrowLeftEvent:({event:e})=>"previousEvent"in e&&e.previousEvent?.type==="ARROW_LEFT",isArrowUpEvent:({event:e})=>"previousEvent"in e&&e.previousEvent?.type==="ARROW_UP",isHighlightedItemEditable:({computed:e,scope:t})=>(0,d.isEditableElement)(t.getById(e("highlightedId"))),isOpenAutoFocusEvent:({event:e})=>"previousEvent"in e&&e.previousEvent?.type==="OPEN_AUTOFOCUS",isOpenControlled:({prop:e})=>e("open")!==void 0,isPointerSuspended:({context:e})=>e.get("suspendPointer"),isSubmenu:({computed:e})=>e("isSubmenu"),isTriggerItem:({event:e})=>"target"in e&&Z(e.target),isTriggerItemHighlighted:({computed:e,event:t,scope:n})=>!!(("target"in t?t.target:void 0)??n.getById(e("highlightedId")))?.hasAttribute("aria-controls")},ids({bindableId:e}){return{arrow:e(),content:e(),contextTrigger:e(),group:e(),positioner:e(),root:e(),trigger:e()}},initialState({prop:e}){return e("open")||e("defaultOpen")?"open":"idle"},on:{"CHILD.SET":{actions:["setChildMenu"]},CLOSE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}],"HIGHLIGHTED.RESTORE":{actions:["restoreHighlightedItem"]},"HIGHLIGHTED.SET":{actions:["setHighlightedItem"]},OPEN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],OPEN_AUTOFOCUS:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["highlightFirstItem","invokeOnOpen"],target:"open"}],"PARENT.SET":{actions:["setParentMenu"]}},props({props:e}){return{closeOnSelect:!0,composite:!0,dir:"ltr",loopFocus:!1,navigate(t){(0,d.clickIfLink)(t.node)},typeahead:!0,...e,positioning:{gutter:5,placement:"bottom-start",...e.positioning},...e}},refs(){return{children:{},parent:null,positioningOverride:{},typeaheadState:{...d.getByTypeahead.defaultOptions}}},states:{closed:{entry:["clearHighlightedItem","focusTrigger","resumePointer"],on:{ARROW_DOWN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["highlightFirstItem","invokeOnOpen"],target:"open"}],ARROW_UP:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["highlightLastItem","invokeOnOpen"],target:"open"}],CONTEXT_MENU:[{actions:["setAnchorPoint","invokeOnOpen"],guard:"isOpenControlled"},{actions:["setAnchorPoint","invokeOnOpen"],target:"open"}],CONTEXT_MENU_START:{actions:["setAnchorPoint"],target:"opening:contextmenu"},"CONTROLLED.OPEN":[{actions:["highlightFirstItem"],guard:Pe("isOpenAutoFocusEvent","isArrowDownEvent"),target:"open"},{actions:["highlightLastItem"],guard:"isArrowUpEvent",target:"open"},{target:"open"}],TRIGGER_BLUR:{target:"idle"},TRIGGER_CLICK:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],TRIGGER_POINTERMOVE:{guard:"isTriggerItem",target:"opening"}},tags:["closed"]},closing:{effects:["trackPointerMove","trackInteractOutside","waitForCloseDelay"],on:{"CONTROLLED.CLOSE":{actions:["focusParentMenu","restoreParentHighlightedItem"],target:"closed"},"CONTROLLED.OPEN":{target:"open"},"DELAY.CLOSE":[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["focusParentMenu","restoreParentHighlightedItem","invokeOnClose"],target:"closed"}],MENU_POINTERENTER:{actions:["clearIntentPolygon"],target:"open"},POINTER_MOVED_AWAY_FROM_SUBMENU:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["focusParentMenu","restoreParentHighlightedItem"],target:"closed"}]},tags:["open"]},idle:{on:{CONTEXT_MENU:[{actions:["setAnchorPoint","invokeOnOpen"],guard:"isOpenControlled"},{actions:["setAnchorPoint","invokeOnOpen"],target:"open"}],CONTEXT_MENU_START:{actions:["setAnchorPoint"],target:"opening:contextmenu"},"CONTROLLED.CLOSE":{target:"closed"},"CONTROLLED.OPEN":{target:"open"},TRIGGER_CLICK:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],TRIGGER_FOCUS:{guard:P("isSubmenu"),target:"closed"},TRIGGER_POINTERMOVE:{guard:"isSubmenu",target:"opening"}},tags:["closed"]},open:{effects:["trackInteractOutside","trackPositioning","scrollToHighlightedItem"],entry:["focusMenu","resumePointer"],on:{ARROW_DOWN:{actions:["highlightNextItem","focusMenu"]},ARROW_LEFT:[{actions:["invokeOnClose"],guard:A("isSubmenu","isOpenControlled")},{actions:["focusParentMenu","invokeOnClose"],guard:"isSubmenu",target:"closed"}],ARROW_RIGHT:{actions:["openSubmenu"],guard:"isTriggerItemHighlighted"},ARROW_UP:{actions:["highlightPrevItem","focusMenu"]},CONTEXT_MENU:{actions:["setAnchorPoint","focusMenu"]},"CONTROLLED.CLOSE":[{actions:["focusParentMenu"],guard:"isArrowLeftEvent",target:"closed"},{target:"closed"}],END:{actions:["highlightLastItem","focusMenu"]},ENTER:[{actions:["openSubmenu"],guard:"isTriggerItemHighlighted"},{actions:["clickHighlightedItem"]}],FOCUS_MENU:{actions:["focusMenu"]},HOME:{actions:["highlightFirstItem","focusMenu"]},ITEM_CLICK:[{actions:["invokeOnSelect","setOptionState","closeRootMenu","invokeOnClose"],guard:A(P("isTriggerItemHighlighted"),P("isHighlightedItemEditable"),"closeOnSelect","isOpenControlled")},{actions:["invokeOnSelect","setOptionState","closeRootMenu","invokeOnClose"],guard:A(P("isTriggerItemHighlighted"),P("isHighlightedItemEditable"),"closeOnSelect"),target:"closed"},{actions:["invokeOnSelect","setOptionState"],guard:A(P("isTriggerItemHighlighted"),P("isHighlightedItemEditable"))},{actions:["setHighlightedItem"]}],ITEM_POINTERDOWN:{actions:["setHighlightedItem"]},ITEM_POINTERLEAVE:{actions:["clearHighlightedItem"],guard:A(P("isPointerSuspended"),P("isTriggerItem"))},ITEM_POINTERMOVE:[{actions:["setHighlightedItem","focusMenu"],guard:P("isPointerSuspended")},{actions:["setLastHighlightedItem"]}],"POSITIONING.SET":{actions:["reposition"]},TRIGGER_CLICK:[{actions:["invokeOnClose"],guard:A(P("isTriggerItem"),"isOpenControlled")},{actions:["invokeOnClose"],guard:P("isTriggerItem"),target:"closed"}],TRIGGER_POINTERLEAVE:{target:"closing"},TRIGGER_POINTERMOVE:{actions:["setIntentPolygon"],guard:"isTriggerItem"},TYPEAHEAD:{actions:["highlightMatchedItem"]}},tags:["open"]},opening:{effects:["waitForOpenDelay"],on:{BLUR:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}],"CONTROLLED.CLOSE":{target:"closed"},"CONTROLLED.OPEN":{target:"open"},"DELAY.OPEN":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],TRIGGER_POINTERLEAVE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}]},tags:["closed"]},"opening:contextmenu":{effects:["waitForLongPress"],on:{CONTEXT_MENU_CANCEL:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}],"CONTROLLED.CLOSE":{target:"closed"},"CONTROLLED.OPEN":{target:"open"},"LONG_PRESS.OPEN":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}]},tags:["closed"]}},watch({action:e,computed:t,context:n,prop:o,track:s}){s([()=>t("isSubmenu")],()=>{e(["setSubmenuPlacement"])}),s([()=>n.hash("anchorPoint")],()=>{e(["reposition"])}),s([()=>o("open")],()=>{e(["toggleVisibility"])})}});function ae(e){let t=e.parent;for(;t&&t.computed("isSubmenu");)t=t.refs.get("parent");t?.send({type:"CLOSE"})}function Me(e,t){return e?(0,F.isPointInPolygon)(e,t):!1}function Se(e,t,n){let o=Object.keys(e).length>0;if(!t)return null;if(!o)return L(n,t);for(let s in e){let l=e[s],a=E.trigger(l.scope);if(a===t)return a}return L(n,t)}var k=require("@qualcomm-ui/utils/object"),ge=(0,k.createProps)()("anchorPoint","closeOnSelect","composite","defaultHighlightedValue","defaultOpen","dir","getRootNode","highlightedValue","id","loopFocus","navigate","onEscapeKeyDown","onFocusOutside","onHighlightChange","onInteractOutside","onOpenChange","onPointerDownOutside","onRequestDismiss","onSelect","open","positioning","typeahead"),Ce=(0,k.createSplitProps)(ge),de=(0,k.createProps)()("closeOnSelect","disabled","onSelect","value","valueText"),Re=(0,k.createSplitProps)(de),ce=(0,k.createProps)()("closeOnSelect","disabled","checked","onCheckedChange","onSelect","value","type","valueText"),ke=(0,k.createSplitProps)(ce);
|
|
2
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/menu/index.ts", "../../src/menu/menu.api.ts", "../../src/menu/internal/menu.dom.ts", "../../src/menu/menu.machine.ts", "../../src/menu/menu.props.ts"],
|
|
4
|
+
"sourcesContent": ["export * from \"./menu.api\"\nexport * from \"./menu.machine\"\nexport * from \"./menu.props\"\nexport type * from \"./menu.types\"\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 {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": "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",
|
|
6
|
+
"names": ["menu_exports", "__export", "createMenuApi", "menuItemProps", "menuMachine", "menuOptionItemProps", "menuProps", "splitMenuItemProps", "splitMenuOptionItemProps", "splitMenuProps", "__toCommonJS", "import_floating_ui", "import_query", "import_attributes", "import_functions", "import_guard", "import_merge_props", "import_query", "import_array", "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", "getItemState", "props", "getItemId", "getOptionItemProps", "valueText", "getOptionItemState", "getItemBindings", "closeOnSelect", "value", "itemState", "id", "domIds", "event", "target", "node", "listener", "itemSelectEvent", "options", "child", "nextOpen", "parent", "item", "getItemEl", "keyMap", "key", "exec", "point", "getGroupLabelId", "getGroupId", "dataState", "disabled", "type", "option", "isTargetDisabled", "childApi", "triggerProps", "import_dismissable", "import_floating_ui", "import_query", "import_rect_utils", "import_equal", "import_machine", "and", "not", "or", "menuMachine", "context", "computed", "scope", "itemEl", "refs", "closeRootMenu", "event", "contentEl", "domEls", "initialFocusEl", "node", "first", "getFirstEl", "getItemValue", "last", "getLastEl", "getElemByKey", "prop", "next", "getNextEl", "prev", "getPrevEl", "value", "getItemEl", "dispatchSelectionEvent", "id", "children", "child", "getMenuPositionerEl", "anchorPoint", "getAnchorRect", "positioning", "data", "flush", "parent", "menu", "placement", "rect", "polygon", "bleed", "point", "checked", "onCheckedChange", "type", "send", "resolveItemId", "bindable", "exec", "getContentEl", "restoreFocus", "target", "doc", "e", "isWithinPolygon", "getPositionerEl", "timer", "isTriggerItem", "bindableId", "props", "details", "action", "track", "ctx", "hasChildren", "getItemId", "childMenu", "childTriggerId", "domIds", "import_object", "menuProps", "splitMenuProps", "menuItemProps", "splitMenuItemProps", "menuOptionItemProps", "splitMenuOptionItemProps"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/menu/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,mBAAmB,cAAc,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{getPlacementStyles as Ee}from"@qualcomm-ui/dom/floating-ui";import{getEventKey as ne,getEventPoint as v,getEventTarget as fe,isAnchorElement as Ie,isContextMenuEvent as Te,isDownloadingEvent as ie,isEditableElement as Pe,isModifierKey as ye,isOpeningInNewTab as oe,isPrintableKey as Me,isSelfTarget as Se,isValidTabEvent as Ce}from"@qualcomm-ui/dom/query";import{booleanAriaAttr as F,booleanDataAttr as y}from"@qualcomm-ui/utils/attributes";import{cast as G}from"@qualcomm-ui/utils/functions";import{hasProp as W}from"@qualcomm-ui/utils/guard";import{mergeProps as Re}from"@qualcomm-ui/utils/merge-props";import{getByTypeahead as ue,getWindow as ge,isHTMLElement as de,queryAll as ce}from"@qualcomm-ui/dom/query";import{first as pe,last as me,next as he,prev as Oe}from"@qualcomm-ui/utils/array";var h={arrow:e=>e.ids.get("arrow"),content:e=>e.ids.get("content"),contextTrigger:e=>e.ids.get("contextTrigger"),group:e=>e.ids.get("group"),positioner:e=>e.ids.get("positioner"),trigger:e=>e.ids.get("trigger")},m={arrow:e=>e.getById(h.arrow(e)),content:e=>e.getById(h.content(e)),contextTrigger:e=>e.getById(h.contextTrigger(e)),group:e=>e.getById(h.group(e)),positioner:e=>e.getById(h.positioner(e)),trigger:e=>e.getById(h.trigger(e))};function M(e,t){return`${e.id}/${t}`}function P(e){return e?.dataset.value??null}function $(e,t){return`menu:${e.id}:group:${t}`}function w(e,t){if(!(!e.id||!t))return`menu:${e.id}:group-label:${t}`}function J(e){return!!e?.getAttribute("role")?.startsWith("menuitem")&&!!e?.hasAttribute("aria-controls")}var L=e=>{let n=`[role^="menuitem"][data-ownedby=${CSS.escape(h.content(e))}]:not([data-disabled])`;return ce(m.content(e),n)},j=e=>pe(L(e)),Q=e=>me(L(e)),V=(e,t)=>t?e.id===t||e.dataset.value===t:!1;function Z(e,t){let n=L(e),o=n.findIndex(s=>V(s,t.value));return he(n,o,{loop:t.loop??t.loopFocus})}function z(e,t){let n=L(e),o=n.findIndex(s=>V(s,t.value));return Oe(n,o,{loop:t.loop??t.loopFocus})}function ee(e,t){let n=L(e),o=n.find(s=>V(s,t.value));return ue(n,{activeId:o?.id??null,key:t.key,state:t.typeaheadState})}function N(e,t){return t?e.getById(M(e,t)):null}function A(e){return de(e)&&(e.dataset.disabled===""||e.hasAttribute("disabled"))}var b="menu:select";function te(e,t){if(!e)return;let n=ge(e),o=new n.CustomEvent(b,{detail:{value:t}});e.dispatchEvent(o)}function it(e,t){let{computed:n,context:o,prop:s,scope:l,send:a,state:g}=e,d={"data-scope":"menu",dir:s("dir")},E=g.hasTag("open"),X=s("composite"),q=o.get("currentPlacement"),le=o.get("anchorPoint"),C=o.get("highlightedValue"),_=Ee({...s("positioning"),placement:le?"bottom":q});function B(r){return{disabled:!!r.disabled,highlighted:C===r.value&&!!r.value,id:M(l,r.value)}}function Y(r){let i=r.valueText??r.value;return{...r,id:r.value,valueText:i}}function R(r){return{...B(Y(r)),checked:!!r.checked}}function x(r){let{closeOnSelect:i,value:u,valueText:T}=r,c=B(r),I=M(l,u);return t.element({...d,"aria-disabled":F(c.disabled),"data-disabled":y(c.disabled),"data-focus-visible":y(c.highlighted&&o.get("itemFocusVisible")),"data-highlighted":y(c.highlighted),"data-ownedby":h.content(l),"data-part":"item","data-value":u,"data-valuetext":T,id:I,onClick(p){if(ie(p)||oe(p)||c.disabled)return;let O=p.currentTarget;a({closeOnSelect:i,id:I,target:O,type:"ITEM_CLICK"})},onDragStart(p){p.currentTarget.matches("a[href]")&&p.preventDefault()},onPointerDown(p){if(c.disabled)return;let O=p.currentTarget;a({closeOnSelect:i,id:I,target:O,type:"ITEM_POINTERDOWN"})},onPointerLeave(p){if(c.disabled||p.pointerType!=="mouse"||!e.event.previous()?.type.includes("POINTER"))return;let k=p.currentTarget;a({closeOnSelect:i,id:I,target:k,type:"ITEM_POINTERLEAVE"})},onPointerMove(p){if(c.disabled||p.pointerType!=="mouse")return;let O=p.currentTarget;c.highlighted||a({closeOnSelect:i,id:I,target:O,type:"ITEM_POINTERMOVE"})},role:"menuitem",tabIndex:-1})}return{addItemListener(r){let i=l.getById(r.id);if(!i)return;let u=()=>r.onSelect?.();return i.addEventListener(b,u),()=>i.removeEventListener(b,u)},highlightedValue:C,open:E,reposition(r={}){a({options:r,type:"POSITIONING.SET"})},setChild(r){a({id:r.prop("id"),type:"CHILD.SET",value:r})},setHighlightedValue(r){a({type:"HIGHLIGHTED.SET",value:r})},setOpen(r){g.hasTag("open")!==r&&a({type:r?"OPEN":"CLOSE"})},setParent(r){a({id:r.prop("id"),type:"PARENT.SET",value:r})},getArrowBindings(){return t.element({...d,"data-part":"arrow",style:_.arrow})},getArrowTipBindings(){return t.element({...d,"data-part":"arrow-tip",style:_.arrowTip})},getContentBindings(r){return l.ids.set("content",r.id),t.element({...d,"aria-activedescendant":n("highlightedId")||void 0,"aria-labelledby":h.trigger(l),"data-from":o.get("anchorPoint")?"context-trigger":"trigger","data-part":"content","data-placement":q,"data-state":E?"open":"closed",hidden:!E,id:h.content(l),onKeyDown(i){if(i.defaultPrevented||!Se(i))return;let u=fe(i);if(!(u?.closest("[role=menu]")===i.currentTarget||u===i.currentTarget))return;if(i.key==="Tab"&&!Ce(i)){i.preventDefault();return}let c=N(l,C),I={ArrowDown(){a({type:"ARROW_DOWN"})},ArrowLeft(){a({type:"ARROW_LEFT"})},ArrowRight(){a({type:"ARROW_RIGHT"})},ArrowUp(){a({type:"ARROW_UP"})},End(){a({type:"END"})},Enter(){a({type:"ENTER"}),C!=null&&Ie(c)&&s("navigate")?.({href:c.href,node:c,value:C})},Home(){a({type:"HOME"})},Space(k){n("isTypingAhead")?a({key:k.key,type:"TYPEAHEAD"}):I.Enter?.(k)}},p=ne(i,{dir:s("dir")}),O=I[p];if(O){O(i),i.stopPropagation(),i.preventDefault();return}s("typeahead")&&Me(i)&&(ye(i)||Pe(u)||(a({key:i.key,type:"TYPEAHEAD"}),i.preventDefault()))},onPointerEnter(i){i.pointerType==="mouse"&&a({type:"MENU_POINTERENTER"})},role:X?"menu":"dialog",tabIndex:0})},getContextTriggerBindings(r){return l.ids.register("contextTrigger",r),t.element({...d,"data-part":"context-trigger",id:r.id,onContextMenu(i){let u=v(i);a({point:u,type:"CONTEXT_MENU"}),i.preventDefault()},onPointerCancel(i){i.pointerType!=="mouse"&&a({type:"CONTEXT_MENU_CANCEL"})},onPointerDown(i){if(i.pointerType==="mouse")return;let u=v(i);a({point:u,type:"CONTEXT_MENU_START"})},onPointerMove(i){i.pointerType!=="mouse"&&a({type:"CONTEXT_MENU_CANCEL"})},onPointerUp(i){i.pointerType!=="mouse"&&a({type:"CONTEXT_MENU_CANCEL"})},style:{userSelect:"none",WebkitTouchCallout:"none",WebkitUserSelect:"none"}})},getItemBindings:x,getItemGroupBindings(r){return t.element({...d,"aria-labelledby":w(l,r.id),"data-part":"item-group",id:$(l,r.id),role:"group"})},getItemGroupLabelBindings(r){return t.element({...d,"data-part":"item-group-label",id:w(l,r.htmlFor)})},getItemIndicatorBindings(r){let i=R(G(r)),u=i.checked?"checked":"unchecked";return t.element({...d,"data-disabled":y(i.disabled),"data-highlighted":y(i.highlighted),"data-part":"item-indicator","data-state":W(r,"checked")?u:void 0,hidden:W(r,"checked")?!i.checked:void 0})},getItemLabelBindings(r){let i=R(G(r)),u=i.checked?"checked":"unchecked";return t.element({...d,"data-disabled":y(i.disabled),"data-highlighted":y(i.highlighted),"data-part":"item-text","data-state":W(r,"checked")?u:void 0})},getItemState:B,getOptionItemBindings(r){let{closeOnSelect:i,disabled:u,type:T}=r,c=Y(r),I=R(r);return{...x(c),...t.element({...d,"aria-checked":F(I.checked),"data-state":I.checked?"checked":"unchecked","data-type":T,"data-value":c.value,dir:s("dir"),onClick(p){if(u||ie(p)||oe(p))return;let O=p.currentTarget;a({closeOnSelect:i,option:{...c,checked:G(O).getAttribute("data-state")==="checked"},target:O,type:"ITEM_CLICK"})},role:`menuitem${T}`})}},getOptionItemControlBindings(r){let i=R(r);return t.element({...d,"data-disabled":y(i.disabled),"data-part":"item-control","data-state":i.checked?"checked":"unchecked"})},getOptionItemState:R,getPositionerBindings(r){return l.ids.set("positioner",r.id),t.element({...d,"data-part":"positioner",id:r.id,style:_.floating})},getSeparatorBindings(){return t.element({...d,"aria-orientation":"horizontal","data-part":"separator",role:"separator"})},getTriggerBindings(r){return l.ids.set("trigger",r.id),t.button({...d,"aria-controls":h.content(l),"aria-expanded":F(E),"aria-haspopup":X?"menu":"dialog","data-part":n("isSubmenu")?"trigger-item":"trigger","data-placement":o.get("currentPlacement"),"data-state":E?"open":"closed","data-uid":s("id"),id:r.id,onBlur(){a({type:"TRIGGER_BLUR"})},onClick(i){i.defaultPrevented||A(i.currentTarget)||a({target:i.currentTarget,type:"TRIGGER_CLICK"})},onFocus(){a({type:"TRIGGER_FOCUS"})},onKeyDown(i){if(i.defaultPrevented)return;let u={ArrowDown(){a({type:"ARROW_DOWN"})},ArrowUp(){a({type:"ARROW_UP"})},Enter(){a({src:"enter",type:"ARROW_DOWN"})},Space(){a({src:"space",type:"ARROW_DOWN"})}},T=ne(i,{dir:s("dir"),orientation:"vertical"}),c=u[T];c&&(i.preventDefault(),c(i))},onPointerDown(i){A(i.currentTarget)||Te(i)||i.preventDefault()},onPointerLeave(i){if(A(i.currentTarget)||i.pointerType!=="mouse"||!n("isSubmenu"))return;let u=v(i);a({point:u,target:i.currentTarget,type:"TRIGGER_POINTERLEAVE"})},onPointerMove(i){if(i.pointerType!=="mouse"||A(i.currentTarget)||!n("isSubmenu"))return;let T=v(i);a({point:T,target:i.currentTarget,type:"TRIGGER_POINTERMOVE"})},type:"button"})},getTriggerItemBindings(r,i){let u=r.getTriggerBindings(i);return Re(x({value:u.id}),u)}}}import{trackDismissableElement as ke}from"@qualcomm-ui/dom/dismissable";import{getPlacement as re,getPlacementSide as Le}from"@qualcomm-ui/dom/floating-ui";import{addDomEvent as Ae,clickIfLink as Ne,contains as D,getByTypeahead as be,getEventTarget as se,getInitialFocus as ve,isEditableElement as De,observeAttributes as He,raf as H,scrollIntoView as _e}from"@qualcomm-ui/dom/query";import{getElementPolygon as Be,isPointInPolygon as xe}from"@qualcomm-ui/dom/rect-utils";import{isEqual as we}from"@qualcomm-ui/utils/equal";import{createGuards as Ve,createMachine as Fe}from"@qualcomm-ui/utils/machine";var{and:S,not:f,or:Ge}=Ve(),ct=Fe({actions:{clearHighlightedItem({context:e}){e.set("highlightedValue",null)},clearIntentPolygon({context:e}){e.set("intentPolygon",null)},clickHighlightedItem({computed:e,scope:t}){let n=t.getById(e("highlightedId"));!n||n.dataset.disabled||queueMicrotask(()=>n.click())},closeRootMenu({refs:e}){ae({parent:e.get("parent")})},focusMenu({context:e,event:t,scope:n}){H(()=>{let o=m.content(n),s=ve({enabled:!D(o,n.getActiveElement()),filter(l){return!l.role?.startsWith("menuitem")},root:o});"fromArrowKey"in t&&t.fromArrowKey&&e.set("itemFocusVisible",!0),s?.focus({preventScroll:!0})})},focusParentMenu({event:e,refs:t}){t.get("parent")?.send({fromArrowKey:e.type.startsWith("ARROW"),type:"FOCUS_MENU"})},focusTrigger({computed:e,context:t,event:n,scope:o}){e("isSubmenu")||t.get("anchorPoint")||"restoreFocus"in n&&n.restoreFocus===!1||queueMicrotask(()=>m.trigger(o)?.focus({preventScroll:!0}))},highlightFirstItem({context:e,event:t,scope:n}){(m.content(n)?queueMicrotask:H)(()=>{e.set("itemFocusVisible",t.type.startsWith("ARROW")||"fromArrowKey"in t&&t.fromArrowKey);let s=j(n);s&&e.set("highlightedValue",P(s))})},highlightLastItem({context:e,event:t,scope:n}){(m.content(n)?queueMicrotask:H)(()=>{e.set("itemFocusVisible",t.type.startsWith("ARROW"));let s=Q(n);s&&e.set("highlightedValue",P(s))})},highlightMatchedItem({context:e,event:t,refs:n,scope:o}){let s=ee(o,{key:"key"in t?t.key:"",typeaheadState:n.get("typeaheadState"),value:e.get("highlightedValue")});s&&(e.set("highlightedValue",P(s)),e.set("itemFocusVisible",t.type.startsWith("ARROW")))},highlightNextItem({context:e,event:t,prop:n,scope:o}){let s=Z(o,{loop:"loop"in t?t.loop:void 0,loopFocus:n("loopFocus"),value:e.get("highlightedValue")});e.set("highlightedValue",P(s)),e.set("itemFocusVisible",t.type.startsWith("ARROW"))},highlightPrevItem({context:e,event:t,prop:n,scope:o}){let s=z(o,{loop:"loop"in t?t.loop:void 0,loopFocus:n("loopFocus"),value:e.get("highlightedValue")});e.set("highlightedValue",P(s)),e.set("itemFocusVisible",t.type.startsWith("ARROW"))},invokeOnClose({prop:e}){e("onOpenChange")?.(!1)},invokeOnOpen({prop:e}){e("onOpenChange")?.(!0)},invokeOnSelect({context:e,prop:t,scope:n}){let o=e.get("highlightedValue");if(o==null)return;let s=N(n,o);te(s,o),t("onSelect")?.(o)},openSubmenu({computed:e,context:t,event:n,refs:o,scope:s}){let a=s.getById(e("highlightedId"))?.getAttribute("data-uid"),g=o.get("children"),d=a?g[a]:null;t.set("itemFocusVisible",!1),d?.send({fromArrowKey:n.type.startsWith("ARROW"),type:"OPEN_AUTOFOCUS"})},reposition({context:e,event:t,prop:n,refs:o,scope:s}){let l=()=>m.positioner(s),a=e.get("anchorPoint"),g=a?()=>({height:0,width:0,...a}):void 0,d={...n("positioning"),...o.get("positioningOverride")};re(m.trigger(s),l,{...d,defer:!0,getAnchorRect:g,..."options"in t?t.options??{}:{},listeners:!1,onComplete(E){e.set("currentPlacement",E.placement)}})},restoreHighlightedItem({context:e}){e.get("lastHighlightedValue")&&(e.set("highlightedValue",e.get("lastHighlightedValue")),e.set("lastHighlightedValue",null))},restoreParentHighlightedItem({refs:e}){e.get("parent")?.send({type:"HIGHLIGHTED.RESTORE"})},resumePointer({flush:e,refs:t}){let n=t.get("parent");n&&e(()=>{n.context.set("suspendPointer",!1)})},setAnchorPoint({context:e,event:t}){"point"in t&&e.set("anchorPoint",n=>we(n,t.point)?n:t.point)},setChildMenu({event:e,refs:t}){let n=t.get("children");"id"in e&&"value"in e&&(n[e.id]=e.value),t.set("children",n)},setHighlightedItem({context:e,event:t}){e.set("itemFocusVisible",!1),"value"in t&&t.value?e.set("highlightedValue",t.value):"target"in t?e.set("highlightedValue",P(t.target)):e.set("highlightedValue",null)},setIntentPolygon({context:e,event:t,scope:n}){let o=m.content(n),s=e.get("currentPlacement");if(!o||!s)return;let l=o.getBoundingClientRect(),a=Be(l,s);if(!a)return;let d=Le(s)==="right"?-5:5,E="point"in t?t.point:{};e.set("intentPolygon",[{...E,x:E.x+d},...a])},setLastHighlightedItem({context:e,event:t}){"target"in t&&e.set("lastHighlightedValue",P(t.target))},setOptionState({event:e}){if(!("option"in e)||!e.option)return;let{checked:t,onCheckedChange:n,type:o}=e.option;o==="radio"?n?.(!0):o==="checkbox"&&n?.(!t)},setParentMenu({event:e,refs:t}){t.set("parent","value"in e?e.value:null)},setSubmenuPlacement({computed:e,refs:t}){if(!e("isSubmenu"))return;let n=e("isRtl")?"left-start":"right-start";t.set("positioningOverride",{gutter:0,placement:n})},toggleVisibility({event:e,prop:t,send:n}){n({previousEvent:e,type:t("open")?"CONTROLLED.OPEN":"CONTROLLED.CLOSE"})}},computed:{highlightedId:({context:e,refs:t,scope:n})=>Ue(t.get("children"),e.get("highlightedValue"),n),isRtl:({prop:e})=>e("dir")==="rtl",isSubmenu:({refs:e})=>!!e.get("parent"),isTypingAhead:({refs:e})=>e.get("typeaheadState").keysSoFar!==""},context({bindable:e,prop:t}){return{anchorPoint:e(()=>({defaultValue:null,hash(n){return`x: ${n?.x}, y: ${n?.y}`}})),currentPlacement:e(()=>({defaultValue:void 0})),highlightedValue:e(()=>({defaultValue:t("defaultHighlightedValue")||null,onChange(n){t("onHighlightChange")?.(n)},value:t("highlightedValue")})),intentPolygon:e(()=>({defaultValue:null})),itemFocusVisible:e(()=>({defaultValue:!1})),lastHighlightedValue:e(()=>({defaultValue:null})),suspendPointer:e(()=>({defaultValue:!1}))}},effects:{scrollToHighlightedItem({computed:e,event:t,scope:n}){let o=()=>{if(t.type.startsWith("ITEM_POINTER"))return;let l=n.getById(e("highlightedId")),a=m.content(n);_e(l,{block:"nearest",rootEl:a})};return H(()=>o()),He(()=>m.content(n),{attributes:["aria-activedescendant"],callback:o,defer:!0})},trackInteractOutside({computed:e,prop:t,refs:n,scope:o,send:s}){let l=()=>m.content(o),a=!0;return ke(l,{defer:!0,exclude:()=>m.trigger(o),onDismiss(){s({restoreFocus:a,src:"interact-outside",type:"CLOSE"})},onEscapeKeyDown(g){t("onEscapeKeyDown")?.(g),e("isSubmenu")&&g.preventDefault(),ae({parent:n.get("parent")})},onFocusOutside(g){let d=se(g.detail.originalEvent);if(D(m.content(o),g.currentTarget)&&(g.preventDefault(),m.content(o)?.focus()),t("onFocusOutside")?.(g),D(m.contextTrigger(o),d)){g.preventDefault();return}},onInteractOutside:t("onInteractOutside"),onPointerDownOutside(g){t("onPointerDownOutside")?.(g);let d=se(g.detail.originalEvent);if(D(m.contextTrigger(o),d)&&g.detail.contextmenu){g.preventDefault();return}a=!g.detail.focusable},onRequestDismiss:t("onRequestDismiss")})},trackPointerMove({context:e,flush:t,refs:n,scope:o,send:s}){let l=n.get("parent");t(()=>{l.context.set("suspendPointer",!0)});let a=o.getDoc();return Ae(a,"pointermove",g=>{We(e.get("intentPolygon"),{x:g.clientX,y:g.clientY})||(s({type:"POINTER_MOVED_AWAY_FROM_SUBMENU"}),l.context.set("suspendPointer",!1))})},trackPositioning({context:e,prop:t,refs:n,scope:o}){if(m.contextTrigger(o))return;let s={...t("positioning"),...n.get("positioningOverride")};e.set("currentPlacement",s.placement);let l=()=>m.positioner(o);return re(m.trigger(o),l,{...s,defer:!0,onComplete(a){e.set("currentPlacement",a.placement)}})},waitForCloseDelay({send:e}){let t=setTimeout(()=>{e({type:"DELAY.CLOSE"})},300);return()=>clearTimeout(t)},waitForLongPress({send:e}){let t=setTimeout(()=>{e({type:"LONG_PRESS.OPEN"})},700);return()=>clearTimeout(t)},waitForOpenDelay({send:e}){let t=setTimeout(()=>{e({type:"DELAY.OPEN"})},100);return()=>clearTimeout(t)}},guards:{closeOnSelect:({event:e,prop:t})=>"closeOnSelect"in e?e?.closeOnSelect??t("closeOnSelect"):t("closeOnSelect"),isArrowDownEvent:({event:e})=>"previousEvent"in e&&e.previousEvent?.type==="ARROW_DOWN",isArrowLeftEvent:({event:e})=>"previousEvent"in e&&e.previousEvent?.type==="ARROW_LEFT",isArrowUpEvent:({event:e})=>"previousEvent"in e&&e.previousEvent?.type==="ARROW_UP",isHighlightedItemEditable:({computed:e,scope:t})=>De(t.getById(e("highlightedId"))),isOpenAutoFocusEvent:({event:e})=>"previousEvent"in e&&e.previousEvent?.type==="OPEN_AUTOFOCUS",isOpenControlled:({prop:e})=>e("open")!==void 0,isPointerSuspended:({context:e})=>e.get("suspendPointer"),isSubmenu:({computed:e})=>e("isSubmenu"),isTriggerItem:({event:e})=>"target"in e&&J(e.target),isTriggerItemHighlighted:({computed:e,event:t,scope:n})=>!!(("target"in t?t.target:void 0)??n.getById(e("highlightedId")))?.hasAttribute("aria-controls")},ids({bindableId:e}){return{arrow:e(),content:e(),contextTrigger:e(),group:e(),positioner:e(),root:e(),trigger:e()}},initialState({prop:e}){return e("open")||e("defaultOpen")?"open":"idle"},on:{"CHILD.SET":{actions:["setChildMenu"]},CLOSE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}],"HIGHLIGHTED.RESTORE":{actions:["restoreHighlightedItem"]},"HIGHLIGHTED.SET":{actions:["setHighlightedItem"]},OPEN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],OPEN_AUTOFOCUS:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["highlightFirstItem","invokeOnOpen"],target:"open"}],"PARENT.SET":{actions:["setParentMenu"]}},props({props:e}){return{closeOnSelect:!0,composite:!0,dir:"ltr",loopFocus:!1,navigate(t){Ne(t.node)},typeahead:!0,...e,positioning:{gutter:5,placement:"bottom-start",...e.positioning},...e}},refs(){return{children:{},parent:null,positioningOverride:{},typeaheadState:{...be.defaultOptions}}},states:{closed:{entry:["clearHighlightedItem","focusTrigger","resumePointer"],on:{ARROW_DOWN:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["highlightFirstItem","invokeOnOpen"],target:"open"}],ARROW_UP:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["highlightLastItem","invokeOnOpen"],target:"open"}],CONTEXT_MENU:[{actions:["setAnchorPoint","invokeOnOpen"],guard:"isOpenControlled"},{actions:["setAnchorPoint","invokeOnOpen"],target:"open"}],CONTEXT_MENU_START:{actions:["setAnchorPoint"],target:"opening:contextmenu"},"CONTROLLED.OPEN":[{actions:["highlightFirstItem"],guard:Ge("isOpenAutoFocusEvent","isArrowDownEvent"),target:"open"},{actions:["highlightLastItem"],guard:"isArrowUpEvent",target:"open"},{target:"open"}],TRIGGER_BLUR:{target:"idle"},TRIGGER_CLICK:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],TRIGGER_POINTERMOVE:{guard:"isTriggerItem",target:"opening"}},tags:["closed"]},closing:{effects:["trackPointerMove","trackInteractOutside","waitForCloseDelay"],on:{"CONTROLLED.CLOSE":{actions:["focusParentMenu","restoreParentHighlightedItem"],target:"closed"},"CONTROLLED.OPEN":{target:"open"},"DELAY.CLOSE":[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["focusParentMenu","restoreParentHighlightedItem","invokeOnClose"],target:"closed"}],MENU_POINTERENTER:{actions:["clearIntentPolygon"],target:"open"},POINTER_MOVED_AWAY_FROM_SUBMENU:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["focusParentMenu","restoreParentHighlightedItem"],target:"closed"}]},tags:["open"]},idle:{on:{CONTEXT_MENU:[{actions:["setAnchorPoint","invokeOnOpen"],guard:"isOpenControlled"},{actions:["setAnchorPoint","invokeOnOpen"],target:"open"}],CONTEXT_MENU_START:{actions:["setAnchorPoint"],target:"opening:contextmenu"},"CONTROLLED.CLOSE":{target:"closed"},"CONTROLLED.OPEN":{target:"open"},TRIGGER_CLICK:[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],TRIGGER_FOCUS:{guard:f("isSubmenu"),target:"closed"},TRIGGER_POINTERMOVE:{guard:"isSubmenu",target:"opening"}},tags:["closed"]},open:{effects:["trackInteractOutside","trackPositioning","scrollToHighlightedItem"],entry:["focusMenu","resumePointer"],on:{ARROW_DOWN:{actions:["highlightNextItem","focusMenu"]},ARROW_LEFT:[{actions:["invokeOnClose"],guard:S("isSubmenu","isOpenControlled")},{actions:["focusParentMenu","invokeOnClose"],guard:"isSubmenu",target:"closed"}],ARROW_RIGHT:{actions:["openSubmenu"],guard:"isTriggerItemHighlighted"},ARROW_UP:{actions:["highlightPrevItem","focusMenu"]},CONTEXT_MENU:{actions:["setAnchorPoint","focusMenu"]},"CONTROLLED.CLOSE":[{actions:["focusParentMenu"],guard:"isArrowLeftEvent",target:"closed"},{target:"closed"}],END:{actions:["highlightLastItem","focusMenu"]},ENTER:[{actions:["openSubmenu"],guard:"isTriggerItemHighlighted"},{actions:["clickHighlightedItem"]}],FOCUS_MENU:{actions:["focusMenu"]},HOME:{actions:["highlightFirstItem","focusMenu"]},ITEM_CLICK:[{actions:["invokeOnSelect","setOptionState","closeRootMenu","invokeOnClose"],guard:S(f("isTriggerItemHighlighted"),f("isHighlightedItemEditable"),"closeOnSelect","isOpenControlled")},{actions:["invokeOnSelect","setOptionState","closeRootMenu","invokeOnClose"],guard:S(f("isTriggerItemHighlighted"),f("isHighlightedItemEditable"),"closeOnSelect"),target:"closed"},{actions:["invokeOnSelect","setOptionState"],guard:S(f("isTriggerItemHighlighted"),f("isHighlightedItemEditable"))},{actions:["setHighlightedItem"]}],ITEM_POINTERDOWN:{actions:["setHighlightedItem"]},ITEM_POINTERLEAVE:{actions:["clearHighlightedItem"],guard:S(f("isPointerSuspended"),f("isTriggerItem"))},ITEM_POINTERMOVE:[{actions:["setHighlightedItem","focusMenu"],guard:f("isPointerSuspended")},{actions:["setLastHighlightedItem"]}],"POSITIONING.SET":{actions:["reposition"]},TRIGGER_CLICK:[{actions:["invokeOnClose"],guard:S(f("isTriggerItem"),"isOpenControlled")},{actions:["invokeOnClose"],guard:f("isTriggerItem"),target:"closed"}],TRIGGER_POINTERLEAVE:{target:"closing"},TRIGGER_POINTERMOVE:{actions:["setIntentPolygon"],guard:"isTriggerItem"},TYPEAHEAD:{actions:["highlightMatchedItem"]}},tags:["open"]},opening:{effects:["waitForOpenDelay"],on:{BLUR:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}],"CONTROLLED.CLOSE":{target:"closed"},"CONTROLLED.OPEN":{target:"open"},"DELAY.OPEN":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}],TRIGGER_POINTERLEAVE:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}]},tags:["closed"]},"opening:contextmenu":{effects:["waitForLongPress"],on:{CONTEXT_MENU_CANCEL:[{actions:["invokeOnClose"],guard:"isOpenControlled"},{actions:["invokeOnClose"],target:"closed"}],"CONTROLLED.CLOSE":{target:"closed"},"CONTROLLED.OPEN":{target:"open"},"LONG_PRESS.OPEN":[{actions:["invokeOnOpen"],guard:"isOpenControlled"},{actions:["invokeOnOpen"],target:"open"}]},tags:["closed"]}},watch({action:e,computed:t,context:n,prop:o,track:s}){s([()=>t("isSubmenu")],()=>{e(["setSubmenuPlacement"])}),s([()=>n.hash("anchorPoint")],()=>{e(["reposition"])}),s([()=>o("open")],()=>{e(["toggleVisibility"])})}});function ae(e){let t=e.parent;for(;t&&t.computed("isSubmenu");)t=t.refs.get("parent");t?.send({type:"CLOSE"})}function We(e,t){return e?xe(e,t):!1}function Ue(e,t,n){let o=Object.keys(e).length>0;if(!t)return null;if(!o)return M(n,t);for(let s in e){let l=e[s],a=h.trigger(l.scope);if(a===t)return a}return M(n,t)}import{createProps as U,createSplitProps as K}from"@qualcomm-ui/utils/object";var Ke=U()("anchorPoint","closeOnSelect","composite","defaultHighlightedValue","defaultOpen","dir","getRootNode","highlightedValue","id","loopFocus","navigate","onEscapeKeyDown","onFocusOutside","onHighlightChange","onInteractOutside","onOpenChange","onPointerDownOutside","onRequestDismiss","onSelect","open","positioning","typeahead"),ht=K(Ke),Xe=U()("closeOnSelect","disabled","onSelect","value","valueText"),Ot=K(Xe),qe=U()("closeOnSelect","disabled","checked","onCheckedChange","onSelect","value","type","valueText"),Et=K(qe);export{it as createMenuApi,Xe as menuItemProps,ct as menuMachine,qe as menuOptionItemProps,Ke as menuProps,Ot as splitMenuItemProps,Et as splitMenuOptionItemProps,ht as splitMenuProps};
|
|
2
|
+
//# sourceMappingURL=index.js.map
|