@quidgest/ui 0.15.2 → 0.15.4

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 (123) hide show
  1. package/dist/manifest/components.json +4 -0
  2. package/dist/ui.css +111 -6
  3. package/dist/ui.esm.js +6988 -5987
  4. package/dist/ui.js +33 -26
  5. package/dist/ui.min.css +1 -1
  6. package/dist/ui.min.js +1141 -990
  7. package/dist/ui.scss +119 -9
  8. package/esm/components/QCombobox/QCombobox.d.ts +18 -14
  9. package/esm/components/QCombobox/QCombobox.d.ts.map +1 -1
  10. package/esm/components/QCombobox/QCombobox.vue.js +1 -1
  11. package/esm/components/QCombobox/index.d.ts +29 -17
  12. package/esm/components/QCombobox/index.d.ts.map +1 -1
  13. package/esm/components/QDateTimePicker/QDateTimePicker.vue.js +1 -1
  14. package/esm/components/QDateTimePicker/index.d.ts +3 -0
  15. package/esm/components/QDateTimePicker/index.d.ts.map +1 -1
  16. package/esm/components/QDialog/QDialog.d.ts +2 -2
  17. package/esm/components/QDialog/QDialog.d.ts.map +1 -1
  18. package/esm/components/QDialog/QDialog.vue.js +51 -50
  19. package/esm/components/QDismissibleLayer/QDismissibleLayer.d.ts +35 -0
  20. package/esm/components/QDismissibleLayer/QDismissibleLayer.d.ts.map +1 -0
  21. package/esm/components/QDismissibleLayer/QDismissibleLayer.vue.js +50 -0
  22. package/esm/components/QDismissibleLayer/QDismissibleLayer.vue2.js +4 -0
  23. package/esm/components/QDismissibleLayer/index.d.ts +53 -0
  24. package/esm/components/QDismissibleLayer/index.d.ts.map +1 -0
  25. package/esm/components/QDismissibleLayer/index.js +6 -0
  26. package/esm/components/QDismissibleLayer/types.d.ts +25 -0
  27. package/esm/components/QDismissibleLayer/types.d.ts.map +1 -0
  28. package/esm/components/QDropdownMenu/QDropdownMenu.d.ts +0 -4
  29. package/esm/components/QDropdownMenu/QDropdownMenu.d.ts.map +1 -1
  30. package/esm/components/QDropdownMenu/QDropdownMenu.vue.js +10 -15
  31. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts +10 -15
  32. package/esm/components/QDropdownMenu/QDropdownMenuContent.d.ts.map +1 -1
  33. package/esm/components/QDropdownMenu/QDropdownMenuContent.vue.js +72 -117
  34. package/esm/components/QDropdownMenu/index.d.ts +0 -3
  35. package/esm/components/QDropdownMenu/index.d.ts.map +1 -1
  36. package/esm/components/QField/QField.d.ts.map +1 -1
  37. package/esm/components/QField/QField.vue.js +11 -10
  38. package/esm/components/QFileUpload/QFileUpload.vue.js +1 -1
  39. package/esm/components/QFileUpload/index.d.ts +3 -0
  40. package/esm/components/QFileUpload/index.d.ts.map +1 -1
  41. package/esm/components/QFocusTrap/QFocusTrap.d.ts +28 -0
  42. package/esm/components/QFocusTrap/QFocusTrap.d.ts.map +1 -0
  43. package/esm/components/QFocusTrap/QFocusTrap.vue.js +32 -0
  44. package/esm/components/QFocusTrap/QFocusTrap.vue2.js +4 -0
  45. package/esm/components/QFocusTrap/index.d.ts +38 -0
  46. package/esm/components/QFocusTrap/index.d.ts.map +1 -0
  47. package/esm/components/QFocusTrap/index.js +6 -0
  48. package/esm/components/QFocusTrap/types.d.ts +6 -0
  49. package/esm/components/QFocusTrap/types.d.ts.map +1 -0
  50. package/esm/components/QInputGroup/QInputGroup.vue.js +1 -1
  51. package/esm/components/QLabel/QLabel.d.ts +1 -0
  52. package/esm/components/QLabel/QLabel.d.ts.map +1 -1
  53. package/esm/components/QLabel/QLabel.vue.js +28 -13
  54. package/esm/components/QLabel/index.d.ts +1 -0
  55. package/esm/components/QLabel/index.d.ts.map +1 -1
  56. package/esm/components/QLabel/types.d.ts +5 -0
  57. package/esm/components/QLabel/types.d.ts.map +1 -1
  58. package/esm/components/QList/QList.d.ts +0 -9
  59. package/esm/components/QList/QList.d.ts.map +1 -1
  60. package/esm/components/QList/QList.vue.js +97 -82
  61. package/esm/components/QList/index.d.ts +0 -3
  62. package/esm/components/QList/index.d.ts.map +1 -1
  63. package/esm/components/QMeter/QMeter.vue.js +14 -13
  64. package/esm/components/QMeter/index.d.ts +2 -0
  65. package/esm/components/QMeter/index.d.ts.map +1 -1
  66. package/esm/components/QOverlay/QOverlay.d.ts +2 -0
  67. package/esm/components/QOverlay/QOverlay.d.ts.map +1 -1
  68. package/esm/components/QOverlay/QOverlay.vue.js +197 -148
  69. package/esm/components/QOverlay/index.d.ts +4 -0
  70. package/esm/components/QOverlay/index.d.ts.map +1 -1
  71. package/esm/components/QOverlay/types.d.ts +6 -1
  72. package/esm/components/QOverlay/types.d.ts.map +1 -1
  73. package/esm/components/QPasswordField/QPasswordField.d.ts +8 -4
  74. package/esm/components/QPasswordField/QPasswordField.d.ts.map +1 -1
  75. package/esm/components/QPasswordField/QPasswordField.vue.js +1 -1
  76. package/esm/components/QPasswordField/QPasswordFieldMeterOverlay.vue.js +6 -5
  77. package/esm/components/QPasswordField/index.d.ts +4 -2
  78. package/esm/components/QPasswordField/index.d.ts.map +1 -1
  79. package/esm/components/QPropertyList/QPropertyList.vue.js +23 -23
  80. package/esm/components/QPropertyList/QPropertyListRow.d.ts +6 -2
  81. package/esm/components/QPropertyList/QPropertyListRow.d.ts.map +1 -1
  82. package/esm/components/QPropertyList/QPropertyListRow.vue.js +20 -20
  83. package/esm/components/QPropertyList/index.d.ts +9 -2
  84. package/esm/components/QPropertyList/index.d.ts.map +1 -1
  85. package/esm/components/QRadioGroup/QRadioButton.d.ts +24 -0
  86. package/esm/components/QRadioGroup/QRadioButton.d.ts.map +1 -0
  87. package/esm/components/QRadioGroup/QRadioButton.vue.js +78 -0
  88. package/esm/components/QRadioGroup/QRadioButton.vue2.js +4 -0
  89. package/esm/components/QRadioGroup/QRadioGroup.d.ts +32 -0
  90. package/esm/components/QRadioGroup/QRadioGroup.d.ts.map +1 -0
  91. package/esm/components/QRadioGroup/QRadioGroup.vue.js +79 -0
  92. package/esm/components/QRadioGroup/QRadioGroup.vue2.js +4 -0
  93. package/esm/components/QRadioGroup/index.d.ts +108 -0
  94. package/esm/components/QRadioGroup/index.d.ts.map +1 -0
  95. package/esm/components/QRadioGroup/index.js +8 -0
  96. package/esm/components/QRadioGroup/types.d.ts +65 -0
  97. package/esm/components/QRadioGroup/types.d.ts.map +1 -0
  98. package/esm/components/QSelect/QSelect.d.ts +4 -8
  99. package/esm/components/QSelect/QSelect.d.ts.map +1 -1
  100. package/esm/components/QSelect/QSelect.vue.js +107 -126
  101. package/esm/components/QSelect/index.d.ts +5 -4
  102. package/esm/components/QSelect/index.d.ts.map +1 -1
  103. package/esm/components/QTextArea/QTextArea.vue.js +1 -1
  104. package/esm/components/QTextArea/index.d.ts +3 -0
  105. package/esm/components/QTextArea/index.d.ts.map +1 -1
  106. package/esm/components/QTextField/QTextField.d.ts +2 -2
  107. package/esm/components/QTextField/QTextField.vue.js +1 -1
  108. package/esm/components/QTextField/index.d.ts +4 -1
  109. package/esm/components/QTextField/index.d.ts.map +1 -1
  110. package/esm/components/index.d.ts +3 -0
  111. package/esm/components/index.d.ts.map +1 -1
  112. package/esm/components/index.js +67 -60
  113. package/esm/composables/group.d.ts.map +1 -1
  114. package/esm/composables/group.js +1 -1
  115. package/esm/index.d.ts +4 -0
  116. package/esm/utils/merge.d.ts.map +1 -1
  117. package/esm/utils/merge.js +12 -16
  118. package/esm/vendors/@vueuse/core/index.js +173 -67
  119. package/esm/vendors/@vueuse/integrations/useFocusTrap/component.js +24 -0
  120. package/esm/vendors/@vueuse/shared/index.js +36 -15
  121. package/esm/vendors/focus-trap/dist/focus-trap.esm.js +473 -0
  122. package/esm/vendors/tabbable/dist/index.esm.js +202 -0
  123. package/package.json +3 -1
@@ -1,12 +1,14 @@
1
- import { defineComponent as ee, mergeModels as $, useModel as te, computed as d, reactive as M, watch as k, ref as R, nextTick as y, onMounted as ne, onBeforeUnmount as oe, createElementBlock as g, openBlock as u, Fragment as re, createBlock as V, createCommentVNode as L, Teleport as ie, createVNode as ae, normalizeClass as A, Transition as le, withCtx as se, normalizeStyle as z, createElementVNode as de, mergeProps as ce, withKeys as ue, renderSlot as fe, unref as me } from "vue";
2
- import { QRemoveScrollBar as ve } from "../QRemoveScrollBar/index.js";
3
- import { getSideFromPlacement as pe, computePosition as ye } from "../../composables/overlay.js";
4
- import { useTheme as he } from "../../composables/theme.js";
5
- import { getElement as we } from "../../utils/getElement.js";
6
- const ke = ["id"], ge = ["role"], be = /* @__PURE__ */ ee({
1
+ import { defineComponent as ue, mergeModels as I, useModel as ce, computed as d, reactive as P, watch as V, ref as _, nextTick as g, onMounted as fe, onBeforeUnmount as pe, createElementBlock as k, openBlock as u, Fragment as ve, createBlock as B, createCommentVNode as m, Teleport as me, createVNode as C, Transition as z, withCtx as L, normalizeClass as F, normalizeStyle as Q, unref as T, createElementVNode as ye, mergeProps as he, renderSlot as we } from "vue";
2
+ import { QDismissibleLayer as ge } from "../QDismissibleLayer/index.js";
3
+ import { QFocusTrap as ke } from "../QFocusTrap/index.js";
4
+ import { QRemoveScrollBar as Le } from "../QRemoveScrollBar/index.js";
5
+ import { getSideFromPlacement as Ee, computePosition as be } from "../../composables/overlay.js";
6
+ import { useTheme as _e } from "../../composables/theme.js";
7
+ import { getElement as Be } from "../../utils/getElement.js";
8
+ const Ce = ["id"], Te = ["role"], Ae = /* @__PURE__ */ ue({
7
9
  inheritAttrs: !1,
8
10
  __name: "QOverlay",
9
- props: /* @__PURE__ */ $({
11
+ props: /* @__PURE__ */ I({
10
12
  id: {},
11
13
  class: {},
12
14
  anchor: {},
@@ -27,53 +29,54 @@ const ke = ["id"], ge = ["role"], be = /* @__PURE__ */ ee({
27
29
  transition: { default: "fade" },
28
30
  trigger: { default: "click" },
29
31
  closeOnContentClick: { type: Boolean },
30
- width: { default: "auto" }
32
+ width: { default: "auto" },
33
+ focusTrap: { type: Boolean }
31
34
  }, {
32
35
  modelValue: { type: Boolean },
33
36
  modelModifiers: {}
34
37
  }),
35
- emits: /* @__PURE__ */ $(["enter", "leave"], ["update:modelValue"]),
36
- setup(C, { emit: I }) {
37
- const t = C, B = I, r = te(C, "modelValue"), { class: U } = he(), F = d(() => [
38
+ emits: /* @__PURE__ */ I(["enter", "leave"], ["update:modelValue"]),
39
+ setup(x, { emit: U }) {
40
+ const t = x, S = U, r = ce(x, "modelValue"), { class: N } = _e(), W = d(() => [
38
41
  "q-overlay",
39
- `q-overlay--${pe(n.placement)}`,
40
- U.value,
42
+ `q-overlay--${Ee(o.placement)}`,
43
+ N.value,
41
44
  {
42
45
  "q-overlay--independent": f.value,
43
46
  "q-overlay--inverted": t.appearance === "inverted"
44
47
  },
45
48
  t.class
46
- ]), f = d(() => t.anchor === void 0), _ = d(() => (r.value || n.animating) && !t.nonModal), N = d(() => (r.value || n.animating) && t.scrollLock), n = M({
49
+ ]), f = d(() => t.anchor === void 0), O = d(() => r.value && !t.nonModal), j = d(() => (r.value || o.animating) && t.scrollLock), G = d(() => !t.inline && (r.value || o.animating)), o = P({
47
50
  animating: !1,
48
51
  top: 0,
49
52
  left: 0,
50
53
  width: 0,
51
54
  placement: t.placement
52
- }), i = M({
55
+ }), a = P({
53
56
  top: void 0,
54
57
  left: void 0,
55
58
  hidden: !0
56
- }), P = d(() => n.top !== 0 && n.left !== 0);
57
- k(r, () => n.animating = !0);
58
- const K = d(() => {
59
+ });
60
+ V(r, ee);
61
+ const H = d(() => {
59
62
  if (f.value) return;
60
- const e = c(), s = t.width === "anchor", o = s ? e == null ? void 0 : e.getBoundingClientRect().width : void 0;
63
+ const e = l(), s = t.width === "anchor", n = s ? e == null ? void 0 : e.getBoundingClientRect().width : void 0;
61
64
  return {
62
- top: `${n.top}px`,
63
- left: `${n.left}px`,
64
- width: o !== void 0 ? `${o}px` : void 0
65
+ top: `${o.top}px`,
66
+ left: `${o.left}px`,
67
+ width: n !== void 0 ? `${n}px` : void 0
65
68
  };
66
- }), Q = d(() => {
69
+ }), J = d(() => {
67
70
  if (t.arrow)
68
71
  return {
69
- top: i.top !== void 0 ? `${i.top}px` : void 0,
70
- left: i.left !== void 0 ? `${i.left}px` : void 0,
71
- opacity: i.hidden ? 0 : 1
72
+ top: a.top !== void 0 ? `${a.top}px` : void 0,
73
+ left: a.left !== void 0 ? `${a.left}px` : void 0,
74
+ opacity: a.hidden ? 0 : 1
72
75
  };
73
- }), h = R(null), m = R(null);
74
- function a() {
75
- const e = c();
76
- if (!e || !m.value)
76
+ }), y = _(null), h = _(null), E = _(null);
77
+ function i() {
78
+ const e = l();
79
+ if (!e || !h.value)
77
80
  return;
78
81
  const s = {
79
82
  placement: t.placement,
@@ -81,55 +84,86 @@ const ke = ["id"], ge = ["role"], be = /* @__PURE__ */ ee({
81
84
  offset: t.offset,
82
85
  crossOffset: t.crossOffset,
83
86
  arrow: t.arrow
84
- }, o = ye(
87
+ }, n = be(
85
88
  e,
86
- m.value,
87
- (h == null ? void 0 : h.value) ?? void 0,
89
+ h.value,
90
+ (y == null ? void 0 : y.value) ?? void 0,
88
91
  s
89
92
  );
90
- n.left = o.overlayCoords.x, n.top = o.overlayCoords.y, n.placement = o.placement, i.hidden = o.arrowCoords === void 0, o.arrowCoords && (i.top = o.arrowCoords.y, i.left = o.arrowCoords.x);
93
+ o.left = n.overlayCoords.x, o.top = n.overlayCoords.y, o.placement = n.placement, a.hidden = n.arrowCoords === void 0, n.arrowCoords && (a.top = n.arrowCoords.y, a.left = n.arrowCoords.x);
91
94
  }
92
- k(
95
+ V(
93
96
  () => t.placement,
94
- () => y(a)
97
+ () => g(i)
95
98
  );
96
- let v;
99
+ let p;
97
100
  function w() {
98
- T(0);
101
+ R(0);
99
102
  }
100
- function b() {
101
- T(t.delay);
103
+ function D() {
104
+ R(t.delay);
102
105
  }
103
- function T(e) {
104
- v && x(), v = window.setTimeout(() => {
106
+ function R(e) {
107
+ p && q(), p = window.setTimeout(() => {
105
108
  r.value = !0;
106
109
  }, e);
107
110
  }
108
- function l() {
109
- if (v && x(), r.value = !1, t.anchor && t.trigger === "click") {
110
- const e = c();
111
- e == null || e.focus();
111
+ function c() {
112
+ if (p && q(), r.value = !1, t.anchor && t.trigger === "click") {
113
+ const e = l();
114
+ g(() => e == null ? void 0 : e.focus());
112
115
  }
113
116
  }
114
- function x() {
115
- clearTimeout(v), v = void 0;
117
+ function q() {
118
+ clearTimeout(p), p = void 0;
119
+ }
120
+ function K() {
121
+ g(se), S("enter");
116
122
  }
117
- k(P, () => y(D));
118
- function D() {
119
- B("enter");
123
+ function X() {
124
+ M();
120
125
  }
121
- let S;
122
- function W() {
123
- window.clearTimeout(S), S = window.setTimeout(() => n.animating = !1, 200), B("leave");
126
+ function Y() {
127
+ S("leave");
124
128
  }
125
- function c() {
126
- return t.anchor ? we(t.anchor) : null;
129
+ function Z() {
130
+ M(), de();
127
131
  }
128
- let p;
129
- function j() {
130
- const e = c();
132
+ function ee() {
133
+ o.animating = !0;
134
+ }
135
+ function M() {
136
+ o.animating = !1;
137
+ }
138
+ function l() {
139
+ return t.anchor ? Be(t.anchor) : null;
140
+ }
141
+ function te(e) {
142
+ t.persistent && e.preventDefault();
143
+ }
144
+ function ne(e) {
145
+ var A;
146
+ if (t.persistent) {
147
+ e.preventDefault();
148
+ return;
149
+ }
150
+ let s = !1;
151
+ e.defaultPrevented || e.detail.originalEvent.type === "pointerdown" && (s = !0);
152
+ const n = e.detail.originalEvent.target;
153
+ if ((A = l()) == null ? void 0 : A.contains(n)) {
154
+ e.preventDefault();
155
+ return;
156
+ }
157
+ e.detail.originalEvent.type === "focusin" && s && e.preventDefault();
158
+ }
159
+ function oe() {
160
+ c();
161
+ }
162
+ let v;
163
+ function re() {
164
+ const e = l();
131
165
  if (e)
132
- switch (p = new MutationObserver(a), p.observe(e, {
166
+ switch (v = new MutationObserver(i), v.observe(e, {
133
167
  attributes: !1,
134
168
  childList: !0,
135
169
  characterData: !0,
@@ -139,125 +173,140 @@ const ke = ["id"], ge = ["role"], be = /* @__PURE__ */ ee({
139
173
  e.addEventListener("click", w);
140
174
  break;
141
175
  case "hover":
142
- e.addEventListener("mouseenter", b), e.addEventListener("mouseleave", l), e.addEventListener("focusin", w), e.addEventListener("focusout", l);
176
+ e.addEventListener("mouseenter", D), e.addEventListener("mouseleave", c), e.addEventListener("focusin", w), e.addEventListener("focusout", c);
143
177
  break;
144
178
  }
145
179
  }
146
- function G() {
147
- const e = c();
180
+ function ae() {
181
+ const e = l();
148
182
  if (e)
149
- switch (p == null || p.disconnect(), t.trigger) {
183
+ switch (v == null || v.disconnect(), t.trigger) {
150
184
  case "click":
151
185
  e.removeEventListener("click", w);
152
186
  break;
153
187
  case "hover":
154
- e.removeEventListener("mouseenter", b), e.removeEventListener("mouseleave", l), e.removeEventListener("focusin", w), e.removeEventListener("focusout", l);
188
+ e.removeEventListener("mouseenter", D), e.removeEventListener("mouseleave", c), e.removeEventListener("focusin", w), e.removeEventListener("focusout", c);
155
189
  break;
156
190
  }
157
191
  }
158
- function H() {
159
- window.addEventListener("resize", a), t.scrollLock || window.addEventListener("scroll", a);
192
+ function ie() {
193
+ window.addEventListener("resize", i), t.scrollLock || window.addEventListener("scroll", i);
160
194
  }
161
- function J() {
162
- window.removeEventListener("resize", a), t.scrollLock || window.removeEventListener("scroll", a);
195
+ function le() {
196
+ window.removeEventListener("resize", i), t.scrollLock || window.removeEventListener("scroll", i);
163
197
  }
164
- let E;
165
- function q() {
166
- c() ? (a(), E = window.setTimeout(q, 100)) : l();
167
- }
168
- function X() {
169
- f.value || (H(), t.spy ? q() : a()), (f.value || t.trigger === "click") && y(() => {
170
- var e;
171
- return (e = m.value) == null ? void 0 : e.focus();
172
- });
173
- }
174
- function O() {
175
- f.value || J(), t.spy && (clearTimeout(E), E = void 0), n.top = 0, n.left = 0;
198
+ let b;
199
+ function $() {
200
+ l() ? (i(), b = window.setTimeout($, 100)) : c();
176
201
  }
177
- function Y() {
178
- t.persistent || l();
202
+ function se() {
203
+ var e;
204
+ f.value || (ie(), t.spy ? $() : i()), (f.value || t.trigger === "click") && ((e = h.value) == null || e.focus());
179
205
  }
180
- function Z(e) {
181
- var s;
182
- t.persistent || (t.closeOnContentClick || !((s = m.value) != null && s.contains(e.relatedTarget))) && l();
206
+ function de() {
207
+ f.value || le(), t.spy && (clearTimeout(b), b = void 0);
183
208
  }
184
- return ne(() => {
185
- y(j);
186
- }), oe(() => {
187
- G(), O();
188
- }), k(
189
- r,
190
- (e) => {
191
- y(() => e ? X() : O());
192
- },
193
- { immediate: !0 }
194
- ), (e, s) => (u(), g(
195
- re,
209
+ return fe(() => {
210
+ g(re);
211
+ }), pe(ae), (e, s) => (u(), k(
212
+ ve,
196
213
  null,
197
214
  [
198
- (u(), V(ie, {
199
- disabled: !r.value && !n.animating || t.inline,
215
+ (u(), B(me, {
216
+ disabled: !G.value,
200
217
  to: t.attach
201
218
  }, [
202
- _.value ? (u(), g(
203
- "div",
204
- {
205
- key: 0,
206
- class: A([
207
- t.backdropClass,
208
- "q-overlay__underlay",
209
- { "q-overlay__underlay--blur": t.backdropBlur }
210
- ])
211
- },
212
- null,
213
- 2
214
- /* CLASS */
215
- )) : L("v-if", !0),
216
- ae(le, {
219
+ C(z, {
220
+ name: "fade",
221
+ appear: ""
222
+ }, {
223
+ default: L(() => [
224
+ O.value ? (u(), k(
225
+ "div",
226
+ {
227
+ key: 0,
228
+ class: F([
229
+ t.backdropClass,
230
+ "q-overlay__underlay",
231
+ { "q-overlay__underlay--blur": t.backdropBlur }
232
+ ])
233
+ },
234
+ null,
235
+ 2
236
+ /* CLASS */
237
+ )) : m("v-if", !0)
238
+ ]),
239
+ _: 1
240
+ /* STABLE */
241
+ }),
242
+ C(z, {
217
243
  name: t.transition,
218
244
  appear: "",
219
- onLeave: W
245
+ onEnter: K,
246
+ onAfterEnter: X,
247
+ onLeave: Y,
248
+ onAfterLeave: Z
220
249
  }, {
221
- default: se(() => [
222
- r.value ? (u(), g("div", {
250
+ default: L(() => [
251
+ r.value ? (u(), k("div", {
223
252
  key: 0,
224
253
  id: t.id,
225
- class: A(F.value),
226
- style: z(K.value)
254
+ ref_key: "overlayContainerRef",
255
+ ref: E,
256
+ tabindex: "-1",
257
+ class: F(W.value),
258
+ style: Q(H.value)
227
259
  }, [
228
- de("div", ce({
229
- ref_key: "overlayRef",
230
- ref: m,
231
- class: "q-overlay__content",
232
- tabindex: "-1",
233
- role: _.value ? "dialog" : void 0
234
- }, e.$attrs, {
235
- onKeydown: ue(Y, ["escape"]),
236
- onFocusout: Z
237
- }), [
238
- t.arrow ? (u(), g(
239
- "div",
240
- {
260
+ C(T(ge), {
261
+ onDismiss: oe,
262
+ onInteractOutside: ne,
263
+ onPointerDownOutside: te
264
+ }, {
265
+ default: L(() => [
266
+ E.value ? (u(), B(T(ke), {
241
267
  key: 0,
242
- ref_key: "arrowRef",
243
- ref: h,
244
- role: "presentation",
245
- class: "q-overlay__arrow",
246
- style: z(Q.value)
247
- },
248
- null,
249
- 4
250
- /* STYLE */
251
- )) : L("v-if", !0),
252
- fe(e.$slots, "default")
253
- ], 16, ge)
254
- ], 14, ke)) : L("v-if", !0)
268
+ disabled: t.nonModal || !r.value,
269
+ options: { fallbackFocus: E.value }
270
+ }, {
271
+ default: L(() => [
272
+ ye("div", he({
273
+ ref_key: "overlayRef",
274
+ ref: h,
275
+ class: "q-overlay__content",
276
+ tabindex: "-1",
277
+ role: O.value ? "dialog" : void 0
278
+ }, e.$attrs), [
279
+ t.arrow ? (u(), k(
280
+ "div",
281
+ {
282
+ key: 0,
283
+ ref_key: "arrowRef",
284
+ ref: y,
285
+ role: "presentation",
286
+ class: "q-overlay__arrow",
287
+ style: Q(J.value)
288
+ },
289
+ null,
290
+ 4
291
+ /* STYLE */
292
+ )) : m("v-if", !0),
293
+ we(e.$slots, "default")
294
+ ], 16, Te)
295
+ ]),
296
+ _: 3
297
+ /* FORWARDED */
298
+ }, 8, ["disabled", "options"])) : m("v-if", !0)
299
+ ]),
300
+ _: 3
301
+ /* FORWARDED */
302
+ })
303
+ ], 14, Ce)) : m("v-if", !0)
255
304
  ]),
256
305
  _: 3
257
306
  /* FORWARDED */
258
307
  }, 8, ["name"])
259
308
  ], 8, ["disabled", "to"])),
260
- N.value ? (u(), V(me(ve), { key: 0 })) : L("v-if", !0)
309
+ j.value ? (u(), B(T(Le), { key: 0 })) : m("v-if", !0)
261
310
  ],
262
311
  64
263
312
  /* STABLE_FRAGMENT */
@@ -265,5 +314,5 @@ const ke = ["id"], ge = ["role"], be = /* @__PURE__ */ ee({
265
314
  }
266
315
  });
267
316
  export {
268
- be as default
317
+ Ae as default
269
318
  };
@@ -22,6 +22,7 @@ declare const QOverlay: {
22
22
  trigger?: import('../../composables/overlay').Trigger;
23
23
  closeOnContentClick?: boolean;
24
24
  width?: "auto" | "anchor";
25
+ focusTrap?: boolean;
25
26
  }> & Readonly<{
26
27
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
27
28
  onEnter?: (() => any) | undefined;
@@ -42,6 +43,7 @@ declare const QOverlay: {
42
43
  crossOffset: number;
43
44
  trigger: import('../../composables/overlay').Trigger;
44
45
  }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
46
+ overlayContainerRef: HTMLDivElement;
45
47
  overlayRef: HTMLDivElement;
46
48
  arrowRef: HTMLDivElement;
47
49
  }, any, import('vue').ComponentProvideOptions, {
@@ -73,6 +75,7 @@ declare const QOverlay: {
73
75
  trigger?: import('../../composables/overlay').Trigger;
74
76
  closeOnContentClick?: boolean;
75
77
  width?: "auto" | "anchor";
78
+ focusTrap?: boolean;
76
79
  }> & Readonly<{
77
80
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
78
81
  onEnter?: (() => any) | undefined;
@@ -113,6 +116,7 @@ declare const QOverlay: {
113
116
  trigger?: import('../../composables/overlay').Trigger;
114
117
  closeOnContentClick?: boolean;
115
118
  width?: "auto" | "anchor";
119
+ focusTrap?: boolean;
116
120
  }> & Readonly<{
117
121
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
118
122
  onEnter?: (() => any) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/QOverlay/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAK5C,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6B,CAAA;AAG3C,OAAO,EAAE,QAAQ,EAAE,CAAA;AAGnB,YAAY,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/QOverlay/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAK5C,QAAA,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6B,CAAA;AAG3C,OAAO,EAAE,QAAQ,EAAE,CAAA;AAGnB,YAAY,EAAE,aAAa,EAAE,CAAA"}
@@ -1,6 +1,6 @@
1
+ import { QBaseComponentProps } from '../../types/component';
1
2
  import { Appearance, Placement, Trigger } from '../../composables/overlay';
2
3
  import { Selector } from '../../utils/getElement';
3
- import { QBaseComponentProps } from '../../types/component';
4
4
  export type QOverlayProps = QBaseComponentProps & {
5
5
  /**
6
6
  * The DOM element the overlay should be anchored to.
@@ -88,5 +88,10 @@ export type QOverlayProps = QBaseComponentProps & {
88
88
  * or matches the overlay's anchor.
89
89
  */
90
90
  width?: 'auto' | 'anchor';
91
+ /**
92
+ * Whether to enable focus trapping within the overlay.
93
+ * When enabled, focus will be constrained to elements within the overlay.
94
+ */
95
+ focusTrap?: boolean;
91
96
  };
92
97
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/QOverlay/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE5D,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG;IACjD;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAA;IAEjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;CACzB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/QOverlay/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD,MAAM,MAAM,aAAa,GAAG,mBAAmB,GAAG;IACjD;;OAEG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAA;IAEjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAA;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAA;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAAA;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;IAErB;;;OAGG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IAEb;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAEzB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA"}
@@ -23,10 +23,10 @@ declare function __VLS_template(): {
23
23
  readonly class?: string | unknown[] | undefined;
24
24
  readonly label?: string | undefined;
25
25
  readonly for?: string | undefined;
26
+ readonly required?: boolean | undefined;
26
27
  readonly size?: import('..').QFieldSize | undefined;
27
28
  readonly readonly?: boolean | undefined;
28
29
  readonly disabled?: boolean | undefined;
29
- readonly required?: boolean | undefined;
30
30
  readonly invalid?: boolean | undefined;
31
31
  readonly placeholder?: string | undefined;
32
32
  readonly clearable?: boolean | undefined;
@@ -49,10 +49,10 @@ declare function __VLS_template(): {
49
49
  readonly class?: string | unknown[] | undefined;
50
50
  readonly label?: string | undefined;
51
51
  readonly for?: string | undefined;
52
+ readonly required?: boolean | undefined;
52
53
  readonly size?: import('..').QFieldSize | undefined;
53
54
  readonly readonly?: boolean | undefined;
54
55
  readonly disabled?: boolean | undefined;
55
- readonly required?: boolean | undefined;
56
56
  readonly invalid?: boolean | undefined;
57
57
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
58
58
  $attrs: {
@@ -125,6 +125,7 @@ declare function __VLS_template(): {
125
125
  } & import('../../types/component').QBaseComponentProps & {
126
126
  label?: string;
127
127
  for?: string;
128
+ required?: boolean;
128
129
  } & {
129
130
  size?: import('..').QFieldSize;
130
131
  readonly?: boolean;
@@ -175,6 +176,7 @@ declare function __VLS_template(): {
175
176
  } & import('../../types/component').QBaseComponentProps & {
176
177
  label?: string;
177
178
  for?: string;
179
+ required?: boolean;
178
180
  } & {
179
181
  size?: import('..').QFieldSize;
180
182
  readonly?: boolean;
@@ -224,10 +226,10 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
224
226
  readonly class?: string | unknown[] | undefined;
225
227
  readonly label?: string | undefined;
226
228
  readonly for?: string | undefined;
229
+ readonly required?: boolean | undefined;
227
230
  readonly size?: import('..').QFieldSize | undefined;
228
231
  readonly readonly?: boolean | undefined;
229
232
  readonly disabled?: boolean | undefined;
230
- readonly required?: boolean | undefined;
231
233
  readonly invalid?: boolean | undefined;
232
234
  readonly placeholder?: string | undefined;
233
235
  readonly clearable?: boolean | undefined;
@@ -250,10 +252,10 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
250
252
  readonly class?: string | unknown[] | undefined;
251
253
  readonly label?: string | undefined;
252
254
  readonly for?: string | undefined;
255
+ readonly required?: boolean | undefined;
253
256
  readonly size?: import('..').QFieldSize | undefined;
254
257
  readonly readonly?: boolean | undefined;
255
258
  readonly disabled?: boolean | undefined;
256
- readonly required?: boolean | undefined;
257
259
  readonly invalid?: boolean | undefined;
258
260
  } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
259
261
  $attrs: {
@@ -326,6 +328,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
326
328
  } & import('../../types/component').QBaseComponentProps & {
327
329
  label?: string;
328
330
  for?: string;
331
+ required?: boolean;
329
332
  } & {
330
333
  size?: import('..').QFieldSize;
331
334
  readonly?: boolean;
@@ -376,6 +379,7 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
376
379
  } & import('../../types/component').QBaseComponentProps & {
377
380
  label?: string;
378
381
  for?: string;
382
+ required?: boolean;
379
383
  } & {
380
384
  size?: import('..').QFieldSize;
381
385
  readonly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"QPasswordField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QPasswordField/QPasswordField.vue"],"names":[],"mappings":"AA6DA;AAqLC,OAAO,KAAK,EAEX,mBAAmB,EAEnB,MAAM,SAAS,CAAA;AAKhB,KAAK,WAAW,GAAG,mBAAmB,CAAC;AA4FxC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,WAAW,CAAC;AAMhB,iBAAS,cAAc;WAkLT,OAAO,IAA6B;;iCAhBZ,GAAG;gCACJ,GAAG;yBACV,GAAG;wBACJ,GAAG;wBACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAwE4uT,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAvDj4T;AAwBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA8BuvT,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OArBh4T,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"QPasswordField.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QPasswordField/QPasswordField.vue"],"names":[],"mappings":"AA6DA;AAqLC,OAAO,KAAK,EAEX,mBAAmB,EAEnB,MAAM,SAAS,CAAA;AAKhB,KAAK,WAAW,GAAG,mBAAmB,CAAC;AA4FxC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,WAAW,CAAC;AAMhB,iBAAS,cAAc;WAkLT,OAAO,IAA6B;;iCAhBZ,GAAG;gCACJ,GAAG;yBACV,GAAG;wBACJ,GAAG;wBACH,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gDAwE4uT,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAvDj4T;AAwBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA8BuvT,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAAtH,GAAG,8CAA8C,GAAG,yBAAyB,GAAG,6DAAmC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OArBh4T,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -13,10 +13,10 @@ const Y = /* @__PURE__ */ S({
13
13
  class: {},
14
14
  label: {},
15
15
  for: {},
16
+ required: { type: Boolean },
16
17
  size: { default: "medium" },
17
18
  readonly: { type: Boolean },
18
19
  disabled: { type: Boolean },
19
- required: { type: Boolean },
20
20
  invalid: { type: Boolean },
21
21
  placeholder: {},
22
22
  toggle: { type: Boolean },