@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.
- package/dist/@types/packages/vue2/src/components/avatar-image/avatar-image.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/button/button.vue.d.ts +77 -77
- package/dist/@types/packages/vue2/src/components/button/components/loading-button/loading-button.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/card/card.vue.d.ts +7 -1
- package/dist/@types/packages/vue2/src/components/checkbox/components/checkbox-group/checkbox-group.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateColumnWidth/useCalculateColumnWidth.d.ts +6 -2
- package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateStickyElementHeight/useCalculateStickyElementHeight.d.ts +2 -0
- package/dist/@types/packages/vue2/src/components/data-grid/composables/useColumnReorderer/useColumnReorderer.d.ts +2 -0
- package/dist/@types/packages/vue2/src/components/data-grid/composables/useConfigSettings/useConfigSettings.d.ts +3 -0
- package/dist/@types/packages/vue2/src/components/data-grid/data-grid.types.d.ts +2 -1
- package/dist/@types/packages/vue2/src/components/data-grid/data-grid.vue.d.ts +49 -11
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/dropdown-options-container.vue.d.ts +32 -33
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-small-textbox/dropdown-small-textbox.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/dropdown/dropdown.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/all-filters-modal.vue.d.ts +60 -60
- package/dist/@types/packages/vue2/src/components/filter-bar/components/base-filter-button/base-filter-button.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/filter-bar/components/boolean-filter/boolean-filter.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/filter-bar/components/date-filter/date-filter.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/filter-bar/components/date-range-filter/date-range-filter.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/filter-bar/components/input-filter/input-filter.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/filter-bar/components/range-filter/range-filter.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/select-filter.vue.d.ts +2 -1
- package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.types.d.ts +7 -3
- package/dist/@types/packages/vue2/src/components/filter-bar/filter-bar.vue.d.ts +11 -1
- package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-field-tip/form-layout-field-tip.vue.d.ts +17 -1
- package/dist/@types/packages/vue2/src/components/form-layout/components/form-layout-field-tip/form-layout-tip.types.d.ts +3 -0
- package/dist/@types/packages/vue2/src/components/header/header.vue.d.ts +3 -0
- package/dist/@types/packages/vue2/src/components/info-icon/info-icon.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/internal/base-button/base-button.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/internal/fixed-scroller/composables/index.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/internal/fixed-scroller/composables/useFixedScroller.d.ts +15 -0
- package/dist/@types/packages/vue2/src/components/internal/fixed-scroller/fixed-scroller.vue.d.ts +9 -0
- package/dist/@types/packages/vue2/src/components/internal/fixed-scroller/index.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/internal/index.d.ts +1 -0
- package/dist/@types/packages/vue2/src/components/menu/components/menu-item/menu-item.vue.d.ts +4 -5
- package/dist/@types/packages/vue2/src/components/menu/menu.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/modal/components/base-modal/base-modal.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/modal/modal.vue.d.ts +10 -1
- package/dist/@types/packages/vue2/src/components/pagination/pagination.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/popover/popover.vue.d.ts +4 -4
- package/dist/@types/packages/vue2/src/components/popper-container/popper-container.vue.d.ts +4 -4
- package/dist/@types/packages/vue2/src/components/radio-group/radio-group.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/status/status.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/stepper/stepper.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/structured-list/components/structered-list-item/structured-list-item.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item/summary-grid-item.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-amount/summary-grid-item-amount.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-numeric/summary-grid-item-numeric.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/summary-grid/components/summary-grid-item-percentage/summary-grid-item-percentage.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/tabs/components/tab.types.d.ts +2 -1
- package/dist/@types/packages/vue2/src/components/tabs/tabs.types.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/tag/tag.vue.d.ts +4 -4
- package/dist/@types/packages/vue2/src/components/textarea/textarea.vue.d.ts +24 -52
- package/dist/@types/packages/vue2/src/components/timeline/components/timeline-item/timeline-item.vue.d.ts +4 -4
- package/dist/@types/packages/vue2/src/components/tooltip/tooltip.vue.d.ts +13 -13
- package/dist/@types/packages/vue2/src/composables/use-expandable-content-height/use-expandable-content-height.d.ts +4 -0
- package/dist/@types/packages/vue2/src/templates/data-grid-template/data-grid-template.keys.d.ts +1 -0
- package/dist/@types/packages/vue2/src/templates/data-grid-template/data-grid-template.types.d.ts +6 -0
- package/dist/@types/packages/vue2/src/templates/data-grid-template/data-grid-template.vue.d.ts +77 -1
- package/dist/@types/packages/vue2/src/templates/data-grid-template/index.d.ts +1 -0
- package/dist/@types/packages/vue2/src/utils/ts/truncate.d.ts +1 -1
- package/dist/accordion.js +42 -47
- package/dist/accordion.js.map +1 -1
- package/dist/alert.js +4 -4
- package/dist/assets/base-modal.css +1 -1
- package/dist/assets/button.css +1 -1
- package/dist/assets/controls-group.css +1 -1
- package/dist/assets/dropdown.css +1 -1
- package/dist/assets/index.css +1 -1
- package/dist/assets/index10.css +1 -1
- package/dist/assets/index11.css +1 -1
- package/dist/assets/index12.css +1 -1
- package/dist/assets/index13.css +1 -1
- package/dist/assets/index14.css +1 -1
- package/dist/assets/index15.css +1 -1
- package/dist/assets/index16.css +1 -1
- package/dist/assets/index17.css +1 -1
- package/dist/assets/index18.css +1 -1
- package/dist/assets/index19.css +1 -1
- package/dist/assets/index2.css +1 -1
- package/dist/assets/index20.css +1 -1
- package/dist/assets/index21.css +1 -1
- package/dist/assets/index22.css +1 -1
- package/dist/assets/index23.css +1 -1
- package/dist/assets/index24.css +1 -1
- package/dist/assets/index25.css +1 -1
- package/dist/assets/index26.css +1 -1
- package/dist/assets/index28.css +1 -1
- package/dist/assets/index29.css +1 -1
- package/dist/assets/index3.css +1 -1
- package/dist/assets/index30.css +1 -1
- package/dist/assets/index31.css +1 -1
- package/dist/assets/index32.css +1 -1
- package/dist/assets/index33.css +1 -1
- package/dist/assets/index34.css +1 -1
- package/dist/assets/index35.css +1 -1
- package/dist/assets/index36.css +1 -1
- package/dist/assets/index37.css +1 -1
- package/dist/assets/index38.css +1 -1
- package/dist/assets/index39.css +1 -1
- package/dist/assets/index4.css +1 -1
- package/dist/assets/index40.css +1 -1
- package/dist/assets/index41.css +1 -1
- package/dist/assets/index42.css +1 -1
- package/dist/assets/index43.css +1 -1
- package/dist/assets/index44.css +1 -1
- package/dist/assets/index45.css +1 -0
- package/dist/assets/index5.css +1 -1
- package/dist/assets/index6.css +1 -1
- package/dist/assets/index7.css +1 -1
- package/dist/assets/index8.css +1 -1
- package/dist/assets/index9.css +1 -1
- package/dist/assets/loading-button.css +1 -1
- package/dist/avatar-image.js +1 -1
- package/dist/badge.js +1 -1
- package/dist/button.js +5 -5
- package/dist/card.js +135 -121
- package/dist/card.js.map +1 -1
- package/dist/checkbox.js +24 -25
- package/dist/checkbox.js.map +1 -1
- package/dist/chunks/{base-button.9740f320.js → base-button.90687c75.js} +3 -3
- package/dist/chunks/{base-button.9740f320.js.map → base-button.90687c75.js.map} +1 -1
- package/dist/chunks/{base-modal.be77971f.js → base-modal.c956b084.js} +58 -58
- package/dist/chunks/base-modal.c956b084.js.map +1 -0
- package/dist/chunks/{button.7072457f.js → button.9d72e2d7.js} +3 -3
- package/dist/chunks/{button.7072457f.js.map → button.9d72e2d7.js.map} +1 -1
- package/dist/chunks/{calendar.1e50c7d1.js → calendar.e7db78d0.js} +6 -5
- package/dist/chunks/{calendar.1e50c7d1.js.map → calendar.e7db78d0.js.map} +1 -1
- package/dist/chunks/{checkbox.638bab98.js → checkbox.ecbb4f0c.js} +4 -4
- package/dist/chunks/{checkbox.638bab98.js.map → checkbox.ecbb4f0c.js.map} +1 -1
- package/dist/chunks/{controls-group.efcf4e8d.js → controls-group.34f1f82a.js} +2 -2
- package/dist/chunks/{controls-group.efcf4e8d.js.map → controls-group.34f1f82a.js.map} +1 -1
- package/dist/chunks/{copy.527c3d76.js → copy.aaec57b6.js} +3 -3
- package/dist/chunks/{copy.527c3d76.js.map → copy.aaec57b6.js.map} +1 -1
- package/dist/chunks/date-input.9186a0bf.js.map +1 -1
- package/dist/chunks/{dropdown-default-textbox.a1789dc7.js → dropdown-default-textbox.88a42e9b.js} +3 -3
- package/dist/chunks/{dropdown-default-textbox.a1789dc7.js.map → dropdown-default-textbox.88a42e9b.js.map} +1 -1
- package/dist/chunks/{dropdown.22e51667.js → dropdown.6a484461.js} +182 -177
- package/dist/chunks/dropdown.6a484461.js.map +1 -0
- package/dist/chunks/{error-message.37b6c7aa.js → error-message.11e1fa1f.js} +2 -2
- package/dist/chunks/{error-message.37b6c7aa.js.map → error-message.11e1fa1f.js.map} +1 -1
- package/dist/chunks/{footer-actions.5275203a.js → footer-actions.a65cb2e3.js} +3 -3
- package/dist/chunks/{footer-actions.5275203a.js.map → footer-actions.a65cb2e3.js.map} +1 -1
- package/dist/chunks/{grid-layout.c98e6bc7.js → grid-layout.7c919507.js} +2 -2
- package/dist/chunks/{grid-layout.c98e6bc7.js.map → grid-layout.7c919507.js.map} +1 -1
- package/dist/chunks/{index.c22c4278.js → index.424e2ea4.js} +6 -6
- package/dist/chunks/{index.c22c4278.js.map → index.424e2ea4.js.map} +1 -1
- package/dist/chunks/{index.dd20095f.js → index.655b761f.js} +3 -3
- package/dist/chunks/{index.dd20095f.js.map → index.655b761f.js.map} +1 -1
- package/dist/chunks/{index.c62ea69f.js → index.754349ff.js} +2 -2
- package/dist/chunks/{index.c62ea69f.js.map → index.754349ff.js.map} +1 -1
- package/dist/chunks/{index.a57930ba.js → index.84f6360f.js} +11 -10
- package/dist/chunks/{index.a57930ba.js.map → index.84f6360f.js.map} +1 -1
- package/dist/chunks/{index.32ed68b7.js → index.9fc54b60.js} +2 -2
- package/dist/chunks/{index.32ed68b7.js.map → index.9fc54b60.js.map} +1 -1
- package/dist/chunks/{index.604da8e9.js → index.bc9e0cde.js} +3 -3
- package/dist/chunks/{index.604da8e9.js.map → index.bc9e0cde.js.map} +1 -1
- package/dist/chunks/{listbox-option-tag.fa70334e.js → listbox-option-tag.ea9f377f.js} +3 -3
- package/dist/chunks/{listbox-option-tag.fa70334e.js.map → listbox-option-tag.ea9f377f.js.map} +1 -1
- package/dist/chunks/{listbox.4205c0de.js → listbox.a7255ce1.js} +4 -4
- package/dist/chunks/{listbox.4205c0de.js.map → listbox.a7255ce1.js.map} +1 -1
- package/dist/chunks/{loading-button.41c15584.js → loading-button.fb1f20a3.js} +32 -32
- package/dist/chunks/loading-button.fb1f20a3.js.map +1 -0
- package/dist/chunks/on-click-outside.3e0c3e2a.js.map +1 -1
- package/dist/chunks/{tooltip.c8350cd0.js → tooltip.6af06509.js} +64 -63
- package/dist/chunks/tooltip.6af06509.js.map +1 -0
- package/dist/chunks/use-expandable-content-height.62fc84e5.js +17 -0
- package/dist/chunks/use-expandable-content-height.62fc84e5.js.map +1 -0
- package/dist/chunks/use-has-slot.4d98bf29.js +15 -0
- package/dist/chunks/use-has-slot.4d98bf29.js.map +1 -0
- package/dist/code-snippet.js +7 -7
- package/dist/code-snippet.js.map +1 -1
- package/dist/country.js +2 -2
- package/dist/currency.js +1 -1
- package/dist/data-grid.js +944 -888
- package/dist/data-grid.js.map +1 -1
- package/dist/date-picker.js +7 -7
- package/dist/date-range-picker.js +2 -2
- package/dist/date.js +1 -1
- package/dist/divider.js +1 -1
- package/dist/dropdown.js +4 -4
- package/dist/empty-state.js +3 -3
- package/dist/filter-bar.js +990 -904
- package/dist/filter-bar.js.map +1 -1
- package/dist/focus-trap.js +1 -1
- package/dist/form-layout.js +81 -70
- package/dist/form-layout.js.map +1 -1
- package/dist/header.js +92 -87
- package/dist/header.js.map +1 -1
- package/dist/index.js +14 -14
- package/dist/info-icon.js +12 -12
- package/dist/info-icon.js.map +1 -1
- package/dist/input-field.js +115 -110
- package/dist/input-field.js.map +1 -1
- package/dist/internal.js +144 -18
- package/dist/internal.js.map +1 -1
- package/dist/link.js +38 -35
- package/dist/link.js.map +1 -1
- package/dist/loading-indicator.js +1 -1
- package/dist/menu.js +8 -6
- package/dist/menu.js.map +1 -1
- package/dist/modal.js +52 -44
- package/dist/modal.js.map +1 -1
- package/dist/pagination.js +4 -4
- package/dist/payment-method.js +2 -2
- package/dist/popover.js +4 -4
- package/dist/popper-container.js +1 -1
- package/dist/radio-group.js +5 -5
- package/dist/search-bar.js +7 -7
- package/dist/search-bar.js.map +1 -1
- package/dist/segmented-control.js +4 -4
- package/dist/sidepanel.js +19 -19
- package/dist/sidepanel.js.map +1 -1
- package/dist/status.js +2 -2
- package/dist/stepper.js +3 -3
- package/dist/structured-list.js +1 -1
- package/dist/summary-grid.js +5 -5
- package/dist/tabs.js +64 -64
- package/dist/tabs.js.map +1 -1
- package/dist/tag.js +3 -3
- package/dist/textarea.js +188 -229
- package/dist/textarea.js.map +1 -1
- package/dist/timeline.js +37 -37
- package/dist/timeline.js.map +1 -1
- package/dist/toast.js +4 -4
- package/dist/toggle.js +3 -3
- package/dist/typography.js +1 -1
- package/dist/web-types.json +1 -1
- package/package.json +5 -3
- package/dist/@types/packages/vue2/src/components/data-grid/composables/useCalculateColumnHeadersTopPosition/useCalculateColumnHeadersTopPosition.d.ts +0 -2
- package/dist/chunks/base-modal.be77971f.js.map +0 -1
- package/dist/chunks/dropdown.22e51667.js.map +0 -1
- package/dist/chunks/loading-button.41c15584.js.map +0 -1
- package/dist/chunks/tooltip.c8350cd0.js.map +0 -1
- package/dist/chunks/use-has-slot.3daaffc6.js +0 -17
- 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":"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"}
|
|
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.
|
|
3
|
-
import { b as S } from "./chunks/tooltip.
|
|
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/
|
|
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
|
|
2
|
-
import { B as
|
|
3
|
-
import { a as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { u as
|
|
8
|
-
import { u as
|
|
9
|
-
import {
|
|
10
|
-
import { E as
|
|
11
|
-
import "./assets/
|
|
12
|
-
var
|
|
13
|
-
let
|
|
14
|
-
const
|
|
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 =
|
|
16
|
+
this.uuid = T.toString(), T += 1;
|
|
17
17
|
}
|
|
18
|
-
},
|
|
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
|
|
25
|
-
return
|
|
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"] ? (
|
|
32
|
-
|
|
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
|
|
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
|
-
},
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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:
|
|
98
|
-
validator: (e) => Object.values(
|
|
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
|
-
|
|
110
|
-
t.
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
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
|
-
|
|
124
|
-
|
|
125
|
-
}),
|
|
126
|
-
() =>
|
|
119
|
+
N(u, () => {
|
|
120
|
+
u.value ? y.value = u.value : $();
|
|
121
|
+
}), N(
|
|
122
|
+
() => t.value,
|
|
127
123
|
() => {
|
|
128
|
-
|
|
124
|
+
o.value = t.value;
|
|
129
125
|
},
|
|
130
126
|
{ immediate: !0 }
|
|
131
|
-
),
|
|
132
|
-
() =>
|
|
127
|
+
), N(
|
|
128
|
+
() => o.value,
|
|
133
129
|
async () => {
|
|
134
|
-
if (!
|
|
135
|
-
if (
|
|
130
|
+
if (!u.value) {
|
|
131
|
+
if (y.value = `${A}px`, !o.value)
|
|
136
132
|
return;
|
|
137
|
-
await
|
|
133
|
+
await be(), $();
|
|
138
134
|
}
|
|
139
135
|
},
|
|
140
136
|
{ immediate: !0 }
|
|
141
137
|
);
|
|
142
|
-
const
|
|
143
|
-
[`b-textarea--${
|
|
144
|
-
})),
|
|
145
|
-
[`b-textarea__input--${
|
|
146
|
-
[`b-textarea__input--${
|
|
147
|
-
[`b-textarea__input--${
|
|
148
|
-
["b-textarea__input--dynamic-height"]: !
|
|
149
|
-
})),
|
|
150
|
-
["b-textarea__label-box--no-label"]: !
|
|
151
|
-
})),
|
|
152
|
-
[`b-textarea__label-item--${
|
|
153
|
-
})),
|
|
154
|
-
|
|
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:
|
|
159
|
-
defaultFallback:
|
|
160
|
-
}),
|
|
161
|
-
() =>
|
|
162
|
-
),
|
|
163
|
-
|
|
164
|
-
},
|
|
165
|
-
!
|
|
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(
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
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
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
};
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
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
|
-
|
|
226
|
-
|
|
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(
|
|
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
|
-
|
|
242
|
-
class: "b-textarea__label
|
|
243
|
-
},
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
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:
|
|
255
|
-
|
|
222
|
+
default: b(() => [
|
|
223
|
+
h(v(a(W)), 1)
|
|
256
224
|
]),
|
|
257
225
|
_: 1
|
|
258
|
-
})) :
|
|
259
|
-
],
|
|
260
|
-
|
|
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
|
-
|
|
263
|
-
|
|
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:
|
|
266
|
-
|
|
285
|
+
default: b(() => [
|
|
286
|
+
h(v(e.description), 1)
|
|
267
287
|
]),
|
|
268
288
|
_: 1
|
|
269
|
-
}
|
|
270
|
-
],
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
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
|
-
|
|
295
|
+
Ke as BentoTextarea
|
|
337
296
|
};
|
|
338
297
|
//# sourceMappingURL=textarea.js.map
|