bitboss-ui 0.2.39 → 0.2.41

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 (322) hide show
  1. package/dist/index10.js +1 -4
  2. package/dist/index10.js.map +1 -1
  3. package/dist/index100.js +1 -4
  4. package/dist/index100.js.map +1 -1
  5. package/dist/index101.js +3 -3
  6. package/dist/index101.js.map +1 -1
  7. package/dist/index102.js +1 -4
  8. package/dist/index102.js.map +1 -1
  9. package/dist/index103.js +2 -2
  10. package/dist/index103.js.map +1 -1
  11. package/dist/index104.js +1 -4
  12. package/dist/index104.js.map +1 -1
  13. package/dist/index105.js.map +1 -1
  14. package/dist/index106.js +1 -4
  15. package/dist/index106.js.map +1 -1
  16. package/dist/index107.js.map +1 -1
  17. package/dist/index108.js +1 -4
  18. package/dist/index108.js.map +1 -1
  19. package/dist/index109.js +1 -1
  20. package/dist/index109.js.map +1 -1
  21. package/dist/index11.js +2 -2
  22. package/dist/index11.js.map +1 -1
  23. package/dist/index110.js +1 -4
  24. package/dist/index110.js.map +1 -1
  25. package/dist/index111.js +4 -4
  26. package/dist/index111.js.map +1 -1
  27. package/dist/index112.js +1 -4
  28. package/dist/index112.js.map +1 -1
  29. package/dist/index113.js +1 -1
  30. package/dist/index113.js.map +1 -1
  31. package/dist/index114.js +1 -4
  32. package/dist/index114.js.map +1 -1
  33. package/dist/index115.js.map +1 -1
  34. package/dist/index116.js +1 -1
  35. package/dist/index116.js.map +1 -1
  36. package/dist/index117.js +1 -1
  37. package/dist/index117.js.map +1 -1
  38. package/dist/index118.js +1 -1
  39. package/dist/index118.js.map +1 -1
  40. package/dist/index119.js +1 -1
  41. package/dist/index119.js.map +1 -1
  42. package/dist/index12.js +1 -4
  43. package/dist/index12.js.map +1 -1
  44. package/dist/index121.js +1 -1
  45. package/dist/index125.js +1 -1
  46. package/dist/index126.js +1 -1
  47. package/dist/index127.js +1 -1
  48. package/dist/index13.js.map +1 -1
  49. package/dist/index131.js +2 -2
  50. package/dist/index14.js +1 -4
  51. package/dist/index14.js.map +1 -1
  52. package/dist/index15.js +8 -8
  53. package/dist/index15.js.map +1 -1
  54. package/dist/index158.js +1 -4
  55. package/dist/index158.js.map +1 -1
  56. package/dist/index16.js +1 -4
  57. package/dist/index16.js.map +1 -1
  58. package/dist/index160.js +1 -4
  59. package/dist/index160.js.map +1 -1
  60. package/dist/index169.js +1 -4
  61. package/dist/index169.js.map +1 -1
  62. package/dist/index17.js +6 -6
  63. package/dist/index17.js.map +1 -1
  64. package/dist/index18.js +1 -4
  65. package/dist/index18.js.map +1 -1
  66. package/dist/index183.js +1 -4
  67. package/dist/index183.js.map +1 -1
  68. package/dist/index185.js +1 -4
  69. package/dist/index185.js.map +1 -1
  70. package/dist/index19.js +3 -3
  71. package/dist/index19.js.map +1 -1
  72. package/dist/index196.js +10 -2
  73. package/dist/index196.js.map +1 -1
  74. package/dist/index197.js +3 -4
  75. package/dist/index197.js.map +1 -1
  76. package/dist/index198.js +35 -2
  77. package/dist/index198.js.map +1 -1
  78. package/dist/index199.js +6 -3
  79. package/dist/index199.js.map +1 -1
  80. package/dist/index20.js +1 -4
  81. package/dist/index20.js.map +1 -1
  82. package/dist/index200.js +232 -32
  83. package/dist/index200.js.map +1 -1
  84. package/dist/index201.js +2 -6
  85. package/dist/index201.js.map +1 -1
  86. package/dist/index202.js +4 -2
  87. package/dist/index202.js.map +1 -1
  88. package/dist/index203.js +3 -2
  89. package/dist/index203.js.map +1 -1
  90. package/dist/index204.js +3 -5
  91. package/dist/index204.js.map +1 -1
  92. package/dist/index205.js +5 -16
  93. package/dist/index205.js.map +1 -1
  94. package/dist/index206.js +10 -10
  95. package/dist/index206.js.map +1 -1
  96. package/dist/index207.js +15 -18
  97. package/dist/index207.js.map +1 -1
  98. package/dist/index208.js +18 -19
  99. package/dist/index208.js.map +1 -1
  100. package/dist/index209.js +15 -24
  101. package/dist/index209.js.map +1 -1
  102. package/dist/index21.js +2 -2
  103. package/dist/index21.js.map +1 -1
  104. package/dist/index210.js +29 -8
  105. package/dist/index210.js.map +1 -1
  106. package/dist/index211.js +8 -2
  107. package/dist/index211.js.map +1 -1
  108. package/dist/index212.js +2 -235
  109. package/dist/index212.js.map +1 -1
  110. package/dist/index213.js +2 -3
  111. package/dist/index213.js.map +1 -1
  112. package/dist/index214.js +368 -3
  113. package/dist/index214.js.map +1 -1
  114. package/dist/index215.js +131 -375
  115. package/dist/index215.js.map +1 -1
  116. package/dist/index216.js +2 -134
  117. package/dist/index216.js.map +1 -1
  118. package/dist/index219.js +1 -1
  119. package/dist/index219.js.map +1 -1
  120. package/dist/index22.js +1 -4
  121. package/dist/index22.js.map +1 -1
  122. package/dist/index220.js +2 -2
  123. package/dist/index220.js.map +1 -1
  124. package/dist/index221.js +2 -10
  125. package/dist/index221.js.map +1 -1
  126. package/dist/index222.js +8 -27
  127. package/dist/index222.js.map +1 -1
  128. package/dist/index223.js +120 -16
  129. package/dist/index223.js.map +1 -1
  130. package/dist/index224.js +6 -9
  131. package/dist/index224.js.map +1 -1
  132. package/dist/index225.js +16 -120
  133. package/dist/index225.js.map +1 -1
  134. package/dist/index226.js +2 -2
  135. package/dist/index226.js.map +1 -1
  136. package/dist/index227.js +2 -4
  137. package/dist/index227.js.map +1 -1
  138. package/dist/index228.js +151 -426
  139. package/dist/index228.js.map +1 -1
  140. package/dist/index229.js +1 -91
  141. package/dist/index229.js.map +1 -1
  142. package/dist/index23.js +1 -1
  143. package/dist/index23.js.map +1 -1
  144. package/dist/index230.js +68 -199
  145. package/dist/index230.js.map +1 -1
  146. package/dist/index231.js +5 -295
  147. package/dist/index231.js.map +1 -1
  148. package/dist/index232.js +14 -5
  149. package/dist/index232.js.map +1 -1
  150. package/dist/index233.js +435 -2
  151. package/dist/index233.js.map +1 -1
  152. package/dist/index234.js +89 -2
  153. package/dist/index234.js.map +1 -1
  154. package/dist/index235.js +4 -2
  155. package/dist/index235.js.map +1 -1
  156. package/dist/index236.js +200 -2
  157. package/dist/index236.js.map +1 -1
  158. package/dist/index237.js +224 -2
  159. package/dist/index237.js.map +1 -1
  160. package/dist/index238.js +258 -2
  161. package/dist/index238.js.map +1 -1
  162. package/dist/index239.js +295 -2
  163. package/dist/index239.js.map +1 -1
  164. package/dist/index24.js +1 -4
  165. package/dist/index24.js.map +1 -1
  166. package/dist/index240.js +6 -160
  167. package/dist/index240.js.map +1 -1
  168. package/dist/index241.js +2 -2
  169. package/dist/index242.js +2 -69
  170. package/dist/index242.js.map +1 -1
  171. package/dist/index243.js +2 -5
  172. package/dist/index243.js.map +1 -1
  173. package/dist/index244.js +2 -224
  174. package/dist/index244.js.map +1 -1
  175. package/dist/index245.js +2 -258
  176. package/dist/index245.js.map +1 -1
  177. package/dist/index246.js +2 -2
  178. package/dist/index247.js +2 -117
  179. package/dist/index247.js.map +1 -1
  180. package/dist/index248.js +2 -106
  181. package/dist/index248.js.map +1 -1
  182. package/dist/index249.js +117 -2
  183. package/dist/index249.js.map +1 -1
  184. package/dist/index25.js +2 -2
  185. package/dist/index25.js.map +1 -1
  186. package/dist/index250.js +105 -37
  187. package/dist/index250.js.map +1 -1
  188. package/dist/index251.js +4 -2
  189. package/dist/index251.js.map +1 -1
  190. package/dist/index252.js +4 -2
  191. package/dist/index252.js.map +1 -1
  192. package/dist/index253.js +60 -14
  193. package/dist/index253.js.map +1 -1
  194. package/dist/index254.js +3 -2
  195. package/dist/index254.js.map +1 -1
  196. package/dist/index255.js +2 -3
  197. package/dist/index255.js.map +1 -1
  198. package/dist/index26.js +1 -4
  199. package/dist/index26.js.map +1 -1
  200. package/dist/index27.js.map +1 -1
  201. package/dist/index28.js +1 -4
  202. package/dist/index28.js.map +1 -1
  203. package/dist/index29.js +3 -3
  204. package/dist/index29.js.map +1 -1
  205. package/dist/index30.js +1 -4
  206. package/dist/index30.js.map +1 -1
  207. package/dist/index31.js +19 -19
  208. package/dist/index31.js.map +1 -1
  209. package/dist/index32.js +1 -4
  210. package/dist/index32.js.map +1 -1
  211. package/dist/index33.js +2 -2
  212. package/dist/index33.js.map +1 -1
  213. package/dist/index34.js +1 -4
  214. package/dist/index34.js.map +1 -1
  215. package/dist/index35.js +2 -2
  216. package/dist/index35.js.map +1 -1
  217. package/dist/index36.js +1 -4
  218. package/dist/index36.js.map +1 -1
  219. package/dist/index37.js.map +1 -1
  220. package/dist/index38.js +1 -4
  221. package/dist/index38.js.map +1 -1
  222. package/dist/index39.js.map +1 -1
  223. package/dist/index40.js +1 -4
  224. package/dist/index40.js.map +1 -1
  225. package/dist/index41.js.map +1 -1
  226. package/dist/index42.js +1 -4
  227. package/dist/index42.js.map +1 -1
  228. package/dist/index43.js.map +1 -1
  229. package/dist/index44.js +1 -4
  230. package/dist/index44.js.map +1 -1
  231. package/dist/index45.js.map +1 -1
  232. package/dist/index46.js +1 -4
  233. package/dist/index46.js.map +1 -1
  234. package/dist/index47.js +1 -1
  235. package/dist/index47.js.map +1 -1
  236. package/dist/index48.js +1 -4
  237. package/dist/index48.js.map +1 -1
  238. package/dist/index49.js +1 -1
  239. package/dist/index49.js.map +1 -1
  240. package/dist/index50.js +1 -4
  241. package/dist/index50.js.map +1 -1
  242. package/dist/index51.js.map +1 -1
  243. package/dist/index52.js +1 -4
  244. package/dist/index52.js.map +1 -1
  245. package/dist/index53.js.map +1 -1
  246. package/dist/index54.js +1 -4
  247. package/dist/index54.js.map +1 -1
  248. package/dist/index55.js.map +1 -1
  249. package/dist/index56.js +1 -4
  250. package/dist/index56.js.map +1 -1
  251. package/dist/index57.js.map +1 -1
  252. package/dist/index58.js +1 -4
  253. package/dist/index58.js.map +1 -1
  254. package/dist/index59.js.map +1 -1
  255. package/dist/index60.js +1 -4
  256. package/dist/index60.js.map +1 -1
  257. package/dist/index61.js.map +1 -1
  258. package/dist/index62.js +1 -4
  259. package/dist/index62.js.map +1 -1
  260. package/dist/index63.js.map +1 -1
  261. package/dist/index64.js +1 -4
  262. package/dist/index64.js.map +1 -1
  263. package/dist/index65.js +3 -3
  264. package/dist/index65.js.map +1 -1
  265. package/dist/index66.js +1 -4
  266. package/dist/index66.js.map +1 -1
  267. package/dist/index67.js.map +1 -1
  268. package/dist/index68.js +1 -4
  269. package/dist/index68.js.map +1 -1
  270. package/dist/index69.js +13 -13
  271. package/dist/index69.js.map +1 -1
  272. package/dist/index70.js +1 -4
  273. package/dist/index70.js.map +1 -1
  274. package/dist/index71.js.map +1 -1
  275. package/dist/index72.js +1 -1
  276. package/dist/index72.js.map +1 -1
  277. package/dist/index73.js.map +1 -1
  278. package/dist/index74.js +1 -4
  279. package/dist/index74.js.map +1 -1
  280. package/dist/index75.js +1 -1
  281. package/dist/index75.js.map +1 -1
  282. package/dist/index76.js +1 -4
  283. package/dist/index76.js.map +1 -1
  284. package/dist/index77.js.map +1 -1
  285. package/dist/index78.js +1 -4
  286. package/dist/index78.js.map +1 -1
  287. package/dist/index79.js +3 -3
  288. package/dist/index79.js.map +1 -1
  289. package/dist/index80.js +1 -4
  290. package/dist/index80.js.map +1 -1
  291. package/dist/index81.js +1 -1
  292. package/dist/index81.js.map +1 -1
  293. package/dist/index82.js +1 -4
  294. package/dist/index82.js.map +1 -1
  295. package/dist/index83.js.map +1 -1
  296. package/dist/index84.js +1 -4
  297. package/dist/index84.js.map +1 -1
  298. package/dist/index85.js.map +1 -1
  299. package/dist/index86.js +1 -4
  300. package/dist/index86.js.map +1 -1
  301. package/dist/index87.js.map +1 -1
  302. package/dist/index88.js +1 -4
  303. package/dist/index88.js.map +1 -1
  304. package/dist/index89.js.map +1 -1
  305. package/dist/index9.js.map +1 -1
  306. package/dist/index90.js +1 -4
  307. package/dist/index90.js.map +1 -1
  308. package/dist/index91.js.map +1 -1
  309. package/dist/index92.js +1 -4
  310. package/dist/index92.js.map +1 -1
  311. package/dist/index93.js.map +1 -1
  312. package/dist/index94.js +1 -4
  313. package/dist/index94.js.map +1 -1
  314. package/dist/index95.js.map +1 -1
  315. package/dist/index96.js +1 -4
  316. package/dist/index96.js.map +1 -1
  317. package/dist/index97.js.map +1 -1
  318. package/dist/index98.js +1 -4
  319. package/dist/index98.js.map +1 -1
  320. package/dist/index99.js.map +1 -1
  321. package/dist/style.css +1 -1
  322. package/package.json +33 -35
@@ -1 +1 @@
1
- {"version":3,"file":"index111.js","sources":["../src/components/BbTooltip/BbTooltip.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, Teleport as _Teleport } from \"vue\"\n\nconst _hoisted_1 = { class: \"bb-tooltip__bubble\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"svg\", {\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M23 23L1 1M23 1L1 23\",\n stroke: \"currentColor\",\n \"stroke-linecap\": \"round\",\n \"stroke-width\": \"2\"\n })\n], -1)\n\nimport { computed, ref } from 'vue';\nimport { useFloating, autoUpdate, flip, shift, arrow } from '@floating-ui/vue';\nimport { useId } from '@/composables/useId';\nimport { wait } from '@/utilities/functions/wait';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport type { CommonProps } from '@/types/CommonProps';\nimport type { Placement } from '@floating-ui/vue';\nimport { throttle } from '@/utilities/functions/throttle';\nimport { waitFor } from '@/utilities/functions/waitFor';\n\nexport type BbTooltipProps = Pick<\n\tCommonProps,\n\t| 'arrowPadding'\n\t| 'block'\n\t| 'disabled'\n\t| 'eager'\n\t| 'id'\n\t| 'padding'\n\t| 'placement'\n\t| 'showClose'\n\t| 'theme'\n\t| 'transitionDuration'\n>;\n\ntype BbTooltipSlots = {\n\tactivator?: (props: {\n\t\tprops: {\n\t\t\t'aria-describedby': string;\n\t\t\tonMouseenter: typeof onMouseenter;\n\t\t\tonFocus: typeof onFocus;\n\t\t\tonBlur: typeof closeTooltip;\n\t\t};\n\t\tclosed: boolean;\n\t\tclosing: boolean;\n\t\tdisabled?: boolean;\n\t\topen: boolean;\n\t\topening: boolean;\n\t\tplacement: Placement;\n\t}) => any;\n\tdefault?: (props: {}) => any;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTooltip',\n props: {\n arrowPadding: { default: 10 },\n block: { type: Boolean },\n disabled: { type: Boolean },\n eager: { type: Boolean },\n id: {},\n padding: { default: 10 },\n placement: { default: 'top' },\n showClose: { type: Boolean, default: true },\n theme: { default: 'default' },\n transitionDuration: { default: 150 }\n },\n setup(__props: any) {\n\nconst props = __props;\n\n\n\nconst id = `bb_${props.id ?? useId().id.value}`;\n\nconst wrapper = ref<HTMLElement>();\nconst content = ref<HTMLElement>();\nconst bubblearrow = ref<HTMLElement>();\n\nconst { floatingStyles, placement, middlewareData } = useFloating(\n\twrapper,\n\tcontent,\n\t{\n\t\tplacement: props.placement,\n\t\twhileElementsMounted: autoUpdate,\n\t\tmiddleware: [\n\t\t\tflip(),\n\t\t\tshift({ padding: props.padding }),\n\t\t\tarrow({\n\t\t\t\telement: bubblearrow,\n\t\t\t\tpadding: props.arrowPadding,\n\t\t\t}),\n\t\t],\n\t}\n);\n\nconst canOpen = ref(true);\n\nconst opening = ref(false);\nconst open = ref(false);\nconst closing = ref(false);\nconst closed = ref(true);\n\nconst arrowAttributes = computed(() => {\n\tif (middlewareData.value.arrow) {\n\t\tconst { x, y } = middlewareData.value.arrow;\n\t\treturn {\n\t\t\tstyle: {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t},\n\t\t};\n\t}\n});\n\nconst onMouseenter = () => {\n\tif (open.value || opening.value || props.disabled) return;\n\topenTooltip();\n\tdocument.addEventListener('mouseover', onMouseOver, { passive: true });\n\tdocument.addEventListener('keydown', onEsc, { passive: true });\n};\n\nconst onFocus = onMouseenter;\n\nconst onMouseOver = throttle((event: Event) => {\n\tconst target = event.target;\n\tif (!target) return;\n\tif (target instanceof HTMLElement) {\n\t\tlet isOutside = true;\n\n\t\tif (wrapper.value) {\n\t\t\tif (wrapper.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\t\tif (content.value) {\n\t\t\tif (content.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\n\t\tif (isOutside) {\n\t\t\tcloseTooltip();\n\t\t}\n\t}\n}, props.transitionDuration);\n\nconst onEsc = (event: KeyboardEvent) => {\n\tif (open.value) {\n\t\tif (event.key === 'Escape') {\n\t\t\tcloseTooltip();\n\t\t}\n\t}\n};\n\n/* On click of close button tooltip is disallowed from reappearing */\nconst onClickClose = () => {\n\tcanOpen.value = false;\n\tcloseTooltip();\n};\n\nconst hasOpenedOnce = ref(false);\nconst openTooltip = throttle(async () => {\n\tif (!canOpen.value) return;\n\thasOpenedOnce.value = true;\n\tclosed.value = false;\n\tclosing.value = false;\n\topening.value = true;\n\tawait wait(50);\n\topen.value = true;\n\topening.value = false;\n}, props.transitionDuration);\n\nconst closeTooltip = throttle(async () => {\n\tawait waitFor(() => !opening.value);\n\tdocument.removeEventListener('mouseover', onMouseOver);\n\tdocument.removeEventListener('keydown', onEsc);\n\topen.value = false;\n\topening.value = false;\n\tclosing.value = true;\n\tawait wait(props.transitionDuration);\n\tclosing.value = false;\n\tclosed.value = true;\n}, props.transitionDuration);\n\nconst attributes = computed(() => {\n\tconst classes = {\n\t\t'bb-tooltip--block': props.block,\n\t\t[`bb-tooltip--theme-${props.theme}`]: props.theme,\n\t};\n\treturn {\n\t\tclass: classes,\n\t};\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", _mergeProps({ class: \"bb-tooltip\" }, attributes.value), [\n _createElementVNode(\"span\", {\n ref_key: \"wrapper\",\n ref: wrapper,\n class: \"bb-tooltip__wrapper\"\n }, [\n _renderSlot(_ctx.$slots, \"activator\", _normalizeProps(_guardReactiveProps({\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...(hasOpenedOnce.value ? { 'aria-describedby': id } : {}),\n\t\t\t\t\t\tonMouseenter: onMouseenter,\n\t\t\t\t\t\tonFocus: _unref(onFocus),\n\t\t\t\t\t\tonBlur: _unref(closeTooltip),\n\t\t\t\t\t\tdisabled: _ctx.disabled,\n\t\t\t\t\t},\n\t\t\t\t\tclosed: closed.value,\n\t\t\t\t\tclosing: closing.value,\n\t\t\t\t\tdisabled: _ctx.disabled,\n\t\t\t\t\topen: open.value,\n\t\t\t\t\topening: opening.value,\n\t\t\t\t\tplacement: _unref(placement),\n\t\t\t\t})))\n ], 512),\n (_openBlock(), _createBlock(_Teleport, { to: \"body\" }, [\n (hasOpenedOnce.value || _ctx.eager)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n id: id,\n ref_key: \"content\",\n ref: content,\n class: _normalizeClass([\"bb-tooltip__bubble-container\", {\n\t\t\t\t\t[`bb-tooltip__bubble-container--${_unref(placement)}`]: true,\n\t\t\t\t\t[`bb-tooltip__bubble-container--${_ctx.theme}`]: _ctx.theme,\n\t\t\t\t\t'bb-tooltip__bubble-container--hidden': closed.value,\n\t\t\t\t\t'bb-tooltip__bubble-container--closing': closing.value,\n\t\t\t\t\t'bb-tooltip__bubble-container--opening': opening.value,\n\t\t\t\t\t'bb-tooltip__bubble-container--open': open.value,\n\t\t\t\t}]),\n style: _normalizeStyle({\n\t\t\t\t\t..._unref(floatingStyles),\n\t\t\t\t\ttransitionDuration: `${props.transitionDuration}ms`,\n\t\t\t\t})\n }, [\n _createElementVNode(\"span\", _mergeProps({\n ref_key: \"bubblearrow\",\n ref: bubblearrow,\n class: \"bb-tooltip__arrow\"\n }, arrowAttributes.value), null, 16),\n _createElementVNode(\"span\", _hoisted_1, [\n (_ctx.showClose)\n ? (_openBlock(), _createBlock(BaseButton, {\n key: 0,\n \"aria-hidden\": \"true\",\n class: \"bb-tooltip__close\",\n tabindex: \"-1\",\n onClick: onClickClose\n }, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ], 6))\n : _createCommentVNode(\"\", true)\n ]))\n ], 16))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_sfc_main","_defineComponent","__props","props","id","useId","wrapper","ref","content","bubblearrow","floatingStyles","placement","middlewareData","useFloating","autoUpdate","flip","shift","arrow","canOpen","opening","open","closing","closed","arrowAttributes","computed","x","y","onMouseenter","openTooltip","onMouseOver","onEsc","onFocus","throttle","event","target","isOutside","closeTooltip","onClickClose","hasOpenedOnce","wait","waitFor","attributes","_ctx","_cache","_openBlock","_createElementBlock","_mergeProps","_createElementVNode","_renderSlot","_normalizeProps","_guardReactiveProps","_unref","_createBlock","_Teleport","_normalizeClass","_normalizeStyle","BaseButton","_withCtx","_createCommentVNode"],"mappings":"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"}
1
+ {"version":3,"file":"index111.js","sources":["../src/components/BbTooltip/BbTooltip.vue"],"sourcesContent":["<template>\n\t<span class=\"bb-tooltip\" v-bind=\"attributes\">\n\t\t<span ref=\"wrapper\" class=\"bb-tooltip__wrapper\">\n\t\t\t<slot\n\t\t\t\tname=\"activator\"\n\t\t\t\tv-bind=\"{\n\t\t\t\t\tprops: {\n\t\t\t\t\t\t...(hasOpenedOnce ? { 'aria-describedby': id } : {}),\n\t\t\t\t\t\tonMouseenter,\n\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\tonBlur: closeTooltip,\n\t\t\t\t\t\tdisabled: disabled,\n\t\t\t\t\t},\n\t\t\t\t\tclosed: closed,\n\t\t\t\t\tclosing: closing,\n\t\t\t\t\tdisabled: disabled,\n\t\t\t\t\topen: open,\n\t\t\t\t\topening: opening,\n\t\t\t\t\tplacement: placement,\n\t\t\t\t}\"\n\t\t\t></slot>\n\t\t</span>\n\t\t<teleport to=\"body\">\n\t\t\t<span\n\t\t\t\tv-if=\"hasOpenedOnce || eager\"\n\t\t\t\t:id=\"id\"\n\t\t\t\tref=\"content\"\n\t\t\t\tclass=\"bb-tooltip__bubble-container\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t[`bb-tooltip__bubble-container--${placement}`]: true,\n\t\t\t\t\t[`bb-tooltip__bubble-container--${theme}`]: theme,\n\t\t\t\t\t'bb-tooltip__bubble-container--hidden': closed,\n\t\t\t\t\t'bb-tooltip__bubble-container--closing': closing,\n\t\t\t\t\t'bb-tooltip__bubble-container--opening': opening,\n\t\t\t\t\t'bb-tooltip__bubble-container--open': open,\n\t\t\t\t}\"\n\t\t\t\t:style=\"{\n\t\t\t\t\t...floatingStyles,\n\t\t\t\t\ttransitionDuration: `${props.transitionDuration}ms`,\n\t\t\t\t}\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tref=\"bubblearrow\"\n\t\t\t\t\tclass=\"bb-tooltip__arrow\"\n\t\t\t\t\tv-bind=\"arrowAttributes\"\n\t\t\t\t></span>\n\t\t\t\t<span class=\"bb-tooltip__bubble\">\n\t\t\t\t\t<BaseButton\n\t\t\t\t\t\tv-if=\"showClose\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclass=\"bb-tooltip__close\"\n\t\t\t\t\t\ttabindex=\"-1\"\n\t\t\t\t\t\t@click=\"onClickClose\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\td=\"M23 23L1 1M23 1L1 23\"\n\t\t\t\t\t\t\t\tstroke=\"currentColor\"\n\t\t\t\t\t\t\t\tstroke-linecap=\"round\"\n\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</svg>\n\t\t\t\t\t</BaseButton>\n\t\t\t\t\t<slot></slot>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</teleport>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport { useFloating, autoUpdate, flip, shift, arrow } from '@floating-ui/vue';\nimport { useId } from '@/composables/useId';\nimport { wait } from '@/utilities/functions/wait';\nimport BaseButton from '../BaseButton/BaseButton.vue';\nimport type { CommonProps } from '@/types/CommonProps';\nimport type { Placement } from '@floating-ui/vue';\nimport { throttle } from '@/utilities/functions/throttle';\nimport { waitFor } from '@/utilities/functions/waitFor';\n\nexport type BbTooltipProps = Pick<\n\tCommonProps,\n\t| 'arrowPadding'\n\t| 'block'\n\t| 'disabled'\n\t| 'eager'\n\t| 'id'\n\t| 'padding'\n\t| 'placement'\n\t| 'showClose'\n\t| 'theme'\n\t| 'transitionDuration'\n>;\n\nconst props = withDefaults(defineProps<BbTooltipProps>(), {\n\tarrowPadding: 10,\n\tpadding: 10,\n\tplacement: 'top',\n\tshowClose: true,\n\ttheme: 'default',\n\ttransitionDuration: 150,\n});\n\ntype BbTooltipSlots = {\n\tactivator?: (props: {\n\t\tprops: {\n\t\t\t'aria-describedby': string;\n\t\t\tonMouseenter: typeof onMouseenter;\n\t\t\tonFocus: typeof onFocus;\n\t\t\tonBlur: typeof closeTooltip;\n\t\t};\n\t\tclosed: boolean;\n\t\tclosing: boolean;\n\t\tdisabled?: boolean;\n\t\topen: boolean;\n\t\topening: boolean;\n\t\tplacement: Placement;\n\t}) => any;\n\tdefault?: (props: {}) => any;\n};\n\ndefineSlots<BbTooltipSlots>();\n\nconst id = `bb_${props.id ?? useId().id.value}`;\n\nconst wrapper = ref<HTMLElement>();\nconst content = ref<HTMLElement>();\nconst bubblearrow = ref<HTMLElement>();\n\nconst { floatingStyles, placement, middlewareData } = useFloating(\n\twrapper,\n\tcontent,\n\t{\n\t\tplacement: props.placement,\n\t\twhileElementsMounted: autoUpdate,\n\t\tmiddleware: [\n\t\t\tflip(),\n\t\t\tshift({ padding: props.padding }),\n\t\t\tarrow({\n\t\t\t\telement: bubblearrow,\n\t\t\t\tpadding: props.arrowPadding,\n\t\t\t}),\n\t\t],\n\t}\n);\n\nconst canOpen = ref(true);\n\nconst opening = ref(false);\nconst open = ref(false);\nconst closing = ref(false);\nconst closed = ref(true);\n\nconst arrowAttributes = computed(() => {\n\tif (middlewareData.value.arrow) {\n\t\tconst { x, y } = middlewareData.value.arrow;\n\t\treturn {\n\t\t\tstyle: {\n\t\t\t\tleft: `${x}px`,\n\t\t\t\ttop: `${y}px`,\n\t\t\t},\n\t\t};\n\t}\n});\n\nconst onMouseenter = () => {\n\tif (open.value || opening.value || props.disabled) return;\n\topenTooltip();\n\tdocument.addEventListener('mouseover', onMouseOver, { passive: true });\n\tdocument.addEventListener('keydown', onEsc, { passive: true });\n};\n\nconst onFocus = onMouseenter;\n\nconst onMouseOver = throttle((event: Event) => {\n\tconst target = event.target;\n\tif (!target) return;\n\tif (target instanceof HTMLElement) {\n\t\tlet isOutside = true;\n\n\t\tif (wrapper.value) {\n\t\t\tif (wrapper.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\t\tif (content.value) {\n\t\t\tif (content.value.contains(target)) {\n\t\t\t\tisOutside = false;\n\t\t\t}\n\t\t}\n\n\t\tif (isOutside) {\n\t\t\tcloseTooltip();\n\t\t}\n\t}\n}, props.transitionDuration);\n\nconst onEsc = (event: KeyboardEvent) => {\n\tif (open.value) {\n\t\tif (event.key === 'Escape') {\n\t\t\tcloseTooltip();\n\t\t}\n\t}\n};\n\n/* On click of close button tooltip is disallowed from reappearing */\nconst onClickClose = () => {\n\tcanOpen.value = false;\n\tcloseTooltip();\n};\n\nconst hasOpenedOnce = ref(false);\nconst openTooltip = throttle(async () => {\n\tif (!canOpen.value) return;\n\thasOpenedOnce.value = true;\n\tclosed.value = false;\n\tclosing.value = false;\n\topening.value = true;\n\tawait wait(50);\n\topen.value = true;\n\topening.value = false;\n}, props.transitionDuration);\n\nconst closeTooltip = throttle(async () => {\n\tawait waitFor(() => !opening.value);\n\tdocument.removeEventListener('mouseover', onMouseOver);\n\tdocument.removeEventListener('keydown', onEsc);\n\topen.value = false;\n\topening.value = false;\n\tclosing.value = true;\n\tawait wait(props.transitionDuration);\n\tclosing.value = false;\n\tclosed.value = true;\n}, props.transitionDuration);\n\nconst attributes = computed(() => {\n\tconst classes = {\n\t\t'bb-tooltip--block': props.block,\n\t\t[`bb-tooltip--theme-${props.theme}`]: props.theme,\n\t};\n\treturn {\n\t\tclass: classes,\n\t};\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbTooltip';\n</style>\n"],"names":["props","__props","id","useId","wrapper","ref","content","bubblearrow","floatingStyles","placement","middlewareData","useFloating","autoUpdate","flip","shift","arrow","canOpen","opening","open","closing","closed","arrowAttributes","computed","x","y","onMouseenter","openTooltip","onMouseOver","onEsc","onFocus","throttle","event","target","isOutside","closeTooltip","onClickClose","hasOpenedOnce","wait","waitFor","attributes"],"mappings":"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"}
package/dist/index112.js CHANGED
@@ -1,5 +1,2 @@
1
- const e = "";
2
- export {
3
- e as default
4
- };
1
+
5
2
  //# sourceMappingURL=index112.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index112.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index112.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/index113.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as $, computed as g, resolveComponent as y, openBlock as f, createElementBlock as i, Fragment as v, renderList as h, normalizeClass as b, createElementVNode as s, renderSlot as p, createVNode as k, createSlots as B, withCtx as C, normalizeProps as T, guardReactiveProps as _ } from "vue";
2
- import { flattenTree as P } from "./index243.js";
2
+ import { flattenTree as P } from "./index231.js";
3
3
  const w = { class: "bb-tree-row" }, z = { class: "bb-tree-main-content" }, I = /* @__PURE__ */ $({
4
4
  __name: "BbTree",
5
5
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"index113.js","sources":["../src/components/BbTree/BbTree.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, renderSlot as _renderSlot, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, resolveComponent as _resolveComponent, withCtx as _withCtx, createSlots as _createSlots, createVNode as _createVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"bb-tree-row\" }\nconst _hoisted_2 = { class: \"bb-tree-main-content\" }\n\nimport { flattenTree } from '@/utilities/functions/flattenTree';\nimport { computed } from 'vue';\n\nexport type TreeItem = {\n\t/**\n\t * Array of children of the current item. Is the key\n\t * with which we can identify whther the node is nested or not.\n\t */\n\tchildren?: TreeItem[];\n\t/**\n\t * Status of the current node. When a node is open\n\t * it's children are displayed. Otherwise its children\n\t * are hidden.\n\t */\n\topen?: boolean;\n\t[key: symbol | string]: any;\n} & Pick<BbTreeProps, 'expandable'>;\n\nexport type BbTreeProps = {\n\t/**\n\t * Array containing the tree like structure of the items.\n\t */\n\titems: TreeItem[];\n\t/**\n\t * Parent of the current node. `undefined` for the first level.\n\t */\n\tparent?: TreeItem;\n\t/**\n\t * Identifier of the item.\n\t */\n\tidentifier?: string | number;\n\t/**\n\t * Current depth of the tree. Starting at 0 for\n\t * the first level increasing at every level down.\n\t */\n\tdepth?: number;\n\t/**\n\t * Defines the item as expandable. It can be a\n\t * global boolean defining all items as expandable.\n\t * Or it can be a function that receives the item,\n\t * depth, and parent of the current node and returns a boolean.\n\t */\n\texpandable?:\n\t\t| boolean\n\t\t| ((item: TreeItem, depth: number, parent?: TreeItem) => boolean);\n};\n\nexport type BbTreeSlots = {\n\t[key: string]: (props: {\n\t\titem: any;\n\t\tparent?: any;\n\t\tindex: number;\n\t\toffset: number;\n\t\topen: boolean;\n\t\tdepth: number;\n\t\tidentifier?: string | number;\n\t\texpandable: boolean;\n\t}) => any;\n};\ntype MappedItem = {\n\tchildren: TreeItem['children'];\n\tdepth: NonNullable<BbTreeProps['depth']>;\n\texpandable: boolean;\n\tidentifier: any;\n\tindex: number;\n\toffset: number;\n\topen: boolean;\n\toriginal: any;\n\tparent: BbTreeProps['parent'];\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTree',\n props: {\n items: { default: () => [] as TreeItem[] },\n parent: {},\n identifier: { default: 'id' },\n depth: { default: 0 },\n expandable: { type: [Boolean, Function] }\n },\n setup(__props: any) {\n\nconst props = __props;\n\n\n\nconst itemIsOpen = (item: TreeItem) => {\n\t/* If the item is not expandable it must be open */\n\tif (typeof item.open === 'undefined') return true;\n\treturn item.open;\n};\n\nconst internalItems = computed<MappedItem[]>(() => {\n\tlet currentOffset = 0;\n\n\treturn props.items.map((item: TreeItem, index) => {\n\t\tconst open = itemIsOpen(item);\n\t\tconst expandableProp = item.expandable ?? props.expandable;\n\t\tconst offset = currentOffset + 1;\n\n\t\tcurrentOffset = currentOffset + flattenTree([item], 'children').length;\n\n\t\tlet expandable = false;\n\t\tif (typeof expandableProp !== 'undefined') {\n\t\t\tif (typeof expandableProp === 'function')\n\t\t\t\texpandable = expandableProp(item, props.depth, props.parent);\n\t\t\telse expandable = expandableProp;\n\t\t}\n\t\treturn {\n\t\t\tchildren: item.children,\n\t\t\tdepth: props.depth,\n\t\t\texpandable: expandable,\n\t\t\tidentifier: item[props.identifier],\n\t\t\toffset,\n\t\t\tindex,\n\t\t\topen,\n\t\t\toriginal: item,\n\t\t\tparent: props.parent,\n\t\t};\n\t});\n});\n\nreturn (_ctx: any,_cache: any) => {\n const _component_BbTree = _resolveComponent(\"BbTree\", true)!\n\n return (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(internalItems.value, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: item.identifier,\n class: _normalizeClass([\"bb-tree\", {\n\t\t\t[`bb-tree--depth-${item.depth}`]: true,\n\t\t\t'bb-tree--open': item.open,\n\t\t}])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.$slots[item.identifier])\n ? _renderSlot(_ctx.$slots, item.identifier, {\n key: 0,\n depth: item.depth,\n expandable: item.expandable,\n identifier: item.identifier,\n index: item.index,\n item: item.original,\n offset: item.offset,\n open: item.open,\n parent: item.parent\n })\n : (_ctx.$slots[item.depth])\n ? _renderSlot(_ctx.$slots, item.depth, {\n key: 1,\n depth: item.depth,\n expandable: item.expandable,\n identifier: item.identifier,\n index: item.index,\n item: item.original,\n offset: item.offset,\n open: item.open,\n parent: item.parent\n })\n : _renderSlot(_ctx.$slots, 'default', {\n key: 2,\n depth: item.depth,\n expandable: item.expandable,\n identifier: item.identifier,\n index: item.index,\n item: item.original,\n offset: item.offset,\n open: item.open,\n parent: item.parent\n })\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass(`bb-tree--depth-${item.depth}-children`)\n }, [\n _renderSlot(_ctx.$slots, `${item.depth}-children`, {\n depth: item.depth,\n expandable: item.expandable,\n identifier: item.identifier,\n index: item.index,\n item: item.original,\n offset: item.offset,\n open: item.open,\n parent: item.parent\n }, () => [\n _renderSlot(_ctx.$slots, `${item.identifier}-children`, {\n depth: item.depth,\n expandable: item.expandable,\n identifier: item.identifier,\n index: item.index,\n item: item.original,\n offset: item.offset,\n open: item.open,\n parent: item.parent\n }, () => [\n _createVNode(_component_BbTree, {\n depth: item.depth + 1,\n expandable: _ctx.expandable,\n identifier: props.identifier,\n items: item.children,\n parent: item\n }, _createSlots({ _: 2 }, [\n _renderList(_ctx.$slots, (_, name) => {\n return {\n name: name,\n fn: _withCtx((data) => [\n _renderSlot(_ctx.$slots, name, _normalizeProps(_guardReactiveProps(data)))\n ])\n }\n })\n ]), 1032, [\"depth\", \"expandable\", \"identifier\", \"items\", \"parent\"])\n ])\n ])\n ], 2)\n ], 2))\n }), 128))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_sfc_main","_defineComponent","__props","props","itemIsOpen","item","internalItems","computed","currentOffset","index","open","expandableProp","offset","flattenTree","expandable","_ctx","_cache","_component_BbTree","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_renderList","_normalizeClass","_createElementVNode","_renderSlot","_createVNode","_createSlots","_","name","_withCtx","data","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
1
+ {"version":3,"file":"index113.js","sources":["../src/components/BbTree/BbTree.vue"],"sourcesContent":["<template>\n\t<div\n\t\tv-for=\"item in internalItems\"\n\t\t:key=\"item.identifier\"\n\t\tclass=\"bb-tree\"\n\t\t:class=\"{\n\t\t\t[`bb-tree--depth-${item.depth}`]: true,\n\t\t\t'bb-tree--open': item.open,\n\t\t}\"\n\t>\n\t\t<div class=\"bb-tree-row\">\n\t\t\t<div class=\"bb-tree-main-content\">\n\t\t\t\t<!-- Slot for a speciifc item -->\n\t\t\t\t<slot\n\t\t\t\t\tv-if=\"$slots[item.identifier]\"\n\t\t\t\t\t:depth=\"item.depth\"\n\t\t\t\t\t:expandable=\"item.expandable\"\n\t\t\t\t\t:identifier=\"item.identifier\"\n\t\t\t\t\t:index=\"item.index\"\n\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t:name=\"item.identifier\"\n\t\t\t\t\t:offset=\"item.offset\"\n\t\t\t\t\t:open=\"item.open\"\n\t\t\t\t\t:parent=\"item.parent\"\n\t\t\t\t/>\n\t\t\t\t<!-- Slot for all items in this level -->\n\t\t\t\t<slot\n\t\t\t\t\tv-else-if=\"$slots[item.depth]\"\n\t\t\t\t\t:depth=\"item.depth\"\n\t\t\t\t\t:expandable=\"item.expandable\"\n\t\t\t\t\t:identifier=\"item.identifier\"\n\t\t\t\t\t:index=\"item.index\"\n\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t:name=\"item.depth\"\n\t\t\t\t\t:offset=\"item.offset\"\n\t\t\t\t\t:open=\"item.open\"\n\t\t\t\t\t:parent=\"item.parent\"\n\t\t\t\t/>\n\t\t\t\t<!-- Default slot -->\n\t\t\t\t<slot\n\t\t\t\t\tv-else\n\t\t\t\t\t:depth=\"item.depth\"\n\t\t\t\t\t:expandable=\"item.expandable\"\n\t\t\t\t\t:identifier=\"item.identifier\"\n\t\t\t\t\t:index=\"item.index\"\n\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t:name=\"'default'\"\n\t\t\t\t\t:offset=\"item.offset\"\n\t\t\t\t\t:open=\"item.open\"\n\t\t\t\t\t:parent=\"item.parent\"\n\t\t\t\t></slot>\n\t\t\t</div>\n\t\t</div>\n\t\t<div :class=\"`bb-tree--depth-${item.depth}-children`\">\n\t\t\t<slot\n\t\t\t\t:depth=\"item.depth\"\n\t\t\t\t:expandable=\"item.expandable\"\n\t\t\t\t:identifier=\"item.identifier\"\n\t\t\t\t:index=\"item.index\"\n\t\t\t\t:item=\"item.original\"\n\t\t\t\t:name=\"`${item.depth}-children`\"\n\t\t\t\t:offset=\"item.offset\"\n\t\t\t\t:open=\"item.open\"\n\t\t\t\t:parent=\"item.parent\"\n\t\t\t>\n\t\t\t\t<slot\n\t\t\t\t\t:depth=\"item.depth\"\n\t\t\t\t\t:expandable=\"item.expandable\"\n\t\t\t\t\t:identifier=\"item.identifier\"\n\t\t\t\t\t:index=\"item.index\"\n\t\t\t\t\t:item=\"item.original\"\n\t\t\t\t\t:name=\"`${item.identifier}-children`\"\n\t\t\t\t\t:offset=\"item.offset\"\n\t\t\t\t\t:open=\"item.open\"\n\t\t\t\t\t:parent=\"item.parent\"\n\t\t\t\t>\n\t\t\t\t\t<BbTree\n\t\t\t\t\t\t:depth=\"item.depth + 1\"\n\t\t\t\t\t\t:expandable=\"expandable\"\n\t\t\t\t\t\t:identifier=\"props.identifier\"\n\t\t\t\t\t\t:items=\"item.children\"\n\t\t\t\t\t\t:parent=\"item\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-for=\"(_, name) in $slots\" #[name]=\"data: any\">\n\t\t\t\t\t\t\t<slot :name=\"name\" v-bind=\"data\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</BbTree>\n\t\t\t\t</slot>\n\t\t\t</slot>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { flattenTree } from '@/utilities/functions/flattenTree';\nimport { computed } from 'vue';\n\nexport type TreeItem = {\n\t/**\n\t * Array of children of the current item. Is the key\n\t * with which we can identify whther the node is nested or not.\n\t */\n\tchildren?: TreeItem[];\n\t/**\n\t * Status of the current node. When a node is open\n\t * it's children are displayed. Otherwise its children\n\t * are hidden.\n\t */\n\topen?: boolean;\n\t[key: symbol | string]: any;\n} & Pick<BbTreeProps, 'expandable'>;\n\nexport type BbTreeProps = {\n\t/**\n\t * Array containing the tree like structure of the items.\n\t */\n\titems: TreeItem[];\n\t/**\n\t * Parent of the current node. `undefined` for the first level.\n\t */\n\tparent?: TreeItem;\n\t/**\n\t * Identifier of the item.\n\t */\n\tidentifier?: string | number;\n\t/**\n\t * Current depth of the tree. Starting at 0 for\n\t * the first level increasing at every level down.\n\t */\n\tdepth?: number;\n\t/**\n\t * Defines the item as expandable. It can be a\n\t * global boolean defining all items as expandable.\n\t * Or it can be a function that receives the item,\n\t * depth, and parent of the current node and returns a boolean.\n\t */\n\texpandable?:\n\t\t| boolean\n\t\t| ((item: TreeItem, depth: number, parent?: TreeItem) => boolean);\n};\n\nconst props = withDefaults(defineProps<BbTreeProps>(), {\n\tidentifier: 'id',\n\tdepth: 0,\n\toffset: 0,\n\titems: () => [] as TreeItem[],\n});\n\nexport type BbTreeSlots = {\n\t[key: string]: (props: {\n\t\titem: any;\n\t\tparent?: any;\n\t\tindex: number;\n\t\toffset: number;\n\t\topen: boolean;\n\t\tdepth: number;\n\t\tidentifier?: string | number;\n\t\texpandable: boolean;\n\t}) => any;\n};\ndefineSlots<BbTreeSlots>();\n\nconst itemIsOpen = (item: TreeItem) => {\n\t/* If the item is not expandable it must be open */\n\tif (typeof item.open === 'undefined') return true;\n\treturn item.open;\n};\n\ntype MappedItem = {\n\tchildren: TreeItem['children'];\n\tdepth: NonNullable<BbTreeProps['depth']>;\n\texpandable: boolean;\n\tidentifier: any;\n\tindex: number;\n\toffset: number;\n\topen: boolean;\n\toriginal: any;\n\tparent: BbTreeProps['parent'];\n};\n\nconst internalItems = computed<MappedItem[]>(() => {\n\tlet currentOffset = 0;\n\n\treturn props.items.map((item: TreeItem, index) => {\n\t\tconst open = itemIsOpen(item);\n\t\tconst expandableProp = item.expandable ?? props.expandable;\n\t\tconst offset = currentOffset + 1;\n\n\t\tcurrentOffset = currentOffset + flattenTree([item], 'children').length;\n\n\t\tlet expandable = false;\n\t\tif (typeof expandableProp !== 'undefined') {\n\t\t\tif (typeof expandableProp === 'function')\n\t\t\t\texpandable = expandableProp(item, props.depth, props.parent);\n\t\t\telse expandable = expandableProp;\n\t\t}\n\t\treturn {\n\t\t\tchildren: item.children,\n\t\t\tdepth: props.depth,\n\t\t\texpandable: expandable,\n\t\t\tidentifier: item[props.identifier],\n\t\t\toffset,\n\t\t\tindex,\n\t\t\topen,\n\t\t\toriginal: item,\n\t\t\tparent: props.parent,\n\t\t};\n\t});\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbTree';\n</style>\n"],"names":["props","__props","itemIsOpen","item","internalItems","computed","currentOffset","index","open","expandableProp","offset","flattenTree","expandable"],"mappings":";;;;;;;;;;;;AA6IA,UAAMA,IAAQC,GAqBRC,IAAa,CAACC,MAEf,OAAOA,EAAK,OAAS,MAAoB,KACtCA,EAAK,MAePC,IAAgBC,EAAuB,MAAM;AAClD,UAAIC,IAAgB;AAEpB,aAAON,EAAM,MAAM,IAAI,CAACG,GAAgBI,MAAU;AAC3C,cAAAC,IAAON,EAAWC,CAAI,GACtBM,IAAiBN,EAAK,cAAcH,EAAM,YAC1CU,IAASJ,IAAgB;AAE/B,QAAAA,IAAgBA,IAAgBK,EAAY,CAACR,CAAI,GAAG,UAAU,EAAE;AAEhE,YAAIS,IAAa;AACb,eAAA,OAAOH,IAAmB,QACzB,OAAOA,KAAmB,aAC7BG,IAAaH,EAAeN,GAAMH,EAAM,OAAOA,EAAM,MAAM,IAC1CY,IAAAH,IAEZ;AAAA,UACN,UAAUN,EAAK;AAAA,UACf,OAAOH,EAAM;AAAA,UACb,YAAAY;AAAA,UACA,YAAYT,EAAKH,EAAM,UAAU;AAAA,UACjC,QAAAU;AAAA,UACA,OAAAH;AAAA,UACA,MAAAC;AAAA,UACA,UAAUL;AAAA,UACV,QAAQH,EAAM;AAAA,QAAA;AAAA,MACf,CACA;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index114.js CHANGED
@@ -1,5 +1,2 @@
1
- const e = "";
2
- export {
3
- e as default
4
- };
1
+
5
2
  //# sourceMappingURL=index114.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index114.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index114.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index115.js","sources":["../src/components/BbChip/BbChip.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, withModifiers as _withModifiers, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"bb-chip\" }\nconst _hoisted_2 = { class: \"bb-chip__content\" }\nconst _hoisted_3 = [\"aria-label\"]\nconst _hoisted_4 = {\n \"aria-hidden\": \"true\",\n class: \"v-icon__svg\",\n role: \"img\",\n style: {\"height\":\"20px\",\"width\":\"20px\"},\n viewBox: \"0 0 20 20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M15 6.375L14.125 5.5L10 9.625L5.875 5.5L5 6.375L9.125 10.5L5 14.625L5.875 15.5L10 11.375L14.125 15.5L15 14.625L10.875 10.5L15 6.375Z\",\n fill: \"currentColor\"\n}, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nimport type { CommonProps } from '@/types/CommonProps';\n\nexport type BbChipProps = Pick<CommonProps, 'text'> & {\n\t/**\n\t * Renders a button with a close icon. Used to indicate the possibility of deleting the item.\n\t */\n\tclearable?: boolean;\n\t/**\n\t * The label the clearing button must have\n\t */\n\tclearableLabel?: string;\n};\n\nexport type BbChipEvents = {\n\t(e: 'click:clear', event: MouseEvent): void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbChip',\n props: {\n text: {},\n clearable: { type: Boolean, default: true },\n clearableLabel: { default: 'Elimina' }\n },\n emits: ['click:clear'],\n setup(__props: any, { emit: __emit }) {\n\n\n\n\n\nconst emit = __emit;\nconst onClear = (event: MouseEvent) => {\n\temit('click:clear', event);\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", _hoisted_1, [\n _createElementVNode(\"span\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"default\", {}, () => [\n _createTextVNode(_toDisplayString(_ctx.text), 1)\n ])\n ]),\n (_ctx.clearable)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n \"aria-label\": _ctx.clearableLabel,\n class: \"bb-chip__clear-button\",\n type: \"button\",\n onClick: _withModifiers(onClear, [\"stop\",\"prevent\"])\n }, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_4, _hoisted_6))\n ], 8, _hoisted_3))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_sfc_main","_defineComponent","__props","__emit","emit","onClear","event","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_renderSlot","_createTextVNode","_toDisplayString","_withModifiers","_createCommentVNode"],"mappings":";AAGA,MAAMA,IAAa,EAAE,OAAO,aACtBC,IAAa,EAAE,OAAO,sBACtBC,IAAa,CAAC,YAAY,GAC1BC,IAAa;AAAA,EACjB,eAAe;AAAA,EACf,OAAO;AAAA,EACP,MAAM;AAAA,EACN,OAAO,EAAC,QAAS,QAAO,OAAQ,OAAM;AAAA,EACtC,SAAS;AAAA,EACT,OAAO;AACT,GACMC,sBAA8C,QAAQ;AAAA,EAC1D,GAAG;AAAA,EACH,MAAM;AACR,GAAG,MAAM,EAAE,GACLC,IAAa;AAAA,EACjBD;AACF,GAoB4BE,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,MAAM,CAAC;AAAA,IACP,WAAW,EAAE,MAAM,SAAS,SAAS,GAAK;AAAA,IAC1C,gBAAgB,EAAE,SAAS,UAAU;AAAA,EACvC;AAAA,EACA,OAAO,CAAC,aAAa;AAAA,EACrB,MAAMC,GAAc,EAAE,MAAMC,KAAU;AAMxC,UAAMC,IAAOD,GACPE,IAAU,CAACC,MAAsB;AACtC,MAAAF,EAAK,eAAeE,CAAK;AAAA,IAAA;AAGnB,WAAA,CAACC,GAAUC,OACRC,EAAW,GAAGC,EAAoB,QAAQhB,GAAY;AAAA,MAC5DiB,EAAoB,QAAQhB,GAAY;AAAA,QACtCiB,EAAYL,EAAK,QAAQ,WAAW,IAAI,MAAM;AAAA,UAC5CM,EAAiBC,EAAiBP,EAAK,IAAI,GAAG,CAAC;AAAA,QAAA,CAChD;AAAA,MAAA,CACF;AAAA,MACAA,EAAK,aACDE,KAAcC,EAAoB,UAAU;AAAA,QAC3C,KAAK;AAAA,QACL,cAAcH,EAAK;AAAA,QACnB,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAASQ,EAAeV,GAAS,CAAC,QAAO,SAAS,CAAC;AAAA,MAAA,GAClD;AAAA,SACAI,EAAW,GAAGC,EAAoB,OAAOb,GAAYE,CAAU;AAAA,SAC/D,GAAGH,CAAU,KAChBoB,EAAoB,IAAI,EAAI;AAAA,IAAA,CACjC;AAAA,EAEH;AAEA,CAAC;"}
1
+ {"version":3,"file":"index115.js","sources":["../src/components/BbChip/BbChip.vue"],"sourcesContent":["<template>\n\t<span class=\"bb-chip\"\n\t\t><span class=\"bb-chip__content\"\n\t\t\t><slot>{{ text }}</slot></span\n\t\t><button\n\t\t\tv-if=\"clearable\"\n\t\t\t:aria-label=\"clearableLabel\"\n\t\t\tclass=\"bb-chip__clear-button\"\n\t\t\ttype=\"button\"\n\t\t\t@click.stop.prevent=\"onClear\"\n\t\t>\n\t\t\t<svg\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclass=\"v-icon__svg\"\n\t\t\t\trole=\"img\"\n\t\t\t\tstyle=\"height: 20px; width: 20px\"\n\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\td=\"M15 6.375L14.125 5.5L10 9.625L5.875 5.5L5 6.375L9.125 10.5L5 14.625L5.875 15.5L10 11.375L14.125 15.5L15 14.625L10.875 10.5L15 6.375Z\"\n\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t/>\n\t\t\t</svg></button\n\t></span>\n</template>\n\n<script setup lang=\"ts\">\nimport type { CommonProps } from '@/types/CommonProps';\n\nexport type BbChipProps = Pick<CommonProps, 'text'> & {\n\t/**\n\t * Renders a button with a close icon. Used to indicate the possibility of deleting the item.\n\t */\n\tclearable?: boolean;\n\t/**\n\t * The label the clearing button must have\n\t */\n\tclearableLabel?: string;\n};\n\nwithDefaults(defineProps<BbChipProps>(), {\n\tclearable: true,\n\tclearableLabel: 'Elimina',\n});\n\nexport type BbChipEvents = {\n\t(e: 'click:clear', event: MouseEvent): void;\n};\n\ndefineSlots<{\n\tdefault?: (props: {}) => any;\n}>();\n\nconst emit = defineEmits(['click:clear']);\nconst onClear = (event: MouseEvent) => {\n\temit('click:clear', event);\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbChip';\n</style>\n"],"names":["emit","__emit","onClear","event"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAsDA,UAAMA,IAAOC,GACPC,IAAU,CAACC,MAAsB;AACtC,MAAAH,EAAK,eAAeG,CAAK;AAAA,IAAA;;;;;;;;;;;;;;;;;;;"}
package/dist/index116.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as i, ref as a, watch as s, computed as u, openBlock as c, createElementBlock as p, normalizeProps as d, guardReactiveProps as m, createElementVNode as b, renderSlot as v, createCommentVNode as f } from "vue";
2
2
  import { wait as V } from "./index122.js";
3
- import { throttle as _ } from "./index199.js";
3
+ import { throttle as _ } from "./index197.js";
4
4
  const h = { class: "bb-collapsible__content" }, k = /* @__PURE__ */ i({
5
5
  __name: "BbCollapsible",
6
6
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"index116.js","sources":["../src/components/BbCollapsible/BbCollapsible.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"bb-collapsible__content\" }\n\nimport { wait } from '@/utilities/functions/wait';\nimport { throttle } from '@/utilities/functions/throttle';\nimport { computed, ref, watch } from 'vue';\nimport type { CommonProps } from '@/types/CommonProps';\n\nexport type BbCollapsibleProps = Pick<\n\tCommonProps,\n\t'eager' | 'transitionDuration'\n> & {\n\t/**\n\t * Used by v-model to trigger opening / closing the collapsible\n\t */\n\tmodelValue: boolean;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbCollapsible',\n props: {\n eager: { type: Boolean },\n transitionDuration: { default: 250 },\n modelValue: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props;\n\n\n\nconst visible = ref(props.modelValue);\nconst hasRenderedOnce = ref(visible.value);\n\n/**\n * Every time model value changes if content is going to be expanded\n * make it visible straight away.\n * If content id going to be collapsed wait for end of\n * transition before hiding from keyboard navigation\n */\nwatch(\n\t() => props.modelValue,\n\tthrottle(async (value) => {\n\t\tif (value) {\n\t\t\thasRenderedOnce.value = true;\n\t\t\tvisible.value = true;\n\t\t} else {\n\t\t\tawait wait(props.transitionDuration);\n\t\t\tvisible.value = false;\n\t\t}\n\t}, props.transitionDuration)\n);\nconst collapsibleAttributes = computed(() => {\n\treturn {\n\t\t'aria-expanded': props.modelValue,\n\t\tclass: {\n\t\t\t'bb-collapsible': true,\n\t\t\t'bb-collapsible--open': props.modelValue,\n\t\t\t'bb-collapsible--closed': !props.modelValue,\n\t\t\t'bb-collapsible--invisible': !visible.value,\n\t\t},\n\t\tstyle: {\n\t\t\ttransitionDuration: props.transitionDuration + 'ms',\n\t\t},\n\t};\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _normalizeProps(_guardReactiveProps(collapsibleAttributes.value)), [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.eager || hasRenderedOnce.value)\n ? _renderSlot(_ctx.$slots, \"default\", { key: 0 })\n : _createCommentVNode(\"\", true)\n ])\n ], 16))\n}\n}\n\n})"],"names":["_hoisted_1","_sfc_main","_defineComponent","__props","props","visible","ref","hasRenderedOnce","watch","throttle","value","wait","collapsibleAttributes","computed","_ctx","_cache","_openBlock","_createElementBlock","_normalizeProps","_guardReactiveProps","_createElementVNode","_renderSlot","_createCommentVNode"],"mappings":";;;AAGA,MAAMA,IAAa,EAAE,OAAO,6BAkBAC,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,OAAO,EAAE,MAAM,QAAQ;AAAA,IACvB,oBAAoB,EAAE,SAAS,IAAI;AAAA,IACnC,YAAY,EAAE,MAAM,QAAQ;AAAA,EAC9B;AAAA,EACA,MAAMC,GAAc;AAEtB,UAAMC,IAAQD,GAIRE,IAAUC,EAAIF,EAAM,UAAU,GAC9BG,IAAkBD,EAAID,EAAQ,KAAK;AAQzC,IAAAG;AAAA,MACC,MAAMJ,EAAM;AAAA,MACZK,EAAS,OAAOC,MAAU;AACzB,QAAIA,KACHH,EAAgB,QAAQ,IACxBF,EAAQ,QAAQ,OAEV,MAAAM,EAAKP,EAAM,kBAAkB,GACnCC,EAAQ,QAAQ;AAAA,MACjB,GACED,EAAM,kBAAkB;AAAA,IAAA;AAEtB,UAAAQ,IAAwBC,EAAS,OAC/B;AAAA,MACN,iBAAiBT,EAAM;AAAA,MACvB,OAAO;AAAA,QACN,kBAAkB;AAAA,QAClB,wBAAwBA,EAAM;AAAA,QAC9B,0BAA0B,CAACA,EAAM;AAAA,QACjC,6BAA6B,CAACC,EAAQ;AAAA,MACvC;AAAA,MACA,OAAO;AAAA,QACN,oBAAoBD,EAAM,qBAAqB;AAAA,MAChD;AAAA,IAAA,EAED;AAEM,WAAA,CAACU,GAAUC,OACRC,EAAA,GAAcC,EAAoB,OAAOC,EAAgBC,EAAoBP,EAAsB,KAAK,CAAC,GAAG;AAAA,MAClHQ,EAAoB,OAAOpB,GAAY;AAAA,QACpCc,EAAK,SAASP,EAAgB,QAC3Bc,EAAYP,EAAK,QAAQ,WAAW,EAAE,KAAK,EAAG,CAAA,IAC9CQ,EAAoB,IAAI,EAAI;AAAA,MAAA,CACjC;AAAA,OACA,EAAE;AAAA,EAEP;AAEA,CAAC;"}
1
+ {"version":3,"file":"index116.js","sources":["../src/components/BbCollapsible/BbCollapsible.vue"],"sourcesContent":["<template>\n\t<div v-bind=\"collapsibleAttributes\">\n\t\t<div class=\"bb-collapsible__content\">\n\t\t\t<slot v-if=\"eager || hasRenderedOnce\"></slot>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { wait } from '@/utilities/functions/wait';\nimport { throttle } from '@/utilities/functions/throttle';\nimport { computed, ref, watch } from 'vue';\nimport type { CommonProps } from '@/types/CommonProps';\n\nexport type BbCollapsibleProps = Pick<\n\tCommonProps,\n\t'eager' | 'transitionDuration'\n> & {\n\t/**\n\t * Used by v-model to trigger opening / closing the collapsible\n\t */\n\tmodelValue: boolean;\n};\n\nconst props = withDefaults(defineProps<BbCollapsibleProps>(), {\n\ttransitionDuration: 250,\n});\n\ndefineSlots<{\n\tdefault?: (props: {}) => any;\n}>();\n\nconst visible = ref(props.modelValue);\nconst hasRenderedOnce = ref(visible.value);\n\n/**\n * Every time model value changes if content is going to be expanded\n * make it visible straight away.\n * If content id going to be collapsed wait for end of\n * transition before hiding from keyboard navigation\n */\nwatch(\n\t() => props.modelValue,\n\tthrottle(async (value) => {\n\t\tif (value) {\n\t\t\thasRenderedOnce.value = true;\n\t\t\tvisible.value = true;\n\t\t} else {\n\t\t\tawait wait(props.transitionDuration);\n\t\t\tvisible.value = false;\n\t\t}\n\t}, props.transitionDuration)\n);\nconst collapsibleAttributes = computed(() => {\n\treturn {\n\t\t'aria-expanded': props.modelValue,\n\t\tclass: {\n\t\t\t'bb-collapsible': true,\n\t\t\t'bb-collapsible--open': props.modelValue,\n\t\t\t'bb-collapsible--closed': !props.modelValue,\n\t\t\t'bb-collapsible--invisible': !visible.value,\n\t\t},\n\t\tstyle: {\n\t\t\ttransitionDuration: props.transitionDuration + 'ms',\n\t\t},\n\t};\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbCollapsible';\n</style>\n"],"names":["props","__props","visible","ref","hasRenderedOnce","watch","throttle","value","wait","collapsibleAttributes","computed"],"mappings":";;;;;;;;;;;AAwBA,UAAMA,IAAQC,GAQRC,IAAUC,EAAIH,EAAM,UAAU,GAC9BI,IAAkBD,EAAID,EAAQ,KAAK;AAQzC,IAAAG;AAAA,MACC,MAAML,EAAM;AAAA,MACZM,EAAS,OAAOC,MAAU;AACzB,QAAIA,KACHH,EAAgB,QAAQ,IACxBF,EAAQ,QAAQ,OAEV,MAAAM,EAAKR,EAAM,kBAAkB,GACnCE,EAAQ,QAAQ;AAAA,MACjB,GACEF,EAAM,kBAAkB;AAAA,IAAA;AAEtB,UAAAS,IAAwBC,EAAS,OAC/B;AAAA,MACN,iBAAiBV,EAAM;AAAA,MACvB,OAAO;AAAA,QACN,kBAAkB;AAAA,QAClB,wBAAwBA,EAAM;AAAA,QAC9B,0BAA0B,CAACA,EAAM;AAAA,QACjC,6BAA6B,CAACE,EAAQ;AAAA,MACvC;AAAA,MACA,OAAO;AAAA,QACN,oBAAoBF,EAAM,qBAAqB;AAAA,MAChD;AAAA,IAAA,EAED;;;;;;;;"}
package/dist/index117.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as m, getCurrentInstance as d, inject as x, computed as l, ref as y, watchEffect as _, openBlock as b, createElementBlock as h, mergeProps as w } from "vue";
2
- import { isCssColor as z } from "./index196.js";
2
+ import { isCssColor as z } from "./index201.js";
3
3
  const g = ["innerHTML"], $ = /* @__PURE__ */ m({
4
4
  __name: "BbIcon",
5
5
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"index117.js","sources":["../src/components/BbIcon/BbIcon.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"innerHTML\"]\n\nimport { computed, getCurrentInstance, inject, ref, watchEffect } from 'vue';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport type { Size as S } from '@/types/CommonProps';\n\nexport type Size = {\n\txs: number;\n\tsm: number;\n\tmd: number;\n\tlg: number;\n\txl: number;\n\txxl: number;\n};\n\nexport type BbIconProps = S<Size> & {\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\t/**\n\t * Name of the icon to use\n\t */\n\ttype: string;\n};\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbIcon',\n props: {\n size: { default: 'md' },\n color: {},\n type: {}\n },\n setup(__props: any) {\n\nconst props = __props;\nlet icons: Record<string, () => Promise<string>> | undefined;\n// @ts-ignore\nconst isNuxt = !!getCurrentInstance()?.proxy?.$nuxt;\n\nif (isNuxt) {\n\t// @ts-ignore\n\tif (process.client) {\n\t\t// @ts-ignore\n\t\ticons = useNuxtApp()[`$icons`] as typeof icons;\n\t}\n} else {\n\ticons = inject('icons');\n}\n\nconst sizeMap: Size = {\n\txs: 12,\n\tsm: 16,\n\tmd: 24,\n\tlg: 28,\n\txl: 36,\n\txxl: 40,\n};\n\nconst iconAttributes = computed(() => {\n\tconst classes: any = {\n\t\t'bb-icon': true,\n\t};\n\tconst width = computed(() => {\n\t\tlet dimension: number;\n\t\tif (typeof props.size === 'string') {\n\t\t\tdimension = sizeMap[props.size as keyof Size] ?? parseInt(props.size, 10);\n\t\t} else if (typeof props.size === 'number') {\n\t\t\tdimension = props.size;\n\t\t} else {\n\t\t\tdimension = 24;\n\t\t}\n\t\treturn dimension + `px`;\n\t});\n\tlet style: { [key: string]: any } = { width: width.value };\n\n\tif (props.color) {\n\t\tif (isCssColor(props.color)) {\n\t\t\tstyle.color = props.color;\n\t\t} else {\n\t\t\tclasses[`bb-icon-${props.color}`] = true;\n\t\t}\n\t}\n\treturn {\n\t\tclass: classes,\n\t\tstyle,\n\t};\n});\n\nconst icon = ref<string | null>(null);\n\nwatchEffect(async () => {\n\tif (icons) {\n\t\tif (typeof icons[props.type] === 'undefined')\n\t\t\tthrow new Error(`Icon \"${props.type}\" does not exist.`);\n\t\ticon.value = await icons[props.type]();\n\t}\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"i\", _mergeProps(iconAttributes.value, { innerHTML: icon.value }), null, 16, _hoisted_1))\n}\n}\n\n})"],"names":["_hoisted_1","_sfc_main","_defineComponent","__props","props","icons","_b","_a","getCurrentInstance","inject","sizeMap","iconAttributes","computed","classes","style","dimension","isCssColor","icon","ref","watchEffect","_ctx","_cache","_openBlock","_createElementBlock","_mergeProps"],"mappings":";;AAGA,MAAMA,IAAa,CAAC,WAAW,GA4BHC,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,MAAM,EAAE,SAAS,KAAK;AAAA,IACtB,OAAO,CAAC;AAAA,IACR,MAAM,CAAC;AAAA,EACT;AAAA,EACA,MAAMC,GAAc;;AAEtB,UAAMC,IAAQD;AACV,QAAAE;AAIJ,IAFe,CAAC,GAACC,KAAAC,IAAAC,EAAA,MAAA,gBAAAD,EAAsB,UAAtB,QAAAD,EAA6B,SAIzC,QAAQ,WAEHD,IAAA,WAAA,EAAa,UAGtBA,IAAQI,EAAO,OAAO;AAGvB,UAAMC,IAAgB;AAAA,MACrB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IAAA,GAGAC,IAAiBC,EAAS,MAAM;AACrC,YAAMC,IAAe;AAAA,QACpB,WAAW;AAAA,MAAA;AAaZ,UAAIC,IAAgC,EAAE,OAXxBF,EAAS,MAAM;AACxB,YAAAG;AACA,eAAA,OAAOX,EAAM,QAAS,WACzBW,IAAYL,EAAQN,EAAM,IAAkB,KAAK,SAASA,EAAM,MAAM,EAAE,IAC9D,OAAOA,EAAM,QAAS,WAChCW,IAAYX,EAAM,OAENW,IAAA,IAENA,IAAY;AAAA,MAAA,CACnB,EACkD,MAAM;AAEzD,aAAIX,EAAM,UACLY,EAAWZ,EAAM,KAAK,IACzBU,EAAM,QAAQV,EAAM,QAEpBS,EAAQ,WAAWT,EAAM,KAAK,EAAE,IAAI,KAG/B;AAAA,QACN,OAAOS;AAAA,QACP,OAAAC;AAAA,MAAA;AAAA,IACD,CACA,GAEKG,IAAOC,EAAmB,IAAI;AAEpC,WAAAC,EAAY,YAAY;AACvB,UAAId,GAAO;AACV,YAAI,OAAOA,EAAMD,EAAM,IAAI,IAAM;AAChC,gBAAM,IAAI,MAAM,SAASA,EAAM,IAAI,mBAAmB;AACvD,QAAAa,EAAK,QAAQ,MAAMZ,EAAMD,EAAM,IAAI,EAAE;AAAA,MACtC;AAAA,IAAA,CACA,GAEM,CAACgB,GAAUC,OACRC,EAAW,GAAGC,EAAoB,KAAKC,EAAYb,EAAe,OAAO,EAAE,WAAWM,EAAK,MAAO,CAAA,GAAG,MAAM,IAAIjB,CAAU;AAAA,EAEnI;AAEA,CAAC;"}
1
+ {"version":3,"file":"index117.js","sources":["../src/components/BbIcon/BbIcon.vue"],"sourcesContent":["<template>\n\t<i v-bind=\"iconAttributes\" v-html=\"icon\"></i>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, getCurrentInstance, inject, ref, watchEffect } from 'vue';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport type { Size as S } from '@/types/CommonProps';\n\nexport type Size = {\n\txs: number;\n\tsm: number;\n\tmd: number;\n\tlg: number;\n\txl: number;\n\txxl: number;\n};\n\nexport type BbIconProps = S<Size> & {\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\t/**\n\t * Name of the icon to use\n\t */\n\ttype: string;\n};\nconst props = withDefaults(defineProps<BbIconProps>(), {\n\tsize: 'md',\n});\nlet icons: Record<string, () => Promise<string>> | undefined;\n// @ts-ignore\nconst isNuxt = !!getCurrentInstance()?.proxy?.$nuxt;\n\nif (isNuxt) {\n\t// @ts-ignore\n\tif (process.client) {\n\t\t// @ts-ignore\n\t\ticons = useNuxtApp()[`$icons`] as typeof icons;\n\t}\n} else {\n\ticons = inject('icons');\n}\n\nconst sizeMap: Size = {\n\txs: 12,\n\tsm: 16,\n\tmd: 24,\n\tlg: 28,\n\txl: 36,\n\txxl: 40,\n};\n\nconst iconAttributes = computed(() => {\n\tconst classes: any = {\n\t\t'bb-icon': true,\n\t};\n\tconst width = computed(() => {\n\t\tlet dimension: number;\n\t\tif (typeof props.size === 'string') {\n\t\t\tdimension = sizeMap[props.size as keyof Size] ?? parseInt(props.size, 10);\n\t\t} else if (typeof props.size === 'number') {\n\t\t\tdimension = props.size;\n\t\t} else {\n\t\t\tdimension = 24;\n\t\t}\n\t\treturn dimension + `px`;\n\t});\n\tlet style: { [key: string]: any } = { width: width.value };\n\n\tif (props.color) {\n\t\tif (isCssColor(props.color)) {\n\t\t\tstyle.color = props.color;\n\t\t} else {\n\t\t\tclasses[`bb-icon-${props.color}`] = true;\n\t\t}\n\t}\n\treturn {\n\t\tclass: classes,\n\t\tstyle,\n\t};\n});\n\nconst icon = ref<string | null>(null);\n\nwatchEffect(async () => {\n\tif (icons) {\n\t\tif (typeof icons[props.type] === 'undefined')\n\t\t\tthrow new Error(`Icon \"${props.type}\" does not exist.`);\n\t\ticon.value = await icons[props.type]();\n\t}\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbIcon';\n</style>\n"],"names":["props","__props","icons","_b","_a","getCurrentInstance","inject","sizeMap","iconAttributes","computed","classes","style","dimension","isCssColor","icon","ref","watchEffect"],"mappings":";;;;;;;;;;;AA8BA,UAAMA,IAAQC;AAGV,QAAAC;AAIJ,IAFe,CAAC,GAACC,KAAAC,IAAAC,EAAA,MAAA,gBAAAD,EAAsB,UAAtB,QAAAD,EAA6B,SAIzC,QAAQ,WAEHD,IAAA,WAAA,EAAa,UAGtBA,IAAQI,EAAO,OAAO;AAGvB,UAAMC,IAAgB;AAAA,MACrB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IAAA,GAGAC,IAAiBC,EAAS,MAAM;AACrC,YAAMC,IAAe;AAAA,QACpB,WAAW;AAAA,MAAA;AAaZ,UAAIC,IAAgC,EAAE,OAXxBF,EAAS,MAAM;AACxB,YAAAG;AACA,eAAA,OAAOZ,EAAM,QAAS,WACzBY,IAAYL,EAAQP,EAAM,IAAkB,KAAK,SAASA,EAAM,MAAM,EAAE,IAC9D,OAAOA,EAAM,QAAS,WAChCY,IAAYZ,EAAM,OAENY,IAAA,IAENA,IAAY;AAAA,MAAA,CACnB,EACkD,MAAM;AAEzD,aAAIZ,EAAM,UACLa,EAAWb,EAAM,KAAK,IACzBW,EAAM,QAAQX,EAAM,QAEpBU,EAAQ,WAAWV,EAAM,KAAK,EAAE,IAAI,KAG/B;AAAA,QACN,OAAOU;AAAA,QACP,OAAAC;AAAA,MAAA;AAAA,IACD,CACA,GAEKG,IAAOC,EAAmB,IAAI;AAEpC,WAAAC,EAAY,YAAY;AACvB,UAAId,GAAO;AACV,YAAI,OAAOA,EAAMF,EAAM,IAAI,IAAM;AAChC,gBAAM,IAAI,MAAM,SAASA,EAAM,IAAI,mBAAmB;AACvD,QAAAc,EAAK,QAAQ,MAAMZ,EAAMF,EAAM,IAAI,EAAE;AAAA,MACtC;AAAA,IAAA,CACA;;;"}
package/dist/index118.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as v, ref as r, onMounted as p, onBeforeUnmount as h, openBlock as i, createBlock as l, resolveDynamicComponent as u, normalizeStyle as m, withCtx as f, renderSlot as d } from "vue";
2
- import { throttle as g } from "./index199.js";
2
+ import { throttle as g } from "./index197.js";
3
3
  const O = /* @__PURE__ */ v({
4
4
  __name: "BbSmoothHeight",
5
5
  props: {
@@ -1 +1 @@
1
- {"version":3,"file":"index118.js","sources":["../src/components/BbSmoothHeight/BbSmoothHeight.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, resolveDynamicComponent as _resolveDynamicComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, normalizeStyle as _normalizeStyle } from \"vue\"\n\nimport type { CommonProps, NonVoidElementTag } from '@/types/CommonProps';\nimport { throttle } from '@/utilities/functions/throttle';\nimport { ref, onMounted, onBeforeUnmount } from 'vue';\n\nexport type BbSmoothHeightProps = {\n\t/**\n\t * Options to pass to the MutationObserver\n\t */\n\tmutationOptions?: MutationObserverInit;\n\t/**\n\t * Options to pass to the ResizeObserver\n\t */\n\tresizeOptions?: ResizeObserverOptions;\n\t/**\n\t * Define which strategy to use. By default is used 'resize' which means the\n\t * component will update on resizing.\n\t * You can also define 'mutation' to use a MutationObserver\n\t */\n\tstrategy?: 'resize' | 'mutation';\n} & NonVoidElementTag &\n\tPick<CommonProps, 'transitionDuration'>;\n\nexport type BbSmoothHeightSlots = {\n\tdefault?: (props: {}) => any;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbSmoothHeight',\n props: {\n mutationOptions: { default: () => ({ childList: true }) },\n resizeOptions: {},\n strategy: { default: 'resize' },\n tag: { default: 'div' },\n transitionDuration: { default: 200 }\n },\n setup(__props: any) {\n\nconst props = __props;\n\n\n\nconst container = ref<HTMLElement | null>(null);\nconst content = ref<HTMLElement | null>(null);\nconst observer = ref<ResizeObserver | MutationObserver | null>(null);\n\nif (globalThis.ResizeObserver) {\n\tonMounted(() => {\n\t\tif (props.strategy === 'resize') {\n\t\t\tif (content.value) {\n\t\t\t\tobserver.value = new ResizeObserver(onContentGrow);\n\t\t\t\tobserver.value.observe(content.value, props.resizeOptions);\n\t\t\t}\n\t\t} else if (props.strategy === 'mutation') {\n\t\t\tif (content.value) {\n\t\t\t\tobserver.value = new MutationObserver(onContentGrow);\n\t\t\t\tobserver.value.observe(content.value, props.mutationOptions);\n\t\t\t}\n\t\t}\n\t\tonContentGrow();\n\t});\n\tonBeforeUnmount(() => {\n\t\tif (observer.value) {\n\t\t\tobserver.value.disconnect();\n\t\t}\n\t});\n}\n\n/**\n * This is called when content changes.\n * It could be called numerous times so throttle every 200ms\n */\nconst onContentGrow = throttle(() => {\n\tif (container.value && content.value) {\n\t\tconst contentHeight = content.value.scrollHeight + 2;\n\t\tcontainer.value.style.height = '0px';\n\t\tcontainer.value.style.height = `${contentHeight}px`;\n\t}\n}, 200);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.tag), {\n ref_key: \"container\",\n ref: container,\n class: \"bb-smooth-height\",\n style: _normalizeStyle({ 'transition-duration': props.transitionDuration / 1000 + 's' })\n }, {\n default: _withCtx(() => [\n (_openBlock(), _createBlock(_resolveDynamicComponent(_ctx.tag), {\n ref_key: \"content\",\n ref: content,\n class: \"content\"\n }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 512))\n ]),\n _: 3\n }, 8, [\"style\"]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","props","container","ref","content","observer","onMounted","onContentGrow","onBeforeUnmount","throttle","contentHeight","_ctx","_cache","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeStyle","_withCtx","_renderSlot"],"mappings":";;AA8BA,MAA4BA,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,iBAAiB,EAAE,SAAS,OAAO,EAAE,WAAW,GAAQ,GAAA;AAAA,IACxD,eAAe,CAAC;AAAA,IAChB,UAAU,EAAE,SAAS,SAAS;AAAA,IAC9B,KAAK,EAAE,SAAS,MAAM;AAAA,IACtB,oBAAoB,EAAE,SAAS,IAAI;AAAA,EACrC;AAAA,EACA,MAAMC,GAAc;AAEtB,UAAMC,IAAQD,GAIRE,IAAYC,EAAwB,IAAI,GACxCC,IAAUD,EAAwB,IAAI,GACtCE,IAAWF,EAA8C,IAAI;AAEnE,IAAI,WAAW,mBACdG,EAAU,MAAM;AACX,MAAAL,EAAM,aAAa,WAClBG,EAAQ,UACFC,EAAA,QAAQ,IAAI,eAAeE,CAAa,GACjDF,EAAS,MAAM,QAAQD,EAAQ,OAAOH,EAAM,aAAa,KAEhDA,EAAM,aAAa,cACzBG,EAAQ,UACFC,EAAA,QAAQ,IAAI,iBAAiBE,CAAa,GACnDF,EAAS,MAAM,QAAQD,EAAQ,OAAOH,EAAM,eAAe,IAG/CM;IAAA,CACd,GACDC,EAAgB,MAAM;AACrB,MAAIH,EAAS,SACZA,EAAS,MAAM;IAChB,CACA;AAOI,UAAAE,IAAgBE,EAAS,MAAM;AAChC,UAAAP,EAAU,SAASE,EAAQ,OAAO;AAC/B,cAAAM,IAAgBN,EAAQ,MAAM,eAAe;AACzC,QAAAF,EAAA,MAAM,MAAM,SAAS,OAC/BA,EAAU,MAAM,MAAM,SAAS,GAAGQ,CAAa;AAAA,MAChD;AAAA,OACE,GAAG;AAEC,WAAA,CAACC,GAAUC,OACRC,EAAc,GAAAC,EAAaC,EAAyBJ,EAAK,GAAG,GAAG;AAAA,MACrE,SAAS;AAAA,MACT,KAAKT;AAAA,MACL,OAAO;AAAA,MACP,OAAOc,EAAgB,EAAE,uBAAuBf,EAAM,qBAAqB,MAAO,KAAK;AAAA,IAAA,GACtF;AAAA,MACD,SAASgB,EAAS,MAAM;AAAA,SACrBJ,EAAc,GAAAC,EAAaC,EAAyBJ,EAAK,GAAG,GAAG;AAAA,UAC9D,SAAS;AAAA,UACT,KAAKP;AAAA,UACL,OAAO;AAAA,QAAA,GACN;AAAA,UACD,SAASa,EAAS,MAAM;AAAA,YACtBC,EAAYP,EAAK,QAAQ,SAAS;AAAA,UAAA,CACnC;AAAA,UACD,GAAG;AAAA,WACF,GAAG;AAAA,MAAA,CACP;AAAA,MACD,GAAG;AAAA,IAAA,GACF,GAAG,CAAC,OAAO,CAAC;AAAA,EAEjB;AAEA,CAAC;"}
1
+ {"version":3,"file":"index118.js","sources":["../src/components/BbSmoothHeight/BbSmoothHeight.vue"],"sourcesContent":["<template>\n\t<component\n\t\t:is=\"tag\"\n\t\tref=\"container\"\n\t\tclass=\"bb-smooth-height\"\n\t\t:style=\"{ 'transition-duration': props.transitionDuration / 1000 + 's' }\"\n\t>\n\t\t<component :is=\"tag\" ref=\"content\" class=\"content\">\n\t\t\t<slot />\n\t\t</component>\n\t</component>\n</template>\n\n<script setup lang=\"ts\">\nimport type { CommonProps, NonVoidElementTag } from '@/types/CommonProps';\nimport { throttle } from '@/utilities/functions/throttle';\nimport { ref, onMounted, onBeforeUnmount } from 'vue';\n\nexport type BbSmoothHeightProps = {\n\t/**\n\t * Options to pass to the MutationObserver\n\t */\n\tmutationOptions?: MutationObserverInit;\n\t/**\n\t * Options to pass to the ResizeObserver\n\t */\n\tresizeOptions?: ResizeObserverOptions;\n\t/**\n\t * Define which strategy to use. By default is used 'resize' which means the\n\t * component will update on resizing.\n\t * You can also define 'mutation' to use a MutationObserver\n\t */\n\tstrategy?: 'resize' | 'mutation';\n} & NonVoidElementTag &\n\tPick<CommonProps, 'transitionDuration'>;\n\nconst props = withDefaults(defineProps<BbSmoothHeightProps>(), {\n\ttransitionDuration: 200,\n\tstrategy: 'resize',\n\tmutationOptions: () => ({ childList: true }),\n\ttag: 'div',\n});\n\nexport type BbSmoothHeightSlots = {\n\tdefault?: (props: {}) => any;\n};\n\ndefineSlots<BbSmoothHeightSlots>();\n\nconst container = ref<HTMLElement | null>(null);\nconst content = ref<HTMLElement | null>(null);\nconst observer = ref<ResizeObserver | MutationObserver | null>(null);\n\nif (globalThis.ResizeObserver) {\n\tonMounted(() => {\n\t\tif (props.strategy === 'resize') {\n\t\t\tif (content.value) {\n\t\t\t\tobserver.value = new ResizeObserver(onContentGrow);\n\t\t\t\tobserver.value.observe(content.value, props.resizeOptions);\n\t\t\t}\n\t\t} else if (props.strategy === 'mutation') {\n\t\t\tif (content.value) {\n\t\t\t\tobserver.value = new MutationObserver(onContentGrow);\n\t\t\t\tobserver.value.observe(content.value, props.mutationOptions);\n\t\t\t}\n\t\t}\n\t\tonContentGrow();\n\t});\n\tonBeforeUnmount(() => {\n\t\tif (observer.value) {\n\t\t\tobserver.value.disconnect();\n\t\t}\n\t});\n}\n\n/**\n * This is called when content changes.\n * It could be called numerous times so throttle every 200ms\n */\nconst onContentGrow = throttle(() => {\n\tif (container.value && content.value) {\n\t\tconst contentHeight = content.value.scrollHeight + 2;\n\t\tcontainer.value.style.height = '0px';\n\t\tcontainer.value.style.height = `${contentHeight}px`;\n\t}\n}, 200);\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbSmoothHeight';\n</style>\n"],"names":["props","__props","container","ref","content","observer","onMounted","onContentGrow","onBeforeUnmount","throttle","contentHeight"],"mappings":";;;;;;;;;;;;AAoCA,UAAMA,IAAQC,GAaRC,IAAYC,EAAwB,IAAI,GACxCC,IAAUD,EAAwB,IAAI,GACtCE,IAAWF,EAA8C,IAAI;AAEnE,IAAI,WAAW,mBACdG,EAAU,MAAM;AACX,MAAAN,EAAM,aAAa,WAClBI,EAAQ,UACFC,EAAA,QAAQ,IAAI,eAAeE,CAAa,GACjDF,EAAS,MAAM,QAAQD,EAAQ,OAAOJ,EAAM,aAAa,KAEhDA,EAAM,aAAa,cACzBI,EAAQ,UACFC,EAAA,QAAQ,IAAI,iBAAiBE,CAAa,GACnDF,EAAS,MAAM,QAAQD,EAAQ,OAAOJ,EAAM,eAAe,IAG/CO;IAAA,CACd,GACDC,EAAgB,MAAM;AACrB,MAAIH,EAAS,SACZA,EAAS,MAAM;IAChB,CACA;AAOI,UAAAE,IAAgBE,EAAS,MAAM;AAChC,UAAAP,EAAU,SAASE,EAAQ,OAAO;AAC/B,cAAAM,IAAgBN,EAAQ,MAAM,eAAe;AACzC,QAAAF,EAAA,MAAM,MAAM,SAAS,OAC/BA,EAAU,MAAM,MAAM,SAAS,GAAGQ,CAAa;AAAA,MAChD;AAAA,OACE,GAAG;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index119.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as m, computed as r, openBlock as a, createElementBlock as d, normalizeProps as u, guardReactiveProps as z, createElementVNode as c } from "vue";
2
- import { isCssColor as f } from "./index196.js";
2
+ import { isCssColor as f } from "./index201.js";
3
3
  const _ = /* @__PURE__ */ c("svg", {
4
4
  viewBox: "0 0 512 512",
5
5
  xmlns: "http://www.w3.org/2000/svg"
@@ -1 +1 @@
1
- {"version":3,"file":"index119.js","sources":["../src/components/BbSpinner/BbSpinner.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"svg\", {\n viewBox: \"0 0 512 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", {\n d: \"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\",\n fill: \"currentColor\"\n })\n], -1)\nconst _hoisted_2 = [\n _hoisted_1\n]\n\nimport { computed } from 'vue';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport type { Classes } from '@/types/Classes';\nimport type { CommonProps, Size as S } from '@/types/CommonProps';\nimport type { Size as IconSize } from '../BbIcon/BbIcon.vue';\n\nexport type Size = IconSize;\nexport type BbSpinnerProps = Pick<CommonProps, 'color'> & S<IconSize>;\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbSpinner',\n props: {\n color: {},\n size: { default: 'md' }\n },\n setup(__props: any) {\n\nconst props = __props;\n\nconst sizeMap: IconSize = {\n\txs: 12,\n\tsm: 16,\n\tmd: 24,\n\tlg: 28,\n\txl: 36,\n\txxl: 40,\n};\n\nconst iconAttributes = computed(() => {\n\tconst classes: Classes = {\n\t\t'bb-spinner': true,\n\t};\n\tconst width = computed(() => {\n\t\tlet dimension: number;\n\t\tif (typeof props.size === 'string') {\n\t\t\tdimension =\n\t\t\t\tsizeMap[props.size as keyof IconSize] ?? parseInt(props.size, 10);\n\t\t} else {\n\t\t\tdimension = props.size;\n\t\t}\n\t\treturn dimension + `px`;\n\t});\n\tlet style: { [key: string]: any } = { width: width.value };\n\n\tif (props.color) {\n\t\tif (isCssColor(props.color)) {\n\t\t\tstyle.color = props.color;\n\t\t} else {\n\t\t\tclasses[`bb-spinner--${props.color}`] = true;\n\t\t}\n\t}\n\treturn {\n\t\tclass: classes,\n\t\tstyle,\n\t};\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", _normalizeProps(_guardReactiveProps(iconAttributes.value)), _hoisted_2, 16))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_sfc_main","_defineComponent","__props","props","sizeMap","iconAttributes","computed","classes","style","dimension","isCssColor","_ctx","_cache","_openBlock","_createElementBlock","_normalizeProps","_guardReactiveProps"],"mappings":";;AAGA,MAAMA,sBAA8C,OAAO;AAAA,EACzD,SAAS;AAAA,EACT,OAAO;AACT,GAAG;AAAA,oBACgC,QAAQ;AAAA,IACvC,GAAG;AAAA,IACH,MAAM;AAAA,EAAA,CACP;AACH,GAAG,EAAE,GACCC,IAAa;AAAA,EACjBD;AACF,GAY4BE,IAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,OAAO,CAAC;AAAA,IACR,MAAM,EAAE,SAAS,KAAK;AAAA,EACxB;AAAA,EACA,MAAMC,GAAc;AAEtB,UAAMC,IAAQD,GAERE,IAAoB;AAAA,MACzB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IAAA,GAGAC,IAAiBC,EAAS,MAAM;AACrC,YAAMC,IAAmB;AAAA,QACxB,cAAc;AAAA,MAAA;AAYf,UAAIC,IAAgC,EAAE,OAVxBF,EAAS,MAAM;AACxB,YAAAG;AACA,eAAA,OAAON,EAAM,QAAS,WACzBM,IACCL,EAAQD,EAAM,IAAsB,KAAK,SAASA,EAAM,MAAM,EAAE,IAEjEM,IAAYN,EAAM,MAEZM,IAAY;AAAA,MAAA,CACnB,EACkD,MAAM;AAEzD,aAAIN,EAAM,UACLO,EAAWP,EAAM,KAAK,IACzBK,EAAM,QAAQL,EAAM,QAEpBI,EAAQ,eAAeJ,EAAM,KAAK,EAAE,IAAI,KAGnC;AAAA,QACN,OAAOI;AAAA,QACP,OAAAC;AAAA,MAAA;AAAA,IACD,CACA;AAEM,WAAA,CAACG,GAAUC,OACRC,EAAc,GAAAC,EAAoB,QAAQC,EAAgBC,EAAoBX,EAAe,KAAK,CAAC,GAAGN,GAAY,EAAE;AAAA,EAE9H;AAEA,CAAC;"}
1
+ {"version":3,"file":"index119.js","sources":["../src/components/BbSpinner/BbSpinner.vue"],"sourcesContent":["<template>\n\t<span v-bind=\"iconAttributes\">\n\t\t<svg viewBox=\"0 0 512 512\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t<path\n\t\t\t\td=\"M304 48c0 26.51-21.49 48-48 48s-48-21.49-48-48 21.49-48 48-48 48 21.49 48 48zm-48 368c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zm208-208c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM96 256c0-26.51-21.49-48-48-48S0 229.49 0 256s21.49 48 48 48 48-21.49 48-48zm12.922 99.078c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.491-48-48-48zm294.156 0c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48c0-26.509-21.49-48-48-48zM108.922 60.922c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.491-48-48-48z\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t/>\n\t\t</svg>\n\t</span>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport { isCssColor } from '@/utilities/functions/isCssColor';\nimport type { Classes } from '@/types/Classes';\nimport type { CommonProps, Size as S } from '@/types/CommonProps';\nimport type { Size as IconSize } from '../BbIcon/BbIcon.vue';\n\nexport type Size = IconSize;\nexport type BbSpinnerProps = Pick<CommonProps, 'color'> & S<IconSize>;\n\nconst props = withDefaults(defineProps<BbSpinnerProps>(), {\n\tsize: 'md',\n});\n\nconst sizeMap: IconSize = {\n\txs: 12,\n\tsm: 16,\n\tmd: 24,\n\tlg: 28,\n\txl: 36,\n\txxl: 40,\n};\n\nconst iconAttributes = computed(() => {\n\tconst classes: Classes = {\n\t\t'bb-spinner': true,\n\t};\n\tconst width = computed(() => {\n\t\tlet dimension: number;\n\t\tif (typeof props.size === 'string') {\n\t\t\tdimension =\n\t\t\t\tsizeMap[props.size as keyof IconSize] ?? parseInt(props.size, 10);\n\t\t} else {\n\t\t\tdimension = props.size;\n\t\t}\n\t\treturn dimension + `px`;\n\t});\n\tlet style: { [key: string]: any } = { width: width.value };\n\n\tif (props.color) {\n\t\tif (isCssColor(props.color)) {\n\t\t\tstyle.color = props.color;\n\t\t} else {\n\t\t\tclasses[`bb-spinner--${props.color}`] = true;\n\t\t}\n\t}\n\treturn {\n\t\tclass: classes,\n\t\tstyle,\n\t};\n});\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbSpinner';\n</style>\n"],"names":["props","__props","sizeMap","iconAttributes","computed","classes","style","dimension","isCssColor"],"mappings":";;;;;;;;;;;;;;;;;;;AAqBA,UAAMA,IAAQC,GAIRC,IAAoB;AAAA,MACzB,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,KAAK;AAAA,IAAA,GAGAC,IAAiBC,EAAS,MAAM;AACrC,YAAMC,IAAmB;AAAA,QACxB,cAAc;AAAA,MAAA;AAYf,UAAIC,IAAgC,EAAE,OAVxBF,EAAS,MAAM;AACxB,YAAAG;AACA,eAAA,OAAOP,EAAM,QAAS,WACzBO,IACCL,EAAQF,EAAM,IAAsB,KAAK,SAASA,EAAM,MAAM,EAAE,IAEjEO,IAAYP,EAAM,MAEZO,IAAY;AAAA,MAAA,CACnB,EACkD,MAAM;AAEzD,aAAIP,EAAM,UACLQ,EAAWR,EAAM,KAAK,IACzBM,EAAM,QAAQN,EAAM,QAEpBK,EAAQ,eAAeL,EAAM,KAAK,EAAE,IAAI,KAGnC;AAAA,QACN,OAAOK;AAAA,QACP,OAAAC;AAAA,MAAA;AAAA,IACD,CACA;;;;"}
package/dist/index12.js CHANGED
@@ -1,5 +1,2 @@
1
- const e = "";
2
- export {
3
- e as default
4
- };
1
+
5
2
  //# sourceMappingURL=index12.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index12.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index12.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/index121.js CHANGED
@@ -1,4 +1,4 @@
1
- import { clamp as o } from "./index198.js";
1
+ import { clamp as o } from "./index213.js";
2
2
  const r = (t, e) => t * 100 / e, p = (t, e) => t / 100 * e, l = (t, e, n) => r(t - e, n - e), P = ({
3
3
  value: t = 0,
4
4
  originalBounds: e,
package/dist/index125.js CHANGED
@@ -1,4 +1,4 @@
1
- import t from "./index212.js";
1
+ import t from "./index200.js";
2
2
  const o = () => ({
3
3
  getItemText(r, n) {
4
4
  if (typeof r == "string" && !n)
package/dist/index126.js CHANGED
@@ -1,4 +1,4 @@
1
- import o from "./index212.js";
1
+ import o from "./index200.js";
2
2
  const e = () => ({
3
3
  getItemValue(n, f) {
4
4
  if (typeof f > "u")
package/dist/index127.js CHANGED
@@ -1,4 +1,4 @@
1
- import { isArray as b, isPlainObject as m } from "./index253.js";
1
+ import { isArray as b, isPlainObject as m } from "./index232.js";
2
2
  function i(e, n, l, o, r) {
3
3
  const u = {}.propertyIsEnumerable.call(o, n) ? "enumerable" : "nonenumerable";
4
4
  u === "enumerable" && (e[n] = l), r && u === "nonenumerable" && Object.defineProperty(e, n, {
@@ -1 +1 @@
1
- {"version":3,"file":"index13.js","sources":["../src/components/BaseCheckboxGroup/BaseCheckboxGroup.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { renderSlot as _renderSlot, unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"bb-base-checkbox-group__container\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"bb-base-checkbox-group__loading-container\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"bb-base-select__no-data-container\"\n}\n\nimport { ref, toRef } from 'vue';\nimport { useOptions } from '@/composables/useOptions';\nimport BaseCheckbox from '../BaseCheckbox/BaseCheckbox.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\nimport type { NestedKeyOf } from '@/types/NestedKeyOf';\nimport type { Option } from '@/composables/useOptions';\nimport type { SlotAttributes } from '../BaseCheckbox/BaseCheckbox.vue';\n\nexport type BaseCheckboxGroupProps<T> = {\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Defines an array of dependencies that will trigger actions in the component upon change.\n\t */\n\tdependencies?: any[];\n\n\t/**\n\t * Timeout used to debounce response to changes to dependencies.\n\t */\n\tdepsDebounceTime?: number;\n\n\t/**\n\t * Direction of the layout of the inputs inside the fieldset. It can be either `horizontal` or `vertical`\n\t */\n\tdirection?: 'horizontal' | 'vertical';\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * If coherence is enforce the input cannot have a modelValue the is incoherent with its current items.\n\t *\n\t * e.g. You cannot set v-model to a user that is not present in the items passed.\n\t *\n\t * modelValue will be reset upon incoherence.\n\t */\n\tenforceCoherence?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * Visually hides the label of the input while maintaining accessibility.\n\t */\n\thideLabel?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Used to retrieve items can be an array or a function.\n\t */\n\titems:\n\t\t| T[]\n\t\t| ((prefill: boolean, modelValue?: any[]) => Promise<T[]>)\n\t\t| ((prefill: boolean, modelValue?: any[]) => T[]);\n\n\t/**\n\t * Defines a path that returns a property of the object to use as text or a function that returns a string\n\t */\n\titemText?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => string) | undefined;\n\n\t/**\n\t * Defines a path that returns a property of the object to use as value or a function that returns any value\n\t */\n\titemValue?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => any) | undefined;\n\n\t/**\n\t * String displayed while items are being loaded.\n\t */\n\tloadingText?: string;\n\n\t/**\n\t * Defines the strategy used to understand whether an option has been selected.\n\t * `string` is 40% faster but relies on property order.\n\t * `equality` is more reliable but is slower.\n\t */\n\tmatchStrategy?: 'string' | 'equality';\n\n\t/**\n\t * Used by v-model. Can be an array of any serializable type.\n\t */\n\tmodelValue: any[];\n\n\t/**\n\t * Timeout used to debounce response to changes to modelValue.\n\t */\n\tmodelValueDebounceTime?: number;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there are no items to display.\n\t */\n\tnoDataText?: string;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n};\n\nexport type BaseCheckboxGroupEvents = {\n\t(e: 'blur', event: FocusEvent): void;\n\n\t(e: 'change', event: Event): void;\n\n\t(e: 'click', event: MouseEvent): void;\n\n\t(e: 'focus', event: FocusEvent): void;\n\n\t(e: 'inactive'): void;\n\n\t(e: 'input', event: Event): void;\n\n\t(e: 'keydown', event: KeyboardEvent): void;\n\n\t(e: 'mousedown', event: MouseEvent): void;\n\n\t(e: 'mouseup', event: MouseEvent): void;\n\n\t(e: 'update:modelValue', value: any): void;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BaseCheckboxGroup',\n props: {\n autofocus: {},\n color: {},\n dependencies: {},\n depsDebounceTime: { default: 0 },\n direction: { default: 'horizontal' },\n disabled: { type: Boolean },\n enforceCoherence: { type: Boolean },\n hasErrors: { type: Boolean },\n hideLabel: { type: Boolean },\n id: {},\n items: { type: [Array, Function], default: () => [] },\n itemText: {},\n itemValue: {},\n loadingText: { default: 'Caricamento...' },\n matchStrategy: { default: 'string' },\n modelValue: {},\n modelValueDebounceTime: { default: 0 },\n name: {},\n noDataText: { default: 'Nessun elemento da visualizzare' },\n readonly: {}\n },\n emits: [\"blur\", \"change\", \"click\", \"focus\", \"inactive\", \"input\", \"keydown\", \"mousedown\", \"mouseup\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n\nconst emit = __emit;\n\n\n\nconst container = ref<HTMLElement>();\nconst active = ref(false);\n\nconst { loading, options } = useOptions({\n\tdependencies: toRef(() => props.dependencies),\n\tdepsDebounceTime: props.depsDebounceTime,\n\tdisabled: toRef(() => props.disabled),\n\temitter: (value) => emit('update:modelValue', value),\n\tenforceCoherence: toRef(() => props.enforceCoherence),\n\tid: props.id,\n\timmediate: true,\n\tinitialItems: toRef(() => props.items),\n\titemText: props.itemText,\n\titemValue: props.itemValue,\n\tmatchStrategy: props.matchStrategy,\n\tmodelValue: toRef(() => props.modelValue),\n\tmodelValueDebounceTime: props.modelValueDebounceTime,\n\tmultiple: true,\n});\n\n/**\n * When selecting an option split behavior based on single or multiple selection\n */\nconst onOptionSelected = (option: Option) => {\n\tlet valueToEmit;\n\tif (option.selected) {\n\t\tvalueToEmit = props.modelValue\n\t\t\t.slice(0, option.selectedIndex)\n\t\t\t.concat(props.modelValue.slice(option.selectedIndex + 1));\n\t} else {\n\t\tvalueToEmit = props.modelValue.concat(option.value);\n\t}\n\temit('update:modelValue', valueToEmit);\n};\n\nconst onChange = (event: Event, option: Option) => {\n\temit('change', event);\n\tonOptionSelected(option);\n};\n\nconst onFocus = (event: FocusEvent) => {\n\temit('focus', event);\n\tif (!active.value) {\n\t\tdocument.addEventListener('focusin', onDocumentFocus, { passive: true });\n\t\tdocument.addEventListener('click', onDocumentClick, { passive: true });\n\t\tactive.value = true;\n\t}\n};\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus,\n\tonInput: (event: Event) => emit('input', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n};\n\nconst onDocumentFocus = (event: FocusEvent) => {\n\tif (event.target instanceof HTMLElement) {\n\t\tif (!container.value?.contains(event.target)) {\n\t\t\temit('inactive');\n\t\t\tactive.value = false;\n\t\t\tdocument.removeEventListener('focusin', onDocumentFocus);\n\t\t\tdocument.removeEventListener('click', onDocumentClick);\n\t\t}\n\t}\n};\n\nconst onDocumentClick = (event: MouseEvent) => {\n\tif (event.target instanceof HTMLElement) {\n\t\tif (!container.value?.contains(event.target)) {\n\t\t\temit('inactive');\n\t\t\tactive.value = false;\n\t\t\tdocument.removeEventListener('focusin', onDocumentFocus);\n\t\t\tdocument.removeEventListener('click', onDocumentClick);\n\t\t}\n\t}\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n ref_key: \"container\",\n ref: container,\n class: _normalizeClass([\"bb-base-checkbox-group\", {\n\t\t\t'bb-base-checkbox-group--errors': _ctx.hasErrors,\n\t\t\t'bb-base-checkbox-group--horizontal': _ctx.direction === 'horizontal',\n\t\t\t'bb-base-checkbox-group--vertical': _ctx.direction === 'vertical',\n\t\t}])\n }, [\n _createElementVNode(\"span\", _hoisted_1, [\n _renderSlot(_ctx.$slots, \"prepend\"),\n (!_unref(options).length && _unref(loading))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_2, [\n _renderSlot(_ctx.$slots, 'loading', {}, () => [\n _createTextVNode(_toDisplayString(_ctx.loadingText), 1)\n ])\n ]))\n : (!_unref(options).length)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, [\n _renderSlot(_ctx.$slots, 'no-data', {}, () => [\n _createTextVNode(_toDisplayString(_ctx.noDataText), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(options), (option, index) => {\n return (_openBlock(), _createElementBlock(_Fragment, {\n key: option?.id || option.jsonValue\n }, [\n _renderSlot(_ctx.$slots, \"option:prepend\", {\n item: option.original\n }),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"bb-base-checkbox-group-option\", {\n\t\t\t\t\t\t'bb-base-checkbox-group-option__selected': option.selected,\n\t\t\t\t\t}])\n }, [\n _createVNode(BaseCheckbox, _mergeProps({\n id: option.id,\n autofocus: _ctx.autofocus && !index,\n checked: option.selected,\n color: _ctx.color,\n disabled: option.disabled,\n \"has-errors\": _ctx.hasErrors,\n name: _ctx.name,\n \"on-change\": (event) => onChange(event, option),\n readonly: _ctx.readonly,\n \"true-value\": option.value\n }, eventListeners), {\n icon: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"icon\", _mergeProps({\n item: option.original,\n text: option.text\n }, data))\n ]),\n _: 2\n }, 1040, [\"id\", \"autofocus\", \"checked\", \"color\", \"disabled\", \"has-errors\", \"name\", \"on-change\", \"readonly\", \"true-value\"]),\n _createElementVNode(\"span\", {\n class: _normalizeClass({\n\t\t\t\t\t\t\t'bb-base-checkbox-group-option__text': true,\n\t\t\t\t\t\t\t'bb-base-checkbox-group-option__text--hidden': _ctx.hideLabel,\n\t\t\t\t\t\t})\n }, [\n _renderSlot(_ctx.$slots, \"label\", {\n checked: option.selected,\n item: option.original,\n text: option.text\n }, () => [\n _createTextVNode(_toDisplayString(option.text), 1)\n ])\n ], 2)\n ], 2),\n _renderSlot(_ctx.$slots, \"option:append\", {\n item: option.original\n })\n ], 64))\n }), 128)),\n _renderSlot(_ctx.$slots, \"append\")\n ])\n ], 2))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","_defineComponent","__props","__emit","props","emit","container","ref","active","loading","options","useOptions","toRef","value","onOptionSelected","option","valueToEmit","onChange","event","eventListeners","onDocumentFocus","onDocumentClick","_a","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_unref","_createTextVNode","_toDisplayString","_createCommentVNode","_Fragment","_renderList","index","_createVNode","BaseCheckbox","_mergeProps","_withCtx","data"],"mappings":"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"}
1
+ {"version":3,"file":"index13.js","sources":["../src/components/BaseCheckboxGroup/BaseCheckboxGroup.vue"],"sourcesContent":["<template>\n\t<span\n\t\tref=\"container\"\n\t\tclass=\"bb-base-checkbox-group\"\n\t\t:class=\"{\n\t\t\t'bb-base-checkbox-group--errors': hasErrors,\n\t\t\t'bb-base-checkbox-group--horizontal': direction === 'horizontal',\n\t\t\t'bb-base-checkbox-group--vertical': direction === 'vertical',\n\t\t}\"\n\t>\n\t\t<span class=\"bb-base-checkbox-group__container\">\n\t\t\t<slot name=\"prepend\"></slot>\n\t\t\t<span\n\t\t\t\tv-if=\"!options.length && loading\"\n\t\t\t\tclass=\"bb-base-checkbox-group__loading-container\"\n\t\t\t>\n\t\t\t\t<slot :name=\"'loading'\">{{ loadingText }}</slot>\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tv-else-if=\"!options.length\"\n\t\t\t\tclass=\"bb-base-select__no-data-container\"\n\t\t\t>\n\t\t\t\t<slot :name=\"'no-data'\">{{ noDataText }}</slot>\n\t\t\t</span>\n\n\t\t\t<template\n\t\t\t\tv-for=\"(option, index) in options\"\n\t\t\t\t:key=\"option?.id || option.jsonValue\"\n\t\t\t>\n\t\t\t\t<slot :item=\"option.original\" name=\"option:prepend\"></slot>\n\t\t\t\t<label\n\t\t\t\t\tclass=\"bb-base-checkbox-group-option\"\n\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t'bb-base-checkbox-group-option__selected': option.selected,\n\t\t\t\t\t}\"\n\t\t\t\t>\n\t\t\t\t\t<BaseCheckbox\n\t\t\t\t\t\t:id=\"option.id\"\n\t\t\t\t\t\t:autofocus=\"autofocus && !index\"\n\t\t\t\t\t\t:checked=\"option.selected\"\n\t\t\t\t\t\t:color=\"color\"\n\t\t\t\t\t\t:disabled=\"option.disabled\"\n\t\t\t\t\t\t:has-errors=\"hasErrors\"\n\t\t\t\t\t\t:name=\"name\"\n\t\t\t\t\t\t:on-change=\"(event: Event) => onChange(event, option)\"\n\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t:true-value=\"option.value\"\n\t\t\t\t\t\tv-bind=\"eventListeners\"\n\t\t\t\t\t\t><template #icon=\"data\"\n\t\t\t\t\t\t\t><slot\n\t\t\t\t\t\t\t\t:item=\"option.original\"\n\t\t\t\t\t\t\t\tname=\"icon\"\n\t\t\t\t\t\t\t\t:text=\"option.text\"\n\t\t\t\t\t\t\t\tv-bind=\"data\" /></template\n\t\t\t\t\t></BaseCheckbox>\n\t\t\t\t\t<span\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'bb-base-checkbox-group-option__text': true,\n\t\t\t\t\t\t\t'bb-base-checkbox-group-option__text--hidden': hideLabel,\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\t><slot\n\t\t\t\t\t\t\t:checked=\"option.selected\"\n\t\t\t\t\t\t\t:item=\"option.original\"\n\t\t\t\t\t\t\tname=\"label\"\n\t\t\t\t\t\t\t:text=\"option.text\"\n\t\t\t\t\t\t\t>{{ option.text }}</slot\n\t\t\t\t\t\t></span\n\t\t\t\t\t>\n\t\t\t\t</label>\n\t\t\t\t<slot :item=\"option.original\" name=\"option:append\"></slot>\n\t\t\t</template>\n\t\t\t<slot name=\"append\"></slot>\n\t\t</span>\n\t</span>\n</template>\n\n<script setup lang=\"ts\" generic=\"T = any\">\nimport { ref, toRef } from 'vue';\nimport { useOptions } from '@/composables/useOptions';\nimport BaseCheckbox from '../BaseCheckbox/BaseCheckbox.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\nimport type { NestedKeyOf } from '@/types/NestedKeyOf';\nimport type { Option } from '@/composables/useOptions';\nimport type { SlotAttributes } from '../BaseCheckbox/BaseCheckbox.vue';\n\nexport type BaseCheckboxGroupProps<T> = {\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Define a color for the component.\n\t *\n\t * Either a custom color or a coded color in common HEX, RGB, etc... format.\n\t */\n\tcolor?: string;\n\n\t/**\n\t * Defines an array of dependencies that will trigger actions in the component upon change.\n\t */\n\tdependencies?: any[];\n\n\t/**\n\t * Timeout used to debounce response to changes to dependencies.\n\t */\n\tdepsDebounceTime?: number;\n\n\t/**\n\t * Direction of the layout of the inputs inside the fieldset. It can be either `horizontal` or `vertical`\n\t */\n\tdirection?: 'horizontal' | 'vertical';\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * If coherence is enforce the input cannot have a modelValue the is incoherent with its current items.\n\t *\n\t * e.g. You cannot set v-model to a user that is not present in the items passed.\n\t *\n\t * modelValue will be reset upon incoherence.\n\t */\n\tenforceCoherence?: boolean;\n\n\t/**\n\t * Define if the component should be in an error state.\n\t * It usually attaches a CSS class for styling purposes.\n\t */\n\thasErrors?: boolean;\n\n\t/**\n\t * Visually hides the label of the input while maintaining accessibility.\n\t */\n\thideLabel?: boolean;\n\n\t/**\n\t * The identifier of the component.\n\t */\n\tid?: HTMLAttributes['id'];\n\n\t/**\n\t * Used to retrieve items can be an array or a function.\n\t */\n\titems:\n\t\t| T[]\n\t\t| ((prefill: boolean, modelValue?: any[]) => Promise<T[]>)\n\t\t| ((prefill: boolean, modelValue?: any[]) => T[]);\n\n\t/**\n\t * Defines a path that returns a property of the object to use as text or a function that returns a string\n\t */\n\titemText?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => string) | undefined;\n\n\t/**\n\t * Defines a path that returns a property of the object to use as value or a function that returns any value\n\t */\n\titemValue?: T extends object\n\t\t? NestedKeyOf<T> | ((item: T) => string)\n\t\t: ((item: T) => any) | undefined;\n\n\t/**\n\t * String displayed while items are being loaded.\n\t */\n\tloadingText?: string;\n\n\t/**\n\t * Defines the strategy used to understand whether an option has been selected.\n\t * `string` is 40% faster but relies on property order.\n\t * `equality` is more reliable but is slower.\n\t */\n\tmatchStrategy?: 'string' | 'equality';\n\n\t/**\n\t * Used by v-model. Can be an array of any serializable type.\n\t */\n\tmodelValue: any[];\n\n\t/**\n\t * Timeout used to debounce response to changes to modelValue.\n\t */\n\tmodelValueDebounceTime?: number;\n\n\t/**\n\t * Defines the name of the input.\n\t */\n\tname?: InputHTMLAttributes['name'];\n\n\t/**\n\t * String displayed when there are no items to display.\n\t */\n\tnoDataText?: string;\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n};\n\nexport type BaseCheckboxGroupEvents = {\n\t(e: 'blur', event: FocusEvent): void;\n\n\t(e: 'change', event: Event): void;\n\n\t(e: 'click', event: MouseEvent): void;\n\n\t(e: 'focus', event: FocusEvent): void;\n\n\t(e: 'inactive'): void;\n\n\t(e: 'input', event: Event): void;\n\n\t(e: 'keydown', event: KeyboardEvent): void;\n\n\t(e: 'mousedown', event: MouseEvent): void;\n\n\t(e: 'mouseup', event: MouseEvent): void;\n\n\t(e: 'update:modelValue', value: any): void;\n};\n\nconst props = withDefaults(defineProps<BaseCheckboxGroupProps<T>>(), {\n\tdepsDebounceTime: 0,\n\tdirection: 'horizontal',\n\titems: () => [],\n\tloadingText: 'Caricamento...',\n\tmatchStrategy: 'string',\n\tmodelValueDebounceTime: 0,\n\tnoDataText: 'Nessun elemento da visualizzare',\n});\n\nconst emit = defineEmits<BaseCheckboxGroupEvents>();\n\ndefineSlots<{\n\tprepend?: (props: {}) => any;\n\tloading?: (props: {}) => any;\n\t'no-data'?: (props: {}) => any;\n\t'option:prepend'?: (props: { item: T }) => any;\n\ticon?: (\n\t\tprops: SlotAttributes & {\n\t\t\titem: T;\n\t\t\ttext: string;\n\t\t}\n\t) => any;\n\tlabel?: (props: { item: T; text: string; checked: boolean }) => any;\n\t'option:append'?: (props: { item: T }) => any;\n\tappend?: (props: {}) => any;\n}>();\n\nconst container = ref<HTMLElement>();\nconst active = ref(false);\n\nconst { loading, options } = useOptions({\n\tdependencies: toRef(() => props.dependencies),\n\tdepsDebounceTime: props.depsDebounceTime,\n\tdisabled: toRef(() => props.disabled),\n\temitter: (value) => emit('update:modelValue', value),\n\tenforceCoherence: toRef(() => props.enforceCoherence),\n\tid: props.id,\n\timmediate: true,\n\tinitialItems: toRef(() => props.items),\n\titemText: props.itemText,\n\titemValue: props.itemValue,\n\tmatchStrategy: props.matchStrategy,\n\tmodelValue: toRef(() => props.modelValue),\n\tmodelValueDebounceTime: props.modelValueDebounceTime,\n\tmultiple: true,\n});\n\n/**\n * When selecting an option split behavior based on single or multiple selection\n */\nconst onOptionSelected = (option: Option) => {\n\tlet valueToEmit;\n\tif (option.selected) {\n\t\tvalueToEmit = props.modelValue\n\t\t\t.slice(0, option.selectedIndex)\n\t\t\t.concat(props.modelValue.slice(option.selectedIndex + 1));\n\t} else {\n\t\tvalueToEmit = props.modelValue.concat(option.value);\n\t}\n\temit('update:modelValue', valueToEmit);\n};\n\nconst onChange = (event: Event, option: Option) => {\n\temit('change', event);\n\tonOptionSelected(option);\n};\n\nconst onFocus = (event: FocusEvent) => {\n\temit('focus', event);\n\tif (!active.value) {\n\t\tdocument.addEventListener('focusin', onDocumentFocus, { passive: true });\n\t\tdocument.addEventListener('click', onDocumentClick, { passive: true });\n\t\tactive.value = true;\n\t}\n};\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus,\n\tonInput: (event: Event) => emit('input', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonMousedown: (event: MouseEvent) => emit('mousedown', event),\n\tonMouseup: (event: MouseEvent) => emit('mouseup', event),\n};\n\nconst onDocumentFocus = (event: FocusEvent) => {\n\tif (event.target instanceof HTMLElement) {\n\t\tif (!container.value?.contains(event.target)) {\n\t\t\temit('inactive');\n\t\t\tactive.value = false;\n\t\t\tdocument.removeEventListener('focusin', onDocumentFocus);\n\t\t\tdocument.removeEventListener('click', onDocumentClick);\n\t\t}\n\t}\n};\n\nconst onDocumentClick = (event: MouseEvent) => {\n\tif (event.target instanceof HTMLElement) {\n\t\tif (!container.value?.contains(event.target)) {\n\t\t\temit('inactive');\n\t\t\tactive.value = false;\n\t\t\tdocument.removeEventListener('focusin', onDocumentFocus);\n\t\t\tdocument.removeEventListener('click', onDocumentClick);\n\t\t}\n\t}\n};\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BaseCheckboxGroup';\n</style>\n"],"names":["props","__props","emit","__emit","container","ref","active","loading","options","useOptions","toRef","value","onOptionSelected","option","valueToEmit","onChange","event","eventListeners","onDocumentFocus","onDocumentClick","_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiOA,UAAMA,IAAQC,GAURC,IAAOC,GAkBPC,IAAYC,KACZC,IAASD,EAAI,EAAK,GAElB,EAAE,SAAAE,GAAS,SAAAC,EAAQ,IAAIC,EAAW;AAAA,MACvC,cAAcC,EAAM,MAAMV,EAAM,YAAY;AAAA,MAC5C,kBAAkBA,EAAM;AAAA,MACxB,UAAUU,EAAM,MAAMV,EAAM,QAAQ;AAAA,MACpC,SAAS,CAACW,MAAUT,EAAK,qBAAqBS,CAAK;AAAA,MACnD,kBAAkBD,EAAM,MAAMV,EAAM,gBAAgB;AAAA,MACpD,IAAIA,EAAM;AAAA,MACV,WAAW;AAAA,MACX,cAAcU,EAAM,MAAMV,EAAM,KAAK;AAAA,MACrC,UAAUA,EAAM;AAAA,MAChB,WAAWA,EAAM;AAAA,MACjB,eAAeA,EAAM;AAAA,MACrB,YAAYU,EAAM,MAAMV,EAAM,UAAU;AAAA,MACxC,wBAAwBA,EAAM;AAAA,MAC9B,UAAU;AAAA,IAAA,CACV,GAKKY,IAAmB,CAACC,MAAmB;AACxC,UAAAC;AACJ,MAAID,EAAO,WACVC,IAAcd,EAAM,WAClB,MAAM,GAAGa,EAAO,aAAa,EAC7B,OAAOb,EAAM,WAAW,MAAMa,EAAO,gBAAgB,CAAC,CAAC,IAEzDC,IAAcd,EAAM,WAAW,OAAOa,EAAO,KAAK,GAEnDX,EAAK,qBAAqBY,CAAW;AAAA,IAAA,GAGhCC,IAAW,CAACC,GAAcH,MAAmB;AAClD,MAAAX,EAAK,UAAUc,CAAK,GACpBJ,EAAiBC,CAAM;AAAA,IAAA,GAYlBI,IAAiB;AAAA,MACtB,QAAQ,CAACD,MAAsBd,EAAK,QAAQc,CAAK;AAAA,MACjD,SAAS,CAACA,MAAsBd,EAAK,SAASc,CAAK;AAAA,MACnD,SAZe,CAACA,MAAsB;AACtC,QAAAd,EAAK,SAASc,CAAK,GACdV,EAAO,UACX,SAAS,iBAAiB,WAAWY,GAAiB,EAAE,SAAS,IAAM,GACvE,SAAS,iBAAiB,SAASC,GAAiB,EAAE,SAAS,IAAM,GACrEb,EAAO,QAAQ;AAAA,MAChB;AAAA,MAOA,SAAS,CAACU,MAAiBd,EAAK,SAASc,CAAK;AAAA,MAC9C,WAAW,CAACA,MAAyBd,EAAK,WAAWc,CAAK;AAAA,MAC1D,aAAa,CAACA,MAAsBd,EAAK,aAAac,CAAK;AAAA,MAC3D,WAAW,CAACA,MAAsBd,EAAK,WAAWc,CAAK;AAAA,IAAA,GAGlDE,IAAkB,CAACF,MAAsB;;AAC1C,MAAAA,EAAM,kBAAkB,iBACtBI,IAAAhB,EAAU,UAAV,QAAAgB,EAAiB,SAASJ,EAAM,YACpCd,EAAK,UAAU,GACfI,EAAO,QAAQ,IACN,SAAA,oBAAoB,WAAWY,CAAe,GAC9C,SAAA,oBAAoB,SAASC,CAAe;AAAA,IAEvD,GAGKA,IAAkB,CAACH,MAAsB;;AAC1C,MAAAA,EAAM,kBAAkB,iBACtBI,IAAAhB,EAAU,UAAV,QAAAgB,EAAiB,SAASJ,EAAM,YACpCd,EAAK,UAAU,GACfI,EAAO,QAAQ,IACN,SAAA,oBAAoB,WAAWY,CAAe,GAC9C,SAAA,oBAAoB,SAASC,CAAe;AAAA,IAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/index131.js CHANGED
@@ -1,5 +1,5 @@
1
- import { toValue as B } from "./index221.js";
2
- import { tryOnScopeDispose as E } from "./index221.js";
1
+ import { toValue as B } from "./index196.js";
2
+ import { tryOnScopeDispose as E } from "./index196.js";
3
3
  import { ref as c, computed as t } from "vue";
4
4
  function h(a) {
5
5
  var l;
package/dist/index14.js CHANGED
@@ -1,5 +1,2 @@
1
- const e = "";
2
- export {
3
- e as default
4
- };
1
+
5
2
  //# sourceMappingURL=index14.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index14.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index14.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/index15.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { defineComponent as ce, ref as k, computed as y, watch as be, openBlock as r, createElementBlock as d, mergeProps as me, createElementVNode as i, createTextVNode as fe, toDisplayString as f, unref as p, withDirectives as R, createVNode as g, Transition as V, withCtx as w, vShow as W, createCommentVNode as C, normalizeClass as M, Fragment as O, renderList as S, renderSlot as $, nextTick as pe } from "vue";
2
- import u from "./index204.js";
3
- import he from "./index205.js";
4
- import ye from "./index206.js";
5
- import _e from "./index207.js";
6
- import ve from "./index208.js";
7
- import ke from "./index209.js";
8
- import { groupBy as F } from "./index210.js";
2
+ import u from "./index205.js";
3
+ import he from "./index206.js";
4
+ import ye from "./index207.js";
5
+ import _e from "./index208.js";
6
+ import ve from "./index209.js";
7
+ import ke from "./index210.js";
8
+ import { groupBy as F } from "./index211.js";
9
9
  import { isNil as ge } from "./index120.js";
10
- import { last as P } from "./index211.js";
10
+ import { last as P } from "./index212.js";
11
11
  const Ve = { class: "bb-base-date-picker__header" }, we = ["disabled"], Oe = /* @__PURE__ */ i("span", null, null, -1), Se = {
12
12
  "aria-live": "polite",
13
13
  class: "bb-base-date-picker__selected-day-label"