bitboss-ui 0.2.6 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (144) hide show
  1. package/dist/components/BbTable/BbTable.vue.d.ts +112 -245
  2. package/dist/components/BbTable/types.d.ts +6 -6
  3. package/dist/index101.js +3 -3
  4. package/dist/index101.js.map +1 -1
  5. package/dist/index103.js +2 -2
  6. package/dist/index109.js +1 -1
  7. package/dist/index11.js +2 -2
  8. package/dist/index111.js +5 -5
  9. package/dist/index113.js +1 -1
  10. package/dist/index116.js +1 -1
  11. package/dist/index117.js +1 -1
  12. package/dist/index118.js +1 -1
  13. package/dist/index119.js +1 -1
  14. package/dist/index121.js +1 -1
  15. package/dist/index125.js +1 -1
  16. package/dist/index126.js +1 -1
  17. package/dist/index128.js +2 -2
  18. package/dist/index15.js +7 -7
  19. package/dist/index17.js +8 -8
  20. package/dist/index19.js +59 -59
  21. package/dist/index19.js.map +1 -1
  22. package/dist/index195.js +2 -2
  23. package/dist/index195.js.map +1 -1
  24. package/dist/index196.js +2 -4
  25. package/dist/index196.js.map +1 -1
  26. package/dist/index197.js +4 -235
  27. package/dist/index197.js.map +1 -1
  28. package/dist/index198.js +3 -10
  29. package/dist/index198.js.map +1 -1
  30. package/dist/index199.js +35 -5
  31. package/dist/index199.js.map +1 -1
  32. package/dist/index200.js +6 -16
  33. package/dist/index200.js.map +1 -1
  34. package/dist/index201.js +349 -14
  35. package/dist/index201.js.map +1 -1
  36. package/dist/index202.js +132 -17
  37. package/dist/index202.js.map +1 -1
  38. package/dist/index203.js +5 -20
  39. package/dist/index203.js.map +1 -1
  40. package/dist/index204.js +18 -28
  41. package/dist/index204.js.map +1 -1
  42. package/dist/index205.js +2 -8
  43. package/dist/index205.js.map +1 -1
  44. package/dist/index207.js +186 -2
  45. package/dist/index207.js.map +1 -1
  46. package/dist/index208.js +23 -351
  47. package/dist/index208.js.map +1 -1
  48. package/dist/index209.js +361 -126
  49. package/dist/index209.js.map +1 -1
  50. package/dist/index21.js +2 -2
  51. package/dist/index210.js +3 -2
  52. package/dist/index210.js.map +1 -1
  53. package/dist/index211.js +3 -186
  54. package/dist/index211.js.map +1 -1
  55. package/dist/index212.js +235 -23
  56. package/dist/index212.js.map +1 -1
  57. package/dist/index213.js +2 -369
  58. package/dist/index213.js.map +1 -1
  59. package/dist/index214.js +10 -3
  60. package/dist/index214.js.map +1 -1
  61. package/dist/index215.js +2 -35
  62. package/dist/index215.js.map +1 -1
  63. package/dist/index216.js +16 -6
  64. package/dist/index216.js.map +1 -1
  65. package/dist/index217.js +16 -3
  66. package/dist/index217.js.map +1 -1
  67. package/dist/index218.js +20 -3
  68. package/dist/index218.js.map +1 -1
  69. package/dist/index219.js +29 -2
  70. package/dist/index219.js.map +1 -1
  71. package/dist/index220.js +8 -2
  72. package/dist/index220.js.map +1 -1
  73. package/dist/index221.js +8 -27
  74. package/dist/index221.js.map +1 -1
  75. package/dist/index222.js +115 -12
  76. package/dist/index222.js.map +1 -1
  77. package/dist/index223.js +27 -8
  78. package/dist/index223.js.map +1 -1
  79. package/dist/index224.js +12 -115
  80. package/dist/index224.js.map +1 -1
  81. package/dist/index225.js +1 -1
  82. package/dist/index227.js +435 -2
  83. package/dist/index227.js.map +1 -1
  84. package/dist/index228.js +88 -161
  85. package/dist/index228.js.map +1 -1
  86. package/dist/index229.js +6 -2
  87. package/dist/index229.js.map +1 -1
  88. package/dist/index23.js +1 -1
  89. package/dist/index230.js +2 -69
  90. package/dist/index230.js.map +1 -1
  91. package/dist/index231.js +295 -2
  92. package/dist/index231.js.map +1 -1
  93. package/dist/index232.js +2 -2
  94. package/dist/index233.js +2 -295
  95. package/dist/index233.js.map +1 -1
  96. package/dist/index234.js +116 -5
  97. package/dist/index234.js.map +1 -1
  98. package/dist/index235.js +106 -2
  99. package/dist/index235.js.map +1 -1
  100. package/dist/index236.js +200 -2
  101. package/dist/index236.js.map +1 -1
  102. package/dist/index237.js +2 -2
  103. package/dist/index237.js.map +1 -1
  104. package/dist/index238.js +2 -2
  105. package/dist/index238.js.map +1 -1
  106. package/dist/index239.js +69 -2
  107. package/dist/index239.js.map +1 -1
  108. package/dist/index240.js +162 -2
  109. package/dist/index240.js.map +1 -1
  110. package/dist/index241.js +2 -2
  111. package/dist/index242.js +218 -111
  112. package/dist/index242.js.map +1 -1
  113. package/dist/index243.js +246 -94
  114. package/dist/index243.js.map +1 -1
  115. package/dist/index244.js +2 -435
  116. package/dist/index244.js.map +1 -1
  117. package/dist/index245.js +2 -89
  118. package/dist/index245.js.map +1 -1
  119. package/dist/index246.js +2 -224
  120. package/dist/index246.js.map +1 -1
  121. package/dist/index247.js +2 -258
  122. package/dist/index247.js.map +1 -1
  123. package/dist/index248.js +2 -200
  124. package/dist/index248.js.map +1 -1
  125. package/dist/index25.js +2 -2
  126. package/dist/index252.js +2 -3
  127. package/dist/index252.js.map +1 -1
  128. package/dist/index253.js +3 -2
  129. package/dist/index253.js.map +1 -1
  130. package/dist/index29.js +3 -3
  131. package/dist/index31.js +5 -5
  132. package/dist/index33.js +2 -2
  133. package/dist/index35.js +2 -2
  134. package/dist/index47.js +1 -1
  135. package/dist/index49.js +1 -1
  136. package/dist/index65.js +5 -5
  137. package/dist/index69.js +2 -2
  138. package/dist/index72.js +1 -1
  139. package/dist/index75.js +34 -34
  140. package/dist/index75.js.map +1 -1
  141. package/dist/index79.js +4 -4
  142. package/dist/index81.js +1 -1
  143. package/dist/style.css +1 -1
  144. package/package.json +1 -1
package/dist/index19.js CHANGED
@@ -1,24 +1,24 @@
1
- import { defineComponent as Q, ref as o, useAttrs as X, computed as h, onMounted as T, onBeforeUnmount as A, watch as Y, nextTick as E, openBlock as _, createBlock as Z, Teleport as ee, createElementVNode as l, mergeProps as W, createElementBlock as B, renderSlot as i, createTextVNode as te, toDisplayString as V, createCommentVNode as D } from "vue";
2
- import { throttle as oe } from "./index214.js";
3
- import { useFocusTrap as le } from "./index215.js";
1
+ import { defineComponent as Q, ref as l, useAttrs as X, computed as _, onMounted as T, onBeforeUnmount as A, watch as Y, nextTick as E, openBlock as w, createBlock as Z, Teleport as ee, createElementVNode as o, mergeProps as W, createElementBlock as B, renderSlot as r, createTextVNode as te, toDisplayString as V, createCommentVNode as D } from "vue";
2
+ import { throttle as le } from "./index198.js";
3
+ import { useFocusTrap as oe } from "./index199.js";
4
4
  import { useId as R } from "./index7.js";
5
5
  import { wait as L } from "./index122.js";
6
- import { waitFor as ae } from "./index216.js";
7
- const se = { class: "bb-base-dialog-close" }, ne = { class: "bb-base-dialog-close__content" }, ie = { class: "bb-base-dialog-close__label" }, re = /* @__PURE__ */ l("span", { class: "bb-base-dialog-close__icon" }, [
8
- /* @__PURE__ */ l("svg", {
6
+ import { waitFor as ae } from "./index200.js";
7
+ const se = { class: "bb-base-dialog-close" }, ne = { class: "bb-base-dialog-close__content" }, ie = { class: "bb-base-dialog-close__label" }, re = /* @__PURE__ */ o("span", { class: "bb-base-dialog-close__icon" }, [
8
+ /* @__PURE__ */ o("svg", {
9
9
  viewBox: "0 0 24 24",
10
10
  fill: "none",
11
11
  xmlns: "http://www.w3.org/2000/svg",
12
12
  "aria-hidden": "true"
13
13
  }, [
14
- /* @__PURE__ */ l("path", {
14
+ /* @__PURE__ */ o("path", {
15
15
  d: "M23 23L1 1M23 1L1 23",
16
16
  stroke: "currentColor",
17
17
  "stroke-width": "2",
18
18
  "stroke-linecap": "round"
19
19
  })
20
20
  ])
21
- ], -1), de = /* @__PURE__ */ l("div", { style: { flex: "10000 10000 0%" } }, null, -1), me = /* @__PURE__ */ Q({
21
+ ], -1), de = /* @__PURE__ */ o("div", { style: { flex: "10000 10000 0%" } }, null, -1), me = /* @__PURE__ */ Q({
22
22
  __name: "BaseDialog",
23
23
  props: {
24
24
  closeLabel: { default: "Chiudi modale" },
@@ -39,21 +39,21 @@ const se = { class: "bb-base-dialog-close" }, ne = { class: "bb-base-dialog-clos
39
39
  },
40
40
  emits: ["shown", "hidden", "update:modelValue"],
41
41
  setup(I, { emit: F }) {
42
- const t = I, r = F, w = `title_${R().id.value}`, k = `description_${R().id.value}`, p = o(null), f = o(null), $ = o(null), m = o(null), d = o(null), a = o(null), u = o(null), G = o(null), { activate: K, deactivate: z } = le($, {
42
+ const t = I, d = F, k = `title_${R().id.value}`, C = `description_${R().id.value}`, p = l(null), f = l(null), $ = l(null), m = l(null), u = l(null), a = l(null), c = l(null), G = l(null), { activate: K, deactivate: z } = oe($, {
43
43
  clickOutsideDeactivates: !0,
44
44
  /* On esc deactivate the trap, return focus and then close the modal */
45
45
  escapeDeactivates: () => (E(() => {
46
- r("update:modelValue", !1);
46
+ d("update:modelValue", !1);
47
47
  }), !0)
48
- }), P = X(), H = h(() => t.closeLabel);
48
+ }), P = X(), H = _(() => t.closeLabel);
49
49
  T(async () => {
50
50
  a.value && (p.value = new MutationObserver(v), p.value.observe(a.value, { childList: !0, subtree: !0 })), window.addEventListener("resize", v);
51
51
  }), A(() => {
52
52
  window.removeEventListener("resize", v);
53
53
  });
54
- const C = o(!1), c = o(!1), M = o(!0), b = o(!1), y = o(t.eager || t.modelValue), O = h(() => c.value || b.value);
54
+ const y = l(!1), i = l(!1), M = l(!0), b = l(!1), g = l(t.eager || t.modelValue), O = _(() => i.value || b.value);
55
55
  T(() => {
56
- t.modelValue && S();
56
+ t.modelValue && !(y.value || i.value) && S();
57
57
  }), A(() => {
58
58
  if (t.modelValue) {
59
59
  let e = Number(
@@ -69,33 +69,33 @@ const se = { class: "bb-base-dialog-close" }, ne = { class: "bb-base-dialog-clos
69
69
  );
70
70
  const S = async () => {
71
71
  if (t.modelValue) {
72
- y.value || (y.value = !0, await ae(() => !!a.value), await E(), a.value && (p.value = new MutationObserver(v), p.value.observe(a.value, { childList: !0, subtree: !0 }))), M.value = !1, b.value = !1, c.value = !0;
72
+ g.value || (g.value = !0, await ae(() => !!a.value), await E(), a.value && (p.value = new MutationObserver(v), p.value.observe(a.value, { childList: !0, subtree: !0 }))), M.value = !1, b.value = !1, i.value = !0;
73
73
  let e = Number(
74
74
  document.body.dataset.openModals ?? "0"
75
75
  );
76
76
  e++, document.body.dataset.openModals = e.toString();
77
77
  const s = window.innerWidth - document.documentElement.clientWidth;
78
- document.body.style.overflow = "hidden", document.body.style.paddingRight = `${s}px`, await L(t.transitionDuration), c.value = !1, C.value = !0, r("shown"), K();
78
+ document.body.style.overflow = "hidden", document.body.style.paddingRight = `${s}px`, await L(t.transitionDuration), i.value = !1, y.value = !0, d("shown"), K();
79
79
  } else {
80
- z(), c.value = !1, C.value = !1, b.value = !0, await L(t.transitionDuration);
80
+ z(), i.value = !1, y.value = !1, b.value = !0, await L(t.transitionDuration);
81
81
  let e = Number(
82
82
  document.body.dataset.openModals ?? "0"
83
83
  );
84
- e--, document.body.dataset.openModals = e.toString(), e || (document.body.style.overflow = "auto", document.body.style.paddingRight = "0px"), b.value = !1, M.value = !0, r("hidden");
84
+ e--, document.body.dataset.openModals = e.toString(), e || (document.body.style.overflow = "auto", document.body.style.paddingRight = "0px"), b.value = !1, M.value = !0, d("hidden");
85
85
  }
86
- }, g = (e) => {
86
+ }, h = (e) => {
87
87
  e.target === f.value && e.preventDefault();
88
88
  }, U = (e) => {
89
- t.disabled || O.value || f.value && e.target === f.value && (t.persistent || r("update:modelValue", !1));
89
+ t.disabled || O.value || f.value && e.target === f.value && (t.persistent || d("update:modelValue", !1));
90
90
  }, x = () => {
91
- t.disabled || O.value || (z(), r("update:modelValue", !1));
92
- }, j = h(() => {
91
+ t.disabled || O.value || (z(), d("update:modelValue", !1));
92
+ }, j = _(() => {
93
93
  const e = [
94
94
  {
95
95
  "bb-base-dialog bb-base-dialog__overlay": !0,
96
96
  "bb-base-dialog--fullscreen": t.fullscreen,
97
- "bb-base-dialog--open": C.value,
98
- "bb-base-dialog--opening": c.value,
97
+ "bb-base-dialog--open": y.value,
98
+ "bb-base-dialog--opening": i.value,
99
99
  "bb-base-dialog--closed": M.value,
100
100
  "bb-base-dialog--closing": b.value,
101
101
  [`bb-base-dialog--transition-${t.transition}`]: !0
@@ -103,10 +103,10 @@ const se = { class: "bb-base-dialog-close" }, ne = { class: "bb-base-dialog-clos
103
103
  t.overlayClasses
104
104
  ].flat(), s = {
105
105
  onClick: U,
106
- onScroll: g,
107
- onTouchmove: g,
108
- onWheel: g,
109
- onKeydown: g
106
+ onScroll: h,
107
+ onTouchmove: h,
108
+ onWheel: h,
109
+ onKeydown: h
110
110
  }, n = {
111
111
  transitionDuration: t.transitionDuration / 1e3 + "s"
112
112
  };
@@ -116,7 +116,7 @@ const se = { class: "bb-base-dialog-close" }, ne = { class: "bb-base-dialog-clos
116
116
  ...s,
117
117
  ...P
118
118
  };
119
- }), q = h(() => {
119
+ }), q = _(() => {
120
120
  const e = [
121
121
  {
122
122
  "bb-base-dialog__panel": !0,
@@ -127,7 +127,7 @@ const se = { class: "bb-base-dialog-close" }, ne = { class: "bb-base-dialog-clos
127
127
  role: "dialog",
128
128
  "aria-modal": !0
129
129
  };
130
- y.value && (s["aria-labelledby"] = w, t.description && (s["aria-describedby"] = k));
130
+ g.value && (s["aria-labelledby"] = k, t.description && (s["aria-describedby"] = C));
131
131
  let n;
132
132
  const N = {
133
133
  sm: 384,
@@ -144,63 +144,63 @@ const se = { class: "bb-base-dialog-close" }, ne = { class: "bb-base-dialog-clos
144
144
  style: J,
145
145
  ...s
146
146
  };
147
- }), v = oe(() => {
147
+ }), v = le(() => {
148
148
  if (t.fullscreen) {
149
149
  G.value = window.innerHeight;
150
150
  return;
151
151
  }
152
- if (d.value && a.value && u.value) {
153
- const e = d.value.scrollHeight + a.value.scrollHeight + u.value.scrollHeight + 2;
152
+ if (u.value && a.value && c.value) {
153
+ const e = u.value.scrollHeight + a.value.scrollHeight + c.value.scrollHeight + 2;
154
154
  m.value && (m.value.style.height = "0px", m.value.style.height = `${e}px`, L(30).then(() => {
155
- if (d.value && a.value && u.value) {
156
- const s = d.value.scrollHeight + a.value.scrollHeight + u.value.scrollHeight + 2;
155
+ if (u.value && a.value && c.value) {
156
+ const s = u.value.scrollHeight + a.value.scrollHeight + c.value.scrollHeight + 2;
157
157
  e !== s && v();
158
158
  }
159
159
  }));
160
160
  }
161
161
  }, 200);
162
- return (e, s) => (_(), Z(ee, { to: "body" }, [
163
- l("div", W(j.value, {
162
+ return (e, s) => (w(), Z(ee, { to: "body" }, [
163
+ o("div", W(j.value, {
164
164
  ref_key: "overlay",
165
165
  ref: f
166
166
  }), [
167
- l("div", W(q.value, {
167
+ o("div", W(q.value, {
168
168
  ref_key: "panel",
169
169
  ref: $
170
170
  }), [
171
- y.value ? (_(), B("div", {
171
+ g.value ? (w(), B("div", {
172
172
  key: 0,
173
173
  class: "bb-base-dialog__content",
174
174
  ref_key: "content",
175
175
  ref: m
176
176
  }, [
177
- l("div", {
177
+ o("div", {
178
178
  class: "bb-base-dialog__header",
179
179
  ref_key: "header",
180
- ref: d
180
+ ref: u
181
181
  }, [
182
- i(e.$slots, "header", {
183
- titleId: w,
182
+ r(e.$slots, "header", {
183
+ titleId: k,
184
184
  close: x,
185
185
  title: e.title
186
186
  }, () => [
187
- l("span", {
187
+ o("span", {
188
188
  class: "bb-base-dialog__title",
189
- id: w
189
+ id: k
190
190
  }, [
191
- i(e.$slots, "title", { text: e.title }, () => [
191
+ r(e.$slots, "title", { text: e.title }, () => [
192
192
  te(V(e.title), 1)
193
193
  ])
194
194
  ]),
195
- l("span", se, [
196
- e.showClose ? (_(), B("button", {
195
+ o("span", se, [
196
+ e.showClose ? (w(), B("button", {
197
197
  key: 0,
198
198
  onClick: x,
199
199
  type: "button"
200
200
  }, [
201
- i(e.$slots, "close", { text: H.value }, () => [
202
- l("span", ne, [
203
- l("span", ie, V(H.value), 1),
201
+ r(e.$slots, "close", { text: H.value }, () => [
202
+ o("span", ne, [
203
+ o("span", ie, V(H.value), 1),
204
204
  re
205
205
  ])
206
206
  ])
@@ -208,30 +208,30 @@ const se = { class: "bb-base-dialog-close" }, ne = { class: "bb-base-dialog-clos
208
208
  ])
209
209
  ])
210
210
  ], 512),
211
- l("div", {
211
+ o("div", {
212
212
  class: "bb-base-dialog__body",
213
213
  ref_key: "body",
214
214
  ref: a
215
215
  }, [
216
- i(e.$slots, "description", {
217
- descriptionId: k,
216
+ r(e.$slots, "description", {
217
+ descriptionId: C,
218
218
  text: e.description
219
219
  }, () => [
220
- e.description ? (_(), B("div", {
220
+ e.description ? (w(), B("div", {
221
221
  key: 0,
222
- id: k,
222
+ id: C,
223
223
  class: "bb-base-dialog__description"
224
224
  }, V(e.description), 1)) : D("", !0)
225
225
  ]),
226
- i(e.$slots, "default")
226
+ r(e.$slots, "default")
227
227
  ], 512),
228
228
  de,
229
- l("div", {
229
+ o("div", {
230
230
  class: "bb-base-dialog__footer",
231
231
  ref_key: "footer",
232
- ref: u
232
+ ref: c
233
233
  }, [
234
- i(e.$slots, "footer")
234
+ r(e.$slots, "footer")
235
235
  ], 512)
236
236
  ], 512)) : D("", !0)
237
237
  ], 16)
@@ -1 +1 @@
1
- {"version":3,"file":"index19.js","sources":["../src/components/BaseDialog/BaseDialog.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, mergeProps as _mergeProps, Teleport as _Teleport, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bb-base-dialog-close\" }\nconst _hoisted_2 = { class: \"bb-base-dialog-close__content\" }\nconst _hoisted_3 = { class: \"bb-base-dialog-close__label\" }\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"bb-base-dialog-close__icon\" }, [\n /*#__PURE__*/_createElementVNode(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-hidden\": \"true\"\n }, [\n /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M23 23L1 1M23 1L1 23\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\"\n })\n ])\n], -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"div\", { style: {\"flex\":\"10000 10000 0%\"} }, null, -1)\n\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs,\n watch,\n nextTick,\n} from \"vue\";\nimport { throttle } from \"@/utilities/functions/throttle\";\nimport { useFocusTrap } from \"@vueuse/integrations/useFocusTrap\";\nimport { useId } from \"@/composables/useId\";\nimport { wait } from \"@/utilities/functions/wait\";\nimport { waitFor } from \"@/utilities/functions/waitFor\";\nimport type { CommonProps, Size } from \"@/types/CommonProps\";\n\nexport type Sizes = {\n sm: number;\n md: number;\n lg: number;\n};\n\nexport type BaseDialogProps = Pick<\n CommonProps,\n | \"closeLabel\"\n | \"compact\"\n | \"disabled\"\n | \"eager\"\n | \"panelClasses\"\n | \"overlayClasses\"\n | \"persistent\"\n | \"showClose\"\n | \"title\"\n | \"transition\"\n | \"transitionDuration\"\n> &\n Size<Sizes> & {\n /**\n * Description of the content of the modal. Extremely useful for accessibility reasons.\n */\n description?: string;\n /**\n * Displays the modala as fulscreen with no margin to the page\n */\n fullscreen?: boolean;\n /**\n * Defines the state open / closed of the modal.\n */\n modelValue?: boolean | null;\n };\n\nexport type BaseDialogSlots = {\n header?: (props: {\n titleId: typeof titleId;\n close: typeof onCloseClick;\n title: BaseDialogProps[\"title\"];\n }) => any;\n title?: (props: { text: BaseDialogProps[\"title\"] }) => any;\n close?: (props: { text: BaseDialogProps[\"closeLabel\"] }) => any;\n description?: (props: {\n descriptionId: typeof descriptionId;\n text: BaseDialogProps[\"description\"];\n }) => any;\n default?: (props: {}) => any;\n footer?: (props: {}) => any;\n};\n\nexport type BaseDialogEvents = {\n (e: \"shown\"): void;\n (e: \"hidden\"): void;\n (e: \"update:modelValue\", value: boolean): void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BaseDialog',\n props: {\n closeLabel: { default: \"Chiudi modale\" },\n compact: { type: Boolean },\n disabled: { type: Boolean },\n eager: { type: Boolean },\n panelClasses: { default: () => [] },\n overlayClasses: { default: () => [] },\n persistent: { type: Boolean },\n showClose: { type: Boolean, default: true },\n title: {},\n transition: { default: \"fade\" },\n transitionDuration: { default: 350 },\n size: { default: \"sm\" },\n description: {},\n fullscreen: { type: Boolean },\n modelValue: { type: [Boolean, null] }\n },\n emits: [\"shown\", \"hidden\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n\n\n\nconst emit = __emit;\n\nconst titleId = `title_${useId().id.value}`;\nconst descriptionId = `description_${useId().id.value}`;\n\nconst observer = ref<MutationObserver | null>(null);\nconst overlay = ref<HTMLElement | null>(null);\nconst panel = ref<HTMLElement | null>(null);\nconst content = ref<HTMLElement | null>(null);\nconst header = ref<HTMLElement | null>(null);\nconst body = ref<HTMLElement | null>(null);\nconst footer = ref<HTMLElement | null>(null);\nconst height = ref<number | null>(null);\n\nconst { activate, deactivate } = useFocusTrap(panel, {\n clickOutsideDeactivates: true,\n /* On esc deactivate the trap, return focus and then close the modal */\n escapeDeactivates: () => {\n nextTick(() => {\n emit(\"update:modelValue\", false);\n });\n return true;\n },\n});\n\nconst attrs = useAttrs();\n\nconst closeLabel = computed(() => props.closeLabel);\n\nonMounted(async () => {\n if (body.value) {\n observer.value = new MutationObserver(onContentGrow);\n observer.value.observe(body.value, { childList: true, subtree: true });\n }\n window.addEventListener(\"resize\", onContentGrow);\n});\nonBeforeUnmount(() => {\n window.removeEventListener(\"resize\", onContentGrow);\n});\n\nconst open = ref(false);\nconst opening = ref(false);\nconst closed = ref(true);\nconst closing = ref(false);\nconst hasRenderedAtLeastOnce = ref(props.eager || props.modelValue);\n\nconst busy = computed(() => opening.value || closing.value);\n\nonMounted(() => {\n if (props.modelValue) {\n alignToModelValue();\n }\n});\nonBeforeUnmount(() => {\n if (props.modelValue) {\n let currentlyOpenModals = Number(\n document.body.dataset[\"openModals\"] ?? \"0\"\n );\n // This prevents overscroll chaining (additional scrolling to the body when the modal has been completely scrolled)\n currentlyOpenModals--;\n document.body.dataset[\"openModals\"] = currentlyOpenModals.toString();\n if (!currentlyOpenModals) {\n document.body.style.overflow = \"auto\";\n document.body.style.paddingRight = \"0px\";\n }\n }\n});\n\n/**\n * Every time modelValue changes align the display to it\n */\nwatch(\n () => props.modelValue,\n () => {\n alignToModelValue();\n }\n);\n\n/**\n * When modelValue becomes true if the component wasn't rendered render it\n * and wait for it to be on the page (or transitions would not work).\n * Stash the latest focused element so we can return it later when it closes.\n * Focus on the panel upon opening.\n * ---\n * Notice all interactions update modelValue and then this function aligns the display to it\n */\nconst alignToModelValue = async () => {\n if (props.modelValue) {\n if (!hasRenderedAtLeastOnce.value) {\n hasRenderedAtLeastOnce.value = true;\n await waitFor(() => !!body.value);\n await nextTick();\n if (body.value) {\n observer.value = new MutationObserver(onContentGrow);\n observer.value.observe(body.value, { childList: true, subtree: true });\n }\n }\n\n closed.value = false;\n closing.value = false;\n opening.value = true;\n\n // This prevents overscroll chaining (additional scrolling to the body when the modal has been completely scrolled)\n\n let currentlyOpenModals = Number(\n document.body.dataset[\"openModals\"] ?? \"0\"\n );\n currentlyOpenModals++;\n document.body.dataset[\"openModals\"] = currentlyOpenModals.toString();\n const scrollBarWidth =\n window.innerWidth - document.documentElement.clientWidth;\n document.body.style.overflow = \"hidden\";\n document.body.style.paddingRight = `${scrollBarWidth}px`;\n\n await wait(props.transitionDuration);\n opening.value = false;\n open.value = true;\n emit(\"shown\");\n activate();\n } else {\n deactivate();\n opening.value = false;\n open.value = false;\n closing.value = true;\n\n await wait(props.transitionDuration);\n\n let currentlyOpenModals = Number(\n document.body.dataset[\"openModals\"] ?? \"0\"\n );\n // This prevents overscroll chaining (additional scrolling to the body when the modal has been completely scrolled)\n currentlyOpenModals--;\n document.body.dataset[\"openModals\"] = currentlyOpenModals.toString();\n if (!currentlyOpenModals) {\n document.body.style.overflow = \"auto\";\n document.body.style.paddingRight = \"0px\";\n }\n closing.value = false;\n closed.value = true;\n emit(\"hidden\");\n }\n};\n\n/**\n * Disable scrolling\n */\nconst onOverlayScroll = (event: UIEvent) => {\n if (event.target === overlay.value) {\n event.preventDefault();\n }\n};\n\n/**\n * Close the modal on overlay click if not persistent\n */\nconst onOverlayClick = (event: MouseEvent) => {\n if (props.disabled || busy.value) return;\n if (overlay.value) {\n if (event.target === overlay.value) {\n if (!props.persistent) {\n emit(\"update:modelValue\", false);\n }\n }\n }\n};\n\n/**\n * On click on the X button\n */\nconst onCloseClick = () => {\n if (props.disabled || busy.value) return;\n deactivate();\n emit(\"update:modelValue\", false);\n};\n\nconst overlayAttributes = computed(() => {\n const classes = [\n {\n \"bb-base-dialog bb-base-dialog__overlay\": true,\n \"bb-base-dialog--fullscreen\": props.fullscreen,\n \"bb-base-dialog--open\": open.value,\n \"bb-base-dialog--opening\": opening.value,\n \"bb-base-dialog--closed\": closed.value,\n \"bb-base-dialog--closing\": closing.value,\n [`bb-base-dialog--transition-${props.transition}`]: true,\n },\n props.overlayClasses,\n ].flat();\n const eventListeners = {\n onClick: onOverlayClick,\n onScroll: onOverlayScroll,\n onTouchmove: onOverlayScroll,\n onWheel: onOverlayScroll,\n onKeydown: onOverlayScroll,\n };\n\n const style = {\n transitionDuration: props.transitionDuration / 1000 + \"s\",\n };\n return {\n class: classes,\n style,\n ...eventListeners,\n ...attrs,\n };\n});\n\nconst panelAttributes = computed(() => {\n const classes = [\n {\n \"bb-base-dialog__panel\": true,\n \"bb-base-dialog__panel--compact\": props.compact,\n },\n props.panelClasses,\n ].flat();\n\n const accessibilityAttrs: {\n [key: string]: string | boolean;\n } = {\n role: \"dialog\",\n \"aria-modal\": true,\n };\n\n if (hasRenderedAtLeastOnce.value) {\n accessibilityAttrs[\"aria-labelledby\"] = titleId;\n\n if (props.description)\n accessibilityAttrs[\"aria-describedby\"] = descriptionId;\n }\n\n let maxWidth;\n const sizes: Sizes = {\n sm: 384,\n md: 652,\n lg: 896,\n };\n if (props.fullscreen) maxWidth = \"100%\";\n else if (typeof props.size === \"number\") maxWidth = props.size + \"px\";\n else if (props.size in sizes)\n maxWidth = sizes[props.size as keyof Sizes] + \"px\";\n else maxWidth = props.size + \"px\";\n\n const style = {\n maxWidth,\n transitionDuration: props.transitionDuration / 1000 + \"s\",\n };\n\n return {\n class: classes,\n style,\n ...accessibilityAttrs,\n };\n});\n\n/**\n * This is called when content inside body changes.\n * Gets the total height the panel needs to be\n * It could be called numerous times so throttle every 300ms\n */\nconst onContentGrow = throttle(() => {\n if (props.fullscreen) {\n height.value = window.innerHeight;\n return;\n }\n if (header.value && body.value && footer.value) {\n const contentHeight =\n header.value.scrollHeight +\n body.value.scrollHeight +\n footer.value.scrollHeight +\n 2;\n /* Add two so renderless elements at the bottom are not cut off */\n if (content.value) {\n content.value.style.height = \"0px\";\n content.value.style.height = `${contentHeight}px`;\n /**\n * Run until all transitions inside have completed\n */\n wait(30).then(() => {\n if (header.value && body.value && footer.value) {\n const contentHeight2 =\n header.value.scrollHeight +\n body.value.scrollHeight +\n footer.value.scrollHeight +\n 2;\n if (contentHeight !== contentHeight2) onContentGrow();\n }\n });\n }\n }\n}, 200);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_Teleport, { to: \"body\" }, [\n _createElementVNode(\"div\", _mergeProps(overlayAttributes.value, {\n ref_key: \"overlay\",\n ref: overlay\n }), [\n _createElementVNode(\"div\", _mergeProps(panelAttributes.value, {\n ref_key: \"panel\",\n ref: panel\n }), [\n (hasRenderedAtLeastOnce.value)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"bb-base-dialog__content\",\n ref_key: \"content\",\n ref: content\n }, [\n _createElementVNode(\"div\", {\n class: \"bb-base-dialog__header\",\n ref_key: \"header\",\n ref: header\n }, [\n _renderSlot(_ctx.$slots, \"header\", {\n titleId: titleId,\n close: onCloseClick,\n title: _ctx.title\n }, () => [\n _createElementVNode(\"span\", {\n class: \"bb-base-dialog__title\",\n id: titleId\n }, [\n _renderSlot(_ctx.$slots, \"title\", { text: _ctx.title }, () => [\n _createTextVNode(_toDisplayString(_ctx.title), 1)\n ])\n ]),\n _createElementVNode(\"span\", _hoisted_1, [\n (_ctx.showClose)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: onCloseClick,\n type: \"button\"\n }, [\n _renderSlot(_ctx.$slots, \"close\", { text: closeLabel.value }, () => [\n _createElementVNode(\"span\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(closeLabel.value), 1),\n _hoisted_4\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 512),\n _createElementVNode(\"div\", {\n class: \"bb-base-dialog__body\",\n ref_key: \"body\",\n ref: body\n }, [\n _renderSlot(_ctx.$slots, \"description\", {\n descriptionId: descriptionId,\n text: _ctx.description\n }, () => [\n (_ctx.description)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n id: descriptionId,\n class: \"bb-base-dialog__description\"\n }, _toDisplayString(_ctx.description), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _renderSlot(_ctx.$slots, \"default\")\n ], 512),\n _hoisted_5,\n _createElementVNode(\"div\", {\n class: \"bb-base-dialog__footer\",\n ref_key: \"footer\",\n ref: footer\n }, [\n _renderSlot(_ctx.$slots, \"footer\")\n ], 512)\n ], 512))\n : _createCommentVNode(\"\", true)\n ], 16)\n ], 16)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_sfc_main","_defineComponent","__props","__emit","props","emit","titleId","useId","descriptionId","observer","ref","overlay","panel","content","header","body","footer","height","activate","deactivate","useFocusTrap","nextTick","attrs","useAttrs","closeLabel","computed","onMounted","onContentGrow","onBeforeUnmount","open","opening","closed","closing","hasRenderedAtLeastOnce","busy","alignToModelValue","currentlyOpenModals","watch","waitFor","scrollBarWidth","wait","onOverlayScroll","event","onOverlayClick","onCloseClick","overlayAttributes","classes","eventListeners","style","panelAttributes","accessibilityAttrs","maxWidth","sizes","throttle","contentHeight","contentHeight2","_ctx","_cache","_openBlock","_createBlock","_Teleport","_mergeProps","_createElementBlock","_renderSlot","_createTextVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"index19.js","sources":["../src/components/BaseDialog/BaseDialog.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, mergeProps as _mergeProps, Teleport as _Teleport, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bb-base-dialog-close\" }\nconst _hoisted_2 = { class: \"bb-base-dialog-close__content\" }\nconst _hoisted_3 = { class: \"bb-base-dialog-close__label\" }\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"bb-base-dialog-close__icon\" }, [\n /*#__PURE__*/_createElementVNode(\"svg\", {\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"aria-hidden\": \"true\"\n }, [\n /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M23 23L1 1M23 1L1 23\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\"\n })\n ])\n], -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"div\", { style: {\"flex\":\"10000 10000 0%\"} }, null, -1)\n\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n useAttrs,\n watch,\n nextTick,\n} from \"vue\";\nimport { throttle } from \"@/utilities/functions/throttle\";\nimport { useFocusTrap } from \"@vueuse/integrations/useFocusTrap\";\nimport { useId } from \"@/composables/useId\";\nimport { wait } from \"@/utilities/functions/wait\";\nimport { waitFor } from \"@/utilities/functions/waitFor\";\nimport type { CommonProps, Size } from \"@/types/CommonProps\";\n\nexport type Sizes = {\n sm: number;\n md: number;\n lg: number;\n};\n\nexport type BaseDialogProps = Pick<\n CommonProps,\n | \"closeLabel\"\n | \"compact\"\n | \"disabled\"\n | \"eager\"\n | \"panelClasses\"\n | \"overlayClasses\"\n | \"persistent\"\n | \"showClose\"\n | \"title\"\n | \"transition\"\n | \"transitionDuration\"\n> &\n Size<Sizes> & {\n /**\n * Description of the content of the modal. Extremely useful for accessibility reasons.\n */\n description?: string;\n /**\n * Displays the modala as fulscreen with no margin to the page\n */\n fullscreen?: boolean;\n /**\n * Defines the state open / closed of the modal.\n */\n modelValue?: boolean | null;\n };\n\nexport type BaseDialogSlots = {\n header?: (props: {\n titleId: typeof titleId;\n close: typeof onCloseClick;\n title: BaseDialogProps[\"title\"];\n }) => any;\n title?: (props: { text: BaseDialogProps[\"title\"] }) => any;\n close?: (props: { text: BaseDialogProps[\"closeLabel\"] }) => any;\n description?: (props: {\n descriptionId: typeof descriptionId;\n text: BaseDialogProps[\"description\"];\n }) => any;\n default?: (props: {}) => any;\n footer?: (props: {}) => any;\n};\n\nexport type BaseDialogEvents = {\n (e: \"shown\"): void;\n (e: \"hidden\"): void;\n (e: \"update:modelValue\", value: boolean): void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BaseDialog',\n props: {\n closeLabel: { default: \"Chiudi modale\" },\n compact: { type: Boolean },\n disabled: { type: Boolean },\n eager: { type: Boolean },\n panelClasses: { default: () => [] },\n overlayClasses: { default: () => [] },\n persistent: { type: Boolean },\n showClose: { type: Boolean, default: true },\n title: {},\n transition: { default: \"fade\" },\n transitionDuration: { default: 350 },\n size: { default: \"sm\" },\n description: {},\n fullscreen: { type: Boolean },\n modelValue: { type: [Boolean, null] }\n },\n emits: [\"shown\", \"hidden\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n\n\n\nconst emit = __emit;\n\nconst titleId = `title_${useId().id.value}`;\nconst descriptionId = `description_${useId().id.value}`;\n\nconst observer = ref<MutationObserver | null>(null);\nconst overlay = ref<HTMLElement | null>(null);\nconst panel = ref<HTMLElement | null>(null);\nconst content = ref<HTMLElement | null>(null);\nconst header = ref<HTMLElement | null>(null);\nconst body = ref<HTMLElement | null>(null);\nconst footer = ref<HTMLElement | null>(null);\nconst height = ref<number | null>(null);\n\nconst { activate, deactivate } = useFocusTrap(panel, {\n clickOutsideDeactivates: true,\n /* On esc deactivate the trap, return focus and then close the modal */\n escapeDeactivates: () => {\n nextTick(() => {\n emit(\"update:modelValue\", false);\n });\n return true;\n },\n});\n\nconst attrs = useAttrs();\n\nconst closeLabel = computed(() => props.closeLabel);\n\nonMounted(async () => {\n if (body.value) {\n observer.value = new MutationObserver(onContentGrow);\n observer.value.observe(body.value, { childList: true, subtree: true });\n }\n window.addEventListener(\"resize\", onContentGrow);\n});\nonBeforeUnmount(() => {\n window.removeEventListener(\"resize\", onContentGrow);\n});\n\nconst open = ref(false);\nconst opening = ref(false);\nconst closed = ref(true);\nconst closing = ref(false);\nconst hasRenderedAtLeastOnce = ref(props.eager || props.modelValue);\n\nconst busy = computed(() => opening.value || closing.value);\n\nonMounted(() => {\n /**\n * Do not realign if open or opening\n */\n if (props.modelValue && !(open.value || opening.value)) {\n alignToModelValue();\n }\n});\nonBeforeUnmount(() => {\n if (props.modelValue) {\n let currentlyOpenModals = Number(\n document.body.dataset[\"openModals\"] ?? \"0\"\n );\n // This prevents overscroll chaining (additional scrolling to the body when the modal has been completely scrolled)\n currentlyOpenModals--;\n document.body.dataset[\"openModals\"] = currentlyOpenModals.toString();\n if (!currentlyOpenModals) {\n document.body.style.overflow = \"auto\";\n document.body.style.paddingRight = \"0px\";\n }\n }\n});\n\n/**\n * Every time modelValue changes align the display to it\n */\nwatch(\n () => props.modelValue,\n () => {\n alignToModelValue();\n }\n);\n\n/**\n * When modelValue becomes true if the component wasn't rendered render it\n * and wait for it to be on the page (or transitions would not work).\n * Stash the latest focused element so we can return it later when it closes.\n * Focus on the panel upon opening.\n * ---\n * Notice all interactions update modelValue and then this function aligns the display to it\n */\nconst alignToModelValue = async () => {\n if (props.modelValue) {\n if (!hasRenderedAtLeastOnce.value) {\n hasRenderedAtLeastOnce.value = true;\n await waitFor(() => !!body.value);\n await nextTick();\n if (body.value) {\n observer.value = new MutationObserver(onContentGrow);\n observer.value.observe(body.value, { childList: true, subtree: true });\n }\n }\n\n closed.value = false;\n closing.value = false;\n opening.value = true;\n\n // This prevents overscroll chaining (additional scrolling to the body when the modal has been completely scrolled)\n\n let currentlyOpenModals = Number(\n document.body.dataset[\"openModals\"] ?? \"0\"\n );\n currentlyOpenModals++;\n document.body.dataset[\"openModals\"] = currentlyOpenModals.toString();\n const scrollBarWidth =\n window.innerWidth - document.documentElement.clientWidth;\n document.body.style.overflow = \"hidden\";\n document.body.style.paddingRight = `${scrollBarWidth}px`;\n\n await wait(props.transitionDuration);\n opening.value = false;\n open.value = true;\n emit(\"shown\");\n activate();\n } else {\n deactivate();\n opening.value = false;\n open.value = false;\n closing.value = true;\n\n await wait(props.transitionDuration);\n\n let currentlyOpenModals = Number(\n document.body.dataset[\"openModals\"] ?? \"0\"\n );\n // This prevents overscroll chaining (additional scrolling to the body when the modal has been completely scrolled)\n currentlyOpenModals--;\n document.body.dataset[\"openModals\"] = currentlyOpenModals.toString();\n if (!currentlyOpenModals) {\n document.body.style.overflow = \"auto\";\n document.body.style.paddingRight = \"0px\";\n }\n closing.value = false;\n closed.value = true;\n emit(\"hidden\");\n }\n};\n\n/**\n * Disable scrolling\n */\nconst onOverlayScroll = (event: UIEvent) => {\n if (event.target === overlay.value) {\n event.preventDefault();\n }\n};\n\n/**\n * Close the modal on overlay click if not persistent\n */\nconst onOverlayClick = (event: MouseEvent) => {\n if (props.disabled || busy.value) return;\n if (overlay.value) {\n if (event.target === overlay.value) {\n if (!props.persistent) {\n emit(\"update:modelValue\", false);\n }\n }\n }\n};\n\n/**\n * On click on the X button\n */\nconst onCloseClick = () => {\n if (props.disabled || busy.value) return;\n deactivate();\n emit(\"update:modelValue\", false);\n};\n\nconst overlayAttributes = computed(() => {\n const classes = [\n {\n \"bb-base-dialog bb-base-dialog__overlay\": true,\n \"bb-base-dialog--fullscreen\": props.fullscreen,\n \"bb-base-dialog--open\": open.value,\n \"bb-base-dialog--opening\": opening.value,\n \"bb-base-dialog--closed\": closed.value,\n \"bb-base-dialog--closing\": closing.value,\n [`bb-base-dialog--transition-${props.transition}`]: true,\n },\n props.overlayClasses,\n ].flat();\n const eventListeners = {\n onClick: onOverlayClick,\n onScroll: onOverlayScroll,\n onTouchmove: onOverlayScroll,\n onWheel: onOverlayScroll,\n onKeydown: onOverlayScroll,\n };\n\n const style = {\n transitionDuration: props.transitionDuration / 1000 + \"s\",\n };\n return {\n class: classes,\n style,\n ...eventListeners,\n ...attrs,\n };\n});\n\nconst panelAttributes = computed(() => {\n const classes = [\n {\n \"bb-base-dialog__panel\": true,\n \"bb-base-dialog__panel--compact\": props.compact,\n },\n props.panelClasses,\n ].flat();\n\n const accessibilityAttrs: {\n [key: string]: string | boolean;\n } = {\n role: \"dialog\",\n \"aria-modal\": true,\n };\n\n if (hasRenderedAtLeastOnce.value) {\n accessibilityAttrs[\"aria-labelledby\"] = titleId;\n\n if (props.description)\n accessibilityAttrs[\"aria-describedby\"] = descriptionId;\n }\n\n let maxWidth;\n const sizes: Sizes = {\n sm: 384,\n md: 652,\n lg: 896,\n };\n if (props.fullscreen) maxWidth = \"100%\";\n else if (typeof props.size === \"number\") maxWidth = props.size + \"px\";\n else if (props.size in sizes)\n maxWidth = sizes[props.size as keyof Sizes] + \"px\";\n else maxWidth = props.size + \"px\";\n\n const style = {\n maxWidth,\n transitionDuration: props.transitionDuration / 1000 + \"s\",\n };\n\n return {\n class: classes,\n style,\n ...accessibilityAttrs,\n };\n});\n\n/**\n * This is called when content inside body changes.\n * Gets the total height the panel needs to be\n * It could be called numerous times so throttle every 300ms\n */\nconst onContentGrow = throttle(() => {\n if (props.fullscreen) {\n height.value = window.innerHeight;\n return;\n }\n if (header.value && body.value && footer.value) {\n const contentHeight =\n header.value.scrollHeight +\n body.value.scrollHeight +\n footer.value.scrollHeight +\n 2;\n /* Add two so renderless elements at the bottom are not cut off */\n if (content.value) {\n content.value.style.height = \"0px\";\n content.value.style.height = `${contentHeight}px`;\n /**\n * Run until all transitions inside have completed\n */\n wait(30).then(() => {\n if (header.value && body.value && footer.value) {\n const contentHeight2 =\n header.value.scrollHeight +\n body.value.scrollHeight +\n footer.value.scrollHeight +\n 2;\n if (contentHeight !== contentHeight2) onContentGrow();\n }\n });\n }\n }\n}, 200);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_Teleport, { to: \"body\" }, [\n _createElementVNode(\"div\", _mergeProps(overlayAttributes.value, {\n ref_key: \"overlay\",\n ref: overlay\n }), [\n _createElementVNode(\"div\", _mergeProps(panelAttributes.value, {\n ref_key: \"panel\",\n ref: panel\n }), [\n (hasRenderedAtLeastOnce.value)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"bb-base-dialog__content\",\n ref_key: \"content\",\n ref: content\n }, [\n _createElementVNode(\"div\", {\n class: \"bb-base-dialog__header\",\n ref_key: \"header\",\n ref: header\n }, [\n _renderSlot(_ctx.$slots, \"header\", {\n titleId: titleId,\n close: onCloseClick,\n title: _ctx.title\n }, () => [\n _createElementVNode(\"span\", {\n class: \"bb-base-dialog__title\",\n id: titleId\n }, [\n _renderSlot(_ctx.$slots, \"title\", { text: _ctx.title }, () => [\n _createTextVNode(_toDisplayString(_ctx.title), 1)\n ])\n ]),\n _createElementVNode(\"span\", _hoisted_1, [\n (_ctx.showClose)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n onClick: onCloseClick,\n type: \"button\"\n }, [\n _renderSlot(_ctx.$slots, \"close\", { text: closeLabel.value }, () => [\n _createElementVNode(\"span\", _hoisted_2, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(closeLabel.value), 1),\n _hoisted_4\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 512),\n _createElementVNode(\"div\", {\n class: \"bb-base-dialog__body\",\n ref_key: \"body\",\n ref: body\n }, [\n _renderSlot(_ctx.$slots, \"description\", {\n descriptionId: descriptionId,\n text: _ctx.description\n }, () => [\n (_ctx.description)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n id: descriptionId,\n class: \"bb-base-dialog__description\"\n }, _toDisplayString(_ctx.description), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _renderSlot(_ctx.$slots, \"default\")\n ], 512),\n _hoisted_5,\n _createElementVNode(\"div\", {\n class: \"bb-base-dialog__footer\",\n ref_key: \"footer\",\n ref: footer\n }, [\n _renderSlot(_ctx.$slots, \"footer\")\n ], 512)\n ], 512))\n : _createCommentVNode(\"\", true)\n ], 16)\n ], 16)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_createElementVNode","_hoisted_5","_sfc_main","_defineComponent","__props","__emit","props","emit","titleId","useId","descriptionId","observer","ref","overlay","panel","content","header","body","footer","height","activate","deactivate","useFocusTrap","nextTick","attrs","useAttrs","closeLabel","computed","onMounted","onContentGrow","onBeforeUnmount","open","opening","closed","closing","hasRenderedAtLeastOnce","busy","alignToModelValue","currentlyOpenModals","watch","waitFor","scrollBarWidth","wait","onOverlayScroll","event","onOverlayClick","onCloseClick","overlayAttributes","classes","eventListeners","style","panelAttributes","accessibilityAttrs","maxWidth","sizes","throttle","contentHeight","contentHeight2","_ctx","_cache","_openBlock","_createBlock","_Teleport","_mergeProps","_createElementBlock","_renderSlot","_createTextVNode","_toDisplayString","_createCommentVNode"],"mappings":"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"}
package/dist/index195.js CHANGED
@@ -1,5 +1,5 @@
1
- const s = (r) => !!r && !!r.match(/^(#|var\(--|(rgb|hsl)a?\()/);
1
+ const n = (t, a, m) => Math.min(Math.max(t, a), m);
2
2
  export {
3
- s as isCssColor
3
+ n as clamp
4
4
  };
5
5
  //# sourceMappingURL=index195.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index195.js","sources":["../src/utilities/functions/isCssColor.ts"],"sourcesContent":["/**\n * Taken from vuetify colorable mixin\n * https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/mixins/colorable/index.ts\n */\nexport const isCssColor = (color: string): boolean => {\n return !!color && !!color.match(/^(#|var\\(--|(rgb|hsl)a?\\()/);\n};\n"],"names":["isCssColor","color"],"mappings":"AAIa,MAAAA,IAAa,CAACC,MAClB,CAAC,CAACA,KAAS,CAAC,CAACA,EAAM,MAAM,4BAA4B;"}
1
+ {"version":3,"file":"index195.js","sources":["../src/utilities/functions/clamp.ts"],"sourcesContent":["/**\n * Returns value ensuring it doesn't go below min and exceed max.\n * EXAMPLE: clamp(5, 7, 20) === 7\n * @param value The value to clamp\n * @param min Minimum bound\n * @param max Maximum bound\n * @returns \n */\n\nexport const clamp = (value: number, min: number, max: number) => {\n return Math.min(Math.max(value, min), max);\n};\n"],"names":["clamp","value","min","max"],"mappings":"AASO,MAAMA,IAAQ,CAACC,GAAeC,GAAaC,MACzC,KAAK,IAAI,KAAK,IAAIF,GAAOC,CAAG,GAAGC,CAAG;"}
package/dist/index196.js CHANGED
@@ -1,7 +1,5 @@
1
- import { curry as e } from "./index226.js";
2
- const t = (n, o, r) => n(r) ? o(r) : r, s = e(t);
1
+ const s = (r) => !!r && !!r.match(/^(#|var\(--|(rgb|hsl)a?\()/);
3
2
  export {
4
- t as baseWhen,
5
- s as when
3
+ s as isCssColor
6
4
  };
7
5
  //# sourceMappingURL=index196.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index196.js","sources":["../src/utilities/functions/when.ts"],"sourcesContent":["import { curry } from \"./curry\"\n/**\n * Runs fn on item if iteratee(item) is thruthy\n * @param iteratee The test\n * @param item The item to test\n * @param fn The transformer function\n * @returns\n */\nexport const baseWhen = <T, U>(\n iteratee: (item: T) => boolean,\n fn: (item: T) => U,\n item: T\n) => {\n if (iteratee(item)) return fn(item);\n return item;\n};\n\nexport const when = curry(baseWhen);\n"],"names":["baseWhen","iteratee","fn","item","when","curry"],"mappings":";AAQO,MAAMA,IAAW,CACtBC,GACAC,GACAC,MAEIF,EAASE,CAAI,IAAUD,EAAGC,CAAI,IAC3BA,GAGIC,IAAOC,EAAML,CAAQ;"}
1
+ {"version":3,"file":"index196.js","sources":["../src/utilities/functions/isCssColor.ts"],"sourcesContent":["/**\n * Taken from vuetify colorable mixin\n * https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/mixins/colorable/index.ts\n */\nexport const isCssColor = (color: string): boolean => {\n return !!color && !!color.match(/^(#|var\\(--|(rgb|hsl)a?\\()/);\n};\n"],"names":["isCssColor","color"],"mappings":"AAIa,MAAAA,IAAa,CAACC,MAClB,CAAC,CAACA,KAAS,CAAC,CAACA,EAAM,MAAM,4BAA4B;"}