@dialpad/dialtone 9.127.0 → 9.127.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.
Files changed (262) hide show
  1. package/dist/tokens/doc.json +18304 -18304
  2. package/dist/vue2/common/mixins/index.cjs +1 -1
  3. package/dist/vue2/common/mixins/index.js +2 -4
  4. package/dist/vue2/common/mixins/index.js.map +1 -1
  5. package/dist/vue2/component-documentation.json +1 -1
  6. package/dist/vue2/dialtone-vue.cjs +1 -1
  7. package/dist/vue2/dialtone-vue.js +345 -347
  8. package/dist/vue2/dialtone-vue.js.map +1 -1
  9. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs +1 -1
  10. package/dist/vue2/lib/attachment-carousel/attachment-carousel.cjs.map +1 -1
  11. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js +16 -12
  12. package/dist/vue2/lib/attachment-carousel/attachment-carousel.js.map +1 -1
  13. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs +1 -1
  14. package/dist/vue2/lib/breadcrumbs/breadcrumbs.cjs.map +1 -1
  15. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js +6 -6
  16. package/dist/vue2/lib/breadcrumbs/breadcrumbs.js.map +1 -1
  17. package/dist/vue2/lib/button/button.cjs +1 -1
  18. package/dist/vue2/lib/button/button.cjs.map +1 -1
  19. package/dist/vue2/lib/button/button.js +6 -6
  20. package/dist/vue2/lib/button/button.js.map +1 -1
  21. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs +1 -1
  22. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.cjs.map +1 -1
  23. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js +13 -13
  24. package/dist/vue2/lib/callbar-button-with-dropdown/callbar-button-with-dropdown.js.map +1 -1
  25. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs +1 -1
  26. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.cjs.map +1 -1
  27. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js +9 -9
  28. package/dist/vue2/lib/callbar-button-with-popover/callbar-button-with-popover.js.map +1 -1
  29. package/dist/vue2/lib/chip/chip.cjs +1 -1
  30. package/dist/vue2/lib/chip/chip.cjs.map +1 -1
  31. package/dist/vue2/lib/chip/chip.js +7 -7
  32. package/dist/vue2/lib/chip/chip.js.map +1 -1
  33. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs +1 -1
  34. package/dist/vue2/lib/contact-centers-row/contact-centers-row.cjs.map +1 -1
  35. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js +13 -13
  36. package/dist/vue2/lib/contact-centers-row/contact-centers-row.js.map +1 -1
  37. package/dist/vue2/lib/datepicker/datepicker.cjs +1 -1
  38. package/dist/vue2/lib/datepicker/datepicker.cjs.map +1 -1
  39. package/dist/vue2/lib/datepicker/datepicker.js +19 -19
  40. package/dist/vue2/lib/datepicker/datepicker.js.map +1 -1
  41. package/dist/vue2/lib/datepicker/formatUtils.cjs +1 -1
  42. package/dist/vue2/lib/datepicker/formatUtils.cjs.map +1 -1
  43. package/dist/vue2/lib/datepicker/formatUtils.js +21 -20
  44. package/dist/vue2/lib/datepicker/formatUtils.js.map +1 -1
  45. package/dist/vue2/lib/editor/editor.cjs +1 -1
  46. package/dist/vue2/lib/editor/editor.cjs.map +1 -1
  47. package/dist/vue2/lib/editor/editor.js +17 -17
  48. package/dist/vue2/lib/editor/editor.js.map +1 -1
  49. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs +1 -1
  50. package/dist/vue2/lib/emoji-picker/emoji-picker.cjs.map +1 -1
  51. package/dist/vue2/lib/emoji-picker/emoji-picker.js +6 -6
  52. package/dist/vue2/lib/emoji-picker/emoji-picker.js.map +1 -1
  53. package/dist/vue2/lib/emoji-row/emoji-row.cjs +1 -1
  54. package/dist/vue2/lib/emoji-row/emoji-row.cjs.map +1 -1
  55. package/dist/vue2/lib/emoji-row/emoji-row.js +24 -20
  56. package/dist/vue2/lib/emoji-row/emoji-row.js.map +1 -1
  57. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs +1 -1
  58. package/dist/vue2/lib/feed-item-pill/feed-item-pill.cjs.map +1 -1
  59. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js +8 -8
  60. package/dist/vue2/lib/feed-item-pill/feed-item-pill.js.map +1 -1
  61. package/dist/vue2/lib/general-row/general-row.cjs +1 -1
  62. package/dist/vue2/lib/general-row/general-row.cjs.map +1 -1
  63. package/dist/vue2/lib/general-row/general-row.js +17 -17
  64. package/dist/vue2/lib/general-row/general-row.js.map +1 -1
  65. package/dist/vue2/lib/group-row/group-row.cjs +1 -1
  66. package/dist/vue2/lib/group-row/group-row.cjs.map +1 -1
  67. package/dist/vue2/lib/group-row/group-row.js +11 -7
  68. package/dist/vue2/lib/group-row/group-row.js.map +1 -1
  69. package/dist/vue2/lib/icon/icon.cjs +1 -1
  70. package/dist/vue2/lib/icon/icon.cjs.map +1 -1
  71. package/dist/vue2/lib/icon/icon.js +10 -6
  72. package/dist/vue2/lib/icon/icon.js.map +1 -1
  73. package/dist/vue2/lib/image-viewer/image-viewer.cjs +1 -1
  74. package/dist/vue2/lib/image-viewer/image-viewer.cjs.map +1 -1
  75. package/dist/vue2/lib/image-viewer/image-viewer.js +8 -7
  76. package/dist/vue2/lib/image-viewer/image-viewer.js.map +1 -1
  77. package/dist/vue2/lib/ivr-node/ivr-node.cjs +1 -1
  78. package/dist/vue2/lib/ivr-node/ivr-node.cjs.map +1 -1
  79. package/dist/vue2/lib/ivr-node/ivr-node.js +17 -17
  80. package/dist/vue2/lib/ivr-node/ivr-node.js.map +1 -1
  81. package/dist/vue2/lib/loader/loader.cjs +1 -1
  82. package/dist/vue2/lib/loader/loader.cjs.map +1 -1
  83. package/dist/vue2/lib/loader/loader.js +12 -8
  84. package/dist/vue2/lib/loader/loader.js.map +1 -1
  85. package/dist/vue2/lib/message-input/message-input-link.cjs +1 -1
  86. package/dist/vue2/lib/message-input/message-input-link.cjs.map +1 -1
  87. package/dist/vue2/lib/message-input/message-input-link.js +15 -15
  88. package/dist/vue2/lib/message-input/message-input-link.js.map +1 -1
  89. package/dist/vue2/lib/message-input/message-input-topbar.cjs +1 -1
  90. package/dist/vue2/lib/message-input/message-input-topbar.cjs.map +1 -1
  91. package/dist/vue2/lib/message-input/message-input-topbar.js +14 -10
  92. package/dist/vue2/lib/message-input/message-input-topbar.js.map +1 -1
  93. package/dist/vue2/lib/message-input/message-input.cjs +1 -1
  94. package/dist/vue2/lib/message-input/message-input.cjs.map +1 -1
  95. package/dist/vue2/lib/message-input/message-input.js +14 -10
  96. package/dist/vue2/lib/message-input/message-input.js.map +1 -1
  97. package/dist/vue2/lib/modal/modal.cjs +1 -1
  98. package/dist/vue2/lib/modal/modal.cjs.map +1 -1
  99. package/dist/vue2/lib/modal/modal.js +12 -11
  100. package/dist/vue2/lib/modal/modal.js.map +1 -1
  101. package/dist/vue2/lib/notice/notice-action.cjs +1 -1
  102. package/dist/vue2/lib/notice/notice-action.cjs.map +1 -1
  103. package/dist/vue2/lib/notice/notice-action.js +10 -6
  104. package/dist/vue2/lib/notice/notice-action.js.map +1 -1
  105. package/dist/vue2/lib/pagination/pagination.cjs +1 -1
  106. package/dist/vue2/lib/pagination/pagination.cjs.map +1 -1
  107. package/dist/vue2/lib/pagination/pagination.js +7 -7
  108. package/dist/vue2/lib/pagination/pagination.js.map +1 -1
  109. package/dist/vue2/lib/popover/popover-header-footer.cjs +1 -1
  110. package/dist/vue2/lib/popover/popover-header-footer.cjs.map +1 -1
  111. package/dist/vue2/lib/popover/popover-header-footer.js +13 -9
  112. package/dist/vue2/lib/popover/popover-header-footer.js.map +1 -1
  113. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs +1 -1
  114. package/dist/vue2/lib/rich-text-editor/rich-text-editor.cjs.map +1 -1
  115. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js +35 -35
  116. package/dist/vue2/lib/rich-text-editor/rich-text-editor.js.map +1 -1
  117. package/dist/vue2/lib/unread-pill/unread-pill.cjs +1 -1
  118. package/dist/vue2/lib/unread-pill/unread-pill.cjs.map +1 -1
  119. package/dist/vue2/lib/unread-pill/unread-pill.js +15 -11
  120. package/dist/vue2/lib/unread-pill/unread-pill.js.map +1 -1
  121. package/dist/vue2/localization/en-US.cjs +1 -1
  122. package/dist/vue2/localization/en-US.cjs.map +1 -1
  123. package/dist/vue2/localization/en-US.js +1 -1
  124. package/dist/vue2/localization/en-US.js.map +1 -1
  125. package/dist/vue2/localization/index.cjs +1 -1
  126. package/dist/vue2/localization/index.cjs.map +1 -1
  127. package/dist/vue2/localization/index.js +59 -53
  128. package/dist/vue2/localization/index.js.map +1 -1
  129. package/dist/vue2/shared/sr_only_close_button.cjs +1 -1
  130. package/dist/vue2/shared/sr_only_close_button.cjs.map +1 -1
  131. package/dist/vue2/shared/sr_only_close_button.js +14 -10
  132. package/dist/vue2/shared/sr_only_close_button.js.map +1 -1
  133. package/dist/vue2/types/common/mixins/index.d.ts +0 -1
  134. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts +5 -8
  135. package/dist/vue2/types/common/sr_only_close_button.vue.d.ts.map +1 -1
  136. package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts +3 -5
  137. package/dist/vue2/types/components/breadcrumbs/breadcrumbs.vue.d.ts.map +1 -1
  138. package/dist/vue2/types/components/button/button.vue.d.ts +4 -6
  139. package/dist/vue2/types/components/button/button.vue.d.ts.map +1 -1
  140. package/dist/vue2/types/components/chip/chip.vue.d.ts +6 -8
  141. package/dist/vue2/types/components/chip/chip.vue.d.ts.map +1 -1
  142. package/dist/vue2/types/components/datepicker/formatUtils.d.ts.map +1 -1
  143. package/dist/vue2/types/components/datepicker/modules/calendar.vue.d.ts +3 -5
  144. package/dist/vue2/types/components/datepicker/modules/calendar.vue.d.ts.map +1 -1
  145. package/dist/vue2/types/components/datepicker/modules/month-year-picker.vue.d.ts +3 -5
  146. package/dist/vue2/types/components/datepicker/modules/month-year-picker.vue.d.ts.map +1 -1
  147. package/dist/vue2/types/components/emoji_picker/emoji_picker.vue.d.ts +1 -5
  148. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts +2 -4
  149. package/dist/vue2/types/components/image_viewer/image_viewer.vue.d.ts.map +1 -1
  150. package/dist/vue2/types/components/loader/loader.vue.d.ts +5 -6
  151. package/dist/vue2/types/components/loader/loader.vue.d.ts.map +1 -1
  152. package/dist/vue2/types/components/modal/modal.vue.d.ts +2 -4
  153. package/dist/vue2/types/components/modal/modal.vue.d.ts.map +1 -1
  154. package/dist/vue2/types/components/notice/notice_action.vue.d.ts +5 -6
  155. package/dist/vue2/types/components/notice/notice_action.vue.d.ts.map +1 -1
  156. package/dist/vue2/types/components/pagination/pagination.vue.d.ts +4 -6
  157. package/dist/vue2/types/components/pagination/pagination.vue.d.ts.map +1 -1
  158. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts +5 -6
  159. package/dist/vue2/types/components/popover/popover_header_footer.vue.d.ts.map +1 -1
  160. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts +5 -7
  161. package/dist/vue2/types/components/rich_text_editor/rich_text_editor.vue.d.ts.map +1 -1
  162. package/dist/vue2/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts +4 -6
  163. package/dist/vue2/types/recipes/buttons/callbar_button_with_dropdown/callbar_button_with_dropdown.vue.d.ts.map +1 -1
  164. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts +4 -6
  165. package/dist/vue2/types/recipes/buttons/callbar_button_with_popover/callbar_button_with_popover.vue.d.ts.map +1 -1
  166. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts +4 -6
  167. package/dist/vue2/types/recipes/cards/ivr_node/ivr_node.vue.d.ts.map +1 -1
  168. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts +3 -5
  169. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/attachment_carousel.vue.d.ts.map +1 -1
  170. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts +5 -6
  171. package/dist/vue2/types/recipes/conversation_view/attachment_carousel/media_components/image_carousel.vue.d.ts.map +1 -1
  172. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts +14 -16
  173. package/dist/vue2/types/recipes/conversation_view/editor/editor.vue.d.ts.map +1 -1
  174. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts +5 -6
  175. package/dist/vue2/types/recipes/conversation_view/emoji_row/emoji_row.vue.d.ts.map +1 -1
  176. package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts +6 -8
  177. package/dist/vue2/types/recipes/conversation_view/feed_item_pill/feed_item_pill.vue.d.ts.map +1 -1
  178. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts +5 -6
  179. package/dist/vue2/types/recipes/conversation_view/message_input/extensions/meeting_pill/MeetingPill.vue.d.ts.map +1 -1
  180. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts +5 -7
  181. package/dist/vue2/types/recipes/conversation_view/message_input/message_input.vue.d.ts.map +1 -1
  182. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts +3 -5
  183. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_link.vue.d.ts.map +1 -1
  184. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts +5 -6
  185. package/dist/vue2/types/recipes/conversation_view/message_input/message_input_topbar.vue.d.ts.map +1 -1
  186. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts +5 -7
  187. package/dist/vue2/types/recipes/leftbar/contact_centers_row/contact_centers_row.vue.d.ts.map +1 -1
  188. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts +17 -19
  189. package/dist/vue2/types/recipes/leftbar/general_row/general_row.vue.d.ts.map +1 -1
  190. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts +8 -9
  191. package/dist/vue2/types/recipes/leftbar/group_row/group_row.vue.d.ts.map +1 -1
  192. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts +5 -6
  193. package/dist/vue2/types/recipes/leftbar/unread_pill/unread_pill.vue.d.ts.map +1 -1
  194. package/dist/vue3/lib/icon/icon.cjs +1 -1
  195. package/dist/vue3/lib/icon/icon.cjs.map +1 -1
  196. package/dist/vue3/lib/icon/icon.js +4 -5
  197. package/dist/vue3/lib/icon/icon.js.map +1 -1
  198. package/dist/vue3/localization/en-US.cjs +1 -1
  199. package/dist/vue3/localization/en-US.cjs.map +1 -1
  200. package/dist/vue3/localization/en-US.js +1 -1
  201. package/dist/vue3/localization/en-US.js.map +1 -1
  202. package/dist/vue3/types/components/icon/icon.vue.d.ts +1 -3
  203. package/package.json +5 -6
  204. package/dist/css/fonts/SeasonMix-Bold.woff2 +0 -0
  205. package/dist/css/fonts/SeasonMix-Regular.woff2 +0 -0
  206. package/dist/css/fonts/SeasonMix-SemiBold.woff2 +0 -0
  207. package/dist/css/js/dialtone_health_check/deprecated_icons.cjs +0 -105
  208. package/dist/css/js/dialtone_health_check/index.cjs +0 -82
  209. package/dist/css/js/dialtone_health_check/non_dialtone_properties.cjs +0 -44
  210. package/dist/css/js/dialtone_migration_helper/configs/box-shadows.mjs +0 -19
  211. package/dist/css/js/dialtone_migration_helper/configs/colors.mjs +0 -69
  212. package/dist/css/js/dialtone_migration_helper/configs/fonts.mjs +0 -49
  213. package/dist/css/js/dialtone_migration_helper/configs/size-and-space.mjs +0 -124
  214. package/dist/css/js/dialtone_migration_helper/helpers.mjs +0 -212
  215. package/dist/css/js/dialtone_migration_helper/index.mjs +0 -135
  216. package/dist/css/svg/spot/blank-space.svg +0 -1
  217. package/dist/css/svg/spot/browser-list-callout.svg +0 -1
  218. package/dist/css/svg/spot/browser-table-graph.svg +0 -1
  219. package/dist/css/svg/spot/female-laptop-typing.svg +0 -1
  220. package/dist/css/svg/spot/file-upload.svg +0 -1
  221. package/dist/css/svg/spot/male-laptop-typing.svg +0 -1
  222. package/dist/css/svg/spot/mind.svg +0 -1
  223. package/dist/css/svg/spot/playlist.svg +0 -1
  224. package/dist/css/svg/spot/publish.svg +0 -1
  225. package/dist/css/svg/spot/vector-vortex.svg +0 -1
  226. package/dist/css/svg/spot/wireless-screenshare.svg +0 -1
  227. package/dist/css/tokens/tokens-base-dark.css +0 -1802
  228. package/dist/css/tokens/tokens-base-deca-dark.css +0 -1802
  229. package/dist/css/tokens/tokens-base-deca-light.css +0 -1562
  230. package/dist/css/tokens/tokens-base-light.css +0 -1562
  231. package/dist/css/tokens/tokens-debug-base.css +0 -1562
  232. package/dist/css/tokens/tokens-debug-dp.css +0 -2496
  233. package/dist/css/tokens/tokens-deca-dark.css +0 -2496
  234. package/dist/css/tokens/tokens-deca-light.css +0 -2496
  235. package/dist/css/tokens/tokens-dp-dark.css +0 -2496
  236. package/dist/css/tokens/tokens-dp-light.css +0 -2496
  237. package/dist/css/tokens/tokens-expressive-dark.css +0 -2457
  238. package/dist/css/tokens/tokens-expressive-light.css +0 -2457
  239. package/dist/css/tokens/tokens-expressive-sm-dark.css +0 -2457
  240. package/dist/css/tokens/tokens-expressive-sm-light.css +0 -2457
  241. package/dist/css/tokens/tokens-tmo-dark.css +0 -2496
  242. package/dist/css/tokens/tokens-tmo-light.css +0 -2496
  243. package/dist/tokens/less/tokens-base-dark.less +0 -604
  244. package/dist/tokens/less/tokens-base-deca-dark.less +0 -604
  245. package/dist/tokens/less/tokens-base-deca-light.less +0 -484
  246. package/dist/tokens/less/tokens-base-light.less +0 -484
  247. package/dist/tokens/less/tokens-deca-dark.less +0 -574
  248. package/dist/tokens/less/tokens-deca-light.less +0 -574
  249. package/dist/tokens/less/tokens-dp-dark.less +0 -574
  250. package/dist/tokens/less/tokens-dp-light.less +0 -574
  251. package/dist/tokens/less/tokens-expressive-dark.less +0 -540
  252. package/dist/tokens/less/tokens-expressive-light.less +0 -540
  253. package/dist/tokens/less/tokens-expressive-sm-dark.less +0 -540
  254. package/dist/tokens/less/tokens-expressive-sm-light.less +0 -540
  255. package/dist/tokens/less/tokens-tmo-dark.less +0 -574
  256. package/dist/tokens/less/tokens-tmo-light.less +0 -574
  257. package/dist/vue2/common/mixins/localization.cjs +0 -2
  258. package/dist/vue2/common/mixins/localization.cjs.map +0 -1
  259. package/dist/vue2/common/mixins/localization.js +0 -10
  260. package/dist/vue2/common/mixins/localization.js.map +0 -1
  261. package/dist/vue2/types/common/mixins/localization.d.ts +0 -8
  262. package/dist/vue2/types/common/mixins/localization.d.ts.map +0 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("@dialpad/dialtone-icons/vue2"),u=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),l=require("../button/button.cjs"),g=require("../../common/mixins/localization.cjs"),h={name:"DtPagination",components:{DtButton:l.default,DtIconChevronLeft:o.DtIconChevronLeft,DtIconChevronRight:o.DtIconChevronRight,DtIconMoreHorizontal:o.DtIconMoreHorizontal},mixins:[g.default],props:{ariaLabel:{type:String,required:!0},totalPages:{type:Number,required:!0},activePage:{type:Number,default:1},maxVisible:{type:Number,default:5},hideEdges:{type:Boolean,default:!1}},emits:["change"],data(){return{currentPage:this.activePage}},computed:{isFirstPage(){return this.currentPage===1},isLastPage(){return this.currentPage===this.totalPages},pages(){if(this.maxVisible===0)return[];if(this.totalPages<=this.maxVisible)return this.range(1,this.totalPages);let e=this.maxVisible-1,t=this.totalPages-e+1;if(this.hideEdges&&(e=e+1,t=t-1),this.currentPage<e){const n=[...this.range(1,e),"..."];return this.hideEdges||n.push(this.totalPages),n}if(this.currentPage>t){const n=["...",...this.range(t,this.totalPages)];return this.hideEdges||n.unshift(1),n}const i=this.maxVisible-(3-this.maxVisible%2),a=Math.floor(i/2);let r=this.currentPage-a,s=this.currentPage+a;this.hideEdges&&(r=r-1,s=s+1);const c=["...",...this.range(r,s),"..."];return this.hideEdges?c:[1,...c,this.totalPages]},prevAriaLabel(){return this.isFirstPage?this.i18n.$t("DIALTONE_PAGINATION_FIRST_PAGE"):this.i18n.$t("DIALTONE_PAGINATION_PREVIOUS_PAGE")},nextAriaLabel(){return this.isLastPage?this.i18n.$t("DIALTONE_PAGINATION_LAST_PAGE"):this.i18n.$t("DIALTONE_PAGINATION_NEXT_PAGE")},pageNumberAriaLabel(){return e=>e===this.totalPages?`${this.i18n.$t("DIALTONE_PAGINATION_LAST_PAGE")} ${e}`:`${this.i18n.$t("DIALTONE_PAGINATION_PAGE_NUMBER",{page:e})}`}},watch:{activePage(){this.currentPage=this.activePage}},methods:{range(e,t){const i=[];e=e>0?e:1;for(let a=e;a<=t;a++)i.push(a);return i},changePage(e){this.currentPage=e,this.$emit("change",this.currentPage)}}};var d=function(){var t=this,i=t._self._c;return i("nav",{staticClass:"d-pagination",attrs:{"aria-label":t.ariaLabel}},[i("dt-button",{staticClass:"d-pagination__button",attrs:{"data-qa":"dt-pagination-prev","aria-label":t.prevAriaLabel,kind:"muted",importance:"clear",disabled:t.isFirstPage},on:{click:function(a){return t.changePage(t.currentPage-1)}},scopedSlots:t._u([{key:"icon",fn:function(){return[i("dt-icon-chevron-left",{attrs:{size:"300"}})]},proxy:!0}])}),t._l(t.pages,function(a,r){return i("div",{key:`page-${a}-${r}`,class:{"d-pagination__separator":isNaN(Number(a))}},[isNaN(Number(a))?i("div",{staticClass:"d-pagination__separator-icon",attrs:{"data-qa":"dt-pagination-separator"}},[i("dt-icon-more-horizontal",{attrs:{size:"300"}})],1):i("dt-button",{attrs:{"aria-label":t.pageNumberAriaLabel(a),kind:t.currentPage===a?"default":"muted",importance:t.currentPage===a?"primary":"clear","label-class":""},on:{click:function(s){return t.changePage(a)}}},[t._v(" "+t._s(a)+" ")])],1)}),i("dt-button",{staticClass:"d-pagination__button",attrs:{"data-qa":"dt-pagination-next","aria-label":t.nextAriaLabel,disabled:t.isLastPage,kind:"muted",importance:"clear"},on:{click:function(a){return t.changePage(t.currentPage+1)}},scopedSlots:t._u([{key:"icon",fn:function(){return[i("dt-icon-chevron-right",{attrs:{size:"300"}})]},proxy:!0}])})],2)},_=[],P=u.n(h,d,_);const b=P.exports;exports.default=b;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("@dialpad/dialtone-icons/vue2"),u=require("../../localization/index.cjs"),l=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),g=require("../button/button.cjs"),h={name:"DtPagination",components:{DtButton:g.default,DtIconChevronLeft:o.DtIconChevronLeft,DtIconChevronRight:o.DtIconChevronRight,DtIconMoreHorizontal:o.DtIconMoreHorizontal},props:{ariaLabel:{type:String,required:!0},totalPages:{type:Number,required:!0},activePage:{type:Number,default:1},maxVisible:{type:Number,default:5},hideEdges:{type:Boolean,default:!1}},emits:["change"],data(){return{currentPage:this.activePage,i18n:new u.DialtoneLocalization}},computed:{isFirstPage(){return this.currentPage===1},isLastPage(){return this.currentPage===this.totalPages},pages(){if(this.maxVisible===0)return[];if(this.totalPages<=this.maxVisible)return this.range(1,this.totalPages);let e=this.maxVisible-1,t=this.totalPages-e+1;if(this.hideEdges&&(e=e+1,t=t-1),this.currentPage<e){const n=[...this.range(1,e),"..."];return this.hideEdges||n.push(this.totalPages),n}if(this.currentPage>t){const n=["...",...this.range(t,this.totalPages)];return this.hideEdges||n.unshift(1),n}const i=this.maxVisible-(3-this.maxVisible%2),a=Math.floor(i/2);let r=this.currentPage-a,s=this.currentPage+a;this.hideEdges&&(r=r-1,s=s+1);const c=["...",...this.range(r,s),"..."];return this.hideEdges?c:[1,...c,this.totalPages]},prevAriaLabel(){return this.isFirstPage?this.i18n.$t("DIALTONE_PAGINATION_FIRST_PAGE"):this.i18n.$t("DIALTONE_PAGINATION_PREVIOUS_PAGE")},nextAriaLabel(){return this.isLastPage?this.i18n.$t("DIALTONE_PAGINATION_LAST_PAGE"):this.i18n.$t("DIALTONE_PAGINATION_NEXT_PAGE")},pageNumberAriaLabel(){return e=>e===this.totalPages?`${this.i18n.$t("DIALTONE_PAGINATION_LAST_PAGE")} ${e}`:`${this.i18n.$t("DIALTONE_PAGINATION_PAGE_NUMBER",{page:e})}`}},watch:{activePage(){this.currentPage=this.activePage}},methods:{range(e,t){const i=[];e=e>0?e:1;for(let a=e;a<=t;a++)i.push(a);return i},changePage(e){this.currentPage=e,this.$emit("change",this.currentPage)}}};var d=function(){var t=this,i=t._self._c;return i("nav",{staticClass:"d-pagination",attrs:{"aria-label":t.ariaLabel}},[i("dt-button",{staticClass:"d-pagination__button",attrs:{"data-qa":"dt-pagination-prev","aria-label":t.prevAriaLabel,kind:"muted",importance:"clear",disabled:t.isFirstPage},on:{click:function(a){return t.changePage(t.currentPage-1)}},scopedSlots:t._u([{key:"icon",fn:function(){return[i("dt-icon-chevron-left",{attrs:{size:"300"}})]},proxy:!0}])}),t._l(t.pages,function(a,r){return i("div",{key:`page-${a}-${r}`,class:{"d-pagination__separator":isNaN(Number(a))}},[isNaN(Number(a))?i("div",{staticClass:"d-pagination__separator-icon",attrs:{"data-qa":"dt-pagination-separator"}},[i("dt-icon-more-horizontal",{attrs:{size:"300"}})],1):i("dt-button",{attrs:{"aria-label":t.pageNumberAriaLabel(a),kind:t.currentPage===a?"default":"muted",importance:t.currentPage===a?"primary":"clear","label-class":""},on:{click:function(s){return t.changePage(a)}}},[t._v(" "+t._s(a)+" ")])],1)}),i("dt-button",{staticClass:"d-pagination__button",attrs:{"data-qa":"dt-pagination-next","aria-label":t.nextAriaLabel,disabled:t.isLastPage,kind:"muted",importance:"clear"},on:{click:function(a){return t.changePage(t.currentPage+1)}},scopedSlots:t._u([{key:"icon",fn:function(){return[i("dt-icon-chevron-right",{attrs:{size:"300"}})]},proxy:!0}])})],2)},P=[],_=l.n(h,d,P);const b=_.exports;exports.default=b;
2
2
  //# sourceMappingURL=pagination.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.cjs","sources":["../../../components/pagination/pagination.vue"],"sourcesContent":["<template>\n <nav\n :aria-label=\"ariaLabel\"\n class=\"d-pagination\"\n >\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-prev\"\n :aria-label=\"prevAriaLabel\"\n kind=\"muted\"\n importance=\"clear\"\n :disabled=\"isFirstPage\"\n @click=\"changePage(currentPage - 1)\"\n >\n <template #icon>\n <dt-icon-chevron-left\n size=\"300\"\n />\n </template>\n </dt-button>\n <div\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page}-${index}`\"\n :class=\"{ 'd-pagination__separator': isNaN(Number(page)) }\"\n >\n <!-- eslint-disable vue/no-bare-strings-in-template -->\n <div\n v-if=\"isNaN(Number(page))\"\n class=\"d-pagination__separator-icon\"\n data-qa=\"dt-pagination-separator\"\n >\n <dt-icon-more-horizontal\n size=\"300\"\n />\n <!-- … -->\n </div>\n <dt-button\n v-else\n :aria-label=\"pageNumberAriaLabel(page)\"\n :kind=\"currentPage === page ? 'default' : 'muted'\"\n :importance=\"currentPage === page ? 'primary' : 'clear'\"\n label-class=\"\"\n @click=\"changePage(page)\"\n >\n {{ page }}\n </dt-button>\n </div>\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-next\"\n :aria-label=\"nextAriaLabel\"\n :disabled=\"isLastPage\"\n kind=\"muted\"\n importance=\"clear\"\n @click=\"changePage(currentPage + 1)\"\n >\n <template #icon>\n <dt-icon-chevron-right\n size=\"300\"\n />\n </template>\n </dt-button>\n </nav>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconChevronLeft, DtIconChevronRight, DtIconMoreHorizontal } from '@dialpad/dialtone-icons/vue2';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\n/**\n * Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.\n * @see https://dialtone.dialpad.com/components/pagination.html\n */\nexport default {\n name: 'DtPagination',\n\n components: {\n DtButton,\n DtIconChevronLeft,\n DtIconChevronRight,\n DtIconMoreHorizontal,\n },\n\n mixins: [DtLocalizationMixin],\n\n props: {\n /**\n * Descriptive label for the pagination content.\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The total number of the pages\n */\n totalPages: {\n type: Number,\n required: true,\n },\n\n /**\n * The active current page in the list of pages, defaults to the first page\n */\n activePage: {\n type: Number,\n default: 1,\n },\n\n /**\n * Determines the max pages to be shown in the list. Using an odd number is recommended.\n * If an even number is given, then it will be rounded down to the nearest odd number to always\n * keep current page in the middle when current page is in the mid-range.\n */\n maxVisible: {\n type: Number,\n default: 5,\n },\n\n /**\n * Sometimes you may need to hide start and end page number buttons when moving in between.\n * This prop will be used to hide the first and last page buttons when not near the edges.\n * This is useful when your backend does not support offset and you can only use cursor based pagination.\n */\n hideEdges: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Page change event\n *\n * @event change\n * @type {Number}\n */\n 'change',\n ],\n\n data () {\n return {\n currentPage: this.activePage,\n };\n },\n\n computed: {\n isFirstPage () {\n return this.currentPage === 1;\n },\n\n isLastPage () {\n return this.currentPage === this.totalPages;\n },\n\n // eslint-disable-next-line complexity\n pages () {\n if (this.maxVisible === 0) {\n return [];\n }\n if (this.totalPages <= this.maxVisible) {\n return this.range(1, this.totalPages);\n }\n\n let start = this.maxVisible - 1;\n let end = this.totalPages - start + 1;\n\n // if hideEdges is true, modify the start and\n // end to account for the hidden pages\n if (this.hideEdges) {\n start = start + 1;\n end = end - 1;\n }\n\n if (this.currentPage < start) {\n const pages = [...this.range(1, start), '...'];\n if (!this.hideEdges) {\n // add last page to the end\n pages.push(this.totalPages);\n }\n return pages;\n }\n\n if (this.currentPage > end) {\n const pages = ['...', ...this.range(end, this.totalPages)];\n if (!this.hideEdges) {\n // add first page to the beginning\n pages.unshift(1);\n }\n return pages;\n }\n\n // rounding to the nearest odd according to the maxlength to always show the page number in the middle.\n const total = this.maxVisible - (3 - this.maxVisible % 2);\n const centerIndex = Math.floor(total / 2);\n let left = this.currentPage - centerIndex;\n let right = this.currentPage + centerIndex;\n\n // if hideEdge is true, modify the left and right to account for the hidden pages\n if (this.hideEdges) {\n left = left - 1;\n right = right + 1;\n }\n\n const pages = ['...', ...this.range(left, right), '...'];\n if (!this.hideEdges) {\n return [1, ...pages, this.totalPages];\n }\n return pages;\n },\n\n prevAriaLabel () {\n return this.isFirstPage ? this.i18n.$t('DIALTONE_PAGINATION_FIRST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_PREVIOUS_PAGE');\n },\n\n nextAriaLabel () {\n return this.isLastPage ? this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_NEXT_PAGE');\n },\n\n pageNumberAriaLabel () {\n return (page) => {\n return page === this.totalPages ? `${this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE')} ${page}` : `${this.i18n.$t('DIALTONE_PAGINATION_PAGE_NUMBER', { page })}`;\n };\n },\n },\n\n watch: {\n activePage () {\n this.currentPage = this.activePage;\n },\n },\n\n methods: {\n range (from, to) {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n },\n\n changePage (page) {\n this.currentPage = page;\n this.$emit('change', this.currentPage);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconChevronLeft","DtIconChevronRight","DtIconMoreHorizontal","DtLocalizationMixin","start","end","pages","total","centerIndex","left","right","page","from","to","range","i"],"mappings":"wSA0EAA,EAAA,CACA,KAAA,eAEA,WAAA,CACA,SAAAC,EAAA,QACA,kBAAAC,EAAA,kBACA,mBAAAC,EAAA,mBACA,qBAAAC,EAAA,oBACA,EAEA,OAAA,CAAAC,EAAAA,OAAA,EAEA,MAAA,CAIA,UAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,WAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,WAAA,CACA,KAAA,OACA,QAAA,CACA,EAOA,WAAA,CACA,KAAA,OACA,QAAA,CACA,EAOA,UAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,QACA,EAEA,MAAA,CACA,MAAA,CACA,YAAA,KAAA,UACA,CACA,EAEA,SAAA,CACA,aAAA,CACA,OAAA,KAAA,cAAA,CACA,EAEA,YAAA,CACA,OAAA,KAAA,cAAA,KAAA,UACA,EAGA,OAAA,CACA,GAAA,KAAA,aAAA,EACA,MAAA,GAEA,GAAA,KAAA,YAAA,KAAA,WACA,OAAA,KAAA,MAAA,EAAA,KAAA,UAAA,EAGA,IAAAC,EAAA,KAAA,WAAA,EACAC,EAAA,KAAA,WAAAD,EAAA,EASA,GALA,KAAA,YACAA,EAAAA,EAAA,EACAC,EAAAA,EAAA,GAGA,KAAA,YAAAD,EAAA,CACA,MAAAE,EAAA,CAAA,GAAA,KAAA,MAAA,EAAAF,CAAA,EAAA,KAAA,EACA,OAAA,KAAA,WAEAE,EAAA,KAAA,KAAA,UAAA,EAEAA,CACA,CAEA,GAAA,KAAA,YAAAD,EAAA,CACA,MAAAC,EAAA,CAAA,MAAA,GAAA,KAAA,MAAAD,EAAA,KAAA,UAAA,CAAA,EACA,OAAA,KAAA,WAEAC,EAAA,QAAA,CAAA,EAEAA,CACA,CAGA,MAAAC,EAAA,KAAA,YAAA,EAAA,KAAA,WAAA,GACAC,EAAA,KAAA,MAAAD,EAAA,CAAA,EACA,IAAAE,EAAA,KAAA,YAAAD,EACAE,EAAA,KAAA,YAAAF,EAGA,KAAA,YACAC,EAAAA,EAAA,EACAC,EAAAA,EAAA,GAGA,MAAAJ,EAAA,CAAA,MAAA,GAAA,KAAA,MAAAG,EAAAC,CAAA,EAAA,KAAA,EACA,OAAA,KAAA,UAGAJ,EAFA,CAAA,EAAA,GAAAA,EAAA,KAAA,UAAA,CAGA,EAEA,eAAA,CACA,OAAA,KAAA,YAAA,KAAA,KAAA,GAAA,gCAAA,EAAA,KAAA,KAAA,GAAA,mCAAA,CACA,EAEA,eAAA,CACA,OAAA,KAAA,WAAA,KAAA,KAAA,GAAA,+BAAA,EAAA,KAAA,KAAA,GAAA,+BAAA,CACA,EAEA,qBAAA,CACA,OAAAK,GACAA,IAAA,KAAA,WAAA,GAAA,KAAA,KAAA,GAAA,+BAAA,CAAA,IAAAA,CAAA,GAAA,GAAA,KAAA,KAAA,GAAA,kCAAA,CAAA,KAAAA,EAAA,CAAA,EAEA,CACA,EAEA,MAAA,CACA,YAAA,CACA,KAAA,YAAA,KAAA,UACA,CACA,EAEA,QAAA,CACA,MAAAC,EAAAC,EAAA,CACA,MAAAC,EAAA,CAAA,EACAF,EAAAA,EAAA,EAAAA,EAAA,EACA,QAAAG,EAAAH,EAAAG,GAAAF,EAAAE,IACAD,EAAA,KAAAC,CAAA,EAEA,OAAAD,CACA,EAEA,WAAAH,EAAA,CACA,KAAA,YAAAA,EACA,KAAA,MAAA,SAAA,KAAA,WAAA,CACA,CACA,CACA"}
1
+ {"version":3,"file":"pagination.cjs","sources":["../../../components/pagination/pagination.vue"],"sourcesContent":["<template>\n <nav\n :aria-label=\"ariaLabel\"\n class=\"d-pagination\"\n >\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-prev\"\n :aria-label=\"prevAriaLabel\"\n kind=\"muted\"\n importance=\"clear\"\n :disabled=\"isFirstPage\"\n @click=\"changePage(currentPage - 1)\"\n >\n <template #icon>\n <dt-icon-chevron-left\n size=\"300\"\n />\n </template>\n </dt-button>\n <div\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page}-${index}`\"\n :class=\"{ 'd-pagination__separator': isNaN(Number(page)) }\"\n >\n <!-- eslint-disable vue/no-bare-strings-in-template -->\n <div\n v-if=\"isNaN(Number(page))\"\n class=\"d-pagination__separator-icon\"\n data-qa=\"dt-pagination-separator\"\n >\n <dt-icon-more-horizontal\n size=\"300\"\n />\n <!-- … -->\n </div>\n <dt-button\n v-else\n :aria-label=\"pageNumberAriaLabel(page)\"\n :kind=\"currentPage === page ? 'default' : 'muted'\"\n :importance=\"currentPage === page ? 'primary' : 'clear'\"\n label-class=\"\"\n @click=\"changePage(page)\"\n >\n {{ page }}\n </dt-button>\n </div>\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-next\"\n :aria-label=\"nextAriaLabel\"\n :disabled=\"isLastPage\"\n kind=\"muted\"\n importance=\"clear\"\n @click=\"changePage(currentPage + 1)\"\n >\n <template #icon>\n <dt-icon-chevron-right\n size=\"300\"\n />\n </template>\n </dt-button>\n </nav>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconChevronLeft, DtIconChevronRight, DtIconMoreHorizontal } from '@dialpad/dialtone-icons/vue2';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.\n * @see https://dialtone.dialpad.com/components/pagination.html\n */\nexport default {\n name: 'DtPagination',\n\n components: {\n DtButton,\n DtIconChevronLeft,\n DtIconChevronRight,\n DtIconMoreHorizontal,\n },\n\n props: {\n /**\n * Descriptive label for the pagination content.\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The total number of the pages\n */\n totalPages: {\n type: Number,\n required: true,\n },\n\n /**\n * The active current page in the list of pages, defaults to the first page\n */\n activePage: {\n type: Number,\n default: 1,\n },\n\n /**\n * Determines the max pages to be shown in the list. Using an odd number is recommended.\n * If an even number is given, then it will be rounded down to the nearest odd number to always\n * keep current page in the middle when current page is in the mid-range.\n */\n maxVisible: {\n type: Number,\n default: 5,\n },\n\n /**\n * Sometimes you may need to hide start and end page number buttons when moving in between.\n * This prop will be used to hide the first and last page buttons when not near the edges.\n * This is useful when your backend does not support offset and you can only use cursor based pagination.\n */\n hideEdges: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Page change event\n *\n * @event change\n * @type {Number}\n */\n 'change',\n ],\n\n data () {\n return {\n currentPage: this.activePage,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n isFirstPage () {\n return this.currentPage === 1;\n },\n\n isLastPage () {\n return this.currentPage === this.totalPages;\n },\n\n // eslint-disable-next-line complexity\n pages () {\n if (this.maxVisible === 0) {\n return [];\n }\n if (this.totalPages <= this.maxVisible) {\n return this.range(1, this.totalPages);\n }\n\n let start = this.maxVisible - 1;\n let end = this.totalPages - start + 1;\n\n // if hideEdges is true, modify the start and\n // end to account for the hidden pages\n if (this.hideEdges) {\n start = start + 1;\n end = end - 1;\n }\n\n if (this.currentPage < start) {\n const pages = [...this.range(1, start), '...'];\n if (!this.hideEdges) {\n // add last page to the end\n pages.push(this.totalPages);\n }\n return pages;\n }\n\n if (this.currentPage > end) {\n const pages = ['...', ...this.range(end, this.totalPages)];\n if (!this.hideEdges) {\n // add first page to the beginning\n pages.unshift(1);\n }\n return pages;\n }\n\n // rounding to the nearest odd according to the maxlength to always show the page number in the middle.\n const total = this.maxVisible - (3 - this.maxVisible % 2);\n const centerIndex = Math.floor(total / 2);\n let left = this.currentPage - centerIndex;\n let right = this.currentPage + centerIndex;\n\n // if hideEdge is true, modify the left and right to account for the hidden pages\n if (this.hideEdges) {\n left = left - 1;\n right = right + 1;\n }\n\n const pages = ['...', ...this.range(left, right), '...'];\n if (!this.hideEdges) {\n return [1, ...pages, this.totalPages];\n }\n return pages;\n },\n\n prevAriaLabel () {\n return this.isFirstPage ? this.i18n.$t('DIALTONE_PAGINATION_FIRST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_PREVIOUS_PAGE');\n },\n\n nextAriaLabel () {\n return this.isLastPage ? this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_NEXT_PAGE');\n },\n\n pageNumberAriaLabel () {\n return (page) => {\n return page === this.totalPages ? `${this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE')} ${page}` : `${this.i18n.$t('DIALTONE_PAGINATION_PAGE_NUMBER', { page })}`;\n };\n },\n },\n\n watch: {\n activePage () {\n this.currentPage = this.activePage;\n },\n },\n\n methods: {\n range (from, to) {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n },\n\n changePage (page) {\n this.currentPage = page;\n this.$emit('change', this.currentPage);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconChevronLeft","DtIconChevronRight","DtIconMoreHorizontal","DialtoneLocalization","start","end","pages","total","centerIndex","left","right","page","from","to","range","i"],"mappings":"gSA0EAA,EAAA,CACA,KAAA,eAEA,WAAA,CACA,SAAAC,EAAA,QACA,kBAAAC,EAAA,kBACA,mBAAAC,EAAA,mBACA,qBAAAC,EAAA,oBACA,EAEA,MAAA,CAIA,UAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,WAAA,CACA,KAAA,OACA,SAAA,EACA,EAKA,WAAA,CACA,KAAA,OACA,QAAA,CACA,EAOA,WAAA,CACA,KAAA,OACA,QAAA,CACA,EAOA,UAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,QACA,EAEA,MAAA,CACA,MAAA,CACA,YAAA,KAAA,WACA,KAAA,IAAAC,EAAAA,oBACA,CACA,EAEA,SAAA,CACA,aAAA,CACA,OAAA,KAAA,cAAA,CACA,EAEA,YAAA,CACA,OAAA,KAAA,cAAA,KAAA,UACA,EAGA,OAAA,CACA,GAAA,KAAA,aAAA,EACA,MAAA,GAEA,GAAA,KAAA,YAAA,KAAA,WACA,OAAA,KAAA,MAAA,EAAA,KAAA,UAAA,EAGA,IAAAC,EAAA,KAAA,WAAA,EACAC,EAAA,KAAA,WAAAD,EAAA,EASA,GALA,KAAA,YACAA,EAAAA,EAAA,EACAC,EAAAA,EAAA,GAGA,KAAA,YAAAD,EAAA,CACA,MAAAE,EAAA,CAAA,GAAA,KAAA,MAAA,EAAAF,CAAA,EAAA,KAAA,EACA,OAAA,KAAA,WAEAE,EAAA,KAAA,KAAA,UAAA,EAEAA,CACA,CAEA,GAAA,KAAA,YAAAD,EAAA,CACA,MAAAC,EAAA,CAAA,MAAA,GAAA,KAAA,MAAAD,EAAA,KAAA,UAAA,CAAA,EACA,OAAA,KAAA,WAEAC,EAAA,QAAA,CAAA,EAEAA,CACA,CAGA,MAAAC,EAAA,KAAA,YAAA,EAAA,KAAA,WAAA,GACAC,EAAA,KAAA,MAAAD,EAAA,CAAA,EACA,IAAAE,EAAA,KAAA,YAAAD,EACAE,EAAA,KAAA,YAAAF,EAGA,KAAA,YACAC,EAAAA,EAAA,EACAC,EAAAA,EAAA,GAGA,MAAAJ,EAAA,CAAA,MAAA,GAAA,KAAA,MAAAG,EAAAC,CAAA,EAAA,KAAA,EACA,OAAA,KAAA,UAGAJ,EAFA,CAAA,EAAA,GAAAA,EAAA,KAAA,UAAA,CAGA,EAEA,eAAA,CACA,OAAA,KAAA,YAAA,KAAA,KAAA,GAAA,gCAAA,EAAA,KAAA,KAAA,GAAA,mCAAA,CACA,EAEA,eAAA,CACA,OAAA,KAAA,WAAA,KAAA,KAAA,GAAA,+BAAA,EAAA,KAAA,KAAA,GAAA,+BAAA,CACA,EAEA,qBAAA,CACA,OAAAK,GACAA,IAAA,KAAA,WAAA,GAAA,KAAA,KAAA,GAAA,+BAAA,CAAA,IAAAA,CAAA,GAAA,GAAA,KAAA,KAAA,GAAA,kCAAA,CAAA,KAAAA,EAAA,CAAA,EAEA,CACA,EAEA,MAAA,CACA,YAAA,CACA,KAAA,YAAA,KAAA,UACA,CACA,EAEA,QAAA,CACA,MAAAC,EAAAC,EAAA,CACA,MAAAC,EAAA,CAAA,EACAF,EAAAA,EAAA,EAAAA,EAAA,EACA,QAAAG,EAAAH,EAAAG,GAAAF,EAAAE,IACAD,EAAA,KAAAC,CAAA,EAEA,OAAAD,CACA,EAEA,WAAAH,EAAA,CACA,KAAA,YAAAA,EACA,KAAA,MAAA,SAAA,KAAA,WAAA,CACA,CACA,CACA"}
@@ -1,16 +1,15 @@
1
1
  import { DtIconChevronLeft as c, DtIconChevronRight as u, DtIconMoreHorizontal as l } from "@dialpad/dialtone-icons/vue2";
2
- import { n as h } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
3
- import g from "../button/button.js";
4
- import d from "../../common/mixins/localization.js";
2
+ import { DialtoneLocalization as h } from "../../localization/index.js";
3
+ import { n as g } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
4
+ import d from "../button/button.js";
5
5
  const P = {
6
6
  name: "DtPagination",
7
7
  components: {
8
- DtButton: g,
8
+ DtButton: d,
9
9
  DtIconChevronLeft: c,
10
10
  DtIconChevronRight: u,
11
11
  DtIconMoreHorizontal: l
12
12
  },
13
- mixins: [d],
14
13
  props: {
15
14
  /**
16
15
  * Descriptive label for the pagination content.
@@ -63,7 +62,8 @@ const P = {
63
62
  ],
64
63
  data() {
65
64
  return {
66
- currentPage: this.activePage
65
+ currentPage: this.activePage,
66
+ i18n: new h()
67
67
  };
68
68
  },
69
69
  computed: {
@@ -137,7 +137,7 @@ var _ = function() {
137
137
  } }, scopedSlots: t._u([{ key: "icon", fn: function() {
138
138
  return [i("dt-icon-chevron-right", { attrs: { size: "300" } })];
139
139
  }, proxy: !0 }]) })], 2);
140
- }, p = [], m = /* @__PURE__ */ h(
140
+ }, p = [], m = /* @__PURE__ */ g(
141
141
  P,
142
142
  _,
143
143
  p
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sources":["../../../components/pagination/pagination.vue"],"sourcesContent":["<template>\n <nav\n :aria-label=\"ariaLabel\"\n class=\"d-pagination\"\n >\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-prev\"\n :aria-label=\"prevAriaLabel\"\n kind=\"muted\"\n importance=\"clear\"\n :disabled=\"isFirstPage\"\n @click=\"changePage(currentPage - 1)\"\n >\n <template #icon>\n <dt-icon-chevron-left\n size=\"300\"\n />\n </template>\n </dt-button>\n <div\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page}-${index}`\"\n :class=\"{ 'd-pagination__separator': isNaN(Number(page)) }\"\n >\n <!-- eslint-disable vue/no-bare-strings-in-template -->\n <div\n v-if=\"isNaN(Number(page))\"\n class=\"d-pagination__separator-icon\"\n data-qa=\"dt-pagination-separator\"\n >\n <dt-icon-more-horizontal\n size=\"300\"\n />\n <!-- … -->\n </div>\n <dt-button\n v-else\n :aria-label=\"pageNumberAriaLabel(page)\"\n :kind=\"currentPage === page ? 'default' : 'muted'\"\n :importance=\"currentPage === page ? 'primary' : 'clear'\"\n label-class=\"\"\n @click=\"changePage(page)\"\n >\n {{ page }}\n </dt-button>\n </div>\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-next\"\n :aria-label=\"nextAriaLabel\"\n :disabled=\"isLastPage\"\n kind=\"muted\"\n importance=\"clear\"\n @click=\"changePage(currentPage + 1)\"\n >\n <template #icon>\n <dt-icon-chevron-right\n size=\"300\"\n />\n </template>\n </dt-button>\n </nav>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconChevronLeft, DtIconChevronRight, DtIconMoreHorizontal } from '@dialpad/dialtone-icons/vue2';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\n/**\n * Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.\n * @see https://dialtone.dialpad.com/components/pagination.html\n */\nexport default {\n name: 'DtPagination',\n\n components: {\n DtButton,\n DtIconChevronLeft,\n DtIconChevronRight,\n DtIconMoreHorizontal,\n },\n\n mixins: [DtLocalizationMixin],\n\n props: {\n /**\n * Descriptive label for the pagination content.\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The total number of the pages\n */\n totalPages: {\n type: Number,\n required: true,\n },\n\n /**\n * The active current page in the list of pages, defaults to the first page\n */\n activePage: {\n type: Number,\n default: 1,\n },\n\n /**\n * Determines the max pages to be shown in the list. Using an odd number is recommended.\n * If an even number is given, then it will be rounded down to the nearest odd number to always\n * keep current page in the middle when current page is in the mid-range.\n */\n maxVisible: {\n type: Number,\n default: 5,\n },\n\n /**\n * Sometimes you may need to hide start and end page number buttons when moving in between.\n * This prop will be used to hide the first and last page buttons when not near the edges.\n * This is useful when your backend does not support offset and you can only use cursor based pagination.\n */\n hideEdges: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Page change event\n *\n * @event change\n * @type {Number}\n */\n 'change',\n ],\n\n data () {\n return {\n currentPage: this.activePage,\n };\n },\n\n computed: {\n isFirstPage () {\n return this.currentPage === 1;\n },\n\n isLastPage () {\n return this.currentPage === this.totalPages;\n },\n\n // eslint-disable-next-line complexity\n pages () {\n if (this.maxVisible === 0) {\n return [];\n }\n if (this.totalPages <= this.maxVisible) {\n return this.range(1, this.totalPages);\n }\n\n let start = this.maxVisible - 1;\n let end = this.totalPages - start + 1;\n\n // if hideEdges is true, modify the start and\n // end to account for the hidden pages\n if (this.hideEdges) {\n start = start + 1;\n end = end - 1;\n }\n\n if (this.currentPage < start) {\n const pages = [...this.range(1, start), '...'];\n if (!this.hideEdges) {\n // add last page to the end\n pages.push(this.totalPages);\n }\n return pages;\n }\n\n if (this.currentPage > end) {\n const pages = ['...', ...this.range(end, this.totalPages)];\n if (!this.hideEdges) {\n // add first page to the beginning\n pages.unshift(1);\n }\n return pages;\n }\n\n // rounding to the nearest odd according to the maxlength to always show the page number in the middle.\n const total = this.maxVisible - (3 - this.maxVisible % 2);\n const centerIndex = Math.floor(total / 2);\n let left = this.currentPage - centerIndex;\n let right = this.currentPage + centerIndex;\n\n // if hideEdge is true, modify the left and right to account for the hidden pages\n if (this.hideEdges) {\n left = left - 1;\n right = right + 1;\n }\n\n const pages = ['...', ...this.range(left, right), '...'];\n if (!this.hideEdges) {\n return [1, ...pages, this.totalPages];\n }\n return pages;\n },\n\n prevAriaLabel () {\n return this.isFirstPage ? this.i18n.$t('DIALTONE_PAGINATION_FIRST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_PREVIOUS_PAGE');\n },\n\n nextAriaLabel () {\n return this.isLastPage ? this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_NEXT_PAGE');\n },\n\n pageNumberAriaLabel () {\n return (page) => {\n return page === this.totalPages ? `${this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE')} ${page}` : `${this.i18n.$t('DIALTONE_PAGINATION_PAGE_NUMBER', { page })}`;\n };\n },\n },\n\n watch: {\n activePage () {\n this.currentPage = this.activePage;\n },\n },\n\n methods: {\n range (from, to) {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n },\n\n changePage (page) {\n this.currentPage = page;\n this.$emit('change', this.currentPage);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconChevronLeft","DtIconChevronRight","DtIconMoreHorizontal","DtLocalizationMixin","start","end","pages","total","centerIndex","left","right","page","from","to","range","i"],"mappings":";;;;AA0EA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,sBAAAC;AAAA,EACA;AAAA,EAEA,QAAA,CAAAC,CAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,aAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,cAAA;AACA,aAAA,KAAA,gBAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAA,KAAA,gBAAA,KAAA;AAAA,IACA;AAAA;AAAA,IAGA,QAAA;AACA,UAAA,KAAA,eAAA;AACA,eAAA;AAEA,UAAA,KAAA,cAAA,KAAA;AACA,eAAA,KAAA,MAAA,GAAA,KAAA,UAAA;AAGA,UAAAC,IAAA,KAAA,aAAA,GACAC,IAAA,KAAA,aAAAD,IAAA;AASA,UALA,KAAA,cACAA,IAAAA,IAAA,GACAC,IAAAA,IAAA,IAGA,KAAA,cAAAD,GAAA;AACA,cAAAE,IAAA,CAAA,GAAA,KAAA,MAAA,GAAAF,CAAA,GAAA,KAAA;AACA,eAAA,KAAA,aAEAE,EAAA,KAAA,KAAA,UAAA,GAEAA;AAAA,MACA;AAEA,UAAA,KAAA,cAAAD,GAAA;AACA,cAAAC,IAAA,CAAA,OAAA,GAAA,KAAA,MAAAD,GAAA,KAAA,UAAA,CAAA;AACA,eAAA,KAAA,aAEAC,EAAA,QAAA,CAAA,GAEAA;AAAA,MACA;AAGA,YAAAC,IAAA,KAAA,cAAA,IAAA,KAAA,aAAA,IACAC,IAAA,KAAA,MAAAD,IAAA,CAAA;AACA,UAAAE,IAAA,KAAA,cAAAD,GACAE,IAAA,KAAA,cAAAF;AAGA,MAAA,KAAA,cACAC,IAAAA,IAAA,GACAC,IAAAA,IAAA;AAGA,YAAAJ,IAAA,CAAA,OAAA,GAAA,KAAA,MAAAG,GAAAC,CAAA,GAAA,KAAA;AACA,aAAA,KAAA,YAGAJ,IAFA,CAAA,GAAA,GAAAA,GAAA,KAAA,UAAA;AAAA,IAGA;AAAA,IAEA,gBAAA;AACA,aAAA,KAAA,cAAA,KAAA,KAAA,GAAA,gCAAA,IAAA,KAAA,KAAA,GAAA,mCAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,aAAA,KAAA,aAAA,KAAA,KAAA,GAAA,+BAAA,IAAA,KAAA,KAAA,GAAA,+BAAA;AAAA,IACA;AAAA,IAEA,sBAAA;AACA,aAAA,CAAAK,MACAA,MAAA,KAAA,aAAA,GAAA,KAAA,KAAA,GAAA,+BAAA,CAAA,IAAAA,CAAA,KAAA,GAAA,KAAA,KAAA,GAAA,mCAAA,EAAA,MAAAA,GAAA,CAAA;AAAA,IAEA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,aAAA;AACA,WAAA,cAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,MAAAC,GAAAC,GAAA;AACA,YAAAC,IAAA,CAAA;AACA,MAAAF,IAAAA,IAAA,IAAAA,IAAA;AACA,eAAAG,IAAAH,GAAAG,KAAAF,GAAAE;AACA,QAAAD,EAAA,KAAAC,CAAA;AAEA,aAAAD;AAAA,IACA;AAAA,IAEA,WAAAH,GAAA;AACA,WAAA,cAAAA,GACA,KAAA,MAAA,UAAA,KAAA,WAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"pagination.js","sources":["../../../components/pagination/pagination.vue"],"sourcesContent":["<template>\n <nav\n :aria-label=\"ariaLabel\"\n class=\"d-pagination\"\n >\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-prev\"\n :aria-label=\"prevAriaLabel\"\n kind=\"muted\"\n importance=\"clear\"\n :disabled=\"isFirstPage\"\n @click=\"changePage(currentPage - 1)\"\n >\n <template #icon>\n <dt-icon-chevron-left\n size=\"300\"\n />\n </template>\n </dt-button>\n <div\n v-for=\"(page, index) in pages\"\n :key=\"`page-${page}-${index}`\"\n :class=\"{ 'd-pagination__separator': isNaN(Number(page)) }\"\n >\n <!-- eslint-disable vue/no-bare-strings-in-template -->\n <div\n v-if=\"isNaN(Number(page))\"\n class=\"d-pagination__separator-icon\"\n data-qa=\"dt-pagination-separator\"\n >\n <dt-icon-more-horizontal\n size=\"300\"\n />\n <!-- … -->\n </div>\n <dt-button\n v-else\n :aria-label=\"pageNumberAriaLabel(page)\"\n :kind=\"currentPage === page ? 'default' : 'muted'\"\n :importance=\"currentPage === page ? 'primary' : 'clear'\"\n label-class=\"\"\n @click=\"changePage(page)\"\n >\n {{ page }}\n </dt-button>\n </div>\n <dt-button\n class=\"d-pagination__button\"\n data-qa=\"dt-pagination-next\"\n :aria-label=\"nextAriaLabel\"\n :disabled=\"isLastPage\"\n kind=\"muted\"\n importance=\"clear\"\n @click=\"changePage(currentPage + 1)\"\n >\n <template #icon>\n <dt-icon-chevron-right\n size=\"300\"\n />\n </template>\n </dt-button>\n </nav>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconChevronLeft, DtIconChevronRight, DtIconMoreHorizontal } from '@dialpad/dialtone-icons/vue2';\nimport { DialtoneLocalization } from '@/localization';\n\n/**\n * Pagination allows you to divide large amounts of content into smaller chunks across multiple pages.\n * @see https://dialtone.dialpad.com/components/pagination.html\n */\nexport default {\n name: 'DtPagination',\n\n components: {\n DtButton,\n DtIconChevronLeft,\n DtIconChevronRight,\n DtIconMoreHorizontal,\n },\n\n props: {\n /**\n * Descriptive label for the pagination content.\n */\n ariaLabel: {\n type: String,\n required: true,\n },\n\n /**\n * The total number of the pages\n */\n totalPages: {\n type: Number,\n required: true,\n },\n\n /**\n * The active current page in the list of pages, defaults to the first page\n */\n activePage: {\n type: Number,\n default: 1,\n },\n\n /**\n * Determines the max pages to be shown in the list. Using an odd number is recommended.\n * If an even number is given, then it will be rounded down to the nearest odd number to always\n * keep current page in the middle when current page is in the mid-range.\n */\n maxVisible: {\n type: Number,\n default: 5,\n },\n\n /**\n * Sometimes you may need to hide start and end page number buttons when moving in between.\n * This prop will be used to hide the first and last page buttons when not near the edges.\n * This is useful when your backend does not support offset and you can only use cursor based pagination.\n */\n hideEdges: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Page change event\n *\n * @event change\n * @type {Number}\n */\n 'change',\n ],\n\n data () {\n return {\n currentPage: this.activePage,\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n isFirstPage () {\n return this.currentPage === 1;\n },\n\n isLastPage () {\n return this.currentPage === this.totalPages;\n },\n\n // eslint-disable-next-line complexity\n pages () {\n if (this.maxVisible === 0) {\n return [];\n }\n if (this.totalPages <= this.maxVisible) {\n return this.range(1, this.totalPages);\n }\n\n let start = this.maxVisible - 1;\n let end = this.totalPages - start + 1;\n\n // if hideEdges is true, modify the start and\n // end to account for the hidden pages\n if (this.hideEdges) {\n start = start + 1;\n end = end - 1;\n }\n\n if (this.currentPage < start) {\n const pages = [...this.range(1, start), '...'];\n if (!this.hideEdges) {\n // add last page to the end\n pages.push(this.totalPages);\n }\n return pages;\n }\n\n if (this.currentPage > end) {\n const pages = ['...', ...this.range(end, this.totalPages)];\n if (!this.hideEdges) {\n // add first page to the beginning\n pages.unshift(1);\n }\n return pages;\n }\n\n // rounding to the nearest odd according to the maxlength to always show the page number in the middle.\n const total = this.maxVisible - (3 - this.maxVisible % 2);\n const centerIndex = Math.floor(total / 2);\n let left = this.currentPage - centerIndex;\n let right = this.currentPage + centerIndex;\n\n // if hideEdge is true, modify the left and right to account for the hidden pages\n if (this.hideEdges) {\n left = left - 1;\n right = right + 1;\n }\n\n const pages = ['...', ...this.range(left, right), '...'];\n if (!this.hideEdges) {\n return [1, ...pages, this.totalPages];\n }\n return pages;\n },\n\n prevAriaLabel () {\n return this.isFirstPage ? this.i18n.$t('DIALTONE_PAGINATION_FIRST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_PREVIOUS_PAGE');\n },\n\n nextAriaLabel () {\n return this.isLastPage ? this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE') : this.i18n.$t('DIALTONE_PAGINATION_NEXT_PAGE');\n },\n\n pageNumberAriaLabel () {\n return (page) => {\n return page === this.totalPages ? `${this.i18n.$t('DIALTONE_PAGINATION_LAST_PAGE')} ${page}` : `${this.i18n.$t('DIALTONE_PAGINATION_PAGE_NUMBER', { page })}`;\n };\n },\n },\n\n watch: {\n activePage () {\n this.currentPage = this.activePage;\n },\n },\n\n methods: {\n range (from, to) {\n const range = [];\n from = from > 0 ? from : 1;\n for (let i = from; i <= to; i++) {\n range.push(i);\n }\n return range;\n },\n\n changePage (page) {\n this.currentPage = page;\n this.$emit('change', this.currentPage);\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconChevronLeft","DtIconChevronRight","DtIconMoreHorizontal","DialtoneLocalization","start","end","pages","total","centerIndex","left","right","page","from","to","range","i"],"mappings":";;;;AA0EA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,oBAAAC;AAAA,IACA,sBAAAC;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,aAAA,KAAA;AAAA,MACA,MAAA,IAAAC,EAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,cAAA;AACA,aAAA,KAAA,gBAAA;AAAA,IACA;AAAA,IAEA,aAAA;AACA,aAAA,KAAA,gBAAA,KAAA;AAAA,IACA;AAAA;AAAA,IAGA,QAAA;AACA,UAAA,KAAA,eAAA;AACA,eAAA;AAEA,UAAA,KAAA,cAAA,KAAA;AACA,eAAA,KAAA,MAAA,GAAA,KAAA,UAAA;AAGA,UAAAC,IAAA,KAAA,aAAA,GACAC,IAAA,KAAA,aAAAD,IAAA;AASA,UALA,KAAA,cACAA,IAAAA,IAAA,GACAC,IAAAA,IAAA,IAGA,KAAA,cAAAD,GAAA;AACA,cAAAE,IAAA,CAAA,GAAA,KAAA,MAAA,GAAAF,CAAA,GAAA,KAAA;AACA,eAAA,KAAA,aAEAE,EAAA,KAAA,KAAA,UAAA,GAEAA;AAAA,MACA;AAEA,UAAA,KAAA,cAAAD,GAAA;AACA,cAAAC,IAAA,CAAA,OAAA,GAAA,KAAA,MAAAD,GAAA,KAAA,UAAA,CAAA;AACA,eAAA,KAAA,aAEAC,EAAA,QAAA,CAAA,GAEAA;AAAA,MACA;AAGA,YAAAC,IAAA,KAAA,cAAA,IAAA,KAAA,aAAA,IACAC,IAAA,KAAA,MAAAD,IAAA,CAAA;AACA,UAAAE,IAAA,KAAA,cAAAD,GACAE,IAAA,KAAA,cAAAF;AAGA,MAAA,KAAA,cACAC,IAAAA,IAAA,GACAC,IAAAA,IAAA;AAGA,YAAAJ,IAAA,CAAA,OAAA,GAAA,KAAA,MAAAG,GAAAC,CAAA,GAAA,KAAA;AACA,aAAA,KAAA,YAGAJ,IAFA,CAAA,GAAA,GAAAA,GAAA,KAAA,UAAA;AAAA,IAGA;AAAA,IAEA,gBAAA;AACA,aAAA,KAAA,cAAA,KAAA,KAAA,GAAA,gCAAA,IAAA,KAAA,KAAA,GAAA,mCAAA;AAAA,IACA;AAAA,IAEA,gBAAA;AACA,aAAA,KAAA,aAAA,KAAA,KAAA,GAAA,+BAAA,IAAA,KAAA,KAAA,GAAA,+BAAA;AAAA,IACA;AAAA,IAEA,sBAAA;AACA,aAAA,CAAAK,MACAA,MAAA,KAAA,aAAA,GAAA,KAAA,KAAA,GAAA,+BAAA,CAAA,IAAAA,CAAA,KAAA,GAAA,KAAA,KAAA,GAAA,mCAAA,EAAA,MAAAA,GAAA,CAAA;AAAA,IAEA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,aAAA;AACA,WAAA,cAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,MAAAC,GAAAC,GAAA;AACA,YAAAC,IAAA,CAAA;AACA,MAAAF,IAAAA,IAAA,IAAAA,IAAA;AACA,eAAAG,IAAAH,GAAAG,KAAAF,GAAAE;AACA,QAAAD,EAAA,KAAAC,CAAA;AAEA,aAAAD;AAAA,IACA;AAAA,IAEA,WAAAH,GAAA;AACA,WAAA,cAAAA,GACA,KAAA,MAAA,UAAA,KAAA,WAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("@dialpad/dialtone-icons/vue2"),n=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),s=require("../button/button.cjs"),c=require("../../common/mixins/localization.cjs"),a={name:"PopoverHeaderFooter",components:{DtButton:s.default,DtIconClose:r.DtIconClose},mixins:[c.default],props:{type:{type:String,validator:function(t){return["header","footer"].includes(t)}},contentClass:{type:[String,Array,Object],default:""},showCloseButton:{type:Boolean,default:!1}},emits:["close"],computed:{closeButtonTitle(){return this.i18n.$t("DIALTONE_CLOSE_BUTTON")}},methods:{focusCloseButton(){var e;const t=(e=this.$refs["popover__close-button"])==null?void 0:e.$el;t==null||t.focus()}}};var l=function(){var e=this,o=e._self._c;return o("div",{class:{"d-popover__header":e.type==="header","d-popover__footer":e.type==="footer"},attrs:{"data-qa":"dt-popover-header-footer"}},[e.$slots.content?o("div",{class:[{"d-popover__header__content":e.type==="header","d-popover__footer__content":e.type==="footer"},e.contentClass],attrs:{"data-qa":"dt-popover-header-footer-content"}},[e._t("content")],2):e._e(),e.showCloseButton?o("dt-button",{ref:"popover__close-button",class:{"d-popover__header__close-button":e.type==="header","d-popover__footer__close-button":e.type==="footer"},attrs:{"data-qa":"dt-popover-close",importance:"outlined",kind:"muted",circle:"","aria-label":e.closeButtonTitle,title:e.closeButtonTitle},on:{click:function(d){return e.$emit("close")}},scopedSlots:e._u([{key:"icon",fn:function(){return[o("dt-icon-close",{attrs:{size:"300"}})]},proxy:!0}],null,!1,2465905460)}):e._e()],1)},_=[],u=n.n(a,l,_);const i=u.exports;exports.default=i;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("@dialpad/dialtone-icons/vue2"),n=require("../../localization/index.cjs"),s=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),a=require("../button/button.cjs"),c={name:"PopoverHeaderFooter",components:{DtButton:a.default,DtIconClose:r.DtIconClose},props:{type:{type:String,validator:function(t){return["header","footer"].includes(t)}},contentClass:{type:[String,Array,Object],default:""},showCloseButton:{type:Boolean,default:!1}},emits:["close"],data(){return{i18n:new n.DialtoneLocalization}},computed:{closeButtonTitle(){return this.i18n.$t("DIALTONE_CLOSE_BUTTON")}},methods:{focusCloseButton(){var e;const t=(e=this.$refs["popover__close-button"])==null?void 0:e.$el;t==null||t.focus()}}};var l=function(){var e=this,o=e._self._c;return o("div",{class:{"d-popover__header":e.type==="header","d-popover__footer":e.type==="footer"},attrs:{"data-qa":"dt-popover-header-footer"}},[e.$slots.content?o("div",{class:[{"d-popover__header__content":e.type==="header","d-popover__footer__content":e.type==="footer"},e.contentClass],attrs:{"data-qa":"dt-popover-header-footer-content"}},[e._t("content")],2):e._e(),e.showCloseButton?o("dt-button",{ref:"popover__close-button",class:{"d-popover__header__close-button":e.type==="header","d-popover__footer__close-button":e.type==="footer"},attrs:{"data-qa":"dt-popover-close",importance:"outlined",kind:"muted",circle:"","aria-label":e.closeButtonTitle,title:e.closeButtonTitle},on:{click:function(d){return e.$emit("close")}},scopedSlots:e._u([{key:"icon",fn:function(){return[o("dt-icon-close",{attrs:{size:"300"}})]},proxy:!0}],null,!1,2465905460)}):e._e()],1)},_=[],i=s.n(c,l,_);const u=i.exports;exports.default=u;
2
2
  //# sourceMappingURL=popover-header-footer.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover-header-footer.cjs","sources":["../../../components/popover/popover_header_footer.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-popover-header-footer\"\n :class=\"{\n 'd-popover__header': type === 'header',\n 'd-popover__footer': type === 'footer',\n }\"\n >\n <div\n v-if=\"$slots.content\"\n data-qa=\"dt-popover-header-footer-content\"\n :class=\"[{\n 'd-popover__header__content': type === 'header',\n 'd-popover__footer__content': type === 'footer',\n }, contentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot name=\"content\" />\n </div>\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"popover__close-button\"\n data-qa=\"dt-popover-close\"\n :class=\"{\n 'd-popover__header__close-button': type === 'header',\n 'd-popover__footer__close-button': type === 'footer',\n }\"\n importance=\"outlined\"\n kind=\"muted\"\n circle\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"$emit('close')\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue2';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'PopoverHeaderFooter',\n components: {\n DtButton,\n DtIconClose,\n },\n\n mixins: [DtLocalizationMixin],\n\n props: {\n // eslint-disable-next-line vue/require-default-prop\n type: {\n type: String,\n validator: function (value) {\n return ['header', 'footer'].includes(value);\n },\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines visibility for close button\n * @values true, false\n */\n showCloseButton: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is closed\n *\n * @event close\n * @type { Boolean }\n */\n 'close',\n ],\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n focusCloseButton () {\n const closeButton = this.$refs['popover__close-button']?.$el;\n closeButton?.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconClose","DtLocalizationMixin","value","closeButton","_a"],"mappings":"wSAgDAA,EAAA,CACA,KAAA,sBACA,WAAA,CACA,SAAAC,EAAA,QACA,YAAAC,EAAA,WACA,EAEA,OAAA,CAAAC,EAAAA,OAAA,EAEA,MAAA,CAEA,KAAA,CACA,KAAA,OACA,UAAA,SAAAC,EAAA,CACA,MAAA,CAAA,SAAA,QAAA,EAAA,SAAAA,CAAA,CACA,CACA,EAKA,aAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAMA,gBAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,OACA,EAEA,SAAA,CACA,kBAAA,CACA,OAAA,KAAA,KAAA,GAAA,uBAAA,CACA,CACA,EAEA,QAAA,CACA,kBAAA,OACA,MAAAC,GAAAC,EAAA,KAAA,MAAA,uBAAA,IAAA,YAAAA,EAAA,IACAD,GAAA,MAAAA,EAAA,OACA,CACA,CACA"}
1
+ {"version":3,"file":"popover-header-footer.cjs","sources":["../../../components/popover/popover_header_footer.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-popover-header-footer\"\n :class=\"{\n 'd-popover__header': type === 'header',\n 'd-popover__footer': type === 'footer',\n }\"\n >\n <div\n v-if=\"$slots.content\"\n data-qa=\"dt-popover-header-footer-content\"\n :class=\"[{\n 'd-popover__header__content': type === 'header',\n 'd-popover__footer__content': type === 'footer',\n }, contentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot name=\"content\" />\n </div>\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"popover__close-button\"\n data-qa=\"dt-popover-close\"\n :class=\"{\n 'd-popover__header__close-button': type === 'header',\n 'd-popover__footer__close-button': type === 'footer',\n }\"\n importance=\"outlined\"\n kind=\"muted\"\n circle\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"$emit('close')\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue2';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n name: 'PopoverHeaderFooter',\n components: {\n DtButton,\n DtIconClose,\n },\n\n props: {\n // eslint-disable-next-line vue/require-default-prop\n type: {\n type: String,\n validator: function (value) {\n return ['header', 'footer'].includes(value);\n },\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines visibility for close button\n * @values true, false\n */\n showCloseButton: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is closed\n *\n * @event close\n * @type { Boolean }\n */\n 'close',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n focusCloseButton () {\n const closeButton = this.$refs['popover__close-button']?.$el;\n closeButton?.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconClose","value","DialtoneLocalization","closeButton","_a"],"mappings":"gSAgDAA,EAAA,CACA,KAAA,sBACA,WAAA,CACA,SAAAC,EAAA,QACA,YAAAC,EAAA,WACA,EAEA,MAAA,CAEA,KAAA,CACA,KAAA,OACA,UAAA,SAAAC,EAAA,CACA,MAAA,CAAA,SAAA,QAAA,EAAA,SAAAA,CAAA,CACA,CACA,EAKA,aAAA,CACA,KAAA,CAAA,OAAA,MAAA,MAAA,EACA,QAAA,EACA,EAMA,gBAAA,CACA,KAAA,QACA,QAAA,EACA,CACA,EAEA,MAAA,CAOA,OACA,EAEA,MAAA,CACA,MAAA,CACA,KAAA,IAAAC,EAAAA,oBACA,CACA,EAEA,SAAA,CACA,kBAAA,CACA,OAAA,KAAA,KAAA,GAAA,uBAAA,CACA,CACA,EAEA,QAAA,CACA,kBAAA,OACA,MAAAC,GAAAC,EAAA,KAAA,MAAA,uBAAA,IAAA,YAAAA,EAAA,IACAD,GAAA,MAAAA,EAAA,OACA,CACA,CACA"}
@@ -1,14 +1,13 @@
1
1
  import { DtIconClose as r } from "@dialpad/dialtone-icons/vue2";
2
- import { n } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
3
- import s from "../button/button.js";
4
- import a from "../../common/mixins/localization.js";
2
+ import { DialtoneLocalization as n } from "../../localization/index.js";
3
+ import { n as s } from "../../_plugin-vue2_normalizer-DSLOjnn3.js";
4
+ import a from "../button/button.js";
5
5
  const c = {
6
6
  name: "PopoverHeaderFooter",
7
7
  components: {
8
- DtButton: s,
8
+ DtButton: a,
9
9
  DtIconClose: r
10
10
  },
11
- mixins: [a],
12
11
  props: {
13
12
  // eslint-disable-next-line vue/require-default-prop
14
13
  type: {
@@ -42,6 +41,11 @@ const c = {
42
41
  */
43
42
  "close"
44
43
  ],
44
+ data() {
45
+ return {
46
+ i18n: new n()
47
+ };
48
+ },
45
49
  computed: {
46
50
  closeButtonTitle() {
47
51
  return this.i18n.$t("DIALTONE_CLOSE_BUTTON");
@@ -66,18 +70,18 @@ var p = function() {
66
70
  }, e.contentClass], attrs: { "data-qa": "dt-popover-header-footer-content" } }, [e._t("content")], 2) : e._e(), e.showCloseButton ? o("dt-button", { ref: "popover__close-button", class: {
67
71
  "d-popover__header__close-button": e.type === "header",
68
72
  "d-popover__footer__close-button": e.type === "footer"
69
- }, attrs: { "data-qa": "dt-popover-close", importance: "outlined", kind: "muted", circle: "", "aria-label": e.closeButtonTitle, title: e.closeButtonTitle }, on: { click: function(i) {
73
+ }, attrs: { "data-qa": "dt-popover-close", importance: "outlined", kind: "muted", circle: "", "aria-label": e.closeButtonTitle, title: e.closeButtonTitle }, on: { click: function(d) {
70
74
  return e.$emit("close");
71
75
  } }, scopedSlots: e._u([{ key: "icon", fn: function() {
72
76
  return [o("dt-icon-close", { attrs: { size: "300" } })];
73
77
  }, proxy: !0 }], null, !1, 2465905460) }) : e._e()], 1);
74
- }, l = [], _ = /* @__PURE__ */ n(
78
+ }, l = [], _ = /* @__PURE__ */ s(
75
79
  c,
76
80
  p,
77
81
  l
78
82
  );
79
- const v = _.exports;
83
+ const m = _.exports;
80
84
  export {
81
- v as default
85
+ m as default
82
86
  };
83
87
  //# sourceMappingURL=popover-header-footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popover-header-footer.js","sources":["../../../components/popover/popover_header_footer.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-popover-header-footer\"\n :class=\"{\n 'd-popover__header': type === 'header',\n 'd-popover__footer': type === 'footer',\n }\"\n >\n <div\n v-if=\"$slots.content\"\n data-qa=\"dt-popover-header-footer-content\"\n :class=\"[{\n 'd-popover__header__content': type === 'header',\n 'd-popover__footer__content': type === 'footer',\n }, contentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot name=\"content\" />\n </div>\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"popover__close-button\"\n data-qa=\"dt-popover-close\"\n :class=\"{\n 'd-popover__header__close-button': type === 'header',\n 'd-popover__footer__close-button': type === 'footer',\n }\"\n importance=\"outlined\"\n kind=\"muted\"\n circle\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"$emit('close')\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue2';\nimport { DtLocalizationMixin } from '@/common/mixins';\n\nexport default {\n name: 'PopoverHeaderFooter',\n components: {\n DtButton,\n DtIconClose,\n },\n\n mixins: [DtLocalizationMixin],\n\n props: {\n // eslint-disable-next-line vue/require-default-prop\n type: {\n type: String,\n validator: function (value) {\n return ['header', 'footer'].includes(value);\n },\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines visibility for close button\n * @values true, false\n */\n showCloseButton: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is closed\n *\n * @event close\n * @type { Boolean }\n */\n 'close',\n ],\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n focusCloseButton () {\n const closeButton = this.$refs['popover__close-button']?.$el;\n closeButton?.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconClose","DtLocalizationMixin","value","closeButton","_a"],"mappings":";;;;AAgDA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,EACA;AAAA,EAEA,QAAA,CAAAC,CAAA;AAAA,EAEA,OAAA;AAAA;AAAA,IAEA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,WAAA,SAAAC,GAAA;AACA,eAAA,CAAA,UAAA,QAAA,EAAA,SAAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,KAAA,GAAA,uBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,mBAAA;;AACA,YAAAC,KAAAC,IAAA,KAAA,MAAA,uBAAA,MAAA,gBAAAA,EAAA;AACA,MAAAD,KAAA,QAAAA,EAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"popover-header-footer.js","sources":["../../../components/popover/popover_header_footer.vue"],"sourcesContent":["<template>\n <div\n data-qa=\"dt-popover-header-footer\"\n :class=\"{\n 'd-popover__header': type === 'header',\n 'd-popover__footer': type === 'footer',\n }\"\n >\n <div\n v-if=\"$slots.content\"\n data-qa=\"dt-popover-header-footer-content\"\n :class=\"[{\n 'd-popover__header__content': type === 'header',\n 'd-popover__footer__content': type === 'footer',\n }, contentClass]\"\n >\n <!-- @slot Slot for main content -->\n <slot name=\"content\" />\n </div>\n <dt-button\n v-if=\"showCloseButton\"\n ref=\"popover__close-button\"\n data-qa=\"dt-popover-close\"\n :class=\"{\n 'd-popover__header__close-button': type === 'header',\n 'd-popover__footer__close-button': type === 'footer',\n }\"\n importance=\"outlined\"\n kind=\"muted\"\n circle\n :aria-label=\"closeButtonTitle\"\n :title=\"closeButtonTitle\"\n @click=\"$emit('close')\"\n >\n <template #icon>\n <dt-icon-close\n size=\"300\"\n />\n </template>\n </dt-button>\n </div>\n</template>\n\n<script>\nimport { DtButton } from '@/components/button';\nimport { DtIconClose } from '@dialpad/dialtone-icons/vue2';\nimport { DialtoneLocalization } from '@/localization';\n\nexport default {\n name: 'PopoverHeaderFooter',\n components: {\n DtButton,\n DtIconClose,\n },\n\n props: {\n // eslint-disable-next-line vue/require-default-prop\n type: {\n type: String,\n validator: function (value) {\n return ['header', 'footer'].includes(value);\n },\n },\n\n /**\n * Additional class name for the content wrapper element.\n */\n contentClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Determines visibility for close button\n * @values true, false\n */\n showCloseButton: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n /**\n * Emitted when popover is closed\n *\n * @event close\n * @type { Boolean }\n */\n 'close',\n ],\n\n data () {\n return {\n i18n: new DialtoneLocalization(),\n };\n },\n\n computed: {\n closeButtonTitle () {\n return this.i18n.$t('DIALTONE_CLOSE_BUTTON');\n },\n },\n\n methods: {\n focusCloseButton () {\n const closeButton = this.$refs['popover__close-button']?.$el;\n closeButton?.focus();\n },\n },\n};\n</script>\n"],"names":["_sfc_main","DtButton","DtIconClose","value","DialtoneLocalization","closeButton","_a"],"mappings":";;;;AAgDA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA,IAEA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,WAAA,SAAAC,GAAA;AACA,eAAA,CAAA,UAAA,QAAA,EAAA,SAAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,MAAA,IAAAC,EAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,mBAAA;AACA,aAAA,KAAA,KAAA,GAAA,uBAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,mBAAA;;AACA,YAAAC,KAAAC,IAAA,KAAA,MAAA,uBAAA,MAAA,gBAAAA,EAAA;AACA,MAAAD,KAAA,QAAAA,EAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("../../node_modules/@tiptap/vue-2.cjs"),l=require("@tiptap/core"),q=require("@tiptap/extension-blockquote"),B=require("@tiptap/extension-code-block"),D=require("@tiptap/extension-code"),j=require("@tiptap/extension-document"),$=require("@tiptap/extension-paragraph"),M=require("@tiptap/extension-placeholder"),H=require("@tiptap/extension-hard-break"),N=require("@tiptap/extension-bold"),V=require("@tiptap/extension-bullet-list"),F=require("@tiptap/extension-italic"),K=require("@tiptap/extension-link"),W=require("@tiptap/extension-list-item"),U=require("@tiptap/extension-ordered-list"),z=require("@tiptap/extension-strike"),X=require("@tiptap/extension-underline"),J=require("@tiptap/extension-text"),Y=require("@tiptap/extension-text-align"),G=require("@tiptap/extension-history"),Q=require("@tiptap/extension-text-style"),Z=require("@tiptap/extension-color"),ee=require("@tiptap/extension-font-family"),p=require("@tiptap/pm/state"),te=require("@tiptap/suggestion"),I=require("regex-combined-emojis"),u=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),P=require("../emoji/emoji.cjs"),f=require("../../common/emoji/index.cjs"),ne=require("@dialpad/dialtone-emojis"),re=require("../list-item/list-item.cjs"),b=require("../stack/stack.cjs"),x=require("tippy.js"),E=require("../../common/utils/index.cjs"),se=require("@tiptap/extension-image"),R=require("@tiptap/extension-mention"),A=require("../link/link.cjs"),w=require("./rich-text-editor-constants.cjs"),ie=require("../avatar/avatar.cjs"),oe=require("@dialpad/dialtone-icons/vue2/hash"),ae=require("@dialpad/dialtone-icons/vue2/lock"),ce=require("deep-equal"),le=require("../button/button.cjs"),de=require("../../common/mixins/localization.cjs"),ue={name:"EmojiComponent",components:{NodeViewWrapper:c.NodeViewWrapper,DtEmoji:P.default},props:c.nodeViewProps};var me=function(){var t=this,n=t._self._c;return n("node-view-wrapper",{staticClass:"d-d-inline-block d-va-bottom d-lh0"},[n("dt-emoji",{attrs:{size:"500",code:t.node.attrs.code}})],1)},he=[],fe=u.n(ue,me,he);const pe=fe.exports,ge={name:"SuggestionList",components:{DtListItem:re.default},props:{items:{type:Array,required:!0},command:{type:Function,required:!0},itemComponent:{type:Object,required:!0},itemType:{type:String,required:!0}},data(){return{selectedIndex:0}},watch:{items(){this.selectedIndex=0}},methods:{onKeyDown({event:e}){return e.key==="ArrowUp"?(this.upHandler(),!0):e.key==="ArrowDown"?(this.downHandler(),!0):e.key==="Enter"||e.key==="Tab"?(this.selectHandler(),!0):!1},upHandler(){this.selectedIndex=(this.selectedIndex+this.items.length-1)%this.items.length,this.scrollActiveElementIntoView()},downHandler(){this.selectedIndex=(this.selectedIndex+1)%this.items.length,this.scrollActiveElementIntoView()},async scrollActiveElementIntoView(){await this.$nextTick();const e=this.$refs.suggestionList.querySelector(".d-list-item--highlighted");e&&e.scrollIntoView({behaviour:"smooth",block:"center"})},selectHandler(){this.selectItem(this.selectedIndex)},selectItem(e){const t=this.items[e];switch(this.itemType){case"emoji":this.command(t);return;case"mention":this.command({name:t.name,id:t.id,avatarSrc:t.avatarSrc});break;case"channel":this.command({name:t.name,id:t.id});break;case"slash-command":this.command({command:t.command});break}}}};var _e=function(){var t=this,n=t._self._c;return n("div",{staticClass:"d-popover__dialog d-suggestion-list__container"},[n("ul",{directives:[{name:"show",rawName:"v-show",value:t.items.length,expression:"items.length"}],ref:"suggestionList",staticClass:"d-suggestion-list"},t._l(t.items,function(r,s){return n("dt-list-item",{key:r.id,class:["d-suggestion-list__item",{"d-list-item--highlighted":s===t.selectedIndex}],attrs:{"navigation-type":"arrow-keys"},on:{click:function(o){return t.selectItem(s)},keydown:function(o){return o.preventDefault(),t.onKeyDown.apply(null,arguments)}}},[n(t.itemComponent,{tag:"component",attrs:{item:r}})],1)}),1)])},ye=[],we=u.n(ge,_e,ye);const v=we.exports,be={name:"EmojiSuggestion",components:{DtEmoji:P.default,DtStack:b.default},props:{item:{type:Object,required:!0}}};var xe=function(){var t=this,n=t._self._c;return n("dt-stack",{attrs:{direction:"row",gap:"400"}},[n("dt-emoji",{attrs:{size:"200",code:t.item.code}}),t._v(" "+t._s(t.item.code)+" ")],1)},ve=[],ke=u.n(be,xe,ve);const Te=ke.exports,k={name:"hideOnEsc",defaultValue:!0,fn({hide:e}){function t(n){n.keyCode===27&&e()}return{onShow(){document.addEventListener("keydown",t)},onHide(){document.removeEventListener("keydown",t)}}}},Ce=20,Ee={items:({query:e})=>{if(e.length<2)return[];const t=Object.values(ne.emojisIndexed);return e=e.toLowerCase(),t.filter(r=>[r.name,r.shortname.replaceAll(":",""),...r.keywords].some(s=>s.startsWith(e))).splice(0,Ce).map(r=>({code:r.shortname}))},command:({editor:e,range:t,props:n})=>{var o,i;const r=e.view.state.selection.$to.nodeAfter;((o=r==null?void 0:r.text)==null?void 0:o.startsWith(" "))&&(t.to+=1),e.chain().focus().insertContentAt(t,[{type:"emoji",attrs:n}]).run(),(i=window.getSelection())==null||i.collapseToEnd()},render:()=>{let e,t,n=!1;return{onStart:r=>{e=new c.VueRenderer(v,{parent:void 0,propsData:{itemComponent:Te,itemType:"emoji",...r},editor:r.editor}),r.clientRect&&(t=x("body",{getReferenceClientRect:r.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{n=!0},onHidden:()=>{n=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[k]}),r.items.length>0&&(t==null||t[0].show()))},onUpdate(r){e==null||e.updateProps(r),r.items.length>0?t==null||t[0].show():t==null||t[0].hide(),t==null||t[0].setProps({getReferenceClientRect:r.clientRect})},onKeyDown(r){var s;if(n)return(s=e==null?void 0:e.ref)==null?void 0:s.onKeyDown(r)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},Re=/(:\w+:)$/,Se=new RegExp(I.emojiPattern+"$"),Le=e=>{if(e&&f.codeToEmojiData(e[0]))return{text:e[2]||e[0]}},$e=e=>[...e.matchAll(f.emojiShortCodeRegex)].filter(n=>f.codeToEmojiData(n[0])).map(n=>({index:n.index,text:n[0],match:n})),Ie=l.Node.create({name:"emoji",addOptions(){return{HTMLAttributes:{}}},group:"inline",inline:!0,selectable:!1,atom:!0,addNodeView(){return c.VueNodeViewRenderer(pe)},addAttributes(){return{code:{default:null}}},parseHTML(){return[{tag:"emoji-component"}]},renderText({node:e}){return f.stringToUnicode(f.codeToEmojiData(e.attrs.code).unicode_output)},renderHTML({HTMLAttributes:e}){return["emoji-component",l.mergeAttributes(this.options.HTMLAttributes,e)]},addInputRules(){return[new l.InputRule({find:e=>{const t=e.match(Re)||e.match(Se);if(t)return Le(t)},handler:({state:e,range:t,match:n,commands:r,chain:s,can:o})=>{const{tr:i}=e,a=t.from,d=t.to;i.replaceWith(a,d,this.type.create({code:n[0]}))}})]},addPasteRules(){return[l.nodePasteRule({find:$e,type:this.type,getAttributes(e){return{code:e[0]}}}),l.nodePasteRule({find:f.emojiRegex,type:this.type,getAttributes(e){return{code:e[0]}}})]},addProseMirrorPlugins(){return[te({char:":",pluginKey:new p.PluginKey("emoji"),editor:this.editor,...this.options.suggestion,...Ee})]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:t})=>{let n=!1;const{selection:r}=t,{empty:s,anchor:o}=r;return s?(t.doc.nodesBetween(o-1,o,(i,a)=>{if(i.type.name===this.name)return n=!0,e.insertText("",a,a+i.nodeSize),!1}),n):!1})}}});function Pe(e,t,n=()=>!0){const r=[];t.lastIndex=0;let s;for(;s=t.exec(e);)n(e,s)&&r.push(s);return r}function Ae(e,t){return!["#","@"].includes(e.charAt(t.index))&&!["#","@"].includes(e.charAt(t.index-1))}function Oe(e){const t=new RegExp("(?:"+[`[!?.,:;'"]`,"(?:&|&amp;)(?:lt|gt|quot|apos|raquo|laquo|rsaquo|lsaquo);)+$"].join("|"),"g");return e.replace(t,"")}function qe(e,t){const n=e.slice(0,t+1).search(/\S+\s*$/),r=e.slice(t).search(/\s/);if(r<0){const s=e.slice(n);return{text:s,from:n,to:n+s.length}}return{text:e.slice(n,r+t),from:n,to:r+t}}function C(e,t,n,r){const s=qe(e,t);if(r.lastIndex=0,!r.test(s.text))return s;const o=n==="left"?s.from-1:s.to+1;return o<=0||o>=e.length||o===t?s:C(e,o,n,r)}function Be(e,t,n,r){const s=Math.max(e.from-1,0),o=Math.min(e.to+1,t.content.size),i=l.getMarksBetween(s,o,t);for(const a of i)a.mark.type===r&&n.removeMark(a.from,a.to,r)}const S=E.getPhoneNumberRegex(1,15);function L(e,t,n,r,s,o){if(!e)return;let i=n-t-1;i=i<0?0:i;const a=r-t,d=C(e,i,"left",S),m=C(e,a,"right",S),h=e.slice(d.from,m.to);Pe(h,E.linkRegex,Ae).forEach(T=>{const g=Oe(T[0]),y=t+d.from+T.index+1,O=y+g.length;s.addMark(y,O,o.create())})}function De(e){let t=!1;return new p.Plugin({key:new p.PluginKey("autolink"),appendTransaction:(n,r,s)=>{const o=n.some(h=>h.docChanged)&&!r.doc.eq(s.doc);if(t&&!o)return;const{tr:i}=s,{textContent:a}=s.doc;t||L(a,0,0,a.length,i,e.type),t=!0;const d=l.combineTransactionSteps(r.doc,[...n]);return l.getChangedRanges(d).forEach(({oldRange:h,newRange:_})=>{Be(_,s.doc,i,e.type),l.findChildrenInRange(s.doc,_,g=>g.isTextblock).forEach(({node:g,pos:y})=>{L(g.textContent,y,h.from,_.to,i,e.type)})}),i}})}const je={class:"d-link d-c-text d-d-inline-block d-wb-break-all",rel:"noopener noreferrer nofollow"},Me=l.Mark.create({name:"CustomLink",renderHTML({HTMLAttributes:e}){return["a",l.mergeAttributes(this.options.HTMLAttributes,e,je)]},renderText({node:e}){return e.attrs.text},addProseMirrorPlugins(){return[De({type:this.type})]}}),He=se.extend({name:"ConfigurableImage",addAttributes(){return{src:{default:""},alt:{default:void 0},title:{default:void 0},width:{default:void 0},height:{default:void 0},style:{default:void 0}}}}).configure({inline:!0,allowBase64:!0}),Ne=$.extend({parseHTML(){return[{tag:"div"}]},renderHTML({HTMLAttributes:e}){return["div",l.mergeAttributes(this.options.HTMLAttributes,e),0]}}),Ve={name:"MentionComponent",components:{NodeViewWrapper:c.NodeViewWrapper,DtLink:A.default},props:c.nodeViewProps,computed:{text(){return"@"+this.$props.node.attrs.name}}};var Fe=function(){var t=this,n=t._self._c;return n("node-view-wrapper",{staticClass:"d-d-inline-block"},[n("dt-link",{attrs:{kind:"mention"}},[t._v(" "+t._s(t.text)+" ")])],1)},Ke=[],We=u.n(Ve,Fe,Ke);const Ue=We.exports,ze=R.extend({addNodeView(){return c.VueNodeViewRenderer(Ue)},parseHTML(){return[{tag:"mention-component"}]},addAttributes(){return{name:{default:""},avatarSrc:{default:""},id:{default:""}}},renderText({node:e}){return`@${e.attrs.id}`},renderHTML({HTMLAttributes:e}){return["mention-component",l.mergeAttributes(this.options.HTMLAttributes,e)]}}).configure({suggestion:{char:"@",pluginKey:new p.PluginKey("mentionSuggestion")}}),Xe={name:"ChannelComponent",components:{NodeViewWrapper:c.NodeViewWrapper,DtLink:A.default},props:c.nodeViewProps,computed:{text(){return"#"+this.$props.node.attrs.name}}};var Je=function(){var t=this,n=t._self._c;return n("node-view-wrapper",{staticClass:"d-d-inline-block"},[n("dt-link",{attrs:{kind:"mention"}},[t._v(" "+t._s(t.text)+" ")])],1)},Ye=[],Ge=u.n(Xe,Je,Ye);const Qe=Ge.exports,Ze=R.extend({name:"channel",addNodeView(){return c.VueNodeViewRenderer(Qe)},parseHTML(){return[{tag:"channel-component"}]},addAttributes(){return{name:{default:""},id:{default:""},locked:{default:!1}}},renderText({node:e}){return`#${e.attrs.id}`},renderHTML({HTMLAttributes:e}){return["channel-component",l.mergeAttributes(this.options.HTMLAttributes,e)]}}).configure({suggestion:{char:"#",pluginKey:new p.PluginKey("channelSuggestion")}}),et={name:"SlashCommandsComponent",components:{NodeViewWrapper:c.NodeViewWrapper},props:{...c.nodeViewProps},emits:["selected-command"],computed:{text(){return"/"+this.$props.node.attrs.command}},created(){var n,r,s;const e=this.$props.node.attrs.command;this.$emit("selected-command",e);const t=(s=(r=(n=this.editor)==null?void 0:n.storage)==null?void 0:r["slash-commands"])==null?void 0:s.onSelectedCommand;t&&typeof t=="function"&&t(e)}};var tt=function(){var t=this,n=t._self._c;return n("node-view-wrapper",{staticClass:"d-d-inline-block"},[t._v(" "+t._s(t.text)+" ")])},nt=[],rt=u.n(et,tt,nt);const st=rt.exports,it=(e,t)=>[...e.matchAll(t)].map(r=>{let s=r[2];return s.endsWith(" ")||(s+=" "),{index:r.index,text:s,match:r}}),ot=R.extend({name:"slash-commands",group:"inline",inline:!0,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),onSelectedCommand:null}},addStorage(){return{onSelectedCommand:this.options.onSelectedCommand}},addNodeView(){return c.VueNodeViewRenderer(st)},parseHTML(){return[{tag:"command-component"}]},addAttributes(){return{command:{default:""},parametersExample:{default:""},description:{default:""}}},renderText({node:e}){return`/${e.attrs.command}`},renderHTML({HTMLAttributes:e}){return["command-component",l.mergeAttributes(this.options.HTMLAttributes,e)]},addInputRules(){var n;const e=(n=this.options.suggestion)==null?void 0:n.items({query:""}).map(r=>r.command),t=new RegExp(`^((?:\\/)(${e.join("|")})) $`);return[l.nodeInputRule({find:t,type:this.type,getAttributes(r){return{command:r[2]}}})]},addPasteRules(){var n;const e=(n=this.options.suggestion)==null?void 0:n.items({query:""}).map(r=>r.command),t=new RegExp(`^((?:\\/)(${e.join("|")})) ?$`,"g");return[l.nodePasteRule({find:r=>it(r,t),type:this.type,getAttributes(r){return{command:r[0].trim()}}})]}}).configure({suggestion:{char:"/",pluginKey:new p.PluginKey("slashCommandSuggestion")}}),at={name:"MentionSuggestion",components:{DtAvatar:ie.default,DtStack:b.default},props:{item:{type:Object,required:!0}},computed:{name(){return this.item.name},avatarSrc(){return this.item.avatarSrc},presence(){return this.item.presence},status(){return this.item.status},presenceText(){return this.item.presenceText},presenceFontColorClass(){return{active:"d-recipe-contact-row--active",busy:"d-recipe-contact-row--busy",away:"d-recipe-contact-row--away",offline:"d-recipe-contact-row--busy"}[this.presence]},showDetails(){return this.item.showDetails}}};var ct=function(){var t=this,n=t._self._c;return n("dt-stack",{staticClass:"d-mention-suggestion__container",attrs:{direction:"row",gap:"400"}},[n("dt-avatar",{attrs:{"full-name":t.name,"image-src":t.avatarSrc,"image-alt":t.name,"show-presence":t.showDetails,presence:t.presence,size:"sm"}}),n("dt-stack",{staticClass:"d-mention-suggestion__details-container",attrs:{gap:"100"}},[n("span",{staticClass:"d-mention-suggestion__name"},[t._v(" "+t._s(t.name)+" ")]),t.showDetails?n("dt-stack",{staticClass:"d-label--sm-plain",attrs:{direction:"row",gap:"300"}},[t.presenceText?n("span",{staticClass:"d-mention-suggestion__presence",class:[t.presenceFontColorClass]},[t._v(" "+t._s(t.presenceText)+" ")]):t._e(),t.status&&t.presenceText?n("div",{staticClass:"d-mention-suggestion__divider"},[t._v(" • ")]):t._e(),t.status?n("div",{staticClass:"d-mention-suggestion__status"},[t._v(" "+t._s(t.status)+" ")]):t._e()]):t._e()],1)],1)},lt=[],dt=u.n(at,ct,lt);const ut=dt.exports,mt={allowSpaces:!0,render:()=>{let e,t,n=!1;return{onStart:r=>{e=new c.VueRenderer(v,{parent:void 0,propsData:{itemComponent:ut,itemType:"mention",...r},editor:r.editor}),r.clientRect&&(t=x("body",{getReferenceClientRect:r.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{n=!0},onHidden:()=>{n=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[k]}),r.items.length>0&&(t==null||t[0].show()))},onUpdate(r){e==null||e.updateProps(r),r.items.length>0?t==null||t[0].show():t==null||t[0].hide(),r.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:r.clientRect}))},onKeyDown(r){var s;if(n)return(s=e==null?void 0:e.ref)==null?void 0:s.onKeyDown(r)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},ht={name:"ChannelSuggestion",components:{DtStack:b.default,DtIconHash:oe,DtIconLock:ae},props:{item:{type:Object,required:!0}},computed:{name(){return this.item.name}}};var ft=function(){var t=this,n=t._self._c;return n("dt-stack",{attrs:{direction:"row",gap:"400"}},[t.item.locked?n("dt-icon-lock",{attrs:{size:"300"}}):n("dt-icon-hash",{attrs:{size:"300"}}),n("span",[t._v(t._s(t.name))])],1)},pt=[],gt=u.n(ht,ft,pt);const _t=gt.exports,yt={allowSpaces:!0,render:()=>{let e,t,n=!1;return{onStart:r=>{e=new c.VueRenderer(v,{parent:void 0,propsData:{itemComponent:_t,itemType:"channel",...r},editor:r.editor}),r.clientRect&&(t=x("body",{getReferenceClientRect:r.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{n=!0},onHidden:()=>{n=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[k]}),r.items.length>0&&(t==null||t[0].show()))},onUpdate(r){e==null||e.updateProps(r),r.items.length>0?t==null||t[0].show():t==null||t[0].hide(),r.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:r.clientRect}))},onKeyDown(r){var s;if(n)return(s=e==null?void 0:e.ref)==null?void 0:s.onKeyDown(r)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},wt={name:"SlashCommandSuggestion",props:{item:{type:Object,required:!0}},computed:{command(){return this.item.command},description(){return this.item.description},parametersExample(){return this.item.parametersExample}}};var bt=function(){var t=this,n=t._self._c;return n("div",[n("div",{staticClass:"d-body--md-compact"},[n("span",[t._v("/"+t._s(t.command))]),t.parametersExample?n("span",[t._v(" "+t._s(t.parametersExample))]):t._e()]),n("div",{staticClass:"d-body--sm d-fc-tertiary"},[t._v(" "+t._s(t.description)+" ")])])},xt=[],vt=u.n(wt,bt,xt);const kt=vt.exports,Tt={allowSpaces:!0,startOfLine:!0,render:()=>{let e,t,n=!1;return{onStart:r=>{e=new c.VueRenderer(v,{parent:void 0,propsData:{itemComponent:kt,itemType:"slash-command",...r},editor:r.editor}),r.clientRect&&(t=x("body",{getReferenceClientRect:r.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{n=!0},onHidden:()=>{n=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[k]}),r.items.length>0&&(t==null||t[0].show()))},onUpdate(r){e==null||e.updateProps(r),r.items.length>0?t==null||t[0].show():t==null||t[0].hide(),r.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:r.clientRect}))},onKeyDown(r){var s;if(n)return(s=e==null?void 0:e.ref)==null?void 0:s.onKeyDown(r)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},Ct={name:"DtRichTextEditor",components:{EditorContent:c.EditorContent,BubbleMenu:c.BubbleMenu,DtButton:le.default,DtStack:b.default},mixins:[de.default],props:{value:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},preventTyping:{type:Boolean,default:!1},pasteRichText:{type:Boolean,default:!0},allowLineBreaks:{type:Boolean,default:!1},inputAriaLabel:{type:String,required:!0},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(e){return typeof e=="string"?w.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(e):!0}},outputFormat:{type:String,default:"html",validator(e){return w.RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(e)}},placeholder:{type:String,default:""},link:{type:[Boolean,Object],default:!1},customLink:{type:[Boolean,Object],default:!1},mentionSuggestion:{type:Object,default:null},channelSuggestion:{type:Object,default:null},slashCommandSuggestion:{type:Object,default:null},allowBlockquote:{type:Boolean,default:!0},allowBold:{type:Boolean,default:!0},allowBulletList:{type:Boolean,default:!0},allowItalic:{type:Boolean,default:!0},allowStrike:{type:Boolean,default:!0},allowUnderline:{type:Boolean,default:!0},allowCode:{type:Boolean,default:!0},allowCodeblock:{type:Boolean,default:!0},allowInlineImages:{type:Boolean,default:!1},allowFontColor:{type:Boolean,default:!1},allowFontFamily:{type:Boolean,default:!1},additionalExtensions:{type:Array,default:()=>[]},hideLinkBubbleMenu:{type:Boolean,default:!1},useDivTags:{type:Boolean,default:!1}},emits:["input","json-input","html-input","text-input","update:value","blur","focus","enter","edit-link","selected","selected-command"],data(){return{editor:null,tippyOptions:{appendTo:()=>{var e;return(e=this.$refs.editor.$el.getRootNode())==null?void 0:e.querySelector("body")},placement:"top-start"}}},computed:{editorListeners(){return{...this.$listeners,input:()=>{},focus:()=>{},blur:()=>{}}},extensions(){const e=[j,J,G,H];e.push(this.useDivTags?Ne:$),this.allowBlockquote&&e.push(q),this.allowBold&&e.push(N),this.allowBulletList&&(e.push(V),e.push(W.extend({renderText({node:r}){return r.textContent}})),e.push(U)),this.allowItalic&&e.push(F),this.allowStrike&&e.push(z),this.allowUnderline&&e.push(X),this.placeholder&&e.push(M.configure({placeholder:this.placeholder}));const t=this,n=l.Extension.create({addKeyboardShortcuts(){return{"Shift-Enter":({editor:r})=>t.allowLineBreaks?!1:(r.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>t.allowBulletList&&s.splitListItem("listItem"),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),!0),Enter:()=>t.allowLineBreaks?!1:(t.$emit("enter"),!0)}}});if(e.push(n),this.link&&e.push(K.extend({inclusive:!1}).configure({HTMLAttributes:{class:"d-link d-wb-break-all"},openOnClick:!1,autolink:!0,protocols:w.RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS})),this.customLink&&e.push(this.getExtension(Me,this.customLink)),this.mentionSuggestion){const r={...this.mentionSuggestion,...mt};e.push(ze.configure({suggestion:r}))}if(this.channelSuggestion){const r={...this.channelSuggestion,...yt};e.push(Ze.configure({suggestion:r}))}if(this.slashCommandSuggestion){const r={...this.slashCommandSuggestion,...Tt};e.push(ot.configure({suggestion:r,onSelectedCommand:s=>{this.$emit("selected-command",s)}}))}return e.push(Ie),e.push(Y.configure({types:["paragraph"]})),this.allowCode&&e.push(D),this.allowCodeblock&&e.push(B.extend({renderText({node:r}){return`\`\`\`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const c=require("../../node_modules/@tiptap/vue-2.cjs"),l=require("@tiptap/core"),q=require("@tiptap/extension-blockquote"),B=require("@tiptap/extension-code-block"),D=require("@tiptap/extension-code"),j=require("@tiptap/extension-document"),$=require("@tiptap/extension-paragraph"),M=require("@tiptap/extension-placeholder"),H=require("@tiptap/extension-hard-break"),N=require("@tiptap/extension-bold"),V=require("@tiptap/extension-bullet-list"),F=require("@tiptap/extension-italic"),K=require("@tiptap/extension-link"),W=require("@tiptap/extension-list-item"),U=require("@tiptap/extension-ordered-list"),z=require("@tiptap/extension-strike"),X=require("@tiptap/extension-underline"),J=require("@tiptap/extension-text"),Y=require("@tiptap/extension-text-align"),G=require("@tiptap/extension-history"),Q=require("@tiptap/extension-text-style"),Z=require("@tiptap/extension-color"),ee=require("@tiptap/extension-font-family"),p=require("@tiptap/pm/state"),te=require("@tiptap/suggestion"),I=require("regex-combined-emojis"),u=require("../../_plugin-vue2_normalizer-e_CkxkSV.cjs"),P=require("../emoji/emoji.cjs"),f=require("../../common/emoji/index.cjs"),ne=require("@dialpad/dialtone-emojis"),re=require("../list-item/list-item.cjs"),b=require("../stack/stack.cjs"),v=require("tippy.js"),E=require("../../common/utils/index.cjs"),se=require("@tiptap/extension-image"),R=require("@tiptap/extension-mention"),A=require("../link/link.cjs"),w=require("./rich-text-editor-constants.cjs"),ie=require("../avatar/avatar.cjs"),oe=require("@dialpad/dialtone-icons/vue2/hash"),ae=require("@dialpad/dialtone-icons/vue2/lock"),ce=require("deep-equal"),le=require("../../localization/index.cjs"),de=require("../button/button.cjs"),ue={name:"EmojiComponent",components:{NodeViewWrapper:c.NodeViewWrapper,DtEmoji:P.default},props:c.nodeViewProps};var me=function(){var t=this,n=t._self._c;return n("node-view-wrapper",{staticClass:"d-d-inline-block d-va-bottom d-lh0"},[n("dt-emoji",{attrs:{size:"500",code:t.node.attrs.code}})],1)},he=[],fe=u.n(ue,me,he);const pe=fe.exports,ge={name:"SuggestionList",components:{DtListItem:re.default},props:{items:{type:Array,required:!0},command:{type:Function,required:!0},itemComponent:{type:Object,required:!0},itemType:{type:String,required:!0}},data(){return{selectedIndex:0}},watch:{items(){this.selectedIndex=0}},methods:{onKeyDown({event:e}){return e.key==="ArrowUp"?(this.upHandler(),!0):e.key==="ArrowDown"?(this.downHandler(),!0):e.key==="Enter"||e.key==="Tab"?(this.selectHandler(),!0):!1},upHandler(){this.selectedIndex=(this.selectedIndex+this.items.length-1)%this.items.length,this.scrollActiveElementIntoView()},downHandler(){this.selectedIndex=(this.selectedIndex+1)%this.items.length,this.scrollActiveElementIntoView()},async scrollActiveElementIntoView(){await this.$nextTick();const e=this.$refs.suggestionList.querySelector(".d-list-item--highlighted");e&&e.scrollIntoView({behaviour:"smooth",block:"center"})},selectHandler(){this.selectItem(this.selectedIndex)},selectItem(e){const t=this.items[e];switch(this.itemType){case"emoji":this.command(t);return;case"mention":this.command({name:t.name,id:t.id,avatarSrc:t.avatarSrc});break;case"channel":this.command({name:t.name,id:t.id});break;case"slash-command":this.command({command:t.command});break}}}};var _e=function(){var t=this,n=t._self._c;return n("div",{staticClass:"d-popover__dialog d-suggestion-list__container"},[n("ul",{directives:[{name:"show",rawName:"v-show",value:t.items.length,expression:"items.length"}],ref:"suggestionList",staticClass:"d-suggestion-list"},t._l(t.items,function(r,s){return n("dt-list-item",{key:r.id,class:["d-suggestion-list__item",{"d-list-item--highlighted":s===t.selectedIndex}],attrs:{"navigation-type":"arrow-keys"},on:{click:function(o){return t.selectItem(s)},keydown:function(o){return o.preventDefault(),t.onKeyDown.apply(null,arguments)}}},[n(t.itemComponent,{tag:"component",attrs:{item:r}})],1)}),1)])},ye=[],we=u.n(ge,_e,ye);const x=we.exports,be={name:"EmojiSuggestion",components:{DtEmoji:P.default,DtStack:b.default},props:{item:{type:Object,required:!0}}};var ve=function(){var t=this,n=t._self._c;return n("dt-stack",{attrs:{direction:"row",gap:"400"}},[n("dt-emoji",{attrs:{size:"200",code:t.item.code}}),t._v(" "+t._s(t.item.code)+" ")],1)},xe=[],ke=u.n(be,ve,xe);const Te=ke.exports,k={name:"hideOnEsc",defaultValue:!0,fn({hide:e}){function t(n){n.keyCode===27&&e()}return{onShow(){document.addEventListener("keydown",t)},onHide(){document.removeEventListener("keydown",t)}}}},Ce=20,Ee={items:({query:e})=>{if(e.length<2)return[];const t=Object.values(ne.emojisIndexed);return e=e.toLowerCase(),t.filter(r=>[r.name,r.shortname.replaceAll(":",""),...r.keywords].some(s=>s.startsWith(e))).splice(0,Ce).map(r=>({code:r.shortname}))},command:({editor:e,range:t,props:n})=>{var o,i;const r=e.view.state.selection.$to.nodeAfter;((o=r==null?void 0:r.text)==null?void 0:o.startsWith(" "))&&(t.to+=1),e.chain().focus().insertContentAt(t,[{type:"emoji",attrs:n}]).run(),(i=window.getSelection())==null||i.collapseToEnd()},render:()=>{let e,t,n=!1;return{onStart:r=>{e=new c.VueRenderer(x,{parent:void 0,propsData:{itemComponent:Te,itemType:"emoji",...r},editor:r.editor}),r.clientRect&&(t=v("body",{getReferenceClientRect:r.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{n=!0},onHidden:()=>{n=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[k]}),r.items.length>0&&(t==null||t[0].show()))},onUpdate(r){e==null||e.updateProps(r),r.items.length>0?t==null||t[0].show():t==null||t[0].hide(),t==null||t[0].setProps({getReferenceClientRect:r.clientRect})},onKeyDown(r){var s;if(n)return(s=e==null?void 0:e.ref)==null?void 0:s.onKeyDown(r)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},Re=/(:\w+:)$/,Se=new RegExp(I.emojiPattern+"$"),Le=e=>{if(e&&f.codeToEmojiData(e[0]))return{text:e[2]||e[0]}},$e=e=>[...e.matchAll(f.emojiShortCodeRegex)].filter(n=>f.codeToEmojiData(n[0])).map(n=>({index:n.index,text:n[0],match:n})),Ie=l.Node.create({name:"emoji",addOptions(){return{HTMLAttributes:{}}},group:"inline",inline:!0,selectable:!1,atom:!0,addNodeView(){return c.VueNodeViewRenderer(pe)},addAttributes(){return{code:{default:null}}},parseHTML(){return[{tag:"emoji-component"}]},renderText({node:e}){return f.stringToUnicode(f.codeToEmojiData(e.attrs.code).unicode_output)},renderHTML({HTMLAttributes:e}){return["emoji-component",l.mergeAttributes(this.options.HTMLAttributes,e)]},addInputRules(){return[new l.InputRule({find:e=>{const t=e.match(Re)||e.match(Se);if(t)return Le(t)},handler:({state:e,range:t,match:n,commands:r,chain:s,can:o})=>{const{tr:i}=e,a=t.from,d=t.to;i.replaceWith(a,d,this.type.create({code:n[0]}))}})]},addPasteRules(){return[l.nodePasteRule({find:$e,type:this.type,getAttributes(e){return{code:e[0]}}}),l.nodePasteRule({find:f.emojiRegex,type:this.type,getAttributes(e){return{code:e[0]}}})]},addProseMirrorPlugins(){return[te({char:":",pluginKey:new p.PluginKey("emoji"),editor:this.editor,...this.options.suggestion,...Ee})]},addKeyboardShortcuts(){return{Backspace:()=>this.editor.commands.command(({tr:e,state:t})=>{let n=!1;const{selection:r}=t,{empty:s,anchor:o}=r;return s?(t.doc.nodesBetween(o-1,o,(i,a)=>{if(i.type.name===this.name)return n=!0,e.insertText("",a,a+i.nodeSize),!1}),n):!1})}}});function Pe(e,t,n=()=>!0){const r=[];t.lastIndex=0;let s;for(;s=t.exec(e);)n(e,s)&&r.push(s);return r}function Ae(e,t){return!["#","@"].includes(e.charAt(t.index))&&!["#","@"].includes(e.charAt(t.index-1))}function Oe(e){const t=new RegExp("(?:"+[`[!?.,:;'"]`,"(?:&|&amp;)(?:lt|gt|quot|apos|raquo|laquo|rsaquo|lsaquo);)+$"].join("|"),"g");return e.replace(t,"")}function qe(e,t){const n=e.slice(0,t+1).search(/\S+\s*$/),r=e.slice(t).search(/\s/);if(r<0){const s=e.slice(n);return{text:s,from:n,to:n+s.length}}return{text:e.slice(n,r+t),from:n,to:r+t}}function C(e,t,n,r){const s=qe(e,t);if(r.lastIndex=0,!r.test(s.text))return s;const o=n==="left"?s.from-1:s.to+1;return o<=0||o>=e.length||o===t?s:C(e,o,n,r)}function Be(e,t,n,r){const s=Math.max(e.from-1,0),o=Math.min(e.to+1,t.content.size),i=l.getMarksBetween(s,o,t);for(const a of i)a.mark.type===r&&n.removeMark(a.from,a.to,r)}const S=E.getPhoneNumberRegex(1,15);function L(e,t,n,r,s,o){if(!e)return;let i=n-t-1;i=i<0?0:i;const a=r-t,d=C(e,i,"left",S),m=C(e,a,"right",S),h=e.slice(d.from,m.to);Pe(h,E.linkRegex,Ae).forEach(T=>{const g=Oe(T[0]),y=t+d.from+T.index+1,O=y+g.length;s.addMark(y,O,o.create())})}function De(e){let t=!1;return new p.Plugin({key:new p.PluginKey("autolink"),appendTransaction:(n,r,s)=>{const o=n.some(h=>h.docChanged)&&!r.doc.eq(s.doc);if(t&&!o)return;const{tr:i}=s,{textContent:a}=s.doc;t||L(a,0,0,a.length,i,e.type),t=!0;const d=l.combineTransactionSteps(r.doc,[...n]);return l.getChangedRanges(d).forEach(({oldRange:h,newRange:_})=>{Be(_,s.doc,i,e.type),l.findChildrenInRange(s.doc,_,g=>g.isTextblock).forEach(({node:g,pos:y})=>{L(g.textContent,y,h.from,_.to,i,e.type)})}),i}})}const je={class:"d-link d-c-text d-d-inline-block d-wb-break-all",rel:"noopener noreferrer nofollow"},Me=l.Mark.create({name:"CustomLink",renderHTML({HTMLAttributes:e}){return["a",l.mergeAttributes(this.options.HTMLAttributes,e,je)]},renderText({node:e}){return e.attrs.text},addProseMirrorPlugins(){return[De({type:this.type})]}}),He=se.extend({name:"ConfigurableImage",addAttributes(){return{src:{default:""},alt:{default:void 0},title:{default:void 0},width:{default:void 0},height:{default:void 0},style:{default:void 0}}}}).configure({inline:!0,allowBase64:!0}),Ne=$.extend({parseHTML(){return[{tag:"div"}]},renderHTML({HTMLAttributes:e}){return["div",l.mergeAttributes(this.options.HTMLAttributes,e),0]}}),Ve={name:"MentionComponent",components:{NodeViewWrapper:c.NodeViewWrapper,DtLink:A.default},props:c.nodeViewProps,computed:{text(){return"@"+this.$props.node.attrs.name}}};var Fe=function(){var t=this,n=t._self._c;return n("node-view-wrapper",{staticClass:"d-d-inline-block"},[n("dt-link",{attrs:{kind:"mention"}},[t._v(" "+t._s(t.text)+" ")])],1)},Ke=[],We=u.n(Ve,Fe,Ke);const Ue=We.exports,ze=R.extend({addNodeView(){return c.VueNodeViewRenderer(Ue)},parseHTML(){return[{tag:"mention-component"}]},addAttributes(){return{name:{default:""},avatarSrc:{default:""},id:{default:""}}},renderText({node:e}){return`@${e.attrs.id}`},renderHTML({HTMLAttributes:e}){return["mention-component",l.mergeAttributes(this.options.HTMLAttributes,e)]}}).configure({suggestion:{char:"@",pluginKey:new p.PluginKey("mentionSuggestion")}}),Xe={name:"ChannelComponent",components:{NodeViewWrapper:c.NodeViewWrapper,DtLink:A.default},props:c.nodeViewProps,computed:{text(){return"#"+this.$props.node.attrs.name}}};var Je=function(){var t=this,n=t._self._c;return n("node-view-wrapper",{staticClass:"d-d-inline-block"},[n("dt-link",{attrs:{kind:"mention"}},[t._v(" "+t._s(t.text)+" ")])],1)},Ye=[],Ge=u.n(Xe,Je,Ye);const Qe=Ge.exports,Ze=R.extend({name:"channel",addNodeView(){return c.VueNodeViewRenderer(Qe)},parseHTML(){return[{tag:"channel-component"}]},addAttributes(){return{name:{default:""},id:{default:""},locked:{default:!1}}},renderText({node:e}){return`#${e.attrs.id}`},renderHTML({HTMLAttributes:e}){return["channel-component",l.mergeAttributes(this.options.HTMLAttributes,e)]}}).configure({suggestion:{char:"#",pluginKey:new p.PluginKey("channelSuggestion")}}),et={name:"SlashCommandsComponent",components:{NodeViewWrapper:c.NodeViewWrapper},props:{...c.nodeViewProps},emits:["selected-command"],computed:{text(){return"/"+this.$props.node.attrs.command}},created(){var n,r,s;const e=this.$props.node.attrs.command;this.$emit("selected-command",e);const t=(s=(r=(n=this.editor)==null?void 0:n.storage)==null?void 0:r["slash-commands"])==null?void 0:s.onSelectedCommand;t&&typeof t=="function"&&t(e)}};var tt=function(){var t=this,n=t._self._c;return n("node-view-wrapper",{staticClass:"d-d-inline-block"},[t._v(" "+t._s(t.text)+" ")])},nt=[],rt=u.n(et,tt,nt);const st=rt.exports,it=(e,t)=>[...e.matchAll(t)].map(r=>{let s=r[2];return s.endsWith(" ")||(s+=" "),{index:r.index,text:s,match:r}}),ot=R.extend({name:"slash-commands",group:"inline",inline:!0,addOptions(){var e;return{...(e=this.parent)==null?void 0:e.call(this),onSelectedCommand:null}},addStorage(){return{onSelectedCommand:this.options.onSelectedCommand}},addNodeView(){return c.VueNodeViewRenderer(st)},parseHTML(){return[{tag:"command-component"}]},addAttributes(){return{command:{default:""},parametersExample:{default:""},description:{default:""}}},renderText({node:e}){return`/${e.attrs.command}`},renderHTML({HTMLAttributes:e}){return["command-component",l.mergeAttributes(this.options.HTMLAttributes,e)]},addInputRules(){var n;const e=(n=this.options.suggestion)==null?void 0:n.items({query:""}).map(r=>r.command),t=new RegExp(`^((?:\\/)(${e.join("|")})) $`);return[l.nodeInputRule({find:t,type:this.type,getAttributes(r){return{command:r[2]}}})]},addPasteRules(){var n;const e=(n=this.options.suggestion)==null?void 0:n.items({query:""}).map(r=>r.command),t=new RegExp(`^((?:\\/)(${e.join("|")})) ?$`,"g");return[l.nodePasteRule({find:r=>it(r,t),type:this.type,getAttributes(r){return{command:r[0].trim()}}})]}}).configure({suggestion:{char:"/",pluginKey:new p.PluginKey("slashCommandSuggestion")}}),at={name:"MentionSuggestion",components:{DtAvatar:ie.default,DtStack:b.default},props:{item:{type:Object,required:!0}},computed:{name(){return this.item.name},avatarSrc(){return this.item.avatarSrc},presence(){return this.item.presence},status(){return this.item.status},presenceText(){return this.item.presenceText},presenceFontColorClass(){return{active:"d-recipe-contact-row--active",busy:"d-recipe-contact-row--busy",away:"d-recipe-contact-row--away",offline:"d-recipe-contact-row--busy"}[this.presence]},showDetails(){return this.item.showDetails}}};var ct=function(){var t=this,n=t._self._c;return n("dt-stack",{staticClass:"d-mention-suggestion__container",attrs:{direction:"row",gap:"400"}},[n("dt-avatar",{attrs:{"full-name":t.name,"image-src":t.avatarSrc,"image-alt":t.name,"show-presence":t.showDetails,presence:t.presence,size:"sm"}}),n("dt-stack",{staticClass:"d-mention-suggestion__details-container",attrs:{gap:"100"}},[n("span",{staticClass:"d-mention-suggestion__name"},[t._v(" "+t._s(t.name)+" ")]),t.showDetails?n("dt-stack",{staticClass:"d-label--sm-plain",attrs:{direction:"row",gap:"300"}},[t.presenceText?n("span",{staticClass:"d-mention-suggestion__presence",class:[t.presenceFontColorClass]},[t._v(" "+t._s(t.presenceText)+" ")]):t._e(),t.status&&t.presenceText?n("div",{staticClass:"d-mention-suggestion__divider"},[t._v(" • ")]):t._e(),t.status?n("div",{staticClass:"d-mention-suggestion__status"},[t._v(" "+t._s(t.status)+" ")]):t._e()]):t._e()],1)],1)},lt=[],dt=u.n(at,ct,lt);const ut=dt.exports,mt={allowSpaces:!0,render:()=>{let e,t,n=!1;return{onStart:r=>{e=new c.VueRenderer(x,{parent:void 0,propsData:{itemComponent:ut,itemType:"mention",...r},editor:r.editor}),r.clientRect&&(t=v("body",{getReferenceClientRect:r.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{n=!0},onHidden:()=>{n=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[k]}),r.items.length>0&&(t==null||t[0].show()))},onUpdate(r){e==null||e.updateProps(r),r.items.length>0?t==null||t[0].show():t==null||t[0].hide(),r.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:r.clientRect}))},onKeyDown(r){var s;if(n)return(s=e==null?void 0:e.ref)==null?void 0:s.onKeyDown(r)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},ht={name:"ChannelSuggestion",components:{DtStack:b.default,DtIconHash:oe,DtIconLock:ae},props:{item:{type:Object,required:!0}},computed:{name(){return this.item.name}}};var ft=function(){var t=this,n=t._self._c;return n("dt-stack",{attrs:{direction:"row",gap:"400"}},[t.item.locked?n("dt-icon-lock",{attrs:{size:"300"}}):n("dt-icon-hash",{attrs:{size:"300"}}),n("span",[t._v(t._s(t.name))])],1)},pt=[],gt=u.n(ht,ft,pt);const _t=gt.exports,yt={allowSpaces:!0,render:()=>{let e,t,n=!1;return{onStart:r=>{e=new c.VueRenderer(x,{parent:void 0,propsData:{itemComponent:_t,itemType:"channel",...r},editor:r.editor}),r.clientRect&&(t=v("body",{getReferenceClientRect:r.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{n=!0},onHidden:()=>{n=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[k]}),r.items.length>0&&(t==null||t[0].show()))},onUpdate(r){e==null||e.updateProps(r),r.items.length>0?t==null||t[0].show():t==null||t[0].hide(),r.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:r.clientRect}))},onKeyDown(r){var s;if(n)return(s=e==null?void 0:e.ref)==null?void 0:s.onKeyDown(r)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},wt={name:"SlashCommandSuggestion",props:{item:{type:Object,required:!0}},computed:{command(){return this.item.command},description(){return this.item.description},parametersExample(){return this.item.parametersExample}}};var bt=function(){var t=this,n=t._self._c;return n("div",[n("div",{staticClass:"d-body--md-compact"},[n("span",[t._v("/"+t._s(t.command))]),t.parametersExample?n("span",[t._v(" "+t._s(t.parametersExample))]):t._e()]),n("div",{staticClass:"d-body--sm d-fc-tertiary"},[t._v(" "+t._s(t.description)+" ")])])},vt=[],xt=u.n(wt,bt,vt);const kt=xt.exports,Tt={allowSpaces:!0,startOfLine:!0,render:()=>{let e,t,n=!1;return{onStart:r=>{e=new c.VueRenderer(x,{parent:void 0,propsData:{itemComponent:kt,itemType:"slash-command",...r},editor:r.editor}),r.clientRect&&(t=v("body",{getReferenceClientRect:r.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:!1,onShow:()=>{n=!0},onHidden:()=>{n=!1},interactive:!0,trigger:"manual",placement:"top-start",zIndex:650,plugins:[k]}),r.items.length>0&&(t==null||t[0].show()))},onUpdate(r){e==null||e.updateProps(r),r.items.length>0?t==null||t[0].show():t==null||t[0].hide(),r.clientRect&&(t==null||t[0].setProps({getReferenceClientRect:r.clientRect}))},onKeyDown(r){var s;if(n)return(s=e==null?void 0:e.ref)==null?void 0:s.onKeyDown(r)},onExit(){t==null||t[0].destroy(),t=null,e==null||e.destroy(),e=null}}}},Ct={name:"DtRichTextEditor",components:{EditorContent:c.EditorContent,BubbleMenu:c.BubbleMenu,DtButton:de.default,DtStack:b.default},props:{value:{type:[Object,String],default:""},editable:{type:Boolean,default:!0},preventTyping:{type:Boolean,default:!1},pasteRichText:{type:Boolean,default:!0},allowLineBreaks:{type:Boolean,default:!1},inputAriaLabel:{type:String,required:!0},inputClass:{type:String,default:""},autoFocus:{type:[Boolean,String,Number],default:!1,validator(e){return typeof e=="string"?w.RICH_TEXT_EDITOR_AUTOFOCUS_TYPES.includes(e):!0}},outputFormat:{type:String,default:"html",validator(e){return w.RICH_TEXT_EDITOR_OUTPUT_FORMATS.includes(e)}},placeholder:{type:String,default:""},link:{type:[Boolean,Object],default:!1},customLink:{type:[Boolean,Object],default:!1},mentionSuggestion:{type:Object,default:null},channelSuggestion:{type:Object,default:null},slashCommandSuggestion:{type:Object,default:null},allowBlockquote:{type:Boolean,default:!0},allowBold:{type:Boolean,default:!0},allowBulletList:{type:Boolean,default:!0},allowItalic:{type:Boolean,default:!0},allowStrike:{type:Boolean,default:!0},allowUnderline:{type:Boolean,default:!0},allowCode:{type:Boolean,default:!0},allowCodeblock:{type:Boolean,default:!0},allowInlineImages:{type:Boolean,default:!1},allowFontColor:{type:Boolean,default:!1},allowFontFamily:{type:Boolean,default:!1},additionalExtensions:{type:Array,default:()=>[]},hideLinkBubbleMenu:{type:Boolean,default:!1},useDivTags:{type:Boolean,default:!1}},emits:["input","json-input","html-input","text-input","update:value","blur","focus","enter","edit-link","selected","selected-command"],data(){return{editor:null,tippyOptions:{appendTo:()=>{var e;return(e=this.$refs.editor.$el.getRootNode())==null?void 0:e.querySelector("body")},placement:"top-start"},i18n:new le.DialtoneLocalization}},computed:{editorListeners(){return{...this.$listeners,input:()=>{},focus:()=>{},blur:()=>{}}},extensions(){const e=[j,J,G,H];e.push(this.useDivTags?Ne:$),this.allowBlockquote&&e.push(q),this.allowBold&&e.push(N),this.allowBulletList&&(e.push(V),e.push(W.extend({renderText({node:r}){return r.textContent}})),e.push(U)),this.allowItalic&&e.push(F),this.allowStrike&&e.push(z),this.allowUnderline&&e.push(X),this.placeholder&&e.push(M.configure({placeholder:this.placeholder}));const t=this,n=l.Extension.create({addKeyboardShortcuts(){return{"Shift-Enter":({editor:r})=>t.allowLineBreaks?!1:(r.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>t.allowBulletList&&s.splitListItem("listItem"),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),!0),Enter:()=>t.allowLineBreaks?!1:(t.$emit("enter"),!0)}}});if(e.push(n),this.link&&e.push(K.extend({inclusive:!1}).configure({HTMLAttributes:{class:"d-link d-wb-break-all"},openOnClick:!1,autolink:!0,protocols:w.RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS})),this.customLink&&e.push(this.getExtension(Me,this.customLink)),this.mentionSuggestion){const r={...this.mentionSuggestion,...mt};e.push(ze.configure({suggestion:r}))}if(this.channelSuggestion){const r={...this.channelSuggestion,...yt};e.push(Ze.configure({suggestion:r}))}if(this.slashCommandSuggestion){const r={...this.slashCommandSuggestion,...Tt};e.push(ot.configure({suggestion:r,onSelectedCommand:s=>{this.$emit("selected-command",s)}}))}return e.push(Ie),e.push(Y.configure({types:["paragraph"]})),this.allowCode&&e.push(D),this.allowCodeblock&&e.push(B.extend({renderText({node:r}){return`\`\`\`
2
2
  ${r.textContent}
3
3
  \`\`\``}}).configure({HTMLAttributes:{class:"d-rich-text-editor__code-block"}})),this.allowInlineImages&&e.push(He),(this.allowFontFamily||this.allowFontColor)&&(e.push(Q),this.allowFontColor&&e.push(Z),this.allowFontFamily&&e.push(ee)),this.additionalExtensions.length&&e.push(...this.additionalExtensions),e},inputAttrs(){const e={"aria-label":this.inputAriaLabel,"aria-multiline":!0,role:"textbox"};return this.editable||(e["aria-readonly"]=!0),e}},watch:{editable(e){this.editor.setEditable(e),this.updateEditorAttributes({"aria-readonly":!e})},inputClass(e){this.updateEditorAttributes({class:e})},inputAriaLabel(e){this.updateEditorAttributes({"aria-label":e})},extensions(){this.destroyEditor(),this.createEditor()},value(e){this.processValue(e)}},created(){this.createEditor()},beforeDestroy(){this.destroyEditor()},mounted(){E.warnIfUnmounted(this.$el,this.$options.name),this.processValue(this.value,!1)},methods:{createEditor(){this.editor=new c.Editor({autofocus:this.autoFocus,content:this.value,editable:this.editable,extensions:this.extensions,parseOptions:{preserveWhitespace:"full"},editorProps:{attributes:{...this.inputAttrs,class:this.inputClass},handleKeyDown:(e,t)=>{if(!this.preventTyping)return!1;const n=["Backspace"];return!this.allowLineBreaks&&!t.shiftKey&&n.push("Enter"),!n.includes(t.key)},handlePaste:(e,t,n)=>{const r=t.clipboardData||window.clipboardData,s=r.getData("text/plain"),o=r.getData("text/html");return this.processPasteData(e,s,o)},transformPastedHTML(e){return e.replace(/(<\/\w+>)((<br \/>)+)/g,"$2$3$1")}}}),this.addEditorListeners()},bubbleMenuShouldShow({editor:e,view:t,state:n,oldState:r,from:s,to:o}){return e.isActive("link")},getSelectedLinkText(e){var a,d,m;const{view:t,state:n}=e,{from:r,to:s}=t.state.selection,o=n.doc.textBetween(r,s,""),i=this.editor.state.doc.nodeAt(r);return i&&((m=(d=(a=i.marks)==null?void 0:a.at(0))==null?void 0:d.type)==null?void 0:m.name)==="link"?i.textContent:o},editLink(){const e=this.getSelectedLinkText(this.editor),t={href:this.editor.getAttributes("link").href,text:e};this.$emit("edit-link",t)},removeLink(){var e,t,n,r;(r=(n=(t=(e=this.editor)==null?void 0:e.chain())==null?void 0:t.focus())==null?void 0:n.unsetLink())==null||r.run()},openLink(){var t,n;(n=(t=this.editor)==null?void 0:t.chain())==null||n.focus();const e=this.editor.getAttributes("link").href;window.open(e,"_blank")},setLink(e,t,n,r=w.RICH_TEXT_EDITOR_SUPPORTED_LINK_PROTOCOLS,s){var a,d,m;if(!e){this.removeLink();return}r.find(h=>h.test(e))||(e=`${s}${e}`),this.editor.chain().focus().extendMarkRange("link").run();const i=(m=(d=(a=this.editor)==null?void 0:a.view)==null?void 0:d.state)==null?void 0:m.selection;this.editor.chain().focus().insertContent(t).setTextSelection({from:i.from,to:i.from+t.length}).setLink({href:e,class:n.class}).run()},processValue(e,t=!0){const n=this.getOutput();if(!(t&&ce(e,n))){if(typeof e=="string"&&this.outputFormat==="text"){const r=new RegExp(`(${I.emojiPattern})`,"g");e=e==null?void 0:e.replace(r,'<emoji-component code="$1"></emoji-component>')}this.editor.commands.setContent(e,!1,{preserveWhitespace:"full"})}},destroyEditor(){this.editor.destroy()},insertPlainTextWithHardBreaks(e,t){const{tr:n}=e.state,{from:r,to:s}=e.state.selection;n.deleteRange(r,s);const o=t.split(/\r?\n/);let i=r;for(let a=0;a<o.length;a++)a>0&&(n.insert(i,e.state.schema.nodes.hardBreak.create()),i++),n.insertText(o[a],i),i+=o[a].length;e.dispatch(n)},shouldPreserveLineBreaks(e,t){return this.pasteRichText?!t&&e&&this.hasBlankLines(e):!!e},processPasteData(e,t,n){if(this.shouldPreserveLineBreaks(t,n))return this.insertPlainTextWithHardBreaks(e,t),!0;if(this.shouldHandlePreformattedHTML(n)){const r=this.extractPreformattedText(n);if(r&&r.includes(`
4
4
  `))return this.insertPlainTextWithHardBreaks(e,r),!0}return!1},shouldHandlePreformattedHTML(e){return this.pasteRichText&&e&&this.containsPreformattedContent(e)},containsPreformattedContent(e){const t=document.createElement("div");t.innerHTML=e;const n=t.querySelectorAll("*");for(const r of n)if(this.hasPreWhitespace(r)&&this.hasLineBreaks(r))return!0;return!1},hasPreWhitespace(e){const t=e.getAttribute("style")||"",n=e.style.whiteSpace||"",r=n==="pre"||n==="pre-wrap",s=t.includes("white-space: pre");return r||s},hasLineBreaks(e){return e.textContent&&e.textContent.includes(`