@dialpad/dialtone-vue 3.223.0-next.3 → 3.223.0-next.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Combobox-CYEmi3dv.cjs +3 -0
- package/dist/Combobox-CYEmi3dv.cjs.map +1 -0
- package/dist/{Combobox-By01ETlj.js → Combobox-D8nQeBIf.js} +33 -32
- package/dist/Combobox-D8nQeBIf.js.map +1 -0
- package/dist/TextList-B6XFfQfD.js +88 -0
- package/dist/TextList-B6XFfQfD.js.map +1 -0
- package/dist/TextList-Dd-ROFiI.cjs +2 -0
- package/dist/TextList-Dd-ROFiI.cjs.map +1 -0
- package/dist/TextListItem-DIlrCkaM.cjs +2 -0
- package/dist/TextListItem-DIlrCkaM.cjs.map +1 -0
- package/dist/TextListItem-ImUi_FWh.js +62 -0
- package/dist/TextListItem-ImUi_FWh.js.map +1 -0
- package/dist/{Toast-CHbVmbBg.js → Toast-BIHkIpZP.js} +95 -94
- package/dist/Toast-BIHkIpZP.js.map +1 -0
- package/dist/Toast-D8ARDEgT.cjs +2 -0
- package/dist/Toast-D8ARDEgT.cjs.map +1 -0
- package/dist/{attachment_carousel-BFIAXWOZ.js → attachment_carousel-CyiexPBk.js} +1 -1
- package/dist/{attachment_carousel-BFIAXWOZ.js.map → attachment_carousel-CyiexPBk.js.map} +1 -1
- package/dist/{attachment_carousel-BJxqNJ5T.cjs → attachment_carousel-DJqILY7f.cjs} +1 -1
- package/dist/{attachment_carousel-BJxqNJ5T.cjs.map → attachment_carousel-DJqILY7f.cjs.map} +1 -1
- package/dist/common/mixins/input.d.ts +4 -4
- package/dist/common/mixins/input_group.d.ts +2 -2
- package/dist/common/sr_only_close_button.vue.d.ts +30 -30
- package/dist/common/sr_only_close_button.vue.d.ts.map +1 -1
- package/dist/common/validators/index.cjs +1 -1
- package/dist/common/validators/index.cjs.map +1 -1
- package/dist/common/validators/index.d.ts +2 -0
- package/dist/common/validators/index.d.ts.map +1 -1
- package/dist/common/validators/index.js +9 -2
- package/dist/common/validators/index.js.map +1 -1
- package/dist/component-documentation.json +1 -1
- package/dist/components/Avatar/Avatar.vue.d.ts +10 -10
- package/dist/components/Avatar/Avatar.vue.d.ts.map +1 -1
- package/dist/components/Badge/Badge.vue.d.ts +13 -13
- package/dist/components/Banner/Banner.vue.d.ts +106 -106
- package/dist/components/Banner/Banner.vue.d.ts.map +1 -1
- package/dist/components/Box/Box.vue.d.ts +18 -0
- package/dist/components/Box/Box.vue.d.ts.map +1 -1
- package/dist/components/Box/BoxConstants.d.ts +4 -0
- package/dist/components/Box/BoxConstants.d.ts.map +1 -1
- package/dist/components/Box/Validators.d.ts +4 -0
- package/dist/components/Box/Validators.d.ts.map +1 -1
- package/dist/components/Box/index.d.ts +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbItem.vue.d.ts +1 -0
- package/dist/components/Breadcrumbs/BreadcrumbItem.vue.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.vue.d.ts +3 -2
- package/dist/components/Button/Button.vue.d.ts +25 -25
- package/dist/components/Button/Button.vue.d.ts.map +1 -1
- package/dist/components/Card/Card.vue.d.ts +6 -6
- package/dist/components/Checkbox/Checkbox.vue.d.ts +26 -26
- package/dist/components/Checkbox/Checkbox.vue.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts +46 -46
- package/dist/components/CheckboxGroup/CheckboxGroup.vue.d.ts.map +1 -1
- package/dist/components/Chip/Chip.vue.d.ts +40 -40
- package/dist/components/Chip/Chip.vue.d.ts.map +1 -1
- package/dist/components/Codeblock/Codeblock.vue.d.ts +2 -2
- package/dist/components/Collapsible/Collapsible.vue.d.ts +39 -39
- package/dist/components/Collapsible/Collapsible.vue.d.ts.map +1 -1
- package/dist/components/Combobox/Combobox.vue.d.ts +66 -66
- package/dist/components/Combobox/Combobox.vue.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxEmptyList.vue.d.ts +29 -29
- package/dist/components/Combobox/ComboboxEmptyList.vue.d.ts.map +1 -1
- package/dist/components/Combobox/ComboboxLoadingList.vue.d.ts +35 -35
- package/dist/components/Combobox/ComboboxLoadingList.vue.d.ts.map +1 -1
- package/dist/components/ComboboxWithPopover/ComboboxWithPopover.vue.d.ts +216 -216
- package/dist/components/ComboboxWithPopover/ComboboxWithPopover.vue.d.ts.map +1 -1
- package/dist/components/DescriptionList/DescriptionList.vue.d.ts +4 -4
- package/dist/components/Dropdown/Dropdown.vue.d.ts +82 -82
- package/dist/components/Dropdown/Dropdown.vue.d.ts.map +1 -1
- package/dist/components/Emoji/Emoji.vue.d.ts +17 -17
- package/dist/components/EmojiPicker/EmojiPicker.vue.d.ts +37 -37
- package/dist/components/EmojiPicker/EmojiPicker.vue.d.ts.map +1 -1
- package/dist/components/EmojiPicker/Modules/EmojiSearch.vue.d.ts +37 -37
- package/dist/components/EmojiPicker/Modules/EmojiSearch.vue.d.ts.map +1 -1
- package/dist/components/EmojiTextWrapper/EmojiTextWrapper.vue.d.ts +24 -24
- package/dist/components/EmojiTextWrapper/EmojiTextWrapper.vue.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.vue.d.ts.map +1 -1
- package/dist/components/FilterPill/FilterPill.vue.d.ts +308 -308
- package/dist/components/FilterPill/FilterPill.vue.d.ts.map +1 -1
- package/dist/components/Hovercard/Hovercard.vue.d.ts +156 -156
- package/dist/components/Hovercard/Hovercard.vue.d.ts.map +1 -1
- package/dist/components/Icon/Icon.vue.d.ts +7 -7
- package/dist/components/ImageViewer/ImageViewer.vue.d.ts +60 -60
- package/dist/components/ImageViewer/ImageViewer.vue.d.ts.map +1 -1
- package/dist/components/Input/Input.vue.d.ts +37 -37
- package/dist/components/Input/Input.vue.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroup.vue.d.ts +46 -46
- package/dist/components/InputGroup/InputGroup.vue.d.ts.map +1 -1
- package/dist/components/ItemLayout/ItemLayout.vue.d.ts +20 -20
- package/dist/components/KeyboardShortcut/KeyboardShortcut.vue.d.ts +80 -80
- package/dist/components/KeyboardShortcut/KeyboardShortcut.vue.d.ts.map +1 -1
- package/dist/components/Link/Link.vue.d.ts +1 -0
- package/dist/components/Link/LinkConstants.d.ts +3 -0
- package/dist/components/Link/LinkConstants.d.ts.map +1 -1
- package/dist/components/ListItem/ListItem.vue.d.ts +27 -27
- package/dist/components/ListItem/ListItem.vue.d.ts.map +1 -1
- package/dist/components/ListItemGroup/ListItemGroup.vue.d.ts +4 -4
- package/dist/components/Loader/Loader.vue.d.ts +7 -7
- package/dist/components/Modal/Modal.vue.d.ts +79 -85
- package/dist/components/Modal/Modal.vue.d.ts.map +1 -1
- package/dist/components/Modal/ModalConstants.d.ts +0 -5
- package/dist/components/Modal/index.d.ts +1 -1
- package/dist/components/Notice/Notice.vue.d.ts +106 -106
- package/dist/components/Notice/Notice.vue.d.ts.map +1 -1
- package/dist/components/Notice/NoticeAction.vue.d.ts +62 -62
- package/dist/components/Notice/NoticeAction.vue.d.ts.map +1 -1
- package/dist/components/Notice/NoticeContent.vue.d.ts +4 -4
- package/dist/components/Notice/NoticeIcon.vue.d.ts +32 -32
- package/dist/components/Notice/NoticeIcon.vue.d.ts.map +1 -1
- package/dist/components/Pagination/Pagination.vue.d.ts +40 -40
- package/dist/components/Pagination/Pagination.vue.d.ts.map +1 -1
- package/dist/components/Popover/Popover.vue.d.ts +78 -78
- package/dist/components/Popover/Popover.vue.d.ts.map +1 -1
- package/dist/components/Popover/PopoverHeaderFooter.vue.d.ts +34 -34
- package/dist/components/Popover/PopoverHeaderFooter.vue.d.ts.map +1 -1
- package/dist/components/ProgressCircle/ProgressCircle.vue.d.ts +7 -7
- package/dist/components/Prose/Prose.vue.d.ts.map +1 -1
- package/dist/components/Radio/Radio.vue.d.ts +26 -26
- package/dist/components/Radio/Radio.vue.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.vue.d.ts +46 -46
- package/dist/components/RadioGroup/RadioGroup.vue.d.ts.map +1 -1
- package/dist/components/RichTextEditor/Extensions/Channels/ChannelComponent.vue.d.ts +6 -5
- package/dist/components/RichTextEditor/Extensions/Channels/ChannelComponent.vue.d.ts.map +1 -1
- package/dist/components/RichTextEditor/Extensions/Channels/ChannelSuggestion.vue.d.ts +10 -10
- package/dist/components/RichTextEditor/Extensions/Channels/ChannelSuggestion.vue.d.ts.map +1 -1
- package/dist/components/RichTextEditor/Extensions/Emoji/EmojiComponent.vue.d.ts +17 -17
- package/dist/components/RichTextEditor/Extensions/Emoji/EmojiSuggestion.vue.d.ts +17 -17
- package/dist/components/RichTextEditor/Extensions/Mentions/MentionComponent.vue.d.ts +1 -0
- package/dist/components/RichTextEditor/Extensions/Mentions/MentionSuggestion.vue.d.ts +10 -10
- package/dist/components/RichTextEditor/Extensions/Suggestion/SuggestionList.vue.d.ts +27 -27
- package/dist/components/RichTextEditor/Extensions/Suggestion/SuggestionList.vue.d.ts.map +1 -1
- package/dist/components/RichTextEditor/Extensions/Variable/VariableComponent.vue.d.ts +153 -153
- package/dist/components/RichTextEditor/Extensions/Variable/VariableComponent.vue.d.ts.map +1 -1
- package/dist/components/RootLayout/RootLayout.vue.d.ts +10 -10
- package/dist/components/SegmentedControl/SegmentedControl.vue.d.ts.map +1 -1
- package/dist/components/SelectMenu/SelectMenu.vue.d.ts +33 -33
- package/dist/components/SelectMenu/SelectMenu.vue.d.ts.map +1 -1
- package/dist/components/Skeleton/Skeleton.vue.d.ts +8 -8
- package/dist/components/Skeleton/SkeletonListItem.vue.d.ts +4 -4
- package/dist/components/Skeleton/SkeletonParagraph.vue.d.ts +2 -2
- package/dist/components/Skeleton/SkeletonShape.vue.d.ts +2 -2
- package/dist/components/SplitButton/SplitButton.vue.d.ts +157 -157
- package/dist/components/SplitButton/SplitButton.vue.d.ts.map +1 -1
- package/dist/components/SplitButton/SplitButtonEnd.vue.d.ts +30 -30
- package/dist/components/SplitButton/SplitButtonEnd.vue.d.ts.map +1 -1
- package/dist/components/SplitButton/SplitButtonStart.vue.d.ts +31 -31
- package/dist/components/Tab/Tab.vue.d.ts +33 -33
- package/dist/components/Tab/TabGroup.vue.d.ts +6 -6
- package/dist/components/Tab/TabPanel.vue.d.ts +2 -2
- package/dist/components/TextList/TextList.vue.d.ts +87 -0
- package/dist/components/TextList/TextList.vue.d.ts.map +1 -0
- package/dist/components/TextList/TextListConstants.d.ts +20 -0
- package/dist/components/TextList/TextListConstants.d.ts.map +1 -0
- package/dist/components/TextList/TextListItem.vue.d.ts +60 -0
- package/dist/components/TextList/TextListItem.vue.d.ts.map +1 -0
- package/dist/components/TextList/Validators.d.ts +5 -0
- package/dist/components/TextList/Validators.d.ts.map +1 -0
- package/dist/components/TextList/index.d.ts +4 -0
- package/dist/components/TextList/index.d.ts.map +1 -0
- package/dist/components/Toast/Layouts/ToastLayoutAlternate.vue.d.ts +108 -108
- package/dist/components/Toast/Layouts/ToastLayoutAlternate.vue.d.ts.map +1 -1
- package/dist/components/Toast/Layouts/ToastLayoutAlternateIcon.vue.d.ts +34 -34
- package/dist/components/Toast/Layouts/ToastLayoutAlternateIcon.vue.d.ts.map +1 -1
- package/dist/components/Toast/Layouts/ToastLayoutDefault.vue.d.ts +106 -106
- package/dist/components/Toast/Layouts/ToastLayoutDefault.vue.d.ts.map +1 -1
- package/dist/components/Toast/Toast.vue.d.ts +436 -436
- package/dist/components/Toast/Toast.vue.d.ts.map +1 -1
- package/dist/components/Toggle/Toggle.vue.d.ts +4 -4
- package/dist/components/Toggle/Toggle.vue.d.ts.map +1 -1
- package/dist/components/Tooltip/Tooltip.vue.d.ts +4 -4
- package/dist/components/ValidationMessages/ValidationMessages.vue.d.ts +22 -22
- package/dist/components/ValidationMessages/ValidationMessages.vue.d.ts.map +1 -1
- package/dist/dialtone-vue.cjs +1 -1
- package/dist/dialtone-vue.js +134 -130
- package/dist/index.d.ts +1 -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.cjs +1 -1
- package/dist/lib/avatar/avatar.cjs.map +1 -1
- package/dist/lib/avatar/avatar.js +55 -54
- package/dist/lib/avatar/avatar.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 +36 -35
- package/dist/lib/badge/badge.js.map +1 -1
- package/dist/lib/box/box-constants.cjs +1 -1
- package/dist/lib/box/box-constants.cjs.map +1 -1
- package/dist/lib/box/box-constants.js +34 -7
- package/dist/lib/box/box-constants.js.map +1 -1
- package/dist/lib/box/box.cjs +1 -1
- package/dist/lib/box/box.cjs.map +1 -1
- package/dist/lib/box/box.js +93 -34
- package/dist/lib/box/box.js.map +1 -1
- package/dist/lib/box/index.cjs +1 -1
- package/dist/lib/box/index.js +3 -3
- package/dist/lib/box/validators.cjs +1 -1
- package/dist/lib/box/validators.cjs.map +1 -1
- package/dist/lib/box/validators.js +4 -4
- package/dist/lib/box/validators.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 +69 -68
- package/dist/lib/button/button.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 +36 -35
- package/dist/lib/chip/chip.js.map +1 -1
- package/dist/lib/codeblock/codeblock.cjs +1 -1
- package/dist/lib/codeblock/codeblock.cjs.map +1 -1
- package/dist/lib/codeblock/codeblock.js +11 -10
- package/dist/lib/codeblock/codeblock.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.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 +53 -53
- 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 +48 -47
- package/dist/lib/combobox-with-popover/combobox-with-popover.js.map +1 -1
- package/dist/lib/editor/editor.cjs +1 -1
- package/dist/lib/editor/editor.js +1 -1
- package/dist/lib/emoji/emoji.cjs +1 -1
- package/dist/lib/emoji/emoji.cjs.map +1 -1
- package/dist/lib/emoji/emoji.js +25 -24
- package/dist/lib/emoji/emoji.js.map +1 -1
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.cjs +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 +20 -19
- package/dist/lib/emoji-text-wrapper/emoji-text-wrapper.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 +31 -30
- package/dist/lib/empty-state/empty-state.js.map +1 -1
- package/dist/lib/filter-pill/filter-pill.cjs +1 -1
- package/dist/lib/filter-pill/filter-pill.cjs.map +1 -1
- package/dist/lib/filter-pill/filter-pill.js +73 -72
- package/dist/lib/filter-pill/filter-pill.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 +16 -15
- package/dist/lib/icon/icon.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 +64 -63
- package/dist/lib/input/input.js.map +1 -1
- 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 +11 -9
- 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 -14
- package/dist/lib/link/link.js.map +1 -1
- package/dist/lib/loader/loader.cjs +3 -3
- package/dist/lib/loader/loader.cjs.map +1 -1
- package/dist/lib/loader/loader.js +21 -20
- package/dist/lib/loader/loader.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.cjs +1 -1
- package/dist/lib/message-input/message-input.js +1 -1
- package/dist/lib/modal/index.cjs +1 -1
- package/dist/lib/modal/index.js +3 -3
- 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 +1 -4
- 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 +40 -42
- package/dist/lib/modal/modal.js.map +1 -1
- package/dist/lib/progress-circle/progress-circle.cjs +1 -1
- package/dist/lib/progress-circle/progress-circle.cjs.map +1 -1
- package/dist/lib/progress-circle/progress-circle.js +33 -32
- package/dist/lib/progress-circle/progress-circle.js.map +1 -1
- package/dist/lib/prose/prose.cjs +1 -1
- package/dist/lib/prose/prose.cjs.map +1 -1
- package/dist/lib/prose/prose.js +23 -22
- package/dist/lib/prose/prose.js.map +1 -1
- package/dist/lib/segmented-control/segmented-control.cjs +1 -1
- package/dist/lib/segmented-control/segmented-control.cjs.map +1 -1
- package/dist/lib/segmented-control/segmented-control.js +42 -41
- package/dist/lib/segmented-control/segmented-control.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 +48 -47
- package/dist/lib/select-menu/select-menu.js.map +1 -1
- 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 +45 -44
- package/dist/lib/split-button/split-button.js.map +1 -1
- 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 +34 -35
- package/dist/lib/tab/tab-group.js.map +1 -1
- package/dist/lib/text-list/index.cjs +1 -0
- package/dist/lib/text-list/index.js +4 -0
- package/dist/lib/text-list/text-list-constants.cjs +2 -0
- package/dist/lib/text-list/text-list-constants.cjs.map +1 -0
- package/dist/lib/text-list/text-list-constants.js +31 -0
- package/dist/lib/text-list/text-list-constants.js.map +1 -0
- package/dist/lib/text-list/text-list-item.cjs +1 -0
- package/dist/lib/text-list/text-list-item.js +2 -0
- package/dist/lib/text-list/text-list.cjs +1 -0
- package/dist/lib/text-list/text-list.js +2 -0
- package/dist/lib/text-list/validators.cjs +2 -0
- package/dist/lib/text-list/validators.cjs.map +1 -0
- package/dist/lib/text-list/validators.js +10 -0
- package/dist/lib/text-list/validators.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.cjs +1 -1
- package/dist/lib/toggle/toggle.cjs.map +1 -1
- package/dist/lib/toggle/toggle.js +23 -22
- package/dist/lib/toggle/toggle.js.map +1 -1
- package/dist/{message_input-DOE5NEU9.js → message_input-C6BcWqr8.js} +1 -1
- package/dist/{message_input-DOE5NEU9.js.map → message_input-C6BcWqr8.js.map} +1 -1
- package/dist/{message_input-DMyIOe4y.cjs → message_input-ftx8f8wC.cjs} +1 -1
- package/dist/{message_input-DMyIOe4y.cjs.map → message_input-ftx8f8wC.cjs.map} +1 -1
- package/dist/recipes/buttons/callbar_button/callbar_button.vue.d.ts +33 -33
- package/dist/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +149 -149
- 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 +147 -147
- 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 +173 -173
- 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 +40 -40
- 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 +132 -132
- 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 +97 -97
- 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 +25 -25
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts +107 -107
- package/dist/recipes/conversation_view/editor/EditorToolbarDropdownButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts +103 -103
- package/dist/recipes/conversation_view/editor/EditorToolbarPopoverButton.vue.d.ts.map +1 -1
- package/dist/recipes/conversation_view/editor/editor.vue.d.ts +636 -636
- 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 +70 -70
- 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 +66 -66
- 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 +55 -55
- 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 +55 -55
- 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 +604 -604
- 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 +109 -109
- 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 +254 -254
- 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 +149 -149
- 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 +30 -30
- 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 +30 -30
- package/dist/recipes/leftbar/callbox/callbox.vue.d.ts +28 -28
- 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 +72 -72
- 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 +215 -215
- 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 +176 -176
- 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 +80 -80
- 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 +181 -181
- 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 +10 -10
- package/dist/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
- package/package.json +4 -4
- package/dist/Combobox-By01ETlj.js.map +0 -1
- package/dist/Combobox-D4hc1-41.cjs +0 -3
- package/dist/Combobox-D4hc1-41.cjs.map +0 -1
- package/dist/Toast-CHbVmbBg.js.map +0 -1
- package/dist/Toast-DX-REYXG.cjs +0 -2
- package/dist/Toast-DX-REYXG.cjs.map +0 -1
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./common/constants/sizes.cjs`),t=require(`./common/validators/index.cjs`),n=require(`./common/utils/index.cjs`),r=require(`./_plugin-vue_export-helper-D8jCH6HB.cjs`),i=require(`./common/mixins/keyboard-list-navigation.cjs`),a=require(`./lib/combobox/combobox-loading-list.cjs`),o=require(`./lib/combobox/combobox-empty-list.cjs`),s=require(`./lib/combobox/combobox-constants.cjs`);let c=require(`vue`);var l={name:`DtCombobox`,components:{ComboboxLoadingList:a.default,ComboboxEmptyList:o.default},mixins:[i.default({indexKey:`highlightIndex`,idKey:`highlightId`,listElementKey:`getListElement`,afterHighlightMethod:`afterHighlight`,beginningOfListMethod:`beginningOfListMethod`,endOfListMethod:`endOfListMethod`,activeItemKey:`activeItemEl`})],props:{label:{type:String,required:!0},showLabel:{type:Boolean,default:!0},size:{type:[String,Number],default:null,validator:n=>n===null||Object.values(s.COMBOBOX_LABEL_SIZES).includes(n)||t.ordinalSizeValidator(e.COMPONENT_SIZES)(n)},description:{type:String,default:``},listId:{type:String,default(){return n.getUniqueString()}},onBeginningOfList:{type:Function,default:null},onEndOfList:{type:Function,default:null},showList:{type:Boolean,default:!1},listRenderedOutside:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},emptyList:{type:Boolean,default:!1},emptyStateMessage:{type:String,default:``},emptyStateClass:{type:[String,Object,Array],default:``},clickOnSelect:{type:Boolean,default:!1}},emits:[`select`,`escape`,`highlight`,`opened`],data(){return{outsideRenderedListRef:null,hasSlotContent:n.hasSlotContent}},computed:{inputProps(){return{label:this.label,showLabel:this.showLabel,size:this.size,description:this.description,role:`combobox`,"aria-label":this.label,"aria-expanded":this.showList.toString(),"aria-owns":this.listId,"aria-haspopup":`listbox`,"aria-activedescendant":this.activeItemId,"aria-controls":this.listId}},listProps(){return{role:`listbox`,id:this.listId,class:`d-ps-relative`,"aria-label":this.label}},beginningOfListMethod(){return this.onBeginningOfList||this.jumpToEnd},endOfListMethod(){return this.onEndOfList||this.jumpToBeginning},activeItemId(){if(!(!this.showList||this.highlightIndex<0||this.loading))return this.highlightId},activeItemEl(){return this.highlightId?this.getListElement().querySelector(`#`+this.highlightId):``}},watch:{showList(e){this.listRenderedOutside||(this.setInitialHighlightIndex(),this.$emit(`opened`,e)),!e&&this.outsideRenderedListRef&&(this.outsideRenderedListRef.removeEventListener(`mousemove`,this.onMouseHighlight),this.outsideRenderedListRef=null)},loading(){this.$nextTick(()=>{this.setInitialHighlightIndex()})},$props:{deep:!0,immediate:!0,handler(){this.validateEmptyListProps()}}},created(){this.validateEmptyListProps()},methods:{onMouseHighlight(e){if(this.loading)return;let t=e.target.closest(`li`);t&&this.highlightId!==t.id&&this.setHighlightId(t.id)},getListElement(){return this.outsideRenderedListRef??this.$refs.listWrapper?.querySelector(`#${this.listId}`)},clearHighlightIndex(){this.showList&&this.setHighlightIndex(-1)},afterHighlight(){this.loading||this.$emit(`highlight`,this.highlightIndex)},onEnterKey(){this.loading||this.emptyList||this.highlightIndex>=0&&(this.$emit(`select`,this.highlightIndex),this.clickOnSelect&&this.activeItemEl?.click())},onEscapeKey(){this.$emit(`escape`)},onOpen(e,t){this.outsideRenderedListRef=t,this.outsideRenderedListRef?.addEventListener(`mousemove`,this.onMouseHighlight),this.$emit(`opened`,e),e&&this.setInitialHighlightIndex()},onKeyValidation(e,t){!this.showList||!this.getListElement()||this[t](e)},setInitialHighlightIndex(){this.showList&&this.$nextTick(()=>{this.setHighlightIndex(this.loading?-1:0)})},validateEmptyListProps(){this.$slots.emptyListItem||this.emptyList&&!this.emptyStateMessage&&console.error(`Invalid props: you must pass both props emptyList and emptyStateMessage to show the
|
|
2
|
+
empty message.`)}}},u={"data-qa":`dt-combobox-input-wrapper`};function d(e,t,n,r,i,a){let o=(0,c.resolveComponent)(`combobox-loading-list`),s=(0,c.resolveComponent)(`combobox-empty-list`);return(0,c.openBlock)(),(0,c.createElementBlock)(`div`,{onKeydown:[t[3]||(t[3]=(0,c.withKeys)((0,c.withModifiers)(e=>a.onKeyValidation(e,`onEscapeKey`),[`stop`]),[`esc`])),t[4]||(t[4]=(0,c.withKeys)((0,c.withModifiers)(e=>a.onKeyValidation(e,`onEnterKey`),[`exact`]),[`enter`])),t[5]||(t[5]=(0,c.withKeys)((0,c.withModifiers)(e=>a.onKeyValidation(e,`onUpKey`),[`stop`,`prevent`]),[`up`])),t[6]||(t[6]=(0,c.withKeys)((0,c.withModifiers)(e=>a.onKeyValidation(e,`onDownKey`),[`stop`,`prevent`]),[`down`])),t[7]||(t[7]=(0,c.withKeys)((0,c.withModifiers)(e=>a.onKeyValidation(e,`onHomeKey`),[`stop`,`prevent`]),[`home`])),t[8]||(t[8]=(0,c.withKeys)((0,c.withModifiers)(e=>a.onKeyValidation(e,`onEndKey`),[`stop`,`prevent`]),[`end`]))]},[(0,c.createElementVNode)(`div`,u,[(0,c.renderSlot)(e.$slots,`input`,{inputProps:a.inputProps})]),n.showList?((0,c.openBlock)(),(0,c.createElementBlock)(`div`,{key:0,ref:`listWrapper`,"data-qa":`dt-combobox-list-wrapper`,onMouseleave:t[0]||(t[0]=(...e)=>a.clearHighlightIndex&&a.clearHighlightIndex(...e)),onFocusout:t[1]||(t[1]=(...e)=>a.clearHighlightIndex&&a.clearHighlightIndex(...e)),onMousemoveCapture:t[2]||(t[2]=(...e)=>a.onMouseHighlight&&a.onMouseHighlight(...e))},[n.loading&&!n.listRenderedOutside?((0,c.openBlock)(),(0,c.createBlock)(o,(0,c.normalizeProps)((0,c.mergeProps)({key:0},a.listProps)),null,16)):n.emptyList&&(n.emptyStateMessage||i.hasSlotContent(e.$slots.emptyListItem))&&!n.listRenderedOutside?((0,c.openBlock)(),(0,c.createBlock)(s,(0,c.mergeProps)({key:1},a.listProps,{message:n.emptyStateMessage,"item-class":n.emptyStateClass}),{default:(0,c.withCtx)(()=>[(0,c.renderSlot)(e.$slots,`emptyListItem`)]),_:3},16,[`message`,`item-class`])):(0,c.renderSlot)(e.$slots,`list`,{key:2,listProps:a.listProps,opened:a.onOpen,clearHighlightIndex:a.clearHighlightIndex})],544)):(0,c.createCommentVNode)(``,!0)],32)}var f=r.t(l,[[`render`,d]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
|
|
3
|
+
//# sourceMappingURL=Combobox-CYEmi3dv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Combobox-CYEmi3dv.cjs","names":[],"sources":["../components/Combobox/Combobox.vue"],"sourcesContent":["<!-- eslint-disable vuejs-accessibility/no-static-element-interactions -->\n<template>\n <div\n @keydown.esc.stop=\"onKeyValidation($event, 'onEscapeKey')\"\n @keydown.enter.exact=\"onKeyValidation($event, 'onEnterKey')\"\n @keydown.up.stop.prevent=\"onKeyValidation($event, 'onUpKey')\"\n @keydown.down.stop.prevent=\"onKeyValidation($event, 'onDownKey')\"\n @keydown.home.stop.prevent=\"onKeyValidation($event, 'onHomeKey')\"\n @keydown.end.stop.prevent=\"onKeyValidation($event, 'onEndKey')\"\n >\n <div data-qa=\"dt-combobox-input-wrapper\">\n <!-- @slot Slot for the combobox input element -->\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n />\n </div>\n\n <div\n v-if=\"showList\"\n ref=\"listWrapper\"\n data-qa=\"dt-combobox-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <combobox-loading-list\n v-if=\"loading && !listRenderedOutside\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && (emptyStateMessage || hasSlotContent($slots.emptyListItem)) && !listRenderedOutside\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n :item-class=\"emptyStateClass\"\n >\n <slot name=\"emptyListItem\" />\n </combobox-empty-list>\n <!-- @slot Slot for the combobox list element -->\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n :opened=\"onOpen\"\n :clear-highlight-index=\"clearHighlightIndex\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport ComboboxLoadingList from './ComboboxLoadingList.vue';\nimport ComboboxEmptyList from './ComboboxEmptyList.vue';\nimport { DtKeyboardListNavigationMixin } from '@/common/mixins';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { COMBOBOX_LABEL_SIZES } from '@/components/Combobox';\nimport { COMPONENT_SIZES } from '@/common/constants';\nimport { ordinalSizeValidator } from '@/common/validators';\n\n/**\n * A combobox is a semantic component that displays an input element combined with a listbox,\n * which enables the user to select items from the list.\n * @see https://dialtone.dialpad.com/components/combobox.html\n */\nexport default {\n name: 'DtCombobox',\n\n components: {\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n mixins: [\n DtKeyboardListNavigationMixin({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n }),\n ],\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: null,\n validator: (t) => t === null\n || Object.values(COMBOBOX_LABEL_SIZES).includes(t)\n || ordinalSizeValidator(COMPONENT_SIZES)(t),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * @values true, false\n */\n showList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If the list is rendered outside the component, like when using popover as the list wrapper.\n * @values true, false\n */\n listRenderedOutside: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n * @values true, false\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the empty list 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 emptyStateClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Programmatically click on the active list item element when a selection\n * comes from keyboard navigation, i.e. pressing the \"Enter\" key.\n * @values true, false\n */\n clickOnSelect: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when pressing escape\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired when list is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n ],\n\n data () {\n return {\n // If the list is rendered at the root, rather than as a child\n // of this component, this is the ref to that dom element. Set\n // by the onOpen method.\n outsideRenderedListRef: null,\n hasSlotContent,\n };\n },\n\n computed: {\n inputProps () {\n return {\n label: this.label,\n showLabel: this.showLabel,\n size: this.size,\n description: this.description,\n role: 'combobox',\n 'aria-label': this.label,\n 'aria-expanded': this.showList.toString(),\n 'aria-owns': this.listId,\n 'aria-haspopup': 'listbox',\n 'aria-activedescendant': this.activeItemId,\n 'aria-controls': this.listId,\n };\n },\n\n listProps () {\n return {\n role: 'listbox',\n id: this.listId,\n // The list has to be positioned relatively so that the auto-scroll can\n // calculate the correct offset for the list items.\n class: 'd-ps-relative',\n 'aria-label': this.label,\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemId () {\n if (!this.showList || this.highlightIndex < 0 || this.loading) {\n return;\n }\n return this.highlightId;\n },\n\n activeItemEl () {\n if (!this.highlightId) return '';\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n },\n\n watch: {\n showList (showList) {\n // When the list's visibility changes reset the highlight index.\n\n if (!this.listRenderedOutside) {\n this.setInitialHighlightIndex();\n this.$emit('opened', showList);\n }\n\n if (!showList && this.outsideRenderedListRef) {\n this.outsideRenderedListRef.removeEventListener('mousemove', this.onMouseHighlight);\n this.outsideRenderedListRef = null;\n }\n },\n\n loading () {\n this.$nextTick(() => {\n this.setInitialHighlightIndex();\n });\n },\n\n $props: {\n deep: true,\n immediate: true,\n handler () {\n this.validateEmptyListProps();\n },\n },\n },\n\n created () {\n this.validateEmptyListProps();\n },\n\n methods: {\n onMouseHighlight (e) {\n if (this.loading) return;\n\n const liElement = e.target.closest('li');\n\n if (liElement && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n }\n },\n\n getListElement () {\n return this.outsideRenderedListRef ?? this.$refs.listWrapper?.querySelector(`#${this.listId}`);\n },\n\n clearHighlightIndex () {\n if (this.showList) {\n this.setHighlightIndex(-1);\n }\n },\n\n afterHighlight () {\n if (this.loading) return;\n this.$emit('highlight', this.highlightIndex);\n },\n\n onEnterKey () {\n if (this.loading || this.emptyList) return;\n\n if (this.highlightIndex >= 0) {\n this.$emit('select', this.highlightIndex);\n\n if (this.clickOnSelect) {\n this.activeItemEl?.click();\n }\n }\n },\n\n onEscapeKey () {\n this.$emit('escape');\n },\n\n onOpen (open, contentRef) {\n this.outsideRenderedListRef = contentRef;\n this.outsideRenderedListRef?.addEventListener('mousemove', this.onMouseHighlight);\n this.$emit('opened', open);\n\n if (open) {\n this.setInitialHighlightIndex();\n }\n },\n\n onKeyValidation (e, eventHandler) {\n if (!this.showList || !this.getListElement()) return;\n\n this[eventHandler](e);\n },\n\n setInitialHighlightIndex () {\n if (!this.showList) return;\n this.$nextTick(() => {\n // When the list's is shown, reset the highlight index.\n // If the list is loading, set to -1\n this.setHighlightIndex(this.loading ? -1 : 0);\n });\n },\n\n validateEmptyListProps () {\n if (this.$slots.emptyListItem) { return; }\n\n if (this.emptyList && !this.emptyStateMessage) {\n console.error(`Invalid props: you must pass both props emptyList and emptyStateMessage to show the\n empty message.`);\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import { COMPONENT_SIZES as e } from "./common/constants/sizes.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import i from "./
|
|
5
|
-
import a from "./
|
|
6
|
-
import o from "./lib/combobox/combobox-
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
2
|
+
import { ordinalSizeValidator as t } from "./common/validators/index.js";
|
|
3
|
+
import { getUniqueString as n, hasSlotContent as r } from "./common/utils/index.js";
|
|
4
|
+
import { t as i } from "./_plugin-vue_export-helper-BTgDAbhb.js";
|
|
5
|
+
import a from "./common/mixins/keyboard-list-navigation.js";
|
|
6
|
+
import o from "./lib/combobox/combobox-loading-list.js";
|
|
7
|
+
import s from "./lib/combobox/combobox-empty-list.js";
|
|
8
|
+
import { COMBOBOX_LABEL_SIZES as c } from "./lib/combobox/combobox-constants.js";
|
|
9
|
+
import { createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, mergeProps as p, normalizeProps as m, openBlock as h, renderSlot as g, resolveComponent as _, withCtx as v, withKeys as y, withModifiers as b } from "vue";
|
|
9
10
|
//#region components/Combobox/Combobox.vue
|
|
10
|
-
var
|
|
11
|
+
var x = {
|
|
11
12
|
name: "DtCombobox",
|
|
12
13
|
components: {
|
|
13
|
-
ComboboxLoadingList:
|
|
14
|
-
ComboboxEmptyList:
|
|
14
|
+
ComboboxLoadingList: o,
|
|
15
|
+
ComboboxEmptyList: s
|
|
15
16
|
},
|
|
16
|
-
mixins: [
|
|
17
|
+
mixins: [a({
|
|
17
18
|
indexKey: "highlightIndex",
|
|
18
19
|
idKey: "highlightId",
|
|
19
20
|
listElementKey: "getListElement",
|
|
@@ -34,7 +35,7 @@ var b = {
|
|
|
34
35
|
size: {
|
|
35
36
|
type: [String, Number],
|
|
36
37
|
default: null,
|
|
37
|
-
validator: (
|
|
38
|
+
validator: (n) => n === null || Object.values(c).includes(n) || t(e)(n)
|
|
38
39
|
},
|
|
39
40
|
description: {
|
|
40
41
|
type: String,
|
|
@@ -43,7 +44,7 @@ var b = {
|
|
|
43
44
|
listId: {
|
|
44
45
|
type: String,
|
|
45
46
|
default() {
|
|
46
|
-
return
|
|
47
|
+
return n();
|
|
47
48
|
}
|
|
48
49
|
},
|
|
49
50
|
onBeginningOfList: {
|
|
@@ -96,7 +97,7 @@ var b = {
|
|
|
96
97
|
data() {
|
|
97
98
|
return {
|
|
98
99
|
outsideRenderedListRef: null,
|
|
99
|
-
hasSlotContent:
|
|
100
|
+
hasSlotContent: r
|
|
100
101
|
};
|
|
101
102
|
},
|
|
102
103
|
computed: {
|
|
@@ -192,38 +193,38 @@ var b = {
|
|
|
192
193
|
this.$slots.emptyListItem || this.emptyList && !this.emptyStateMessage && console.error("Invalid props: you must pass both props emptyList and emptyStateMessage to show the\n empty message.");
|
|
193
194
|
}
|
|
194
195
|
}
|
|
195
|
-
},
|
|
196
|
-
function
|
|
197
|
-
let o =
|
|
198
|
-
return
|
|
199
|
-
t[3] || (t[3] =
|
|
200
|
-
t[4] || (t[4] =
|
|
201
|
-
t[5] || (t[5] =
|
|
202
|
-
t[6] || (t[6] =
|
|
203
|
-
t[7] || (t[7] =
|
|
204
|
-
t[8] || (t[8] =
|
|
205
|
-
] }, [
|
|
196
|
+
}, S = { "data-qa": "dt-combobox-input-wrapper" };
|
|
197
|
+
function C(e, t, n, r, i, a) {
|
|
198
|
+
let o = _("combobox-loading-list"), s = _("combobox-empty-list");
|
|
199
|
+
return h(), d("div", { onKeydown: [
|
|
200
|
+
t[3] || (t[3] = y(b((e) => a.onKeyValidation(e, "onEscapeKey"), ["stop"]), ["esc"])),
|
|
201
|
+
t[4] || (t[4] = y(b((e) => a.onKeyValidation(e, "onEnterKey"), ["exact"]), ["enter"])),
|
|
202
|
+
t[5] || (t[5] = y(b((e) => a.onKeyValidation(e, "onUpKey"), ["stop", "prevent"]), ["up"])),
|
|
203
|
+
t[6] || (t[6] = y(b((e) => a.onKeyValidation(e, "onDownKey"), ["stop", "prevent"]), ["down"])),
|
|
204
|
+
t[7] || (t[7] = y(b((e) => a.onKeyValidation(e, "onHomeKey"), ["stop", "prevent"]), ["home"])),
|
|
205
|
+
t[8] || (t[8] = y(b((e) => a.onKeyValidation(e, "onEndKey"), ["stop", "prevent"]), ["end"]))
|
|
206
|
+
] }, [f("div", S, [g(e.$slots, "input", { inputProps: a.inputProps })]), n.showList ? (h(), d("div", {
|
|
206
207
|
key: 0,
|
|
207
208
|
ref: "listWrapper",
|
|
208
209
|
"data-qa": "dt-combobox-list-wrapper",
|
|
209
210
|
onMouseleave: t[0] || (t[0] = (...e) => a.clearHighlightIndex && a.clearHighlightIndex(...e)),
|
|
210
211
|
onFocusout: t[1] || (t[1] = (...e) => a.clearHighlightIndex && a.clearHighlightIndex(...e)),
|
|
211
212
|
onMousemoveCapture: t[2] || (t[2] = (...e) => a.onMouseHighlight && a.onMouseHighlight(...e))
|
|
212
|
-
}, [n.loading && !n.listRenderedOutside ? (
|
|
213
|
+
}, [n.loading && !n.listRenderedOutside ? (h(), l(o, m(p({ key: 0 }, a.listProps)), null, 16)) : n.emptyList && (n.emptyStateMessage || i.hasSlotContent(e.$slots.emptyListItem)) && !n.listRenderedOutside ? (h(), l(s, p({ key: 1 }, a.listProps, {
|
|
213
214
|
message: n.emptyStateMessage,
|
|
214
215
|
"item-class": n.emptyStateClass
|
|
215
216
|
}), {
|
|
216
|
-
default:
|
|
217
|
+
default: v(() => [g(e.$slots, "emptyListItem")]),
|
|
217
218
|
_: 3
|
|
218
|
-
}, 16, ["message", "item-class"])) :
|
|
219
|
+
}, 16, ["message", "item-class"])) : g(e.$slots, "list", {
|
|
219
220
|
key: 2,
|
|
220
221
|
listProps: a.listProps,
|
|
221
222
|
opened: a.onOpen,
|
|
222
223
|
clearHighlightIndex: a.clearHighlightIndex
|
|
223
|
-
})], 544)) :
|
|
224
|
+
})], 544)) : u("", !0)], 32);
|
|
224
225
|
}
|
|
225
|
-
var
|
|
226
|
+
var w = /* @__PURE__ */ i(x, [["render", C]]);
|
|
226
227
|
//#endregion
|
|
227
|
-
export {
|
|
228
|
+
export { w as t };
|
|
228
229
|
|
|
229
|
-
//# sourceMappingURL=Combobox-
|
|
230
|
+
//# sourceMappingURL=Combobox-D8nQeBIf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Combobox-D8nQeBIf.js","names":[],"sources":["../components/Combobox/Combobox.vue"],"sourcesContent":["<!-- eslint-disable vuejs-accessibility/no-static-element-interactions -->\n<template>\n <div\n @keydown.esc.stop=\"onKeyValidation($event, 'onEscapeKey')\"\n @keydown.enter.exact=\"onKeyValidation($event, 'onEnterKey')\"\n @keydown.up.stop.prevent=\"onKeyValidation($event, 'onUpKey')\"\n @keydown.down.stop.prevent=\"onKeyValidation($event, 'onDownKey')\"\n @keydown.home.stop.prevent=\"onKeyValidation($event, 'onHomeKey')\"\n @keydown.end.stop.prevent=\"onKeyValidation($event, 'onEndKey')\"\n >\n <div data-qa=\"dt-combobox-input-wrapper\">\n <!-- @slot Slot for the combobox input element -->\n <slot\n name=\"input\"\n :input-props=\"inputProps\"\n />\n </div>\n\n <div\n v-if=\"showList\"\n ref=\"listWrapper\"\n data-qa=\"dt-combobox-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @focusout=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <combobox-loading-list\n v-if=\"loading && !listRenderedOutside\"\n v-bind=\"listProps\"\n />\n <combobox-empty-list\n v-else-if=\"emptyList && (emptyStateMessage || hasSlotContent($slots.emptyListItem)) && !listRenderedOutside\"\n v-bind=\"listProps\"\n :message=\"emptyStateMessage\"\n :item-class=\"emptyStateClass\"\n >\n <slot name=\"emptyListItem\" />\n </combobox-empty-list>\n <!-- @slot Slot for the combobox list element -->\n <slot\n v-else\n name=\"list\"\n :list-props=\"listProps\"\n :opened=\"onOpen\"\n :clear-highlight-index=\"clearHighlightIndex\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport ComboboxLoadingList from './ComboboxLoadingList.vue';\nimport ComboboxEmptyList from './ComboboxEmptyList.vue';\nimport { DtKeyboardListNavigationMixin } from '@/common/mixins';\nimport { getUniqueString, hasSlotContent } from '@/common/utils';\nimport { COMBOBOX_LABEL_SIZES } from '@/components/Combobox';\nimport { COMPONENT_SIZES } from '@/common/constants';\nimport { ordinalSizeValidator } from '@/common/validators';\n\n/**\n * A combobox is a semantic component that displays an input element combined with a listbox,\n * which enables the user to select items from the list.\n * @see https://dialtone.dialpad.com/components/combobox.html\n */\nexport default {\n name: 'DtCombobox',\n\n components: {\n ComboboxLoadingList,\n ComboboxEmptyList,\n },\n\n mixins: [\n DtKeyboardListNavigationMixin({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n }),\n ],\n\n props: {\n /**\n * String to use for the input label.\n */\n label: {\n type: String,\n required: true,\n },\n\n /**\n * Determines visibility of input label.\n * @values true, false\n */\n showLabel: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Size of the input.\n * @values 100, 200, 300, 400, 500\n */\n size: {\n type: [String, Number],\n default: null,\n validator: (t) => t === null\n || Object.values(COMBOBOX_LABEL_SIZES).includes(t)\n || ordinalSizeValidator(COMPONENT_SIZES)(t),\n },\n\n /**\n * Description for the input\n */\n description: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Determines when to show the list element and also controls the aria-expanded attribute.\n * @values true, false\n */\n showList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * If the list is rendered outside the component, like when using popover as the list wrapper.\n * @values true, false\n */\n listRenderedOutside: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Determines when to show the skeletons and also controls aria-busy attribute.\n * @values true, false\n */\n loading: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Sets the list to an empty state, and displays the message from prop `emptyStateMessage`.\n * @values true, false\n */\n emptyList: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Message to show when the list is empty\n */\n emptyStateMessage: {\n type: String,\n default: '',\n },\n\n /**\n * Additional class name for the empty list 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 emptyStateClass: {\n type: [String, Object, Array],\n default: '',\n },\n\n /**\n * Programmatically click on the active list item element when a selection\n * comes from keyboard navigation, i.e. pressing the \"Enter\" key.\n * @values true, false\n */\n clickOnSelect: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Event fired when item selected\n *\n * @event select\n * @type {Number}\n */\n 'select',\n\n /**\n * Event fired when pressing escape\n *\n * @event escape\n */\n 'escape',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired when list is shown or hidden\n *\n * @event opened\n * @type {Boolean}\n */\n 'opened',\n ],\n\n data () {\n return {\n // If the list is rendered at the root, rather than as a child\n // of this component, this is the ref to that dom element. Set\n // by the onOpen method.\n outsideRenderedListRef: null,\n hasSlotContent,\n };\n },\n\n computed: {\n inputProps () {\n return {\n label: this.label,\n showLabel: this.showLabel,\n size: this.size,\n description: this.description,\n role: 'combobox',\n 'aria-label': this.label,\n 'aria-expanded': this.showList.toString(),\n 'aria-owns': this.listId,\n 'aria-haspopup': 'listbox',\n 'aria-activedescendant': this.activeItemId,\n 'aria-controls': this.listId,\n };\n },\n\n listProps () {\n return {\n role: 'listbox',\n id: this.listId,\n // The list has to be positioned relatively so that the auto-scroll can\n // calculate the correct offset for the list items.\n class: 'd-ps-relative',\n 'aria-label': this.label,\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemId () {\n if (!this.showList || this.highlightIndex < 0 || this.loading) {\n return;\n }\n return this.highlightId;\n },\n\n activeItemEl () {\n if (!this.highlightId) return '';\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n },\n\n watch: {\n showList (showList) {\n // When the list's visibility changes reset the highlight index.\n\n if (!this.listRenderedOutside) {\n this.setInitialHighlightIndex();\n this.$emit('opened', showList);\n }\n\n if (!showList && this.outsideRenderedListRef) {\n this.outsideRenderedListRef.removeEventListener('mousemove', this.onMouseHighlight);\n this.outsideRenderedListRef = null;\n }\n },\n\n loading () {\n this.$nextTick(() => {\n this.setInitialHighlightIndex();\n });\n },\n\n $props: {\n deep: true,\n immediate: true,\n handler () {\n this.validateEmptyListProps();\n },\n },\n },\n\n created () {\n this.validateEmptyListProps();\n },\n\n methods: {\n onMouseHighlight (e) {\n if (this.loading) return;\n\n const liElement = e.target.closest('li');\n\n if (liElement && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n }\n },\n\n getListElement () {\n return this.outsideRenderedListRef ?? this.$refs.listWrapper?.querySelector(`#${this.listId}`);\n },\n\n clearHighlightIndex () {\n if (this.showList) {\n this.setHighlightIndex(-1);\n }\n },\n\n afterHighlight () {\n if (this.loading) return;\n this.$emit('highlight', this.highlightIndex);\n },\n\n onEnterKey () {\n if (this.loading || this.emptyList) return;\n\n if (this.highlightIndex >= 0) {\n this.$emit('select', this.highlightIndex);\n\n if (this.clickOnSelect) {\n this.activeItemEl?.click();\n }\n }\n },\n\n onEscapeKey () {\n this.$emit('escape');\n },\n\n onOpen (open, contentRef) {\n this.outsideRenderedListRef = contentRef;\n this.outsideRenderedListRef?.addEventListener('mousemove', this.onMouseHighlight);\n this.$emit('opened', open);\n\n if (open) {\n this.setInitialHighlightIndex();\n }\n },\n\n onKeyValidation (e, eventHandler) {\n if (!this.showList || !this.getListElement()) return;\n\n this[eventHandler](e);\n },\n\n setInitialHighlightIndex () {\n if (!this.showList) return;\n this.$nextTick(() => {\n // When the list's is shown, reset the highlight index.\n // If the list is loading, set to -1\n this.setHighlightIndex(this.loading ? -1 : 0);\n });\n },\n\n validateEmptyListProps () {\n if (this.$slots.emptyListItem) { return; }\n\n if (this.emptyList && !this.emptyStateMessage) {\n console.error(`Invalid props: you must pass both props emptyList and emptyStateMessage to show the\n empty message.`);\n }\n },\n },\n};\n</script>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { DT_TEXT_LIST_CONTEXT as e, DT_TEXT_LIST_DEFAULT_TYPE as t, DT_TEXT_LIST_ORDERED_MARKERS as n, DT_TEXT_LIST_UNORDERED_MARKERS as r } from "./lib/text-list/text-list-constants.js";
|
|
2
|
+
import { textListGapValidator as i, textListMarkerToneValidator as a, textListMarkerValidator as o, textListTypeValidator as s } from "./lib/text-list/validators.js";
|
|
3
|
+
import { computed as c, createBlock as l, defineComponent as u, normalizeClass as d, onMounted as f, openBlock as p, provide as m, ref as h, renderSlot as g, resolveDynamicComponent as _, toRef as v, withCtx as y } from "vue";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region components/TextList/TextList.vue
|
|
6
|
+
var b = /* @__PURE__ */ u({
|
|
7
|
+
name: "DtTextList",
|
|
8
|
+
__name: "TextList",
|
|
9
|
+
props: {
|
|
10
|
+
type: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: t,
|
|
13
|
+
validator: s
|
|
14
|
+
},
|
|
15
|
+
marker: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: void 0,
|
|
18
|
+
validator: o
|
|
19
|
+
},
|
|
20
|
+
markerTone: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: void 0,
|
|
23
|
+
validator: a
|
|
24
|
+
},
|
|
25
|
+
gap: {
|
|
26
|
+
type: String,
|
|
27
|
+
default: void 0,
|
|
28
|
+
validator: i
|
|
29
|
+
},
|
|
30
|
+
start: {
|
|
31
|
+
type: Number,
|
|
32
|
+
default: void 0
|
|
33
|
+
},
|
|
34
|
+
reversed: {
|
|
35
|
+
type: Boolean,
|
|
36
|
+
default: !1
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
setup(t) {
|
|
40
|
+
let i = t, a = h(null);
|
|
41
|
+
m(e, { type: v(i, "type") });
|
|
42
|
+
let o = c(() => i.type === "ordered"), s = c(() => o.value ? "ol" : "ul"), u = c(() => i.marker === "none" ? "list" : void 0), b = c(() => o.value ? i.start : void 0), x = c(() => o.value && i.reversed ? !0 : void 0), S = c(() => [
|
|
43
|
+
"d-text-list",
|
|
44
|
+
i.gap ? `d-text-list--gap-${i.gap}` : null,
|
|
45
|
+
{ "d-text-list--ordered": o.value },
|
|
46
|
+
i.marker ? `d-text-list--marker-${i.marker}` : null,
|
|
47
|
+
i.markerTone ? `d-text-list--marker-tone-${i.markerTone}` : null
|
|
48
|
+
]), C = (e) => console.warn(`[DtTextList] ${e}`);
|
|
49
|
+
function w() {
|
|
50
|
+
o.value || (i.start !== void 0 && C("The start prop only applies when type=\"ordered\"."), i.reversed && C("The reversed prop only applies when type=\"ordered\"."));
|
|
51
|
+
}
|
|
52
|
+
function T() {
|
|
53
|
+
!i.marker || i.marker === "none" || (i.type === "ordered" && r.includes(i.marker) && C(`The marker="${i.marker}" value is usually used with type="unordered".`), i.type === "unordered" && n.includes(i.marker) && C(`The marker="${i.marker}" value is usually used with type="ordered".`));
|
|
54
|
+
}
|
|
55
|
+
function E() {
|
|
56
|
+
let e = a.value?.$el ?? a.value;
|
|
57
|
+
if (e) {
|
|
58
|
+
for (let t of e.children) if (t.tagName !== "LI") {
|
|
59
|
+
C("Use DtTextListItem or a native li as the direct child of DtTextList.");
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return f(() => {
|
|
65
|
+
process.env.NODE_ENV !== "production" && (w(), T(), E());
|
|
66
|
+
}), (e, t) => (p(), l(_(s.value), {
|
|
67
|
+
ref_key: "listRef",
|
|
68
|
+
ref: a,
|
|
69
|
+
"data-qa": "dt-text-list",
|
|
70
|
+
class: d(S.value),
|
|
71
|
+
role: u.value,
|
|
72
|
+
start: b.value,
|
|
73
|
+
reversed: x.value
|
|
74
|
+
}, {
|
|
75
|
+
default: y(() => [g(e.$slots, "default")]),
|
|
76
|
+
_: 3
|
|
77
|
+
}, 8, [
|
|
78
|
+
"class",
|
|
79
|
+
"role",
|
|
80
|
+
"start",
|
|
81
|
+
"reversed"
|
|
82
|
+
]));
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
//#endregion
|
|
86
|
+
export { b as t };
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=TextList-B6XFfQfD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextList-B6XFfQfD.js","names":[],"sources":["../components/TextList/TextList.vue","../components/TextList/TextList.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <component\n :is=\"listElement\"\n ref=\"listRef\"\n data-qa=\"dt-text-list\"\n :class=\"textListClasses\"\n :role=\"role\"\n :start=\"orderedStart\"\n :reversed=\"orderedReversed\"\n >\n <!-- @slot Text list items. Use DtTextListItem as the direct child. -->\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n onMounted,\n provide,\n ref,\n toRef,\n} from 'vue';\nimport {\n DT_TEXT_LIST_CONTEXT,\n DT_TEXT_LIST_DEFAULT_TYPE,\n DT_TEXT_LIST_ORDERED_MARKERS,\n DT_TEXT_LIST_UNORDERED_MARKERS,\n} from './TextListConstants';\nimport {\n textListGapValidator,\n textListMarkerToneValidator,\n textListMarkerValidator,\n textListTypeValidator,\n} from './Validators';\n\ndefineOptions({\n name: 'DtTextList',\n});\n\nconst props = defineProps({\n /**\n * Semantic list type. Sets the rendered element to `ul` or `ol`.\n * @values unordered, ordered\n */\n type: {\n type: String,\n default: DT_TEXT_LIST_DEFAULT_TYPE,\n validator: textListTypeValidator,\n },\n\n /**\n * Visual marker style. Leave unset for automatic depth-aware markers.\n * @values disc, circle, square, decimal, lower-alpha, upper-alpha, lower-roman, upper-roman, none\n */\n marker: {\n type: String,\n default: undefined,\n validator: textListMarkerValidator,\n },\n\n /**\n * Marker foreground tone. Uses the same tone vocabulary as DtText.\n * @values primary, secondary, tertiary, muted, disabled, placeholder, critical, critical-strong, positive, positive-strong, warning, info, info-strong, neutral-black, neutral-white\n */\n markerTone: {\n type: String,\n default: undefined,\n validator: textListMarkerToneValidator,\n },\n\n /**\n * Space between list items and before nested lists.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400\n */\n gap: {\n type: String,\n default: undefined,\n validator: textListGapValidator,\n },\n\n /**\n * Starting number for ordered lists.\n */\n start: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Reverse ordered list numbering.\n */\n reversed: {\n type: Boolean,\n default: false,\n },\n});\n\nconst listRef = ref(null);\n\nprovide(DT_TEXT_LIST_CONTEXT, {\n type: toRef(props, 'type'),\n});\n\nconst isOrdered = computed(() => props.type === 'ordered');\nconst listElement = computed(() => isOrdered.value ? 'ol' : 'ul');\n// Safari drops list semantics when list-style is none; restore them explicitly.\nconst role = computed(() => props.marker === 'none' ? 'list' : undefined);\nconst orderedStart = computed(() => isOrdered.value ? props.start : undefined);\nconst orderedReversed = computed(() => isOrdered.value && props.reversed ? true : undefined);\n\nconst textListClasses = computed(() => [\n 'd-text-list',\n props.gap ? `d-text-list--gap-${props.gap}` : null,\n {\n 'd-text-list--ordered': isOrdered.value,\n },\n props.marker ? `d-text-list--marker-${props.marker}` : null,\n props.markerTone ? `d-text-list--marker-tone-${props.markerTone}` : null,\n]);\n\n// eslint-disable-next-line no-console\nconst warn = message => console.warn(`[DtTextList] ${message}`);\n\nfunction validateOrderedOnlyProps () {\n if (isOrdered.value) return;\n\n if (props.start !== undefined) {\n warn('The start prop only applies when type=\"ordered\".');\n }\n\n if (props.reversed) {\n warn('The reversed prop only applies when type=\"ordered\".');\n }\n}\n\nfunction validateMarkerFamily () {\n if (!props.marker || props.marker === 'none') return;\n\n if (props.type === 'ordered' && DT_TEXT_LIST_UNORDERED_MARKERS.includes(props.marker)) {\n warn(`The marker=\"${props.marker}\" value is usually used with type=\"unordered\".`);\n }\n\n if (props.type === 'unordered' && DT_TEXT_LIST_ORDERED_MARKERS.includes(props.marker)) {\n warn(`The marker=\"${props.marker}\" value is usually used with type=\"ordered\".`);\n }\n}\n\nfunction validateChildren () {\n const rootElement = listRef.value?.$el ?? listRef.value;\n if (!rootElement) return;\n\n for (const child of rootElement.children) {\n if (child.tagName === 'LI') continue;\n\n warn('Use DtTextListItem or a native li as the direct child of DtTextList.');\n break;\n }\n}\n\nonMounted(() => {\n if (process.env.NODE_ENV !== 'production') {\n validateOrderedOnlyProps();\n validateMarkerFamily();\n validateChildren();\n }\n});\n</script>\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <component\n :is=\"listElement\"\n ref=\"listRef\"\n data-qa=\"dt-text-list\"\n :class=\"textListClasses\"\n :role=\"role\"\n :start=\"orderedStart\"\n :reversed=\"orderedReversed\"\n >\n <!-- @slot Text list items. Use DtTextListItem as the direct child. -->\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n onMounted,\n provide,\n ref,\n toRef,\n} from 'vue';\nimport {\n DT_TEXT_LIST_CONTEXT,\n DT_TEXT_LIST_DEFAULT_TYPE,\n DT_TEXT_LIST_ORDERED_MARKERS,\n DT_TEXT_LIST_UNORDERED_MARKERS,\n} from './TextListConstants';\nimport {\n textListGapValidator,\n textListMarkerToneValidator,\n textListMarkerValidator,\n textListTypeValidator,\n} from './Validators';\n\ndefineOptions({\n name: 'DtTextList',\n});\n\nconst props = defineProps({\n /**\n * Semantic list type. Sets the rendered element to `ul` or `ol`.\n * @values unordered, ordered\n */\n type: {\n type: String,\n default: DT_TEXT_LIST_DEFAULT_TYPE,\n validator: textListTypeValidator,\n },\n\n /**\n * Visual marker style. Leave unset for automatic depth-aware markers.\n * @values disc, circle, square, decimal, lower-alpha, upper-alpha, lower-roman, upper-roman, none\n */\n marker: {\n type: String,\n default: undefined,\n validator: textListMarkerValidator,\n },\n\n /**\n * Marker foreground tone. Uses the same tone vocabulary as DtText.\n * @values primary, secondary, tertiary, muted, disabled, placeholder, critical, critical-strong, positive, positive-strong, warning, info, info-strong, neutral-black, neutral-white\n */\n markerTone: {\n type: String,\n default: undefined,\n validator: textListMarkerToneValidator,\n },\n\n /**\n * Space between list items and before nested lists.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400\n */\n gap: {\n type: String,\n default: undefined,\n validator: textListGapValidator,\n },\n\n /**\n * Starting number for ordered lists.\n */\n start: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Reverse ordered list numbering.\n */\n reversed: {\n type: Boolean,\n default: false,\n },\n});\n\nconst listRef = ref(null);\n\nprovide(DT_TEXT_LIST_CONTEXT, {\n type: toRef(props, 'type'),\n});\n\nconst isOrdered = computed(() => props.type === 'ordered');\nconst listElement = computed(() => isOrdered.value ? 'ol' : 'ul');\n// Safari drops list semantics when list-style is none; restore them explicitly.\nconst role = computed(() => props.marker === 'none' ? 'list' : undefined);\nconst orderedStart = computed(() => isOrdered.value ? props.start : undefined);\nconst orderedReversed = computed(() => isOrdered.value && props.reversed ? true : undefined);\n\nconst textListClasses = computed(() => [\n 'd-text-list',\n props.gap ? `d-text-list--gap-${props.gap}` : null,\n {\n 'd-text-list--ordered': isOrdered.value,\n },\n props.marker ? `d-text-list--marker-${props.marker}` : null,\n props.markerTone ? `d-text-list--marker-tone-${props.markerTone}` : null,\n]);\n\n// eslint-disable-next-line no-console\nconst warn = message => console.warn(`[DtTextList] ${message}`);\n\nfunction validateOrderedOnlyProps () {\n if (isOrdered.value) return;\n\n if (props.start !== undefined) {\n warn('The start prop only applies when type=\"ordered\".');\n }\n\n if (props.reversed) {\n warn('The reversed prop only applies when type=\"ordered\".');\n }\n}\n\nfunction validateMarkerFamily () {\n if (!props.marker || props.marker === 'none') return;\n\n if (props.type === 'ordered' && DT_TEXT_LIST_UNORDERED_MARKERS.includes(props.marker)) {\n warn(`The marker=\"${props.marker}\" value is usually used with type=\"unordered\".`);\n }\n\n if (props.type === 'unordered' && DT_TEXT_LIST_ORDERED_MARKERS.includes(props.marker)) {\n warn(`The marker=\"${props.marker}\" value is usually used with type=\"ordered\".`);\n }\n}\n\nfunction validateChildren () {\n const rootElement = listRef.value?.$el ?? listRef.value;\n if (!rootElement) return;\n\n for (const child of rootElement.children) {\n if (child.tagName === 'LI') continue;\n\n warn('Use DtTextListItem or a native li as the direct child of DtTextList.');\n break;\n }\n}\n\nonMounted(() => {\n if (process.env.NODE_ENV !== 'production') {\n validateOrderedOnlyProps();\n validateMarkerFamily();\n validateChildren();\n }\n});\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CA,IAAM,IAAQ,GA0DR,IAAU,EAAI,KAAK;AAEzB,IAAQ,GAAsB,EAC5B,MAAM,EAAM,GAAO,OAAO,EAC3B,CAAC;EAEF,IAAM,IAAY,QAAe,EAAM,SAAS,UAAU,EACpD,IAAc,QAAe,EAAU,QAAQ,OAAO,KAAK,EAE3D,IAAO,QAAe,EAAM,WAAW,SAAS,SAAS,KAAA,EAAU,EACnE,IAAe,QAAe,EAAU,QAAQ,EAAM,QAAQ,KAAA,EAAU,EACxE,IAAkB,QAAe,EAAU,SAAS,EAAM,WAAW,KAAO,KAAA,EAAU,EAEtF,IAAkB,QAAe;GACrC;GACA,EAAM,MAAM,oBAAoB,EAAM,QAAQ;GAC9C,EACE,wBAAwB,EAAU,OACnC;GACD,EAAM,SAAS,uBAAuB,EAAM,WAAW;GACvD,EAAM,aAAa,4BAA4B,EAAM,eAAe;GACrE,CAAC,EAGI,KAAO,MAAW,QAAQ,KAAK,gBAAgB,IAAU;EAE/D,SAAS,IAA4B;AAC/B,KAAU,UAEV,EAAM,UAAU,KAAA,KAClB,EAAK,qDAAmD,EAGtD,EAAM,YACR,EAAK,wDAAsD;;EAI/D,SAAS,IAAwB;AAC3B,IAAC,EAAM,UAAU,EAAM,WAAW,WAElC,EAAM,SAAS,aAAa,EAA+B,SAAS,EAAM,OAAO,IACnF,EAAK,eAAe,EAAM,OAAO,gDAAgD,EAG/E,EAAM,SAAS,eAAe,EAA6B,SAAS,EAAM,OAAO,IACnF,EAAK,eAAe,EAAM,OAAO,8CAA8C;;EAInF,SAAS,IAAoB;GAC3B,IAAM,IAAc,EAAQ,OAAO,OAAO,EAAQ;AAC7C,UAEL;SAAK,IAAM,KAAS,EAAY,SAC1B,OAAM,YAAY,MAEtB;OAAK,uEAAuE;AAC5E;;;;SAIJ,QAAgB;AACd,GAAA,QAAA,IAAA,aAA6B,iBAC3B,GAA0B,EAC1B,GAAsB,EACtB,GAAkB;IAEpB,kBAtKA,EAWY,EAVL,EAAA,MAAW,EAAA;YACZ;GAAJ,KAAI;GACJ,WAAQ;GACP,OAAK,EAAE,EAAA,MAAe;GACtB,MAAM,EAAA;GACN,OAAO,EAAA;GACP,UAAU,EAAA;;oBAGH,CAAR,EAAQ,EAAA,QAAA,UAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./lib/text-list/text-list-constants.cjs`),t=require(`./lib/text-list/validators.cjs`);let n=require(`vue`);var r=(0,n.defineComponent)({name:`DtTextList`,__name:`TextList`,props:{type:{type:String,default:e.DT_TEXT_LIST_DEFAULT_TYPE,validator:t.textListTypeValidator},marker:{type:String,default:void 0,validator:t.textListMarkerValidator},markerTone:{type:String,default:void 0,validator:t.textListMarkerToneValidator},gap:{type:String,default:void 0,validator:t.textListGapValidator},start:{type:Number,default:void 0},reversed:{type:Boolean,default:!1}},setup(t){let r=t,i=(0,n.ref)(null);(0,n.provide)(e.DT_TEXT_LIST_CONTEXT,{type:(0,n.toRef)(r,`type`)});let a=(0,n.computed)(()=>r.type===`ordered`),o=(0,n.computed)(()=>a.value?`ol`:`ul`),s=(0,n.computed)(()=>r.marker===`none`?`list`:void 0),c=(0,n.computed)(()=>a.value?r.start:void 0),l=(0,n.computed)(()=>a.value&&r.reversed?!0:void 0),u=(0,n.computed)(()=>[`d-text-list`,r.gap?`d-text-list--gap-${r.gap}`:null,{"d-text-list--ordered":a.value},r.marker?`d-text-list--marker-${r.marker}`:null,r.markerTone?`d-text-list--marker-tone-${r.markerTone}`:null]),d=e=>console.warn(`[DtTextList] ${e}`);function f(){a.value||(r.start!==void 0&&d(`The start prop only applies when type="ordered".`),r.reversed&&d(`The reversed prop only applies when type="ordered".`))}function p(){!r.marker||r.marker===`none`||(r.type===`ordered`&&e.DT_TEXT_LIST_UNORDERED_MARKERS.includes(r.marker)&&d(`The marker="${r.marker}" value is usually used with type="unordered".`),r.type===`unordered`&&e.DT_TEXT_LIST_ORDERED_MARKERS.includes(r.marker)&&d(`The marker="${r.marker}" value is usually used with type="ordered".`))}function m(){let e=i.value?.$el??i.value;if(e){for(let t of e.children)if(t.tagName!==`LI`){d(`Use DtTextListItem or a native li as the direct child of DtTextList.`);break}}}return(0,n.onMounted)(()=>{process.env.NODE_ENV!==`production`&&(f(),p(),m())}),(e,t)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(o.value),{ref_key:`listRef`,ref:i,"data-qa":`dt-text-list`,class:(0,n.normalizeClass)(u.value),role:s.value,start:c.value,reversed:l.value},{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(e.$slots,`default`)]),_:3},8,[`class`,`role`,`start`,`reversed`]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
|
|
2
|
+
//# sourceMappingURL=TextList-Dd-ROFiI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextList-Dd-ROFiI.cjs","names":[],"sources":["../components/TextList/TextList.vue","../components/TextList/TextList.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <component\n :is=\"listElement\"\n ref=\"listRef\"\n data-qa=\"dt-text-list\"\n :class=\"textListClasses\"\n :role=\"role\"\n :start=\"orderedStart\"\n :reversed=\"orderedReversed\"\n >\n <!-- @slot Text list items. Use DtTextListItem as the direct child. -->\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n onMounted,\n provide,\n ref,\n toRef,\n} from 'vue';\nimport {\n DT_TEXT_LIST_CONTEXT,\n DT_TEXT_LIST_DEFAULT_TYPE,\n DT_TEXT_LIST_ORDERED_MARKERS,\n DT_TEXT_LIST_UNORDERED_MARKERS,\n} from './TextListConstants';\nimport {\n textListGapValidator,\n textListMarkerToneValidator,\n textListMarkerValidator,\n textListTypeValidator,\n} from './Validators';\n\ndefineOptions({\n name: 'DtTextList',\n});\n\nconst props = defineProps({\n /**\n * Semantic list type. Sets the rendered element to `ul` or `ol`.\n * @values unordered, ordered\n */\n type: {\n type: String,\n default: DT_TEXT_LIST_DEFAULT_TYPE,\n validator: textListTypeValidator,\n },\n\n /**\n * Visual marker style. Leave unset for automatic depth-aware markers.\n * @values disc, circle, square, decimal, lower-alpha, upper-alpha, lower-roman, upper-roman, none\n */\n marker: {\n type: String,\n default: undefined,\n validator: textListMarkerValidator,\n },\n\n /**\n * Marker foreground tone. Uses the same tone vocabulary as DtText.\n * @values primary, secondary, tertiary, muted, disabled, placeholder, critical, critical-strong, positive, positive-strong, warning, info, info-strong, neutral-black, neutral-white\n */\n markerTone: {\n type: String,\n default: undefined,\n validator: textListMarkerToneValidator,\n },\n\n /**\n * Space between list items and before nested lists.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400\n */\n gap: {\n type: String,\n default: undefined,\n validator: textListGapValidator,\n },\n\n /**\n * Starting number for ordered lists.\n */\n start: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Reverse ordered list numbering.\n */\n reversed: {\n type: Boolean,\n default: false,\n },\n});\n\nconst listRef = ref(null);\n\nprovide(DT_TEXT_LIST_CONTEXT, {\n type: toRef(props, 'type'),\n});\n\nconst isOrdered = computed(() => props.type === 'ordered');\nconst listElement = computed(() => isOrdered.value ? 'ol' : 'ul');\n// Safari drops list semantics when list-style is none; restore them explicitly.\nconst role = computed(() => props.marker === 'none' ? 'list' : undefined);\nconst orderedStart = computed(() => isOrdered.value ? props.start : undefined);\nconst orderedReversed = computed(() => isOrdered.value && props.reversed ? true : undefined);\n\nconst textListClasses = computed(() => [\n 'd-text-list',\n props.gap ? `d-text-list--gap-${props.gap}` : null,\n {\n 'd-text-list--ordered': isOrdered.value,\n },\n props.marker ? `d-text-list--marker-${props.marker}` : null,\n props.markerTone ? `d-text-list--marker-tone-${props.markerTone}` : null,\n]);\n\n// eslint-disable-next-line no-console\nconst warn = message => console.warn(`[DtTextList] ${message}`);\n\nfunction validateOrderedOnlyProps () {\n if (isOrdered.value) return;\n\n if (props.start !== undefined) {\n warn('The start prop only applies when type=\"ordered\".');\n }\n\n if (props.reversed) {\n warn('The reversed prop only applies when type=\"ordered\".');\n }\n}\n\nfunction validateMarkerFamily () {\n if (!props.marker || props.marker === 'none') return;\n\n if (props.type === 'ordered' && DT_TEXT_LIST_UNORDERED_MARKERS.includes(props.marker)) {\n warn(`The marker=\"${props.marker}\" value is usually used with type=\"unordered\".`);\n }\n\n if (props.type === 'unordered' && DT_TEXT_LIST_ORDERED_MARKERS.includes(props.marker)) {\n warn(`The marker=\"${props.marker}\" value is usually used with type=\"ordered\".`);\n }\n}\n\nfunction validateChildren () {\n const rootElement = listRef.value?.$el ?? listRef.value;\n if (!rootElement) return;\n\n for (const child of rootElement.children) {\n if (child.tagName === 'LI') continue;\n\n warn('Use DtTextListItem or a native li as the direct child of DtTextList.');\n break;\n }\n}\n\nonMounted(() => {\n if (process.env.NODE_ENV !== 'production') {\n validateOrderedOnlyProps();\n validateMarkerFamily();\n validateChildren();\n }\n});\n</script>\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <component\n :is=\"listElement\"\n ref=\"listRef\"\n data-qa=\"dt-text-list\"\n :class=\"textListClasses\"\n :role=\"role\"\n :start=\"orderedStart\"\n :reversed=\"orderedReversed\"\n >\n <!-- @slot Text list items. Use DtTextListItem as the direct child. -->\n <slot />\n </component>\n</template>\n\n<script setup lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n onMounted,\n provide,\n ref,\n toRef,\n} from 'vue';\nimport {\n DT_TEXT_LIST_CONTEXT,\n DT_TEXT_LIST_DEFAULT_TYPE,\n DT_TEXT_LIST_ORDERED_MARKERS,\n DT_TEXT_LIST_UNORDERED_MARKERS,\n} from './TextListConstants';\nimport {\n textListGapValidator,\n textListMarkerToneValidator,\n textListMarkerValidator,\n textListTypeValidator,\n} from './Validators';\n\ndefineOptions({\n name: 'DtTextList',\n});\n\nconst props = defineProps({\n /**\n * Semantic list type. Sets the rendered element to `ul` or `ol`.\n * @values unordered, ordered\n */\n type: {\n type: String,\n default: DT_TEXT_LIST_DEFAULT_TYPE,\n validator: textListTypeValidator,\n },\n\n /**\n * Visual marker style. Leave unset for automatic depth-aware markers.\n * @values disc, circle, square, decimal, lower-alpha, upper-alpha, lower-roman, upper-roman, none\n */\n marker: {\n type: String,\n default: undefined,\n validator: textListMarkerValidator,\n },\n\n /**\n * Marker foreground tone. Uses the same tone vocabulary as DtText.\n * @values primary, secondary, tertiary, muted, disabled, placeholder, critical, critical-strong, positive, positive-strong, warning, info, info-strong, neutral-black, neutral-white\n */\n markerTone: {\n type: String,\n default: undefined,\n validator: textListMarkerToneValidator,\n },\n\n /**\n * Space between list items and before nested lists.\n * @values 0, 1, 25, 50, 75, 100, 125, 150, 175, 200, 250, 300, 350, 400\n */\n gap: {\n type: String,\n default: undefined,\n validator: textListGapValidator,\n },\n\n /**\n * Starting number for ordered lists.\n */\n start: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Reverse ordered list numbering.\n */\n reversed: {\n type: Boolean,\n default: false,\n },\n});\n\nconst listRef = ref(null);\n\nprovide(DT_TEXT_LIST_CONTEXT, {\n type: toRef(props, 'type'),\n});\n\nconst isOrdered = computed(() => props.type === 'ordered');\nconst listElement = computed(() => isOrdered.value ? 'ol' : 'ul');\n// Safari drops list semantics when list-style is none; restore them explicitly.\nconst role = computed(() => props.marker === 'none' ? 'list' : undefined);\nconst orderedStart = computed(() => isOrdered.value ? props.start : undefined);\nconst orderedReversed = computed(() => isOrdered.value && props.reversed ? true : undefined);\n\nconst textListClasses = computed(() => [\n 'd-text-list',\n props.gap ? `d-text-list--gap-${props.gap}` : null,\n {\n 'd-text-list--ordered': isOrdered.value,\n },\n props.marker ? `d-text-list--marker-${props.marker}` : null,\n props.markerTone ? `d-text-list--marker-tone-${props.markerTone}` : null,\n]);\n\n// eslint-disable-next-line no-console\nconst warn = message => console.warn(`[DtTextList] ${message}`);\n\nfunction validateOrderedOnlyProps () {\n if (isOrdered.value) return;\n\n if (props.start !== undefined) {\n warn('The start prop only applies when type=\"ordered\".');\n }\n\n if (props.reversed) {\n warn('The reversed prop only applies when type=\"ordered\".');\n }\n}\n\nfunction validateMarkerFamily () {\n if (!props.marker || props.marker === 'none') return;\n\n if (props.type === 'ordered' && DT_TEXT_LIST_UNORDERED_MARKERS.includes(props.marker)) {\n warn(`The marker=\"${props.marker}\" value is usually used with type=\"unordered\".`);\n }\n\n if (props.type === 'unordered' && DT_TEXT_LIST_ORDERED_MARKERS.includes(props.marker)) {\n warn(`The marker=\"${props.marker}\" value is usually used with type=\"ordered\".`);\n }\n}\n\nfunction validateChildren () {\n const rootElement = listRef.value?.$el ?? listRef.value;\n if (!rootElement) return;\n\n for (const child of rootElement.children) {\n if (child.tagName === 'LI') continue;\n\n warn('Use DtTextListItem or a native li as the direct child of DtTextList.');\n break;\n }\n}\n\nonMounted(() => {\n if (process.env.NODE_ENV !== 'production') {\n validateOrderedOnlyProps();\n validateMarkerFamily();\n validateChildren();\n }\n});\n</script>\n"],"mappings":"umBA0CA,IAAM,EAAQ,EA0DR,GAAA,EAAA,EAAA,KAAc,KAAK,EAEzB,EAAA,EAAA,SAAQ,EAAA,qBAAsB,CAC5B,MAAA,EAAA,EAAA,OAAY,EAAO,OAAO,CAC3B,CAAC,CAEF,IAAM,GAAA,EAAA,EAAA,cAA2B,EAAM,OAAS,UAAU,CACpD,GAAA,EAAA,EAAA,cAA6B,EAAU,MAAQ,KAAO,KAAK,CAE3D,GAAA,EAAA,EAAA,cAAsB,EAAM,SAAW,OAAS,OAAS,IAAA,GAAU,CACnE,GAAA,EAAA,EAAA,cAA8B,EAAU,MAAQ,EAAM,MAAQ,IAAA,GAAU,CACxE,GAAA,EAAA,EAAA,cAAiC,EAAU,OAAS,EAAM,SAAW,GAAO,IAAA,GAAU,CAEtF,GAAA,EAAA,EAAA,cAAiC,CACrC,cACA,EAAM,IAAM,oBAAoB,EAAM,MAAQ,KAC9C,CACE,uBAAwB,EAAU,MACnC,CACD,EAAM,OAAS,uBAAuB,EAAM,SAAW,KACvD,EAAM,WAAa,4BAA4B,EAAM,aAAe,KACrE,CAAC,CAGI,EAAO,GAAW,QAAQ,KAAK,gBAAgB,IAAU,CAE/D,SAAS,GAA4B,CAC/B,EAAU,QAEV,EAAM,QAAU,IAAA,IAClB,EAAK,mDAAmD,CAGtD,EAAM,UACR,EAAK,sDAAsD,EAI/D,SAAS,GAAwB,CAC3B,CAAC,EAAM,QAAU,EAAM,SAAW,SAElC,EAAM,OAAS,WAAa,EAAA,+BAA+B,SAAS,EAAM,OAAO,EACnF,EAAK,eAAe,EAAM,OAAO,gDAAgD,CAG/E,EAAM,OAAS,aAAe,EAAA,6BAA6B,SAAS,EAAM,OAAO,EACnF,EAAK,eAAe,EAAM,OAAO,8CAA8C,EAInF,SAAS,GAAoB,CAC3B,IAAM,EAAc,EAAQ,OAAO,KAAO,EAAQ,MAC7C,KAEL,KAAK,IAAM,KAAS,EAAY,SAC1B,KAAM,UAAY,KAEtB,GAAK,uEAAuE,CAC5E,eAIJ,EAAA,EAAA,eAAgB,CACd,QAAA,IAAA,WAA6B,eAC3B,GAA0B,CAC1B,GAAsB,CACtB,GAAkB,GAEpB,2EArKO,EAAA,MAAW,CAAA,SACZ,UAAJ,IAAI,EACJ,UAAQ,eACP,OAAA,EAAA,EAAA,gBAAO,EAAA,MAAe,CACtB,KAAM,EAAA,MACN,MAAO,EAAA,MACP,SAAU,EAAA,kCAGH,EAAA,EAAA,EAAA,YAAA,EAAA,OAAA,UAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./common/utils/index.cjs`),t=require(`./lib/text-list/text-list-constants.cjs`),n=require(`./lib/text-list/validators.cjs`);let r=require(`vue`);var i=[`value`],a=(0,r.defineComponent)({name:`DtTextListItem`,__name:`TextListItem`,props:{value:{type:Number,default:void 0},markerTone:{type:String,default:void 0,validator:n.textListMarkerToneValidator},markerClass:{type:[String,Array,Object],default:``},contentClass:{type:[String,Array,Object],default:``}},setup(n){let a=n,o=(0,r.useSlots)(),s=(0,r.inject)(t.DT_TEXT_LIST_CONTEXT,null),c=(0,r.computed)(()=>s?(0,r.unref)(s.type):void 0),l=(0,r.computed)(()=>e.hasSlotContent(o.marker)),u=(0,r.computed)(()=>c.value===`ordered`?a.value:void 0),d=(0,r.computed)(()=>[`d-text-list__item`,{"d-text-list__item--custom-marker":l.value},a.markerTone?`d-text-list__item--marker-tone-${a.markerTone}`:null]),f=e=>console.warn(`[DtTextListItem] ${e}`);return(0,r.onMounted)(()=>{process.env.NODE_ENV!==`production`&&(s||f(`DtTextListItem must be used inside DtTextList.`),a.value!==void 0&&c.value!==`ordered`&&f(`The value prop only applies inside a DtTextList with type="ordered".`))}),(e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)(`li`,{"data-qa":`dt-text-list-item`,class:(0,r.normalizeClass)(d.value),value:u.value},[l.value?((0,r.openBlock)(),(0,r.createElementBlock)(`span`,{key:0,"data-qa":`dt-text-list-item-marker`,class:(0,r.normalizeClass)([`d-text-list__item-marker`,n.markerClass]),"aria-hidden":`true`},[(0,r.renderSlot)(e.$slots,`marker`)],2)):(0,r.createCommentVNode)(``,!0),(0,r.createElementVNode)(`div`,{"data-qa":`dt-text-list-item-content`,class:(0,r.normalizeClass)([`d-text-list__item-content`,n.contentClass])},[(0,r.renderSlot)(e.$slots,`default`)],2)],10,i))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
2
|
+
//# sourceMappingURL=TextListItem-DIlrCkaM.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextListItem-DIlrCkaM.cjs","names":[],"sources":["../components/TextList/TextListItem.vue","../components/TextList/TextListItem.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <li\n data-qa=\"dt-text-list-item\"\n :class=\"textListItemClasses\"\n :value=\"orderedValue\"\n >\n <span\n v-if=\"hasCustomMarker\"\n data-qa=\"dt-text-list-item-marker\"\n class=\"d-text-list__item-marker\"\n :class=\"markerClass\"\n aria-hidden=\"true\"\n >\n <!-- @slot Custom marker content. Decorative by default. -->\n <slot name=\"marker\" />\n </span>\n <div\n data-qa=\"dt-text-list-item-content\"\n :class=\"['d-text-list__item-content', contentClass]\"\n >\n <!-- @slot Text list item content. -->\n <slot />\n </div>\n </li>\n</template>\n\n<script setup lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n inject,\n onMounted,\n unref,\n useSlots,\n} from 'vue';\nimport { hasSlotContent } from '@/common/utils';\nimport { DT_TEXT_LIST_CONTEXT } from './TextListConstants';\nimport { textListMarkerToneValidator } from './Validators';\n\ndefineOptions({\n name: 'DtTextListItem',\n});\n\nconst props = defineProps({\n /**\n * Native `li` value for ordered lists.\n */\n value: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Marker foreground tone for this item. Overrides the parent DtTextList markerTone.\n * @values primary, secondary, tertiary, muted, disabled, placeholder, critical, critical-strong, positive, positive-strong, warning, info, info-strong, neutral-black, neutral-white\n */\n markerTone: {\n type: String,\n default: undefined,\n validator: textListMarkerToneValidator,\n },\n\n /**\n * Additional class name for the marker wrapper.\n */\n markerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content wrapper.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n});\n\nconst slots = useSlots();\nconst parentContext = inject(DT_TEXT_LIST_CONTEXT, null);\nconst parentType = computed(() => parentContext ? unref(parentContext.type) : undefined);\nconst hasCustomMarker = computed(() => hasSlotContent(slots.marker));\nconst orderedValue = computed(() => parentType.value === 'ordered' ? props.value : undefined);\nconst textListItemClasses = computed(() => [\n 'd-text-list__item',\n { 'd-text-list__item--custom-marker': hasCustomMarker.value },\n props.markerTone ? `d-text-list__item--marker-tone-${props.markerTone}` : null,\n]);\n\n// eslint-disable-next-line no-console\nconst warn = message => console.warn(`[DtTextListItem] ${message}`);\n\nonMounted(() => {\n if (process.env.NODE_ENV !== 'production') {\n if (!parentContext) {\n warn('DtTextListItem must be used inside DtTextList.');\n }\n\n if (props.value !== undefined && parentType.value !== 'ordered') {\n warn('The value prop only applies inside a DtTextList with type=\"ordered\".');\n }\n }\n});\n</script>\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <li\n data-qa=\"dt-text-list-item\"\n :class=\"textListItemClasses\"\n :value=\"orderedValue\"\n >\n <span\n v-if=\"hasCustomMarker\"\n data-qa=\"dt-text-list-item-marker\"\n class=\"d-text-list__item-marker\"\n :class=\"markerClass\"\n aria-hidden=\"true\"\n >\n <!-- @slot Custom marker content. Decorative by default. -->\n <slot name=\"marker\" />\n </span>\n <div\n data-qa=\"dt-text-list-item-content\"\n :class=\"['d-text-list__item-content', contentClass]\"\n >\n <!-- @slot Text list item content. -->\n <slot />\n </div>\n </li>\n</template>\n\n<script setup lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n inject,\n onMounted,\n unref,\n useSlots,\n} from 'vue';\nimport { hasSlotContent } from '@/common/utils';\nimport { DT_TEXT_LIST_CONTEXT } from './TextListConstants';\nimport { textListMarkerToneValidator } from './Validators';\n\ndefineOptions({\n name: 'DtTextListItem',\n});\n\nconst props = defineProps({\n /**\n * Native `li` value for ordered lists.\n */\n value: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Marker foreground tone for this item. Overrides the parent DtTextList markerTone.\n * @values primary, secondary, tertiary, muted, disabled, placeholder, critical, critical-strong, positive, positive-strong, warning, info, info-strong, neutral-black, neutral-white\n */\n markerTone: {\n type: String,\n default: undefined,\n validator: textListMarkerToneValidator,\n },\n\n /**\n * Additional class name for the marker wrapper.\n */\n markerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content wrapper.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n});\n\nconst slots = useSlots();\nconst parentContext = inject(DT_TEXT_LIST_CONTEXT, null);\nconst parentType = computed(() => parentContext ? unref(parentContext.type) : undefined);\nconst hasCustomMarker = computed(() => hasSlotContent(slots.marker));\nconst orderedValue = computed(() => parentType.value === 'ordered' ? props.value : undefined);\nconst textListItemClasses = computed(() => [\n 'd-text-list__item',\n { 'd-text-list__item--custom-marker': hasCustomMarker.value },\n props.markerTone ? `d-text-list__item--marker-tone-${props.markerTone}` : null,\n]);\n\n// eslint-disable-next-line no-console\nconst warn = message => console.warn(`[DtTextListItem] ${message}`);\n\nonMounted(() => {\n if (process.env.NODE_ENV !== 'production') {\n if (!parentContext) {\n warn('DtTextListItem must be used inside DtTextList.');\n }\n\n if (props.value !== undefined && parentType.value !== 'ordered') {\n warn('The value prop only applies inside a DtTextList with type=\"ordered\".');\n }\n }\n});\n</script>\n"],"mappings":"ogBA4CA,IAAM,EAAQ,EAoCR,GAAA,EAAA,EAAA,WAAkB,CAClB,GAAA,EAAA,EAAA,QAAuB,EAAA,qBAAsB,KAAK,CAClD,GAAA,EAAA,EAAA,cAA4B,GAAA,EAAA,EAAA,OAAsB,EAAc,KAAK,CAAG,IAAA,GAAU,CAClF,GAAA,EAAA,EAAA,cAAiC,EAAA,eAAe,EAAM,OAAO,CAAC,CAC9D,GAAA,EAAA,EAAA,cAA8B,EAAW,QAAU,UAAY,EAAM,MAAQ,IAAA,GAAU,CACvF,GAAA,EAAA,EAAA,cAAqC,CACzC,oBACA,CAAE,mCAAoC,EAAgB,MAAO,CAC7D,EAAM,WAAa,kCAAkC,EAAM,aAAe,KAC3E,CAAC,CAGI,EAAO,GAAW,QAAQ,KAAK,oBAAoB,IAAU,QAEnE,EAAA,EAAA,eAAgB,CACd,QAAA,IAAA,WAA6B,eACtB,GACH,EAAK,iDAAiD,CAGpD,EAAM,QAAU,IAAA,IAAa,EAAW,QAAU,WACpD,EAAK,uEAAuE,GAGhF,oDAhFK,KAAA,CArBH,UAAQ,oBACP,OAAA,EAAA,EAAA,gBAAO,EAAA,MAAmB,CAC1B,MAAO,EAAA,QAGA,EAAA,QAAA,EAAA,EAAA,YAAA,EAAA,EAAA,EAAA,oBAQD,OAAA,OAPL,UAAQ,2BACR,OAAA,EAAA,EAAA,gBAAK,CAAC,2BACE,EAAA,YAAW,CAAA,CACnB,cAAY,0BAGU,EAAA,OAAA,SAAA,CAAA,CAAA,EAAA,GAAA,EAAA,EAAA,oBAAA,GAAA,GAAA,EAAA,EAAA,EAAA,oBAQlB,MAAA,CALJ,UAAQ,4BACP,OAAA,EAAA,EAAA,gBAAK,CAAA,4BAAgC,EAAA,aAAY,CAAA,oBAG1C,EAAA,OAAA,UAAA,CAAA,CAAA,EAAA,CAAA,CAAA,GAAA,EAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { hasSlotContent as e } from "./common/utils/index.js";
|
|
2
|
+
import { DT_TEXT_LIST_CONTEXT as t } from "./lib/text-list/text-list-constants.js";
|
|
3
|
+
import { textListMarkerToneValidator as n } from "./lib/text-list/validators.js";
|
|
4
|
+
import { computed as r, createCommentVNode as i, createElementBlock as a, createElementVNode as o, defineComponent as s, inject as c, normalizeClass as l, onMounted as u, openBlock as d, renderSlot as f, unref as p, useSlots as m } from "vue";
|
|
5
|
+
//#region components/TextList/TextListItem.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var h = ["value"], g = /* @__PURE__ */ s({
|
|
7
|
+
name: "DtTextListItem",
|
|
8
|
+
__name: "TextListItem",
|
|
9
|
+
props: {
|
|
10
|
+
value: {
|
|
11
|
+
type: Number,
|
|
12
|
+
default: void 0
|
|
13
|
+
},
|
|
14
|
+
markerTone: {
|
|
15
|
+
type: String,
|
|
16
|
+
default: void 0,
|
|
17
|
+
validator: n
|
|
18
|
+
},
|
|
19
|
+
markerClass: {
|
|
20
|
+
type: [
|
|
21
|
+
String,
|
|
22
|
+
Array,
|
|
23
|
+
Object
|
|
24
|
+
],
|
|
25
|
+
default: ""
|
|
26
|
+
},
|
|
27
|
+
contentClass: {
|
|
28
|
+
type: [
|
|
29
|
+
String,
|
|
30
|
+
Array,
|
|
31
|
+
Object
|
|
32
|
+
],
|
|
33
|
+
default: ""
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
setup(n) {
|
|
37
|
+
let s = n, g = m(), _ = c(t, null), v = r(() => _ ? p(_.type) : void 0), y = r(() => e(g.marker)), b = r(() => v.value === "ordered" ? s.value : void 0), x = r(() => [
|
|
38
|
+
"d-text-list__item",
|
|
39
|
+
{ "d-text-list__item--custom-marker": y.value },
|
|
40
|
+
s.markerTone ? `d-text-list__item--marker-tone-${s.markerTone}` : null
|
|
41
|
+
]), S = (e) => console.warn(`[DtTextListItem] ${e}`);
|
|
42
|
+
return u(() => {
|
|
43
|
+
process.env.NODE_ENV !== "production" && (_ || S("DtTextListItem must be used inside DtTextList."), s.value !== void 0 && v.value !== "ordered" && S("The value prop only applies inside a DtTextList with type=\"ordered\"."));
|
|
44
|
+
}), (e, t) => (d(), a("li", {
|
|
45
|
+
"data-qa": "dt-text-list-item",
|
|
46
|
+
class: l(x.value),
|
|
47
|
+
value: b.value
|
|
48
|
+
}, [y.value ? (d(), a("span", {
|
|
49
|
+
key: 0,
|
|
50
|
+
"data-qa": "dt-text-list-item-marker",
|
|
51
|
+
class: l(["d-text-list__item-marker", n.markerClass]),
|
|
52
|
+
"aria-hidden": "true"
|
|
53
|
+
}, [f(e.$slots, "marker")], 2)) : i("", !0), o("div", {
|
|
54
|
+
"data-qa": "dt-text-list-item-content",
|
|
55
|
+
class: l(["d-text-list__item-content", n.contentClass])
|
|
56
|
+
}, [f(e.$slots, "default")], 2)], 10, h));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
//#endregion
|
|
60
|
+
export { g as t };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=TextListItem-ImUi_FWh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextListItem-ImUi_FWh.js","names":[],"sources":["../components/TextList/TextListItem.vue","../components/TextList/TextListItem.vue"],"sourcesContent":["<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <li\n data-qa=\"dt-text-list-item\"\n :class=\"textListItemClasses\"\n :value=\"orderedValue\"\n >\n <span\n v-if=\"hasCustomMarker\"\n data-qa=\"dt-text-list-item-marker\"\n class=\"d-text-list__item-marker\"\n :class=\"markerClass\"\n aria-hidden=\"true\"\n >\n <!-- @slot Custom marker content. Decorative by default. -->\n <slot name=\"marker\" />\n </span>\n <div\n data-qa=\"dt-text-list-item-content\"\n :class=\"['d-text-list__item-content', contentClass]\"\n >\n <!-- @slot Text list item content. -->\n <slot />\n </div>\n </li>\n</template>\n\n<script setup lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n inject,\n onMounted,\n unref,\n useSlots,\n} from 'vue';\nimport { hasSlotContent } from '@/common/utils';\nimport { DT_TEXT_LIST_CONTEXT } from './TextListConstants';\nimport { textListMarkerToneValidator } from './Validators';\n\ndefineOptions({\n name: 'DtTextListItem',\n});\n\nconst props = defineProps({\n /**\n * Native `li` value for ordered lists.\n */\n value: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Marker foreground tone for this item. Overrides the parent DtTextList markerTone.\n * @values primary, secondary, tertiary, muted, disabled, placeholder, critical, critical-strong, positive, positive-strong, warning, info, info-strong, neutral-black, neutral-white\n */\n markerTone: {\n type: String,\n default: undefined,\n validator: textListMarkerToneValidator,\n },\n\n /**\n * Additional class name for the marker wrapper.\n */\n markerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content wrapper.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n});\n\nconst slots = useSlots();\nconst parentContext = inject(DT_TEXT_LIST_CONTEXT, null);\nconst parentType = computed(() => parentContext ? unref(parentContext.type) : undefined);\nconst hasCustomMarker = computed(() => hasSlotContent(slots.marker));\nconst orderedValue = computed(() => parentType.value === 'ordered' ? props.value : undefined);\nconst textListItemClasses = computed(() => [\n 'd-text-list__item',\n { 'd-text-list__item--custom-marker': hasCustomMarker.value },\n props.markerTone ? `d-text-list__item--marker-tone-${props.markerTone}` : null,\n]);\n\n// eslint-disable-next-line no-console\nconst warn = message => console.warn(`[DtTextListItem] ${message}`);\n\nonMounted(() => {\n if (process.env.NODE_ENV !== 'production') {\n if (!parentContext) {\n warn('DtTextListItem must be used inside DtTextList.');\n }\n\n if (props.value !== undefined && parentType.value !== 'ordered') {\n warn('The value prop only applies inside a DtTextList with type=\"ordered\".');\n }\n }\n});\n</script>\n","<!-- eslint-disable vue/no-restricted-class -->\n<template>\n <li\n data-qa=\"dt-text-list-item\"\n :class=\"textListItemClasses\"\n :value=\"orderedValue\"\n >\n <span\n v-if=\"hasCustomMarker\"\n data-qa=\"dt-text-list-item-marker\"\n class=\"d-text-list__item-marker\"\n :class=\"markerClass\"\n aria-hidden=\"true\"\n >\n <!-- @slot Custom marker content. Decorative by default. -->\n <slot name=\"marker\" />\n </span>\n <div\n data-qa=\"dt-text-list-item-content\"\n :class=\"['d-text-list__item-content', contentClass]\"\n >\n <!-- @slot Text list item content. -->\n <slot />\n </div>\n </li>\n</template>\n\n<script setup lang=\"ts\">\n// @ts-nocheck\nimport {\n computed,\n inject,\n onMounted,\n unref,\n useSlots,\n} from 'vue';\nimport { hasSlotContent } from '@/common/utils';\nimport { DT_TEXT_LIST_CONTEXT } from './TextListConstants';\nimport { textListMarkerToneValidator } from './Validators';\n\ndefineOptions({\n name: 'DtTextListItem',\n});\n\nconst props = defineProps({\n /**\n * Native `li` value for ordered lists.\n */\n value: {\n type: Number,\n default: undefined,\n },\n\n /**\n * Marker foreground tone for this item. Overrides the parent DtTextList markerTone.\n * @values primary, secondary, tertiary, muted, disabled, placeholder, critical, critical-strong, positive, positive-strong, warning, info, info-strong, neutral-black, neutral-white\n */\n markerTone: {\n type: String,\n default: undefined,\n validator: textListMarkerToneValidator,\n },\n\n /**\n * Additional class name for the marker wrapper.\n */\n markerClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Additional class name for the content wrapper.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n});\n\nconst slots = useSlots();\nconst parentContext = inject(DT_TEXT_LIST_CONTEXT, null);\nconst parentType = computed(() => parentContext ? unref(parentContext.type) : undefined);\nconst hasCustomMarker = computed(() => hasSlotContent(slots.marker));\nconst orderedValue = computed(() => parentType.value === 'ordered' ? props.value : undefined);\nconst textListItemClasses = computed(() => [\n 'd-text-list__item',\n { 'd-text-list__item--custom-marker': hasCustomMarker.value },\n props.markerTone ? `d-text-list__item--marker-tone-${props.markerTone}` : null,\n]);\n\n// eslint-disable-next-line no-console\nconst warn = message => console.warn(`[DtTextListItem] ${message}`);\n\nonMounted(() => {\n if (process.env.NODE_ENV !== 'production') {\n if (!parentContext) {\n warn('DtTextListItem must be used inside DtTextList.');\n }\n\n if (props.value !== undefined && parentType.value !== 'ordered') {\n warn('The value prop only applies inside a DtTextList with type=\"ordered\".');\n }\n }\n});\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4CA,IAAM,IAAQ,GAoCR,IAAQ,GAAU,EAClB,IAAgB,EAAO,GAAsB,KAAK,EAClD,IAAa,QAAe,IAAgB,EAAM,EAAc,KAAK,GAAG,KAAA,EAAU,EAClF,IAAkB,QAAe,EAAe,EAAM,OAAO,CAAC,EAC9D,IAAe,QAAe,EAAW,UAAU,YAAY,EAAM,QAAQ,KAAA,EAAU,EACvF,IAAsB,QAAe;GACzC;GACA,EAAE,oCAAoC,EAAgB,OAAO;GAC7D,EAAM,aAAa,kCAAkC,EAAM,eAAe;GAC3E,CAAC,EAGI,KAAO,MAAW,QAAQ,KAAK,oBAAoB,IAAU;SAEnE,QAAgB;AACd,GAAA,QAAA,IAAA,aAA6B,iBACtB,KACH,EAAK,iDAAiD,EAGpD,EAAM,UAAU,KAAA,KAAa,EAAW,UAAU,aACpD,EAAK,yEAAuE;IAGhF,kBAtGA,EAsBK,MAAA;GArBH,WAAQ;GACP,OAAK,EAAE,EAAA,MAAmB;GAC1B,OAAO,EAAA;MAGA,EAAA,SAAA,GAAA,EADR,EASO,QAAA;;GAPL,WAAQ;GACR,OAAK,EAAA,CAAC,4BACE,EAAA,YAAW,CAAA;GACnB,eAAY;MAGZ,EAAsB,EAAA,QAAA,SAAA,CAAA,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA,EAExB,EAMM,OAAA;GALJ,WAAQ;GACP,OAAK,EAAA,CAAA,6BAAgC,EAAA,aAAY,CAAA;MAGlD,EAAQ,EAAA,QAAA,UAAA,CAAA,EAAA,EAAA,CAAA,EAAA,IAAA,EAAA"}
|