@adyen/bento-vue2 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 +97 -97
- 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 +41 -4
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-base-textbox/dropdown-base-textbox.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-default-textbox/dropdown-default-textbox.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/dropdown/components/dropdown-options-container/dropdown-options-container.vue.d.ts +33 -34
- 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/components/variants/dropdown-avatar/dropdown-avatar.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-country/dropdown-country.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-currency/dropdown-currency.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-payment-method/dropdown-payment-method.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/dropdown/components/variants/dropdown-tag/dropdown-tag.vue.d.ts +3 -3
- package/dist/@types/packages/vue2/src/components/dropdown/dropdown.vue.d.ts +2 -2
- package/dist/@types/packages/vue2/src/components/filter-bar/components/all-filters-modal/all-filters-modal.vue.d.ts +20 -20
- 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/components/select-filter/variants/select-country-filter/select-country-filter.vue.d.ts +1 -1
- package/dist/@types/packages/vue2/src/components/filter-bar/components/select-filter/variants/select-tag-filter/select-tag-filter.vue.d.ts +2 -2
- 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 +10 -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/internal/listbox/listbox.vue.d.ts +1 -1
- 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 +9 -0
- 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/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 +18 -46
- package/dist/@types/packages/vue2/src/components/timeline/components/timeline-item/timeline-item.vue.d.ts +6 -6
- package/dist/@types/packages/vue2/src/components/tooltip/tooltip.vue.d.ts +12 -12
- 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 +121 -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 +33 -36
- package/dist/accordion.js.map +1 -1
- package/dist/alert.js +3 -3
- 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/index27.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 -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 +84 -80
- package/dist/card.js.map +1 -1
- package/dist/checkbox.js +14 -15
- package/dist/checkbox.js.map +1 -1
- package/dist/chunks/{base-button.89e9efbd.js → base-button.431fb8cf.js} +2 -2
- package/dist/chunks/{base-button.89e9efbd.js.map → base-button.431fb8cf.js.map} +1 -1
- package/dist/chunks/{base-modal.6eaa7e53.js → base-modal.f462dac0.js} +41 -41
- package/dist/chunks/base-modal.f462dac0.js.map +1 -0
- package/dist/chunks/{button.66df5734.js → button.38099670.js} +2 -2
- package/dist/chunks/{button.66df5734.js.map → button.38099670.js.map} +1 -1
- package/dist/chunks/{calendar.44459d87.js → calendar.371e5ae2.js} +8 -7
- package/dist/chunks/{calendar.44459d87.js.map → calendar.371e5ae2.js.map} +1 -1
- package/dist/chunks/{checkbox.b69b8f22.js → checkbox.b8c2e583.js} +3 -3
- package/dist/chunks/{checkbox.b69b8f22.js.map → checkbox.b8c2e583.js.map} +1 -1
- package/dist/chunks/{controls-group.a2a2916f.js → controls-group.d75f1d37.js} +2 -2
- package/dist/chunks/{controls-group.a2a2916f.js.map → controls-group.d75f1d37.js.map} +1 -1
- package/dist/chunks/{copy.57f969d4.js → copy.8e44a660.js} +3 -3
- package/dist/chunks/{copy.57f969d4.js.map → copy.8e44a660.js.map} +1 -1
- package/dist/chunks/date-input.9186a0bf.js.map +1 -1
- package/dist/chunks/{dropdown-default-textbox.2d093874.js → dropdown-default-textbox.6135874c.js} +2 -2
- package/dist/chunks/{dropdown-default-textbox.2d093874.js.map → dropdown-default-textbox.6135874c.js.map} +1 -1
- package/dist/chunks/{dropdown.10ea8304.js → dropdown.5d22958c.js} +184 -179
- package/dist/chunks/dropdown.5d22958c.js.map +1 -0
- package/dist/chunks/{error-message.7a5db7f6.js → error-message.a04e8f9a.js} +2 -2
- package/dist/chunks/{error-message.7a5db7f6.js.map → error-message.a04e8f9a.js.map} +1 -1
- package/dist/chunks/{footer-actions.6ddac024.js → footer-actions.ee645663.js} +3 -3
- package/dist/chunks/{footer-actions.6ddac024.js.map → footer-actions.ee645663.js.map} +1 -1
- package/dist/chunks/{index.4a11da21.js → index.5d058912.js} +22 -21
- package/dist/chunks/{index.4a11da21.js.map → index.5d058912.js.map} +1 -1
- package/dist/chunks/{index.f607a3f1.js → index.64cce50b.js} +6 -6
- package/dist/chunks/{index.f607a3f1.js.map → index.64cce50b.js.map} +1 -1
- package/dist/chunks/{index.0f8690c4.js → index.74258013.js} +2 -2
- package/dist/chunks/{index.0f8690c4.js.map → index.74258013.js.map} +1 -1
- package/dist/chunks/{index.1645ffcb.js → index.74da0d41.js} +2 -2
- package/dist/chunks/{index.1645ffcb.js.map → index.74da0d41.js.map} +1 -1
- package/dist/chunks/{index.660f2f2e.js → index.98b6db0e.js} +3 -3
- package/dist/chunks/{index.660f2f2e.js.map → index.98b6db0e.js.map} +1 -1
- package/dist/chunks/index.af05ced4.js.map +1 -1
- package/dist/chunks/{index.e722eb60.js → index.fd557233.js} +2 -2
- package/dist/chunks/{index.e722eb60.js.map → index.fd557233.js.map} +1 -1
- package/dist/chunks/{listbox-option-tag.e2688e54.js → listbox-option-tag.a651fa46.js} +3 -3
- package/dist/chunks/{listbox-option-tag.e2688e54.js.map → listbox-option-tag.a651fa46.js.map} +1 -1
- package/dist/chunks/{listbox.201a8521.js → listbox.cbb27077.js} +7 -7
- package/dist/chunks/{listbox.201a8521.js.map → listbox.cbb27077.js.map} +1 -1
- package/dist/chunks/{loading-button.9d18b4f2.js → loading-button.21c48d50.js} +24 -24
- package/dist/chunks/loading-button.21c48d50.js.map +1 -0
- package/dist/chunks/on-click-outside.3e0c3e2a.js.map +1 -1
- package/dist/chunks/{tooltip.f89cb0cd.js → tooltip.ca9673ee.js} +2 -2
- package/dist/chunks/tooltip.ca9673ee.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.6052d56a.js.map +1 -1
- 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 +707 -655
- package/dist/data-grid.js.map +1 -1
- package/dist/date-picker.js +26 -26
- 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 +727 -638
- package/dist/filter-bar.js.map +1 -1
- package/dist/focus-trap.js +1 -1
- package/dist/form-layout.js +71 -60
- package/dist/form-layout.js.map +1 -1
- package/dist/header.js +39 -36
- package/dist/header.js.map +1 -1
- package/dist/index.js +28 -28
- package/dist/info-icon.js +7 -7
- package/dist/info-icon.js.map +1 -1
- package/dist/input-field.js +71 -67
- package/dist/input-field.js.map +1 -1
- package/dist/internal.js +106 -18
- package/dist/internal.js.map +1 -1
- package/dist/link.js +29 -28
- 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 +20 -13
- package/dist/modal.js.map +1 -1
- package/dist/pagination.js +4 -4
- package/dist/payment-method.js +2 -2
- package/dist/popover.js +3 -3
- package/dist/popper-container.js +2 -2
- package/dist/radio-group.js +4 -4
- package/dist/search-bar.js +6 -6
- package/dist/search-bar.js.map +1 -1
- package/dist/segmented-control.js +4 -4
- package/dist/sidepanel.js +28 -28
- 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 +2 -2
- package/dist/tabs.js +48 -48
- package/dist/tabs.js.map +1 -1
- package/dist/tag.js +3 -3
- package/dist/textarea.js +89 -126
- package/dist/textarea.js.map +1 -1
- package/dist/timeline.js +38 -38
- package/dist/timeline.js.map +1 -1
- package/dist/toast.js +3 -3
- package/dist/toggle.js +2 -2
- package/dist/typography.js +1 -1
- package/dist/web-types.json +289 -222
- 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.6eaa7e53.js.map +0 -1
- package/dist/chunks/dropdown.10ea8304.js.map +0 -1
- package/dist/chunks/loading-button.9d18b4f2.js.map +0 -1
- package/dist/chunks/tooltip.f89cb0cd.js.map +0 -1
package/dist/tabs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { defineComponent as p, ref as _, provide as u, computed as
|
|
2
|
-
import { E as
|
|
1
|
+
import { defineComponent as p, toRefs as x, ref as _, provide as u, computed as C, inject as f, onUnmounted as A, watch as w, nextTick as N } from "vue";
|
|
2
|
+
import { E as k, T as m, a as I } from "./chunks/tabs.keys.358742f2.js";
|
|
3
3
|
import { n as g } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
|
|
4
|
-
import { B
|
|
5
|
-
import { g as
|
|
6
|
-
import "./assets/
|
|
7
|
-
const
|
|
4
|
+
import { B } from "./chunks/index.74da0d41.js";
|
|
5
|
+
import { g as R } from "./chunks/unique-id.a2a2b458.js";
|
|
6
|
+
import "./assets/index43.css";
|
|
7
|
+
const S = p({
|
|
8
8
|
props: {
|
|
9
9
|
/**
|
|
10
10
|
* Title of the tab
|
|
@@ -22,28 +22,28 @@ const R = p({
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
setup(s) {
|
|
25
|
-
const e = _();
|
|
26
|
-
u(
|
|
27
|
-
|
|
25
|
+
const { disabled: e } = x(s), t = _();
|
|
26
|
+
u(k, (r) => {
|
|
27
|
+
t.value = r;
|
|
28
28
|
});
|
|
29
|
-
const
|
|
30
|
-
return
|
|
29
|
+
const a = C(() => t.value ?? s.title), c = f(m), i = f(I), { id: b, unregisterTab: T } = c({ disabled: e, title: a });
|
|
30
|
+
return A(() => T()), { activeTabId: i, id: b, computedTitle: a };
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
|
-
var
|
|
33
|
+
var K = function() {
|
|
34
34
|
var e = this, t = e._self._c;
|
|
35
35
|
return e._self._setupProxy, t("div", { directives: [{ name: "show", rawName: "v-show", value: e.activeTabId === e.id, expression: "activeTabId === id" }], attrs: { id: `${e.id}-tabpanel`, role: "tabpanel", "aria-labelledby": e.id } }, [e._t("default")], 2);
|
|
36
|
-
},
|
|
37
|
-
R,
|
|
36
|
+
}, D = [], L = /* @__PURE__ */ g(
|
|
38
37
|
S,
|
|
39
38
|
K,
|
|
39
|
+
D,
|
|
40
40
|
!1,
|
|
41
41
|
null,
|
|
42
42
|
null,
|
|
43
43
|
null,
|
|
44
44
|
null
|
|
45
45
|
);
|
|
46
|
-
const
|
|
46
|
+
const j = L.exports, y = (s, e) => {
|
|
47
47
|
const t = s === 0 ? e.length - 1 : s - 1;
|
|
48
48
|
return e[t].disabled ? y(t, e) : t;
|
|
49
49
|
}, h = (s, e) => {
|
|
@@ -51,9 +51,9 @@ const U = D.exports, y = (s, e) => {
|
|
|
51
51
|
return e[t].disabled ? h(t, e) : t;
|
|
52
52
|
};
|
|
53
53
|
var v = /* @__PURE__ */ ((s) => (s.ACTIVE_TAB_INDEX = "update:active-tab-index", s))(v || {});
|
|
54
|
-
const
|
|
54
|
+
const O = p({
|
|
55
55
|
components: {
|
|
56
|
-
BentoTypography:
|
|
56
|
+
BentoTypography: B
|
|
57
57
|
},
|
|
58
58
|
props: {
|
|
59
59
|
/**
|
|
@@ -63,71 +63,71 @@ const L = p({
|
|
|
63
63
|
},
|
|
64
64
|
emits: [v.ACTIVE_TAB_INDEX],
|
|
65
65
|
setup(s, { emit: e }) {
|
|
66
|
-
const t = _([]),
|
|
67
|
-
u(I,
|
|
66
|
+
const t = _([]), l = _(null), a = _("");
|
|
67
|
+
u(I, a);
|
|
68
68
|
const c = (r) => () => {
|
|
69
69
|
var o;
|
|
70
|
-
t.value = (o = t.value) == null ? void 0 : o.filter(({ id:
|
|
70
|
+
t.value = (o = t.value) == null ? void 0 : o.filter(({ id: n }) => n !== r);
|
|
71
71
|
};
|
|
72
72
|
u(m, ({ title: r, disabled: o }) => {
|
|
73
|
-
const
|
|
74
|
-
return t.value.push({ disabled: o, id:
|
|
73
|
+
const n = R("b-tab");
|
|
74
|
+
return t.value.push({ disabled: o, id: n, title: r }), { id: n, unregisterTab: c(n) };
|
|
75
75
|
});
|
|
76
76
|
const b = (r) => {
|
|
77
77
|
if (r.code === "ArrowLeft" || r.code === "ArrowRight") {
|
|
78
78
|
const o = t.value.find((d) => document.activeElement.id === d.id);
|
|
79
|
-
let
|
|
80
|
-
r.code === "ArrowLeft" ?
|
|
79
|
+
let n = t.value.indexOf(o);
|
|
80
|
+
r.code === "ArrowLeft" ? n = y(n, t.value) : r.code === "ArrowRight" && (n = h(n, t.value)), l.value.children[n].focus();
|
|
81
81
|
}
|
|
82
82
|
};
|
|
83
|
-
return
|
|
83
|
+
return w(
|
|
84
84
|
[() => s.activeTabIndex, t],
|
|
85
85
|
([r, o]) => {
|
|
86
|
-
|
|
86
|
+
N(() => {
|
|
87
87
|
var d;
|
|
88
|
-
const
|
|
89
|
-
|
|
88
|
+
const n = o[r];
|
|
89
|
+
a.value = n && !n.disabled ? n.id : (d = t.value.find(({ disabled: E }) => !E)) == null ? void 0 : d.id;
|
|
90
90
|
});
|
|
91
91
|
},
|
|
92
92
|
{ immediate: !0 }
|
|
93
93
|
), {
|
|
94
94
|
tabs: t,
|
|
95
|
-
tablist:
|
|
96
|
-
activeTabId:
|
|
95
|
+
tablist: l,
|
|
96
|
+
activeTabId: a,
|
|
97
97
|
onKeydownTabsNavigation: b,
|
|
98
98
|
handleTabChange: (r) => {
|
|
99
|
-
|
|
100
|
-
const o = t.value.findIndex(({ id:
|
|
99
|
+
a.value = r;
|
|
100
|
+
const o = t.value.findIndex(({ id: n }) => n === a.value);
|
|
101
101
|
e(v.ACTIVE_TAB_INDEX, o);
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
105
|
});
|
|
106
|
-
var
|
|
106
|
+
var X = function() {
|
|
107
107
|
var e = this, t = e._self._c;
|
|
108
|
-
return e._self._setupProxy, t("div", { staticClass: "b-tabs" }, [t("div", { ref: "tablist", staticClass: "b-tabs__tab-list", attrs: { role: "tablist" }, on: { keydown: e.onKeydownTabsNavigation } }, e._l(e.tabs, function({ disabled:
|
|
109
|
-
return t("button", { key:
|
|
110
|
-
"b-tabs__tab--active": e.activeTabId ===
|
|
111
|
-
"b-tabs__tab--disabled":
|
|
112
|
-
}, attrs: { id:
|
|
113
|
-
return e.handleTabChange(
|
|
114
|
-
}, keydown: function(
|
|
115
|
-
return !
|
|
116
|
-
} } }, [t("bento-typography", { staticClass: "b-tabs__tab-title", attrs: { el: "span", variant: "body", stronger: "" } }, [e._v(" " + e._s(c) + " ")]), t("span", { directives: [{ name: "show", rawName: "v-show", value: !
|
|
108
|
+
return e._self._setupProxy, t("div", { staticClass: "b-tabs" }, [t("div", { ref: "tablist", staticClass: "b-tabs__tab-list", attrs: { role: "tablist" }, on: { keydown: e.onKeydownTabsNavigation } }, e._l(e.tabs, function({ disabled: l, id: a, title: c }) {
|
|
109
|
+
return t("button", { key: a, staticClass: "b-tabs__tab", class: {
|
|
110
|
+
"b-tabs__tab--active": e.activeTabId === a,
|
|
111
|
+
"b-tabs__tab--disabled": l
|
|
112
|
+
}, attrs: { id: a, role: "tab", type: "button", "aria-controls": `${a}-tabpanel`, "aria-selected": e.activeTabId === a ? "true" : "false", tabindex: e.activeTabId === a && !l ? null : -1, disabled: l.value }, on: { click: function(i) {
|
|
113
|
+
return e.handleTabChange(a);
|
|
114
|
+
}, keydown: function(i) {
|
|
115
|
+
return !i.type.indexOf("key") && e._k(i.keyCode, "enter", 13, i.key, "Enter") && e._k(i.keyCode, "space", 32, i.key, [" ", "Spacebar"]) ? null : e.handleTabChange(a);
|
|
116
|
+
} } }, [t("bento-typography", { staticClass: "b-tabs__tab-title", attrs: { el: "span", variant: "body", stronger: "" } }, [e._v(" " + e._s(c) + " ")]), t("span", { directives: [{ name: "show", rawName: "v-show", value: !l, expression: "!disabled" }], staticClass: "b-tabs__tab-underline" })], 1);
|
|
117
117
|
}), 0), e._t("default")], 2);
|
|
118
|
-
},
|
|
119
|
-
L,
|
|
118
|
+
}, Y = [], P = /* @__PURE__ */ g(
|
|
120
119
|
O,
|
|
121
120
|
X,
|
|
121
|
+
Y,
|
|
122
122
|
!1,
|
|
123
123
|
null,
|
|
124
|
-
"
|
|
124
|
+
"f622e487",
|
|
125
125
|
null,
|
|
126
126
|
null
|
|
127
127
|
);
|
|
128
|
-
const
|
|
128
|
+
const q = P.exports;
|
|
129
129
|
export {
|
|
130
|
-
|
|
131
|
-
|
|
130
|
+
j as BentoTab,
|
|
131
|
+
q as BentoTabs
|
|
132
132
|
};
|
|
133
133
|
//# sourceMappingURL=tabs.js.map
|
package/dist/tabs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sources":["../src/components/tabs/components/tab.vue","../src/components/tabs/tabs.utils.ts","../src/components/tabs/tabs.types.ts","../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","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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../src/components/tabs/components/tab.vue","../src/components/tabs/tabs.utils.ts","../src/components/tabs/tabs.types.ts","../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","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"],"mappings":"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"}
|
package/dist/tag.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { defineComponent as c, computed as o } from "vue";
|
|
2
|
-
import { B as d } from "./chunks/index.
|
|
2
|
+
import { B as d } from "./chunks/index.74da0d41.js";
|
|
3
3
|
import { u as m } from "./chunks/aria-label.ac9651a5.js";
|
|
4
4
|
import { g as s } from "./chunks/get-slot-text.c1114034.js";
|
|
5
|
-
import { b as _ } from "./chunks/tooltip.
|
|
5
|
+
import { b as _ } from "./chunks/tooltip.ca9673ee.js";
|
|
6
6
|
import { n as v } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
|
|
7
|
-
import "./assets/
|
|
7
|
+
import "./assets/index24.css";
|
|
8
8
|
var r = /* @__PURE__ */ ((t) => (t.GREY = "grey", t.BLUE = "blue", t.GREEN = "green", t.ORANGE = "orange", t.RED = "red", t.WHITE = "white", t))(r || {});
|
|
9
9
|
const p = c({
|
|
10
10
|
name: "bento-tag",
|
package/dist/textarea.js
CHANGED
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { defineComponent 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 m = /* @__PURE__ */ ((
|
|
13
|
-
let
|
|
14
|
-
const
|
|
1
|
+
import { defineComponent as z, useAttrs as V, toRefs as A, ref as d, toRef as Y, computed as n, watch as y, nextTick as Z, onMounted as G } from "vue";
|
|
2
|
+
import { B as j } from "./chunks/index.74da0d41.js";
|
|
3
|
+
import { a as J } from "./chunks/button.38099670.js";
|
|
4
|
+
import { g as K } from "./chunks/unique-id.a2a2b458.js";
|
|
5
|
+
import { o as Q } from "./chunks/resize.a041304d.js";
|
|
6
|
+
import { u as X } from "./chunks/i18n.155748d6.js";
|
|
7
|
+
import { u as ee } from "./chunks/aria-label.ac9651a5.js";
|
|
8
|
+
import { u as te } from "./chunks/use-form-layout-loading.d03e5d48.js";
|
|
9
|
+
import { n as S } from "./chunks/_plugin-vue2_normalizer.71e2aa87.js";
|
|
10
|
+
import { E as ae } from "./chunks/error-message.a04e8f9a.js";
|
|
11
|
+
import "./assets/index25.css";
|
|
12
|
+
var m = /* @__PURE__ */ ((r) => (r.HORIZONTAL = "horizontal", r.VERTICAL = "vertical", r.BOTH = "both", r.NONE = "none", r))(m || {}), u = /* @__PURE__ */ ((r) => (r.CLEARABLE = "clearable", r.DISABLED = "disabled", r.ERROR = "error", r.READONLY = "readonly", r))(u || {}), i = /* @__PURE__ */ ((r) => (r.BLUR = "blur", r.CHANGE = "change", r.CLEAR = "clear", r.ESCAPE_PRESSED = "escape-pressed", r.FOCUS = "focus", r.INPUT = "input", r))(i || {});
|
|
13
|
+
let B = 0;
|
|
14
|
+
const re = {
|
|
15
15
|
beforeCreate() {
|
|
16
|
-
this.uuid =
|
|
16
|
+
this.uuid = B.toString(), B += 1;
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
var
|
|
19
|
+
var le = function() {
|
|
20
20
|
var e = this, a = e._self._c;
|
|
21
21
|
return a("svg", e._b({ attrs: { role: "img", xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", fill: "none" } }, "svg", e.$attrs, !1), [e.$attrs["svg-title"] ? a("title", [e._v(e._s(e.$attrs["svg-title"]))]) : e._e(), a("path", { attrs: { fill: "#00112C", "fill-rule": "evenodd", 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", "clip-rule": "evenodd" } })]);
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
ae,
|
|
22
|
+
}, se = [], oe = /* @__PURE__ */ S(
|
|
23
|
+
re,
|
|
25
24
|
le,
|
|
25
|
+
se,
|
|
26
26
|
!1,
|
|
27
27
|
null,
|
|
28
28
|
"3c9e4cfb",
|
|
29
29
|
null,
|
|
30
30
|
null
|
|
31
31
|
);
|
|
32
|
-
const
|
|
32
|
+
const ne = oe.exports, ie = {
|
|
33
33
|
"en-US": {
|
|
34
34
|
clearText: "Clear text",
|
|
35
35
|
optional: "optional",
|
|
@@ -37,10 +37,11 @@ const se = re.exports, ne = {
|
|
|
37
37
|
textarea: "textarea",
|
|
38
38
|
yourTextCanBenAtMost: "Your text can be at most {characterLimit} characters"
|
|
39
39
|
}
|
|
40
|
-
},
|
|
41
|
-
i18n: { messages:
|
|
42
|
-
name: "bento-textarea"
|
|
43
|
-
|
|
40
|
+
}, ce = {
|
|
41
|
+
i18n: { messages: ie },
|
|
42
|
+
name: "bento-textarea"
|
|
43
|
+
}, ue = /* @__PURE__ */ z({
|
|
44
|
+
...ce,
|
|
44
45
|
props: {
|
|
45
46
|
/**
|
|
46
47
|
* Text that labels an the input element
|
|
@@ -92,7 +93,7 @@ const se = re.exports, ne = {
|
|
|
92
93
|
resizable: {
|
|
93
94
|
type: String,
|
|
94
95
|
default: m.BOTH,
|
|
95
|
-
validator: (
|
|
96
|
+
validator: (r) => Object.values(m).includes(r)
|
|
96
97
|
},
|
|
97
98
|
/**
|
|
98
99
|
* Highlights the textarea is required.
|
|
@@ -103,132 +104,94 @@ const se = re.exports, ne = {
|
|
|
103
104
|
*/
|
|
104
105
|
value: { type: String, default: "" }
|
|
105
106
|
},
|
|
106
|
-
|
|
107
|
-
r.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
r.FOCUS,
|
|
112
|
-
r.INPUT
|
|
113
|
-
],
|
|
114
|
-
setup(t, { attrs: e, emit: a }) {
|
|
115
|
-
const { height: l } = x(t), R = j("textarea"), s = u(null), n = u(t.value), b = 44, d = u(t.height || `${b}px`), y = u("100%"), { t: C } = K(), { isReadOnly: _ } = X(z(t, "readonly")), S = o(() => `${n.value.length} / ${t.characterLimit}`), f = o(
|
|
116
|
-
() => t.characterLimit && n.value.length > t.characterLimit
|
|
117
|
-
), p = () => {
|
|
118
|
-
s.value && s.value.scrollHeight > b && (d.value = `${s.value.scrollHeight + 3}px`);
|
|
107
|
+
setup(r, { emit: e }) {
|
|
108
|
+
const a = r, t = V(), { height: l } = A(a), I = K("textarea"), s = d(null), o = d(a.value), p = 44, _ = d(a.height || `${p}px`), g = d("100%"), { t: h } = X(), { isReadOnly: b } = te(Y(a, "readonly")), k = n(() => `${o.value.length} / ${a.characterLimit}`), v = n(
|
|
109
|
+
() => a.characterLimit && o.value.length > a.characterLimit
|
|
110
|
+
), f = () => {
|
|
111
|
+
s.value && s.value.scrollHeight > p && (_.value = `${s.value.scrollHeight + 3}px`);
|
|
119
112
|
};
|
|
120
|
-
|
|
121
|
-
l.value ?
|
|
122
|
-
}),
|
|
123
|
-
() =>
|
|
113
|
+
y(l, () => {
|
|
114
|
+
l.value ? _.value = l.value : f();
|
|
115
|
+
}), y(
|
|
116
|
+
() => a.value,
|
|
124
117
|
() => {
|
|
125
|
-
|
|
118
|
+
o.value = a.value;
|
|
126
119
|
},
|
|
127
120
|
{ immediate: !0 }
|
|
128
|
-
),
|
|
129
|
-
() =>
|
|
121
|
+
), y(
|
|
122
|
+
() => o.value,
|
|
130
123
|
async () => {
|
|
131
124
|
if (!l.value) {
|
|
132
|
-
if (
|
|
125
|
+
if (_.value = `${p}px`, !o.value)
|
|
133
126
|
return;
|
|
134
|
-
await
|
|
127
|
+
await Z(), f();
|
|
135
128
|
}
|
|
136
129
|
},
|
|
137
130
|
{ immediate: !0 }
|
|
138
131
|
);
|
|
139
|
-
const
|
|
140
|
-
[`b-textarea--${
|
|
141
|
-
})),
|
|
142
|
-
[`b-textarea__input--${
|
|
143
|
-
[`b-textarea__input--${
|
|
144
|
-
[`b-textarea__input--${
|
|
132
|
+
const C = n(() => !!a.errorMessage || v.value), O = n(() => ({
|
|
133
|
+
[`b-textarea--${u.DISABLED}`]: a.disabled
|
|
134
|
+
})), T = n(() => ({
|
|
135
|
+
[`b-textarea__input--${u.CLEARABLE}`]: a.clearable,
|
|
136
|
+
[`b-textarea__input--${u.READONLY}`]: b.value,
|
|
137
|
+
[`b-textarea__input--${u.ERROR}`]: C.value,
|
|
145
138
|
["b-textarea__input--dynamic-height"]: !l.value
|
|
146
|
-
})),
|
|
147
|
-
["b-textarea__label-box--no-label"]: !
|
|
148
|
-
})),
|
|
149
|
-
[`b-textarea__label-item--${
|
|
150
|
-
})),
|
|
151
|
-
|
|
152
|
-
), P = u(e["aria-label"]), { ariaLabel: N, label: F } = x(t), H = Q({
|
|
153
|
-
ariaLabel: P.value,
|
|
139
|
+
})), F = n(() => ({
|
|
140
|
+
["b-textarea__label-box--no-label"]: !a.label
|
|
141
|
+
})), M = n(() => ({
|
|
142
|
+
[`b-textarea__label-item--${u.ERROR}`]: v.value
|
|
143
|
+
})), P = n(() => h("yourTextCanBenAtMost", { characterLimit: a.characterLimit })), x = d(t["aria-label"]), { ariaLabel: L, label: E } = A(a), $ = ee({
|
|
144
|
+
ariaLabel: x.value,
|
|
154
145
|
// TODO: take this line away when the aria-label props is removed
|
|
155
|
-
label:
|
|
156
|
-
defaultFallback:
|
|
157
|
-
}),
|
|
158
|
-
() =>
|
|
159
|
-
),
|
|
160
|
-
|
|
161
|
-
},
|
|
162
|
-
!
|
|
163
|
-
},
|
|
164
|
-
s.value.scrollTop = 0,
|
|
146
|
+
label: L,
|
|
147
|
+
defaultFallback: E
|
|
148
|
+
}), w = n(
|
|
149
|
+
() => a.clearable && o.value && !a.disabled && !b.value
|
|
150
|
+
), H = () => {
|
|
151
|
+
o.value = "", e(i.CLEAR), e(i.INPUT, "");
|
|
152
|
+
}, N = (c) => {
|
|
153
|
+
c.stopImmediatePropagation(), !a.disabled && !b.value && (o.value = c.target.value, e(i.INPUT, o.value));
|
|
154
|
+
}, U = () => {
|
|
155
|
+
s.value.scrollTop = 0, e(i.BLUR);
|
|
165
156
|
}, D = () => {
|
|
166
|
-
s.value.focus(),
|
|
167
|
-
}, T = () => {
|
|
168
|
-
a(r.CHANGE);
|
|
157
|
+
s.value.focus(), e(i.FOCUS);
|
|
169
158
|
}, q = () => {
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
J(s.value, () => {
|
|
174
|
-
var g;
|
|
175
|
-
const c = (g = s == null ? void 0 : s.value) == null ? void 0 : g.offsetWidth;
|
|
176
|
-
y.value = c ? `${c}px` : "100%";
|
|
177
|
-
}), l.value || p();
|
|
178
|
-
}), {
|
|
179
|
-
// Enums
|
|
180
|
-
BentoTextareaEvent: r,
|
|
181
|
-
// Methods
|
|
182
|
-
onBlur: M,
|
|
183
|
-
onChange: T,
|
|
184
|
-
onClear: $,
|
|
185
|
-
onFocus: D,
|
|
186
|
-
onInput: w,
|
|
187
|
-
onPressEscape: q,
|
|
188
|
-
t: C,
|
|
189
|
-
// Values
|
|
190
|
-
computedAriaLabel: H,
|
|
191
|
-
conditionalClasses: A,
|
|
192
|
-
conditionalClassesLabelItem: O,
|
|
193
|
-
conditionalClassesLabelBox: k,
|
|
194
|
-
counter: S,
|
|
195
|
-
counterErrorText: B,
|
|
196
|
-
conditionalClassesInput: I,
|
|
197
|
-
invalidInput: h,
|
|
198
|
-
isOverCharacterLimit: f,
|
|
199
|
-
isReadOnly: _,
|
|
200
|
-
showClearButton: U,
|
|
201
|
-
textareaElement: s,
|
|
202
|
-
textareaHeight: d,
|
|
203
|
-
textareaId: R,
|
|
204
|
-
textareaValue: n,
|
|
205
|
-
textareaWidth: y
|
|
159
|
+
e(i.CHANGE);
|
|
160
|
+
}, W = () => {
|
|
161
|
+
e(i.ESCAPE_PRESSED);
|
|
206
162
|
};
|
|
163
|
+
return G(() => {
|
|
164
|
+
Q(s.value, () => {
|
|
165
|
+
var R;
|
|
166
|
+
const c = (R = s == null ? void 0 : s.value) == null ? void 0 : R.offsetWidth;
|
|
167
|
+
g.value = c ? `${c}px` : "100%";
|
|
168
|
+
}), l.value || f();
|
|
169
|
+
}), { __sfc: !0, attrs: t, props: a, emit: e, height: l, textareaId: I, textareaElement: s, textareaValue: o, defaultTextareaHeight: p, textareaHeight: _, textareaWidth: g, t: h, isReadOnly: b, counter: k, isOverCharacterLimit: v, calculateHeight: f, invalidInput: C, conditionalClasses: O, conditionalClassesInput: T, conditionalClassesLabelBox: F, conditionalClassesLabelItem: M, counterErrorText: P, ariaLabelAttribute: x, ariaLabel: L, label: E, computedAriaLabel: $, showClearButton: w, onClear: H, onInput: N, onBlur: U, onFocus: D, onChange: q, onPressEscape: W, BentoTypography: j, BentoButton: J, ErrorMessage: ae, CrossCircleFillSmallIcon: ne };
|
|
207
170
|
}
|
|
208
171
|
});
|
|
209
|
-
var
|
|
210
|
-
var e = this, a = e._self._c;
|
|
211
|
-
return
|
|
212
|
-
return !l.type.indexOf("key") && e._k(l.keyCode, "esc", 27, l.key, ["Esc", "Escape"]) ? null :
|
|
213
|
-
} } }),
|
|
214
|
-
return !l.type.indexOf("key") && e._k(l.keyCode, "enter", 13, l.key, "Enter") ? null :
|
|
172
|
+
var de = function() {
|
|
173
|
+
var e = this, a = e._self._c, t = e._self._setupProxy;
|
|
174
|
+
return a("div", { staticClass: "b-textarea", class: t.conditionalClasses, style: { width: t.textareaWidth } }, [a("div", { staticClass: "b-textarea__label-box", class: t.conditionalClassesLabelBox }, [t.label ? a("label", { staticClass: "b-textarea__label", attrs: { for: t.textareaId } }, [a(t.BentoTypography, { attrs: { el: "span", stronger: "" } }, [e._v(e._s(t.label))]), e.optional && !e.required ? a(t.BentoTypography, { staticClass: "b-textarea__label-item", attrs: { el: "span" } }, [e._v(" (" + e._s(t.t("optional")) + ") ")]) : e._e(), e.required ? a(t.BentoTypography, { staticClass: "b-textarea__label-item", attrs: { el: "span" } }, [e._v(" (" + e._s(t.t("required")) + ") ")]) : e._e()], 1) : e._e(), e.characterLimit ? a(t.BentoTypography, { staticClass: "b-textarea__label-item", class: t.conditionalClassesLabelItem, attrs: { el: "span" } }, [e._v(" " + e._s(t.counter) + " ")]) : e._e()], 1), a(t.BentoTypography, { staticClass: "b-textarea__input-box", attrs: { el: "div", "aria-disabled": e.disabled } }, [a("textarea", { ref: "textareaElement", staticClass: "b-textarea__input", class: t.conditionalClassesInput, style: { resize: e.resizable, height: t.textareaHeight }, attrs: { id: t.textareaId, "aria-label": t.computedAriaLabel, "aria-invalid": t.invalidInput, readonly: t.isReadOnly, disabled: e.disabled, placeholder: e.placeholder }, domProps: { value: t.textareaValue }, on: { blur: t.onBlur, change: t.onChange, focus: t.onFocus, input: t.onInput, keydown: function(l) {
|
|
175
|
+
return !l.type.indexOf("key") && e._k(l.keyCode, "esc", 27, l.key, ["Esc", "Escape"]) ? null : t.onPressEscape.apply(null, arguments);
|
|
176
|
+
} } }), t.showClearButton ? a("div", { staticClass: "b-textarea__clear-button" }, [a(t.BentoButton, { attrs: { variant: "tertiary", disabled: e.disabled }, on: { click: t.onClear, keypress: function(l) {
|
|
177
|
+
return !l.type.indexOf("key") && e._k(l.keyCode, "enter", 13, l.key, "Enter") ? null : t.onClear.apply(null, arguments);
|
|
215
178
|
}, keyup: function(l) {
|
|
216
|
-
return !l.type.indexOf("key") && e._k(l.keyCode, "space", 32, l.key, [" ", "Spacebar"]) ? null :
|
|
179
|
+
return !l.type.indexOf("key") && e._k(l.keyCode, "space", 32, l.key, [" ", "Spacebar"]) ? null : t.onClear.apply(null, arguments);
|
|
217
180
|
} }, scopedSlots: e._u([{ key: "iconLeft", fn: function() {
|
|
218
|
-
return [a(
|
|
219
|
-
}, proxy: !0 }], null, !1,
|
|
220
|
-
},
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
181
|
+
return [a(t.CrossCircleFillSmallIcon, { attrs: { "svg-title": t.t("clearText") } })];
|
|
182
|
+
}, proxy: !0 }], null, !1, 3119266621) })], 1) : e._e()]), t.isOverCharacterLimit ? a(t.ErrorMessage, { attrs: { "error-message": t.counterErrorText } }) : e._e(), e.errorMessage ? a(t.ErrorMessage, { attrs: { "error-message": e.errorMessage } }) : e._e(), e.description ? a(t.BentoTypography, { staticClass: "b-textarea__description", attrs: { el: "span" } }, [e._v(" " + e._s(e.description) + " ")]) : e._e()], 1);
|
|
183
|
+
}, pe = [], _e = /* @__PURE__ */ S(
|
|
184
|
+
ue,
|
|
185
|
+
de,
|
|
186
|
+
pe,
|
|
224
187
|
!1,
|
|
225
188
|
null,
|
|
226
|
-
"
|
|
189
|
+
"2d3b7b89",
|
|
227
190
|
null,
|
|
228
191
|
null
|
|
229
192
|
);
|
|
230
|
-
const
|
|
193
|
+
const Ee = _e.exports;
|
|
231
194
|
export {
|
|
232
|
-
|
|
195
|
+
Ee as BentoTextarea
|
|
233
196
|
};
|
|
234
197
|
//# sourceMappingURL=textarea.js.map
|