bitboss-ui 2.0.37 → 2.0.39

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 (352) hide show
  1. package/dist/components/BaseButton/BaseButton.vue.d.ts +14 -31
  2. package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +19 -50
  3. package/dist/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +28 -244
  4. package/dist/components/BaseColorInput/BaseColorInput.vue.d.ts +100 -0
  5. package/dist/components/BaseDatePicker/BaseDatePicker.vue.d.ts +6 -28
  6. package/dist/components/BaseDatePicker/BaseDatePickerHeader.vue.d.ts +5 -15
  7. package/dist/components/BaseDatePicker/BaseDatePickerInputDaySelector.vue.d.ts +30 -31
  8. package/dist/components/BaseDatePicker/BaseDatePickerMonthSelector.vue.d.ts +4 -14
  9. package/dist/components/BaseDatePicker/BaseDatePickerYearSelector.vue.d.ts +4 -14
  10. package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +168 -52
  11. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +25 -45
  12. package/dist/components/BaseInputContainer/BaseInputContainer.vue.d.ts +10 -35
  13. package/dist/components/BaseNumberInput/BaseNumberInput.vue.d.ts +16 -49
  14. package/dist/components/BaseRadio/BaseRadio.vue.d.ts +15 -34
  15. package/dist/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +28 -247
  16. package/dist/components/BaseRating/BaseRating.vue.d.ts +15 -46
  17. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +348 -59
  18. package/dist/components/BaseSlider/BaseSlider.vue.d.ts +19 -53
  19. package/dist/components/BaseSwitch/BaseSwitch.vue.d.ts +15 -46
  20. package/dist/components/BaseSwitchGroup/BaseSwitchGroup.vue.d.ts +32 -244
  21. package/dist/components/BaseTag/BaseTag.vue.d.ts +214 -50
  22. package/dist/components/BaseTextInput/BaseTextInput.vue.d.ts +15 -44
  23. package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +13 -30
  24. package/dist/components/BbAccordion/BbAccordion.vue.d.ts +31 -45
  25. package/dist/components/BbAlert/BbAlert.vue.d.ts +26 -43
  26. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +15 -28
  27. package/dist/components/BbBadge/BbBadge.vue.d.ts +13 -24
  28. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +51 -66
  29. package/dist/components/BbButton/BbButton.vue.d.ts +13 -31
  30. package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +30 -65
  31. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +36 -279
  32. package/dist/components/BbChip/BbChip.vue.d.ts +15 -32
  33. package/dist/components/BbCollapsible/BbCollapsible.vue.d.ts +13 -30
  34. package/dist/components/BbColorInput/BbColorInput.vue.d.ts +124 -0
  35. package/dist/components/BbConfirm/BbConfirm.vue.d.ts +24 -17
  36. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +36 -51
  37. package/dist/components/BbDialog/BbDialog.vue.d.ts +14 -29
  38. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +169 -193
  39. package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +190 -209
  40. package/dist/components/BbDropzone/BbDropzone.vue.d.ts +32 -45
  41. package/dist/components/BbIcon/BbIcon.vue.d.ts +2 -24
  42. package/dist/components/BbIntersection/BbIntersection.vue.d.ts +27 -50
  43. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +102 -54
  44. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +26 -48
  45. package/dist/components/BbPagination/BbPagination.vue.d.ts +35 -55
  46. package/dist/components/BbPopover/BbPopover.vue.d.ts +71 -93
  47. package/dist/components/BbProgress/BbProgress.vue.d.ts +2 -27
  48. package/dist/components/BbRadio/BbRadio.vue.d.ts +30 -63
  49. package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +38 -281
  50. package/dist/components/BbRating/BbRating.vue.d.ts +23 -56
  51. package/dist/components/BbRatio/BbRatio.vue.d.ts +14 -31
  52. package/dist/components/BbSelect/BbSelect.vue.d.ts +16 -158
  53. package/dist/components/BbSlider/BbSlider.vue.d.ts +23 -54
  54. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +12 -34
  55. package/dist/components/BbSpinner/BbSpinner.vue.d.ts +2 -24
  56. package/dist/components/BbSwitch/BbSwitch.vue.d.ts +30 -63
  57. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +38 -278
  58. package/dist/components/BbTab/BbTab.vue.d.ts +92 -107
  59. package/dist/components/BbTable/BbTable.vue.d.ts +93 -134
  60. package/dist/components/BbTable/types.d.ts +0 -1
  61. package/dist/components/BbTag/BbTag.vue.d.ts +13 -46
  62. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +21 -40
  63. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +21 -40
  64. package/dist/components/BbToast/BbToast.vue.d.ts +3 -24
  65. package/dist/components/BbToast/BbToastMessage.vue.d.ts +5 -27
  66. package/dist/components/BbTooltip/BbTooltip.vue.d.ts +15 -36
  67. package/dist/components/BbTree/BbTree.vue.d.ts +9 -29
  68. package/dist/components/ChipsBox.vue.d.ts +6 -16
  69. package/dist/components/CommaBox.vue.d.ts +6 -16
  70. package/dist/components/CommonFloating.vue.d.ts +14 -26
  71. package/dist/components/CommonInputInnerContainer.vue.d.ts +16 -15
  72. package/dist/components/CommonInputOuterContainer.vue.d.ts +12 -5
  73. package/dist/components/ErrorIcon.vue.d.ts +1 -1
  74. package/dist/components/ListBox.vue.d.ts +30 -47
  75. package/dist/components/OptionsContainer.vue.d.ts +30 -90
  76. package/dist/components/Transitions/Slide.vue.d.ts +12 -30
  77. package/dist/components/Transitions/SlideBack.vue.d.ts +12 -30
  78. package/dist/composables/useArray.d.ts +0 -1
  79. package/dist/composables/useBroadcastChannelInstance.d.ts +2 -2
  80. package/dist/composables/useConfirm.d.ts +0 -1
  81. package/dist/composables/useOptions.d.ts +0 -1
  82. package/dist/composables/useRoute.d.ts +0 -1
  83. package/dist/composables/useRouter.d.ts +0 -1
  84. package/dist/composables/useToast.d.ts +1 -2
  85. package/dist/composables/useWizard.d.ts +1 -2
  86. package/dist/index.d.ts +4 -1
  87. package/dist/index.js +142 -136
  88. package/dist/index100.js +129 -54
  89. package/dist/index102.js +66 -79
  90. package/dist/index104.js +85 -280
  91. package/dist/index106.js +108 -390
  92. package/dist/index108.js +280 -102
  93. package/dist/index11.js +1 -1
  94. package/dist/index110.js +391 -95
  95. package/dist/index112.js +55 -50
  96. package/dist/index114.js +106 -23
  97. package/dist/index116.js +101 -156
  98. package/dist/index118.js +22 -114
  99. package/dist/index12.js +6 -6
  100. package/dist/index120.js +143 -34
  101. package/dist/index122.js +116 -40
  102. package/dist/index124.js +36 -31
  103. package/dist/index125.js +44 -2
  104. package/dist/index126.js +44 -21
  105. package/dist/index127.js +47 -2
  106. package/dist/index128.js +32 -313
  107. package/dist/index129.js +2 -24
  108. package/dist/index13.js +1 -1
  109. package/dist/index130.js +21 -2
  110. package/dist/index131.js +2 -5
  111. package/dist/index132.js +315 -7
  112. package/dist/index133.js +24 -5
  113. package/dist/index134.js +2 -3
  114. package/dist/index135.js +5 -3
  115. package/dist/index136.js +9 -3
  116. package/dist/index137.js +6 -3
  117. package/dist/index138.js +1 -1
  118. package/dist/index139.js +1 -1
  119. package/dist/index140.js +1 -1
  120. package/dist/index141.js +1 -1
  121. package/dist/index142.js +1 -1
  122. package/dist/index143.js +1 -1
  123. package/dist/index144.js +1 -1
  124. package/dist/index145.js +1 -1
  125. package/dist/index146.js +1 -1
  126. package/dist/index147.js +1 -1
  127. package/dist/index148.js +1 -1
  128. package/dist/index149.js +1 -1
  129. package/dist/index15.js +122 -117
  130. package/dist/index150.js +1 -1
  131. package/dist/index151.js +1 -1
  132. package/dist/index152.js +1 -1
  133. package/dist/index153.js +1 -1
  134. package/dist/index154.js +1 -1
  135. package/dist/index155.js +1 -1
  136. package/dist/index156.js +1 -1
  137. package/dist/index157.js +1 -1
  138. package/dist/index158.js +1 -1
  139. package/dist/index159.js +1 -1
  140. package/dist/index160.js +2 -2
  141. package/dist/{index177.js → index161.js} +1 -1
  142. package/dist/index162.js +2 -2
  143. package/dist/{index166.js → index163.js} +1 -1
  144. package/dist/index165.js +2 -2
  145. package/dist/index167.js +2 -2
  146. package/dist/index169.js +1 -1
  147. package/dist/index17.js +119 -118
  148. package/dist/index170.js +2 -2
  149. package/dist/{index168.js → index171.js} +1 -1
  150. package/dist/index172.js +3 -2
  151. package/dist/index173.js +1 -1
  152. package/dist/index174.js +1 -1
  153. package/dist/index175.js +1 -1
  154. package/dist/index176.js +2 -2
  155. package/dist/index178.js +2 -3
  156. package/dist/index179.js +1 -1
  157. package/dist/index180.js +1 -1
  158. package/dist/index181.js +1 -1
  159. package/dist/index182.js +1 -1
  160. package/dist/index183.js +1 -1
  161. package/dist/index184.js +2 -2
  162. package/dist/index185.js +5 -0
  163. package/dist/index186.js +2 -2
  164. package/dist/index187.js +5 -0
  165. package/dist/index19.js +121 -211
  166. package/dist/index190.js +1 -1
  167. package/dist/index192.js +1 -1
  168. package/dist/index194.js +1 -1
  169. package/dist/index195.js +1 -1
  170. package/dist/index196.js +1 -1
  171. package/dist/index197.js +1 -1
  172. package/dist/index198.js +3 -2
  173. package/dist/index199.js +3 -116
  174. package/dist/index200.js +3 -126
  175. package/dist/index201.js +3 -5
  176. package/dist/index202.js +3 -123
  177. package/dist/index203.js +3 -19
  178. package/dist/index204.js +2 -16
  179. package/dist/index205.js +116 -16
  180. package/dist/index206.js +53 -2
  181. package/dist/index208.js +12 -34
  182. package/dist/index209.js +152 -168
  183. package/dist/index21.js +197 -279
  184. package/dist/index210.js +83 -5
  185. package/dist/index212.js +4 -0
  186. package/dist/index213.js +4 -13
  187. package/dist/index214.js +2 -5
  188. package/dist/index215.js +110 -353
  189. package/dist/index216.js +5 -2
  190. package/dist/index217.js +125 -4
  191. package/dist/index218.js +19 -8
  192. package/dist/index219.js +14 -156
  193. package/dist/index220.js +16 -84
  194. package/dist/index221.js +4 -0
  195. package/dist/index222.js +2 -19
  196. package/dist/index223.js +40 -26
  197. package/dist/index224.js +20 -3
  198. package/dist/index225.js +5 -248
  199. package/dist/index226.js +5 -52
  200. package/dist/index227.js +369 -44
  201. package/dist/index228.js +8 -5
  202. package/dist/index229.js +19 -49
  203. package/dist/index23.js +287 -245
  204. package/dist/index230.js +27 -3
  205. package/dist/index231.js +3 -7
  206. package/dist/index232.js +249 -3
  207. package/dist/index233.js +52 -2
  208. package/dist/index234.js +44 -2
  209. package/dist/index235.js +5 -18
  210. package/dist/index236.js +44 -101
  211. package/dist/index237.js +5 -0
  212. package/dist/index238.js +7 -100
  213. package/dist/index239.js +6 -0
  214. package/dist/index241.js +2 -10
  215. package/dist/index242.js +17 -2
  216. package/dist/index243.js +105 -2
  217. package/dist/index245.js +100 -23
  218. package/dist/index247.js +3 -6
  219. package/dist/index248.js +10 -16
  220. package/dist/index249.js +2 -3
  221. package/dist/index25.js +249 -120
  222. package/dist/index250.js +3 -281
  223. package/dist/index251.js +12 -6
  224. package/dist/index252.js +9 -2
  225. package/dist/index253.js +9 -2
  226. package/dist/index254.js +17 -2
  227. package/dist/index255.js +3 -2
  228. package/dist/index257.js +7 -126
  229. package/dist/index258.js +3 -430
  230. package/dist/index259.js +281 -3
  231. package/dist/index260.js +8 -0
  232. package/dist/index261.js +2 -7
  233. package/dist/index262.js +2 -22
  234. package/dist/index264.js +2 -3
  235. package/dist/index265.js +2 -12
  236. package/dist/index266.js +124 -7
  237. package/dist/index267.js +431 -9
  238. package/dist/index268.js +174 -15
  239. package/dist/index269.js +21 -435
  240. package/dist/index27.js +119 -142
  241. package/dist/index271.js +2 -200
  242. package/dist/index273.js +2 -2
  243. package/dist/index274.js +1 -1
  244. package/dist/index275.js +1 -1
  245. package/dist/index276.js +1 -1
  246. package/dist/index277.js +28 -2
  247. package/dist/index278.js +21 -27
  248. package/dist/index280.js +8 -0
  249. package/dist/index281.js +16 -89
  250. package/dist/index282.js +3 -224
  251. package/dist/index283.js +9 -3
  252. package/dist/index284.js +23 -3
  253. package/dist/index285.js +88 -210
  254. package/dist/index286.js +198 -77
  255. package/dist/index287.js +438 -0
  256. package/dist/index288.js +126 -65
  257. package/dist/index289.js +9 -5
  258. package/dist/index29.js +139 -84
  259. package/dist/index290.js +3 -2
  260. package/dist/index291.js +3 -4
  261. package/dist/index292.js +211 -4
  262. package/dist/index293.js +223 -58
  263. package/dist/index294.js +34 -14
  264. package/dist/index295.js +65 -34
  265. package/dist/index296.js +2 -47
  266. package/dist/index297.js +4 -6
  267. package/dist/index298.js +7 -6
  268. package/dist/index299.js +10 -18
  269. package/dist/index300.js +5 -11
  270. package/dist/index301.js +4 -2
  271. package/dist/index302.js +4 -480
  272. package/dist/index303.js +6 -0
  273. package/dist/index304.js +53 -415
  274. package/dist/index305.js +6 -46
  275. package/dist/index306.js +19 -2
  276. package/dist/index307.js +9 -0
  277. package/dist/index308.js +81 -0
  278. package/dist/index31.js +85 -115
  279. package/dist/index310.js +49 -0
  280. package/dist/index311.js +4 -0
  281. package/dist/index313.js +482 -0
  282. package/dist/index314.js +426 -0
  283. package/dist/index315.js +49 -0
  284. package/dist/index316.js +4 -0
  285. package/dist/index33.js +111 -113
  286. package/dist/index35.js +114 -366
  287. package/dist/index37.js +361 -284
  288. package/dist/index39.js +288 -107
  289. package/dist/index41.js +114 -121
  290. package/dist/index43.js +113 -201
  291. package/dist/index45.js +182 -92
  292. package/dist/index47.js +110 -78
  293. package/dist/index49.js +89 -54
  294. package/dist/index51.js +54 -78
  295. package/dist/index53.js +83 -61
  296. package/dist/index55.js +59 -40
  297. package/dist/index57.js +42 -55
  298. package/dist/index59.js +53 -106
  299. package/dist/index6.js +1 -1
  300. package/dist/index61.js +104 -89
  301. package/dist/index63.js +61 -88
  302. package/dist/index65.js +119 -77
  303. package/dist/index67.js +56 -45
  304. package/dist/index69.js +79 -54
  305. package/dist/index7.js +2 -2
  306. package/dist/index71.js +88 -268
  307. package/dist/index73.js +49 -148
  308. package/dist/index75.js +259 -204
  309. package/dist/index77.js +152 -39
  310. package/dist/index79.js +224 -0
  311. package/dist/index8.js +6 -14
  312. package/dist/index81.js +46 -0
  313. package/dist/index82.js +116 -166
  314. package/dist/index84.js +222 -171
  315. package/dist/index86.js +171 -25
  316. package/dist/index88.js +177 -84
  317. package/dist/index9.js +1 -1
  318. package/dist/index90.js +27 -123
  319. package/dist/index92.js +47 -51
  320. package/dist/index94.js +120 -15
  321. package/dist/index96.js +55 -132
  322. package/dist/index98.js +15 -105
  323. package/dist/style.css +1 -1
  324. package/dist/types/CommonProps.d.ts +0 -1
  325. package/dist/types/ExtractGenericFromComputedRef.d.ts +0 -1
  326. package/dist/types/ExtractGenericFromRef.d.ts +0 -1
  327. package/dist/utilities/functions/booleanishToBoolean.d.ts +1 -1
  328. package/dist/utilities/functions/deburr.d.ts +1 -1
  329. package/dist/utilities/functions/flattenTree.d.ts +1 -1
  330. package/dist/utilities/functions/groupBy.d.ts +1 -1
  331. package/dist/utilities/functions/indexBy.d.ts +1 -1
  332. package/dist/utilities/functions/isHex.d.ts +1 -0
  333. package/dist/utilities/functions/mapValues.d.ts +1 -1
  334. package/dist/utilities/functions/millisecondsTo.d.ts +1 -1
  335. package/dist/utilities/functions/replace.d.ts +1 -1
  336. package/dist/utilities/functions/retry.d.ts +1 -1
  337. package/dist/utilities/functions/throttle.d.ts +2 -2
  338. package/dist/utilities/functions/tryTo.d.ts +0 -1
  339. package/package.json +29 -29
  340. package/dist/index121.js +0 -46
  341. package/dist/index123.js +0 -49
  342. package/dist/index191.js +0 -5
  343. package/dist/index193.js +0 -5
  344. package/dist/index207.js +0 -4
  345. package/dist/index211.js +0 -45
  346. package/dist/index244.js +0 -11
  347. package/dist/index246.js +0 -11
  348. package/dist/index270.js +0 -129
  349. package/dist/index279.js +0 -24
  350. package/dist/index78.js +0 -129
  351. package/dist/index80.js +0 -238
  352. /package/dist/{index256.js → index263.js} +0 -0
package/dist/index267.js CHANGED
@@ -1,11 +1,433 @@
1
- import { get as o } from "./index300.js";
2
- const e = () => ({
3
- getItemValue(n, f) {
4
- if (typeof f > "u") return n;
5
- if (typeof f == "function") return f(n);
6
- if (typeof f == "string") return o(n, f);
7
- }
8
- });
1
+ import { isFocusable as G, tabbable as te, focusable as ae, isTabbable as T, getTabIndex as K } from "./index286.js";
2
+ /*!
3
+ * focus-trap 7.5.4
4
+ * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
5
+ */
6
+ function z(u, a) {
7
+ var o = Object.keys(u);
8
+ if (Object.getOwnPropertySymbols) {
9
+ var i = Object.getOwnPropertySymbols(u);
10
+ a && (i = i.filter(function(m) {
11
+ return Object.getOwnPropertyDescriptor(u, m).enumerable;
12
+ })), o.push.apply(o, i);
13
+ }
14
+ return o;
15
+ }
16
+ function J(u) {
17
+ for (var a = 1; a < arguments.length; a++) {
18
+ var o = arguments[a] != null ? arguments[a] : {};
19
+ a % 2 ? z(Object(o), !0).forEach(function(i) {
20
+ ne(u, i, o[i]);
21
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(u, Object.getOwnPropertyDescriptors(o)) : z(Object(o)).forEach(function(i) {
22
+ Object.defineProperty(u, i, Object.getOwnPropertyDescriptor(o, i));
23
+ });
24
+ }
25
+ return u;
26
+ }
27
+ function ne(u, a, o) {
28
+ return a = ie(a), a in u ? Object.defineProperty(u, a, {
29
+ value: o,
30
+ enumerable: !0,
31
+ configurable: !0,
32
+ writable: !0
33
+ }) : u[a] = o, u;
34
+ }
35
+ function re(u, a) {
36
+ if (typeof u != "object" || u === null) return u;
37
+ var o = u[Symbol.toPrimitive];
38
+ if (o !== void 0) {
39
+ var i = o.call(u, a || "default");
40
+ if (typeof i != "object") return i;
41
+ throw new TypeError("@@toPrimitive must return a primitive value.");
42
+ }
43
+ return (a === "string" ? String : Number)(u);
44
+ }
45
+ function ie(u) {
46
+ var a = re(u, "string");
47
+ return typeof a == "symbol" ? a : String(a);
48
+ }
49
+ var Q = {
50
+ activateTrap: function(a, o) {
51
+ if (a.length > 0) {
52
+ var i = a[a.length - 1];
53
+ i !== o && i.pause();
54
+ }
55
+ var m = a.indexOf(o);
56
+ m === -1 || a.splice(m, 1), a.push(o);
57
+ },
58
+ deactivateTrap: function(a, o) {
59
+ var i = a.indexOf(o);
60
+ i !== -1 && a.splice(i, 1), a.length > 0 && a[a.length - 1].unpause();
61
+ }
62
+ }, oe = function(a) {
63
+ return a.tagName && a.tagName.toLowerCase() === "input" && typeof a.select == "function";
64
+ }, ue = function(a) {
65
+ return (a == null ? void 0 : a.key) === "Escape" || (a == null ? void 0 : a.key) === "Esc" || (a == null ? void 0 : a.keyCode) === 27;
66
+ }, L = function(a) {
67
+ return (a == null ? void 0 : a.key) === "Tab" || (a == null ? void 0 : a.keyCode) === 9;
68
+ }, se = function(a) {
69
+ return L(a) && !a.shiftKey;
70
+ }, ce = function(a) {
71
+ return L(a) && a.shiftKey;
72
+ }, W = function(a) {
73
+ return setTimeout(a, 0);
74
+ }, X = function(a, o) {
75
+ var i = -1;
76
+ return a.every(function(m, s) {
77
+ return o(m) ? (i = s, !1) : !0;
78
+ }), i;
79
+ }, B = function(a) {
80
+ for (var o = arguments.length, i = new Array(o > 1 ? o - 1 : 0), m = 1; m < o; m++)
81
+ i[m - 1] = arguments[m];
82
+ return typeof a == "function" ? a.apply(void 0, i) : a;
83
+ }, C = function(a) {
84
+ return a.target.shadowRoot && typeof a.composedPath == "function" ? a.composedPath()[0] : a.target;
85
+ }, le = [], de = function(a, o) {
86
+ var i = (o == null ? void 0 : o.document) || document, m = (o == null ? void 0 : o.trapStack) || le, s = J({
87
+ returnFocusOnDeactivate: !0,
88
+ escapeDeactivates: !0,
89
+ delayInitialFocus: !0,
90
+ isKeyForward: se,
91
+ isKeyBackward: ce
92
+ }, o), n = {
93
+ // containers given to createFocusTrap()
94
+ // @type {Array<HTMLElement>}
95
+ containers: [],
96
+ // list of objects identifying tabbable nodes in `containers` in the trap
97
+ // NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap
98
+ // is active, but the trap should never get to a state where there isn't at least one group
99
+ // with at least one tabbable node in it (that would lead to an error condition that would
100
+ // result in an error being thrown)
101
+ // @type {Array<{
102
+ // container: HTMLElement,
103
+ // tabbableNodes: Array<HTMLElement>, // empty if none
104
+ // focusableNodes: Array<HTMLElement>, // empty if none
105
+ // posTabIndexesFound: boolean,
106
+ // firstTabbableNode: HTMLElement|undefined,
107
+ // lastTabbableNode: HTMLElement|undefined,
108
+ // firstDomTabbableNode: HTMLElement|undefined,
109
+ // lastDomTabbableNode: HTMLElement|undefined,
110
+ // nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined
111
+ // }>}
112
+ containerGroups: [],
113
+ // same order/length as `containers` list
114
+ // references to objects in `containerGroups`, but only those that actually have
115
+ // tabbable nodes in them
116
+ // NOTE: same order as `containers` and `containerGroups`, but __not necessarily__
117
+ // the same length
118
+ tabbableGroups: [],
119
+ nodeFocusedBeforeActivation: null,
120
+ mostRecentlyFocusedNode: null,
121
+ active: !1,
122
+ paused: !1,
123
+ // timer ID for when delayInitialFocus is true and initial focus in this trap
124
+ // has been delayed during activation
125
+ delayInitialFocusTimer: void 0,
126
+ // the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any
127
+ recentNavEvent: void 0
128
+ }, g, h = function(t, e, r) {
129
+ return t && t[e] !== void 0 ? t[e] : s[r || e];
130
+ }, F = function(t, e) {
131
+ var r = typeof (e == null ? void 0 : e.composedPath) == "function" ? e.composedPath() : void 0;
132
+ return n.containerGroups.findIndex(function(c) {
133
+ var l = c.container, d = c.tabbableNodes;
134
+ return l.contains(t) || // fall back to explicit tabbable search which will take into consideration any
135
+ // web components if the `tabbableOptions.getShadowRoot` option was used for
136
+ // the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
137
+ // look inside web components even if open)
138
+ (r == null ? void 0 : r.includes(l)) || d.find(function(v) {
139
+ return v === t;
140
+ });
141
+ });
142
+ }, E = function(t) {
143
+ var e = s[t];
144
+ if (typeof e == "function") {
145
+ for (var r = arguments.length, c = new Array(r > 1 ? r - 1 : 0), l = 1; l < r; l++)
146
+ c[l - 1] = arguments[l];
147
+ e = e.apply(void 0, c);
148
+ }
149
+ if (e === !0 && (e = void 0), !e) {
150
+ if (e === void 0 || e === !1)
151
+ return e;
152
+ throw new Error("`".concat(t, "` was specified but was not a node, or did not return a node"));
153
+ }
154
+ var d = e;
155
+ if (typeof e == "string" && (d = i.querySelector(e), !d))
156
+ throw new Error("`".concat(t, "` as selector refers to no known node"));
157
+ return d;
158
+ }, P = function() {
159
+ var t = E("initialFocus");
160
+ if (t === !1)
161
+ return !1;
162
+ if (t === void 0 || !G(t, s.tabbableOptions))
163
+ if (F(i.activeElement) >= 0)
164
+ t = i.activeElement;
165
+ else {
166
+ var e = n.tabbableGroups[0], r = e && e.firstTabbableNode;
167
+ t = r || E("fallbackFocus");
168
+ }
169
+ if (!t)
170
+ throw new Error("Your focus-trap needs to have at least one focusable element");
171
+ return t;
172
+ }, D = function() {
173
+ if (n.containerGroups = n.containers.map(function(t) {
174
+ var e = te(t, s.tabbableOptions), r = ae(t, s.tabbableOptions), c = e.length > 0 ? e[0] : void 0, l = e.length > 0 ? e[e.length - 1] : void 0, d = r.find(function(b) {
175
+ return T(b);
176
+ }), v = r.slice().reverse().find(function(b) {
177
+ return T(b);
178
+ }), p = !!e.find(function(b) {
179
+ return K(b) > 0;
180
+ });
181
+ return {
182
+ container: t,
183
+ tabbableNodes: e,
184
+ focusableNodes: r,
185
+ /** True if at least one node with positive `tabindex` was found in this container. */
186
+ posTabIndexesFound: p,
187
+ /** First tabbable node in container, __tabindex__ order; `undefined` if none. */
188
+ firstTabbableNode: c,
189
+ /** Last tabbable node in container, __tabindex__ order; `undefined` if none. */
190
+ lastTabbableNode: l,
191
+ // NOTE: DOM order is NOT NECESSARILY "document position" order, but figuring that out
192
+ // would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition
193
+ // because that API doesn't work with Shadow DOM as well as it should (@see
194
+ // https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,
195
+ // to address an edge case related to positive tabindex support, this seems like a much easier,
196
+ // "close enough most of the time" alternative for positive tabindexes which should generally
197
+ // be avoided anyway...
198
+ /** First tabbable node in container, __DOM__ order; `undefined` if none. */
199
+ firstDomTabbableNode: d,
200
+ /** Last tabbable node in container, __DOM__ order; `undefined` if none. */
201
+ lastDomTabbableNode: v,
202
+ /**
203
+ * Finds the __tabbable__ node that follows the given node in the specified direction,
204
+ * in this container, if any.
205
+ * @param {HTMLElement} node
206
+ * @param {boolean} [forward] True if going in forward tab order; false if going
207
+ * in reverse.
208
+ * @returns {HTMLElement|undefined} The next tabbable node, if any.
209
+ */
210
+ nextTabbableNode: function(N) {
211
+ var O = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, y = e.indexOf(N);
212
+ return y < 0 ? O ? r.slice(r.indexOf(N) + 1).find(function(R) {
213
+ return T(R);
214
+ }) : r.slice(0, r.indexOf(N)).reverse().find(function(R) {
215
+ return T(R);
216
+ }) : e[y + (O ? 1 : -1)];
217
+ }
218
+ };
219
+ }), n.tabbableGroups = n.containerGroups.filter(function(t) {
220
+ return t.tabbableNodes.length > 0;
221
+ }), n.tabbableGroups.length <= 0 && !E("fallbackFocus"))
222
+ throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");
223
+ if (n.containerGroups.find(function(t) {
224
+ return t.posTabIndexesFound;
225
+ }) && n.containerGroups.length > 1)
226
+ throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.");
227
+ }, Z = function f(t) {
228
+ var e = t.activeElement;
229
+ if (e)
230
+ return e.shadowRoot && e.shadowRoot.activeElement !== null ? f(e.shadowRoot) : e;
231
+ }, w = function f(t) {
232
+ if (t !== !1 && t !== Z(document)) {
233
+ if (!t || !t.focus) {
234
+ f(P());
235
+ return;
236
+ }
237
+ t.focus({
238
+ preventScroll: !!s.preventScroll
239
+ }), n.mostRecentlyFocusedNode = t, oe(t) && t.select();
240
+ }
241
+ }, S = function(t) {
242
+ var e = E("setReturnFocus", t);
243
+ return e || (e === !1 ? !1 : t);
244
+ }, U = function(t) {
245
+ var e = t.target, r = t.event, c = t.isBackward, l = c === void 0 ? !1 : c;
246
+ e = e || C(r), D();
247
+ var d = null;
248
+ if (n.tabbableGroups.length > 0) {
249
+ var v = F(e, r), p = v >= 0 ? n.containerGroups[v] : void 0;
250
+ if (v < 0)
251
+ l ? d = n.tabbableGroups[n.tabbableGroups.length - 1].lastTabbableNode : d = n.tabbableGroups[0].firstTabbableNode;
252
+ else if (l) {
253
+ var b = X(n.tabbableGroups, function(I) {
254
+ var x = I.firstTabbableNode;
255
+ return e === x;
256
+ });
257
+ if (b < 0 && (p.container === e || G(e, s.tabbableOptions) && !T(e, s.tabbableOptions) && !p.nextTabbableNode(e, !1)) && (b = v), b >= 0) {
258
+ var N = b === 0 ? n.tabbableGroups.length - 1 : b - 1, O = n.tabbableGroups[N];
259
+ d = K(e) >= 0 ? O.lastTabbableNode : O.lastDomTabbableNode;
260
+ } else L(r) || (d = p.nextTabbableNode(e, !1));
261
+ } else {
262
+ var y = X(n.tabbableGroups, function(I) {
263
+ var x = I.lastTabbableNode;
264
+ return e === x;
265
+ });
266
+ if (y < 0 && (p.container === e || G(e, s.tabbableOptions) && !T(e, s.tabbableOptions) && !p.nextTabbableNode(e)) && (y = v), y >= 0) {
267
+ var R = y === n.tabbableGroups.length - 1 ? 0 : y + 1, $ = n.tabbableGroups[R];
268
+ d = K(e) >= 0 ? $.firstTabbableNode : $.firstDomTabbableNode;
269
+ } else L(r) || (d = p.nextTabbableNode(e));
270
+ }
271
+ } else
272
+ d = E("fallbackFocus");
273
+ return d;
274
+ }, A = function(t) {
275
+ var e = C(t);
276
+ if (!(F(e, t) >= 0)) {
277
+ if (B(s.clickOutsideDeactivates, t)) {
278
+ g.deactivate({
279
+ // NOTE: by setting `returnFocus: false`, deactivate() will do nothing,
280
+ // which will result in the outside click setting focus to the node
281
+ // that was clicked (and if not focusable, to "nothing"); by setting
282
+ // `returnFocus: true`, we'll attempt to re-focus the node originally-focused
283
+ // on activation (or the configured `setReturnFocus` node), whether the
284
+ // outside click was on a focusable node or not
285
+ returnFocus: s.returnFocusOnDeactivate
286
+ });
287
+ return;
288
+ }
289
+ B(s.allowOutsideClick, t) || t.preventDefault();
290
+ }
291
+ }, q = function(t) {
292
+ var e = C(t), r = F(e, t) >= 0;
293
+ if (r || e instanceof Document)
294
+ r && (n.mostRecentlyFocusedNode = e);
295
+ else {
296
+ t.stopImmediatePropagation();
297
+ var c, l = !0;
298
+ if (n.mostRecentlyFocusedNode)
299
+ if (K(n.mostRecentlyFocusedNode) > 0) {
300
+ var d = F(n.mostRecentlyFocusedNode), v = n.containerGroups[d].tabbableNodes;
301
+ if (v.length > 0) {
302
+ var p = v.findIndex(function(b) {
303
+ return b === n.mostRecentlyFocusedNode;
304
+ });
305
+ p >= 0 && (s.isKeyForward(n.recentNavEvent) ? p + 1 < v.length && (c = v[p + 1], l = !1) : p - 1 >= 0 && (c = v[p - 1], l = !1));
306
+ }
307
+ } else
308
+ n.containerGroups.some(function(b) {
309
+ return b.tabbableNodes.some(function(N) {
310
+ return K(N) > 0;
311
+ });
312
+ }) || (l = !1);
313
+ else
314
+ l = !1;
315
+ l && (c = U({
316
+ // move FROM the MRU node, not event-related node (which will be the node that is
317
+ // outside the trap causing the focus escape we're trying to fix)
318
+ target: n.mostRecentlyFocusedNode,
319
+ isBackward: s.isKeyBackward(n.recentNavEvent)
320
+ })), w(c || n.mostRecentlyFocusedNode || P());
321
+ }
322
+ n.recentNavEvent = void 0;
323
+ }, _ = function(t) {
324
+ var e = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
325
+ n.recentNavEvent = t;
326
+ var r = U({
327
+ event: t,
328
+ isBackward: e
329
+ });
330
+ r && (L(t) && t.preventDefault(), w(r));
331
+ }, H = function(t) {
332
+ if (ue(t) && B(s.escapeDeactivates, t) !== !1) {
333
+ t.preventDefault(), g.deactivate();
334
+ return;
335
+ }
336
+ (s.isKeyForward(t) || s.isKeyBackward(t)) && _(t, s.isKeyBackward(t));
337
+ }, M = function(t) {
338
+ var e = C(t);
339
+ F(e, t) >= 0 || B(s.clickOutsideDeactivates, t) || B(s.allowOutsideClick, t) || (t.preventDefault(), t.stopImmediatePropagation());
340
+ }, Y = function() {
341
+ if (n.active)
342
+ return Q.activateTrap(m, g), n.delayInitialFocusTimer = s.delayInitialFocus ? W(function() {
343
+ w(P());
344
+ }) : w(P()), i.addEventListener("focusin", q, !0), i.addEventListener("mousedown", A, {
345
+ capture: !0,
346
+ passive: !1
347
+ }), i.addEventListener("touchstart", A, {
348
+ capture: !0,
349
+ passive: !1
350
+ }), i.addEventListener("click", M, {
351
+ capture: !0,
352
+ passive: !1
353
+ }), i.addEventListener("keydown", H, {
354
+ capture: !0,
355
+ passive: !1
356
+ }), g;
357
+ }, V = function() {
358
+ if (n.active)
359
+ return i.removeEventListener("focusin", q, !0), i.removeEventListener("mousedown", A, !0), i.removeEventListener("touchstart", A, !0), i.removeEventListener("click", M, !0), i.removeEventListener("keydown", H, !0), g;
360
+ }, ee = function(t) {
361
+ var e = t.some(function(r) {
362
+ var c = Array.from(r.removedNodes);
363
+ return c.some(function(l) {
364
+ return l === n.mostRecentlyFocusedNode;
365
+ });
366
+ });
367
+ e && w(P());
368
+ }, j = typeof window < "u" && "MutationObserver" in window ? new MutationObserver(ee) : void 0, k = function() {
369
+ j && (j.disconnect(), n.active && !n.paused && n.containers.map(function(t) {
370
+ j.observe(t, {
371
+ subtree: !0,
372
+ childList: !0
373
+ });
374
+ }));
375
+ };
376
+ return g = {
377
+ get active() {
378
+ return n.active;
379
+ },
380
+ get paused() {
381
+ return n.paused;
382
+ },
383
+ activate: function(t) {
384
+ if (n.active)
385
+ return this;
386
+ var e = h(t, "onActivate"), r = h(t, "onPostActivate"), c = h(t, "checkCanFocusTrap");
387
+ c || D(), n.active = !0, n.paused = !1, n.nodeFocusedBeforeActivation = i.activeElement, e == null || e();
388
+ var l = function() {
389
+ c && D(), Y(), k(), r == null || r();
390
+ };
391
+ return c ? (c(n.containers.concat()).then(l, l), this) : (l(), this);
392
+ },
393
+ deactivate: function(t) {
394
+ if (!n.active)
395
+ return this;
396
+ var e = J({
397
+ onDeactivate: s.onDeactivate,
398
+ onPostDeactivate: s.onPostDeactivate,
399
+ checkCanReturnFocus: s.checkCanReturnFocus
400
+ }, t);
401
+ clearTimeout(n.delayInitialFocusTimer), n.delayInitialFocusTimer = void 0, V(), n.active = !1, n.paused = !1, k(), Q.deactivateTrap(m, g);
402
+ var r = h(e, "onDeactivate"), c = h(e, "onPostDeactivate"), l = h(e, "checkCanReturnFocus"), d = h(e, "returnFocus", "returnFocusOnDeactivate");
403
+ r == null || r();
404
+ var v = function() {
405
+ W(function() {
406
+ d && w(S(n.nodeFocusedBeforeActivation)), c == null || c();
407
+ });
408
+ };
409
+ return d && l ? (l(S(n.nodeFocusedBeforeActivation)).then(v, v), this) : (v(), this);
410
+ },
411
+ pause: function(t) {
412
+ if (n.paused || !n.active)
413
+ return this;
414
+ var e = h(t, "onPause"), r = h(t, "onPostPause");
415
+ return n.paused = !0, e == null || e(), V(), k(), r == null || r(), this;
416
+ },
417
+ unpause: function(t) {
418
+ if (!n.paused || !n.active)
419
+ return this;
420
+ var e = h(t, "onUnpause"), r = h(t, "onPostUnpause");
421
+ return n.paused = !1, e == null || e(), D(), Y(), k(), r == null || r(), this;
422
+ },
423
+ updateContainerElements: function(t) {
424
+ var e = [].concat(t).filter(Boolean);
425
+ return n.containers = e.map(function(r) {
426
+ return typeof r == "string" ? i.querySelector(r) : r;
427
+ }), n.active && D(), k(), this;
428
+ }
429
+ }, g.updateContainerElements(a), g;
430
+ };
9
431
  export {
10
- e as useItemValue
432
+ de as createFocusTrap
11
433
  };
package/dist/index268.js CHANGED
@@ -1,19 +1,178 @@
1
- import { get as t } from "./index300.js";
2
- const o = () => ({
3
- getItemText(r, n) {
4
- if (typeof r == "string" && !n) return r;
5
- if (n) {
6
- if (typeof n == "function") {
7
- let f = n(r);
8
- return typeof f != "string" && (f = JSON.stringify(f)), f;
9
- } else if (typeof n == "string") {
10
- const f = t(r, n);
11
- return typeof f == "string" ? f : JSON.stringify(f);
12
- }
1
+ var P = Object.defineProperty, T = (a, t, e) => t in a ? P(a, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[t] = e, A = (a, t, e) => T(a, typeof t != "symbol" ? t + "" : t, e);
2
+ const R = {
3
+ "#": { pattern: /[0-9]/ },
4
+ "@": { pattern: /[a-zA-Z]/ },
5
+ "*": { pattern: /[a-zA-Z0-9]/ }
6
+ }, I = (a, t, e) => a.replaceAll(t, "").replace(e, ".").replace("..", ".").replace(/[^.\d]/g, ""), N = (a, t, e) => {
7
+ var s;
8
+ return new Intl.NumberFormat(((s = e.number) == null ? void 0 : s.locale) ?? "en", {
9
+ minimumFractionDigits: a,
10
+ maximumFractionDigits: t,
11
+ roundingMode: "trunc"
12
+ });
13
+ }, F = (a, t = !0, e) => {
14
+ var s, n, r, h;
15
+ const u = ((s = e.number) == null ? void 0 : s.unsigned) == null && a.startsWith("-") ? "-" : "", l = ((n = e.number) == null ? void 0 : n.fraction) ?? 0;
16
+ let o = N(0, l, e);
17
+ const k = o.formatToParts(1000.12), c = ((r = k.find((i) => i.type === "group")) == null ? void 0 : r.value) ?? " ", y = ((h = k.find((i) => i.type === "decimal")) == null ? void 0 : h.value) ?? ".", f = I(a, c, y);
18
+ if (Number.isNaN(parseFloat(f))) return u;
19
+ const g = f.split(".");
20
+ if (g[1] != null && g[1].length >= 1) {
21
+ const i = g[1].length <= l ? g[1].length : l;
22
+ o = N(i, l, e);
23
+ }
24
+ let m = o.format(parseFloat(f));
25
+ return t ? l > 0 && f.endsWith(".") && !f.slice(0, -1).includes(".") && (m += y) : m = I(m, c, y), u + m;
26
+ };
27
+ class O {
28
+ constructor(t = {}) {
29
+ A(this, "opts", {}), A(this, "memo", /* @__PURE__ */ new Map());
30
+ const e = { ...t };
31
+ if (e.tokens != null) {
32
+ e.tokens = e.tokensReplace ? { ...e.tokens } : { ...R, ...e.tokens };
33
+ for (const s of Object.values(e.tokens))
34
+ typeof s.pattern == "string" && (s.pattern = new RegExp(s.pattern));
35
+ } else
36
+ e.tokens = R;
37
+ Array.isArray(e.mask) && (e.mask.length > 1 ? e.mask = [...e.mask].sort((s, n) => s.length - n.length) : e.mask = e.mask[0] ?? ""), e.mask === "" && (e.mask = null), this.opts = e;
38
+ }
39
+ masked(t) {
40
+ return this.process(t, this.findMask(t));
41
+ }
42
+ unmasked(t) {
43
+ return this.process(t, this.findMask(t), !1);
44
+ }
45
+ isEager() {
46
+ return this.opts.eager === !0;
47
+ }
48
+ isReversed() {
49
+ return this.opts.reversed === !0;
50
+ }
51
+ completed(t) {
52
+ const e = this.findMask(t);
53
+ if (this.opts.mask == null || e == null) return !1;
54
+ const s = this.process(t, e).length;
55
+ return typeof this.opts.mask == "string" ? s >= this.opts.mask.length : s >= e.length;
56
+ }
57
+ findMask(t) {
58
+ const e = this.opts.mask;
59
+ if (e == null)
60
+ return null;
61
+ if (typeof e == "string")
62
+ return e;
63
+ if (typeof e == "function")
64
+ return e(t);
65
+ const s = this.process(t, e.slice(-1).pop() ?? "", !1);
66
+ return e.find((n) => this.process(t, n, !1).length >= s.length) ?? "";
67
+ }
68
+ escapeMask(t) {
69
+ const e = [], s = [];
70
+ return t.split("").forEach((n, r) => {
71
+ n === "!" && t[r - 1] !== "!" ? s.push(r - s.length) : e.push(n);
72
+ }), { mask: e.join(""), escaped: s };
73
+ }
74
+ process(t, e, s = !0) {
75
+ if (this.opts.number != null) return F(t, s, this.opts);
76
+ if (e == null) return t;
77
+ const n = `v=${t},mr=${e},m=${s ? 1 : 0}`;
78
+ if (this.memo.has(n)) return this.memo.get(n);
79
+ const { mask: r, escaped: h } = this.escapeMask(e), u = [], l = this.opts.tokens != null ? this.opts.tokens : {}, o = this.isReversed() ? -1 : 1, k = this.isReversed() ? "unshift" : "push", c = this.isReversed() ? 0 : r.length - 1, y = this.isReversed() ? () => i > -1 && p > -1 : () => i < r.length && p < t.length, f = (v) => !this.isReversed() && v <= c || this.isReversed() && v >= c;
80
+ let g, m = -1, i = this.isReversed() ? r.length - 1 : 0, p = this.isReversed() ? t.length - 1 : 0, M = !1;
81
+ for (; y(); ) {
82
+ const v = r.charAt(i), d = l[v], E = (d == null ? void 0 : d.transform) != null ? d.transform(t.charAt(p)) : t.charAt(p);
83
+ if (!h.includes(i) && d != null ? (E.match(d.pattern) != null ? (u[k](E), d.repeated ? (m === -1 ? m = i : i === c && i !== m && (i = m - o), c === m && (i -= o)) : d.multiple && (M = !0, i -= o), i += o) : d.multiple ? M && (i += o, p -= o, M = !1) : E === g ? g = void 0 : d.optional && (i += o, p -= o), p += o) : (s && !this.isEager() && u[k](v), E === v && !this.isEager() ? p += o : g = v, this.isEager() || (i += o)), this.isEager())
84
+ for (; f(i) && (l[r.charAt(i)] == null || h.includes(i)); ) {
85
+ if (s) {
86
+ if (u[k](r.charAt(i)), t.charAt(p) === r.charAt(i)) {
87
+ i += o, p += o;
88
+ continue;
89
+ }
90
+ } else r.charAt(i) === t.charAt(p) && (p += o);
91
+ i += o;
92
+ }
93
+ }
94
+ return this.memo.set(n, u.join("")), this.memo.get(n);
95
+ }
96
+ }
97
+ const w = (a) => JSON.parse(a.replaceAll("'", '"')), W = (a, t = {}) => {
98
+ const e = { ...t };
99
+ a.dataset.maska != null && a.dataset.maska !== "" && (e.mask = x(a.dataset.maska)), a.dataset.maskaEager != null && (e.eager = b(a.dataset.maskaEager)), a.dataset.maskaReversed != null && (e.reversed = b(a.dataset.maskaReversed)), a.dataset.maskaTokensReplace != null && (e.tokensReplace = b(a.dataset.maskaTokensReplace)), a.dataset.maskaTokens != null && (e.tokens = C(a.dataset.maskaTokens));
100
+ const s = {};
101
+ return a.dataset.maskaNumberLocale != null && (s.locale = a.dataset.maskaNumberLocale), a.dataset.maskaNumberFraction != null && (s.fraction = parseInt(a.dataset.maskaNumberFraction)), a.dataset.maskaNumberUnsigned != null && (s.unsigned = b(a.dataset.maskaNumberUnsigned)), (a.dataset.maskaNumber != null || Object.values(s).length > 0) && (e.number = s), e;
102
+ }, b = (a) => a !== "" ? !!JSON.parse(a) : !0, x = (a) => a.startsWith("[") && a.endsWith("]") ? w(a) : a, C = (a) => {
103
+ if (a.startsWith("{") && a.endsWith("}"))
104
+ return w(a);
105
+ const t = {};
106
+ return a.split("|").forEach((e) => {
107
+ const s = e.split(":");
108
+ t[s[0]] = {
109
+ pattern: new RegExp(s[1]),
110
+ optional: s[2] === "optional",
111
+ multiple: s[2] === "multiple",
112
+ repeated: s[2] === "repeated"
113
+ };
114
+ }), t;
115
+ };
116
+ class S {
117
+ constructor(t, e = {}) {
118
+ A(this, "items", /* @__PURE__ */ new Map()), A(this, "onInput", (s) => {
119
+ if (s instanceof CustomEvent && s.type === "input" && !s.isTrusted)
120
+ return;
121
+ const n = s.target, r = this.items.get(n), h = "inputType" in s && s.inputType.startsWith("delete"), u = r.isEager(), l = h && u && r.unmasked(n.value) === "" ? "" : n.value;
122
+ this.fixCursor(n, h, () => this.setValue(n, l));
123
+ }), this.options = e, this.init(this.getInputs(t));
124
+ }
125
+ update(t = {}) {
126
+ this.options = { ...t }, this.init(Array.from(this.items.keys()));
127
+ }
128
+ updateValue(t) {
129
+ t.value !== "" && t.value !== this.processInput(t).masked && this.setValue(t, t.value);
130
+ }
131
+ destroy() {
132
+ for (const t of this.items.keys())
133
+ t.removeEventListener("input", this.onInput);
134
+ this.items.clear();
135
+ }
136
+ init(t) {
137
+ const e = this.getOptions(this.options);
138
+ for (const s of t) {
139
+ this.items.has(s) || s.addEventListener("input", this.onInput, { capture: !0 });
140
+ const n = new O(W(s, e));
141
+ this.items.set(s, n), queueMicrotask(() => this.updateValue(s)), s.selectionStart === null && n.isEager() && console.warn("Maska: input of `%s` type is not supported", s.type);
13
142
  }
14
- return JSON.stringify(r);
15
143
  }
16
- });
144
+ getInputs(t) {
145
+ return typeof t == "string" ? Array.from(document.querySelectorAll(t)) : "length" in t ? Array.from(t) : [t];
146
+ }
147
+ getOptions(t) {
148
+ const { onMaska: e, preProcess: s, postProcess: n, ...r } = t;
149
+ return r;
150
+ }
151
+ fixCursor(t, e, s) {
152
+ const n = t.selectionStart, r = t.value;
153
+ if (s(), n === null || n === r.length && !e) return;
154
+ const h = t.value, u = r.slice(0, n), l = h.slice(0, n), o = this.processInput(t, u).unmasked, k = this.processInput(t, l).unmasked;
155
+ let c = n;
156
+ u !== l && (c += e ? h.length - r.length : o.length - k.length), t.setSelectionRange(c, c);
157
+ }
158
+ setValue(t, e) {
159
+ const s = this.processInput(t, e);
160
+ t.value = s.masked, this.options.onMaska != null && (Array.isArray(this.options.onMaska) ? this.options.onMaska.forEach((n) => n(s)) : this.options.onMaska(s)), t.dispatchEvent(new CustomEvent("maska", { detail: s })), t.dispatchEvent(new CustomEvent("input", { detail: s.masked }));
161
+ }
162
+ processInput(t, e) {
163
+ const s = this.items.get(t);
164
+ let n = e ?? t.value;
165
+ this.options.preProcess != null && (n = this.options.preProcess(n));
166
+ let r = s.masked(n);
167
+ return this.options.postProcess != null && (r = this.options.postProcess(r)), {
168
+ masked: r,
169
+ unmasked: s.unmasked(n),
170
+ completed: s.completed(n)
171
+ };
172
+ }
173
+ }
17
174
  export {
18
- o as useItemText
175
+ O as Mask,
176
+ S as MaskInput,
177
+ R as tokens
19
178
  };