@dialpad/dialtone-vue 3.219.0 → 3.220.0-next.2
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/dist/{attachment_carousel-CouFqFMw.js → attachment_carousel-1qxTI-NN.js} +5 -5
- package/dist/attachment_carousel-1qxTI-NN.js.map +1 -0
- package/dist/attachment_carousel-wnZS3vEt.cjs +2 -0
- package/dist/attachment_carousel-wnZS3vEt.cjs.map +1 -0
- package/dist/{combobox-DgClbLOg.js → combobox-BQBKrDTW.js} +36 -35
- package/dist/combobox-BQBKrDTW.js.map +1 -0
- package/dist/combobox-Da7wBh3G.cjs +3 -0
- package/dist/combobox-Da7wBh3G.cjs.map +1 -0
- package/dist/common/composables/useIndicatorAnimation.cjs +2 -0
- package/dist/common/composables/useIndicatorAnimation.cjs.map +1 -0
- package/dist/common/composables/useIndicatorAnimation.d.ts +18 -0
- package/dist/common/composables/useIndicatorAnimation.d.ts.map +1 -0
- package/dist/common/composables/useIndicatorAnimation.js +78 -0
- package/dist/common/composables/useIndicatorAnimation.js.map +1 -0
- package/dist/common/constants/index.cjs +1 -1
- package/dist/common/constants/index.cjs.map +1 -1
- package/dist/common/constants/index.d.ts +27 -21
- package/dist/common/constants/index.d.ts.map +1 -1
- package/dist/common/constants/index.js +25 -14
- package/dist/common/constants/index.js.map +1 -1
- package/dist/common/constants/sizes.cjs +2 -0
- package/dist/common/constants/sizes.cjs.map +1 -0
- package/dist/common/constants/sizes.d.ts +22 -0
- package/dist/common/constants/sizes.d.ts.map +1 -0
- package/dist/common/constants/sizes.js +19 -0
- package/dist/common/constants/sizes.js.map +1 -0
- package/dist/common/mixins/index.cjs +1 -1
- package/dist/common/mixins/index.d.ts +1 -0
- package/dist/common/mixins/index.js +2 -1
- package/dist/common/mixins/input.cjs +1 -1
- package/dist/common/mixins/input.cjs.map +1 -1
- package/dist/common/mixins/input.d.ts +27 -33
- package/dist/common/mixins/input.d.ts.map +1 -1
- package/dist/common/mixins/input.js +0 -8
- package/dist/common/mixins/input.js.map +1 -1
- package/dist/common/mixins/mode.cjs +2 -0
- package/dist/common/mixins/mode.cjs.map +1 -0
- package/dist/common/mixins/mode.d.ts +25 -0
- package/dist/common/mixins/mode.d.ts.map +1 -0
- package/dist/common/mixins/mode.js +62 -0
- package/dist/common/mixins/mode.js.map +1 -0
- package/dist/common/mode_constants.d.ts +37 -0
- package/dist/common/mode_constants.d.ts.map +1 -0
- package/dist/common/sr_only_close_button.vue.d.ts +53 -7
- package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
- package/dist/common/utils/index.cjs +1 -1
- package/dist/common/utils/index.cjs.map +1 -1
- package/dist/common/utils/index.d.ts +2 -8
- package/dist/common/utils/index.d.ts.map +1 -1
- package/dist/common/utils/index.js +79 -88
- package/dist/common/utils/index.js.map +1 -1
- package/dist/component-documentation.json +1 -1
- package/dist/components/avatar/avatar.vue.d.ts +85 -27
- package/dist/components/avatar/avatar.vue.d.ts.map +1 -1
- package/dist/components/avatar/avatar_constants.d.ts +86 -29
- package/dist/components/avatar/avatar_constants.d.ts.map +1 -1
- package/dist/components/avatar/index.d.ts +1 -1
- package/dist/components/badge/badge.vue.d.ts +1 -1
- package/dist/components/badge/badge.vue.d.ts.map +1 -1
- package/dist/components/badge/badge_constants.d.ts +1 -1
- package/dist/components/banner/banner.vue.d.ts +269 -34
- package/dist/components/banner/banner.vue.d.ts.map +1 -1
- package/dist/components/box/box.vue.d.ts +73 -0
- package/dist/components/box/box.vue.d.ts.map +1 -0
- package/dist/components/box/box_constants.d.ts +11 -0
- package/dist/components/box/box_constants.d.ts.map +1 -0
- package/dist/components/box/index.d.ts +3 -0
- package/dist/components/box/index.d.ts.map +1 -0
- package/dist/components/box/validators.d.ts +11 -0
- package/dist/components/box/validators.d.ts.map +1 -0
- package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts +26 -17
- package/dist/components/breadcrumbs/breadcrumb_item.vue.d.ts.map +1 -1
- package/dist/components/breadcrumbs/breadcrumbs.vue.d.ts +25 -16
- package/dist/components/button/button.vue.d.ts +53 -7
- package/dist/components/button/button.vue.d.ts.map +1 -1
- package/dist/components/button/button_constants.d.ts +29 -20
- package/dist/components/button/button_constants.d.ts.map +1 -1
- package/dist/components/card/card.vue.d.ts +0 -9
- package/dist/components/card/card.vue.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.vue.d.ts +183 -10
- package/dist/components/checkbox/checkbox.vue.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox_constants.d.ts +2 -2
- package/dist/components/checkbox_group/checkbox_group.vue.d.ts +142 -0
- package/dist/components/chip/chip.vue.d.ts +62 -16
- package/dist/components/chip/chip.vue.d.ts.map +1 -1
- package/dist/components/chip/chip_constants.d.ts +24 -21
- package/dist/components/chip/chip_constants.d.ts.map +1 -1
- package/dist/components/codeblock/codeblock.vue.d.ts +25 -2
- package/dist/components/codeblock/codeblock.vue.d.ts.map +1 -1
- package/dist/components/codeblock/codeblock_constants.d.ts +9 -0
- package/dist/components/codeblock/codeblock_constants.d.ts.map +1 -0
- package/dist/components/collapsible/collapsible.vue.d.ts +53 -7
- package/dist/components/collapsible/collapsible.vue.d.ts.map +1 -1
- package/dist/components/combobox/combobox.vue.d.ts +113 -38
- package/dist/components/combobox/combobox.vue.d.ts.map +1 -1
- package/dist/components/combobox/combobox_empty-list.vue.d.ts +40 -7
- package/dist/components/combobox/combobox_empty-list.vue.d.ts.map +1 -1
- package/dist/components/combobox/combobox_loading-list.vue.d.ts +64 -22
- package/dist/components/combobox/combobox_loading-list.vue.d.ts.map +1 -1
- package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts +16 -13
- package/dist/components/combobox_multi_select/combobox_multi_select_constants.d.ts.map +1 -1
- package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts +399 -93
- package/dist/components/combobox_with_popover/combobox_with_popover.vue.d.ts.map +1 -1
- package/dist/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
- package/dist/components/dropdown/dropdown.vue.d.ts +175 -19
- package/dist/components/dropdown/dropdown.vue.d.ts.map +1 -1
- package/dist/components/emoji/emoji.vue.d.ts +24 -15
- package/dist/components/emoji_picker/emoji_picker.vue.d.ts +204 -22
- package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts +204 -22
- package/dist/components/emoji_picker/modules/emoji_search.vue.d.ts.map +1 -1
- package/dist/components/emoji_picker/modules/emoji_tabset.vue.d.ts.map +1 -1
- package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts +24 -15
- package/dist/components/emoji_text_wrapper/emoji_text_wrapper.vue.d.ts.map +1 -1
- package/dist/components/empty_state/empty_state.vue.d.ts.map +1 -1
- package/dist/components/empty_state/empty_state_constants.d.ts +52 -31
- package/dist/components/empty_state/empty_state_constants.d.ts.map +1 -1
- package/dist/components/filter_pill/filter_pill.vue.d.ts +4491 -0
- package/dist/components/filter_pill/filter_pill.vue.d.ts.map +1 -0
- package/dist/components/filter_pill/index.d.ts +2 -0
- package/dist/components/filter_pill/index.d.ts.map +1 -0
- package/dist/components/hovercard/hovercard.vue.d.ts +380 -41
- package/dist/components/hovercard/hovercard.vue.d.ts.map +1 -1
- package/dist/components/image_viewer/image_viewer.vue.d.ts +131 -14
- package/dist/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
- package/dist/components/input/input.vue.d.ts +195 -19
- package/dist/components/input/input.vue.d.ts.map +1 -1
- package/dist/components/input/input_constants.d.ts +46 -48
- package/dist/components/input/input_constants.d.ts.map +1 -1
- package/dist/components/input_group/input_group.vue.d.ts +142 -0
- package/dist/components/input_group/input_group.vue.d.ts.map +1 -1
- package/dist/components/item_layout/item_layout.vue.d.ts +37 -6
- package/dist/components/item_layout/item_layout.vue.d.ts.map +1 -1
- package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts +142 -0
- package/dist/components/keyboard_shortcut/keyboard_shortcut.vue.d.ts.map +1 -1
- package/dist/components/link/index.d.ts +1 -1
- package/dist/components/link/link.vue.d.ts +25 -6
- package/dist/components/link/link_constants.d.ts +4 -4
- package/dist/components/link/link_constants.d.ts.map +1 -1
- package/dist/components/list_item/list_item.vue.d.ts +40 -7
- package/dist/components/list_item/list_item.vue.d.ts.map +1 -1
- package/dist/components/modal/modal.vue.d.ts +292 -97
- package/dist/components/modal/modal.vue.d.ts.map +1 -1
- package/dist/components/modal/modal_constants.d.ts +7 -6
- package/dist/components/mode_island/index.d.ts +3 -0
- package/dist/components/mode_island/index.d.ts.map +1 -0
- package/dist/components/mode_island/mode_island.vue.d.ts +3 -0
- package/dist/components/mode_island/mode_island.vue.d.ts.map +1 -0
- package/dist/components/mode_island/mode_island_constants.d.ts +10 -0
- package/dist/components/mode_island/mode_island_constants.d.ts.map +1 -0
- package/dist/components/mode_island/utils.d.ts +12 -0
- package/dist/components/mode_island/utils.d.ts.map +1 -0
- package/dist/components/mode_island/validators.d.ts +6 -0
- package/dist/components/mode_island/validators.d.ts.map +1 -0
- package/dist/components/motion_text/motion_text_constants.d.ts +27 -23
- package/dist/components/motion_text/motion_text_constants.d.ts.map +1 -1
- package/dist/components/notice/notice.vue.d.ts +269 -34
- package/dist/components/notice/notice.vue.d.ts.map +1 -1
- package/dist/components/notice/notice_action.vue.d.ts +112 -20
- package/dist/components/notice/notice_action.vue.d.ts.map +1 -1
- package/dist/components/notice/notice_constants.d.ts.map +1 -1
- package/dist/components/notice/notice_content.vue.d.ts +144 -1
- package/dist/components/notice/notice_content.vue.d.ts.map +1 -1
- package/dist/components/notice/notice_icon.vue.d.ts +2 -2
- package/dist/components/notice/notice_icon.vue.d.ts.map +1 -1
- package/dist/components/pagination/pagination.vue.d.ts +56 -10
- package/dist/components/pagination/pagination.vue.d.ts.map +1 -1
- package/dist/components/popover/popover.vue.d.ts +163 -18
- package/dist/components/popover/popover.vue.d.ts.map +1 -1
- package/dist/components/popover/popover_header_footer.vue.d.ts +62 -7
- package/dist/components/popover/popover_header_footer.vue.d.ts.map +1 -1
- package/dist/components/radio/radio.vue.d.ts +178 -6
- package/dist/components/radio/radio.vue.d.ts.map +1 -1
- package/dist/components/radio/radio_constants.d.ts +2 -2
- package/dist/components/radio_group/radio_group.vue.d.ts +142 -0
- package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts +25 -6
- package/dist/components/rich_text_editor/extensions/channels/ChannelComponent.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/channels/ChannelSuggestion.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +24 -15
- package/dist/components/rich_text_editor/extensions/emoji/EmojiSuggestion.vue.d.ts +24 -15
- package/dist/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +25 -6
- package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts +227 -27
- package/dist/components/rich_text_editor/extensions/mentions/MentionSuggestion.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts +144 -1
- package/dist/components/rich_text_editor/extensions/slash_command/SlashCommandSuggestion.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts +40 -7
- package/dist/components/rich_text_editor/extensions/suggestion/SuggestionList.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts +411 -44
- package/dist/components/rich_text_editor/extensions/variable/VariableComponent.vue.d.ts.map +1 -1
- package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts +59 -13
- package/dist/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
- package/dist/components/root_layout/root_layout_constants.d.ts +2 -0
- package/dist/components/root_layout/root_layout_constants.d.ts.map +1 -1
- package/dist/components/scroller/modules/core_scroller.vue.d.ts +2 -2
- package/dist/components/scroller/modules/dynamic_scroller.vue.d.ts +12 -12
- package/dist/components/scroller/scroller.vue.d.ts +18 -18
- package/dist/components/segmented_control/index.d.ts +4 -0
- package/dist/components/segmented_control/index.d.ts.map +1 -0
- package/dist/components/segmented_control/segmented_control.vue.d.ts +226 -0
- package/dist/components/segmented_control/segmented_control.vue.d.ts.map +1 -0
- package/dist/components/segmented_control/segmented_control_constants.d.ts +41 -0
- package/dist/components/segmented_control/segmented_control_constants.d.ts.map +1 -0
- package/dist/components/segmented_control/segmented_control_item.vue.d.ts +35 -0
- package/dist/components/segmented_control/segmented_control_item.vue.d.ts.map +1 -0
- package/dist/components/select_menu/select_menu.vue.d.ts +189 -31
- package/dist/components/select_menu/select_menu.vue.d.ts.map +1 -1
- package/dist/components/select_menu/select_menu_constants.d.ts +14 -9
- package/dist/components/select_menu/select_menu_constants.d.ts.map +1 -1
- package/dist/components/skeleton/skeleton-list-item.vue.d.ts +13 -10
- package/dist/components/skeleton/skeleton-paragraph.vue.d.ts +3 -0
- package/dist/components/skeleton/skeleton-shape.vue.d.ts +5 -5
- package/dist/components/skeleton/skeleton-text.vue.d.ts +3 -0
- package/dist/components/skeleton/skeleton.vue.d.ts +24 -15
- package/dist/components/skeleton/skeleton_constants.d.ts +18 -13
- package/dist/components/skeleton/skeleton_constants.d.ts.map +1 -1
- package/dist/components/split_button/{split_button-omega.vue.d.ts → split_button-end.vue.d.ts} +64 -13
- package/dist/components/split_button/{split_button-omega.vue.d.ts.map → split_button-end.vue.d.ts.map} +1 -1
- package/dist/components/split_button/{split_button-alpha.vue.d.ts → split_button-start.vue.d.ts} +125 -11
- package/dist/components/split_button/split_button-start.vue.d.ts.map +1 -0
- package/dist/components/split_button/split_button.vue.d.ts +602 -78
- package/dist/components/split_button/split_button.vue.d.ts.map +1 -1
- package/dist/components/split_button/split_button_constants.d.ts +12 -7
- package/dist/components/split_button/split_button_constants.d.ts.map +1 -1
- package/dist/components/stack/stack_constants.d.ts.map +1 -1
- package/dist/components/tab/index.d.ts +1 -1
- package/dist/components/tab/tab.vue.d.ts +86 -11
- package/dist/components/tab/tab.vue.d.ts.map +1 -1
- package/dist/components/tab/tab_group.vue.d.ts +125 -10
- package/dist/components/tab/tab_group.vue.d.ts.map +1 -1
- package/dist/components/tab/tabs_constants.d.ts +23 -5
- package/dist/components/tab/tabs_constants.d.ts.map +1 -1
- package/dist/components/text/index.d.ts +3 -0
- package/dist/components/text/index.d.ts.map +1 -0
- package/dist/components/text/text.vue.d.ts +145 -0
- package/dist/components/text/text.vue.d.ts.map +1 -0
- package/dist/components/text/text_constants.d.ts +93 -0
- package/dist/components/text/text_constants.d.ts.map +1 -0
- package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts +264 -29
- package/dist/components/toast/layouts/toast_layout_alternate.vue.d.ts.map +1 -1
- package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts +2 -2
- package/dist/components/toast/layouts/toast_layout_alternate_icon.vue.d.ts.map +1 -1
- package/dist/components/toast/layouts/toast_layout_default.vue.d.ts +267 -32
- package/dist/components/toast/layouts/toast_layout_default.vue.d.ts.map +1 -1
- package/dist/components/toast/toast.vue.d.ts +1125 -185
- package/dist/components/toast/toast.vue.d.ts.map +1 -1
- package/dist/components/toggle/toggle.vue.d.ts +19 -19
- package/dist/components/toggle/toggle.vue.d.ts.map +1 -1
- package/dist/components/toggle/toggle_constants.d.ts +6 -4
- package/dist/components/toggle/toggle_constants.d.ts.map +1 -1
- package/dist/components/tooltip/tooltip.vue.d.ts +31 -5
- package/dist/components/tooltip/tooltip.vue.d.ts.map +1 -1
- package/dist/{datepicker-LVDRC6Lf.js → datepicker-B2nhxiCg.js} +20 -24
- package/dist/datepicker-B2nhxiCg.js.map +1 -0
- package/dist/datepicker-CZrNL0Yn.cjs +2 -0
- package/dist/datepicker-CZrNL0Yn.cjs.map +1 -0
- package/dist/dialtone-vue.cjs +1 -1
- package/dist/dialtone-vue.css +1 -1
- package/dist/dialtone-vue.js +170 -150
- package/dist/directives/focusgroup_directive/focusgroup.d.ts +6 -0
- package/dist/directives/focusgroup_directive/focusgroup.d.ts.map +1 -0
- package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts +74 -0
- package/dist/directives/focusgroup_directive/focusgroup_constants.d.ts.map +1 -0
- package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts +15 -0
- package/dist/directives/focusgroup_directive/focusgroup_utils.d.ts.map +1 -0
- package/dist/directives/focusgroup_directive/index.d.ts +2 -0
- package/dist/directives/focusgroup_directive/index.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/focustrap.d.ts +6 -0
- package/dist/directives/focustrap_directive/focustrap.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/focustrap_constants.d.ts +7 -0
- package/dist/directives/focustrap_directive/focustrap_constants.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/focustrap_utils.d.ts +5 -0
- package/dist/directives/focustrap_directive/focustrap_utils.d.ts.map +1 -0
- package/dist/directives/focustrap_directive/index.d.ts +2 -0
- package/dist/directives/focustrap_directive/index.d.ts.map +1 -0
- package/dist/directives/mode_directive/index.d.ts +2 -0
- package/dist/directives/mode_directive/index.d.ts.map +1 -0
- package/dist/directives/mode_directive/mode.d.ts +6 -0
- package/dist/directives/mode_directive/mode.d.ts.map +1 -0
- package/dist/directives/tooltip_directive/tooltip.d.ts.map +1 -1
- package/dist/emoji_picker-BQW4qRFg.cjs +2 -0
- package/dist/emoji_picker-BQW4qRFg.cjs.map +1 -0
- package/dist/{emoji_picker-tVHfpHDk.js → emoji_picker-BjgAohQy.js} +9 -8
- package/dist/emoji_picker-BjgAohQy.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/lib/attachment-carousel/attachment-carousel.cjs +1 -1
- package/dist/lib/attachment-carousel/attachment-carousel.js +1 -1
- package/dist/lib/attachment-carousel/index.cjs +1 -1
- package/dist/lib/attachment-carousel/index.js +1 -1
- package/dist/lib/avatar/avatar-constants.cjs +1 -1
- package/dist/lib/avatar/avatar-constants.cjs.map +1 -1
- package/dist/lib/avatar/avatar-constants.js +111 -24
- package/dist/lib/avatar/avatar-constants.js.map +1 -1
- package/dist/lib/avatar/avatar.cjs +1 -1
- package/dist/lib/avatar/avatar.cjs.map +1 -1
- package/dist/lib/avatar/avatar.js +145 -84
- package/dist/lib/avatar/avatar.js.map +1 -1
- package/dist/lib/avatar/index.cjs +1 -1
- package/dist/lib/avatar/index.js +3 -3
- package/dist/lib/badge/badge-constants.cjs +1 -1
- package/dist/lib/badge/badge-constants.cjs.map +1 -1
- package/dist/lib/badge/badge-constants.js +1 -1
- package/dist/lib/badge/badge-constants.js.map +1 -1
- package/dist/lib/badge/badge.cjs +1 -1
- package/dist/lib/badge/badge.cjs.map +1 -1
- package/dist/lib/badge/badge.js +26 -14
- package/dist/lib/badge/badge.js.map +1 -1
- package/dist/lib/banner/banner.cjs +2 -2
- package/dist/lib/banner/banner.cjs.map +1 -1
- package/dist/lib/banner/banner.js +17 -16
- package/dist/lib/banner/banner.js.map +1 -1
- package/dist/lib/box/box-constants.cjs +2 -0
- package/dist/lib/box/box-constants.cjs.map +1 -0
- package/dist/lib/box/box-constants.js +103 -0
- package/dist/lib/box/box-constants.js.map +1 -0
- package/dist/lib/box/box.cjs +2 -0
- package/dist/lib/box/box.cjs.map +1 -0
- package/dist/lib/box/box.js +229 -0
- package/dist/lib/box/box.js.map +1 -0
- package/dist/lib/box/index.cjs +1 -0
- package/dist/lib/box/index.js +3 -0
- package/dist/lib/box/validators.cjs +2 -0
- package/dist/lib/box/validators.cjs.map +1 -0
- package/dist/lib/box/validators.js +7 -0
- package/dist/lib/box/validators.js.map +1 -0
- package/dist/lib/breadcrumbs/breadcrumb-item.cjs +1 -1
- package/dist/lib/breadcrumbs/breadcrumb-item.cjs.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumb-item.js +29 -38
- package/dist/lib/breadcrumbs/breadcrumb-item.js.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumbs.cjs +1 -1
- package/dist/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
- package/dist/lib/breadcrumbs/breadcrumbs.js +6 -6
- package/dist/lib/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/lib/button/button-constants.cjs +1 -1
- package/dist/lib/button/button-constants.cjs.map +1 -1
- package/dist/lib/button/button-constants.js +17 -3
- package/dist/lib/button/button-constants.js.map +1 -1
- package/dist/lib/button/button.cjs +1 -1
- package/dist/lib/button/button.cjs.map +1 -1
- package/dist/lib/button/button.js +98 -15
- package/dist/lib/button/button.js.map +1 -1
- package/dist/lib/button-group/button-group.cjs.map +1 -1
- package/dist/lib/button-group/button-group.js.map +1 -1
- package/dist/lib/callbar-button/callbar-button.cjs +1 -1
- package/dist/lib/callbar-button/callbar-button.cjs.map +1 -1
- package/dist/lib/callbar-button/callbar-button.js +26 -27
- package/dist/lib/callbar-button/callbar-button.js.map +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +45 -36
- package/dist/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js +47 -38
- package/dist/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
- package/dist/lib/callbox/callbox.cjs +1 -1
- package/dist/lib/callbox/callbox.cjs.map +1 -1
- package/dist/lib/callbox/callbox.js +4 -4
- package/dist/lib/callbox/callbox.js.map +1 -1
- package/dist/lib/card/card.cjs +1 -1
- package/dist/lib/card/card.cjs.map +1 -1
- package/dist/lib/card/card.js +10 -18
- package/dist/lib/card/card.js.map +1 -1
- package/dist/lib/checkbox/checkbox-constants.cjs +1 -1
- package/dist/lib/checkbox/checkbox-constants.cjs.map +1 -1
- package/dist/lib/checkbox/checkbox-constants.js +2 -2
- package/dist/lib/checkbox/checkbox-constants.js.map +1 -1
- package/dist/lib/checkbox/checkbox.cjs +1 -1
- package/dist/lib/checkbox/checkbox.cjs.map +1 -1
- package/dist/lib/checkbox/checkbox.js +79 -28
- package/dist/lib/checkbox/checkbox.js.map +1 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.cjs +1 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.cjs.map +1 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.js +0 -1
- package/dist/lib/checkbox-group/checkboxes-decorator.js.map +1 -1
- package/dist/lib/chip/chip-constants.cjs +1 -1
- package/dist/lib/chip/chip-constants.cjs.map +1 -1
- package/dist/lib/chip/chip-constants.js +9 -0
- package/dist/lib/chip/chip-constants.js.map +1 -1
- package/dist/lib/chip/chip.cjs +1 -1
- package/dist/lib/chip/chip.cjs.map +1 -1
- package/dist/lib/chip/chip.js +13 -13
- package/dist/lib/chip/chip.js.map +1 -1
- package/dist/lib/codeblock/codeblock-constants.cjs +2 -0
- package/dist/lib/codeblock/codeblock-constants.cjs.map +1 -0
- package/dist/lib/codeblock/codeblock-constants.js +20 -0
- package/dist/lib/codeblock/codeblock-constants.js.map +1 -0
- package/dist/lib/codeblock/codeblock.cjs +1 -2
- package/dist/lib/codeblock/codeblock.cjs.map +1 -1
- package/dist/lib/codeblock/codeblock.js +25 -14
- package/dist/lib/codeblock/codeblock.js.map +1 -1
- package/dist/lib/collapsible/collapsible.cjs +1 -1
- package/dist/lib/collapsible/collapsible.cjs.map +1 -1
- package/dist/lib/collapsible/collapsible.js +1 -1
- package/dist/lib/collapsible/collapsible.js.map +1 -1
- package/dist/lib/combobox/combobox.cjs +1 -1
- package/dist/lib/combobox/combobox.js +1 -1
- package/dist/lib/combobox/index.cjs +1 -1
- package/dist/lib/combobox/index.js +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.cjs.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js +6 -0
- package/dist/lib/combobox-multi-select/combobox-multi-select-constants.js.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.cjs +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.cjs.map +1 -1
- package/dist/lib/combobox-multi-select/combobox-multi-select.js +34 -33
- package/dist/lib/combobox-multi-select/combobox-multi-select.js.map +1 -1
- package/dist/lib/combobox-with-popover/combobox-with-popover.cjs +1 -1
- package/dist/lib/combobox-with-popover/combobox-with-popover.cjs.map +1 -1
- package/dist/lib/combobox-with-popover/combobox-with-popover.js +51 -46
- package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.cjs +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
- package/dist/lib/contact-centers-row/contact-centers-row.js +51 -45
- package/dist/lib/contact-centers-row/contact-centers-row.js.map +1 -1
- package/dist/lib/contact-info/contact-info.cjs +1 -1
- package/dist/lib/contact-info/contact-info.cjs.map +1 -1
- package/dist/lib/contact-info/contact-info.js +8 -8
- package/dist/lib/contact-info/contact-info.js.map +1 -1
- package/dist/lib/contact-row/contact-row.cjs +1 -1
- package/dist/lib/contact-row/contact-row.cjs.map +1 -1
- package/dist/lib/contact-row/contact-row.js +3 -3
- package/dist/lib/contact-row/contact-row.js.map +1 -1
- package/dist/lib/datepicker/datepicker.cjs +1 -1
- package/dist/lib/datepicker/datepicker.js +1 -1
- package/dist/lib/datepicker/index.cjs +1 -1
- package/dist/lib/datepicker/index.js +1 -1
- package/dist/lib/description-list/description-list.cjs +1 -1
- package/dist/lib/description-list/description-list.cjs.map +1 -1
- package/dist/lib/description-list/description-list.js +1 -1
- package/dist/lib/description-list/description-list.js.map +1 -1
- package/dist/lib/dropdown/dropdown-constants.cjs +1 -1
- package/dist/lib/dropdown/dropdown-constants.cjs.map +1 -1
- package/dist/lib/dropdown/dropdown-constants.js +2 -2
- package/dist/lib/dropdown/dropdown-constants.js.map +1 -1
- package/dist/lib/dropdown/dropdown-list.cjs +1 -1
- package/dist/lib/dropdown/dropdown-list.cjs.map +1 -1
- package/dist/lib/dropdown/dropdown-list.js +28 -16
- package/dist/lib/dropdown/dropdown-list.js.map +1 -1
- package/dist/lib/dropdown/dropdown.cjs +1 -1
- package/dist/lib/dropdown/dropdown.cjs.map +1 -1
- package/dist/lib/dropdown/dropdown.js +30 -26
- package/dist/lib/dropdown/dropdown.js.map +1 -1
- package/dist/lib/editor/EditorToolbarButton.cjs +1 -1
- package/dist/lib/editor/EditorToolbarButton.cjs.map +1 -1
- package/dist/lib/editor/EditorToolbarButton.js +1 -1
- package/dist/lib/editor/EditorToolbarButton.js.map +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.cjs +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.cjs.map +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.js +1 -1
- package/dist/lib/editor/EditorToolbarDropdownButton.js.map +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.cjs +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.cjs.map +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.js +1 -1
- package/dist/lib/editor/EditorToolbarPopoverButton.js.map +1 -1
- package/dist/lib/editor/editor.cjs +1 -1
- package/dist/lib/editor/editor.cjs.map +1 -1
- package/dist/lib/editor/editor.js +134 -135
- package/dist/lib/editor/editor.js.map +1 -1
- package/dist/lib/emoji-picker/emoji-picker.cjs +1 -1
- package/dist/lib/emoji-picker/emoji-picker.js +1 -1
- package/dist/lib/emoji-picker/index.cjs +1 -1
- package/dist/lib/emoji-picker/index.js +1 -1
- package/dist/lib/emoji-row/emoji-row.cjs +1 -1
- package/dist/lib/emoji-row/emoji-row.cjs.map +1 -1
- package/dist/lib/emoji-row/emoji-row.js +1 -1
- package/dist/lib/emoji-row/emoji-row.js.map +1 -1
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs.map +1 -1
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.js.map +1 -1
- package/dist/lib/empty-state/empty-state-constants.cjs +1 -1
- package/dist/lib/empty-state/empty-state-constants.cjs.map +1 -1
- package/dist/lib/empty-state/empty-state-constants.js +37 -9
- package/dist/lib/empty-state/empty-state-constants.js.map +1 -1
- package/dist/lib/empty-state/empty-state.cjs +1 -1
- package/dist/lib/empty-state/empty-state.cjs.map +1 -1
- package/dist/lib/empty-state/empty-state.js +46 -26
- package/dist/lib/empty-state/empty-state.js.map +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.cjs +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
- package/dist/lib/feed-item-pill/feed-item-pill.js +40 -42
- package/dist/lib/feed-item-pill/feed-item-pill.js.map +1 -1
- package/dist/lib/feed-item-row/feed-item-row.cjs +1 -1
- package/dist/lib/feed-item-row/feed-item-row.cjs.map +1 -1
- package/dist/lib/feed-item-row/feed-item-row.js +3 -3
- package/dist/lib/feed-item-row/feed-item-row.js.map +1 -1
- package/dist/lib/filter-pill/filter-pill.cjs +2 -0
- package/dist/lib/filter-pill/filter-pill.cjs.map +1 -0
- package/dist/lib/filter-pill/filter-pill.js +433 -0
- package/dist/lib/filter-pill/filter-pill.js.map +1 -0
- package/dist/lib/filter-pill/index.cjs +1 -0
- package/dist/lib/filter-pill/index.js +2 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.cjs +2 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.cjs.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.js +77 -0
- package/dist/lib/focusgroup-directive/focusgroup-constants.js.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.cjs +2 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.cjs.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.js +33 -0
- package/dist/lib/focusgroup-directive/focusgroup-utils.js.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup.cjs +2 -0
- package/dist/lib/focusgroup-directive/focusgroup.cjs.map +1 -0
- package/dist/lib/focusgroup-directive/focusgroup.js +143 -0
- package/dist/lib/focusgroup-directive/focusgroup.js.map +1 -0
- package/dist/lib/focusgroup-directive/index.cjs +1 -0
- package/dist/lib/focusgroup-directive/index.js +2 -0
- package/dist/lib/focustrap-directive/focustrap-constants.cjs +2 -0
- package/dist/lib/focustrap-directive/focustrap-constants.cjs.map +1 -0
- package/dist/lib/focustrap-directive/focustrap-constants.js +10 -0
- package/dist/lib/focustrap-directive/focustrap-constants.js.map +1 -0
- package/dist/lib/focustrap-directive/focustrap-utils.cjs +2 -0
- package/dist/lib/focustrap-directive/focustrap-utils.cjs.map +1 -0
- package/dist/lib/focustrap-directive/focustrap-utils.js +19 -0
- package/dist/lib/focustrap-directive/focustrap-utils.js.map +1 -0
- package/dist/lib/focustrap-directive/focustrap.cjs +2 -0
- package/dist/lib/focustrap-directive/focustrap.cjs.map +1 -0
- package/dist/lib/focustrap-directive/focustrap.js +96 -0
- package/dist/lib/focustrap-directive/focustrap.js.map +1 -0
- package/dist/lib/focustrap-directive/index.cjs +1 -0
- package/dist/lib/focustrap-directive/index.js +2 -0
- package/dist/lib/general-row/general-row.cjs +1 -1
- package/dist/lib/general-row/general-row.cjs.map +1 -1
- package/dist/lib/general-row/general-row.js +105 -61
- package/dist/lib/general-row/general-row.js.map +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.cjs +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.cjs.map +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.js +1 -1
- package/dist/lib/general-row/leftbar-general-row-icon.js.map +1 -1
- package/dist/lib/group-row/group-row.cjs +1 -1
- package/dist/lib/group-row/group-row.cjs.map +1 -1
- package/dist/lib/group-row/group-row.js +2 -2
- package/dist/lib/group-row/group-row.js.map +1 -1
- package/dist/lib/grouped-chip/grouped-chip.cjs +1 -1
- package/dist/lib/grouped-chip/grouped-chip.cjs.map +1 -1
- package/dist/lib/grouped-chip/grouped-chip.js +9 -9
- package/dist/lib/grouped-chip/grouped-chip.js.map +1 -1
- package/dist/lib/hovercard/hovercard.cjs +1 -1
- package/dist/lib/hovercard/hovercard.cjs.map +1 -1
- package/dist/lib/hovercard/hovercard.js +28 -24
- package/dist/lib/hovercard/hovercard.js.map +1 -1
- package/dist/lib/icon/icon.cjs +1 -1
- package/dist/lib/icon/icon.cjs.map +1 -1
- package/dist/lib/icon/icon.js +1 -1
- package/dist/lib/icon/icon.js.map +1 -1
- package/dist/lib/illustration/illustration.cjs +1 -1
- package/dist/lib/illustration/illustration.cjs.map +1 -1
- package/dist/lib/illustration/illustration.js +1 -1
- package/dist/lib/illustration/illustration.js.map +1 -1
- package/dist/lib/image-viewer/image-viewer.cjs +1 -1
- package/dist/lib/image-viewer/image-viewer.cjs.map +1 -1
- package/dist/lib/image-viewer/image-viewer.js +32 -31
- package/dist/lib/image-viewer/image-viewer.js.map +1 -1
- package/dist/lib/input/input-constants.cjs +1 -1
- package/dist/lib/input/input-constants.cjs.map +1 -1
- package/dist/lib/input/input-constants.js +25 -11
- package/dist/lib/input/input-constants.js.map +1 -1
- package/dist/lib/input/input.cjs +1 -1
- package/dist/lib/input/input.cjs.map +1 -1
- package/dist/lib/input/input.js +161 -79
- package/dist/lib/input/input.js.map +1 -1
- package/dist/lib/input-group/input-group.cjs +1 -1
- package/dist/lib/input-group/input-group.cjs.map +1 -1
- package/dist/lib/input-group/input-group.js +25 -15
- package/dist/lib/input-group/input-group.js.map +1 -1
- package/dist/lib/item-layout/item-layout.cjs +3 -3
- package/dist/lib/item-layout/item-layout.cjs.map +1 -1
- package/dist/lib/item-layout/item-layout.js +35 -12
- package/dist/lib/item-layout/item-layout.js.map +1 -1
- package/dist/lib/ivr-node/ivr-node.cjs +1 -1
- package/dist/lib/ivr-node/ivr-node.cjs.map +1 -1
- package/dist/lib/ivr-node/ivr-node.js +1 -1
- package/dist/lib/ivr-node/ivr-node.js.map +1 -1
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs +1 -1
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.cjs.map +1 -1
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.js +48 -38
- package/dist/lib/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/dist/lib/kitchen-sink/kitchen-sink-view.cjs +2 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.cjs.map +1 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.js +205 -0
- package/dist/lib/kitchen-sink/kitchen-sink-view.js.map +1 -0
- package/dist/lib/link/index.cjs +1 -1
- package/dist/lib/link/index.js +2 -2
- package/dist/lib/link/link-constants.cjs +1 -1
- package/dist/lib/link/link-constants.cjs.map +1 -1
- package/dist/lib/link/link-constants.js +7 -7
- package/dist/lib/link/link-constants.js.map +1 -1
- package/dist/lib/link/link.cjs +1 -1
- package/dist/lib/link/link.cjs.map +1 -1
- package/dist/lib/link/link.js +17 -2
- package/dist/lib/link/link.js.map +1 -1
- package/dist/lib/list-item/list-item.cjs +1 -1
- package/dist/lib/list-item/list-item.cjs.map +1 -1
- package/dist/lib/list-item/list-item.js +9 -5
- package/dist/lib/list-item/list-item.js.map +1 -1
- package/dist/lib/list-item-group/list-item-group.cjs +1 -1
- package/dist/lib/list-item-group/list-item-group.cjs.map +1 -1
- package/dist/lib/list-item-group/list-item-group.js +1 -1
- package/dist/lib/list-item-group/list-item-group.js.map +1 -1
- package/dist/lib/message-input/index.cjs +1 -1
- package/dist/lib/message-input/index.js +1 -1
- package/dist/lib/message-input/message-input-button.cjs +1 -1
- package/dist/lib/message-input/message-input-button.cjs.map +1 -1
- package/dist/lib/message-input/message-input-button.js +1 -1
- package/dist/lib/message-input/message-input-button.js.map +1 -1
- package/dist/lib/message-input/message-input-link.cjs +1 -1
- package/dist/lib/message-input/message-input-link.cjs.map +1 -1
- package/dist/lib/message-input/message-input-link.js +9 -9
- package/dist/lib/message-input/message-input-link.js.map +1 -1
- package/dist/lib/message-input/message-input-topbar.cjs +1 -1
- package/dist/lib/message-input/message-input-topbar.cjs.map +1 -1
- package/dist/lib/message-input/message-input-topbar.js +2 -2
- package/dist/lib/message-input/message-input-topbar.js.map +1 -1
- package/dist/lib/message-input/message-input.cjs +1 -1
- package/dist/lib/message-input/message-input.js +1 -1
- package/dist/lib/modal/modal-constants.cjs +1 -1
- package/dist/lib/modal/modal-constants.cjs.map +1 -1
- package/dist/lib/modal/modal-constants.js +3 -3
- package/dist/lib/modal/modal-constants.js.map +1 -1
- package/dist/lib/modal/modal.cjs +1 -1
- package/dist/lib/modal/modal.cjs.map +1 -1
- package/dist/lib/modal/modal.js +158 -157
- package/dist/lib/modal/modal.js.map +1 -1
- package/dist/lib/mode-directive/index.cjs +1 -0
- package/dist/lib/mode-directive/index.js +2 -0
- package/dist/lib/mode-directive/mode.cjs +2 -0
- package/dist/lib/mode-directive/mode.cjs.map +1 -0
- package/dist/lib/mode-directive/mode.js +67 -0
- package/dist/lib/mode-directive/mode.js.map +1 -0
- package/dist/lib/mode-island/index.cjs +1 -0
- package/dist/lib/mode-island/index.js +3 -0
- package/dist/lib/mode-island/mode-island-constants.cjs +2 -0
- package/dist/lib/mode-island/mode-island-constants.cjs.map +1 -0
- package/dist/lib/mode-island/mode-island-constants.js +10 -0
- package/dist/lib/mode-island/mode-island-constants.js.map +1 -0
- package/dist/lib/mode-island/mode-island.cjs +2 -0
- package/dist/lib/mode-island/mode-island.cjs.map +1 -0
- package/dist/lib/mode-island/mode-island.js +102 -0
- package/dist/lib/mode-island/mode-island.js.map +1 -0
- package/dist/lib/mode-island/utils.cjs +2 -0
- package/dist/lib/mode-island/utils.cjs.map +1 -0
- package/dist/lib/mode-island/utils.js +28 -0
- package/dist/lib/mode-island/utils.js.map +1 -0
- package/dist/lib/mode-island/validators.cjs +2 -0
- package/dist/lib/mode-island/validators.cjs.map +1 -0
- package/dist/lib/mode-island/validators.js +10 -0
- package/dist/lib/mode-island/validators.js.map +1 -0
- package/dist/lib/motion-text/motion-text-constants.cjs +1 -1
- package/dist/lib/motion-text/motion-text-constants.cjs.map +1 -1
- package/dist/lib/motion-text/motion-text-constants.js +18 -6
- package/dist/lib/motion-text/motion-text-constants.js.map +1 -1
- package/dist/lib/motion-text/motion-text.cjs +1 -1
- package/dist/lib/motion-text/motion-text.cjs.map +1 -1
- package/dist/lib/motion-text/motion-text.js +5 -7
- package/dist/lib/motion-text/motion-text.js.map +1 -1
- package/dist/lib/notice/notice-action.cjs +1 -1
- package/dist/lib/notice/notice-action.cjs.map +1 -1
- package/dist/lib/notice/notice-action.js +14 -14
- package/dist/lib/notice/notice-action.js.map +1 -1
- package/dist/lib/notice/notice-constants.cjs +1 -1
- package/dist/lib/notice/notice-constants.cjs.map +1 -1
- package/dist/lib/notice/notice-constants.js +2 -2
- package/dist/lib/notice/notice-constants.js.map +1 -1
- package/dist/lib/notice/notice-content.cjs +1 -1
- package/dist/lib/notice/notice-content.cjs.map +1 -1
- package/dist/lib/notice/notice-content.js +29 -12
- package/dist/lib/notice/notice-content.js.map +1 -1
- package/dist/lib/notice/notice-icon.cjs +1 -1
- package/dist/lib/notice/notice-icon.cjs.map +1 -1
- package/dist/lib/notice/notice-icon.js +4 -4
- package/dist/lib/notice/notice-icon.js.map +1 -1
- package/dist/lib/notice/notice.cjs +1 -1
- package/dist/lib/notice/notice.cjs.map +1 -1
- package/dist/lib/notice/notice.js +17 -16
- package/dist/lib/notice/notice.js.map +1 -1
- package/dist/lib/pagination/pagination.cjs +1 -1
- package/dist/lib/pagination/pagination.cjs.map +1 -1
- package/dist/lib/pagination/pagination.js +13 -12
- package/dist/lib/pagination/pagination.js.map +1 -1
- package/dist/lib/popover/popover-constants.cjs +1 -1
- package/dist/lib/popover/popover-constants.cjs.map +1 -1
- package/dist/lib/popover/popover-constants.js +6 -6
- package/dist/lib/popover/popover-constants.js.map +1 -1
- package/dist/lib/popover/popover-header-footer.cjs +1 -1
- package/dist/lib/popover/popover-header-footer.cjs.map +1 -1
- package/dist/lib/popover/popover-header-footer.js +11 -3
- package/dist/lib/popover/popover-header-footer.js.map +1 -1
- package/dist/lib/popover/popover.cjs +1 -1
- package/dist/lib/popover/popover.cjs.map +1 -1
- package/dist/lib/popover/popover.js +78 -58
- package/dist/lib/popover/popover.js.map +1 -1
- package/dist/lib/radio/radio-constants.cjs +1 -1
- package/dist/lib/radio/radio-constants.cjs.map +1 -1
- package/dist/lib/radio/radio-constants.js +2 -2
- package/dist/lib/radio/radio-constants.js.map +1 -1
- package/dist/lib/radio/radio.cjs +1 -1
- package/dist/lib/radio/radio.cjs.map +1 -1
- package/dist/lib/radio/radio.js +94 -31
- package/dist/lib/radio/radio.js.map +1 -1
- package/dist/lib/resizable/index.cjs +1 -1
- package/dist/lib/resizable/index.js +3 -3
- package/dist/lib/resizable/resizable-handle.cjs +1 -1
- package/dist/lib/resizable/resizable-handle.js +1 -1
- package/dist/lib/resizable/resizable-panel.cjs +1 -1
- package/dist/lib/resizable/resizable-panel.js +1 -1
- package/dist/lib/resizable/resizable.cjs +1 -1
- package/dist/lib/resizable/resizable.js +1 -1
- package/dist/lib/rich-text-editor/index.cjs +1 -1
- package/dist/lib/rich-text-editor/index.js +1 -1
- package/dist/lib/rich-text-editor/markdownRenderer.cjs +1 -1
- package/dist/lib/rich-text-editor/markdownRenderer.js +1 -1
- package/dist/lib/rich-text-editor/rich-text-editor.cjs +1 -1
- package/dist/lib/rich-text-editor/rich-text-editor.js +1 -1
- package/dist/lib/root-layout/root-layout-constants.cjs +1 -1
- package/dist/lib/root-layout/root-layout-constants.cjs.map +1 -1
- package/dist/lib/root-layout/root-layout-constants.js +2 -0
- package/dist/lib/root-layout/root-layout-constants.js.map +1 -1
- package/dist/lib/root-layout/root-layout.cjs +1 -1
- package/dist/lib/root-layout/root-layout.cjs.map +1 -1
- package/dist/lib/root-layout/root-layout.js +2 -2
- package/dist/lib/root-layout/root-layout.js.map +1 -1
- package/dist/lib/scroller/index.cjs +1 -1
- package/dist/lib/scroller/index.js +1 -1
- package/dist/lib/scroller/scroller.cjs +1 -1
- package/dist/lib/scroller/scroller.js +1 -1
- package/dist/lib/segmented-control/index.cjs +1 -0
- package/dist/lib/segmented-control/index.js +4 -0
- package/dist/lib/segmented-control/segmented-control-constants.cjs +2 -0
- package/dist/lib/segmented-control/segmented-control-constants.cjs.map +1 -0
- package/dist/lib/segmented-control/segmented-control-constants.js +41 -0
- package/dist/lib/segmented-control/segmented-control-constants.js.map +1 -0
- package/dist/lib/segmented-control/segmented-control-item.cjs +2 -0
- package/dist/lib/segmented-control/segmented-control-item.cjs.map +1 -0
- package/dist/lib/segmented-control/segmented-control-item.js +104 -0
- package/dist/lib/segmented-control/segmented-control-item.js.map +1 -0
- package/dist/lib/segmented-control/segmented-control.cjs +2 -0
- package/dist/lib/segmented-control/segmented-control.cjs.map +1 -0
- package/dist/lib/segmented-control/segmented-control.js +204 -0
- package/dist/lib/segmented-control/segmented-control.js.map +1 -0
- package/dist/lib/select-menu/select-menu-constants.cjs +1 -1
- package/dist/lib/select-menu/select-menu-constants.cjs.map +1 -1
- package/dist/lib/select-menu/select-menu-constants.js +7 -2
- package/dist/lib/select-menu/select-menu-constants.js.map +1 -1
- package/dist/lib/select-menu/select-menu.cjs +1 -1
- package/dist/lib/select-menu/select-menu.cjs.map +1 -1
- package/dist/lib/select-menu/select-menu.js +117 -58
- package/dist/lib/select-menu/select-menu.js.map +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.cjs +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.cjs.map +1 -1
- package/dist/lib/settings-menu-button/settings-menu-button.js +5 -5
- package/dist/lib/settings-menu-button/settings-menu-button.js.map +1 -1
- package/dist/lib/skeleton/skeleton-constants.cjs +1 -1
- package/dist/lib/skeleton/skeleton-constants.cjs.map +1 -1
- package/dist/lib/skeleton/skeleton-constants.js +10 -2
- package/dist/lib/skeleton/skeleton-constants.js.map +1 -1
- package/dist/lib/skeleton/skeleton-list-item.cjs +1 -1
- package/dist/lib/skeleton/skeleton-list-item.cjs.map +1 -1
- package/dist/lib/skeleton/skeleton-list-item.js +2 -2
- package/dist/lib/skeleton/skeleton-list-item.js.map +1 -1
- package/dist/lib/skeleton/skeleton-shape.cjs +1 -1
- package/dist/lib/skeleton/skeleton-shape.cjs.map +1 -1
- package/dist/lib/skeleton/skeleton-shape.js +3 -3
- package/dist/lib/skeleton/skeleton-shape.js.map +1 -1
- package/dist/lib/split-button/split-button-constants.cjs +1 -1
- package/dist/lib/split-button/split-button-constants.cjs.map +1 -1
- package/dist/lib/split-button/split-button-constants.js +5 -0
- package/dist/lib/split-button/split-button-constants.js.map +1 -1
- package/dist/lib/split-button/split-button-end.cjs +2 -0
- package/dist/lib/split-button/split-button-end.cjs.map +1 -0
- package/dist/lib/split-button/{split-button-omega.js → split-button-end.js} +9 -9
- package/dist/lib/split-button/split-button-end.js.map +1 -0
- package/dist/lib/split-button/split-button-start.cjs +2 -0
- package/dist/lib/split-button/split-button-start.cjs.map +1 -0
- package/dist/lib/split-button/split-button-start.js +182 -0
- package/dist/lib/split-button/split-button-start.js.map +1 -0
- package/dist/lib/split-button/split-button.cjs +1 -1
- package/dist/lib/split-button/split-button.cjs.map +1 -1
- package/dist/lib/split-button/split-button.js +246 -71
- package/dist/lib/split-button/split-button.js.map +1 -1
- package/dist/lib/stack/stack-constants.cjs +1 -1
- package/dist/lib/stack/stack-constants.cjs.map +1 -1
- package/dist/lib/stack/stack-constants.js +10 -2
- package/dist/lib/stack/stack-constants.js.map +1 -1
- package/dist/lib/stack/stack.cjs.map +1 -1
- package/dist/lib/stack/stack.js.map +1 -1
- package/dist/lib/tab/index.cjs +1 -1
- package/dist/lib/tab/index.js +5 -5
- package/dist/lib/tab/tab-group.cjs +1 -1
- package/dist/lib/tab/tab-group.cjs.map +1 -1
- package/dist/lib/tab/tab-group.js +173 -50
- package/dist/lib/tab/tab-group.js.map +1 -1
- package/dist/lib/tab/tab.cjs +1 -1
- package/dist/lib/tab/tab.cjs.map +1 -1
- package/dist/lib/tab/tab.js +108 -23
- package/dist/lib/tab/tab.js.map +1 -1
- package/dist/lib/tab/tabs-constants.cjs +1 -1
- package/dist/lib/tab/tabs-constants.cjs.map +1 -1
- package/dist/lib/tab/tabs-constants.js +33 -2
- package/dist/lib/tab/tabs-constants.js.map +1 -1
- package/dist/lib/text/index.cjs +1 -0
- package/dist/lib/text/index.js +3 -0
- package/dist/lib/text/text-constants.cjs +2 -0
- package/dist/lib/text/text-constants.cjs.map +1 -0
- package/dist/lib/text/text-constants.js +126 -0
- package/dist/lib/text/text-constants.js.map +1 -0
- package/dist/lib/text/text.cjs +2 -0
- package/dist/lib/text/text.cjs.map +1 -0
- package/dist/lib/text/text.js +150 -0
- package/dist/lib/text/text.js.map +1 -0
- package/dist/lib/toast/index.cjs +1 -1
- package/dist/lib/toast/index.js +1 -1
- package/dist/lib/toast/toast.cjs +1 -1
- package/dist/lib/toast/toast.js +1 -1
- package/dist/lib/toggle/toggle-constants.cjs +1 -1
- package/dist/lib/toggle/toggle-constants.cjs.map +1 -1
- package/dist/lib/toggle/toggle-constants.js +2 -0
- package/dist/lib/toggle/toggle-constants.js.map +1 -1
- package/dist/lib/toggle/toggle.cjs +1 -1
- package/dist/lib/toggle/toggle.cjs.map +1 -1
- package/dist/lib/toggle/toggle.js +24 -29
- package/dist/lib/toggle/toggle.js.map +1 -1
- package/dist/lib/tooltip/tooltip.cjs +1 -4
- package/dist/lib/tooltip/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip/tooltip.js +36 -31
- package/dist/lib/tooltip/tooltip.js.map +1 -1
- package/dist/lib/tooltip-directive/tooltip.cjs +1 -1
- package/dist/lib/tooltip-directive/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip-directive/tooltip.js +36 -35
- package/dist/lib/tooltip-directive/tooltip.js.map +1 -1
- package/dist/lib/top-banner-info/top-banner-info.cjs +1 -1
- package/dist/lib/top-banner-info/top-banner-info.cjs.map +1 -1
- package/dist/lib/top-banner-info/top-banner-info.js +4 -4
- package/dist/lib/top-banner-info/top-banner-info.js.map +1 -1
- package/dist/lib/unread-pill/unread-pill.cjs +1 -1
- package/dist/lib/unread-pill/unread-pill.cjs.map +1 -1
- package/dist/lib/unread-pill/unread-pill.js +1 -1
- package/dist/lib/unread-pill/unread-pill.js.map +1 -1
- package/dist/lib/validation-messages/validation-messages.cjs +1 -1
- package/dist/lib/validation-messages/validation-messages.cjs.map +1 -1
- package/dist/lib/validation-messages/validation-messages.js +2 -2
- package/dist/lib/validation-messages/validation-messages.js.map +1 -1
- package/dist/localization/en-US.cjs +5 -0
- package/dist/localization/en-US.cjs.map +1 -1
- package/dist/localization/en-US.js +1 -1
- package/dist/localization/en-US.js.map +1 -1
- package/dist/{markdownRenderer-DCgGQseq.cjs → markdownRenderer-Dsq-CiH9.cjs} +1 -1
- package/dist/{markdownRenderer-DCgGQseq.cjs.map → markdownRenderer-Dsq-CiH9.cjs.map} +1 -1
- package/dist/{markdownRenderer-D_P94RyM.js → markdownRenderer-k7_rQkox.js} +1 -1
- package/dist/{markdownRenderer-D_P94RyM.js.map → markdownRenderer-k7_rQkox.js.map} +1 -1
- package/dist/{message_input-CHlTsBGK.js → message_input-BYy1xKCy.js} +129 -130
- package/dist/message_input-BYy1xKCy.js.map +1 -0
- package/dist/message_input-sSCHhaeC.cjs +2 -0
- package/dist/message_input-sSCHhaeC.cjs.map +1 -0
- package/dist/mode_constants-CzYJW9ua.cjs +2 -0
- package/dist/mode_constants-CzYJW9ua.cjs.map +1 -0
- package/dist/mode_constants-tb7TL85q.js +14 -0
- package/dist/mode_constants-tb7TL85q.js.map +1 -0
- package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +85 -14
- package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts.map +1 -1
- package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +313 -41
- package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
- package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +302 -41
- package/dist/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
- package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts +228 -35
- package/dist/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
- package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts +62 -16
- package/dist/recipes/chips/grouped_chip/grouped_chip.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +237 -28
- package/dist/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +184 -21
- package/dist/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/EditorToolbarButton.vue.d.ts +53 -7
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +228 -26
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +216 -25
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/editor.vue.d.ts +1163 -178
- package/dist/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +132 -42
- package/dist/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +91 -23
- package/dist/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +126 -35
- package/dist/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +90 -13
- package/dist/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts +1622 -207
- package/dist/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts +226 -12
- package/dist/recipes/conversation_view/message_input/message_input_button.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts +636 -55
- package/dist/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +226 -12
- package/dist/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
- package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts +53 -7
- package/dist/recipes/header/settings_menu_button/settings_menu_button.vue.d.ts.map +1 -1
- package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts +122 -33
- package/dist/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +87 -29
- package/dist/recipes/leftbar/callbox/callbox.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +82 -28
- package/dist/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts +588 -72
- package/dist/recipes/leftbar/contact_row/contact_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/general_row/general_row.vue.d.ts +480 -31
- package/dist/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/general_row/leftbar_general_row_icon.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/group_row/group_row.vue.d.ts +479 -30
- package/dist/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
- package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
- package/dist/recipes/notices/top_banner_info/top_banner_info.vue.d.ts.map +1 -1
- package/dist/{resizable-aOVGO_Os.cjs → resizable-DhowneUp.cjs} +2 -2
- package/dist/{resizable-aOVGO_Os.cjs.map → resizable-DhowneUp.cjs.map} +1 -1
- package/dist/{resizable-D4-peBOl.js → resizable-xcOu-0_w.js} +3 -3
- package/dist/{resizable-D4-peBOl.js.map → resizable-xcOu-0_w.js.map} +1 -1
- package/dist/{resizable_handle-BlKBiWnx.js → resizable_handle-BAZzCA_i.js} +3 -3
- package/dist/{resizable_handle-BlKBiWnx.js.map → resizable_handle-BAZzCA_i.js.map} +1 -1
- package/dist/{resizable_handle-RIKS8frB.cjs → resizable_handle-fjKg48eY.cjs} +2 -2
- package/dist/{resizable_handle-RIKS8frB.cjs.map → resizable_handle-fjKg48eY.cjs.map} +1 -1
- package/dist/{resizable_utils-DhuzXRdP.cjs → resizable_utils-BE4lK07_.cjs} +1 -1
- package/dist/{resizable_utils-DhuzXRdP.cjs.map → resizable_utils-BE4lK07_.cjs.map} +1 -1
- package/dist/{resizable_utils-BComtrMV.js → resizable_utils-DsKnGHKW.js} +1 -1
- package/dist/{resizable_utils-BComtrMV.js.map → resizable_utils-DsKnGHKW.js.map} +1 -1
- package/dist/{rich_text_editor-Ba67C4Uk.js → rich_text_editor-CEW74QNe.js} +637 -598
- package/dist/{rich_text_editor-Ba67C4Uk.js.map → rich_text_editor-CEW74QNe.js.map} +1 -1
- package/dist/rich_text_editor-immDiKq_.cjs +10 -0
- package/dist/{rich_text_editor-DMP5eTlf.cjs.map → rich_text_editor-immDiKq_.cjs.map} +1 -1
- package/dist/scroller-C15VLKNK.cjs +2 -0
- package/dist/scroller-C15VLKNK.cjs.map +1 -0
- package/dist/{scroller-BGVDh3sq.js → scroller-DPqcc_Wl.js} +6 -6
- package/dist/scroller-DPqcc_Wl.js.map +1 -0
- package/dist/shared/sr_only_close_button.cjs +1 -1
- package/dist/shared/sr_only_close_button.cjs.map +1 -1
- package/dist/shared/sr_only_close_button.js +1 -1
- package/dist/shared/sr_only_close_button.js.map +1 -1
- package/dist/toast-B1WZNMAm.cjs +2 -0
- package/dist/toast-B1WZNMAm.cjs.map +1 -0
- package/dist/{toast-DvPN-bCi.js → toast-DaH2KF7B.js} +52 -51
- package/dist/toast-DaH2KF7B.js.map +1 -0
- package/dist/{useResizableCalculations-DAajatT4.js → useResizableCalculations-2UpEXvfY.js} +2 -2
- package/dist/{useResizableCalculations-DAajatT4.js.map → useResizableCalculations-2UpEXvfY.js.map} +1 -1
- package/dist/{useResizableCalculations-BDITle3Q.cjs → useResizableCalculations-DPBjAFWQ.cjs} +2 -2
- package/dist/{useResizableCalculations-BDITle3Q.cjs.map → useResizableCalculations-DPBjAFWQ.cjs.map} +1 -1
- package/package.json +9 -7
- package/dist/attachment_carousel-BHxR7A76.cjs +0 -2
- package/dist/attachment_carousel-BHxR7A76.cjs.map +0 -1
- package/dist/attachment_carousel-CouFqFMw.js.map +0 -1
- package/dist/combobox-DgClbLOg.js.map +0 -1
- package/dist/combobox-DhjZxfUw.cjs +0 -3
- package/dist/combobox-DhjZxfUw.cjs.map +0 -1
- package/dist/components/split_button/split_button-alpha.vue.d.ts.map +0 -1
- package/dist/datepicker-DprRX9AH.cjs +0 -2
- package/dist/datepicker-DprRX9AH.cjs.map +0 -1
- package/dist/datepicker-LVDRC6Lf.js.map +0 -1
- package/dist/emoji_picker-Cl-T4BXK.cjs +0 -2
- package/dist/emoji_picker-Cl-T4BXK.cjs.map +0 -1
- package/dist/emoji_picker-tVHfpHDk.js.map +0 -1
- package/dist/lib/split-button/split-button-alpha.cjs +0 -2
- package/dist/lib/split-button/split-button-alpha.cjs.map +0 -1
- package/dist/lib/split-button/split-button-alpha.js +0 -107
- package/dist/lib/split-button/split-button-alpha.js.map +0 -1
- package/dist/lib/split-button/split-button-omega.cjs +0 -2
- package/dist/lib/split-button/split-button-omega.cjs.map +0 -1
- package/dist/lib/split-button/split-button-omega.js.map +0 -1
- package/dist/message_input-AWgvtwMV.cjs +0 -2
- package/dist/message_input-AWgvtwMV.cjs.map +0 -1
- package/dist/message_input-CHlTsBGK.js.map +0 -1
- package/dist/rich_text_editor-DMP5eTlf.cjs +0 -10
- package/dist/scroller-BGVDh3sq.js.map +0 -1
- package/dist/scroller-CjAsgjl9.cjs +0 -2
- package/dist/scroller-CjAsgjl9.cjs.map +0 -1
- package/dist/toast-DvPN-bCi.js.map +0 -1
- package/dist/toast-d8_zmgkL.cjs +0 -2
- package/dist/toast-d8_zmgkL.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control-constants.js","names":[],"sources":["../../../components/segmented_control/segmented_control_constants.js"],"sourcesContent":["export const SEGMENTED_CONTROL_SIZES = ['100', '200', '300', '400', '500', 'xs', 'sm', 'md', 'lg', 'xl'];\nexport const SEGMENTED_CONTROL_SIZE_DEFAULT = 200;\n\nexport const SEGMENTED_CONTROL_SIZE_MODIFIERS = {\n // Numeric (preferred)\n 100: 'd-segmented-control--xs',\n 200: 'd-segmented-control--sm',\n 300: 'd-segmented-control--md',\n 400: 'd-segmented-control--lg',\n 500: 'd-segmented-control--xl',\n // T-shirt aliases (deprecated)\n xs: 'd-segmented-control--xs',\n sm: 'd-segmented-control--sm',\n md: 'd-segmented-control--md',\n lg: 'd-segmented-control--lg',\n xl: 'd-segmented-control--xl',\n};\n\nexport const SEGMENTED_CONTROL_ORIENTATIONS = ['horizontal', 'vertical'];\nexport const SEGMENTED_CONTROL_ORIENTATION_DEFAULT = 'horizontal';\n\nexport const SEGMENTED_CONTROL_ACTIVATION_MODES = ['auto', 'manual'];\nexport const SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT = 'auto';\n\nexport const SEGMENTED_CONTROL_SPREADS = ['grow', 'evenly'];\nexport const SEGMENTED_CONTROL_SPREAD_DEFAULT = 'grow';\n\nexport const SEGMENTED_CONTROL_ITEM_SELECTOR = '[role=\"radio\"]';\nexport const SEGMENTED_CONTROL_DATA_VALUE_ATTR = 'data-value';\n\nexport const SEGMENTED_CONTROL_CONTEXT_KEY = Symbol('DtSegmentedControlContext');\nexport const SEGMENTED_CONTROL_SELECT_KEY = Symbol('DtSegmentedControlSelect');\nexport const SEGMENTED_CONTROL_FOCUS_KEY = Symbol('DtSegmentedControlFocus');\n\nexport default {\n SEGMENTED_CONTROL_SIZES,\n SEGMENTED_CONTROL_SIZE_DEFAULT,\n SEGMENTED_CONTROL_SIZE_MODIFIERS,\n SEGMENTED_CONTROL_ORIENTATIONS,\n SEGMENTED_CONTROL_ORIENTATION_DEFAULT,\n SEGMENTED_CONTROL_ACTIVATION_MODES,\n SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT,\n SEGMENTED_CONTROL_SPREADS,\n SEGMENTED_CONTROL_SPREAD_DEFAULT,\n SEGMENTED_CONTROL_CONTEXT_KEY,\n SEGMENTED_CONTROL_SELECT_KEY,\n SEGMENTED_CONTROL_FOCUS_KEY,\n};\n"],"mappings":";AAAA,IAAa,IAA0B;CAAC;CAAO;CAAO;CAAO;CAAO;CAAO;CAAM;CAAM;CAAM;CAAM;CAAK,EAC3F,IAAiC,KAEjC,IAAmC;CAE9C,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CAEL,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL,EAEY,IAAiC,CAAC,cAAc,WAAW,EAC3D,IAAwC,cAExC,IAAqC,CAAC,QAAQ,SAAS,EACvD,IAA4C,QAE5C,IAA4B,CAAC,QAAQ,SAAS,EAC9C,IAAmC,QAEnC,IAAkC,oBAClC,IAAoC,cAEpC,IAAgC,OAAO,4BAA4B,EACnE,IAA+B,OAAO,2BAA2B,EACjE,IAA8B,OAAO,0BAA0B,EAE5E,IAAe;CACb;CACA,gCAAA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../button/button.cjs`),t=require(`./segmented-control-constants.cjs`);let n=require(`vue`);var r=Object.assign({name:`DtSegmentedControlItem`,inheritAttrs:!1},{__name:`segmented_control_item`,props:{value:{type:String,required:!0},label:{type:String,default:void 0},disabled:{type:Boolean,default:!1},labelClass:{type:[String,Array,Object],default:void 0}},emits:[`click`,`focus`],setup(r,{emit:i}){let a=r,o=i,s=(0,n.inject)(t.SEGMENTED_CONTROL_CONTEXT_KEY,{selected:``,disabled:!1,size:200,labelClass:``}),c=(0,n.inject)(t.SEGMENTED_CONTROL_SELECT_KEY,()=>{}),l=(0,n.inject)(t.SEGMENTED_CONTROL_FOCUS_KEY,()=>{}),u=(0,n.computed)(()=>s.selected===a.value),d=(0,n.computed)(()=>s.disabled||a.disabled),f=(0,n.computed)(()=>s.size),p=(0,n.computed)(()=>[`d-segmented-control__item-label`,a.labelClass??s.labelClass].filter(Boolean));function m(e){o(`click`,e),!d.value&&c(a.value)}function h(e){o(`focus`,e),l(a.value)}return(t,i)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.unref)(e.default),(0,n.mergeProps)({class:`d-segmented-control__item`,role:`radio`,"aria-checked":String(u.value),tabindex:u.value&&!d.value?`0`:`-1`,active:u.value,disabled:d.value,"aria-disabled":d.value?`true`:void 0,"aria-label":r.label,"label-class":p.value,"data-value":r.value,kind:`muted`,importance:`clear`,size:f.value,"data-qa":`dt-segmented-control-item`},t.$attrs,{onClick:m,onFocus:h}),(0,n.createSlots)({default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`)]),_:2},[t.$slots.startIcon?{name:`startIcon`,fn:(0,n.withCtx)(({iconSize:e})=>[(0,n.renderSlot)(t.$slots,`startIcon`,{iconSize:e})]),key:`0`}:void 0,t.$slots.endIcon?{name:`endIcon`,fn:(0,n.withCtx)(({iconSize:e})=>[(0,n.renderSlot)(t.$slots,`endIcon`,{iconSize:e})]),key:`1`}:void 0,t.$slots.leading?{name:`leading`,fn:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`leading`)]),key:`2`}:void 0,t.$slots.trailing?{name:`trailing`,fn:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`trailing`)]),key:`3`}:void 0]),1040,[`aria-checked`,`tabindex`,`active`,`disabled`,`aria-disabled`,`aria-label`,`label-class`,`data-value`,`size`]))}});exports.default=r;
|
|
2
|
+
//# sourceMappingURL=segmented-control-item.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control-item.cjs","names":["$attrs","$slots"],"sources":["../../../components/segmented_control/segmented_control_item.vue"],"sourcesContent":["<template>\n <dt-button\n class=\"d-segmented-control__item\"\n role=\"radio\"\n :aria-checked=\"String(isSelected)\"\n :tabindex=\"isSelected && !isDisabled ? '0' : '-1'\"\n :active=\"isSelected\"\n :disabled=\"isDisabled\"\n :aria-disabled=\"isDisabled ? 'true' : undefined\"\n :aria-label=\"label\"\n :label-class=\"resolvedLabelClass\"\n :data-value=\"value\"\n kind=\"muted\"\n importance=\"clear\"\n :size=\"buttonSize\"\n data-qa=\"dt-segmented-control-item\"\n v-bind=\"$attrs\"\n @click=\"handleClick\"\n @focus=\"handleFocus\"\n >\n <template\n v-if=\"$slots.startIcon\"\n #startIcon=\"{ iconSize }\"\n >\n <!-- @slot Icon displayed at the inline-start of the label. Provides { iconSize } scoped binding. -->\n <slot\n name=\"startIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"$slots.endIcon\"\n #endIcon=\"{ iconSize }\"\n >\n <!-- @slot Icon displayed at the inline-end of the label. Provides { iconSize } scoped binding. -->\n <slot\n name=\"endIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"$slots.leading\"\n #leading\n >\n <!-- @slot Content rendered before the label (e.g. badges, indicators). -->\n <slot name=\"leading\" />\n </template>\n <template\n v-if=\"$slots.trailing\"\n #trailing\n >\n <!-- @slot Content rendered after the label (e.g. badges, counts). -->\n <slot name=\"trailing\" />\n </template>\n <!-- @slot Label text content -->\n <slot />\n </dt-button>\n</template>\n\n<script setup>\nimport { computed, inject } from 'vue';\nimport { DtButton } from '@/components/button';\nimport {\n SEGMENTED_CONTROL_CONTEXT_KEY,\n SEGMENTED_CONTROL_SELECT_KEY,\n SEGMENTED_CONTROL_FOCUS_KEY,\n SEGMENTED_CONTROL_SIZE_DEFAULT,\n} from './segmented_control_constants.js';\n\ndefineOptions({\n name: 'DtSegmentedControlItem',\n inheritAttrs: false,\n});\n\nconst props = defineProps({\n /**\n * Unique value for this item, used for selection matching with v-model.\n */\n value: {\n type: String,\n required: true,\n },\n\n /**\n * Accessible label for the button (aria-label).\n * Visible text comes from the default slot, not this prop.\n * Required for icon-only items.\n */\n label: {\n type: String,\n default: undefined,\n },\n\n /**\n * Disables this individual item.\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Custom class for this item's label container.\n * Overrides the parent's labelClass when provided.\n */\n labelClass: {\n type: [String, Array, Object],\n default: undefined,\n },\n});\n\nconst emit = defineEmits([\n /**\n * Native button click event.\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native button focus event.\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n]);\n\nconst groupContext = inject(SEGMENTED_CONTROL_CONTEXT_KEY, { selected: '', disabled: false, size: SEGMENTED_CONTROL_SIZE_DEFAULT, labelClass: '' });\nconst selectValue = inject(SEGMENTED_CONTROL_SELECT_KEY, () => {});\nconst setFocus = inject(SEGMENTED_CONTROL_FOCUS_KEY, () => {});\n\nconst isSelected = computed(() => groupContext.selected === props.value);\nconst isDisabled = computed(() => groupContext.disabled || props.disabled);\n\nconst buttonSize = computed(() => groupContext.size);\n\nconst resolvedLabelClass = computed(() => {\n return ['d-segmented-control__item-label', props.labelClass ?? groupContext.labelClass].filter(Boolean);\n});\n\nfunction handleClick (event) {\n emit('click', event);\n if (isDisabled.value) return;\n selectValue(props.value);\n}\n\nfunction handleFocus (event) {\n emit('focus', event);\n setFocus(props.value);\n}\n</script>\n"],"mappings":"miBA0EA,IAAM,EAAQ,EAqCR,EAAO,EAgBP,GAAA,EAAA,EAAA,QAAsB,EAAA,8BAA+B,CAAE,SAAU,GAAI,SAAU,GAAO,KAAA,IAAsC,WAAY,GAAI,CAAC,CAC7I,GAAA,EAAA,EAAA,QAAqB,EAAA,iCAAoC,GAAG,CAC5D,GAAA,EAAA,EAAA,QAAkB,EAAA,gCAAmC,GAAG,CAExD,GAAA,EAAA,EAAA,cAA4B,EAAa,WAAa,EAAM,MAAM,CAClE,GAAA,EAAA,EAAA,cAA4B,EAAa,UAAY,EAAM,SAAS,CAEpE,GAAA,EAAA,EAAA,cAA4B,EAAa,KAAK,CAE9C,GAAA,EAAA,EAAA,cACG,CAAC,kCAAmC,EAAM,YAAc,EAAa,WAAW,CAAC,OAAO,QAAQ,CACvG,CAEF,SAAS,EAAa,EAAO,CAC3B,EAAK,QAAS,EAAM,CAChB,GAAW,OACf,EAAY,EAAM,MAAM,CAG1B,SAAS,EAAa,EAAO,CAC3B,EAAK,QAAS,EAAM,CACpB,EAAS,EAAM,MAAM,+DA5FT,EAAA,QAAA,EAAA,EAAA,EAAA,YAAA,CAtDV,MAAM,4BACN,KAAK,QACJ,eAAc,OAAO,EAAA,MAAU,CAC/B,SAAU,EAAA,OAAU,CAAK,EAAA,MAAU,IAAA,KACnC,OAAQ,EAAA,MACR,SAAU,EAAA,MACV,gBAAe,EAAA,MAAU,OAAY,IAAA,GACrC,aAAY,EAAA,MACZ,cAAa,EAAA,MACb,aAAY,EAAA,MACb,KAAK,QACL,WAAW,QACV,KAAM,EAAA,MACP,UAAQ,6BACAA,EAAAA,OAAM,CACb,QAAO,EACP,QAAO,iDAqCA,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,OAlCAC,EAAAA,OAAO,UAAA,MACZ,8BAMC,CANY,cAAQ,EAAA,EAAA,EAAA,YAMpB,EAAA,OAAA,YAAA,CADY,WAAQ,CAAA,CAAA,CAAA,iBAIhBA,EAAAA,OAAO,QAAA,MACZ,4BAMC,CANU,cAAQ,EAAA,EAAA,EAAA,YAMlB,EAAA,OAAA,UAAA,CADY,WAAQ,CAAA,CAAA,CAAA,iBAIhBA,EAAAA,OAAO,QAAA,MACZ,+BAGsB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA,iBAGjBA,EAAAA,OAAO,SAAA,MACZ,gCAGuB,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,WAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import e from "../button/button.js";
|
|
2
|
+
import { SEGMENTED_CONTROL_CONTEXT_KEY as t, SEGMENTED_CONTROL_FOCUS_KEY as n, SEGMENTED_CONTROL_SELECT_KEY as r } from "./segmented-control-constants.js";
|
|
3
|
+
import { computed as i, createBlock as a, createSlots as o, inject as s, mergeProps as c, openBlock as l, renderSlot as u, unref as d, withCtx as f } from "vue";
|
|
4
|
+
//#region components/segmented_control/segmented_control_item.vue
|
|
5
|
+
var p = /* @__PURE__ */ Object.assign({
|
|
6
|
+
name: "DtSegmentedControlItem",
|
|
7
|
+
inheritAttrs: !1
|
|
8
|
+
}, {
|
|
9
|
+
__name: "segmented_control_item",
|
|
10
|
+
props: {
|
|
11
|
+
value: {
|
|
12
|
+
type: String,
|
|
13
|
+
required: !0
|
|
14
|
+
},
|
|
15
|
+
label: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: void 0
|
|
18
|
+
},
|
|
19
|
+
disabled: {
|
|
20
|
+
type: Boolean,
|
|
21
|
+
default: !1
|
|
22
|
+
},
|
|
23
|
+
labelClass: {
|
|
24
|
+
type: [
|
|
25
|
+
String,
|
|
26
|
+
Array,
|
|
27
|
+
Object
|
|
28
|
+
],
|
|
29
|
+
default: void 0
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
emits: ["click", "focus"],
|
|
33
|
+
setup(p, { emit: m }) {
|
|
34
|
+
let h = p, g = m, _ = s(t, {
|
|
35
|
+
selected: "",
|
|
36
|
+
disabled: !1,
|
|
37
|
+
size: 200,
|
|
38
|
+
labelClass: ""
|
|
39
|
+
}), v = s(r, () => {}), y = s(n, () => {}), b = i(() => _.selected === h.value), x = i(() => _.disabled || h.disabled), S = i(() => _.size), C = i(() => ["d-segmented-control__item-label", h.labelClass ?? _.labelClass].filter(Boolean));
|
|
40
|
+
function w(e) {
|
|
41
|
+
g("click", e), !x.value && v(h.value);
|
|
42
|
+
}
|
|
43
|
+
function T(e) {
|
|
44
|
+
g("focus", e), y(h.value);
|
|
45
|
+
}
|
|
46
|
+
return (t, n) => (l(), a(d(e), c({
|
|
47
|
+
class: "d-segmented-control__item",
|
|
48
|
+
role: "radio",
|
|
49
|
+
"aria-checked": String(b.value),
|
|
50
|
+
tabindex: b.value && !x.value ? "0" : "-1",
|
|
51
|
+
active: b.value,
|
|
52
|
+
disabled: x.value,
|
|
53
|
+
"aria-disabled": x.value ? "true" : void 0,
|
|
54
|
+
"aria-label": p.label,
|
|
55
|
+
"label-class": C.value,
|
|
56
|
+
"data-value": p.value,
|
|
57
|
+
kind: "muted",
|
|
58
|
+
importance: "clear",
|
|
59
|
+
size: S.value,
|
|
60
|
+
"data-qa": "dt-segmented-control-item"
|
|
61
|
+
}, t.$attrs, {
|
|
62
|
+
onClick: w,
|
|
63
|
+
onFocus: T
|
|
64
|
+
}), o({
|
|
65
|
+
default: f(() => [u(t.$slots, "default")]),
|
|
66
|
+
_: 2
|
|
67
|
+
}, [
|
|
68
|
+
t.$slots.startIcon ? {
|
|
69
|
+
name: "startIcon",
|
|
70
|
+
fn: f(({ iconSize: e }) => [u(t.$slots, "startIcon", { iconSize: e })]),
|
|
71
|
+
key: "0"
|
|
72
|
+
} : void 0,
|
|
73
|
+
t.$slots.endIcon ? {
|
|
74
|
+
name: "endIcon",
|
|
75
|
+
fn: f(({ iconSize: e }) => [u(t.$slots, "endIcon", { iconSize: e })]),
|
|
76
|
+
key: "1"
|
|
77
|
+
} : void 0,
|
|
78
|
+
t.$slots.leading ? {
|
|
79
|
+
name: "leading",
|
|
80
|
+
fn: f(() => [u(t.$slots, "leading")]),
|
|
81
|
+
key: "2"
|
|
82
|
+
} : void 0,
|
|
83
|
+
t.$slots.trailing ? {
|
|
84
|
+
name: "trailing",
|
|
85
|
+
fn: f(() => [u(t.$slots, "trailing")]),
|
|
86
|
+
key: "3"
|
|
87
|
+
} : void 0
|
|
88
|
+
]), 1040, [
|
|
89
|
+
"aria-checked",
|
|
90
|
+
"tabindex",
|
|
91
|
+
"active",
|
|
92
|
+
"disabled",
|
|
93
|
+
"aria-disabled",
|
|
94
|
+
"aria-label",
|
|
95
|
+
"label-class",
|
|
96
|
+
"data-value",
|
|
97
|
+
"size"
|
|
98
|
+
]));
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
//#endregion
|
|
102
|
+
export { p as default };
|
|
103
|
+
|
|
104
|
+
//# sourceMappingURL=segmented-control-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control-item.js","names":["$attrs","$slots"],"sources":["../../../components/segmented_control/segmented_control_item.vue"],"sourcesContent":["<template>\n <dt-button\n class=\"d-segmented-control__item\"\n role=\"radio\"\n :aria-checked=\"String(isSelected)\"\n :tabindex=\"isSelected && !isDisabled ? '0' : '-1'\"\n :active=\"isSelected\"\n :disabled=\"isDisabled\"\n :aria-disabled=\"isDisabled ? 'true' : undefined\"\n :aria-label=\"label\"\n :label-class=\"resolvedLabelClass\"\n :data-value=\"value\"\n kind=\"muted\"\n importance=\"clear\"\n :size=\"buttonSize\"\n data-qa=\"dt-segmented-control-item\"\n v-bind=\"$attrs\"\n @click=\"handleClick\"\n @focus=\"handleFocus\"\n >\n <template\n v-if=\"$slots.startIcon\"\n #startIcon=\"{ iconSize }\"\n >\n <!-- @slot Icon displayed at the inline-start of the label. Provides { iconSize } scoped binding. -->\n <slot\n name=\"startIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"$slots.endIcon\"\n #endIcon=\"{ iconSize }\"\n >\n <!-- @slot Icon displayed at the inline-end of the label. Provides { iconSize } scoped binding. -->\n <slot\n name=\"endIcon\"\n :icon-size=\"iconSize\"\n />\n </template>\n <template\n v-if=\"$slots.leading\"\n #leading\n >\n <!-- @slot Content rendered before the label (e.g. badges, indicators). -->\n <slot name=\"leading\" />\n </template>\n <template\n v-if=\"$slots.trailing\"\n #trailing\n >\n <!-- @slot Content rendered after the label (e.g. badges, counts). -->\n <slot name=\"trailing\" />\n </template>\n <!-- @slot Label text content -->\n <slot />\n </dt-button>\n</template>\n\n<script setup>\nimport { computed, inject } from 'vue';\nimport { DtButton } from '@/components/button';\nimport {\n SEGMENTED_CONTROL_CONTEXT_KEY,\n SEGMENTED_CONTROL_SELECT_KEY,\n SEGMENTED_CONTROL_FOCUS_KEY,\n SEGMENTED_CONTROL_SIZE_DEFAULT,\n} from './segmented_control_constants.js';\n\ndefineOptions({\n name: 'DtSegmentedControlItem',\n inheritAttrs: false,\n});\n\nconst props = defineProps({\n /**\n * Unique value for this item, used for selection matching with v-model.\n */\n value: {\n type: String,\n required: true,\n },\n\n /**\n * Accessible label for the button (aria-label).\n * Visible text comes from the default slot, not this prop.\n * Required for icon-only items.\n */\n label: {\n type: String,\n default: undefined,\n },\n\n /**\n * Disables this individual item.\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Custom class for this item's label container.\n * Overrides the parent's labelClass when provided.\n */\n labelClass: {\n type: [String, Array, Object],\n default: undefined,\n },\n});\n\nconst emit = defineEmits([\n /**\n * Native button click event.\n * @event click\n * @type {PointerEvent | KeyboardEvent}\n */\n 'click',\n\n /**\n * Native button focus event.\n * @event focus\n * @type {FocusEvent}\n */\n 'focus',\n]);\n\nconst groupContext = inject(SEGMENTED_CONTROL_CONTEXT_KEY, { selected: '', disabled: false, size: SEGMENTED_CONTROL_SIZE_DEFAULT, labelClass: '' });\nconst selectValue = inject(SEGMENTED_CONTROL_SELECT_KEY, () => {});\nconst setFocus = inject(SEGMENTED_CONTROL_FOCUS_KEY, () => {});\n\nconst isSelected = computed(() => groupContext.selected === props.value);\nconst isDisabled = computed(() => groupContext.disabled || props.disabled);\n\nconst buttonSize = computed(() => groupContext.size);\n\nconst resolvedLabelClass = computed(() => {\n return ['d-segmented-control__item-label', props.labelClass ?? groupContext.labelClass].filter(Boolean);\n});\n\nfunction handleClick (event) {\n emit('click', event);\n if (isDisabled.value) return;\n selectValue(props.value);\n}\n\nfunction handleFocus (event) {\n emit('focus', event);\n setFocus(props.value);\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0EA,IAAM,IAAQ,GAqCR,IAAO,GAgBP,IAAe,EAAO,GAA+B;GAAE,UAAU;GAAI,UAAU;GAAO,MAAA;GAAsC,YAAY;GAAI,CAAC,EAC7I,IAAc,EAAO,SAAoC,GAAG,EAC5D,IAAW,EAAO,SAAmC,GAAG,EAExD,IAAa,QAAe,EAAa,aAAa,EAAM,MAAM,EAClE,IAAa,QAAe,EAAa,YAAY,EAAM,SAAS,EAEpE,IAAa,QAAe,EAAa,KAAK,EAE9C,IAAqB,QAClB,CAAC,mCAAmC,EAAM,cAAc,EAAa,WAAW,CAAC,OAAO,QAAQ,CACvG;EAEF,SAAS,EAAa,GAAO;AAC3B,KAAK,SAAS,EAAM,EAChB,GAAW,SACf,EAAY,EAAM,MAAM;;EAG1B,SAAS,EAAa,GAAO;AAE3B,GADA,EAAK,SAAS,EAAM,EACpB,EAAS,EAAM,MAAM;;yBAnJrB,EAuDY,EAAA,EAAA,EAvDZ,EAuDY;GAtDV,OAAM;GACN,MAAK;GACJ,gBAAc,OAAO,EAAA,MAAU;GAC/B,UAAU,EAAA,SAAU,CAAK,EAAA,QAAU,MAAA;GACnC,QAAQ,EAAA;GACR,UAAU,EAAA;GACV,iBAAe,EAAA,QAAU,SAAY,KAAA;GACrC,cAAY,EAAA;GACZ,eAAa,EAAA;GACb,cAAY,EAAA;GACb,MAAK;GACL,YAAW;GACV,MAAM,EAAA;GACP,WAAQ;KACAA,EAAAA,QAAM;GACb,SAAO;GACP,SAAO;;oBAqCA,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA;;;GAlCAC,EAAAA,OAAO,YAAA;UACZ;WAMC,EANY,kBAAQ,CAGtB,EAGE,EAAA,QAAA,aAAA,EADY,aAAQ,CAAA,CAAA,CAAA;;;GAIhBA,EAAAA,OAAO,UAAA;UACZ;WAMC,EANU,kBAAQ,CAGpB,EAGE,EAAA,QAAA,WAAA,EADY,aAAQ,CAAA,CAAA,CAAA;;;GAIhBA,EAAAA,OAAO,UAAA;UACZ;gBAGsB,CAAvB,EAAuB,EAAA,QAAA,UAAA,CAAA,CAAA;;;GAGjBA,EAAAA,OAAO,WAAA;UACZ;gBAGuB,CAAxB,EAAwB,EAAA,QAAA,WAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/utils/index.cjs`),t=require(`../stack/stack.cjs`),n=require(`../../common/composables/useIndicatorAnimation.cjs`),r=require(`./segmented-control-constants.cjs`);let i=require(`vue`);var a=Object.assign({name:`DtSegmentedControl`},{__name:`segmented_control`,props:{id:{type:String,default(){return e.getUniqueString()}},modelValue:{type:String,required:!0},ariaLabel:{type:String,default:void 0},orientation:{type:String,default:r.SEGMENTED_CONTROL_ORIENTATION_DEFAULT,validator:e=>r.SEGMENTED_CONTROL_ORIENTATIONS.includes(e)},size:{type:[String,Number],default:200,validator:e=>r.SEGMENTED_CONTROL_SIZES.includes(String(e))},activationMode:{type:String,default:r.SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT,validator:e=>r.SEGMENTED_CONTROL_ACTIVATION_MODES.includes(e)},disabled:{type:Boolean,default:!1},showDivider:{type:Boolean,default:!0},borderless:{type:Boolean,default:!1},spread:{type:String,default:r.SEGMENTED_CONTROL_SPREAD_DEFAULT,validator:e=>r.SEGMENTED_CONTROL_SPREADS.includes(e)},labelClass:{type:[String,Array,Object],default:``},showIndicatorTransition:{type:Boolean,default:!0}},emits:[`update:modelValue`,`change`,`before-change`],setup(e,{emit:a}){let o=e,s=a,c=(0,i.ref)(null),l=(0,i.ref)(null),u=(0,i.computed)(()=>o.orientation===`vertical`?`column`:`row`),d=(0,i.computed)(()=>[`d-segmented-control`,r.SEGMENTED_CONTROL_SIZE_MODIFIERS[String(o.size)],o.showDivider?null:`d-segmented-control--hide-divider`,o.borderless?`d-segmented-control--borderless`:null,o.orientation===`vertical`?`d-segmented-control--vertical`:null,o.spread===`evenly`&&o.orientation===`horizontal`?`d-segmented-control--spread-evenly`:null]),f=(0,i.reactive)({selected:o.modelValue,disabled:o.disabled,size:o.size,labelClass:o.labelClass});(0,i.watchEffect)(()=>{f.selected=o.modelValue,f.disabled=o.disabled,f.size=o.size,f.labelClass=o.labelClass}),(0,i.provide)(r.SEGMENTED_CONTROL_CONTEXT_KEY,f),(0,i.provide)(r.SEGMENTED_CONTROL_SELECT_KEY,_),(0,i.provide)(r.SEGMENTED_CONTROL_FOCUS_KEY,g);function p(){let e=h();if(!e.length||e.some(e=>e.getAttribute(`tabindex`)===`0`))return;let t=e.find(e=>!b(e));t&&t.setAttribute(`tabindex`,`0`)}let m=n.useIndicatorAnimation(c,`--segmented-indicator-duration`,`--segmented-indicator-easing`);(0,i.onMounted)(p),(0,i.watch)(()=>[o.modelValue,o.disabled],p,{flush:`post`});function h(){let e=c.value?.$el||c.value;return e?Array.from(e.querySelectorAll(r.SEGMENTED_CONTROL_ITEM_SELECTOR)):[]}function g(e){l.value=e}async function _(e,{animate:t=!0}={}){if(o.disabled||e===o.modelValue)return;let n=new Event(`before-change`,{cancelable:!0});if(s(`before-change`,n),n.defaultPrevented)return;m.cancel();let a=t&&o.showIndicatorTransition?m.snapshot(`[aria-checked="true"]`):null;if(s(`update:modelValue`,e),s(`change`,e),!a)return;await(0,i.nextTick)();let l=(c.value?.$el||c.value)?.querySelector(`[${r.SEGMENTED_CONTROL_DATA_VALUE_ATTR}="${CSS.escape(e)}"]`);l&&m.animate({oldRect:a.rect,newEl:l,orientation:o.orientation,hideProps:{backgroundColor:`transparent`},indicatorExtra:{backgroundColor:a.style.backgroundColor},pseudoElement:`::after`})}function v(e,t){if(t){let n=t.target.closest(r.SEGMENTED_CONTROL_ITEM_SELECTOR);if(n){let t=e.indexOf(n);if(t!==-1)return t}}let n=e.findIndex(e=>{let t=e.getAttribute(r.SEGMENTED_CONTROL_DATA_VALUE_ATTR);return l.value?t===l.value:e.getAttribute(`aria-checked`)===`true`});return n===-1?0:n}function y(e){b(e)||_(e.getAttribute(r.SEGMENTED_CONTROL_DATA_VALUE_ATTR))}function b(e){return e.getAttribute(`aria-disabled`)===`true`}function x(e,t,n){let r=e.length;for(let i=1;i<=r;i++){let a=(t+i*n+r)%r;if(!b(e[a]))return a}return t}function S(e,t,n){let r=o.orientation===`horizontal`,i=r?`ArrowRight`:`ArrowDown`,a=r?`ArrowLeft`:`ArrowUp`;switch(e){case i:return x(n,t,1);case a:return x(n,t,-1);case`Home`:return x(n,n.length-1,1);case`End`:return x(n,0,-1);default:return-1}}function C(e){let t=h();if(!t.length)return;let n=v(t,e);if(e.key===`Enter`||e.key===` `){y(t[n]),e.preventDefault(),e.stopPropagation();return}let i=S(e.key,n,t);if(i!==-1&&(e.preventDefault(),e.stopPropagation(),t[i].focus(),o.activationMode===`auto`)){m.cancel();let e=t[i].getAttribute(r.SEGMENTED_CONTROL_DATA_VALUE_ATTR);b(t[i])||_(e,{animate:!1})}}return(n,r)=>((0,i.openBlock)(),(0,i.createBlock)((0,i.unref)(t.default),{id:e.id,ref_key:`container`,ref:c,align:`stretch`,class:(0,i.normalizeClass)(d.value),direction:u.value,role:`radiogroup`,"aria-label":e.ariaLabel,"aria-orientation":e.orientation,"data-qa":`dt-segmented-control`,onKeydown:C},{default:(0,i.withCtx)(()=>[(0,i.renderSlot)(n.$slots,`default`)]),_:3},8,[`id`,`class`,`direction`,`aria-label`,`aria-orientation`]))}});exports.default=a;
|
|
2
|
+
//# sourceMappingURL=segmented-control.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control.cjs","names":[],"sources":["../../../components/segmented_control/segmented_control.vue"],"sourcesContent":["<template>\n <dt-stack\n :id=\"id\"\n ref=\"container\"\n align=\"stretch\"\n :class=\"containerClasses\"\n :direction=\"stackDirection\"\n role=\"radiogroup\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n data-qa=\"dt-segmented-control\"\n @keydown=\"handleKeyDown\"\n >\n <!-- @slot DtSegmentedControlItem children -->\n <slot />\n </dt-stack>\n</template>\n\n<script setup>\nimport { ref, computed, reactive, watchEffect, watch, provide, onMounted, nextTick } from 'vue';\nimport { getUniqueString } from '@/common/utils';\nimport { DtStack } from '@/components/stack';\nimport { useIndicatorAnimation } from '@/common/composables/useIndicatorAnimation';\nimport {\n SEGMENTED_CONTROL_SIZES,\n SEGMENTED_CONTROL_SIZE_DEFAULT,\n SEGMENTED_CONTROL_SIZE_MODIFIERS,\n SEGMENTED_CONTROL_ORIENTATIONS,\n SEGMENTED_CONTROL_ORIENTATION_DEFAULT,\n SEGMENTED_CONTROL_ACTIVATION_MODES,\n SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT,\n SEGMENTED_CONTROL_SPREADS,\n SEGMENTED_CONTROL_SPREAD_DEFAULT,\n SEGMENTED_CONTROL_CONTEXT_KEY,\n SEGMENTED_CONTROL_SELECT_KEY,\n SEGMENTED_CONTROL_FOCUS_KEY,\n SEGMENTED_CONTROL_ITEM_SELECTOR,\n SEGMENTED_CONTROL_DATA_VALUE_ATTR,\n} from './segmented_control_constants.js';\n\ndefineOptions({ name: 'DtSegmentedControl' });\n\nconst props = defineProps({\n /**\n * Element ID for the radiogroup container.\n * Auto-generated if not provided.\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The currently selected value (v-model).\n */\n modelValue: {\n type: String,\n required: true,\n },\n\n /**\n * Accessible label for the radiogroup.\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n\n /**\n * Orientation of the segmented control.\n * Maps to DtStack direction: horizontal -> row, vertical -> column.\n * @values horizontal, vertical\n */\n orientation: {\n type: String,\n default: SEGMENTED_CONTROL_ORIENTATION_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_ORIENTATIONS.includes(v),\n },\n\n /**\n * DtButton size for all items. Inherited by children via provide.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: SEGMENTED_CONTROL_SIZE_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_SIZES.includes(String(v)),\n },\n\n /**\n * Controls whether items are selected on focus (auto) or on click/Space/Enter (manual).\n * @values auto, manual\n */\n activationMode: {\n type: String,\n default: SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_ACTIVATION_MODES.includes(v),\n },\n\n /**\n * Disables all items in the group.\n * Per-item disabled is set via the disabled prop on DtSegmentedControlItem.\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows the dividers between items.\n */\n showDivider: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Removes the border and padding from the container.\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls how items distribute space.\n * 'grow' (default): items size to their content.\n * 'evenly': items share space equally.\n * @values grow, evenly\n */\n spread: {\n type: String,\n default: SEGMENTED_CONTROL_SPREAD_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_SPREADS.includes(v),\n },\n\n /**\n * Default label class for all items. Items can override with their own labelClass prop.\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * If true, the selection indicator animates between items on click.\n * @values true, false\n */\n showIndicatorTransition: {\n type: Boolean,\n default: true,\n },\n});\n\nconst emit = defineEmits([\n /**\n * v-model event. Emitted when the selected value changes.\n * @event update:modelValue\n * @type {String}\n */\n 'update:modelValue',\n\n /**\n * Emitted when the user selects an item (click, Enter, Space, or arrow in auto mode).\n * Not emitted for programmatic modelValue changes.\n * @event change\n * @type {String}\n */\n 'change',\n\n /**\n * Emitted before a selection change. Call event.preventDefault() to cancel the change.\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n]);\n\nconst container = ref(null);\nconst focusedValue = ref(null);\n\nconst stackDirection = computed(() => props.orientation === 'vertical' ? 'column' : 'row');\n\nconst containerClasses = computed(() => [\n 'd-segmented-control',\n SEGMENTED_CONTROL_SIZE_MODIFIERS[String(props.size)],\n !props.showDivider ? 'd-segmented-control--hide-divider' : null,\n props.borderless ? 'd-segmented-control--borderless' : null,\n props.orientation === 'vertical' ? 'd-segmented-control--vertical' : null,\n props.spread === 'evenly' && props.orientation === 'horizontal'\n ? 'd-segmented-control--spread-evenly'\n : null,\n]);\n\n// Reactive context provided to children\nconst groupContext = reactive({\n selected: props.modelValue,\n disabled: props.disabled,\n size: props.size,\n labelClass: props.labelClass,\n});\n\nwatchEffect(() => {\n groupContext.selected = props.modelValue;\n groupContext.disabled = props.disabled;\n groupContext.size = props.size;\n groupContext.labelClass = props.labelClass;\n});\n\nprovide(SEGMENTED_CONTROL_CONTEXT_KEY, groupContext);\nprovide(SEGMENTED_CONTROL_SELECT_KEY, selectValue);\nprovide(SEGMENTED_CONTROL_FOCUS_KEY, setFocus);\n\n// Ensures at least one enabled item is tabbable (WAI-ARIA radiogroup requirement).\n// Items set tabindex based on isSelected && !isDisabled. If the selected item is disabled\n// or modelValue doesn't match any item, no item has tabindex=\"0\". This fallback sets\n// tabindex=\"0\" on the first enabled item so keyboard users can reach the control.\nfunction ensureTabbable () {\n const items = getItems();\n if (!items.length) return;\n const hasTabbable = items.some(el => el.getAttribute('tabindex') === '0');\n if (hasTabbable) return;\n const firstEnabled = items.find(el => !isItemDisabled(el));\n if (firstEnabled) firstEnabled.setAttribute('tabindex', '0');\n}\n\nconst indicator = useIndicatorAnimation(\n container, '--segmented-indicator-duration', '--segmented-indicator-easing',\n);\n\nonMounted(ensureTabbable);\n\nwatch(() => [props.modelValue, props.disabled], ensureTabbable, { flush: 'post' });\n\nfunction getItems () {\n const el = container.value?.$el || container.value;\n return el ? Array.from(el.querySelectorAll(SEGMENTED_CONTROL_ITEM_SELECTOR)) : [];\n}\n\nfunction setFocus (value) {\n focusedValue.value = value;\n}\n\nasync function selectValue (value, { animate: shouldAnimate = true } = {}) {\n if (props.disabled) return;\n if (value === props.modelValue) return;\n const beforeChangeEvent = new Event('before-change', { cancelable: true });\n emit('before-change', beforeChangeEvent);\n if (beforeChangeEvent.defaultPrevented) return;\n\n indicator.cancel();\n const shouldTransition = shouldAnimate && props.showIndicatorTransition;\n const old = shouldTransition ? indicator.snapshot('[aria-checked=\"true\"]') : null;\n\n emit('update:modelValue', value);\n emit('change', value);\n\n if (!old) return;\n\n await nextTick();\n const newEl = (container.value?.$el || container.value)\n ?.querySelector(`[${SEGMENTED_CONTROL_DATA_VALUE_ATTR}=\"${CSS.escape(value)}\"]`);\n if (!newEl) return;\n\n indicator.animate({\n oldRect: old.rect,\n newEl,\n orientation: props.orientation,\n hideProps: { backgroundColor: 'transparent' },\n indicatorExtra: { backgroundColor: old.style.backgroundColor },\n pseudoElement: '::after',\n });\n}\n\nfunction getFocusedIndex (items, event) {\n // First check event.target — the element that actually has focus\n if (event) {\n const target = event.target.closest(SEGMENTED_CONTROL_ITEM_SELECTOR);\n if (target) {\n const targetIdx = items.indexOf(target);\n if (targetIdx !== -1) return targetIdx;\n }\n }\n // Fall back to tracked focusedValue, then aria-checked\n const idx = items.findIndex(el => {\n const value = el.getAttribute(SEGMENTED_CONTROL_DATA_VALUE_ATTR);\n return focusedValue.value ? value === focusedValue.value : el.getAttribute('aria-checked') === 'true';\n });\n return idx === -1 ? 0 : idx;\n}\n\nfunction activateItem (item) {\n if (isItemDisabled(item)) return;\n selectValue(item.getAttribute(SEGMENTED_CONTROL_DATA_VALUE_ATTR));\n}\n\nfunction isItemDisabled (item) {\n return item.getAttribute('aria-disabled') === 'true';\n}\n\nfunction findNextEnabled (items, fromIndex, direction) {\n const len = items.length;\n for (let i = 1; i <= len; i++) {\n const index = (fromIndex + i * direction + len) % len;\n if (!isItemDisabled(items[index])) return index;\n }\n return fromIndex;\n}\n\nfunction getNavigationIndex (key, currentIndex, items) {\n const isHorizontal = props.orientation === 'horizontal';\n const nextKey = isHorizontal ? 'ArrowRight' : 'ArrowDown';\n const prevKey = isHorizontal ? 'ArrowLeft' : 'ArrowUp';\n\n switch (key) {\n case nextKey: return findNextEnabled(items, currentIndex, 1);\n case prevKey: return findNextEnabled(items, currentIndex, -1);\n case 'Home': return findNextEnabled(items, items.length - 1, 1);\n case 'End': return findNextEnabled(items, 0, -1);\n default: return -1;\n }\n}\n\nfunction handleKeyDown (event) {\n const items = getItems();\n if (!items.length) return;\n\n const focusedIndex = getFocusedIndex(items, event);\n\n if (event.key === 'Enter' || event.key === ' ') {\n activateItem(items[focusedIndex]);\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n const newIndex = getNavigationIndex(event.key, focusedIndex, items);\n if (newIndex === -1) return;\n\n event.preventDefault();\n event.stopPropagation();\n items[newIndex].focus();\n\n if (props.activationMode === 'auto') {\n indicator.cancel();\n const value = items[newIndex].getAttribute(SEGMENTED_CONTROL_DATA_VALUE_ATTR);\n if (!isItemDisabled(items[newIndex])) {\n selectValue(value, { animate: false });\n }\n }\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { getUniqueString as e } from "../../common/utils/index.js";
|
|
2
|
+
import t from "../stack/stack.js";
|
|
3
|
+
import { useIndicatorAnimation as n } from "../../common/composables/useIndicatorAnimation.js";
|
|
4
|
+
import { SEGMENTED_CONTROL_ACTIVATION_MODES as r, SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT as i, SEGMENTED_CONTROL_CONTEXT_KEY as a, SEGMENTED_CONTROL_DATA_VALUE_ATTR as o, SEGMENTED_CONTROL_FOCUS_KEY as s, SEGMENTED_CONTROL_ITEM_SELECTOR as c, SEGMENTED_CONTROL_ORIENTATIONS as l, SEGMENTED_CONTROL_ORIENTATION_DEFAULT as u, SEGMENTED_CONTROL_SELECT_KEY as d, SEGMENTED_CONTROL_SIZES as f, SEGMENTED_CONTROL_SIZE_MODIFIERS as p, SEGMENTED_CONTROL_SPREADS as m, SEGMENTED_CONTROL_SPREAD_DEFAULT as h } from "./segmented-control-constants.js";
|
|
5
|
+
import { computed as g, createBlock as _, nextTick as v, normalizeClass as y, onMounted as b, openBlock as x, provide as S, reactive as C, ref as w, renderSlot as T, unref as E, watch as D, watchEffect as O, withCtx as k } from "vue";
|
|
6
|
+
//#region components/segmented_control/segmented_control.vue
|
|
7
|
+
var A = /* @__PURE__ */ Object.assign({ name: "DtSegmentedControl" }, {
|
|
8
|
+
__name: "segmented_control",
|
|
9
|
+
props: {
|
|
10
|
+
id: {
|
|
11
|
+
type: String,
|
|
12
|
+
default() {
|
|
13
|
+
return e();
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
modelValue: {
|
|
17
|
+
type: String,
|
|
18
|
+
required: !0
|
|
19
|
+
},
|
|
20
|
+
ariaLabel: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: void 0
|
|
23
|
+
},
|
|
24
|
+
orientation: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: u,
|
|
27
|
+
validator: (e) => l.includes(e)
|
|
28
|
+
},
|
|
29
|
+
size: {
|
|
30
|
+
type: [String, Number],
|
|
31
|
+
default: 200,
|
|
32
|
+
validator: (e) => f.includes(String(e))
|
|
33
|
+
},
|
|
34
|
+
activationMode: {
|
|
35
|
+
type: String,
|
|
36
|
+
default: i,
|
|
37
|
+
validator: (e) => r.includes(e)
|
|
38
|
+
},
|
|
39
|
+
disabled: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
default: !1
|
|
42
|
+
},
|
|
43
|
+
showDivider: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: !0
|
|
46
|
+
},
|
|
47
|
+
borderless: {
|
|
48
|
+
type: Boolean,
|
|
49
|
+
default: !1
|
|
50
|
+
},
|
|
51
|
+
spread: {
|
|
52
|
+
type: String,
|
|
53
|
+
default: h,
|
|
54
|
+
validator: (e) => m.includes(e)
|
|
55
|
+
},
|
|
56
|
+
labelClass: {
|
|
57
|
+
type: [
|
|
58
|
+
String,
|
|
59
|
+
Array,
|
|
60
|
+
Object
|
|
61
|
+
],
|
|
62
|
+
default: ""
|
|
63
|
+
},
|
|
64
|
+
showIndicatorTransition: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
default: !0
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
emits: [
|
|
70
|
+
"update:modelValue",
|
|
71
|
+
"change",
|
|
72
|
+
"before-change"
|
|
73
|
+
],
|
|
74
|
+
setup(e, { emit: r }) {
|
|
75
|
+
let i = e, l = r, u = w(null), f = w(null), m = g(() => i.orientation === "vertical" ? "column" : "row"), h = g(() => [
|
|
76
|
+
"d-segmented-control",
|
|
77
|
+
p[String(i.size)],
|
|
78
|
+
i.showDivider ? null : "d-segmented-control--hide-divider",
|
|
79
|
+
i.borderless ? "d-segmented-control--borderless" : null,
|
|
80
|
+
i.orientation === "vertical" ? "d-segmented-control--vertical" : null,
|
|
81
|
+
i.spread === "evenly" && i.orientation === "horizontal" ? "d-segmented-control--spread-evenly" : null
|
|
82
|
+
]), A = C({
|
|
83
|
+
selected: i.modelValue,
|
|
84
|
+
disabled: i.disabled,
|
|
85
|
+
size: i.size,
|
|
86
|
+
labelClass: i.labelClass
|
|
87
|
+
});
|
|
88
|
+
O(() => {
|
|
89
|
+
A.selected = i.modelValue, A.disabled = i.disabled, A.size = i.size, A.labelClass = i.labelClass;
|
|
90
|
+
}), S(a, A), S(d, F), S(s, P);
|
|
91
|
+
function j() {
|
|
92
|
+
let e = N();
|
|
93
|
+
if (!e.length || e.some((e) => e.getAttribute("tabindex") === "0")) return;
|
|
94
|
+
let t = e.find((e) => !R(e));
|
|
95
|
+
t && t.setAttribute("tabindex", "0");
|
|
96
|
+
}
|
|
97
|
+
let M = n(u, "--segmented-indicator-duration", "--segmented-indicator-easing");
|
|
98
|
+
b(j), D(() => [i.modelValue, i.disabled], j, { flush: "post" });
|
|
99
|
+
function N() {
|
|
100
|
+
let e = u.value?.$el || u.value;
|
|
101
|
+
return e ? Array.from(e.querySelectorAll(c)) : [];
|
|
102
|
+
}
|
|
103
|
+
function P(e) {
|
|
104
|
+
f.value = e;
|
|
105
|
+
}
|
|
106
|
+
async function F(e, { animate: t = !0 } = {}) {
|
|
107
|
+
if (i.disabled || e === i.modelValue) return;
|
|
108
|
+
let n = new Event("before-change", { cancelable: !0 });
|
|
109
|
+
if (l("before-change", n), n.defaultPrevented) return;
|
|
110
|
+
M.cancel();
|
|
111
|
+
let r = t && i.showIndicatorTransition ? M.snapshot("[aria-checked=\"true\"]") : null;
|
|
112
|
+
if (l("update:modelValue", e), l("change", e), !r) return;
|
|
113
|
+
await v();
|
|
114
|
+
let a = (u.value?.$el || u.value)?.querySelector(`[${o}="${CSS.escape(e)}"]`);
|
|
115
|
+
a && M.animate({
|
|
116
|
+
oldRect: r.rect,
|
|
117
|
+
newEl: a,
|
|
118
|
+
orientation: i.orientation,
|
|
119
|
+
hideProps: { backgroundColor: "transparent" },
|
|
120
|
+
indicatorExtra: { backgroundColor: r.style.backgroundColor },
|
|
121
|
+
pseudoElement: "::after"
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
function I(e, t) {
|
|
125
|
+
if (t) {
|
|
126
|
+
let n = t.target.closest(c);
|
|
127
|
+
if (n) {
|
|
128
|
+
let t = e.indexOf(n);
|
|
129
|
+
if (t !== -1) return t;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
let n = e.findIndex((e) => {
|
|
133
|
+
let t = e.getAttribute(o);
|
|
134
|
+
return f.value ? t === f.value : e.getAttribute("aria-checked") === "true";
|
|
135
|
+
});
|
|
136
|
+
return n === -1 ? 0 : n;
|
|
137
|
+
}
|
|
138
|
+
function L(e) {
|
|
139
|
+
R(e) || F(e.getAttribute(o));
|
|
140
|
+
}
|
|
141
|
+
function R(e) {
|
|
142
|
+
return e.getAttribute("aria-disabled") === "true";
|
|
143
|
+
}
|
|
144
|
+
function z(e, t, n) {
|
|
145
|
+
let r = e.length;
|
|
146
|
+
for (let i = 1; i <= r; i++) {
|
|
147
|
+
let a = (t + i * n + r) % r;
|
|
148
|
+
if (!R(e[a])) return a;
|
|
149
|
+
}
|
|
150
|
+
return t;
|
|
151
|
+
}
|
|
152
|
+
function B(e, t, n) {
|
|
153
|
+
let r = i.orientation === "horizontal", a = r ? "ArrowRight" : "ArrowDown", o = r ? "ArrowLeft" : "ArrowUp";
|
|
154
|
+
switch (e) {
|
|
155
|
+
case a: return z(n, t, 1);
|
|
156
|
+
case o: return z(n, t, -1);
|
|
157
|
+
case "Home": return z(n, n.length - 1, 1);
|
|
158
|
+
case "End": return z(n, 0, -1);
|
|
159
|
+
default: return -1;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
function V(e) {
|
|
163
|
+
let t = N();
|
|
164
|
+
if (!t.length) return;
|
|
165
|
+
let n = I(t, e);
|
|
166
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
167
|
+
L(t[n]), e.preventDefault(), e.stopPropagation();
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
let r = B(e.key, n, t);
|
|
171
|
+
if (r !== -1 && (e.preventDefault(), e.stopPropagation(), t[r].focus(), i.activationMode === "auto")) {
|
|
172
|
+
M.cancel();
|
|
173
|
+
let e = t[r].getAttribute(o);
|
|
174
|
+
R(t[r]) || F(e, { animate: !1 });
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
return (n, r) => (x(), _(E(t), {
|
|
178
|
+
id: e.id,
|
|
179
|
+
ref_key: "container",
|
|
180
|
+
ref: u,
|
|
181
|
+
align: "stretch",
|
|
182
|
+
class: y(h.value),
|
|
183
|
+
direction: m.value,
|
|
184
|
+
role: "radiogroup",
|
|
185
|
+
"aria-label": e.ariaLabel,
|
|
186
|
+
"aria-orientation": e.orientation,
|
|
187
|
+
"data-qa": "dt-segmented-control",
|
|
188
|
+
onKeydown: V
|
|
189
|
+
}, {
|
|
190
|
+
default: k(() => [T(n.$slots, "default")]),
|
|
191
|
+
_: 3
|
|
192
|
+
}, 8, [
|
|
193
|
+
"id",
|
|
194
|
+
"class",
|
|
195
|
+
"direction",
|
|
196
|
+
"aria-label",
|
|
197
|
+
"aria-orientation"
|
|
198
|
+
]));
|
|
199
|
+
}
|
|
200
|
+
});
|
|
201
|
+
//#endregion
|
|
202
|
+
export { A as default };
|
|
203
|
+
|
|
204
|
+
//# sourceMappingURL=segmented-control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"segmented-control.js","names":[],"sources":["../../../components/segmented_control/segmented_control.vue"],"sourcesContent":["<template>\n <dt-stack\n :id=\"id\"\n ref=\"container\"\n align=\"stretch\"\n :class=\"containerClasses\"\n :direction=\"stackDirection\"\n role=\"radiogroup\"\n :aria-label=\"ariaLabel\"\n :aria-orientation=\"orientation\"\n data-qa=\"dt-segmented-control\"\n @keydown=\"handleKeyDown\"\n >\n <!-- @slot DtSegmentedControlItem children -->\n <slot />\n </dt-stack>\n</template>\n\n<script setup>\nimport { ref, computed, reactive, watchEffect, watch, provide, onMounted, nextTick } from 'vue';\nimport { getUniqueString } from '@/common/utils';\nimport { DtStack } from '@/components/stack';\nimport { useIndicatorAnimation } from '@/common/composables/useIndicatorAnimation';\nimport {\n SEGMENTED_CONTROL_SIZES,\n SEGMENTED_CONTROL_SIZE_DEFAULT,\n SEGMENTED_CONTROL_SIZE_MODIFIERS,\n SEGMENTED_CONTROL_ORIENTATIONS,\n SEGMENTED_CONTROL_ORIENTATION_DEFAULT,\n SEGMENTED_CONTROL_ACTIVATION_MODES,\n SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT,\n SEGMENTED_CONTROL_SPREADS,\n SEGMENTED_CONTROL_SPREAD_DEFAULT,\n SEGMENTED_CONTROL_CONTEXT_KEY,\n SEGMENTED_CONTROL_SELECT_KEY,\n SEGMENTED_CONTROL_FOCUS_KEY,\n SEGMENTED_CONTROL_ITEM_SELECTOR,\n SEGMENTED_CONTROL_DATA_VALUE_ATTR,\n} from './segmented_control_constants.js';\n\ndefineOptions({ name: 'DtSegmentedControl' });\n\nconst props = defineProps({\n /**\n * Element ID for the radiogroup container.\n * Auto-generated if not provided.\n */\n id: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The currently selected value (v-model).\n */\n modelValue: {\n type: String,\n required: true,\n },\n\n /**\n * Accessible label for the radiogroup.\n */\n ariaLabel: {\n type: String,\n default: undefined,\n },\n\n /**\n * Orientation of the segmented control.\n * Maps to DtStack direction: horizontal -> row, vertical -> column.\n * @values horizontal, vertical\n */\n orientation: {\n type: String,\n default: SEGMENTED_CONTROL_ORIENTATION_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_ORIENTATIONS.includes(v),\n },\n\n /**\n * DtButton size for all items. Inherited by children via provide.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: SEGMENTED_CONTROL_SIZE_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_SIZES.includes(String(v)),\n },\n\n /**\n * Controls whether items are selected on focus (auto) or on click/Space/Enter (manual).\n * @values auto, manual\n */\n activationMode: {\n type: String,\n default: SEGMENTED_CONTROL_ACTIVATION_MODE_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_ACTIVATION_MODES.includes(v),\n },\n\n /**\n * Disables all items in the group.\n * Per-item disabled is set via the disabled prop on DtSegmentedControlItem.\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Shows the dividers between items.\n */\n showDivider: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Removes the border and padding from the container.\n */\n borderless: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Controls how items distribute space.\n * 'grow' (default): items size to their content.\n * 'evenly': items share space equally.\n * @values grow, evenly\n */\n spread: {\n type: String,\n default: SEGMENTED_CONTROL_SPREAD_DEFAULT,\n validator: (v) => SEGMENTED_CONTROL_SPREADS.includes(v),\n },\n\n /**\n * Default label class for all items. Items can override with their own labelClass prop.\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * If true, the selection indicator animates between items on click.\n * @values true, false\n */\n showIndicatorTransition: {\n type: Boolean,\n default: true,\n },\n});\n\nconst emit = defineEmits([\n /**\n * v-model event. Emitted when the selected value changes.\n * @event update:modelValue\n * @type {String}\n */\n 'update:modelValue',\n\n /**\n * Emitted when the user selects an item (click, Enter, Space, or arrow in auto mode).\n * Not emitted for programmatic modelValue changes.\n * @event change\n * @type {String}\n */\n 'change',\n\n /**\n * Emitted before a selection change. Call event.preventDefault() to cancel the change.\n * @event before-change\n * @type {Event}\n */\n 'before-change',\n]);\n\nconst container = ref(null);\nconst focusedValue = ref(null);\n\nconst stackDirection = computed(() => props.orientation === 'vertical' ? 'column' : 'row');\n\nconst containerClasses = computed(() => [\n 'd-segmented-control',\n SEGMENTED_CONTROL_SIZE_MODIFIERS[String(props.size)],\n !props.showDivider ? 'd-segmented-control--hide-divider' : null,\n props.borderless ? 'd-segmented-control--borderless' : null,\n props.orientation === 'vertical' ? 'd-segmented-control--vertical' : null,\n props.spread === 'evenly' && props.orientation === 'horizontal'\n ? 'd-segmented-control--spread-evenly'\n : null,\n]);\n\n// Reactive context provided to children\nconst groupContext = reactive({\n selected: props.modelValue,\n disabled: props.disabled,\n size: props.size,\n labelClass: props.labelClass,\n});\n\nwatchEffect(() => {\n groupContext.selected = props.modelValue;\n groupContext.disabled = props.disabled;\n groupContext.size = props.size;\n groupContext.labelClass = props.labelClass;\n});\n\nprovide(SEGMENTED_CONTROL_CONTEXT_KEY, groupContext);\nprovide(SEGMENTED_CONTROL_SELECT_KEY, selectValue);\nprovide(SEGMENTED_CONTROL_FOCUS_KEY, setFocus);\n\n// Ensures at least one enabled item is tabbable (WAI-ARIA radiogroup requirement).\n// Items set tabindex based on isSelected && !isDisabled. If the selected item is disabled\n// or modelValue doesn't match any item, no item has tabindex=\"0\". This fallback sets\n// tabindex=\"0\" on the first enabled item so keyboard users can reach the control.\nfunction ensureTabbable () {\n const items = getItems();\n if (!items.length) return;\n const hasTabbable = items.some(el => el.getAttribute('tabindex') === '0');\n if (hasTabbable) return;\n const firstEnabled = items.find(el => !isItemDisabled(el));\n if (firstEnabled) firstEnabled.setAttribute('tabindex', '0');\n}\n\nconst indicator = useIndicatorAnimation(\n container, '--segmented-indicator-duration', '--segmented-indicator-easing',\n);\n\nonMounted(ensureTabbable);\n\nwatch(() => [props.modelValue, props.disabled], ensureTabbable, { flush: 'post' });\n\nfunction getItems () {\n const el = container.value?.$el || container.value;\n return el ? Array.from(el.querySelectorAll(SEGMENTED_CONTROL_ITEM_SELECTOR)) : [];\n}\n\nfunction setFocus (value) {\n focusedValue.value = value;\n}\n\nasync function selectValue (value, { animate: shouldAnimate = true } = {}) {\n if (props.disabled) return;\n if (value === props.modelValue) return;\n const beforeChangeEvent = new Event('before-change', { cancelable: true });\n emit('before-change', beforeChangeEvent);\n if (beforeChangeEvent.defaultPrevented) return;\n\n indicator.cancel();\n const shouldTransition = shouldAnimate && props.showIndicatorTransition;\n const old = shouldTransition ? indicator.snapshot('[aria-checked=\"true\"]') : null;\n\n emit('update:modelValue', value);\n emit('change', value);\n\n if (!old) return;\n\n await nextTick();\n const newEl = (container.value?.$el || container.value)\n ?.querySelector(`[${SEGMENTED_CONTROL_DATA_VALUE_ATTR}=\"${CSS.escape(value)}\"]`);\n if (!newEl) return;\n\n indicator.animate({\n oldRect: old.rect,\n newEl,\n orientation: props.orientation,\n hideProps: { backgroundColor: 'transparent' },\n indicatorExtra: { backgroundColor: old.style.backgroundColor },\n pseudoElement: '::after',\n });\n}\n\nfunction getFocusedIndex (items, event) {\n // First check event.target — the element that actually has focus\n if (event) {\n const target = event.target.closest(SEGMENTED_CONTROL_ITEM_SELECTOR);\n if (target) {\n const targetIdx = items.indexOf(target);\n if (targetIdx !== -1) return targetIdx;\n }\n }\n // Fall back to tracked focusedValue, then aria-checked\n const idx = items.findIndex(el => {\n const value = el.getAttribute(SEGMENTED_CONTROL_DATA_VALUE_ATTR);\n return focusedValue.value ? value === focusedValue.value : el.getAttribute('aria-checked') === 'true';\n });\n return idx === -1 ? 0 : idx;\n}\n\nfunction activateItem (item) {\n if (isItemDisabled(item)) return;\n selectValue(item.getAttribute(SEGMENTED_CONTROL_DATA_VALUE_ATTR));\n}\n\nfunction isItemDisabled (item) {\n return item.getAttribute('aria-disabled') === 'true';\n}\n\nfunction findNextEnabled (items, fromIndex, direction) {\n const len = items.length;\n for (let i = 1; i <= len; i++) {\n const index = (fromIndex + i * direction + len) % len;\n if (!isItemDisabled(items[index])) return index;\n }\n return fromIndex;\n}\n\nfunction getNavigationIndex (key, currentIndex, items) {\n const isHorizontal = props.orientation === 'horizontal';\n const nextKey = isHorizontal ? 'ArrowRight' : 'ArrowDown';\n const prevKey = isHorizontal ? 'ArrowLeft' : 'ArrowUp';\n\n switch (key) {\n case nextKey: return findNextEnabled(items, currentIndex, 1);\n case prevKey: return findNextEnabled(items, currentIndex, -1);\n case 'Home': return findNextEnabled(items, items.length - 1, 1);\n case 'End': return findNextEnabled(items, 0, -1);\n default: return -1;\n }\n}\n\nfunction handleKeyDown (event) {\n const items = getItems();\n if (!items.length) return;\n\n const focusedIndex = getFocusedIndex(items, event);\n\n if (event.key === 'Enter' || event.key === ' ') {\n activateItem(items[focusedIndex]);\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n\n const newIndex = getNavigationIndex(event.key, focusedIndex, items);\n if (newIndex === -1) return;\n\n event.preventDefault();\n event.stopPropagation();\n items[newIndex].focus();\n\n if (props.activationMode === 'auto') {\n indicator.cancel();\n const value = items[newIndex].getAttribute(SEGMENTED_CONTROL_DATA_VALUE_ATTR);\n if (!isItemDisabled(items[newIndex])) {\n selectValue(value, { animate: false });\n }\n }\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e={xs:`d-select--xs`,sm:`d-select--sm`,md:``,lg:`d-select--lg`,xl:`d-select--xl`},t={
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var e={100:`d-select--xs`,200:`d-select--sm`,300:``,400:`d-select--lg`,500:`d-select--xl`,xs:`d-select--xs`,sm:`d-select--sm`,md:``,lg:`d-select--lg`,xl:`d-select--xl`},t={critical:`d-select__input--critical`,warning:`d-select__input--warning`,positive:`d-select__input--positive`},n={SELECT_SIZE_MODIFIERS:e,SELECT_STATE_MODIFIERS:t};exports.SELECT_SIZE_MODIFIERS=e,exports.SELECT_STATE_MODIFIERS=t,exports.default=n;
|
|
2
2
|
//# sourceMappingURL=select-menu-constants.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-menu-constants.cjs","names":[],"sources":["../../../components/select_menu/select_menu_constants.js"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n
|
|
1
|
+
{"version":3,"file":"select-menu-constants.cjs","names":[],"sources":["../../../components/select_menu/select_menu_constants.js"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n // Numeric (preferred)\n 100: 'd-select--xs',\n 200: 'd-select--sm',\n 300: '',\n 400: 'd-select--lg',\n 500: 'd-select--xl',\n // T-shirt aliases (deprecated)\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n critical: 'd-select__input--critical',\n warning: 'd-select__input--warning',\n positive: 'd-select__input--positive',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n"],"mappings":"+FAAA,IAAa,EAAwB,CAEnC,IAAK,eACL,IAAK,eACL,IAAK,GACL,IAAK,eACL,IAAK,eAEL,GAAI,eACJ,GAAI,eACJ,GAAI,GACJ,GAAI,eACJ,GAAI,eACL,CAEY,EAAyB,CACpC,SAAU,4BACV,QAAS,2BACT,SAAU,4BACX,CAED,EAAe,CACb,wBACA,yBACD"}
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
//#region components/select_menu/select_menu_constants.js
|
|
2
2
|
var e = {
|
|
3
|
+
100: "d-select--xs",
|
|
4
|
+
200: "d-select--sm",
|
|
5
|
+
300: "",
|
|
6
|
+
400: "d-select--lg",
|
|
7
|
+
500: "d-select--xl",
|
|
3
8
|
xs: "d-select--xs",
|
|
4
9
|
sm: "d-select--sm",
|
|
5
10
|
md: "",
|
|
6
11
|
lg: "d-select--lg",
|
|
7
12
|
xl: "d-select--xl"
|
|
8
13
|
}, t = {
|
|
9
|
-
|
|
14
|
+
critical: "d-select__input--critical",
|
|
10
15
|
warning: "d-select__input--warning",
|
|
11
|
-
|
|
16
|
+
positive: "d-select__input--positive"
|
|
12
17
|
}, n = {
|
|
13
18
|
SELECT_SIZE_MODIFIERS: e,
|
|
14
19
|
SELECT_STATE_MODIFIERS: t
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-menu-constants.js","names":[],"sources":["../../../components/select_menu/select_menu_constants.js"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n
|
|
1
|
+
{"version":3,"file":"select-menu-constants.js","names":[],"sources":["../../../components/select_menu/select_menu_constants.js"],"sourcesContent":["export const SELECT_SIZE_MODIFIERS = {\n // Numeric (preferred)\n 100: 'd-select--xs',\n 200: 'd-select--sm',\n 300: '',\n 400: 'd-select--lg',\n 500: 'd-select--xl',\n // T-shirt aliases (deprecated)\n xs: 'd-select--xs',\n sm: 'd-select--sm',\n md: '',\n lg: 'd-select--lg',\n xl: 'd-select--xl',\n};\n\nexport const SELECT_STATE_MODIFIERS = {\n critical: 'd-select__input--critical',\n warning: 'd-select__input--warning',\n positive: 'd-select__input--positive',\n};\n\nexport default {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n};\n"],"mappings":";AAAA,IAAa,IAAwB;CAEnC,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CAEL,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACL,EAEY,IAAyB;CACpC,UAAU;CACV,SAAS;CACT,UAAU;CACX,EAED,IAAe;CACb;CACA;CACD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}}),require(`../../chunk-Bmb41Sf3.cjs`);const e=require(`../../common/utils/index.cjs`),t=require(`../../common/mixins/input.cjs`),n=require(`../../_plugin-vue_export-helper-D8jCH6HB.cjs`),r=require(`../validation-messages/validation-messages.cjs`),i=require(`../text/text-constants.cjs`),a=require(`../text/text.cjs`),o=require(`./select-menu-constants.cjs`),s=require(`./select-menu-validators.cjs`);let c=require(`vue`);var l={compatConfig:{MODE:3},name:`DtSelectMenu`,components:{DtValidationMessages:r.default,DtText:a.default},mixins:[t.MessagesMixin],inheritAttrs:!1,props:{label:{type:String,default:``},showLabel:{type:Boolean,default:!0},description:{type:String,default:``},options:{type:Array,default:()=>[],validator:e=>s.optionsValidator(e)},size:{type:[String,Number],default:300,validator:e=>Object.keys(o.SELECT_SIZE_MODIFIERS).includes(String(e))},labelClass:{type:[String,Array,Object],default:``},descriptionClass:{type:[String,Array,Object],default:``},selectClass:{type:[String,Array,Object],default:``},optionClass:{type:[String,Array,Object],default:``},labelChildProps:{type:Object,default:()=>({})},descriptionChildProps:{type:Object,default:()=>({})},optionChildProps:{type:Object,default:()=>({})},disabled:{type:Boolean,default:!1},modelValue:{type:[String,Number],default:``},labelSize:{type:[String,Number],default:null,validator:e=>i.TEXT_SIZE_MODIFIERS.label.includes(String(e))},labelStrength:{type:String,default:null,validator:e=>Object.keys(i.TEXT_STRENGTH_MODIFIERS).includes(e)}},emits:[`input`,`update:modelValue`,`change`],data(){return{SELECT_SIZE_MODIFIERS:o.SELECT_SIZE_MODIFIERS,SELECT_STATE_MODIFIERS:o.SELECT_STATE_MODIFIERS,hasSlotContent:e.hasSlotContent}},computed:{resolvedLabelSize(){if(this.labelSize!=null)return this.labelSize;let e=String(this.size);return e===`xl`||e===`500`?e===`500`?`400`:`lg`:this.size},resolvedDescriptionSize(){return{100:`xs`,200:`xs`,300:`sm`,400:`sm`,500:`md`,xs:`xs`,sm:`xs`,md:`sm`,lg:`sm`,xl:`md`}[String(this.size)]||`sm`},resolvedDescriptionDensity(){let e=String(this.size);return e===`xl`||e===`500`?`300`:void 0},selectListeners(){return{input:()=>{},change:e=>this.emitValue(e.target.value,e)}},state(){return e.getValidationState(this.formattedMessages)},selectKey(){return e.getUniqueString()},descriptionKey(){return`select-${this.selectKey}-description`},labelAriaDetails(){return this.$slots.description||this.description?this.descriptionKey:this.$attrs[`aria-details`]}},mounted(){this.validateOptionsPresence(),this.runValidations()},beforeUpdate(){this.validateOptionsPresence()},methods:{removeClassStyleAttrs:e.removeClassStyleAttrs,emitValue(e,t){this.$emit(`update:modelValue`,e,t),this.$emit(`input`,e,t),this.$emit(`change`,e,t)},getOptionKey(e){return`select-${this.selectKey}-option-${e}`},validateOptionsPresence(){this.options?.length<1&&!this.$slots.default&&(0,c.warn)(`Options are expected to be provided via prop or slot`,this)},runValidations(){!(this.$slots.label||this.label)&&!this.$attrs[`aria-label`]&&console.info(`[Dialtone] A label is required for accessibility. Provide a label prop and use show-label="false" to hide it visually.`)}}},u=[`aria-label`,`disabled`,`value`],d=[`value`];function f(e,t,n,r,i,a){let o=(0,c.resolveComponent)(`dt-text`),s=(0,c.resolveComponent)(`dt-validation-messages`);return(0,c.openBlock)(),(0,c.createElementBlock)(`div`,{class:(0,c.normalizeClass)(e.$attrs.class),style:(0,c.normalizeStyle)(e.$attrs.style)},[(0,c.createElementVNode)(`label`,null,[n.showLabel&&(i.hasSlotContent(e.$slots.label)||n.label)?((0,c.openBlock)(),(0,c.createBlock)(o,(0,c.mergeProps)({key:0,kind:`label`,size:a.resolvedLabelSize,strength:n.labelStrength,tone:`secondary`,as:`div`,"aria-details":a.labelAriaDetails,class:[`d-select__label-text`,n.labelClass]},n.labelChildProps,{"data-qa":`dt-select-label`}),{default:(0,c.withCtx)(()=>[(0,c.renderSlot)(e.$slots,`label`,{},()=>[(0,c.createTextVNode)((0,c.toDisplayString)(n.label),1)])]),_:3},16,[`size`,`strength`,`aria-details`,`class`])):(0,c.createCommentVNode)(``,!0),i.hasSlotContent(e.$slots.description)||n.description?((0,c.openBlock)(),(0,c.createBlock)(o,(0,c.mergeProps)({key:1,id:a.descriptionKey,kind:`body`,size:a.resolvedDescriptionSize,tone:`tertiary`,density:a.resolvedDescriptionDensity,as:`div`,class:[`d-description`,n.descriptionClass]},n.descriptionChildProps,{"data-qa":`dt-select-description`}),{default:(0,c.withCtx)(()=>[(0,c.renderSlot)(e.$slots,`description`,{},()=>[(0,c.createTextVNode)((0,c.toDisplayString)(n.description),1)])]),_:3},16,[`id`,`size`,`density`,`class`])):(0,c.createCommentVNode)(``,!0),(0,c.createElementVNode)(`div`,{class:(0,c.normalizeClass)([`d-select`,i.SELECT_SIZE_MODIFIERS[String(n.size)],n.selectClass,{"d-select--disabled":n.disabled}]),"data-qa":`dt-select-wrapper`},[(0,c.createElementVNode)(`select`,(0,c.mergeProps)({ref:`selectElement`,class:[`d-select__input`,i.SELECT_STATE_MODIFIERS[a.state]],"aria-label":!n.showLabel&&n.label?n.label:void 0},a.removeClassStyleAttrs(e.$attrs),{"data-qa":`dt-select`,disabled:n.disabled,value:n.modelValue},(0,c.toHandlers)(a.selectListeners,!0)),[(0,c.renderSlot)(e.$slots,`default`,{},()=>[((0,c.openBlock)(!0),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(n.options,e=>((0,c.openBlock)(),(0,c.createElementBlock)(`option`,(0,c.mergeProps)({key:a.getOptionKey(e.value),value:e.value,class:n.optionClass},{ref_for:!0},n.optionChildProps),(0,c.toDisplayString)(e.label),17,d))),128))])],16,u)],2)]),(0,c.createVNode)(s,(0,c.mergeProps)({"validation-messages":e.formattedMessages,"show-messages":e.showMessages,class:e.messagesClass},e.messagesChildProps,{"data-qa":`dt-select-messages`}),null,16,[`validation-messages`,`show-messages`,`class`])],6)}var p=n.t(l,[[`render`,f]]);exports.default=p;
|
|
2
2
|
//# sourceMappingURL=select-menu.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-menu.cjs","names":[],"sources":["../../../components/select_menu/select_menu.vue"],"sourcesContent":["<template>\n <div\n :class=\"rootClass\"\n v-bind=\"addClassStyleAttrs($attrs)\"\n >\n <label>\n <div\n v-if=\"hasSlotContent($slots.label) || label\"\n :aria-details=\"labelAriaDetails\"\n :class=\"[\n 'd-label',\n LABEL_SIZE_MODIFIERS[size],\n labelClass,\n ]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </div>\n <div\n v-if=\"hasSlotContent($slots.description) || description\"\n :id=\"descriptionKey\"\n :class=\"[\n 'd-description',\n DESCRIPTION_SIZE_MODIFIERS[size],\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </div>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[size],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n :value=\"modelValue\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport { warn } from 'vue';\nimport {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n} from '@/common/constants';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n hasSlotContent,\n removeClassStyleAttrs,\n addClassStyleAttrs,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Description for the select\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Controls the size of the select\n * @values xs, sm, md, lg, xl\n */\n size: {\n type: String,\n default: 'md',\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(s),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Additional class name for the root element.\n * Can accept all of: String, Object, and Array, i.e. has the\n * same api as Vue's built-in handling of the class attribute.\n */\n rootClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * The value of the select menu\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Event fired to sync the modelValue prop with the parent component\n *\n * @event input\n * @type {String | Number}\n */\n 'update:modelValue',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n LABEL_SIZE_MODIFIERS,\n DESCRIPTION_SIZE_MODIFIERS,\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n hasSlotContent,\n };\n },\n\n computed: {\n selectListeners () {\n return {\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the handler being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n removeClassStyleAttrs,\n addClassStyleAttrs,\n emitValue (value, event) {\n this.$emit('update:modelValue', value, event);\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n warn('Options are expected to be provided via prop or slot', this);\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select-menu.cjs","names":[],"sources":["../../../components/select_menu/select_menu.vue"],"sourcesContent":["<template>\n <div\n :class=\"$attrs.class\"\n :style=\"$attrs.style\"\n >\n <label>\n <dt-text\n v-if=\"showLabel && (hasSlotContent($slots.label) || label)\"\n kind=\"label\"\n :size=\"resolvedLabelSize\"\n :strength=\"labelStrength\"\n tone=\"secondary\"\n as=\"div\"\n :aria-details=\"labelAriaDetails\"\n :class=\"['d-select__label-text', labelClass]\"\n v-bind=\"labelChildProps\"\n data-qa=\"dt-select-label\"\n >\n <!-- @slot Slot for label, defaults to label prop -->\n <slot name=\"label\">{{ label }}</slot>\n </dt-text>\n <dt-text\n v-if=\"hasSlotContent($slots.description) || description\"\n :id=\"descriptionKey\"\n kind=\"body\"\n :size=\"resolvedDescriptionSize\"\n tone=\"tertiary\"\n :density=\"resolvedDescriptionDensity\"\n as=\"div\"\n :class=\"[\n 'd-description',\n descriptionClass,\n ]\"\n v-bind=\"descriptionChildProps\"\n data-qa=\"dt-select-description\"\n >\n <!-- @slot Slot for description, defaults to description prop -->\n <slot name=\"description\">{{ description }}</slot>\n </dt-text>\n <div\n :class=\"[\n 'd-select',\n SELECT_SIZE_MODIFIERS[String(size)],\n selectClass,\n { 'd-select--disabled': disabled },\n ]\"\n data-qa=\"dt-select-wrapper\"\n >\n <select\n ref=\"selectElement\"\n :class=\"[\n 'd-select__input',\n SELECT_STATE_MODIFIERS[state],\n ]\"\n :aria-label=\"!showLabel && label ? label : undefined\"\n v-bind=\"removeClassStyleAttrs($attrs)\"\n data-qa=\"dt-select\"\n :disabled=\"disabled\"\n :value=\"modelValue\"\n v-on=\"selectListeners\"\n >\n <!-- @slot Slot for select menu options, defaults to options prop -->\n <slot>\n <option\n v-for=\"option in options\"\n :key=\"getOptionKey(option.value)\"\n :value=\"option.value\"\n :class=\"optionClass\"\n v-bind=\"optionChildProps\"\n >\n {{ option.label }}\n </option>\n </slot>\n </select>\n </div>\n </label>\n <dt-validation-messages\n :validation-messages=\"formattedMessages\"\n :show-messages=\"showMessages\"\n :class=\"messagesClass\"\n v-bind=\"messagesChildProps\"\n data-qa=\"dt-select-messages\"\n />\n </div>\n</template>\n\n<script>\nimport { warn } from 'vue';\nimport { DtText, TEXT_SIZE_MODIFIERS, TEXT_STRENGTH_MODIFIERS } from '@/components/text';\nimport {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n} from './select_menu_constants';\nimport {\n getUniqueString,\n getValidationState,\n hasSlotContent,\n removeClassStyleAttrs,\n} from '@/common/utils';\nimport { MessagesMixin } from '@/common/mixins/input';\nimport { optionsValidator } from './select_menu_validators.js';\nimport { DtValidationMessages } from '../validation_messages';\n\n/**\n * A select menu is an input control that allows users to choose one option from a list.\n * @property {Boolean} disabled attribute\n * @property {String} name attribute\n * @property {String} value attribute\n * @see https://dialtone.dialpad.com/components/select.html\n */\nexport default {\n compatConfig: { MODE: 3 },\n name: 'DtSelectMenu',\n\n components: { DtValidationMessages, DtText },\n\n mixins: [MessagesMixin],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Label for the select.\n * Can also be overridden with a slot of the same name.\n */\n label: {\n type: String,\n default: '',\n },\n\n /**\n * Determines visibility of select label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Description for the select.\n * Can also be overridden with a slot of the same name.\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Select Menu Options, overridden by default slot. Each option has the following structure:\n * `{ value: number || string (required), label: string (required) }`\n * @param {Object[]} options - Optional - A list that can be used to create a list of select menu options\n * @param {number|string} options[].value - Required - The option value\n * @param {string} options[].label - Required - The option Label\n */\n options: {\n type: Array,\n default: () => [],\n validator: options => optionsValidator(options),\n },\n\n /**\n * Controls the size of the select\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: 300,\n validator: (s) => Object.keys(SELECT_SIZE_MODIFIERS).includes(String(s)),\n },\n\n /**\n * Used to customize the label container\n */\n labelClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the description container\n */\n descriptionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize the select\n */\n selectClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Used to customize each option, should options be provided via prop\n */\n optionClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * A set of props that are passed into the label container\n */\n labelChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into the description container\n */\n descriptionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * A set of props that are passed into each option, should options be provided via prop\n */\n optionChildProps: {\n type: Object,\n default: () => ({}),\n },\n\n /**\n * Disabled state of the select\n * @values true, false\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n\n /**\n * The value of the select menu\n */\n modelValue: {\n type: [String, Number],\n default: '',\n },\n\n /**\n * Overrides the label text size. When not provided, the label size\n * is derived from the component size prop.\n * @values 100, 200, 300, 400\n */\n labelSize: {\n type: [String, Number],\n default: null,\n validator: (s) => TEXT_SIZE_MODIFIERS.label.includes(String(s)),\n },\n\n /**\n * Overrides the label font weight.\n * @values bold, semibold, medium, normal\n */\n labelStrength: {\n type: String,\n default: null,\n validator: (s) => Object.keys(TEXT_STRENGTH_MODIFIERS).includes(s),\n },\n },\n\n emits: [\n /**\n * Native input event\n *\n * @event input\n * @type {String | Number}\n */\n 'input',\n\n /**\n * Event fired to sync the modelValue prop with the parent component\n *\n * @event input\n * @type {String | Number}\n */\n 'update:modelValue',\n\n /**\n * Native change event\n *\n * @event change\n * @type {String | Number}\n */\n 'change',\n ],\n\n data () {\n return {\n SELECT_SIZE_MODIFIERS,\n SELECT_STATE_MODIFIERS,\n hasSlotContent,\n };\n },\n\n computed: {\n resolvedLabelSize () {\n if (this.labelSize != null) return this.labelSize;\n const sizeStr = String(this.size);\n // xl/500 exceeds label's max size — cap at lg/400\n if (sizeStr === 'xl' || sizeStr === '500') return sizeStr === '500' ? '400' : 'lg';\n return this.size;\n },\n\n resolvedDescriptionSize () {\n const map = {\n 100: 'xs', 200: 'xs', 300: 'sm', 400: 'sm', 500: 'md',\n xs: 'xs', sm: 'xs', md: 'sm', lg: 'sm', xl: 'md',\n };\n return map[String(this.size)] || 'sm';\n },\n\n resolvedDescriptionDensity () {\n const sizeStr = String(this.size);\n return (sizeStr === 'xl' || sizeStr === '500') ? '300' : undefined;\n },\n\n selectListeners () {\n return {\n /*\n * Override input listener to as no-op. Prevents parent input listeners from being passed through onto the input\n * element which will result in the handler being called twice (once on the select element and once by the\n * emitted input event by the change listener).\n */\n input: () => {},\n change: event => this.emitValue(event.target.value, event),\n };\n },\n\n state () {\n return getValidationState(this.formattedMessages);\n },\n\n selectKey () {\n return getUniqueString();\n },\n\n descriptionKey () {\n return `select-${this.selectKey}-description`;\n },\n\n labelAriaDetails () {\n if (this.$slots.description || this.description) {\n return this.descriptionKey;\n }\n\n return this.$attrs['aria-details'];\n },\n },\n\n mounted () {\n this.validateOptionsPresence();\n this.runValidations();\n },\n\n beforeUpdate () {\n this.validateOptionsPresence();\n },\n\n methods: {\n removeClassStyleAttrs,\n emitValue (value, event) {\n this.$emit('update:modelValue', value, event);\n this.$emit('input', value, event);\n this.$emit('change', value, event);\n },\n\n getOptionKey (value) {\n return `select-${this.selectKey}-option-${value}`;\n },\n\n validateOptionsPresence () {\n if (this.options?.length < 1 && !this.$slots.default) {\n warn('Options are expected to be provided via prop or slot', this);\n }\n },\n\n runValidations () {\n const hasLabel = !!(this.$slots.label || this.label);\n if (!hasLabel && !this.$attrs['aria-label']) {\n console.info(\n '[Dialtone] A label is required for accessibility. Provide a label prop and use show-label=\"false\" to hide it visually.',\n );\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|