@adyen/bento-vue3 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/@types/packages/vue2/src/components/avatar-image/avatar-image.vue.d.ts +1 -1
  2. package/dist/@types/packages/vue2/src/components/button/button.vue.d.ts +77 -77
  3. package/dist/@types/packages/vue2/src/components/button/components/loading-button/loading-button.vue.d.ts +3 -3
  4. package/dist/@types/packages/vue2/src/components/card/card.vue.d.ts +7 -1
  5. package/dist/@types/packages/vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +3 -3
  6. package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateColumnWidth/useCalculateColumnWidth.d.ts +6 -2
  7. package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateStickyElementHeight/useCalculateStickyElementHeight.d.ts +2 -0
  8. package/dist/@types/packages/vue2/src/components/data-grid/composables/useColumnReorderer/useColumnReorderer.d.ts +2 -0
  9. package/dist/@types/packages/vue2/src/components/data-grid/composables/useConfigSettings/useConfigSettings.d.ts +3 -0
  10. package/dist/@types/packages/vue2/src/components/data-grid/data-grid.types.d.ts +2 -1
  11. package/dist/@types/packages/vue2/src/components/data-grid/data-grid.vue.d.ts +49 -11
  12. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue.d.ts +2 -2
  13. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue.d.ts +2 -2
  14. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/dropdown-options-container.vue.d.ts +32 -33
  15. package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-small-textbox/dropdown-small-textbox.vue.d.ts +1 -1
  16. package/dist/@types/packages/vue2/src/components/dropdown/dropdown.vue.d.ts +3 -3
  17. package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/all-filters-modal.vue.d.ts +60 -60
  18. package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter-button/base-filter-button.vue.d.ts +1 -1
  19. package/dist/@types/packages/vue2/src/components/filter-bar/components/boolean-filter/boolean-filter.vue.d.ts +1 -1
  20. package/dist/@types/packages/vue2/src/components/filter-bar/components/date-filter/date-filter.vue.d.ts +1 -1
  21. package/dist/@types/packages/vue2/src/components/filter-bar/components/date-range-filter/date-range-filter.vue.d.ts +2 -2
  22. package/dist/@types/packages/vue2/src/components/filter-bar/components/input-filter/input-filter.vue.d.ts +1 -1
  23. package/dist/@types/packages/vue2/src/components/filter-bar/components/range-filter/range-filter.vue.d.ts +1 -1
  24. package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/select-filter.vue.d.ts +2 -1
  25. package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.types.d.ts +7 -3
  26. package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.vue.d.ts +11 -1
  27. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-field-tip/form-layout-field-tip.vue.d.ts +17 -1
  28. package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-field-tip/form-layout-tip.types.d.ts +3 -0
  29. package/dist/@types/packages/vue2/src/components/header/header.vue.d.ts +3 -0
  30. package/dist/@types/packages/vue2/src/components/info-icon/info-icon.vue.d.ts +3 -3
  31. package/dist/@types/packages/vue2/src/components/internal/base-button/base-button.vue.d.ts +1 -1
  32. package/dist/@types/packages/vue2/src/components/internal/fixed-scroller/composables/index.d.ts +1 -0
  33. package/dist/@types/packages/vue2/src/components/internal/fixed-scroller/composables/useFixedScroller.d.ts +15 -0
  34. package/dist/@types/packages/vue2/src/components/internal/fixed-scroller/fixed-scroller.vue.d.ts +9 -0
  35. package/dist/@types/packages/vue2/src/components/internal/fixed-scroller/index.d.ts +1 -0
  36. package/dist/@types/packages/vue2/src/components/internal/index.d.ts +1 -0
  37. package/dist/@types/packages/vue2/src/components/menu/components/menu-item/menu-item.vue.d.ts +4 -5
  38. package/dist/@types/packages/vue2/src/components/menu/menu.vue.d.ts +3 -3
  39. package/dist/@types/packages/vue2/src/components/modal/components/base-modal/base-modal.vue.d.ts +3 -3
  40. package/dist/@types/packages/vue2/src/components/modal/modal.vue.d.ts +10 -1
  41. package/dist/@types/packages/vue2/src/components/pagination/pagination.vue.d.ts +1 -1
  42. package/dist/@types/packages/vue2/src/components/popover/popover.vue.d.ts +4 -4
  43. package/dist/@types/packages/vue2/src/components/popper-container/popper-container.vue.d.ts +4 -4
  44. package/dist/@types/packages/vue2/src/components/radio-group/radio-group.vue.d.ts +3 -3
  45. package/dist/@types/packages/vue2/src/components/status/status.vue.d.ts +2 -2
  46. package/dist/@types/packages/vue2/src/components/stepper/stepper.vue.d.ts +3 -3
  47. package/dist/@types/packages/vue2/src/components/structured-list/components/structered-list-item/structured-list-item.vue.d.ts +1 -1
  48. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue.d.ts +1 -1
  49. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue.d.ts +1 -1
  50. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue.d.ts +1 -1
  51. package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue.d.ts +1 -1
  52. package/dist/@types/packages/vue2/src/components/tabs/components/tab.types.d.ts +2 -1
  53. package/dist/@types/packages/vue2/src/components/tabs/tabs.types.d.ts +1 -1
  54. package/dist/@types/packages/vue2/src/components/tag/tag.vue.d.ts +4 -4
  55. package/dist/@types/packages/vue2/src/components/textarea/textarea.vue.d.ts +24 -52
  56. package/dist/@types/packages/vue2/src/components/timeline/components/timeline-item/timeline-item.vue.d.ts +4 -4
  57. package/dist/@types/packages/vue2/src/components/tooltip/tooltip.vue.d.ts +13 -13
  58. package/dist/@types/packages/vue2/src/composables/use-expandable-content-height/use-expandable-content-height.d.ts +4 -0
  59. package/dist/@types/packages/vue2/src/templates/data-grid-template/data-grid-template.keys.d.ts +1 -0
  60. package/dist/@types/packages/vue2/src/templates/data-grid-template/data-grid-template.types.d.ts +6 -0
  61. package/dist/@types/packages/vue2/src/templates/data-grid-template/data-grid-template.vue.d.ts +77 -1
  62. package/dist/@types/packages/vue2/src/templates/data-grid-template/index.d.ts +1 -0
  63. package/dist/@types/packages/vue2/src/utils/ts/truncate.d.ts +1 -1
  64. package/dist/accordion.js +42 -47
  65. package/dist/accordion.js.map +1 -1
  66. package/dist/alert.js +4 -4
  67. package/dist/assets/base-modal.css +1 -1
  68. package/dist/assets/button.css +1 -1
  69. package/dist/assets/controls-group.css +1 -1
  70. package/dist/assets/dropdown.css +1 -1
  71. package/dist/assets/index.css +1 -1
  72. package/dist/assets/index10.css +1 -1
  73. package/dist/assets/index11.css +1 -1
  74. package/dist/assets/index12.css +1 -1
  75. package/dist/assets/index13.css +1 -1
  76. package/dist/assets/index14.css +1 -1
  77. package/dist/assets/index15.css +1 -1
  78. package/dist/assets/index16.css +1 -1
  79. package/dist/assets/index17.css +1 -1
  80. package/dist/assets/index18.css +1 -1
  81. package/dist/assets/index19.css +1 -1
  82. package/dist/assets/index2.css +1 -1
  83. package/dist/assets/index20.css +1 -1
  84. package/dist/assets/index21.css +1 -1
  85. package/dist/assets/index22.css +1 -1
  86. package/dist/assets/index23.css +1 -1
  87. package/dist/assets/index24.css +1 -1
  88. package/dist/assets/index25.css +1 -1
  89. package/dist/assets/index26.css +1 -1
  90. package/dist/assets/index28.css +1 -1
  91. package/dist/assets/index29.css +1 -1
  92. package/dist/assets/index3.css +1 -1
  93. package/dist/assets/index30.css +1 -1
  94. package/dist/assets/index31.css +1 -1
  95. package/dist/assets/index32.css +1 -1
  96. package/dist/assets/index33.css +1 -1
  97. package/dist/assets/index34.css +1 -1
  98. package/dist/assets/index35.css +1 -1
  99. package/dist/assets/index36.css +1 -1
  100. package/dist/assets/index37.css +1 -1
  101. package/dist/assets/index38.css +1 -1
  102. package/dist/assets/index39.css +1 -1
  103. package/dist/assets/index4.css +1 -1
  104. package/dist/assets/index40.css +1 -1
  105. package/dist/assets/index41.css +1 -1
  106. package/dist/assets/index42.css +1 -1
  107. package/dist/assets/index43.css +1 -1
  108. package/dist/assets/index44.css +1 -1
  109. package/dist/assets/index45.css +1 -0
  110. package/dist/assets/index5.css +1 -1
  111. package/dist/assets/index6.css +1 -1
  112. package/dist/assets/index7.css +1 -1
  113. package/dist/assets/index8.css +1 -1
  114. package/dist/assets/index9.css +1 -1
  115. package/dist/assets/loading-button.css +1 -1
  116. package/dist/avatar-image.js +1 -1
  117. package/dist/badge.js +1 -1
  118. package/dist/button.js +5 -5
  119. package/dist/card.js +135 -121
  120. package/dist/card.js.map +1 -1
  121. package/dist/checkbox.js +24 -25
  122. package/dist/checkbox.js.map +1 -1
  123. package/dist/chunks/{base-button.9740f320.js → base-button.90687c75.js} +3 -3
  124. package/dist/chunks/{base-button.9740f320.js.map → base-button.90687c75.js.map} +1 -1
  125. package/dist/chunks/{base-modal.be77971f.js → base-modal.c956b084.js} +58 -58
  126. package/dist/chunks/base-modal.c956b084.js.map +1 -0
  127. package/dist/chunks/{button.7072457f.js → button.9d72e2d7.js} +3 -3
  128. package/dist/chunks/{button.7072457f.js.map → button.9d72e2d7.js.map} +1 -1
  129. package/dist/chunks/{calendar.1e50c7d1.js → calendar.e7db78d0.js} +6 -5
  130. package/dist/chunks/{calendar.1e50c7d1.js.map → calendar.e7db78d0.js.map} +1 -1
  131. package/dist/chunks/{checkbox.638bab98.js → checkbox.ecbb4f0c.js} +4 -4
  132. package/dist/chunks/{checkbox.638bab98.js.map → checkbox.ecbb4f0c.js.map} +1 -1
  133. package/dist/chunks/{controls-group.efcf4e8d.js → controls-group.34f1f82a.js} +2 -2
  134. package/dist/chunks/{controls-group.efcf4e8d.js.map → controls-group.34f1f82a.js.map} +1 -1
  135. package/dist/chunks/{copy.527c3d76.js → copy.aaec57b6.js} +3 -3
  136. package/dist/chunks/{copy.527c3d76.js.map → copy.aaec57b6.js.map} +1 -1
  137. package/dist/chunks/date-input.9186a0bf.js.map +1 -1
  138. package/dist/chunks/{dropdown-default-textbox.a1789dc7.js → dropdown-default-textbox.88a42e9b.js} +3 -3
  139. package/dist/chunks/{dropdown-default-textbox.a1789dc7.js.map → dropdown-default-textbox.88a42e9b.js.map} +1 -1
  140. package/dist/chunks/{dropdown.22e51667.js → dropdown.6a484461.js} +182 -177
  141. package/dist/chunks/dropdown.6a484461.js.map +1 -0
  142. package/dist/chunks/{error-message.37b6c7aa.js → error-message.11e1fa1f.js} +2 -2
  143. package/dist/chunks/{error-message.37b6c7aa.js.map → error-message.11e1fa1f.js.map} +1 -1
  144. package/dist/chunks/{footer-actions.5275203a.js → footer-actions.a65cb2e3.js} +3 -3
  145. package/dist/chunks/{footer-actions.5275203a.js.map → footer-actions.a65cb2e3.js.map} +1 -1
  146. package/dist/chunks/{grid-layout.c98e6bc7.js → grid-layout.7c919507.js} +2 -2
  147. package/dist/chunks/{grid-layout.c98e6bc7.js.map → grid-layout.7c919507.js.map} +1 -1
  148. package/dist/chunks/{index.c22c4278.js → index.424e2ea4.js} +6 -6
  149. package/dist/chunks/{index.c22c4278.js.map → index.424e2ea4.js.map} +1 -1
  150. package/dist/chunks/{index.dd20095f.js → index.655b761f.js} +3 -3
  151. package/dist/chunks/{index.dd20095f.js.map → index.655b761f.js.map} +1 -1
  152. package/dist/chunks/{index.c62ea69f.js → index.754349ff.js} +2 -2
  153. package/dist/chunks/{index.c62ea69f.js.map → index.754349ff.js.map} +1 -1
  154. package/dist/chunks/{index.a57930ba.js → index.84f6360f.js} +11 -10
  155. package/dist/chunks/{index.a57930ba.js.map → index.84f6360f.js.map} +1 -1
  156. package/dist/chunks/{index.32ed68b7.js → index.9fc54b60.js} +2 -2
  157. package/dist/chunks/{index.32ed68b7.js.map → index.9fc54b60.js.map} +1 -1
  158. package/dist/chunks/{index.604da8e9.js → index.bc9e0cde.js} +3 -3
  159. package/dist/chunks/{index.604da8e9.js.map → index.bc9e0cde.js.map} +1 -1
  160. package/dist/chunks/{listbox-option-tag.fa70334e.js → listbox-option-tag.ea9f377f.js} +3 -3
  161. package/dist/chunks/{listbox-option-tag.fa70334e.js.map → listbox-option-tag.ea9f377f.js.map} +1 -1
  162. package/dist/chunks/{listbox.4205c0de.js → listbox.a7255ce1.js} +4 -4
  163. package/dist/chunks/{listbox.4205c0de.js.map → listbox.a7255ce1.js.map} +1 -1
  164. package/dist/chunks/{loading-button.41c15584.js → loading-button.fb1f20a3.js} +32 -32
  165. package/dist/chunks/loading-button.fb1f20a3.js.map +1 -0
  166. package/dist/chunks/on-click-outside.3e0c3e2a.js.map +1 -1
  167. package/dist/chunks/{tooltip.c8350cd0.js → tooltip.6af06509.js} +64 -63
  168. package/dist/chunks/tooltip.6af06509.js.map +1 -0
  169. package/dist/chunks/use-expandable-content-height.62fc84e5.js +17 -0
  170. package/dist/chunks/use-expandable-content-height.62fc84e5.js.map +1 -0
  171. package/dist/chunks/use-has-slot.4d98bf29.js +15 -0
  172. package/dist/chunks/use-has-slot.4d98bf29.js.map +1 -0
  173. package/dist/code-snippet.js +7 -7
  174. package/dist/code-snippet.js.map +1 -1
  175. package/dist/country.js +2 -2
  176. package/dist/currency.js +1 -1
  177. package/dist/data-grid.js +944 -888
  178. package/dist/data-grid.js.map +1 -1
  179. package/dist/date-picker.js +7 -7
  180. package/dist/date-range-picker.js +2 -2
  181. package/dist/date.js +1 -1
  182. package/dist/divider.js +1 -1
  183. package/dist/dropdown.js +4 -4
  184. package/dist/empty-state.js +3 -3
  185. package/dist/filter-bar.js +990 -904
  186. package/dist/filter-bar.js.map +1 -1
  187. package/dist/focus-trap.js +1 -1
  188. package/dist/form-layout.js +81 -70
  189. package/dist/form-layout.js.map +1 -1
  190. package/dist/header.js +92 -87
  191. package/dist/header.js.map +1 -1
  192. package/dist/index.js +14 -14
  193. package/dist/info-icon.js +12 -12
  194. package/dist/info-icon.js.map +1 -1
  195. package/dist/input-field.js +115 -110
  196. package/dist/input-field.js.map +1 -1
  197. package/dist/internal.js +144 -18
  198. package/dist/internal.js.map +1 -1
  199. package/dist/link.js +38 -35
  200. package/dist/link.js.map +1 -1
  201. package/dist/loading-indicator.js +1 -1
  202. package/dist/menu.js +8 -6
  203. package/dist/menu.js.map +1 -1
  204. package/dist/modal.js +52 -44
  205. package/dist/modal.js.map +1 -1
  206. package/dist/pagination.js +4 -4
  207. package/dist/payment-method.js +2 -2
  208. package/dist/popover.js +4 -4
  209. package/dist/popper-container.js +1 -1
  210. package/dist/radio-group.js +5 -5
  211. package/dist/search-bar.js +7 -7
  212. package/dist/search-bar.js.map +1 -1
  213. package/dist/segmented-control.js +4 -4
  214. package/dist/sidepanel.js +19 -19
  215. package/dist/sidepanel.js.map +1 -1
  216. package/dist/status.js +2 -2
  217. package/dist/stepper.js +3 -3
  218. package/dist/structured-list.js +1 -1
  219. package/dist/summary-grid.js +5 -5
  220. package/dist/tabs.js +64 -64
  221. package/dist/tabs.js.map +1 -1
  222. package/dist/tag.js +3 -3
  223. package/dist/textarea.js +188 -229
  224. package/dist/textarea.js.map +1 -1
  225. package/dist/timeline.js +37 -37
  226. package/dist/timeline.js.map +1 -1
  227. package/dist/toast.js +4 -4
  228. package/dist/toggle.js +3 -3
  229. package/dist/typography.js +1 -1
  230. package/dist/web-types.json +1 -1
  231. package/package.json +5 -3
  232. package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateColumnHeadersTopPosition/useCalculateColumnHeadersTopPosition.d.ts +0 -2
  233. package/dist/chunks/base-modal.be77971f.js.map +0 -1
  234. package/dist/chunks/dropdown.22e51667.js.map +0 -1
  235. package/dist/chunks/loading-button.41c15584.js.map +0 -1
  236. package/dist/chunks/tooltip.c8350cd0.js.map +0 -1
  237. package/dist/chunks/use-has-slot.3daaffc6.js +0 -17
  238. package/dist/chunks/use-has-slot.3daaffc6.js.map +0 -1
package/dist/tabs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sources":["../../vue2/src/components/tabs/components/tab.vue","../../vue2/src/components/tabs/tabs.utils.ts","../../vue2/src/components/tabs/tabs.types.ts","../../vue2/src/components/tabs/tabs.vue"],"sourcesContent":["<template>\n <div v-show=\"activeTabId === id\" :id=\"`${id}-tabpanel`\" role=\"tabpanel\" :aria-labelledby=\"id\">\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, inject, onUnmounted, provide, ref } from 'vue';\n import {\n EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY,\n TABS_ACTIVE_TAB_ID_KEY,\n TABS_REGISTER_TAB_INJECTION_KEY,\n } from '../tabs.keys';\n import { BentoTabsRegisterTab } from '../tabs.types';\n import { BentoTabProvidedTitle } from './tab.types';\n\n export default defineComponent({\n props: {\n /**\n * Title of the tab\n */\n title: {\n type: String,\n required: true,\n },\n /**\n * Determines whether the tab is disabled\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n // External title injection\n const componentTitle = ref();\n const setTitle: BentoTabProvidedTitle = (value: string) => {\n componentTitle.value = value;\n };\n provide(EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY, setTitle);\n\n const computedTitle = computed(() => (componentTitle.value ?? props.title) as string);\n\n const registerTab: BentoTabsRegisterTab = inject(TABS_REGISTER_TAB_INJECTION_KEY);\n const activeTabId = inject(TABS_ACTIVE_TAB_ID_KEY);\n\n const { id, unregisterTab } = registerTab({ disabled: props.disabled, title: computedTitle });\n\n onUnmounted(() => unregisterTab());\n\n return { activeTabId, id, computedTitle };\n },\n });\n</script>\n","import { BentoTab } from './components/tab.types';\n\nexport const getPreviousTabIndex = (activeTabIndex: number, tabsValue: BentoTab[]) => {\n const newActiveTabIndex = activeTabIndex === 0 ? tabsValue.length - 1 : activeTabIndex - 1;\n if (tabsValue[newActiveTabIndex].disabled) {\n return getPreviousTabIndex(newActiveTabIndex, tabsValue);\n }\n return newActiveTabIndex;\n};\n\nexport const getNextTabIndex = (activeTabIndex: number, tabsValue: BentoTab[]) => {\n const newActiveTabIndex = activeTabIndex === tabsValue.length - 1 ? 0 : activeTabIndex + 1;\n if (tabsValue[newActiveTabIndex].disabled) {\n return getNextTabIndex(newActiveTabIndex, tabsValue);\n }\n return newActiveTabIndex;\n};\n","import type { Ref } from 'vue';\n\nexport type BentoTabsRegisterTab = (props: {\n disabled: boolean;\n title: Ref<string>;\n}) => { id: string; unregisterTab: () => void };\n\nexport enum BentoTabsEvent {\n ACTIVE_TAB_INDEX = 'update:active-tab-index',\n}\n","<template>\n <div class=\"b-tabs\">\n <div ref=\"tablist\" class=\"b-tabs__tab-list\" role=\"tablist\" @keydown=\"onKeydownTabsNavigation\">\n <button\n v-for=\"{ disabled, id, title } in tabs\"\n :id=\"id\"\n :key=\"id\"\n class=\"b-tabs__tab\"\n :class=\"{\n 'b-tabs__tab--active': activeTabId === id,\n 'b-tabs__tab--disabled': disabled,\n }\"\n role=\"tab\"\n type=\"button\"\n :aria-controls=\"`${id}-tabpanel`\"\n :aria-selected=\"activeTabId === id ? 'true' : 'false'\"\n :tabindex=\"activeTabId === id && !disabled ? null : -1\"\n :disabled=\"disabled\"\n @click=\"handleTabChange(id)\"\n @keydown.enter.space=\"handleTabChange(id)\"\n >\n <bento-typography class=\"b-tabs__tab-title\" el=\"span\" variant=\"body\" stronger>\n {{ title }}\n </bento-typography>\n <span v-show=\"!disabled\" class=\"b-tabs__tab-underline\"></span>\n </button>\n </div>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, nextTick, provide, ref, Ref, watch } from 'vue';\n\n // components\n import { BentoTypography } from '@/components/typography';\n\n // utils\n import { generateUid } from '@/utils/ts/unique-id';\n import { getNextTabIndex, getPreviousTabIndex } from './tabs.utils';\n\n // types\n import { BentoTab } from './components/tab.types';\n import { BentoTabsEvent, BentoTabsRegisterTab } from './tabs.types';\n\n // keys\n import { TABS_ACTIVE_TAB_ID_KEY, TABS_REGISTER_TAB_INJECTION_KEY } from './tabs.keys';\n\n /**\n * Tabs are used to navigate between different, but related content views within a page.\n * This component conforms to the official WAI-ARIA guidelines for tabs: https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n *\n * @example\n * import { BentoTabs, BentoTab } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoTabs, BentoTab },\n * template: `\n * <bento-tabs v-bind=\"$props\">\n * <bento-tab title=\"Maria Ahlefeldt\">\n * (16 January 1755 - 20 December 1810) was a Danish, (originally German), composer. She is known as the first female composer in Denmark.\n * </bento-tab>\n * <bento-tab title=\"Carl Andersen\">\n * (29 April 1847 - 7 May 1909) was a Danish flutist, conductor and composer born in Copenhagen, son of the flutist Christian Joachim Andersen.\n * </bento-tab>\n * <bento-tab title=\"Karl Truffel\">\n * (1 March 1981 - 7 November 1992) was a Danish dog and commander born in Berlin, son of the machinist Tom Jahoor Truffel.\n * </bento-tab>\n * <bento-tab title=\"Maria Ahlefeldt\" :disabled=\"true\">\n * (16 January 1755 - 20 December 1810) was a Danish, (originally German), composer. She is known as the first female composer in Denmark.\n * </bento-tab>\n * </bento-tabs>\n * `\n * };\n */\n\n // component\n export default defineComponent({\n components: {\n BentoTypography,\n },\n props: {\n /**\n * Sets the active tab by its index (0 being the first tab item).\n */\n activeTabIndex: { type: Number, default: 0 },\n },\n emits: [BentoTabsEvent.ACTIVE_TAB_INDEX],\n setup(props, { emit }) {\n const tabs: Ref<BentoTab[]> = ref([]);\n const tablist = ref(null);\n const activeTabId = ref('');\n\n provide(TABS_ACTIVE_TAB_ID_KEY, activeTabId);\n\n // unregister tab if removed / destroyed\n const unregisterTab = (tabIdToRemove: string) => () => {\n tabs.value = tabs.value?.filter(({ id }) => id !== tabIdToRemove);\n };\n\n // register tab\n const registerTab: BentoTabsRegisterTab = ({ title, disabled }) => {\n const id = generateUid('b-tab');\n\n // add tab to tabs\n tabs.value.push({ disabled, id, title });\n\n // return values to the Tab component\n return { id, unregisterTab: unregisterTab(id) };\n };\n\n // provide activeTab and registerTab to tab items\n provide(TABS_REGISTER_TAB_INJECTION_KEY, registerTab);\n\n // keyboard navigation\n const onKeydownTabsNavigation = (e: KeyboardEvent) => {\n if (e.code === 'ArrowLeft' || e.code === 'ArrowRight') {\n // find tab that is focussed\n const activeTab = tabs.value.find(tab => document.activeElement.id === tab.id);\n let activeTabIndex = tabs.value.indexOf(activeTab);\n\n // conditionally increase or decrease the\n if (e.code === 'ArrowLeft') {\n activeTabIndex = getPreviousTabIndex(activeTabIndex, tabs.value);\n } else if (e.code === 'ArrowRight') {\n activeTabIndex = getNextTabIndex(activeTabIndex, tabs.value);\n }\n\n // focus new active tab\n tablist.value.children[activeTabIndex].focus();\n }\n };\n\n watch(\n [() => props.activeTabIndex, tabs],\n ([index, currentTabs]) => {\n nextTick(() => {\n const tab = currentTabs[index];\n activeTabId.value =\n tab && !tab.disabled ? tab.id : tabs.value.find(({ disabled }) => !disabled)?.id;\n });\n },\n { immediate: true }\n );\n\n const handleTabChange = (tabId: string) => {\n activeTabId.value = tabId;\n const activeIndex = tabs.value.findIndex(({ id }) => id === activeTabId.value);\n emit(BentoTabsEvent.ACTIVE_TAB_INDEX, activeIndex);\n };\n\n return {\n tabs,\n tablist,\n activeTabId,\n onKeydownTabsNavigation,\n handleTabChange,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./tabs.scss\" />\n"],"names":["_sfc_main$1","defineComponent","props","componentTitle","ref","provide","EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY","value","computedTitle","computed","registerTab","inject","TABS_REGISTER_TAB_INJECTION_KEY","activeTabId","TABS_ACTIVE_TAB_ID_KEY","id","unregisterTab","onUnmounted","_ctx","renderSlot","_hoisted_1$1","getPreviousTabIndex","activeTabIndex","tabsValue","newActiveTabIndex","getNextTabIndex","BentoTabsEvent","BentoTabsEvent2","_sfc_main","BentoTypography","emit","tabs","tablist","tabIdToRemove","_a","title","disabled","generateUid","onKeydownTabsNavigation","e","activeTab","tab","watch","index","currentTabs","nextTick","tabId","activeIndex","createElementVNode","_cache","args","openBlock","createElementBlock","Fragment","renderList","normalizeClass","$event","createVNode","_component_bento_typography"],"mappings":";;;;;;AAgBI,MAAAA,IAAAC,EAAA;AAAA,EAA+B,OAAA;AAAA;AAAA;AAAA;AAAA,IACpB,OAAA;AAAA,MAII,MAAA;AAAA,MACG,UAAA;AAAA,IACI;AAAA;AAAA;AAAA;AAAA,IACd,UAAA;AAAA,MAIU,MAAA;AAAA,MACA,SAAA;AAAA,IACG;AAAA,EACb;AAAA,EACJ,MAAAC,GAAA;AAGI,UAAAC,IAAAC,EAAA;AAIA,IAAAC,EAAAC,GAHA,CAAAC,MAAA;AACI,MAAAJ,EAAA,QAAAI;AAAA,IAAuB,CAE3B;AAEA,UAAAC,IAAAC,EAAA,MAAAN,EAAA,SAAAD,EAAA,KAAA,GAEAQ,IAAAC,EAAAC,CAAA,GACAC,IAAAF,EAAAG,CAAA,GAEA,EAAA,IAAAC,GAAA,eAAAC,EAAA,IAAAN,EAAA,EAAA,UAAAR,EAAA,UAAA,OAAAM,EAAA,CAAA;AAEA,WAAAS,EAAA,MAAAD,EAAA,CAAA,GAEA,EAAA,aAAAH,GAAA,IAAAE,GAAA,eAAAP,EAAA;AAAA,EAAwC;AAEhD,CAAA;;;IAnDuE,IAAA,GAAAU,EAAA;AAAA,IAAE,MAAA;AAAA;EACxD,GAAA;AAAA,IADJC,EAAAD,EAAA,QAAA,SAAA;AAAA,EAAgB,GAAA,GAAAE,CAAA,IAAA;AAAA;;;kDCCpBC,IAAA,CAAAC,GAAAC,MAAA;AACT,QAAAC,IAAAF,MAAA,IAAAC,EAAA,SAAA,IAAAD,IAAA;AACA,SAAAC,EAAAC,CAAA,EAAA,WACIH,EAAAG,GAAAD,CAAA,IAEJC;AACJ,GAEaC,IAAA,CAAAH,GAAAC,MAAA;AACT,QAAAC,IAAAF,MAAAC,EAAA,SAAA,IAAA,IAAAD,IAAA;AACA,SAAAC,EAAAC,CAAA,EAAA,WACIC,EAAAD,GAAAD,CAAA,IAEJC;AACJ;ACTY,IAAAE,IAAA,kBAAAC,OACRA,EAAA,mBAAA,2BADQA,IAAAD,KAAA,CAAA,CAAA;ACsER,MAAAE,IAAA3B,EAAA;AAAA,EAA+B,YAAA;AAAA,IACf,iBAAA4B;AAAA,EACR;AAAA,EACJ,OAAA;AAAA;AAAA;AAAA;AAAA,IACO,gBAAA,EAAA,MAAA,QAAA,SAAA,EAAA;AAAA,EAIwC;AAAA,EAC/C,OAAA,CAAAH,EAAA,gBAAA;AAAA,EACuC,MAAAxB,GAAA,EAAA,MAAA4B,EAAA,GAAA;AAEnC,UAAAC,IAAA3B,EAAA,CAAA,CAAA,GACA4B,IAAA5B,EAAA,IAAA,GACAS,IAAAT,EAAA,EAAA;AAEA,IAAAC,EAAAS,GAAAD,CAAA;AAGA,UAAAG,IAAA,CAAAiB,MAAA,MAAA;;AACI,MAAAF,EAAA,SAAAG,IAAAH,EAAA,UAAA,gBAAAG,EAAA,OAAA,CAAA,EAAA,IAAAnB,EAAA,MAAAA,MAAAkB;AAAA,IAAgE;AAepE,IAAA5B,EAAAO,GAXA,CAAA,EAAA,OAAAuB,GAAA,UAAAC,EAAA,MAAA;AACI,YAAArB,IAAAsB,EAAA,OAAA;AAGA,aAAAN,EAAA,MAAA,KAAA,EAAA,UAAAK,GAAA,IAAArB,GAAA,OAAAoB,EAAA,CAAA,GAGA,EAAA,IAAApB,GAAA,eAAAC,EAAAD,CAAA,EAAA;AAAA,IAA8C,CAIlD;AAGA,UAAAuB,IAAA,CAAAC,MAAA;AACI,UAAAA,EAAA,SAAA,eAAAA,EAAA,SAAA,cAAA;AAEI,cAAAC,IAAAT,EAAA,MAAA,KAAA,CAAAU,MAAA,SAAA,cAAA,OAAAA,EAAA,EAAA;AACA,YAAAnB,IAAAS,EAAA,MAAA,QAAAS,CAAA;AAGA,QAAAD,EAAA,SAAA,cACIjB,IAAAD,EAAAC,GAAAS,EAAA,KAAA,IAA+DQ,EAAA,SAAA,iBAE/DjB,IAAAG,EAAAH,GAAAS,EAAA,KAAA,IAIJC,EAAA,MAAA,SAAAV,CAAA,EAAA,MAAA;AAAA;AAAA,IACJ;AAGJ,WAAAoB;AAAA,MAAA,CAAA,MAAAxC,EAAA,gBAAA6B,CAAA;AAAA,MACqC,CAAA,CAAAY,GAAAC,CAAA,MAAA;AAE7B,QAAAC,EAAA,MAAA;;AACI,gBAAAJ,IAAAG,EAAAD,CAAA;AACA,UAAA9B,EAAA,QAAA4B,KAAA,CAAAA,EAAA,WAAAA,EAAA,MAAAP,IAAAH,EAAA,MAAA,KAAA,CAAA,EAAA,UAAAK,EAAA,MAAA,CAAAA,CAAA,MAAA,gBAAAF,EAAA;AAAA,QACkF,CAAA;AAAA,MACrF;AAAA,MACL,EAAA,WAAA,GAAA;AAAA,IACkB,GAStB;AAAA,MAAO,MAAAH;AAAA,MACH,SAAAC;AAAA,MACA,aAAAnB;AAAA,MACA,yBAAAyB;AAAA,MACA,iBAVJ,CAAAQ,MAAA;AACI,QAAAjC,EAAA,QAAAiC;AACA,cAAAC,IAAAhB,EAAA,MAAA,UAAA,CAAA,EAAA,IAAAhB,EAAA,MAAAA,MAAAF,EAAA,KAAA;AACA,QAAAiB,EAAAJ,EAAA,kBAAAqB,CAAA;AAAA,MAAiD;AAAA,IAQjD;AAAA,EACJ;AAER,CAAA;;;;;IA7JsBC,EAAA,OAAA;AAAA,MAAyB,KAAA;AAAA,MAAK,OAAA;AAAA,MAAY,MAAA;AAAA,MACxD,WAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,IAAAC,MAAAhC,EAAA,2BAAAA,EAAA,wBAAA,GAAAgC,CAAA;AAAA,IACgC,GAAA;AAAA,OACrBC,EAAA,EAAA,GAAAC,EAAAC,GAAA,MAAAC,EAAApC,EAAA,MAAA,CAAA,EAAA,UAAAkB,GAAA,IAAArB,GAAA,OAAAoB,EAAA;QACC,IAAApB;AAAA,QACR,KAAAA;AAAA,QACsH,OAAAwC,EAAA,CAAA,eAAA;AAAA,UAAA,uBAAArC,EAAA,gBAAAH;AAAA;QAI5G,CAAA,CAAA;AAAA,QACL,MAAA;AAAA,QACJ,MAAA;AAAA,QACA,iBAAA,GAAAA;AAAA,QACU,iBAAAG,EAAA,gBAAAH,IAAA,SAAA;AAAA,QACQ,UAAAG,EAAA,gBAAAH,KAAA,CAAAqB,IAAA,OAAA;AAAA,QACO,UAAAA;AAAA,QACzB,SAAA,CAAAoB,MAAAtC,EAAA,gBAAAH,CAAA;AAAA;MAIkB,GAAA;AAAA,QAFkC0C,EAAAC,GAAA;AAAA,UAAA,OAAA;AAAA,UAAQ,IAAA;AAAA,UAAQ,SAAA;AAAA;;;;;;;;;;gBAM7E,GAAA,GAAA;AAAA,IAAA,GAAA,GAAA;AAAA;;;;"}
1
+ {"version":3,"file":"tabs.js","sources":["../../vue2/src/components/tabs/components/tab.vue","../../vue2/src/components/tabs/tabs.utils.ts","../../vue2/src/components/tabs/tabs.types.ts","../../vue2/src/components/tabs/tabs.vue"],"sourcesContent":["<template>\n <div v-show=\"activeTabId === id\" :id=\"`${id}-tabpanel`\" role=\"tabpanel\" :aria-labelledby=\"id\">\n <slot></slot>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, inject, onUnmounted, provide, ref, toRefs } from 'vue';\n import {\n EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY,\n TABS_ACTIVE_TAB_ID_KEY,\n TABS_REGISTER_TAB_INJECTION_KEY,\n } from '../tabs.keys';\n import { BentoTabsRegisterTab } from '../tabs.types';\n import { BentoTabProvidedTitle } from './tab.types';\n\n export default defineComponent({\n props: {\n /**\n * Title of the tab\n */\n title: {\n type: String,\n required: true,\n },\n /**\n * Determines whether the tab is disabled\n */\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n setup(props) {\n // External title injection\n const { disabled } = toRefs(props);\n const componentTitle = ref();\n const setTitle: BentoTabProvidedTitle = (value: string) => {\n componentTitle.value = value;\n };\n provide(EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY, setTitle);\n\n const computedTitle = computed(() => (componentTitle.value ?? props.title) as string);\n\n const registerTab: BentoTabsRegisterTab = inject(TABS_REGISTER_TAB_INJECTION_KEY);\n const activeTabId = inject(TABS_ACTIVE_TAB_ID_KEY);\n\n const { id, unregisterTab } = registerTab({ disabled, title: computedTitle });\n\n onUnmounted(() => unregisterTab());\n\n return { activeTabId, id, computedTitle };\n },\n });\n</script>\n","import { BentoTab } from './components/tab.types';\n\nexport const getPreviousTabIndex = (activeTabIndex: number, tabsValue: BentoTab[]) => {\n const newActiveTabIndex = activeTabIndex === 0 ? tabsValue.length - 1 : activeTabIndex - 1;\n if (tabsValue[newActiveTabIndex].disabled) {\n return getPreviousTabIndex(newActiveTabIndex, tabsValue);\n }\n return newActiveTabIndex;\n};\n\nexport const getNextTabIndex = (activeTabIndex: number, tabsValue: BentoTab[]) => {\n const newActiveTabIndex = activeTabIndex === tabsValue.length - 1 ? 0 : activeTabIndex + 1;\n if (tabsValue[newActiveTabIndex].disabled) {\n return getNextTabIndex(newActiveTabIndex, tabsValue);\n }\n return newActiveTabIndex;\n};\n","import type { Ref } from 'vue';\n\nexport type BentoTabsRegisterTab = (props: {\n disabled: Ref<boolean>;\n title: Ref<string>;\n}) => { id: string; unregisterTab: () => void };\n\nexport enum BentoTabsEvent {\n ACTIVE_TAB_INDEX = 'update:active-tab-index',\n}\n","<template>\n <div class=\"b-tabs\">\n <div ref=\"tablist\" class=\"b-tabs__tab-list\" role=\"tablist\" @keydown=\"onKeydownTabsNavigation\">\n <button\n v-for=\"{ disabled, id, title } in tabs\"\n :id=\"id\"\n :key=\"id\"\n class=\"b-tabs__tab\"\n :class=\"{\n 'b-tabs__tab--active': activeTabId === id,\n 'b-tabs__tab--disabled': disabled,\n }\"\n role=\"tab\"\n type=\"button\"\n :aria-controls=\"`${id}-tabpanel`\"\n :aria-selected=\"activeTabId === id ? 'true' : 'false'\"\n :tabindex=\"activeTabId === id && !disabled ? null : -1\"\n :disabled=\"disabled.value\"\n @click=\"handleTabChange(id)\"\n @keydown.enter.space=\"handleTabChange(id)\"\n >\n <bento-typography class=\"b-tabs__tab-title\" el=\"span\" variant=\"body\" stronger>\n {{ title }}\n </bento-typography>\n <span v-show=\"!disabled\" class=\"b-tabs__tab-underline\"></span>\n </button>\n </div>\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, nextTick, provide, ref, Ref, watch } from 'vue';\n\n // components\n import { BentoTypography } from '@/components/typography';\n\n // utils\n import { generateUid } from '@/utils/ts/unique-id';\n import { getNextTabIndex, getPreviousTabIndex } from './tabs.utils';\n\n // types\n import { BentoTab } from './components/tab.types';\n import { BentoTabsEvent, BentoTabsRegisterTab } from './tabs.types';\n\n // keys\n import { TABS_ACTIVE_TAB_ID_KEY, TABS_REGISTER_TAB_INJECTION_KEY } from './tabs.keys';\n\n /**\n * Tabs are used to navigate between different, but related content views within a page.\n * This component conforms to the official WAI-ARIA guidelines for tabs: https://www.w3.org/WAI/ARIA/apg/patterns/tabs/\n *\n * @example\n * import { BentoTabs, BentoTab } from '@adyen/bento-vue2';\n *\n * export default {\n * components: { BentoTabs, BentoTab },\n * template: `\n * <bento-tabs v-bind=\"$props\">\n * <bento-tab title=\"Maria Ahlefeldt\">\n * (16 January 1755 - 20 December 1810) was a Danish, (originally German), composer. She is known as the first female composer in Denmark.\n * </bento-tab>\n * <bento-tab title=\"Carl Andersen\">\n * (29 April 1847 - 7 May 1909) was a Danish flutist, conductor and composer born in Copenhagen, son of the flutist Christian Joachim Andersen.\n * </bento-tab>\n * <bento-tab title=\"Karl Truffel\">\n * (1 March 1981 - 7 November 1992) was a Danish dog and commander born in Berlin, son of the machinist Tom Jahoor Truffel.\n * </bento-tab>\n * <bento-tab title=\"Maria Ahlefeldt\" :disabled=\"true\">\n * (16 January 1755 - 20 December 1810) was a Danish, (originally German), composer. She is known as the first female composer in Denmark.\n * </bento-tab>\n * </bento-tabs>\n * `\n * };\n */\n\n // component\n export default defineComponent({\n components: {\n BentoTypography,\n },\n props: {\n /**\n * Sets the active tab by its index (0 being the first tab item).\n */\n activeTabIndex: { type: Number, default: 0 },\n },\n emits: [BentoTabsEvent.ACTIVE_TAB_INDEX],\n setup(props, { emit }) {\n const tabs: Ref<BentoTab[]> = ref([]);\n const tablist = ref(null);\n const activeTabId = ref('');\n\n provide(TABS_ACTIVE_TAB_ID_KEY, activeTabId);\n\n // unregister tab if removed / destroyed\n const unregisterTab = (tabIdToRemove: string) => () => {\n tabs.value = tabs.value?.filter(({ id }) => id !== tabIdToRemove);\n };\n\n // register tab\n const registerTab: BentoTabsRegisterTab = ({ title, disabled }) => {\n const id = generateUid('b-tab');\n\n // add tab to tabs\n tabs.value.push({ disabled, id, title });\n\n // return values to the Tab component\n return { id, unregisterTab: unregisterTab(id) };\n };\n\n // provide activeTab and registerTab to tab items\n provide(TABS_REGISTER_TAB_INJECTION_KEY, registerTab);\n\n // keyboard navigation\n const onKeydownTabsNavigation = (e: KeyboardEvent) => {\n if (e.code === 'ArrowLeft' || e.code === 'ArrowRight') {\n // find tab that is focussed\n const activeTab = tabs.value.find(tab => document.activeElement.id === tab.id);\n let activeTabIndex = tabs.value.indexOf(activeTab);\n\n // conditionally increase or decrease the\n if (e.code === 'ArrowLeft') {\n activeTabIndex = getPreviousTabIndex(activeTabIndex, tabs.value);\n } else if (e.code === 'ArrowRight') {\n activeTabIndex = getNextTabIndex(activeTabIndex, tabs.value);\n }\n\n // focus new active tab\n tablist.value.children[activeTabIndex].focus();\n }\n };\n\n watch(\n [() => props.activeTabIndex, tabs],\n ([index, currentTabs]) => {\n nextTick(() => {\n const tab = currentTabs[index];\n activeTabId.value =\n tab && !tab.disabled ? tab.id : tabs.value.find(({ disabled }) => !disabled)?.id;\n });\n },\n { immediate: true }\n );\n\n const handleTabChange = (tabId: string) => {\n activeTabId.value = tabId;\n const activeIndex = tabs.value.findIndex(({ id }) => id === activeTabId.value);\n emit(BentoTabsEvent.ACTIVE_TAB_INDEX, activeIndex);\n };\n\n return {\n tabs,\n tablist,\n activeTabId,\n onKeydownTabsNavigation,\n handleTabChange,\n };\n },\n });\n</script>\n\n<style lang=\"scss\" scoped src=\"./tabs.scss\" />\n"],"names":["_sfc_main$1","defineComponent","props","disabled","toRefs","componentTitle","ref","provide","EXTERNAL_TITLE_REGISTER_ENTRY_INJECTION_KEY","value","computedTitle","computed","registerTab","inject","TABS_REGISTER_TAB_INJECTION_KEY","activeTabId","TABS_ACTIVE_TAB_ID_KEY","id","unregisterTab","onUnmounted","_ctx","renderSlot","_hoisted_1$1","getPreviousTabIndex","activeTabIndex","tabsValue","newActiveTabIndex","getNextTabIndex","BentoTabsEvent","BentoTabsEvent2","_sfc_main","BentoTypography","emit","tabs","tablist","tabIdToRemove","_a","title","generateUid","onKeydownTabsNavigation","e","activeTab","tab","watch","index","currentTabs","nextTick","tabId","activeIndex","createElementVNode","_cache","args","openBlock","createElementBlock","Fragment","renderList","normalizeClass","$event","createVNode","_component_bento_typography"],"mappings":"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"}
package/dist/tag.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { defineComponent as d, computed as o, resolveComponent as p, resolveDirective as m, withDirectives as _, openBlock as b, createElementBlock as v, normalizeClass as f, createVNode as g, withCtx as h, createTextVNode as y, toDisplayString as E } from "vue";
2
- import { B as C } from "./chunks/index.32ed68b7.js";
3
- import { b as S } from "./chunks/tooltip.c8350cd0.js";
2
+ import { B as C } from "./chunks/index.9fc54b60.js";
3
+ import { b as S } from "./chunks/tooltip.6af06509.js";
4
4
  import { u as x } from "./chunks/aria-label.ac9651a5.js";
5
5
  import { g as c } from "./chunks/get-slot-text.bead058f.js";
6
6
  import { _ as $ } from "./chunks/_plugin-vue_export-helper.dad06003.js";
7
- import "./assets/index36.css";
7
+ import "./assets/index34.css";
8
8
  var n = /* @__PURE__ */ ((e) => (e.GREY = "grey", e.BLUE = "blue", e.GREEN = "green", e.ORANGE = "orange", e.RED = "red", e.WHITE = "white", e))(n || {});
9
9
  const w = d({
10
10
  name: "bento-tag",
package/dist/textarea.js CHANGED
@@ -1,38 +1,38 @@
1
- import { openBlock as s, createElementBlock as L, mergeProps as le, toDisplayString as f, createCommentVNode as u, pushScopeId as re, popScopeId as oe, createElementVNode as k, defineComponent as se, toRefs as F, ref as C, toRef as ne, computed as i, watch as B, nextTick as ie, onMounted as ue, resolveComponent as E, normalizeClass as S, normalizeStyle as H, createVNode as I, withCtx as c, createTextVNode as y, createBlock as p, withKeys as N } from "vue";
2
- import { B as de } from "./chunks/index.32ed68b7.js";
3
- import { a as ce } from "./chunks/button.7072457f.js";
4
- import { _ as M } from "./chunks/_plugin-vue_export-helper.dad06003.js";
5
- import { g as be } from "./chunks/unique-id.a2a2b458.js";
6
- import { o as pe } from "./chunks/resize.a041304d.js";
7
- import { u as fe } from "./chunks/i18n.6c402773.js";
8
- import { u as me } from "./chunks/aria-label.ac9651a5.js";
9
- import { u as ve } from "./chunks/use-form-layout-loading.d03e5d48.js";
10
- import { E as ge } from "./chunks/error-message.37b6c7aa.js";
11
- import "./assets/index37.css";
12
- var O = /* @__PURE__ */ ((e) => (e.HORIZONTAL = "horizontal", e.VERTICAL = "vertical", e.BOTH = "both", e.NONE = "none", e))(O || {}), m = /* @__PURE__ */ ((e) => (e.CLEARABLE = "clearable", e.DISABLED = "disabled", e.ERROR = "error", e.READONLY = "readonly", e))(m || {}), t = /* @__PURE__ */ ((e) => (e.BLUR = "blur", e.CHANGE = "change", e.CLEAR = "clear", e.ESCAPE_PRESSED = "escape-pressed", e.FOCUS = "focus", e.INPUT = "input", e))(t || {});
13
- let U = 0;
14
- const he = {
1
+ import { openBlock as l, createElementBlock as g, mergeProps as se, toDisplayString as v, createCommentVNode as i, pushScopeId as ie, popScopeId as ne, createElementVNode as O, defineComponent as ce, useAttrs as ue, toRefs as U, ref as m, toRef as de, computed as s, watch as N, nextTick as be, onMounted as fe, normalizeClass as C, unref as a, normalizeStyle as F, createVNode as E, withCtx as b, createTextVNode as h, createBlock as f, withKeys as w } from "vue";
2
+ import { B as p } from "./chunks/index.9fc54b60.js";
3
+ import { a as pe } from "./chunks/button.9d72e2d7.js";
4
+ import { g as ve } from "./chunks/unique-id.a2a2b458.js";
5
+ import { o as _e } from "./chunks/resize.a041304d.js";
6
+ import { u as me } from "./chunks/i18n.6c402773.js";
7
+ import { u as he } from "./chunks/aria-label.ac9651a5.js";
8
+ import { u as ge } from "./chunks/use-form-layout-loading.d03e5d48.js";
9
+ import { _ as q } from "./chunks/_plugin-vue_export-helper.dad06003.js";
10
+ import { E as K } from "./chunks/error-message.11e1fa1f.js";
11
+ import "./assets/index41.css";
12
+ var H = /* @__PURE__ */ ((e) => (e.HORIZONTAL = "horizontal", e.VERTICAL = "vertical", e.BOTH = "both", e.NONE = "none", e))(H || {}), _ = /* @__PURE__ */ ((e) => (e.CLEARABLE = "clearable", e.DISABLED = "disabled", e.ERROR = "error", e.READONLY = "readonly", e))(_ || {}), c = /* @__PURE__ */ ((e) => (e.BLUR = "blur", e.CHANGE = "change", e.CLEAR = "clear", e.ESCAPE_PRESSED = "escape-pressed", e.FOCUS = "focus", e.INPUT = "input", e))(c || {});
13
+ let T = 0;
14
+ const ye = {
15
15
  beforeCreate() {
16
- this.uuid = U.toString(), U += 1;
16
+ this.uuid = T.toString(), T += 1;
17
17
  }
18
- }, Ce = (e) => (re("data-v-3c9e4cfb"), e = e(), oe(), e), ye = { key: 0 }, Le = /* @__PURE__ */ Ce(() => /* @__PURE__ */ k("path", {
18
+ }, Le = (e) => (ie("data-v-3c9e4cfb"), e = e(), ne(), e), xe = { key: 0 }, Ce = /* @__PURE__ */ Le(() => /* @__PURE__ */ O("path", {
19
19
  fill: "#00112C",
20
20
  "fill-rule": "evenodd",
21
21
  d: "M2.25 8C2.25 4.82436 4.82436 2.25 8 2.25C11.1756 2.25 13.75 4.82436 13.75 8C13.75 11.1756 11.1756 13.75 8 13.75C4.82436 13.75 2.25 11.1756 2.25 8ZM5.46967 5.46967C5.17678 5.76256 5.17678 6.23744 5.46967 6.53033L6.93934 8L5.46967 9.46967C5.17678 9.76256 5.17678 10.2374 5.46967 10.5303C5.76256 10.8232 6.23744 10.8232 6.53033 10.5303L8 9.06066L9.46967 10.5303C9.76256 10.8232 10.2374 10.8232 10.5303 10.5303C10.8232 10.2374 10.8232 9.76256 10.5303 9.46967L9.06066 8L10.5303 6.53033C10.8232 6.23744 10.8232 5.76256 10.5303 5.46967C10.2374 5.17678 9.76256 5.17678 9.46967 5.46967L8 6.93934L6.53033 5.46967C6.23744 5.17678 5.76256 5.17678 5.46967 5.46967Z",
22
22
  "clip-rule": "evenodd"
23
23
  }, null, -1));
24
- function _e(e, l, n, d, $, r) {
25
- return s(), L("svg", le({ role: "img" }, e.$attrs, {
24
+ function Ee(e, n, t, M, u, S) {
25
+ return l(), g("svg", se({ role: "img" }, e.$attrs, {
26
26
  xmlns: "http://www.w3.org/2000/svg",
27
27
  width: "16",
28
28
  height: "16",
29
29
  fill: "none"
30
30
  }), [
31
- e.$attrs["svg-title"] ? (s(), L("title", ye, f(e.$attrs["svg-title"]), 1)) : u("", !0),
32
- Le
31
+ e.$attrs["svg-title"] ? (l(), g("title", xe, v(e.$attrs["svg-title"]), 1)) : i("", !0),
32
+ Ce
33
33
  ], 16);
34
34
  }
35
- const Ee = /* @__PURE__ */ M(he, [["render", _e], ["__scopeId", "data-v-3c9e4cfb"]]), D = {
35
+ const Se = /* @__PURE__ */ q(ye, [["render", Ee], ["__scopeId", "data-v-3c9e4cfb"]]), V = {
36
36
  "en-US": {
37
37
  clearText: "Clear text",
38
38
  optional: "optional",
@@ -40,10 +40,14 @@ const Ee = /* @__PURE__ */ M(he, [["render", _e], ["__scopeId", "data-v-3c9e4cfb
40
40
  textarea: "textarea",
41
41
  yourTextCanBenAtMost: "Your text can be at most {characterLimit} characters"
42
42
  }
43
- }, Se = se({
44
- i18n: { messages: D },
45
- name: "bento-textarea",
46
- components: { BentoButton: ce, BentoTypography: de, ErrorMessage: ge, CrossCircleFillSmallIcon: Ee },
43
+ }, Ae = ["for"], Re = ["id", "value", "aria-label", "aria-invalid", "readonly", "disabled", "placeholder", "onKeydown"], $e = {
44
+ key: 0,
45
+ class: "b-textarea__clear-button"
46
+ }, Ie = {
47
+ i18n: { messages: V },
48
+ name: "bento-textarea"
49
+ }, ke = /* @__PURE__ */ ce({
50
+ ...Ie,
47
51
  props: {
48
52
  /**
49
53
  * Text that labels an the input element
@@ -94,8 +98,8 @@ const Ee = /* @__PURE__ */ M(he, [["render", _e], ["__scopeId", "data-v-3c9e4cfb
94
98
  */
95
99
  resizable: {
96
100
  type: String,
97
- default: O.BOTH,
98
- validator: (e) => Object.values(O).includes(e)
101
+ default: H.BOTH,
102
+ validator: (e) => Object.values(H).includes(e)
99
103
  },
100
104
  /**
101
105
  * Highlights the textarea is required.
@@ -106,233 +110,188 @@ const Ee = /* @__PURE__ */ M(he, [["render", _e], ["__scopeId", "data-v-3c9e4cfb
106
110
  */
107
111
  value: { type: String, default: "" }
108
112
  },
109
- emits: [
110
- t.BLUR,
111
- t.CHANGE,
112
- t.CLEAR,
113
- t.ESCAPE_PRESSED,
114
- t.FOCUS,
115
- t.INPUT
116
- ],
117
- setup(e, { attrs: l, emit: n }) {
118
- const { height: d } = F(e), $ = be("textarea"), r = C(null), a = C(e.value), v = 44, b = C(e.height || `${v}px`), g = C("100%"), { t: o } = fe({ messages: D }), { isReadOnly: _ } = ve(ne(e, "readonly")), T = i(() => `${a.value.length} / ${e.characterLimit}`), A = i(
119
- () => e.characterLimit && a.value.length > e.characterLimit
120
- ), R = () => {
121
- r.value && r.value.scrollHeight > v && (b.value = `${r.value.scrollHeight + 3}px`);
113
+ setup(e, { emit: n }) {
114
+ const t = e, M = ue(), { height: u } = U(t), S = ve("textarea"), r = m(null), o = m(t.value), A = 44, y = m(t.height || `${A}px`), P = m("100%"), { t: L } = me({ messages: V }), { isReadOnly: x } = ge(de(t, "readonly")), W = s(() => `${o.value.length} / ${t.characterLimit}`), R = s(
115
+ () => t.characterLimit && o.value.length > t.characterLimit
116
+ ), $ = () => {
117
+ r.value && r.value.scrollHeight > A && (y.value = `${r.value.scrollHeight + 3}px`);
122
118
  };
123
- B(d, () => {
124
- d.value ? b.value = d.value : R();
125
- }), B(
126
- () => e.value,
119
+ N(u, () => {
120
+ u.value ? y.value = u.value : $();
121
+ }), N(
122
+ () => t.value,
127
123
  () => {
128
- a.value = e.value;
124
+ o.value = t.value;
129
125
  },
130
126
  { immediate: !0 }
131
- ), B(
132
- () => a.value,
127
+ ), N(
128
+ () => o.value,
133
129
  async () => {
134
- if (!d.value) {
135
- if (b.value = `${v}px`, !a.value)
130
+ if (!u.value) {
131
+ if (y.value = `${A}px`, !o.value)
136
132
  return;
137
- await ie(), R();
133
+ await be(), $();
138
134
  }
139
135
  },
140
136
  { immediate: !0 }
141
137
  );
142
- const w = i(() => !!e.errorMessage || A.value), V = i(() => ({
143
- [`b-textarea--${m.DISABLED}`]: e.disabled
144
- })), q = i(() => ({
145
- [`b-textarea__input--${m.CLEARABLE}`]: e.clearable,
146
- [`b-textarea__input--${m.READONLY}`]: _.value,
147
- [`b-textarea__input--${m.ERROR}`]: w.value,
148
- ["b-textarea__input--dynamic-height"]: !d.value
149
- })), K = i(() => ({
150
- ["b-textarea__label-box--no-label"]: !e.label
151
- })), W = i(() => ({
152
- [`b-textarea__label-item--${m.ERROR}`]: A.value
153
- })), z = i(
154
- () => o("yourTextCanBenAtMost", { characterLimit: e.characterLimit })
155
- ), G = C(l["aria-label"]), { ariaLabel: Y, label: Z } = F(e), j = me({
156
- ariaLabel: G.value,
138
+ const D = s(() => !!t.errorMessage || R.value), z = s(() => ({
139
+ [`b-textarea--${_.DISABLED}`]: t.disabled
140
+ })), Y = s(() => ({
141
+ [`b-textarea__input--${_.CLEARABLE}`]: t.clearable,
142
+ [`b-textarea__input--${_.READONLY}`]: x.value,
143
+ [`b-textarea__input--${_.ERROR}`]: D.value,
144
+ ["b-textarea__input--dynamic-height"]: !u.value
145
+ })), Z = s(() => ({
146
+ ["b-textarea__label-box--no-label"]: !t.label
147
+ })), G = s(() => ({
148
+ [`b-textarea__label-item--${_.ERROR}`]: R.value
149
+ })), j = s(() => L("yourTextCanBenAtMost", { characterLimit: t.characterLimit })), J = m(M["aria-label"]), { ariaLabel: Q, label: I } = U(t), X = he({
150
+ ariaLabel: J.value,
157
151
  // TODO: take this line away when the aria-label props is removed
158
- label: Y,
159
- defaultFallback: Z
160
- }), x = i(
161
- () => e.clearable && a.value && !e.disabled && !_.value
162
- ), J = () => {
163
- a.value = "", n(t.CLEAR), n(t.INPUT, "");
164
- }, Q = (h) => {
165
- !e.disabled && !_.value && (a.value = h.target.value, n(t.INPUT, a.value));
166
- }, X = () => {
167
- r.value.scrollTop = 0, n(t.BLUR);
168
- }, ee = () => {
169
- r.value.focus(), n(t.FOCUS);
170
- }, ae = () => {
171
- n(t.CHANGE);
152
+ label: Q,
153
+ defaultFallback: I
154
+ }), ee = s(
155
+ () => t.clearable && o.value && !t.disabled && !x.value
156
+ ), k = () => {
157
+ o.value = "", n(c.CLEAR), n(c.INPUT, "");
158
+ }, ae = (d) => {
159
+ d.stopImmediatePropagation(), !t.disabled && !x.value && (o.value = d.target.value, n(c.INPUT, o.value));
172
160
  }, te = () => {
173
- n(t.ESCAPE_PRESSED);
174
- };
175
- return ue(() => {
176
- pe(r.value, () => {
177
- var P;
178
- const h = (P = r == null ? void 0 : r.value) == null ? void 0 : P.offsetWidth;
179
- g.value = h ? `${h}px` : "100%";
180
- }), d.value || R();
181
- }), {
182
- // Enums
183
- BentoTextareaEvent: t,
184
- // Methods
185
- onBlur: X,
186
- onChange: ae,
187
- onClear: J,
188
- onFocus: ee,
189
- onInput: Q,
190
- onPressEscape: te,
191
- t: o,
192
- // Values
193
- computedAriaLabel: j,
194
- conditionalClasses: V,
195
- conditionalClassesLabelItem: W,
196
- conditionalClassesLabelBox: K,
197
- counter: T,
198
- counterErrorText: z,
199
- conditionalClassesInput: q,
200
- invalidInput: w,
201
- isOverCharacterLimit: A,
202
- isReadOnly: _,
203
- showClearButton: x,
204
- textareaElement: r,
205
- textareaHeight: b,
206
- textareaId: $,
207
- textareaValue: a,
208
- textareaWidth: g
161
+ r.value.scrollTop = 0, n(c.BLUR);
162
+ }, le = () => {
163
+ r.value.focus(), n(c.FOCUS);
164
+ }, re = () => {
165
+ n(c.CHANGE);
166
+ }, oe = () => {
167
+ n(c.ESCAPE_PRESSED);
209
168
  };
210
- }
211
- });
212
- const Ie = ["for"], $e = ["id", "value", "aria-label", "aria-invalid", "readonly", "disabled", "placeholder"], Ae = {
213
- key: 0,
214
- class: "b-textarea__clear-button"
215
- };
216
- function Re(e, l, n, d, $, r) {
217
- const a = E("bento-typography"), v = E("cross-circle-fill-small-icon"), b = E("bento-button"), g = E("error-message");
218
- return s(), L("div", {
219
- class: S(["b-textarea", e.conditionalClasses]),
220
- style: H({ width: e.textareaWidth })
221
- }, [
222
- k("div", {
223
- class: S(["b-textarea__label-box", e.conditionalClassesLabelBox])
169
+ return fe(() => {
170
+ _e(r.value, () => {
171
+ var B;
172
+ const d = (B = r == null ? void 0 : r.value) == null ? void 0 : B.offsetWidth;
173
+ P.value = d ? `${d}px` : "100%";
174
+ }), u.value || $();
175
+ }), (d, B) => (l(), g("div", {
176
+ class: C(["b-textarea", a(z)]),
177
+ style: F({ width: P.value })
224
178
  }, [
225
- e.label ? (s(), L("label", {
226
- key: 0,
227
- for: e.textareaId,
228
- class: "b-textarea__label"
179
+ O("div", {
180
+ class: C(["b-textarea__label-box", a(Z)])
229
181
  }, [
230
- I(a, {
231
- el: "span",
232
- stronger: ""
233
- }, {
234
- default: c(() => [
235
- y(f(e.label), 1)
236
- ]),
237
- _: 1
238
- }),
239
- e.optional && !e.required ? (s(), p(a, {
182
+ a(I) ? (l(), g("label", {
240
183
  key: 0,
241
- el: "span",
242
- class: "b-textarea__label-item"
243
- }, {
244
- default: c(() => [
245
- y(" (" + f(e.t("optional")) + ") ", 1)
246
- ]),
247
- _: 1
248
- })) : u("", !0),
249
- e.required ? (s(), p(a, {
184
+ for: a(S),
185
+ class: "b-textarea__label"
186
+ }, [
187
+ E(a(p), {
188
+ el: "span",
189
+ stronger: ""
190
+ }, {
191
+ default: b(() => [
192
+ h(v(a(I)), 1)
193
+ ]),
194
+ _: 1
195
+ }),
196
+ e.optional && !e.required ? (l(), f(a(p), {
197
+ key: 0,
198
+ el: "span",
199
+ class: "b-textarea__label-item"
200
+ }, {
201
+ default: b(() => [
202
+ h(" (" + v(a(L)("optional")) + ") ", 1)
203
+ ]),
204
+ _: 1
205
+ })) : i("", !0),
206
+ e.required ? (l(), f(a(p), {
207
+ key: 1,
208
+ el: "span",
209
+ class: "b-textarea__label-item"
210
+ }, {
211
+ default: b(() => [
212
+ h(" (" + v(a(L)("required")) + ") ", 1)
213
+ ]),
214
+ _: 1
215
+ })) : i("", !0)
216
+ ], 8, Ae)) : i("", !0),
217
+ e.characterLimit ? (l(), f(a(p), {
250
218
  key: 1,
251
219
  el: "span",
252
- class: "b-textarea__label-item"
220
+ class: C(["b-textarea__label-item", a(G)])
253
221
  }, {
254
- default: c(() => [
255
- y(" (" + f(e.t("required")) + ") ", 1)
222
+ default: b(() => [
223
+ h(v(a(W)), 1)
256
224
  ]),
257
225
  _: 1
258
- })) : u("", !0)
259
- ], 8, Ie)) : u("", !0),
260
- e.characterLimit ? (s(), p(a, {
226
+ }, 8, ["class"])) : i("", !0)
227
+ ], 2),
228
+ E(a(p), {
229
+ el: "div",
230
+ class: "b-textarea__input-box",
231
+ "aria-disabled": e.disabled
232
+ }, {
233
+ default: b(() => [
234
+ O("textarea", {
235
+ id: a(S),
236
+ ref_key: "textareaElement",
237
+ ref: r,
238
+ value: o.value,
239
+ class: C(["b-textarea__input", a(Y)]),
240
+ "aria-label": a(X),
241
+ "aria-invalid": a(D),
242
+ readonly: a(x),
243
+ disabled: e.disabled,
244
+ placeholder: e.placeholder,
245
+ style: F({ resize: e.resizable, height: y.value }),
246
+ onBlur: te,
247
+ onChange: re,
248
+ onFocus: le,
249
+ onInput: ae,
250
+ onKeydown: w(oe, ["esc"])
251
+ }, `
252
+ `, 46, Re),
253
+ a(ee) ? (l(), g("div", $e, [
254
+ E(a(pe), {
255
+ variant: "tertiary",
256
+ disabled: e.disabled,
257
+ onClick: k,
258
+ onKeypress: w(k, ["enter"]),
259
+ onKeyup: w(k, ["space"])
260
+ }, {
261
+ iconLeft: b(() => [
262
+ E(a(Se), {
263
+ "svg-title": a(L)("clearText")
264
+ }, null, 8, ["svg-title"])
265
+ ]),
266
+ _: 1
267
+ }, 8, ["disabled", "onKeypress", "onKeyup"])
268
+ ])) : i("", !0)
269
+ ]),
270
+ _: 1
271
+ }, 8, ["aria-disabled"]),
272
+ a(R) ? (l(), f(a(K), {
273
+ key: 0,
274
+ "error-message": a(j)
275
+ }, null, 8, ["error-message"])) : i("", !0),
276
+ e.errorMessage ? (l(), f(a(K), {
261
277
  key: 1,
262
- el: "span",
263
- class: S(["b-textarea__label-item", e.conditionalClassesLabelItem])
278
+ "error-message": e.errorMessage
279
+ }, null, 8, ["error-message"])) : i("", !0),
280
+ e.description ? (l(), f(a(p), {
281
+ key: 2,
282
+ class: "b-textarea__description",
283
+ el: "span"
264
284
  }, {
265
- default: c(() => [
266
- y(f(e.counter), 1)
285
+ default: b(() => [
286
+ h(v(e.description), 1)
267
287
  ]),
268
288
  _: 1
269
- }, 8, ["class"])) : u("", !0)
270
- ], 2),
271
- I(a, {
272
- el: "div",
273
- class: "b-textarea__input-box",
274
- "aria-disabled": e.disabled
275
- }, {
276
- default: c(() => [
277
- k("textarea", {
278
- id: e.textareaId,
279
- ref: "textareaElement",
280
- value: e.textareaValue,
281
- class: S(["b-textarea__input", e.conditionalClassesInput]),
282
- "aria-label": e.computedAriaLabel,
283
- "aria-invalid": e.invalidInput,
284
- readonly: e.isReadOnly,
285
- disabled: e.disabled,
286
- placeholder: e.placeholder,
287
- style: H({ resize: e.resizable, height: e.textareaHeight }),
288
- onBlur: l[0] || (l[0] = (...o) => e.onBlur && e.onBlur(...o)),
289
- onChange: l[1] || (l[1] = (...o) => e.onChange && e.onChange(...o)),
290
- onFocus: l[2] || (l[2] = (...o) => e.onFocus && e.onFocus(...o)),
291
- onInput: l[3] || (l[3] = (...o) => e.onInput && e.onInput(...o)),
292
- onKeydown: l[4] || (l[4] = N((...o) => e.onPressEscape && e.onPressEscape(...o), ["esc"]))
293
- }, `
294
- `, 46, $e),
295
- e.showClearButton ? (s(), L("div", Ae, [
296
- I(b, {
297
- variant: "tertiary",
298
- disabled: e.disabled,
299
- onClick: e.onClear,
300
- onKeypress: N(e.onClear, ["enter"]),
301
- onKeyup: N(e.onClear, ["space"])
302
- }, {
303
- iconLeft: c(() => [
304
- I(v, {
305
- "svg-title": e.t("clearText")
306
- }, null, 8, ["svg-title"])
307
- ]),
308
- _: 1
309
- }, 8, ["disabled", "onClick", "onKeypress", "onKeyup"])
310
- ])) : u("", !0)
311
- ]),
312
- _: 1
313
- }, 8, ["aria-disabled"]),
314
- e.isOverCharacterLimit ? (s(), p(g, {
315
- key: 0,
316
- "error-message": e.counterErrorText
317
- }, null, 8, ["error-message"])) : u("", !0),
318
- e.errorMessage ? (s(), p(g, {
319
- key: 1,
320
- "error-message": e.errorMessage
321
- }, null, 8, ["error-message"])) : u("", !0),
322
- e.description ? (s(), p(a, {
323
- key: 2,
324
- class: "b-textarea__description",
325
- el: "span"
326
- }, {
327
- default: c(() => [
328
- y(f(e.description), 1)
329
- ]),
330
- _: 1
331
- })) : u("", !0)
332
- ], 6);
333
- }
334
- const Me = /* @__PURE__ */ M(Se, [["render", Re], ["__scopeId", "data-v-12df95db"]]);
289
+ })) : i("", !0)
290
+ ], 6));
291
+ }
292
+ });
293
+ const Ke = /* @__PURE__ */ q(ke, [["__scopeId", "data-v-cb625981"]]);
335
294
  export {
336
- Me as BentoTextarea
295
+ Ke as BentoTextarea
337
296
  };
338
297
  //# sourceMappingURL=textarea.js.map