@paperless/core 1.6.0 → 1.7.0

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 (266) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/assets/icons/plan.svg +14 -0
  3. package/dist/assets/icons/settings.svg +4 -21
  4. package/dist/assets/icons/switch.svg +7 -19
  5. package/dist/build/p-0623f15c.entry.js +2 -0
  6. package/dist/build/{p-b59680a7.entry.js.map → p-0623f15c.entry.js.map} +1 -1
  7. package/dist/build/p-0e93e831.entry.js +2 -0
  8. package/dist/{paperless/p-6cb21186.entry.js → build/p-30d8c6c4.entry.js} +2 -2
  9. package/dist/build/{p-2db30595.entry.js → p-3e1a1224.entry.js} +2 -2
  10. package/dist/build/p-4843a674.entry.js +2 -0
  11. package/dist/{paperless/p-a01f438a.entry.js.map → build/p-4843a674.entry.js.map} +1 -1
  12. package/dist/build/p-5cea1812.entry.js +2 -0
  13. package/dist/build/{p-7392b3ff.entry.js.map → p-5cea1812.entry.js.map} +1 -1
  14. package/dist/build/{p-012d5a7f.entry.js → p-62ce84bc.entry.js} +2 -2
  15. package/dist/build/{p-012d5a7f.entry.js.map → p-62ce84bc.entry.js.map} +1 -1
  16. package/dist/build/p-6e770f95.entry.js +2 -0
  17. package/dist/build/{p-bd08b944.entry.js.map → p-6e770f95.entry.js.map} +1 -1
  18. package/dist/build/p-754a5754.entry.js +2 -0
  19. package/dist/{paperless/p-08003813.entry.js.map → build/p-754a5754.entry.js.map} +1 -1
  20. package/dist/build/p-77a58f71.entry.js +2 -0
  21. package/dist/{paperless/p-3d2d5c6e.entry.js.map → build/p-77a58f71.entry.js.map} +1 -1
  22. package/dist/build/p-a989471d.entry.js +2 -0
  23. package/dist/build/{p-e3143372.entry.js.map → p-a989471d.entry.js.map} +1 -1
  24. package/dist/build/p-b2a3c70f.entry.js +2 -0
  25. package/dist/build/{p-89dd1b98.entry.js.map → p-b2a3c70f.entry.js.map} +1 -1
  26. package/dist/build/{p-0862a43e.entry.js → p-bb1b6eaa.entry.js} +2 -2
  27. package/dist/build/{p-0862a43e.entry.js.map → p-bb1b6eaa.entry.js.map} +1 -1
  28. package/dist/build/p-cc901b45.entry.js +2 -0
  29. package/dist/build/{p-47bcc23e.entry.js.map → p-cc901b45.entry.js.map} +1 -1
  30. package/dist/build/p-ef36e4dd.entry.js +2 -0
  31. package/dist/build/{p-50f90f1e.entry.js.map → p-ef36e4dd.entry.js.map} +1 -1
  32. package/dist/build/p-f8828647.entry.js +2 -0
  33. package/dist/{paperless/p-3e160fff.entry.js.map → build/p-f8828647.entry.js.map} +1 -1
  34. package/dist/build/p-fec204f5.entry.js +2 -0
  35. package/dist/build/{p-2194ec49.entry.js.map → p-fec204f5.entry.js.map} +1 -1
  36. package/dist/build/paperless.esm.js +1 -1
  37. package/dist/cjs/p-accordion.cjs.entry.js +1 -1
  38. package/dist/cjs/p-accordion.cjs.entry.js.map +1 -1
  39. package/dist/cjs/p-attachment.cjs.entry.js +1 -1
  40. package/dist/cjs/p-attachment.cjs.entry.js.map +1 -1
  41. package/dist/cjs/p-button_3.cjs.entry.js +30 -44
  42. package/dist/cjs/p-button_3.cjs.entry.js.map +1 -1
  43. package/dist/cjs/p-calendar.cjs.entry.js +1 -1
  44. package/dist/cjs/p-datepicker.cjs.entry.js +1 -1
  45. package/dist/cjs/p-divider.cjs.entry.js +1 -1
  46. package/dist/cjs/p-divider.cjs.entry.js.map +1 -1
  47. package/dist/cjs/p-dropdown-menu-container.cjs.entry.js +1 -1
  48. package/dist/cjs/p-dropdown-menu-container.cjs.entry.js.map +1 -1
  49. package/dist/cjs/p-dropdown_2.cjs.entry.js +2 -2
  50. package/dist/cjs/p-dropdown_2.cjs.entry.js.map +1 -1
  51. package/dist/cjs/p-helper_3.cjs.entry.js +2 -2
  52. package/dist/cjs/p-helper_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/p-illustration_6.cjs.entry.js +5 -5
  54. package/dist/cjs/p-illustration_6.cjs.entry.js.map +1 -1
  55. package/dist/cjs/p-label_3.cjs.entry.js +3 -3
  56. package/dist/cjs/p-label_3.cjs.entry.js.map +1 -1
  57. package/dist/cjs/p-page-size-select_3.cjs.entry.js +2 -2
  58. package/dist/cjs/p-page-size-select_3.cjs.entry.js.map +1 -1
  59. package/dist/cjs/p-profile.cjs.entry.js +1 -1
  60. package/dist/cjs/p-select.cjs.entry.js +1 -1
  61. package/dist/cjs/p-select.cjs.entry.js.map +1 -1
  62. package/dist/cjs/p-table.cjs.entry.js +1 -1
  63. package/dist/cjs/p-table.cjs.entry.js.map +1 -1
  64. package/dist/cjs/p-toast.cjs.entry.js +1 -1
  65. package/dist/cjs/p-toast.cjs.entry.js.map +1 -1
  66. package/dist/cjs/p-tooltip.cjs.entry.js +1 -1
  67. package/dist/cjs/p-tooltip.cjs.entry.js.map +1 -1
  68. package/dist/collection/assets/icons/plan.svg +14 -0
  69. package/dist/collection/assets/icons/settings.svg +4 -21
  70. package/dist/collection/assets/icons/switch.svg +7 -19
  71. package/dist/collection/components/atoms/button/button.component.css +1 -1
  72. package/dist/collection/components/atoms/button/button.component.js +1 -1
  73. package/dist/collection/components/atoms/divider/divider.component.css +1 -1
  74. package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.css +1 -1
  75. package/dist/collection/components/atoms/dropdown-menu-item/dropdown-menu-item.component.css +1 -1
  76. package/dist/collection/components/atoms/dropdown-menu-item/dropdown-menu-item.component.js +1 -1
  77. package/dist/collection/components/atoms/helper/helper.component.css +1 -1
  78. package/dist/collection/components/atoms/icon/icon.component.css +1 -1
  79. package/dist/collection/components/atoms/icon/icon.component.js +1 -1
  80. package/dist/collection/components/atoms/label/label.component.css +1 -1
  81. package/dist/collection/components/atoms/label/label.component.js +1 -1
  82. package/dist/collection/components/atoms/loader/loader.component.css +1 -1
  83. package/dist/collection/components/atoms/pagination-item/pagination-item.component.css +1 -1
  84. package/dist/collection/components/atoms/segment-container/segment-container.component.css +1 -1
  85. package/dist/collection/components/atoms/segment-item/segment-item.component.css +1 -1
  86. package/dist/collection/components/atoms/segment-item/segment-item.component.js +1 -1
  87. package/dist/collection/components/atoms/status/status.component.js +1 -1
  88. package/dist/collection/components/atoms/table-container/table-container.component.css +1 -1
  89. package/dist/collection/components/atoms/tooltip/tooltip.component.css +1 -1
  90. package/dist/collection/components/molecules/accordion/accordion.component.css +1 -1
  91. package/dist/collection/components/molecules/attachment/attachment.component.css +1 -1
  92. package/dist/collection/components/molecules/calendar/calendar.component.css +1 -1
  93. package/dist/collection/components/molecules/datepicker/datepicker.component.css +1 -1
  94. package/dist/collection/components/molecules/dropdown/dropdown.component.css +1 -1
  95. package/dist/collection/components/molecules/input-group/input-group.component.css +1 -1
  96. package/dist/collection/components/molecules/input-group/input-group.component.js +1 -1
  97. package/dist/collection/components/molecules/navigation-item/navigation-item.component.js +1 -1
  98. package/dist/collection/components/molecules/pagination/pagination.component.css +1 -1
  99. package/dist/collection/components/molecules/profile/profile.component.css +1 -1
  100. package/dist/collection/components/molecules/select/select.component.css +1 -1
  101. package/dist/collection/components/molecules/select/select.component.js +1 -1
  102. package/dist/collection/components/molecules/table-cell/table-cell.component.css +1 -1
  103. package/dist/collection/components/molecules/table-footer/table-footer.component.css +1 -1
  104. package/dist/collection/components/molecules/table-header/table-header.component.css +1 -1
  105. package/dist/collection/components/molecules/table-header/table-header.component.js +1 -1
  106. package/dist/collection/components/molecules/table-row/table-row.component.css +1 -1
  107. package/dist/collection/components/molecules/toast/toast.component.css +1 -1
  108. package/dist/collection/components/molecules/toast/toast.component.js +1 -1
  109. package/dist/collection/components/organisms/table/table.component.css +1 -1
  110. package/dist/collection/components/organisms/table/table.component.js +1 -1
  111. package/dist/collection/utils/icons.js +2 -0
  112. package/dist/collection/utils/icons.js.map +1 -1
  113. package/dist/components/button.component.js +1 -1
  114. package/dist/components/button.component.js.map +1 -1
  115. package/dist/components/calendar.component.js +1 -1
  116. package/dist/components/divider.component.js +1 -1
  117. package/dist/components/divider.component.js.map +1 -1
  118. package/dist/components/dropdown-menu-container.component.js +1 -1
  119. package/dist/components/dropdown-menu-container.component.js.map +1 -1
  120. package/dist/components/dropdown-menu-item.component.js +1 -1
  121. package/dist/components/dropdown-menu-item.component.js.map +1 -1
  122. package/dist/components/dropdown.component.js +1 -1
  123. package/dist/components/dropdown.component.js.map +1 -1
  124. package/dist/components/helper.component.js +1 -1
  125. package/dist/components/helper.component.js.map +1 -1
  126. package/dist/components/icon.component.js +28 -42
  127. package/dist/components/icon.component.js.map +1 -1
  128. package/dist/components/input-group.component.js +1 -1
  129. package/dist/components/input-group.component.js.map +1 -1
  130. package/dist/components/label.component.js +1 -1
  131. package/dist/components/label.component.js.map +1 -1
  132. package/dist/components/loader.component.js +1 -1
  133. package/dist/components/loader.component.js.map +1 -1
  134. package/dist/components/p-accordion.js +1 -1
  135. package/dist/components/p-accordion.js.map +1 -1
  136. package/dist/components/p-attachment.js +1 -1
  137. package/dist/components/p-attachment.js.map +1 -1
  138. package/dist/components/p-datepicker.js +1 -1
  139. package/dist/components/p-profile.js +1 -1
  140. package/dist/components/p-select.js +1 -1
  141. package/dist/components/p-select.js.map +1 -1
  142. package/dist/components/p-table.js +1 -1
  143. package/dist/components/p-table.js.map +1 -1
  144. package/dist/components/p-toast.js +1 -1
  145. package/dist/components/p-toast.js.map +1 -1
  146. package/dist/components/pagination-item.component.js +1 -1
  147. package/dist/components/pagination-item.component.js.map +1 -1
  148. package/dist/components/pagination.component.js +1 -1
  149. package/dist/components/pagination.component.js.map +1 -1
  150. package/dist/components/segment-container.component.js +1 -1
  151. package/dist/components/segment-container.component.js.map +1 -1
  152. package/dist/components/segment-item.component.js +1 -1
  153. package/dist/components/segment-item.component.js.map +1 -1
  154. package/dist/components/table-cell.component.js +1 -1
  155. package/dist/components/table-cell.component.js.map +1 -1
  156. package/dist/components/table-container.component.js +1 -1
  157. package/dist/components/table-container.component.js.map +1 -1
  158. package/dist/components/table-footer.component.js +1 -1
  159. package/dist/components/table-footer.component.js.map +1 -1
  160. package/dist/components/table-header.component.js +1 -1
  161. package/dist/components/table-header.component.js.map +1 -1
  162. package/dist/components/table-row.component.js +1 -1
  163. package/dist/components/table-row.component.js.map +1 -1
  164. package/dist/components/tooltip.component.js +1 -1
  165. package/dist/components/tooltip.component.js.map +1 -1
  166. package/dist/esm/p-accordion.entry.js +1 -1
  167. package/dist/esm/p-accordion.entry.js.map +1 -1
  168. package/dist/esm/p-attachment.entry.js +1 -1
  169. package/dist/esm/p-attachment.entry.js.map +1 -1
  170. package/dist/esm/p-button_3.entry.js +30 -44
  171. package/dist/esm/p-button_3.entry.js.map +1 -1
  172. package/dist/esm/p-calendar.entry.js +1 -1
  173. package/dist/esm/p-datepicker.entry.js +1 -1
  174. package/dist/esm/p-divider.entry.js +1 -1
  175. package/dist/esm/p-divider.entry.js.map +1 -1
  176. package/dist/esm/p-dropdown-menu-container.entry.js +1 -1
  177. package/dist/esm/p-dropdown-menu-container.entry.js.map +1 -1
  178. package/dist/esm/p-dropdown_2.entry.js +2 -2
  179. package/dist/esm/p-dropdown_2.entry.js.map +1 -1
  180. package/dist/esm/p-helper_3.entry.js +2 -2
  181. package/dist/esm/p-helper_3.entry.js.map +1 -1
  182. package/dist/esm/p-illustration_6.entry.js +5 -5
  183. package/dist/esm/p-illustration_6.entry.js.map +1 -1
  184. package/dist/esm/p-label_3.entry.js +3 -3
  185. package/dist/esm/p-label_3.entry.js.map +1 -1
  186. package/dist/esm/p-page-size-select_3.entry.js +2 -2
  187. package/dist/esm/p-page-size-select_3.entry.js.map +1 -1
  188. package/dist/esm/p-profile.entry.js +1 -1
  189. package/dist/esm/p-select.entry.js +1 -1
  190. package/dist/esm/p-select.entry.js.map +1 -1
  191. package/dist/esm/p-table.entry.js +1 -1
  192. package/dist/esm/p-table.entry.js.map +1 -1
  193. package/dist/esm/p-toast.entry.js +1 -1
  194. package/dist/esm/p-toast.entry.js.map +1 -1
  195. package/dist/esm/p-tooltip.entry.js +1 -1
  196. package/dist/esm/p-tooltip.entry.js.map +1 -1
  197. package/dist/index.html +1 -1
  198. package/dist/paperless/p-0623f15c.entry.js +2 -0
  199. package/dist/paperless/{p-b59680a7.entry.js.map → p-0623f15c.entry.js.map} +1 -1
  200. package/dist/paperless/p-0e93e831.entry.js +2 -0
  201. package/dist/{build/p-6cb21186.entry.js → paperless/p-30d8c6c4.entry.js} +2 -2
  202. package/dist/paperless/{p-2db30595.entry.js → p-3e1a1224.entry.js} +2 -2
  203. package/dist/paperless/p-4843a674.entry.js +2 -0
  204. package/dist/{build/p-a01f438a.entry.js.map → paperless/p-4843a674.entry.js.map} +1 -1
  205. package/dist/paperless/p-5cea1812.entry.js +2 -0
  206. package/dist/paperless/{p-7392b3ff.entry.js.map → p-5cea1812.entry.js.map} +1 -1
  207. package/dist/paperless/{p-012d5a7f.entry.js → p-62ce84bc.entry.js} +2 -2
  208. package/dist/paperless/{p-012d5a7f.entry.js.map → p-62ce84bc.entry.js.map} +1 -1
  209. package/dist/paperless/p-6e770f95.entry.js +2 -0
  210. package/dist/paperless/{p-bd08b944.entry.js.map → p-6e770f95.entry.js.map} +1 -1
  211. package/dist/paperless/p-754a5754.entry.js +2 -0
  212. package/dist/{build/p-08003813.entry.js.map → paperless/p-754a5754.entry.js.map} +1 -1
  213. package/dist/paperless/p-77a58f71.entry.js +2 -0
  214. package/dist/{build/p-3d2d5c6e.entry.js.map → paperless/p-77a58f71.entry.js.map} +1 -1
  215. package/dist/paperless/p-a989471d.entry.js +2 -0
  216. package/dist/paperless/{p-e3143372.entry.js.map → p-a989471d.entry.js.map} +1 -1
  217. package/dist/paperless/p-b2a3c70f.entry.js +2 -0
  218. package/dist/paperless/{p-89dd1b98.entry.js.map → p-b2a3c70f.entry.js.map} +1 -1
  219. package/dist/paperless/{p-0862a43e.entry.js → p-bb1b6eaa.entry.js} +2 -2
  220. package/dist/paperless/{p-0862a43e.entry.js.map → p-bb1b6eaa.entry.js.map} +1 -1
  221. package/dist/paperless/p-cc901b45.entry.js +2 -0
  222. package/dist/paperless/{p-47bcc23e.entry.js.map → p-cc901b45.entry.js.map} +1 -1
  223. package/dist/paperless/p-ef36e4dd.entry.js +2 -0
  224. package/dist/paperless/{p-50f90f1e.entry.js.map → p-ef36e4dd.entry.js.map} +1 -1
  225. package/dist/paperless/p-f8828647.entry.js +2 -0
  226. package/dist/{build/p-3e160fff.entry.js.map → paperless/p-f8828647.entry.js.map} +1 -1
  227. package/dist/paperless/p-fec204f5.entry.js +2 -0
  228. package/dist/paperless/{p-2194ec49.entry.js.map → p-fec204f5.entry.js.map} +1 -1
  229. package/dist/paperless/paperless.esm.js +1 -1
  230. package/dist/sw.js +1 -1
  231. package/dist/sw.js.map +1 -1
  232. package/dist/types/utils/icons.d.ts +1 -0
  233. package/hydrate/index.js +55 -69
  234. package/package.json +1 -1
  235. package/dist/build/p-08003813.entry.js +0 -2
  236. package/dist/build/p-2194ec49.entry.js +0 -2
  237. package/dist/build/p-3d2d5c6e.entry.js +0 -2
  238. package/dist/build/p-3e160fff.entry.js +0 -2
  239. package/dist/build/p-47bcc23e.entry.js +0 -2
  240. package/dist/build/p-50f90f1e.entry.js +0 -2
  241. package/dist/build/p-7392b3ff.entry.js +0 -2
  242. package/dist/build/p-89dd1b98.entry.js +0 -2
  243. package/dist/build/p-a01f438a.entry.js +0 -2
  244. package/dist/build/p-b59680a7.entry.js +0 -2
  245. package/dist/build/p-bd08b944.entry.js +0 -2
  246. package/dist/build/p-e3143372.entry.js +0 -2
  247. package/dist/build/p-ed6edf0a.entry.js +0 -2
  248. package/dist/paperless/p-08003813.entry.js +0 -2
  249. package/dist/paperless/p-2194ec49.entry.js +0 -2
  250. package/dist/paperless/p-3d2d5c6e.entry.js +0 -2
  251. package/dist/paperless/p-3e160fff.entry.js +0 -2
  252. package/dist/paperless/p-47bcc23e.entry.js +0 -2
  253. package/dist/paperless/p-50f90f1e.entry.js +0 -2
  254. package/dist/paperless/p-7392b3ff.entry.js +0 -2
  255. package/dist/paperless/p-89dd1b98.entry.js +0 -2
  256. package/dist/paperless/p-a01f438a.entry.js +0 -2
  257. package/dist/paperless/p-b59680a7.entry.js +0 -2
  258. package/dist/paperless/p-bd08b944.entry.js +0 -2
  259. package/dist/paperless/p-e3143372.entry.js +0 -2
  260. package/dist/paperless/p-ed6edf0a.entry.js +0 -2
  261. /package/dist/build/{p-ed6edf0a.entry.js.map → p-0e93e831.entry.js.map} +0 -0
  262. /package/dist/build/{p-6cb21186.entry.js.map → p-30d8c6c4.entry.js.map} +0 -0
  263. /package/dist/build/{p-2db30595.entry.js.map → p-3e1a1224.entry.js.map} +0 -0
  264. /package/dist/paperless/{p-ed6edf0a.entry.js.map → p-0e93e831.entry.js.map} +0 -0
  265. /package/dist/paperless/{p-6cb21186.entry.js.map → p-30d8c6c4.entry.js.map} +0 -0
  266. /package/dist/paperless/{p-2db30595.entry.js.map → p-3e1a1224.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["icons","arrow","attachment","bread","calendar","camera","car","checklist","checkmark","chevron","clock","colleagues","cogs","comment","companies","document","download","envelope","explanation","eye","faBuilding","faPiggy","filter","folder","grid","headset","integration","list","location","megaphone","menu","minus","more","negative","notification","pagination","payment","pencil","person","plus","question","reload","receipt","report","search","settings","sick","signout","switch","switchIcon","tachometer","task","template","tool","trash","turn","upload","warning","buttonComponentCss","Button","render","loaderColor","this","variant","VariableTag","h","Host","class","size","iconOnly","iconPosition","chevronPosition","inheritText","disabled","href","target","rotate","icon","loading","_getIcon","color","handleClick","ev","preventDefault","onClick","emit","flip","iconFlip","iconRotate","iconComponentCss","Icon","styles","transform","innerHTML","loaderComponentCss","Loader","_show","show","_loader","componentWillRender","_checkShow","componentShouldUpdate","_showSubscriber","unsubscribe","_a","subscribe"],"sources":["./src/utils/icons.ts","./src/components/atoms/button/button.component.scss?tag=p-button","./src/components/atoms/button/button.component.tsx","./src/components/atoms/icon/icon.component.scss?tag=p-icon","./src/components/atoms/icon/icon.component.tsx","./src/components/atoms/loader/loader.component.scss?tag=p-loader&encapsulation=shadow","./src/components/atoms/loader/loader.component.tsx"],"sourcesContent":["import arrow from '../assets/icons/arrow.svg';\nimport attachment from '../assets/icons/attachment.svg';\nimport bread from '../assets/icons/bread.svg';\nimport calendar from '../assets/icons/calendar.svg';\nimport camera from '../assets/icons/camera.svg';\nimport car from '../assets/icons/car.svg';\nimport checklist from '../assets/icons/checklist.svg';\nimport checkmark from '../assets/icons/checkmark.svg';\nimport chevron from '../assets/icons/chevron.svg';\nimport clock from '../assets/icons/clock.svg';\nimport cogs from '../assets/icons/cogs.svg';\nimport colleagues from '../assets/icons/colleagues.svg';\nimport comment from '../assets/icons/comment.svg';\nimport companies from '../assets/icons/companies.svg';\nimport document from '../assets/icons/document.svg';\nimport download from '../assets/icons/download.svg';\nimport envelope from '../assets/icons/envelope.svg';\nimport explanation from '../assets/icons/explanation.svg';\nimport eye from '../assets/icons/eye.svg';\nimport faBuilding from '../assets/icons/fa/building.svg';\nimport faPiggy from '../assets/icons/fa/piggy.svg';\nimport filter from '../assets/icons/filter.svg';\nimport folder from '../assets/icons/folder.svg';\nimport grid from '../assets/icons/grid.svg';\nimport headset from '../assets/icons/headset.svg';\nimport integration from '../assets/icons/integration.svg';\nimport list from '../assets/icons/list.svg';\nimport location from '../assets/icons/location.svg';\nimport megaphone from '../assets/icons/megaphone.svg';\nimport menu from '../assets/icons/menu.svg';\nimport minus from '../assets/icons/minus.svg';\nimport more from '../assets/icons/more.svg';\nimport negative from '../assets/icons/negative.svg';\nimport notification from '../assets/icons/notification.svg';\nimport pagination from '../assets/icons/pagination.svg';\nimport payment from '../assets/icons/payment.svg';\nimport pencil from '../assets/icons/pencil.svg';\nimport person from '../assets/icons/person.svg';\nimport plus from '../assets/icons/plus.svg';\nimport question from '../assets/icons/question.svg';\nimport receipt from '../assets/icons/receipt.svg';\nimport reload from '../assets/icons/reload.svg';\nimport report from '../assets/icons/report.svg';\nimport search from '../assets/icons/search.svg';\nimport settings from '../assets/icons/settings.svg';\nimport sick from '../assets/icons/sick.svg';\nimport signout from '../assets/icons/signout.svg';\nimport switchIcon from '../assets/icons/switch.svg';\nimport tachometer from '../assets/icons/tachometer.svg';\nimport task from '../assets/icons/task.svg';\nimport template from '../assets/icons/template.svg';\nimport tool from '../assets/icons/tool.svg';\nimport trash from '../assets/icons/trash.svg';\nimport turn from '../assets/icons/turn.svg';\nimport upload from '../assets/icons/upload.svg';\nimport warning from '../assets/icons/warning.svg';\n\nexport default {\n arrow,\n attachment,\n bread,\n calendar,\n camera,\n car,\n checklist,\n checkmark,\n chevron,\n clock,\n colleagues,\n cogs,\n comment,\n companies,\n document,\n download,\n envelope,\n explanation,\n eye,\n faBuilding,\n faPiggy,\n filter,\n folder,\n grid,\n headset,\n integration,\n list,\n location,\n megaphone,\n menu,\n minus,\n more,\n negative,\n notification,\n pagination,\n payment,\n pencil,\n person,\n plus,\n question,\n reload,\n receipt,\n report,\n search,\n settings,\n sick,\n signout,\n switch: switchIcon,\n tachometer,\n task,\n template,\n tool,\n trash,\n turn,\n upload,\n warning,\n};\n","p-button {\n @apply flex h-10 w-auto text-base;\n\n button,\n a {\n outline: 0;\n border: 0;\n @apply h-full w-full;\n @apply rounded-large #{!important};\n @apply font-semibold leading-4;\n @apply flex items-center justify-center;\n @apply cursor-pointer text-base;\n\n will-change: filter;\n\n > p-loader {\n @apply ml-2;\n }\n\n // Icon positions\n &.icon-position-end {\n > p-icon:not(.chevron) {\n @apply ml-2;\n }\n }\n\n &.icon-position-start {\n > p-icon:not(.chevron) {\n @apply mr-2;\n }\n }\n\n // Variants\n &.variant-primary,\n &.variant-secondary {\n @apply px-4 filter;\n }\n\n &.variant-primary,\n &.variant-secondary {\n &:active,\n &.active {\n @apply drop-shadow-transparent;\n }\n }\n\n &.variant-primary {\n @apply bg-indigo text-white;\n\n &:active,\n &.active {\n &:not([disabled]) {\n @apply bg-indigo-dark;\n }\n }\n\n @media (pointer: fine) {\n &:hover:not([disabled]) {\n @apply drop-shadow-button-primary-hover;\n }\n }\n }\n\n &.variant-secondary {\n @apply border border-solid border-mystic-dark #{!important};\n @apply bg-white text-storm;\n\n &:active,\n &.active {\n &:not([disabled]) {\n @apply bg-mystic;\n }\n }\n\n @media (pointer: fine) {\n &:hover:not([disabled]) {\n @apply drop-shadow-button-secondary-hover;\n }\n }\n }\n\n &.variant-text {\n @apply text-indigo;\n\n &:hover:not([disabled]) {\n @apply text-indigo-dark;\n }\n }\n\n &[disabled] {\n @apply opacity-40;\n }\n\n &.should-inherit-text {\n color: inherit #{!important};\n font-size: inherit #{!important};\n font-weight: inherit #{!important};\n }\n }\n\n // chevron\n &.has-chevron {\n a,\n button {\n &.chevron-position-start {\n @apply pl-2;\n\n > p-icon.chevron {\n @apply mr-2;\n }\n }\n\n &.chevron-position-end {\n @apply pr-2;\n\n > p-icon.chevron {\n @apply ml-2;\n }\n }\n\n &.variant-secondary:hover:not([disabled]) p-icon:last-child {\n @apply text-indigo;\n }\n }\n }\n\n &.has-icon-only {\n @apply w-10;\n\n a,\n button {\n @apply p-0;\n\n > p-icon:first-child {\n @apply mx-0;\n }\n\n > p-loader {\n @apply ml-0;\n }\n }\n\n &.has-chevron {\n @apply w-auto;\n\n a,\n button {\n &.chevron-position-start {\n @apply pr-2;\n }\n\n &.chevron-position-end {\n @apply pl-2;\n }\n }\n }\n }\n\n // sizes\n &.size-small {\n @apply h-8;\n\n button,\n a {\n @apply text-sm;\n\n > p-icon {\n @apply text-base;\n }\n }\n\n &.has-icon-only {\n @apply w-8;\n\n &.has-chevron {\n @apply w-auto;\n }\n }\n }\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n} from '@stencil/core';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../icon/icon.component';\n\n@Component({\n tag: 'p-button',\n styleUrl: 'button.component.scss',\n // shadow: true,\n})\nexport class Button {\n /**\n * The variant of the button\n */\n @Prop() variant: 'primary' | 'secondary' | 'text' = 'primary';\n\n /**\n * Href in case of \"text\" version\n */\n @Prop() href: string;\n\n /**\n * Target in case of \"text\" version\n */\n @Prop() target: string;\n\n /**\n * The size of the button\n */\n @Prop() size: 'small' | 'medium' = 'medium';\n\n /**\n * Wether to show a loader or not\n */\n @Prop() loading: boolean = false;\n\n /**\n * Wether to show a chevron or not\n */\n @Prop() chevron: boolean | 'up' | 'down' = false;\n\n /**\n * Chevron position\n */\n @Prop() chevronPosition: 'start' | 'end' = 'end';\n\n /**\n * Wether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Icon to show on the button\n */\n @Prop() icon: IconVariant;\n\n /**\n * Wether the button is icon only\n */\n @Prop() iconOnly: boolean = false;\n\n /**\n * Icon position\n */\n @Prop() iconPosition: 'start' | 'end' = 'end';\n\n /**\n * Icon flip\n */\n @Prop() iconFlip: IconFlipOptions;\n\n /**\n * Icon rotate\n */\n @Prop() iconRotate: RotateOptions;\n\n /**\n * Wether the button should inherit text styles\n */\n @Prop() inheritText: boolean = false;\n\n /**\n * Button click event\n */\n @Event({\n bubbles: false,\n })\n onClick: EventEmitter<MouseEvent>;\n\n render() {\n let loaderColor: 'white' | 'storm' | 'indigo' = 'white';\n switch (this.variant) {\n case 'secondary':\n loaderColor = 'storm';\n break;\n case 'text':\n loaderColor = 'indigo';\n break;\n }\n\n const VariableTag = this.variant === 'text' ? 'a' : 'button';\n\n return (\n <Host\n class={`p-button size-${this.size} ${\n this.iconOnly && 'has-icon-only'\n } ${this.chevron && 'has-chevron'}`}\n >\n <VariableTag\n class={`variant-${this.variant} icon-position-${\n this.iconPosition\n } chevron-position-${this.chevronPosition} ${\n this.inheritText && 'should-inherit-text'\n }`}\n disabled={this.disabled}\n href={this.href}\n target={this.target}\n >\n {this.chevron && this.chevronPosition === 'start' && (\n <p-icon\n class=\"chevron\"\n variant=\"chevron\"\n rotate={this.chevron === 'up' ? 180 : 0}\n />\n )}\n\n {this.icon &&\n this.iconPosition === 'start' &&\n !(this.iconOnly && this.loading) &&\n this._getIcon()}\n\n <slot />\n\n {this.icon &&\n this.iconPosition === 'end' &&\n !(this.iconOnly && this.loading) &&\n this._getIcon()}\n\n {this.loading && <p-loader color={loaderColor} />}\n\n {this.chevron && this.chevronPosition === 'end' && (\n <p-icon\n class=\"chevron\"\n variant=\"chevron\"\n rotate={this.chevron === 'up' ? 180 : 0}\n />\n )}\n </VariableTag>\n </Host>\n );\n }\n\n @Listen('click', { capture: true })\n handleClick(ev: MouseEvent) {\n if (this.loading || this.disabled) {\n ev.preventDefault();\n return;\n }\n\n this.onClick.emit(ev);\n }\n\n private _getIcon() {\n if (!this.icon) {\n return;\n }\n\n return (\n <p-icon\n variant={this.icon}\n flip={this.iconFlip}\n rotate={this.iconRotate}\n />\n );\n }\n}\n",":host {\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { RotateOptions, TextSizeOptions } from '../../../types/tailwind';\nimport icons from '../../../utils/icons';\n\nexport type IconVariant = keyof typeof icons;\nexport type IconFlipOptions = 'horizontal' | 'vertical';\n\n@Component({\n tag: 'p-icon',\n styleUrl: 'icon.component.scss',\n // shadow: true,\n})\nexport class Icon {\n /**\n * The icon the be displayed\n */\n @Prop() variant!: IconVariant;\n\n /**\n * The size of the icon, using tailwind sizes\n */\n @Prop() size: TextSizeOptions = 'auto';\n\n /**\n * Wether to rotate the icon x degrees\n */\n @Prop() rotate: RotateOptions = 0;\n\n /**\n * Wether to flip the icon horizontally or vertically\n */\n @Prop() flip: IconFlipOptions = null;\n\n render() {\n const icon = icons[this.variant];\n\n const styles = {\n 'p-icon flex': true,\n 'text-auto': this.size === 'auto',\n 'text-xxs': this.size === 'xxs',\n 'text-xs': this.size === 'xs',\n 'text-sm': this.size === 'sm',\n 'text-base': this.size === 'base',\n 'text-lg': this.size === 'lg',\n 'text-xl': this.size === 'xl',\n 'text-2xl': this.size === '2xl',\n 'text-3xl': this.size === '3xl',\n 'text-4xl': this.size === '4xl',\n 'text-5xl': this.size === '5xl',\n 'text-6xl': this.size === '6xl',\n transform: !!this.rotate || !!this.flip,\n 'scale-x-flip': this.flip === 'horizontal',\n 'scale-y-flip': this.flip === 'vertical',\n 'rotate-0': this.rotate === 0,\n 'rotate-25': this.rotate === 25,\n 'rotate-45': this.rotate === 45,\n 'rotate-90': this.rotate === 90,\n 'rotate-135': this.rotate === 135,\n 'rotate-180': this.rotate === 180,\n 'rotate-225': this.rotate === 225,\n 'rotate-270': this.rotate === 270,\n 'rotate-315': this.rotate === 315,\n '-rotate-0': this.rotate === -0,\n '-rotate-25': this.rotate === -25,\n '-rotate-45': this.rotate === -45,\n '-rotate-90': this.rotate === -90,\n '-rotate-135': this.rotate === -135,\n '-rotate-180': this.rotate === -180,\n '-rotate-225': this.rotate === -225,\n '-rotate-270': this.rotate === -270,\n '-rotate-315': this.rotate === -315,\n };\n\n return <Host class={styles} innerHTML={icon}></Host>;\n }\n}\n",":host {\n .loader {\n @apply inline-block h-[1em] w-[1em] rounded-round;\n @apply border-2 border-solid border-indigo-light border-t-indigo;\n animation: 500ms spin linear infinite;\n\n will-change: transform;\n\n &.color-storm {\n @apply border-storm-light/40 border-t-storm #{!important};\n }\n\n &.color-white {\n @apply border-indigo-light/40 border-t-white #{!important};\n }\n }\n\n .loading-screen {\n @apply w-screen-safe h-screen-safe fixed top-0 left-0;\n @apply flex items-center justify-center;\n @apply bg-mystic;\n\n z-index: 1001;\n\n .content {\n @apply max-w-xs;\n\n .loader-wrapper {\n @apply flex w-full justify-center;\n\n .loader {\n @apply text-4xl;\n }\n }\n }\n }\n}\n\n:host(.variant-ghost) {\n @apply box-border block;\n\n will-change: background, background-position-x, background-color;\n\n min-height: 1em;\n min-width: 1em;\n\n --loading-bg: #f7fafc;\n --loading-stripe: rgba(252, 253, 254, 1);\n\n background-color: var(--loading-bg);\n background: linear-gradient(\n 100deg,\n rgba(255, 255, 255, 0) 40%,\n var(--loading-stripe) 50%,\n rgba(255, 255, 255, 0) 60%\n )\n var(--loading-bg);\n background-size: 200% 100%;\n background-position-x: 180%;\n animation: 1s loading ease-in-out infinite;\n}\n\n@keyframes loading {\n to {\n background-position-x: -20%;\n }\n}\n\n@keyframes spin {\n 100% {\n transform: rotate(1turn);\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { Observable, Subscription } from 'rxjs';\n\n@Component({\n tag: 'p-loader',\n styleUrl: 'loader.component.scss',\n shadow: true,\n})\nexport class Loader {\n /**\n * Wether to show or hide the loader\n */\n @Prop() show: boolean | Observable<boolean> = true;\n\n /**\n * Variant of loader\n */\n @Prop() variant:\n | 'inline'\n | 'full-width'\n | 'full-screen'\n | 'modal'\n | 'ghost' = 'inline';\n\n /**\n * Color of the loader\n */\n @Prop() color: 'indigo' | 'white' | 'storm' = 'indigo';\n\n /**\n * !NOT IMPLEMENTED! Modal title for modal variant\n */\n @Prop() modalTitle: string;\n\n /**\n * !NOT IMPLEMENTED! Modal description for modal variant\n */\n @Prop() modalDescription: string;\n\n private _show = this.show;\n private _showSubscriber: Subscription;\n\n private _loader = (<div class={`loader color-${this.color}`}></div>);\n\n componentWillRender() {\n this._checkShow();\n }\n\n componentShouldUpdate() {\n this._checkShow();\n }\n\n render() {\n if (!this._show) {\n return;\n }\n\n if (this.variant === 'ghost') {\n return <Host class=\"p-loader variant-ghost\"></Host>;\n }\n\n if (this.variant === 'full-screen') {\n return (\n <Host class=\"p-loader variant-full-screen\">\n <div class=\"loading-screen\">\n <div class=\"content\">\n <slot />\n\n <div class=\"loader-wrapper\">{this._loader}</div>\n </div>\n </div>\n </Host>\n );\n }\n\n return (\n <Host\n class={`p-loader variant-default flex ${\n this.variant === 'full-width' &&\n 'w-full flex justify-center text-4xl'\n }`}\n >\n {this._loader}\n </Host>\n );\n }\n\n private _checkShow() {\n if (this._showSubscriber) {\n this._showSubscriber.unsubscribe();\n this._showSubscriber = null;\n }\n\n if (typeof this.show !== 'boolean') {\n this._showSubscriber = this.show?.subscribe(\n (show) => (this._show = show)\n );\n return;\n }\n\n this._show = this.show;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["icons","arrow","attachment","bread","calendar","camera","car","checklist","checkmark","chevron","clock","colleagues","cogs","comment","companies","document","download","envelope","explanation","eye","faBuilding","faPiggy","filter","folder","grid","headset","integration","list","location","megaphone","menu","minus","more","negative","notification","pagination","payment","pencil","person","plan","plus","question","reload","receipt","report","search","settings","sick","signout","switch","switchIcon","tachometer","task","template","tool","trash","turn","upload","warning","buttonComponentCss","Button","render","loaderColor","this","variant","VariableTag","h","Host","class","size","iconOnly","iconPosition","chevronPosition","inheritText","disabled","href","target","rotate","icon","loading","_getIcon","color","handleClick","ev","preventDefault","onClick","emit","flip","iconFlip","iconRotate","iconComponentCss","Icon","styles","transform","innerHTML","loaderComponentCss","Loader","_show","show","_loader","componentWillRender","_checkShow","componentShouldUpdate","_showSubscriber","unsubscribe","_a","subscribe"],"sources":["./src/utils/icons.ts","./src/components/atoms/button/button.component.scss?tag=p-button","./src/components/atoms/button/button.component.tsx","./src/components/atoms/icon/icon.component.scss?tag=p-icon","./src/components/atoms/icon/icon.component.tsx","./src/components/atoms/loader/loader.component.scss?tag=p-loader&encapsulation=shadow","./src/components/atoms/loader/loader.component.tsx"],"sourcesContent":["import arrow from '../assets/icons/arrow.svg';\nimport attachment from '../assets/icons/attachment.svg';\nimport bread from '../assets/icons/bread.svg';\nimport calendar from '../assets/icons/calendar.svg';\nimport camera from '../assets/icons/camera.svg';\nimport car from '../assets/icons/car.svg';\nimport checklist from '../assets/icons/checklist.svg';\nimport checkmark from '../assets/icons/checkmark.svg';\nimport chevron from '../assets/icons/chevron.svg';\nimport clock from '../assets/icons/clock.svg';\nimport cogs from '../assets/icons/cogs.svg';\nimport colleagues from '../assets/icons/colleagues.svg';\nimport comment from '../assets/icons/comment.svg';\nimport companies from '../assets/icons/companies.svg';\nimport document from '../assets/icons/document.svg';\nimport download from '../assets/icons/download.svg';\nimport envelope from '../assets/icons/envelope.svg';\nimport explanation from '../assets/icons/explanation.svg';\nimport eye from '../assets/icons/eye.svg';\nimport faBuilding from '../assets/icons/fa/building.svg';\nimport faPiggy from '../assets/icons/fa/piggy.svg';\nimport filter from '../assets/icons/filter.svg';\nimport folder from '../assets/icons/folder.svg';\nimport grid from '../assets/icons/grid.svg';\nimport headset from '../assets/icons/headset.svg';\nimport integration from '../assets/icons/integration.svg';\nimport list from '../assets/icons/list.svg';\nimport location from '../assets/icons/location.svg';\nimport megaphone from '../assets/icons/megaphone.svg';\nimport menu from '../assets/icons/menu.svg';\nimport minus from '../assets/icons/minus.svg';\nimport more from '../assets/icons/more.svg';\nimport negative from '../assets/icons/negative.svg';\nimport notification from '../assets/icons/notification.svg';\nimport pagination from '../assets/icons/pagination.svg';\nimport payment from '../assets/icons/payment.svg';\nimport pencil from '../assets/icons/pencil.svg';\nimport person from '../assets/icons/person.svg';\nimport plan from '../assets/icons/plan.svg';\nimport plus from '../assets/icons/plus.svg';\nimport question from '../assets/icons/question.svg';\nimport receipt from '../assets/icons/receipt.svg';\nimport reload from '../assets/icons/reload.svg';\nimport report from '../assets/icons/report.svg';\nimport search from '../assets/icons/search.svg';\nimport settings from '../assets/icons/settings.svg';\nimport sick from '../assets/icons/sick.svg';\nimport signout from '../assets/icons/signout.svg';\nimport switchIcon from '../assets/icons/switch.svg';\nimport tachometer from '../assets/icons/tachometer.svg';\nimport task from '../assets/icons/task.svg';\nimport template from '../assets/icons/template.svg';\nimport tool from '../assets/icons/tool.svg';\nimport trash from '../assets/icons/trash.svg';\nimport turn from '../assets/icons/turn.svg';\nimport upload from '../assets/icons/upload.svg';\nimport warning from '../assets/icons/warning.svg';\n\nexport default {\n arrow,\n attachment,\n bread,\n calendar,\n camera,\n car,\n checklist,\n checkmark,\n chevron,\n clock,\n colleagues,\n cogs,\n comment,\n companies,\n document,\n download,\n envelope,\n explanation,\n eye,\n faBuilding,\n faPiggy,\n filter,\n folder,\n grid,\n headset,\n integration,\n list,\n location,\n megaphone,\n menu,\n minus,\n more,\n negative,\n notification,\n pagination,\n payment,\n pencil,\n person,\n plan,\n plus,\n question,\n reload,\n receipt,\n report,\n search,\n settings,\n sick,\n signout,\n switch: switchIcon,\n tachometer,\n task,\n template,\n tool,\n trash,\n turn,\n upload,\n warning,\n};\n","p-button {\n @apply flex h-10 w-auto text-base;\n\n button,\n a {\n outline: 0;\n border: 0;\n @apply h-full w-full;\n @apply rounded-large #{!important};\n @apply font-semibold leading-4;\n @apply flex items-center justify-center;\n @apply cursor-pointer text-base;\n\n will-change: filter;\n\n > p-loader {\n @apply ml-2;\n }\n\n // Icon positions\n &.icon-position-end {\n > p-icon:not(.chevron) {\n @apply ml-2;\n }\n }\n\n &.icon-position-start {\n > p-icon:not(.chevron) {\n @apply mr-2;\n }\n }\n\n // Variants\n &.variant-primary,\n &.variant-secondary {\n @apply px-4 filter;\n }\n\n &.variant-primary,\n &.variant-secondary {\n &:active,\n &.active {\n @apply drop-shadow-transparent;\n }\n }\n\n &.variant-primary {\n @apply bg-indigo text-white;\n\n &:active,\n &.active {\n &:not([disabled]) {\n @apply bg-indigo-dark;\n }\n }\n\n @media (pointer: fine) {\n &:hover:not([disabled]) {\n @apply drop-shadow-button-primary-hover;\n }\n }\n }\n\n &.variant-secondary {\n @apply border border-solid border-mystic-dark #{!important};\n @apply bg-white text-storm;\n\n &:active,\n &.active {\n &:not([disabled]) {\n @apply bg-mystic;\n }\n }\n\n @media (pointer: fine) {\n &:hover:not([disabled]) {\n @apply drop-shadow-button-secondary-hover;\n }\n }\n }\n\n &.variant-text {\n @apply text-indigo;\n\n &:hover:not([disabled]) {\n @apply text-indigo-dark;\n }\n }\n\n &[disabled] {\n @apply opacity-40;\n }\n\n &.should-inherit-text {\n color: inherit #{!important};\n font-size: inherit #{!important};\n font-weight: inherit #{!important};\n }\n }\n\n // chevron\n &.has-chevron {\n a,\n button {\n &.chevron-position-start {\n @apply pl-2;\n\n > p-icon.chevron {\n @apply mr-2;\n }\n }\n\n &.chevron-position-end {\n @apply pr-2;\n\n > p-icon.chevron {\n @apply ml-2;\n }\n }\n\n &.variant-secondary:hover:not([disabled]) p-icon:last-child {\n @apply text-indigo;\n }\n }\n }\n\n &.has-icon-only {\n @apply w-10;\n\n a,\n button {\n @apply p-0;\n\n > p-icon:first-child {\n @apply mx-0;\n }\n\n > p-loader {\n @apply ml-0;\n }\n }\n\n &.has-chevron {\n @apply w-auto;\n\n a,\n button {\n &.chevron-position-start {\n @apply pr-2;\n }\n\n &.chevron-position-end {\n @apply pl-2;\n }\n }\n }\n }\n\n // sizes\n &.size-small {\n @apply h-8;\n\n button,\n a {\n @apply text-sm;\n\n > p-icon {\n @apply text-base;\n }\n }\n\n &.has-icon-only {\n @apply w-8;\n\n &.has-chevron {\n @apply w-auto;\n }\n }\n }\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n} from '@stencil/core';\nimport { RotateOptions } from '../../../types/tailwind';\nimport { IconFlipOptions, IconVariant } from '../icon/icon.component';\n\n@Component({\n tag: 'p-button',\n styleUrl: 'button.component.scss',\n // shadow: true,\n})\nexport class Button {\n /**\n * The variant of the button\n */\n @Prop() variant: 'primary' | 'secondary' | 'text' = 'primary';\n\n /**\n * Href in case of \"text\" version\n */\n @Prop() href: string;\n\n /**\n * Target in case of \"text\" version\n */\n @Prop() target: string;\n\n /**\n * The size of the button\n */\n @Prop() size: 'small' | 'medium' = 'medium';\n\n /**\n * Wether to show a loader or not\n */\n @Prop() loading: boolean = false;\n\n /**\n * Wether to show a chevron or not\n */\n @Prop() chevron: boolean | 'up' | 'down' = false;\n\n /**\n * Chevron position\n */\n @Prop() chevronPosition: 'start' | 'end' = 'end';\n\n /**\n * Wether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Icon to show on the button\n */\n @Prop() icon: IconVariant;\n\n /**\n * Wether the button is icon only\n */\n @Prop() iconOnly: boolean = false;\n\n /**\n * Icon position\n */\n @Prop() iconPosition: 'start' | 'end' = 'end';\n\n /**\n * Icon flip\n */\n @Prop() iconFlip: IconFlipOptions;\n\n /**\n * Icon rotate\n */\n @Prop() iconRotate: RotateOptions;\n\n /**\n * Wether the button should inherit text styles\n */\n @Prop() inheritText: boolean = false;\n\n /**\n * Button click event\n */\n @Event({\n bubbles: false,\n })\n onClick: EventEmitter<MouseEvent>;\n\n render() {\n let loaderColor: 'white' | 'storm' | 'indigo' = 'white';\n switch (this.variant) {\n case 'secondary':\n loaderColor = 'storm';\n break;\n case 'text':\n loaderColor = 'indigo';\n break;\n }\n\n const VariableTag = this.variant === 'text' ? 'a' : 'button';\n\n return (\n <Host\n class={`p-button size-${this.size} ${\n this.iconOnly && 'has-icon-only'\n } ${this.chevron && 'has-chevron'}`}\n >\n <VariableTag\n class={`variant-${this.variant} icon-position-${\n this.iconPosition\n } chevron-position-${this.chevronPosition} ${\n this.inheritText && 'should-inherit-text'\n }`}\n disabled={this.disabled}\n href={this.href}\n target={this.target}\n >\n {this.chevron && this.chevronPosition === 'start' && (\n <p-icon\n class=\"chevron\"\n variant=\"chevron\"\n rotate={this.chevron === 'up' ? 180 : 0}\n />\n )}\n\n {this.icon &&\n this.iconPosition === 'start' &&\n !(this.iconOnly && this.loading) &&\n this._getIcon()}\n\n <slot />\n\n {this.icon &&\n this.iconPosition === 'end' &&\n !(this.iconOnly && this.loading) &&\n this._getIcon()}\n\n {this.loading && <p-loader color={loaderColor} />}\n\n {this.chevron && this.chevronPosition === 'end' && (\n <p-icon\n class=\"chevron\"\n variant=\"chevron\"\n rotate={this.chevron === 'up' ? 180 : 0}\n />\n )}\n </VariableTag>\n </Host>\n );\n }\n\n @Listen('click', { capture: true })\n handleClick(ev: MouseEvent) {\n if (this.loading || this.disabled) {\n ev.preventDefault();\n return;\n }\n\n this.onClick.emit(ev);\n }\n\n private _getIcon() {\n if (!this.icon) {\n return;\n }\n\n return (\n <p-icon\n variant={this.icon}\n flip={this.iconFlip}\n rotate={this.iconRotate}\n />\n );\n }\n}\n",":host {\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { RotateOptions, TextSizeOptions } from '../../../types/tailwind';\nimport icons from '../../../utils/icons';\n\nexport type IconVariant = keyof typeof icons;\nexport type IconFlipOptions = 'horizontal' | 'vertical';\n\n@Component({\n tag: 'p-icon',\n styleUrl: 'icon.component.scss',\n // shadow: true,\n})\nexport class Icon {\n /**\n * The icon the be displayed\n */\n @Prop() variant!: IconVariant;\n\n /**\n * The size of the icon, using tailwind sizes\n */\n @Prop() size: TextSizeOptions = 'auto';\n\n /**\n * Wether to rotate the icon x degrees\n */\n @Prop() rotate: RotateOptions = 0;\n\n /**\n * Wether to flip the icon horizontally or vertically\n */\n @Prop() flip: IconFlipOptions = null;\n\n render() {\n const icon = icons[this.variant];\n\n const styles = {\n 'p-icon flex': true,\n 'text-auto': this.size === 'auto',\n 'text-xxs': this.size === 'xxs',\n 'text-xs': this.size === 'xs',\n 'text-sm': this.size === 'sm',\n 'text-base': this.size === 'base',\n 'text-lg': this.size === 'lg',\n 'text-xl': this.size === 'xl',\n 'text-2xl': this.size === '2xl',\n 'text-3xl': this.size === '3xl',\n 'text-4xl': this.size === '4xl',\n 'text-5xl': this.size === '5xl',\n 'text-6xl': this.size === '6xl',\n transform: !!this.rotate || !!this.flip,\n 'scale-x-flip': this.flip === 'horizontal',\n 'scale-y-flip': this.flip === 'vertical',\n 'rotate-0': this.rotate === 0,\n 'rotate-25': this.rotate === 25,\n 'rotate-45': this.rotate === 45,\n 'rotate-90': this.rotate === 90,\n 'rotate-135': this.rotate === 135,\n 'rotate-180': this.rotate === 180,\n 'rotate-225': this.rotate === 225,\n 'rotate-270': this.rotate === 270,\n 'rotate-315': this.rotate === 315,\n '-rotate-0': this.rotate === -0,\n '-rotate-25': this.rotate === -25,\n '-rotate-45': this.rotate === -45,\n '-rotate-90': this.rotate === -90,\n '-rotate-135': this.rotate === -135,\n '-rotate-180': this.rotate === -180,\n '-rotate-225': this.rotate === -225,\n '-rotate-270': this.rotate === -270,\n '-rotate-315': this.rotate === -315,\n };\n\n return <Host class={styles} innerHTML={icon}></Host>;\n }\n}\n",":host {\n .loader {\n @apply inline-block h-[1em] w-[1em] rounded-round;\n @apply border-2 border-solid border-indigo-light border-t-indigo;\n animation: 500ms spin linear infinite;\n\n will-change: transform;\n\n &.color-storm {\n @apply border-storm-light/40 border-t-storm #{!important};\n }\n\n &.color-white {\n @apply border-indigo-light/40 border-t-white #{!important};\n }\n }\n\n .loading-screen {\n @apply w-screen-safe h-screen-safe fixed top-0 left-0;\n @apply flex items-center justify-center;\n @apply bg-mystic;\n\n z-index: 1001;\n\n .content {\n @apply max-w-xs;\n\n .loader-wrapper {\n @apply flex w-full justify-center;\n\n .loader {\n @apply text-4xl;\n }\n }\n }\n }\n}\n\n:host(.variant-ghost) {\n @apply box-border block;\n\n will-change: background, background-position-x, background-color;\n\n min-height: 1em;\n min-width: 1em;\n\n --loading-bg: #f7fafc;\n --loading-stripe: rgba(252, 253, 254, 1);\n\n background-color: var(--loading-bg);\n background: linear-gradient(\n 100deg,\n rgba(255, 255, 255, 0) 40%,\n var(--loading-stripe) 50%,\n rgba(255, 255, 255, 0) 60%\n )\n var(--loading-bg);\n background-size: 200% 100%;\n background-position-x: 180%;\n animation: 1s loading ease-in-out infinite;\n}\n\n@keyframes loading {\n to {\n background-position-x: -20%;\n }\n}\n\n@keyframes spin {\n 100% {\n transform: rotate(1turn);\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { Observable, Subscription } from 'rxjs';\n\n@Component({\n tag: 'p-loader',\n styleUrl: 'loader.component.scss',\n shadow: true,\n})\nexport class Loader {\n /**\n * Wether to show or hide the loader\n */\n @Prop() show: boolean | Observable<boolean> = true;\n\n /**\n * Variant of loader\n */\n @Prop() variant:\n | 'inline'\n | 'full-width'\n | 'full-screen'\n | 'modal'\n | 'ghost' = 'inline';\n\n /**\n * Color of the loader\n */\n @Prop() color: 'indigo' | 'white' | 'storm' = 'indigo';\n\n /**\n * !NOT IMPLEMENTED! Modal title for modal variant\n */\n @Prop() modalTitle: string;\n\n /**\n * !NOT IMPLEMENTED! Modal description for modal variant\n */\n @Prop() modalDescription: string;\n\n private _show = this.show;\n private _showSubscriber: Subscription;\n\n private _loader = (<div class={`loader color-${this.color}`}></div>);\n\n componentWillRender() {\n this._checkShow();\n }\n\n componentShouldUpdate() {\n this._checkShow();\n }\n\n render() {\n if (!this._show) {\n return;\n }\n\n if (this.variant === 'ghost') {\n return <Host class=\"p-loader variant-ghost\"></Host>;\n }\n\n if (this.variant === 'full-screen') {\n return (\n <Host class=\"p-loader variant-full-screen\">\n <div class=\"loading-screen\">\n <div class=\"content\">\n <slot />\n\n <div class=\"loader-wrapper\">{this._loader}</div>\n </div>\n </div>\n </Host>\n );\n }\n\n return (\n <Host\n class={`p-loader variant-default flex ${\n this.variant === 'full-width' &&\n 'w-full flex justify-center text-4xl'\n }`}\n >\n {this._loader}\n </Host>\n );\n }\n\n private _checkShow() {\n if (this._showSubscriber) {\n this._showSubscriber.unsubscribe();\n this._showSubscriber = null;\n }\n\n if (typeof this.show !== 'boolean') {\n this._showSubscriber = this.show?.subscribe(\n (show) => (this._show = show)\n );\n return;\n }\n\n this._show = this.show;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as r,H as a,g as e}from"./p-6ccf5cdd.js";const o='.my-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.block{display:block!important}.flex{display:flex!important}.h-px{height:1px!important}.w-full{width:100%!important}.bg-mystic-medium{--tw-bg-opacity:1!important;background-color:rgb(227 236 243/var(--tw-bg-opacity))!important}*{box-sizing:border-box}:host{display:block;margin-bottom:.5rem;margin-top:.5rem;width:100%}:host .content{align-items:center;display:flex;width:100%}:host .content:after,:host .content:before{--tw-bg-opacity:1;background-color:rgb(227 236 243/var(--tw-bg-opacity));content:"";flex:1 1 0%;height:1px}.static{position:static!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.z-10{z-index:10!important}.m-0{margin:0!important}.flex-col{flex-direction:column!important}.gap-5{gap:1.25rem!important}.overflow-x-auto{overflow-x:auto!important}.scrollbar-hide{-ms-overflow-style:none!important;scrollbar-width:none!important}.scrollbar-hide::-webkit-scrollbar{display:none!important}.items-center{align-items:center!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.table{display:table!important}.hidden{display:none!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.cursor-pointer{cursor:pointer!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.table-cell{display:table-cell!important}.w-1\\/12{width:8.333333%!important}.w-10\\/12{width:83.333333%!important}.w-11\\/12{width:91.666667%!important}.w-2\\/12{width:16.666667%!important}.w-3\\/12{width:25%!important}.w-4\\/12{width:33.333333%!important}.w-5\\/12{width:41.666667%!important}.w-6\\/12{width:50%!important}.w-7\\/12{width:58.333333%!important}.w-8\\/12{width:66.666667%!important}.w-9\\/12{width:75%!important}.w-auto{width:auto!important}.flex-1{flex:1 1 0%!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.pr-4{padding-right:1rem!important}.text-storm-dark{--tw-text-opacity:1!important;color:rgb(39 40 56/var(--tw-text-opacity))!important}@media (min-width:40rem){.tablet\\:w-1\\/12{width:8.333333%!important}.tablet\\:w-10\\/12{width:83.333333%!important}.tablet\\:w-11\\/12{width:91.666667%!important}.tablet\\:w-2\\/12{width:16.666667%!important}.tablet\\:w-3\\/12{width:25%!important}.tablet\\:w-4\\/12{width:33.333333%!important}.tablet\\:w-5\\/12{width:41.666667%!important}.tablet\\:w-6\\/12{width:50%!important}.tablet\\:w-7\\/12{width:58.333333%!important}.tablet\\:w-8\\/12{width:66.666667%!important}.tablet\\:w-9\\/12{width:75%!important}}@media (min-width:64rem){.desktop-xs\\:w-1\\/12{width:8.333333%!important}.desktop-xs\\:w-10\\/12{width:83.333333%!important}.desktop-xs\\:w-11\\/12{width:91.666667%!important}.desktop-xs\\:w-2\\/12{width:16.666667%!important}.desktop-xs\\:w-3\\/12{width:25%!important}.desktop-xs\\:w-4\\/12{width:33.333333%!important}.desktop-xs\\:w-5\\/12{width:41.666667%!important}.desktop-xs\\:w-6\\/12{width:50%!important}.desktop-xs\\:w-7\\/12{width:58.333333%!important}.desktop-xs\\:w-8\\/12{width:66.666667%!important}.desktop-xs\\:w-9\\/12{width:75%!important}}@media (min-width:80rem){.desktop-sm\\:w-1\\/12{width:8.333333%!important}.desktop-sm\\:w-10\\/12{width:83.333333%!important}.desktop-sm\\:w-11\\/12{width:91.666667%!important}.desktop-sm\\:w-2\\/12{width:16.666667%!important}.desktop-sm\\:w-3\\/12{width:25%!important}.desktop-sm\\:w-4\\/12{width:33.333333%!important}.desktop-sm\\:w-5\\/12{width:41.666667%!important}.desktop-sm\\:w-6\\/12{width:50%!important}.desktop-sm\\:w-7\\/12{width:58.333333%!important}.desktop-sm\\:w-8\\/12{width:66.666667%!important}.desktop-sm\\:w-9\\/12{width:75%!important}}@media (min-width:85.375rem){.desktop\\:w-1\\/12{width:8.333333%!important}.desktop\\:w-10\\/12{width:83.333333%!important}.desktop\\:w-11\\/12{width:91.666667%!important}.desktop\\:w-2\\/12{width:16.666667%!important}.desktop\\:w-3\\/12{width:25%!important}.desktop\\:w-4\\/12{width:33.333333%!important}.desktop\\:w-5\\/12{width:41.666667%!important}.desktop\\:w-6\\/12{width:50%!important}.desktop\\:w-7\\/12{width:58.333333%!important}.desktop\\:w-8\\/12{width:66.666667%!important}.desktop\\:w-9\\/12{width:75%!important}}@media (min-width:90rem){.desktop-lg\\:w-1\\/12{width:8.333333%!important}.desktop-lg\\:w-10\\/12{width:83.333333%!important}.desktop-lg\\:w-11\\/12{width:91.666667%!important}.desktop-lg\\:w-2\\/12{width:16.666667%!important}.desktop-lg\\:w-3\\/12{width:25%!important}.desktop-lg\\:w-4\\/12{width:33.333333%!important}.desktop-lg\\:w-5\\/12{width:41.666667%!important}.desktop-lg\\:w-6\\/12{width:50%!important}.desktop-lg\\:w-7\\/12{width:58.333333%!important}.desktop-lg\\:w-8\\/12{width:66.666667%!important}.desktop-lg\\:w-9\\/12{width:75%!important}}@media (min-width:120rem){.desktop-xl\\:w-1\\/12{width:8.333333%!important}.desktop-xl\\:w-10\\/12{width:83.333333%!important}.desktop-xl\\:w-11\\/12{width:91.666667%!important}.desktop-xl\\:w-2\\/12{width:16.666667%!important}.desktop-xl\\:w-3\\/12{width:25%!important}.desktop-xl\\:w-4\\/12{width:33.333333%!important}.desktop-xl\\:w-5\\/12{width:41.666667%!important}.desktop-xl\\:w-6\\/12{width:50%!important}.desktop-xl\\:w-7\\/12{width:58.333333%!important}.desktop-xl\\:w-8\\/12{width:66.666667%!important}.desktop-xl\\:w-9\\/12{width:75%!important}}.h-8{height:2rem!important}@media (min-width:64rem){.desktop-xs\\:flex{display:flex!important}}.fixed{position:fixed!important}.ml-1{margin-left:.25rem!important}.w-3\\/4{width:75%!important}.gap-4{gap:1rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-transparent{border-color:transparent!important}.border-t-mystic-dark{--tw-border-opacity:1!important;border-top-color:rgb(218 230 240/var(--tw-border-opacity))!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.p-4{padding:1rem!important}@media (min-width:64rem){.desktop-xs\\:hidden{display:none!important}.desktop-xs\\:w-48{width:12rem!important}.desktop-xs\\:w-auto{width:auto!important}.desktop-xs\\:flex-row{flex-direction:row!important}}.-rotate-0{--tw-rotate:-0deg!important}.-rotate-0,.-rotate-135{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-135{--tw-rotate:-135deg!important}.-rotate-180{--tw-rotate:-180deg!important}.-rotate-180,.-rotate-225{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-225{--tw-rotate:-225deg!important}.-rotate-25{--tw-rotate:-25deg!important}.-rotate-25,.-rotate-270{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-270{--tw-rotate:-270deg!important}.-rotate-315{--tw-rotate:-315deg!important}.-rotate-315,.-rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-45{--tw-rotate:-45deg!important}.-rotate-90{--tw-rotate:-90deg!important}.-rotate-90,.rotate-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-0{--tw-rotate:0deg!important}.rotate-135{--tw-rotate:135deg!important}.rotate-135,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-180{--tw-rotate:180deg!important}.rotate-225{--tw-rotate:225deg!important}.rotate-225,.rotate-25{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-25{--tw-rotate:25deg!important}.rotate-270{--tw-rotate:270deg!important}.rotate-270,.rotate-315{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-315{--tw-rotate:315deg!important}.rotate-45{--tw-rotate:45deg!important}.rotate-45,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-90{--tw-rotate:90deg!important}.scale-x-flip{--tw-scale-x:-1!important}.scale-x-flip,.scale-y-flip{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.scale-y-flip{--tw-scale-y:-1!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.text-2xl{font-size:1.5rem!important;line-height:2rem!important}.text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.text-5xl{font-size:3rem!important}.text-5xl,.text-6xl{line-height:1!important}.text-6xl{font-size:3.75rem!important}.text-base{font-size:1rem!important;line-height:1.5rem!important}.text-lg{font-size:1.125rem!important}.text-lg,.text-xl{line-height:1.75rem!important}.text-xl{font-size:1.25rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.text-xxs{font-size:.6875rem!important}.inline{display:inline!important}.visible{visibility:visible!important}.table-row{display:table-row!important}.text-negative{--tw-text-opacity:1!important;color:rgb(185 30 40/var(--tw-text-opacity))!important}.text-negative-light{--tw-text-opacity:1!important;color:rgb(255 204 211/var(--tw-text-opacity))!important}.hover\\:text-negative:hover{--tw-text-opacity:1!important;color:rgb(185 30 40/var(--tw-text-opacity))!important}.ml-2{margin-left:.5rem!important}.items-end{align-items:flex-end!important}.justify-between{justify-content:space-between!important}.rounded-bl-none{border-bottom-left-radius:0!important}.rounded-br-none{border-bottom-right-radius:0!important}.rounded-tl-none{border-top-left-radius:0!important}.rounded-tr-none{border-top-right-radius:0!important}.border-l-0{border-left-width:0!important}.border-r-0{border-right-width:0!important}.pl-0{padding-left:0!important}.pr-0{padding-right:0!important}.mt-6{margin-top:1.5rem!important}.gap-3{gap:.75rem!important}.whitespace-nowrap{white-space:nowrap!important}.font-medium{font-weight:500!important}.text-storm-vague{--tw-text-opacity:1!important;color:rgb(152 154 183/var(--tw-text-opacity))!important}@media (min-width:40rem){.tablet\\:w-80{width:20rem!important}.tablet\\:w-\\[33\\.5rem\\]{width:33.5rem!important}.tablet\\:w-\\[38rem\\]{width:38rem!important}.tablet\\:w-\\[47\\.5rem\\]{width:47.5rem!important}.tablet\\:w-\\[57\\.5rem\\]{width:57.5rem!important}}.mt-0{margin-top:0!important}';const i=class{constructor(r){t(this,r)}render(){var t;const e=!!((t=this._el.innerHTML)===null||t===void 0?void 0:t.length);return r(a,{class:"p-divider"},r("div",{class:"content"},r("div",{class:`flex items-center ${e&&"px-2"}`},r("slot",null))))}get _el(){return e(this)}};i.style=o;export{i as p_divider};
2
+ //# sourceMappingURL=p-cc901b45.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["dividerComponentCss","Divider","render","hasSlotted","_a","this","_el","innerHTML","length","h","Host","class"],"sources":["./src/components/atoms/divider/divider.component.scss?tag=p-divider&encapsulation=shadow","./src/components/atoms/divider/divider.component.tsx"],"sourcesContent":[":host {\n @apply block my-2 w-full;\n\n .content {\n @apply flex w-full items-center;\n\n &::before,\n &::after {\n content: '';\n @apply h-px bg-mystic-medium flex-1;\n }\n }\n}\n","import { Component, Element, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'p-divider',\n styleUrl: 'divider.component.scss',\n shadow: true,\n})\nexport class Divider {\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n render() {\n const hasSlotted = !!this._el.innerHTML?.length;\n return (\n <Host class=\"p-divider\">\n <div class=\"content\">\n <div class={`flex items-center ${hasSlotted && 'px-2'}`}>\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAsB,wrY,MCOfC,EAAO,M,yBAMhBC,S,MACI,MAAMC,MAAeC,EAAAC,KAAKC,IAAIC,aAAS,MAAAH,SAAA,SAAAA,EAAEI,QACzC,OACIC,EAACC,EAAI,CAACC,MAAM,aACRF,EAAA,OAAKE,MAAM,WACPF,EAAA,OAAKE,MAAO,qBAAqBR,GAAc,UAC3CM,EAAA,e"}
1
+ {"version":3,"names":["dividerComponentCss","Divider","render","hasSlotted","_a","this","_el","innerHTML","length","h","Host","class"],"sources":["./src/components/atoms/divider/divider.component.scss?tag=p-divider&encapsulation=shadow","./src/components/atoms/divider/divider.component.tsx"],"sourcesContent":[":host {\n @apply block my-2 w-full;\n\n .content {\n @apply flex w-full items-center;\n\n &::before,\n &::after {\n content: '';\n @apply h-px bg-mystic-medium flex-1;\n }\n }\n}\n","import { Component, Element, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'p-divider',\n styleUrl: 'divider.component.scss',\n shadow: true,\n})\nexport class Divider {\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n render() {\n const hasSlotted = !!this._el.innerHTML?.length;\n return (\n <Host class=\"p-divider\">\n <div class=\"content\">\n <div class={`flex items-center ${hasSlotted && 'px-2'}`}>\n <slot />\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAsB,68X,MCOfC,EAAO,M,yBAMhBC,S,MACI,MAAMC,MAAeC,EAAAC,KAAKC,IAAIC,aAAS,MAAAH,SAAA,SAAAA,EAAEI,QACzC,OACIC,EAACC,EAAI,CAACC,MAAM,aACRF,EAAA,OAAKE,MAAM,WACPF,EAAA,OAAKE,MAAO,qBAAqBR,GAAc,UAC3CM,EAAA,e"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,H as r,g as a}from"./p-6ccf5cdd.js";import{f as o,g as s}from"./p-4e650fe4.js";import{d as n,a as l}from"./p-6c60fd3d.js";const d=".flex{display:flex!important}.flex-shrink{flex-shrink:1!important}*{box-sizing:border-box}p-table{display:flex;flex-direction:column}p-table .p-input[type=checkbox]{flex-shrink:0}.static{position:static!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.table{display:table!important}.hidden{display:none!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.cursor-pointer{cursor:pointer!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.table-cell{display:table-cell!important}.w-1\\/12{width:8.333333%!important}.w-10\\/12{width:83.333333%!important}.w-11\\/12{width:91.666667%!important}.w-2\\/12{width:16.666667%!important}.w-3\\/12{width:25%!important}.w-4\\/12{width:33.333333%!important}.w-5\\/12{width:41.666667%!important}.w-6\\/12{width:50%!important}.w-7\\/12{width:58.333333%!important}.w-8\\/12{width:66.666667%!important}.w-9\\/12{width:75%!important}.w-auto{width:auto!important}.w-full{width:100%!important}.flex-1{flex:1 1 0%!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.pr-4{padding-right:1rem!important}.text-storm-dark{--tw-text-opacity:1!important;color:rgb(39 40 56/var(--tw-text-opacity))!important}@media (min-width:40rem){.tablet\\:w-1\\/12{width:8.333333%!important}.tablet\\:w-10\\/12{width:83.333333%!important}.tablet\\:w-11\\/12{width:91.666667%!important}.tablet\\:w-2\\/12{width:16.666667%!important}.tablet\\:w-3\\/12{width:25%!important}.tablet\\:w-4\\/12{width:33.333333%!important}.tablet\\:w-5\\/12{width:41.666667%!important}.tablet\\:w-6\\/12{width:50%!important}.tablet\\:w-7\\/12{width:58.333333%!important}.tablet\\:w-8\\/12{width:66.666667%!important}.tablet\\:w-9\\/12{width:75%!important}}@media (min-width:64rem){.desktop-xs\\:w-1\\/12{width:8.333333%!important}.desktop-xs\\:w-10\\/12{width:83.333333%!important}.desktop-xs\\:w-11\\/12{width:91.666667%!important}.desktop-xs\\:w-2\\/12{width:16.666667%!important}.desktop-xs\\:w-3\\/12{width:25%!important}.desktop-xs\\:w-4\\/12{width:33.333333%!important}.desktop-xs\\:w-5\\/12{width:41.666667%!important}.desktop-xs\\:w-6\\/12{width:50%!important}.desktop-xs\\:w-7\\/12{width:58.333333%!important}.desktop-xs\\:w-8\\/12{width:66.666667%!important}.desktop-xs\\:w-9\\/12{width:75%!important}}@media (min-width:80rem){.desktop-sm\\:w-1\\/12{width:8.333333%!important}.desktop-sm\\:w-10\\/12{width:83.333333%!important}.desktop-sm\\:w-11\\/12{width:91.666667%!important}.desktop-sm\\:w-2\\/12{width:16.666667%!important}.desktop-sm\\:w-3\\/12{width:25%!important}.desktop-sm\\:w-4\\/12{width:33.333333%!important}.desktop-sm\\:w-5\\/12{width:41.666667%!important}.desktop-sm\\:w-6\\/12{width:50%!important}.desktop-sm\\:w-7\\/12{width:58.333333%!important}.desktop-sm\\:w-8\\/12{width:66.666667%!important}.desktop-sm\\:w-9\\/12{width:75%!important}}@media (min-width:85.375rem){.desktop\\:w-1\\/12{width:8.333333%!important}.desktop\\:w-10\\/12{width:83.333333%!important}.desktop\\:w-11\\/12{width:91.666667%!important}.desktop\\:w-2\\/12{width:16.666667%!important}.desktop\\:w-3\\/12{width:25%!important}.desktop\\:w-4\\/12{width:33.333333%!important}.desktop\\:w-5\\/12{width:41.666667%!important}.desktop\\:w-6\\/12{width:50%!important}.desktop\\:w-7\\/12{width:58.333333%!important}.desktop\\:w-8\\/12{width:66.666667%!important}.desktop\\:w-9\\/12{width:75%!important}}@media (min-width:90rem){.desktop-lg\\:w-1\\/12{width:8.333333%!important}.desktop-lg\\:w-10\\/12{width:83.333333%!important}.desktop-lg\\:w-11\\/12{width:91.666667%!important}.desktop-lg\\:w-2\\/12{width:16.666667%!important}.desktop-lg\\:w-3\\/12{width:25%!important}.desktop-lg\\:w-4\\/12{width:33.333333%!important}.desktop-lg\\:w-5\\/12{width:41.666667%!important}.desktop-lg\\:w-6\\/12{width:50%!important}.desktop-lg\\:w-7\\/12{width:58.333333%!important}.desktop-lg\\:w-8\\/12{width:66.666667%!important}.desktop-lg\\:w-9\\/12{width:75%!important}}@media (min-width:120rem){.desktop-xl\\:w-1\\/12{width:8.333333%!important}.desktop-xl\\:w-10\\/12{width:83.333333%!important}.desktop-xl\\:w-11\\/12{width:91.666667%!important}.desktop-xl\\:w-2\\/12{width:16.666667%!important}.desktop-xl\\:w-3\\/12{width:25%!important}.desktop-xl\\:w-4\\/12{width:33.333333%!important}.desktop-xl\\:w-5\\/12{width:41.666667%!important}.desktop-xl\\:w-6\\/12{width:50%!important}.desktop-xl\\:w-7\\/12{width:58.333333%!important}.desktop-xl\\:w-8\\/12{width:66.666667%!important}.desktop-xl\\:w-9\\/12{width:75%!important}}.h-8{height:2rem!important}@media (min-width:64rem){.desktop-xs\\:flex{display:flex!important}}.fixed{position:fixed!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.ml-1{margin-left:.25rem!important}.block{display:block!important}.w-3\\/4{width:75%!important}.gap-4{gap:1rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-transparent{border-color:transparent!important}.border-t-mystic-dark{--tw-border-opacity:1!important;border-top-color:rgb(218 230 240/var(--tw-border-opacity))!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.p-4{padding:1rem!important}@media (min-width:64rem){.desktop-xs\\:hidden{display:none!important}.desktop-xs\\:w-48{width:12rem!important}.desktop-xs\\:w-auto{width:auto!important}.desktop-xs\\:flex-row{flex-direction:row!important}}.-rotate-0{--tw-rotate:-0deg!important}.-rotate-0,.-rotate-135{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-135{--tw-rotate:-135deg!important}.-rotate-180{--tw-rotate:-180deg!important}.-rotate-180,.-rotate-225{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-225{--tw-rotate:-225deg!important}.-rotate-25{--tw-rotate:-25deg!important}.-rotate-25,.-rotate-270{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-270{--tw-rotate:-270deg!important}.-rotate-315{--tw-rotate:-315deg!important}.-rotate-315,.-rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-45{--tw-rotate:-45deg!important}.-rotate-90{--tw-rotate:-90deg!important}.-rotate-90,.rotate-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-0{--tw-rotate:0deg!important}.rotate-135{--tw-rotate:135deg!important}.rotate-135,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-180{--tw-rotate:180deg!important}.rotate-225{--tw-rotate:225deg!important}.rotate-225,.rotate-25{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-25{--tw-rotate:25deg!important}.rotate-270{--tw-rotate:270deg!important}.rotate-270,.rotate-315{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-315{--tw-rotate:315deg!important}.rotate-45{--tw-rotate:45deg!important}.rotate-45,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-90{--tw-rotate:90deg!important}.scale-x-flip{--tw-scale-x:-1!important}.scale-x-flip,.scale-y-flip{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.scale-y-flip{--tw-scale-y:-1!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.text-2xl{font-size:1.5rem!important;line-height:2rem!important}.text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.text-5xl{font-size:3rem!important}.text-5xl,.text-6xl{line-height:1!important}.text-6xl{font-size:3.75rem!important}.text-base{font-size:1rem!important;line-height:1.5rem!important}.text-lg{font-size:1.125rem!important}.text-lg,.text-xl{line-height:1.75rem!important}.text-xl{font-size:1.25rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.text-xxs{font-size:.6875rem!important}.inline{display:inline!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.visible{visibility:visible!important}.absolute{position:absolute!important}.m-0{margin:0!important}.table-row{display:table-row!important}.text-negative{--tw-text-opacity:1!important;color:rgb(185 30 40/var(--tw-text-opacity))!important}.text-negative-light{--tw-text-opacity:1!important;color:rgb(255 204 211/var(--tw-text-opacity))!important}.hover\\:text-negative:hover{--tw-text-opacity:1!important;color:rgb(185 30 40/var(--tw-text-opacity))!important}.ml-2{margin-left:.5rem!important}.items-end{align-items:flex-end!important}.justify-between{justify-content:space-between!important}.rounded-bl-none{border-bottom-left-radius:0!important}.rounded-br-none{border-bottom-right-radius:0!important}.rounded-tl-none{border-top-left-radius:0!important}.rounded-tr-none{border-top-right-radius:0!important}.border-l-0{border-left-width:0!important}.border-r-0{border-right-width:0!important}.pl-0{padding-left:0!important}.pr-0{padding-right:0!important}";const h=class{constructor(i){t(this,i);this.selectedRowsChange=e(this,"selectedRowsChange",3);this.rowClick=e(this,"rowClick",3);this.rowSelected=e(this,"rowSelected",3);this.rowDeselected=e(this,"rowDeselected",3);this.hasRendered=e(this,"hasRendered",3);this.quickFilter=e(this,"quickFilter",3);this.queryChange=e(this,"queryChange",3);this.filter=e(this,"filter",3);this.edit=e(this,"edit",3);this.pageChange=e(this,"pageChange",3);this.pageSizeChange=e(this,"pageSizeChange",3);this.export=e(this,"export",3);this.emptyStateActionClick=e(this,"emptyStateActionClick",3);this._ctrlDown=false;this._hasCustomFilterSlot=false;this.items=undefined;this.loading=false;this.headerLoading=false;this.footerLoading=false;this.amountOfLoadingRows=6;this.enableRowSelection=true;this.enableRowClick=true;this.selectedRows=[];this.selectionKey=undefined;this.canSelectKey=undefined;this.enableHeader=true;this.quickFilters=[];this.activeQuickFilterIdentifier=undefined;this.enableSearch=true;this.query=undefined;this.enableFilter=true;this.selectedFiltersAmount=undefined;this.filterButtonTemplate=undefined;this.enableEdit=true;this.editButtonLoading=false;this.editButtonIcon="pencil";this.editButtonText=undefined;this.editButtonTemplate=undefined;this.enableFooter=true;this.enablePageSize=true;this.enablePagination=true;this.enableExport=true;this.page=1;this.total=undefined;this.pageSize=n;this.pageSizeOptions=l;this.hideOnSinglePage=true;this.emptyStateHeader=()=>{var t;return o((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.header)};this.emptyStateContent=()=>{var t;return o((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.content)};this.emptyStateAction=()=>{var t;return o((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.action)};this.enableEmptyStateAction=true;this.emptyStateFilteredHeader=()=>o(this._locales.empty_state.filtered.header);this.emptyStateFilteredContent=()=>o(this._locales.empty_state.filtered.content);this._locales={};this._columns=[];this._items=[]}componentWillLoad(){this._hasCustomFilterSlot=!!this._el.querySelector(':scope > [slot="custom-filter"]');this._setLocales();this._parseItems(this.items);this._generateColumns()}componentDidRender(){this.hasRendered.emit()}render(){var t,e;return i(r,{class:"p-table"},i("p-table-container",null,this.enableHeader&&i("p-table-header",{quickFilters:this.quickFilters,activeQuickFilterIdentifier:this.activeQuickFilterIdentifier,onQuickFilter:({detail:t})=>this.quickFilter.emit(t),enableSearch:this.enableSearch,query:this.query,onQueryChange:({detail:t})=>this.queryChange.emit(t),enableFilter:this.enableFilter,selectedFiltersAmount:this.selectedFiltersAmount,filterButtonTemplate:this.filterButtonTemplate,onFilter:()=>this.filter.emit(),enableEdit:this.enableEdit,editIcon:this.editButtonIcon,editText:this.editButtonText,editLoading:this.editButtonLoading,canEdit:!!((t=this.selectedRows)===null||t===void 0?void 0:t.length),editButtonTemplate:this.editButtonTemplate,onEdit:()=>this.edit.emit(),itemsSelectedAmount:(e=this.selectedRows)===null||e===void 0?void 0:e.length,loading:this.headerLoading},this._hasCustomFilterSlot&&i("slot",{name:"custom-filter",slot:"custom-filter"})),this._getHeader(),i("div",{class:"flex flex-col"},this._getRows()),this.enableFooter&&i("p-table-footer",{hideOnSinglePage:this.hideOnSinglePage,enablePageSize:this.enablePageSize,pageSize:this.pageSize,pageSizeOptions:this.pageSizeOptions,onPageSizeChange:({detail:t})=>this.pageSizeChange.emit(t),enablePagination:this.enablePagination,page:this.page,total:this.total,onPageChange:({detail:t})=>this.pageChange.emit(t),enableExport:this.enableExport,onExport:()=>this.export.emit(),loading:this.footerLoading})))}async _setLocales(){this._locales=await s(this._el)}onTableDefinitionUpdated(){this._generateColumns()}keyDown({key:t}){if(t!=="Control"||this._ctrlDown===true){return}this._ctrlDown=true}keyUp({key:t}){if(t!=="Control"||this._ctrlDown===false){return}this._ctrlDown=false}visibilityChange(){if(document.visibilityState!=="hidden"||this._ctrlDown===false){return}this._ctrlDown=false}_parseItems(t){if(!t){this._items=[];return}if(Array.isArray(t)){this._items=t;return}this._items=JSON.parse(t)}_generateColumns(){const t=this._el.querySelectorAll("p-table-column");const e=Array.from(t);e[e.length-1]["isLast"]=true;this._columns=e}_getHeader(){return i("p-table-row",{variant:"header"},this._columns.map(((t,e)=>i("p-table-cell",{definition:t,value:t.name,variant:"header",checkbox:e===0||t.hasCheckbox?this._getCheckbox(null,"loading"):null,index:e}))))}_getRows(){if(this.loading){return Array.from({length:this.amountOfLoadingRows},((t,e)=>i("p-table-row",{enableHover:this.enableRowSelection||this.enableRowClick},this._getLoadingColumns(e))))}if(!this._items.length){return this._getEmptyState()}return this._items.map(((t,e)=>i("p-table-row",{enableHover:this.enableRowSelection||this.enableRowClick,onClick:t=>this._rowClick(t,e)},this._getRowColumns(t,e))))}_getRowColumns(t,e){return this._columns.map(((r,a)=>i("p-table-cell",{definition:r,item:t,checkbox:a===0||r.hasCheckbox?this._getCheckbox(e):null,index:a,rowIndex:e})))}_getLoadingColumns(t){return this._columns.map(((e,r)=>i("p-table-cell",{definition:e,variant:"loading",checkbox:r===0||e.hasCheckbox?this._getCheckbox(t,"loading"):null,index:r,rowIndex:t})))}_getCheckbox(t,e="default"){if(!this.enableRowSelection||!this.selectionKey){return}if(e==="loading"){return i("p-loader",{variant:"ghost",class:"h-6 w-6 rounded"})}if(e==="header"){return i("input",{class:"p-input",type:"checkbox",onChange:t=>this._selectAllChange(t),checked:this._selectionContainsAll(),indeterminate:this._selectionIndeterminate()})}const r=this._items[t];return i("input",{class:"p-input",type:"checkbox",onChange:e=>this._checkboxChange(e===null||e===void 0?void 0:e.target,t),disabled:this.canSelectKey&&!r[this.canSelectKey],checked:this._selectionContains(r,t)})}_getEmptyState(){var t;if(((t=this.query)===null||t===void 0?void 0:t.length)||this.selectedFiltersAmount){return i("div",{class:"flex max-w-[20rem] flex-col items-center self-center py-24 text-center"},i("p-illustration",{variant:"empty-state-search",class:"mb-6"}),i("p",{class:"text-storm-default font-semibold"},this.emptyStateFilteredHeader()),i("p",{class:"mb-14 text-sm text-storm-medium"},this.emptyStateFilteredContent()))}return i("div",{class:`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${this.enableEmptyStateAction&&"cursor-pointer"}`,onClick:()=>this.enableEmptyStateAction&&this.emptyStateActionClick.emit(null)},i("p-illustration",{variant:"empty-state-add",class:"mb-6"}),i("p",{class:"text-storm-default font-semibold"},this.emptyStateHeader()),i("p",{class:"mb-6 text-sm text-storm-medium"},this.emptyStateContent()),this.enableEmptyStateAction&&i("p-button",{variant:"secondary",icon:"plus",size:"small"},this.emptyStateAction()))}_selectAllChange(t){if(!this.enableRowSelection){return}const e=this._getCheckedValue(t.target);if(e){const t=[];for(let e=0;e<this._items.length;e++){const i=this._items[e];if(this.canSelectKey&&!i[this.canSelectKey]){continue}if(this._selectionContains(i,e)){continue}t.push(i);this.rowSelected.emit(i)}this.selectedRows=[...this.selectedRows,...t];this.selectedRowsChange.emit(this.selectedRows);return}for(let t=0;t<this.selectedRows.length;t++){const e=this.selectedRows[t];const i=this._items.find((i=>this._getSelectionValue(i,t)===this._getSelectionValue(e,t)));if(!i){continue}this.rowDeselected.emit(i)}this.selectedRows=[];this.selectedRowsChange.emit(this.selectedRows)}_checkboxChange(t,e){if(!this.enableRowSelection){return}const i=this._items[e];if(this.canSelectKey&&!i[this.canSelectKey]){t.checked=false;return}const r=this._getCheckedValue(t);if(r){this.selectedRows=[...this.selectedRows,i];this.selectedRowsChange.emit(this.selectedRows);this.rowSelected.emit(i);return}const a=this._selectionContains(i,e,true);const o=[...this.selectedRows];o.splice(a,1);this.selectedRows=o;this.selectedRowsChange.emit(this.selectedRows);this.rowDeselected.emit(i)}_getCheckedValue(t){return t===null||t===void 0?void 0:t.checked}_getSelectionValue(t,e){return this.selectionKey?(t===null||t===void 0?void 0:t[this.selectionKey])||e:e}_selectionContains(t,e,i=false){const r=this.selectedRows.findIndex((i=>this._getSelectionValue(t,e)===this._getSelectionValue(i,e)));return!i?r>=0:r}_selectionContainsAll(){var t,e;let i=true;if(!((t=this._items)===null||t===void 0?void 0:t.length)){return false}for(let t=0;t<((e=this._items)===null||e===void 0?void 0:e.length);t++){const e=this._items[t];const r=this._selectionContains(e,t);if(!r){i=false;break}}return i}_selectionIndeterminate(){var t,e,i;if(!((t=this._items)===null||t===void 0?void 0:t.length)||!((e=this.selectedRows)===null||e===void 0?void 0:e.length)){return false}let r=0;for(let t=0;t<((i=this._items)===null||i===void 0?void 0:i.length);t++){const e=this._items[t];const i=this._selectionContains(e,t);if(i){r++}}return r>0&&r!==this._items.length}_rowClick(t,e){const i=t.target;if(i.tagName.toLowerCase()==="input"||i.type==="checkbox"){return}const r=this._findRow(t.target);const a=this._findRowAction(t.target);if(a){return}if(this.enableRowClick){const t=this._items[e];this.rowClick.emit({item:t,ctrlDown:this._ctrlDown});return}if(!this.enableRowSelection){return}const o=r===null||r===void 0?void 0:r.querySelector('input[type="checkbox"]');if(!o){return}o.checked=!o.checked;this._checkboxChange(o,e)}_findRow(t){var e;if(!t){return t}if(((e=t===null||t===void 0?void 0:t.tagName)===null||e===void 0?void 0:e.toLowerCase())==="p-table-row"){return t}return this._findRow(t===null||t===void 0?void 0:t.parentElement)}_findRowAction(t){var e;if(!t){return null}if(t.getAttribute("data-is-action")!==null&&t.getAttribute("data-is-action")!=="false"){return t}if(((e=t===null||t===void 0?void 0:t.tagName)===null||e===void 0?void 0:e.toLowerCase())==="p-table-row"){return null}return this._findRowAction(t===null||t===void 0?void 0:t.parentElement)}get _el(){return a(this)}static get watchers(){return{items:["_parseItems"]}}};h.style=d;export{h as p_table};
2
+ //# sourceMappingURL=p-ef36e4dd.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["tableComponentCss","Table","this","_ctrlDown","_hasCustomFilterSlot","defaultSize","defaultSizeOptions","_a","formatTranslation","_locales","empty_state","no_filter","header","content","action","filtered","componentWillLoad","_el","querySelector","_setLocales","_parseItems","items","_generateColumns","componentDidRender","hasRendered","emit","render","h","Host","class","enableHeader","quickFilters","activeQuickFilterIdentifier","onQuickFilter","detail","quickFilter","enableSearch","query","onQueryChange","queryChange","enableFilter","selectedFiltersAmount","filterButtonTemplate","onFilter","filter","enableEdit","editIcon","editButtonIcon","editText","editButtonText","editLoading","editButtonLoading","canEdit","selectedRows","length","editButtonTemplate","onEdit","edit","itemsSelectedAmount","_b","loading","headerLoading","name","slot","_getHeader","_getRows","enableFooter","hideOnSinglePage","enablePageSize","pageSize","pageSizeOptions","onPageSizeChange","pageSizeChange","enablePagination","page","total","onPageChange","pageChange","enableExport","onExport","export","footerLoading","async","getLocaleComponentStrings","onTableDefinitionUpdated","keyDown","key","keyUp","visibilityChange","document","visibilityState","_items","Array","isArray","JSON","parse","definitions","querySelectorAll","definitionsArray","from","_columns","variant","map","col","index","definition","value","checkbox","hasCheckbox","_getCheckbox","amountOfLoadingRows","_","i","enableHover","enableRowSelection","enableRowClick","_getLoadingColumns","_getEmptyState","item","onClick","ev","_rowClick","_getRowColumns","colIndex","rowIndex","selectionKey","type","onChange","_selectAllChange","checked","_selectionContainsAll","indeterminate","_selectionIndeterminate","_checkboxChange","target","disabled","canSelectKey","_selectionContains","emptyStateFilteredHeader","emptyStateFilteredContent","enableEmptyStateAction","emptyStateActionClick","emptyStateHeader","emptyStateContent","icon","size","emptyStateAction","$event","_getCheckedValue","toAdd","row","push","rowSelected","selectedRowsChange","find","d","_getSelectionValue","rowDeselected","indexOfToRemove","selection","splice","returnIndex","returnValue","findIndex","contains","containsCount","_c","tagName","toLowerCase","_findRow","_findRowAction","rowClick","ctrlDown","el","parentElement","getAttribute"],"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 })\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 })\n rowClick: EventEmitter<RowClickEvent>;\n\n /**\n * Event whenever a row is selected\n */\n @Event({\n bubbles: false,\n })\n rowSelected: EventEmitter<any>;\n\n /**\n * Event whenever a row is deselected\n */\n @Event({\n bubbles: false,\n })\n rowDeselected: EventEmitter<any>;\n\n /**\n * Event when the table has rendered\n */\n @Event({\n bubbles: false,\n })\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 })\n quickFilter: EventEmitter<QuickFilter>;\n\n /**\n * Event when the query changes\n */\n @Event({\n bubbles: false,\n })\n queryChange: EventEmitter<string>;\n\n /**\n * Event when the filter button is clicked\n */\n @Event({\n bubbles: false,\n })\n filter: EventEmitter<null>;\n\n /**\n * Event when the edit button is clicked\n */\n @Event({\n bubbles: false,\n })\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 })\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 })\n pageSizeChange: EventEmitter<number>;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false,\n })\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 })\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 const action = this._findRowAction($event.target);\n\n if (action) {\n return;\n }\n\n if (this.enableRowClick) {\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"],"mappings":"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"}
1
+ {"version":3,"names":["tableComponentCss","Table","this","_ctrlDown","_hasCustomFilterSlot","defaultSize","defaultSizeOptions","_a","formatTranslation","_locales","empty_state","no_filter","header","content","action","filtered","componentWillLoad","_el","querySelector","_setLocales","_parseItems","items","_generateColumns","componentDidRender","hasRendered","emit","render","h","Host","class","enableHeader","quickFilters","activeQuickFilterIdentifier","onQuickFilter","detail","quickFilter","enableSearch","query","onQueryChange","queryChange","enableFilter","selectedFiltersAmount","filterButtonTemplate","onFilter","filter","enableEdit","editIcon","editButtonIcon","editText","editButtonText","editLoading","editButtonLoading","canEdit","selectedRows","length","editButtonTemplate","onEdit","edit","itemsSelectedAmount","_b","loading","headerLoading","name","slot","_getHeader","_getRows","enableFooter","hideOnSinglePage","enablePageSize","pageSize","pageSizeOptions","onPageSizeChange","pageSizeChange","enablePagination","page","total","onPageChange","pageChange","enableExport","onExport","export","footerLoading","async","getLocaleComponentStrings","onTableDefinitionUpdated","keyDown","key","keyUp","visibilityChange","document","visibilityState","_items","Array","isArray","JSON","parse","definitions","querySelectorAll","definitionsArray","from","_columns","variant","map","col","index","definition","value","checkbox","hasCheckbox","_getCheckbox","amountOfLoadingRows","_","i","enableHover","enableRowSelection","enableRowClick","_getLoadingColumns","_getEmptyState","item","onClick","ev","_rowClick","_getRowColumns","colIndex","rowIndex","selectionKey","type","onChange","_selectAllChange","checked","_selectionContainsAll","indeterminate","_selectionIndeterminate","_checkboxChange","target","disabled","canSelectKey","_selectionContains","emptyStateFilteredHeader","emptyStateFilteredContent","enableEmptyStateAction","emptyStateActionClick","emptyStateHeader","emptyStateContent","icon","size","emptyStateAction","$event","_getCheckedValue","toAdd","row","push","rowSelected","selectedRowsChange","find","d","_getSelectionValue","rowDeselected","indexOfToRemove","selection","splice","returnIndex","returnValue","findIndex","contains","containsCount","_c","tagName","toLowerCase","_findRow","_findRowAction","rowClick","ctrlDown","el","parentElement","getAttribute"],"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 })\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 })\n rowClick: EventEmitter<RowClickEvent>;\n\n /**\n * Event whenever a row is selected\n */\n @Event({\n bubbles: false,\n })\n rowSelected: EventEmitter<any>;\n\n /**\n * Event whenever a row is deselected\n */\n @Event({\n bubbles: false,\n })\n rowDeselected: EventEmitter<any>;\n\n /**\n * Event when the table has rendered\n */\n @Event({\n bubbles: false,\n })\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 })\n quickFilter: EventEmitter<QuickFilter>;\n\n /**\n * Event when the query changes\n */\n @Event({\n bubbles: false,\n })\n queryChange: EventEmitter<string>;\n\n /**\n * Event when the filter button is clicked\n */\n @Event({\n bubbles: false,\n })\n filter: EventEmitter<null>;\n\n /**\n * Event when the edit button is clicked\n */\n @Event({\n bubbles: false,\n })\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 })\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 })\n pageSizeChange: EventEmitter<number>;\n\n /**\n * Event whenever the page changes\n */\n @Event({\n bubbles: false,\n })\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 })\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 const action = this._findRowAction($event.target);\n\n if (action) {\n return;\n }\n\n if (this.enableRowClick) {\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"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as a,h as r,H as e,g as i}from"./p-6ccf5cdd.js";import{f as o,g as n}from"./p-4e650fe4.js";import{d as s,a as p}from"./p-6c60fd3d.js";const w=class{constructor(r){t(this,r);this.sizeChange=a(this,"sizeChange",3);this._defaultButtonTemplate=t=>o(this._locales.item,{size:t});this._defaultItemTemplate=t=>o(this._locales.item,{size:t});this.size=s;this.sizeOptions=p;this.chevronPosition="start";this.buttonSize="small";this.buttonTemplate=this._defaultButtonTemplate;this.itemTemplate=this._defaultItemTemplate;this.hidden=false;this._locales={}}componentWillLoad(){this._setLocales()}render(){return r(e,{class:`p-page-size-select ${this.hidden&&"hidden"}`},r("p-dropdown",{placement:"top-start",chevronPosition:this.chevronPosition,chevronDirection:"down"},r("p-button",{variant:"secondary",slot:"trigger",size:this.buttonSize},this.buttonTemplate?this.buttonTemplate(this.size):this._defaultButtonTemplate(this.size)),r("slot",{slot:"items"},this.sizeOptions.map((t=>r("p-dropdown-menu-item",{active:t===this.size,onClick:()=>this._changeSize(t)},this.itemTemplate?this.itemTemplate(t):this._defaultItemTemplate(t)))))))}async _setLocales(){this._locales=await n(this._el)}_changeSize(t){if(!t){return}this.size=t;this.sizeChange.emit(this.size)}get _el(){return i(this)}};const m=".flex{display:flex!important}*{box-sizing:border-box}p-pagination{display:flex}.static{position:static!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.table{display:table!important}.hidden{display:none!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.cursor-pointer{cursor:pointer!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.table-cell{display:table-cell!important}.w-1\\/12{width:8.333333%!important}.w-10\\/12{width:83.333333%!important}.w-11\\/12{width:91.666667%!important}.w-2\\/12{width:16.666667%!important}.w-3\\/12{width:25%!important}.w-4\\/12{width:33.333333%!important}.w-5\\/12{width:41.666667%!important}.w-6\\/12{width:50%!important}.w-7\\/12{width:58.333333%!important}.w-8\\/12{width:66.666667%!important}.w-9\\/12{width:75%!important}.w-auto{width:auto!important}.w-full{width:100%!important}.flex-1{flex:1 1 0%!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-center{justify-content:center!important}.pr-4{padding-right:1rem!important}.text-storm-dark{--tw-text-opacity:1!important;color:rgb(39 40 56/var(--tw-text-opacity))!important}@media (min-width:40rem){.tablet\\:w-1\\/12{width:8.333333%!important}.tablet\\:w-10\\/12{width:83.333333%!important}.tablet\\:w-11\\/12{width:91.666667%!important}.tablet\\:w-2\\/12{width:16.666667%!important}.tablet\\:w-3\\/12{width:25%!important}.tablet\\:w-4\\/12{width:33.333333%!important}.tablet\\:w-5\\/12{width:41.666667%!important}.tablet\\:w-6\\/12{width:50%!important}.tablet\\:w-7\\/12{width:58.333333%!important}.tablet\\:w-8\\/12{width:66.666667%!important}.tablet\\:w-9\\/12{width:75%!important}}@media (min-width:64rem){.desktop-xs\\:w-1\\/12{width:8.333333%!important}.desktop-xs\\:w-10\\/12{width:83.333333%!important}.desktop-xs\\:w-11\\/12{width:91.666667%!important}.desktop-xs\\:w-2\\/12{width:16.666667%!important}.desktop-xs\\:w-3\\/12{width:25%!important}.desktop-xs\\:w-4\\/12{width:33.333333%!important}.desktop-xs\\:w-5\\/12{width:41.666667%!important}.desktop-xs\\:w-6\\/12{width:50%!important}.desktop-xs\\:w-7\\/12{width:58.333333%!important}.desktop-xs\\:w-8\\/12{width:66.666667%!important}.desktop-xs\\:w-9\\/12{width:75%!important}}@media (min-width:80rem){.desktop-sm\\:w-1\\/12{width:8.333333%!important}.desktop-sm\\:w-10\\/12{width:83.333333%!important}.desktop-sm\\:w-11\\/12{width:91.666667%!important}.desktop-sm\\:w-2\\/12{width:16.666667%!important}.desktop-sm\\:w-3\\/12{width:25%!important}.desktop-sm\\:w-4\\/12{width:33.333333%!important}.desktop-sm\\:w-5\\/12{width:41.666667%!important}.desktop-sm\\:w-6\\/12{width:50%!important}.desktop-sm\\:w-7\\/12{width:58.333333%!important}.desktop-sm\\:w-8\\/12{width:66.666667%!important}.desktop-sm\\:w-9\\/12{width:75%!important}}@media (min-width:85.375rem){.desktop\\:w-1\\/12{width:8.333333%!important}.desktop\\:w-10\\/12{width:83.333333%!important}.desktop\\:w-11\\/12{width:91.666667%!important}.desktop\\:w-2\\/12{width:16.666667%!important}.desktop\\:w-3\\/12{width:25%!important}.desktop\\:w-4\\/12{width:33.333333%!important}.desktop\\:w-5\\/12{width:41.666667%!important}.desktop\\:w-6\\/12{width:50%!important}.desktop\\:w-7\\/12{width:58.333333%!important}.desktop\\:w-8\\/12{width:66.666667%!important}.desktop\\:w-9\\/12{width:75%!important}}@media (min-width:90rem){.desktop-lg\\:w-1\\/12{width:8.333333%!important}.desktop-lg\\:w-10\\/12{width:83.333333%!important}.desktop-lg\\:w-11\\/12{width:91.666667%!important}.desktop-lg\\:w-2\\/12{width:16.666667%!important}.desktop-lg\\:w-3\\/12{width:25%!important}.desktop-lg\\:w-4\\/12{width:33.333333%!important}.desktop-lg\\:w-5\\/12{width:41.666667%!important}.desktop-lg\\:w-6\\/12{width:50%!important}.desktop-lg\\:w-7\\/12{width:58.333333%!important}.desktop-lg\\:w-8\\/12{width:66.666667%!important}.desktop-lg\\:w-9\\/12{width:75%!important}}@media (min-width:120rem){.desktop-xl\\:w-1\\/12{width:8.333333%!important}.desktop-xl\\:w-10\\/12{width:83.333333%!important}.desktop-xl\\:w-11\\/12{width:91.666667%!important}.desktop-xl\\:w-2\\/12{width:16.666667%!important}.desktop-xl\\:w-3\\/12{width:25%!important}.desktop-xl\\:w-4\\/12{width:33.333333%!important}.desktop-xl\\:w-5\\/12{width:41.666667%!important}.desktop-xl\\:w-6\\/12{width:50%!important}.desktop-xl\\:w-7\\/12{width:58.333333%!important}.desktop-xl\\:w-8\\/12{width:66.666667%!important}.desktop-xl\\:w-9\\/12{width:75%!important}}.h-8{height:2rem!important}@media (min-width:64rem){.desktop-xs\\:flex{display:flex!important}}.fixed{position:fixed!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.ml-1{margin-left:.25rem!important}.block{display:block!important}.w-3\\/4{width:75%!important}.gap-4{gap:1rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-transparent{border-color:transparent!important}.border-t-mystic-dark{--tw-border-opacity:1!important;border-top-color:rgb(218 230 240/var(--tw-border-opacity))!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.p-4{padding:1rem!important}@media (min-width:64rem){.desktop-xs\\:hidden{display:none!important}.desktop-xs\\:w-48{width:12rem!important}.desktop-xs\\:w-auto{width:auto!important}.desktop-xs\\:flex-row{flex-direction:row!important}}.-rotate-0{--tw-rotate:-0deg!important}.-rotate-0,.-rotate-135{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-135{--tw-rotate:-135deg!important}.-rotate-180{--tw-rotate:-180deg!important}.-rotate-180,.-rotate-225{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-225{--tw-rotate:-225deg!important}.-rotate-25{--tw-rotate:-25deg!important}.-rotate-25,.-rotate-270{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-270{--tw-rotate:-270deg!important}.-rotate-315{--tw-rotate:-315deg!important}.-rotate-315,.-rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-45{--tw-rotate:-45deg!important}.-rotate-90{--tw-rotate:-90deg!important}.-rotate-90,.rotate-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-0{--tw-rotate:0deg!important}.rotate-135{--tw-rotate:135deg!important}.rotate-135,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-180{--tw-rotate:180deg!important}.rotate-225{--tw-rotate:225deg!important}.rotate-225,.rotate-25{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-25{--tw-rotate:25deg!important}.rotate-270{--tw-rotate:270deg!important}.rotate-270,.rotate-315{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-315{--tw-rotate:315deg!important}.rotate-45{--tw-rotate:45deg!important}.rotate-45,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-90{--tw-rotate:90deg!important}.scale-x-flip{--tw-scale-x:-1!important}.scale-x-flip,.scale-y-flip{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.scale-y-flip{--tw-scale-y:-1!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.text-2xl{font-size:1.5rem!important;line-height:2rem!important}.text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.text-5xl{font-size:3rem!important}.text-5xl,.text-6xl{line-height:1!important}.text-6xl{font-size:3.75rem!important}.text-base{font-size:1rem!important;line-height:1.5rem!important}.text-lg{font-size:1.125rem!important}.text-lg,.text-xl{line-height:1.75rem!important}.text-xl{font-size:1.25rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.text-xxs{font-size:.6875rem!important}.inline{display:inline!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.visible{visibility:visible!important}.absolute{position:absolute!important}.m-0{margin:0!important}.table-row{display:table-row!important}.text-negative{--tw-text-opacity:1!important;color:rgb(185 30 40/var(--tw-text-opacity))!important}.text-negative-light{--tw-text-opacity:1!important;color:rgb(255 204 211/var(--tw-text-opacity))!important}.hover\\:text-negative:hover{--tw-text-opacity:1!important;color:rgb(185 30 40/var(--tw-text-opacity))!important}.ml-2{margin-left:.5rem!important}.items-end{align-items:flex-end!important}.justify-between{justify-content:space-between!important}.rounded-bl-none{border-bottom-left-radius:0!important}.rounded-br-none{border-bottom-right-radius:0!important}.rounded-tl-none{border-top-left-radius:0!important}.rounded-tr-none{border-top-right-radius:0!important}.border-l-0{border-left-width:0!important}.border-r-0{border-right-width:0!important}.pl-0{padding-left:0!important}.pr-0{padding-right:0!important}";const d=class{constructor(e){t(this,e);this.pageChange=a(this,"pageChange",3);this._pages=[];this._set=[];this._nextClick=()=>{const t=this.page+1;if(t>this._pages[this._pages.length-1]){return}this._changePage(t)};this._pageClick=t=>this._changePage(t);this._generateSet=(t=1,a=true)=>{const e=this._pages.length;if(!e){return[]}let i=this.page-t;let o=this.page+t;if(o>e){o=e;i=e-t*2;i=i<1?1:i}if(i<=1){i=1;o=Math.min(t*2+1,e)}const n=[];const s={type:"previous",value:r("p-icon",{variant:"chevron",rotate:90})};const p={type:"next",value:r("p-icon",{variant:"chevron",rotate:-90})};if(t===null){const t=this._pages.map((t=>({type:"page",value:t})));return a?[s,...t,p]:t}if(a){n.push(s)}if(i<=3){for(let t=1;t<i;t++){n.push({type:"page",value:this._pages[t-1]})}}else{n.push({type:"page",value:1});n.push({type:"ellipsis",value:"ellipsis"})}for(let t=i;t<=o;t++){n.push({type:"page",value:this._pages[t-1]})}if(o>=e-2){for(let t=o+1;t<=e;t++){n.push({type:"page",value:this._pages[t-1]})}}else{n.push({type:"ellipsis"});n.push({type:"page",value:this._pages[this._pages.length-1]})}if(a){n.push(p)}return n};this.page=1;this.pageSize=12;this.hideOnSinglePage=false;this.total=undefined}componentWillRender(){this._generate()}render(){var t,a;return r(e,{class:`p-pagination ${this.hideOnSinglePage&&((t=this._set)===null||t===void 0?void 0:t.length)===3&&"hidden"}`},(a=this._set)===null||a===void 0?void 0:a.map((t=>{if(t.type==="previous"||t.type==="next"){return r("p-pagination-item",{onClick:()=>t.type==="previous"?this._previousClick():this._nextClick()},t.value)}if(t.type==="ellipsis"){return r("p-pagination-item",null,"...")}return r("p-pagination-item",{active:t.value===this.page,onClick:()=>this._pageClick(t.value)},t.value)})))}pageChangeHandler(){this._generate()}_generate(){var t;this._pages=this._generatePages();this._set=this._generateSet();if(this.page>((t=this._pages)===null||t===void 0?void 0:t.length)){this._changePage(this._pages.length)}}_changePage(t){if(!t){return}this.page=t;this.pageChange.emit(this.page)}_previousClick(){const t=this.page-1;if(t<this._pages[0]){return}this._changePage(t)}_generatePages(){if(!this.total||!this.pageSize){return[]}const t=Math.ceil(this.total/this.pageSize);return new Array(t).fill(undefined).map(((t,a)=>a+1))}static get watchers(){return{page:["pageChangeHandler"],pageSize:["pageChangeHandler"],total:["pageChangeHandler"]}}};d.style=m;const l=".flex{display:flex!important}.h-8{height:2rem!important}.justify-center{justify-content:center!important}.rounded{border-radius:.25rem!important}.font-semibold{font-weight:600!important}.text-indigo{--tw-text-opacity:1!important;color:rgb(82 138 250/var(--tw-text-opacity))!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}*{box-sizing:border-box}:host{--tw-text-opacity:1;align-items:center;border-radius:.25rem;color:rgb(128 130 158/var(--tw-text-opacity));cursor:pointer;display:flex;font-size:.875rem;font-weight:600;height:2rem;justify-content:center;line-height:1.25rem;width:2rem}:host(:focus),:host(:hover){--tw-text-opacity:1;color:rgb(81 83 107/var(--tw-text-opacity))}:host(.active){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(241 246 255/var(--tw-bg-opacity));color:rgb(82 138 250/var(--tw-text-opacity))}.static{position:static!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.table{display:table!important}.hidden{display:none!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.cursor-pointer{cursor:pointer!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.self-center{align-self:center!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.table-cell{display:table-cell!important}.w-1\\/12{width:8.333333%!important}.w-10\\/12{width:83.333333%!important}.w-11\\/12{width:91.666667%!important}.w-2\\/12{width:16.666667%!important}.w-3\\/12{width:25%!important}.w-4\\/12{width:33.333333%!important}.w-5\\/12{width:41.666667%!important}.w-6\\/12{width:50%!important}.w-7\\/12{width:58.333333%!important}.w-8\\/12{width:66.666667%!important}.w-9\\/12{width:75%!important}.w-auto{width:auto!important}.w-full{width:100%!important}.flex-1{flex:1 1 0%!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.pr-4{padding-right:1rem!important}.text-storm-dark{--tw-text-opacity:1!important;color:rgb(39 40 56/var(--tw-text-opacity))!important}@media (min-width:40rem){.tablet\\:w-1\\/12{width:8.333333%!important}.tablet\\:w-10\\/12{width:83.333333%!important}.tablet\\:w-11\\/12{width:91.666667%!important}.tablet\\:w-2\\/12{width:16.666667%!important}.tablet\\:w-3\\/12{width:25%!important}.tablet\\:w-4\\/12{width:33.333333%!important}.tablet\\:w-5\\/12{width:41.666667%!important}.tablet\\:w-6\\/12{width:50%!important}.tablet\\:w-7\\/12{width:58.333333%!important}.tablet\\:w-8\\/12{width:66.666667%!important}.tablet\\:w-9\\/12{width:75%!important}}@media (min-width:64rem){.desktop-xs\\:w-1\\/12{width:8.333333%!important}.desktop-xs\\:w-10\\/12{width:83.333333%!important}.desktop-xs\\:w-11\\/12{width:91.666667%!important}.desktop-xs\\:w-2\\/12{width:16.666667%!important}.desktop-xs\\:w-3\\/12{width:25%!important}.desktop-xs\\:w-4\\/12{width:33.333333%!important}.desktop-xs\\:w-5\\/12{width:41.666667%!important}.desktop-xs\\:w-6\\/12{width:50%!important}.desktop-xs\\:w-7\\/12{width:58.333333%!important}.desktop-xs\\:w-8\\/12{width:66.666667%!important}.desktop-xs\\:w-9\\/12{width:75%!important}}@media (min-width:80rem){.desktop-sm\\:w-1\\/12{width:8.333333%!important}.desktop-sm\\:w-10\\/12{width:83.333333%!important}.desktop-sm\\:w-11\\/12{width:91.666667%!important}.desktop-sm\\:w-2\\/12{width:16.666667%!important}.desktop-sm\\:w-3\\/12{width:25%!important}.desktop-sm\\:w-4\\/12{width:33.333333%!important}.desktop-sm\\:w-5\\/12{width:41.666667%!important}.desktop-sm\\:w-6\\/12{width:50%!important}.desktop-sm\\:w-7\\/12{width:58.333333%!important}.desktop-sm\\:w-8\\/12{width:66.666667%!important}.desktop-sm\\:w-9\\/12{width:75%!important}}@media (min-width:85.375rem){.desktop\\:w-1\\/12{width:8.333333%!important}.desktop\\:w-10\\/12{width:83.333333%!important}.desktop\\:w-11\\/12{width:91.666667%!important}.desktop\\:w-2\\/12{width:16.666667%!important}.desktop\\:w-3\\/12{width:25%!important}.desktop\\:w-4\\/12{width:33.333333%!important}.desktop\\:w-5\\/12{width:41.666667%!important}.desktop\\:w-6\\/12{width:50%!important}.desktop\\:w-7\\/12{width:58.333333%!important}.desktop\\:w-8\\/12{width:66.666667%!important}.desktop\\:w-9\\/12{width:75%!important}}@media (min-width:90rem){.desktop-lg\\:w-1\\/12{width:8.333333%!important}.desktop-lg\\:w-10\\/12{width:83.333333%!important}.desktop-lg\\:w-11\\/12{width:91.666667%!important}.desktop-lg\\:w-2\\/12{width:16.666667%!important}.desktop-lg\\:w-3\\/12{width:25%!important}.desktop-lg\\:w-4\\/12{width:33.333333%!important}.desktop-lg\\:w-5\\/12{width:41.666667%!important}.desktop-lg\\:w-6\\/12{width:50%!important}.desktop-lg\\:w-7\\/12{width:58.333333%!important}.desktop-lg\\:w-8\\/12{width:66.666667%!important}.desktop-lg\\:w-9\\/12{width:75%!important}}@media (min-width:120rem){.desktop-xl\\:w-1\\/12{width:8.333333%!important}.desktop-xl\\:w-10\\/12{width:83.333333%!important}.desktop-xl\\:w-11\\/12{width:91.666667%!important}.desktop-xl\\:w-2\\/12{width:16.666667%!important}.desktop-xl\\:w-3\\/12{width:25%!important}.desktop-xl\\:w-4\\/12{width:33.333333%!important}.desktop-xl\\:w-5\\/12{width:41.666667%!important}.desktop-xl\\:w-6\\/12{width:50%!important}.desktop-xl\\:w-7\\/12{width:58.333333%!important}.desktop-xl\\:w-8\\/12{width:66.666667%!important}.desktop-xl\\:w-9\\/12{width:75%!important}}@media (min-width:64rem){.desktop-xs\\:flex{display:flex!important}}.fixed{position:fixed!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.ml-1{margin-left:.25rem!important}.block{display:block!important}.w-3\\/4{width:75%!important}.gap-4{gap:1rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-transparent{border-color:transparent!important}.border-t-mystic-dark{--tw-border-opacity:1!important;border-top-color:rgb(218 230 240/var(--tw-border-opacity))!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.p-4{padding:1rem!important}@media (min-width:64rem){.desktop-xs\\:hidden{display:none!important}.desktop-xs\\:w-48{width:12rem!important}.desktop-xs\\:w-auto{width:auto!important}.desktop-xs\\:flex-row{flex-direction:row!important}}.-rotate-0{--tw-rotate:-0deg!important}.-rotate-0,.-rotate-135{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-135{--tw-rotate:-135deg!important}.-rotate-180{--tw-rotate:-180deg!important}.-rotate-180,.-rotate-225{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-225{--tw-rotate:-225deg!important}.-rotate-25{--tw-rotate:-25deg!important}.-rotate-25,.-rotate-270{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-270{--tw-rotate:-270deg!important}.-rotate-315{--tw-rotate:-315deg!important}.-rotate-315,.-rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.-rotate-45{--tw-rotate:-45deg!important}.-rotate-90{--tw-rotate:-90deg!important}.-rotate-90,.rotate-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-0{--tw-rotate:0deg!important}.rotate-135{--tw-rotate:135deg!important}.rotate-135,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-180{--tw-rotate:180deg!important}.rotate-225{--tw-rotate:225deg!important}.rotate-225,.rotate-25{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-25{--tw-rotate:25deg!important}.rotate-270{--tw-rotate:270deg!important}.rotate-270,.rotate-315{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-315{--tw-rotate:315deg!important}.rotate-45{--tw-rotate:45deg!important}.rotate-45,.rotate-90{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.rotate-90{--tw-rotate:90deg!important}.scale-x-flip{--tw-scale-x:-1!important}.scale-x-flip,.scale-y-flip{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.scale-y-flip{--tw-scale-y:-1!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.text-2xl{font-size:1.5rem!important;line-height:2rem!important}.text-3xl{font-size:1.875rem!important;line-height:2.25rem!important}.text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.text-5xl{font-size:3rem!important}.text-5xl,.text-6xl{line-height:1!important}.text-6xl{font-size:3.75rem!important}.text-base{font-size:1rem!important;line-height:1.5rem!important}.text-lg{font-size:1.125rem!important}.text-lg,.text-xl{line-height:1.75rem!important}.text-xl{font-size:1.25rem!important}.text-xs{font-size:.75rem!important;line-height:1rem!important}.text-xxs{font-size:.6875rem!important}.inline{display:inline!important}.px-2{padding-left:.5rem!important;padding-right:.5rem!important}.visible{visibility:visible!important}.absolute{position:absolute!important}.m-0{margin:0!important}.table-row{display:table-row!important}.text-negative{--tw-text-opacity:1!important;color:rgb(185 30 40/var(--tw-text-opacity))!important}.text-negative-light{--tw-text-opacity:1!important;color:rgb(255 204 211/var(--tw-text-opacity))!important}.hover\\:text-negative:hover{--tw-text-opacity:1!important;color:rgb(185 30 40/var(--tw-text-opacity))!important}.ml-2{margin-left:.5rem!important}.items-end{align-items:flex-end!important}.justify-between{justify-content:space-between!important}.rounded-bl-none{border-bottom-left-radius:0!important}.rounded-br-none{border-bottom-right-radius:0!important}.rounded-tl-none{border-top-left-radius:0!important}.rounded-tr-none{border-top-right-radius:0!important}.border-l-0{border-left-width:0!important}.border-r-0{border-right-width:0!important}.pl-0{padding-left:0!important}.pr-0{padding-right:0!important}";const h=class{constructor(a){t(this,a);this.active=false}render(){return r(e,{class:`p-pagination-item ${this.active&&"active"}`},r("slot",null))}};h.style=l;export{w as p_page_size_select,d as p_pagination,h as p_pagination_item};
2
+ //# sourceMappingURL=p-f8828647.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PageSizeSelect","this","_defaultButtonTemplate","size","formatTranslation","_locales","item","_defaultItemTemplate","defaultSize","defaultSizeOptions","componentWillLoad","_setLocales","render","h","Host","class","hidden","placement","chevronPosition","chevronDirection","variant","slot","buttonSize","buttonTemplate","sizeOptions","map","option","active","onClick","_changeSize","itemTemplate","async","getLocaleComponentStrings","_el","s","sizeChange","emit","paginationComponentCss","Pagination","_pages","_set","_nextClick","nextPage","page","length","_changePage","_pageClick","p","_generateSet","range","enableBoundaries","totalPages","start","end","Math","min","set","previous","type","value","rotate","next","push","i","componentWillRender","_generate","hideOnSinglePage","_a","_b","_previousClick","pageChangeHandler","_generatePages","pageChange","previousPage","total","pageSize","pages","ceil","Array","fill","undefined","_","paginationItemComponentCss","PaginationItem"],"sources":["./src/components/molecules/page-size-select/page-size-select.component.tsx","./src/components/molecules/pagination/pagination.component.scss?tag=p-pagination","./src/components/molecules/pagination/pagination.component.tsx","./src/components/atoms/pagination-item/pagination-item.component.scss?tag=p-pagination-item&encapsulation=shadow","./src/components/atoms/pagination-item/pagination-item.component.tsx"],"sourcesContent":["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","p-pagination {\n @apply flex;\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch\n} from '@stencil/core';\n\ntype PaginationSetItem = {\n type: string;\n value?: number | Element | JSX.Element | string;\n};\n\n@Component({\n tag: 'p-pagination',\n styleUrl: 'pagination.component.scss',\n})\nexport class Pagination {\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) page: number = 1;\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 = 12;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hideOnSinglePage: boolean = false;\n\n /**\n * The total amount of items\n */\n @Prop() total!: number;\n\n private _pages: number[] = [];\n private _set: PaginationSetItem[] = [];\n\n componentWillRender() {\n this._generate();\n }\n\n render() {\n return (\n <Host\n class={`p-pagination ${\n this.hideOnSinglePage && this._set?.length === 3 && 'hidden'\n }`}\n >\n {this._set?.map((p) => {\n if (p.type === 'previous' || p.type === 'next') {\n return (\n <p-pagination-item\n onClick={() =>\n p.type === 'previous'\n ? this._previousClick()\n : this._nextClick()\n }\n >\n {p.value}\n </p-pagination-item>\n );\n }\n\n if (p.type === 'ellipsis') {\n return <p-pagination-item>...</p-pagination-item>;\n }\n\n return (\n <p-pagination-item\n active={p.value === this.page}\n onClick={() => this._pageClick(p.value as number)}\n >\n {p.value}\n </p-pagination-item>\n );\n })}\n </Host>\n );\n }\n\n @Watch('page')\n @Watch('pageSize')\n @Watch('total')\n protected pageChangeHandler() {\n this._generate();\n }\n\n private _generate() {\n this._pages = this._generatePages();\n this._set = this._generateSet();\n\n if (this.page > this._pages?.length) {\n this._changePage(this._pages.length);\n }\n }\n\n private _changePage(p?: number) {\n if (!p) {\n return;\n }\n\n this.page = p;\n this.pageChange.emit(this.page);\n }\n\n private _previousClick() {\n const previousPage = this.page - 1;\n if (previousPage < this._pages[0]) {\n return;\n }\n\n this._changePage(previousPage);\n }\n\n private _nextClick = () => {\n const nextPage = this.page + 1;\n if (nextPage > this._pages[this._pages.length - 1]) {\n return;\n }\n\n this._changePage(nextPage);\n };\n\n private _pageClick = (p?: number) => this._changePage(p);\n\n private _generatePages() {\n if (!this.total || !this.pageSize) {\n return [];\n }\n\n const pages = Math.ceil(this.total / this.pageSize);\n return new Array(pages).fill(undefined).map((_, i) => i + 1);\n }\n\n private _generateSet = (\n range: number = 1,\n enableBoundaries: boolean = true\n ): PaginationSetItem[] => {\n const totalPages = this._pages.length;\n\n if (!totalPages) {\n return [];\n }\n\n let start = this.page - range;\n let end = this.page + range;\n\n if (end > totalPages) {\n end = totalPages;\n start = totalPages - range * 2;\n start = start < 1 ? 1 : start;\n }\n\n if (start <= 1) {\n start = 1;\n end = Math.min(range * 2 + 1, totalPages);\n }\n\n const set = [];\n\n const previous = {\n type: 'previous',\n value: <p-icon variant=\"chevron\" rotate={90} />,\n };\n\n const next = {\n type: 'next',\n value: <p-icon variant=\"chevron\" rotate={-90} />,\n };\n\n // Disable page range, display all the pages\n if (range === null) {\n const p = this._pages.map((p) => ({\n type: 'page',\n value: p,\n }));\n\n return enableBoundaries ? [previous, ...p, next] : p;\n }\n\n if (enableBoundaries) {\n set.push(previous);\n }\n\n if (start <= 3) {\n for (let i = 1; i < start; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n } else {\n set.push({\n type: 'page',\n value: 1,\n });\n\n set.push({\n type: 'ellipsis',\n value: 'ellipsis',\n });\n }\n\n for (let i = start; i <= end; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n\n if (end >= totalPages - 2) {\n for (let i = end + 1; i <= totalPages; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n } else {\n set.push({\n type: 'ellipsis',\n });\n\n set.push({\n type: 'page',\n value: this._pages[this._pages.length - 1],\n });\n }\n\n if (enableBoundaries) {\n set.push(next);\n }\n\n return set;\n };\n}\n",":host {\n @apply h-8 w-8;\n @apply flex justify-center items-center;\n @apply font-semibold text-storm-medium text-sm;\n @apply rounded;\n @apply cursor-pointer;\n}\n\n:host(:hover),\n:host(:focus) {\n @apply text-storm;\n}\n\n:host(.active) {\n @apply text-indigo bg-indigo-light;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'p-pagination-item',\n styleUrl: 'pagination-item.component.scss',\n shadow: true,\n})\nexport class PaginationItem {\n /**\n * Wether the pagination item is active\n */\n @Prop() active: boolean = false;\n\n render() {\n return (\n <Host class={`p-pagination-item ${this.active && 'active'}`}>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"4JAuBaA,EAAc,M,gEACfC,KAAAC,uBAAwCC,GAC5CC,EAAkBH,KAAKI,SAASC,KAAM,CAAEH,SACpCF,KAAAM,qBAAsCJ,GAC1CC,EAAkBH,KAAKI,SAASC,KAAM,CAAEH,S,UAIWK,E,iBAKvBC,E,qBAYW,Q,gBAKF,Q,oBAKFR,KAAKC,uB,kBAKPD,KAAKM,qB,YAUhB,M,cAKO,E,CAEjCG,oBACIT,KAAKU,a,CAGTC,SACI,OACIC,EAACC,EAAI,CAACC,MAAO,sBAAsBd,KAAKe,QAAU,YAC9CH,EAAA,cACII,UAAU,YACVC,gBAAiBjB,KAAKiB,gBACtBC,iBAAiB,QAEjBN,EAAA,YACIO,QAAQ,YACRC,KAAK,UACLlB,KAAMF,KAAKqB,YAEVrB,KAAKsB,eACAtB,KAAKsB,eAAetB,KAAKE,MACzBF,KAAKC,uBAAuBD,KAAKE,OAE3CU,EAAA,QAAMQ,KAAK,SACNpB,KAAKuB,YAAYC,KAAKC,GACnBb,EAAA,wBACIc,OAAQD,IAAWzB,KAAKE,KACxByB,QAAS,IAAM3B,KAAK4B,YAAYH,IAE/BzB,KAAK6B,aACA7B,KAAK6B,aAAaJ,GAClBzB,KAAKM,qBAAqBmB,Q,CAUpDK,oBACJ9B,KAAKI,eAAiB2B,EAA0B/B,KAAKgC,I,CAGjDJ,YAAYK,GAChB,IAAKA,EAAG,CACJ,M,CAGJjC,KAAKE,KAAO+B,EACZjC,KAAKkC,WAAWC,KAAKnC,KAAKE,K,4BCjIlC,MAAMkC,EAAyB,k7V,MCmBlBC,EAAU,M,gEA4BXrC,KAAAsC,OAAmB,GACnBtC,KAAAuC,KAA4B,GA+E5BvC,KAAAwC,WAAa,KACjB,MAAMC,EAAWzC,KAAK0C,KAAO,EAC7B,GAAID,EAAWzC,KAAKsC,OAAOtC,KAAKsC,OAAOK,OAAS,GAAI,CAChD,M,CAGJ3C,KAAK4C,YAAYH,EAAS,EAGtBzC,KAAA6C,WAAcC,GAAe9C,KAAK4C,YAAYE,GAW9C9C,KAAA+C,aAAe,CACnBC,EAAgB,EAChBC,EAA4B,QAE5B,MAAMC,EAAalD,KAAKsC,OAAOK,OAE/B,IAAKO,EAAY,CACb,MAAO,E,CAGX,IAAIC,EAAQnD,KAAK0C,KAAOM,EACxB,IAAII,EAAMpD,KAAK0C,KAAOM,EAEtB,GAAII,EAAMF,EAAY,CAClBE,EAAMF,EACNC,EAAQD,EAAaF,EAAQ,EAC7BG,EAAQA,EAAQ,EAAI,EAAIA,C,CAG5B,GAAIA,GAAS,EAAG,CACZA,EAAQ,EACRC,EAAMC,KAAKC,IAAIN,EAAQ,EAAI,EAAGE,E,CAGlC,MAAMK,EAAM,GAEZ,MAAMC,EAAW,CACbC,KAAM,WACNC,MAAO9C,EAAA,UAAQO,QAAQ,UAAUwC,OAAQ,MAG7C,MAAMC,EAAO,CACTH,KAAM,OACNC,MAAO9C,EAAA,UAAQO,QAAQ,UAAUwC,QAAS,MAI9C,GAAIX,IAAU,KAAM,CAChB,MAAMF,EAAI9C,KAAKsC,OAAOd,KAAKsB,IAAC,CACxBW,KAAM,OACNC,MAAOZ,MAGX,OAAOG,EAAmB,CAACO,KAAaV,EAAGc,GAAQd,C,CAGvD,GAAIG,EAAkB,CAClBM,EAAIM,KAAKL,E,CAGb,GAAIL,GAAS,EAAG,CACZ,IAAK,IAAIW,EAAI,EAAGA,EAAIX,EAAOW,IAAK,CAC5BP,EAAIM,KAAK,CACLJ,KAAM,OACNC,MAAO1D,KAAKsC,OAAOwB,EAAI,I,MAG5B,CACHP,EAAIM,KAAK,CACLJ,KAAM,OACNC,MAAO,IAGXH,EAAIM,KAAK,CACLJ,KAAM,WACNC,MAAO,Y,CAIf,IAAK,IAAII,EAAIX,EAAOW,GAAKV,EAAKU,IAAK,CAC/BP,EAAIM,KAAK,CACLJ,KAAM,OACNC,MAAO1D,KAAKsC,OAAOwB,EAAI,I,CAI/B,GAAIV,GAAOF,EAAa,EAAG,CACvB,IAAK,IAAIY,EAAIV,EAAM,EAAGU,GAAKZ,EAAYY,IAAK,CACxCP,EAAIM,KAAK,CACLJ,KAAM,OACNC,MAAO1D,KAAKsC,OAAOwB,EAAI,I,MAG5B,CACHP,EAAIM,KAAK,CACLJ,KAAM,aAGVF,EAAIM,KAAK,CACLJ,KAAM,OACNC,MAAO1D,KAAKsC,OAAOtC,KAAKsC,OAAOK,OAAS,I,CAIhD,GAAIM,EAAkB,CAClBM,EAAIM,KAAKD,E,CAGb,OAAOL,CAAG,E,UA9NyC,E,cAY5B,G,sBAKS,M,qBAUpCQ,sBACI/D,KAAKgE,W,CAGTrD,S,QACI,OACIC,EAACC,EAAI,CACDC,MAAO,gBACHd,KAAKiE,oBAAoBC,EAAAlE,KAAKuC,QAAI,MAAA2B,SAAA,SAAAA,EAAEvB,UAAW,GAAK,aAGvDwB,EAAAnE,KAAKuC,QAAI,MAAA4B,SAAA,SAAAA,EAAE3C,KAAKsB,IACb,GAAIA,EAAEW,OAAS,YAAcX,EAAEW,OAAS,OAAQ,CAC5C,OACI7C,EAAA,qBACIe,QAAS,IACLmB,EAAEW,OAAS,WACLzD,KAAKoE,iBACLpE,KAAKwC,cAGdM,EAAEY,M,CAKf,GAAIZ,EAAEW,OAAS,WAAY,CACvB,OAAO7C,EAAA,+B,CAGX,OACIA,EAAA,qBACIc,OAAQoB,EAAEY,QAAU1D,KAAK0C,KACzBf,QAAS,IAAM3B,KAAK6C,WAAWC,EAAEY,QAEhCZ,EAAEY,MACa,I,CAU9BW,oBACNrE,KAAKgE,W,CAGDA,Y,MACJhE,KAAKsC,OAAStC,KAAKsE,iBACnBtE,KAAKuC,KAAOvC,KAAK+C,eAEjB,GAAI/C,KAAK0C,OAAOwB,EAAAlE,KAAKsC,UAAM,MAAA4B,SAAA,SAAAA,EAAEvB,QAAQ,CACjC3C,KAAK4C,YAAY5C,KAAKsC,OAAOK,O,EAI7BC,YAAYE,GAChB,IAAKA,EAAG,CACJ,M,CAGJ9C,KAAK0C,KAAOI,EACZ9C,KAAKuE,WAAWpC,KAAKnC,KAAK0C,K,CAGtB0B,iBACJ,MAAMI,EAAexE,KAAK0C,KAAO,EACjC,GAAI8B,EAAexE,KAAKsC,OAAO,GAAI,CAC/B,M,CAGJtC,KAAK4C,YAAY4B,E,CAcbF,iBACJ,IAAKtE,KAAKyE,QAAUzE,KAAK0E,SAAU,CAC/B,MAAO,E,CAGX,MAAMC,EAAQtB,KAAKuB,KAAK5E,KAAKyE,MAAQzE,KAAK0E,UAC1C,OAAO,IAAIG,MAAMF,GAAOG,KAAKC,WAAWvD,KAAI,CAACwD,EAAGlB,IAAMA,EAAI,G,iIChJlE,MAAMmB,EAA6B,+9W,MCOtBC,EAAc,M,qCAIC,K,CAE1BvE,SACE,OACEC,EAACC,EAAI,CAACC,MAAO,qBAAqBd,KAAK0B,QAAU,YAC/Cd,EAAA,a"}
1
+ {"version":3,"names":["PageSizeSelect","this","_defaultButtonTemplate","size","formatTranslation","_locales","item","_defaultItemTemplate","defaultSize","defaultSizeOptions","componentWillLoad","_setLocales","render","h","Host","class","hidden","placement","chevronPosition","chevronDirection","variant","slot","buttonSize","buttonTemplate","sizeOptions","map","option","active","onClick","_changeSize","itemTemplate","async","getLocaleComponentStrings","_el","s","sizeChange","emit","paginationComponentCss","Pagination","_pages","_set","_nextClick","nextPage","page","length","_changePage","_pageClick","p","_generateSet","range","enableBoundaries","totalPages","start","end","Math","min","set","previous","type","value","rotate","next","push","i","componentWillRender","_generate","hideOnSinglePage","_a","_b","_previousClick","pageChangeHandler","_generatePages","pageChange","previousPage","total","pageSize","pages","ceil","Array","fill","undefined","_","paginationItemComponentCss","PaginationItem"],"sources":["./src/components/molecules/page-size-select/page-size-select.component.tsx","./src/components/molecules/pagination/pagination.component.scss?tag=p-pagination","./src/components/molecules/pagination/pagination.component.tsx","./src/components/atoms/pagination-item/pagination-item.component.scss?tag=p-pagination-item&encapsulation=shadow","./src/components/atoms/pagination-item/pagination-item.component.tsx"],"sourcesContent":["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","p-pagination {\n @apply flex;\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch\n} from '@stencil/core';\n\ntype PaginationSetItem = {\n type: string;\n value?: number | Element | JSX.Element | string;\n};\n\n@Component({\n tag: 'p-pagination',\n styleUrl: 'pagination.component.scss',\n})\nexport class Pagination {\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) page: number = 1;\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 = 12;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hideOnSinglePage: boolean = false;\n\n /**\n * The total amount of items\n */\n @Prop() total!: number;\n\n private _pages: number[] = [];\n private _set: PaginationSetItem[] = [];\n\n componentWillRender() {\n this._generate();\n }\n\n render() {\n return (\n <Host\n class={`p-pagination ${\n this.hideOnSinglePage && this._set?.length === 3 && 'hidden'\n }`}\n >\n {this._set?.map((p) => {\n if (p.type === 'previous' || p.type === 'next') {\n return (\n <p-pagination-item\n onClick={() =>\n p.type === 'previous'\n ? this._previousClick()\n : this._nextClick()\n }\n >\n {p.value}\n </p-pagination-item>\n );\n }\n\n if (p.type === 'ellipsis') {\n return <p-pagination-item>...</p-pagination-item>;\n }\n\n return (\n <p-pagination-item\n active={p.value === this.page}\n onClick={() => this._pageClick(p.value as number)}\n >\n {p.value}\n </p-pagination-item>\n );\n })}\n </Host>\n );\n }\n\n @Watch('page')\n @Watch('pageSize')\n @Watch('total')\n protected pageChangeHandler() {\n this._generate();\n }\n\n private _generate() {\n this._pages = this._generatePages();\n this._set = this._generateSet();\n\n if (this.page > this._pages?.length) {\n this._changePage(this._pages.length);\n }\n }\n\n private _changePage(p?: number) {\n if (!p) {\n return;\n }\n\n this.page = p;\n this.pageChange.emit(this.page);\n }\n\n private _previousClick() {\n const previousPage = this.page - 1;\n if (previousPage < this._pages[0]) {\n return;\n }\n\n this._changePage(previousPage);\n }\n\n private _nextClick = () => {\n const nextPage = this.page + 1;\n if (nextPage > this._pages[this._pages.length - 1]) {\n return;\n }\n\n this._changePage(nextPage);\n };\n\n private _pageClick = (p?: number) => this._changePage(p);\n\n private _generatePages() {\n if (!this.total || !this.pageSize) {\n return [];\n }\n\n const pages = Math.ceil(this.total / this.pageSize);\n return new Array(pages).fill(undefined).map((_, i) => i + 1);\n }\n\n private _generateSet = (\n range: number = 1,\n enableBoundaries: boolean = true\n ): PaginationSetItem[] => {\n const totalPages = this._pages.length;\n\n if (!totalPages) {\n return [];\n }\n\n let start = this.page - range;\n let end = this.page + range;\n\n if (end > totalPages) {\n end = totalPages;\n start = totalPages - range * 2;\n start = start < 1 ? 1 : start;\n }\n\n if (start <= 1) {\n start = 1;\n end = Math.min(range * 2 + 1, totalPages);\n }\n\n const set = [];\n\n const previous = {\n type: 'previous',\n value: <p-icon variant=\"chevron\" rotate={90} />,\n };\n\n const next = {\n type: 'next',\n value: <p-icon variant=\"chevron\" rotate={-90} />,\n };\n\n // Disable page range, display all the pages\n if (range === null) {\n const p = this._pages.map((p) => ({\n type: 'page',\n value: p,\n }));\n\n return enableBoundaries ? [previous, ...p, next] : p;\n }\n\n if (enableBoundaries) {\n set.push(previous);\n }\n\n if (start <= 3) {\n for (let i = 1; i < start; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n } else {\n set.push({\n type: 'page',\n value: 1,\n });\n\n set.push({\n type: 'ellipsis',\n value: 'ellipsis',\n });\n }\n\n for (let i = start; i <= end; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n\n if (end >= totalPages - 2) {\n for (let i = end + 1; i <= totalPages; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n } else {\n set.push({\n type: 'ellipsis',\n });\n\n set.push({\n type: 'page',\n value: this._pages[this._pages.length - 1],\n });\n }\n\n if (enableBoundaries) {\n set.push(next);\n }\n\n return set;\n };\n}\n",":host {\n @apply h-8 w-8;\n @apply flex justify-center items-center;\n @apply font-semibold text-storm-medium text-sm;\n @apply rounded;\n @apply cursor-pointer;\n}\n\n:host(:hover),\n:host(:focus) {\n @apply text-storm;\n}\n\n:host(.active) {\n @apply text-indigo bg-indigo-light;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'p-pagination-item',\n styleUrl: 'pagination-item.component.scss',\n shadow: true,\n})\nexport class PaginationItem {\n /**\n * Wether the pagination item is active\n */\n @Prop() active: boolean = false;\n\n render() {\n return (\n <Host class={`p-pagination-item ${this.active && 'active'}`}>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"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"}