@paperless/core 2.0.1-beta.30 → 2.0.1-beta.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 (494) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/build/p-03c70942.entry.js +2 -0
  3. package/dist/build/{p-638d2138.entry.js → p-096eaf0d.entry.js} +2 -2
  4. package/dist/{paperless/p-b26d5130.entry.js → build/p-0cd0a8d2.entry.js} +2 -2
  5. package/dist/build/p-0e1c6375.entry.js +2 -0
  6. package/dist/build/p-0e1c6375.entry.js.map +1 -0
  7. package/dist/build/{p-8d165db5.entry.js → p-0ffb8f53.entry.js} +2 -2
  8. package/dist/build/{p-3b5242e9.entry.js → p-167a6397.entry.js} +2 -2
  9. package/dist/build/{p-98e3f82a.entry.js → p-28f44624.entry.js} +2 -2
  10. package/dist/{paperless/p-0c040d86.entry.js → build/p-29c71645.entry.js} +2 -2
  11. package/dist/build/p-2f613a2a.entry.js +2 -0
  12. package/dist/{paperless/p-c60e5c3d.entry.js → build/p-3023e8dc.entry.js} +2 -2
  13. package/dist/build/{p-96ad9c58.entry.js → p-39e51563.entry.js} +2 -2
  14. package/dist/build/{p-6f3a4499.entry.js → p-3e2708de.entry.js} +2 -2
  15. package/dist/build/{p-68647b9e.entry.js → p-401ff01b.entry.js} +2 -2
  16. package/dist/{paperless/p-b59372b5.entry.js → build/p-4baaed44.entry.js} +2 -2
  17. package/dist/build/p-4cef76cf.entry.js +2 -0
  18. package/dist/build/{p-4a642ff9.entry.js → p-52056fb3.entry.js} +2 -2
  19. package/dist/build/{p-62843ca0.entry.js → p-52fe40e3.entry.js} +2 -2
  20. package/dist/build/{p-d31d6714.entry.js → p-5779d316.entry.js} +2 -2
  21. package/dist/build/{p-52ff5017.entry.js → p-697ed735.entry.js} +2 -2
  22. package/dist/build/{p-a6ccc70e.entry.js → p-7b72764c.entry.js} +2 -2
  23. package/dist/build/{p-955d149f.entry.js → p-7c0e0f80.entry.js} +2 -2
  24. package/dist/build/{p-f173bb97.entry.js → p-8b1a485b.entry.js} +2 -2
  25. package/dist/build/{p-2f821184.entry.js → p-8f4a3d49.entry.js} +2 -2
  26. package/dist/build/p-904049ba.entry.js +2 -0
  27. package/dist/{paperless/p-92f5d9d5.entry.js.map → build/p-904049ba.entry.js.map} +1 -1
  28. package/dist/build/{p-ed06230b.entry.js → p-9231fe88.entry.js} +2 -2
  29. package/dist/build/{p-963f037a.entry.js → p-9406a32e.entry.js} +2 -2
  30. package/dist/{paperless/p-610eb0ff.entry.js → build/p-9593cbb7.entry.js} +2 -2
  31. package/dist/{paperless/p-d19f3457.entry.js → build/p-9afd6c62.entry.js} +2 -2
  32. package/dist/{paperless/p-a93ce615.entry.js → build/p-a38a330d.entry.js} +2 -2
  33. package/dist/build/{p-ecf2818a.js → p-a483eadb.js} +1 -1
  34. package/dist/build/{p-f3d0ea94.entry.js → p-a9c13353.entry.js} +2 -2
  35. package/dist/{paperless/p-dc01bfa8.entry.js → build/p-b162a142.entry.js} +2 -2
  36. package/dist/build/{p-fdf020c9.entry.js → p-b542d0b6.entry.js} +2 -2
  37. package/dist/build/{p-9a0262b1.entry.js → p-c066c38b.entry.js} +2 -2
  38. package/dist/build/p-c801b122.entry.js +2 -0
  39. package/dist/build/{p-dfce711d.entry.js → p-cab0361a.entry.js} +2 -2
  40. package/dist/build/p-cd2cd75f.entry.js +2 -0
  41. package/dist/build/{p-4cb8f3db.entry.js → p-d058cdfc.entry.js} +2 -2
  42. package/dist/build/{p-a0fad3d8.entry.js → p-d1da42f4.entry.js} +2 -2
  43. package/dist/build/p-d1da42f4.entry.js.map +1 -0
  44. package/dist/{paperless/p-fb51eccd.entry.js → build/p-d26ee54b.entry.js} +2 -2
  45. package/dist/build/{p-45d789f5.entry.js → p-d82e4315.entry.js} +2 -2
  46. package/dist/build/{p-716a92ae.entry.js → p-d9bf1827.entry.js} +2 -2
  47. package/dist/build/{p-68ae68c8.entry.js → p-dd0f4ed0.entry.js} +2 -2
  48. package/dist/build/{p-1543f3a0.entry.js → p-df228603.entry.js} +2 -2
  49. package/dist/build/p-e078f787.entry.js +2 -0
  50. package/dist/build/{p-13e12e68.entry.js → p-e11ab3d2.entry.js} +2 -2
  51. package/dist/{paperless/p-971aac89.entry.js → build/p-e5a54d05.entry.js} +2 -2
  52. package/dist/build/p-e77d5ca1.entry.js +2 -0
  53. package/dist/build/p-e77d5ca1.entry.js.map +1 -0
  54. package/dist/build/{p-62b14ab7.entry.js → p-f05bf2d2.entry.js} +2 -2
  55. package/dist/build/{p-129d5cbd.entry.js → p-f762c735.entry.js} +2 -2
  56. package/dist/build/{p-57fc0eb5.entry.js → p-fa340d90.entry.js} +2 -2
  57. package/dist/build/paperless.esm.js +1 -1
  58. package/dist/build/paperless.esm.js.map +1 -1
  59. package/dist/cjs/loader.cjs.js +1 -1
  60. package/dist/cjs/p-accordion.cjs.entry.js +1 -1
  61. package/dist/cjs/p-attachment.cjs.entry.js +4 -4
  62. package/dist/cjs/p-avatar-group.cjs.entry.js +1 -1
  63. package/dist/cjs/p-avatar.cjs.entry.js +1 -1
  64. package/dist/cjs/p-backdrop.cjs.entry.js +2 -2
  65. package/dist/cjs/p-badge_3.cjs.entry.js +4 -4
  66. package/dist/cjs/p-button-group.cjs.entry.js +1 -1
  67. package/dist/cjs/p-button_3.cjs.entry.js +4 -4
  68. package/dist/cjs/p-calendar.cjs.entry.js +1 -1
  69. package/dist/cjs/p-card-body.cjs.entry.js +1 -1
  70. package/dist/cjs/p-card-container.cjs.entry.js +1 -1
  71. package/dist/cjs/p-card-header.cjs.entry.js +2 -2
  72. package/dist/cjs/p-checkbox_3.cjs.entry.js +9 -9
  73. package/dist/cjs/p-content-slider.cjs.entry.js +2 -2
  74. package/dist/cjs/p-counter.cjs.entry.js +1 -1
  75. package/dist/cjs/p-cropper.cjs.entry.js +2 -2
  76. package/dist/cjs/p-datepicker.cjs.entry.js +2 -2
  77. package/dist/cjs/p-divider.cjs.entry.js +1 -1
  78. package/dist/cjs/p-drawer-body_3.cjs.entry.js +3 -3
  79. package/dist/cjs/p-dropdown-menu-container.cjs.entry.js +2 -2
  80. package/dist/cjs/p-field_2.cjs.entry.js +51 -12
  81. package/dist/cjs/p-field_2.cjs.entry.js.map +1 -1
  82. package/dist/cjs/p-floating-menu-container_8.cjs.entry.js +9 -9
  83. package/dist/cjs/p-floating-menu-container_8.cjs.entry.js.map +1 -1
  84. package/dist/cjs/p-helper_2.cjs.entry.js +5 -5
  85. package/dist/cjs/p-iban-icon.cjs.entry.js +1 -1
  86. package/dist/cjs/p-info-panel.cjs.entry.js +1 -1
  87. package/dist/cjs/p-input-error.cjs.entry.js +1 -1
  88. package/dist/cjs/p-input-group.cjs.entry.js +3 -3
  89. package/dist/cjs/p-label.cjs.entry.js +3 -3
  90. package/dist/cjs/p-layout.cjs.entry.js +1 -1
  91. package/dist/cjs/p-modal-body_4.cjs.entry.js +4 -4
  92. package/dist/cjs/p-navbar.cjs.entry.js +1 -1
  93. package/dist/cjs/p-navigation-item.cjs.entry.js +2 -2
  94. package/dist/cjs/p-navigation-section.cjs.entry.js +1 -1
  95. package/dist/cjs/p-navigation-title.cjs.entry.js +1 -1
  96. package/dist/cjs/p-page-size-select_3.cjs.entry.js +2 -2
  97. package/dist/cjs/p-portal.cjs.entry.js +1 -1
  98. package/dist/cjs/p-profile.cjs.entry.js +1 -1
  99. package/dist/cjs/p-radio.cjs.entry.js +3 -3
  100. package/dist/cjs/p-select.cjs.entry.js +1 -2
  101. package/dist/cjs/p-select.cjs.entry.js.map +1 -1
  102. package/dist/cjs/p-slider-indicator.cjs.entry.js +1 -1
  103. package/dist/cjs/p-status.cjs.entry.js +2 -2
  104. package/dist/cjs/p-stepper-item.cjs.entry.js +1 -1
  105. package/dist/cjs/p-stepper-line.cjs.entry.js +1 -1
  106. package/dist/cjs/p-stepper.cjs.entry.js +1 -1
  107. package/dist/cjs/p-tab-group.cjs.entry.js +1 -1
  108. package/dist/cjs/p-tab-item.cjs.entry.js +1 -1
  109. package/dist/cjs/p-table.cjs.entry.js +2 -2
  110. package/dist/cjs/p-toast-container.cjs.entry.js +1 -1
  111. package/dist/cjs/p-toast.cjs.entry.js +1 -1
  112. package/dist/cjs/p-toggle.cjs.entry.js +3 -3
  113. package/dist/cjs/paperless.cjs.js +1 -1
  114. package/dist/collection/components/atoms/avatar/avatar.component.js +1 -1
  115. package/dist/collection/components/atoms/avatar-group/avatar-group.component.js +1 -1
  116. package/dist/collection/components/atoms/backdrop/backdrop.component.js +2 -2
  117. package/dist/collection/components/atoms/badge/badge.component.js +1 -1
  118. package/dist/collection/components/atoms/card-body/card-body.component.js +1 -1
  119. package/dist/collection/components/atoms/card-container/card-container.component.js +1 -1
  120. package/dist/collection/components/atoms/card-header/card-header.component.js +2 -2
  121. package/dist/collection/components/atoms/checkbox/checkbox.component.js +3 -3
  122. package/dist/collection/components/atoms/counter/counter.component.js +1 -1
  123. package/dist/collection/components/atoms/divider/divider.component.js +1 -1
  124. package/dist/collection/components/atoms/drawer-body/drawer-body.component.js +1 -1
  125. package/dist/collection/components/atoms/drawer-container/drawer-container.component.js +1 -1
  126. package/dist/collection/components/atoms/drawer-header/drawer-header.component.js +1 -1
  127. package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.js +2 -2
  128. package/dist/collection/components/atoms/dropdown-menu-item/dropdown-menu-item.component.js +3 -3
  129. package/dist/collection/components/atoms/floating-menu-container/floating-menu-container.component.js +1 -1
  130. package/dist/collection/components/atoms/floating-menu-item/floating-menu-item.component.js +1 -1
  131. package/dist/collection/components/atoms/helper/helper.component.js +1 -1
  132. package/dist/collection/components/atoms/iban-icon/iban-icon.component.js +1 -1
  133. package/dist/collection/components/atoms/info-panel/info-panel.component.js +1 -1
  134. package/dist/collection/components/atoms/layout/layout.component.js +1 -1
  135. package/dist/collection/components/atoms/modal-body/modal-body.component.js +1 -1
  136. package/dist/collection/components/atoms/modal-container/modal-container.component.js +1 -1
  137. package/dist/collection/components/atoms/modal-footer/modal-footer.component.js +1 -1
  138. package/dist/collection/components/atoms/modal-header/modal-header.component.js +1 -1
  139. package/dist/collection/components/atoms/navigation-title/navigation-title.component.js +1 -1
  140. package/dist/collection/components/atoms/pagination-item/pagination-item.component.js +1 -1
  141. package/dist/collection/components/atoms/portal/portal.component.js +1 -1
  142. package/dist/collection/components/atoms/radio/radio.component.js +3 -3
  143. package/dist/collection/components/atoms/segment-container/segment-container.component.js +1 -1
  144. package/dist/collection/components/atoms/segment-item/segment-item.component.js +2 -2
  145. package/dist/collection/components/atoms/slider-indicator/slider-indicator.component.js +1 -1
  146. package/dist/collection/components/atoms/status/status.component.js +2 -2
  147. package/dist/collection/components/atoms/stepper-item/stepper-item.component.js +1 -1
  148. package/dist/collection/components/atoms/stepper-line/stepper-line.component.js +1 -1
  149. package/dist/collection/components/atoms/tab-group/tab-group.component.js +1 -1
  150. package/dist/collection/components/atoms/tab-item/tab-item.component.js +1 -1
  151. package/dist/collection/components/atoms/table-container/table-container.component.js +1 -1
  152. package/dist/collection/components/atoms/toast-container/toast-container.component.js +1 -1
  153. package/dist/collection/components/atoms/toggle/toggle.component.js +3 -3
  154. package/dist/collection/components/atoms/tooltip/tooltip.component.js +4 -4
  155. package/dist/collection/components/molecules/accordion/accordion.component.js +1 -1
  156. package/dist/collection/components/molecules/attachment/attachment.component.js +4 -4
  157. package/dist/collection/components/molecules/button/button.component.js +4 -4
  158. package/dist/collection/components/molecules/button-group/button-group.component.js +1 -1
  159. package/dist/collection/components/molecules/calendar/calendar.component.js +1 -1
  160. package/dist/collection/components/molecules/content-slider/content-slider.component.js +2 -2
  161. package/dist/collection/components/molecules/cropper/cropper.component.js +2 -2
  162. package/dist/collection/components/molecules/datepicker/datepicker.component.js +2 -2
  163. package/dist/collection/components/molecules/dropdown/dropdown.component.js +3 -3
  164. package/dist/collection/components/molecules/field/field.component.css +1 -1
  165. package/dist/collection/components/molecules/field/field.component.js +77 -20
  166. package/dist/collection/components/molecules/field/field.component.js.map +1 -1
  167. package/dist/collection/components/molecules/field-container/field-container.component.js +22 -1
  168. package/dist/collection/components/molecules/field-container/field-container.component.js.map +1 -1
  169. package/dist/collection/components/molecules/input-error/input-error.component.js +1 -1
  170. package/dist/collection/components/molecules/input-group/input-group.component.js +3 -3
  171. package/dist/collection/components/molecules/label/label.component.js +3 -3
  172. package/dist/collection/components/molecules/navigation-item/navigation-item.component.js +2 -2
  173. package/dist/collection/components/molecules/navigation-section/navigation-section.component.js +1 -1
  174. package/dist/collection/components/molecules/pagination/pagination.component.js +1 -1
  175. package/dist/collection/components/molecules/profile/profile.component.js +1 -1
  176. package/dist/collection/components/molecules/select/select.component.js +1 -2
  177. package/dist/collection/components/molecules/select/select.component.js.map +1 -1
  178. package/dist/collection/components/molecules/stepper/stepper.component.js +1 -1
  179. package/dist/collection/components/molecules/table-cell/table-cell.component.js +1 -1
  180. package/dist/collection/components/molecules/table-footer/table-footer.component.js +1 -1
  181. package/dist/collection/components/molecules/table-header/table-header.component.js +2 -2
  182. package/dist/collection/components/molecules/table-header/table-header.component.js.map +1 -1
  183. package/dist/collection/components/molecules/table-row/table-row.component.js +2 -2
  184. package/dist/collection/components/molecules/toast/toast.component.js +1 -1
  185. package/dist/collection/components/organisms/navbar/navbar.component.js +1 -1
  186. package/dist/collection/components/organisms/table/table.component.js +2 -2
  187. package/dist/components/avatar.component.js +1 -1
  188. package/dist/components/backdrop.component.js +2 -2
  189. package/dist/components/badge.component.js +1 -1
  190. package/dist/components/button.component.js +4 -4
  191. package/dist/components/calendar.component.js +1 -1
  192. package/dist/components/checkbox.component.js +3 -3
  193. package/dist/components/divider.component.js +1 -1
  194. package/dist/components/drawer-body.component.js +1 -1
  195. package/dist/components/drawer-container.component.js +1 -1
  196. package/dist/components/drawer-header.component.js +1 -1
  197. package/dist/components/dropdown-menu-container.component.js +2 -2
  198. package/dist/components/dropdown-menu-item.component.js +3 -3
  199. package/dist/components/dropdown.component.js +3 -3
  200. package/dist/components/field-container.component.js +4 -1
  201. package/dist/components/field-container.component.js.map +1 -1
  202. package/dist/components/field.component.js +49 -11
  203. package/dist/components/field.component.js.map +1 -1
  204. package/dist/components/floating-menu-container.component.js +1 -1
  205. package/dist/components/floating-menu-item.component.js +1 -1
  206. package/dist/components/helper.component.js +1 -1
  207. package/dist/components/input-error.component.js +1 -1
  208. package/dist/components/modal-body.component.js +1 -1
  209. package/dist/components/modal-container.component.js +1 -1
  210. package/dist/components/modal-footer.component.js +1 -1
  211. package/dist/components/modal-header.component.js +1 -1
  212. package/dist/components/navigation-title.component.js +1 -1
  213. package/dist/components/p-accordion.js +1 -1
  214. package/dist/components/p-attachment.js +4 -4
  215. package/dist/components/p-avatar-group.js +1 -1
  216. package/dist/components/p-button-group.js +1 -1
  217. package/dist/components/p-card-body.js +1 -1
  218. package/dist/components/p-card-container.js +1 -1
  219. package/dist/components/p-card-header.js +2 -2
  220. package/dist/components/p-content-slider.js +2 -2
  221. package/dist/components/p-counter.js +1 -1
  222. package/dist/components/p-cropper.js +2 -2
  223. package/dist/components/p-datepicker.js +2 -2
  224. package/dist/components/p-iban-icon.js +1 -1
  225. package/dist/components/p-info-panel.js +1 -1
  226. package/dist/components/p-input-group.js +3 -3
  227. package/dist/components/p-label.js +3 -3
  228. package/dist/components/p-layout.js +1 -1
  229. package/dist/components/p-navbar.js +1 -1
  230. package/dist/components/p-navigation-item.js +2 -2
  231. package/dist/components/p-navigation-section.js +1 -1
  232. package/dist/components/p-profile.js +1 -1
  233. package/dist/components/p-radio.js +3 -3
  234. package/dist/components/p-select.js +1 -2
  235. package/dist/components/p-select.js.map +1 -1
  236. package/dist/components/p-status.js +2 -2
  237. package/dist/components/p-stepper-item.js +1 -1
  238. package/dist/components/p-stepper.js +1 -1
  239. package/dist/components/p-tab-group.js +1 -1
  240. package/dist/components/p-tab-item.js +1 -1
  241. package/dist/components/p-table.js +2 -2
  242. package/dist/components/p-toast-container.js +1 -1
  243. package/dist/components/p-toast.js +1 -1
  244. package/dist/components/p-toggle.js +3 -3
  245. package/dist/components/pagination-item.component.js +1 -1
  246. package/dist/components/pagination.component.js +1 -1
  247. package/dist/components/portal.component.js +1 -1
  248. package/dist/components/segment-container.component.js +1 -1
  249. package/dist/components/segment-item.component.js +2 -2
  250. package/dist/components/slider-indicator.component.js +1 -1
  251. package/dist/components/stepper-line.component.js +1 -1
  252. package/dist/components/table-cell.component.js +1 -1
  253. package/dist/components/table-container.component.js +1 -1
  254. package/dist/components/table-footer.component.js +1 -1
  255. package/dist/components/table-header.component.js +2 -2
  256. package/dist/components/table-header.component.js.map +1 -1
  257. package/dist/components/table-row.component.js +2 -2
  258. package/dist/components/tooltip.component.js +4 -4
  259. package/dist/esm/loader.js +1 -1
  260. package/dist/esm/p-accordion.entry.js +1 -1
  261. package/dist/esm/p-attachment.entry.js +4 -4
  262. package/dist/esm/p-avatar-group.entry.js +1 -1
  263. package/dist/esm/p-avatar.entry.js +1 -1
  264. package/dist/esm/p-backdrop.entry.js +2 -2
  265. package/dist/esm/p-badge_3.entry.js +4 -4
  266. package/dist/esm/p-button-group.entry.js +1 -1
  267. package/dist/esm/p-button_3.entry.js +4 -4
  268. package/dist/esm/p-calendar.entry.js +1 -1
  269. package/dist/esm/p-card-body.entry.js +1 -1
  270. package/dist/esm/p-card-container.entry.js +1 -1
  271. package/dist/esm/p-card-header.entry.js +2 -2
  272. package/dist/esm/p-checkbox_3.entry.js +9 -9
  273. package/dist/esm/p-content-slider.entry.js +2 -2
  274. package/dist/esm/p-counter.entry.js +1 -1
  275. package/dist/esm/p-cropper.entry.js +2 -2
  276. package/dist/esm/p-datepicker.entry.js +2 -2
  277. package/dist/esm/p-divider.entry.js +1 -1
  278. package/dist/esm/p-drawer-body_3.entry.js +3 -3
  279. package/dist/esm/p-dropdown-menu-container.entry.js +2 -2
  280. package/dist/esm/p-field_2.entry.js +51 -12
  281. package/dist/esm/p-field_2.entry.js.map +1 -1
  282. package/dist/esm/p-floating-menu-container_8.entry.js +9 -9
  283. package/dist/esm/p-floating-menu-container_8.entry.js.map +1 -1
  284. package/dist/esm/p-helper_2.entry.js +5 -5
  285. package/dist/esm/p-iban-icon.entry.js +1 -1
  286. package/dist/esm/p-info-panel.entry.js +1 -1
  287. package/dist/esm/p-input-error.entry.js +1 -1
  288. package/dist/esm/p-input-group.entry.js +3 -3
  289. package/dist/esm/p-label.entry.js +3 -3
  290. package/dist/esm/p-layout.entry.js +1 -1
  291. package/dist/esm/p-modal-body_4.entry.js +4 -4
  292. package/dist/esm/p-navbar.entry.js +1 -1
  293. package/dist/esm/p-navigation-item.entry.js +2 -2
  294. package/dist/esm/p-navigation-section.entry.js +1 -1
  295. package/dist/esm/p-navigation-title.entry.js +1 -1
  296. package/dist/esm/p-page-size-select_3.entry.js +2 -2
  297. package/dist/esm/p-portal.entry.js +1 -1
  298. package/dist/esm/p-profile.entry.js +1 -1
  299. package/dist/esm/p-radio.entry.js +3 -3
  300. package/dist/esm/p-select.entry.js +1 -2
  301. package/dist/esm/p-select.entry.js.map +1 -1
  302. package/dist/esm/p-slider-indicator.entry.js +1 -1
  303. package/dist/esm/p-status.entry.js +2 -2
  304. package/dist/esm/p-stepper-item.entry.js +1 -1
  305. package/dist/esm/p-stepper-line.entry.js +1 -1
  306. package/dist/esm/p-stepper.entry.js +1 -1
  307. package/dist/esm/p-tab-group.entry.js +1 -1
  308. package/dist/esm/p-tab-item.entry.js +1 -1
  309. package/dist/esm/p-table.entry.js +2 -2
  310. package/dist/esm/p-toast-container.entry.js +1 -1
  311. package/dist/esm/p-toast.entry.js +1 -1
  312. package/dist/esm/p-toggle.entry.js +3 -3
  313. package/dist/esm/paperless.js +1 -1
  314. package/dist/index.html +1 -1
  315. package/dist/paperless/p-03c70942.entry.js +2 -0
  316. package/dist/paperless/{p-638d2138.entry.js → p-096eaf0d.entry.js} +2 -2
  317. package/dist/{build/p-b26d5130.entry.js → paperless/p-0cd0a8d2.entry.js} +2 -2
  318. package/dist/paperless/p-0e1c6375.entry.js +2 -0
  319. package/dist/paperless/p-0e1c6375.entry.js.map +1 -0
  320. package/dist/paperless/{p-8d165db5.entry.js → p-0ffb8f53.entry.js} +2 -2
  321. package/dist/paperless/{p-3b5242e9.entry.js → p-167a6397.entry.js} +2 -2
  322. package/dist/paperless/{p-98e3f82a.entry.js → p-28f44624.entry.js} +2 -2
  323. package/dist/{build/p-0c040d86.entry.js → paperless/p-29c71645.entry.js} +2 -2
  324. package/dist/paperless/p-2f613a2a.entry.js +2 -0
  325. package/dist/{build/p-c60e5c3d.entry.js → paperless/p-3023e8dc.entry.js} +2 -2
  326. package/dist/paperless/{p-96ad9c58.entry.js → p-39e51563.entry.js} +2 -2
  327. package/dist/paperless/{p-6f3a4499.entry.js → p-3e2708de.entry.js} +2 -2
  328. package/dist/paperless/{p-68647b9e.entry.js → p-401ff01b.entry.js} +2 -2
  329. package/dist/{build/p-b59372b5.entry.js → paperless/p-4baaed44.entry.js} +2 -2
  330. package/dist/paperless/p-4cef76cf.entry.js +2 -0
  331. package/dist/paperless/{p-4a642ff9.entry.js → p-52056fb3.entry.js} +2 -2
  332. package/dist/paperless/{p-62843ca0.entry.js → p-52fe40e3.entry.js} +2 -2
  333. package/dist/paperless/{p-d31d6714.entry.js → p-5779d316.entry.js} +2 -2
  334. package/dist/paperless/{p-52ff5017.entry.js → p-697ed735.entry.js} +2 -2
  335. package/dist/paperless/{p-a6ccc70e.entry.js → p-7b72764c.entry.js} +2 -2
  336. package/dist/paperless/{p-955d149f.entry.js → p-7c0e0f80.entry.js} +2 -2
  337. package/dist/paperless/{p-f173bb97.entry.js → p-8b1a485b.entry.js} +2 -2
  338. package/dist/paperless/{p-2f821184.entry.js → p-8f4a3d49.entry.js} +2 -2
  339. package/dist/paperless/p-904049ba.entry.js +2 -0
  340. package/dist/{build/p-92f5d9d5.entry.js.map → paperless/p-904049ba.entry.js.map} +1 -1
  341. package/dist/paperless/{p-ed06230b.entry.js → p-9231fe88.entry.js} +2 -2
  342. package/dist/paperless/{p-963f037a.entry.js → p-9406a32e.entry.js} +2 -2
  343. package/dist/{build/p-610eb0ff.entry.js → paperless/p-9593cbb7.entry.js} +2 -2
  344. package/dist/{build/p-d19f3457.entry.js → paperless/p-9afd6c62.entry.js} +2 -2
  345. package/dist/{build/p-a93ce615.entry.js → paperless/p-a38a330d.entry.js} +2 -2
  346. package/dist/paperless/{p-f3d0ea94.entry.js → p-a9c13353.entry.js} +2 -2
  347. package/dist/{build/p-dc01bfa8.entry.js → paperless/p-b162a142.entry.js} +2 -2
  348. package/dist/paperless/{p-fdf020c9.entry.js → p-b542d0b6.entry.js} +2 -2
  349. package/dist/paperless/{p-9a0262b1.entry.js → p-c066c38b.entry.js} +2 -2
  350. package/dist/paperless/p-c801b122.entry.js +2 -0
  351. package/dist/paperless/{p-dfce711d.entry.js → p-cab0361a.entry.js} +2 -2
  352. package/dist/paperless/p-cd2cd75f.entry.js +2 -0
  353. package/dist/paperless/{p-4cb8f3db.entry.js → p-d058cdfc.entry.js} +2 -2
  354. package/dist/paperless/{p-a0fad3d8.entry.js → p-d1da42f4.entry.js} +2 -2
  355. package/dist/paperless/p-d1da42f4.entry.js.map +1 -0
  356. package/dist/{build/p-fb51eccd.entry.js → paperless/p-d26ee54b.entry.js} +2 -2
  357. package/dist/paperless/{p-45d789f5.entry.js → p-d82e4315.entry.js} +2 -2
  358. package/dist/paperless/{p-716a92ae.entry.js → p-d9bf1827.entry.js} +2 -2
  359. package/dist/paperless/{p-68ae68c8.entry.js → p-dd0f4ed0.entry.js} +2 -2
  360. package/dist/paperless/{p-1543f3a0.entry.js → p-df228603.entry.js} +2 -2
  361. package/dist/paperless/p-e078f787.entry.js +2 -0
  362. package/dist/paperless/{p-13e12e68.entry.js → p-e11ab3d2.entry.js} +2 -2
  363. package/dist/{build/p-971aac89.entry.js → paperless/p-e5a54d05.entry.js} +2 -2
  364. package/dist/paperless/p-e77d5ca1.entry.js +2 -0
  365. package/dist/paperless/p-e77d5ca1.entry.js.map +1 -0
  366. package/dist/paperless/{p-62b14ab7.entry.js → p-f05bf2d2.entry.js} +2 -2
  367. package/dist/paperless/{p-129d5cbd.entry.js → p-f762c735.entry.js} +2 -2
  368. package/dist/paperless/{p-57fc0eb5.entry.js → p-fa340d90.entry.js} +2 -2
  369. package/dist/paperless/paperless.esm.js +1 -1
  370. package/dist/paperless/paperless.esm.js.map +1 -1
  371. package/dist/sw.js +1 -1
  372. package/dist/sw.js.map +1 -1
  373. package/dist/types/components/molecules/field/field.component.d.ts +15 -11
  374. package/dist/types/components/molecules/field-container/field-container.component.d.ts +4 -0
  375. package/dist/types/components.d.ts +36 -20
  376. package/hydrate/index.js +154 -114
  377. package/hydrate/index.mjs +154 -114
  378. package/package.json +1 -1
  379. package/dist/build/p-04f4b015.entry.js +0 -2
  380. package/dist/build/p-04f4b015.entry.js.map +0 -1
  381. package/dist/build/p-3b276ae0.entry.js +0 -2
  382. package/dist/build/p-84863ba0.entry.js +0 -2
  383. package/dist/build/p-859c4fb1.entry.js +0 -2
  384. package/dist/build/p-886c060f.entry.js +0 -2
  385. package/dist/build/p-886c060f.entry.js.map +0 -1
  386. package/dist/build/p-92f5d9d5.entry.js +0 -2
  387. package/dist/build/p-a0fad3d8.entry.js.map +0 -1
  388. package/dist/build/p-e839a672.entry.js +0 -2
  389. package/dist/build/p-f66c7368.entry.js +0 -2
  390. package/dist/build/p-f70908cc.entry.js +0 -2
  391. package/dist/paperless/p-04f4b015.entry.js +0 -2
  392. package/dist/paperless/p-04f4b015.entry.js.map +0 -1
  393. package/dist/paperless/p-3b276ae0.entry.js +0 -2
  394. package/dist/paperless/p-84863ba0.entry.js +0 -2
  395. package/dist/paperless/p-859c4fb1.entry.js +0 -2
  396. package/dist/paperless/p-886c060f.entry.js +0 -2
  397. package/dist/paperless/p-886c060f.entry.js.map +0 -1
  398. package/dist/paperless/p-92f5d9d5.entry.js +0 -2
  399. package/dist/paperless/p-a0fad3d8.entry.js.map +0 -1
  400. package/dist/paperless/p-e839a672.entry.js +0 -2
  401. package/dist/paperless/p-f66c7368.entry.js +0 -2
  402. package/dist/paperless/p-f70908cc.entry.js +0 -2
  403. /package/dist/build/{p-3b276ae0.entry.js.map → p-03c70942.entry.js.map} +0 -0
  404. /package/dist/build/{p-638d2138.entry.js.map → p-096eaf0d.entry.js.map} +0 -0
  405. /package/dist/build/{p-b26d5130.entry.js.map → p-0cd0a8d2.entry.js.map} +0 -0
  406. /package/dist/build/{p-8d165db5.entry.js.map → p-0ffb8f53.entry.js.map} +0 -0
  407. /package/dist/build/{p-3b5242e9.entry.js.map → p-167a6397.entry.js.map} +0 -0
  408. /package/dist/build/{p-98e3f82a.entry.js.map → p-28f44624.entry.js.map} +0 -0
  409. /package/dist/build/{p-0c040d86.entry.js.map → p-29c71645.entry.js.map} +0 -0
  410. /package/dist/build/{p-859c4fb1.entry.js.map → p-2f613a2a.entry.js.map} +0 -0
  411. /package/dist/build/{p-c60e5c3d.entry.js.map → p-3023e8dc.entry.js.map} +0 -0
  412. /package/dist/build/{p-96ad9c58.entry.js.map → p-39e51563.entry.js.map} +0 -0
  413. /package/dist/build/{p-6f3a4499.entry.js.map → p-3e2708de.entry.js.map} +0 -0
  414. /package/dist/build/{p-68647b9e.entry.js.map → p-401ff01b.entry.js.map} +0 -0
  415. /package/dist/build/{p-b59372b5.entry.js.map → p-4baaed44.entry.js.map} +0 -0
  416. /package/dist/build/{p-f66c7368.entry.js.map → p-4cef76cf.entry.js.map} +0 -0
  417. /package/dist/build/{p-4a642ff9.entry.js.map → p-52056fb3.entry.js.map} +0 -0
  418. /package/dist/build/{p-62843ca0.entry.js.map → p-52fe40e3.entry.js.map} +0 -0
  419. /package/dist/build/{p-d31d6714.entry.js.map → p-5779d316.entry.js.map} +0 -0
  420. /package/dist/build/{p-52ff5017.entry.js.map → p-697ed735.entry.js.map} +0 -0
  421. /package/dist/build/{p-a6ccc70e.entry.js.map → p-7b72764c.entry.js.map} +0 -0
  422. /package/dist/build/{p-955d149f.entry.js.map → p-7c0e0f80.entry.js.map} +0 -0
  423. /package/dist/build/{p-f173bb97.entry.js.map → p-8b1a485b.entry.js.map} +0 -0
  424. /package/dist/build/{p-2f821184.entry.js.map → p-8f4a3d49.entry.js.map} +0 -0
  425. /package/dist/build/{p-ed06230b.entry.js.map → p-9231fe88.entry.js.map} +0 -0
  426. /package/dist/build/{p-963f037a.entry.js.map → p-9406a32e.entry.js.map} +0 -0
  427. /package/dist/build/{p-610eb0ff.entry.js.map → p-9593cbb7.entry.js.map} +0 -0
  428. /package/dist/build/{p-d19f3457.entry.js.map → p-9afd6c62.entry.js.map} +0 -0
  429. /package/dist/build/{p-a93ce615.entry.js.map → p-a38a330d.entry.js.map} +0 -0
  430. /package/dist/build/{p-f3d0ea94.entry.js.map → p-a9c13353.entry.js.map} +0 -0
  431. /package/dist/build/{p-dc01bfa8.entry.js.map → p-b162a142.entry.js.map} +0 -0
  432. /package/dist/build/{p-fdf020c9.entry.js.map → p-b542d0b6.entry.js.map} +0 -0
  433. /package/dist/build/{p-9a0262b1.entry.js.map → p-c066c38b.entry.js.map} +0 -0
  434. /package/dist/build/{p-f70908cc.entry.js.map → p-c801b122.entry.js.map} +0 -0
  435. /package/dist/build/{p-dfce711d.entry.js.map → p-cab0361a.entry.js.map} +0 -0
  436. /package/dist/build/{p-84863ba0.entry.js.map → p-cd2cd75f.entry.js.map} +0 -0
  437. /package/dist/build/{p-4cb8f3db.entry.js.map → p-d058cdfc.entry.js.map} +0 -0
  438. /package/dist/build/{p-fb51eccd.entry.js.map → p-d26ee54b.entry.js.map} +0 -0
  439. /package/dist/build/{p-45d789f5.entry.js.map → p-d82e4315.entry.js.map} +0 -0
  440. /package/dist/build/{p-716a92ae.entry.js.map → p-d9bf1827.entry.js.map} +0 -0
  441. /package/dist/build/{p-68ae68c8.entry.js.map → p-dd0f4ed0.entry.js.map} +0 -0
  442. /package/dist/build/{p-1543f3a0.entry.js.map → p-df228603.entry.js.map} +0 -0
  443. /package/dist/build/{p-e839a672.entry.js.map → p-e078f787.entry.js.map} +0 -0
  444. /package/dist/build/{p-13e12e68.entry.js.map → p-e11ab3d2.entry.js.map} +0 -0
  445. /package/dist/build/{p-971aac89.entry.js.map → p-e5a54d05.entry.js.map} +0 -0
  446. /package/dist/build/{p-62b14ab7.entry.js.map → p-f05bf2d2.entry.js.map} +0 -0
  447. /package/dist/build/{p-129d5cbd.entry.js.map → p-f762c735.entry.js.map} +0 -0
  448. /package/dist/build/{p-57fc0eb5.entry.js.map → p-fa340d90.entry.js.map} +0 -0
  449. /package/dist/paperless/{p-3b276ae0.entry.js.map → p-03c70942.entry.js.map} +0 -0
  450. /package/dist/paperless/{p-638d2138.entry.js.map → p-096eaf0d.entry.js.map} +0 -0
  451. /package/dist/paperless/{p-b26d5130.entry.js.map → p-0cd0a8d2.entry.js.map} +0 -0
  452. /package/dist/paperless/{p-8d165db5.entry.js.map → p-0ffb8f53.entry.js.map} +0 -0
  453. /package/dist/paperless/{p-3b5242e9.entry.js.map → p-167a6397.entry.js.map} +0 -0
  454. /package/dist/paperless/{p-98e3f82a.entry.js.map → p-28f44624.entry.js.map} +0 -0
  455. /package/dist/paperless/{p-0c040d86.entry.js.map → p-29c71645.entry.js.map} +0 -0
  456. /package/dist/paperless/{p-859c4fb1.entry.js.map → p-2f613a2a.entry.js.map} +0 -0
  457. /package/dist/paperless/{p-c60e5c3d.entry.js.map → p-3023e8dc.entry.js.map} +0 -0
  458. /package/dist/paperless/{p-96ad9c58.entry.js.map → p-39e51563.entry.js.map} +0 -0
  459. /package/dist/paperless/{p-6f3a4499.entry.js.map → p-3e2708de.entry.js.map} +0 -0
  460. /package/dist/paperless/{p-68647b9e.entry.js.map → p-401ff01b.entry.js.map} +0 -0
  461. /package/dist/paperless/{p-b59372b5.entry.js.map → p-4baaed44.entry.js.map} +0 -0
  462. /package/dist/paperless/{p-f66c7368.entry.js.map → p-4cef76cf.entry.js.map} +0 -0
  463. /package/dist/paperless/{p-4a642ff9.entry.js.map → p-52056fb3.entry.js.map} +0 -0
  464. /package/dist/paperless/{p-62843ca0.entry.js.map → p-52fe40e3.entry.js.map} +0 -0
  465. /package/dist/paperless/{p-d31d6714.entry.js.map → p-5779d316.entry.js.map} +0 -0
  466. /package/dist/paperless/{p-52ff5017.entry.js.map → p-697ed735.entry.js.map} +0 -0
  467. /package/dist/paperless/{p-a6ccc70e.entry.js.map → p-7b72764c.entry.js.map} +0 -0
  468. /package/dist/paperless/{p-955d149f.entry.js.map → p-7c0e0f80.entry.js.map} +0 -0
  469. /package/dist/paperless/{p-f173bb97.entry.js.map → p-8b1a485b.entry.js.map} +0 -0
  470. /package/dist/paperless/{p-2f821184.entry.js.map → p-8f4a3d49.entry.js.map} +0 -0
  471. /package/dist/paperless/{p-ed06230b.entry.js.map → p-9231fe88.entry.js.map} +0 -0
  472. /package/dist/paperless/{p-963f037a.entry.js.map → p-9406a32e.entry.js.map} +0 -0
  473. /package/dist/paperless/{p-610eb0ff.entry.js.map → p-9593cbb7.entry.js.map} +0 -0
  474. /package/dist/paperless/{p-d19f3457.entry.js.map → p-9afd6c62.entry.js.map} +0 -0
  475. /package/dist/paperless/{p-a93ce615.entry.js.map → p-a38a330d.entry.js.map} +0 -0
  476. /package/dist/paperless/{p-f3d0ea94.entry.js.map → p-a9c13353.entry.js.map} +0 -0
  477. /package/dist/paperless/{p-dc01bfa8.entry.js.map → p-b162a142.entry.js.map} +0 -0
  478. /package/dist/paperless/{p-fdf020c9.entry.js.map → p-b542d0b6.entry.js.map} +0 -0
  479. /package/dist/paperless/{p-9a0262b1.entry.js.map → p-c066c38b.entry.js.map} +0 -0
  480. /package/dist/paperless/{p-f70908cc.entry.js.map → p-c801b122.entry.js.map} +0 -0
  481. /package/dist/paperless/{p-dfce711d.entry.js.map → p-cab0361a.entry.js.map} +0 -0
  482. /package/dist/paperless/{p-84863ba0.entry.js.map → p-cd2cd75f.entry.js.map} +0 -0
  483. /package/dist/paperless/{p-4cb8f3db.entry.js.map → p-d058cdfc.entry.js.map} +0 -0
  484. /package/dist/paperless/{p-fb51eccd.entry.js.map → p-d26ee54b.entry.js.map} +0 -0
  485. /package/dist/paperless/{p-45d789f5.entry.js.map → p-d82e4315.entry.js.map} +0 -0
  486. /package/dist/paperless/{p-716a92ae.entry.js.map → p-d9bf1827.entry.js.map} +0 -0
  487. /package/dist/paperless/{p-68ae68c8.entry.js.map → p-dd0f4ed0.entry.js.map} +0 -0
  488. /package/dist/paperless/{p-1543f3a0.entry.js.map → p-df228603.entry.js.map} +0 -0
  489. /package/dist/paperless/{p-e839a672.entry.js.map → p-e078f787.entry.js.map} +0 -0
  490. /package/dist/paperless/{p-13e12e68.entry.js.map → p-e11ab3d2.entry.js.map} +0 -0
  491. /package/dist/paperless/{p-971aac89.entry.js.map → p-e5a54d05.entry.js.map} +0 -0
  492. /package/dist/paperless/{p-62b14ab7.entry.js.map → p-f05bf2d2.entry.js.map} +0 -0
  493. /package/dist/paperless/{p-129d5cbd.entry.js.map → p-f762c735.entry.js.map} +0 -0
  494. /package/dist/paperless/{p-57fc0eb5.entry.js.map → p-fa340d90.entry.js.map} +0 -0
@@ -3,6 +3,7 @@ import { formatTranslation, getLocaleComponentStrings } from "../../../utils";
3
3
  export class FieldContainer {
4
4
  constructor() {
5
5
  this.label = undefined;
6
+ this.variant = undefined;
6
7
  this.helper = undefined;
7
8
  this.required = undefined;
8
9
  this.error = undefined;
@@ -22,7 +23,8 @@ export class FieldContainer {
22
23
  }
23
24
  render() {
24
25
  const { hasHeaderSlot, hasErrorSlot, helper, label, errorAndErrorIsNotBoolean, } = this._getSlotInfo();
25
- return (h(Host, { key: 'd281d2a9ff20d8ade9f76ad4eb86085e9924130f', class: 'p-field-container' }, h("div", { key: 'bd089038396275d6055446fdc3c8df5565905633', class: 'flex w-inherit flex-col gap-1' }, h("div", { key: 'dabb2165c9791a856aac3ba207cdc8633174c322', class: 'flex items-end justify-between gap-1' }, label && (h("div", { key: '955a3a463212f5eebb50c84156b4245cec176e05', class: 'text-xs font-medium text-black-teal-300', onClick: () => this.focus.emit() }, label)), (!this.required || helper || hasHeaderSlot) && (h("div", { key: 'eeb7241af592900b4d7703af00d5ba5083d23836', class: 'flex items-center gap-1' }, !this.required && (h("span", { key: 'e59dca6b1ee35d7a69489c0a38d5fb7b25a9da9d', class: 'text-xs font-medium text-black-teal-200' }, this.optionalTemplate())), (helper || hasHeaderSlot) && (h(Fragment, { key: 'c8b6efc1f2acaff910265a8db68c50626c6c9d37' }, hasHeaderSlot && h("slot", { key: '511747f7a8fe7cfc33e8e88d6fc156cb0f86ac14', name: 'header' }), helper && (h("p-helper", { key: '08c8ba308601ba7247cfe6f4272c4b5f3b2d1f32', class: `flex ${hasHeaderSlot ? 'ml-2' : ''}`, placement: 'top-end' }, helper))))))), h("p-tooltip", { key: '9b0ddbeae82d7cdaa7db4eb0ca7a3312166983dc', class: 'w-full', variant: 'error', content: this.error, show: errorAndErrorIsNotBoolean && this.forceShowTooltip, enableUserInput: false, placement: this.errorPlacement }, hasErrorSlot && (h("slot", { key: '653ddb7c4ab6b8d1c14f581a72e663c96cd7c494', name: 'error', slot: 'content' })), h("slot", { key: '66e58f122515c6e68ca669b6d00d2a23feee31c9', name: 'content', slot: 'trigger' })))));
26
+ const contentSlot = (h("slot", { key: 'a7e3919d645cc21fa538340b0c9ea7a98e66ca90', name: 'content', slot: 'trigger' }));
27
+ return (h(Host, { key: '44a79d2058aafb4d9bf89f09cb3e7a1a708d99f9', class: 'p-field-container' }, h("div", { key: '47af2893a5f27a1a905c846a016c183756d026f8', class: 'flex w-inherit flex-col gap-1' }, h("div", { key: 'cd64bc812c19e11d35ea4eb1756f9885a1f2a148', class: 'flex items-end justify-between gap-1' }, label && (h("div", { key: '962aecba76c4ba9326ed992d6ad39c1efbdab8ab', class: 'text-xs font-medium text-black-teal-300', onClick: () => this.focus.emit() }, label)), (!this.required || helper || hasHeaderSlot) && (h("div", { key: 'd0cdd8810de8098eaca90d2aeddd1f01fbcd0faf', class: 'flex items-center gap-1' }, !this.required && this.variant === 'write' && (h("span", { key: 'e83d37fcb0050bad328d0aa2d6890c1226fe17fb', class: 'text-xs font-medium text-black-teal-200' }, this.optionalTemplate())), (helper || hasHeaderSlot) && (h(Fragment, { key: 'c156ee1c951fec9dbe602cf317ff7591a6bce9bf' }, hasHeaderSlot && h("slot", { key: 'e568644b05673354c9059042b0ba40f137d1709c', name: 'header' }), helper && (h("p-helper", { key: '7dcbdd61deb2eba74abf8f57b245b011fbf9066b', class: `flex ${hasHeaderSlot ? 'ml-2' : ''}`, placement: 'top-end' }, helper))))))), h("p-tooltip", { key: '41588daf8a794d9d16d32bcd841f5f4cbe64349a', class: 'w-full', variant: 'error', content: this.error, show: errorAndErrorIsNotBoolean && this.forceShowTooltip, enableUserInput: false, placement: this.errorPlacement }, hasErrorSlot && (h("slot", { key: 'a61dd91094db6ac2b016ee79320cffd887976e12', name: 'error', slot: 'content' })), contentSlot))));
26
28
  }
27
29
  async _setLocales() {
28
30
  this._locales = await getLocaleComponentStrings(this._el);
@@ -84,6 +86,25 @@ export class FieldContainer {
84
86
  "attribute": "label",
85
87
  "reflect": false
86
88
  },
89
+ "variant": {
90
+ "type": "string",
91
+ "mutable": false,
92
+ "complexType": {
93
+ "original": "'read' | 'write'",
94
+ "resolved": "\"read\" | \"write\"",
95
+ "references": {}
96
+ },
97
+ "required": false,
98
+ "optional": false,
99
+ "docs": {
100
+ "tags": [],
101
+ "text": "The variant of the field container"
102
+ },
103
+ "getter": false,
104
+ "setter": false,
105
+ "attribute": "variant",
106
+ "reflect": false
107
+ },
87
108
  "helper": {
88
109
  "type": "string",
89
110
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"field-container.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/field-container/field-container.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEventEmitter,\n\th,\n\tHost,\n\tEvent,\n\tProp,\n\tFragment,\n\tState,\n\tListen,\n} from '@stencil/core';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { Placement } from '@floating-ui/dom';\n\nexport type templateFunc = () => string;\n\n@Component({\n\ttag: 'p-field-container',\n\tstyleUrl: 'field-container.component.css',\n\tshadow: true,\n})\nexport class FieldContainer {\n\tprivate _defaultOptionalTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.optional);\n\n\t/**\n\t * The label of the input group\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop({ reflect: true }) error: string | HTMLSlotElement;\n\n\t/**\n\t * The placement of the error popover\n\t */\n\t@Prop() errorPlacement: Placement;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * The template for the optional text\n\t */\n\t@Prop() optionalTemplate: templateFunc = this._defaultOptionalTemplate;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@Event() focus: EventEmitter<void>;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t} = this._getSlotInfo();\n\n\t\treturn (\n\t\t\t<Host class='p-field-container'>\n\t\t\t\t<div class='flex w-inherit flex-col gap-1'>\n\t\t\t\t\t<div class='flex items-end justify-between gap-1'>\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='text-xs font-medium text-black-teal-300'\n\t\t\t\t\t\t\t\tonClick={() => this.focus.emit()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{(!this.required || helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t<div class='flex items-center gap-1'>\n\t\t\t\t\t\t\t\t{!this.required && (\n\t\t\t\t\t\t\t\t\t<span class='text-xs font-medium text-black-teal-200'>\n\t\t\t\t\t\t\t\t\t\t{this.optionalTemplate()}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{(helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t{hasHeaderSlot && <slot name='header' />}\n\t\t\t\t\t\t\t\t\t\t{helper && (\n\t\t\t\t\t\t\t\t\t\t\t<p-helper\n\t\t\t\t\t\t\t\t\t\t\t\tclass={`flex ${hasHeaderSlot ? 'ml-2' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t\tplacement='top-end'\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{helper}\n\t\t\t\t\t\t\t\t\t\t\t</p-helper>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\tvariant='error'\n\t\t\t\t\t\tcontent={this.error}\n\t\t\t\t\t\tshow={errorAndErrorIsNotBoolean && this.forceShowTooltip}\n\t\t\t\t\t\tenableUserInput={false}\n\t\t\t\t\t\tplacement={this.errorPlacement}\n\t\t\t\t\t>\n\t\t\t\t\t\t{hasErrorSlot && (\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname='error'\n\t\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname='content'\n\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t/>\n\t\t\t\t\t</p-tooltip>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(':scope > [slot=\"helper\"]');\n\t\tconst hasLabelSlot = !!this._el.querySelector(':scope > [slot=\"label\"]');\n\t\tconst hasHeaderSlot = !!this._el.querySelector(':scope > [slot=\"header\"]');\n\t\tconst hasErrorSlot = !!this._el.querySelector(':scope > [slot=\"error\"]');\n\n\t\tconst helper = hasHelperSlot ? <slot name='helper' /> : this.helper;\n\t\tconst label = hasLabelSlot ? <slot name='label' /> : this.label;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\thasErrorSlot ||\n\t\t\t(this.error && typeof this.error === 'string' && this.error !== 'true');\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t};\n\t}\n}\n"]}
1
+ {"version":3,"file":"field-container.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/field-container/field-container.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEventEmitter,\n\th,\n\tHost,\n\tEvent,\n\tProp,\n\tFragment,\n\tState,\n\tListen,\n} from '@stencil/core';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { Placement } from '@floating-ui/dom';\n\nexport type templateFunc = () => string;\n\n@Component({\n\ttag: 'p-field-container',\n\tstyleUrl: 'field-container.component.css',\n\tshadow: true,\n})\nexport class FieldContainer {\n\tprivate _defaultOptionalTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.optional);\n\n\t/**\n\t * The label of the input group\n\t */\n\t@Prop() label: string | HTMLSlotElement;\n\n\t/**\n\t * The variant of the field container\n\t */\n\t@Prop() variant: 'read' | 'write';\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop() helper: string | HTMLSlotElement;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean;\n\n\t/**\n\t * The helper of the input group\n\t */\n\t@Prop({ reflect: true }) error: string | HTMLSlotElement;\n\n\t/**\n\t * The placement of the error popover\n\t */\n\t@Prop() errorPlacement: Placement;\n\n\t/**\n\t * Force show the error tooltip\n\t */\n\t@Prop({ reflect: true }) forceShowTooltip: boolean = false;\n\n\t/**\n\t * The template for the optional text\n\t */\n\t@Prop() optionalTemplate: templateFunc = this._defaultOptionalTemplate;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@Event() focus: EventEmitter<void>;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t} = this._getSlotInfo();\n\n\t\tconst contentSlot = (\n\t\t\t<slot\n\t\t\t\tname='content'\n\t\t\t\tslot='trigger'\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<Host class='p-field-container'>\n\t\t\t\t<div class='flex w-inherit flex-col gap-1'>\n\t\t\t\t\t<div class='flex items-end justify-between gap-1'>\n\t\t\t\t\t\t{label && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='text-xs font-medium text-black-teal-300'\n\t\t\t\t\t\t\t\tonClick={() => this.focus.emit()}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{(!this.required || helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t<div class='flex items-center gap-1'>\n\t\t\t\t\t\t\t\t{!this.required && this.variant === 'write' && (\n\t\t\t\t\t\t\t\t\t<span class='text-xs font-medium text-black-teal-200'>\n\t\t\t\t\t\t\t\t\t\t{this.optionalTemplate()}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t\t{(helper || hasHeaderSlot) && (\n\t\t\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t\t\t{hasHeaderSlot && <slot name='header' />}\n\t\t\t\t\t\t\t\t\t\t{helper && (\n\t\t\t\t\t\t\t\t\t\t\t<p-helper\n\t\t\t\t\t\t\t\t\t\t\t\tclass={`flex ${hasHeaderSlot ? 'ml-2' : ''}`}\n\t\t\t\t\t\t\t\t\t\t\t\tplacement='top-end'\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{helper}\n\t\t\t\t\t\t\t\t\t\t\t</p-helper>\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\tvariant='error'\n\t\t\t\t\t\tcontent={this.error}\n\t\t\t\t\t\tshow={errorAndErrorIsNotBoolean && this.forceShowTooltip}\n\t\t\t\t\t\tenableUserInput={false}\n\t\t\t\t\t\tplacement={this.errorPlacement}\n\t\t\t\t\t>\n\t\t\t\t\t\t{hasErrorSlot && (\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\tname='error'\n\t\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t{contentSlot}\n\t\t\t\t\t</p-tooltip>\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\tprivate _getSlotInfo() {\n\t\tconst hasHelperSlot = !!this._el.querySelector(':scope > [slot=\"helper\"]');\n\t\tconst hasLabelSlot = !!this._el.querySelector(':scope > [slot=\"label\"]');\n\t\tconst hasHeaderSlot = !!this._el.querySelector(':scope > [slot=\"header\"]');\n\t\tconst hasErrorSlot = !!this._el.querySelector(':scope > [slot=\"error\"]');\n\n\t\tconst helper = hasHelperSlot ? <slot name='helper' /> : this.helper;\n\t\tconst label = hasLabelSlot ? <slot name='label' /> : this.label;\n\n\t\tconst errorAndErrorIsNotBoolean =\n\t\t\thasErrorSlot ||\n\t\t\t(this.error && typeof this.error === 'string' && this.error !== 'true');\n\n\t\treturn {\n\t\t\thasHelperSlot,\n\t\t\thasLabelSlot,\n\t\t\thasHeaderSlot,\n\t\t\thasErrorSlot,\n\t\t\thelper,\n\t\t\tlabel,\n\t\t\terrorAndErrorIsNotBoolean,\n\t\t};\n\t}\n}\n"]}
@@ -6,7 +6,7 @@ export class InputError {
6
6
  this._showTooltip = false;
7
7
  }
8
8
  render() {
9
- return (h(Host, { key: 'ac5ab660850ac1908dd9645aec4e96238946ecf2', class: 'p-input-error' }, h("p-tooltip", { key: 'f9d2588446e1f675c4de4d58fd0d24e7d2af1fe9', variant: 'error', content: this.error, show: this.forceShowTooltip, onIsOpen: ev => (this._showTooltip = ev.detail) }, h("p-icon", { key: '4e6eaa812e9b30b07299a617c1fcb24261c00fee', class: `${this._showTooltip ? 'text-negative' : 'text-negative-light'} hover:text-negative`, slot: 'trigger', variant: 'question-circle' }))));
9
+ return (h(Host, { key: '1dfbd30a1da9a7662166b86f498a085c12b23f2a', class: 'p-input-error' }, h("p-tooltip", { key: 'c90ceaf3df4e65de6f52009ac1bd131783849911', variant: 'error', content: this.error, show: this.forceShowTooltip, onIsOpen: ev => (this._showTooltip = ev.detail) }, h("p-icon", { key: '6cf02d8edb26b1b1a8f0b961ae61ab70fbf38846', class: `${this._showTooltip ? 'text-negative' : 'text-negative-light'} hover:text-negative`, slot: 'trigger', variant: 'question-circle' }))));
10
10
  }
11
11
  static get is() { return "p-input-error"; }
12
12
  static get encapsulation() { return "shadow"; }
@@ -32,11 +32,11 @@ export class InputGroup {
32
32
  }
33
33
  render() {
34
34
  const { hasHeaderSlot, helper, label, prefix, suffix, errorAndErrorIsNotBoolean, errorVariant, } = this._getSlotInfo();
35
- return (h(Host, { key: '7c6b1a6a99947e106e1643c7fc1be75a8f2b7cee', class: `p-input-group ${this.error?.length && 'error'} ${this.disabled && 'disabled'} ${this.focused && 'focused'} size-${this.size}` }, h("div", { key: 'e5169853ae114e0bb28dde38a9ca01a419c483fa', class: 'flex items-end justify-between' }, label && (h("div", { key: 'd6a86094fa1c23aa2ad0ae9be4e7b2c2e5f6b08a', class: 'input-label', onClick: () => this._focusInput() }, label, this.required && h("span", { key: '784a019a9e528c2ba660c1cf5ac639c0d22a7d49', class: 'ml-1 text-negative' }, "*"))), (helper || hasHeaderSlot) && (h("div", { key: 'ebcfae4c6dd40d6cf396a9e5e9bb3a92d3b97e6e', class: 'input-header' }, hasHeaderSlot && h("slot", { key: '88a47687137491526b7a4910cf525c6ca83feda5', name: 'header' }), helper && (h("p-helper", { key: 'c2e55ad18f1b42283698849e3d9d5ddbfe5bed56', class: `flex ${hasHeaderSlot ? 'ml-2' : ''}`, placement: 'top-end' }, helper))))), h("p-tooltip", { key: 'bf382febbfbc2f79c4d7d18011173eadd779b786', class: 'w-full', variant: 'error', content: this.error, show: errorAndErrorIsNotBoolean &&
35
+ return (h(Host, { key: '9848be9dc18dbb66de4ffaeb0fd6377204355127', class: `p-input-group ${this.error?.length && 'error'} ${this.disabled && 'disabled'} ${this.focused && 'focused'} size-${this.size}` }, h("div", { key: '4d4035d525fe79a6afbd669bf49302fbd96ee4a9', class: 'flex items-end justify-between' }, label && (h("div", { key: '859e6c72d70ddd2b62c72170be460452d0d87d11', class: 'input-label', onClick: () => this._focusInput() }, label, this.required && h("span", { key: '19c99b31a2d0f5b6f03971b6441e459653e3af13', class: 'ml-1 text-negative' }, "*"))), (helper || hasHeaderSlot) && (h("div", { key: '3e2abec6c63ae8d26b42316d48516992c2bc699b', class: 'input-header' }, hasHeaderSlot && h("slot", { key: '1d100f887f1345ccfcf11e97d7667dd94355f026', name: 'header' }), helper && (h("p-helper", { key: '9dbf5401cd26db9421c526bd406c683829abd877', class: `flex ${hasHeaderSlot ? 'ml-2' : ''}`, placement: 'top-end' }, helper))))), h("p-tooltip", { key: '71ef03a090b4311c14d7c935809f147140791e9e', class: 'w-full', variant: 'error', content: this.error, show: errorAndErrorIsNotBoolean &&
36
36
  errorVariant === 'element' &&
37
- (this.forceShowTooltip || this._forceShowTooltip), enableUserInput: false }, h("div", { key: '306065f4b9df5467febe25a249111a67affe7382', class: 'content', slot: 'trigger' }, (prefix || (this.icon && this.iconPosition === 'start')) && (h("div", { key: '8ee0a54494f54c91e812ac19692fe33de55b16ee', class: `prefix size-${this.size}`, onClick: () => this._focusInput() }, this.icon && this.iconPosition === 'start' ? (h("p-icon", { class: 'flex', variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (prefix))), (suffix ||
37
+ (this.forceShowTooltip || this._forceShowTooltip), enableUserInput: false }, h("div", { key: '21bda229af33f22f4080ef66cd2b2821f755edd6', class: 'content', slot: 'trigger' }, (prefix || (this.icon && this.iconPosition === 'start')) && (h("div", { key: '21f4e49db797a4ee2e6caee81d952858cc550567', class: `prefix size-${this.size}`, onClick: () => this._focusInput() }, this.icon && this.iconPosition === 'start' ? (h("p-icon", { class: 'flex', variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (prefix))), (suffix ||
38
38
  (errorAndErrorIsNotBoolean && errorVariant === 'icon') ||
39
- (this.icon && this.iconPosition === 'end')) && (h("div", { key: '07dae7781dd393de1101c6c6d5d8937d743bc5e5', class: `suffix size-${this.size}`, onClick: () => this._focusInput() }, errorAndErrorIsNotBoolean && errorVariant === 'icon' ? (h("p-input-error", { error: this.error, forceShowTooltip: this.forceShowTooltip || this._forceShowTooltip })) : this.icon && this.iconPosition === 'end' ? (h("p-icon", { class: 'flex', variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (suffix))), h("slot", { key: 'e9244425d359da5540cafa9d24f920254c0caefa', name: 'input' })))));
39
+ (this.icon && this.iconPosition === 'end')) && (h("div", { key: '033bc354c872c0b9fb351182d7466515642d3f9b', class: `suffix size-${this.size}`, onClick: () => this._focusInput() }, errorAndErrorIsNotBoolean && errorVariant === 'icon' ? (h("p-input-error", { error: this.error, forceShowTooltip: this.forceShowTooltip || this._forceShowTooltip })) : this.icon && this.iconPosition === 'end' ? (h("p-icon", { class: 'flex', variant: this.icon, rotate: this.iconRotate, flip: this.iconFlip })) : (suffix))), h("slot", { key: '1dc6aa666c99246ba2d532c435987875528af5f6', name: 'input' })))));
40
40
  }
41
41
  handleFocusIn() {
42
42
  this._forceShowTooltip = true;
@@ -37,14 +37,14 @@ export class Label {
37
37
  this.keepMobileContent = false;
38
38
  }
39
39
  render() {
40
- return (h(Host, { key: '1ea6b62ca882280297a9da6f6621c656ab5e5ad2', class: 'p-label' }, h("div", { key: '59a0a606b8d20ccf79154dd94436a2ecac6a78d7', class: label({
40
+ return (h(Host, { key: '04c0b2510fd1ae8cad957ee02d7d54245b7fdbb0', class: 'p-label' }, h("div", { key: '7dfd0871e52cef46c49f0c30e58facfa603c5d0f', class: label({
41
41
  variant: this.variant,
42
42
  iconOnly: this.iconOnly,
43
43
  keepMobileContent: this.keepMobileContent,
44
- }) }, this.icon && (h("p-icon", { key: 'c0a2010bdb110d4b9d94f4dd74d3070eaaf33c0c', class: 'flex-shrink-0', variant: this.icon, flip: this.iconFlip, rotate: this.iconRotate })), !this.iconOnly && (h("div", { key: '3080a8dea111f38a9eb73b60a984bdd39276c7ae', class: cn('flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-sm', {
44
+ }) }, this.icon && (h("p-icon", { key: 'b70587122206d6b26785cbf5e9e8219219aeb7d0', class: 'flex-shrink-0', variant: this.icon, flip: this.iconFlip, rotate: this.iconRotate })), !this.iconOnly && (h("div", { key: '5426ae86e86f205b04130628923f3d53747c85d5', class: cn('flex-1 overflow-hidden text-ellipsis whitespace-nowrap text-sm', {
45
45
  hidden: !this.keepMobileContent,
46
46
  'desktop-xs:block': !this.keepMobileContent,
47
- }) }, h("slot", { key: 'f2f655c88df2ef9c953b0993fdd34b818a062567' }))))));
47
+ }) }, h("slot", { key: '62413d44b71c12291cb13997e839774d2b047fdd' }))))));
48
48
  }
49
49
  static get is() { return "p-label"; }
50
50
  static get encapsulation() { return "shadow"; }
@@ -43,10 +43,10 @@ export class NavigationItem {
43
43
  render() {
44
44
  const TagType = this.as;
45
45
  const active = this.active || this.class?.includes('active');
46
- return (h(Host, { key: 'fd0d001679ae464ac2b9f0e4fa20f0fb64c8523d', class: cn('p-navigation-item inline-block', this.class) }, h(TagType, { key: '69b28661607031697191fc1f4b0587e2bd2cee25', class: navigationItem({
46
+ return (h(Host, { key: '79388e74c4f842451ba5bfc706b69905cdbd23f3', class: cn('p-navigation-item inline-block', this.class) }, h(TagType, { key: '6f7f1bcabc8818c254af81a137c4f111e7405302', class: navigationItem({
47
47
  icon: !!this.icon,
48
48
  active,
49
- }), href: this.href, target: this.target }, h("div", { key: 'aa9e7c60e62a4e82af779f94770b58ae10757ac8', class: navigationItemIconContainer({ active }) }, h("p-icon", { key: '31a6d07a4c90acc898ac346c7e7ecbbe8cb39a37', variant: this.icon })), h("span", { key: 'b9eaee4eddd78500657eee76ea19ef5a12d10479', class: this.counter && 'has-counter' }, h("slot", { key: '932d02bcf7251608a35cda8df7cfb6b545e83fca' })), !!this.counter && this.counter !== '0' && (h("p-badge", { key: '7b992d27f6accd7df40d20609045cc9e1f6f4974' }, this.counter)), !!this.loading && h("p-loader", { key: 'cad21a90aab7f340a78ce7b31cf60426649d835c', class: 'ml-auto' }))));
49
+ }), href: this.href, target: this.target }, h("div", { key: '37f9fea4dafa366137346990d27b1c4ed483f9f7', class: navigationItemIconContainer({ active }) }, h("p-icon", { key: 'ac71d3273d79a30dfdf3383ad988fc57755676dd', variant: this.icon })), h("span", { key: '2125e1909ebdb212e6b873b73edcbaae7d936d50', class: this.counter && 'has-counter' }, h("slot", { key: 'dd26013244c8282e21de4c32c6a7a28a15e52433' })), !!this.counter && this.counter !== '0' && (h("p-badge", { key: 'c8a88ea5590e98e8d2e9fe3f381a334167ae7920' }, this.counter)), !!this.loading && h("p-loader", { key: 'ba965e9b68f55340f3c69fc4dd120b6ee7dcbb44', class: 'ml-auto' }))));
50
50
  }
51
51
  static get is() { return "p-navigation-item"; }
52
52
  static get originalStyleUrls() {
@@ -4,7 +4,7 @@ export class NavigationSection {
4
4
  this.header = undefined;
5
5
  }
6
6
  render() {
7
- return (h(Host, { key: 'aa7af42074a08744f5b6e07d5d878209790215cb', class: 'p-navigation-section flex flex-col gap-2' }, this.header?.length > 0 && (h("p-navigation-title", { key: '1ff0422bad541f4cb25e497151f4239cd2657548' }, this.header)), h("div", { key: 'f1c1089ff6a40535315efc1203d47cfdc1cf03b6', class: 'flex flex-col' }, h("slot", { key: '024ed5e805f64ee6c4beb018c4be83f2b910613d' }))));
7
+ return (h(Host, { key: 'd08d6483e06b2f42650d3b866d9b80b3ecf493fe', class: 'p-navigation-section flex flex-col gap-2' }, this.header?.length > 0 && (h("p-navigation-title", { key: '36c6cad94d0d3372fd81448f29011ee6eb880447' }, this.header)), h("div", { key: '0592eab02c6dfbaea10457f7c148b00de228f1e5', class: 'flex flex-col' }, h("slot", { key: 'e1f2e8847c6b7cdb10696ac9a2a5409a00a94018' }))));
8
8
  }
9
9
  static get is() { return "p-navigation-section"; }
10
10
  static get originalStyleUrls() {
@@ -16,7 +16,7 @@ export class Pagination {
16
16
  this._generate();
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: '2059378b68c7958bced60dc09f6bf46587724dc1', class: `p-pagination ${this.hideOnSinglePage && this._set?.length === 3 && 'hidden'}` }, this._set?.map(p => {
19
+ return (h(Host, { key: '3568c3e866dcd2ffee3fb8acd34a81d63e564068', class: `p-pagination ${this.hideOnSinglePage && this._set?.length === 3 && 'hidden'}` }, this._set?.map(p => {
20
20
  if (p.type === 'previous' || p.type === 'next') {
21
21
  return (h("p-pagination-item", { onClick: () => p.type === 'previous'
22
22
  ? this._previousClick()
@@ -26,7 +26,7 @@ export class Profile {
26
26
  }
27
27
  render() {
28
28
  const content = this._getContent();
29
- return (h(Host, { key: 'ed8dcfa862e21eb3e08871b88b376ec9ccccc74b', class: 'p-profile inline-block w-inherit' }, this._hasDropdownSlot ? (h("p-dropdown", { class: 'block', strategy: 'absolute', placement: this.dropdownLocation, applyFullWidth: true, applyMaxWidth: false, onIsOpen: ev => (this._dropdownOpen = ev.detail) }, h("p-button", { variant: 'dropdown', chevron: this._dropdownOpen ? 'up' : 'down', active: this._dropdownOpen, slot: 'trigger', size: 'lg', class: 'w-full' }, content), h("div", { slot: 'items' }, h("slot", { name: 'dropdown', onSlotchange: () => this._checkDropdownSlot() })))) : (content)));
29
+ return (h(Host, { key: '155d1be3f5cd2acbed03155a869ced051470fbca', class: 'p-profile inline-block w-inherit' }, this._hasDropdownSlot ? (h("p-dropdown", { class: 'block', strategy: 'absolute', placement: this.dropdownLocation, applyFullWidth: true, applyMaxWidth: false, onIsOpen: ev => (this._dropdownOpen = ev.detail) }, h("p-button", { variant: 'dropdown', chevron: this._dropdownOpen ? 'up' : 'down', active: this._dropdownOpen, slot: 'trigger', size: 'lg', class: 'w-full' }, content), h("div", { slot: 'items' }, h("slot", { name: 'dropdown', onSlotchange: () => this._checkDropdownSlot() })))) : (content)));
30
30
  }
31
31
  slotchange() {
32
32
  this._checkDropdownSlot();
@@ -124,7 +124,6 @@ export class Select {
124
124
  }
125
125
  get _displayValue() {
126
126
  const placeholder = (h("div", { class: textContainer({ variant: 'placeholder' }) }, this.placeholder));
127
- console.log(this._selectedItem);
128
127
  if (!this._selectedItem) {
129
128
  return placeholder;
130
129
  }
@@ -174,7 +173,7 @@ export class Select {
174
173
  }
175
174
  }
176
175
  render() {
177
- return (h(Host, { key: 'c8e6d0b1ea9133a463bdd3fcd5a7bbe7344bfbd3', class: 'p-select' }, h("p-dropdown", { key: '4901191964e4ba438141b39d3328359683374aa1', disableTriggerClick: true, calculateWidth: true, insideClick: true, scrollable: this.enableAutocomplete ? 'large' : true, show: this._showDropdown, onIsOpen: ev => this._onDropdownOpen(ev) }, h("p-field-container", { key: 'ba296caea08b2cb0c973be1ff8a8f29f4ea71ad7', slot: 'trigger', prefix: this.prefix, label: this.label, helper: this.helper, required: this.required, error: this.error, errorPlacement: 'top-start', forceShowTooltip: this.error?.length && this._showDropdown }, h("p-button", { key: '18437b40ba02760454809f1e2f92354e38b30e29', class: 'w-full', slot: 'content', variant: 'secondary', size: this.size, chevron: this.showChevron, disabled: this.disabled, active: this._showDropdown, icon: this.icon, onClick: ev => this._onClick(ev) }, h("div", { key: '8bb161da7fa806ae480083c2e719430b1a36bcf0', class: 'relative flex-1', ref: ref => (this._inputRef = ref) }, this._displayValue))), this.loading ? this._getLoadingItems() : this._getItems(), this.showAddItem && this._getAddItem())));
176
+ return (h(Host, { key: 'e1703146f61fa0572b6af24a5acf6793f664cf8d', class: 'p-select' }, h("p-dropdown", { key: '7fcdf8d0721f6f5ab4a2994ed6b1a082bcf025d9', disableTriggerClick: true, calculateWidth: true, insideClick: true, scrollable: this.enableAutocomplete ? 'large' : true, show: this._showDropdown, onIsOpen: ev => this._onDropdownOpen(ev) }, h("p-field-container", { key: '0311a190d5313817e29382e4bf97d568f2221062', slot: 'trigger', prefix: this.prefix, label: this.label, helper: this.helper, required: this.required, error: this.error, errorPlacement: 'top-start', forceShowTooltip: this.error?.length && this._showDropdown }, h("p-button", { key: '16d91a2912b63316fe3203a54b27bb80b6157a50', class: 'w-full', slot: 'content', variant: 'secondary', size: this.size, chevron: this.showChevron, disabled: this.disabled, active: this._showDropdown, icon: this.icon, onClick: ev => this._onClick(ev) }, h("div", { key: 'f6dcac20124cd16f8dc802c4c6f09bff7eeb8e3a', class: 'relative flex-1', ref: ref => (this._inputRef = ref) }, this._displayValue))), this.loading ? this._getLoadingItems() : this._getItems(), this.showAddItem && this._getAddItem())));
178
177
  }
179
178
  documentClickHandler({ target }) {
180
179
  if (!this._showDropdown || childOf(target, this._el)) {
@@ -1 +1 @@
1
- {"version":3,"file":"select.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\nimport { cva } from 'class-variance-authority';\n\nconst multiContainer = cva([\n\t'flex items-center gap-2',\n\t'flex-1 min-w-0 h-full',\n\t'pointer-events-none overflow-hidden',\n]);\n\nconst multiItem = cva([\n\t'item group/item',\n\t'pointer-events-auto cursor-pointer',\n\t'flex h-[1.625rem] items-center gap-2',\n\t'h-[1.625rem] px-2',\n\t'text-sm font-semibold whitespace-nowrap',\n\t'rounded-lg',\n\t'bg-supportive-lilac-100',\n]);\n\nconst textContainer = cva(\n\t'block w-full overflow-hidden text-ellipsis whitespace-nowrap text-start',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tplaceholder: 'text-black-teal-400',\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.css',\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement | HTMLTextAreaElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timeout | undefined;\n\tprivate _checkSelectedItemsTimeout: NodeJS.Timeout | undefined;\n\n\tget _items() {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n\n\tget _displayValue() {\n\t\tconst placeholder = (\n\t\t\t<div class={textContainer({ variant: 'placeholder' })}>\n\t\t\t\t{this.placeholder}\n\t\t\t</div>\n\t\t);\n\n\t\tconsole.log(this._selectedItem);\n\t\tif (!this._selectedItem) {\n\t\t\treturn placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={multiContainer()}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={multiItem()}\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tclass='text-xs text-supportive-lilac group-hover/item:text-supportive-lilac-800'\n\t\t\t\t\t\t\t\tvariant='negative'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra pointer-events-none hidden text-sm text-black-teal-100'>\n\t\t\t\t\t\t+{this._amountHidden}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-field-container\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\terrorPlacement='top-start'\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\tchevron={this.showChevron}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tactive={this._showDropdown}\n\t\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\t\tonClick={ev => this._onClick(ev)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='relative flex-1'\n\t\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</p-button>\n\t\t\t\t\t</p-field-container>\n\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tsetTimeout(() => {\n\t\t\tthis._preselectItem();\n\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t});\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = this._items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _findOnClickTarget(target: HTMLElement) {\n\t\tif (target.nodeName.toLowerCase() === 'p-button') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (target.classList.contains('item')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this._findOnClickTarget(target.parentElement);\n\t}\n\n\tprivate _onClick(ev) {\n\t\tif (!this._findOnClickTarget(ev.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.detail;\n\t\tthis.queryChange.emit(ev.detail);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tuseContainer={false}\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tcheckbox={this.multi ? true : false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p\n\t\t\t\t\tclass='w-full p-2 text-center text-sm text-black-teal-400'\n\t\t\t\t\tslot='items'\n\t\t\t\t>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tslot='items'\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tcheckbox\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this.add.emit()}\n\t\t\t\tuseContainer={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-teal-800'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tenableHover={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass='sticky top-0 mb-3 h-8'\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-field\n\t\t\t\t\tclass='block'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonValueChange={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tonInputRefChange={ev => (this.autocompleteInputRef = ev.detail)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}px`;\n\t}\n\n\tprivate _setCheckSelectedItemsTimeout() {\n\t\tif (this._checkSelectedItemsTimeout) {\n\t\t\tclearTimeout(this._checkSelectedItemsTimeout);\n\t\t}\n\n\t\tthis._checkSelectedItemsTimeout = setTimeout(\n\t\t\t() => this._checkSelectedItems(),\n\t\t\t50\n\t\t);\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = this._multiContainerRef.querySelectorAll('.item');\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\t\t\tchild.classList.add('flex');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.remove('flex');\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.autocompleteInputRef.focus();\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content = (\n\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t{\n\t\t\t\t\titem[\n\t\t\t\t\t\tisSelection\n\t\t\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t\t\t: this.displayKey\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\n\t\t\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t(!isSelection || this.applyClassOnSelectedItem) &&\n\t\t\t!!item?.class?.length\n\t\t) {\n\t\t\treturn <div class={item.class}>{content}</div>;\n\t\t}\n\n\t\treturn content;\n\t}\n}\n"]}
1
+ {"version":3,"file":"select.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/select/select.component.tsx"],"names":[],"mappings":"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K,IAAG,OAAO,CAAO,CAAC;QAChD,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\nimport { cva } from 'class-variance-authority';\n\nconst multiContainer = cva([\n\t'flex items-center gap-2',\n\t'flex-1 min-w-0 h-full',\n\t'pointer-events-none overflow-hidden',\n]);\n\nconst multiItem = cva([\n\t'item group/item',\n\t'pointer-events-auto cursor-pointer',\n\t'flex h-[1.625rem] items-center gap-2',\n\t'h-[1.625rem] px-2',\n\t'text-sm font-semibold whitespace-nowrap',\n\t'rounded-lg',\n\t'bg-supportive-lilac-100',\n]);\n\nconst textContainer = cva(\n\t'block w-full overflow-hidden text-ellipsis whitespace-nowrap text-start',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tplaceholder: 'text-black-teal-400',\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t},\n\t}\n);\n\n@Component({\n\ttag: 'p-select',\n\tstyleUrl: 'select.component.css',\n})\nexport class Select {\n\t/**\n\t * The items to show in the dropdown\n\t */\n\t@Prop() items: string | any[];\n\n\t/**\n\t * Wether to enable multi select\n\t */\n\t@Prop({ reflect: true }) multi: boolean;\n\n\t/**\n\t * Icon of the select box\n\t */\n\t@Prop() icon: IconVariant;\n\n\t/**\n\t * The current query\n\t */\n\t@Prop() query: string;\n\n\t/**\n\t * The placeholder of the input\n\t */\n\t@Prop() placeholder: string;\n\n\t/**\n\t * The placeholder of the input used for auto complete\n\t */\n\t@Prop() autocompletePlaceholder: string = 'Search...';\n\n\t/**\n\t * The current value\n\t */\n\t@Prop() value: any;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() displayKey: string = 'text';\n\n\t/**\n\t * The key of the object to display in the dropdown (overwrites displayKey)\n\t */\n\t@Prop() dropdownDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to display in the input (overwrites displayKey)\n\t */\n\t@Prop() selectionDisplayKey: string | undefined;\n\n\t/**\n\t * The key of the object to return\n\t */\n\t@Prop() valueKey: string;\n\n\t/**\n\t * The key of avatar within an item to show\n\t */\n\t@Prop() avatarKey: string;\n\n\t/**\n\t * The key of icon variant within an item to show\n\t */\n\t@Prop() iconKey: string;\n\n\t/**\n\t * Wether to show the icon also on the selected Item\n\t */\n\t@Prop() showIconInSelectedItem: string;\n\n\t/**\n\t * The key of a class in an item to apply\n\t */\n\t@Prop() classKey: string = 'class';\n\n\t/**\n\t * Wether to apply the item's class also on the selected item\n\t */\n\t@Prop() applyClassOnSelectedItem: string;\n\n\t/**\n\t * The key of avatar letters within an item to show when the avatar url doesn't work\n\t */\n\t@Prop() avatarLettersKey: string;\n\n\t/**\n\t * The key to identify an object\n\t */\n\t@Prop() identifierKey: string;\n\n\t/**\n\t * The key of the object to display\n\t */\n\t@Prop() queryKey?: string;\n\n\t/**\n\t * Wether to automatically select the first item\n\t */\n\t@Prop() autoSelectFirst: boolean = true;\n\n\t/**\n\t * Wether to show the chevron or not\n\t */\n\t@Prop() showChevron: boolean = true;\n\n\t/**\n\t * The maximum amount of items to display\n\t */\n\t@Prop() maxDisplayedItems: number = 10;\n\n\t/**\n\t * Wether to enable autocomplete\n\t */\n\t@Prop() enableAutocomplete: boolean = true;\n\n\t/**\n\t * Wether the input uses async filtering\n\t */\n\t@Prop() asyncFilter: boolean = false;\n\n\t/**\n\t * Wether to show loading items\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the select all item with multi select\n\t */\n\t@Prop() enableSelectAll: boolean = false;\n\n\t/**\n\t * The text of the select all item\n\t */\n\t@Prop() selectAllText: string = 'Select all';\n\n\t/**\n\t * The icon to prefix for select all\n\t */\n\t@Prop() selectAllIcon: IconVariant | undefined;\n\n\t/**\n\t * Event when the query of the autocomplete changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the value changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tvalueChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the select all item has been selected or not\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectAllChange: EventEmitter<any>;\n\n\t/**\n\t * Event when the dropdown shows\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tdropdownShown: EventEmitter<any>;\n\n\t/**\n\t * The size of the input group used by the select\n\t */\n\t@Prop() size: 'sm' | 'base' = 'base';\n\n\t/**\n\t * The prefix of the input group used by the select\n\t */\n\t@Prop() prefix: string;\n\n\t/**\n\t * The label of the input group used by the select\n\t */\n\t@Prop() label: string;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop() helper: string;\n\n\t/**\n\t * Wether the field is required\n\t */\n\t@Prop({ reflect: true }) required: boolean = true;\n\n\t/**\n\t * The helper of the input group used by the select\n\t */\n\t@Prop({ reflect: true }) error: string;\n\n\t/**\n\t * Wether the input group is disabled used by the select\n\t */\n\t@Prop({ reflect: true }) disabled: boolean = false;\n\n\t/**\n\t * Wether to show a \"add\" item\n\t */\n\t@Prop() showAddItem: boolean = false;\n\n\t/**\n\t * The text to show when add item is being shown\n\t */\n\t@Prop() addItemText: string = 'Add item';\n\n\t/**\n\t * Event when the add item is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tadd: EventEmitter;\n\n\t/**\n\t * The text to show when items is empty\n\t */\n\t@Prop() emptyStateText: string = 'No items available';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _showDropdown: any = false;\n\t@State() private _selectedItem: any = null;\n\n\t@State() private _allSelected: boolean = false;\n\n\t@State() private _amountHidden = 0;\n\n\tprivate _inputRef: HTMLDivElement;\n\tprivate autocompleteInputRef: HTMLInputElement | HTMLTextAreaElement;\n\tprivate _multiContainerRef: HTMLElement;\n\n\tprivate _resizeObserver: ResizeObserver;\n\tprivate _resizeDebounceTimer: NodeJS.Timeout | undefined;\n\tprivate _checkSelectedItemsTimeout: NodeJS.Timeout | undefined;\n\n\tget _items() {\n\t\tif (!this.items || this.loading) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet items =\n\t\t\ttypeof this.items === 'string' ? JSON.parse(this.items) : this.items;\n\n\t\tif (typeof items?.[0] === 'string') {\n\t\t\tthis.displayKey = 'text';\n\t\t\tthis.valueKey = 'value';\n\n\t\t\titems = items.map(str => ({\n\t\t\t\tvalue: str,\n\t\t\t\ttext: str,\n\t\t\t}));\n\t\t}\n\n\t\tif (this.query?.length && !this.asyncFilter) {\n\t\t\titems = items.filter(item => {\n\t\t\t\tif (this.queryKey) {\n\t\t\t\t\treturn this._checkvalue(this.queryKey, item);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tthis._checkvalue(this._identifierKey, item) ||\n\t\t\t\t\tthis._checkvalue(this.displayKey, item)\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn items?.slice(0, this.maxDisplayedItems);\n\t}\n\n\tget _displayValue() {\n\t\tconst placeholder = (\n\t\t\t<div class={textContainer({ variant: 'placeholder' })}>\n\t\t\t\t{this.placeholder}\n\t\t\t</div>\n\t\t);\n\n\t\tif (!this._selectedItem) {\n\t\t\treturn placeholder;\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tif (this._selectedItem?.length === 0) {\n\t\t\t\treturn placeholder;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclass={multiContainer()}\n\t\t\t\t\tref={ref => (this._multiContainerRef = ref)}\n\t\t\t\t>\n\t\t\t\t\t{this._selectedItem.map(item => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={multiItem()}\n\t\t\t\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{item[this.selectionDisplayKey ?? this.displayKey]}\n\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\tclass='text-xs text-supportive-lilac group-hover/item:text-supportive-lilac-800'\n\t\t\t\t\t\t\t\tvariant='negative'\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\n\t\t\t\t\t<div class='extra pointer-events-none hidden text-sm text-black-teal-100'>\n\t\t\t\t\t\t+{this._amountHidden}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn this._getDisplay(this._selectedItem, true);\n\t}\n\n\tget _identifierKey() {\n\t\treturn this.identifierKey ?? this.valueKey ?? 'value';\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (!this.valueKey && !this.identifierKey) {\n\t\t\tthrow new Error('You must provide a valueKey or identifierKey');\n\t\t}\n\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\n\t\t\tthis._resizeObserver = new ResizeObserver(() => {\n\t\t\t\tif (this._resizeDebounceTimer) {\n\t\t\t\t\tclearTimeout(this._resizeDebounceTimer);\n\t\t\t\t\tthis._resizeDebounceTimer = null;\n\t\t\t\t}\n\n\t\t\t\tthis._resizeDebounceTimer = setTimeout(() => {\n\t\t\t\t\tthis._setMultiContainerMaxWidth();\n\t\t\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t\t\t}, 200);\n\t\t\t});\n\t\t\tthis._resizeObserver.observe(this._el);\n\t\t}\n\n\t\tif (this.value) {\n\t\t\tthis._valueChange();\n\t\t\treturn;\n\t\t}\n\n\t\tthis.itemChanges();\n\t}\n\n\tcomponentDidRender() {\n\t\tif (this.multi) {\n\t\t\tthis._setMultiContainerMaxWidth();\n\t\t}\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this.multi) {\n\t\t\tthis._resizeObserver.disconnect();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='p-select'>\n\t\t\t\t<p-dropdown\n\t\t\t\t\tdisableTriggerClick={true}\n\t\t\t\t\tcalculateWidth={true}\n\t\t\t\t\tinsideClick={true}\n\t\t\t\t\tscrollable={this.enableAutocomplete ? 'large' : true}\n\t\t\t\t\tshow={this._showDropdown}\n\t\t\t\t\tonIsOpen={ev => this._onDropdownOpen(ev)}\n\t\t\t\t>\n\t\t\t\t\t<p-field-container\n\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\tprefix={this.prefix}\n\t\t\t\t\t\tlabel={this.label}\n\t\t\t\t\t\thelper={this.helper}\n\t\t\t\t\t\trequired={this.required}\n\t\t\t\t\t\terror={this.error}\n\t\t\t\t\t\terrorPlacement='top-start'\n\t\t\t\t\t\tforceShowTooltip={this.error?.length && this._showDropdown}\n\t\t\t\t\t>\n\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\tclass='w-full'\n\t\t\t\t\t\t\tslot='content'\n\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\tsize={this.size}\n\t\t\t\t\t\t\tchevron={this.showChevron}\n\t\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\t\tactive={this._showDropdown}\n\t\t\t\t\t\t\ticon={this.icon}\n\t\t\t\t\t\t\tonClick={ev => this._onClick(ev)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass='relative flex-1'\n\t\t\t\t\t\t\t\tref={ref => (this._inputRef = ref)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this._displayValue}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</p-button>\n\t\t\t\t\t</p-field-container>\n\t\t\t\t\t{this.loading ? this._getLoadingItems() : this._getItems()}\n\t\t\t\t\t{this.showAddItem && this._getAddItem()}\n\t\t\t\t</p-dropdown>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (!this._showDropdown || childOf(target, this._el)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\t@Watch('value')\n\tprivate _valueChange() {\n\t\tsetTimeout(() => {\n\t\t\tthis._preselectItem();\n\t\t\tthis._setCheckSelectedItemsTimeout();\n\t\t});\n\t}\n\n\t@Watch('items')\n\tpublic itemChanges() {\n\t\tsetTimeout(() => this._preselectItem());\n\t}\n\n\t@Watch('_showDropdown')\n\tpublic _showDropdownChanges() {\n\t\tthis.dropdownShown.emit({\n\t\t\tvalue: this._showDropdown,\n\t\t\tquery: this.query,\n\t\t});\n\t}\n\n\t@Watch('multi')\n\tpublic multiChanges() {\n\t\tif (this._selectedItem && !Array.isArray(this._selectedItem)) {\n\t\t\tthis._selectedItem = [];\n\t\t}\n\t}\n\n\tprivate _preselectItem() {\n\t\tlet value =\n\t\t\ttypeof this.value === 'string' && this.multi\n\t\t\t\t? JSON.parse(this.value)\n\t\t\t\t: this.value;\n\n\t\tif (this.multi) {\n\t\t\tif (!Array.isArray(value)) {\n\t\t\t\tthis.value = [];\n\t\t\t\tthis.valueChange.emit(this.value);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.value = value;\n\t\t\tif (!value.length) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis._selectedItem =\n\t\t\t\t!!this.valueKey && this.valueKey !== 'false'\n\t\t\t\t\t? this._items.filter(i => value.includes(i?.[this.valueKey]))\n\t\t\t\t\t: [...value];\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._selectedItem && !value && this.autoSelectFirst) {\n\t\t\tvalue = this._items[0];\n\t\t}\n\n\t\tconst identifier =\n\t\t\ttypeof value === 'object' && value !== null\n\t\t\t\t? value[this._identifierKey]\n\t\t\t\t: value;\n\t\tconst parsedValue =\n\t\t\ttypeof identifier === 'string' || typeof identifier === 'number'\n\t\t\t\t? identifier\n\t\t\t\t: JSON.stringify(identifier);\n\n\t\tconst currentValue = this._selectedItem\n\t\t\t? this._selectedItem?.[this._identifierKey]\n\t\t\t: null;\n\t\tconst currentParsedValue =\n\t\t\ttypeof currentValue === 'string' || typeof currentValue === 'number'\n\t\t\t\t? currentValue\n\t\t\t\t: JSON.stringify(currentValue);\n\n\t\tif (this._selectedItem && currentParsedValue === parsedValue) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._items?.length && value) {\n\t\t\tthis._selectValue(value, false);\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = this._items.find(i => {\n\t\t\tconst itemIdentifier = i?.[this._identifierKey];\n\t\t\tconst parsedItemIdentifier =\n\t\t\t\ttypeof itemIdentifier === 'string' || typeof itemIdentifier === 'number'\n\t\t\t\t\t? itemIdentifier\n\t\t\t\t\t: JSON.stringify(itemIdentifier);\n\n\t\t\treturn parsedItemIdentifier === parsedValue;\n\t\t});\n\n\t\tthis._selectValue(!!item ? item : value, false);\n\t}\n\n\tprivate _selectValue(item, forceBlur = true) {\n\t\tlet value =\n\t\t\t!!this.valueKey && this.valueKey !== 'false' && item !== null\n\t\t\t\t? item?.[this.valueKey]\n\t\t\t\t: item;\n\n\t\tif (this.multi) {\n\t\t\tif (!this._selectedItem || !Array.isArray(this._selectedItem)) {\n\t\t\t\tthis._selectedItem = [];\n\t\t\t}\n\n\t\t\tif (!this.value || !Array.isArray(this.value)) {\n\t\t\t\tthis.value = [];\n\t\t\t}\n\n\t\t\tconst selectedItem = [...this._selectedItem];\n\t\t\tconst valueArray = [...this.value];\n\n\t\t\tconst includesIndex = selectedItem.findIndex(\n\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t);\n\t\t\tif (includesIndex === -1) {\n\t\t\t\tselectedItem.push(item);\n\t\t\t\tvalueArray.push(value);\n\t\t\t} else {\n\t\t\t\tselectedItem.splice(includesIndex, 1);\n\t\t\t\tvalueArray.splice(includesIndex, 1);\n\t\t\t}\n\n\t\t\tthis._selectedItem = selectedItem;\n\t\t\tthis.value = valueArray;\n\t\t\tthis.valueChange.emit(valueArray);\n\t\t\treturn;\n\t\t}\n\n\t\tthis._selectedItem = item;\n\t\tthis.value = value;\n\t\tthis.valueChange.emit(value);\n\n\t\tthis._onBlur(forceBlur);\n\t}\n\n\tprivate _findOnClickTarget(target: HTMLElement) {\n\t\tif (target.nodeName.toLowerCase() === 'p-button') {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (target.classList.contains('item')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this._findOnClickTarget(target.parentElement);\n\t}\n\n\tprivate _onClick(ev) {\n\t\tif (!this._findOnClickTarget(ev.target as HTMLElement)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = !this._showDropdown;\n\t}\n\n\tprivate _onBlur(force = false) {\n\t\tif (this.enableAutocomplete && !force) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = false;\n\t}\n\n\tprivate _onAutoComplete(ev) {\n\t\tif (!this.enableAutocomplete) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._showDropdown = true;\n\n\t\tthis.query = ev.detail;\n\t\tthis.queryChange.emit(ev.detail);\n\t}\n\n\tprivate _checkvalue(key, item) {\n\t\treturn (\n\t\t\titem?.[key]\n\t\t\t\t?.toString()\n\t\t\t\t?.toLowerCase()\n\t\t\t\t.indexOf(this.query?.toLowerCase()) >= 0\n\t\t);\n\t}\n\n\tprivate _getItems() {\n\t\tlet items = this._items.map(item => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tuseContainer={false}\n\t\t\t\tonClick={() => this._selectValue(item)}\n\t\t\t\tactive={\n\t\t\t\t\tthis.multi &&\n\t\t\t\t\t!!this._selectedItem &&\n\t\t\t\t\tArray.isArray(this._selectedItem)\n\t\t\t\t\t\t? this._selectedItem.findIndex(\n\t\t\t\t\t\t\t\ti => i[this._identifierKey] === item[this._identifierKey]\n\t\t\t\t\t\t ) >= 0\n\t\t\t\t\t\t: item[this._identifierKey] ===\n\t\t\t\t\t\t this._selectedItem?.[this._identifierKey]\n\t\t\t\t}\n\t\t\t\tcheckbox={this.multi ? true : false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t{this._getDisplay(item)}\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (!this._items.length) {\n\t\t\titems = [\n\t\t\t\t<p\n\t\t\t\t\tclass='w-full p-2 text-center text-sm text-black-teal-400'\n\t\t\t\t\tslot='items'\n\t\t\t\t>\n\t\t\t\t\t{this.emptyStateText}\n\t\t\t\t</p>,\n\t\t\t];\n\t\t}\n\n\t\tif (this.enableSelectAll && this._items.length) {\n\t\t\titems.unshift(\n\t\t\t\t<p-dropdown-menu-item\n\t\t\t\t\tslot='items'\n\t\t\t\t\tuseContainer={false}\n\t\t\t\t\tcheckbox\n\t\t\t\t\tonClick={() => this._selectAllChange()}\n\t\t\t\t\tactive={this._allSelected}\n\t\t\t\t>\n\t\t\t\t\t{this.selectAllIcon?.length ? (\n\t\t\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t\t\t<div class='flex w-6 justify-center text-lg'>\n\t\t\t\t\t\t\t\t<p-icon variant={this.selectAllIcon} />\n\t\t\t\t\t\t\t</div>{' '}\n\t\t\t\t\t\t\t{this.selectAllText}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.selectAllText\n\t\t\t\t\t)}\n\t\t\t\t</p-dropdown-menu-item>\n\t\t\t);\n\t\t}\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAddItem() {\n\t\treturn (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tonClick={() => this.add.emit()}\n\t\t\t\tuseContainer={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<span class='flex items-center gap-1 font-semibold text-teal-800'>\n\t\t\t\t\t{this.addItemText}\n\t\t\t\t\t<p-icon variant='plus' />\n\t\t\t\t</span>\n\t\t\t</p-dropdown-menu-item>\n\t\t);\n\t}\n\n\tprivate _getLoadingItems() {\n\t\tconst items = [0, 0, 0].map(() => (\n\t\t\t<p-dropdown-menu-item\n\t\t\t\tenableHover={false}\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-full rounded'\n\t\t\t\t/>\n\t\t\t</p-dropdown-menu-item>\n\t\t));\n\n\t\tif (this.enableAutocomplete) {\n\t\t\titems.unshift(this._getAutoCompleteItem());\n\t\t}\n\n\t\treturn items;\n\t}\n\n\tprivate _getAutoCompleteItem() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass='sticky top-0 mb-3 h-8'\n\t\t\t\tslot='items'\n\t\t\t>\n\t\t\t\t<p-field\n\t\t\t\t\tclass='block'\n\t\t\t\t\tplaceholder={this.autocompletePlaceholder}\n\t\t\t\t\tonValueChange={ev => this._onAutoComplete(ev)}\n\t\t\t\t\tonInputRefChange={ev => (this.autocompleteInputRef = ev.detail)}\n\t\t\t\t\tvalue={this.query}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _setMultiContainerMaxWidth() {\n\t\tif (!this._inputRef || !this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._multiContainerRef.style.maxWidth = `${\n\t\t\tthis._inputRef.clientWidth - 16\n\t\t}px`;\n\t}\n\n\tprivate _setCheckSelectedItemsTimeout() {\n\t\tif (this._checkSelectedItemsTimeout) {\n\t\t\tclearTimeout(this._checkSelectedItemsTimeout);\n\t\t}\n\n\t\tthis._checkSelectedItemsTimeout = setTimeout(\n\t\t\t() => this._checkSelectedItems(),\n\t\t\t50\n\t\t);\n\t}\n\n\tprivate _checkSelectedItems() {\n\t\tif (!this._multiContainerRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst containerRect = this._multiContainerRef.getBoundingClientRect();\n\t\tconst items = this._multiContainerRef.querySelectorAll('.item');\n\n\t\tlet amountHidden = 0;\n\n\t\tfor (const child of items) {\n\t\t\tchild.classList.remove('hidden');\n\t\t\tchild.classList.add('flex');\n\n\t\t\tconst childRect = child.getBoundingClientRect();\n\t\t\tif (childRect.right > containerRect.right) {\n\t\t\t\tchild.classList.remove('flex');\n\t\t\t\tchild.classList.add('hidden');\n\t\t\t\tamountHidden++;\n\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tthis._amountHidden = amountHidden;\n\t\tconst extra = this._multiContainerRef.querySelector('.extra');\n\t\tif (!extra) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!extra.classList.contains('hidden')) {\n\t\t\textra.classList.add('hidden');\n\t\t}\n\n\t\tif (amountHidden > 0) {\n\t\t\textra.classList.remove('hidden');\n\t\t}\n\t}\n\n\tprivate _onDropdownOpen(ev) {\n\t\tif (!ev.detail || !this.autocompleteInputRef) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.autocompleteInputRef.focus();\n\t}\n\n\tprivate _selectAllChange() {\n\t\tthis._allSelected = !this._allSelected;\n\t\tthis.selectAllChange.emit(this._allSelected);\n\t}\n\n\tprivate _getDisplay(item, isSelection = false) {\n\t\tlet content = (\n\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t{\n\t\t\t\t\titem[\n\t\t\t\t\t\tisSelection\n\t\t\t\t\t\t\t? this.selectionDisplayKey ?? this.displayKey\n\t\t\t\t\t\t\t: this.displayKey\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\n\t\tif (this.avatarKey) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-avatar\n\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\tsrc={item[this.avatarKey]}\n\t\t\t\t\t\tletters={item[this.avatarLettersKey]}\n\t\t\t\t\t></p-avatar>\n\t\t\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (this.iconKey && (!isSelection || this.showIconInSelectedItem)) {\n\t\t\tcontent = (\n\t\t\t\t<span class='flex items-center gap-2'>\n\t\t\t\t\t<p-icon variant={item[this.iconKey] as IconVariant} />\n\t\t\t\t\t<div class={textContainer({ variant: 'default' })}>\n\t\t\t\t\t\t{item[this.dropdownDisplayKey ?? this.displayKey]}\n\t\t\t\t\t</div>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\t(!isSelection || this.applyClassOnSelectedItem) &&\n\t\t\t!!item?.class?.length\n\t\t) {\n\t\t\treturn <div class={item.class}>{content}</div>;\n\t\t}\n\n\t\treturn content;\n\t}\n}\n"]}
@@ -116,7 +116,7 @@ export class Stepper {
116
116
  }
117
117
  }
118
118
  render() {
119
- return (h(Host, { key: '562a3a8c9d341492a63a60028d25dc4dfb184493', class: 'p-stepper' }, h("slot", { key: '573cee9039397f0ff989f37815c96a0dc57ade87', onSlotchange: () => this._generateStepsOnce() })));
119
+ return (h(Host, { key: '7987eb70811222b9a526c9a8b156cb483018259c', class: 'p-stepper' }, h("slot", { key: 'f613c5c39f66396df4eef136e1c5fec38f48b218', onSlotchange: () => this._generateStepsOnce() })));
120
120
  }
121
121
  _onActiveStepChange() {
122
122
  this._generateStepsOnce();
@@ -83,7 +83,7 @@ export class TableCell {
83
83
  };
84
84
  }
85
85
  render() {
86
- return (h(Host, { key: 'd4a279d8bf16c93cfcab39340c65a73b73b9208a', class: {
86
+ return (h(Host, { key: 'fdd68a4b75fa75a0301b2721d81a069cac64d098', class: {
87
87
  'p-table-cell': true,
88
88
  [`variant-${this.variant}`]: true,
89
89
  ...this._getColumnClasses(),
@@ -35,7 +35,7 @@ export class TableFooter {
35
35
  }
36
36
  render() {
37
37
  const hidePageSizeSelect = this.hideOnSinglePage && this.total < this.pageSizeOptions?.[0];
38
- return (h(Host, { key: 'ef96f7c0d01bd9d85f36becfc5458ae1e335bebf', class: `p-table-footer ${!this.enablePageSize && 'page-size-disabled'} ${!this.enablePagination && 'pagination-disabled'} ${!this.enableExport && 'export-disabled'}` }, !this.loading && this.enablePagination && this.enablePageSize && (h("p-page-size-select", { key: '6acc6c9aec481853f9bf376dc3e2644a60836386', class: !hidePageSizeSelect && 'hidden desktop-xs:flex', hidden: hidePageSizeSelect, size: this.pageSize, sizeOptions: this.pageSizeOptions, onSizeChange: ({ detail }) => this._changePageSize(detail) })), this.loading && (h("p-loader", { key: 'b58677035576cd44ffdda3b95de496caeb7ada12', variant: 'ghost', class: 'h-8 w-full rounded' })), !this.loading && this.enablePagination && (h("p-pagination", { key: '1d6c73ecfb6aff3b3e061616c9ad100f08cc4c62', pageSize: this.pageSize, total: this.total, page: this.page, hideOnSinglePage: this.hideOnSinglePage, onPageChange: ({ detail }) => this.pageChange.emit(detail) })), !this.loading && this.enableExport && (h("p-button", { key: '5ba22bf6410c30242baccb5b999176a73eefe665', class: 'hidden desktop-xs:flex', variant: 'secondary', size: 'sm', icon: 'download', onClick: () => this.export.emit() }, formatTranslation(this._locales.export)))));
38
+ return (h(Host, { key: '8c85669efe0bdc3f14fe0dfb5cbca5a38451b2ca', class: `p-table-footer ${!this.enablePageSize && 'page-size-disabled'} ${!this.enablePagination && 'pagination-disabled'} ${!this.enableExport && 'export-disabled'}` }, !this.loading && this.enablePagination && this.enablePageSize && (h("p-page-size-select", { key: '69cb04177926201d314ab138ac72452d9a32ccd3', class: !hidePageSizeSelect && 'hidden desktop-xs:flex', hidden: hidePageSizeSelect, size: this.pageSize, sizeOptions: this.pageSizeOptions, onSizeChange: ({ detail }) => this._changePageSize(detail) })), this.loading && (h("p-loader", { key: '4601f2a8736bb05af33159769bfba2e1854c8cdf', variant: 'ghost', class: 'h-8 w-full rounded' })), !this.loading && this.enablePagination && (h("p-pagination", { key: 'e9c672d24d92cb973482a37b16f8a1210fb17345', pageSize: this.pageSize, total: this.total, page: this.page, hideOnSinglePage: this.hideOnSinglePage, onPageChange: ({ detail }) => this.pageChange.emit(detail) })), !this.loading && this.enableExport && (h("p-button", { key: '3f6942fb87389cb69281e397134f857d2cedb87c', class: 'hidden desktop-xs:flex', variant: 'secondary', size: 'sm', icon: 'download', onClick: () => this.export.emit() }, formatTranslation(this._locales.export)))));
39
39
  }
40
40
  async _setLocales() {
41
41
  this._locales = await getLocaleComponentStrings(this._el);
@@ -64,12 +64,12 @@ export class TableHeader {
64
64
  const hasCustomFilterSlot = !!this._el.querySelector(':scope > [slot="custom-filter"]');
65
65
  const hasCustomActionsSlot = !!this._el.querySelector(':scope > [slot="custom-actions"]');
66
66
  return (h(Host, { key: '9261f1ac3d1ffc7b3f696d7dc528eb39d21e39f3', class: 'p-table-header' }, this.loading && (h("p-loader", { key: '52cb48056ac2ce46ae3825e97a83735c90926e4e', variant: 'ghost', class: 'hidden h-8 w-3/4 rounded desktop-xs:flex' })), !this.loading &&
67
- (hasCustomFilterSlot || this.quickFilters.length > 0) && (h("div", { key: '4c1a883ae11bb2a8a9a0a3d1339600d58174543b', class: 'left-side flex flex-col justify-start gap-4 desktop-xs:flex-row' }, hasCustomFilterSlot && h("slot", { key: '0ef29f9afb9cb27761f11146fa41933e64e7fed8', name: 'custom-filter' }), this.quickFilters.length > 0 && (h("p-segment-container", { key: '480435085fab332399b5386d33fed70b0d96d718', class: 'hidden desktop-xs:flex' }, this.quickFilters.map(item => (h("p-segment-item", { active: item.identifier === this.activeQuickFilterIdentifier, onClick: () => this.quickFilter.emit(item) }, typeof item.text === 'string' ? item.text : item.text(), ' ', item?.count >= 0 ? `(${item.count})` : ''))))))), h("div", { key: 'a5c1add14f7a2c3056195936325004ed8d1710fe', class: 'right-side flex flex-col justify-end gap-4 desktop-xs:flex-row' }, this.enableSearch && (h("p-field", { key: '797c9e6bc2fe252e7884afbacbe614db1cd3e8ac', icon: 'search', size: 'sm', class: 'desktop-xs:w-48' }, h("input", { key: '80b57023c666d1a0c0f3ce925ee6489b2224a88c', type: 'text', slot: 'input', placeholder: 'Zoeken...', value: this.query, onInput: ev => this._queryObserver.next(ev.target.value) }))), this.enableFilter && (h("p-button", { key: '6d62d078335b2404908b3bdc3fc298ef3f7e4abe', icon: 'filter', variant: 'secondary', size: 'sm', class: `w-full ${this.enableFilterDesktop
67
+ (hasCustomFilterSlot || this.quickFilters.length > 0) && (h("div", { key: '4c1a883ae11bb2a8a9a0a3d1339600d58174543b', class: 'left-side flex flex-col justify-start gap-4 desktop-xs:flex-row' }, hasCustomFilterSlot && h("slot", { key: '0ef29f9afb9cb27761f11146fa41933e64e7fed8', name: 'custom-filter' }), this.quickFilters.length > 0 && (h("p-segment-container", { key: '480435085fab332399b5386d33fed70b0d96d718', class: 'hidden desktop-xs:flex' }, this.quickFilters.map(item => (h("p-segment-item", { active: item.identifier === this.activeQuickFilterIdentifier, onClick: () => this.quickFilter.emit(item) }, typeof item.text === 'string' ? item.text : item.text(), ' ', item?.count >= 0 ? `(${item.count})` : ''))))))), h("div", { key: 'a5c1add14f7a2c3056195936325004ed8d1710fe', class: 'right-side flex flex-col justify-end gap-4 desktop-xs:flex-row' }, this.enableSearch && (h("p-field", { key: '0bd8f8e0037be9c1eef724d158542f2815990fd7', icon: 'search', size: 'sm', class: 'desktop-xs:w-48', placeholder: 'Zoeken...', value: this.query, onValueChange: ev => this._queryObserver.next(ev.detail) })), this.enableFilter && (h("p-button", { key: 'b101dd2da885d7abc10c2d2e76e9d4f6e549e984', icon: 'filter', variant: 'secondary', size: 'sm', class: `w-full ${this.enableFilterDesktop
68
68
  ? 'desktop-xs:w-auto'
69
69
  : 'desktop-xs:hidden'}`, onClick: () => this.filter.emit() }, this.filterButtonTemplate
70
70
  ? this.filterButtonTemplate()
71
71
  : this._defaultFilterButtonTemplate(), this.selectedFiltersAmount &&
72
- this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), this.enableAction && this._buttonTemplate(), hasCustomActionsSlot && h("slot", { key: 'd53ef269b98a4652c0b83e615e8bbe48e5d9e006', name: 'custom-actions' })), this.enableAction && this.canUseAction && (h("div", { key: 'c50cbee31811d88ad5f070f92834ee9247a79fee', class: 'fixed bottom-0 left-0 block w-full border border-solid border-transparent border-t-mystic-dark bg-white p-4 desktop-xs:hidden' }, this._buttonTemplate(true)))));
72
+ this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), this.enableAction && this._buttonTemplate(), hasCustomActionsSlot && h("slot", { key: '0d1293590817ed31001298900752cc1ee09b61f9', name: 'custom-actions' })), this.enableAction && this.canUseAction && (h("div", { key: '41dce94131e7458342885f2e5451efad7a0e85ef', class: 'fixed bottom-0 left-0 block w-full border border-solid border-transparent border-t-mystic-dark bg-white p-4 desktop-xs:hidden' }, this._buttonTemplate(true)))));
73
73
  }
74
74
  async _setLocales() {
75
75
  this._locales = await getLocaleComponentStrings(this._el);
@@ -1 +1 @@
1
- {"version":3,"file":"table-header.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/table-header/table-header.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter } from '../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n} from '../../../utils/localization';\n\nexport type templateFunc = () => string;\nexport type buttonTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table-header',\n\tstyleUrl: 'table-header.component.scss',\n\tshadow: true,\n})\nexport class TableHeader {\n\tprivate _defaultFilterButtonTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.filter);\n\tprivate _defaultActionButtonTemplate: buttonTemplateFunc = (amount: number) =>\n\t\tthis.actionText\n\t\t\t? this.actionText\n\t\t\t: formatTranslation(\n\t\t\t\t\tamount === 0\n\t\t\t\t\t\t? this._locales.edit\n\t\t\t\t\t\t: amount === 1\n\t\t\t\t\t\t? this._locales.edit_single\n\t\t\t\t\t\t: this._locales.edit_plural,\n\t\t\t\t\t{ amount }\n\t\t\t );\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether we want to show loading state\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the search input\n\t */\n\t@Prop() enableSearch: boolean = true;\n\n\t/**\n\t * The amount of items that are selected\n\t */\n\t@Prop() itemsSelectedAmount: number = 0;\n\n\t/**\n\t * The query to show in the search bar\n\t */\n\t@Prop({ mutable: true }) query: string;\n\n\t/**\n\t * Wether to show the filter button\n\t */\n\t@Prop() enableFilter: boolean = true;\n\n\t/**\n\t * Wether to show the filter button on desktop\n\t */\n\t@Prop() enableFilterDesktop: boolean = true;\n\n\t/**\n\t * The amount of filters being selected\n\t */\n\t@Prop() selectedFiltersAmount: number;\n\n\t/**\n\t * The template for the filter button text\n\t */\n\t@Prop() filterButtonTemplate: templateFunc =\n\t\tthis._defaultFilterButtonTemplate;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = true;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionLoading: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionText: string;\n\n\t/**\n\t * Wether to enable the action button\n\t */\n\t@Prop({ mutable: true }) canUseAction: boolean = false;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc =\n\t\tthis._defaultActionButtonTemplate;\n\n\t/**\n\t * Event when one of the quick filters is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tquickFilter: EventEmitter<QuickFilter>;\n\n\t/**\n\t * Event when the query changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the filter button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tfilter: EventEmitter<null>;\n\n\t/**\n\t * Event when the action button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\taction: EventEmitter<null>;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\tprivate _queryObserver = new Subject<string>();\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._queryObserver\n\t\t\t.pipe(debounceTime(300), distinctUntilChanged())\n\t\t\t.subscribe(value => this.queryChange.emit(value));\n\t}\n\n\trender() {\n\t\tconst activeQuickFilter = this.quickFilters.find(\n\t\t\tf => f.identifier === this.activeQuickFilterIdentifier\n\t\t);\n\t\tconst mobileTotal =\n\t\t\t(this.selectedFiltersAmount || 0) + (activeQuickFilter?.default ? 0 : 1);\n\n\t\tconst hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tconst hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\n\t\t);\n\n\t\treturn (\n\t\t\t<Host class='p-table-header'>\n\t\t\t\t{this.loading && (\n\t\t\t\t\t<p-loader\n\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\tclass='hidden h-8 w-3/4 rounded desktop-xs:flex'\n\t\t\t\t\t></p-loader>\n\t\t\t\t)}\n\n\t\t\t\t{!this.loading &&\n\t\t\t\t\t(hasCustomFilterSlot || this.quickFilters.length > 0) && (\n\t\t\t\t\t\t<div class='left-side flex flex-col justify-start gap-4 desktop-xs:flex-row'>\n\t\t\t\t\t\t\t{hasCustomFilterSlot && <slot name='custom-filter' />}\n\n\t\t\t\t\t\t\t{this.quickFilters.length > 0 && (\n\t\t\t\t\t\t\t\t<p-segment-container class='hidden desktop-xs:flex'>\n\t\t\t\t\t\t\t\t\t{this.quickFilters.map(item => (\n\t\t\t\t\t\t\t\t\t\t<p-segment-item\n\t\t\t\t\t\t\t\t\t\t\tactive={\n\t\t\t\t\t\t\t\t\t\t\t\titem.identifier === this.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.quickFilter.emit(item)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{typeof item.text === 'string' ? item.text : item.text()}{' '}\n\t\t\t\t\t\t\t\t\t\t\t{item?.count >= 0 ? `(${item.count})` : ''}\n\t\t\t\t\t\t\t\t\t\t</p-segment-item>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</p-segment-container>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t<div class='right-side flex flex-col justify-end gap-4 desktop-xs:flex-row'>\n\t\t\t\t\t{this.enableSearch && (\n\t\t\t\t\t\t<p-field\n\t\t\t\t\t\t\ticon='search'\n\t\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\t\tclass='desktop-xs:w-48'\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\ttype='text'\n\t\t\t\t\t\t\t\tslot='input'\n\t\t\t\t\t\t\t\tplaceholder='Zoeken...'\n\t\t\t\t\t\t\t\tvalue={this.query}\n\t\t\t\t\t\t\t\tonInput={ev =>\n\t\t\t\t\t\t\t\t\tthis._queryObserver.next(\n\t\t\t\t\t\t\t\t\t\t(ev.target as HTMLInputElement).value\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</p-field>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableFilter && (\n\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\ticon='filter'\n\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\t\tclass={`w-full ${\n\t\t\t\t\t\t\t\tthis.enableFilterDesktop\n\t\t\t\t\t\t\t\t\t? 'desktop-xs:w-auto'\n\t\t\t\t\t\t\t\t\t: 'desktop-xs:hidden'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tonClick={() => this.filter.emit()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.filterButtonTemplate\n\t\t\t\t\t\t\t\t? this.filterButtonTemplate()\n\t\t\t\t\t\t\t\t: this._defaultFilterButtonTemplate()}\n\t\t\t\t\t\t\t{this.selectedFiltersAmount &&\n\t\t\t\t\t\t\t\tthis._getLabel(this.selectedFiltersAmount)}\n\t\t\t\t\t\t\t{mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile')}\n\t\t\t\t\t\t</p-button>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableAction && this._buttonTemplate()}\n\n\t\t\t\t\t{hasCustomActionsSlot && <slot name='custom-actions' />}\n\t\t\t\t</div>\n\n\t\t\t\t{this.enableAction && this.canUseAction && (\n\t\t\t\t\t<div class='fixed bottom-0 left-0 block w-full border border-solid border-transparent border-t-mystic-dark bg-white p-4 desktop-xs:hidden'>\n\t\t\t\t\t\t{this._buttonTemplate(true)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\tprivate _buttonTemplate(mobile = false) {\n\t\treturn (\n\t\t\t<p-button\n\t\t\t\tclass={mobile ? 'w-full' : 'hidden desktop-xs:flex'}\n\t\t\t\ticon={this.actionIcon}\n\t\t\t\tsize='sm'\n\t\t\t\tdisabled={!this.canUseAction}\n\t\t\t\tonClick={() => this.action.emit()}\n\t\t\t\tloading={this.actionLoading}\n\t\t\t>\n\t\t\t\t{this.actionButtonTemplate\n\t\t\t\t\t? this.actionButtonTemplate(mobile ? this.itemsSelectedAmount : 0)\n\t\t\t\t\t: this._defaultActionButtonTemplate(\n\t\t\t\t\t\t\tmobile ? this.itemsSelectedAmount : 0\n\t\t\t\t\t )}\n\t\t\t</p-button>\n\t\t);\n\t}\n\n\tprivate _getLabel(amount, variant: 'mobile' | 'default' = 'default') {\n\t\treturn (\n\t\t\t<p-badge\n\t\t\t\tclass={`ml-1 ${\n\t\t\t\t\tvariant === 'default'\n\t\t\t\t\t\t? 'hidden desktop-xs:flex'\n\t\t\t\t\t\t: 'flex desktop-xs:hidden'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{amount}\n\t\t\t</p-badge>\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"file":"table-header.component.js","sourceRoot":"","sources":["../../../../src/components/molecules/table-header/table-header.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGnE,OAAO,EACN,iBAAiB,EACjB,yBAAyB,GACzB,MAAM,6BAA6B,CAAC;AAUrC,MAAM,OAAO,WAAW;;4BAkBe,EAAE;;uBAUb,KAAK;4BAKA,IAAI;mCAKE,CAAC;;4BAUP,IAAI;mCAKG,IAAI;;oCAW1C,IAAI,CAAC,4BAA4B;4BAKF,IAAI;6BAKH,KAAK;0BAKJ,QAAQ;;4BAUO,KAAK;oCAMrD,IAAI,CAAC,4BAA4B;wBA0CD,EAAE;;IAxI3B,4BAA4B,GAAiB,GAAG,EAAE,CACzD,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,4BAA4B,GAAuB,CAAC,MAAc,EAAE,EAAE,CAC7E,IAAI,CAAC,UAAU;QACd,CAAC,CAAC,IAAI,CAAC,UAAU;QACjB,CAAC,CAAC,iBAAiB,CACjB,MAAM,KAAK,CAAC;YACX,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;YACpB,CAAC,CAAC,MAAM,KAAK,CAAC;gBACd,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAC3B,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAC5B,EAAE,MAAM,EAAE,CACT,CAAC;IAoFN;;OAEG;IAIH,WAAW,CAA4B;IAEvC;;OAEG;IAIH,WAAW,CAAuB;IAElC;;OAEG;IAIH,MAAM,CAAqB;IAE3B;;OAEG;IAIH,MAAM,CAAqB;IAE3B;;OAEG;IACgB,GAAG,CAAc;IAO5B,cAAc,GAAG,IAAI,OAAO,EAAU,CAAC;IAE/C,iBAAiB;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;IACpB,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,cAAc;aACjB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,oBAAoB,EAAE,CAAC;aAC/C,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;QACL,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,2BAA2B,CACtD,CAAC;QACF,MAAM,WAAW,GAChB,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CACnD,iCAAiC,CACjC,CAAC;QAEF,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CACpD,kCAAkC,CAClC,CAAC;QAEF,OAAO,CACN,EAAC,IAAI,qDAAC,KAAK,EAAC,gBAAgB;YAC1B,IAAI,CAAC,OAAO,IAAI,CAChB,iEACC,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,0CAA0C,GACrC,CACZ;YAEA,CAAC,IAAI,CAAC,OAAO;gBACb,CAAC,mBAAmB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CACxD,4DAAK,KAAK,EAAC,iEAAiE;gBAC1E,mBAAmB,IAAI,6DAAM,IAAI,EAAC,eAAe,GAAG;gBAEpD,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAChC,4EAAqB,KAAK,EAAC,wBAAwB,IACjD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC9B,sBACC,MAAM,EACL,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,2BAA2B,EAErD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBAEzC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;oBAAE,GAAG;oBAC5D,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAC1B,CACjB,CAAC,CACmB,CACtB,CACI,CACN;YAEF,4DAAK,KAAK,EAAC,gEAAgE;gBACzE,IAAI,CAAC,YAAY,IAAI,CACrB,gEACC,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,IAAI,EACT,KAAK,EAAC,iBAAiB,EACvB,WAAW,EAAC,WAAW,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,GACvD,CACF;gBAEA,IAAI,CAAC,YAAY,IAAI,CACrB,iEACC,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,UACN,IAAI,CAAC,mBAAmB;wBACvB,CAAC,CAAC,mBAAmB;wBACrB,CAAC,CAAC,mBACJ,EAAE,EACF,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBAEhC,IAAI,CAAC,oBAAoB;wBACzB,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;wBAC7B,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE;oBACrC,IAAI,CAAC,qBAAqB;wBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qBAAqB,CAAC;oBAC1C,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAC/C,CACX;gBAEA,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE;gBAE3C,oBAAoB,IAAI,6DAAM,IAAI,EAAC,gBAAgB,GAAG,CAClD;YAEL,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,CAC1C,4DAAK,KAAK,EAAC,+HAA+H,IACxI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CACtB,CACN,CACK,CACP,CAAC;IACH,CAAC;IAGO,KAAK,CAAC,WAAW;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAEO,eAAe,CAAC,MAAM,GAAG,KAAK;QACrC,OAAO,CACN,gBACC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,wBAAwB,EACnD,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,IAAI,EAAC,IAAI,EACT,QAAQ,EAAE,CAAC,IAAI,CAAC,YAAY,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EACjC,OAAO,EAAE,IAAI,CAAC,aAAa,IAE1B,IAAI,CAAC,oBAAoB;YACzB,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC,4BAA4B,CACjC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CACpC,CACM,CACX,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,MAAM,EAAE,UAAgC,SAAS;QAClE,OAAO,CACN,eACC,KAAK,EAAE,QACN,OAAO,KAAK,SAAS;gBACpB,CAAC,CAAC,wBAAwB;gBAC1B,CAAC,CAAC,wBACJ,EAAE,IAED,MAAM,CACE,CACV,CAAC;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter } from '../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n} from '../../../utils/localization';\n\nexport type templateFunc = () => string;\nexport type buttonTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table-header',\n\tstyleUrl: 'table-header.component.scss',\n\tshadow: true,\n})\nexport class TableHeader {\n\tprivate _defaultFilterButtonTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.filter);\n\tprivate _defaultActionButtonTemplate: buttonTemplateFunc = (amount: number) =>\n\t\tthis.actionText\n\t\t\t? this.actionText\n\t\t\t: formatTranslation(\n\t\t\t\t\tamount === 0\n\t\t\t\t\t\t? this._locales.edit\n\t\t\t\t\t\t: amount === 1\n\t\t\t\t\t\t? this._locales.edit_single\n\t\t\t\t\t\t: this._locales.edit_plural,\n\t\t\t\t\t{ amount }\n\t\t\t );\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether we want to show loading state\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether to show the search input\n\t */\n\t@Prop() enableSearch: boolean = true;\n\n\t/**\n\t * The amount of items that are selected\n\t */\n\t@Prop() itemsSelectedAmount: number = 0;\n\n\t/**\n\t * The query to show in the search bar\n\t */\n\t@Prop({ mutable: true }) query: string;\n\n\t/**\n\t * Wether to show the filter button\n\t */\n\t@Prop() enableFilter: boolean = true;\n\n\t/**\n\t * Wether to show the filter button on desktop\n\t */\n\t@Prop() enableFilterDesktop: boolean = true;\n\n\t/**\n\t * The amount of filters being selected\n\t */\n\t@Prop() selectedFiltersAmount: number;\n\n\t/**\n\t * The template for the filter button text\n\t */\n\t@Prop() filterButtonTemplate: templateFunc =\n\t\tthis._defaultFilterButtonTemplate;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = true;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionLoading: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionText: string;\n\n\t/**\n\t * Wether to enable the action button\n\t */\n\t@Prop({ mutable: true }) canUseAction: boolean = false;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc =\n\t\tthis._defaultActionButtonTemplate;\n\n\t/**\n\t * Event when one of the quick filters is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tquickFilter: EventEmitter<QuickFilter>;\n\n\t/**\n\t * Event when the query changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the filter button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tfilter: EventEmitter<null>;\n\n\t/**\n\t * Event when the action button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\taction: EventEmitter<null>;\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\tprivate _queryObserver = new Subject<string>();\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._queryObserver\n\t\t\t.pipe(debounceTime(300), distinctUntilChanged())\n\t\t\t.subscribe(value => this.queryChange.emit(value));\n\t}\n\n\trender() {\n\t\tconst activeQuickFilter = this.quickFilters.find(\n\t\t\tf => f.identifier === this.activeQuickFilterIdentifier\n\t\t);\n\t\tconst mobileTotal =\n\t\t\t(this.selectedFiltersAmount || 0) + (activeQuickFilter?.default ? 0 : 1);\n\n\t\tconst hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tconst hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\n\t\t);\n\n\t\treturn (\n\t\t\t<Host class='p-table-header'>\n\t\t\t\t{this.loading && (\n\t\t\t\t\t<p-loader\n\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\tclass='hidden h-8 w-3/4 rounded desktop-xs:flex'\n\t\t\t\t\t></p-loader>\n\t\t\t\t)}\n\n\t\t\t\t{!this.loading &&\n\t\t\t\t\t(hasCustomFilterSlot || this.quickFilters.length > 0) && (\n\t\t\t\t\t\t<div class='left-side flex flex-col justify-start gap-4 desktop-xs:flex-row'>\n\t\t\t\t\t\t\t{hasCustomFilterSlot && <slot name='custom-filter' />}\n\n\t\t\t\t\t\t\t{this.quickFilters.length > 0 && (\n\t\t\t\t\t\t\t\t<p-segment-container class='hidden desktop-xs:flex'>\n\t\t\t\t\t\t\t\t\t{this.quickFilters.map(item => (\n\t\t\t\t\t\t\t\t\t\t<p-segment-item\n\t\t\t\t\t\t\t\t\t\t\tactive={\n\t\t\t\t\t\t\t\t\t\t\t\titem.identifier === this.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.quickFilter.emit(item)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{typeof item.text === 'string' ? item.text : item.text()}{' '}\n\t\t\t\t\t\t\t\t\t\t\t{item?.count >= 0 ? `(${item.count})` : ''}\n\t\t\t\t\t\t\t\t\t\t</p-segment-item>\n\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t</p-segment-container>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t<div class='right-side flex flex-col justify-end gap-4 desktop-xs:flex-row'>\n\t\t\t\t\t{this.enableSearch && (\n\t\t\t\t\t\t<p-field\n\t\t\t\t\t\t\ticon='search'\n\t\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\t\tclass='desktop-xs:w-48'\n\t\t\t\t\t\t\tplaceholder='Zoeken...'\n\t\t\t\t\t\t\tvalue={this.query}\n\t\t\t\t\t\t\tonValueChange={ev => this._queryObserver.next(ev.detail)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableFilter && (\n\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\ticon='filter'\n\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\t\tclass={`w-full ${\n\t\t\t\t\t\t\t\tthis.enableFilterDesktop\n\t\t\t\t\t\t\t\t\t? 'desktop-xs:w-auto'\n\t\t\t\t\t\t\t\t\t: 'desktop-xs:hidden'\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\tonClick={() => this.filter.emit()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.filterButtonTemplate\n\t\t\t\t\t\t\t\t? this.filterButtonTemplate()\n\t\t\t\t\t\t\t\t: this._defaultFilterButtonTemplate()}\n\t\t\t\t\t\t\t{this.selectedFiltersAmount &&\n\t\t\t\t\t\t\t\tthis._getLabel(this.selectedFiltersAmount)}\n\t\t\t\t\t\t\t{mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile')}\n\t\t\t\t\t\t</p-button>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableAction && this._buttonTemplate()}\n\n\t\t\t\t\t{hasCustomActionsSlot && <slot name='custom-actions' />}\n\t\t\t\t</div>\n\n\t\t\t\t{this.enableAction && this.canUseAction && (\n\t\t\t\t\t<div class='fixed bottom-0 left-0 block w-full border border-solid border-transparent border-t-mystic-dark bg-white p-4 desktop-xs:hidden'>\n\t\t\t\t\t\t{this._buttonTemplate(true)}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\tprivate _buttonTemplate(mobile = false) {\n\t\treturn (\n\t\t\t<p-button\n\t\t\t\tclass={mobile ? 'w-full' : 'hidden desktop-xs:flex'}\n\t\t\t\ticon={this.actionIcon}\n\t\t\t\tsize='sm'\n\t\t\t\tdisabled={!this.canUseAction}\n\t\t\t\tonClick={() => this.action.emit()}\n\t\t\t\tloading={this.actionLoading}\n\t\t\t>\n\t\t\t\t{this.actionButtonTemplate\n\t\t\t\t\t? this.actionButtonTemplate(mobile ? this.itemsSelectedAmount : 0)\n\t\t\t\t\t: this._defaultActionButtonTemplate(\n\t\t\t\t\t\t\tmobile ? this.itemsSelectedAmount : 0\n\t\t\t\t\t )}\n\t\t\t</p-button>\n\t\t);\n\t}\n\n\tprivate _getLabel(amount, variant: 'mobile' | 'default' = 'default') {\n\t\treturn (\n\t\t\t<p-badge\n\t\t\t\tclass={`ml-1 ${\n\t\t\t\t\tvariant === 'default'\n\t\t\t\t\t\t? 'hidden desktop-xs:flex'\n\t\t\t\t\t\t: 'flex desktop-xs:hidden'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{amount}\n\t\t\t</p-badge>\n\t\t);\n\t}\n}\n"]}
@@ -5,9 +5,9 @@ export class TableRow {
5
5
  this.enableHover = true;
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: 'ef1fdb723ada0436bb2635a6befb0a2d4d3ffa87', class: `p-table-row variant-${this.variant} ${this.enableHover &&
8
+ return (h(Host, { key: '962ec4f0187a22416270df391edb910c6584fc57', class: `p-table-row variant-${this.variant} ${this.enableHover &&
9
9
  this.variant === 'default' &&
10
- 'enable-hover'} group` }, h("div", { key: 'fd05bf187d722815cbe86d90b7ffac78188b7b17', class: "content" }, h("slot", { key: 'b9ac1208c608c7b50b3e7398ed6a22e551aeb5e0' })), this.variant === 'default' && h("p-divider", { key: '2222dbad0f1cd7f742e76a218cd7981589d3bff0', class: "m-0" })));
10
+ 'enable-hover'} group` }, h("div", { key: '45deb1c2a22e4afdf99b3e4f407f8ceedc3769fc', class: "content" }, h("slot", { key: 'd9bae05aad34f48ef13598e432813ffacab3d3f6' })), this.variant === 'default' && h("p-divider", { key: 'efdc3dcb43ea3f74786495f62ceaf7b6a62908d6', class: "m-0" })));
11
11
  }
12
12
  static get is() { return "p-table-row"; }
13
13
  static get encapsulation() { return "shadow"; }
@@ -14,7 +14,7 @@ export class Toast {
14
14
  */
15
15
  action;
16
16
  render() {
17
- return (h(Host, { key: '3b395df421e00c30e6327c2fd441eb28529e1284', class: `p-toast variant-${this.variant}`, onClick: () => this._onClick() }, h("div", { key: '462c79c5f7f601efefdbd62816c7e530a9962256', class: 'flex w-full min-w-0 flex-col' }, h("p", { key: '6d3164bcbb24221af015c96c3348a65a379633e9', class: 'font-semibold text-storm' }, this.header?.length ? this.header : h("slot", { name: 'header' })), h("p", { key: '803017ee064e98e746f9f98979694ea19aed17af', class: 'w-full text-sm text-storm-medium' }, this.content?.length ? this.content : h("slot", { name: 'content' }))), this.enableAction && (h("p-button", { key: 'cf478aa9b216e6091c5bf073af57110fe94b14e1', variant: 'secondary', iconOnly: true, size: 'sm', icon: this.actionIcon, iconFlip: this.actionIconFlip, iconRotate: this.actionIconRotate, class: 'flex-shrink-0' }))));
17
+ return (h(Host, { key: '8037040911805538a87e382891c638dc02b60206', class: `p-toast variant-${this.variant}`, onClick: () => this._onClick() }, h("div", { key: '3d62bfbdc62f0aad9f0b2aa399b881498328329c', class: 'flex w-full min-w-0 flex-col' }, h("p", { key: '6025fc8d67bdaeff8e43ae6b65aed1c12a42a107', class: 'font-semibold text-storm' }, this.header?.length ? this.header : h("slot", { name: 'header' })), h("p", { key: '39b41b1033a0b4eaaca958949556cae1037d0019', class: 'w-full text-sm text-storm-medium' }, this.content?.length ? this.content : h("slot", { name: 'content' }))), this.enableAction && (h("p-button", { key: '0b58b68d606925c26007d2e00437a3e2c69bfd0f', variant: 'secondary', iconOnly: true, size: 'sm', icon: this.actionIcon, iconFlip: this.actionIconFlip, iconRotate: this.actionIconRotate, class: 'flex-shrink-0' }))));
18
18
  }
19
19
  _onClick() {
20
20
  if (this.enableAction) {