@quidgest/ui 0.20.1 → 0.21.1

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 (151) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +10 -0
  3. package/dist/json/api.json +219 -3
  4. package/dist/manifest/components.json +1 -0
  5. package/dist/ui.css +239 -248
  6. package/dist/ui.esm.js +1306 -1139
  7. package/dist/ui.js +788 -621
  8. package/dist/ui.min.css +1 -1
  9. package/dist/ui.min.js +788 -621
  10. package/dist/ui.scss +291 -34
  11. package/esm/components/QAccordion/QAccordionItem.vue.js +1 -1
  12. package/esm/components/QBadge/QBadge.d.ts.map +1 -1
  13. package/esm/components/QBadge/QBadge.vue.js +20 -24
  14. package/esm/components/QButton/QButton.d.ts.map +1 -1
  15. package/esm/components/QButton/QButton.vue.js +32 -29
  16. package/esm/components/QCheckbox/QCheckbox.vue.js +1 -1
  17. package/esm/components/QDialog/QDialog.d.ts +4 -2
  18. package/esm/components/QDialog/QDialog.d.ts.map +1 -1
  19. package/esm/components/QDialog/QDialog.vue.js +84 -74
  20. package/esm/components/QDialog/QDialogProvider.d.ts.map +1 -1
  21. package/esm/components/QDialog/QDialogProvider.vue.js +21 -12
  22. package/esm/components/QDialog/index.d.ts +72 -3
  23. package/esm/components/QDialog/index.d.ts.map +1 -1
  24. package/esm/components/QDialog/types.d.ts +10 -1
  25. package/esm/components/QDialog/types.d.ts.map +1 -1
  26. package/esm/components/QDismissibleLayer/QDismissibleLayer.d.ts.map +1 -1
  27. package/esm/components/QDismissibleLayer/QDismissibleLayer.vue.js +9 -8
  28. package/esm/components/QDivider/QDivider.d.ts.map +1 -1
  29. package/esm/components/QDivider/QDivider.vue.js +3 -3
  30. package/esm/components/QFileUpload/QFileUpload.vue.js +1 -1
  31. package/esm/components/QGauge/QGauge.vue.js +1 -1
  32. package/esm/components/QList/QListItem.d.ts.map +1 -1
  33. package/esm/components/QList/QListItem.vue.js +5 -2
  34. package/esm/components/QList/QListItemGroup.vue.js +1 -1
  35. package/esm/components/QObfuscation/QObfuscation.d.ts +1 -1
  36. package/esm/components/QObfuscation/QObfuscation.d.ts.map +1 -1
  37. package/esm/components/QObfuscation/QObfuscation.vue.js +53 -56
  38. package/esm/components/QObfuscation/index.d.ts +6 -6
  39. package/esm/components/QObfuscation/types.d.ts +1 -1
  40. package/esm/components/QObfuscation/types.d.ts.map +1 -1
  41. package/esm/components/QOverflow/QOverflow.d.ts +43 -0
  42. package/esm/components/QOverflow/QOverflow.d.ts.map +1 -0
  43. package/esm/components/QOverflow/QOverflow.vue.js +281 -0
  44. package/esm/components/QOverflow/QOverflow2.vue.js +5 -0
  45. package/esm/components/QOverflow/constants.d.ts +30 -0
  46. package/esm/components/QOverflow/constants.d.ts.map +1 -0
  47. package/esm/components/QOverflow/constants.js +12 -0
  48. package/esm/components/QOverflow/index.d.ts +58 -0
  49. package/esm/components/QOverflow/index.d.ts.map +1 -0
  50. package/esm/components/QOverflow/index.js +6 -0
  51. package/esm/components/QOverflow/types.d.ts +119 -0
  52. package/esm/components/QOverflow/types.d.ts.map +1 -0
  53. package/esm/components/QPhoneField/QPhoneField.d.ts.map +1 -1
  54. package/esm/components/QPhoneField/QPhoneField.vue.js +1 -1
  55. package/esm/components/QPropertyList/QPropertyListGroup.vue.js +1 -1
  56. package/esm/components/QPropertyList/QPropertyListRow.vue.js +1 -1
  57. package/esm/components/QPropertyList/index.d.ts.map +1 -1
  58. package/esm/components/QRadioGroup/QRadioButton.vue.js +1 -1
  59. package/esm/components/QRadioGroup/QRadioGroup.vue.js +2 -2
  60. package/esm/components/QSelect/QSelect.d.ts.map +1 -1
  61. package/esm/components/QSelect/QSelect.vue.js +1 -1
  62. package/esm/components/QSidebar/QSidebar.d.ts.map +1 -1
  63. package/esm/components/QSidebar/QSidebar.vue.js +19 -10
  64. package/esm/components/QSidebar/QSidebarItem.d.ts.map +1 -1
  65. package/esm/components/QSidebar/QSidebarItem.vue.js +51 -49
  66. package/esm/components/QSidebar/context.d.ts +7 -0
  67. package/esm/components/QSidebar/context.d.ts.map +1 -1
  68. package/esm/components/QSwitch/QSwitch.vue.js +1 -1
  69. package/esm/components/QTabs/QTab.d.ts.map +1 -1
  70. package/esm/components/QTabs/QTab.vue.js +52 -50
  71. package/esm/components/QTabs/QTabs.d.ts.map +1 -1
  72. package/esm/components/QTabs/QTabs.vue.js +37 -12
  73. package/esm/components/QTabs/context.d.ts +7 -0
  74. package/esm/components/QTabs/context.d.ts.map +1 -1
  75. package/esm/components/QTextArea/QTextArea.vue.js +1 -1
  76. package/esm/components/QTextField/QTextField.d.ts.map +1 -1
  77. package/esm/components/QTextField/QTextField.vue.js +1 -1
  78. package/esm/components/QThemeProvider/QThemeProvider.vue.js +1 -1
  79. package/esm/components/QToast/QToast.d.ts +4 -2
  80. package/esm/components/QToast/QToast.d.ts.map +1 -1
  81. package/esm/components/QToast/QToast.vue.js +80 -67
  82. package/esm/components/QToast/QToaster.d.ts.map +1 -1
  83. package/esm/components/QToast/QToaster.vue.js +21 -16
  84. package/esm/components/QToast/index.d.ts +39 -3
  85. package/esm/components/QToast/index.d.ts.map +1 -1
  86. package/esm/components/QToast/types.d.ts +6 -2
  87. package/esm/components/QToast/types.d.ts.map +1 -1
  88. package/esm/components/QToggleGroup/QToggleGroupItem.vue.js +1 -1
  89. package/esm/components/QTooltip/QTooltip.vue.js +1 -1
  90. package/esm/components/index.d.ts +1 -0
  91. package/esm/components/index.d.ts.map +1 -1
  92. package/esm/components/index.js +58 -56
  93. package/esm/composables/index.d.ts +2 -2
  94. package/esm/composables/index.d.ts.map +1 -1
  95. package/esm/composables/useColor/index.d.ts +46 -17
  96. package/esm/composables/useColor/index.d.ts.map +1 -1
  97. package/esm/composables/useColor/index.js +57 -29
  98. package/esm/composables/useColor/types.d.ts +4 -1
  99. package/esm/composables/useColor/types.d.ts.map +1 -1
  100. package/esm/composables/useDialog/_internal.d.ts +2 -0
  101. package/esm/composables/useDialog/_internal.d.ts.map +1 -0
  102. package/esm/composables/useDialog/_internal.js +65 -0
  103. package/esm/composables/useDialog/index.d.ts +11 -3
  104. package/esm/composables/useDialog/index.d.ts.map +1 -1
  105. package/esm/composables/useDialog/index.js +38 -22
  106. package/esm/composables/useDialog/types.d.ts +25 -11
  107. package/esm/composables/useDialog/types.d.ts.map +1 -1
  108. package/esm/composables/useDismissibleLayerStack/index.d.ts +17 -2
  109. package/esm/composables/useDismissibleLayerStack/index.d.ts.map +1 -1
  110. package/esm/composables/useDismissibleLayerStack/index.js +28 -11
  111. package/esm/composables/useGroup/index.d.ts.map +1 -1
  112. package/esm/composables/useGroup/index.js +12 -1
  113. package/esm/composables/useId/index.d.ts +18 -0
  114. package/esm/composables/useId/index.d.ts.map +1 -0
  115. package/esm/composables/useId/index.js +10 -0
  116. package/esm/composables/useToast/_internal.d.ts +2 -0
  117. package/esm/composables/useToast/_internal.d.ts.map +1 -0
  118. package/esm/composables/useToast/_internal.js +142 -0
  119. package/esm/composables/useToast/index.d.ts +8 -25
  120. package/esm/composables/useToast/index.d.ts.map +1 -1
  121. package/esm/composables/useToast/index.js +29 -26
  122. package/esm/composables/useToast/types.d.ts +31 -17
  123. package/esm/composables/useToast/types.d.ts.map +1 -1
  124. package/esm/framework.d.ts.map +1 -1
  125. package/esm/framework.js +16 -12
  126. package/esm/index.d.ts +1 -0
  127. package/esm/templates/theme.js +39 -39
  128. package/esm/utils/color/contrast.d.ts +11 -4
  129. package/esm/utils/color/contrast.d.ts.map +1 -1
  130. package/esm/utils/color/contrast.js +16 -3
  131. package/esm/utils/color/index.d.ts +1 -0
  132. package/esm/utils/color/index.d.ts.map +1 -1
  133. package/esm/utils/color/merge.d.ts +9 -0
  134. package/esm/utils/color/merge.d.ts.map +1 -1
  135. package/esm/utils/color/merge.js +21 -22
  136. package/esm/utils/color/parse.d.ts +21 -5
  137. package/esm/utils/color/parse.d.ts.map +1 -1
  138. package/esm/utils/color/parse.js +88 -20
  139. package/esm/utils/color/theme-colors.d.ts +35 -0
  140. package/esm/utils/color/theme-colors.d.ts.map +1 -0
  141. package/esm/utils/color/theme-colors.js +25 -0
  142. package/esm/utils/index.js +50 -42
  143. package/package.json +3 -5
  144. package/esm/composables/uid.d.ts +0 -9
  145. package/esm/composables/uid.d.ts.map +0 -1
  146. package/esm/composables/uid.js +0 -8
  147. package/esm/composables/useToast/types.js +0 -4
  148. package/esm/vendors/uuid/dist/native.js +0 -3
  149. package/esm/vendors/uuid/dist/rng.js +0 -11
  150. package/esm/vendors/uuid/dist/stringify.js +0 -8
  151. package/esm/vendors/uuid/dist/v4.js +0 -20
@@ -1 +1 @@
1
- {"version":3,"file":"QObfuscation.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QObfuscation/QObfuscation.vue"],"names":[],"mappings":"AAsFA;AA+RC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAW1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAcpC,KAAK,WAAW,GAAG,iBAAiB,CAAC;AA0LtC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAmLT,OAAO,IAA6B;;kBA9VtC,CAAC,KAAK,EAAE;YACjB,sBAAsB,EAAE,SAAS,CAAA;YACjC,MAAM,EAAE,MAAM,IAAI,CAAA;YAClB,QAAQ,EAAE,OAAO,CAAA;YACjB,OAAO,EAAE,OAAO,CAAA;SAChB,KAAK,OAAO;iBACJ,CAAC,KAAK,EAAE;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,IAAI,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO;eACjF,MAAM,OAAO;0BACF,MAAM,OAAO;yBACd,MAAM,OAAO;iBACrB,MAAM,OAAO;;kBAVZ,CAAC,KAAK,EAAE;YACjB,sBAAsB,EAAE,SAAS,CAAA;YACjC,MAAM,EAAE,MAAM,IAAI,CAAA;YAClB,QAAQ,EAAE,OAAO,CAAA;YACjB,OAAO,EAAE,OAAO,CAAA;SAChB,KAAK,OAAO;iBACJ,CAAC,KAAK,EAAE;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,IAAI,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO;eACjF,MAAM,OAAO;0BACF,MAAM,OAAO;yBACd,MAAM,OAAO;iBACrB,MAAM,OAAO;;;;EAyVvB;AAuBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;6EASnB,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":"QObfuscation.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QObfuscation/QObfuscation.vue"],"names":[],"mappings":"AAsFA;AA0RC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAW1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,GAAG,CAAA;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAcpC,KAAK,WAAW,GAAG,iBAAiB,CAAC;AAqLtC,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,WAAW,CAAC;AAKhB,iBAAS,cAAc;WAmLT,OAAO,IAA6B;;kBAzVtC,CAAC,KAAK,EAAE;YACjB,sBAAsB,EAAE,SAAS,CAAA;YACjC,MAAM,EAAE,MAAM,IAAI,CAAA;YAClB,QAAQ,EAAE,OAAO,CAAA;YACjB,OAAO,EAAE,OAAO,CAAA;SAChB,KAAK,OAAO;iBACJ,CAAC,KAAK,EAAE;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,IAAI,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO;eACjF,MAAM,OAAO;0BACF,MAAM,OAAO;yBACd,MAAM,OAAO;iBACrB,MAAM,OAAO;;kBAVZ,CAAC,KAAK,EAAE;YACjB,sBAAsB,EAAE,SAAS,CAAA;YACjC,MAAM,EAAE,MAAM,IAAI,CAAA;YAClB,QAAQ,EAAE,OAAO,CAAA;YACjB,OAAO,EAAE,OAAO,CAAA;SAChB,KAAK,OAAO;iBACJ,CAAC,KAAK,EAAE;YAAE,QAAQ,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,IAAI,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,KAAK,OAAO;eACjF,MAAM,OAAO;0BACF,MAAM,OAAO;yBACd,MAAM,OAAO;iBACrB,MAAM,OAAO;;;;EAoVvB;AAsBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;6EASnB,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,6 +1,6 @@
1
1
  import { QButton as e } from "../QButton/index.js";
2
2
  import { QIcon as t } from "../QIcon/index.js";
3
- import { useId as n } from "../../composables/uid.js";
3
+ import { useId as n } from "../../composables/useId/index.js";
4
4
  import { QField as r } from "../QField/index.js";
5
5
  import { DEFAULT_ICONS as i, DEFAULT_TEXTS as a } from "./constants.js";
6
6
  import { Fragment as o, computed as s, createBlock as c, createCommentVNode as l, createElementBlock as u, createElementVNode as d, createSlots as f, createTextVNode as p, createVNode as m, defineComponent as h, h as g, mergeModels as _, mergeProps as v, nextTick as y, normalizeClass as b, onBeforeMount as x, onBeforeUnmount as S, openBlock as C, ref as w, renderSlot as T, toDisplayString as E, unref as D, useModel as O, watch as k, withCtx as A } from "vue";
@@ -44,29 +44,26 @@ var j = ["id"], M = ["id"], N = {
44
44
  revealedModifiers: {}
45
45
  }),
46
46
  emits: /*@__PURE__*/ _(["reveal", "hide"], ["update:revealed"]),
47
- setup(i, { emit: _ }) {
48
- let P = i, F = _, I = O(i, "revealed"), L = n(), R = w(0), z = w(!1), B = s(() => ({
49
- ...a,
50
- ...P.texts
51
- })), V = s(() => P.revealable && I.value && !P.loading), H = s(() => R.value > 0), U = s(() => {
52
- if (!(V.value && (!z.value || H.value))) return P.label;
53
- }), W = s(() => V.value && z.value && !H.value), G = s(() => P.mask === "bullets" ? "•".repeat(P.bulletCount) : B.value.restricted), K = s(() => [
47
+ setup(i, { emit: a }) {
48
+ let _ = i, P = a, F = O(i, "revealed"), I = n(), L = w(0), R = w(!1), z = s(() => _.revealable && F.value && !_.loading), B = s(() => L.value > 0), V = s(() => {
49
+ if (!(z.value && (!R.value || B.value))) return _.label;
50
+ }), H = s(() => z.value && R.value && !B.value), U = s(() => _.mask === "bullets" ? "•".repeat(_.bulletCount) : _.texts.restricted), W = s(() => [
54
51
  "q-obfuscation",
55
52
  {
56
- "q-obfuscation--revealable": P.revealable,
57
- "q-obfuscation--revealed": V.value,
58
- "q-obfuscation--loading": P.loading
53
+ "q-obfuscation--revealable": _.revealable,
54
+ "q-obfuscation--revealed": z.value,
55
+ "q-obfuscation--loading": _.loading
59
56
  },
60
- P.class
57
+ _.class
61
58
  ]);
62
- k(V, async (e) => {
59
+ k(z, async (e) => {
63
60
  if (!e) {
64
- z.value = !1;
61
+ R.value = !1;
65
62
  return;
66
63
  }
67
- z.value = !1, await y(), z.value = !0;
64
+ R.value = !1, await y(), R.value = !0;
68
65
  }, { immediate: !0 });
69
- let q = h({
66
+ let G = h({
70
67
  name: "QObfuscationHideAction",
71
68
  props: { track: {
72
69
  type: Boolean,
@@ -74,92 +71,92 @@ var j = ["id"], M = ["id"], N = {
74
71
  } },
75
72
  setup(n) {
76
73
  return n.track && (x(() => {
77
- R.value++;
74
+ L.value++;
78
75
  }), S(() => {
79
- R.value--;
76
+ L.value--;
80
77
  })), () => g(e, {
81
78
  variant: "text",
82
79
  borderless: !0,
83
80
  size: "small",
84
81
  class: "q-obfuscation__label-action",
85
- disabled: P.disabled,
86
- title: B.value.hideData,
87
- "aria-label": B.value.hideData,
82
+ disabled: _.disabled,
83
+ title: _.texts.hideData,
84
+ "aria-label": _.texts.hideData,
88
85
  "aria-expanded": !0,
89
- "aria-controls": L.value,
86
+ "aria-controls": I.value,
90
87
  "data-testid": "q-obfuscation__hide",
91
- onClick: J
88
+ onClick: K
92
89
  }, () => g(t, {
93
- ...P.icons.hide,
90
+ ..._.icons.hide,
94
91
  class: "q-obfuscation__icon"
95
92
  }));
96
93
  }
97
94
  });
98
- function J() {
99
- !P.revealable || P.loading || (I.value = !I.value, I.value ? F("reveal") : F("hide"));
95
+ function K() {
96
+ !_.revealable || _.loading || (F.value = !F.value, F.value ? P("reveal") : P("hide"));
100
97
  }
101
98
  return (n, i) => (C(), c(D(r), {
102
- id: P.id,
103
- class: b(K.value),
104
- for: P.for ?? D(L),
105
- label: U.value,
106
- "label-position": P.labelPosition,
107
- size: P.size,
108
- readonly: P.readonly,
109
- disabled: P.disabled,
110
- required: P.required,
111
- invalid: P.invalid
99
+ id: _.id,
100
+ class: b(W.value),
101
+ for: _.for ?? D(I),
102
+ label: V.value,
103
+ "label-position": _.labelPosition,
104
+ size: _.size,
105
+ readonly: _.readonly,
106
+ disabled: _.disabled,
107
+ required: _.required,
108
+ invalid: _.invalid
112
109
  }, f({
113
110
  "label.prepend": A(() => [T(n.$slots, "label.prepend")]),
114
111
  "label.append": A(() => [
115
112
  T(n.$slots, "label.append"),
116
113
  l(" Own padlock only when the consumer did not place QObfuscationHideAction "),
117
- W.value ? (C(), c(D(q), {
114
+ H.value ? (C(), c(D(G), {
118
115
  key: 0,
119
116
  track: !1
120
117
  })) : l("v-if", !0)
121
118
  ]),
122
- control: A(() => [l(" Revealed: slot content; place QObfuscationHideAction on the field label to own it "), V.value ? (C(), u("div", {
119
+ control: A(() => [l(" Revealed: slot content; place QObfuscationHideAction on the field label to own it "), z.value ? (C(), u("div", {
123
120
  key: 0,
124
- id: D(L),
121
+ id: D(I),
125
122
  class: "q-obfuscation__content"
126
123
  }, [T(n.$slots, "default", {
127
- qObfuscationHideAction: D(q),
128
- toggle: J,
129
- revealed: I.value,
130
- loading: P.loading
124
+ qObfuscationHideAction: D(G),
125
+ toggle: K,
126
+ revealed: F.value,
127
+ loading: _.loading
131
128
  })], 8, j)) : (C(), u(o, { key: 1 }, [l(" Masked / loading: QObfuscation label + control surface "), d("div", {
132
- id: D(L),
129
+ id: D(I),
133
130
  class: "q-field__control q-obfuscation__value"
134
- }, [P.revealable ? T(n.$slots, "reveal", {
131
+ }, [_.revealable ? T(n.$slots, "reveal", {
135
132
  key: 0,
136
- revealed: I.value,
137
- toggle: J,
138
- loading: P.loading
133
+ revealed: F.value,
134
+ toggle: K,
135
+ loading: _.loading
139
136
  }, () => [m(D(e), {
140
137
  variant: "text",
141
138
  borderless: "",
142
139
  block: "",
143
140
  class: "q-obfuscation__action",
144
- disabled: P.disabled,
145
- loading: P.loading,
146
- label: B.value.showData,
141
+ disabled: _.disabled,
142
+ loading: _.loading,
143
+ label: _.texts.showData,
147
144
  "aria-expanded": !1,
148
- "aria-controls": D(L),
145
+ "aria-controls": D(I),
149
146
  "data-testid": "q-obfuscation__reveal",
150
- onClick: J
147
+ onClick: K
151
148
  }, {
152
- default: A(() => [m(D(t), v(P.icons.show, { class: "q-obfuscation__icon" }), null, 16)]),
149
+ default: A(() => [m(D(t), v(_.icons.show, { class: "q-obfuscation__icon" }), null, 16)]),
153
150
  _: 1
154
151
  }, 8, [
155
152
  "disabled",
156
153
  "loading",
157
154
  "label",
158
155
  "aria-controls"
159
- ])]) : (C(), u("span", N, [m(D(t), v(P.icons.restricted, {
156
+ ])]) : (C(), u("span", N, [m(D(t), v(_.icons.restricted, {
160
157
  class: "q-obfuscation__icon",
161
158
  "aria-hidden": "true"
162
- }), null, 16), T(n.$slots, "mask", {}, () => [p(E(G.value), 1)])]))], 8, M)], 2112))]),
159
+ }), null, 16), T(n.$slots, "mask", {}, () => [p(E(U.value), 1)])]))], 8, M)], 2112))]),
163
160
  _: 2
164
161
  }, [n.$slots.extras ? {
165
162
  name: "extras",
@@ -18,7 +18,7 @@ declare const QObfuscation: {
18
18
  mask?: import('./types').QObfuscationMask;
19
19
  bulletCount?: number;
20
20
  icons?: typeof import('./constants').DEFAULT_ICONS;
21
- texts?: Partial<typeof import('./constants').DEFAULT_TEXTS>;
21
+ texts?: typeof import('./constants').DEFAULT_TEXTS;
22
22
  }> & Readonly<{
23
23
  onHide?: (() => any) | undefined;
24
24
  onReveal?: (() => any) | undefined;
@@ -34,7 +34,7 @@ declare const QObfuscation: {
34
34
  mask: import('./types').QObfuscationMask;
35
35
  loading: boolean;
36
36
  icons: typeof import('./constants').DEFAULT_ICONS;
37
- texts: Partial<typeof import('./constants').DEFAULT_TEXTS>;
37
+ texts: typeof import('./constants').DEFAULT_TEXTS;
38
38
  labelPosition: import('..').QLabelPosition;
39
39
  revealable: boolean;
40
40
  bulletCount: number;
@@ -64,7 +64,7 @@ declare const QObfuscation: {
64
64
  mask?: import('./types').QObfuscationMask;
65
65
  bulletCount?: number;
66
66
  icons?: typeof import('./constants').DEFAULT_ICONS;
67
- texts?: Partial<typeof import('./constants').DEFAULT_TEXTS>;
67
+ texts?: typeof import('./constants').DEFAULT_TEXTS;
68
68
  }> & Readonly<{
69
69
  onHide?: (() => any) | undefined;
70
70
  onReveal?: (() => any) | undefined;
@@ -75,7 +75,7 @@ declare const QObfuscation: {
75
75
  mask: import('./types').QObfuscationMask;
76
76
  loading: boolean;
77
77
  icons: typeof import('./constants').DEFAULT_ICONS;
78
- texts: Partial<typeof import('./constants').DEFAULT_TEXTS>;
78
+ texts: typeof import('./constants').DEFAULT_TEXTS;
79
79
  labelPosition: import('..').QLabelPosition;
80
80
  revealable: boolean;
81
81
  bulletCount: number;
@@ -102,7 +102,7 @@ declare const QObfuscation: {
102
102
  mask?: import('./types').QObfuscationMask;
103
103
  bulletCount?: number;
104
104
  icons?: typeof import('./constants').DEFAULT_ICONS;
105
- texts?: Partial<typeof import('./constants').DEFAULT_TEXTS>;
105
+ texts?: typeof import('./constants').DEFAULT_TEXTS;
106
106
  }> & Readonly<{
107
107
  onHide?: (() => any) | undefined;
108
108
  onReveal?: (() => any) | undefined;
@@ -118,7 +118,7 @@ declare const QObfuscation: {
118
118
  mask: import('./types').QObfuscationMask;
119
119
  loading: boolean;
120
120
  icons: typeof import('./constants').DEFAULT_ICONS;
121
- texts: Partial<typeof import('./constants').DEFAULT_TEXTS>;
121
+ texts: typeof import('./constants').DEFAULT_TEXTS;
122
122
  labelPosition: import('..').QLabelPosition;
123
123
  revealable: boolean;
124
124
  bulletCount: number;
@@ -39,6 +39,6 @@ export type QObfuscationProps = QFieldProps & {
39
39
  *
40
40
  * @category Configuration
41
41
  */
42
- texts?: Partial<typeof DEFAULT_TEXTS>;
42
+ texts?: typeof DEFAULT_TEXTS;
43
43
  };
44
44
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/QObfuscation/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE/D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAAA;AAEvD,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC7C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAA;IAEvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,aAAa,CAAA;IAE5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,aAAa,CAAC,CAAA;CACrC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/QObfuscation/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE/D,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAAA;AAEvD,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC7C;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,gBAAgB,CAAA;IAEvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,aAAa,CAAA;IAE5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,aAAa,CAAA;CAC5B,CAAA"}
@@ -0,0 +1,43 @@
1
+ import { DEFAULT_ICONS } from './constants';
2
+ import { QOverflowProps } from './types';
3
+ declare function __VLS_template(): {
4
+ attrs: Partial<{}>;
5
+ slots: {
6
+ prev?(_: {
7
+ disabled: boolean;
8
+ onClick: () => void;
9
+ }): any;
10
+ default?(_: {}): any;
11
+ next?(_: {
12
+ disabled: boolean;
13
+ onClick: () => void;
14
+ }): any;
15
+ };
16
+ refs: {
17
+ viewportRef: HTMLDivElement;
18
+ contentRef: HTMLDivElement;
19
+ };
20
+ rootEl: HTMLDivElement;
21
+ };
22
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
23
+ declare const __VLS_component: import('vue').DefineComponent<QOverflowProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<QOverflowProps> & Readonly<{}>, {
24
+ icons: typeof DEFAULT_ICONS;
25
+ texts: import('./constants').QOverflowTexts;
26
+ direction: import('./types').QOverflowDirection;
27
+ arrowPlacement: import('./types').QOverflowArrowPlacement;
28
+ arrowVisibility: import('./types').QOverflowArrowVisibility;
29
+ scrollMode: import('./types').QOverflowScrollMode;
30
+ scrollStep: number;
31
+ remapWheel: boolean;
32
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
33
+ viewportRef: HTMLDivElement;
34
+ contentRef: HTMLDivElement;
35
+ }, HTMLDivElement>;
36
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
37
+ export default _default;
38
+ type __VLS_WithTemplateSlots<T, S> = T & {
39
+ new (): {
40
+ $slots: S;
41
+ };
42
+ };
43
+ //# sourceMappingURL=QOverflow.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QOverflow.vue.d.ts","sourceRoot":"","sources":["../../../src/components/QOverflow/QOverflow.vue"],"names":[],"mappings":"AA6DA;AAkkBC,OAAO,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAA;AAU1D,OAAO,KAAK,EAAyB,cAAc,EAAE,MAAM,SAAS,CAAA;AAkgBrE,iBAAS,cAAc;WAyIT,OAAO,IAA6B;;;;;YAdxB,GAAG;yBACC,GAAG;;;;YACN,GAAG;;;;;;;EAiB7B;AAwBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;;;;;;;;kBASnB,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"}
@@ -0,0 +1,281 @@
1
+ import { QButton as e } from "../QButton/index.js";
2
+ import { QIcon as t } from "../QIcon/index.js";
3
+ import { useId as n } from "../../composables/useId/index.js";
4
+ import { DEFAULT_ICONS as r, DEFAULT_TEXTS as i } from "./constants.js";
5
+ import { computed as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, guardReactiveProps as d, mergeProps as f, nextTick as ee, normalizeClass as p, normalizeProps as m, onBeforeUnmount as h, onMounted as g, openBlock as _, ref as v, renderSlot as y, toRef as b, unref as x, watch as S, withCtx as C } from "vue";
6
+ //#region src/components/QOverflow/QOverflow.vue?vue&type=script&setup=true&lang.ts
7
+ var w = [
8
+ "id",
9
+ "role",
10
+ "aria-label"
11
+ ], T = {
12
+ key: 0,
13
+ class: "q-overflow__control q-overflow__control--prev"
14
+ }, te = ["tabindex"], ne = {
15
+ key: 1,
16
+ class: "q-overflow__control q-overflow__control--next"
17
+ }, E = 1, D = /*@__PURE__*/ u({
18
+ __name: "QOverflow",
19
+ props: {
20
+ id: {},
21
+ class: {},
22
+ direction: { default: "horizontal" },
23
+ arrowPlacement: { default: "outside" },
24
+ arrowVisibility: { default: "always" },
25
+ scrollMode: { default: "page" },
26
+ scrollStep: { default: 200 },
27
+ remapWheel: {
28
+ type: Boolean,
29
+ default: !1
30
+ },
31
+ icons: { default: () => r },
32
+ texts: { default: () => i }
33
+ },
34
+ setup(r) {
35
+ let i = r, u = n(b(i, "id")), D = v(null), O = v(null), k = v(!1), A = v(!1), j = null, M = null, N = !1, P = a(() => i.direction === "horizontal"), F = a(() => k.value || A.value), I = a(() => P.value ? i.icons.back : i.icons.up), L = a(() => P.value ? i.icons.forward : i.icons.down), R = a(() => i.texts.regionLabel || void 0), z = a(() => R.value ? "region" : void 0), B = a(() => [
36
+ "q-overflow",
37
+ `q-overflow--${i.direction}`,
38
+ `q-overflow--arrows-${i.arrowPlacement}`,
39
+ `q-overflow--arrows-${i.arrowVisibility}`,
40
+ {
41
+ "q-overflow--overflowing": F.value,
42
+ "q-overflow--can-scroll-start": k.value,
43
+ "q-overflow--can-scroll-end": A.value
44
+ },
45
+ i.class
46
+ ]), V = a(() => ({
47
+ disabled: !k.value,
48
+ onClick: Y
49
+ })), H = a(() => ({
50
+ disabled: !A.value,
51
+ onClick: X
52
+ }));
53
+ function U(e) {
54
+ return P.value ? {
55
+ position: e.scrollLeft,
56
+ size: e.clientWidth,
57
+ scrollSize: e.scrollWidth
58
+ } : {
59
+ position: e.scrollTop,
60
+ size: e.clientHeight,
61
+ scrollSize: e.scrollHeight
62
+ };
63
+ }
64
+ function W() {
65
+ let e = D.value;
66
+ if (!e) return;
67
+ let { position: t, size: n, scrollSize: r } = U(e), i = Math.max(0, r - n);
68
+ k.value = t > E, A.value = t < i - E;
69
+ }
70
+ function re() {
71
+ return typeof window < "u" && window.matchMedia("(prefers-reduced-motion: reduce)").matches ? "auto" : "smooth";
72
+ }
73
+ function G(e) {
74
+ let t = D.value;
75
+ if (!t) return;
76
+ let n = re();
77
+ P.value ? t.scrollTo({
78
+ left: e,
79
+ behavior: n
80
+ }) : t.scrollTo({
81
+ top: e,
82
+ behavior: n
83
+ });
84
+ }
85
+ function ie(e) {
86
+ return P.value ? e.clientWidth : e.clientHeight;
87
+ }
88
+ function ae() {
89
+ return Math.max(0, i.scrollStep);
90
+ }
91
+ function K() {
92
+ let e = O.value;
93
+ return e ? Array.from(e.children).filter((e) => e instanceof HTMLElement) : [];
94
+ }
95
+ function q(e, t, n, r) {
96
+ let i = Math.max(0, r - n), a = e + t / 2 - n / 2;
97
+ return Math.min(i, Math.max(0, a));
98
+ }
99
+ function oe(e) {
100
+ let t = D.value;
101
+ if (!t) return null;
102
+ let n = K();
103
+ if (!n.length) return null;
104
+ let { position: r, size: i, scrollSize: a } = U(t), o = r, s = r + i, c = Math.max(0, a - i);
105
+ if (e > 0) {
106
+ for (let e of n) {
107
+ let t = P.value ? e.offsetLeft : e.offsetTop, n = P.value ? e.offsetWidth : e.offsetHeight;
108
+ if (t + n > s + E) {
109
+ let e = q(t, n, i, a);
110
+ if (Math.abs(e - r) > E) return e;
111
+ }
112
+ }
113
+ return c - r > E ? c : null;
114
+ }
115
+ for (let e = n.length - 1; e >= 0; e--) {
116
+ let t = n[e], s = P.value ? t.offsetLeft : t.offsetTop, c = P.value ? t.offsetWidth : t.offsetHeight;
117
+ if (s < o - E) {
118
+ let e = q(s, c, i, a);
119
+ if (Math.abs(e - r) > E) return e;
120
+ }
121
+ }
122
+ return r > E ? 0 : null;
123
+ }
124
+ function J(e) {
125
+ let t = D.value;
126
+ if (!t) return;
127
+ let { position: n } = U(t);
128
+ if (i.scrollMode === "item") {
129
+ let t = oe(e);
130
+ if (t === null) return;
131
+ G(t);
132
+ return;
133
+ }
134
+ G(n + e * (i.scrollMode === "page" ? ie(t) : ae()));
135
+ }
136
+ function Y() {
137
+ J(-1);
138
+ }
139
+ function X() {
140
+ J(1);
141
+ }
142
+ function se() {
143
+ G(0);
144
+ }
145
+ function ce() {
146
+ let e = D.value;
147
+ if (!e) return;
148
+ let { size: t, scrollSize: n } = U(e);
149
+ G(Math.max(0, n - t));
150
+ }
151
+ function le(e) {
152
+ if (e.target !== e.currentTarget || !F.value) return;
153
+ let t = P.value;
154
+ switch (e.key) {
155
+ case "ArrowLeft":
156
+ if (!t) return;
157
+ e.preventDefault(), Y();
158
+ break;
159
+ case "ArrowRight":
160
+ if (!t) return;
161
+ e.preventDefault(), X();
162
+ break;
163
+ case "ArrowUp":
164
+ if (t) return;
165
+ e.preventDefault(), Y();
166
+ break;
167
+ case "ArrowDown":
168
+ if (t) return;
169
+ e.preventDefault(), X();
170
+ break;
171
+ case "Home":
172
+ e.preventDefault(), se();
173
+ break;
174
+ case "End":
175
+ e.preventDefault(), ce();
176
+ break;
177
+ }
178
+ }
179
+ function Z(e) {
180
+ if (!P.value) return;
181
+ let t = D.value;
182
+ if (!t || Math.abs(e.deltaY) <= Math.abs(e.deltaX)) return;
183
+ let { position: n, size: r, scrollSize: i } = U(t), a = Math.max(0, i - r);
184
+ if (a <= 0) return;
185
+ let o = Math.min(a, Math.max(0, n + e.deltaY));
186
+ o !== n && (e.preventDefault(), t.scrollLeft = o, W());
187
+ }
188
+ function Q() {
189
+ let e = D.value;
190
+ if (!e) return;
191
+ let t = i.remapWheel && P.value;
192
+ if (t && !N) {
193
+ e.addEventListener("wheel", Z, { passive: !1 }), N = !0;
194
+ return;
195
+ }
196
+ !t && N && (e.removeEventListener("wheel", Z), N = !1);
197
+ }
198
+ function $() {
199
+ j?.disconnect();
200
+ let e = D.value, t = O.value;
201
+ if (!(!e || !t)) {
202
+ j ||= new ResizeObserver(() => {
203
+ W();
204
+ }), j.observe(e), j.observe(t);
205
+ for (let e of K()) j.observe(e);
206
+ }
207
+ }
208
+ function ue() {
209
+ M?.disconnect();
210
+ let e = O.value;
211
+ e && (M ||= new MutationObserver(() => {
212
+ $(), W();
213
+ }), M.observe(e, { childList: !0 }));
214
+ }
215
+ return g(() => {
216
+ Q(), $(), ue(), W();
217
+ }), h(() => {
218
+ let e = D.value;
219
+ N && e && (e.removeEventListener("wheel", Z), N = !1), j?.disconnect(), j = null, M?.disconnect(), M = null;
220
+ }), S(() => [
221
+ i.direction,
222
+ i.scrollMode,
223
+ i.scrollStep
224
+ ], async () => {
225
+ await ee(), $(), W();
226
+ }), S(() => [i.remapWheel, i.direction], () => {
227
+ Q();
228
+ }), (n, r) => (_(), s("div", {
229
+ id: x(u),
230
+ class: p(B.value),
231
+ role: z.value,
232
+ "aria-label": R.value
233
+ }, [
234
+ F.value ? (_(), s("div", T, [y(n.$slots, "prev", m(d(V.value)), () => [l(x(e), {
235
+ class: "q-overflow__button",
236
+ variant: "ghost",
237
+ "data-testid": "q-overflow-prev",
238
+ disabled: V.value.disabled,
239
+ "aria-label": i.texts.previousText,
240
+ onClick: V.value.onClick
241
+ }, {
242
+ default: C(() => [l(x(t), f({ class: "q-overflow__icon" }, I.value), null, 16)]),
243
+ _: 1
244
+ }, 8, [
245
+ "disabled",
246
+ "aria-label",
247
+ "onClick"
248
+ ])])])) : o("v-if", !0),
249
+ c("div", {
250
+ ref_key: "viewportRef",
251
+ ref: D,
252
+ class: "q-overflow__viewport",
253
+ "data-testid": "q-overflow-viewport",
254
+ tabindex: F.value ? 0 : void 0,
255
+ onScroll: W,
256
+ onKeydown: le
257
+ }, [c("div", {
258
+ ref_key: "contentRef",
259
+ ref: O,
260
+ class: "q-overflow__content"
261
+ }, [y(n.$slots, "default")], 512)], 40, te),
262
+ F.value ? (_(), s("div", ne, [y(n.$slots, "next", m(d(H.value)), () => [l(x(e), {
263
+ class: "q-overflow__button",
264
+ variant: "ghost",
265
+ "data-testid": "q-overflow-next",
266
+ disabled: H.value.disabled,
267
+ "aria-label": i.texts.nextText,
268
+ onClick: H.value.onClick
269
+ }, {
270
+ default: C(() => [l(x(t), f({ class: "q-overflow__icon" }, L.value), null, 16)]),
271
+ _: 1
272
+ }, 8, [
273
+ "disabled",
274
+ "aria-label",
275
+ "onClick"
276
+ ])])])) : o("v-if", !0)
277
+ ], 10, w));
278
+ }
279
+ });
280
+ //#endregion
281
+ export { D as default };
@@ -0,0 +1,5 @@
1
+ import e from "./QOverflow.vue.js";
2
+ //#region src/components/QOverflow/QOverflow.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,30 @@
1
+ /** Default icons for overflow navigation controls. */
2
+ export declare const DEFAULT_ICONS: {
3
+ back: {
4
+ icon: string;
5
+ };
6
+ forward: {
7
+ icon: string;
8
+ };
9
+ up: {
10
+ icon: string;
11
+ };
12
+ down: {
13
+ icon: string;
14
+ };
15
+ };
16
+ /** Default accessible strings for navigation controls. */
17
+ export declare const DEFAULT_TEXTS: {
18
+ previousText: string;
19
+ nextText: string;
20
+ };
21
+ /**
22
+ * Accessible copy for {@link QOverflow}, including an optional region name.
23
+ *
24
+ * When `regionLabel` is set, the root gets `role="region"` and that accessible name
25
+ * (a landmark). Omit it (the default) for a plain root with no landmark role.
26
+ */
27
+ export type QOverflowTexts = typeof DEFAULT_TEXTS & {
28
+ regionLabel?: string;
29
+ };
30
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/QOverflow/constants.ts"],"names":[],"mappings":"AAGA,sDAAsD;AACtD,eAAO,MAAM,aAAa;;;;;;;;;;;;;CAaM,CAAA;AAEhC,0DAA0D;AAC1D,eAAO,MAAM,aAAa;;;CAGQ,CAAA;AAElC;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,aAAa,GAAG;IACnD,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA"}
@@ -0,0 +1,12 @@
1
+ //#region src/components/QOverflow/constants.ts
2
+ var e = {
3
+ back: { icon: "chevron-left" },
4
+ forward: { icon: "chevron-right" },
5
+ up: { icon: "chevron-up" },
6
+ down: { icon: "chevron-down" }
7
+ }, t = {
8
+ previousText: "Previous",
9
+ nextText: "Next"
10
+ };
11
+ //#endregion
12
+ export { e as DEFAULT_ICONS, t as DEFAULT_TEXTS };