bitboss-ui 2.0.3 → 2.0.5

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 (261) hide show
  1. package/dist/components/BaseDatePicker/BaseDatePicker.vue.d.ts +10 -99
  2. package/dist/components/BaseDatePicker/BaseDatePickerHeader.vue.d.ts +24 -0
  3. package/dist/components/BaseDatePicker/BaseDatePickerInputDaySelector.vue.d.ts +56 -0
  4. package/dist/components/BaseDatePicker/BaseDatePickerMonthSelector.vue.d.ts +21 -0
  5. package/dist/components/BaseDatePicker/BaseDatePickerYearSelector.vue.d.ts +21 -0
  6. package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +1 -46
  7. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +1 -47
  8. package/dist/components/BbTab/BbTab.vue.d.ts +9 -0
  9. package/dist/components/Transitions/Slide.vue.d.ts +43 -0
  10. package/dist/components/Transitions/SlideBack.vue.d.ts +43 -0
  11. package/dist/composables/useLogger.d.ts +1 -0
  12. package/dist/index103.js +150 -126
  13. package/dist/index103.js.map +1 -1
  14. package/dist/index105.js +5 -5
  15. package/dist/index113.js +1 -1
  16. package/dist/index115.js +5 -5
  17. package/dist/index115.js.map +1 -1
  18. package/dist/index117.js +1 -1
  19. package/dist/index12.js +1 -1
  20. package/dist/index121.js +1 -1
  21. package/dist/index122.js +1 -1
  22. package/dist/index123.js +1 -1
  23. package/dist/index125.js +1 -1
  24. package/dist/index128.js +1 -1
  25. package/dist/index14.js +3 -3
  26. package/dist/index16.js +2 -2
  27. package/dist/index18.js +176 -482
  28. package/dist/index18.js.map +1 -1
  29. package/dist/index198.js +3 -5
  30. package/dist/index198.js.map +1 -1
  31. package/dist/index199.js +5 -158
  32. package/dist/index199.js.map +1 -1
  33. package/dist/index20.js +199 -190
  34. package/dist/index20.js.map +1 -1
  35. package/dist/index200.js +16 -84
  36. package/dist/index200.js.map +1 -1
  37. package/dist/{index223.js → index201.js} +3 -3
  38. package/dist/{index223.js.map → index201.js.map} +1 -1
  39. package/dist/index202.js +19 -3
  40. package/dist/index202.js.map +1 -1
  41. package/dist/index203.js +19 -3
  42. package/dist/index203.js.map +1 -1
  43. package/dist/index204.js +26 -34
  44. package/dist/index204.js.map +1 -1
  45. package/dist/index205.js +3 -6
  46. package/dist/index205.js.map +1 -1
  47. package/dist/index206.js +2 -7
  48. package/dist/index206.js.map +1 -1
  49. package/dist/index207.js +8 -2
  50. package/dist/index207.js.map +1 -1
  51. package/dist/index208.js +245 -122
  52. package/dist/index208.js.map +1 -1
  53. package/dist/index210.js +51 -122
  54. package/dist/index210.js.map +1 -1
  55. package/dist/index211.js +37 -19
  56. package/dist/index211.js.map +1 -1
  57. package/dist/index212.js +5 -2
  58. package/dist/index212.js.map +1 -1
  59. package/dist/index213.js +41 -2
  60. package/dist/index213.js.map +1 -1
  61. package/dist/index214.js +2 -174
  62. package/dist/index214.js.map +1 -1
  63. package/dist/index215.js +4 -42
  64. package/dist/index215.js.map +1 -1
  65. package/dist/index216.js +5 -0
  66. package/dist/index216.js.map +1 -0
  67. package/dist/index217.js +2 -13
  68. package/dist/index217.js.map +1 -1
  69. package/dist/index218.js +42 -369
  70. package/dist/index218.js.map +1 -1
  71. package/dist/index22.js +5 -5
  72. package/dist/index220.js +13 -4
  73. package/dist/index220.js.map +1 -1
  74. package/dist/index221.js +158 -2
  75. package/dist/index221.js.map +1 -1
  76. package/dist/index222.js +84 -16
  77. package/dist/index222.js.map +1 -1
  78. package/dist/index224.js +3 -19
  79. package/dist/index224.js.map +1 -1
  80. package/dist/index225.js +34 -26
  81. package/dist/index225.js.map +1 -1
  82. package/dist/index226.js +6 -8
  83. package/dist/index226.js.map +1 -1
  84. package/dist/index227.js +7 -2
  85. package/dist/index227.js.map +1 -1
  86. package/dist/index228.js +126 -3
  87. package/dist/index228.js.map +1 -1
  88. package/dist/index229.js +123 -3
  89. package/dist/index229.js.map +1 -1
  90. package/dist/index230.js +2 -18
  91. package/dist/index230.js.map +1 -1
  92. package/dist/index231.js +173 -105
  93. package/dist/index231.js.map +1 -1
  94. package/dist/index232.js +8 -0
  95. package/dist/index232.js.map +1 -0
  96. package/dist/index233.js +367 -98
  97. package/dist/index233.js.map +1 -1
  98. package/dist/index234.js +6 -0
  99. package/dist/index234.js.map +1 -0
  100. package/dist/index235.js +17 -9
  101. package/dist/index235.js.map +1 -1
  102. package/dist/index236.js +106 -3
  103. package/dist/index236.js.map +1 -1
  104. package/dist/index238.js +100 -23
  105. package/dist/index238.js.map +1 -1
  106. package/dist/index24.js +1 -1
  107. package/dist/index240.js +2 -16
  108. package/dist/index240.js.map +1 -1
  109. package/dist/index241.js +10 -9
  110. package/dist/index241.js.map +1 -1
  111. package/dist/index242.js +3 -3
  112. package/dist/index242.js.map +1 -1
  113. package/dist/index243.js +224 -12
  114. package/dist/index243.js.map +1 -1
  115. package/dist/index244.js +280 -8
  116. package/dist/index244.js.map +1 -1
  117. package/dist/index245.js +6 -9
  118. package/dist/index245.js.map +1 -1
  119. package/dist/index246.js +2 -17
  120. package/dist/index246.js.map +1 -1
  121. package/dist/index247.js +2 -224
  122. package/dist/index247.js.map +1 -1
  123. package/dist/index248.js +2 -431
  124. package/dist/index248.js.map +1 -1
  125. package/dist/index249.js +2 -89
  126. package/dist/index249.js.map +1 -1
  127. package/dist/index250.js +2 -281
  128. package/dist/index250.js.map +1 -1
  129. package/dist/index251.js +2 -6
  130. package/dist/index251.js.map +1 -1
  131. package/dist/index252.js +3 -2
  132. package/dist/index252.js.map +1 -1
  133. package/dist/index253.js +2 -2
  134. package/dist/index254.js +2 -2
  135. package/dist/index255.js +2 -126
  136. package/dist/index255.js.map +1 -1
  137. package/dist/index256.js +28 -3
  138. package/dist/index256.js.map +1 -1
  139. package/dist/index257.js +25 -0
  140. package/dist/index257.js.map +1 -0
  141. package/dist/index259.js +6 -3
  142. package/dist/index259.js.map +1 -1
  143. package/dist/index26.js +3 -3
  144. package/dist/index260.js +4 -2
  145. package/dist/index260.js.map +1 -1
  146. package/dist/index261.js +8 -68
  147. package/dist/index261.js.map +1 -1
  148. package/dist/index262.js +23 -200
  149. package/dist/index262.js.map +1 -1
  150. package/dist/index263.js +3 -5
  151. package/dist/index263.js.map +1 -1
  152. package/dist/index265.js +6 -127
  153. package/dist/index265.js.map +1 -1
  154. package/dist/index266.js +16 -2
  155. package/dist/index266.js.map +1 -1
  156. package/dist/index267.js +9 -2
  157. package/dist/index267.js.map +1 -1
  158. package/dist/index268.js +3 -2
  159. package/dist/index268.js.map +1 -1
  160. package/dist/index269.js +12 -2
  161. package/dist/index269.js.map +1 -1
  162. package/dist/index270.js +7 -26
  163. package/dist/index270.js.map +1 -1
  164. package/dist/index271.js +9 -3
  165. package/dist/index271.js.map +1 -1
  166. package/dist/index272.js +17 -3
  167. package/dist/index272.js.map +1 -1
  168. package/dist/index273.js +426 -206
  169. package/dist/index273.js.map +1 -1
  170. package/dist/index274.js +92 -0
  171. package/dist/index274.js.map +1 -0
  172. package/dist/index275.js +2 -4
  173. package/dist/index275.js.map +1 -1
  174. package/dist/index276.js +69 -4
  175. package/dist/index276.js.map +1 -1
  176. package/dist/index277.js +5 -59
  177. package/dist/index277.js.map +1 -1
  178. package/dist/index278.js +200 -15
  179. package/dist/index278.js.map +1 -1
  180. package/dist/index279.js +2 -35
  181. package/dist/index279.js.map +1 -1
  182. package/dist/index28.js +2 -2
  183. package/dist/index280.js +125 -10
  184. package/dist/index280.js.map +1 -1
  185. package/dist/index281.js +21 -1
  186. package/dist/index281.js.map +1 -1
  187. package/dist/{index264.js → index283.js} +2 -2
  188. package/dist/{index264.js.map → index283.js.map} +1 -1
  189. package/dist/index284.js +123 -417
  190. package/dist/index284.js.map +1 -1
  191. package/dist/index285.js +3 -47
  192. package/dist/index285.js.map +1 -1
  193. package/dist/index286.js +6 -0
  194. package/dist/index286.js.map +1 -0
  195. package/dist/index287.js +214 -0
  196. package/dist/index287.js.map +1 -0
  197. package/dist/index289.js +18 -0
  198. package/dist/index289.js.map +1 -0
  199. package/dist/index290.js +10 -0
  200. package/dist/index290.js.map +1 -0
  201. package/dist/index291.js +22 -0
  202. package/dist/index291.js.map +1 -0
  203. package/dist/index292.js +10 -0
  204. package/dist/index292.js.map +1 -0
  205. package/dist/index293.js +7 -0
  206. package/dist/index293.js.map +1 -0
  207. package/dist/index294.js +7 -0
  208. package/dist/index294.js.map +1 -0
  209. package/dist/index295.js +62 -0
  210. package/dist/index295.js.map +1 -0
  211. package/dist/index296.js +38 -0
  212. package/dist/index296.js.map +1 -0
  213. package/dist/index297.js +14 -0
  214. package/dist/index297.js.map +1 -0
  215. package/dist/index298.js +5 -0
  216. package/dist/index298.js.map +1 -0
  217. package/dist/{index282.js → index299.js} +3 -3
  218. package/dist/{index282.js.map → index299.js.map} +1 -1
  219. package/dist/index30.js +2 -2
  220. package/dist/index301.js +424 -0
  221. package/dist/index301.js.map +1 -0
  222. package/dist/index302.js +50 -0
  223. package/dist/index302.js.map +1 -0
  224. package/dist/index32.js +3 -3
  225. package/dist/index34.js +44 -42
  226. package/dist/index34.js.map +1 -1
  227. package/dist/index36.js +4 -4
  228. package/dist/index38.js +2 -2
  229. package/dist/index40.js +2 -2
  230. package/dist/index42.js +6 -6
  231. package/dist/index44.js +2 -2
  232. package/dist/index46.js +2 -2
  233. package/dist/index52.js +1 -1
  234. package/dist/index54.js +1 -1
  235. package/dist/index58.js +2 -2
  236. package/dist/index66.js +16 -23
  237. package/dist/index66.js.map +1 -1
  238. package/dist/index70.js +4 -4
  239. package/dist/index74.js +2 -2
  240. package/dist/index76.js +1 -1
  241. package/dist/index79.js +2 -2
  242. package/dist/index81.js +1 -1
  243. package/dist/index83.js +3 -3
  244. package/dist/index85.js +1 -1
  245. package/dist/style.css +1 -1
  246. package/dist/utilities/functions/chunk.d.ts +1 -0
  247. package/dist/utilities/functions/negative.d.ts +1 -0
  248. package/dist/utilities/functions/pipe.d.ts +3 -0
  249. package/dist/utilities/functions/range.d.ts +1 -0
  250. package/dist/utilities/functions/sort.d.ts +6 -0
  251. package/package.json +2 -2
  252. package/dist/index209.js +0 -8
  253. package/dist/index209.js.map +0 -1
  254. package/dist/index219.js +0 -5
  255. package/dist/index219.js.map +0 -1
  256. package/dist/index237.js +0 -12
  257. package/dist/index237.js.map +0 -1
  258. package/dist/index239.js +0 -9
  259. package/dist/index239.js.map +0 -1
  260. package/dist/index258.js +0 -10
  261. package/dist/index258.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index284.js","sources":["../node_modules/@tanstack/virtual-core/dist/esm/index.js"],"sourcesContent":["import { debounce, memo, notUndefined, approxEqual } from \"./utils.js\";\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(element.getBoundingClientRect());\n if (!targetWindow.ResizeObserver) {\n return () => {\n };\n }\n const observer = new targetWindow.ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(element.getBoundingClientRect());\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeElementOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollLeft\" : \"scrollTop\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"scroll\", handler);\n element.removeEventListener(\"scrollend\", endHandler);\n };\n};\nconst observeWindowOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollX\" : \"scrollY\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n endHandler();\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"scroll\", handler);\n element.removeEventListener(\"scrollend\", endHandler);\n };\n};\nconst measureElement = (element, entry, instance) => {\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n return Math.round(\n element.getBoundingClientRect()[instance.options.horizontal ? \"width\" : \"height\"]\n );\n};\nconst windowScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nconst elementScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.isScrolling = false;\n this.scrollToIndexTimeoutId = null;\n this.measurementsCache = [];\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.scrollRect = null;\n this.scrollOffset = null;\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.elementsCache = /* @__PURE__ */ new Map();\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n }\n if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n return null;\n }\n return _ro = new this.targetWindow.ResizeObserver((entries) => {\n entries.forEach((entry) => {\n this._measureElement(entry.target, entry);\n });\n });\n };\n return {\n disconnect: () => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.disconnect();\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n Object.entries(opts2).forEach(([key, value]) => {\n if (typeof value === \"undefined\") delete opts2[key];\n });\n this.options = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n isScrollingResetDelay: 150,\n enabled: true,\n ...opts2\n };\n };\n this.notify = (force, sync) => {\n var _a, _b;\n const { startIndex, endIndex } = this.range ?? {\n startIndex: void 0,\n endIndex: void 0\n };\n const range = this.calculateRange();\n if (force || startIndex !== (range == null ? void 0 : range.startIndex) || endIndex !== (range == null ? void 0 : range.endIndex)) {\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n }\n };\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.observer.disconnect();\n this.elementsCache.clear();\n };\n this._didMount = () => {\n return () => {\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n var _a;\n const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n if (!scrollElement) {\n this.notify(false, false);\n return;\n }\n this.scrollElement = scrollElement;\n if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n } else {\n this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.notify(false, false);\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n this.scrollAdjustments = 0;\n this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n const prevIsScrolling = this.isScrolling;\n this.isScrolling = isScrolling;\n this.notify(prevIsScrolling !== isScrolling, isScrolling);\n })\n );\n }\n };\n this.getSize = () => {\n if (!this.options.enabled) {\n this.scrollRect = null;\n return 0;\n }\n this.scrollRect = this.scrollRect ?? this.options.initialRect;\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getScrollOffset = () => {\n if (!this.options.enabled) {\n this.scrollOffset = null;\n return 0;\n }\n this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n return this.scrollOffset;\n };\n this.getFurthestMeasurement = (measurements, index) => {\n const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n const furthestMeasurements = /* @__PURE__ */ new Map();\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane\n );\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n if (a.end === b.end) {\n return a.index - b.index;\n }\n return a.end - b.end;\n })[0] : void 0;\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n this.options.enabled\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled) => {\n this.pendingMeasuredCacheIndexes = [];\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled\n };\n },\n {\n key: false\n }\n );\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCache],\n ({ count, paddingStart, scrollMargin, getItemKey, enabled }, itemSizeCache) => {\n var _a;\n if (!enabled) {\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n return [];\n }\n if (this.measurementsCache.length === 0) {\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n }\n const min = this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n const measurements = this.measurementsCache.slice(0, min);\n for (let i = min; i < count; i++) {\n let measureElement2 = (_a = this.measurementsCache[i]) == null ? void 0 : _a.measureElement;\n if (!measureElement2) {\n measureElement2 = (node) => {\n const key2 = getItemKey(i);\n const prevNode = this.elementsCache.get(key2);\n if (!node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n this.elementsCache.delete(key2);\n }\n return;\n }\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(key2, node);\n }\n if (node.isConnected) {\n this.resizeItem(\n i,\n this.options.measureElement(node, void 0, this)\n );\n }\n };\n }\n const key = getItemKey(i);\n const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n const start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n const lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane,\n measureElement: measureElement2\n };\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [this.getMeasurements(), this.getSize(), this.getScrollOffset()],\n (measurements, outerSize, scrollOffset) => {\n return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements,\n outerSize,\n scrollOffset\n }) : null;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getIndexes = memo(\n () => [\n this.options.rangeExtractor,\n this.calculateRange(),\n this.options.overscan,\n this.options.count\n ],\n (rangeExtractor, range, overscan, count) => {\n return range === null ? [] : rangeExtractor({\n startIndex: range.startIndex,\n endIndex: range.endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = (node, entry) => {\n const i = this.indexFromElement(node);\n const item = this.getMeasurements()[i];\n if (!item || !node.isConnected) {\n this.elementsCache.forEach((cached, key) => {\n if (cached === node) {\n this.observer.unobserve(node);\n this.elementsCache.delete(key);\n }\n });\n return;\n }\n const prevNode = this.elementsCache.get(item.key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(item.key, node);\n }\n this.resizeItem(i, this.options.measureElement(node, entry, this));\n };\n this.resizeItem = (index, size) => {\n const item = this.getMeasurements()[index];\n if (!item) {\n return;\n }\n const itemSize = this.itemSizeCache.get(item.key) ?? item.size;\n const delta = size - itemSize;\n if (delta !== 0) {\n if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n }\n this.pendingMeasuredCacheIndexes.push(item.index);\n this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));\n this.notify(true, false);\n }\n };\n this.measureElement = (node) => {\n if (!node) {\n return;\n }\n this._measureElement(node, void 0);\n };\n this.getVirtualItems = memo(\n () => [this.getIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getIndexes\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n if (measurements.length === 0) {\n return void 0;\n }\n return notUndefined(\n measurements[findNearestBinarySearch(\n 0,\n measurements.length - 1,\n (index) => notUndefined(measurements[index]).start,\n offset\n )]\n );\n };\n this.getOffsetForAlignment = (toOffset, align) => {\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n if (toOffset <= scrollOffset) {\n align = \"start\";\n } else if (toOffset >= scrollOffset + size) {\n align = \"end\";\n } else {\n align = \"start\";\n }\n }\n if (align === \"start\") {\n toOffset = toOffset;\n } else if (align === \"end\") {\n toOffset = toOffset - size;\n } else if (align === \"center\") {\n toOffset = toOffset - size / 2;\n }\n const scrollSizeProp = this.options.horizontal ? \"scrollWidth\" : \"scrollHeight\";\n const scrollSize = this.scrollElement ? \"document\" in this.scrollElement ? this.scrollElement.document.documentElement[scrollSizeProp] : this.scrollElement[scrollSizeProp] : 0;\n const maxOffset = scrollSize - size;\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const item = this.getMeasurements()[index];\n if (!item) {\n return void 0;\n }\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [scrollOffset, align];\n }\n }\n const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n return [this.getOffsetForAlignment(toOffset, align), align];\n };\n this.isDynamicMode = () => this.elementsCache.size > 0;\n this.cancelScrollToIndex = () => {\n if (this.scrollToIndexTimeoutId !== null && this.targetWindow) {\n this.targetWindow.clearTimeout(this.scrollToIndexTimeoutId);\n this.scrollToIndexTimeoutId = null;\n }\n };\n this.scrollToOffset = (toOffset, { align = \"start\", behavior } = {}) => {\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {\n adjustments: void 0,\n behavior\n });\n };\n this.scrollToIndex = (index, { align: initialAlign = \"auto\", behavior } = {}) => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n const offsetAndAlign = this.getOffsetForIndex(index, initialAlign);\n if (!offsetAndAlign) return;\n const [offset, align] = offsetAndAlign;\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n if (behavior !== \"smooth\" && this.isDynamicMode() && this.targetWindow) {\n this.scrollToIndexTimeoutId = this.targetWindow.setTimeout(() => {\n this.scrollToIndexTimeoutId = null;\n const elementInDOM = this.elementsCache.has(\n this.options.getItemKey(index)\n );\n if (elementInDOM) {\n const [latestOffset] = notUndefined(\n this.getOffsetForIndex(index, align)\n );\n if (!approxEqual(latestOffset, this.getScrollOffset())) {\n this.scrollToIndex(index, { align, behavior });\n }\n } else {\n this.scrollToIndex(index, { align, behavior });\n }\n });\n }\n };\n this.scrollBy = (delta, { behavior } = {}) => {\n this.cancelScrollToIndex();\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getScrollOffset() + delta, {\n adjustments: void 0,\n behavior\n });\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else {\n end = this.options.lanes === 1 ? ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0 : Math.max(\n ...measurements.slice(-this.options.lanes).map((m) => m.end)\n );\n }\n return end - this.options.scrollMargin + this.options.paddingEnd;\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n var _a, _b;\n this.itemSizeCache = /* @__PURE__ */ new Map();\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, false);\n };\n this.setOptions(opts);\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange({\n measurements,\n outerSize,\n scrollOffset\n}) {\n const count = measurements.length - 1;\n const getOffset = (index) => measurements[index].start;\n const startIndex = findNearestBinarySearch(0, count, getOffset, scrollOffset);\n let endIndex = startIndex;\n while (endIndex < count && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n"],"names":["defaultKeyExtractor","index","defaultRangeExtractor","range","start","end","arr","i","observeElementRect","instance","cb","element","targetWindow","handler","rect","width","height","observer","entries","entry","box","addEventListenerOptions","supportsScrollend","observeElementOffset","offset","fallback","debounce","createHandler","isScrolling","endHandler","measureElement","elementScroll","adjustments","behavior","_a","_b","toOffset","Virtualizer","opts","_ro","get","target","opts2","key","value","force","sync","startIndex","endIndex","d","scrollElement","prevIsScrolling","measurements","furthestMeasurementsFound","furthestMeasurements","m","measurement","previousFurthestMeasurement","a","b","memo","count","paddingStart","scrollMargin","getItemKey","enabled","itemSizeCache","item","min","measureElement2","node","key2","prevNode","furthestMeasurement","measuredSize","size","lane","outerSize","scrollOffset","calculateRange","rangeExtractor","overscan","attributeName","indexStr","cached","itemSize","delta","indexes","virtualItems","k","len","notUndefined","findNearestBinarySearch","align","scrollSizeProp","maxOffset","initialAlign","offsetAndAlign","latestOffset","approxEqual","low","high","getCurrentValue","middle","currentValue"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index284.js","sources":["../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"],"sourcesContent":["/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n"],"names":["sides","min","max","round","floor","createCoords","v","oppositeSideMap","oppositeAlignmentMap","clamp","start","value","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","side","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","x","y","width","height"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/index285.js CHANGED
@@ -1,50 +1,6 @@
1
- function D(n, l, e) {
2
- let i = e.initialDeps ?? [], t;
3
- return () => {
4
- var r, c, h, m;
5
- let f;
6
- e.key && ((r = e.debug) != null && r.call(e)) && (f = Date.now());
7
- const o = n();
8
- if (!(o.length !== i.length || o.some((a, u) => i[u] !== a)))
9
- return t;
10
- i = o;
11
- let g;
12
- if (e.key && ((c = e.debug) != null && c.call(e)) && (g = Date.now()), t = l(...o), e.key && ((h = e.debug) != null && h.call(e))) {
13
- const a = Math.round((Date.now() - f) * 100) / 100, u = Math.round((Date.now() - g) * 100) / 100, w = u / 16, s = (d, b) => {
14
- for (d = String(d); d.length < b; )
15
- d = " " + d;
16
- return d;
17
- };
18
- console.info(
19
- `%c⏱ ${s(u, 5)} /${s(a, 5)} ms`,
20
- `
21
- font-size: .6rem;
22
- font-weight: bold;
23
- color: hsl(${Math.max(
24
- 0,
25
- Math.min(120 - 120 * w, 120)
26
- )}deg 100% 31%);`,
27
- e == null ? void 0 : e.key
28
- );
29
- }
30
- return (m = e == null ? void 0 : e.onChange) == null || m.call(e, t), t;
31
- };
32
- }
33
- function T(n, l) {
34
- if (n === void 0)
35
- throw new Error("Unexpected undefined");
36
- return n;
37
- }
38
- const y = (n, l) => Math.abs(n - l) < 1, M = (n, l, e) => {
39
- let i;
40
- return function(...t) {
41
- n.clearTimeout(i), i = n.setTimeout(() => l.apply(this, t), e);
42
- };
43
- };
1
+ import o from "./index236.js";
2
+ /* empty css */
44
3
  export {
45
- y as approxEqual,
46
- M as debounce,
47
- D as memo,
48
- T as notUndefined
4
+ o as default
49
5
  };
50
6
  //# sourceMappingURL=index285.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index285.js","sources":["../node_modules/@tanstack/virtual-core/dist/esm/utils.js"],"sourcesContent":["function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n return () => {\n var _a, _b, _c, _d;\n let depTime;\n if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();\n result = fn(...newDeps);\n if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n (_d = opts == null ? void 0 : opts.onChange) == null ? void 0 : _d.call(opts, result);\n return result;\n };\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n"],"names":["memo","getDeps","fn","opts","deps","result","_a","_b","_c","_d","depTime","newDeps","dep","index","resultTime","depEndTime","resultEndTime","resultFpsPercentage","pad","str","num","notUndefined","value","msg","approxEqual","a","b","debounce","targetWindow","ms","timeoutId","args"],"mappings":"AAAA,SAASA,EAAKC,GAASC,GAAIC,GAAM;AAC/B,MAAIC,IAAOD,EAAK,eAAe,IAC3BE;AACJ,SAAO,MAAM;AACX,QAAIC,GAAIC,GAAIC,GAAIC;AAChB,QAAIC;AACJ,IAAIP,EAAK,SAASG,IAAKH,EAAK,UAAU,QAAgBG,EAAG,KAAKH,CAAI,OAAIO,IAAU,KAAK;AACrF,UAAMC,IAAUV;AAEhB,QAAI,EADgBU,EAAQ,WAAWP,EAAK,UAAUO,EAAQ,KAAK,CAACC,GAAKC,MAAUT,EAAKS,CAAK,MAAMD,CAAG;AAEpG,aAAOP;AAET,IAAAD,IAAOO;AACP,QAAIG;AAGJ,QAFIX,EAAK,SAASI,IAAKJ,EAAK,UAAU,QAAgBI,EAAG,KAAKJ,CAAI,OAAIW,IAAa,KAAK,QACxFT,IAASH,EAAG,GAAGS,CAAO,GAClBR,EAAK,SAASK,IAAKL,EAAK,UAAU,QAAgBK,EAAG,KAAKL,CAAI,IAAI;AACpE,YAAMY,IAAa,KAAK,OAAO,KAAK,IAAG,IAAKL,KAAW,GAAG,IAAI,KACxDM,IAAgB,KAAK,OAAO,KAAK,IAAG,IAAKF,KAAc,GAAG,IAAI,KAC9DG,IAAsBD,IAAgB,IACtCE,IAAM,CAACC,GAAKC,MAAQ;AAExB,aADAD,IAAM,OAAOA,CAAG,GACTA,EAAI,SAASC;AAClB,UAAAD,IAAM,MAAMA;AAEd,eAAOA;AAAA,MACf;AACM,cAAQ;AAAA,QACN,OAAOD,EAAIF,GAAe,CAAC,CAAC,KAAKE,EAAIH,GAAY,CAAC,CAAC;AAAA,QACnD;AAAA;AAAA;AAAA,yBAGiB,KAAK;AAAA,UACpB;AAAA,UACA,KAAK,IAAI,MAAM,MAAME,GAAqB,GAAG;AAAA,QAC9C,CAAA;AAAA,QACDd,KAAQ,OAAO,SAASA,EAAK;AAAA,MACrC;AAAA,IACK;AACD,YAACM,IAAKN,KAAQ,OAAO,SAASA,EAAK,aAAa,QAAgBM,EAAG,KAAKN,GAAME,CAAM,GAC7EA;AAAA,EACX;AACA;AACA,SAASgB,EAAaC,GAAOC,GAAK;AAChC,MAAID,MAAU;AACZ,UAAM,IAAI,MAAM,sBAA8C;AAE9D,SAAOA;AAEX;AACK,MAACE,IAAc,CAACC,GAAGC,MAAM,KAAK,IAAID,IAAIC,CAAC,IAAI,GAC1CC,IAAW,CAACC,GAAc1B,GAAI2B,MAAO;AACzC,MAAIC;AACJ,SAAO,YAAYC,GAAM;AACvB,IAAAH,EAAa,aAAaE,CAAS,GACnCA,IAAYF,EAAa,WAAW,MAAM1B,EAAG,MAAM,MAAM6B,CAAI,GAAGF,CAAE;AAAA,EACtE;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index285.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,6 @@
1
+ import o from "./index238.js";
2
+ /* empty css */
3
+ export {
4
+ o as default
5
+ };
6
+ //# sourceMappingURL=index286.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index286.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,214 @@
1
+ import { defineComponent as K, ref as h, computed as m, watch as N, openBlock as r, createElementBlock as c, normalizeClass as $, normalizeStyle as b, withModifiers as Q, createElementVNode as x, renderSlot as v, createTextVNode as D, toDisplayString as g, Fragment as U, renderList as X } from "vue";
2
+ import { isNil as f } from "./index124.js";
3
+ import { useVirtualizer as Z } from "./index299.js";
4
+ import { isNotNil as ee } from "./index129.js";
5
+ import { hash as H } from "./index205.js";
6
+ const te = { class: "bb-listbox__outer-container" }, oe = {
7
+ key: 0,
8
+ class: "bb-listbox__loading"
9
+ }, ne = {
10
+ key: 1,
11
+ class: "bb-listbox__no-data"
12
+ }, le = ["aria-selected", "data-index"], ie = { class: "autocomplete-option__content" }, se = { class: "autocomplete-option__label" }, pe = /* @__PURE__ */ K({
13
+ __name: "ListBox",
14
+ props: {
15
+ options: {},
16
+ open: { type: Boolean },
17
+ loading: { type: Boolean },
18
+ transitionDuration: { default: 250 },
19
+ loadingText: { default: "Caricamento..." },
20
+ noDataText: { default: "Nessun elemento da visualizzare" }
21
+ },
22
+ emits: ["option:selected", "option:unselected"],
23
+ setup(T, { expose: V, emit: B }) {
24
+ const o = T, _ = B, s = h(null), C = (e) => "option_" + JSON.stringify(e).replace(/\W/g, "_"), i = m(
25
+ () => o.options.map((e) => ({ ...e, id: C(e.value) }))
26
+ ), p = Z({
27
+ get count() {
28
+ return o.options.length;
29
+ },
30
+ getScrollElement: () => s.value,
31
+ estimateSize: () => 42,
32
+ overscan: 5
33
+ }), L = (e) => {
34
+ e && p.value.measureElement(e);
35
+ }, O = m(() => p.value.getVirtualItems()), F = m(() => p.value.getTotalSize()), n = h(null), a = m(
36
+ () => o.open && o.options.some((e) => !e.disabled)
37
+ ), y = (e = 1) => {
38
+ const l = f(n.value) ? -1 : n.value;
39
+ let t = (l + e) % o.options.length;
40
+ for (; o.options[t].disabled && t !== l; )
41
+ t = y(e + 1);
42
+ return t;
43
+ }, M = () => {
44
+ if (!a.value) return;
45
+ const e = y();
46
+ n.value = e, u();
47
+ }, I = (e = 1) => {
48
+ const l = f(n.value) ? 0 : n.value;
49
+ let t = (l - e + o.options.length) % o.options.length;
50
+ for (; o.options[t].disabled && t !== l; )
51
+ t = I(e + 1);
52
+ return t;
53
+ }, A = async () => {
54
+ if (!a.value) return;
55
+ const e = I();
56
+ n.value = e, u();
57
+ }, P = () => {
58
+ if (!a.value) return;
59
+ let e = 0;
60
+ for (; o.options[e].disabled; )
61
+ e++;
62
+ n.value = e, u();
63
+ }, R = () => {
64
+ if (!a.value) return;
65
+ let e = o.options.length - 1;
66
+ for (; o.options[e].disabled && e !== 0; )
67
+ e--;
68
+ n.value = e, u();
69
+ }, q = () => {
70
+ if (!a.value) return;
71
+ let e = 0;
72
+ for (; o.options[e] && !o.options[e].selected && o.options.length !== e; )
73
+ e++;
74
+ n.value = e % o.options.length, u();
75
+ }, J = () => {
76
+ if (!a.value) return;
77
+ let e = o.options.length - 1;
78
+ for (; o.options[e].selected && e > 0; )
79
+ e--;
80
+ n.value = e === -1 ? o.options.length - 1 : e, u();
81
+ }, W = (e) => {
82
+ if (!a.value) return;
83
+ const l = o.options.findIndex(
84
+ (t) => t.valueHash === e
85
+ );
86
+ l >= 0 && (n.value = l), u();
87
+ }, S = () => {
88
+ n.value = null;
89
+ }, u = () => {
90
+ s.value && ee(n.value) && p.value.scrollToIndex(n.value, {
91
+ align: "center",
92
+ behavior: "smooth"
93
+ });
94
+ }, k = () => {
95
+ if (f(n.value) || !o.open) return;
96
+ const e = o.options[n.value];
97
+ e.selected ? _("option:unselected", e) : _("option:selected", e);
98
+ }, w = h(0), z = () => {
99
+ s.value && (w.value = s.value.scrollHeight);
100
+ }, Y = (e) => !e.disabled, j = (e) => {
101
+ if (e.preventDefault(), s.value && e.target && e.target instanceof HTMLElement) {
102
+ if (!s.value.querySelector('[role="listbox"]'))
103
+ throw new Error("Could not find listbox in DOM tree.");
104
+ let t = e.target, d = t.dataset.index;
105
+ for (; f(d) && t.parentElement; )
106
+ t = t.parentElement, d = t.dataset.index;
107
+ if (d) {
108
+ const E = o.options[+d];
109
+ E && Y(E) && (n.value = +d, k());
110
+ }
111
+ }
112
+ }, G = () => f(n.value) ? void 0 : o.options[n.value];
113
+ return N(
114
+ () => o.open,
115
+ () => {
116
+ z();
117
+ },
118
+ { flush: "post" }
119
+ ), N(
120
+ () => o.options,
121
+ (e, l) => {
122
+ H(e.map((t) => t.valueHash)) !== H(l.map((t) => t.valueHash)) && (p.value.calculateRange(), z(), S());
123
+ },
124
+ {
125
+ flush: "post"
126
+ }
127
+ ), V({
128
+ focusNext: M,
129
+ focusPrevious: A,
130
+ focusFirst: P,
131
+ focusFirstSelected: q,
132
+ focusLast: R,
133
+ focusLastSelected: J,
134
+ blur: S,
135
+ confirmOption: k,
136
+ focusByHash: W,
137
+ getHighlighted: G
138
+ }), (e, l) => (r(), c("div", {
139
+ class: $(["bb-listbox", {
140
+ "bb-listbox--open": e.open,
141
+ "bb-listbox--loading": e.loading,
142
+ "bb-listbox--no-data": !i.value.length
143
+ }]),
144
+ style: b({
145
+ "--transition-duration": `${e.transitionDuration}ms`,
146
+ "--overlay-min-height": `${w.value}px`
147
+ }),
148
+ onClick: Q(j, ["stop"])
149
+ }, [
150
+ x("div", te, [
151
+ x("div", {
152
+ ref_key: "inner",
153
+ ref: s,
154
+ class: "bb-listbox__inner-container"
155
+ }, [
156
+ v(e.$slots, "options:prepend"),
157
+ e.loading && !e.options.length ? (r(), c("div", oe, [
158
+ v(e.$slots, "loading", {}, () => [
159
+ D(g(e.loadingText), 1)
160
+ ])
161
+ ])) : e.options.length ? (r(), c("div", {
162
+ key: 2,
163
+ role: "listbox",
164
+ style: b({
165
+ height: `${F.value}px`
166
+ }),
167
+ tabindex: "-1"
168
+ }, [
169
+ (r(!0), c(U, null, X(O.value, (t, d) => (r(), c("div", {
170
+ key: i.value[t.index].value,
171
+ ref_for: !0,
172
+ ref: L,
173
+ "aria-selected": n.value === d ? !0 : void 0,
174
+ class: $({
175
+ "bb-listbox__option autocomplete-option": !0,
176
+ "autocomplete-option--focused": n.value === t.index,
177
+ "autocomplete-option--selected": i.value[t.index].selected,
178
+ "autocomplete-option--disabled": i.value[t.index].disabled
179
+ }),
180
+ "data-index": t.index,
181
+ role: "option",
182
+ style: b({
183
+ transform: `translateY(${t.start}px)`
184
+ })
185
+ }, [
186
+ x("span", ie, [
187
+ v(e.$slots, "option", {
188
+ disabled: !!i.value[t.index].disabled,
189
+ focused: n.value === t.index,
190
+ index: t.index,
191
+ item: i.value[t.index].item,
192
+ selected: !!i.value[t.index].selected,
193
+ text: i.value[t.index].text,
194
+ value: i.value[t.index].value
195
+ }, () => [
196
+ x("span", se, g(i.value[t.index].text), 1)
197
+ ])
198
+ ])
199
+ ], 14, le))), 128))
200
+ ], 4)) : (r(), c("div", ne, [
201
+ v(e.$slots, "no-data", {}, () => [
202
+ D(g(e.noDataText), 1)
203
+ ])
204
+ ])),
205
+ v(e.$slots, "options:append")
206
+ ], 512)
207
+ ])
208
+ ], 6));
209
+ }
210
+ });
211
+ export {
212
+ pe as default
213
+ };
214
+ //# sourceMappingURL=index287.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index287.js","sources":["../src/components/ListBox.vue"],"sourcesContent":["<template>\n\t<div\n\t\tclass=\"bb-listbox\"\n\t\t:class=\"{\n\t\t\t'bb-listbox--open': open,\n\t\t\t'bb-listbox--loading': loading,\n\t\t\t'bb-listbox--no-data': !mappedOptions.length,\n\t\t}\"\n\t\t:style=\"{\n\t\t\t'--transition-duration': `${transitionDuration}ms`,\n\t\t\t'--overlay-min-height': `${height}px`,\n\t\t}\"\n\t\t@click.stop=\"handleClick\"\n\t>\n\t\t<div class=\"bb-listbox__outer-container\">\n\t\t\t<div ref=\"inner\" class=\"bb-listbox__inner-container\">\n\t\t\t\t<slot name=\"options:prepend\"></slot>\n\t\t\t\t<div v-if=\"loading && !options.length\" class=\"bb-listbox__loading\">\n\t\t\t\t\t<slot :name=\"'loading'\">{{ loadingText }}</slot>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"!options.length\" class=\"bb-listbox__no-data\">\n\t\t\t\t\t<slot :name=\"'no-data'\">{{ noDataText }}</slot>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-else\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t:style=\"{\n\t\t\t\t\t\theight: `${totalSize}px`,\n\t\t\t\t\t}\"\n\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-for=\"(row, index) in virtualRows\"\n\t\t\t\t\t\t:key=\"mappedOptions[row.index].value\"\n\t\t\t\t\t\t:ref=\"measureElement\"\n\t\t\t\t\t\t:aria-selected=\"focusedIndex === index ? true : undefined\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'bb-listbox__option autocomplete-option': true,\n\t\t\t\t\t\t\t'autocomplete-option--focused': focusedIndex === row.index,\n\t\t\t\t\t\t\t'autocomplete-option--selected':\n\t\t\t\t\t\t\t\tmappedOptions[row.index].selected,\n\t\t\t\t\t\t\t'autocomplete-option--disabled':\n\t\t\t\t\t\t\t\tmappedOptions[row.index].disabled,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t:data-index=\"row.index\"\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t:style=\"{\n\t\t\t\t\t\t\ttransform: `translateY(${row.start}px)`,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span class=\"autocomplete-option__content\">\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:disabled=\"!!mappedOptions[row.index].disabled\"\n\t\t\t\t\t\t\t\t:focused=\"focusedIndex === row.index\"\n\t\t\t\t\t\t\t\t:index=\"row.index\"\n\t\t\t\t\t\t\t\t:item=\"mappedOptions[row.index].item\"\n\t\t\t\t\t\t\t\tname=\"option\"\n\t\t\t\t\t\t\t\t:selected=\"!!mappedOptions[row.index].selected\"\n\t\t\t\t\t\t\t\t:text=\"mappedOptions[row.index].text\"\n\t\t\t\t\t\t\t\t:value=\"mappedOptions[row.index].value\"\n\t\t\t\t\t\t\t\t><span class=\"autocomplete-option__label\">{{\n\t\t\t\t\t\t\t\t\tmappedOptions[row.index].text\n\t\t\t\t\t\t\t\t}}</span></slot\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<slot name=\"options:append\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { isNil } from '@/utilities/functions/isNil';\nimport { computed, ref, watch } from 'vue';\nimport { useVirtualizer } from '@tanstack/vue-virtual';\nimport { isNotNil } from '@/utilities/functions/isNotNil';\nimport type { Option } from '@/types/Option';\nimport { hash } from '@/utilities/functions/hash';\n\ntype Props = {\n\toptions: Option[];\n\topen?: boolean;\n\tloading?: boolean;\n\ttransitionDuration?: number;\n\tloadingText?: string;\n\tnoDataText?: string;\n};\n\nconst props = withDefaults(defineProps<Props>(), {\n\ttransitionDuration: 250,\n\tloadingText: 'Caricamento...',\n\tnoDataText: 'Nessun elemento da visualizzare',\n});\n\nconst emit = defineEmits<{\n\t(e: 'option:selected', option: Option): void;\n\t(e: 'option:unselected', option: Option): void;\n}>();\n\nconst inner = ref<HTMLElement | null>(null);\n\nconst makeStringID = (arg: any) =>\n\t'option_' + JSON.stringify(arg).replace(/\\W/g, '_');\n\nconst mappedOptions = computed(() =>\n\tprops.options.map((o) => {\n\t\treturn { ...o, id: makeStringID(o.value) };\n\t})\n);\n\nconst rowVirtualizer = useVirtualizer({\n\tget count() {\n\t\treturn props.options.length;\n\t},\n\tgetScrollElement: () => inner.value,\n\testimateSize: () => 42,\n\toverscan: 5,\n});\n\nconst measureElement = (el: HTMLElement) => {\n\tif (!el) {\n\t\treturn;\n\t}\n\trowVirtualizer.value.measureElement(el);\n\treturn undefined;\n};\n\nconst virtualRows = computed(() => rowVirtualizer.value.getVirtualItems());\nconst totalSize = computed(() => rowVirtualizer.value.getTotalSize());\n\n/**\n * START FOCUS HANDLING\n */\n\nconst focusedIndex = ref<null | number>(null);\n\nconst canFocus = computed(\n\t() => props.open && props.options.some((o) => !o.disabled)\n);\n\nconst findNextAvailableIndex = (offset = 1) => {\n\tconst initialValue = isNil(focusedIndex.value) ? -1 : focusedIndex.value!;\n\tlet newIndex = (initialValue + offset) % props.options.length;\n\twhile (props.options[newIndex].disabled && newIndex !== initialValue) {\n\t\tnewIndex = findNextAvailableIndex(offset + 1);\n\t}\n\treturn newIndex;\n};\n\nconst focusNext = () => {\n\tif (!canFocus.value) return;\n\tconst newIndex = findNextAvailableIndex();\n\tfocusedIndex.value = newIndex;\n\tscrollSelectedIntoView();\n};\nconst findPreviousAvailableIndex = (offset = 1) => {\n\tconst initialValue = isNil(focusedIndex.value) ? 0 : focusedIndex.value!;\n\tlet newIndex =\n\t\t(initialValue - offset + props.options.length) % props.options.length;\n\twhile (props.options[newIndex].disabled && newIndex !== initialValue) {\n\t\tnewIndex = findPreviousAvailableIndex(offset + 1);\n\t}\n\treturn newIndex;\n};\nconst focusPrevious = async () => {\n\tif (!canFocus.value) return;\n\tconst newIndex = findPreviousAvailableIndex();\n\tfocusedIndex.value = newIndex;\n\tscrollSelectedIntoView();\n};\n\nconst focusFirst = () => {\n\tif (!canFocus.value) return;\n\tlet newIndex = 0;\n\twhile (props.options[newIndex].disabled) {\n\t\tnewIndex++;\n\t}\n\tfocusedIndex.value = newIndex;\n\tscrollSelectedIntoView();\n};\n\nconst focusLast = () => {\n\tif (!canFocus.value) return;\n\tlet newIndex = props.options.length - 1;\n\twhile (props.options[newIndex].disabled && newIndex !== 0) {\n\t\tnewIndex--;\n\t}\n\tfocusedIndex.value = newIndex;\n\tscrollSelectedIntoView();\n};\nconst focusFirstSelected = () => {\n\tif (!canFocus.value) return;\n\tlet newIndex = 0;\n\twhile (\n\t\tprops.options[newIndex] &&\n\t\t!props.options[newIndex].selected &&\n\t\tprops.options.length !== newIndex\n\t) {\n\t\tnewIndex++;\n\t}\n\tfocusedIndex.value = newIndex % props.options.length;\n\tscrollSelectedIntoView();\n};\nconst focusLastSelected = () => {\n\tif (!canFocus.value) return;\n\tlet newIndex = props.options.length - 1;\n\twhile (props.options[newIndex].selected && newIndex > 0) {\n\t\tnewIndex--;\n\t}\n\tfocusedIndex.value = newIndex === -1 ? props.options.length - 1 : newIndex;\n\tscrollSelectedIntoView();\n};\n\nconst focusByHash = (hash: Option['valueHash']) => {\n\tif (!canFocus.value) return;\n\tconst linkedOptionIndex = props.options.findIndex(\n\t\t(o) => o.valueHash === hash\n\t);\n\tif (linkedOptionIndex >= 0) {\n\t\tfocusedIndex.value = linkedOptionIndex;\n\t}\n\tscrollSelectedIntoView();\n};\n\nconst blur = () => {\n\tfocusedIndex.value = null;\n};\n\nconst scrollSelectedIntoView = () => {\n\tif (inner.value && isNotNil(focusedIndex.value)) {\n\t\trowVirtualizer.value.scrollToIndex(focusedIndex.value, {\n\t\t\talign: 'center',\n\t\t\tbehavior: 'smooth',\n\t\t});\n\t}\n};\n\n/**\n * END FOCUS HANDLING\n */\n\nconst confirmOption = () => {\n\tif (isNil(focusedIndex.value) || !props.open) return;\n\tconst option = props.options[focusedIndex.value!];\n\tif (option.selected) {\n\t\temit('option:unselected', option);\n\t} else {\n\t\temit('option:selected', option);\n\t}\n};\n\nconst height = ref(0);\nconst getScrollHeight = () => {\n\tif (inner.value) {\n\t\theight.value = inner.value.scrollHeight;\n\t}\n};\n\nconst canBeSelected = (option: Option) => {\n\treturn !option.disabled;\n};\n\nconst handleClick = (event: MouseEvent) => {\n\tevent.preventDefault();\n\tif (inner.value && event.target && event.target instanceof HTMLElement) {\n\t\tconst listbox = inner.value.querySelector<HTMLElement>('[role=\"listbox\"]');\n\t\tif (!listbox) {\n\t\t\tthrow new Error('Could not find listbox in DOM tree.');\n\t\t}\n\t\tlet node: HTMLElement = event.target;\n\t\tlet index = node.dataset['index'];\n\t\twhile (isNil(index) && node.parentElement) {\n\t\t\tnode = node.parentElement;\n\t\t\tindex = node.dataset['index'];\n\t\t}\n\t\tif (index) {\n\t\t\tconst option = props.options[+index];\n\t\t\tif (option && canBeSelected(option)) {\n\t\t\t\tfocusedIndex.value = +index;\n\t\t\t\tconfirmOption();\n\t\t\t}\n\t\t}\n\t}\n};\n\nconst getHighlighted = () => {\n\tif (isNil(focusedIndex.value)) return;\n\tconst option = props.options[focusedIndex.value!];\n\treturn option;\n};\n\nwatch(\n\t() => props.open,\n\t() => {\n\t\tgetScrollHeight();\n\t},\n\t{ flush: 'post' }\n);\n\nwatch(\n\t() => props.options,\n\t(value, previous) => {\n\t\tif (\n\t\t\thash(value.map((o) => o.valueHash)) !==\n\t\t\thash(previous.map((o) => o.valueHash))\n\t\t) {\n\t\t\trowVirtualizer.value.calculateRange();\n\t\t\tgetScrollHeight();\n\t\t\tblur();\n\t\t}\n\t},\n\t{\n\t\tflush: 'post',\n\t}\n);\n\ndefineExpose({\n\tfocusNext,\n\tfocusPrevious,\n\tfocusFirst,\n\tfocusFirstSelected,\n\tfocusLast,\n\tfocusLastSelected,\n\tblur,\n\tconfirmOption,\n\tfocusByHash,\n\tgetHighlighted,\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/ListBox';\n</style>\n"],"names":["props","__props","emit","__emit","inner","ref","makeStringID","arg","mappedOptions","computed","o","rowVirtualizer","useVirtualizer","measureElement","el","virtualRows","totalSize","focusedIndex","canFocus","findNextAvailableIndex","offset","initialValue","isNil","newIndex","focusNext","scrollSelectedIntoView","findPreviousAvailableIndex","focusPrevious","focusFirst","focusLast","focusFirstSelected","focusLastSelected","focusByHash","hash","linkedOptionIndex","blur","isNotNil","confirmOption","option","height","getScrollHeight","canBeSelected","handleClick","event","node","index","getHighlighted","watch","value","previous","__expose"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ function r(t) {
2
+ return Object.prototype.toString.call(t).slice(8, -1);
3
+ }
4
+ function o(t) {
5
+ return r(t) === "Array";
6
+ }
7
+ function c(t) {
8
+ if (r(t) !== "Object")
9
+ return !1;
10
+ const e = Object.getPrototypeOf(t);
11
+ return !!e && e.constructor === Object && e === Object.prototype;
12
+ }
13
+ export {
14
+ r as getType,
15
+ o as isArray,
16
+ c as isPlainObject
17
+ };
18
+ //# sourceMappingURL=index289.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index289.js","sources":["../node_modules/is-what/dist/index.js"],"sourcesContent":["function getType(payload) {\n return Object.prototype.toString.call(payload).slice(8, -1);\n}\n\nfunction isAnyObject(payload) {\n return getType(payload) === \"Object\";\n}\n\nfunction isArray(payload) {\n return getType(payload) === \"Array\";\n}\n\nfunction isBlob(payload) {\n return getType(payload) === \"Blob\";\n}\n\nfunction isBoolean(payload) {\n return getType(payload) === \"Boolean\";\n}\n\nfunction isDate(payload) {\n return getType(payload) === \"Date\" && !isNaN(payload);\n}\n\nfunction isEmptyArray(payload) {\n return isArray(payload) && payload.length === 0;\n}\n\nfunction isPlainObject(payload) {\n if (getType(payload) !== \"Object\")\n return false;\n const prototype = Object.getPrototypeOf(payload);\n return !!prototype && prototype.constructor === Object && prototype === Object.prototype;\n}\n\nfunction isEmptyObject(payload) {\n return isPlainObject(payload) && Object.keys(payload).length === 0;\n}\n\nfunction isEmptyString(payload) {\n return payload === \"\";\n}\n\nfunction isError(payload) {\n return getType(payload) === \"Error\" || payload instanceof Error;\n}\n\nfunction isFile(payload) {\n return getType(payload) === \"File\";\n}\n\nfunction isFullArray(payload) {\n return isArray(payload) && payload.length > 0;\n}\n\nfunction isFullObject(payload) {\n return isPlainObject(payload) && Object.keys(payload).length > 0;\n}\n\nfunction isString(payload) {\n return getType(payload) === \"String\";\n}\n\nfunction isFullString(payload) {\n return isString(payload) && payload !== \"\";\n}\n\nfunction isFunction(payload) {\n return typeof payload === \"function\";\n}\n\nfunction isType(payload, type) {\n if (!(type instanceof Function)) {\n throw new TypeError(\"Type must be a function\");\n }\n if (!Object.prototype.hasOwnProperty.call(type, \"prototype\")) {\n throw new TypeError(\"Type is not a class\");\n }\n const name = type.name;\n return getType(payload) === name || Boolean(payload && payload.constructor === type);\n}\n\nfunction isInstanceOf(value, classOrClassName) {\n if (typeof classOrClassName === \"function\") {\n for (let p = value; p; p = Object.getPrototypeOf(p)) {\n if (isType(p, classOrClassName)) {\n return true;\n }\n }\n return false;\n } else {\n for (let p = value; p; p = Object.getPrototypeOf(p)) {\n if (getType(p) === classOrClassName) {\n return true;\n }\n }\n return false;\n }\n}\n\nfunction isMap(payload) {\n return getType(payload) === \"Map\";\n}\n\nfunction isNaNValue(payload) {\n return getType(payload) === \"Number\" && isNaN(payload);\n}\n\nfunction isNumber(payload) {\n return getType(payload) === \"Number\" && !isNaN(payload);\n}\n\nfunction isNegativeNumber(payload) {\n return isNumber(payload) && payload < 0;\n}\n\nfunction isNull(payload) {\n return getType(payload) === \"Null\";\n}\n\nfunction isOneOf(a, b, c, d, e) {\n return (value) => a(value) || b(value) || !!c && c(value) || !!d && d(value) || !!e && e(value);\n}\n\nfunction isUndefined(payload) {\n return getType(payload) === \"Undefined\";\n}\n\nconst isNullOrUndefined = isOneOf(isNull, isUndefined);\n\nfunction isObject(payload) {\n return isPlainObject(payload);\n}\n\nfunction isObjectLike(payload) {\n return isAnyObject(payload);\n}\n\nfunction isPositiveNumber(payload) {\n return isNumber(payload) && payload > 0;\n}\n\nfunction isSymbol(payload) {\n return getType(payload) === \"Symbol\";\n}\n\nfunction isPrimitive(payload) {\n return isBoolean(payload) || isNull(payload) || isUndefined(payload) || isNumber(payload) || isString(payload) || isSymbol(payload);\n}\n\nfunction isPromise(payload) {\n return getType(payload) === \"Promise\";\n}\n\nfunction isRegExp(payload) {\n return getType(payload) === \"RegExp\";\n}\n\nfunction isSet(payload) {\n return getType(payload) === \"Set\";\n}\n\nfunction isWeakMap(payload) {\n return getType(payload) === \"WeakMap\";\n}\n\nfunction isWeakSet(payload) {\n return getType(payload) === \"WeakSet\";\n}\n\nexport { getType, isAnyObject, isArray, isBlob, isBoolean, isDate, isEmptyArray, isEmptyObject, isEmptyString, isError, isFile, isFullArray, isFullObject, isFullString, isFunction, isInstanceOf, isMap, isNaNValue, isNegativeNumber, isNull, isNullOrUndefined, isNumber, isObject, isObjectLike, isOneOf, isPlainObject, isPositiveNumber, isPrimitive, isPromise, isRegExp, isSet, isString, isSymbol, isType, isUndefined, isWeakMap, isWeakSet };\n"],"names":["getType","payload","isArray","isPlainObject","prototype"],"mappings":"AAAA,SAASA,EAAQC,GAAS;AACxB,SAAO,OAAO,UAAU,SAAS,KAAKA,CAAO,EAAE,MAAM,GAAG,EAAE;AAC5D;AAMA,SAASC,EAAQD,GAAS;AACxB,SAAOD,EAAQC,CAAO,MAAM;AAC9B;AAkBA,SAASE,EAAcF,GAAS;AAC9B,MAAID,EAAQC,CAAO,MAAM;AACvB,WAAO;AACT,QAAMG,IAAY,OAAO,eAAeH,CAAO;AAC/C,SAAO,CAAC,CAACG,KAAaA,EAAU,gBAAgB,UAAUA,MAAc,OAAO;AACjF;","x_google_ignoreList":[0]}
@@ -0,0 +1,10 @@
1
+ function c(n, e) {
2
+ const u = [];
3
+ for (let t = 0; t < n.length; t += e)
4
+ u.push(n.slice(t, t + e));
5
+ return u;
6
+ }
7
+ export {
8
+ c as chunk
9
+ };
10
+ //# sourceMappingURL=index290.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index290.js","sources":["../src/utilities/functions/chunk.ts"],"sourcesContent":["export function chunk<T>(array: T[], size: number): T[][] {\n\tif (size <= 0) {\n\t\tthrow new Error('Size must be a positive number');\n\t}\n\n\tconst result: T[][] = [];\n\n\tfor (let i = 0; i < array.length; i += size) {\n\t\tresult.push(array.slice(i, i + size));\n\t}\n\n\treturn result;\n}\n"],"names":["chunk","array","size","result","i"],"mappings":"AAAgB,SAAAA,EAASC,GAAYC,GAAqB;AAKzD,QAAMC,IAAgB,CAAA;AAEtB,WAASC,IAAI,GAAGA,IAAIH,EAAM,QAAQG,KAAKF;AACtC,IAAAC,EAAO,KAAKF,EAAM,MAAMG,GAAGA,IAAIF,CAAI,CAAC;AAG9B,SAAAC;AACR;"}
@@ -0,0 +1,22 @@
1
+ function l(t, ...e) {
2
+ if (t.length) {
3
+ const o = t[0];
4
+ if (typeof o == "string") return [...t].sort(r);
5
+ if (typeof o == "number") return [...t].sort(r);
6
+ if (e && e.length)
7
+ return [...t].sort((f, u) => {
8
+ for (let n = 0; n < e.length; n++) {
9
+ const i = e[n], s = r(f[i], u[i]);
10
+ if (s) return s;
11
+ }
12
+ return 0;
13
+ });
14
+ throw new Error("Invalid comparison");
15
+ }
16
+ return t;
17
+ }
18
+ const r = (t, e) => t < e ? -1 : t > e ? 1 : 0;
19
+ export {
20
+ l as sort
21
+ };
22
+ //# sourceMappingURL=index291.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index291.js","sources":["../src/utilities/functions/sort.ts"],"sourcesContent":["import { negative } from './negative';\nimport { pipe } from './pipe';\n\ntype SortableType = string | number | Date;\nexport function sort<T extends SortableType>(arr: T[]): T[];\nexport function sort<T extends object>(arr: T[], ...keys: (keyof T)[]): T[];\n\n/**\n *\n * @param arr Array of objects, strings, or numbers to be sorted\n * @param keys Key of the object to be considered, it must be a string or number\n * @returns The sorted array\n */\nexport function sort<T>(arr: T[], ...keys: (keyof T)[]) {\n\tif (arr.length) {\n\t\tconst first = arr[0];\n\t\tif (typeof first === 'string') return [...arr].sort(getCompare);\n\t\telse if (typeof first === 'number') return [...arr].sort(getCompare);\n\t\telse if (keys && keys.length) {\n\t\t\treturn [...arr].sort((a, b) => {\n\t\t\t\tfor (let index = 0; index < keys.length; index++) {\n\t\t\t\t\tconst key = keys[index];\n\n\t\t\t\t\tconst result = getCompare(a[key], b[key]);\n\t\t\t\t\tif (result) return result;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\t\t}\n\t\tthrow new Error('Invalid comparison');\n\t}\n\treturn arr;\n}\n\nconst getCompare = (a: any, b: any) => {\n\tif (a < b) return -1;\n\telse if (a > b) return 1;\n\telse return 0;\n};\n\nexport function reverseSort<T extends SortableType>(arr: T[]): T[];\nexport function reverseSort<T extends object>(\n\tarr: T[],\n\t...keys: (keyof T)[]\n): T[];\n\n/**\n *\n * @param arr Array of objects, strings, or numbers to be sorted\n * @param keys Key of the object to be considered, it must be a string or number\n * @returns The sorted array\n */\nexport function reverseSort<T>(arr: T[], ...keys: (keyof T)[]) {\n\tif (arr.length) {\n\t\tconst first = arr[0];\n\t\tif (typeof first === 'string')\n\t\t\treturn [...arr].sort(pipe(getCompare, negative));\n\t\telse if (typeof first === 'number')\n\t\t\treturn [...arr].sort(pipe(getCompare, negative));\n\t\telse if (keys && keys.length) {\n\t\t\treturn [...arr].sort((a, b) => {\n\t\t\t\tfor (let index = 0; index < keys.length; index++) {\n\t\t\t\t\tconst key = keys[index];\n\n\t\t\t\t\tconst result = getCompare(a[key], b[key]);\n\t\t\t\t\tif (result) return result * -1;\n\t\t\t\t}\n\t\t\t\treturn 0;\n\t\t\t});\n\t\t}\n\t\tthrow new Error('Invalid comparison');\n\t}\n\treturn arr;\n}\n"],"names":["sort","arr","keys","first","getCompare","a","b","index","key","result"],"mappings":"AAagB,SAAAA,EAAQC,MAAaC,GAAmB;AACvD,MAAID,EAAI,QAAQ;AACT,UAAAE,IAAQF,EAAI,CAAC;AACf,QAAA,OAAOE,KAAU,SAAU,QAAO,CAAC,GAAGF,CAAG,EAAE,KAAKG,CAAU;AACrD,QAAA,OAAOD,KAAU,SAAU,QAAO,CAAC,GAAGF,CAAG,EAAE,KAAKG,CAAU;AAC1D,QAAAF,KAAQA,EAAK;AACrB,aAAO,CAAC,GAAGD,CAAG,EAAE,KAAK,CAACI,GAAGC,MAAM;AAC9B,iBAASC,IAAQ,GAAGA,IAAQL,EAAK,QAAQK,KAAS;AAC3C,gBAAAC,IAAMN,EAAKK,CAAK,GAEhBE,IAASL,EAAWC,EAAEG,CAAG,GAAGF,EAAEE,CAAG,CAAC;AACxC,cAAIC,EAAe,QAAAA;AAAA,QACpB;AACO,eAAA;AAAA,MAAA,CACP;AAEI,UAAA,IAAI,MAAM,oBAAoB;AAAA,EACrC;AACO,SAAAR;AACR;AAEA,MAAMG,IAAa,CAACC,GAAQC,MACvBD,IAAIC,IAAU,KACTD,IAAIC,IAAU,IACX;"}
@@ -0,0 +1,10 @@
1
+ function l(n, c, r = 1) {
2
+ const o = Math.max(Math.ceil((c - n) / r), 0), t = new Array(o);
3
+ for (let e = 0; e < o; e++, n += r)
4
+ t[e] = n;
5
+ return t;
6
+ }
7
+ export {
8
+ l as range
9
+ };
10
+ //# sourceMappingURL=index292.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index292.js","sources":["../src/utilities/functions/range.ts"],"sourcesContent":["export function range(start: number, end: number, step: number = 1): number[] {\n\tconst length = Math.max(Math.ceil((end - start) / step), 0);\n\tconst result = new Array<number>(length);\n\n\tfor (let i = 0; i < length; i++, start += step) {\n\t\tresult[i] = start;\n\t}\n\n\treturn result;\n}\n"],"names":["range","start","end","step","length","result","i"],"mappings":"AAAO,SAASA,EAAMC,GAAeC,GAAaC,IAAe,GAAa;AACvE,QAAAC,IAAS,KAAK,IAAI,KAAK,MAAMF,IAAMD,KAASE,CAAI,GAAG,CAAC,GACpDE,IAAS,IAAI,MAAcD,CAAM;AAEvC,WAASE,IAAI,GAAGA,IAAIF,GAAQE,KAAKL,KAASE;AACzC,IAAAE,EAAOC,CAAC,IAAIL;AAGN,SAAAI;AACR;"}