bitboss-ui 0.2.31 → 0.2.32

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 (326) hide show
  1. package/dist/components/BaseButton/BaseButton.vue.d.ts +6 -6
  2. package/dist/components/BaseCheckbox/BaseCheckbox.vue.d.ts +16 -16
  3. package/dist/components/BaseCheckboxGroup/BaseCheckboxGroup.vue.d.ts +36 -36
  4. package/dist/components/BaseDatePicker/BaseDatePicker.vue.d.ts +20 -20
  5. package/dist/components/BaseDatePickerInput/BaseDatePickerInput.vue.d.ts +21 -21
  6. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +8 -8
  7. package/dist/components/BaseInputContainer/BaseInputContainer.vue.d.ts +6 -6
  8. package/dist/components/BaseNumberInput/BaseNumberInput.vue.d.ts +20 -20
  9. package/dist/components/BaseRadio/BaseRadio.vue.d.ts +20 -20
  10. package/dist/components/BaseRadioGroup/BaseRadioGroup.vue.d.ts +36 -36
  11. package/dist/components/BaseRating/BaseRating.vue.d.ts +17 -17
  12. package/dist/components/BaseSelect/BaseSelect.vue.d.ts +23 -23
  13. package/dist/components/BaseSlider/BaseSlider.vue.d.ts +15 -15
  14. package/dist/components/BaseSwitch/BaseSwitch.vue.d.ts +1 -1
  15. package/dist/components/BaseSwitchGroup/BaseSwitchGroup.vue.d.ts +20 -20
  16. package/dist/components/BaseTag/BaseTag.vue.d.ts +20 -20
  17. package/dist/components/BaseTextInput/BaseTextInput.vue.d.ts +19 -19
  18. package/dist/components/BaseTextarea/BaseTextarea.vue.d.ts +18 -18
  19. package/dist/components/BbAccordion/BbAccordion.vue.d.ts +3 -3
  20. package/dist/components/BbAlert/BbAlert.vue.d.ts +3 -3
  21. package/dist/components/BbAvatar/BbAvatar.vue.d.ts +8 -8
  22. package/dist/components/BbBadge/BbBadge.vue.d.ts +1 -1
  23. package/dist/components/BbBreadcrumbs/BbBreadcrumbs.vue.d.ts +6 -6
  24. package/dist/components/BbButton/BbButton.vue.d.ts +1 -1
  25. package/dist/components/BbCheckbox/BbCheckbox.vue.d.ts +11 -11
  26. package/dist/components/BbCheckboxGroup/BbCheckboxGroup.vue.d.ts +27 -27
  27. package/dist/components/BbChip/BbChip.vue.d.ts +2 -2
  28. package/dist/components/BbConfirm/BbConfirm.vue.d.ts +4 -4
  29. package/dist/components/BbDatePickerInput/BbDatePickerInput.vue.d.ts +16 -24
  30. package/dist/components/BbDialog/BbDialog.vue.d.ts +2 -2
  31. package/dist/components/BbDropdown/BbDropdown.vue.d.ts +11 -11
  32. package/dist/components/BbDropdownButton/BbDropdownButton.vue.d.ts +14 -14
  33. package/dist/components/BbDropzone/BbDropzone.vue.d.ts +4 -4
  34. package/dist/components/BbIntersection/BbIntersection.vue.d.ts +3 -3
  35. package/dist/components/BbNumberInput/BbNumberInput.vue.d.ts +10 -10
  36. package/dist/components/BbOffCanvas/BbOffCanvas.vue.d.ts +9 -9
  37. package/dist/components/BbPagination/BbPagination.vue.d.ts +1 -1
  38. package/dist/components/BbPopover/BbPopover.vue.d.ts +8 -8
  39. package/dist/components/BbRadio/BbRadio.vue.d.ts +10 -10
  40. package/dist/components/BbRadioGroup/BbRadioGroup.vue.d.ts +27 -27
  41. package/dist/components/BbRating/BbRating.vue.d.ts +10 -10
  42. package/dist/components/BbSelect/BbSelect.vue.d.ts +19 -19
  43. package/dist/components/BbSlider/BbSlider.vue.d.ts +8 -8
  44. package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +1 -1
  45. package/dist/components/BbSpinner/BbSpinner.vue.d.ts +2 -2
  46. package/dist/components/BbSwitch/BbSwitch.vue.d.ts +2 -2
  47. package/dist/components/BbSwitchGroup/BbSwitchGroup.vue.d.ts +20 -20
  48. package/dist/components/BbTab/BbTab.vue.d.ts +5 -5
  49. package/dist/components/BbTable/BbTable.vue.d.ts +11 -11
  50. package/dist/components/BbTable/types.d.ts +107 -107
  51. package/dist/components/BbTag/BbTag.vue.d.ts +13 -13
  52. package/dist/components/BbTextInput/BbTextInput.vue.d.ts +11 -11
  53. package/dist/components/BbTextarea/BbTextarea.vue.d.ts +10 -10
  54. package/dist/components/BbToast/BbToast.vue.d.ts +1 -1
  55. package/dist/components/BbToast/BbToastMessage.vue.d.ts +1 -1
  56. package/dist/components/BbTooltip/BbTooltip.vue.d.ts +3 -3
  57. package/dist/components/BbTree/BbTree.vue.d.ts +1 -1
  58. package/dist/composables/useConfirm.d.ts +10 -10
  59. package/dist/composables/useOptions.d.ts +2 -2
  60. package/dist/composables/useRoute.d.ts +2 -2
  61. package/dist/composables/useRouter.d.ts +1 -1
  62. package/dist/composables/useToast.d.ts +5 -5
  63. package/dist/composables/useWizard.d.ts +1 -1
  64. package/dist/index.d.ts +126 -126
  65. package/dist/index101.js +32 -37
  66. package/dist/index101.js.map +1 -1
  67. package/dist/index103.js +19 -19
  68. package/dist/index103.js.map +1 -1
  69. package/dist/index105.js +16 -16
  70. package/dist/index105.js.map +1 -1
  71. package/dist/index107.js +15 -15
  72. package/dist/index107.js.map +1 -1
  73. package/dist/index109.js.map +1 -1
  74. package/dist/index11.js +7 -7
  75. package/dist/index11.js.map +1 -1
  76. package/dist/index111.js +16 -16
  77. package/dist/index111.js.map +1 -1
  78. package/dist/index113.js +3 -3
  79. package/dist/index113.js.map +1 -1
  80. package/dist/index115.js +6 -6
  81. package/dist/index115.js.map +1 -1
  82. package/dist/index116.js +1 -1
  83. package/dist/index116.js.map +1 -1
  84. package/dist/index117.js +1 -1
  85. package/dist/index117.js.map +1 -1
  86. package/dist/index118.js +4 -4
  87. package/dist/index118.js.map +1 -1
  88. package/dist/index119.js +5 -5
  89. package/dist/index119.js.map +1 -1
  90. package/dist/index120.js.map +1 -1
  91. package/dist/index121.js.map +1 -1
  92. package/dist/index122.js.map +1 -1
  93. package/dist/index124.js.map +1 -1
  94. package/dist/index125.js +4 -4
  95. package/dist/index125.js.map +1 -1
  96. package/dist/index126.js +1 -1
  97. package/dist/index126.js.map +1 -1
  98. package/dist/index127.js +1 -1
  99. package/dist/index128.js +4 -1
  100. package/dist/index128.js.map +1 -1
  101. package/dist/index129.js.map +1 -1
  102. package/dist/index13.js +11 -11
  103. package/dist/index13.js.map +1 -1
  104. package/dist/index130.js.map +1 -1
  105. package/dist/index131.js +2 -2
  106. package/dist/index15.js +226 -224
  107. package/dist/index15.js.map +1 -1
  108. package/dist/index17.js +61 -62
  109. package/dist/index17.js.map +1 -1
  110. package/dist/index19.js +22 -22
  111. package/dist/index19.js.map +1 -1
  112. package/dist/index196.js.map +1 -1
  113. package/dist/index197.js +2 -5
  114. package/dist/index197.js.map +1 -1
  115. package/dist/index198.js +4 -16
  116. package/dist/index198.js.map +1 -1
  117. package/dist/index199.js +293 -14
  118. package/dist/index199.js.map +1 -1
  119. package/dist/index2.js +23 -23
  120. package/dist/index2.js.map +1 -1
  121. package/dist/index200.js +15 -18
  122. package/dist/index200.js.map +1 -1
  123. package/dist/index201.js +13 -17
  124. package/dist/index201.js.map +1 -1
  125. package/dist/index202.js +18 -28
  126. package/dist/index202.js.map +1 -1
  127. package/dist/index203.js +20 -8
  128. package/dist/index203.js.map +1 -1
  129. package/dist/index204.js +29 -2
  130. package/dist/index204.js.map +1 -1
  131. package/dist/index205.js +8 -378
  132. package/dist/index205.js.map +1 -1
  133. package/dist/index206.js +2 -134
  134. package/dist/index206.js.map +1 -1
  135. package/dist/index207.js +235 -2
  136. package/dist/index207.js.map +1 -1
  137. package/dist/index208.js +3 -174
  138. package/dist/index208.js.map +1 -1
  139. package/dist/index209.js +35 -23
  140. package/dist/index209.js.map +1 -1
  141. package/dist/index21.js +4 -4
  142. package/dist/index21.js.map +1 -1
  143. package/dist/index210.js +6 -373
  144. package/dist/index210.js.map +1 -1
  145. package/dist/index211.js +10 -2
  146. package/dist/index211.js.map +1 -1
  147. package/dist/index212.js +378 -4
  148. package/dist/index212.js.map +1 -1
  149. package/dist/index213.js +134 -3
  150. package/dist/index213.js.map +1 -1
  151. package/dist/index214.js +2 -3
  152. package/dist/index214.js.map +1 -1
  153. package/dist/index215.js +172 -8
  154. package/dist/index215.js.map +1 -1
  155. package/dist/index216.js +23 -3
  156. package/dist/index216.js.map +1 -1
  157. package/dist/index217.js +369 -31
  158. package/dist/index217.js.map +1 -1
  159. package/dist/index218.js +3 -6
  160. package/dist/index218.js.map +1 -1
  161. package/dist/index219.js +3 -2
  162. package/dist/index219.js.map +1 -1
  163. package/dist/index220.js.map +1 -1
  164. package/dist/index221.js +26 -233
  165. package/dist/index221.js.map +1 -1
  166. package/dist/index222.js +16 -8
  167. package/dist/index222.js.map +1 -1
  168. package/dist/index223.js +2 -121
  169. package/dist/index223.js.map +1 -1
  170. package/dist/index224.js +8 -27
  171. package/dist/index224.js.map +1 -1
  172. package/dist/index225.js +120 -12
  173. package/dist/index225.js.map +1 -1
  174. package/dist/index226.js +1 -1
  175. package/dist/index227.js +4 -295
  176. package/dist/index227.js.map +1 -1
  177. package/dist/index228.js +2 -6
  178. package/dist/index228.js.map +1 -1
  179. package/dist/index229.js +6 -2
  180. package/dist/index229.js.map +1 -1
  181. package/dist/index23.js +14 -16
  182. package/dist/index23.js.map +1 -1
  183. package/dist/index230.js +2 -2
  184. package/dist/index235.js +2 -2
  185. package/dist/index236.js +428 -110
  186. package/dist/index236.js.map +1 -1
  187. package/dist/index237.js +88 -105
  188. package/dist/index237.js.map +1 -1
  189. package/dist/index238.js +199 -3
  190. package/dist/index238.js.map +1 -1
  191. package/dist/index239.js +1 -1
  192. package/dist/index240.js +1 -1
  193. package/dist/index241.js +2 -435
  194. package/dist/index241.js.map +1 -1
  195. package/dist/index242.js +115 -87
  196. package/dist/index242.js.map +1 -1
  197. package/dist/index243.js +104 -198
  198. package/dist/index243.js.map +1 -1
  199. package/dist/index244.js +160 -2
  200. package/dist/index244.js.map +1 -1
  201. package/dist/index245.js +2 -2
  202. package/dist/index245.js.map +1 -1
  203. package/dist/index246.js +9 -9
  204. package/dist/index246.js.map +1 -1
  205. package/dist/index247.js +5 -162
  206. package/dist/index247.js.map +1 -1
  207. package/dist/index248.js +1 -1
  208. package/dist/index249.js +37 -14
  209. package/dist/index249.js.map +1 -1
  210. package/dist/index25.js +4 -4
  211. package/dist/index25.js.map +1 -1
  212. package/dist/index250.js +2 -38
  213. package/dist/index250.js.map +1 -1
  214. package/dist/index251.js +2 -2
  215. package/dist/index251.js.map +1 -1
  216. package/dist/index252.js +15 -2
  217. package/dist/index252.js.map +1 -1
  218. package/dist/index253.js +3 -2
  219. package/dist/index253.js.map +1 -1
  220. package/dist/index255.js +2 -3
  221. package/dist/index255.js.map +1 -1
  222. package/dist/index27.js +7 -7
  223. package/dist/index27.js.map +1 -1
  224. package/dist/index29.js +15 -15
  225. package/dist/index29.js.map +1 -1
  226. package/dist/index3.js +2 -1
  227. package/dist/index3.js.map +1 -1
  228. package/dist/index31.js +28 -28
  229. package/dist/index31.js.map +1 -1
  230. package/dist/index33.js +10 -11
  231. package/dist/index33.js.map +1 -1
  232. package/dist/index35.js +2 -2
  233. package/dist/index35.js.map +1 -1
  234. package/dist/index37.js +12 -12
  235. package/dist/index37.js.map +1 -1
  236. package/dist/index39.js +5 -7
  237. package/dist/index39.js.map +1 -1
  238. package/dist/index4.js.map +1 -1
  239. package/dist/index41.js +5 -5
  240. package/dist/index41.js.map +1 -1
  241. package/dist/index43.js +19 -16
  242. package/dist/index43.js.map +1 -1
  243. package/dist/index45.js +9 -9
  244. package/dist/index45.js.map +1 -1
  245. package/dist/index47.js +4 -4
  246. package/dist/index47.js.map +1 -1
  247. package/dist/index49.js +1 -1
  248. package/dist/index49.js.map +1 -1
  249. package/dist/index5.js +7 -6
  250. package/dist/index5.js.map +1 -1
  251. package/dist/index51.js +6 -6
  252. package/dist/index51.js.map +1 -1
  253. package/dist/index53.js.map +1 -1
  254. package/dist/index55.js +20 -20
  255. package/dist/index55.js.map +1 -1
  256. package/dist/index57.js +35 -35
  257. package/dist/index57.js.map +1 -1
  258. package/dist/index59.js +8 -8
  259. package/dist/index59.js.map +1 -1
  260. package/dist/index6.js +38 -38
  261. package/dist/index6.js.map +1 -1
  262. package/dist/index61.js +27 -27
  263. package/dist/index61.js.map +1 -1
  264. package/dist/index63.js +4 -4
  265. package/dist/index63.js.map +1 -1
  266. package/dist/index65.js +20 -20
  267. package/dist/index65.js.map +1 -1
  268. package/dist/index67.js +26 -26
  269. package/dist/index67.js.map +1 -1
  270. package/dist/index69.js +21 -19
  271. package/dist/index69.js.map +1 -1
  272. package/dist/index7.js.map +1 -1
  273. package/dist/index71.js +2 -2
  274. package/dist/index71.js.map +1 -1
  275. package/dist/index72.js +3 -3
  276. package/dist/index72.js.map +1 -1
  277. package/dist/index73.js +14 -14
  278. package/dist/index73.js.map +1 -1
  279. package/dist/index75.js +18 -18
  280. package/dist/index75.js.map +1 -1
  281. package/dist/index77.js +11 -11
  282. package/dist/index77.js.map +1 -1
  283. package/dist/index79.js +15 -15
  284. package/dist/index79.js.map +1 -1
  285. package/dist/index8.js +10 -7
  286. package/dist/index8.js.map +1 -1
  287. package/dist/index81.js.map +1 -1
  288. package/dist/index83.js +20 -20
  289. package/dist/index83.js.map +1 -1
  290. package/dist/index85.js +34 -34
  291. package/dist/index85.js.map +1 -1
  292. package/dist/index87.js +18 -18
  293. package/dist/index87.js.map +1 -1
  294. package/dist/index89.js.map +1 -1
  295. package/dist/index9.js.map +1 -1
  296. package/dist/index91.js +53 -53
  297. package/dist/index91.js.map +1 -1
  298. package/dist/index93.js +16 -16
  299. package/dist/index93.js.map +1 -1
  300. package/dist/index95.js +21 -21
  301. package/dist/index95.js.map +1 -1
  302. package/dist/index97.js +37 -37
  303. package/dist/index97.js.map +1 -1
  304. package/dist/index99.js +18 -18
  305. package/dist/index99.js.map +1 -1
  306. package/dist/style.css +1 -1
  307. package/dist/types/CommonProps.d.ts +18 -18
  308. package/dist/types/ExtractGenericFromComputedRef.d.ts +1 -1
  309. package/dist/types/ExtractGenericFromRef.d.ts +1 -1
  310. package/dist/types/VoidHtmlElements.d.ts +1 -1
  311. package/dist/utilities/functions/cloneDeep.d.ts +1 -1
  312. package/dist/utilities/functions/debounce.d.ts +1 -1
  313. package/dist/utilities/functions/flow.d.ts +1 -1
  314. package/dist/utilities/functions/get.d.ts +1 -1
  315. package/dist/utilities/functions/isNotNil.d.ts +1 -1
  316. package/dist/utilities/functions/mapValues.d.ts +1 -1
  317. package/dist/utilities/functions/merge.d.ts +1 -1
  318. package/dist/utilities/functions/millisecondsTo.d.ts +1 -1
  319. package/dist/utilities/functions/overEvery.d.ts +1 -1
  320. package/dist/utilities/functions/percentage.d.ts +4 -4
  321. package/dist/utilities/functions/pick.d.ts +1 -1
  322. package/dist/utilities/functions/pickBy.d.ts +1 -1
  323. package/dist/utilities/functions/roundToTheNearest.d.ts +1 -1
  324. package/package.json +93 -77
  325. package/dist/index256.js +0 -5
  326. package/dist/index256.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index101.js","sources":["../src/components/BbTable/BbTable.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, renderSlot as _renderSlot, createVNode as _createVNode, unref as _unref, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, createTextVNode as _createTextVNode, mergeProps as _mergeProps, resolveDynamicComponent as _resolveDynamicComponent, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"bb-table-header-row\" }\nconst _hoisted_3 = { class: \"bb-table-header__content\" }\nconst _hoisted_4 = { class: \"bb-table-check__label-text\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"bb-table-radio__label-text\"\n}\nconst _hoisted_6 = { class: \"bb-table-header__content\" }\nconst _hoisted_7 = { class: \"bb-table-header__content\" }\nconst _hoisted_8 = { class: \"bb-table-loading__row\" }\nconst _hoisted_9 = [\"colspan\"]\nconst _hoisted_10 = { class: \"bb-table-loading__text\" }\nconst _hoisted_11 = {\n class: \"bb-table-skeleton__container\",\n role: \"status\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__avatar-container\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__avatar\" })\n], -1)\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__text\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__line\" }),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__line\" })\n], -1)\nconst _hoisted_14 = [\n _hoisted_12,\n _hoisted_13\n]\nconst _hoisted_15 = { class: \"bb-table-no-data__row\" }\nconst _hoisted_16 = [\"colspan\"]\nconst _hoisted_17 = { class: \"bb-table-no-data__text\" }\nconst _hoisted_18 = [\"onClick\", \"onContextmenu\", \"onDblclick\"]\nconst _hoisted_19 = { class: \"bb-table-check__label-text\" }\nconst _hoisted_20 = { class: \"bb-table-radio__label-text\" }\n\nimport { add } from \"@/utilities/functions/add\";\nimport { clamp } from \"@/utilities/functions/clamp\";\nimport { deepEqual } from \"fast-equals\";\nimport { isNil } from \"@/utilities/functions/isNil\";\nimport { isNotNil } from \"@/utilities/functions/isNotNil\";\nimport { type Ref, computed, onMounted, ref, watch } from \"vue\";\nimport { useId } from \"@/composables/useId\";\nimport { useItemValue } from \"@/composables/useItemValue\";\nimport { when } from \"@/utilities/functions/when\";\nimport BaseCheckbox from \"../BaseCheckbox/BaseCheckbox.vue\";\nimport BaseRadio from \"../BaseRadio/BaseRadio.vue\";\nimport type { BbTableProps, MappedCell, MappedHeader, MappedItem, TableColumn, BbTableEvents, BbTableSlots } from \"./types\"\nimport type { Classes } from \"@/types/Classes\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTable',\n props: {\n accessibleLabel: { type: Function, default: (columns: MappedCell[]) =>\n [\"Seleziona\"].concat(columns.map((col) => col.content)).join(\" \") },\n actions: { type: Boolean },\n actionsText: { default: \"Azioni\" },\n align: { default: \"left\" },\n allowSelectAll: { type: Boolean, default: true },\n caption: {},\n columns: { default: () => [] },\n compact: { type: Boolean },\n dependencies: { default: () => [] },\n depsDebounceTime: { default: 0 },\n disabled: { type: Boolean },\n displayCaption: { type: Boolean },\n fixed: { type: Boolean },\n fixedColumns: { default: () => [] },\n fixedHeader: { type: Boolean },\n items: { type: [Array, Function], default: () => [] },\n itemValue: {},\n legend: {},\n loading: { type: Boolean },\n loadingText: { default: \"Caricamento\" },\n matchStrategy: { default: \"string\" },\n modelValue: {},\n multiple: { type: Boolean, default: true },\n name: {},\n noDataText: { default: \"Non ci sono elementi da visualizzare\" },\n readonly: {},\n selectable: { type: [Boolean, Function] },\n selectAll: { type: Boolean },\n selectAllText: { default: \"Seleziona tutti gli elementi di questa pagina\" },\n selectText: { default: \"Seleziona un elemento\" },\n tdClass: {},\n thClass: {}\n },\n emits: [\"click:row\", \"contextmenu:row\", \"dblclick:row\", \"update:modelValue\", \"update:selectAll\"],\n setup(__props: any, { emit: __emit }) {\n\nconst { getItemValue } = useItemValue();\n\n/**\n * We do not allow the use of the checkbox or radio themselves as\n * they would not be submitted if the user has changed\n * page in the meantime, rather we provide a temporary\n * name so radio still work but we later add hidden inputs for submission\n */\nconst randomName = useId().id.value;\n\nconst props = __props;\n\nconst emit = __emit;\n\n\n\nconst container = ref<HTMLElement>();\n\nconst accessibleLabel = props.accessibleLabel;\nconst loadingText = props.loadingText;\nconst noDataText = props.noDataText;\nconst selectAllText = props.selectAllText;\nconst selectText = props.selectText;\n\n// We render the table in a fieldset to group checkbox / radios if the table is selectable\nconst containerTag = computed(() => (props.selectable ? \"fieldset\" : \"div\"));\nconst internalLoading = ref(false);\nconst loading = computed(() => props.loading || internalLoading.value);\n\nconst replacementContentSpan = computed(() => {\n return [!!props.selectable, !!props.actions].reduce(\n (acc: number, current) => acc + Number(!!current),\n props.columns.length\n );\n});\n\n/**\n * Indexes modelValue to a map so when can easily know which values are selected\n * (using JSON to circumvent identical object not being equal in JS)\n */\nconst modelValueIndexed = computed(() => {\n if (props.matchStrategy === \"string\") {\n let map: { [key: string]: number } = {};\n [].concat(props.modelValue).forEach((value: any, index: number) => {\n map[JSON.stringify(value)] = index;\n });\n return {\n get: (value: any) => map[JSON.stringify(value)],\n };\n } else if (props.matchStrategy === \"equality\") {\n const map = []\n .concat(props.modelValue)\n .map((value, index) => [value, index]);\n\n return {\n get: (key: any) => {\n return map.find((pairs) => deepEqual(pairs[0], key))?.[1];\n },\n };\n } else {\n throw new Error(\"No match strategy has been defined\");\n }\n});\n\n/**\n * Map column identifiers to slot names\n */\nconst slotNames = computed(() =>\n props.columns.reduce(\n (\n acc: { [key: string]: string },\n curr: TableColumn\n ) => {\n const mapped = curr.key.split(/\\W+/g).join(\"_\");\n acc[curr.key] = mapped;\n return acc;\n },\n {}\n )\n);\n\n/**\n * Items as loaded from the function or from the outside\n */\nconst internalItems = ref<any[]>([]);\n\nconst getItems = async () => {\n let items: any[] = [];\n if (Array.isArray(props.items)) {\n items = props.items;\n } else {\n if (typeof props.items === \"function\") {\n internalLoading.value = true;\n items = await props.items(true);\n internalLoading.value = false;\n }\n }\n internalItems.value = items;\n};\n\nonMounted(getItems);\n\n/**\n * When item changes update internal items and\n * deselect everything\n */\nwatch(\n () => props.items,\n async () => {\n await getItems();\n if (props.multiple) {\n emit(\"update:modelValue\", []);\n } else {\n emit(\"update:modelValue\", null);\n }\n }\n);\n/* Prevent vue from sharing this function across instances */\nlet timeout: ReturnType<typeof setTimeout>;\nconst onDependencyChange = async (curr: any[], previous?: any[]) => {\n if (JSON.stringify(curr) !== JSON.stringify(previous)) {\n if (timeout) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(async () => {\n await getItems();\n if (props.multiple) {\n emit(\"update:modelValue\", []);\n } else {\n emit(\"update:modelValue\", null);\n }\n }, props.depsDebounceTime);\n }\n};\nwatch(() => props.dependencies, onDependencyChange);\n\n/**\n * Take the columns and generate a simplified array for headers display\n */\nconst mappedHeaders = computed(() =>\n props.columns.map(\n (\n column: TableColumn\n ): MappedHeader => {\n const align = column.align || \"left\";\n const { label, key } = column;\n const slotName = `header_${slotNames.value[column.key]}`;\n // Create a single merged array of all the passed classes\n let classes: Classes = [`bb-table-header--${align}`];\n if (props.thClass) {\n classes = classes.concat(props.thClass);\n }\n if (column.thClass) {\n classes = classes.concat(column.thClass);\n }\n return {\n align,\n key,\n label,\n slotName,\n classes,\n };\n }\n )\n);\n\n/**\n * Map items to an an array that represents the entire row.\n * Track every logic here so we don't have inline callbacks in the template.\n */\nconst mappedItems = computed<MappedItem[]>(() => {\n return internalItems.value.map((item: any) => {\n // By default the value if the item is the item.\n const value = getItemValue(item, props.itemValue);\n const jsonValue = JSON.stringify(value);\n\n /**\n * Item is selectable only if the table allows or item\n * passes iteratee and the selection is not disabled\n */\n let selectable = !!props.selectable;\n if (typeof props.selectable === \"function\") {\n selectable = !!props.selectable(item);\n }\n selectable = selectable && !props.disabled;\n\n //Track the index at which the item has been selected for easy of removal\n const selectedIndex = modelValueIndexed.value.get(value);\n const selected = !isNil(selectedIndex);\n\n // Create a projection of the columns and run all formatter logic so\n // we just display content in the template\n const cols: MappedCell[] = props.columns.map((column) => {\n // Slot identifier\n const slotName = slotNames.value[column.key];\n const align = column.align || \"left\";\n const { label, key } = column;\n // The content\n let content = getItemValue(item, column.key);\n if (\n column.formatter &&\n // By default the formatter runs anyway\n (!isNil(content) || column.formatOnNull !== false)\n ) {\n content = column.formatter(content, column.key, item);\n }\n if (column.placeholder && isNil(content)) {\n content = column.placeholder;\n }\n\n // Merge global and specific classes\n let classes: Classes = [`bb-table-data__cell--${align}`];\n if (props.tdClass) {\n if (typeof props.tdClass === \"function\") {\n let temp = props.tdClass(content, column.key, item);\n if (temp) {\n classes = classes.concat(temp);\n }\n } else classes = classes.concat(props.tdClass);\n }\n if (column.tdClass) {\n if (typeof column.tdClass === \"function\") {\n let temp = column.tdClass(content, column.key, item);\n if (temp) {\n classes = classes.concat(temp);\n }\n } else classes = classes.concat(column.tdClass);\n }\n return {\n align,\n classes,\n content,\n key,\n label,\n slotName,\n };\n });\n\n const accessibleLabelText = accessibleLabel(cols, item);\n\n if (isNotNil(selectedIndex)) {\n return {\n accessibleLabel: accessibleLabelText,\n cols,\n jsonValue,\n original: item,\n selectable,\n selected: true,\n selectedIndex,\n value,\n onRowClick: (event: MouseEvent) =>\n emit(\"click:row\", event, item, selected),\n onRowContextMenu: (event: MouseEvent) =>\n emit(\"contextmenu:row\", event, item, selected),\n onRowDblClick: (event: MouseEvent) =>\n emit(\"dblclick:row\", event, item, selected),\n };\n }\n return {\n accessibleLabel: accessibleLabelText,\n cols,\n jsonValue,\n original: item,\n selectable,\n selected: false,\n selectedIndex,\n value,\n onRowClick: (event: MouseEvent) =>\n emit(\"click:row\", event, item, selected),\n onRowContextMenu: (event: MouseEvent) =>\n emit(\"contextmenu:row\", event, item, selected),\n onRowDblClick: (event: MouseEvent) =>\n emit(\"dblclick:row\", event, item, selected),\n };\n });\n});\n\n/**\n * Same behavior as GMail.\n * If anything is selected remove it.\n * Then when empty you select all items of this page\n */\nconst onChangeSelectAll = (value: boolean) => {\n let selectAllValue = value;\n let modelValue: any[] = [];\n\n if (selectAllValue) {\n modelValue = mappedItems.value.reduce((acc: any[], curr) => {\n if (curr.selectable) acc.push(curr.value);\n return acc;\n }, []);\n }\n emit(\"update:modelValue\", modelValue);\n emit(\"update:selectAll\", value);\n};\n\nconst allSelected = computed(\n () =>\n !!(\n mappedItems.value.length &&\n mappedItems.value.every((item) => item.selectable && item.selected)\n )\n);\nconst indeterminate = computed(\n () =>\n mappedItems.value.some((item) => !item.selected) &&\n !!props.modelValue?.length\n);\n/**\n * Whenever an input changes update modelValue if any\n */\nconst onInputChange = (item: MappedItem) => {\n let valueToEmit;\n if (props.multiple) {\n if (item.selected) {\n valueToEmit = props.modelValue\n .slice(0, item.selectedIndex)\n .concat(props.modelValue.slice([item.selectedIndex + 1]));\n } else {\n valueToEmit = props.modelValue.concat(item.value);\n }\n } else {\n valueToEmit = item.value;\n }\n emit(\"update:modelValue\", valueToEmit);\n};\n\n/**\n * When using this component for submission we add a bunch of hidden inputs\n * so the submitted inputs is on par with v-model\n */\n\n/**\n * This is used to keep the value compatible to common html expected values.\n * Convert to string everything that's not but do not double encode strings\n */\nconst makeInputValue = when(\n (item: unknown) => typeof item !== \"string\",\n JSON.stringify\n);\nconst hiddenInputs = computed(() => {\n return [].concat(props.modelValue).map((current) => {\n const value = makeInputValue(current);\n return {\n disabled: props.disabled,\n name: props.name,\n type: \"hidden\",\n value: value,\n };\n });\n});\n\nconst skeletonLength = computed(() => {\n return clamp(internalItems.value.length, 4, 10);\n});\n\nwatch(\n () => mappedItems.value,\n () => {\n if (props.fixedColumns.length && props.items) {\n if (container.value) {\n // Get all the headers\n const headers = Array.from(\n container.value.querySelectorAll<HTMLElement>(\"thead th\")\n );\n\n type MappedColumn = {\n index: number;\n position: \"left\" | \"right\";\n width: number;\n offset: number;\n };\n\n /**\n * For each of the columns to fix create an helper object\n */\n const mappedColumns = props.fixedColumns.reduce((acc, curr) => {\n const index = typeof curr === \"number\" ? curr : curr.index;\n const position = typeof curr === \"number\" ? \"left\" : curr.position;\n const clientRect = headers[index].getBoundingClientRect();\n const width = Math.floor(clientRect.width);\n const offset = acc\n .filter((el) => el.position === position)\n .map((el) => el.width)\n .reduce(add, 0);\n\n const mapped: MappedColumn = {\n index: index,\n position: position,\n width: width,\n offset: offset,\n };\n acc.push(mapped);\n return acc;\n }, [] as MappedColumn[]);\n\n const rows = Array.from(container.value?.querySelectorAll(\"tr\"));\n const affectedCells = rows.map((row) =>\n Array.from(\n row.querySelectorAll<HTMLElement>(\n mappedColumns\n .map((el) => `:scope > :nth-child(${el.index + 1})`)\n .join(\", \")\n )\n )\n );\n affectedCells.forEach((row) => {\n row.forEach((cell, index) => {\n cell.style.position = \"sticky\";\n\n if (mappedColumns[index].position === \"left\") {\n cell.style.left = `${mappedColumns[index].offset}px`;\n } else {\n cell.style.right = `${mappedColumns[index].offset}px`;\n }\n });\n });\n }\n }\n },\n {\n flush: \"post\",\n }\n);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_resolveDynamicComponent(containerTag.value), {\n class: _normalizeClass({\n 'bb-table': true,\n [`bb-table--align-${_ctx.align}`]: true,\n 'bb-table--compact': _ctx.compact,\n 'bb-table--fixed': _ctx.fixed,\n 'bb-table--fixed-header': _ctx.fixedHeader,\n 'bb-table--loading': loading.value,\n 'bb-table--empty': !internalItems.value.length,\n 'bb-table--selectable': _ctx.selectable,\n }),\n ref_key: \"container\",\n ref: container\n }, {\n default: _withCtx(() => [\n (_ctx.selectable)\n ? (_openBlock(), _createElementBlock(\"legend\", _hoisted_1, _toDisplayString(_ctx.legend), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"table\", null, [\n (_ctx.caption)\n ? (_openBlock(), _createElementBlock(\"caption\", {\n key: 0,\n class: _normalizeClass({\n 'bb-table-caption': true,\n 'bb-table-caption--hidden': !_ctx.displayCaption,\n })\n }, _toDisplayString(_ctx.caption), 3))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"thead\", null, [\n _renderSlot(_ctx.$slots, \"thead\", {}, () => [\n _createElementVNode(\"tr\", _hoisted_2, [\n (_ctx.selectable)\n ? (_openBlock(), _createElementBlock(\"th\", {\n key: 0,\n class: _normalizeClass([\"bb-table-header bb-table-header--select\", _ctx.thClass]),\n scope: \"col\"\n }, [\n _renderSlot(_ctx.$slots, 'header_select', {\n multiple: _ctx.multiple,\n selectAll: !!_ctx.selectAll\n }, () => [\n _createElementVNode(\"span\", _hoisted_3, [\n (_ctx.allowSelectAll && _ctx.multiple)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n class: _normalizeClass([\"bb-table-check__label\", {\n 'bb-table-check__label--disabled': _ctx.disabled,\n }])\n }, [\n _createVNode(BaseCheckbox, {\n class: \"bb-table-check\",\n disabled: _ctx.disabled,\n indeterminate: indeterminate.value,\n readonly: _ctx.readonly,\n name: `select_all_${_ctx.name || ''}`,\n \"model-value\": allSelected.value,\n \"onUpdate:modelValue\": onChangeSelectAll\n }, null, 8, [\"disabled\", \"indeterminate\", \"readonly\", \"name\", \"model-value\"]),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_unref(selectAllText)), 1)\n ], 2))\n : (!_ctx.multiple)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_5, _toDisplayString(_unref(selectText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 2))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(mappedHeaders.value, (header, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n key: header.key,\n class: _normalizeClass([\"bb-table-header\", header.classes]),\n scope: \"col\"\n }, [\n _renderSlot(_ctx.$slots, header.slotName, {\n classes: header.classes,\n items: internalItems.value,\n item: (undefined as unknown),\n label: header.label\n }, () => [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(header.label), 1)\n ])\n ], 2))\n }), 128)),\n (_ctx.actions)\n ? (_openBlock(), _createElementBlock(\"th\", {\n key: 1,\n class: _normalizeClass([\"bb-table-header bb-table-header--actions\", _ctx.thClass]),\n scope: \"col\"\n }, [\n _renderSlot(_ctx.$slots, \"header_actions\", { text: _ctx.actionsText }, () => [\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.actionsText), 1)\n ])\n ], 2))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (loading.value)\n ? _renderSlot(_ctx.$slots, \"loading\", {\n key: 0,\n items: internalItems.value\n }, () => [\n _createElementVNode(\"tr\", _hoisted_8, [\n _createElementVNode(\"td\", {\n class: \"bb-table-loading__cell\",\n colspan: replacementContentSpan.value\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_unref(loadingText)), 1),\n _createElementVNode(\"div\", _hoisted_11, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(skeletonLength.value, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"bb-table-skeleton-item\",\n key: item\n }, _hoisted_14))\n }), 128))\n ])\n ], 8, _hoisted_9)\n ])\n ])\n : (!internalItems.value.length)\n ? _renderSlot(_ctx.$slots, 'no-data', { key: 1 }, () => [\n _createElementVNode(\"tr\", _hoisted_15, [\n _createElementVNode(\"td\", {\n class: \"bb-table-no-data__cell\",\n colspan: replacementContentSpan.value\n }, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_unref(noDataText)), 1)\n ], 8, _hoisted_16)\n ])\n ])\n : _renderSlot(_ctx.$slots, \"tbody\", { key: 2 }, () => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(mappedItems.value, (item) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n class: \"bb-table-data__row\",\n key: item.jsonValue,\n onClick: item.onRowClick,\n onContextmenu: item.onRowContextMenu,\n onDblclick: item.onRowDblClick\n }, [\n (_ctx.selectable)\n ? (_openBlock(), _createElementBlock(\"td\", {\n key: 0,\n class: _normalizeClass([\"bb-table-data__cell bb-table-data__cell--select\", _ctx.tdClass])\n }, [\n _renderSlot(_ctx.$slots, 'select', {\n item: item.original,\n value: item.value,\n checked: item.selected,\n disabled: !item.selectable,\n inputName: _unref(randomName),\n readonly: !!_ctx.readonly\n }, () => [\n (_ctx.multiple)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n class: _normalizeClass([\"bb-table-check__label\", {\n 'bb-table-check__label--disabled': !item.selectable,\n }])\n }, [\n _createVNode(BaseCheckbox, {\n class: \"bb-table-check\",\n checked: item.selected || allSelected.value,\n disabled: !item.selectable,\n name: _unref(randomName),\n readonly: _ctx.readonly,\n onChange: () => onInputChange(item)\n }, null, 8, [\"checked\", \"disabled\", \"name\", \"readonly\", \"onChange\"]),\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(item.accessibleLabel), 1)\n ], 2))\n : (_openBlock(), _createElementBlock(\"label\", {\n key: 1,\n class: _normalizeClass([\"bb-table-radio__label\", {\n 'bb-table-radio__label--disabled': !item.selectable,\n }])\n }, [\n _createVNode(BaseRadio, {\n class: \"bb-table-radio\",\n checked: item.selected,\n disabled: !item.selectable,\n name: _unref(randomName),\n readonly: _ctx.readonly,\n value: item.value,\n onChange: () => onInputChange(item)\n }, null, 8, [\"checked\", \"disabled\", \"name\", \"readonly\", \"value\", \"onChange\"]),\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(item.accessibleLabel), 1)\n ], 2))\n ])\n ], 2))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(item.cols, (col) => {\n return (_openBlock(), _createElementBlock(\"td\", {\n key: col.key,\n class: _normalizeClass([\"bb-table-data__cell\", col.classes])\n }, [\n _renderSlot(_ctx.$slots, col.slotName, {\n classes: col.classes,\n content: col.content,\n item: item.original,\n value: item.value\n }, () => [\n _createTextVNode(_toDisplayString(col.content), 1)\n ])\n ], 2))\n }), 128)),\n (_ctx.actions)\n ? (_openBlock(), _createElementBlock(\"td\", {\n key: 1,\n class: _normalizeClass([\"bb-table__cell bb-table__cell--actions\", _ctx.tdClass])\n }, [\n _renderSlot(_ctx.$slots, 'actions', {\n item: item.original,\n value: item.value\n })\n ], 2))\n : _createCommentVNode(\"\", true)\n ], 40, _hoisted_18))\n }), 128))\n ])\n ]),\n _createElementVNode(\"tfoot\", null, [\n _renderSlot(_ctx.$slots, \"tfoot\")\n ])\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(hiddenInputs.value, (input) => {\n return (_openBlock(), _createElementBlock(\"input\", _mergeProps({\n key: input.value\n }, input), null, 16))\n }), 128))\n ]),\n _: 3\n }, 8, [\"class\"]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_createElementVNode","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_sfc_main","_defineComponent","columns","col","__props","__emit","getItemValue","useItemValue","randomName","useId","props","emit","container","ref","accessibleLabel","loadingText","noDataText","selectAllText","selectText","containerTag","computed","internalLoading","loading","replacementContentSpan","acc","current","modelValueIndexed","map","value","index","key","_a","pairs","deepEqual","slotNames","curr","mapped","internalItems","getItems","items","onMounted","watch","timeout","previous","mappedHeaders","column","align","label","slotName","classes","mappedItems","item","jsonValue","selectable","selectedIndex","selected","isNil","cols","content","temp","accessibleLabelText","isNotNil","event","onChangeSelectAll","selectAllValue","modelValue","allSelected","indeterminate","onInputChange","valueToEmit","makeInputValue","when","hiddenInputs","skeletonLength","clamp","headers","mappedColumns","position","clientRect","width","offset","el","add","row","cell","_ctx","_cache","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_createElementBlock","_toDisplayString","_createCommentVNode","_renderSlot","_createVNode","BaseCheckbox","_unref","_Fragment","_renderList","header","BaseRadio","_createTextVNode","input","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"index101.js","sources":["../src/components/BbTable/BbTable.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, renderSlot as _renderSlot, createVNode as _createVNode, unref as _unref, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, createTextVNode as _createTextVNode, mergeProps as _mergeProps, resolveDynamicComponent as _resolveDynamicComponent, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"bb-table-header-row\" }\nconst _hoisted_3 = { class: \"bb-table-header__content\" }\nconst _hoisted_4 = { class: \"bb-table-check__label-text\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"bb-table-radio__label-text\"\n}\nconst _hoisted_6 = { class: \"bb-table-header__content\" }\nconst _hoisted_7 = { class: \"bb-table-header__content\" }\nconst _hoisted_8 = { class: \"bb-table-loading__row\" }\nconst _hoisted_9 = [\"colspan\"]\nconst _hoisted_10 = { class: \"bb-table-loading__text\" }\nconst _hoisted_11 = {\n class: \"bb-table-skeleton__container\",\n role: \"status\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__avatar-container\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__avatar\" })\n], -1)\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__text\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__line\" }),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"bb-table-skeleton-item__line\" })\n], -1)\nconst _hoisted_14 = [\n _hoisted_12,\n _hoisted_13\n]\nconst _hoisted_15 = { class: \"bb-table-no-data__row\" }\nconst _hoisted_16 = [\"colspan\"]\nconst _hoisted_17 = { class: \"bb-table-no-data__text\" }\nconst _hoisted_18 = [\"onClick\", \"onContextmenu\", \"onDblclick\"]\nconst _hoisted_19 = { class: \"bb-table-check__label-text\" }\nconst _hoisted_20 = { class: \"bb-table-radio__label-text\" }\n\nimport { add } from '@/utilities/functions/add';\nimport { clamp } from '@/utilities/functions/clamp';\nimport { deepEqual } from 'fast-equals';\nimport { isNil } from '@/utilities/functions/isNil';\nimport { isNotNil } from '@/utilities/functions/isNotNil';\nimport { type Ref, computed, onMounted, ref, watch } from 'vue';\nimport { useId } from '@/composables/useId';\nimport { useItemValue } from '@/composables/useItemValue';\nimport { when } from '@/utilities/functions/when';\nimport BaseCheckbox from '../BaseCheckbox/BaseCheckbox.vue';\nimport BaseRadio from '../BaseRadio/BaseRadio.vue';\nimport type {\n\tBbTableProps,\n\tMappedCell,\n\tMappedHeader,\n\tMappedItem,\n\tTableColumn,\n\tBbTableEvents,\n\tBbTableSlots,\n} from './types';\nimport type { Classes } from '@/types/Classes';\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTable',\n props: {\n accessibleLabel: { type: Function, default: (columns: MappedCell[]) =>\n\t\t['Seleziona'].concat(columns.map((col) => col.content)).join(' ') },\n actions: { type: Boolean },\n actionsText: { default: 'Azioni' },\n align: { default: 'left' },\n allowSelectAll: { type: Boolean, default: true },\n caption: {},\n columns: { default: () => [] },\n compact: { type: Boolean },\n dependencies: { default: () => [] },\n depsDebounceTime: { default: 0 },\n disabled: { type: Boolean },\n displayCaption: { type: Boolean },\n fixed: { type: Boolean },\n fixedColumns: { default: () => [] },\n fixedHeader: { type: Boolean },\n items: { type: [Array, Function], default: () => [] },\n itemValue: {},\n legend: {},\n loading: { type: Boolean },\n loadingText: { default: 'Caricamento' },\n matchStrategy: { default: 'string' },\n modelValue: {},\n multiple: { type: Boolean, default: true },\n name: {},\n noDataText: { default: 'Non ci sono elementi da visualizzare' },\n readonly: {},\n selectable: { type: [Boolean, Function] },\n selectAll: { type: Boolean },\n selectAllText: { default: 'Seleziona tutti gli elementi di questa pagina' },\n selectText: { default: 'Seleziona un elemento' },\n tdClass: {},\n thClass: {}\n },\n emits: [\"click:row\", \"contextmenu:row\", \"dblclick:row\", \"update:modelValue\", \"update:selectAll\"],\n setup(__props: any, { emit: __emit }) {\n\nconst { getItemValue } = useItemValue();\n\n/**\n * We do not allow the use of the checkbox or radio themselves as\n * they would not be submitted if the user has changed\n * page in the meantime, rather we provide a temporary\n * name so radio still work but we later add hidden inputs for submission\n */\nconst randomName = useId().id.value;\n\nconst props = __props;\n\nconst emit = __emit;\n\n\n\nconst container = ref<HTMLElement>();\n\nconst accessibleLabel = props.accessibleLabel;\nconst loadingText = props.loadingText;\nconst noDataText = props.noDataText;\nconst selectAllText = props.selectAllText;\nconst selectText = props.selectText;\n\n// We render the table in a fieldset to group checkbox / radios if the table is selectable\nconst containerTag = computed(() => (props.selectable ? 'fieldset' : 'div'));\nconst internalLoading = ref(false);\nconst loading = computed(() => props.loading || internalLoading.value);\n\nconst replacementContentSpan = computed(() => {\n\treturn [!!props.selectable, !!props.actions].reduce(\n\t\t(acc: number, current) => acc + Number(!!current),\n\t\tprops.columns.length\n\t);\n});\n\n/**\n * Indexes modelValue to a map so when can easily know which values are selected\n * (using JSON to circumvent identical object not being equal in JS)\n */\nconst modelValueIndexed = computed(() => {\n\tif (props.matchStrategy === 'string') {\n\t\tlet map: { [key: string]: number } = {};\n\t\t[].concat(props.modelValue).forEach((value: any, index: number) => {\n\t\t\tmap[JSON.stringify(value)] = index;\n\t\t});\n\t\treturn {\n\t\t\tget: (value: any) => map[JSON.stringify(value)],\n\t\t};\n\t} else if (props.matchStrategy === 'equality') {\n\t\tconst map = []\n\t\t\t.concat(props.modelValue)\n\t\t\t.map((value, index) => [value, index]);\n\n\t\treturn {\n\t\t\tget: (key: any) => {\n\t\t\t\treturn map.find((pairs) => deepEqual(pairs[0], key))?.[1];\n\t\t\t},\n\t\t};\n\t} else {\n\t\tthrow new Error('No match strategy has been defined');\n\t}\n});\n\n/**\n * Map column identifiers to slot names\n */\nconst slotNames = computed(() =>\n\tprops.columns.reduce((acc: { [key: string]: string }, curr: TableColumn) => {\n\t\tconst mapped = curr.key.split(/\\W+/g).join('_');\n\t\tacc[curr.key] = mapped;\n\t\treturn acc;\n\t}, {})\n);\n\n/**\n * Items as loaded from the function or from the outside\n */\nconst internalItems = ref<any[]>([]);\n\nconst getItems = async () => {\n\tlet items: any[] = [];\n\tif (Array.isArray(props.items)) {\n\t\titems = props.items;\n\t} else {\n\t\tif (typeof props.items === 'function') {\n\t\t\tinternalLoading.value = true;\n\t\t\titems = await props.items(true);\n\t\t\tinternalLoading.value = false;\n\t\t}\n\t}\n\tinternalItems.value = items;\n};\n\nonMounted(getItems);\n\n/**\n * When item changes update internal items and\n * deselect everything\n */\nwatch(\n\t() => props.items,\n\tasync () => {\n\t\tawait getItems();\n\t\tif (props.multiple) {\n\t\t\temit('update:modelValue', []);\n\t\t} else {\n\t\t\temit('update:modelValue', null);\n\t\t}\n\t}\n);\n/* Prevent vue from sharing this function across instances */\nlet timeout: ReturnType<typeof setTimeout>;\nconst onDependencyChange = async (curr: any[], previous?: any[]) => {\n\tif (JSON.stringify(curr) !== JSON.stringify(previous)) {\n\t\tif (timeout) {\n\t\t\tclearTimeout(timeout);\n\t\t}\n\t\ttimeout = setTimeout(async () => {\n\t\t\tawait getItems();\n\t\t\tif (props.multiple) {\n\t\t\t\temit('update:modelValue', []);\n\t\t\t} else {\n\t\t\t\temit('update:modelValue', null);\n\t\t\t}\n\t\t}, props.depsDebounceTime);\n\t}\n};\nwatch(() => props.dependencies, onDependencyChange);\n\n/**\n * Take the columns and generate a simplified array for headers display\n */\nconst mappedHeaders = computed(() =>\n\tprops.columns.map((column: TableColumn): MappedHeader => {\n\t\tconst align = column.align || 'left';\n\t\tconst { label, key } = column;\n\t\tconst slotName = `header_${slotNames.value[column.key]}`;\n\t\t// Create a single merged array of all the passed classes\n\t\tlet classes: Classes = [`bb-table-header--${align}`];\n\t\tif (props.thClass) {\n\t\t\tclasses = classes.concat(props.thClass);\n\t\t}\n\t\tif (column.thClass) {\n\t\t\tclasses = classes.concat(column.thClass);\n\t\t}\n\t\treturn {\n\t\t\talign,\n\t\t\tkey,\n\t\t\tlabel,\n\t\t\tslotName,\n\t\t\tclasses,\n\t\t};\n\t})\n);\n\n/**\n * Map items to an an array that represents the entire row.\n * Track every logic here so we don't have inline callbacks in the template.\n */\nconst mappedItems = computed<MappedItem[]>(() => {\n\treturn internalItems.value.map((item: any) => {\n\t\t// By default the value if the item is the item.\n\t\tconst value = getItemValue(item, props.itemValue);\n\t\tconst jsonValue = JSON.stringify(value);\n\n\t\t/**\n\t\t * Item is selectable only if the table allows or item\n\t\t * passes iteratee and the selection is not disabled\n\t\t */\n\t\tlet selectable = !!props.selectable;\n\t\tif (typeof props.selectable === 'function') {\n\t\t\tselectable = !!props.selectable(item);\n\t\t}\n\t\tselectable = selectable && !props.disabled;\n\n\t\t//Track the index at which the item has been selected for easy of removal\n\t\tconst selectedIndex = modelValueIndexed.value.get(value);\n\t\tconst selected = !isNil(selectedIndex);\n\n\t\t// Create a projection of the columns and run all formatter logic so\n\t\t// we just display content in the template\n\t\tconst cols: MappedCell[] = props.columns.map((column) => {\n\t\t\t// Slot identifier\n\t\t\tconst slotName = slotNames.value[column.key];\n\t\t\tconst align = column.align || 'left';\n\t\t\tconst { label, key } = column;\n\t\t\t// The content\n\t\t\tlet content = getItemValue(item, column.key);\n\t\t\tif (\n\t\t\t\tcolumn.formatter &&\n\t\t\t\t// By default the formatter runs anyway\n\t\t\t\t(!isNil(content) || column.formatOnNull !== false)\n\t\t\t) {\n\t\t\t\tcontent = column.formatter(content, column.key, item);\n\t\t\t}\n\t\t\tif (column.placeholder && isNil(content)) {\n\t\t\t\tcontent = column.placeholder;\n\t\t\t}\n\n\t\t\t// Merge global and specific classes\n\t\t\tlet classes: Classes = [`bb-table-data__cell--${align}`];\n\t\t\tif (props.tdClass) {\n\t\t\t\tif (typeof props.tdClass === 'function') {\n\t\t\t\t\tlet temp = props.tdClass(content, column.key, item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(props.tdClass);\n\t\t\t}\n\t\t\tif (column.tdClass) {\n\t\t\t\tif (typeof column.tdClass === 'function') {\n\t\t\t\t\tlet temp = column.tdClass(content, column.key, item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(column.tdClass);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\talign,\n\t\t\t\tclasses,\n\t\t\t\tcontent,\n\t\t\t\tkey,\n\t\t\t\tlabel,\n\t\t\t\tslotName,\n\t\t\t};\n\t\t});\n\n\t\tconst accessibleLabelText = accessibleLabel(cols, item);\n\n\t\tif (isNotNil(selectedIndex)) {\n\t\t\treturn {\n\t\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\t\tcols,\n\t\t\t\tjsonValue,\n\t\t\t\toriginal: item,\n\t\t\t\tselectable,\n\t\t\t\tselected: true,\n\t\t\t\tselectedIndex,\n\t\t\t\tvalue,\n\t\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\t\temit('click:row', event, item, selected),\n\t\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\t\temit('contextmenu:row', event, item, selected),\n\t\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\t\temit('dblclick:row', event, item, selected),\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\tcols,\n\t\t\tjsonValue,\n\t\t\toriginal: item,\n\t\t\tselectable,\n\t\t\tselected: false,\n\t\t\tselectedIndex,\n\t\t\tvalue,\n\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\temit('click:row', event, item, selected),\n\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\temit('contextmenu:row', event, item, selected),\n\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\temit('dblclick:row', event, item, selected),\n\t\t};\n\t});\n});\n\n/**\n * Same behavior as GMail.\n * If anything is selected remove it.\n * Then when empty you select all items of this page\n */\nconst onChangeSelectAll = (value: boolean) => {\n\tlet selectAllValue = value;\n\tlet modelValue: any[] = [];\n\n\tif (selectAllValue) {\n\t\tmodelValue = mappedItems.value.reduce((acc: any[], curr) => {\n\t\t\tif (curr.selectable) acc.push(curr.value);\n\t\t\treturn acc;\n\t\t}, []);\n\t}\n\temit('update:modelValue', modelValue);\n\temit('update:selectAll', value);\n};\n\nconst allSelected = computed(\n\t() =>\n\t\t!!(\n\t\t\tmappedItems.value.length &&\n\t\t\tmappedItems.value.every((item) => item.selectable && item.selected)\n\t\t)\n);\nconst indeterminate = computed(\n\t() =>\n\t\tmappedItems.value.some((item) => !item.selected) &&\n\t\t!!props.modelValue?.length\n);\n/**\n * Whenever an input changes update modelValue if any\n */\nconst onInputChange = (item: MappedItem) => {\n\tlet valueToEmit;\n\tif (props.multiple) {\n\t\tif (item.selected) {\n\t\t\tvalueToEmit = props.modelValue\n\t\t\t\t.slice(0, item.selectedIndex)\n\t\t\t\t.concat(props.modelValue.slice([item.selectedIndex + 1]));\n\t\t} else {\n\t\t\tvalueToEmit = props.modelValue.concat(item.value);\n\t\t}\n\t} else {\n\t\tvalueToEmit = item.value;\n\t}\n\temit('update:modelValue', valueToEmit);\n};\n\n/**\n * When using this component for submission we add a bunch of hidden inputs\n * so the submitted inputs is on par with v-model\n */\n\n/**\n * This is used to keep the value compatible to common html expected values.\n * Convert to string everything that's not but do not double encode strings\n */\nconst makeInputValue = when(\n\t(item: unknown) => typeof item !== 'string',\n\tJSON.stringify\n);\nconst hiddenInputs = computed(() => {\n\treturn [].concat(props.modelValue).map((current) => {\n\t\tconst value = makeInputValue(current);\n\t\treturn {\n\t\t\tdisabled: props.disabled,\n\t\t\tname: props.name,\n\t\t\ttype: 'hidden',\n\t\t\tvalue: value,\n\t\t};\n\t});\n});\n\nconst skeletonLength = computed(() => {\n\treturn clamp(internalItems.value.length, 4, 10);\n});\n\nwatch(\n\t() => mappedItems.value,\n\t() => {\n\t\tif (props.fixedColumns.length && props.items) {\n\t\t\tif (container.value) {\n\t\t\t\t// Get all the headers\n\t\t\t\tconst headers = Array.from(\n\t\t\t\t\tcontainer.value.querySelectorAll<HTMLElement>('thead th')\n\t\t\t\t);\n\n\t\t\t\ttype MappedColumn = {\n\t\t\t\t\tindex: number;\n\t\t\t\t\tposition: 'left' | 'right';\n\t\t\t\t\twidth: number;\n\t\t\t\t\toffset: number;\n\t\t\t\t};\n\n\t\t\t\t/**\n\t\t\t\t * For each of the columns to fix create an helper object\n\t\t\t\t */\n\t\t\t\tconst mappedColumns = props.fixedColumns.reduce((acc, curr) => {\n\t\t\t\t\tconst index = typeof curr === 'number' ? curr : curr.index;\n\t\t\t\t\tconst position = typeof curr === 'number' ? 'left' : curr.position;\n\t\t\t\t\tconst clientRect = headers[index].getBoundingClientRect();\n\t\t\t\t\tconst width = Math.floor(clientRect.width);\n\t\t\t\t\tconst offset = acc\n\t\t\t\t\t\t.filter((el) => el.position === position)\n\t\t\t\t\t\t.map((el) => el.width)\n\t\t\t\t\t\t.reduce(add, 0);\n\n\t\t\t\t\tconst mapped: MappedColumn = {\n\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\tposition: position,\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\toffset: offset,\n\t\t\t\t\t};\n\t\t\t\t\tacc.push(mapped);\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [] as MappedColumn[]);\n\n\t\t\t\tconst rows = Array.from(container.value?.querySelectorAll('tr'));\n\t\t\t\tconst affectedCells = rows.map((row) =>\n\t\t\t\t\tArray.from(\n\t\t\t\t\t\trow.querySelectorAll<HTMLElement>(\n\t\t\t\t\t\t\tmappedColumns\n\t\t\t\t\t\t\t\t.map((el) => `:scope > :nth-child(${el.index + 1})`)\n\t\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\taffectedCells.forEach((row) => {\n\t\t\t\t\trow.forEach((cell, index) => {\n\t\t\t\t\t\tcell.style.position = 'sticky';\n\n\t\t\t\t\t\tif (mappedColumns[index].position === 'left') {\n\t\t\t\t\t\t\tcell.style.left = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcell.style.right = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tflush: 'post',\n\t}\n);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(_resolveDynamicComponent(containerTag.value), {\n ref_key: \"container\",\n ref: container,\n class: _normalizeClass({\n\t\t\t'bb-table': true,\n\t\t\t[`bb-table--align-${_ctx.align}`]: true,\n\t\t\t'bb-table--compact': _ctx.compact,\n\t\t\t'bb-table--fixed': _ctx.fixed,\n\t\t\t'bb-table--fixed-header': _ctx.fixedHeader,\n\t\t\t'bb-table--loading': loading.value,\n\t\t\t'bb-table--empty': !internalItems.value.length,\n\t\t\t'bb-table--selectable': _ctx.selectable,\n\t\t})\n }, {\n default: _withCtx(() => [\n (_ctx.selectable)\n ? (_openBlock(), _createElementBlock(\"legend\", _hoisted_1, _toDisplayString(_ctx.legend), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"table\", null, [\n (_ctx.caption)\n ? (_openBlock(), _createElementBlock(\"caption\", {\n key: 0,\n class: _normalizeClass({\n\t\t\t\t\t'bb-table-caption': true,\n\t\t\t\t\t'bb-table-caption--hidden': !_ctx.displayCaption,\n\t\t\t\t})\n }, _toDisplayString(_ctx.caption), 3))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"thead\", null, [\n _renderSlot(_ctx.$slots, \"thead\", {}, () => [\n _createElementVNode(\"tr\", _hoisted_2, [\n (_ctx.selectable)\n ? (_openBlock(), _createElementBlock(\"th\", {\n key: 0,\n class: _normalizeClass([\"bb-table-header bb-table-header--select\", _ctx.thClass]),\n scope: \"col\"\n }, [\n _renderSlot(_ctx.$slots, 'header_select', {\n multiple: _ctx.multiple,\n selectAll: !!_ctx.selectAll\n }, () => [\n _createElementVNode(\"span\", _hoisted_3, [\n (_ctx.allowSelectAll && _ctx.multiple)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n class: _normalizeClass([\"bb-table-check__label\", {\n\t\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': _ctx.disabled,\n\t\t\t\t\t\t\t\t\t\t}])\n }, [\n _createVNode(BaseCheckbox, {\n class: \"bb-table-check\",\n disabled: _ctx.disabled,\n indeterminate: indeterminate.value,\n \"model-value\": allSelected.value,\n name: `select_all_${_ctx.name || ''}`,\n readonly: _ctx.readonly,\n \"onUpdate:modelValue\": onChangeSelectAll\n }, null, 8, [\"disabled\", \"indeterminate\", \"model-value\", \"name\", \"readonly\"]),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_unref(selectAllText)), 1)\n ], 2))\n : (!_ctx.multiple)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_5, _toDisplayString(_unref(selectText)), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 2))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(mappedHeaders.value, (header, index) => {\n return (_openBlock(), _createElementBlock(\"th\", {\n key: header.key,\n class: _normalizeClass([\"bb-table-header\", header.classes]),\n scope: \"col\"\n }, [\n _renderSlot(_ctx.$slots, header.slotName, {\n classes: header.classes,\n item: undefined as unknown,\n items: internalItems.value,\n label: header.label\n }, () => [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(header.label), 1)\n ])\n ], 2))\n }), 128)),\n (_ctx.actions)\n ? (_openBlock(), _createElementBlock(\"th\", {\n key: 1,\n class: _normalizeClass([\"bb-table-header bb-table-header--actions\", _ctx.thClass]),\n scope: \"col\"\n }, [\n _renderSlot(_ctx.$slots, \"header_actions\", { text: _ctx.actionsText }, () => [\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.actionsText), 1)\n ])\n ], 2))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"tbody\", null, [\n (loading.value)\n ? _renderSlot(_ctx.$slots, \"loading\", {\n key: 0,\n items: internalItems.value\n }, () => [\n _createElementVNode(\"tr\", _hoisted_8, [\n _createElementVNode(\"td\", {\n class: \"bb-table-loading__cell\",\n colspan: replacementContentSpan.value\n }, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_unref(loadingText)), 1),\n _createElementVNode(\"div\", _hoisted_11, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(skeletonLength.value, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: item,\n class: \"bb-table-skeleton-item\"\n }, _hoisted_14))\n }), 128))\n ])\n ], 8, _hoisted_9)\n ])\n ])\n : (!internalItems.value.length)\n ? _renderSlot(_ctx.$slots, 'no-data', { key: 1 }, () => [\n _createElementVNode(\"tr\", _hoisted_15, [\n _createElementVNode(\"td\", {\n class: \"bb-table-no-data__cell\",\n colspan: replacementContentSpan.value\n }, [\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_unref(noDataText)), 1)\n ], 8, _hoisted_16)\n ])\n ])\n : _renderSlot(_ctx.$slots, \"tbody\", { key: 2 }, () => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(mappedItems.value, (item) => {\n return (_openBlock(), _createElementBlock(\"tr\", {\n key: item.jsonValue,\n class: \"bb-table-data__row\",\n onClick: item.onRowClick,\n onContextmenu: item.onRowContextMenu,\n onDblclick: item.onRowDblClick\n }, [\n (_ctx.selectable)\n ? (_openBlock(), _createElementBlock(\"td\", {\n key: 0,\n class: _normalizeClass([\"bb-table-data__cell bb-table-data__cell--select\", _ctx.tdClass])\n }, [\n _renderSlot(_ctx.$slots, 'select', {\n checked: item.selected,\n disabled: !item.selectable,\n inputName: _unref(randomName),\n item: item.original,\n readonly: !!_ctx.readonly,\n value: item.value\n }, () => [\n (_ctx.multiple)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n class: _normalizeClass([\"bb-table-check__label\", {\n\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': !item.selectable,\n\t\t\t\t\t\t\t\t\t}])\n }, [\n _createVNode(BaseCheckbox, {\n checked: item.selected || allSelected.value,\n class: \"bb-table-check\",\n disabled: !item.selectable,\n name: _unref(randomName),\n readonly: _ctx.readonly,\n onChange: () => onInputChange(item)\n }, null, 8, [\"checked\", \"disabled\", \"name\", \"readonly\", \"onChange\"]),\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(item.accessibleLabel), 1)\n ], 2))\n : (_openBlock(), _createElementBlock(\"label\", {\n key: 1,\n class: _normalizeClass([\"bb-table-radio__label\", {\n\t\t\t\t\t\t\t\t\t\t'bb-table-radio__label--disabled': !item.selectable,\n\t\t\t\t\t\t\t\t\t}])\n }, [\n _createVNode(BaseRadio, {\n checked: item.selected,\n class: \"bb-table-radio\",\n disabled: !item.selectable,\n name: _unref(randomName),\n readonly: _ctx.readonly,\n value: item.value,\n onChange: () => onInputChange(item)\n }, null, 8, [\"checked\", \"disabled\", \"name\", \"readonly\", \"value\", \"onChange\"]),\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(item.accessibleLabel), 1)\n ], 2))\n ])\n ], 2))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(item.cols, (col) => {\n return (_openBlock(), _createElementBlock(\"td\", {\n key: col.key,\n class: _normalizeClass([\"bb-table-data__cell\", col.classes])\n }, [\n _renderSlot(_ctx.$slots, col.slotName, {\n classes: col.classes,\n content: col.content,\n item: item.original,\n value: item.value\n }, () => [\n _createTextVNode(_toDisplayString(col.content), 1)\n ])\n ], 2))\n }), 128)),\n (_ctx.actions)\n ? (_openBlock(), _createElementBlock(\"td\", {\n key: 1,\n class: _normalizeClass([\"bb-table__cell bb-table__cell--actions\", _ctx.tdClass])\n }, [\n _renderSlot(_ctx.$slots, 'actions', {\n item: item.original,\n value: item.value\n })\n ], 2))\n : _createCommentVNode(\"\", true)\n ], 40, _hoisted_18))\n }), 128))\n ])\n ]),\n _createElementVNode(\"tfoot\", null, [\n _renderSlot(_ctx.$slots, \"tfoot\")\n ])\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(hiddenInputs.value, (input) => {\n return (_openBlock(), _createElementBlock(\"input\", _mergeProps({\n key: input.value\n }, input), null, 16))\n }), 128))\n ]),\n _: 3\n }, 8, [\"class\"]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_createElementVNode","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_sfc_main","_defineComponent","columns","col","__props","__emit","getItemValue","useItemValue","randomName","useId","props","emit","container","ref","accessibleLabel","loadingText","noDataText","selectAllText","selectText","containerTag","computed","internalLoading","loading","replacementContentSpan","acc","current","modelValueIndexed","map","value","index","key","_a","pairs","deepEqual","slotNames","curr","mapped","internalItems","getItems","items","onMounted","watch","timeout","previous","mappedHeaders","column","align","label","slotName","classes","mappedItems","item","jsonValue","selectable","selectedIndex","selected","isNil","cols","content","temp","accessibleLabelText","isNotNil","event","onChangeSelectAll","selectAllValue","modelValue","allSelected","indeterminate","onInputChange","valueToEmit","makeInputValue","when","hiddenInputs","skeletonLength","clamp","headers","mappedColumns","position","clientRect","width","offset","el","add","row","cell","_ctx","_cache","_openBlock","_createBlock","_resolveDynamicComponent","_normalizeClass","_withCtx","_createElementBlock","_toDisplayString","_createCommentVNode","_renderSlot","_createVNode","BaseCheckbox","_unref","_Fragment","_renderList","header","BaseRadio","_createTextVNode","input","_mergeProps"],"mappings":"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"}
package/dist/index103.js CHANGED
@@ -1,9 +1,9 @@
1
- import { defineComponent as m, openBlock as c, createBlock as b, withCtx as a, renderSlot as r, normalizeProps as i, guardReactiveProps as n, createVNode as h, mergeProps as y } from "vue";
2
- import f from "./index21.js";
1
+ import { defineComponent as m, openBlock as c, createBlock as b, withCtx as a, renderSlot as r, normalizeProps as i, guardReactiveProps as n, createVNode as h, mergeProps as v } from "vue";
2
+ import y from "./index21.js";
3
3
  import "./index22.js";
4
- import v from "./index247.js";
5
- import "./index248.js";
6
- const w = /* @__PURE__ */ m({
4
+ import f from "./index244.js";
5
+ import "./index245.js";
6
+ const C = /* @__PURE__ */ m({
7
7
  __name: "BbTag",
8
8
  props: {
9
9
  autocomplete: {},
@@ -26,7 +26,7 @@ const w = /* @__PURE__ */ m({
26
26
  reverse: { type: Boolean }
27
27
  },
28
28
  emits: ["blur", "change", "click", "duplicate", "focus", "inactive", "input", "keydown", "keyup", "update:modelValue"],
29
- setup(V, { emit: p }) {
29
+ setup(B, { emit: p }) {
30
30
  const o = p, s = {
31
31
  onBlur: (e) => o("blur", e),
32
32
  onChange: (e) => o("change", e),
@@ -39,16 +39,16 @@ const w = /* @__PURE__ */ m({
39
39
  onKeyup: (e) => o("keyup", e),
40
40
  "onUpdate:modelValue": (e) => o("update:modelValue", e)
41
41
  };
42
- return (e, B) => (c(), b(f, {
42
+ return (e, k) => (c(), b(y, {
43
+ id: e.id,
43
44
  class: "bb-tag",
44
45
  direction: e.direction,
45
46
  errors: e.errors,
46
47
  "has-errors": e.hasErrors,
47
- hideLabel: e.hideLabel,
48
- id: e.id,
48
+ "hide-label": e.hideLabel,
49
49
  label: e.label,
50
- labelPosition: e.labelPosition,
51
- modelValue: e.modelValue,
50
+ "label-position": e.labelPosition,
51
+ "model-value": e.modelValue,
52
52
  name: e.name,
53
53
  reverse: e.reverse
54
54
  }, {
@@ -56,15 +56,15 @@ const w = /* @__PURE__ */ m({
56
56
  r(e.$slots, "label", i(n(d)))
57
57
  ]),
58
58
  input: a(({ id: d, name: t, hasErrors: u }) => [
59
- h(v, y({
59
+ h(f, v({
60
+ id: d,
60
61
  autocomplete: e.autocomplete,
61
62
  autofocus: e.autofocus,
62
- divider: e.divider,
63
63
  comma: e.comma,
64
64
  disabled: e.disabled,
65
- hasErrors: u,
66
- id: d,
67
- modelValue: e.modelValue,
65
+ divider: e.divider,
66
+ "has-errors": u,
67
+ "model-value": e.modelValue,
68
68
  multiple: e.multiple,
69
69
  name: t,
70
70
  placeholder: e.placeholder,
@@ -83,13 +83,13 @@ const w = /* @__PURE__ */ m({
83
83
  r(e.$slots, "append", i(n(l)))
84
84
  ]),
85
85
  _: 2
86
- }, 1040, ["autocomplete", "autofocus", "divider", "comma", "disabled", "hasErrors", "id", "modelValue", "multiple", "name", "placeholder", "readonly"])
86
+ }, 1040, ["id", "autocomplete", "autofocus", "comma", "disabled", "divider", "has-errors", "model-value", "multiple", "name", "placeholder", "readonly"])
87
87
  ]),
88
88
  _: 3
89
- }, 8, ["direction", "errors", "has-errors", "hideLabel", "id", "label", "labelPosition", "modelValue", "name", "reverse"]));
89
+ }, 8, ["id", "direction", "errors", "has-errors", "hide-label", "label", "label-position", "model-value", "name", "reverse"]));
90
90
  }
91
91
  });
92
92
  export {
93
- w as default
93
+ C as default
94
94
  };
95
95
  //# sourceMappingURL=index103.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index103.js","sources":["../src/components/BbTag/BbTag.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport BaseInputContainer from \"../BaseInputContainer/BaseInputContainer.vue\";\nimport BaseTag from \"../BaseTag/BaseTag.vue\";\nimport type { BaseTagEvents } from \"../BaseTag/BaseTag.vue\";\nimport type { HTMLAttributes, InputHTMLAttributes } from \"vue\";\n\nexport type BbTagProps = {\n /**\n * Guides to the browser as to the type of information expected in the field.\n */\n autocomplete?: InputHTMLAttributes[\"autocomplete\"];\n\n /**\n * Sets autofocus on page load.\n */\n autofocus?: InputHTMLAttributes[\"autofocus\"];\n\n /**\n * Sets the display model for selected values to a list\n * of comma separated string. In this mode the user\n * cannot deselect an option by pressing the close button.\n */\n comma?: boolean;\n\n /**\n * Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.\n */\n direction?: \"horizontal\" | \"vertical\" | \"auto\" | string;\n\n /**\n * Disables the component\n */\n disabled?: boolean;\n\n /**\n * The divider key used to separate values from one another. By default it is \"Enter\"\n */\n divider?: KeyboardEvent[\"key\"];\n\n /**\n * Can be a string or an array of string containing the messages to display.\n */\n errors?: string | string[];\n\n /**\n * Define if the component should be in an error state.\n * It usually attaches a CSS class for styling purposes.\n */\n hasErrors?: boolean;\n\n /**\n * Visually hides the label of the input while maintaining accessibility.\n */\n hideLabel?: boolean;\n\n /**\n * The identifier of the component.\n */\n id?: HTMLAttributes[\"id\"];\n\n /**\n * Text content of the label of the element.\n */\n label: string;\n\n /**\n * Sets the text alignment of the label.\n */\n labelPosition?: \"left\" | \"center\" | \"right\";\n\n /**\n * Used by v-model. Can be any serializable type.\n */\n modelValue: any;\n\n /**\n * Allows the selection of multiple items.\n */\n multiple?: boolean;\n\n /**\n * Defines the name of the input.\n */\n name?: InputHTMLAttributes[\"name\"];\n\n /**\n * String displayed when there's no data.\n */\n placeholder?: InputHTMLAttributes[\"placeholder\"];\n\n /**\n * Sets the input in a readonly state.\n */\n readonly?: InputHTMLAttributes[\"readonly\"];\n\n /**\n * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n */\n reverse?: boolean;\n};\n\nexport type BbTagEvents = BaseTagEvents;\n\nexport type BbTagSlots = {\n append?: (props: {}) => any;\n\n \"append-outer\"?: (props: {}) => any;\n\n prepend?: (props: {}) => any;\n\n \"prepend-outer\"?: (props: {}) => any;\n label?: (props: { text: string; hasErrors: boolean }) => any;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTag',\n props: {\n autocomplete: {},\n autofocus: {},\n comma: { type: Boolean },\n direction: {},\n disabled: { type: Boolean },\n divider: {},\n errors: {},\n hasErrors: { type: Boolean },\n hideLabel: { type: Boolean },\n id: {},\n label: {},\n labelPosition: {},\n modelValue: {},\n multiple: { type: Boolean, default: true },\n name: {},\n placeholder: {},\n readonly: {},\n reverse: { type: Boolean }\n },\n emits: [\"blur\", \"change\", \"click\", \"duplicate\", \"focus\", \"inactive\", \"input\", \"keydown\", \"keyup\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\n\n\nconst emit = __emit;\n\n\n\nconst eventListeners = {\n onBlur: (event: FocusEvent) => emit(\"blur\", event),\n onChange: (event: Event) => emit(\"change\", event),\n onClick: (event: MouseEvent) => emit(\"click\", event),\n onDuplicate: (string: string) => emit(\"duplicate\", string),\n onFocus: (event: FocusEvent) => emit(\"focus\", event),\n onInactive: () => emit(\"inactive\"),\n onInput: (event: Event) => emit(\"input\", event),\n onKeydown: (event: KeyboardEvent) => emit(\"keydown\", event),\n onKeyup: (event: KeyboardEvent) => emit(\"keyup\", event),\n \"onUpdate:modelValue\": (value: any) => emit(\"update:modelValue\", value),\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(BaseInputContainer, {\n class: \"bb-tag\",\n direction: _ctx.direction,\n errors: _ctx.errors,\n \"has-errors\": _ctx.hasErrors,\n hideLabel: _ctx.hideLabel,\n id: _ctx.id,\n label: _ctx.label,\n labelPosition: _ctx.labelPosition,\n modelValue: _ctx.modelValue,\n name: _ctx.name,\n reverse: _ctx.reverse\n }, {\n label: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"label\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n input: _withCtx(({ id, name, hasErrors }) => [\n _createVNode(BaseTag, _mergeProps({\n autocomplete: _ctx.autocomplete,\n autofocus: _ctx.autofocus,\n divider: _ctx.divider,\n comma: _ctx.comma,\n disabled: _ctx.disabled,\n hasErrors: hasErrors,\n id: id,\n modelValue: _ctx.modelValue,\n multiple: _ctx.multiple,\n name: name,\n placeholder: _ctx.placeholder,\n readonly: _ctx.readonly\n }, eventListeners), {\n \"prepend-outer\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"prepend-outer\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n prepend: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"prepend\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"append-outer\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"append-outer\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n append: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"append\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n _: 2\n }, 1040, [\"autocomplete\", \"autofocus\", \"divider\", \"comma\", \"disabled\", \"hasErrors\", \"id\", \"modelValue\", \"multiple\", \"name\", \"placeholder\", \"readonly\"])\n ]),\n _: 3\n }, 8, [\"direction\", \"errors\", \"has-errors\", \"hideLabel\", \"id\", \"label\", \"labelPosition\", \"modelValue\", \"name\", \"reverse\"]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","__emit","emit","eventListeners","event","string","value","_ctx","_cache","_openBlock","_createBlock","BaseInputContainer","_withCtx","data","_renderSlot","_normalizeProps","_guardReactiveProps","id","name","hasErrors","_createVNode","BaseTag","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"index103.js","sources":["../src/components/BbTag/BbTag.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseTag from '../BaseTag/BaseTag.vue';\nimport type { BaseTagEvents } from '../BaseTag/BaseTag.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\nexport type BbTagProps = {\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tautocomplete?: InputHTMLAttributes['autocomplete'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Sets the display model for selected values to a list\n\t * of comma separated string. In this mode the user\n\t * cannot deselect an option by pressing the close button.\n\t */\n\tcomma?: boolean;\n\n\t/**\n\t * Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.\n\t */\n\tdirection?: 'horizontal' | 'vertical' | 'auto' | string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * The divider key used to separate values from one another. By default it is \"Enter\"\n\t */\n\tdivider?: KeyboardEvent['key'];\n\n\t/**\n\t * Can be a string or an array of string containing the messages to display.\n\t */\n\terrors?: string | string[];\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 * Text content of the label of the element.\n\t */\n\tlabel: string;\n\n\t/**\n\t * Sets the text alignment of the label.\n\t */\n\tlabelPosition?: 'left' | 'center' | 'right';\n\n\t/**\n\t * Used by v-model. Can be any serializable type.\n\t */\n\tmodelValue: any;\n\n\t/**\n\t * Allows the selection of multiple items.\n\t */\n\tmultiple?: boolean;\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's no data.\n\t */\n\tplaceholder?: InputHTMLAttributes['placeholder'];\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n\t */\n\treverse?: boolean;\n};\n\nexport type BbTagEvents = BaseTagEvents;\n\nexport type BbTagSlots = {\n\tappend?: (props: {}) => any;\n\n\t'append-outer'?: (props: {}) => any;\n\n\tprepend?: (props: {}) => any;\n\n\t'prepend-outer'?: (props: {}) => any;\n\tlabel?: (props: { text: string; hasErrors: boolean }) => any;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTag',\n props: {\n autocomplete: {},\n autofocus: {},\n comma: { type: Boolean },\n direction: {},\n disabled: { type: Boolean },\n divider: {},\n errors: {},\n hasErrors: { type: Boolean },\n hideLabel: { type: Boolean },\n id: {},\n label: {},\n labelPosition: {},\n modelValue: {},\n multiple: { type: Boolean, default: true },\n name: {},\n placeholder: {},\n readonly: {},\n reverse: { type: Boolean }\n },\n emits: [\"blur\", \"change\", \"click\", \"duplicate\", \"focus\", \"inactive\", \"input\", \"keydown\", \"keyup\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\n\n\nconst emit = __emit;\n\n\n\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonDuplicate: (string: string) => emit('duplicate', string),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\n\tonInactive: () => emit('inactive'),\n\tonInput: (event: Event) => emit('input', event),\n\tonKeydown: (event: KeyboardEvent) => emit('keydown', event),\n\tonKeyup: (event: KeyboardEvent) => emit('keyup', event),\n\t'onUpdate:modelValue': (value: any) => emit('update:modelValue', value),\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(BaseInputContainer, {\n id: _ctx.id,\n class: \"bb-tag\",\n direction: _ctx.direction,\n errors: _ctx.errors,\n \"has-errors\": _ctx.hasErrors,\n \"hide-label\": _ctx.hideLabel,\n label: _ctx.label,\n \"label-position\": _ctx.labelPosition,\n \"model-value\": _ctx.modelValue,\n name: _ctx.name,\n reverse: _ctx.reverse\n }, {\n label: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"label\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n input: _withCtx(({ id, name, hasErrors }) => [\n _createVNode(BaseTag, _mergeProps({\n id: id,\n autocomplete: _ctx.autocomplete,\n autofocus: _ctx.autofocus,\n comma: _ctx.comma,\n disabled: _ctx.disabled,\n divider: _ctx.divider,\n \"has-errors\": hasErrors,\n \"model-value\": _ctx.modelValue,\n multiple: _ctx.multiple,\n name: name,\n placeholder: _ctx.placeholder,\n readonly: _ctx.readonly\n }, eventListeners), {\n \"prepend-outer\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"prepend-outer\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n prepend: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"prepend\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n \"append-outer\": _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"append-outer\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n append: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"append\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n _: 2\n }, 1040, [\"id\", \"autocomplete\", \"autofocus\", \"comma\", \"disabled\", \"divider\", \"has-errors\", \"model-value\", \"multiple\", \"name\", \"placeholder\", \"readonly\"])\n ]),\n _: 3\n }, 8, [\"id\", \"direction\", \"errors\", \"has-errors\", \"hide-label\", \"label\", \"label-position\", \"model-value\", \"name\", \"reverse\"]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","__emit","emit","eventListeners","event","string","value","_ctx","_cache","_openBlock","_createBlock","BaseInputContainer","_withCtx","data","_renderSlot","_normalizeProps","_guardReactiveProps","id","name","hasErrors","_createVNode","BaseTag","_mergeProps"],"mappings":"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"}
package/dist/index105.js CHANGED
@@ -1,9 +1,9 @@
1
- import { defineComponent as p, openBlock as i, createBlock as t, withCtx as r, renderSlot as a, normalizeProps as m, guardReactiveProps as b, createVNode as h, mergeProps as c } from "vue";
1
+ import { defineComponent as u, openBlock as i, createBlock as t, withCtx as r, renderSlot as a, normalizeProps as m, guardReactiveProps as b, createVNode as h, mergeProps as c } from "vue";
2
2
  import f from "./index21.js";
3
3
  import "./index22.js";
4
4
  import y from "./index39.js";
5
5
  import "./index40.js";
6
- const g = /* @__PURE__ */ p({
6
+ const P = /* @__PURE__ */ u({
7
7
  __name: "BbTextarea",
8
8
  props: {
9
9
  autocomplete: {},
@@ -36,30 +36,30 @@ const g = /* @__PURE__ */ p({
36
36
  onMouseup: (e) => o("mouseup", e),
37
37
  "onUpdate:modelValue": (e) => o("update:modelValue", e)
38
38
  };
39
- return (e, V) => (i(), t(f, {
39
+ return (e, v) => (i(), t(f, {
40
+ id: e.id,
40
41
  class: "bb-textarea",
41
42
  direction: e.direction,
42
43
  errors: e.errors,
43
- hasErrors: e.hasErrors,
44
- hideLabel: e.hideLabel,
45
- id: e.id,
44
+ "has-errors": e.hasErrors,
45
+ "hide-label": e.hideLabel,
46
46
  label: e.label,
47
- labelPosition: e.labelPosition,
48
- modelValue: e.modelValue,
47
+ "label-position": e.labelPosition,
48
+ "model-value": e.modelValue,
49
49
  name: e.name,
50
50
  reverse: e.reverse
51
51
  }, {
52
52
  label: r((l) => [
53
53
  a(e.$slots, "label", m(b(l)))
54
54
  ]),
55
- input: r(({ id: l, name: d, hasErrors: u }) => [
55
+ input: r(({ id: l, name: d, hasErrors: p }) => [
56
56
  h(y, c({
57
- autoGrow: e.autoGrow,
57
+ id: l,
58
+ "auto-grow": e.autoGrow,
58
59
  autofocus: e.autofocus,
59
60
  disabled: e.disabled,
60
- hasErrors: u,
61
- id: l,
62
- modelValue: e.modelValue,
61
+ "has-errors": p,
62
+ "model-value": e.modelValue,
63
63
  name: d,
64
64
  placeholder: e.placeholder,
65
65
  readonly: e.readonly
@@ -77,13 +77,13 @@ const g = /* @__PURE__ */ p({
77
77
  a(e.$slots, "prepend-outer")
78
78
  ]),
79
79
  _: 2
80
- }, 1040, ["autoGrow", "autofocus", "disabled", "hasErrors", "id", "modelValue", "name", "placeholder", "readonly"])
80
+ }, 1040, ["id", "auto-grow", "autofocus", "disabled", "has-errors", "model-value", "name", "placeholder", "readonly"])
81
81
  ]),
82
82
  _: 3
83
- }, 8, ["direction", "errors", "hasErrors", "hideLabel", "id", "label", "labelPosition", "modelValue", "name", "reverse"]));
83
+ }, 8, ["id", "direction", "errors", "has-errors", "hide-label", "label", "label-position", "model-value", "name", "reverse"]));
84
84
  }
85
85
  });
86
86
  export {
87
- g as default
87
+ P as default
88
88
  };
89
89
  //# sourceMappingURL=index105.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index105.js","sources":["../src/components/BbTextarea/BbTextarea.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport BaseInputContainer from \"../BaseInputContainer/BaseInputContainer.vue\";\nimport BaseTextarea from \"../BaseTextarea/BaseTextarea.vue\";\nimport type {\n BaseTextareaEvents,\n BaseTextareaSlots,\n} from \"../BaseTextarea/BaseTextarea.vue\";\nimport type { BaseInputContainerSlots } from \"../BaseInputContainer/BaseInputContainer.vue\";\nimport type { HTMLAttributes, InputHTMLAttributes } from \"vue\";\n\nexport type BbTextareaProps = {\n /**\n * Guides to the browser as to the type of information expected in the field.\n */\n autocomplete?: InputHTMLAttributes[\"autocomplete\"];\n\n /**\n * Sets autofocus on page load.\n */\n autofocus?: InputHTMLAttributes[\"autofocus\"];\n\n /**\n * Expands the textarea to match its content\n */\n autoGrow?: boolean;\n\n /**\n * Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.\n */\n direction?: \"horizontal\" | \"vertical\" | \"auto\" | string;\n\n /**\n * Disables the component\n */\n disabled?: boolean;\n\n /**\n * Can be a string or an array of string containing the messages to display.\n */\n errors?: string | string[];\n\n /**\n * Define if the component should be in an error state.\n * It usually attaches a CSS class for styling purposes.\n */\n hasErrors?: boolean;\n\n /**\n * Visually hides the label of the input while maintaining accessibility.\n */\n hideLabel?: boolean;\n\n /**\n * The identifier of the component.\n */\n id?: HTMLAttributes[\"id\"];\n\n /**\n * Text content of the label of the element.\n */\n label: string;\n\n /**\n * Sets the text alignment of the label.\n */\n labelPosition?: \"left\" | \"center\" | \"right\";\n\n /**\n * Used by v-model\n */\n modelValue: string | null;\n\n /**\n * Defines the name of the input.\n */\n name?: InputHTMLAttributes[\"name\"];\n\n /**\n * String displayed when there's no data.\n */\n placeholder?: InputHTMLAttributes[\"placeholder\"];\n\n /**\n * Sets the input in a readonly state.\n */\n readonly?: InputHTMLAttributes[\"readonly\"];\n\n /**\n * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n */\n reverse?: boolean;\n};\n\nexport type BbTextareaEvents = BaseTextareaEvents;\nexport type BbTextareaSlots = BaseTextareaSlots & {\n label?: (props: { text: string; hasErrors: boolean }) => any;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTextarea',\n props: {\n autocomplete: {},\n autofocus: {},\n autoGrow: { type: Boolean },\n direction: {},\n disabled: { type: Boolean },\n errors: {},\n hasErrors: { type: Boolean },\n hideLabel: { type: Boolean },\n id: {},\n label: {},\n labelPosition: {},\n modelValue: {},\n name: {},\n placeholder: {},\n readonly: {},\n reverse: { type: Boolean }\n },\n emits: [\"blur\", \"change\", \"click\", \"focus\", \"input\", \"keydown\", \"mousedown\", \"mouseup\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\n\n\nconst emit = __emit;\n\n\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n onBlur: (event: FocusEvent) => emit(\"blur\", event),\n onChange: (event: Event) => emit(\"change\", event),\n onClick: (event: MouseEvent) => emit(\"click\", event),\n onFocus: (event: FocusEvent) => emit(\"focus\", event),\n onInput: (event: Event) => emit(\"input\", event),\n onKeydown: (event: KeyboardEvent) => emit(\"keydown\", event),\n onMousedown: (event: MouseEvent) => emit(\"mousedown\", event),\n onMouseup: (event: MouseEvent) => emit(\"mouseup\", event),\n \"onUpdate:modelValue\": (value: string | null) =>\n emit(\"update:modelValue\", value),\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(BaseInputContainer, {\n class: \"bb-textarea\",\n direction: _ctx.direction,\n errors: _ctx.errors,\n hasErrors: _ctx.hasErrors,\n hideLabel: _ctx.hideLabel,\n id: _ctx.id,\n label: _ctx.label,\n labelPosition: _ctx.labelPosition,\n modelValue: _ctx.modelValue,\n name: _ctx.name,\n reverse: _ctx.reverse\n }, {\n label: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"label\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n input: _withCtx(({ id, name, hasErrors }) => [\n _createVNode(BaseTextarea, _mergeProps({\n autoGrow: _ctx.autoGrow,\n autofocus: _ctx.autofocus,\n disabled: _ctx.disabled,\n hasErrors: hasErrors,\n id: id,\n modelValue: _ctx.modelValue,\n name: name,\n placeholder: _ctx.placeholder,\n readonly: _ctx.readonly\n }, eventListeners), {\n \"append-outer\": _withCtx(() => [\n _renderSlot(_ctx.$slots, \"append-outer\")\n ]),\n append: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"append\")\n ]),\n prepend: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"prepend\")\n ]),\n \"prepend-outer\": _withCtx(() => [\n _renderSlot(_ctx.$slots, \"prepend-outer\")\n ]),\n _: 2\n }, 1040, [\"autoGrow\", \"autofocus\", \"disabled\", \"hasErrors\", \"id\", \"modelValue\", \"name\", \"placeholder\", \"readonly\"])\n ]),\n _: 3\n }, 8, [\"direction\", \"errors\", \"hasErrors\", \"hideLabel\", \"id\", \"label\", \"labelPosition\", \"modelValue\", \"name\", \"reverse\"]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","__emit","emit","eventListeners","event","value","_ctx","_cache","_openBlock","_createBlock","BaseInputContainer","_withCtx","data","_renderSlot","_normalizeProps","_guardReactiveProps","id","name","hasErrors","_createVNode","BaseTextarea","_mergeProps"],"mappings":"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"}
1
+ {"version":3,"file":"index105.js","sources":["../src/components/BbTextarea/BbTextarea.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, renderSlot as _renderSlot, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nimport BaseInputContainer from '../BaseInputContainer/BaseInputContainer.vue';\nimport BaseTextarea from '../BaseTextarea/BaseTextarea.vue';\nimport type {\n\tBaseTextareaEvents,\n\tBaseTextareaSlots,\n} from '../BaseTextarea/BaseTextarea.vue';\nimport type { BaseInputContainerSlots } from '../BaseInputContainer/BaseInputContainer.vue';\nimport type { HTMLAttributes, InputHTMLAttributes } from 'vue';\n\nexport type BbTextareaProps = {\n\t/**\n\t * Guides to the browser as to the type of information expected in the field.\n\t */\n\tautocomplete?: InputHTMLAttributes['autocomplete'];\n\n\t/**\n\t * Sets autofocus on page load.\n\t */\n\tautofocus?: InputHTMLAttributes['autofocus'];\n\n\t/**\n\t * Expands the textarea to match its content\n\t */\n\tautoGrow?: boolean;\n\n\t/**\n\t * Direction of the layout of the component. Can either be a predefined value or a pattern separated by a space like `xx xxxxx`.\n\t */\n\tdirection?: 'horizontal' | 'vertical' | 'auto' | string;\n\n\t/**\n\t * Disables the component\n\t */\n\tdisabled?: boolean;\n\n\t/**\n\t * Can be a string or an array of string containing the messages to display.\n\t */\n\terrors?: string | string[];\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 * Text content of the label of the element.\n\t */\n\tlabel: string;\n\n\t/**\n\t * Sets the text alignment of the label.\n\t */\n\tlabelPosition?: 'left' | 'center' | 'right';\n\n\t/**\n\t * Used by v-model\n\t */\n\tmodelValue: string | null;\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's no data.\n\t */\n\tplaceholder?: InputHTMLAttributes['placeholder'];\n\n\t/**\n\t * Sets the input in a readonly state.\n\t */\n\treadonly?: InputHTMLAttributes['readonly'];\n\n\t/**\n\t * Reverses the layout. Applicable in every direction the order of the label and the input is swapped.\n\t */\n\treverse?: boolean;\n};\n\nexport type BbTextareaEvents = BaseTextareaEvents;\nexport type BbTextareaSlots = BaseTextareaSlots & {\n\tlabel?: (props: { text: string; hasErrors: boolean }) => any;\n};\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BbTextarea',\n props: {\n autocomplete: {},\n autofocus: {},\n autoGrow: { type: Boolean },\n direction: {},\n disabled: { type: Boolean },\n errors: {},\n hasErrors: { type: Boolean },\n hideLabel: { type: Boolean },\n id: {},\n label: {},\n labelPosition: {},\n modelValue: {},\n name: {},\n placeholder: {},\n readonly: {},\n reverse: { type: Boolean }\n },\n emits: [\"blur\", \"change\", \"click\", \"focus\", \"input\", \"keydown\", \"mousedown\", \"mouseup\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\n\n\nconst emit = __emit;\n\n\n\n/**\n * These events are just propagated\n */\nconst eventListeners = {\n\tonBlur: (event: FocusEvent) => emit('blur', event),\n\tonChange: (event: Event) => emit('change', event),\n\tonClick: (event: MouseEvent) => emit('click', event),\n\tonFocus: (event: FocusEvent) => emit('focus', event),\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\t'onUpdate:modelValue': (value: string | null) =>\n\t\temit('update:modelValue', value),\n};\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createBlock(BaseInputContainer, {\n id: _ctx.id,\n class: \"bb-textarea\",\n direction: _ctx.direction,\n errors: _ctx.errors,\n \"has-errors\": _ctx.hasErrors,\n \"hide-label\": _ctx.hideLabel,\n label: _ctx.label,\n \"label-position\": _ctx.labelPosition,\n \"model-value\": _ctx.modelValue,\n name: _ctx.name,\n reverse: _ctx.reverse\n }, {\n label: _withCtx((data) => [\n _renderSlot(_ctx.$slots, \"label\", _normalizeProps(_guardReactiveProps(data)))\n ]),\n input: _withCtx(({ id, name, hasErrors }) => [\n _createVNode(BaseTextarea, _mergeProps({\n id: id,\n \"auto-grow\": _ctx.autoGrow,\n autofocus: _ctx.autofocus,\n disabled: _ctx.disabled,\n \"has-errors\": hasErrors,\n \"model-value\": _ctx.modelValue,\n name: name,\n placeholder: _ctx.placeholder,\n readonly: _ctx.readonly\n }, eventListeners), {\n \"append-outer\": _withCtx(() => [\n _renderSlot(_ctx.$slots, \"append-outer\")\n ]),\n append: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"append\")\n ]),\n prepend: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"prepend\")\n ]),\n \"prepend-outer\": _withCtx(() => [\n _renderSlot(_ctx.$slots, \"prepend-outer\")\n ]),\n _: 2\n }, 1040, [\"id\", \"auto-grow\", \"autofocus\", \"disabled\", \"has-errors\", \"model-value\", \"name\", \"placeholder\", \"readonly\"])\n ]),\n _: 3\n }, 8, [\"id\", \"direction\", \"errors\", \"has-errors\", \"hide-label\", \"label\", \"label-position\", \"model-value\", \"name\", \"reverse\"]))\n}\n}\n\n})"],"names":["_sfc_main","_defineComponent","__props","__emit","emit","eventListeners","event","value","_ctx","_cache","_openBlock","_createBlock","BaseInputContainer","_withCtx","data","_renderSlot","_normalizeProps","_guardReactiveProps","id","name","hasErrors","_createVNode","BaseTextarea","_mergeProps"],"mappings":"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"}
package/dist/index107.js CHANGED
@@ -3,7 +3,7 @@ import y from "./index21.js";
3
3
  import "./index22.js";
4
4
  import f from "./index41.js";
5
5
  import "./index42.js";
6
- const g = /* @__PURE__ */ u({
6
+ const P = /* @__PURE__ */ u({
7
7
  __name: "BbTextInput",
8
8
  props: {
9
9
  autocomplete: {},
@@ -24,7 +24,7 @@ const g = /* @__PURE__ */ u({
24
24
  reverse: { type: Boolean }
25
25
  },
26
26
  emits: ["blur", "change", "click", "focus", "input", "keydown", "mousedown", "mouseup", "update:modelValue"],
27
- setup(V, { emit: n }) {
27
+ setup(v, { emit: n }) {
28
28
  const o = n, s = {
29
29
  onBlur: (e) => o("blur", e),
30
30
  onChange: (e) => o("change", e),
@@ -37,30 +37,30 @@ const g = /* @__PURE__ */ u({
37
37
  "onUpdate:modelValue": (e) => o("update:modelValue", e)
38
38
  };
39
39
  return (e, B) => (t(), i(y, {
40
+ id: e.id,
40
41
  class: "bb-text-input",
41
42
  direction: e.direction,
42
43
  errors: e.errors,
43
- hasErrors: e.hasErrors,
44
- hideLabel: e.hideLabel,
45
- id: e.id,
44
+ "has-errors": e.hasErrors,
45
+ "hide-label": e.hideLabel,
46
46
  label: e.label,
47
- labelPosition: e.labelPosition,
48
- modelValue: e.modelValue,
47
+ "label-position": e.labelPosition,
48
+ "model-value": e.modelValue,
49
49
  name: e.name,
50
50
  reverse: e.reverse
51
51
  }, {
52
52
  label: l((a) => [
53
53
  r(e.$slots, "label", m(b(a)))
54
54
  ]),
55
- input: l(({ id: a, name: d, hasErrors: p }) => [
55
+ input: l(({ id: a, name: p, hasErrors: d }) => [
56
56
  c(f, h({
57
+ id: a,
57
58
  autocomplete: e.autocomplete,
58
59
  autofocus: e.autofocus,
59
60
  disabled: e.disabled,
60
- hasErrors: p,
61
- id: a,
62
- modelValue: e.modelValue,
63
- name: d,
61
+ "has-errors": d,
62
+ "model-value": e.modelValue,
63
+ name: p,
64
64
  placeholder: e.placeholder,
65
65
  readonly: e.readonly,
66
66
  type: e.type
@@ -78,13 +78,13 @@ const g = /* @__PURE__ */ u({
78
78
  r(e.$slots, "prepend-outer")
79
79
  ]),
80
80
  _: 2
81
- }, 1040, ["autocomplete", "autofocus", "disabled", "hasErrors", "id", "modelValue", "name", "placeholder", "readonly", "type"])
81
+ }, 1040, ["id", "autocomplete", "autofocus", "disabled", "has-errors", "model-value", "name", "placeholder", "readonly", "type"])
82
82
  ]),
83
83
  _: 3
84
- }, 8, ["direction", "errors", "hasErrors", "hideLabel", "id", "label", "labelPosition", "modelValue", "name", "reverse"]));
84
+ }, 8, ["id", "direction", "errors", "has-errors", "hide-label", "label", "label-position", "model-value", "name", "reverse"]));
85
85
  }
86
86
  });
87
87
  export {
88
- g as default
88
+ P as default
89
89
  };
90
90
  //# sourceMappingURL=index107.js.map