@dialpad/dialtone-vue 3.120.0 → 3.120.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js +11 -0
- package/dist/chunks/_plugin-vue_export-helper-caHeSgYY.js.map +1 -0
- package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js +10 -0
- package/dist/chunks/_plugin-vue_export-helper-fhnQq0tA.js.map +1 -0
- package/dist/chunks/{dropdown-eWOvBvwq.js → dropdown-Hn-TeTvZ.js} +151 -104
- package/dist/chunks/{dropdown-UO3UJalk.js.map → dropdown-Hn-TeTvZ.js.map} +1 -1
- package/dist/chunks/dropdown-w8Do29L5.js +442 -0
- package/dist/chunks/{dropdown-eWOvBvwq.js.map → dropdown-w8Do29L5.js.map} +1 -1
- package/dist/chunks/dropdown_constants-2pGCXy7m.js +8 -0
- package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
- package/dist/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
- package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
- package/dist/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
- package/dist/chunks/{icon_constants-2S_OSQ1t.js.map → icon_constants-Dy4MEUJL.js.map} +1 -1
- package/dist/chunks/icon_constants-QYpmdE0R.js +16 -0
- package/dist/chunks/{icon_constants-OpYAAKwF.js.map → icon_constants-QYpmdE0R.js.map} +1 -1
- package/dist/chunks/index-4qgKeErp.js +446 -0
- package/dist/chunks/{index-b4iXYvId.js.map → index-4qgKeErp.js.map} +1 -1
- package/dist/chunks/index-b_MgDylR.js +447 -0
- package/dist/chunks/{index-6tYeqbgP.js.map → index-b_MgDylR.js.map} +1 -1
- package/dist/chunks/{input-4UQWegUk.js → input-NmYDD5bn.js} +83 -60
- package/dist/chunks/{input-0Uksk4DP.js.map → input-NmYDD5bn.js.map} +1 -1
- package/dist/chunks/input-ttnte8zB.js +295 -0
- package/dist/chunks/{input-4UQWegUk.js.map → input-ttnte8zB.js.map} +1 -1
- package/dist/chunks/input_group-M-D25pOJ.js +152 -0
- package/dist/chunks/{input_group-bBKaq3Wi.js.map → input_group-M-D25pOJ.js.map} +1 -1
- package/dist/chunks/{input_group-bBKaq3Wi.js → input_group-jWnq2DJT.js} +27 -24
- package/dist/chunks/{input_group-AS760Cp7.js.map → input_group-jWnq2DJT.js.map} +1 -1
- package/dist/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
- package/dist/chunks/{keyboard_list_navigation-N74Bpdq7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
- package/dist/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
- package/dist/chunks/{keyboard_list_navigation-F0O8nht0.js.map → keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
- package/dist/chunks/link_constants-Huj7D_hm.js +22 -0
- package/dist/chunks/{link_constants-Kn6kP4i1.js.map → link_constants-Huj7D_hm.js.map} +1 -1
- package/dist/chunks/link_constants-nWVlXQBs.js +23 -0
- package/dist/chunks/{link_constants-vIUB92L4.js.map → link_constants-nWVlXQBs.js.map} +1 -1
- package/dist/chunks/list_item_constants-EiqkqZvP.js +13 -0
- package/dist/chunks/{list_item_constants-Tsz5CO1m.js.map → list_item_constants-EiqkqZvP.js.map} +1 -1
- package/dist/chunks/list_item_constants-u1xcN9Dd.js +14 -0
- package/dist/chunks/{list_item_constants-LTUc74pD.js.map → list_item_constants-u1xcN9Dd.js.map} +1 -1
- package/dist/chunks/modal-VgxXAQFP.js +105 -0
- package/dist/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
- package/dist/chunks/modal-XOr4kiNZ.js +106 -0
- package/dist/chunks/{modal-VuMFkZFH.js.map → modal-XOr4kiNZ.js.map} +1 -1
- package/dist/chunks/notice_action-WTucGhvr.js +222 -0
- package/dist/chunks/{notice_action-tJfD5Qw1.js.map → notice_action-WTucGhvr.js.map} +1 -1
- package/dist/chunks/notice_action-p-ePanW_.js +223 -0
- package/dist/chunks/{notice_action-jO199emq.js.map → notice_action-p-ePanW_.js.map} +1 -1
- package/dist/chunks/notice_constants-7Qt2CQEY.js +7 -0
- package/dist/chunks/{notice_constants-mC6al2Dm.js.map → notice_constants-7Qt2CQEY.js.map} +1 -1
- package/dist/chunks/notice_constants-UXo9e3bS.js +6 -0
- package/dist/chunks/{notice_constants-c--hBFQw.js.map → notice_constants-UXo9e3bS.js.map} +1 -1
- package/dist/chunks/popover_constants-JwBF9h1Z.js +143 -0
- package/dist/chunks/{popover_constants-hOEhklvr.js.map → popover_constants-JwBF9h1Z.js.map} +1 -1
- package/dist/chunks/popover_constants-Qkpb0yh2.js +144 -0
- package/dist/chunks/{popover_constants-qjlEkroB.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
- package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js → sr_only_close_button-3EdsV-dH.js} +28 -24
- package/dist/chunks/{sr_only_close_button-iD7s1Pbj.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
- package/dist/chunks/sr_only_close_button-xGrHFjwA.js +91 -0
- package/dist/chunks/{sr_only_close_button-7O-Ev8uM.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
- package/dist/chunks/stack_constants-HraCekPm.js +15 -0
- package/dist/chunks/{stack_constants-m9Ickqw0.js.map → stack_constants-HraCekPm.js.map} +1 -1
- package/dist/chunks/stack_constants-SMzMWnAQ.js +14 -0
- package/dist/chunks/{stack_constants-u7tNqGtc.js.map → stack_constants-SMzMWnAQ.js.map} +1 -1
- package/dist/chunks/tab-RTDgnD9-.js +391 -0
- package/dist/chunks/{tab-at7WWglk.js.map → tab-RTDgnD9-.js.map} +1 -1
- package/dist/chunks/tab-qc3f42Yp.js +390 -0
- package/dist/chunks/{tab-GQZFMq83.js.map → tab-qc3f42Yp.js.map} +1 -1
- package/dist/common/constants.cjs +60 -0
- package/dist/{lib → common}/constants.cjs.map +1 -1
- package/dist/{lib → common}/constants.js +25 -18
- package/dist/{lib → common}/constants.js.map +1 -1
- package/dist/common/dates.cjs +72 -0
- package/dist/{lib → common}/dates.cjs.map +1 -1
- package/dist/common/dates.js +72 -0
- package/dist/{lib → common}/dates.js.map +1 -1
- package/dist/common/emoji.cjs +163 -0
- package/dist/common/emoji.cjs.map +1 -0
- package/dist/common/emoji.js +168 -0
- package/dist/common/emoji.js.map +1 -0
- package/dist/common/mixins.cjs +17 -0
- package/dist/{lib → common}/mixins.cjs.map +1 -1
- package/dist/common/mixins.js +17 -0
- package/dist/common/utils.cjs +243 -0
- package/dist/{lib → common}/utils.cjs.map +1 -1
- package/dist/common/utils.js +243 -0
- package/dist/{lib → common}/utils.js.map +1 -1
- package/dist/common/validators.cjs +23 -0
- package/dist/{lib → common}/validators.cjs.map +1 -1
- package/dist/common/validators.js +23 -0
- package/dist/{lib → common}/validators.js.map +1 -1
- package/dist/dialtone-vue.cjs +373 -1
- package/dist/dialtone-vue.cjs.map +1 -1
- package/dist/dialtone-vue.js +328 -327
- package/dist/dialtone-vue.js.map +1 -1
- package/dist/lib/attachment-carousel.cjs +345 -1
- package/dist/lib/attachment-carousel.cjs.map +1 -1
- package/dist/lib/attachment-carousel.js +126 -108
- package/dist/lib/attachment-carousel.js.map +1 -1
- package/dist/lib/avatar.cjs +447 -1
- package/dist/lib/avatar.cjs.map +1 -1
- package/dist/lib/avatar.js +135 -101
- package/dist/lib/avatar.js.map +1 -1
- package/dist/lib/badge.cjs +206 -1
- package/dist/lib/badge.cjs.map +1 -1
- package/dist/lib/badge.js +64 -48
- package/dist/lib/badge.js.map +1 -1
- package/dist/lib/banner.cjs +242 -2
- package/dist/lib/banner.cjs.map +1 -1
- package/dist/lib/banner.js +81 -71
- package/dist/lib/banner.js.map +1 -1
- package/dist/lib/breadcrumbs.cjs +150 -1
- package/dist/lib/breadcrumbs.cjs.map +1 -1
- package/dist/lib/breadcrumbs.js +60 -52
- package/dist/lib/breadcrumbs.js.map +1 -1
- package/dist/lib/button-group.cjs +41 -1
- package/dist/lib/button-group.cjs.map +1 -1
- package/dist/lib/button-group.js +15 -14
- package/dist/lib/button-group.js.map +1 -1
- package/dist/lib/button.cjs +356 -1
- package/dist/lib/button.cjs.map +1 -1
- package/dist/lib/button.js +108 -88
- package/dist/lib/button.js.map +1 -1
- package/dist/lib/callbar-button-with-popover.cjs +322 -1
- package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
- package/dist/lib/callbar-button-with-popover.js +101 -83
- package/dist/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/lib/callbar-button.cjs +200 -1
- package/dist/lib/callbar-button.cjs.map +1 -1
- package/dist/lib/callbar-button.js +52 -45
- package/dist/lib/callbar-button.js.map +1 -1
- package/dist/lib/callbox.cjs +217 -1
- package/dist/lib/callbox.cjs.map +1 -1
- package/dist/lib/callbox.js +80 -67
- package/dist/lib/callbox.js.map +1 -1
- package/dist/lib/card.cjs +91 -1
- package/dist/lib/card.cjs.map +1 -1
- package/dist/lib/card.js +27 -27
- package/dist/lib/card.js.map +1 -1
- package/dist/lib/checkbox-group.cjs +115 -1
- package/dist/lib/checkbox-group.cjs.map +1 -1
- package/dist/lib/checkbox-group.js +34 -23
- package/dist/lib/checkbox-group.js.map +1 -1
- package/dist/lib/checkbox.cjs +156 -1
- package/dist/lib/checkbox.cjs.map +1 -1
- package/dist/lib/checkbox.js +72 -60
- package/dist/lib/checkbox.js.map +1 -1
- package/dist/lib/chip.cjs +235 -1
- package/dist/lib/chip.cjs.map +1 -1
- package/dist/lib/chip.js +84 -67
- package/dist/lib/chip.js.map +1 -1
- package/dist/lib/codeblock.cjs +23 -2
- package/dist/lib/codeblock.cjs.map +1 -1
- package/dist/lib/codeblock.js +13 -13
- package/dist/lib/codeblock.js.map +1 -1
- package/dist/lib/collapsible.cjs +398 -1
- package/dist/lib/collapsible.cjs.map +1 -1
- package/dist/lib/collapsible.js +123 -100
- package/dist/lib/collapsible.js.map +1 -1
- package/dist/lib/combobox-multi-select.cjs +589 -1
- package/dist/lib/combobox-multi-select.cjs.map +1 -1
- package/dist/lib/combobox-multi-select.js +270 -177
- package/dist/lib/combobox-multi-select.js.map +1 -1
- package/dist/lib/combobox-with-popover.cjs +452 -1
- package/dist/lib/combobox-with-popover.cjs.map +1 -1
- package/dist/lib/combobox-with-popover.js +172 -127
- package/dist/lib/combobox-with-popover.js.map +1 -1
- package/dist/lib/combobox.cjs +18 -1
- package/dist/lib/combobox.cjs.map +1 -1
- package/dist/lib/combobox.js +9 -9
- package/dist/lib/contact-info.cjs +205 -1
- package/dist/lib/contact-info.cjs.map +1 -1
- package/dist/lib/contact-info.js +69 -60
- package/dist/lib/contact-info.js.map +1 -1
- package/dist/lib/contact-row.cjs +246 -1
- package/dist/lib/contact-row.cjs.map +1 -1
- package/dist/lib/contact-row.js +67 -63
- package/dist/lib/contact-row.js.map +1 -1
- package/dist/lib/datepicker.cjs +854 -1
- package/dist/lib/datepicker.cjs.map +1 -1
- package/dist/lib/datepicker.js +585 -441
- package/dist/lib/datepicker.js.map +1 -1
- package/dist/lib/description-list.cjs +116 -1
- package/dist/lib/description-list.cjs.map +1 -1
- package/dist/lib/description-list.js +56 -24
- package/dist/lib/description-list.js.map +1 -1
- package/dist/lib/dropdown.cjs +36 -1
- package/dist/lib/dropdown.cjs.map +1 -1
- package/dist/lib/dropdown.js +22 -21
- package/dist/lib/dropdown.js.map +1 -1
- package/dist/lib/editor.cjs +711 -1
- package/dist/lib/editor.cjs.map +1 -1
- package/dist/lib/editor.js +271 -235
- package/dist/lib/editor.js.map +1 -1
- package/dist/lib/emoji-picker.cjs +1277 -1
- package/dist/lib/emoji-picker.cjs.map +1 -1
- package/dist/lib/emoji-picker.js +859 -569
- package/dist/lib/emoji-picker.js.map +1 -1
- package/dist/lib/emoji-row.cjs +128 -1
- package/dist/lib/emoji-row.cjs.map +1 -1
- package/dist/lib/emoji-row.js +89 -75
- package/dist/lib/emoji-row.js.map +1 -1
- package/dist/lib/emoji-text-wrapper.cjs +102 -1
- package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
- package/dist/lib/emoji-text-wrapper.js +42 -31
- package/dist/lib/emoji-text-wrapper.js.map +1 -1
- package/dist/lib/emoji.cjs +158 -1
- package/dist/lib/emoji.cjs.map +1 -1
- package/dist/lib/emoji.js +153 -6
- package/dist/lib/emoji.js.map +1 -1
- package/dist/lib/feed-item-row.cjs +296 -1
- package/dist/lib/feed-item-row.cjs.map +1 -1
- package/dist/lib/feed-item-row.js +119 -100
- package/dist/lib/feed-item-row.js.map +1 -1
- package/dist/lib/feed-pill.cjs +173 -1
- package/dist/lib/feed-pill.cjs.map +1 -1
- package/dist/lib/feed-pill.js +70 -57
- package/dist/lib/feed-pill.js.map +1 -1
- package/dist/lib/general-row.cjs +518 -1
- package/dist/lib/general-row.cjs.map +1 -1
- package/dist/lib/general-row.js +186 -148
- package/dist/lib/general-row.js.map +1 -1
- package/dist/lib/group-row.cjs +116 -1
- package/dist/lib/group-row.cjs.map +1 -1
- package/dist/lib/group-row.js +37 -35
- package/dist/lib/group-row.js.map +1 -1
- package/dist/lib/grouped-chip.cjs +96 -1
- package/dist/lib/grouped-chip.cjs.map +1 -1
- package/dist/lib/grouped-chip.js +51 -46
- package/dist/lib/grouped-chip.js.map +1 -1
- package/dist/lib/hovercard.cjs +223 -1
- package/dist/lib/hovercard.cjs.map +1 -1
- package/dist/lib/hovercard.js +115 -80
- package/dist/lib/hovercard.js.map +1 -1
- package/dist/lib/icon.cjs +58 -1
- package/dist/lib/icon.cjs.map +1 -1
- package/dist/lib/icon.js +20 -20
- package/dist/lib/icon.js.map +1 -1
- package/dist/lib/image-viewer.cjs +243 -1
- package/dist/lib/image-viewer.cjs.map +1 -1
- package/dist/lib/image-viewer.js +104 -80
- package/dist/lib/image-viewer.js.map +1 -1
- package/dist/lib/input-group.cjs +91 -1
- package/dist/lib/input-group.cjs.map +1 -1
- package/dist/lib/input-group.js +41 -39
- package/dist/lib/input-group.js.map +1 -1
- package/dist/lib/input.cjs +578 -1
- package/dist/lib/input.cjs.map +1 -1
- package/dist/lib/input.js +185 -137
- package/dist/lib/input.js.map +1 -1
- package/dist/lib/item-layout.cjs +91 -1
- package/dist/lib/item-layout.cjs.map +1 -1
- package/dist/lib/item-layout.js +45 -39
- package/dist/lib/item-layout.js.map +1 -1
- package/dist/lib/ivr-node.cjs +263 -1
- package/dist/lib/ivr-node.cjs.map +1 -1
- package/dist/lib/ivr-node.js +130 -112
- package/dist/lib/ivr-node.js.map +1 -1
- package/dist/lib/keyboard-shortcut.cjs +119 -1
- package/dist/lib/keyboard-shortcut.cjs.map +1 -1
- package/dist/lib/keyboard-shortcut.js +58 -48
- package/dist/lib/keyboard-shortcut.js.map +1 -1
- package/dist/lib/lazy-show.cjs +82 -1
- package/dist/lib/lazy-show.cjs.map +1 -1
- package/dist/lib/lazy-show.js +21 -19
- package/dist/lib/lazy-show.js.map +1 -1
- package/dist/lib/link.cjs +43 -1
- package/dist/lib/link.cjs.map +1 -1
- package/dist/lib/link.js +20 -19
- package/dist/lib/link.js.map +1 -1
- package/dist/lib/list-item-group.cjs +67 -1
- package/dist/lib/list-item-group.cjs.map +1 -1
- package/dist/lib/list-item-group.js +24 -22
- package/dist/lib/list-item-group.js.map +1 -1
- package/dist/lib/list-item.cjs +216 -1
- package/dist/lib/list-item.cjs.map +1 -1
- package/dist/lib/list-item.js +71 -60
- package/dist/lib/list-item.js.map +1 -1
- package/dist/lib/message-input.cjs +708 -1
- package/dist/lib/message-input.cjs.map +1 -1
- package/dist/lib/message-input.js +232 -206
- package/dist/lib/message-input.js.map +1 -1
- package/dist/lib/modal.cjs +444 -2
- package/dist/lib/modal.cjs.map +1 -1
- package/dist/lib/modal.js +153 -120
- package/dist/lib/modal.js.map +1 -1
- package/dist/lib/notice.cjs +197 -1
- package/dist/lib/notice.cjs.map +1 -1
- package/dist/lib/notice.js +66 -63
- package/dist/lib/notice.js.map +1 -1
- package/dist/lib/pagination.cjs +205 -1
- package/dist/lib/pagination.cjs.map +1 -1
- package/dist/lib/pagination.js +96 -81
- package/dist/lib/pagination.js.map +1 -1
- package/dist/lib/popover.cjs +1080 -1
- package/dist/lib/popover.cjs.map +1 -1
- package/dist/lib/popover.js +447 -267
- package/dist/lib/popover.js.map +1 -1
- package/dist/lib/presence.cjs +70 -1
- package/dist/lib/presence.cjs.map +1 -1
- package/dist/lib/presence.js +33 -27
- package/dist/lib/presence.js.map +1 -1
- package/dist/lib/radio-group.cjs +88 -1
- package/dist/lib/radio-group.cjs.map +1 -1
- package/dist/lib/radio-group.js +18 -18
- package/dist/lib/radio-group.js.map +1 -1
- package/dist/lib/radio.cjs +162 -1
- package/dist/lib/radio.cjs.map +1 -1
- package/dist/lib/radio.js +66 -57
- package/dist/lib/radio.js.map +1 -1
- package/dist/lib/rich-text-editor.cjs +1137 -1
- package/dist/lib/rich-text-editor.cjs.map +1 -1
- package/dist/lib/rich-text-editor.js +567 -386
- package/dist/lib/rich-text-editor.js.map +1 -1
- package/dist/lib/root-layout.cjs +158 -1
- package/dist/lib/root-layout.cjs.map +1 -1
- package/dist/lib/root-layout.js +33 -31
- package/dist/lib/root-layout.js.map +1 -1
- package/dist/lib/scroller.cjs +1090 -1
- package/dist/lib/scroller.cjs.map +1 -1
- package/dist/lib/scroller.js +668 -345
- package/dist/lib/scroller.js.map +1 -1
- package/dist/lib/select-menu.cjs +312 -1
- package/dist/lib/select-menu.cjs.map +1 -1
- package/dist/lib/select-menu.js +124 -79
- package/dist/lib/select-menu.js.map +1 -1
- package/dist/lib/settings-menu-button.cjs +77 -1
- package/dist/lib/settings-menu-button.cjs.map +1 -1
- package/dist/lib/settings-menu-button.js +31 -30
- package/dist/lib/settings-menu-button.js.map +1 -1
- package/dist/lib/skeleton.cjs +635 -1
- package/dist/lib/skeleton.cjs.map +1 -1
- package/dist/lib/skeleton.js +189 -152
- package/dist/lib/skeleton.js.map +1 -1
- package/dist/lib/stack.cjs +123 -1
- package/dist/lib/stack.cjs.map +1 -1
- package/dist/lib/stack.js +61 -53
- package/dist/lib/stack.js.map +1 -1
- package/dist/lib/tabs.cjs +102 -1
- package/dist/lib/tabs.cjs.map +1 -1
- package/dist/lib/tabs.js +47 -41
- package/dist/lib/tabs.js.map +1 -1
- package/dist/lib/time-pill.cjs +41 -1
- package/dist/lib/time-pill.cjs.map +1 -1
- package/dist/lib/time-pill.js +18 -14
- package/dist/lib/time-pill.js.map +1 -1
- package/dist/lib/toast.cjs +281 -1
- package/dist/lib/toast.cjs.map +1 -1
- package/dist/lib/toast.js +96 -74
- package/dist/lib/toast.js.map +1 -1
- package/dist/lib/toggle.cjs +192 -1
- package/dist/lib/toggle.cjs.map +1 -1
- package/dist/lib/toggle.js +60 -49
- package/dist/lib/toggle.js.map +1 -1
- package/dist/lib/tooltip-directive.cjs +84 -1
- package/dist/lib/tooltip-directive.cjs.map +1 -1
- package/dist/lib/tooltip-directive.js +56 -42
- package/dist/lib/tooltip-directive.js.map +1 -1
- package/dist/lib/tooltip.cjs +460 -1
- package/dist/lib/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip.js +162 -103
- package/dist/lib/tooltip.js.map +1 -1
- package/dist/lib/top-banner-info.cjs +71 -1
- package/dist/lib/top-banner-info.cjs.map +1 -1
- package/dist/lib/top-banner-info.js +27 -22
- package/dist/lib/top-banner-info.js.map +1 -1
- package/dist/lib/unread-pill.cjs +73 -1
- package/dist/lib/unread-pill.cjs.map +1 -1
- package/dist/lib/unread-pill.js +28 -25
- package/dist/lib/unread-pill.js.map +1 -1
- package/dist/lib/validation-messages.cjs +89 -1
- package/dist/lib/validation-messages.cjs.map +1 -1
- package/dist/lib/validation-messages.js +41 -36
- package/dist/lib/validation-messages.js.map +1 -1
- package/dist/style.css +1257 -1
- package/dist/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
- package/dist/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
- package/package.json +30 -29
- package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js +0 -2
- package/dist/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +0 -1
- package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js +0 -10
- package/dist/chunks/_plugin-vue_export-helper-hUChTQA_.js.map +0 -1
- package/dist/chunks/dropdown-UO3UJalk.js +0 -2
- package/dist/chunks/dropdown_constants-EUcDxBrX.js +0 -9
- package/dist/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
- package/dist/chunks/dropdown_constants-KHFvVI2L.js +0 -2
- package/dist/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
- package/dist/chunks/icon_constants-2S_OSQ1t.js +0 -2
- package/dist/chunks/index-6tYeqbgP.js +0 -3
- package/dist/chunks/index-IBtQ5jRJ.js +0 -2
- package/dist/chunks/index-IBtQ5jRJ.js.map +0 -1
- package/dist/chunks/index-b4iXYvId.js +0 -399
- package/dist/chunks/index-mRmwpCBG.js +0 -256
- package/dist/chunks/index-mRmwpCBG.js.map +0 -1
- package/dist/chunks/input-0Uksk4DP.js +0 -2
- package/dist/chunks/input_group-AS760Cp7.js +0 -2
- package/dist/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
- package/dist/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
- package/dist/chunks/link_constants-Kn6kP4i1.js +0 -2
- package/dist/chunks/link_constants-vIUB92L4.js +0 -16
- package/dist/chunks/list_item_constants-LTUc74pD.js +0 -13
- package/dist/chunks/list_item_constants-Tsz5CO1m.js +0 -2
- package/dist/chunks/modal-VuMFkZFH.js +0 -82
- package/dist/chunks/modal-qEzlo0Sj.js +0 -2
- package/dist/chunks/notice_action-jO199emq.js +0 -2
- package/dist/chunks/notice_action-tJfD5Qw1.js +0 -209
- package/dist/chunks/notice_constants-c--hBFQw.js +0 -6
- package/dist/chunks/notice_constants-mC6al2Dm.js +0 -2
- package/dist/chunks/popover_constants-hOEhklvr.js +0 -2
- package/dist/chunks/popover_constants-qjlEkroB.js +0 -114
- package/dist/chunks/sr_only_close_button-iD7s1Pbj.js +0 -3
- package/dist/chunks/stack_constants-m9Ickqw0.js +0 -2
- package/dist/chunks/stack_constants-u7tNqGtc.js +0 -13
- package/dist/chunks/tab-GQZFMq83.js +0 -367
- package/dist/chunks/tab-at7WWglk.js +0 -2
- package/dist/lib/constants.cjs +0 -2
- package/dist/lib/dates.cjs +0 -2
- package/dist/lib/dates.js +0 -57
- package/dist/lib/mixins.cjs +0 -2
- package/dist/lib/mixins.js +0 -17
- package/dist/lib/utils.cjs +0 -2
- package/dist/lib/utils.js +0 -171
- package/dist/lib/validators.cjs +0 -2
- package/dist/lib/validators.js +0 -12
- /package/dist/{lib → common}/mixins.js.map +0 -0
package/dist/dialtone-vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialtone-vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dialtone-vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,346 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const vue = require("vue");
|
|
4
|
+
const _pluginVue_exportHelper = require("../chunks/_plugin-vue_export-helper-fhnQq0tA.js");
|
|
5
|
+
const lib_imageViewer = require("./image-viewer.cjs");
|
|
6
|
+
const lib_button = require("./button.cjs");
|
|
7
|
+
const lib_icon = require("./icon.cjs");
|
|
8
|
+
require("../chunks/modal-VgxXAQFP.js");
|
|
9
|
+
require("../common/constants.cjs");
|
|
10
|
+
require("../common/utils.cjs");
|
|
11
|
+
require("../chunks/link_constants-Huj7D_hm.js");
|
|
12
|
+
require("@dialpad/dialtone-icons/vue3");
|
|
13
|
+
require("../chunks/icon_constants-QYpmdE0R.js");
|
|
14
|
+
require("@dialpad/dialtone-icons/icons.json");
|
|
15
|
+
const _sfc_main$2 = {
|
|
16
|
+
name: "DtProgressBar",
|
|
17
|
+
props: {
|
|
18
|
+
progressbarAriaLabel: {
|
|
19
|
+
type: String,
|
|
20
|
+
required: true
|
|
21
|
+
},
|
|
22
|
+
progress: {
|
|
23
|
+
type: Number,
|
|
24
|
+
default: 20
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
data: () => ({
|
|
28
|
+
circleCircumference: 50
|
|
29
|
+
}),
|
|
30
|
+
computed: {
|
|
31
|
+
cssVars() {
|
|
32
|
+
return {
|
|
33
|
+
"--stroke-dashoffset": this.circleCircumference - this.circleCircumference * this.progress / 100,
|
|
34
|
+
"--stroke-dasharray": this.circleCircumference
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
mounted() {
|
|
39
|
+
this.circleCircumference = this.$refs.progressbarCircle.getTotalLength();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const _hoisted_1$2 = ["aria-label", "aria-valuenow"];
|
|
43
|
+
const _hoisted_2$1 = {
|
|
44
|
+
ref: "progressbarCircle",
|
|
45
|
+
r: "8",
|
|
46
|
+
cx: "12",
|
|
47
|
+
cy: "12",
|
|
48
|
+
class: "progress-bar__circle"
|
|
49
|
+
};
|
|
50
|
+
const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("circle", {
|
|
51
|
+
r: "8",
|
|
52
|
+
cx: "12",
|
|
53
|
+
cy: "12",
|
|
54
|
+
class: "progress-bar__circle"
|
|
55
|
+
}, null, -1);
|
|
56
|
+
function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) {
|
|
57
|
+
return vue.openBlock(), vue.createElementBlock("div", {
|
|
58
|
+
role: "progressbar",
|
|
59
|
+
"aria-label": $props.progressbarAriaLabel,
|
|
60
|
+
tabindex: "-1",
|
|
61
|
+
"aria-valuenow": $props.progress,
|
|
62
|
+
"aria-valuemin": "0",
|
|
63
|
+
"aria-valuemax": "100"
|
|
64
|
+
}, [
|
|
65
|
+
(vue.openBlock(), vue.createElementBlock("svg", {
|
|
66
|
+
class: "progress-bar",
|
|
67
|
+
style: vue.normalizeStyle($options.cssVars)
|
|
68
|
+
}, [
|
|
69
|
+
vue.createElementVNode("circle", _hoisted_2$1, null, 512),
|
|
70
|
+
_hoisted_3
|
|
71
|
+
], 4))
|
|
72
|
+
], 8, _hoisted_1$2);
|
|
73
|
+
}
|
|
74
|
+
const DtProgressBar = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$2, [["render", _sfc_render$2]]);
|
|
75
|
+
const _sfc_main$1 = {
|
|
76
|
+
name: "DtImageCarousel",
|
|
77
|
+
components: {
|
|
78
|
+
DtImageViewer: lib_imageViewer.DtImageViewer,
|
|
79
|
+
DtButton: lib_button.DtButton,
|
|
80
|
+
DtIcon: lib_icon.DtIcon,
|
|
81
|
+
DtProgressBar
|
|
82
|
+
},
|
|
83
|
+
props: {
|
|
84
|
+
mediaItem: {
|
|
85
|
+
type: Object,
|
|
86
|
+
required: true
|
|
87
|
+
},
|
|
88
|
+
index: {
|
|
89
|
+
type: Number,
|
|
90
|
+
required: true
|
|
91
|
+
},
|
|
92
|
+
closeAriaLabel: {
|
|
93
|
+
type: String,
|
|
94
|
+
required: true
|
|
95
|
+
},
|
|
96
|
+
clickToOpenAriaLabel: {
|
|
97
|
+
type: String,
|
|
98
|
+
required: true
|
|
99
|
+
},
|
|
100
|
+
progressbarAriaLabel: {
|
|
101
|
+
type: String,
|
|
102
|
+
required: true
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
emits: [
|
|
106
|
+
/**
|
|
107
|
+
* Emitted when media close button is clicked to remove the image
|
|
108
|
+
*
|
|
109
|
+
* @event remove-media
|
|
110
|
+
* @type {Number}
|
|
111
|
+
*/
|
|
112
|
+
"remove-media"
|
|
113
|
+
],
|
|
114
|
+
methods: {
|
|
115
|
+
removeMediaItem(index) {
|
|
116
|
+
this.$emit("remove-media", index);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
const _hoisted_1$1 = { class: "dt-attachment-image" };
|
|
121
|
+
const _hoisted_2 = { class: "dt-attachment-image__top-right" };
|
|
122
|
+
function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
123
|
+
const _component_dt_image_viewer = vue.resolveComponent("dt-image-viewer");
|
|
124
|
+
const _component_dt_progress_bar = vue.resolveComponent("dt-progress-bar");
|
|
125
|
+
const _component_dt_icon = vue.resolveComponent("dt-icon");
|
|
126
|
+
const _component_dt_button = vue.resolveComponent("dt-button");
|
|
127
|
+
return vue.openBlock(), vue.createElementBlock("li", _hoisted_1$1, [
|
|
128
|
+
vue.createVNode(_component_dt_image_viewer, {
|
|
129
|
+
"image-button-class": "dt-attachment-image__image-viewer",
|
|
130
|
+
"image-src": $props.mediaItem.path,
|
|
131
|
+
"image-alt": $props.mediaItem.altText,
|
|
132
|
+
"close-aria-label": $props.closeAriaLabel,
|
|
133
|
+
"aria-label": $props.clickToOpenAriaLabel
|
|
134
|
+
}, null, 8, ["image-src", "image-alt", "close-aria-label", "aria-label"]),
|
|
135
|
+
vue.createElementVNode("div", _hoisted_2, [
|
|
136
|
+
$props.mediaItem.isUploading ? (vue.openBlock(), vue.createBlock(_component_dt_progress_bar, {
|
|
137
|
+
key: 0,
|
|
138
|
+
class: "dt-attachment-image__progress-bar",
|
|
139
|
+
progress: $props.mediaItem.progress,
|
|
140
|
+
"progressbar-aria-label": $props.progressbarAriaLabel
|
|
141
|
+
}, null, 8, ["progress", "progressbar-aria-label"])) : vue.createCommentVNode("", true),
|
|
142
|
+
vue.createVNode(_component_dt_button, {
|
|
143
|
+
id: `closeButton-${$props.index}`,
|
|
144
|
+
tabindex: "0",
|
|
145
|
+
class: "dt-attachment-image__close-button",
|
|
146
|
+
circle: "",
|
|
147
|
+
size: "xs",
|
|
148
|
+
importance: "clear",
|
|
149
|
+
"aria-label": $props.closeAriaLabel,
|
|
150
|
+
onClick: _cache[0] || (_cache[0] = ($event) => $options.removeMediaItem($props.index))
|
|
151
|
+
}, {
|
|
152
|
+
icon: vue.withCtx(() => [
|
|
153
|
+
vue.createVNode(_component_dt_icon, {
|
|
154
|
+
name: "close",
|
|
155
|
+
size: "200"
|
|
156
|
+
})
|
|
157
|
+
]),
|
|
158
|
+
_: 1
|
|
159
|
+
}, 8, ["id", "aria-label"])
|
|
160
|
+
])
|
|
161
|
+
]);
|
|
162
|
+
}
|
|
163
|
+
const DtImageCarousel = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
|
|
164
|
+
const MEDIA_ITEM_WIDTH = 64;
|
|
165
|
+
const _sfc_main = {
|
|
166
|
+
name: "DtRecipeAttachmentCarousel",
|
|
167
|
+
components: {
|
|
168
|
+
DtButton: lib_button.DtButton,
|
|
169
|
+
DtIcon: lib_icon.DtIcon,
|
|
170
|
+
DtImageCarousel
|
|
171
|
+
},
|
|
172
|
+
mixins: [],
|
|
173
|
+
/* inheritAttrs: false is generally an option we want to set on library
|
|
174
|
+
components. This allows any attributes passed in that are not recognized
|
|
175
|
+
as props to be passed down to another element or component using v-bind:$attrs
|
|
176
|
+
more info: https://vuejs.org/v2/api/#inheritAttrs */
|
|
177
|
+
// inheritAttrs: false,
|
|
178
|
+
props: {
|
|
179
|
+
/**
|
|
180
|
+
* media - object array of media objects
|
|
181
|
+
* @type {Array}
|
|
182
|
+
*
|
|
183
|
+
* Object: {
|
|
184
|
+
* path: String,
|
|
185
|
+
* altText: String | null,
|
|
186
|
+
* }
|
|
187
|
+
*/
|
|
188
|
+
mediaList: {
|
|
189
|
+
type: Array,
|
|
190
|
+
default: () => []
|
|
191
|
+
},
|
|
192
|
+
closeAriaLabel: {
|
|
193
|
+
type: String,
|
|
194
|
+
required: true
|
|
195
|
+
},
|
|
196
|
+
clickToOpenAriaLabel: {
|
|
197
|
+
type: String,
|
|
198
|
+
required: true
|
|
199
|
+
},
|
|
200
|
+
progressbarAriaLabel: {
|
|
201
|
+
type: String,
|
|
202
|
+
required: true
|
|
203
|
+
},
|
|
204
|
+
leftArrowAriaLabel: {
|
|
205
|
+
type: String,
|
|
206
|
+
required: true
|
|
207
|
+
},
|
|
208
|
+
rightArrowAriaLabel: {
|
|
209
|
+
type: String,
|
|
210
|
+
required: true
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
emits: [
|
|
214
|
+
/**
|
|
215
|
+
* Emitted when popover is shown or hidden
|
|
216
|
+
*
|
|
217
|
+
* @event remove-media
|
|
218
|
+
* @type {Number}
|
|
219
|
+
*/
|
|
220
|
+
"remove-media"
|
|
221
|
+
],
|
|
222
|
+
data() {
|
|
223
|
+
return {
|
|
224
|
+
showCloseButton: {},
|
|
225
|
+
showRightArrow: true,
|
|
226
|
+
showLeftArrow: false,
|
|
227
|
+
isMounted: false
|
|
228
|
+
};
|
|
229
|
+
},
|
|
230
|
+
computed: {
|
|
231
|
+
filteredMediaList() {
|
|
232
|
+
return this.mediaList.filter((mediaItem) => mediaItem.type === "image" || mediaItem.type === "video");
|
|
233
|
+
}
|
|
234
|
+
},
|
|
235
|
+
mounted: function() {
|
|
236
|
+
this.showLeftArrow = this.$refs.carousel.scrollLeft > 0;
|
|
237
|
+
this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth;
|
|
238
|
+
},
|
|
239
|
+
methods: {
|
|
240
|
+
onItemFocus(e) {
|
|
241
|
+
e.currentTarget.scrollIntoView({ behavior: "smooth" });
|
|
242
|
+
},
|
|
243
|
+
mediaComponent(type) {
|
|
244
|
+
switch (type) {
|
|
245
|
+
case "image":
|
|
246
|
+
return "dt-image-carousel";
|
|
247
|
+
default:
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
removeMediaItem(index) {
|
|
252
|
+
this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth + MEDIA_ITEM_WIDTH;
|
|
253
|
+
this.$emit("remove-media", index);
|
|
254
|
+
},
|
|
255
|
+
closeButton(val, index) {
|
|
256
|
+
this.showCloseButton[index] = val;
|
|
257
|
+
},
|
|
258
|
+
handleScroll() {
|
|
259
|
+
const carousel = this.$refs.carousel;
|
|
260
|
+
this.showLeftArrow = carousel.scrollLeft > 0;
|
|
261
|
+
this.showRightArrow = !(carousel.scrollLeft + carousel.clientWidth === carousel.scrollWidth);
|
|
262
|
+
},
|
|
263
|
+
leftScroll() {
|
|
264
|
+
this.$refs.carousel.scrollTo({
|
|
265
|
+
left: this.$refs.carousel.scrollLeft - 100,
|
|
266
|
+
behavior: "smooth"
|
|
267
|
+
});
|
|
268
|
+
},
|
|
269
|
+
rightScroll() {
|
|
270
|
+
this.$refs.carousel.scrollTo({
|
|
271
|
+
left: this.$refs.carousel.scrollLeft + 100,
|
|
272
|
+
behavior: "smooth"
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
const _hoisted_1 = {
|
|
278
|
+
class: "dt-attachment-carousel",
|
|
279
|
+
role: "presentation"
|
|
280
|
+
};
|
|
281
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
282
|
+
const _component_dt_icon = vue.resolveComponent("dt-icon");
|
|
283
|
+
const _component_dt_button = vue.resolveComponent("dt-button");
|
|
284
|
+
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
285
|
+
$props.mediaList.length > 0 ? (vue.openBlock(), vue.createElementBlock("ul", {
|
|
286
|
+
key: 0,
|
|
287
|
+
ref: "carousel",
|
|
288
|
+
class: "dt-attachment-carousel__media-list",
|
|
289
|
+
onScroll: _cache[0] || (_cache[0] = (...args) => $options.handleScroll && $options.handleScroll(...args))
|
|
290
|
+
}, [
|
|
291
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($options.filteredMediaList, (mediaItem, index) => {
|
|
292
|
+
return vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($options.mediaComponent(mediaItem.type)), {
|
|
293
|
+
key: `media-${index}`,
|
|
294
|
+
index,
|
|
295
|
+
"media-item": mediaItem,
|
|
296
|
+
"close-aria-label": $props.closeAriaLabel,
|
|
297
|
+
"click-to-open-aria-label": $props.clickToOpenAriaLabel,
|
|
298
|
+
"progressbar-aria-label": $props.progressbarAriaLabel,
|
|
299
|
+
onRemoveMedia: ($event) => $options.removeMediaItem(index),
|
|
300
|
+
onFocusin: $options.onItemFocus
|
|
301
|
+
}, null, 40, ["index", "media-item", "close-aria-label", "click-to-open-aria-label", "progressbar-aria-label", "onRemoveMedia", "onFocusin"]);
|
|
302
|
+
}), 128))
|
|
303
|
+
], 544)) : vue.createCommentVNode("", true),
|
|
304
|
+
vue.withDirectives(vue.createVNode(_component_dt_button, {
|
|
305
|
+
tabindex: "-1",
|
|
306
|
+
"aria-label": $props.leftArrowAriaLabel,
|
|
307
|
+
class: "dt-attachment-carousel__arrow dt-attachment-carousel__arrow--left",
|
|
308
|
+
circle: "",
|
|
309
|
+
size: "xs",
|
|
310
|
+
importance: "clear",
|
|
311
|
+
onClick: $options.leftScroll
|
|
312
|
+
}, {
|
|
313
|
+
icon: vue.withCtx(() => [
|
|
314
|
+
vue.createVNode(_component_dt_icon, {
|
|
315
|
+
name: "arrow-left",
|
|
316
|
+
size: "100"
|
|
317
|
+
})
|
|
318
|
+
]),
|
|
319
|
+
_: 1
|
|
320
|
+
}, 8, ["aria-label", "onClick"]), [
|
|
321
|
+
[vue.vShow, $data.showLeftArrow]
|
|
322
|
+
]),
|
|
323
|
+
vue.withDirectives(vue.createVNode(_component_dt_button, {
|
|
324
|
+
tabindex: "-1",
|
|
325
|
+
"aria-label": $props.rightArrowAriaLabel,
|
|
326
|
+
class: "dt-attachment-carousel__arrow dt-attachment-carousel__arrow--right",
|
|
327
|
+
circle: "",
|
|
328
|
+
size: "xs",
|
|
329
|
+
importance: "clear",
|
|
330
|
+
onClick: $options.rightScroll
|
|
331
|
+
}, {
|
|
332
|
+
icon: vue.withCtx(() => [
|
|
333
|
+
vue.createVNode(_component_dt_icon, {
|
|
334
|
+
name: "arrow-right",
|
|
335
|
+
size: "100"
|
|
336
|
+
})
|
|
337
|
+
]),
|
|
338
|
+
_: 1
|
|
339
|
+
}, 8, ["aria-label", "onClick"]), [
|
|
340
|
+
[vue.vShow, $data.showRightArrow]
|
|
341
|
+
])
|
|
342
|
+
]);
|
|
343
|
+
}
|
|
344
|
+
const attachment_carousel = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
345
|
+
exports.DtRecipeAttachmentCarousel = attachment_carousel;
|
|
2
346
|
//# sourceMappingURL=attachment-carousel.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-carousel.cjs","sources":["../../recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue","../../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue","../../recipes/conversation_view/attachment_carousel/attachment_carousel.vue"],"sourcesContent":["<script>\nexport default {\n name: 'DtProgressBar',\n props: {\n progressbarAriaLabel: {\n type: String,\n required: true,\n },\n\n progress: {\n type: Number,\n default: 20,\n },\n },\n\n data: () => ({\n circleCircumference: 50,\n }),\n\n computed: {\n cssVars () {\n return {\n '--stroke-dashoffset':\n (this.circleCircumference - (this.circleCircumference * this.progress / 100)),\n\n '--stroke-dasharray': this.circleCircumference,\n };\n },\n },\n\n mounted () {\n this.circleCircumference = this.$refs.progressbarCircle.getTotalLength();\n },\n};\n</script>\n\n<template>\n <div\n role=\"progressbar\"\n :aria-label=\"progressbarAriaLabel\"\n tabindex=\"-1\"\n :aria-valuenow=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <svg\n class=\"progress-bar\"\n :style=\"cssVars\"\n >\n <circle\n ref=\"progressbarCircle\"\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"progress-bar__circle\"\n />\n <circle\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"progress-bar__circle\"\n />\n </svg>\n </div>\n</template>\n\n<style lang=\"less\">\n.progress-bar {\n width: var(--dt-size-550);\n height: var(--dt-size-550);\n}\n\n.progress-bar__circle {\n fill: none;\n stroke-width: 2;\n stroke-dasharray: var(--stroke-dasharray);\n}\n\n.progress-bar__circle:nth-child(1) {\n stroke-dashoffset: 0;\n stroke: var(--dt-color-black-100);\n}\n\n.progress-bar__circle:nth-child(2) {\n stroke-dashoffset: var(--stroke-dashoffset);\n stroke: var(--dt-color-purple-500);\n transition: stroke-dashoffset 500ms linear;\n}\n</style>\n","<template>\n <li\n class=\"dt-attachment-image\"\n >\n <dt-image-viewer\n image-button-class=\"dt-attachment-image__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :close-aria-label=\"closeAriaLabel\"\n :aria-label=\"clickToOpenAriaLabel\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"dt-attachment-image__top-right\"\n >\n <dt-progress-bar\n v-if=\"mediaItem.isUploading\"\n class=\"dt-attachment-image__progress-bar\"\n :progress=\"mediaItem.progress\"\n :progressbar-aria-label=\"progressbarAriaLabel\"\n />\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"dt-attachment-image__close-button\"\n circle\n size=\"xs\"\n importance=\"clear\"\n :aria-label=\"closeAriaLabel\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon\n name=\"close\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </div>\n </li>\n</template>\n\n<script>\nimport { DtImageViewer } from '@/components/image_viewer';\nimport { DtButton } from '@/components/button';\nimport { DtIcon } from '@/components/icon';\n\nimport DtProgressBar from './progress_bar.vue';\n\nexport default {\n name: 'DtImageCarousel',\n\n components: {\n DtImageViewer,\n DtButton,\n DtIcon,\n DtProgressBar,\n },\n\n props: {\n mediaItem: {\n type: Object,\n required: true,\n },\n\n index: {\n type: Number,\n required: true,\n },\n\n closeAriaLabel: {\n type: String,\n required: true,\n },\n\n clickToOpenAriaLabel: {\n type: String,\n required: true,\n },\n\n progressbarAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when media close button is clicked to remove the image\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n methods: {\n removeMediaItem (index) {\n this.$emit('remove-media', index);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-attachment-image {\n position: relative;\n\n &:focus-within .dt-attachment-image__close-button, &:hover .dt-attachment-image__close-button {\n opacity: 1;\n }\n}\n.dt-attachment-image__image-viewer {\n height: var(--dt-size-700);\n width: var(--dt-size-700);\n border: var(--dt-space-100) solid;\n border-radius: var(--br4);\n border-width: var(--dt-size-350);\n border-color: var(--dt-color-border-subtle);\n object-fit: cover;\n}\n.dt-attachment-image__top-right {\n position: absolute;\n top: var(--dt-size-100);\n right: var(--dt-size-100);\n}\n.dt-attachment-image__close-button {\n opacity: 0;\n position: absolute;\n top: inherit;\n right: inherit;\n color: var(--dt-color-neutral-white);\n background-color: var(--dt-color-black-400);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-200);\n border-color: var(--dt-color-neutral-white);\n}\n.dt-attachment-image__progress-bar {\n position: absolute;\n top: inherit;\n right: inherit;\n background-color: var(--dt-color-neutral-white);\n border-radius: 50%;\n display: flex;\n transform: rotate(-90deg);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-200);\n border-color: var(--dt-color-border-subtle);\n}\n</style>\n","<template>\n <div\n class=\"dt-attachment-carousel\"\n role=\"presentation\"\n >\n <ul\n v-if=\"mediaList.length > 0\"\n ref=\"carousel\"\n class=\"dt-attachment-carousel__media-list\"\n @scroll=\"handleScroll\"\n >\n <!-- media list -->\n <component\n :is=\"mediaComponent(mediaItem.type)\"\n v-for=\"(mediaItem, index) in filteredMediaList\"\n :key=\"`media-${index}`\"\n :index=\"index\"\n :media-item=\"mediaItem\"\n :close-aria-label=\"closeAriaLabel\"\n :click-to-open-aria-label=\"clickToOpenAriaLabel\"\n :progressbar-aria-label=\"progressbarAriaLabel\"\n @remove-media=\"removeMediaItem(index)\"\n @focusin=\"onItemFocus\"\n />\n </ul>\n\n <!-- Carousel Arrows -->\n <dt-button\n v-show=\"showLeftArrow\"\n tabindex=\"-1\"\n :aria-label=\"leftArrowAriaLabel\"\n class=\"dt-attachment-carousel__arrow dt-attachment-carousel__arrow--left\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"leftScroll\"\n >\n <template #icon>\n <dt-icon\n name=\"arrow-left\"\n size=\"100\"\n />\n </template>\n </dt-button>\n <dt-button\n v-show=\"showRightArrow\"\n tabindex=\"-1\"\n :aria-label=\"rightArrowAriaLabel\"\n class=\"dt-attachment-carousel__arrow dt-attachment-carousel__arrow--right\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"rightScroll\"\n >\n <template #icon>\n <dt-icon\n name=\"arrow-right\"\n size=\"100\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\n\nimport DtImageCarousel from './media_components/image_carousel.vue';\n\nconst MEDIA_ITEM_WIDTH = 64;\n\nexport default {\n name: 'DtRecipeAttachmentCarousel',\n\n components: {\n DtButton,\n DtIcon,\n DtImageCarousel,\n },\n\n mixins: [],\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * media - object array of media objects\n * @type {Array}\n *\n * Object: {\n * path: String,\n * altText: String | null,\n * }\n */\n mediaList: {\n type: Array,\n default: () => [],\n },\n\n closeAriaLabel: {\n type: String,\n required: true,\n },\n\n clickToOpenAriaLabel: {\n type: String,\n required: true,\n },\n\n progressbarAriaLabel: {\n type: String,\n required: true,\n },\n\n leftArrowAriaLabel: {\n type: String,\n required: true,\n },\n\n rightArrowAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n showCloseButton: {},\n showRightArrow: true,\n showLeftArrow: false,\n isMounted: false,\n };\n },\n\n computed: {\n filteredMediaList () {\n return this.mediaList.filter((mediaItem) => mediaItem.type === 'image' || mediaItem.type === 'video');\n },\n },\n\n mounted: function () {\n this.showLeftArrow = this.$refs.carousel.scrollLeft > 0;\n this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth;\n },\n\n methods: {\n onItemFocus (e) {\n e.currentTarget.scrollIntoView({ behavior: 'smooth' });\n },\n\n mediaComponent (type) {\n switch (type) {\n case 'image':\n return 'dt-image-carousel';\n default:\n // unknown media type\n return null;\n }\n },\n\n removeMediaItem (index) {\n // make sure the carousel arrows is updated. 64 is the width of each media item\n this.showRightArrow = this.$refs.carousel.scrollWidth > (this.$refs.carousel.clientWidth + MEDIA_ITEM_WIDTH);\n this.$emit('remove-media', index);\n },\n\n closeButton (val, index) {\n this.showCloseButton[index] = val;\n },\n\n handleScroll () {\n const carousel = this.$refs.carousel;\n this.showLeftArrow = carousel.scrollLeft > 0;\n this.showRightArrow = !((carousel.scrollLeft + carousel.clientWidth) === carousel.scrollWidth);\n },\n\n leftScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft - 100,\n behavior: 'smooth',\n });\n },\n\n rightScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft + 100,\n behavior: 'smooth',\n });\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-attachment-carousel {\n position: relative;\n max-height: 100px;\n width: var(--dt-space-1000);\n}\n\n.dt-attachment-carousel__media-list {\n display: flex;\n flex-direction: row;\n padding-left: 0px;\n overflow-x: scroll;\n &::-webkit-scrollbar {\n display: none;\n }\n}\n\n.dt-attachment-carousel__arrow {\n position: absolute;\n opacity: 0;\n\n .dt-attachment-carousel:hover & {\n opacity: 1;\n }\n background-color: var(--dt-color-neutral-white);\n top: var(--dt-space-30-percent);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-100);\n border-color: var(--bc-default);\n}\n.dt-attachment-carousel__arrow--left {\n left: var(--dt-space-300);\n}\n.dt-attachment-carousel__arrow--right {\n right: var(--dt-space-300);\n}\n\n.dt-attachment-carousel__image-viewer {\n height: var(--dt-size-700);\n width: var(--dt-size-700);\n border-radius: var(--br4);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-350);\n border-color: var(--dt-color-border-subtle);\n}\n</style>\n"],"names":["_sfc_main","_createElementVNode","_createElementBlock","$props","$options","_hoisted_2","_hoisted_3","DtImageViewer","DtButton","DtIcon","DtProgressBar","index","_hoisted_1","_openBlock","_createVNode","_component_dt_image_viewer","_createBlock","_component_dt_progress_bar","_component_dt_button","_cache","$event","_component_dt_icon","MEDIA_ITEM_WIDTH","DtImageCarousel","mediaItem","e","type","val","carousel","args","_Fragment","_renderList","_resolveDynamicComponent","$data"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attachment-carousel.cjs","sources":["../../recipes/conversation_view/attachment_carousel/media_components/progress_bar.vue","../../recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue","../../recipes/conversation_view/attachment_carousel/attachment_carousel.vue"],"sourcesContent":["<script>\nexport default {\n name: 'DtProgressBar',\n props: {\n progressbarAriaLabel: {\n type: String,\n required: true,\n },\n\n progress: {\n type: Number,\n default: 20,\n },\n },\n\n data: () => ({\n circleCircumference: 50,\n }),\n\n computed: {\n cssVars () {\n return {\n '--stroke-dashoffset':\n (this.circleCircumference - (this.circleCircumference * this.progress / 100)),\n\n '--stroke-dasharray': this.circleCircumference,\n };\n },\n },\n\n mounted () {\n this.circleCircumference = this.$refs.progressbarCircle.getTotalLength();\n },\n};\n</script>\n\n<template>\n <div\n role=\"progressbar\"\n :aria-label=\"progressbarAriaLabel\"\n tabindex=\"-1\"\n :aria-valuenow=\"progress\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n >\n <svg\n class=\"progress-bar\"\n :style=\"cssVars\"\n >\n <circle\n ref=\"progressbarCircle\"\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"progress-bar__circle\"\n />\n <circle\n r=\"8\"\n cx=\"12\"\n cy=\"12\"\n class=\"progress-bar__circle\"\n />\n </svg>\n </div>\n</template>\n\n<style lang=\"less\">\n.progress-bar {\n width: var(--dt-size-550);\n height: var(--dt-size-550);\n}\n\n.progress-bar__circle {\n fill: none;\n stroke-width: 2;\n stroke-dasharray: var(--stroke-dasharray);\n}\n\n.progress-bar__circle:nth-child(1) {\n stroke-dashoffset: 0;\n stroke: var(--dt-color-black-100);\n}\n\n.progress-bar__circle:nth-child(2) {\n stroke-dashoffset: var(--stroke-dashoffset);\n stroke: var(--dt-color-purple-500);\n transition: stroke-dashoffset 500ms linear;\n}\n</style>\n","<template>\n <li\n class=\"dt-attachment-image\"\n >\n <dt-image-viewer\n image-button-class=\"dt-attachment-image__image-viewer\"\n :image-src=\"mediaItem.path\"\n :image-alt=\"mediaItem.altText\"\n :close-aria-label=\"closeAriaLabel\"\n :aria-label=\"clickToOpenAriaLabel\"\n />\n\n <!-- Loader / Close button -->\n <div\n class=\"dt-attachment-image__top-right\"\n >\n <dt-progress-bar\n v-if=\"mediaItem.isUploading\"\n class=\"dt-attachment-image__progress-bar\"\n :progress=\"mediaItem.progress\"\n :progressbar-aria-label=\"progressbarAriaLabel\"\n />\n <dt-button\n :id=\"`closeButton-${index}`\"\n tabindex=\"0\"\n class=\"dt-attachment-image__close-button\"\n circle\n size=\"xs\"\n importance=\"clear\"\n :aria-label=\"closeAriaLabel\"\n @click=\"removeMediaItem(index)\"\n >\n <template #icon>\n <dt-icon\n name=\"close\"\n size=\"200\"\n />\n </template>\n </dt-button>\n </div>\n </li>\n</template>\n\n<script>\nimport { DtImageViewer } from '@/components/image_viewer';\nimport { DtButton } from '@/components/button';\nimport { DtIcon } from '@/components/icon';\n\nimport DtProgressBar from './progress_bar.vue';\n\nexport default {\n name: 'DtImageCarousel',\n\n components: {\n DtImageViewer,\n DtButton,\n DtIcon,\n DtProgressBar,\n },\n\n props: {\n mediaItem: {\n type: Object,\n required: true,\n },\n\n index: {\n type: Number,\n required: true,\n },\n\n closeAriaLabel: {\n type: String,\n required: true,\n },\n\n clickToOpenAriaLabel: {\n type: String,\n required: true,\n },\n\n progressbarAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when media close button is clicked to remove the image\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n methods: {\n removeMediaItem (index) {\n this.$emit('remove-media', index);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-attachment-image {\n position: relative;\n\n &:focus-within .dt-attachment-image__close-button, &:hover .dt-attachment-image__close-button {\n opacity: 1;\n }\n}\n.dt-attachment-image__image-viewer {\n height: var(--dt-size-700);\n width: var(--dt-size-700);\n border: var(--dt-space-100) solid;\n border-radius: var(--br4);\n border-width: var(--dt-size-350);\n border-color: var(--dt-color-border-subtle);\n object-fit: cover;\n}\n.dt-attachment-image__top-right {\n position: absolute;\n top: var(--dt-size-100);\n right: var(--dt-size-100);\n}\n.dt-attachment-image__close-button {\n opacity: 0;\n position: absolute;\n top: inherit;\n right: inherit;\n color: var(--dt-color-neutral-white);\n background-color: var(--dt-color-black-400);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-200);\n border-color: var(--dt-color-neutral-white);\n}\n.dt-attachment-image__progress-bar {\n position: absolute;\n top: inherit;\n right: inherit;\n background-color: var(--dt-color-neutral-white);\n border-radius: 50%;\n display: flex;\n transform: rotate(-90deg);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-200);\n border-color: var(--dt-color-border-subtle);\n}\n</style>\n","<template>\n <div\n class=\"dt-attachment-carousel\"\n role=\"presentation\"\n >\n <ul\n v-if=\"mediaList.length > 0\"\n ref=\"carousel\"\n class=\"dt-attachment-carousel__media-list\"\n @scroll=\"handleScroll\"\n >\n <!-- media list -->\n <component\n :is=\"mediaComponent(mediaItem.type)\"\n v-for=\"(mediaItem, index) in filteredMediaList\"\n :key=\"`media-${index}`\"\n :index=\"index\"\n :media-item=\"mediaItem\"\n :close-aria-label=\"closeAriaLabel\"\n :click-to-open-aria-label=\"clickToOpenAriaLabel\"\n :progressbar-aria-label=\"progressbarAriaLabel\"\n @remove-media=\"removeMediaItem(index)\"\n @focusin=\"onItemFocus\"\n />\n </ul>\n\n <!-- Carousel Arrows -->\n <dt-button\n v-show=\"showLeftArrow\"\n tabindex=\"-1\"\n :aria-label=\"leftArrowAriaLabel\"\n class=\"dt-attachment-carousel__arrow dt-attachment-carousel__arrow--left\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"leftScroll\"\n >\n <template #icon>\n <dt-icon\n name=\"arrow-left\"\n size=\"100\"\n />\n </template>\n </dt-button>\n <dt-button\n v-show=\"showRightArrow\"\n tabindex=\"-1\"\n :aria-label=\"rightArrowAriaLabel\"\n class=\"dt-attachment-carousel__arrow dt-attachment-carousel__arrow--right\"\n circle\n size=\"xs\"\n importance=\"clear\"\n @click=\"rightScroll\"\n >\n <template #icon>\n <dt-icon\n name=\"arrow-right\"\n size=\"100\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtIcon } from '@/components/icon';\nimport { DtButton } from '@/components/button';\n\nimport DtImageCarousel from './media_components/image_carousel.vue';\n\nconst MEDIA_ITEM_WIDTH = 64;\n\nexport default {\n name: 'DtRecipeAttachmentCarousel',\n\n components: {\n DtButton,\n DtIcon,\n DtImageCarousel,\n },\n\n mixins: [],\n\n /* inheritAttrs: false is generally an option we want to set on library\n components. This allows any attributes passed in that are not recognized\n as props to be passed down to another element or component using v-bind:$attrs\n more info: https://vuejs.org/v2/api/#inheritAttrs */\n // inheritAttrs: false,\n\n props: {\n /**\n * media - object array of media objects\n * @type {Array}\n *\n * Object: {\n * path: String,\n * altText: String | null,\n * }\n */\n mediaList: {\n type: Array,\n default: () => [],\n },\n\n closeAriaLabel: {\n type: String,\n required: true,\n },\n\n clickToOpenAriaLabel: {\n type: String,\n required: true,\n },\n\n progressbarAriaLabel: {\n type: String,\n required: true,\n },\n\n leftArrowAriaLabel: {\n type: String,\n required: true,\n },\n\n rightArrowAriaLabel: {\n type: String,\n required: true,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is shown or hidden\n *\n * @event remove-media\n * @type {Number}\n */\n 'remove-media',\n ],\n\n data () {\n return {\n showCloseButton: {},\n showRightArrow: true,\n showLeftArrow: false,\n isMounted: false,\n };\n },\n\n computed: {\n filteredMediaList () {\n return this.mediaList.filter((mediaItem) => mediaItem.type === 'image' || mediaItem.type === 'video');\n },\n },\n\n mounted: function () {\n this.showLeftArrow = this.$refs.carousel.scrollLeft > 0;\n this.showRightArrow = this.$refs.carousel.scrollWidth > this.$refs.carousel.clientWidth;\n },\n\n methods: {\n onItemFocus (e) {\n e.currentTarget.scrollIntoView({ behavior: 'smooth' });\n },\n\n mediaComponent (type) {\n switch (type) {\n case 'image':\n return 'dt-image-carousel';\n default:\n // unknown media type\n return null;\n }\n },\n\n removeMediaItem (index) {\n // make sure the carousel arrows is updated. 64 is the width of each media item\n this.showRightArrow = this.$refs.carousel.scrollWidth > (this.$refs.carousel.clientWidth + MEDIA_ITEM_WIDTH);\n this.$emit('remove-media', index);\n },\n\n closeButton (val, index) {\n this.showCloseButton[index] = val;\n },\n\n handleScroll () {\n const carousel = this.$refs.carousel;\n this.showLeftArrow = carousel.scrollLeft > 0;\n this.showRightArrow = !((carousel.scrollLeft + carousel.clientWidth) === carousel.scrollWidth);\n },\n\n leftScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft - 100,\n behavior: 'smooth',\n });\n },\n\n rightScroll () {\n this.$refs.carousel.scrollTo({\n left: this.$refs.carousel.scrollLeft + 100,\n behavior: 'smooth',\n });\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.dt-attachment-carousel {\n position: relative;\n max-height: 100px;\n width: var(--dt-space-1000);\n}\n\n.dt-attachment-carousel__media-list {\n display: flex;\n flex-direction: row;\n padding-left: 0px;\n overflow-x: scroll;\n &::-webkit-scrollbar {\n display: none;\n }\n}\n\n.dt-attachment-carousel__arrow {\n position: absolute;\n opacity: 0;\n\n .dt-attachment-carousel:hover & {\n opacity: 1;\n }\n background-color: var(--dt-color-neutral-white);\n top: var(--dt-space-30-percent);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-100);\n border-color: var(--bc-default);\n}\n.dt-attachment-carousel__arrow--left {\n left: var(--dt-space-300);\n}\n.dt-attachment-carousel__arrow--right {\n right: var(--dt-space-300);\n}\n\n.dt-attachment-carousel__image-viewer {\n height: var(--dt-size-700);\n width: var(--dt-size-700);\n border-radius: var(--br4);\n border: var(--dt-space-100) solid;\n border-width: var(--dt-size-350);\n border-color: var(--dt-color-border-subtle);\n}\n</style>\n"],"names":["_sfc_main","_createElementVNode","_createElementBlock","_hoisted_2","DtImageViewer","DtButton","DtIcon","_hoisted_1","_openBlock","_createVNode","_createBlock","_Fragment","_renderList","_resolveDynamicComponent"],"mappings":"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"}
|