@paperless/core 1.3.0 → 1.3.2

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 (289) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/{paperless/p-b2bc1d2a.entry.js → build/p-178a9622.entry.js} +2 -2
  3. package/dist/build/p-178a9622.entry.js.map +1 -0
  4. package/dist/build/{p-a1c1d95b.entry.js → p-231959ae.entry.js} +2 -2
  5. package/dist/build/p-231959ae.entry.js.map +1 -0
  6. package/dist/build/{p-36967a97.entry.js → p-23f19585.entry.js} +2 -2
  7. package/dist/build/p-23f19585.entry.js.map +1 -0
  8. package/dist/{paperless/p-6124f388.entry.js → build/p-2db30595.entry.js} +2 -2
  9. package/dist/build/{p-6124f388.entry.js.map → p-2db30595.entry.js.map} +1 -1
  10. package/dist/build/{p-ec850aca.entry.js → p-32e40e8a.entry.js} +2 -2
  11. package/dist/build/p-32e40e8a.entry.js.map +1 -0
  12. package/dist/{paperless/p-1630e39b.entry.js → build/p-36705eff.entry.js} +2 -2
  13. package/dist/{paperless/p-b92dd098.entry.js → build/p-3774ce4c.entry.js} +2 -2
  14. package/dist/build/p-3774ce4c.entry.js.map +1 -0
  15. package/dist/{paperless/p-6d5aa646.entry.js → build/p-6a30c500.entry.js} +2 -2
  16. package/dist/build/{p-6d5aa646.entry.js.map → p-6a30c500.entry.js.map} +1 -1
  17. package/dist/build/{p-12171df4.entry.js → p-6cb21186.entry.js} +2 -2
  18. package/dist/build/p-6cb21186.entry.js.map +1 -0
  19. package/dist/{paperless/p-b9f742e0.entry.js → build/p-7caa2463.entry.js} +2 -2
  20. package/dist/build/{p-b9f742e0.entry.js.map → p-7caa2463.entry.js.map} +1 -1
  21. package/dist/{paperless/p-26da620b.entry.js → build/p-89dd1b98.entry.js} +2 -2
  22. package/dist/build/p-89dd1b98.entry.js.map +1 -0
  23. package/dist/{paperless/p-350d452b.entry.js → build/p-bd08b944.entry.js} +2 -2
  24. package/dist/build/{p-350d452b.entry.js.map → p-bd08b944.entry.js.map} +1 -1
  25. package/dist/build/p-c6be1eab.entry.js +2 -0
  26. package/dist/build/p-c6be1eab.entry.js.map +1 -0
  27. package/dist/{paperless/p-18c0dd17.entry.js → build/p-dbadeb2a.entry.js} +2 -2
  28. package/dist/build/{p-946286e2.entry.js → p-e28c262e.entry.js} +2 -2
  29. package/dist/build/{p-946286e2.entry.js.map → p-e28c262e.entry.js.map} +1 -1
  30. package/dist/build/{p-da6e5abd.entry.js → p-e3143372.entry.js} +2 -2
  31. package/dist/build/p-e3143372.entry.js.map +1 -0
  32. package/dist/{paperless/p-2a668e75.entry.js → build/p-e5023a73.entry.js} +2 -2
  33. package/dist/build/p-e5023a73.entry.js.map +1 -0
  34. package/dist/build/{p-1f55126f.entry.js → p-e508900b.entry.js} +2 -2
  35. package/dist/build/{p-1f55126f.entry.js.map → p-e508900b.entry.js.map} +1 -1
  36. package/dist/build/{p-b0398d3b.entry.js → p-e6b0dbdc.entry.js} +2 -2
  37. package/dist/build/p-e6b0dbdc.entry.js.map +1 -0
  38. package/dist/{paperless/p-3d8b2178.entry.js → build/p-f8aa1cac.entry.js} +2 -2
  39. package/dist/build/p-f8aa1cac.entry.js.map +1 -0
  40. package/dist/build/paperless.esm.js +1 -1
  41. package/dist/cjs/p-accordion.cjs.entry.js +1 -1
  42. package/dist/cjs/p-accordion.cjs.entry.js.map +1 -1
  43. package/dist/cjs/p-attachment.cjs.entry.js +2 -2
  44. package/dist/cjs/p-attachment.cjs.entry.js.map +1 -1
  45. package/dist/cjs/p-backdrop.cjs.entry.js +1 -1
  46. package/dist/cjs/p-backdrop.cjs.entry.js.map +1 -1
  47. package/dist/cjs/p-button_3.cjs.entry.js +3 -3
  48. package/dist/cjs/p-button_3.cjs.entry.js.map +1 -1
  49. package/dist/cjs/p-calendar.cjs.entry.js +1 -1
  50. package/dist/cjs/p-calendar.cjs.entry.js.map +1 -1
  51. package/dist/cjs/p-datepicker.cjs.entry.js +1 -1
  52. package/dist/cjs/p-datepicker.cjs.entry.js.map +1 -1
  53. package/dist/cjs/p-drawer-body_3.cjs.entry.js +1 -1
  54. package/dist/cjs/p-drawer-body_3.cjs.entry.js.map +1 -1
  55. package/dist/cjs/p-drawer.cjs.entry.js +2 -2
  56. package/dist/cjs/p-drawer.cjs.entry.js.map +1 -1
  57. package/dist/cjs/p-dropdown-menu-container.cjs.entry.js +1 -1
  58. package/dist/cjs/p-dropdown_2.cjs.entry.js +3 -3
  59. package/dist/cjs/p-dropdown_2.cjs.entry.js.map +1 -1
  60. package/dist/cjs/p-helper_3.cjs.entry.js +2 -2
  61. package/dist/cjs/p-illustration_6.cjs.entry.js +44 -8
  62. package/dist/cjs/p-illustration_6.cjs.entry.js.map +1 -1
  63. package/dist/cjs/p-layout.cjs.entry.js +1 -1
  64. package/dist/cjs/p-layout.cjs.entry.js.map +1 -1
  65. package/dist/cjs/p-modal-body_4.cjs.entry.js +1 -1
  66. package/dist/cjs/p-modal-body_4.cjs.entry.js.map +1 -1
  67. package/dist/cjs/p-modal.cjs.entry.js +2 -2
  68. package/dist/cjs/p-modal.cjs.entry.js.map +1 -1
  69. package/dist/cjs/p-page-size-select_3.cjs.entry.js +2 -2
  70. package/dist/cjs/p-page-size-select_3.cjs.entry.js.map +1 -1
  71. package/dist/cjs/p-select.cjs.entry.js +3 -3
  72. package/dist/cjs/p-select.cjs.entry.js.map +1 -1
  73. package/dist/cjs/p-table.cjs.entry.js +13 -13
  74. package/dist/cjs/p-table.cjs.entry.js.map +1 -1
  75. package/dist/cjs/p-toast.cjs.entry.js +1 -1
  76. package/dist/cjs/p-toast.cjs.entry.js.map +1 -1
  77. package/dist/cjs/p-tooltip.cjs.entry.js +2 -2
  78. package/dist/cjs/p-tooltip.cjs.entry.js.map +1 -1
  79. package/dist/collection/components/atoms/backdrop/backdrop.component.js +2 -2
  80. package/dist/collection/components/atoms/backdrop/backdrop.component.js.map +1 -1
  81. package/dist/collection/components/atoms/button/button.component.js +2 -2
  82. package/dist/collection/components/atoms/button/button.component.js.map +1 -1
  83. package/dist/collection/components/atoms/drawer-header/drawer-header.component.js +1 -1
  84. package/dist/collection/components/atoms/drawer-header/drawer-header.component.js.map +1 -1
  85. package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.css +1 -1
  86. package/dist/collection/components/atoms/dropdown-menu-item/dropdown-menu-item.component.css +1 -1
  87. package/dist/collection/components/atoms/helper/helper.component.css +1 -1
  88. package/dist/collection/components/atoms/icon/icon.component.css +1 -1
  89. package/dist/collection/components/atoms/layout/layout.component.css +1 -1
  90. package/dist/collection/components/atoms/layout/layout.component.js +2 -2
  91. package/dist/collection/components/atoms/layout/layout.component.js.map +1 -1
  92. package/dist/collection/components/atoms/loader/loader.component.css +1 -1
  93. package/dist/collection/components/atoms/modal-header/modal-header.component.js +1 -1
  94. package/dist/collection/components/atoms/modal-header/modal-header.component.js.map +1 -1
  95. package/dist/collection/components/atoms/tooltip/tooltip.component.css +1 -1
  96. package/dist/collection/components/atoms/tooltip/tooltip.component.js +3 -3
  97. package/dist/collection/components/atoms/tooltip/tooltip.component.js.map +1 -1
  98. package/dist/collection/components/molecules/accordion/accordion.component.js +1 -1
  99. package/dist/collection/components/molecules/accordion/accordion.component.js.map +1 -1
  100. package/dist/collection/components/molecules/attachment/attachment.component.js +2 -2
  101. package/dist/collection/components/molecules/attachment/attachment.component.js.map +1 -1
  102. package/dist/collection/components/molecules/calendar/calendar.component.js +3 -3
  103. package/dist/collection/components/molecules/calendar/calendar.component.js.map +1 -1
  104. package/dist/collection/components/molecules/datepicker/datepicker.component.js +3 -3
  105. package/dist/collection/components/molecules/datepicker/datepicker.component.js.map +1 -1
  106. package/dist/collection/components/molecules/dropdown/dropdown.component.css +1 -1
  107. package/dist/collection/components/molecules/dropdown/dropdown.component.js +3 -3
  108. package/dist/collection/components/molecules/dropdown/dropdown.component.js.map +1 -1
  109. package/dist/collection/components/molecules/input-group/input-group.component.css +1 -1
  110. package/dist/collection/components/molecules/page-size-select/page-size-select.component.js +3 -3
  111. package/dist/collection/components/molecules/page-size-select/page-size-select.component.js.map +1 -1
  112. package/dist/collection/components/molecules/pagination/pagination.component.js +2 -2
  113. package/dist/collection/components/molecules/pagination/pagination.component.js.map +1 -1
  114. package/dist/collection/components/molecules/select/select.component.js +4 -4
  115. package/dist/collection/components/molecules/select/select.component.js.map +1 -1
  116. package/dist/collection/components/molecules/table-footer/table-footer.component.js +5 -5
  117. package/dist/collection/components/molecules/table-footer/table-footer.component.js.map +1 -1
  118. package/dist/collection/components/molecules/table-header/table-header.component.js +8 -8
  119. package/dist/collection/components/molecules/table-header/table-header.component.js.map +1 -1
  120. package/dist/collection/components/molecules/toast/toast.component.js +1 -1
  121. package/dist/collection/components/molecules/toast/toast.component.js.map +1 -1
  122. package/dist/collection/components/organisms/drawer/drawer.component.js +3 -3
  123. package/dist/collection/components/organisms/drawer/drawer.component.js.map +1 -1
  124. package/dist/collection/components/organisms/modal/modal.component.js +2 -2
  125. package/dist/collection/components/organisms/modal/modal.component.js.map +1 -1
  126. package/dist/collection/components/organisms/table/table.component.js +15 -15
  127. package/dist/collection/components/organisms/table/table.component.js.map +1 -1
  128. package/dist/collection/tailwind/width.js +1 -2
  129. package/dist/components/backdrop.component.js +1 -1
  130. package/dist/components/backdrop.component.js.map +1 -1
  131. package/dist/components/button.component.js +1 -1
  132. package/dist/components/button.component.js.map +1 -1
  133. package/dist/components/calendar.component.js +1 -1
  134. package/dist/components/calendar.component.js.map +1 -1
  135. package/dist/components/drawer-header.component.js +1 -1
  136. package/dist/components/drawer-header.component.js.map +1 -1
  137. package/dist/components/dropdown-menu-container.component.js +1 -1
  138. package/dist/components/dropdown-menu-item.component.js +1 -1
  139. package/dist/components/dropdown.component.js +2 -2
  140. package/dist/components/dropdown.component.js.map +1 -1
  141. package/dist/components/helper.component.js +1 -1
  142. package/dist/components/icon.component.js +1 -1
  143. package/dist/components/input-group.component.js +1 -1
  144. package/dist/components/loader.component.js +1 -1
  145. package/dist/components/modal-header.component.js +1 -1
  146. package/dist/components/modal-header.component.js.map +1 -1
  147. package/dist/components/p-accordion.js +1 -1
  148. package/dist/components/p-accordion.js.map +1 -1
  149. package/dist/components/p-attachment.js +2 -2
  150. package/dist/components/p-attachment.js.map +1 -1
  151. package/dist/components/p-datepicker.js +1 -1
  152. package/dist/components/p-datepicker.js.map +1 -1
  153. package/dist/components/p-drawer.js +2 -2
  154. package/dist/components/p-drawer.js.map +1 -1
  155. package/dist/components/p-layout.js +1 -1
  156. package/dist/components/p-layout.js.map +1 -1
  157. package/dist/components/p-modal.js +2 -2
  158. package/dist/components/p-modal.js.map +1 -1
  159. package/dist/components/p-select.js +3 -3
  160. package/dist/components/p-select.js.map +1 -1
  161. package/dist/components/p-table.js +13 -13
  162. package/dist/components/p-table.js.map +1 -1
  163. package/dist/components/p-toast.js +1 -1
  164. package/dist/components/p-toast.js.map +1 -1
  165. package/dist/components/page-size-select.component.js +1 -1
  166. package/dist/components/page-size-select.component.js.map +1 -1
  167. package/dist/components/pagination.component.js +1 -1
  168. package/dist/components/pagination.component.js.map +1 -1
  169. package/dist/components/table-footer.component.js +3 -3
  170. package/dist/components/table-footer.component.js.map +1 -1
  171. package/dist/components/table-header.component.js +41 -5
  172. package/dist/components/table-header.component.js.map +1 -1
  173. package/dist/components/tooltip.component.js +2 -2
  174. package/dist/components/tooltip.component.js.map +1 -1
  175. package/dist/esm/p-accordion.entry.js +1 -1
  176. package/dist/esm/p-accordion.entry.js.map +1 -1
  177. package/dist/esm/p-attachment.entry.js +2 -2
  178. package/dist/esm/p-attachment.entry.js.map +1 -1
  179. package/dist/esm/p-backdrop.entry.js +1 -1
  180. package/dist/esm/p-backdrop.entry.js.map +1 -1
  181. package/dist/esm/p-button_3.entry.js +3 -3
  182. package/dist/esm/p-button_3.entry.js.map +1 -1
  183. package/dist/esm/p-calendar.entry.js +1 -1
  184. package/dist/esm/p-calendar.entry.js.map +1 -1
  185. package/dist/esm/p-datepicker.entry.js +1 -1
  186. package/dist/esm/p-datepicker.entry.js.map +1 -1
  187. package/dist/esm/p-drawer-body_3.entry.js +1 -1
  188. package/dist/esm/p-drawer-body_3.entry.js.map +1 -1
  189. package/dist/esm/p-drawer.entry.js +2 -2
  190. package/dist/esm/p-drawer.entry.js.map +1 -1
  191. package/dist/esm/p-dropdown-menu-container.entry.js +1 -1
  192. package/dist/esm/p-dropdown_2.entry.js +3 -3
  193. package/dist/esm/p-dropdown_2.entry.js.map +1 -1
  194. package/dist/esm/p-helper_3.entry.js +2 -2
  195. package/dist/esm/p-illustration_6.entry.js +44 -8
  196. package/dist/esm/p-illustration_6.entry.js.map +1 -1
  197. package/dist/esm/p-layout.entry.js +1 -1
  198. package/dist/esm/p-layout.entry.js.map +1 -1
  199. package/dist/esm/p-modal-body_4.entry.js +1 -1
  200. package/dist/esm/p-modal-body_4.entry.js.map +1 -1
  201. package/dist/esm/p-modal.entry.js +2 -2
  202. package/dist/esm/p-modal.entry.js.map +1 -1
  203. package/dist/esm/p-page-size-select_3.entry.js +2 -2
  204. package/dist/esm/p-page-size-select_3.entry.js.map +1 -1
  205. package/dist/esm/p-select.entry.js +3 -3
  206. package/dist/esm/p-select.entry.js.map +1 -1
  207. package/dist/esm/p-table.entry.js +13 -13
  208. package/dist/esm/p-table.entry.js.map +1 -1
  209. package/dist/esm/p-toast.entry.js +1 -1
  210. package/dist/esm/p-toast.entry.js.map +1 -1
  211. package/dist/esm/p-tooltip.entry.js +2 -2
  212. package/dist/esm/p-tooltip.entry.js.map +1 -1
  213. package/dist/index.html +1 -1
  214. package/dist/{build/p-b2bc1d2a.entry.js → paperless/p-178a9622.entry.js} +2 -2
  215. package/dist/paperless/p-178a9622.entry.js.map +1 -0
  216. package/dist/paperless/{p-a1c1d95b.entry.js → p-231959ae.entry.js} +2 -2
  217. package/dist/paperless/p-231959ae.entry.js.map +1 -0
  218. package/dist/paperless/{p-36967a97.entry.js → p-23f19585.entry.js} +2 -2
  219. package/dist/paperless/p-23f19585.entry.js.map +1 -0
  220. package/dist/{build/p-6124f388.entry.js → paperless/p-2db30595.entry.js} +2 -2
  221. package/dist/paperless/{p-6124f388.entry.js.map → p-2db30595.entry.js.map} +1 -1
  222. package/dist/paperless/{p-ec850aca.entry.js → p-32e40e8a.entry.js} +2 -2
  223. package/dist/paperless/p-32e40e8a.entry.js.map +1 -0
  224. package/dist/{build/p-1630e39b.entry.js → paperless/p-36705eff.entry.js} +2 -2
  225. package/dist/{build/p-b92dd098.entry.js → paperless/p-3774ce4c.entry.js} +2 -2
  226. package/dist/paperless/p-3774ce4c.entry.js.map +1 -0
  227. package/dist/{build/p-6d5aa646.entry.js → paperless/p-6a30c500.entry.js} +2 -2
  228. package/dist/paperless/{p-6d5aa646.entry.js.map → p-6a30c500.entry.js.map} +1 -1
  229. package/dist/paperless/{p-12171df4.entry.js → p-6cb21186.entry.js} +2 -2
  230. package/dist/paperless/p-6cb21186.entry.js.map +1 -0
  231. package/dist/{build/p-b9f742e0.entry.js → paperless/p-7caa2463.entry.js} +2 -2
  232. package/dist/paperless/{p-b9f742e0.entry.js.map → p-7caa2463.entry.js.map} +1 -1
  233. package/dist/{build/p-26da620b.entry.js → paperless/p-89dd1b98.entry.js} +2 -2
  234. package/dist/paperless/p-89dd1b98.entry.js.map +1 -0
  235. package/dist/{build/p-350d452b.entry.js → paperless/p-bd08b944.entry.js} +2 -2
  236. package/dist/paperless/{p-350d452b.entry.js.map → p-bd08b944.entry.js.map} +1 -1
  237. package/dist/paperless/p-c6be1eab.entry.js +2 -0
  238. package/dist/paperless/p-c6be1eab.entry.js.map +1 -0
  239. package/dist/{build/p-18c0dd17.entry.js → paperless/p-dbadeb2a.entry.js} +2 -2
  240. package/dist/paperless/{p-946286e2.entry.js → p-e28c262e.entry.js} +2 -2
  241. package/dist/paperless/{p-946286e2.entry.js.map → p-e28c262e.entry.js.map} +1 -1
  242. package/dist/paperless/{p-da6e5abd.entry.js → p-e3143372.entry.js} +2 -2
  243. package/dist/paperless/p-e3143372.entry.js.map +1 -0
  244. package/dist/{build/p-2a668e75.entry.js → paperless/p-e5023a73.entry.js} +2 -2
  245. package/dist/paperless/p-e5023a73.entry.js.map +1 -0
  246. package/dist/paperless/{p-1f55126f.entry.js → p-e508900b.entry.js} +2 -2
  247. package/dist/paperless/{p-1f55126f.entry.js.map → p-e508900b.entry.js.map} +1 -1
  248. package/dist/paperless/{p-b0398d3b.entry.js → p-e6b0dbdc.entry.js} +2 -2
  249. package/dist/paperless/p-e6b0dbdc.entry.js.map +1 -0
  250. package/dist/{build/p-3d8b2178.entry.js → paperless/p-f8aa1cac.entry.js} +2 -2
  251. package/dist/paperless/p-f8aa1cac.entry.js.map +1 -0
  252. package/dist/paperless/paperless.esm.js +1 -1
  253. package/dist/sw.js +1 -1
  254. package/dist/sw.js.map +1 -1
  255. package/dist/tailwind/width.js +1 -2
  256. package/dist/types/components/atoms/layout/layout.component.d.ts +1 -1
  257. package/dist/types/components.d.ts +2 -2
  258. package/hydrate/index.js +87 -51
  259. package/package.json +1 -1
  260. package/dist/build/p-12171df4.entry.js.map +0 -1
  261. package/dist/build/p-26da620b.entry.js.map +0 -1
  262. package/dist/build/p-2a668e75.entry.js.map +0 -1
  263. package/dist/build/p-36967a97.entry.js.map +0 -1
  264. package/dist/build/p-3d8b2178.entry.js.map +0 -1
  265. package/dist/build/p-a1c1d95b.entry.js.map +0 -1
  266. package/dist/build/p-b0398d3b.entry.js.map +0 -1
  267. package/dist/build/p-b2bc1d2a.entry.js.map +0 -1
  268. package/dist/build/p-b92dd098.entry.js.map +0 -1
  269. package/dist/build/p-da6e5abd.entry.js.map +0 -1
  270. package/dist/build/p-ec850aca.entry.js.map +0 -1
  271. package/dist/build/p-f47247a6.entry.js +0 -2
  272. package/dist/build/p-f47247a6.entry.js.map +0 -1
  273. package/dist/paperless/p-12171df4.entry.js.map +0 -1
  274. package/dist/paperless/p-26da620b.entry.js.map +0 -1
  275. package/dist/paperless/p-2a668e75.entry.js.map +0 -1
  276. package/dist/paperless/p-36967a97.entry.js.map +0 -1
  277. package/dist/paperless/p-3d8b2178.entry.js.map +0 -1
  278. package/dist/paperless/p-a1c1d95b.entry.js.map +0 -1
  279. package/dist/paperless/p-b0398d3b.entry.js.map +0 -1
  280. package/dist/paperless/p-b2bc1d2a.entry.js.map +0 -1
  281. package/dist/paperless/p-b92dd098.entry.js.map +0 -1
  282. package/dist/paperless/p-da6e5abd.entry.js.map +0 -1
  283. package/dist/paperless/p-ec850aca.entry.js.map +0 -1
  284. package/dist/paperless/p-f47247a6.entry.js +0 -2
  285. package/dist/paperless/p-f47247a6.entry.js.map +0 -1
  286. /package/dist/build/{p-1630e39b.entry.js.map → p-36705eff.entry.js.map} +0 -0
  287. /package/dist/build/{p-18c0dd17.entry.js.map → p-dbadeb2a.entry.js.map} +0 -0
  288. /package/dist/paperless/{p-1630e39b.entry.js.map → p-36705eff.entry.js.map} +0 -0
  289. /package/dist/paperless/{p-18c0dd17.entry.js.map → p-dbadeb2a.entry.js.map} +0 -0
@@ -14,8 +14,8 @@ const Drawer = /*@__PURE__*/ proxyCustomElement(class Drawer extends HTMLElement
14
14
  super();
15
15
  this.__registerHost();
16
16
  this.__attachShadow();
17
- this.closeClicked = createEvent(this, "closeClicked", 7);
18
- this.closed = createEvent(this, "closed", 7);
17
+ this.closeClicked = createEvent(this, "closeClicked", 3);
18
+ this.closed = createEvent(this, "closed", 3);
19
19
  this._hasHeaderSlot = false;
20
20
  this.header = undefined;
21
21
  this.show = false;
@@ -1 +1 @@
1
- {"file":"p-drawer.js","mappings":";;;;;;;;;AAAA,MAAM,kBAAkB,GAAG,+mIAA+mI;;MCgB7nI,MAAM;;;;;;;IAsDP,mBAAc,GAAG,KAAK,CAAC;;gBA7CP,KAAK;qBAKA,KAAK;qBAKd,IAAI;8BAKK,IAAI;oBAKL,IAAI;sBAKF,IAAI;oBAsBN,KAAK;;EAEjC,iBAAiB;IACb,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAC1C,0BAA0B,CAC7B,CAAC;GACL;EAED,MAAM;;IACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;MACZ,OAAO;KACV;IAED,MAAM,aAAa,GAAG,YAAM,IAAI,EAAC,QAAQ,GAAG,CAAC;IAC7C,MAAM,WAAW,GAAG,YAAM,IAAI,EAAC,SAAS,GAAG,CAAC;IAE5C,QACI,EAAC,IAAI,IAAC,KAAK,EAAC,UAAU,IAClB,kBACI,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,EACjD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,UAAU,EAAE,IAAI,CAAC,UAAU,IAE3B,0BAAoB,OAAO,EAAE,IAAI,CAAC,QAAQ,IACrC,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,KAAI,IAAI,CAAC,cAAc,MACxC,qCACgB,IAAI,CAAC,SAAS,EAC1B,OAAO,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAErC,IAAI,CAAC,cAAc;QACd,aAAa;QACb,IAAI,CAAC,MAAM,CACH,CACrB,EACD,yBAAgB,WAAW,CAAiB,CAC3B,CACZ,CACV,EACT;GACL;EAEO,cAAc,CAAC,EAAE;IACrB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC1B,OAAO;KACV;IAED,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;GAClB;EAEM,KAAK,CAAC,EAAc;IACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;MACnB,KAAK,EAAE,EAAE;MACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;MAChB,OAAO;KACV;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IAErB,UAAU,CAAC;MACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;MAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MACtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACtB,EAAE,GAAG,CAAC,CAAC;GACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/organisms/drawer/drawer.component.scss?tag=p-drawer&encapsulation=shadow","./src/components/organisms/drawer/drawer.component.tsx"],"sourcesContent":[":host {\n @apply block;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\n\n@Component({\n tag: 'p-drawer',\n styleUrl: 'drawer.component.scss',\n shadow: true,\n})\nexport class Drawer {\n /**\n * The Header of the drawer\n */\n @Prop() header?: string;\n\n /**\n * Wether to show the drawer or not\n */\n @Prop() show: boolean = false;\n\n /**\n * Wether to apply blur to the backdrop\n */\n @Prop() applyBlur: boolean = false;\n\n /**\n * Wether to show the close on mobile in the header\n */\n @Prop() showClose = true;\n\n /**\n * Wether to hide the drawer when the backdrop is clicked\n */\n @Prop() backdropClickClose = true;\n\n /**\n * Wether the drawer can be closed\n */\n @Prop() canClose: boolean = true;\n\n /**\n * Wether we should scroll lock the body\n */\n @Prop() scrollLock: boolean = true;\n\n /**\n * Close click event\n */\n @Event() closeClicked: EventEmitter<{\n event: MouseEvent;\n canClose: boolean;\n }>;\n\n /**\n * Closed event\n */\n @Event() closed: EventEmitter<null>;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n private _hasHeaderSlot = false;\n\n @State() private _closing = false;\n\n componentWillLoad() {\n this._hasHeaderSlot = !!this._el.querySelector(\n ':scope > [slot=\"header\"]'\n );\n }\n\n render() {\n if (!this.show) {\n return;\n }\n\n const headerContent = <slot name=\"header\" />;\n const bodyContent = <slot name=\"content\" />;\n\n return (\n <Host class=\"p-drawer\">\n <p-backdrop\n variant=\"drawer\"\n applyBlur={this.applyBlur}\n onClicked={(ev) => this._backdropClick(ev.detail)}\n closing={this._closing}\n scrollLock={this.scrollLock}\n >\n <p-drawer-container closing={this._closing}>\n {(this.header?.length || this._hasHeaderSlot) && (\n <p-drawer-header\n show-close={this.showClose}\n onClose={(ev) => this.close(ev.detail)}\n >\n {this._hasHeaderSlot\n ? headerContent\n : this.header}\n </p-drawer-header>\n )}\n <p-drawer-body>{bodyContent}</p-drawer-body>\n </p-drawer-container>\n </p-backdrop>\n </Host>\n );\n }\n\n private _backdropClick(ev) {\n if (!this.backdropClickClose) {\n return;\n }\n\n this.close(ev);\n }\n\n public close(ev: MouseEvent) {\n this.closeClicked.emit({\n event: ev,\n canClose: this.canClose,\n });\n\n if (!this.canClose) {\n return;\n }\n\n this._closing = true;\n\n setTimeout(() => {\n this.show = false;\n this._closing = false;\n this.closed.emit();\n }, 250);\n }\n}\n"],"version":3}
1
+ {"file":"p-drawer.js","mappings":";;;;;;;;;AAAA,MAAM,kBAAkB,GAAG,+mIAA+mI;;MCgB7nI,MAAM;;;;;;;IA0DP,mBAAc,GAAG,KAAK,CAAC;;gBAjDP,KAAK;qBAKA,KAAK;qBAKd,IAAI;8BAKK,IAAI;oBAKL,IAAI;sBAKF,IAAI;oBA0BN,KAAK;;EAEjC,iBAAiB;IACb,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAC1C,0BAA0B,CAC7B,CAAC;GACL;EAED,MAAM;;IACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;MACZ,OAAO;KACV;IAED,MAAM,aAAa,GAAG,YAAM,IAAI,EAAC,QAAQ,GAAG,CAAC;IAC7C,MAAM,WAAW,GAAG,YAAM,IAAI,EAAC,SAAS,GAAG,CAAC;IAE5C,QACI,EAAC,IAAI,IAAC,KAAK,EAAC,UAAU,IAClB,kBACI,OAAO,EAAC,QAAQ,EAChB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,EACjD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,UAAU,EAAE,IAAI,CAAC,UAAU,IAE3B,0BAAoB,OAAO,EAAE,IAAI,CAAC,QAAQ,IACrC,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,KAAI,IAAI,CAAC,cAAc,MACxC,qCACgB,IAAI,CAAC,SAAS,EAC1B,OAAO,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAErC,IAAI,CAAC,cAAc;QACd,aAAa;QACb,IAAI,CAAC,MAAM,CACH,CACrB,EACD,yBAAgB,WAAW,CAAiB,CAC3B,CACZ,CACV,EACT;GACL;EAEO,cAAc,CAAC,EAAE;IACrB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC1B,OAAO;KACV;IAED,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;GAClB;EAEM,KAAK,CAAC,EAAc;IACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;MACnB,KAAK,EAAE,EAAE;MACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;KAC1B,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;MAChB,OAAO;KACV;IAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IAErB,UAAU,CAAC;MACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;MAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MACtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACtB,EAAE,GAAG,CAAC,CAAC;GACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/organisms/drawer/drawer.component.scss?tag=p-drawer&encapsulation=shadow","./src/components/organisms/drawer/drawer.component.tsx"],"sourcesContent":[":host {\n @apply block;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State\n} from '@stencil/core';\n\n@Component({\n tag: 'p-drawer',\n styleUrl: 'drawer.component.scss',\n shadow: true,\n})\nexport class Drawer {\n /**\n * The Header of the drawer\n */\n @Prop() header?: string;\n\n /**\n * Wether to show the drawer or not\n */\n @Prop() show: boolean = false;\n\n /**\n * Wether to apply blur to the backdrop\n */\n @Prop() applyBlur: boolean = false;\n\n /**\n * Wether to show the close on mobile in the header\n */\n @Prop() showClose = true;\n\n /**\n * Wether to hide the drawer when the backdrop is clicked\n */\n @Prop() backdropClickClose = true;\n\n /**\n * Wether the drawer can be closed\n */\n @Prop() canClose: boolean = true;\n\n /**\n * Wether we should scroll lock the body\n */\n @Prop() scrollLock: boolean = true;\n\n /**\n * Close click event\n */\n @Event({\n bubbles: false\n }) closeClicked: EventEmitter<{\n event: MouseEvent;\n canClose: boolean;\n }>;\n\n /**\n * Closed event\n */\n @Event({\n bubbles: false\n }) closed: EventEmitter<null>;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n private _hasHeaderSlot = false;\n\n @State() private _closing = false;\n\n componentWillLoad() {\n this._hasHeaderSlot = !!this._el.querySelector(\n ':scope > [slot=\"header\"]'\n );\n }\n\n render() {\n if (!this.show) {\n return;\n }\n\n const headerContent = <slot name=\"header\" />;\n const bodyContent = <slot name=\"content\" />;\n\n return (\n <Host class=\"p-drawer\">\n <p-backdrop\n variant=\"drawer\"\n applyBlur={this.applyBlur}\n onClicked={(ev) => this._backdropClick(ev.detail)}\n closing={this._closing}\n scrollLock={this.scrollLock}\n >\n <p-drawer-container closing={this._closing}>\n {(this.header?.length || this._hasHeaderSlot) && (\n <p-drawer-header\n show-close={this.showClose}\n onClose={(ev) => this.close(ev.detail)}\n >\n {this._hasHeaderSlot\n ? headerContent\n : this.header}\n </p-drawer-header>\n )}\n <p-drawer-body>{bodyContent}</p-drawer-body>\n </p-drawer-container>\n </p-backdrop>\n </Host>\n );\n }\n\n private _backdropClick(ev) {\n if (!this.backdropClickClose) {\n return;\n }\n\n this.close(ev);\n }\n\n public close(ev: MouseEvent) {\n this.closeClicked.emit({\n event: ev,\n canClose: this.canClose,\n });\n\n if (!this.canClose) {\n return;\n }\n\n this._closing = true;\n\n setTimeout(() => {\n this.show = false;\n this._closing = false;\n this.closed.emit();\n }, 250);\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
 
3
- const layoutComponentCss = ".relative{position:relative!important}.sticky{position:sticky!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.box-border{box-sizing:border-box!important}.flex{display:flex!important}.grid{display:grid!important}.hidden{display:none!important}.h-full{height:100%!important}.h-screen{height:100vh!important}.w-full{width:100%!important}.w-screen{width:100vw!important}.w-sidebar-mobile{width:100%!important}.w-unset{width:unset!important}.flex-1{flex:1 1 0%!important}.flex-col{flex-direction:column!important}.content-start{align-content:flex-start!important}.items-center{align-items:center!important}.overflow-y-auto{overflow-y:auto!important}.px-content-mobile-x{padding-left:1rem!important;padding-right:1rem!important}*{box-sizing:border-box}:host{align-content:flex-start;display:grid;gap:0;grid-template-areas:\"sidebar\" \"topbar\" \"content\";grid-template-columns:1fr;grid-template-rows:repeat(1fr,3);height:100vh;overflow:hidden;width:100vw}@media (min-width:64rem){:host{grid-template-areas:\"topbar topbar\" \"sidebar content\";grid-template-columns:auto 1fr;grid-template-rows:auto 1fr}}:host .content,:host .sidebar,:host .topbar{align-self:flex-start}:host .topbar{grid-area:topbar;order:2;position:sticky;width:100%}@media (min-width:80rem){:host .topbar{order:1}}:host .sidebar{box-sizing:border-box;display:flex;grid-area:sidebar;height:100%;order:1;width:100%}@media (min-width:80rem){:host .sidebar{order:2;width:15rem}}:host .content{display:flex;flex-direction:column;grid-area:content;height:100%;order:3;overflow-x:hidden;overflow-y:auto;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative}:host .content .inner-content{padding:1.5rem 1rem;position:relative}@media (min-width:64rem){:host .content .inner-content{padding:2rem;width:100%}}@media (min-width:80rem){:host .content .inner-content{width:100%}}@media (min-width:85.375rem){:host .content .inner-content{width:69rem}}@media (min-width:90rem){:host .content .inner-content{width:69rem}}@media (min-width:120rem){:host .content .inner-content{width:69rem}}:host(.variant-default) .content{flex:1 1 0%}:host(.variant-login){grid-template-areas:\"topbar topbar\" \"content content\"}@media (min-width:64rem){:host(.variant-login){grid-template-areas:\"topbar topbar\" \"content sidebar\"}}:host(.variant-login) .sidebar{display:none;flex:1 1 0%;order:3;overflow:hidden;padding:.5rem;width:unset}@media (min-width:64rem){:host(.variant-login) .sidebar{display:flex}}:host(.variant-login) .sidebar .inner-content{padding:.5rem}:host(.variant-login) .content{align-items:center;order:3}@media (min-width:64rem){:host(.variant-login) .content{justify-content:center;order:2}}:host(.variant-login) .content .inner-content{box-sizing:border-box;padding:calc(env(safe-area-inset-top) + 3.5rem) 1rem 1.5rem;width:100%}@media (min-width:64rem){:host(.variant-login) .content .inner-content{padding:1.5rem 4.5rem 0}}@media (min-width:40rem){:host(.variant-login) .content .inner-content{width:30rem}}@media (min-width:80rem){:host(.variant-office) .sidebar{width:19.5rem}:host(.variant-office-minimal) .sidebar{width:4.5rem}}@media (min-width:64rem){.desktop-xs\\:flex{display:flex!important}.desktop-xs\\:w-content-desktop-xs{width:100%!important}.desktop-xs\\:px-18{padding-left:4.5rem!important;padding-right:4.5rem!important}.desktop-xs\\:px-content-desktop-x{padding-left:2rem!important;padding-right:2rem!important}}@media (min-width:80rem){.desktop-sm\\:w-content-desktop-sm{width:100%!important}}@media (min-width:85.375rem){.desktop\\:w-content-desktop{width:69rem!important}}@media (min-width:90rem){.desktop-lg\\:w-content-desktop-lg{width:69rem!important}}.static{position:static!important}";
3
+ const layoutComponentCss = ".relative{position:relative!important}.sticky{position:sticky!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.box-border{box-sizing:border-box!important}.flex{display:flex!important}.grid{display:grid!important}.hidden{display:none!important}.h-full{height:100%!important}.h-screen{height:100vh!important}.w-full{width:100%!important}.w-screen{width:100vw!important}.w-sidebar-mobile{width:100%!important}.w-unset{width:unset!important}.flex-1{flex:1 1 0%!important}.flex-col{flex-direction:column!important}.content-start{align-content:flex-start!important}.items-center{align-items:center!important}.overflow-y-auto{overflow-y:auto!important}.px-content-mobile-x{padding-left:1rem!important;padding-right:1rem!important}*{box-sizing:border-box}:host{align-content:flex-start;display:grid;gap:0;grid-template-areas:\"sidebar\" \"topbar\" \"content\";grid-template-columns:1fr;grid-template-rows:repeat(1fr,3);height:100vh;overflow:hidden;width:100vw}@media (min-width:64rem){:host{grid-template-areas:\"topbar topbar\" \"sidebar content\";grid-template-columns:auto 1fr;grid-template-rows:auto 1fr}}:host .content,:host .sidebar,:host .topbar{align-self:flex-start}:host .topbar{grid-area:topbar;order:2;position:sticky;width:100%}@media (min-width:80rem){:host .topbar{order:1}}:host .sidebar{box-sizing:border-box;display:flex;grid-area:sidebar;height:100%;order:1;width:100%}@media (min-width:80rem){:host .sidebar{order:2;width:15rem}}:host .content{display:flex;flex-direction:column;grid-area:content;height:100%;order:3;overflow-x:hidden;overflow-y:auto;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);position:relative}:host .content .inner-content{padding:1.5rem 1rem;position:relative}@media (min-width:64rem){:host .content .inner-content{padding:2rem;width:100%}}@media (min-width:80rem){:host .content .inner-content{width:100%}}@media (min-width:85.375rem){:host .content .inner-content{width:69rem}}@media (min-width:90rem){:host .content .inner-content{width:69rem}}@media (min-width:120rem){:host .content .inner-content{width:69rem}}:host(.variant-default) .content{flex:1 1 0%}:host(.variant-login){grid-template-areas:\"topbar topbar\" \"content content\"}@media (min-width:64rem){:host(.variant-login){grid-template-areas:\"topbar topbar\" \"content sidebar\"}}:host(.variant-login) .sidebar{display:none;flex:1 1 0%;order:3;overflow:hidden;padding:.5rem;width:unset}@media (min-width:64rem){:host(.variant-login) .sidebar{display:flex}}:host(.variant-login) .sidebar .inner-content{padding:.5rem}:host(.variant-login) .content{align-items:center;order:3}@media (min-width:64rem){:host(.variant-login) .content{justify-content:center;order:2}}:host(.variant-login) .content .inner-content{box-sizing:border-box;padding:calc(env(safe-area-inset-top) + 3.5rem) 1rem 1.5rem;width:100%}@media (min-width:64rem){:host(.variant-login) .content .inner-content{padding:1.5rem 4.5rem 0}}@media (min-width:40rem){:host(.variant-login) .content .inner-content{width:30rem}}@media (min-width:80rem){:host(.variant-office) .sidebar{width:19.5rem}}@media (min-width:64rem){.desktop-xs\\:flex{display:flex!important}.desktop-xs\\:w-content-desktop-xs{width:100%!important}.desktop-xs\\:px-18{padding-left:4.5rem!important;padding-right:4.5rem!important}.desktop-xs\\:px-content-desktop-x{padding-left:2rem!important;padding-right:2rem!important}}@media (min-width:80rem){.desktop-sm\\:w-content-desktop-sm{width:100%!important}}@media (min-width:85.375rem){.desktop\\:w-content-desktop{width:69rem!important}}@media (min-width:90rem){.desktop-lg\\:w-content-desktop-lg{width:69rem!important}}.static{position:static!important}";
4
4
 
5
5
  const Layout = /*@__PURE__*/ proxyCustomElement(class Layout extends HTMLElement {
6
6
  constructor() {
@@ -1 +1 @@
1
- {"file":"p-layout.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,+rHAA+rH;;MCO7sH,MAAM;;;;;mBAIsD,SAAS;;EAE9E,MAAM;IACF,QACI,EAAC,IAAI,IAAC,KAAK,EAAE,oBAAoB,IAAI,CAAC,OAAO,EAAE,IAC3C,WAAK,KAAK,EAAC,QAAQ,IACf,YAAM,IAAI,EAAC,QAAQ,GAAG,CACpB,EACN,WAAK,KAAK,EAAC,SAAS,IAChB,YAAM,IAAI,EAAC,SAAS,GAAG,CACrB,EACN,WAAK,KAAK,EAAC,SAAS,IAChB,WAAK,KAAK,EAAC,eAAe,IACtB,YAAM,IAAI,EAAC,SAAS,GAAG,CACrB,CACJ,CACH,EACT;GACL;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/atoms/layout/layout.component.scss?tag=p-layout&encapsulation=shadow","./src/components/atoms/layout/layout.component.tsx"],"sourcesContent":[":host {\n @apply grid h-screen w-screen content-start overflow-hidden;\n\n grid-template-columns: 1fr;\n grid-template-rows: repeat(1fr, 3);\n gap: 0;\n grid-template-areas:\n 'sidebar'\n 'topbar'\n 'content';\n\n @screen desktop-xs {\n grid-template-columns: auto 1fr;\n grid-template-rows: auto 1fr;\n grid-template-areas:\n 'topbar topbar'\n 'sidebar content';\n }\n\n .topbar,\n .sidebar,\n .content {\n @apply self-start;\n }\n\n .topbar {\n grid-area: topbar;\n\n @apply sticky w-full;\n @apply order-2 desktop-sm:order-1;\n }\n\n .sidebar {\n grid-area: sidebar;\n\n @apply box-border flex h-full;\n @apply w-sidebar-mobile desktop-sm:w-sidebar-desktop;\n @apply order-1 desktop-sm:order-2;\n }\n\n .content {\n grid-area: content;\n\n @apply relative flex h-full flex-col overflow-y-auto overflow-x-hidden;\n @apply order-3;\n\n padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom)\n env(safe-area-inset-left);\n\n .inner-content {\n @apply relative pb-24;\n\n @apply px-content-mobile-x py-content-mobile-y;\n @apply desktop-xs:px-content-desktop-x desktop-xs:py-content-desktop-y;\n\n @apply desktop-xs:w-content-desktop-xs desktop-sm:w-content-desktop-sm desktop:w-content-desktop desktop-lg:w-content-desktop-lg desktop-xl:w-content-desktop-xl;\n }\n }\n}\n\n:host(.variant-default) {\n .content {\n @apply flex-1;\n }\n}\n\n:host(.variant-login) {\n grid-template-areas:\n 'topbar topbar'\n 'content content';\n\n @screen desktop-xs {\n grid-template-areas:\n 'topbar topbar'\n 'content sidebar';\n }\n\n .sidebar {\n @apply hidden w-unset desktop-xs:flex;\n @apply order-3 p-2;\n @apply flex-1 overflow-hidden;\n\n .inner-content {\n @apply p-2;\n }\n }\n\n .content {\n @apply order-3 desktop-xs:order-2;\n @apply items-center desktop-xs:justify-center;\n\n .inner-content {\n @apply box-border;\n @apply desktop-xs:px-18 desktop-xs:py-0;\n @apply w-full tablet:w-content-desktop-login;\n\n @apply px-content-mobile-x py-content-mobile-y;\n padding-top: calc(env(safe-area-inset-top) + 3.5rem);\n\n @screen desktop-xs {\n @apply pt-content-mobile-y;\n }\n }\n }\n}\n\n:host(.variant-office) {\n .sidebar {\n @apply desktop-sm:w-sidebar-office-desktop;\n }\n}\n\n:host(.variant-office-minimal) {\n .sidebar {\n @apply desktop-sm:w-sidebar-office-desktop-minimal;\n }\n}","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'p-layout',\n styleUrl: 'layout.component.scss',\n shadow: true,\n})\nexport class Layout {\n /**\n * Variant of the layout\n */\n @Prop() variant: 'default' | 'login' | 'office' | 'office-minimal' = 'default';\n\n render() {\n return (\n <Host class={`p-layout variant-${this.variant}`}>\n <div class=\"topbar\">\n <slot name=\"topbar\" />\n </div>\n <div class=\"sidebar\">\n <slot name=\"sidebar\" />\n </div>\n <div class=\"content\">\n <div class=\"inner-content\">\n <slot name=\"content\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"p-layout.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,0oHAA0oH;;MCOxpH,MAAM;;;;;mBAImC,SAAS;;EAE3D,MAAM;IACF,QACI,EAAC,IAAI,IAAC,KAAK,EAAE,oBAAoB,IAAI,CAAC,OAAO,EAAE,IAC3C,WAAK,KAAK,EAAC,QAAQ,IACf,YAAM,IAAI,EAAC,QAAQ,GAAG,CACpB,EACN,WAAK,KAAK,EAAC,SAAS,IAChB,YAAM,IAAI,EAAC,SAAS,GAAG,CACrB,EACN,WAAK,KAAK,EAAC,SAAS,IAChB,WAAK,KAAK,EAAC,eAAe,IACtB,YAAM,IAAI,EAAC,SAAS,GAAG,CACrB,CACJ,CACH,EACT;GACL;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/atoms/layout/layout.component.scss?tag=p-layout&encapsulation=shadow","./src/components/atoms/layout/layout.component.tsx"],"sourcesContent":[":host {\n @apply grid h-screen w-screen content-start overflow-hidden;\n\n grid-template-columns: 1fr;\n grid-template-rows: repeat(1fr, 3);\n gap: 0;\n grid-template-areas:\n 'sidebar'\n 'topbar'\n 'content';\n\n @screen desktop-xs {\n grid-template-columns: auto 1fr;\n grid-template-rows: auto 1fr;\n grid-template-areas:\n 'topbar topbar'\n 'sidebar content';\n }\n\n .topbar,\n .sidebar,\n .content {\n @apply self-start;\n }\n\n .topbar {\n grid-area: topbar;\n\n @apply sticky w-full;\n @apply order-2 desktop-sm:order-1;\n }\n\n .sidebar {\n grid-area: sidebar;\n\n @apply box-border flex h-full;\n @apply w-sidebar-mobile desktop-sm:w-sidebar-desktop;\n @apply order-1 desktop-sm:order-2;\n }\n\n .content {\n grid-area: content;\n\n @apply relative flex h-full flex-col overflow-y-auto overflow-x-hidden;\n @apply order-3;\n\n padding: 0 env(safe-area-inset-right) env(safe-area-inset-bottom)\n env(safe-area-inset-left);\n\n .inner-content {\n @apply relative pb-24;\n\n @apply px-content-mobile-x py-content-mobile-y;\n @apply desktop-xs:px-content-desktop-x desktop-xs:py-content-desktop-y;\n\n @apply desktop-xs:w-content-desktop-xs desktop-sm:w-content-desktop-sm desktop:w-content-desktop desktop-lg:w-content-desktop-lg desktop-xl:w-content-desktop-xl;\n }\n }\n}\n\n:host(.variant-default) {\n .content {\n @apply flex-1;\n }\n}\n\n:host(.variant-login) {\n grid-template-areas:\n 'topbar topbar'\n 'content content';\n\n @screen desktop-xs {\n grid-template-areas:\n 'topbar topbar'\n 'content sidebar';\n }\n\n .sidebar {\n @apply hidden w-unset desktop-xs:flex;\n @apply order-3 p-2;\n @apply flex-1 overflow-hidden;\n\n .inner-content {\n @apply p-2;\n }\n }\n\n .content {\n @apply order-3 desktop-xs:order-2;\n @apply items-center desktop-xs:justify-center;\n\n .inner-content {\n @apply box-border;\n @apply desktop-xs:px-18 desktop-xs:py-0;\n @apply w-full tablet:w-content-desktop-login;\n\n @apply px-content-mobile-x py-content-mobile-y;\n padding-top: calc(env(safe-area-inset-top) + 3.5rem);\n\n @screen desktop-xs {\n @apply pt-content-mobile-y;\n }\n }\n }\n}\n\n:host(.variant-office) {\n .sidebar {\n @apply desktop-sm:w-sidebar-office-desktop;\n }\n}","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'p-layout',\n styleUrl: 'layout.component.scss',\n shadow: true,\n})\nexport class Layout {\n /**\n * Variant of the layout\n */\n @Prop() variant: 'default' | 'login' | 'office' = 'default';\n\n render() {\n return (\n <Host class={`p-layout variant-${this.variant}`}>\n <div class=\"topbar\">\n <slot name=\"topbar\" />\n </div>\n <div class=\"sidebar\">\n <slot name=\"sidebar\" />\n </div>\n <div class=\"content\">\n <div class=\"inner-content\">\n <slot name=\"content\" />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -14,8 +14,8 @@ const Modal = /*@__PURE__*/ proxyCustomElement(class Modal extends HTMLElement {
14
14
  super();
15
15
  this.__registerHost();
16
16
  this.__attachShadow();
17
- this.closeClicked = createEvent(this, "closeClicked", 7);
18
- this.closed = createEvent(this, "closed", 7);
17
+ this.closeClicked = createEvent(this, "closeClicked", 3);
18
+ this.closed = createEvent(this, "closed", 3);
19
19
  this._hasFooterSlot = false;
20
20
  this._hasHeaderSlot = false;
21
21
  this.size = 'md';
@@ -1 +1 @@
1
- {"file":"p-modal.js","mappings":";;;;;;;;;;;MAea,KAAK;;;;;;;IA6DN,mBAAc,GAAG,KAAK,CAAC;IACvB,mBAAc,GAAG,KAAK,CAAC;gBA1DW,IAAI;mBAKP,SAAS;;gBAUxB,KAAK;qBAKA,KAAK;qBAKd,IAAI;4BAKG,KAAK;8BAKH,IAAI;sBAKH,IAAI;oBAoBN,KAAK;;EAEjC,iBAAiB;IACb,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAC1C,0BAA0B,CAC7B,CAAC;IACF,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAC1C,0BAA0B,CAC7B,CAAC;GACL;EAED,MAAM;;IACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;MACZ,OAAO;KACV;IAED,MAAM,aAAa,GAAG,YAAM,IAAI,EAAC,QAAQ,GAAG,CAAC;IAC7C,MAAM,WAAW,GAAG,YAAM,IAAI,EAAC,SAAS,GAAG,CAAC;IAC5C,MAAM,aAAa,GAAG,YAAM,IAAI,EAAC,QAAQ,GAAG,CAAC;IAE7C,QACI,EAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IACjB,kBACI,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,EACjD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,UAAU,EAAE,IAAI,CAAC,UAAU,IAE3B,yBAAmB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,IACrD,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,KAAI,IAAI,CAAC,cAAc,MACxC,sBACI,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAErC,IAAI,CAAC,cAAc;QACd,aAAa;QACb,IAAI,CAAC,MAAM,CACJ,CACpB,EACD,oBACI,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,IAE5B,WAAW,CACD,EACd,IAAI,CAAC,cAAc,KAChB,0BAAiB,aAAa,CAAkB,CACnD,CACe,CACX,CACV,EACT;GACL;EAEO,cAAc,CAAC,EAAc;IACjC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC1B,OAAO;KACV;IAED,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;GAClB;EAEM,KAAK,CAAC,EAAc;IACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IAErB,UAAU,CAAC;MACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;MAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACtB,EAAE,GAAG,CAAC,CAAC;GACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/organisms/modal/modal.component.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State\n} from '@stencil/core';\n\n@Component({\n tag: 'p-modal',\n shadow: true,\n})\nexport class Modal {\n /**\n * The size of the modal container\n */\n @Prop() size: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n\n /**\n * The variant of the modal body\n */\n @Prop() variant: 'default' | 'table' = 'default';\n\n /**\n * The Header of the modal\n */\n @Prop() header?: string;\n\n /**\n * Wether to show the modal or not\n */\n @Prop() show: boolean = false;\n\n /**\n * Wether to apply blur to the backdrop\n */\n @Prop() applyBlur: boolean = false;\n\n /**\n * Wether to show the close button in the header\n */\n @Prop() showClose = true;\n\n /**\n * Wether to show the footer on mobile\n */\n @Prop() showMobileFooter = false;\n\n /**\n * Wether to hide the modal when the backdrop is clicked\n */\n @Prop() backdropClickClose = true;\n\n /**\n * Wether we should scroll lock the body\n */\n @Prop() scrollLock: boolean = true;\n\n /**\n * Close click event\n */\n @Event() closeClicked: EventEmitter<MouseEvent>;\n\n /**\n * Closed event\n */\n @Event() closed: EventEmitter<null>;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n private _hasFooterSlot = false;\n private _hasHeaderSlot = false;\n\n @State() private _closing = false;\n\n componentWillLoad() {\n this._hasFooterSlot = !!this._el.querySelector(\n ':scope > [slot=\"footer\"]'\n );\n this._hasHeaderSlot = !!this._el.querySelector(\n ':scope > [slot=\"header\"]'\n );\n }\n\n render() {\n if (!this.show) {\n return;\n }\n\n const headerContent = <slot name=\"header\" />;\n const bodyContent = <slot name=\"content\" />;\n const footerContent = <slot name=\"footer\" />;\n\n return (\n <Host class=\"p-modal\">\n <p-backdrop\n applyBlur={this.applyBlur}\n onClicked={(ev) => this._backdropClick(ev.detail)}\n closing={this._closing}\n scrollLock={this.scrollLock}\n >\n <p-modal-container size={this.size} closing={this._closing}>\n {(this.header?.length || this._hasHeaderSlot) && (\n <p-modal-header\n showClose={this.showClose}\n onClose={(ev) => this.close(ev.detail)}\n >\n {this._hasHeaderSlot\n ? headerContent\n : this.header}\n </p-modal-header>\n )}\n <p-modal-body\n variant={this.variant}\n rounded={!this._hasFooterSlot}\n >\n {bodyContent}\n </p-modal-body>\n {this._hasFooterSlot && (\n <p-modal-footer>{footerContent}</p-modal-footer>\n )}\n </p-modal-container>\n </p-backdrop>\n </Host>\n );\n }\n\n private _backdropClick(ev: MouseEvent) {\n if (!this.backdropClickClose) {\n return;\n }\n\n this.close(ev);\n }\n\n public close(ev: MouseEvent) {\n this.closeClicked.emit(ev);\n\n this._closing = true;\n\n setTimeout(() => {\n this.show = false;\n this._closing = false;\n\n this.closed.emit();\n }, 550);\n }\n}\n"],"version":3}
1
+ {"file":"p-modal.js","mappings":";;;;;;;;;;;MAea,KAAK;;;;;;;IAiEN,mBAAc,GAAG,KAAK,CAAC;IACvB,mBAAc,GAAG,KAAK,CAAC;gBA9DW,IAAI;mBAKP,SAAS;;gBAUxB,KAAK;qBAKA,KAAK;qBAKd,IAAI;4BAKG,KAAK;8BAKH,IAAI;sBAKH,IAAI;oBAwBN,KAAK;;EAEjC,iBAAiB;IACb,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAC1C,0BAA0B,CAC7B,CAAC;IACF,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAC1C,0BAA0B,CAC7B,CAAC;GACL;EAED,MAAM;;IACF,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;MACZ,OAAO;KACV;IAED,MAAM,aAAa,GAAG,YAAM,IAAI,EAAC,QAAQ,GAAG,CAAC;IAC7C,MAAM,WAAW,GAAG,YAAM,IAAI,EAAC,SAAS,GAAG,CAAC;IAC5C,MAAM,aAAa,GAAG,YAAM,IAAI,EAAC,QAAQ,GAAG,CAAC;IAE7C,QACI,EAAC,IAAI,IAAC,KAAK,EAAC,SAAS,IACjB,kBACI,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,SAAS,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,EACjD,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,UAAU,EAAE,IAAI,CAAC,UAAU,IAE3B,yBAAmB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,IACrD,CAAC,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,KAAI,IAAI,CAAC,cAAc,MACxC,sBACI,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAErC,IAAI,CAAC,cAAc;QACd,aAAa;QACb,IAAI,CAAC,MAAM,CACJ,CACpB,EACD,oBACI,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,OAAO,EAAE,CAAC,IAAI,CAAC,cAAc,IAE5B,WAAW,CACD,EACd,IAAI,CAAC,cAAc,KAChB,0BAAiB,aAAa,CAAkB,CACnD,CACe,CACX,CACV,EACT;GACL;EAEO,cAAc,CAAC,EAAc;IACjC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;MAC1B,OAAO;KACV;IAED,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;GAClB;EAEM,KAAK,CAAC,EAAc;IACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAE3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IAErB,UAAU,CAAC;MACP,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;MAClB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;MAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACtB,EAAE,GAAG,CAAC,CAAC;GACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/organisms/modal/modal.component.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State\n} from '@stencil/core';\n\n@Component({\n tag: 'p-modal',\n shadow: true,\n})\nexport class Modal {\n /**\n * The size of the modal container\n */\n @Prop() size: 'sm' | 'md' | 'lg' | 'xl' = 'md';\n\n /**\n * The variant of the modal body\n */\n @Prop() variant: 'default' | 'table' = 'default';\n\n /**\n * The Header of the modal\n */\n @Prop() header?: string;\n\n /**\n * Wether to show the modal or not\n */\n @Prop() show: boolean = false;\n\n /**\n * Wether to apply blur to the backdrop\n */\n @Prop() applyBlur: boolean = false;\n\n /**\n * Wether to show the close button in the header\n */\n @Prop() showClose = true;\n\n /**\n * Wether to show the footer on mobile\n */\n @Prop() showMobileFooter = false;\n\n /**\n * Wether to hide the modal when the backdrop is clicked\n */\n @Prop() backdropClickClose = true;\n\n /**\n * Wether we should scroll lock the body\n */\n @Prop() scrollLock: boolean = true;\n\n /**\n * Close click event\n */\n @Event({\n bubbles: false\n }) closeClicked: EventEmitter<MouseEvent>;\n\n /**\n * Closed event\n */\n @Event({\n bubbles: false\n }) closed: EventEmitter<null>;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n private _hasFooterSlot = false;\n private _hasHeaderSlot = false;\n\n @State() private _closing = false;\n\n componentWillLoad() {\n this._hasFooterSlot = !!this._el.querySelector(\n ':scope > [slot=\"footer\"]'\n );\n this._hasHeaderSlot = !!this._el.querySelector(\n ':scope > [slot=\"header\"]'\n );\n }\n\n render() {\n if (!this.show) {\n return;\n }\n\n const headerContent = <slot name=\"header\" />;\n const bodyContent = <slot name=\"content\" />;\n const footerContent = <slot name=\"footer\" />;\n\n return (\n <Host class=\"p-modal\">\n <p-backdrop\n applyBlur={this.applyBlur}\n onClicked={(ev) => this._backdropClick(ev.detail)}\n closing={this._closing}\n scrollLock={this.scrollLock}\n >\n <p-modal-container size={this.size} closing={this._closing}>\n {(this.header?.length || this._hasHeaderSlot) && (\n <p-modal-header\n showClose={this.showClose}\n onClose={(ev) => this.close(ev.detail)}\n >\n {this._hasHeaderSlot\n ? headerContent\n : this.header}\n </p-modal-header>\n )}\n <p-modal-body\n variant={this.variant}\n rounded={!this._hasFooterSlot}\n >\n {bodyContent}\n </p-modal-body>\n {this._hasFooterSlot && (\n <p-modal-footer>{footerContent}</p-modal-footer>\n )}\n </p-modal-container>\n </p-backdrop>\n </Host>\n );\n }\n\n private _backdropClick(ev: MouseEvent) {\n if (!this.backdropClickClose) {\n return;\n }\n\n this.close(ev);\n }\n\n public close(ev: MouseEvent) {\n this.closeClicked.emit(ev);\n\n this._closing = true;\n\n setTimeout(() => {\n this.show = false;\n this._closing = false;\n\n this.closed.emit();\n }, 550);\n }\n}\n"],"version":3}
@@ -16,9 +16,9 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
16
16
  constructor() {
17
17
  super();
18
18
  this.__registerHost();
19
- this.queryChange = createEvent(this, "queryChange", 7);
20
- this.valueChange = createEvent(this, "valueChange", 7);
21
- this.dropdownShown = createEvent(this, "dropdownShown", 7);
19
+ this.queryChange = createEvent(this, "queryChange", 3);
20
+ this.valueChange = createEvent(this, "valueChange", 3);
21
+ this.dropdownShown = createEvent(this, "dropdownShown", 3);
22
22
  this.items = undefined;
23
23
  this.icon = undefined;
24
24
  this.query = undefined;
@@ -1 +1 @@
1
- {"file":"p-select.js","mappings":"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","names":[],"sources":["./src/components/molecules/select/select.component.scss?tag=p-select","./src/components/molecules/select/select.component.tsx"],"sourcesContent":["p-select {\n @apply flex w-full flex-col;\n\n input.read-only {\n @apply text-ellipsis;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n tag: 'p-select',\n styleUrl: 'select.component.scss',\n shadow: false,\n})\nexport class Select {\n /**\n * The items to show in the dropdown\n */\n @Prop() items: string | any[];\n\n /**\n * Icon of the select box\n */\n @Prop() icon: IconVariant;\n\n /**\n * The current query\n */\n @Prop() query: string;\n\n /**\n * The placeholder of the input\n */\n @Prop() placeholder: string;\n\n /**\n * The placeholder of the input when auto completing\n */\n @Prop() autocompletePlaceholder: string;\n\n /**\n * The current value\n */\n @Prop() value: any;\n\n /**\n * The key of the object to display\n */\n @Prop() displayKey: string = 'text';\n\n /**\n * The key of the object to return\n */\n @Prop() valueKey: string;\n\n /**\n * The key to identify an object\n */\n @Prop() identifierKey: string;\n\n /**\n * The key of the object to display\n */\n @Prop() queryKey?: string;\n\n /**\n * Wether to automatically select the first item\n */\n @Prop() autoSelectFirst: boolean = true;\n\n /**\n * Wether to show the chevron or not\n */\n @Prop() showChevron: boolean = true;\n\n /**\n * The maximum amount of items to display\n */\n @Prop() maxDisplayedItems: number = 10;\n\n /**\n * Wether to enable autocomplete\n */\n @Prop() enableAutocomplete: boolean = true;\n\n /**\n * Wether to keep the query or not\n */\n @Prop() keepQuery: boolean = true;\n\n /**\n * Wether the input uses async filtering\n */\n @Prop() asyncFilter: boolean = false;\n\n /**\n * Wether to show loading items\n */\n @Prop() loading: boolean = false;\n\n /**\n * Event when the query of the autocomplete changes\n */\n @Event() queryChange: EventEmitter<string>;\n\n /**\n * Event when the value changes\n */\n @Event() valueChange: EventEmitter<any>;\n\n /**\n * Event when the dropdown shows\n */\n @Event() dropdownShown: EventEmitter<any>;\n\n /**\n * The size of the input group used by the select\n */\n @Prop() size: 'small' | 'medium' = 'medium';\n\n /**\n * The prefix of the input group used by the select\n */\n @Prop() prefix: string;\n\n /**\n * The label of the input group used by the select\n */\n @Prop() label: string;\n\n /**\n * The helper of the input group used by the select\n */\n @Prop() helper: string;\n\n /**\n * Wether the field is required\n */\n @Prop({ reflect: true }) required: boolean;\n\n /**\n * The helper of the input group used by the select\n */\n @Prop({ reflect: true }) error: string;\n\n /**\n * Wether the input group is disabled used by the select\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n @State() private _showDropdown: any = false;\n @State() private _selectedItem: any = null;\n\n @State() private _isAutoCompleting: boolean = false;\n\n get _items() {\n if (!this.items || this.loading) {\n return [];\n }\n\n let items =\n typeof this.items === 'string'\n ? JSON.parse(this.items)\n : this.items;\n\n if (typeof items?.[0] === 'string') {\n this.displayKey = 'text';\n this.valueKey = 'value';\n\n items = items.map((str) => ({\n value: str,\n text: str,\n }));\n }\n\n if (\n this._isAutoCompleting &&\n this.query?.length &&\n this.query !== this._selectedItem?.[this.displayKey] &&\n !this.asyncFilter\n ) {\n items = items.filter((item) => {\n if (this.queryKey) {\n return this._checkvalue(this.queryKey, item);\n }\n\n return (\n this._checkvalue(this._identifierKey, item) ||\n this._checkvalue(this.displayKey, item)\n );\n });\n }\n\n return items?.slice(0, this.maxDisplayedItems);\n }\n\n get _displayValue() {\n if (this._isAutoCompleting) {\n return this.query;\n }\n\n return this._selectedItem?.[this.displayKey];\n }\n\n get _placeholder() {\n return this._isAutoCompleting && this.autocompletePlaceholder?.length\n ? this.autocompletePlaceholder\n : this.placeholder;\n }\n\n get _identifierKey() {\n return this.identifierKey ?? this.valueKey ?? 'value';\n }\n\n componentDidLoad() {\n if (!this.valueKey && !this.identifierKey) {\n throw new Error('You must provide a valueKey or identifierKey');\n }\n\n if (this.value) {\n this._valueChange();\n return;\n }\n\n this.itemChanges();\n }\n\n render() {\n return (\n <Host class=\"p-select\">\n {this._showDropdown && (!!this._items.length || this.loading)}\n {this._isAutoCompleting}\n <p-dropdown\n disableTriggerClick={true}\n calculateWidth={true}\n insideClick={true}\n show={\n this._showDropdown &&\n (!!this._items.length || this.loading)\n }\n >\n <p-input-group\n slot=\"trigger\"\n icon={this.icon}\n size={this.size}\n prefix={this.prefix}\n label={this.label}\n helper={this.helper}\n required={this.required}\n error={this.error}\n disabled={this.disabled}\n focused={this._showDropdown}\n focusMethod={\n this.enableAutocomplete ? 'focus' : 'click'\n }\n >\n <input\n slot=\"input\"\n type=\"text\"\n placeholder={this._placeholder}\n value={this._displayValue}\n class={`p-input cursor-pointer ${\n !this._isAutoCompleting && 'read-only'\n }`}\n onFocus={(ev) => this._onFocus(ev)}\n onMouseDown={(ev) => this._onMouseDown(ev)}\n onClick={() => this._onClick()}\n onInput={(ev) => this._onChange(ev)}\n />\n\n {this.showChevron && (\n <p-icon variant=\"chevron\" slot=\"suffix\" />\n )}\n </p-input-group>\n <div slot=\"items\">\n {this.loading\n ? this._getLoadingItems()\n : this._getItems()}\n </div>\n </p-dropdown>\n </Host>\n );\n }\n\n @Listen('click', { target: 'document', capture: true })\n protected documentClickHandler({ target }) {\n if (!this._showDropdown || childOf(target, this._el)) {\n return;\n }\n\n this._showDropdown = false;\n this._isAutoCompleting = false;\n }\n\n @Watch('value')\n private _valueChange() {\n this._preselectItem();\n }\n\n @Watch('items')\n public itemChanges() {\n this._preselectItem();\n }\n\n @Watch('_showDropdown')\n public _showDropdownChanges() {\n this.dropdownShown.emit({\n value: this._showDropdown,\n query: this.query,\n });\n }\n\n private _preselectItem() {\n if (this._isAutoCompleting && this.query?.length) {\n return;\n }\n\n let value = this.value;\n\n if (!this._selectedItem && !value && this.autoSelectFirst) {\n value = this._items[0];\n }\n\n // if (!value) {\n // this._selectValue(null);\n // return;\n // }\n\n const identifier =\n typeof value === 'object' && value !== null\n ? value[this._identifierKey]\n : value;\n const parsedValue =\n typeof identifier === 'string' || typeof identifier === 'number'\n ? identifier\n : JSON.stringify(identifier);\n\n const currentValue = this._selectedItem\n ? this._selectedItem?.[this._identifierKey]\n : null;\n const currentParsedValue =\n typeof currentValue === 'string' || typeof currentValue === 'number'\n ? currentValue\n : JSON.stringify(currentValue);\n\n if (this._selectedItem && currentParsedValue === parsedValue) {\n return;\n }\n\n if (!this._items?.length && value) {\n this._selectValue(value);\n return;\n }\n\n const item = this._items.find((i) => {\n const itemIdentifier = i?.[this._identifierKey];\n const parsedItemIdentifier =\n typeof itemIdentifier === 'string' ||\n typeof itemIdentifier === 'number'\n ? itemIdentifier\n : JSON.stringify(itemIdentifier);\n\n return parsedItemIdentifier === parsedValue;\n });\n\n this._selectValue(!!item ? item : value);\n }\n\n private _selectValue(item) {\n this._selectedItem = item;\n const value =\n !!this.valueKey && this.valueKey !== 'false' && item !== null\n ? item?.[this.valueKey]\n : item;\n\n this.query = this.keepQuery ? item?.[this.displayKey] : null;\n this.value = value;\n this.valueChange.emit(value);\n\n this._onBlur(true);\n }\n\n private _onFocus(ev) {\n if (!this.enableAutocomplete) {\n ev.preventDefault();\n ev.stopPropogation();\n\n if (!this._showDropdown) {\n this._showDropdown = true;\n }\n return;\n }\n\n this._showDropdown = true;\n this._isAutoCompleting = true;\n }\n\n private _onMouseDown(ev) {\n if (this.enableAutocomplete) {\n return;\n }\n\n ev.preventDefault();\n }\n\n private _onClick() {\n if (this.enableAutocomplete) {\n return;\n }\n\n this._showDropdown = !this._showDropdown;\n }\n\n private _onBlur(force = false) {\n if (!this.enableAutocomplete && !force) {\n return;\n }\n\n this._isAutoCompleting = false;\n this._showDropdown = false;\n }\n\n private _onChange(ev) {\n if (!this.enableAutocomplete) {\n return;\n }\n\n if (!this._isAutoCompleting) {\n this._isAutoCompleting = true;\n this._showDropdown = true;\n }\n\n this.query = ev.target.value;\n this.queryChange.emit(ev.target.value);\n }\n\n private _checkvalue(key, item) {\n return (\n item?.[key]\n ?.toString()\n ?.toLowerCase()\n .indexOf(this.query?.toLowerCase()) >= 0\n );\n }\n\n private _getItems() {\n return this._items.map((item) => (\n <p-dropdown-menu-item\n onClick={() => this._selectValue(item)}\n active={\n item[this._identifierKey] ===\n this._selectedItem?.[this._identifierKey]\n }\n >\n {item[this.displayKey]}\n </p-dropdown-menu-item>\n ));\n }\n\n private _getLoadingItems() {\n return [0, 0, 0].map(() => (\n <p-dropdown-menu-item enableHover={false}>\n <p-loader variant=\"ghost\" class=\"h-6 w-full rounded\" />\n </p-dropdown-menu-item>\n ));\n }\n}\n"],"version":3}
1
+ {"file":"p-select.js","mappings":"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","names":[],"sources":["./src/components/molecules/select/select.component.scss?tag=p-select","./src/components/molecules/select/select.component.tsx"],"sourcesContent":["p-select {\n @apply flex w-full flex-col;\n\n input.read-only {\n @apply text-ellipsis;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch\n} from '@stencil/core';\nimport { childOf } from '../../../utils';\nimport { IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n tag: 'p-select',\n styleUrl: 'select.component.scss',\n shadow: false,\n})\nexport class Select {\n /**\n * The items to show in the dropdown\n */\n @Prop() items: string | any[];\n\n /**\n * Icon of the select box\n */\n @Prop() icon: IconVariant;\n\n /**\n * The current query\n */\n @Prop() query: string;\n\n /**\n * The placeholder of the input\n */\n @Prop() placeholder: string;\n\n /**\n * The placeholder of the input when auto completing\n */\n @Prop() autocompletePlaceholder: string;\n\n /**\n * The current value\n */\n @Prop() value: any;\n\n /**\n * The key of the object to display\n */\n @Prop() displayKey: string = 'text';\n\n /**\n * The key of the object to return\n */\n @Prop() valueKey: string;\n\n /**\n * The key to identify an object\n */\n @Prop() identifierKey: string;\n\n /**\n * The key of the object to display\n */\n @Prop() queryKey?: string;\n\n /**\n * Wether to automatically select the first item\n */\n @Prop() autoSelectFirst: boolean = true;\n\n /**\n * Wether to show the chevron or not\n */\n @Prop() showChevron: boolean = true;\n\n /**\n * The maximum amount of items to display\n */\n @Prop() maxDisplayedItems: number = 10;\n\n /**\n * Wether to enable autocomplete\n */\n @Prop() enableAutocomplete: boolean = true;\n\n /**\n * Wether to keep the query or not\n */\n @Prop() keepQuery: boolean = true;\n\n /**\n * Wether the input uses async filtering\n */\n @Prop() asyncFilter: boolean = false;\n\n /**\n * Wether to show loading items\n */\n @Prop() loading: boolean = false;\n\n /**\n * Event when the query of the autocomplete changes\n */\n @Event({\n bubbles: false\n }) queryChange: EventEmitter<string>;\n\n /**\n * Event when the value changes\n */\n @Event({\n bubbles: false\n }) valueChange: EventEmitter<any>;\n\n /**\n * Event when the dropdown shows\n */\n @Event({\n bubbles: false\n }) dropdownShown: EventEmitter<any>;\n\n /**\n * The size of the input group used by the select\n */\n @Prop() size: 'small' | 'medium' = 'medium';\n\n /**\n * The prefix of the input group used by the select\n */\n @Prop() prefix: string;\n\n /**\n * The label of the input group used by the select\n */\n @Prop() label: string;\n\n /**\n * The helper of the input group used by the select\n */\n @Prop() helper: string;\n\n /**\n * Wether the field is required\n */\n @Prop({ reflect: true }) required: boolean;\n\n /**\n * The helper of the input group used by the select\n */\n @Prop({ reflect: true }) error: string;\n\n /**\n * Wether the input group is disabled used by the select\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n @State() private _showDropdown: any = false;\n @State() private _selectedItem: any = null;\n\n @State() private _isAutoCompleting: boolean = false;\n\n get _items() {\n if (!this.items || this.loading) {\n return [];\n }\n\n let items =\n typeof this.items === 'string'\n ? JSON.parse(this.items)\n : this.items;\n\n if (typeof items?.[0] === 'string') {\n this.displayKey = 'text';\n this.valueKey = 'value';\n\n items = items.map((str) => ({\n value: str,\n text: str,\n }));\n }\n\n if (\n this._isAutoCompleting &&\n this.query?.length &&\n this.query !== this._selectedItem?.[this.displayKey] &&\n !this.asyncFilter\n ) {\n items = items.filter((item) => {\n if (this.queryKey) {\n return this._checkvalue(this.queryKey, item);\n }\n\n return (\n this._checkvalue(this._identifierKey, item) ||\n this._checkvalue(this.displayKey, item)\n );\n });\n }\n\n return items?.slice(0, this.maxDisplayedItems);\n }\n\n get _displayValue() {\n if (this._isAutoCompleting) {\n return this.query;\n }\n\n return this._selectedItem?.[this.displayKey];\n }\n\n get _placeholder() {\n return this._isAutoCompleting && this.autocompletePlaceholder?.length\n ? this.autocompletePlaceholder\n : this.placeholder;\n }\n\n get _identifierKey() {\n return this.identifierKey ?? this.valueKey ?? 'value';\n }\n\n componentDidLoad() {\n if (!this.valueKey && !this.identifierKey) {\n throw new Error('You must provide a valueKey or identifierKey');\n }\n\n if (this.value) {\n this._valueChange();\n return;\n }\n\n this.itemChanges();\n }\n\n render() {\n return (\n <Host class=\"p-select\">\n {this._showDropdown && (!!this._items.length || this.loading)}\n {this._isAutoCompleting}\n <p-dropdown\n disableTriggerClick={true}\n calculateWidth={true}\n insideClick={true}\n show={\n this._showDropdown &&\n (!!this._items.length || this.loading)\n }\n >\n <p-input-group\n slot=\"trigger\"\n icon={this.icon}\n size={this.size}\n prefix={this.prefix}\n label={this.label}\n helper={this.helper}\n required={this.required}\n error={this.error}\n disabled={this.disabled}\n focused={this._showDropdown}\n focusMethod={\n this.enableAutocomplete ? 'focus' : 'click'\n }\n >\n <input\n slot=\"input\"\n type=\"text\"\n placeholder={this._placeholder}\n value={this._displayValue}\n class={`p-input cursor-pointer ${\n !this._isAutoCompleting && 'read-only'\n }`}\n onFocus={(ev) => this._onFocus(ev)}\n onMouseDown={(ev) => this._onMouseDown(ev)}\n onClick={() => this._onClick()}\n onInput={(ev) => this._onChange(ev)}\n />\n\n {this.showChevron && (\n <p-icon variant=\"chevron\" slot=\"suffix\" />\n )}\n </p-input-group>\n <div slot=\"items\">\n {this.loading\n ? this._getLoadingItems()\n : this._getItems()}\n </div>\n </p-dropdown>\n </Host>\n );\n }\n\n @Listen('click', { target: 'document', capture: true })\n protected documentClickHandler({ target }) {\n if (!this._showDropdown || childOf(target, this._el)) {\n return;\n }\n\n this._showDropdown = false;\n this._isAutoCompleting = false;\n }\n\n @Watch('value')\n private _valueChange() {\n this._preselectItem();\n }\n\n @Watch('items')\n public itemChanges() {\n this._preselectItem();\n }\n\n @Watch('_showDropdown')\n public _showDropdownChanges() {\n this.dropdownShown.emit({\n value: this._showDropdown,\n query: this.query,\n });\n }\n\n private _preselectItem() {\n if (this._isAutoCompleting && this.query?.length) {\n return;\n }\n\n let value = this.value;\n\n if (!this._selectedItem && !value && this.autoSelectFirst) {\n value = this._items[0];\n }\n\n // if (!value) {\n // this._selectValue(null);\n // return;\n // }\n\n const identifier =\n typeof value === 'object' && value !== null\n ? value[this._identifierKey]\n : value;\n const parsedValue =\n typeof identifier === 'string' || typeof identifier === 'number'\n ? identifier\n : JSON.stringify(identifier);\n\n const currentValue = this._selectedItem\n ? this._selectedItem?.[this._identifierKey]\n : null;\n const currentParsedValue =\n typeof currentValue === 'string' || typeof currentValue === 'number'\n ? currentValue\n : JSON.stringify(currentValue);\n\n if (this._selectedItem && currentParsedValue === parsedValue) {\n return;\n }\n\n if (!this._items?.length && value) {\n this._selectValue(value);\n return;\n }\n\n const item = this._items.find((i) => {\n const itemIdentifier = i?.[this._identifierKey];\n const parsedItemIdentifier =\n typeof itemIdentifier === 'string' ||\n typeof itemIdentifier === 'number'\n ? itemIdentifier\n : JSON.stringify(itemIdentifier);\n\n return parsedItemIdentifier === parsedValue;\n });\n\n this._selectValue(!!item ? item : value);\n }\n\n private _selectValue(item) {\n this._selectedItem = item;\n const value =\n !!this.valueKey && this.valueKey !== 'false' && item !== null\n ? item?.[this.valueKey]\n : item;\n\n this.query = this.keepQuery ? item?.[this.displayKey] : null;\n this.value = value;\n this.valueChange.emit(value);\n\n this._onBlur(true);\n }\n\n private _onFocus(ev) {\n if (!this.enableAutocomplete) {\n ev.preventDefault();\n ev.stopPropogation();\n\n if (!this._showDropdown) {\n this._showDropdown = true;\n }\n return;\n }\n\n this._showDropdown = true;\n this._isAutoCompleting = true;\n }\n\n private _onMouseDown(ev) {\n if (this.enableAutocomplete) {\n return;\n }\n\n ev.preventDefault();\n }\n\n private _onClick() {\n if (this.enableAutocomplete) {\n return;\n }\n\n this._showDropdown = !this._showDropdown;\n }\n\n private _onBlur(force = false) {\n if (!this.enableAutocomplete && !force) {\n return;\n }\n\n this._isAutoCompleting = false;\n this._showDropdown = false;\n }\n\n private _onChange(ev) {\n if (!this.enableAutocomplete) {\n return;\n }\n\n if (!this._isAutoCompleting) {\n this._isAutoCompleting = true;\n this._showDropdown = true;\n }\n\n this.query = ev.target.value;\n this.queryChange.emit(ev.target.value);\n }\n\n private _checkvalue(key, item) {\n return (\n item?.[key]\n ?.toString()\n ?.toLowerCase()\n .indexOf(this.query?.toLowerCase()) >= 0\n );\n }\n\n private _getItems() {\n return this._items.map((item) => (\n <p-dropdown-menu-item\n onClick={() => this._selectValue(item)}\n active={\n item[this._identifierKey] ===\n this._selectedItem?.[this._identifierKey]\n }\n >\n {item[this.displayKey]}\n </p-dropdown-menu-item>\n ));\n }\n\n private _getLoadingItems() {\n return [0, 0, 0].map(() => (\n <p-dropdown-menu-item enableHover={false}>\n <p-loader variant=\"ghost\" class=\"h-6 w-full rounded\" />\n </p-dropdown-menu-item>\n ));\n }\n}\n"],"version":3}
@@ -30,19 +30,19 @@ const Table = /*@__PURE__*/ proxyCustomElement(class Table extends HTMLElement {
30
30
  constructor() {
31
31
  super();
32
32
  this.__registerHost();
33
- this.selectedRowsChange = createEvent(this, "selectedRowsChange", 7);
34
- this.rowClick = createEvent(this, "rowClick", 7);
35
- this.rowSelected = createEvent(this, "rowSelected", 7);
36
- this.rowDeselected = createEvent(this, "rowDeselected", 7);
37
- this.hasRendered = createEvent(this, "hasRendered", 7);
38
- this.quickFilter = createEvent(this, "quickFilter", 7);
39
- this.queryChange = createEvent(this, "queryChange", 7);
40
- this.filter = createEvent(this, "filter", 7);
41
- this.edit = createEvent(this, "edit", 7);
42
- this.pageChange = createEvent(this, "pageChange", 7);
43
- this.pageSizeChange = createEvent(this, "pageSizeChange", 7);
44
- this.export = createEvent(this, "export", 7);
45
- this.emptyStateActionClick = createEvent(this, "emptyStateActionClick", 7);
33
+ this.selectedRowsChange = createEvent(this, "selectedRowsChange", 3);
34
+ this.rowClick = createEvent(this, "rowClick", 3);
35
+ this.rowSelected = createEvent(this, "rowSelected", 3);
36
+ this.rowDeselected = createEvent(this, "rowDeselected", 3);
37
+ this.hasRendered = createEvent(this, "hasRendered", 3);
38
+ this.quickFilter = createEvent(this, "quickFilter", 3);
39
+ this.queryChange = createEvent(this, "queryChange", 3);
40
+ this.filter = createEvent(this, "filter", 3);
41
+ this.edit = createEvent(this, "edit", 3);
42
+ this.pageChange = createEvent(this, "pageChange", 3);
43
+ this.pageSizeChange = createEvent(this, "pageSizeChange", 3);
44
+ this.export = createEvent(this, "export", 3);
45
+ this.emptyStateActionClick = createEvent(this, "emptyStateActionClick", 3);
46
46
  this._ctrlDown = false;
47
47
  this._hasCustomFilterSlot = false;
48
48
  this.items = undefined;
@@ -1 +1 @@
1
- {"file":"p-table.js","mappings":"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","names":[],"sources":["./src/components/organisms/table/table.component.scss?tag=p-table","./src/components/organisms/table/table.component.tsx"],"sourcesContent":["p-table {\n @apply flex flex-col;\n\n .p-input[type='checkbox'] {\n flex-shrink: 0;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter, RowClickEvent } from '../../../types/table';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport {\n defaultSize,\n defaultSizeOptions,\n} from '../../molecules/page-size-select/constants';\nimport { buttonTemplateFunc } from '../../molecules/table-header/table-header.component';\n\nexport type templateFunc = () => string;\n\n@Component({\n tag: 'p-table',\n styleUrl: 'table.component.scss',\n})\nexport class Table {\n /**\n * The items to be fed to the table\n */\n @Prop() items: string;\n\n /**\n * Wether data is loading\n */\n @Prop() loading: boolean = false;\n\n /**\n * Wether the header should show loading state\n */\n @Prop() headerLoading: boolean = false;\n\n /**\n * Wether the footer should show loading state\n */\n @Prop() footerLoading: boolean = false;\n\n /**\n * The amount of loading rows to show\n */\n @Prop() amountOfLoadingRows: number = 6;\n\n /**\n * Wether to enable selection\n */\n @Prop() enableRowSelection: boolean = true;\n\n /**\n * Wether to enable row clicking\n */\n @Prop() enableRowClick: boolean = true;\n\n /**\n * The current selection of items\n */\n @Prop() selectedRows: any[] = [];\n\n /**\n * Event whenever the current selection changes\n */\n @Event() selectedRowsChange: EventEmitter<any>;\n\n /**\n * The key to determine if a row is selected\n */\n @Prop() selectionKey: string;\n\n /**\n * A key to determine if a row can be selected\n */\n @Prop() canSelectKey: string;\n\n /**\n * Event whenever a row is clicked\n */\n @Event() rowClick: EventEmitter<RowClickEvent>;\n\n /**\n * Event whenever a row is selected\n */\n @Event() rowSelected: EventEmitter<any>;\n\n /**\n * Event whenever a row is deselected\n */\n @Event() rowDeselected: EventEmitter<any>;\n\n /**\n * Event when the table has rendered\n */\n @Event() hasRendered: EventEmitter<number>;\n\n /** START HEADER */\n\n /**\n * Wether to show the header\n */\n @Prop() enableHeader: boolean = true;\n\n /**\n * Quick filters to show\n */\n @Prop() quickFilters: QuickFilter[] = [];\n\n /**\n * Active quick filter identifier\n */\n @Prop() activeQuickFilterIdentifier: string;\n\n /**\n * Wether to show the search input\n */\n @Prop() enableSearch: boolean = true;\n\n /**\n * The query to show in the search bar\n */\n @Prop({ mutable: true }) query: string;\n\n /**\n * Wether to show the filter button\n */\n @Prop() enableFilter: boolean = true;\n\n /**\n * The amount of filters being selected\n */\n @Prop() selectedFiltersAmount: number;\n\n /**\n * The template for the filter button text\n */\n @Prop() filterButtonTemplate: templateFunc;\n\n /**\n * Wether to show the edit button\n */\n @Prop() enableEdit: boolean = true;\n\n /**\n * Wether the edit button is loading\n */\n @Prop() editButtonLoading: boolean = false;\n\n /**\n * The edit button icon\n */\n @Prop() editButtonIcon: IconVariant = 'pencil';\n\n /**\n * The edit button text if changed\n */\n @Prop() editButtonText: string;\n\n /**\n * The template for the edit button text\n */\n @Prop() editButtonTemplate: buttonTemplateFunc;\n\n /**\n * Event when one of the quick filters is clicked\n */\n @Event() quickFilter: EventEmitter<QuickFilter>;\n\n /**\n * Event when the query changes\n */\n @Event() queryChange: EventEmitter<string>;\n\n /**\n * Event when the filter button is clicked\n */\n @Event() filter: EventEmitter<null>;\n\n /**\n * Event when the edit button is clicked\n */\n @Event() edit: EventEmitter<null>;\n\n /** START FOOTER */\n\n /**\n * Wether to show the header\n */\n @Prop() enableFooter: boolean = true;\n\n /**\n * Wether to enable page size select\n */\n @Prop() enablePageSize: boolean = true;\n\n /**\n * Wether to enable pagination\n */\n @Prop() enablePagination: boolean = true;\n\n /**\n * Wether to enable export\n */\n @Prop() enableExport: boolean = true;\n\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) page: number = 1;\n\n /**\n * The total amount of items\n */\n @Prop() total!: number;\n\n /**\n * Event whenever the page changes\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * The amount of items per page\n */\n @Prop() pageSize: number = defaultSize;\n\n /**\n * The options for the page size\n */\n @Prop() pageSizeOptions: number[] = defaultSizeOptions;\n\n /**\n * Event whenever the page changes\n */\n @Event() pageSizeChange: EventEmitter<number>;\n\n /**\n * Event whenever the page changes\n */\n @Event() export: EventEmitter<number>;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hideOnSinglePage: boolean = true;\n\n /* Empty state start */\n @Prop() emptyStateHeader: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.header);\n @Prop() emptyStateContent: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.content);\n @Prop() emptyStateAction: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.action);\n /**\n * Wether to enable empty state action\n */\n @Prop() enableEmptyStateAction: boolean = true;\n\n @Prop() emptyStateFilteredHeader: templateFunc = () =>\n formatTranslation(this._locales.empty_state.filtered.header);\n @Prop() emptyStateFilteredContent: templateFunc = () =>\n formatTranslation(this._locales.empty_state.filtered.content);\n\n /**\n * Event whenever the empty state is clicked\n */\n @Event() emptyStateActionClick: EventEmitter<null>;\n\n /* Empty state end */\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Locales used for this component\n */\n @State() private _locales: any = {};\n\n @State() private _columns: any[] = [];\n @State() private _items: any[] = [];\n\n private _ctrlDown = false;\n private _hasCustomFilterSlot = false;\n\n componentWillLoad() {\n this._hasCustomFilterSlot = !!this._el.querySelector(\n ':scope > [slot=\"custom-filter\"]'\n );\n\n this._setLocales();\n this._parseItems(this.items);\n this._generateColumns();\n }\n\n componentDidRender() {\n this.hasRendered.emit();\n }\n\n render() {\n return (\n <Host class=\"p-table\">\n <p-table-container>\n {this.enableHeader && (\n <p-table-header\n // quick filters\n quickFilters={this.quickFilters}\n activeQuickFilterIdentifier={\n this.activeQuickFilterIdentifier\n }\n onQuickFilter={({ detail }) =>\n this.quickFilter.emit(detail)\n }\n // search\n enableSearch={this.enableSearch}\n query={this.query}\n onQueryChange={({ detail }) =>\n this.queryChange.emit(detail)\n }\n // filter button\n enableFilter={this.enableFilter}\n selectedFiltersAmount={this.selectedFiltersAmount}\n filterButtonTemplate={this.filterButtonTemplate}\n onFilter={() => this.filter.emit()}\n // edit button\n enableEdit={this.enableEdit}\n editIcon={this.editButtonIcon}\n editText={this.editButtonText}\n editLoading={this.editButtonLoading}\n canEdit={!!this.selectedRows?.length}\n editButtonTemplate={this.editButtonTemplate}\n onEdit={() => this.edit.emit()}\n itemsSelectedAmount={this.selectedRows?.length}\n //loading\n loading={this.headerLoading}\n >\n {this._hasCustomFilterSlot && (\n <slot\n name=\"custom-filter\"\n slot=\"custom-filter\"\n />\n )}\n </p-table-header>\n )}\n\n {this._getHeader()}\n <div class=\"flex flex-col\">{this._getRows()}</div>\n\n {this.enableFooter && (\n <p-table-footer\n // overall\n hideOnSinglePage={this.hideOnSinglePage}\n // page size select\n enablePageSize={this.enablePageSize}\n pageSize={this.pageSize}\n pageSizeOptions={this.pageSizeOptions}\n onPageSizeChange={({ detail }) =>\n this.pageSizeChange.emit(detail)\n }\n // pagination\n enablePagination={this.enablePagination}\n page={this.page}\n total={this.total}\n onPageChange={({ detail }) =>\n this.pageChange.emit(detail)\n }\n // export\n enableExport={this.enableExport}\n onExport={() => this.export.emit()}\n //loading\n loading={this.footerLoading}\n ></p-table-footer>\n )}\n </p-table-container>\n </Host>\n );\n }\n\n @Listen('localeChanged', { target: 'body' })\n private async _setLocales(): Promise<void> {\n this._locales = await getLocaleComponentStrings(this._el);\n }\n\n @Listen('tableDefinitionChanged', { target: 'body' })\n onTableDefinitionUpdated() {\n this._generateColumns();\n }\n\n @Listen('keydown', { target: 'document' })\n keyDown({ key }) {\n if (key !== 'Control' || this._ctrlDown === true) {\n return;\n }\n\n this._ctrlDown = true;\n }\n\n @Listen('keyup', { target: 'document' })\n keyUp({ key }) {\n if (key !== 'Control' || this._ctrlDown === false) {\n return;\n }\n\n this._ctrlDown = false;\n }\n\n @Listen('visibilitychange', { target: 'document' })\n visibilityChange() {\n if (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n return;\n }\n\n this._ctrlDown = false;\n }\n\n @Watch('items')\n private _parseItems(items: string) {\n if (!items) {\n this._items = [];\n return;\n }\n\n if (Array.isArray(items)) {\n this._items = items;\n return;\n }\n\n this._items = JSON.parse(items);\n }\n\n private _generateColumns() {\n const definitions = this._el.querySelectorAll('p-table-column');\n const definitionsArray = Array.from(definitions);\n\n definitionsArray[definitionsArray.length - 1]['isLast'] = true;\n\n this._columns = definitionsArray;\n }\n\n private _getHeader() {\n return (\n <p-table-row variant=\"header\">\n {this._columns.map((col: TableColumn, index) => (\n <p-table-cell\n definition={col}\n value={col.name}\n variant=\"header\"\n checkbox={\n index === 0 || col.hasCheckbox\n ? this._getCheckbox(null, 'loading')\n : null\n }\n index={index}\n ></p-table-cell>\n ))}\n </p-table-row>\n );\n }\n\n private _getRows() {\n if (this.loading) {\n return Array.from(\n {\n length: this.amountOfLoadingRows,\n },\n (_, i) => (\n <p-table-row\n enableHover={\n this.enableRowSelection || this.enableRowClick\n }\n >\n {this._getLoadingColumns(i)}\n </p-table-row>\n )\n );\n }\n\n if (!this._items.length) {\n return this._getEmptyState();\n }\n\n return this._items.map((item, index) => (\n <p-table-row\n enableHover={this.enableRowSelection || this.enableRowClick}\n onClick={(ev) => this._rowClick(ev, index)}\n >\n {this._getRowColumns(item, index)}\n </p-table-row>\n ));\n }\n\n private _getRowColumns(item, index) {\n return this._columns.map((col: TableColumn, colIndex) => {\n return (\n <p-table-cell\n definition={col}\n item={item}\n checkbox={\n colIndex === 0 || col.hasCheckbox\n ? this._getCheckbox(index)\n : null\n }\n index={colIndex}\n rowIndex={index}\n ></p-table-cell>\n );\n });\n }\n\n private _getLoadingColumns(index) {\n return this._columns.map((col: TableColumn, colIndex) => {\n return (\n <p-table-cell\n definition={col}\n variant=\"loading\"\n checkbox={\n colIndex === 0 || col.hasCheckbox\n ? this._getCheckbox(index, 'loading')\n : null\n }\n index={colIndex}\n rowIndex={index}\n ></p-table-cell>\n );\n });\n }\n\n private _getCheckbox(\n rowIndex,\n variant: 'header' | 'default' | 'loading' = 'default'\n ) {\n if (!this.enableRowSelection || !this.selectionKey) {\n return;\n }\n\n if (variant === 'loading') {\n return <p-loader variant=\"ghost\" class=\"h-6 w-6 rounded\" />;\n }\n\n if (variant === 'header') {\n return (\n <input\n class=\"p-input\"\n type=\"checkbox\"\n onChange={(ev) => this._selectAllChange(ev)}\n checked={this._selectionContainsAll()}\n indeterminate={this._selectionIndeterminate()}\n />\n );\n }\n\n const item = this._items[rowIndex];\n\n return (\n <input\n class=\"p-input\"\n type=\"checkbox\"\n onChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}\n disabled={this.canSelectKey && !item[this.canSelectKey]}\n checked={this._selectionContains(item, rowIndex)}\n />\n );\n }\n\n private _getEmptyState() {\n if (this.query?.length || this.selectedFiltersAmount) {\n return (\n <div class=\"flex max-w-[20rem] flex-col items-center self-center py-24 text-center\">\n <p-illustration variant=\"empty-state-search\" class=\"mb-6\" />\n <p class=\"text-storm-default font-semibold\">\n {this.emptyStateFilteredHeader()}\n </p>\n <p class=\"mb-14 text-sm text-storm-medium\">\n {this.emptyStateFilteredContent()}\n </p>\n </div>\n );\n }\n\n return (\n <div\n class={`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${\n this.enableEmptyStateAction && 'cursor-pointer'\n }`}\n onClick={() =>\n this.enableEmptyStateAction &&\n this.emptyStateActionClick.emit(null)\n }\n >\n <p-illustration variant=\"empty-state-add\" class=\"mb-6\" />\n <p class=\"text-storm-default font-semibold\">\n {this.emptyStateHeader()}\n </p>\n <p class=\"mb-6 text-sm text-storm-medium\">\n {this.emptyStateContent()}\n </p>\n {this.enableEmptyStateAction && (\n <p-button variant=\"secondary\" icon=\"plus\" size=\"small\">\n {this.emptyStateAction()}\n </p-button>\n )}\n </div>\n );\n }\n\n private _selectAllChange($event: any) {\n if (!this.enableRowSelection) {\n return;\n }\n\n const value = this._getCheckedValue($event.target);\n if (value) {\n const toAdd = [];\n for (let i = 0; i < this._items.length; i++) {\n const row = this._items[i];\n if (this.canSelectKey && !row[this.canSelectKey]) {\n continue;\n }\n\n if (this._selectionContains(row, i)) {\n continue;\n }\n\n toAdd.push(row);\n this.rowSelected.emit(row);\n }\n\n this.selectedRows = [...this.selectedRows, ...toAdd];\n this.selectedRowsChange.emit(this.selectedRows);\n return;\n }\n\n for (let i = 0; i < this.selectedRows.length; i++) {\n const value = this.selectedRows[i];\n const row = this._items.find(\n (d) =>\n this._getSelectionValue(d, i) ===\n this._getSelectionValue(value, i)\n );\n\n if (!row) {\n continue;\n }\n\n this.rowDeselected.emit(row);\n }\n\n this.selectedRows = [];\n this.selectedRowsChange.emit(this.selectedRows);\n }\n\n private _checkboxChange(target: any, index: number) {\n if (!this.enableRowSelection) {\n return;\n }\n\n const row = this._items[index];\n\n if (this.canSelectKey && !row[this.canSelectKey]) {\n target.checked = false;\n return;\n }\n\n const value = this._getCheckedValue(target);\n if (value) {\n this.selectedRows = [...this.selectedRows, row];\n this.selectedRowsChange.emit(this.selectedRows);\n this.rowSelected.emit(row);\n return;\n }\n\n const indexOfToRemove = this._selectionContains(row, index, true);\n\n // we need to do this, because splice does not trigger the selection setter.\n const selection = [...this.selectedRows];\n selection.splice(indexOfToRemove, 1);\n this.selectedRows = selection;\n this.selectedRowsChange.emit(this.selectedRows);\n this.rowDeselected.emit(row);\n }\n\n private _getCheckedValue(target: any) {\n return target?.checked;\n }\n\n private _getSelectionValue(row: any, index: number) {\n return this.selectionKey ? row?.[this.selectionKey] || index : index;\n }\n\n private _selectionContains(row, index, returnIndex = false): any {\n const returnValue = this.selectedRows.findIndex(\n (item) =>\n this._getSelectionValue(row, index) ===\n this._getSelectionValue(item, index)\n );\n return !returnIndex ? returnValue >= 0 : returnValue;\n }\n\n private _selectionContainsAll() {\n let returnValue = true;\n if (!this._items?.length) {\n return false;\n }\n\n for (let i = 0; i < this._items?.length; i++) {\n const item = this._items[i];\n const contains = this._selectionContains(item, i);\n\n if (!contains) {\n returnValue = false;\n break;\n }\n }\n\n return returnValue;\n }\n\n private _selectionIndeterminate() {\n if (!this._items?.length || !this.selectedRows?.length) {\n return false;\n }\n\n let containsCount = 0;\n for (let i = 0; i < this._items?.length; i++) {\n const item = this._items[i];\n const contains = this._selectionContains(item, i);\n\n if (contains) {\n containsCount++;\n }\n }\n\n return containsCount > 0 && containsCount !== this._items.length;\n }\n\n private _rowClick($event, index) {\n const target = $event.target;\n\n if (\n target.tagName.toLowerCase() === 'input' ||\n target.type === 'checkbox'\n ) {\n return;\n }\n\n const row = this._findRow($event.target);\n\n if (this.enableRowClick) {\n const action = this._findRowAction($event.target);\n\n if (action) {\n return;\n }\n\n const item = this._items[index];\n this.rowClick.emit({\n item,\n ctrlDown: this._ctrlDown,\n });\n return;\n }\n\n if (!this.enableRowSelection) {\n return;\n }\n\n const checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n if (!checkbox) {\n return;\n }\n\n checkbox.checked = !checkbox.checked;\n this._checkboxChange(checkbox, index);\n }\n\n private _findRow(el: HTMLElement) {\n if (!el) {\n return el;\n }\n\n if (el?.tagName?.toLowerCase() === 'p-table-row') {\n return el;\n }\n\n return this._findRow(el?.parentElement);\n }\n\n private _findRowAction(el: HTMLElement) {\n if (!el) {\n return null;\n }\n\n if (\n el.getAttribute('data-is-action') !== null &&\n el.getAttribute('data-is-action') !== 'false'\n ) {\n return el;\n }\n\n if (el?.tagName?.toLowerCase() === 'p-table-row') {\n return null;\n }\n\n return this._findRowAction(el?.parentElement);\n }\n}\n"],"version":3}
1
+ {"file":"p-table.js","mappings":"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","names":[],"sources":["./src/components/organisms/table/table.component.scss?tag=p-table","./src/components/organisms/table/table.component.tsx"],"sourcesContent":["p-table {\n @apply flex flex-col;\n\n .p-input[type='checkbox'] {\n flex-shrink: 0;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n Watch\n} from '@stencil/core';\nimport { IconVariant } from '../../../components';\nimport { QuickFilter, RowClickEvent } from '../../../types/table';\nimport { formatTranslation, getLocaleComponentStrings } from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport {\n defaultSize,\n defaultSizeOptions\n} from '../../molecules/page-size-select/constants';\nimport { buttonTemplateFunc } from '../../molecules/table-header/table-header.component';\n\nexport type templateFunc = () => string;\n\n@Component({\n tag: 'p-table',\n styleUrl: 'table.component.scss',\n})\nexport class Table {\n /**\n * The items to be fed to the table\n */\n @Prop() items: string;\n\n /**\n * Wether data is loading\n */\n @Prop() loading: boolean = false;\n\n /**\n * Wether the header should show loading state\n */\n @Prop() headerLoading: boolean = false;\n\n /**\n * Wether the footer should show loading state\n */\n @Prop() footerLoading: boolean = false;\n\n /**\n * The amount of loading rows to show\n */\n @Prop() amountOfLoadingRows: number = 6;\n\n /**\n * Wether to enable selection\n */\n @Prop() enableRowSelection: boolean = true;\n\n /**\n * Wether to enable row clicking\n */\n @Prop() enableRowClick: boolean = true;\n\n /**\n * The current selection of items\n */\n @Prop() selectedRows: any[] = [];\n\n /**\n * Event whenever the current selection changes\n */\n @Event({\n bubbles: false\n }) selectedRowsChange: EventEmitter<any>;\n\n /**\n * The key to determine if a row is selected\n */\n @Prop() selectionKey: string;\n\n /**\n * A key to determine if a row can be selected\n */\n @Prop() canSelectKey: string;\n\n /**\n * Event whenever a row is clicked\n */\n @Event({\n bubbles: false\n }) rowClick: EventEmitter<RowClickEvent>;\n\n /**\n * Event whenever a row is selected\n */\n @Event({\n bubbles: false\n }) rowSelected: EventEmitter<any>;\n\n /**\n * Event whenever a row is deselected\n */\n @Event({\n bubbles: false\n }) rowDeselected: EventEmitter<any>;\n\n /**\n * Event when the table has rendered\n */\n @Event({\n bubbles: false\n }) hasRendered: EventEmitter<number>;\n\n /** START HEADER */\n\n /**\n * Wether to show the header\n */\n @Prop() enableHeader: boolean = true;\n\n /**\n * Quick filters to show\n */\n @Prop() quickFilters: QuickFilter[] = [];\n\n /**\n * Active quick filter identifier\n */\n @Prop() activeQuickFilterIdentifier: string;\n\n /**\n * Wether to show the search input\n */\n @Prop() enableSearch: boolean = true;\n\n /**\n * The query to show in the search bar\n */\n @Prop({ mutable: true }) query: string;\n\n /**\n * Wether to show the filter button\n */\n @Prop() enableFilter: boolean = true;\n\n /**\n * The amount of filters being selected\n */\n @Prop() selectedFiltersAmount: number;\n\n /**\n * The template for the filter button text\n */\n @Prop() filterButtonTemplate: templateFunc;\n\n /**\n * Wether to show the edit button\n */\n @Prop() enableEdit: boolean = true;\n\n /**\n * Wether the edit button is loading\n */\n @Prop() editButtonLoading: boolean = false;\n\n /**\n * The edit button icon\n */\n @Prop() editButtonIcon: IconVariant = 'pencil';\n\n /**\n * The edit button text if changed\n */\n @Prop() editButtonText: string;\n\n /**\n * The template for the edit button text\n */\n @Prop() editButtonTemplate: buttonTemplateFunc;\n\n /**\n * Event when one of the quick filters is clicked\n */\n @Event({\n bubbles: false\n }) quickFilter: EventEmitter<QuickFilter>;\n\n /**\n * Event when the query changes\n */\n @Event({\n bubbles: false\n }) queryChange: EventEmitter<string>;\n\n /**\n * Event when the filter button is clicked\n */\n @Event({\n bubbles: false\n }) filter: EventEmitter<null>;\n\n /**\n * Event when the edit button is clicked\n */\n @Event({\n bubbles: false\n }) edit: EventEmitter<null>;\n\n /** START FOOTER */\n\n /**\n * Wether to show the header\n */\n @Prop() enableFooter: boolean = true;\n\n /**\n * Wether to enable page size select\n */\n @Prop() enablePageSize: boolean = true;\n\n /**\n * Wether to enable pagination\n */\n @Prop() enablePagination: boolean = true;\n\n /**\n * Wether to enable export\n */\n @Prop() enableExport: boolean = true;\n\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) page: number = 1;\n\n /**\n * The total amount of items\n */\n @Prop() total!: number;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false\n }) pageChange: EventEmitter<number>;\n\n /**\n * The amount of items per page\n */\n @Prop() pageSize: number = defaultSize;\n\n /**\n * The options for the page size\n */\n @Prop() pageSizeOptions: number[] = defaultSizeOptions;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false\n }) pageSizeChange: EventEmitter<number>;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false\n }) export: EventEmitter<number>;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hideOnSinglePage: boolean = true;\n\n /* Empty state start */\n @Prop() emptyStateHeader: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.header);\n @Prop() emptyStateContent: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.content);\n @Prop() emptyStateAction: templateFunc = () =>\n formatTranslation(this._locales.empty_state?.no_filter.action);\n /**\n * Wether to enable empty state action\n */\n @Prop() enableEmptyStateAction: boolean = true;\n\n @Prop() emptyStateFilteredHeader: templateFunc = () =>\n formatTranslation(this._locales.empty_state.filtered.header);\n @Prop() emptyStateFilteredContent: templateFunc = () =>\n formatTranslation(this._locales.empty_state.filtered.content);\n\n /**\n * Event whenever the empty state is clicked\n */\n @Event({\n bubbles: false\n }) emptyStateActionClick: EventEmitter<null>;\n\n /* Empty state end */\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Locales used for this component\n */\n @State() private _locales: any = {};\n\n @State() private _columns: any[] = [];\n @State() private _items: any[] = [];\n\n private _ctrlDown = false;\n private _hasCustomFilterSlot = false;\n\n componentWillLoad() {\n this._hasCustomFilterSlot = !!this._el.querySelector(\n ':scope > [slot=\"custom-filter\"]'\n );\n\n this._setLocales();\n this._parseItems(this.items);\n this._generateColumns();\n }\n\n componentDidRender() {\n this.hasRendered.emit();\n }\n\n render() {\n return (\n <Host class=\"p-table\">\n <p-table-container>\n {this.enableHeader && (\n <p-table-header\n // quick filters\n quickFilters={this.quickFilters}\n activeQuickFilterIdentifier={\n this.activeQuickFilterIdentifier\n }\n onQuickFilter={({ detail }) =>\n this.quickFilter.emit(detail)\n }\n // search\n enableSearch={this.enableSearch}\n query={this.query}\n onQueryChange={({ detail }) =>\n this.queryChange.emit(detail)\n }\n // filter button\n enableFilter={this.enableFilter}\n selectedFiltersAmount={this.selectedFiltersAmount}\n filterButtonTemplate={this.filterButtonTemplate}\n onFilter={() => this.filter.emit()}\n // edit button\n enableEdit={this.enableEdit}\n editIcon={this.editButtonIcon}\n editText={this.editButtonText}\n editLoading={this.editButtonLoading}\n canEdit={!!this.selectedRows?.length}\n editButtonTemplate={this.editButtonTemplate}\n onEdit={() => this.edit.emit()}\n itemsSelectedAmount={this.selectedRows?.length}\n //loading\n loading={this.headerLoading}\n >\n {this._hasCustomFilterSlot && (\n <slot\n name=\"custom-filter\"\n slot=\"custom-filter\"\n />\n )}\n </p-table-header>\n )}\n\n {this._getHeader()}\n <div class=\"flex flex-col\">{this._getRows()}</div>\n\n {this.enableFooter && (\n <p-table-footer\n // overall\n hideOnSinglePage={this.hideOnSinglePage}\n // page size select\n enablePageSize={this.enablePageSize}\n pageSize={this.pageSize}\n pageSizeOptions={this.pageSizeOptions}\n onPageSizeChange={({ detail }) =>\n this.pageSizeChange.emit(detail)\n }\n // pagination\n enablePagination={this.enablePagination}\n page={this.page}\n total={this.total}\n onPageChange={({ detail }) =>\n this.pageChange.emit(detail)\n }\n // export\n enableExport={this.enableExport}\n onExport={() => this.export.emit()}\n //loading\n loading={this.footerLoading}\n ></p-table-footer>\n )}\n </p-table-container>\n </Host>\n );\n }\n\n @Listen('localeChanged', { target: 'body' })\n private async _setLocales(): Promise<void> {\n this._locales = await getLocaleComponentStrings(this._el);\n }\n\n @Listen('tableDefinitionChanged', { target: 'body' })\n onTableDefinitionUpdated() {\n this._generateColumns();\n }\n\n @Listen('keydown', { target: 'document' })\n keyDown({ key }) {\n if (key !== 'Control' || this._ctrlDown === true) {\n return;\n }\n\n this._ctrlDown = true;\n }\n\n @Listen('keyup', { target: 'document' })\n keyUp({ key }) {\n if (key !== 'Control' || this._ctrlDown === false) {\n return;\n }\n\n this._ctrlDown = false;\n }\n\n @Listen('visibilitychange', { target: 'document' })\n visibilityChange() {\n if (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n return;\n }\n\n this._ctrlDown = false;\n }\n\n @Watch('items')\n private _parseItems(items: string) {\n if (!items) {\n this._items = [];\n return;\n }\n\n if (Array.isArray(items)) {\n this._items = items;\n return;\n }\n\n this._items = JSON.parse(items);\n }\n\n private _generateColumns() {\n const definitions = this._el.querySelectorAll('p-table-column');\n const definitionsArray = Array.from(definitions);\n\n definitionsArray[definitionsArray.length - 1]['isLast'] = true;\n\n this._columns = definitionsArray;\n }\n\n private _getHeader() {\n return (\n <p-table-row variant=\"header\">\n {this._columns.map((col: TableColumn, index) => (\n <p-table-cell\n definition={col}\n value={col.name}\n variant=\"header\"\n checkbox={\n index === 0 || col.hasCheckbox\n ? this._getCheckbox(null, 'loading')\n : null\n }\n index={index}\n ></p-table-cell>\n ))}\n </p-table-row>\n );\n }\n\n private _getRows() {\n if (this.loading) {\n return Array.from(\n {\n length: this.amountOfLoadingRows,\n },\n (_, i) => (\n <p-table-row\n enableHover={\n this.enableRowSelection || this.enableRowClick\n }\n >\n {this._getLoadingColumns(i)}\n </p-table-row>\n )\n );\n }\n\n if (!this._items.length) {\n return this._getEmptyState();\n }\n\n return this._items.map((item, index) => (\n <p-table-row\n enableHover={this.enableRowSelection || this.enableRowClick}\n onClick={(ev) => this._rowClick(ev, index)}\n >\n {this._getRowColumns(item, index)}\n </p-table-row>\n ));\n }\n\n private _getRowColumns(item, index) {\n return this._columns.map((col: TableColumn, colIndex) => {\n return (\n <p-table-cell\n definition={col}\n item={item}\n checkbox={\n colIndex === 0 || col.hasCheckbox\n ? this._getCheckbox(index)\n : null\n }\n index={colIndex}\n rowIndex={index}\n ></p-table-cell>\n );\n });\n }\n\n private _getLoadingColumns(index) {\n return this._columns.map((col: TableColumn, colIndex) => {\n return (\n <p-table-cell\n definition={col}\n variant=\"loading\"\n checkbox={\n colIndex === 0 || col.hasCheckbox\n ? this._getCheckbox(index, 'loading')\n : null\n }\n index={colIndex}\n rowIndex={index}\n ></p-table-cell>\n );\n });\n }\n\n private _getCheckbox(\n rowIndex,\n variant: 'header' | 'default' | 'loading' = 'default'\n ) {\n if (!this.enableRowSelection || !this.selectionKey) {\n return;\n }\n\n if (variant === 'loading') {\n return <p-loader variant=\"ghost\" class=\"h-6 w-6 rounded\" />;\n }\n\n if (variant === 'header') {\n return (\n <input\n class=\"p-input\"\n type=\"checkbox\"\n onChange={(ev) => this._selectAllChange(ev)}\n checked={this._selectionContainsAll()}\n indeterminate={this._selectionIndeterminate()}\n />\n );\n }\n\n const item = this._items[rowIndex];\n\n return (\n <input\n class=\"p-input\"\n type=\"checkbox\"\n onChange={(ev) => this._checkboxChange(ev?.target, rowIndex)}\n disabled={this.canSelectKey && !item[this.canSelectKey]}\n checked={this._selectionContains(item, rowIndex)}\n />\n );\n }\n\n private _getEmptyState() {\n if (this.query?.length || this.selectedFiltersAmount) {\n return (\n <div class=\"flex max-w-[20rem] flex-col items-center self-center py-24 text-center\">\n <p-illustration variant=\"empty-state-search\" class=\"mb-6\" />\n <p class=\"text-storm-default font-semibold\">\n {this.emptyStateFilteredHeader()}\n </p>\n <p class=\"mb-14 text-sm text-storm-medium\">\n {this.emptyStateFilteredContent()}\n </p>\n </div>\n );\n }\n\n return (\n <div\n class={`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${\n this.enableEmptyStateAction && 'cursor-pointer'\n }`}\n onClick={() =>\n this.enableEmptyStateAction &&\n this.emptyStateActionClick.emit(null)\n }\n >\n <p-illustration variant=\"empty-state-add\" class=\"mb-6\" />\n <p class=\"text-storm-default font-semibold\">\n {this.emptyStateHeader()}\n </p>\n <p class=\"mb-6 text-sm text-storm-medium\">\n {this.emptyStateContent()}\n </p>\n {this.enableEmptyStateAction && (\n <p-button variant=\"secondary\" icon=\"plus\" size=\"small\">\n {this.emptyStateAction()}\n </p-button>\n )}\n </div>\n );\n }\n\n private _selectAllChange($event: any) {\n if (!this.enableRowSelection) {\n return;\n }\n\n const value = this._getCheckedValue($event.target);\n if (value) {\n const toAdd = [];\n for (let i = 0; i < this._items.length; i++) {\n const row = this._items[i];\n if (this.canSelectKey && !row[this.canSelectKey]) {\n continue;\n }\n\n if (this._selectionContains(row, i)) {\n continue;\n }\n\n toAdd.push(row);\n this.rowSelected.emit(row);\n }\n\n this.selectedRows = [...this.selectedRows, ...toAdd];\n this.selectedRowsChange.emit(this.selectedRows);\n return;\n }\n\n for (let i = 0; i < this.selectedRows.length; i++) {\n const value = this.selectedRows[i];\n const row = this._items.find(\n (d) =>\n this._getSelectionValue(d, i) ===\n this._getSelectionValue(value, i)\n );\n\n if (!row) {\n continue;\n }\n\n this.rowDeselected.emit(row);\n }\n\n this.selectedRows = [];\n this.selectedRowsChange.emit(this.selectedRows);\n }\n\n private _checkboxChange(target: any, index: number) {\n if (!this.enableRowSelection) {\n return;\n }\n\n const row = this._items[index];\n\n if (this.canSelectKey && !row[this.canSelectKey]) {\n target.checked = false;\n return;\n }\n\n const value = this._getCheckedValue(target);\n if (value) {\n this.selectedRows = [...this.selectedRows, row];\n this.selectedRowsChange.emit(this.selectedRows);\n this.rowSelected.emit(row);\n return;\n }\n\n const indexOfToRemove = this._selectionContains(row, index, true);\n\n // we need to do this, because splice does not trigger the selection setter.\n const selection = [...this.selectedRows];\n selection.splice(indexOfToRemove, 1);\n this.selectedRows = selection;\n this.selectedRowsChange.emit(this.selectedRows);\n this.rowDeselected.emit(row);\n }\n\n private _getCheckedValue(target: any) {\n return target?.checked;\n }\n\n private _getSelectionValue(row: any, index: number) {\n return this.selectionKey ? row?.[this.selectionKey] || index : index;\n }\n\n private _selectionContains(row, index, returnIndex = false): any {\n const returnValue = this.selectedRows.findIndex(\n (item) =>\n this._getSelectionValue(row, index) ===\n this._getSelectionValue(item, index)\n );\n return !returnIndex ? returnValue >= 0 : returnValue;\n }\n\n private _selectionContainsAll() {\n let returnValue = true;\n if (!this._items?.length) {\n return false;\n }\n\n for (let i = 0; i < this._items?.length; i++) {\n const item = this._items[i];\n const contains = this._selectionContains(item, i);\n\n if (!contains) {\n returnValue = false;\n break;\n }\n }\n\n return returnValue;\n }\n\n private _selectionIndeterminate() {\n if (!this._items?.length || !this.selectedRows?.length) {\n return false;\n }\n\n let containsCount = 0;\n for (let i = 0; i < this._items?.length; i++) {\n const item = this._items[i];\n const contains = this._selectionContains(item, i);\n\n if (contains) {\n containsCount++;\n }\n }\n\n return containsCount > 0 && containsCount !== this._items.length;\n }\n\n private _rowClick($event, index) {\n const target = $event.target;\n\n if (\n target.tagName.toLowerCase() === 'input' ||\n target.type === 'checkbox'\n ) {\n return;\n }\n\n const row = this._findRow($event.target);\n\n if (this.enableRowClick) {\n const action = this._findRowAction($event.target);\n\n if (action) {\n return;\n }\n\n const item = this._items[index];\n this.rowClick.emit({\n item,\n ctrlDown: this._ctrlDown,\n });\n return;\n }\n\n if (!this.enableRowSelection) {\n return;\n }\n\n const checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n if (!checkbox) {\n return;\n }\n\n checkbox.checked = !checkbox.checked;\n this._checkboxChange(checkbox, index);\n }\n\n private _findRow(el: HTMLElement) {\n if (!el) {\n return el;\n }\n\n if (el?.tagName?.toLowerCase() === 'p-table-row') {\n return el;\n }\n\n return this._findRow(el?.parentElement);\n }\n\n private _findRowAction(el: HTMLElement) {\n if (!el) {\n return null;\n }\n\n if (\n el.getAttribute('data-is-action') !== null &&\n el.getAttribute('data-is-action') !== 'false'\n ) {\n return el;\n }\n\n if (el?.tagName?.toLowerCase() === 'p-table-row') {\n return null;\n }\n\n return this._findRowAction(el?.parentElement);\n }\n}\n"],"version":3}
@@ -10,7 +10,7 @@ const Toast = /*@__PURE__*/ proxyCustomElement(class Toast extends HTMLElement {
10
10
  super();
11
11
  this.__registerHost();
12
12
  this.__attachShadow();
13
- this.action = createEvent(this, "action", 7);
13
+ this.action = createEvent(this, "action", 3);
14
14
  this.variant = 'positive';
15
15
  this.header = undefined;
16
16
  this.content = undefined;
@@ -1 +1 @@
1
- {"file":"p-toast.js","mappings":";;;;;AAAA,MAAM,iBAAiB,GAAG,mkNAAmkN;;MCShlN,KAAK;;;;;;mBAI0C,UAAU;;;wBAelC,IAAI;sBAKF,UAAU;;;;EAiB5C,MAAM;;IACF,QACI,EAAC,IAAI,IACD,KAAK,EAAE,mBAAmB,IAAI,CAAC,OAAO,EAAE,EACxC,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,IAE9B,WAAK,KAAK,EAAC,8BAA8B,IACrC,SAAG,KAAK,EAAC,0BAA0B,IAC9B,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,KAChB,IAAI,CAAC,MAAM,KAEX,YAAM,IAAI,EAAC,QAAQ,GAAG,CACzB,CACD,EACJ,SAAG,KAAK,EAAC,kCAAkC,IACtC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,KACjB,IAAI,CAAC,OAAO,KAEZ,YAAM,IAAI,EAAC,SAAS,GAAG,CAC1B,CACD,CACF,EAEL,IAAI,CAAC,YAAY,KACd,gBACI,OAAO,EAAC,WAAW,EACnB,QAAQ,QACR,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,KAAK,EAAC,eAAe,GACvB,CACL,CACE,EACT;GACL;EAEO,QAAQ;IACZ,IAAI,IAAI,CAAC,YAAY,EAAE;MACnB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACtB;GACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/molecules/toast/toast.component.scss?tag=p-toast&encapsulation=shadow","./src/components/molecules/toast/toast.component.tsx"],"sourcesContent":[":host {\n @apply flex justify-between items-center gap-2;\n @apply w-full p-4 pl-5;\n @apply bg-white rounded box-border;\n @apply shadow-4 #{!important};\n @apply border-l-4 border-solid #{!important};\n\n p {\n @apply m-0;\n @apply overflow-hidden text-ellipsis whitespace-nowrap;\n }\n}\n\n:host(.variant-positive) {\n @apply border-l-positive #{!important};\n}\n\n:host(.variant-unbiased) {\n @apply border-l-unbiased #{!important};\n}\n\n:host(.variant-negative) {\n @apply border-l-negative #{!important};\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport { RotateOptions } from '../../../types';\nimport { IconFlipOptions, IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n tag: 'p-toast',\n styleUrl: 'toast.component.scss',\n shadow: true,\n})\nexport class Toast {\n /**\n * The variant of the toast\n */\n @Prop() variant: 'positive' | 'unbiased' | 'negative' = 'positive';\n\n /**\n * The header of the toast\n */\n @Prop() header?: string;\n\n /**\n * The content of the toast\n */\n @Prop() content?: string;\n\n /**\n * Wether to enable the close button\n */\n @Prop() enableAction: boolean = true;\n\n /**\n * Icon to show on the button\n */\n @Prop() actionIcon: IconVariant = 'negative';\n\n /**\n * Icon flip\n */\n @Prop() actionIconFlip: IconFlipOptions;\n\n /**\n * Icon rotate\n */\n @Prop() actionIconRotate: RotateOptions;\n\n /**\n * Button click event\n */\n @Event() action: EventEmitter<MouseEvent>;\n\n render() {\n return (\n <Host\n class={`p-toast variant-${this.variant}`}\n onClick={() => this._onClick()}\n >\n <div class=\"flex flex-col w-full min-w-0\">\n <p class=\"font-semibold text-storm\">\n {this.header?.length ? (\n this.header\n ) : (\n <slot name=\"header\" />\n )}\n </p>\n <p class=\"text-sm text-storm-medium w-full\">\n {this.content?.length ? (\n this.content\n ) : (\n <slot name=\"content\" />\n )}\n </p>\n </div>\n\n {this.enableAction && (\n <p-button\n variant=\"secondary\"\n iconOnly\n size=\"small\"\n icon={this.actionIcon}\n iconFlip={this.actionIconFlip}\n iconRotate={this.actionIconRotate}\n class=\"flex-shrink-0\"\n />\n )}\n </Host>\n );\n }\n\n private _onClick() {\n if (this.enableAction) {\n this.action.emit();\n }\n }\n}\n"],"version":3}
1
+ {"file":"p-toast.js","mappings":";;;;;AAAA,MAAM,iBAAiB,GAAG,mkNAAmkN;;MCShlN,KAAK;;;;;;mBAI0C,UAAU;;;wBAelC,IAAI;sBAKF,UAAU;;;;EAmB5C,MAAM;;IACF,QACI,EAAC,IAAI,IACD,KAAK,EAAE,mBAAmB,IAAI,CAAC,OAAO,EAAE,EACxC,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,IAE9B,WAAK,KAAK,EAAC,8BAA8B,IACrC,SAAG,KAAK,EAAC,0BAA0B,IAC9B,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,KAChB,IAAI,CAAC,MAAM,KAEX,YAAM,IAAI,EAAC,QAAQ,GAAG,CACzB,CACD,EACJ,SAAG,KAAK,EAAC,kCAAkC,IACtC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,KACjB,IAAI,CAAC,OAAO,KAEZ,YAAM,IAAI,EAAC,SAAS,GAAG,CAC1B,CACD,CACF,EAEL,IAAI,CAAC,YAAY,KACd,gBACI,OAAO,EAAC,WAAW,EACnB,QAAQ,QACR,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,QAAQ,EAAE,IAAI,CAAC,cAAc,EAC7B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,KAAK,EAAC,eAAe,GACvB,CACL,CACE,EACT;GACL;EAEO,QAAQ;IACZ,IAAI,IAAI,CAAC,YAAY,EAAE;MACnB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACtB;GACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/molecules/toast/toast.component.scss?tag=p-toast&encapsulation=shadow","./src/components/molecules/toast/toast.component.tsx"],"sourcesContent":[":host {\n @apply flex justify-between items-center gap-2;\n @apply w-full p-4 pl-5;\n @apply bg-white rounded box-border;\n @apply shadow-4 #{!important};\n @apply border-l-4 border-solid #{!important};\n\n p {\n @apply m-0;\n @apply overflow-hidden text-ellipsis whitespace-nowrap;\n }\n}\n\n:host(.variant-positive) {\n @apply border-l-positive #{!important};\n}\n\n:host(.variant-unbiased) {\n @apply border-l-unbiased #{!important};\n}\n\n:host(.variant-negative) {\n @apply border-l-negative #{!important};\n}\n","import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport { RotateOptions } from '../../../types';\nimport { IconFlipOptions, IconVariant } from '../../atoms/icon/icon.component';\n\n@Component({\n tag: 'p-toast',\n styleUrl: 'toast.component.scss',\n shadow: true,\n})\nexport class Toast {\n /**\n * The variant of the toast\n */\n @Prop() variant: 'positive' | 'unbiased' | 'negative' = 'positive';\n\n /**\n * The header of the toast\n */\n @Prop() header?: string;\n\n /**\n * The content of the toast\n */\n @Prop() content?: string;\n\n /**\n * Wether to enable the close button\n */\n @Prop() enableAction: boolean = true;\n\n /**\n * Icon to show on the button\n */\n @Prop() actionIcon: IconVariant = 'negative';\n\n /**\n * Icon flip\n */\n @Prop() actionIconFlip: IconFlipOptions;\n\n /**\n * Icon rotate\n */\n @Prop() actionIconRotate: RotateOptions;\n\n /**\n * Button click event\n */\n @Event({\n bubbles: false\n }) action: EventEmitter<MouseEvent>;\n\n render() {\n return (\n <Host\n class={`p-toast variant-${this.variant}`}\n onClick={() => this._onClick()}\n >\n <div class=\"flex flex-col w-full min-w-0\">\n <p class=\"font-semibold text-storm\">\n {this.header?.length ? (\n this.header\n ) : (\n <slot name=\"header\" />\n )}\n </p>\n <p class=\"text-sm text-storm-medium w-full\">\n {this.content?.length ? (\n this.content\n ) : (\n <slot name=\"content\" />\n )}\n </p>\n </div>\n\n {this.enableAction && (\n <p-button\n variant=\"secondary\"\n iconOnly\n size=\"small\"\n icon={this.actionIcon}\n iconFlip={this.actionIconFlip}\n iconRotate={this.actionIconRotate}\n class=\"flex-shrink-0\"\n />\n )}\n </Host>\n );\n }\n\n private _onClick() {\n if (this.enableAction) {\n this.action.emit();\n }\n }\n}\n"],"version":3}
@@ -15,7 +15,7 @@ const PageSizeSelect = /*@__PURE__*/ proxyCustomElement(class PageSizeSelect ext
15
15
  super();
16
16
  this.__registerHost();
17
17
  this.__attachShadow();
18
- this.sizeChange = createEvent(this, "sizeChange", 7);
18
+ this.sizeChange = createEvent(this, "sizeChange", 3);
19
19
  this._defaultButtonTemplate = (size) => formatTranslation(this._locales.item, { size });
20
20
  this._defaultItemTemplate = (size) => formatTranslation(this._locales.item, { size });
21
21
  this.size = defaultSize;
@@ -1 +1 @@
1
- {"file":"page-size-select.component.js","mappings":";;;;;;;;;MAAa,WAAW,GAAG,GAAG;MACjB,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG;;MCsBrC,cAAc;;;;;;IACf,2BAAsB,GAAiB,CAAC,IAAI,KAChD,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,yBAAoB,GAAiB,CAAC,IAAI,KAC9C,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAIG,WAAW;uBAKlC,kBAAkB;2BAUP,OAAO;sBAKT,OAAO;0BAKT,IAAI,CAAC,sBAAsB;wBAK7B,IAAI,CAAC,oBAAoB;kBAUpC,KAAK;oBAKE,EAAE;;EAEnC,iBAAiB;IACb,IAAI,CAAC,WAAW,EAAE,CAAC;GACtB;EAED,MAAM;IACF,QACI,EAAC,IAAI,IAAC,KAAK,EAAE,sBAAsB,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,IACxD,kBACI,SAAS,EAAC,WAAW,EACrB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,gBAAgB,EAAC,MAAM,IAEvB,gBACI,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAI,CAAC,UAAU,IAEpB,IAAI,CAAC,cAAc;QACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CACrC,EACX,YAAM,IAAI,EAAC,OAAO,IACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,MACzB,4BACI,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,IAAI,EAC5B,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAEtC,IAAI,CAAC,YAAY;QACZ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CACpB,CAC1B,CAAC,CACC,CACE,CACV,EACT;GACL;EAGO,MAAM,WAAW;IACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;GAC7D;EAEO,WAAW,CAAC,CAAU;IAC1B,IAAI,CAAC,CAAC,EAAE;MACJ,OAAO;KACV;IAED,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/molecules/page-size-select/constants.tsx","./src/components/molecules/page-size-select/page-size-select.component.tsx"],"sourcesContent":["export const defaultSize = 12;\nexport const defaultSizeOptions = [12, 24, 68, 136];\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport {\n formatTranslation,\n getLocaleComponentStrings,\n} from '../../../utils/localization';\nimport { defaultSize, defaultSizeOptions } from './constants';\n\nexport type templateFunc = (value: number) => string;\n\n@Component({\n tag: 'p-page-size-select',\n shadow: true,\n})\nexport class PageSizeSelect {\n private _defaultButtonTemplate: templateFunc = (size) =>\n formatTranslation(this._locales.item, { size });\n private _defaultItemTemplate: templateFunc = (size) =>\n formatTranslation(this._locales.item, { size });\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) size: number = defaultSize;\n\n /**\n * The available sizes\n */\n @Prop() sizeOptions: number[] = defaultSizeOptions;\n\n /**\n * Event whenever the size changes\n */\n @Event() sizeChange: EventEmitter<number>;\n\n /**\n * Chevron position\n */\n @Prop() chevronPosition: 'start' | 'end' = 'start';\n\n /**\n * The size of the button\n */\n @Prop() buttonSize: 'small' | 'medium' = 'small';\n\n /**\n * The template for the data view\n */\n @Prop() buttonTemplate: templateFunc = this._defaultButtonTemplate;\n\n /**\n * The template for the data view\n */\n @Prop() itemTemplate: templateFunc = this._defaultItemTemplate;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hidden: boolean = false;\n\n /**\n * Locales used for this component\n */\n @State() private _locales: any = {};\n\n componentWillLoad() {\n this._setLocales();\n }\n\n render() {\n return (\n <Host class={`p-page-size-select ${this.hidden && 'hidden'}`}>\n <p-dropdown\n placement=\"top-start\"\n chevronPosition={this.chevronPosition}\n chevronDirection=\"down\"\n >\n <p-button\n variant=\"secondary\"\n slot=\"trigger\"\n size={this.buttonSize}\n >\n {this.buttonTemplate\n ? this.buttonTemplate(this.size)\n : this._defaultButtonTemplate(this.size)}\n </p-button>\n <slot slot=\"items\">\n {this.sizeOptions.map((option) => (\n <p-dropdown-menu-item\n active={option === this.size}\n onClick={() => this._changeSize(option)}\n >\n {this.itemTemplate\n ? this.itemTemplate(option)\n : this._defaultItemTemplate(option)}\n </p-dropdown-menu-item>\n ))}\n </slot>\n </p-dropdown>\n </Host>\n );\n }\n\n @Listen('localeChanged', { target: 'body' })\n private async _setLocales(): Promise<void> {\n this._locales = await getLocaleComponentStrings(this._el);\n }\n\n private _changeSize(s?: number) {\n if (!s) {\n return;\n }\n\n this.size = s;\n this.sizeChange.emit(this.size);\n }\n}\n"],"version":3}
1
+ {"file":"page-size-select.component.js","mappings":";;;;;;;;;MAAa,WAAW,GAAG,GAAG;MACjB,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG;;MCsBrC,cAAc;;;;;;IACf,2BAAsB,GAAiB,CAAC,IAAI,KAChD,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,yBAAoB,GAAiB,CAAC,IAAI,KAC9C,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;gBAIG,WAAW;uBAKlC,kBAAkB;2BAYP,OAAO;sBAKT,OAAO;0BAKT,IAAI,CAAC,sBAAsB;wBAK7B,IAAI,CAAC,oBAAoB;kBAUpC,KAAK;oBAKE,EAAE;;EAEnC,iBAAiB;IACb,IAAI,CAAC,WAAW,EAAE,CAAC;GACtB;EAED,MAAM;IACF,QACI,EAAC,IAAI,IAAC,KAAK,EAAE,sBAAsB,IAAI,CAAC,MAAM,IAAI,QAAQ,EAAE,IACxD,kBACI,SAAS,EAAC,WAAW,EACrB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,gBAAgB,EAAC,MAAM,IAEvB,gBACI,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAI,CAAC,UAAU,IAEpB,IAAI,CAAC,cAAc;QACd,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CACrC,EACX,YAAM,IAAI,EAAC,OAAO,IACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,MACzB,4BACI,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,IAAI,EAC5B,OAAO,EAAE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAEtC,IAAI,CAAC,YAAY;QACZ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CACpB,CAC1B,CAAC,CACC,CACE,CACV,EACT;GACL;EAGO,MAAM,WAAW;IACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;GAC7D;EAEO,WAAW,CAAC,CAAU;IAC1B,IAAI,CAAC,CAAC,EAAE;MACJ,OAAO;KACV;IAED,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;GACnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["./src/components/molecules/page-size-select/constants.tsx","./src/components/molecules/page-size-select/page-size-select.component.tsx"],"sourcesContent":["export const defaultSize = 12;\nexport const defaultSizeOptions = [12, 24, 68, 136];\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State\n} from '@stencil/core';\nimport {\n formatTranslation,\n getLocaleComponentStrings\n} from '../../../utils/localization';\nimport { defaultSize, defaultSizeOptions } from './constants';\n\nexport type templateFunc = (value: number) => string;\n\n@Component({\n tag: 'p-page-size-select',\n shadow: true,\n})\nexport class PageSizeSelect {\n private _defaultButtonTemplate: templateFunc = (size) =>\n formatTranslation(this._locales.item, { size });\n private _defaultItemTemplate: templateFunc = (size) =>\n formatTranslation(this._locales.item, { size });\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) size: number = defaultSize;\n\n /**\n * The available sizes\n */\n @Prop() sizeOptions: number[] = defaultSizeOptions;\n\n /**\n * Event whenever the size changes\n */\n @Event({\n bubbles: false\n }) sizeChange: EventEmitter<number>;\n\n /**\n * Chevron position\n */\n @Prop() chevronPosition: 'start' | 'end' = 'start';\n\n /**\n * The size of the button\n */\n @Prop() buttonSize: 'small' | 'medium' = 'small';\n\n /**\n * The template for the data view\n */\n @Prop() buttonTemplate: templateFunc = this._defaultButtonTemplate;\n\n /**\n * The template for the data view\n */\n @Prop() itemTemplate: templateFunc = this._defaultItemTemplate;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hidden: boolean = false;\n\n /**\n * Locales used for this component\n */\n @State() private _locales: any = {};\n\n componentWillLoad() {\n this._setLocales();\n }\n\n render() {\n return (\n <Host class={`p-page-size-select ${this.hidden && 'hidden'}`}>\n <p-dropdown\n placement=\"top-start\"\n chevronPosition={this.chevronPosition}\n chevronDirection=\"down\"\n >\n <p-button\n variant=\"secondary\"\n slot=\"trigger\"\n size={this.buttonSize}\n >\n {this.buttonTemplate\n ? this.buttonTemplate(this.size)\n : this._defaultButtonTemplate(this.size)}\n </p-button>\n <slot slot=\"items\">\n {this.sizeOptions.map((option) => (\n <p-dropdown-menu-item\n active={option === this.size}\n onClick={() => this._changeSize(option)}\n >\n {this.itemTemplate\n ? this.itemTemplate(option)\n : this._defaultItemTemplate(option)}\n </p-dropdown-menu-item>\n ))}\n </slot>\n </p-dropdown>\n </Host>\n );\n }\n\n @Listen('localeChanged', { target: 'body' })\n private async _setLocales(): Promise<void> {\n this._locales = await getLocaleComponentStrings(this._el);\n }\n\n private _changeSize(s?: number) {\n if (!s) {\n return;\n }\n\n this.size = s;\n this.sizeChange.emit(this.size);\n }\n}\n"],"version":3}
@@ -8,7 +8,7 @@ const Pagination = /*@__PURE__*/ proxyCustomElement(class Pagination extends HTM
8
8
  constructor() {
9
9
  super();
10
10
  this.__registerHost();
11
- this.pageChange = createEvent(this, "pageChange", 7);
11
+ this.pageChange = createEvent(this, "pageChange", 3);
12
12
  this._pages = [];
13
13
  this._set = [];
14
14
  this._nextClick = () => {