@paperless/core 0.0.3-alpha.5 → 0.1.0-alpha.100

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 (545) hide show
  1. package/CHANGELOG.md +1073 -0
  2. package/README.md +31 -10
  3. package/dist/assets/icons/arrow.svg +2 -2
  4. package/dist/assets/icons/attachment.svg +2 -2
  5. package/dist/assets/icons/bread.svg +2 -2
  6. package/dist/assets/icons/calendar.svg +2 -2
  7. package/dist/assets/icons/car.svg +2 -2
  8. package/dist/assets/icons/checklist.svg +17 -0
  9. package/dist/assets/icons/checkmark.svg +2 -2
  10. package/dist/assets/icons/chevron.svg +2 -2
  11. package/dist/assets/icons/clock.svg +2 -2
  12. package/dist/assets/icons/cogs.svg +2 -2
  13. package/dist/assets/icons/comment.svg +2 -2
  14. package/dist/assets/icons/document.svg +2 -2
  15. package/dist/assets/icons/download.svg +2 -2
  16. package/dist/assets/icons/envelope.svg +2 -2
  17. package/dist/assets/icons/explanation.svg +2 -2
  18. package/dist/assets/icons/eye.svg +2 -2
  19. package/dist/assets/icons/filter.svg +2 -2
  20. package/dist/assets/icons/folder.svg +19 -0
  21. package/dist/assets/icons/grid.svg +2 -2
  22. package/dist/assets/icons/headset.svg +2 -2
  23. package/dist/assets/icons/integration.svg +17 -0
  24. package/dist/assets/icons/list.svg +2 -2
  25. package/dist/assets/icons/location.svg +2 -2
  26. package/dist/assets/icons/megaphone.svg +2 -2
  27. package/dist/assets/icons/menu.svg +25 -0
  28. package/dist/assets/icons/minus.svg +2 -2
  29. package/dist/assets/icons/more.svg +18 -0
  30. package/dist/assets/icons/negative.svg +2 -2
  31. package/dist/assets/icons/pagination.svg +2 -2
  32. package/dist/assets/icons/payment.svg +2 -2
  33. package/dist/assets/icons/pencil.svg +2 -2
  34. package/dist/assets/icons/person.svg +2 -2
  35. package/dist/assets/icons/plus.svg +2 -2
  36. package/dist/assets/icons/question.svg +2 -2
  37. package/dist/assets/icons/receipt.svg +2 -2
  38. package/dist/assets/icons/report.svg +2 -2
  39. package/dist/assets/icons/search.svg +2 -2
  40. package/dist/assets/icons/settings.svg +2 -2
  41. package/dist/assets/icons/sick.svg +2 -2
  42. package/dist/assets/icons/signout.svg +23 -0
  43. package/dist/assets/icons/switch.svg +20 -0
  44. package/dist/assets/icons/tachometer.svg +2 -2
  45. package/dist/assets/icons/task.svg +17 -0
  46. package/dist/assets/icons/template.svg +17 -0
  47. package/dist/assets/icons/tool.svg +2 -2
  48. package/dist/assets/icons/trash.svg +2 -2
  49. package/dist/assets/icons/turn.svg +2 -2
  50. package/dist/assets/icons/upload.svg +2 -2
  51. package/dist/assets/icons/warning.svg +2 -2
  52. package/dist/assets/illustrations/e-mail.svg +1 -0
  53. package/dist/assets/images/avatar/company-default.svg +12 -0
  54. package/dist/assets/images/avatar/user-default.svg +12 -0
  55. package/dist/assets/images/helper/helper-hover.svg +15 -0
  56. package/dist/assets/images/helper/helper.svg +15 -0
  57. package/dist/build/p-113baa35.entry.js +1 -0
  58. package/dist/build/p-19c20c8e.entry.js +1 -0
  59. package/dist/build/p-1ef22f4e.entry.js +1 -0
  60. package/dist/build/p-2672f14b.entry.js +1 -0
  61. package/dist/build/p-2beaf0e8.entry.js +1 -0
  62. package/dist/build/p-4336cbbc.entry.js +1 -0
  63. package/dist/build/p-58ce5668.entry.js +1 -0
  64. package/dist/build/p-6088647a.entry.js +1 -0
  65. package/dist/build/p-6835a9e3.entry.js +1 -0
  66. package/dist/build/p-6e778574.entry.js +1 -0
  67. package/dist/build/p-79d3258f.entry.js +1 -0
  68. package/dist/build/p-801d05b6.entry.js +1 -0
  69. package/dist/build/p-829c4101.entry.js +1 -0
  70. package/dist/build/p-89fda3a8.entry.js +1 -0
  71. package/dist/build/p-8ac8a69d.entry.js +1 -0
  72. package/dist/build/p-8b743795.entry.js +1 -0
  73. package/dist/build/p-92b6c76c.entry.js +1 -0
  74. package/dist/build/p-938f52ee.entry.js +1 -0
  75. package/dist/build/p-985ee694.entry.js +1 -0
  76. package/dist/build/p-9d98d0d9.entry.js +1 -0
  77. package/dist/build/p-a5ebbd0c.entry.js +1 -0
  78. package/dist/build/p-a6127c75.entry.js +1 -0
  79. package/dist/build/p-a7086ffa.js +1 -0
  80. package/dist/build/p-bc7e8cc4.js +2 -0
  81. package/dist/build/p-bd50db3d.entry.js +1 -0
  82. package/dist/build/p-c27046e6.entry.js +1 -0
  83. package/dist/build/p-c59d9fc2.entry.js +1 -0
  84. package/dist/build/p-cc177072.entry.js +1 -0
  85. package/dist/build/p-cece7715.entry.js +1 -0
  86. package/dist/build/p-d32f2578.entry.js +1 -0
  87. package/dist/build/p-e20a1842.entry.js +1 -0
  88. package/dist/build/p-e2a98d53.entry.js +1 -0
  89. package/dist/build/p-e934ef94.entry.js +1 -0
  90. package/dist/build/p-e9e20ac3.entry.js +1 -0
  91. package/dist/build/p-ec2a5f95.entry.js +1 -0
  92. package/dist/build/p-ede5e914.entry.js +1 -0
  93. package/dist/build/paperless.css +199 -16
  94. package/dist/build/paperless.esm.js +1 -1
  95. package/dist/cjs/{index-e3e940d8.js → index-9d3b51c9.js} +844 -20
  96. package/dist/cjs/loader.cjs.js +3 -3
  97. package/dist/cjs/p-accordion.cjs.entry.js +42 -0
  98. package/dist/cjs/p-avatar-group.cjs.entry.js +19 -0
  99. package/dist/cjs/p-avatar_2.cjs.entry.js +179 -0
  100. package/dist/cjs/p-button_3.cjs.entry.js +1157 -0
  101. package/dist/cjs/p-card-body.cjs.entry.js +23 -0
  102. package/dist/cjs/p-card-container.cjs.entry.js +27 -0
  103. package/dist/cjs/p-card-header.cjs.entry.js +24 -0
  104. package/dist/cjs/p-content-slider.cjs.entry.js +153 -0
  105. package/dist/cjs/p-counter.cjs.entry.js +27 -0
  106. package/dist/cjs/p-divider.cjs.entry.js +22 -0
  107. package/dist/cjs/p-dropdown-menu-container.cjs.entry.js +19 -0
  108. package/dist/cjs/p-dropdown-menu-item.cjs.entry.js +23 -0
  109. package/dist/cjs/p-helper.cjs.entry.js +23 -0
  110. package/dist/cjs/p-illustration.cjs.entry.js +1426 -0
  111. package/dist/cjs/p-info-panel.cjs.entry.js +31 -0
  112. package/dist/cjs/p-input-group.cjs.entry.js +51 -0
  113. package/dist/cjs/p-layout.cjs.entry.js +23 -0
  114. package/dist/cjs/p-modal-backdrop_5.cjs.entry.js +101 -0
  115. package/dist/cjs/p-modal.cjs.entry.js +48 -0
  116. package/dist/cjs/p-navbar.cjs.entry.js +34 -0
  117. package/dist/cjs/p-navigation-item.cjs.entry.js +23 -0
  118. package/dist/cjs/p-pagination-item.cjs.entry.js +23 -0
  119. package/dist/cjs/p-pagination.cjs.entry.js +171 -0
  120. package/dist/cjs/p-profile.cjs.entry.js +46 -0
  121. package/dist/cjs/p-segment-container.cjs.entry.js +19 -0
  122. package/dist/cjs/p-segment-item.cjs.entry.js +29 -0
  123. package/dist/cjs/p-slider-indicator.cjs.entry.js +23 -0
  124. package/dist/cjs/p-status.cjs.entry.js +49 -0
  125. package/dist/cjs/p-stepper-item_2.cjs.entry.js +56 -0
  126. package/dist/cjs/p-stepper.cjs.entry.js +71 -0
  127. package/dist/cjs/p-tab-group.cjs.entry.js +19 -0
  128. package/dist/cjs/p-tab-item.cjs.entry.js +23 -0
  129. package/dist/cjs/p-tag.cjs.entry.js +27 -0
  130. package/dist/cjs/p-tooltip.cjs.entry.js +143 -0
  131. package/dist/cjs/paperless.cjs.js +3 -3
  132. package/dist/cjs/popper-e0c4ed4c.js +1790 -0
  133. package/dist/collection/assets/icons/arrow.svg +2 -2
  134. package/dist/collection/assets/icons/attachment.svg +2 -2
  135. package/dist/collection/assets/icons/bread.svg +2 -2
  136. package/dist/collection/assets/icons/calendar.svg +2 -2
  137. package/dist/collection/assets/icons/car.svg +2 -2
  138. package/dist/collection/assets/icons/checklist.svg +17 -0
  139. package/dist/collection/assets/icons/checkmark.svg +2 -2
  140. package/dist/collection/assets/icons/chevron.svg +2 -2
  141. package/dist/collection/assets/icons/clock.svg +2 -2
  142. package/dist/collection/assets/icons/cogs.svg +2 -2
  143. package/dist/collection/assets/icons/comment.svg +2 -2
  144. package/dist/collection/assets/icons/document.svg +2 -2
  145. package/dist/collection/assets/icons/download.svg +2 -2
  146. package/dist/collection/assets/icons/envelope.svg +2 -2
  147. package/dist/collection/assets/icons/explanation.svg +2 -2
  148. package/dist/collection/assets/icons/eye.svg +2 -2
  149. package/dist/collection/assets/icons/filter.svg +2 -2
  150. package/dist/collection/assets/icons/folder.svg +19 -0
  151. package/dist/collection/assets/icons/grid.svg +2 -2
  152. package/dist/collection/assets/icons/headset.svg +2 -2
  153. package/dist/collection/assets/icons/integration.svg +17 -0
  154. package/dist/collection/assets/icons/list.svg +2 -2
  155. package/dist/collection/assets/icons/location.svg +2 -2
  156. package/dist/collection/assets/icons/megaphone.svg +2 -2
  157. package/dist/collection/assets/icons/menu.svg +25 -0
  158. package/dist/collection/assets/icons/minus.svg +2 -2
  159. package/dist/collection/assets/icons/more.svg +18 -0
  160. package/dist/collection/assets/icons/negative.svg +2 -2
  161. package/dist/collection/assets/icons/pagination.svg +2 -2
  162. package/dist/collection/assets/icons/payment.svg +2 -2
  163. package/dist/collection/assets/icons/pencil.svg +2 -2
  164. package/dist/collection/assets/icons/person.svg +2 -2
  165. package/dist/collection/assets/icons/plus.svg +2 -2
  166. package/dist/collection/assets/icons/question.svg +2 -2
  167. package/dist/collection/assets/icons/receipt.svg +2 -2
  168. package/dist/collection/assets/icons/report.svg +2 -2
  169. package/dist/collection/assets/icons/search.svg +2 -2
  170. package/dist/collection/assets/icons/settings.svg +2 -2
  171. package/dist/collection/assets/icons/sick.svg +2 -2
  172. package/dist/collection/assets/icons/signout.svg +23 -0
  173. package/dist/collection/assets/icons/switch.svg +20 -0
  174. package/dist/collection/assets/icons/tachometer.svg +2 -2
  175. package/dist/collection/assets/icons/task.svg +17 -0
  176. package/dist/collection/assets/icons/template.svg +17 -0
  177. package/dist/collection/assets/icons/tool.svg +2 -2
  178. package/dist/collection/assets/icons/trash.svg +2 -2
  179. package/dist/collection/assets/icons/turn.svg +2 -2
  180. package/dist/collection/assets/icons/upload.svg +2 -2
  181. package/dist/collection/assets/icons/warning.svg +2 -2
  182. package/dist/collection/assets/illustrations/e-mail.svg +1 -0
  183. package/dist/collection/assets/images/avatar/company-default.svg +12 -0
  184. package/dist/collection/assets/images/avatar/user-default.svg +12 -0
  185. package/dist/collection/assets/images/helper/helper-hover.svg +15 -0
  186. package/dist/collection/assets/images/helper/helper.svg +15 -0
  187. package/dist/collection/collection-manifest.json +43 -2
  188. package/dist/collection/components/atoms/avatar/avatar.component.css +24 -0
  189. package/dist/collection/components/atoms/avatar/avatar.component.js +110 -0
  190. package/dist/collection/components/atoms/avatar-group/avatar-group.component.css +18 -0
  191. package/dist/collection/components/atoms/avatar-group/avatar-group.component.js +36 -0
  192. package/dist/collection/components/atoms/button/button.component.css +95 -0
  193. package/dist/collection/components/atoms/button/button.component.js +374 -0
  194. package/dist/collection/components/atoms/card-body/card-body.component.css +9 -0
  195. package/dist/collection/components/atoms/card-body/card-body.component.js +40 -0
  196. package/dist/collection/components/atoms/card-container/card-container.component.css +17 -0
  197. package/dist/collection/components/atoms/card-container/card-container.component.js +63 -0
  198. package/dist/collection/components/atoms/card-header/card-header.component.css +17 -0
  199. package/dist/collection/components/atoms/card-header/card-header.component.js +61 -0
  200. package/dist/collection/components/atoms/counter/counter.component.css +30 -0
  201. package/dist/collection/components/atoms/counter/counter.component.js +63 -0
  202. package/dist/collection/components/atoms/divider/divider.component.css +10 -0
  203. package/dist/collection/components/atoms/divider/divider.component.js +20 -0
  204. package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.css +6 -0
  205. package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.js +14 -0
  206. package/dist/collection/components/atoms/dropdown-menu-item/dropdown-menu-item.component.css +13 -0
  207. package/dist/collection/components/atoms/dropdown-menu-item/dropdown-menu-item.component.js +64 -0
  208. package/dist/collection/components/atoms/helper/helper.component.css +7 -0
  209. package/dist/collection/components/atoms/helper/helper.component.js +49 -0
  210. package/dist/collection/components/atoms/icon/icon.component.css +1 -0
  211. package/dist/collection/components/atoms/icon/icon.component.js +156 -0
  212. package/dist/collection/components/atoms/illustration/illustration.component.js +32 -0
  213. package/dist/collection/components/atoms/info-panel/info-panel.component.css +28 -0
  214. package/dist/collection/components/atoms/info-panel/info-panel.component.js +106 -0
  215. package/dist/collection/components/atoms/layout/layout.component.css +73 -0
  216. package/dist/collection/components/atoms/layout/layout.component.js +47 -0
  217. package/dist/collection/components/atoms/loader/loader.component.css +26 -0
  218. package/dist/collection/components/atoms/loader/loader.component.js +154 -0
  219. package/dist/collection/components/atoms/modal-backdrop/modal-backdrop.component.css +7 -0
  220. package/dist/collection/components/atoms/modal-backdrop/modal-backdrop.component.js +15 -0
  221. package/dist/collection/components/atoms/modal-body/modal-body.component.css +7 -0
  222. package/dist/collection/components/{button/button.component.js → atoms/modal-body/modal-body.component.js} +12 -12
  223. package/dist/collection/components/atoms/modal-container/modal-container.component.css +6 -0
  224. package/dist/collection/components/atoms/modal-container/modal-container.component.js +53 -0
  225. package/dist/collection/components/atoms/modal-footer/modal-footer.component.css +8 -0
  226. package/dist/collection/components/atoms/modal-footer/modal-footer.component.js +42 -0
  227. package/dist/collection/components/atoms/modal-header/modal-header.component.css +16 -0
  228. package/dist/collection/components/atoms/modal-header/modal-header.component.js +64 -0
  229. package/dist/collection/components/atoms/pagination-item/pagination-item.component.css +16 -0
  230. package/dist/collection/components/atoms/pagination-item/pagination-item.component.js +41 -0
  231. package/dist/collection/components/atoms/segment-container/segment-container.component.css +5 -0
  232. package/dist/collection/components/atoms/segment-container/segment-container.component.js +14 -0
  233. package/dist/collection/components/atoms/segment-item/segment-item.component.css +21 -0
  234. package/dist/collection/components/atoms/segment-item/segment-item.component.js +112 -0
  235. package/dist/collection/components/atoms/slider-indicator/slider-indicator.component.css +7 -0
  236. package/dist/collection/components/atoms/slider-indicator/slider-indicator.component.js +40 -0
  237. package/dist/collection/components/atoms/status/status.component.css +16 -0
  238. package/dist/collection/components/atoms/status/status.component.js +133 -0
  239. package/dist/collection/components/atoms/stepper-item/stepper-item.component.css +59 -0
  240. package/dist/collection/components/atoms/stepper-item/stepper-item.component.js +109 -0
  241. package/dist/collection/components/atoms/stepper-line/stepper-line.component.css +18 -0
  242. package/dist/collection/components/atoms/stepper-line/stepper-line.component.js +62 -0
  243. package/dist/collection/components/atoms/tab-group/tab-group.component.css +9 -0
  244. package/dist/collection/components/atoms/tab-group/tab-group.component.js +17 -0
  245. package/dist/collection/components/atoms/tab-item/tab-item.component.css +10 -0
  246. package/dist/collection/components/atoms/tab-item/tab-item.component.js +41 -0
  247. package/dist/collection/components/atoms/tag/tag.component.css +51 -0
  248. package/dist/collection/components/atoms/tag/tag.component.js +64 -0
  249. package/dist/collection/components/atoms/tooltip/tooltip.component.css +43 -0
  250. package/dist/collection/components/atoms/tooltip/tooltip.component.js +317 -0
  251. package/dist/collection/components/molecules/accordion/accordion.component.css +3 -0
  252. package/dist/collection/components/molecules/accordion/accordion.component.js +133 -0
  253. package/dist/collection/components/molecules/content-slider/content-slider.component.css +26 -0
  254. package/dist/collection/components/molecules/content-slider/content-slider.component.js +229 -0
  255. package/dist/collection/components/molecules/dropdown/dropdown.component.css +12 -0
  256. package/dist/collection/components/molecules/dropdown/dropdown.component.js +267 -0
  257. package/dist/collection/components/molecules/input-group/input-group.component.css +204 -0
  258. package/dist/collection/components/molecules/input-group/input-group.component.js +264 -0
  259. package/dist/collection/components/molecules/navigation-item/navigation-item.component.css +22 -0
  260. package/dist/collection/components/molecules/navigation-item/navigation-item.component.js +118 -0
  261. package/dist/collection/components/molecules/pagination/pagination.component.css +3 -0
  262. package/dist/collection/components/molecules/pagination/pagination.component.js +242 -0
  263. package/dist/collection/components/molecules/profile/profile.component.css +36 -0
  264. package/dist/collection/components/molecules/profile/profile.component.js +92 -0
  265. package/dist/collection/components/molecules/stepper/stepper.component.css +12 -0
  266. package/dist/collection/components/molecules/stepper/stepper.component.js +106 -0
  267. package/dist/collection/components/organisms/modal/modal.component.js +175 -0
  268. package/dist/collection/components/organisms/navbar/navbar.component.css +56 -0
  269. package/dist/collection/components/organisms/navbar/navbar.component.js +99 -0
  270. package/dist/collection/tailwind/animation.js +17 -0
  271. package/dist/collection/tailwind/backdrop-blur.js +3 -0
  272. package/dist/collection/tailwind/border-radius.js +8 -5
  273. package/dist/collection/tailwind/rotate.js +8 -0
  274. package/dist/collection/tailwind/scale.js +3 -0
  275. package/dist/collection/tailwind/screens.js +8 -0
  276. package/dist/collection/tailwind/shadows.js +9 -5
  277. package/dist/collection/tailwind/spacing.js +10 -0
  278. package/dist/collection/tailwind/typography.js +21 -0
  279. package/dist/collection/tailwind/width.js +18 -0
  280. package/dist/collection/tailwind/z-index.js +3 -0
  281. package/dist/collection/tailwind.config.js +28 -12
  282. package/dist/collection/utils/child-of.js +5 -0
  283. package/dist/collection/utils/icons.js +100 -0
  284. package/dist/collection/utils/illustrations.js +20 -0
  285. package/dist/collection/utils/types.js +1 -0
  286. package/dist/components/avatar.component.js +54 -0
  287. package/dist/components/button.component.js +119 -0
  288. package/dist/components/counter.component.js +41 -0
  289. package/dist/components/divider.component.js +33 -0
  290. package/dist/components/dropdown-menu-container.component.js +29 -0
  291. package/dist/components/dropdown.component.js +170 -0
  292. package/dist/components/helper.component.js +42 -0
  293. package/dist/components/icon.component.js +1044 -0
  294. package/dist/components/index.d.ts +42 -1
  295. package/dist/components/index.js +41 -0
  296. package/dist/components/loader.component.js +75 -0
  297. package/dist/components/modal-backdrop.component.js +30 -0
  298. package/dist/components/modal-body.component.js +36 -0
  299. package/dist/components/modal-container.component.js +48 -0
  300. package/dist/components/modal-footer.component.js +42 -0
  301. package/dist/components/modal-header.component.js +43 -0
  302. package/dist/components/p-accordion.d.ts +11 -0
  303. package/dist/components/p-accordion.js +73 -0
  304. package/dist/components/p-avatar-group.d.ts +11 -0
  305. package/dist/components/p-avatar-group.js +34 -0
  306. package/dist/components/p-avatar.d.ts +11 -0
  307. package/dist/components/p-avatar.js +6 -0
  308. package/dist/components/p-button.js +1 -34
  309. package/dist/components/p-card-body.d.ts +11 -0
  310. package/dist/components/p-card-body.js +38 -0
  311. package/dist/components/p-card-container.d.ts +11 -0
  312. package/dist/components/p-card-container.js +44 -0
  313. package/dist/components/p-card-header.d.ts +11 -0
  314. package/dist/components/p-card-header.js +46 -0
  315. package/dist/components/p-content-slider.d.ts +11 -0
  316. package/dist/components/p-content-slider.js +181 -0
  317. package/dist/components/p-counter.d.ts +11 -0
  318. package/dist/components/p-counter.js +6 -0
  319. package/dist/components/p-divider.d.ts +11 -0
  320. package/dist/components/p-divider.js +6 -0
  321. package/dist/components/p-dropdown-menu-container.d.ts +11 -0
  322. package/dist/components/p-dropdown-menu-container.js +6 -0
  323. package/dist/components/p-dropdown-menu-item.d.ts +11 -0
  324. package/dist/components/p-dropdown-menu-item.js +46 -0
  325. package/dist/components/p-dropdown.d.ts +11 -0
  326. package/dist/components/p-dropdown.js +6 -0
  327. package/dist/components/p-helper.d.ts +11 -0
  328. package/dist/components/p-helper.js +6 -0
  329. package/dist/components/p-icon.d.ts +11 -0
  330. package/dist/components/p-icon.js +6 -0
  331. package/dist/components/p-illustration.d.ts +11 -0
  332. package/dist/components/p-illustration.js +1440 -0
  333. package/dist/components/p-info-panel.d.ts +11 -0
  334. package/dist/components/p-info-panel.js +56 -0
  335. package/dist/components/p-input-group.d.ts +11 -0
  336. package/dist/components/p-input-group.js +96 -0
  337. package/dist/components/p-layout.d.ts +11 -0
  338. package/dist/components/p-layout.js +39 -0
  339. package/dist/components/p-loader.d.ts +11 -0
  340. package/dist/components/p-loader.js +6 -0
  341. package/dist/components/p-modal-backdrop.d.ts +11 -0
  342. package/dist/components/p-modal-backdrop.js +6 -0
  343. package/dist/components/p-modal-body.d.ts +11 -0
  344. package/dist/components/p-modal-body.js +6 -0
  345. package/dist/components/p-modal-container.d.ts +11 -0
  346. package/dist/components/p-modal-container.js +6 -0
  347. package/dist/components/p-modal-footer.d.ts +11 -0
  348. package/dist/components/p-modal-footer.js +6 -0
  349. package/dist/components/p-modal-header.d.ts +11 -0
  350. package/dist/components/p-modal-header.js +6 -0
  351. package/dist/components/p-modal.d.ts +11 -0
  352. package/dist/components/p-modal.js +111 -0
  353. package/dist/components/p-navbar.d.ts +11 -0
  354. package/dist/components/p-navbar.js +70 -0
  355. package/dist/components/p-navigation-item.d.ts +11 -0
  356. package/dist/components/p-navigation-item.js +55 -0
  357. package/dist/components/p-pagination-item.d.ts +11 -0
  358. package/dist/components/p-pagination-item.js +6 -0
  359. package/dist/components/p-pagination.d.ts +11 -0
  360. package/dist/components/p-pagination.js +200 -0
  361. package/dist/components/p-profile.d.ts +11 -0
  362. package/dist/components/p-profile.js +88 -0
  363. package/dist/components/p-segment-container.d.ts +11 -0
  364. package/dist/components/p-segment-container.js +32 -0
  365. package/dist/components/p-segment-item.d.ts +11 -0
  366. package/dist/components/p-segment-item.js +54 -0
  367. package/dist/components/p-slider-indicator.d.ts +11 -0
  368. package/dist/components/p-slider-indicator.js +6 -0
  369. package/dist/components/p-status.d.ts +11 -0
  370. package/dist/components/p-status.js +73 -0
  371. package/dist/components/p-stepper-item.d.ts +11 -0
  372. package/dist/components/p-stepper-item.js +6 -0
  373. package/dist/components/p-stepper-line.d.ts +11 -0
  374. package/dist/components/p-stepper-line.js +6 -0
  375. package/dist/components/p-stepper.d.ts +11 -0
  376. package/dist/components/p-stepper.js +106 -0
  377. package/dist/components/p-tab-group.d.ts +11 -0
  378. package/dist/components/p-tab-group.js +39 -0
  379. package/dist/components/p-tab-item.d.ts +11 -0
  380. package/dist/components/p-tab-item.js +39 -0
  381. package/dist/components/p-tag.d.ts +11 -0
  382. package/dist/components/p-tag.js +44 -0
  383. package/dist/components/p-tooltip.d.ts +11 -0
  384. package/dist/components/p-tooltip.js +6 -0
  385. package/dist/components/pagination-item.component.js +36 -0
  386. package/dist/components/popper.js +1788 -0
  387. package/dist/components/slider-indicator.component.js +36 -0
  388. package/dist/components/stepper-item.component.js +57 -0
  389. package/dist/components/stepper-line.component.js +41 -0
  390. package/dist/components/tooltip.component.js +161 -0
  391. package/dist/esm/{index-100a5ae6.js → index-9062156b.js} +842 -21
  392. package/dist/esm/loader.js +3 -3
  393. package/dist/esm/p-accordion.entry.js +38 -0
  394. package/dist/esm/p-avatar-group.entry.js +15 -0
  395. package/dist/esm/p-avatar_2.entry.js +174 -0
  396. package/dist/esm/p-button_3.entry.js +1151 -0
  397. package/dist/esm/p-card-body.entry.js +19 -0
  398. package/dist/esm/p-card-container.entry.js +23 -0
  399. package/dist/esm/p-card-header.entry.js +20 -0
  400. package/dist/esm/p-content-slider.entry.js +149 -0
  401. package/dist/esm/p-counter.entry.js +23 -0
  402. package/dist/esm/p-divider.entry.js +18 -0
  403. package/dist/esm/p-dropdown-menu-container.entry.js +15 -0
  404. package/dist/esm/p-dropdown-menu-item.entry.js +19 -0
  405. package/dist/esm/p-helper.entry.js +19 -0
  406. package/dist/esm/p-illustration.entry.js +1422 -0
  407. package/dist/esm/p-info-panel.entry.js +27 -0
  408. package/dist/esm/p-input-group.entry.js +47 -0
  409. package/dist/esm/p-layout.entry.js +19 -0
  410. package/dist/esm/p-modal-backdrop_5.entry.js +93 -0
  411. package/dist/esm/p-modal.entry.js +44 -0
  412. package/dist/esm/p-navbar.entry.js +30 -0
  413. package/dist/esm/p-navigation-item.entry.js +19 -0
  414. package/dist/esm/p-pagination-item.entry.js +19 -0
  415. package/dist/esm/p-pagination.entry.js +167 -0
  416. package/dist/esm/p-profile.entry.js +42 -0
  417. package/dist/esm/p-segment-container.entry.js +15 -0
  418. package/dist/esm/p-segment-item.entry.js +25 -0
  419. package/dist/esm/p-slider-indicator.entry.js +19 -0
  420. package/dist/esm/p-status.entry.js +45 -0
  421. package/dist/esm/p-stepper-item_2.entry.js +51 -0
  422. package/dist/esm/p-stepper.entry.js +67 -0
  423. package/dist/esm/p-tab-group.entry.js +15 -0
  424. package/dist/esm/p-tab-item.entry.js +19 -0
  425. package/dist/esm/p-tag.entry.js +23 -0
  426. package/dist/esm/p-tooltip.entry.js +139 -0
  427. package/dist/esm/paperless.js +3 -3
  428. package/dist/esm/polyfills/core-js.js +0 -0
  429. package/dist/esm/polyfills/dom.js +0 -0
  430. package/dist/esm/polyfills/es5-html-element.js +0 -0
  431. package/dist/esm/polyfills/index.js +0 -0
  432. package/dist/esm/polyfills/system.js +0 -0
  433. package/dist/esm/popper-41c6f9cd.js +1788 -0
  434. package/dist/index.html +1 -1
  435. package/dist/paperless/p-113baa35.entry.js +1 -0
  436. package/dist/paperless/p-19c20c8e.entry.js +1 -0
  437. package/dist/paperless/p-1ef22f4e.entry.js +1 -0
  438. package/dist/paperless/p-2672f14b.entry.js +1 -0
  439. package/dist/paperless/p-2beaf0e8.entry.js +1 -0
  440. package/dist/paperless/p-4336cbbc.entry.js +1 -0
  441. package/dist/paperless/p-58ce5668.entry.js +1 -0
  442. package/dist/paperless/p-6088647a.entry.js +1 -0
  443. package/dist/paperless/p-6835a9e3.entry.js +1 -0
  444. package/dist/paperless/p-6e778574.entry.js +1 -0
  445. package/dist/paperless/p-79d3258f.entry.js +1 -0
  446. package/dist/paperless/p-801d05b6.entry.js +1 -0
  447. package/dist/paperless/p-829c4101.entry.js +1 -0
  448. package/dist/paperless/p-89fda3a8.entry.js +1 -0
  449. package/dist/paperless/p-8ac8a69d.entry.js +1 -0
  450. package/dist/paperless/p-8b743795.entry.js +1 -0
  451. package/dist/paperless/p-92b6c76c.entry.js +1 -0
  452. package/dist/paperless/p-938f52ee.entry.js +1 -0
  453. package/dist/paperless/p-985ee694.entry.js +1 -0
  454. package/dist/paperless/p-9d98d0d9.entry.js +1 -0
  455. package/dist/paperless/p-a5ebbd0c.entry.js +1 -0
  456. package/dist/paperless/p-a6127c75.entry.js +1 -0
  457. package/dist/paperless/p-a7086ffa.js +1 -0
  458. package/dist/paperless/p-bc7e8cc4.js +2 -0
  459. package/dist/paperless/p-bd50db3d.entry.js +1 -0
  460. package/dist/paperless/p-c27046e6.entry.js +1 -0
  461. package/dist/paperless/p-c59d9fc2.entry.js +1 -0
  462. package/dist/paperless/p-cc177072.entry.js +1 -0
  463. package/dist/paperless/p-cece7715.entry.js +1 -0
  464. package/dist/paperless/p-d32f2578.entry.js +1 -0
  465. package/dist/paperless/p-e20a1842.entry.js +1 -0
  466. package/dist/paperless/p-e2a98d53.entry.js +1 -0
  467. package/dist/paperless/p-e934ef94.entry.js +1 -0
  468. package/dist/paperless/p-e9e20ac3.entry.js +1 -0
  469. package/dist/paperless/p-ec2a5f95.entry.js +1 -0
  470. package/dist/paperless/p-ede5e914.entry.js +1 -0
  471. package/dist/paperless/paperless.css +290 -22746
  472. package/dist/paperless/paperless.esm.js +1 -1
  473. package/dist/sw.js +2 -169
  474. package/dist/sw.js.map +1 -0
  475. package/dist/tailwind/animation.js +17 -0
  476. package/dist/tailwind/backdrop-blur.js +3 -0
  477. package/dist/tailwind/border-radius.js +10 -0
  478. package/dist/tailwind/colors.js +52 -0
  479. package/dist/tailwind/rotate.js +8 -0
  480. package/dist/tailwind/scale.js +3 -0
  481. package/dist/tailwind/screens.js +8 -0
  482. package/dist/tailwind/shadows.js +11 -0
  483. package/dist/tailwind/spacing.js +10 -0
  484. package/dist/tailwind/typography.js +21 -0
  485. package/dist/tailwind/width.js +18 -0
  486. package/dist/tailwind/z-index.js +3 -0
  487. package/dist/tailwind.config.js +28 -12
  488. package/dist/types/components/atoms/avatar/avatar.component.d.ts +21 -0
  489. package/dist/types/components/atoms/avatar-group/avatar-group.component.d.ts +7 -0
  490. package/dist/types/components/atoms/button/button.component.d.ts +68 -0
  491. package/dist/types/components/atoms/card-body/card-body.component.d.ts +7 -0
  492. package/dist/types/components/atoms/card-container/card-container.component.d.ts +11 -0
  493. package/dist/types/components/atoms/card-header/card-header.component.d.ts +11 -0
  494. package/dist/types/components/atoms/counter/counter.component.d.ts +11 -0
  495. package/dist/types/components/atoms/divider/divider.component.d.ts +7 -0
  496. package/dist/types/components/atoms/dropdown-menu-container/dropdown-menu-container.component.d.ts +3 -0
  497. package/dist/types/components/atoms/dropdown-menu-item/dropdown-menu-item.component.d.ts +12 -0
  498. package/dist/types/components/atoms/helper/helper.component.d.ts +8 -0
  499. package/dist/types/components/atoms/icon/icon.component.d.ts +23 -0
  500. package/dist/types/components/atoms/illustration/illustration.component.d.ts +9 -0
  501. package/dist/types/components/atoms/info-panel/info-panel.component.d.ts +24 -0
  502. package/dist/types/components/atoms/layout/layout.component.d.ts +7 -0
  503. package/dist/types/components/atoms/loader/loader.component.d.ts +30 -0
  504. package/dist/types/components/atoms/modal-backdrop/modal-backdrop.component.d.ts +3 -0
  505. package/dist/types/components/atoms/modal-body/modal-body.component.d.ts +7 -0
  506. package/dist/types/components/atoms/modal-container/modal-container.component.d.ts +7 -0
  507. package/dist/types/components/atoms/modal-footer/modal-footer.component.d.ts +7 -0
  508. package/dist/types/components/atoms/modal-header/modal-header.component.d.ts +12 -0
  509. package/dist/types/components/atoms/pagination-item/pagination-item.component.d.ts +7 -0
  510. package/dist/types/components/atoms/segment-container/segment-container.component.d.ts +3 -0
  511. package/dist/types/components/atoms/segment-item/segment-item.component.d.ts +22 -0
  512. package/dist/types/components/atoms/slider-indicator/slider-indicator.component.d.ts +7 -0
  513. package/dist/types/components/atoms/status/status.component.d.ts +23 -0
  514. package/dist/types/components/atoms/stepper-item/stepper-item.component.d.ts +19 -0
  515. package/dist/types/components/atoms/stepper-line/stepper-line.component.d.ts +11 -0
  516. package/dist/types/components/atoms/tab-group/tab-group.component.d.ts +3 -0
  517. package/dist/types/components/atoms/tab-item/tab-item.component.d.ts +7 -0
  518. package/dist/types/components/atoms/tag/tag.component.d.ts +11 -0
  519. package/dist/types/components/atoms/tooltip/tooltip.component.d.ts +49 -0
  520. package/dist/types/components/molecules/accordion/accordion.component.d.ts +25 -0
  521. package/dist/types/components/molecules/content-slider/content-slider.component.d.ts +44 -0
  522. package/dist/types/components/molecules/dropdown/dropdown.component.d.ts +47 -0
  523. package/dist/types/components/molecules/input-group/input-group.component.d.ts +53 -0
  524. package/dist/types/components/molecules/navigation-item/navigation-item.component.d.ts +24 -0
  525. package/dist/types/components/molecules/pagination/pagination.component.d.ts +28 -0
  526. package/dist/types/components/molecules/profile/profile.component.d.ts +19 -0
  527. package/dist/types/components/molecules/stepper/stepper.component.d.ts +18 -0
  528. package/dist/types/components/organisms/modal/modal.component.d.ts +38 -0
  529. package/dist/types/components/organisms/navbar/navbar.component.d.ts +14 -0
  530. package/dist/types/components.d.ts +1526 -16
  531. package/dist/types/utils/child-of.d.ts +1 -0
  532. package/dist/types/utils/icons.d.ts +52 -0
  533. package/dist/types/utils/illustrations.d.ts +12 -0
  534. package/dist/types/utils/types.d.ts +2 -0
  535. package/dist/workbox-5fe694da.js +2 -0
  536. package/dist/workbox-5fe694da.js.map +1 -0
  537. package/package.json +61 -58
  538. package/dist/build/p-54459ae1.js +0 -2
  539. package/dist/build/p-e61ff856.entry.js +0 -1
  540. package/dist/cjs/p-button.cjs.entry.js +0 -23
  541. package/dist/collection/components/button/button.component.css +0 -6
  542. package/dist/esm/p-button.entry.js +0 -19
  543. package/dist/paperless/p-54459ae1.js +0 -2
  544. package/dist/paperless/p-e61ff856.entry.js +0 -1
  545. package/dist/types/components/button/button.component.d.ts +0 -7
@@ -23,7 +23,12 @@ function _interopNamespace(e) {
23
23
  const NAMESPACE = 'paperless';
24
24
 
25
25
  let scopeId;
26
+ let contentRef;
26
27
  let hostTagName;
28
+ let useNativeShadowDom = false;
29
+ let checkSlotFallbackVisibility = false;
30
+ let checkSlotRelocate = false;
31
+ let isSvgMode = false;
27
32
  let queuePending = false;
28
33
  const win = typeof window !== 'undefined' ? window : {};
29
34
  const doc = win.document || { head: {} };
@@ -37,15 +42,51 @@ const plt = {
37
42
  ce: (eventName, opts) => new CustomEvent(eventName, opts),
38
43
  };
39
44
  const promiseResolve = (v) => Promise.resolve(v);
40
- const supportsConstructibleStylesheets = /*@__PURE__*/ (() => {
45
+ const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
41
46
  try {
42
47
  new CSSStyleSheet();
43
- return typeof new CSSStyleSheet().replace === 'function';
48
+ return typeof new CSSStyleSheet().replaceSync === 'function';
44
49
  }
45
50
  catch (e) { }
46
51
  return false;
47
52
  })()
48
53
  ;
54
+ const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
55
+ if (listeners) {
56
+ listeners.map(([flags, name, method]) => {
57
+ const target = getHostListenerTarget(elm, flags) ;
58
+ const handler = hostListenerProxy(hostRef, method);
59
+ const opts = hostListenerOpts(flags);
60
+ plt.ael(target, name, handler, opts);
61
+ (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
62
+ });
63
+ }
64
+ };
65
+ const hostListenerProxy = (hostRef, methodName) => (ev) => {
66
+ try {
67
+ {
68
+ if (hostRef.$flags$ & 256 /* isListenReady */) {
69
+ // instance is ready, let's call it's member method for this event
70
+ hostRef.$lazyInstance$[methodName](ev);
71
+ }
72
+ else {
73
+ (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
74
+ }
75
+ }
76
+ }
77
+ catch (e) {
78
+ consoleError(e);
79
+ }
80
+ };
81
+ const getHostListenerTarget = (elm, flags) => {
82
+ if (flags & 4 /* TargetDocument */)
83
+ return doc;
84
+ if (flags & 8 /* TargetWindow */)
85
+ return win;
86
+ return elm;
87
+ };
88
+ // prettier-ignore
89
+ const hostListenerOpts = (flags) => (flags & 2 /* Capture */) !== 0;
49
90
  const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
50
91
  const createTime = (fnName, tagName = '') => {
51
92
  {
@@ -64,9 +105,14 @@ const uniqueTime = (key, measureText) => {
64
105
  const rootAppliedStyles = new WeakMap();
65
106
  const registerStyle = (scopeId, cssText, allowCS) => {
66
107
  let style = styles.get(scopeId);
67
- if (supportsConstructibleStylesheets && allowCS) {
108
+ if (supportsConstructableStylesheets && allowCS) {
68
109
  style = (style || new CSSStyleSheet());
69
- style.replace(cssText);
110
+ if (typeof style === 'string') {
111
+ style = cssText;
112
+ }
113
+ else {
114
+ style.replaceSync(cssText);
115
+ }
70
116
  }
71
117
  else {
72
118
  style = cssText;
@@ -153,6 +199,7 @@ const isComplexType = (o) => {
153
199
  // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
154
200
  const h = (nodeName, vnodeData, ...children) => {
155
201
  let child = null;
202
+ let slotName = null;
156
203
  let simple = false;
157
204
  let lastSimple = false;
158
205
  const vNodeChildren = [];
@@ -180,6 +227,9 @@ const h = (nodeName, vnodeData, ...children) => {
180
227
  };
181
228
  walk(children);
182
229
  if (vnodeData) {
230
+ if (vnodeData.name) {
231
+ slotName = vnodeData.name;
232
+ }
183
233
  {
184
234
  const classData = vnodeData.className || vnodeData.class;
185
235
  if (classData) {
@@ -192,11 +242,18 @@ const h = (nodeName, vnodeData, ...children) => {
192
242
  }
193
243
  }
194
244
  }
245
+ if (typeof nodeName === 'function') {
246
+ // nodeName is a functional component
247
+ return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);
248
+ }
195
249
  const vnode = newVNode(nodeName, null);
196
250
  vnode.$attrs$ = vnodeData;
197
251
  if (vNodeChildren.length > 0) {
198
252
  vnode.$children$ = vNodeChildren;
199
253
  }
254
+ {
255
+ vnode.$name$ = slotName;
256
+ }
200
257
  return vnode;
201
258
  };
202
259
  const newVNode = (tag, text) => {
@@ -210,10 +267,43 @@ const newVNode = (tag, text) => {
210
267
  {
211
268
  vnode.$attrs$ = null;
212
269
  }
270
+ {
271
+ vnode.$name$ = null;
272
+ }
213
273
  return vnode;
214
274
  };
215
275
  const Host = {};
216
276
  const isHost = (node) => node && node.$tag$ === Host;
277
+ const vdomFnUtils = {
278
+ forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
279
+ map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),
280
+ };
281
+ const convertToPublic = (node) => ({
282
+ vattrs: node.$attrs$,
283
+ vchildren: node.$children$,
284
+ vkey: node.$key$,
285
+ vname: node.$name$,
286
+ vtag: node.$tag$,
287
+ vtext: node.$text$,
288
+ });
289
+ const convertToPrivate = (node) => {
290
+ if (typeof node.vtag === 'function') {
291
+ const vnodeData = Object.assign({}, node.vattrs);
292
+ if (node.vkey) {
293
+ vnodeData.key = node.vkey;
294
+ }
295
+ if (node.vname) {
296
+ vnodeData.name = node.vname;
297
+ }
298
+ return h(node.vtag, vnodeData, ...(node.vchildren || []));
299
+ }
300
+ const vnode = newVNode(node.vtag, node.vtext);
301
+ vnode.$attrs$ = node.vattrs;
302
+ vnode.$children$ = node.vchildren;
303
+ vnode.$key$ = node.vkey;
304
+ vnode.$name$ = node.vname;
305
+ return vnode;
306
+ };
217
307
  /**
218
308
  * Production setAccessor() function based on Preact by
219
309
  * Jason Miller (@developit)
@@ -224,7 +314,8 @@ const isHost = (node) => node && node.$tag$ === Host;
224
314
  */
225
315
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
226
316
  if (oldValue !== newValue) {
227
- memberName.toLowerCase();
317
+ let isProp = isMemberInElement(elm, memberName);
318
+ let ln = memberName.toLowerCase();
228
319
  if (memberName === 'class') {
229
320
  const classList = elm.classList;
230
321
  const oldClasses = parseClassList(oldValue);
@@ -232,6 +323,111 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
232
323
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
233
324
  classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
234
325
  }
326
+ else if (memberName === 'style') {
327
+ // update style attribute, css properties and values
328
+ {
329
+ for (const prop in oldValue) {
330
+ if (!newValue || newValue[prop] == null) {
331
+ if (prop.includes('-')) {
332
+ elm.style.removeProperty(prop);
333
+ }
334
+ else {
335
+ elm.style[prop] = '';
336
+ }
337
+ }
338
+ }
339
+ }
340
+ for (const prop in newValue) {
341
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
342
+ if (prop.includes('-')) {
343
+ elm.style.setProperty(prop, newValue[prop]);
344
+ }
345
+ else {
346
+ elm.style[prop] = newValue[prop];
347
+ }
348
+ }
349
+ }
350
+ }
351
+ else if (memberName === 'ref') {
352
+ // minifier will clean this up
353
+ if (newValue) {
354
+ newValue(elm);
355
+ }
356
+ }
357
+ else if ((!isProp ) &&
358
+ memberName[0] === 'o' &&
359
+ memberName[1] === 'n') {
360
+ // Event Handlers
361
+ // so if the member name starts with "on" and the 3rd characters is
362
+ // a capital letter, and it's not already a member on the element,
363
+ // then we're assuming it's an event listener
364
+ if (memberName[2] === '-') {
365
+ // on- prefixed events
366
+ // allows to be explicit about the dom event to listen without any magic
367
+ // under the hood:
368
+ // <my-cmp on-click> // listens for "click"
369
+ // <my-cmp on-Click> // listens for "Click"
370
+ // <my-cmp on-ionChange> // listens for "ionChange"
371
+ // <my-cmp on-EVENTS> // listens for "EVENTS"
372
+ memberName = memberName.slice(3);
373
+ }
374
+ else if (isMemberInElement(win, ln)) {
375
+ // standard event
376
+ // the JSX attribute could have been "onMouseOver" and the
377
+ // member name "onmouseover" is on the window's prototype
378
+ // so let's add the listener "mouseover", which is all lowercased
379
+ memberName = ln.slice(2);
380
+ }
381
+ else {
382
+ // custom event
383
+ // the JSX attribute could have been "onMyCustomEvent"
384
+ // so let's trim off the "on" prefix and lowercase the first character
385
+ // and add the listener "myCustomEvent"
386
+ // except for the first character, we keep the event name case
387
+ memberName = ln[2] + memberName.slice(3);
388
+ }
389
+ if (oldValue) {
390
+ plt.rel(elm, memberName, oldValue, false);
391
+ }
392
+ if (newValue) {
393
+ plt.ael(elm, memberName, newValue, false);
394
+ }
395
+ }
396
+ else {
397
+ // Set property if it exists and it's not a SVG
398
+ const isComplex = isComplexType(newValue);
399
+ if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
400
+ try {
401
+ if (!elm.tagName.includes('-')) {
402
+ const n = newValue == null ? '' : newValue;
403
+ // Workaround for Safari, moving the <input> caret when re-assigning the same valued
404
+ if (memberName === 'list') {
405
+ isProp = false;
406
+ }
407
+ else if (oldValue == null || elm[memberName] != n) {
408
+ elm[memberName] = n;
409
+ }
410
+ }
411
+ else {
412
+ elm[memberName] = newValue;
413
+ }
414
+ }
415
+ catch (e) { }
416
+ }
417
+ if (newValue == null || newValue === false) {
418
+ if (newValue !== false || elm.getAttribute(memberName) === '') {
419
+ {
420
+ elm.removeAttribute(memberName);
421
+ }
422
+ }
423
+ }
424
+ else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
425
+ newValue = newValue === true ? '' : newValue;
426
+ {
427
+ elm.setAttribute(memberName, newValue);
428
+ }
429
+ }
430
+ }
235
431
  }
236
432
  };
237
433
  const parseClassListRegex = /\s/;
@@ -249,13 +445,13 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
249
445
  // remove attributes no longer present on the vnode by setting them to undefined
250
446
  for (memberName in oldVnodeAttrs) {
251
447
  if (!(memberName in newVnodeAttrs)) {
252
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined);
448
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
253
449
  }
254
450
  }
255
451
  }
256
452
  // add new & update changed attributes
257
453
  for (memberName in newVnodeAttrs) {
258
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName]);
454
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
259
455
  }
260
456
  };
261
457
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
@@ -264,12 +460,39 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
264
460
  let i = 0;
265
461
  let elm;
266
462
  let childNode;
267
- {
463
+ let oldVNode;
464
+ if (!useNativeShadowDom) {
465
+ // remember for later we need to check to relocate nodes
466
+ checkSlotRelocate = true;
467
+ if (newVNode.$tag$ === 'slot') {
468
+ if (scopeId) {
469
+ // scoped css needs to add its scoped id to the parent element
470
+ parentElm.classList.add(scopeId + '-s');
471
+ }
472
+ newVNode.$flags$ |= newVNode.$children$
473
+ ? // slot element has fallback content
474
+ 2 /* isSlotFallback */
475
+ : // slot element does not have fallback content
476
+ 1 /* isSlotReference */;
477
+ }
478
+ }
479
+ if (newVNode.$text$ !== null) {
480
+ // create text node
481
+ elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
482
+ }
483
+ else if (newVNode.$flags$ & 1 /* isSlotReference */) {
484
+ // create a slot reference node
485
+ elm = newVNode.$elm$ =
486
+ doc.createTextNode('');
487
+ }
488
+ else {
268
489
  // create element
269
- elm = newVNode.$elm$ = (doc.createElement(newVNode.$tag$));
490
+ elm = newVNode.$elm$ = (doc.createElement(newVNode.$flags$ & 2 /* isSlotFallback */
491
+ ? 'slot-fb'
492
+ : newVNode.$tag$));
270
493
  // add css classes, attrs, props, listeners, etc.
271
494
  {
272
- updateElement(null, newVNode);
495
+ updateElement(null, newVNode, isSvgMode);
273
496
  }
274
497
  if (isDef(scopeId) && elm['s-si'] !== scopeId) {
275
498
  // if there is a scopeId and this is the initial render
@@ -279,7 +502,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
279
502
  if (newVNode.$children$) {
280
503
  for (i = 0; i < newVNode.$children$.length; ++i) {
281
504
  // create the node
282
- childNode = createElm(oldParentVNode, newVNode, i);
505
+ childNode = createElm(oldParentVNode, newVNode, i, elm);
283
506
  // return node could have been null
284
507
  if (childNode) {
285
508
  // append our new node
@@ -288,20 +511,62 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
288
511
  }
289
512
  }
290
513
  }
514
+ {
515
+ elm['s-hn'] = hostTagName;
516
+ if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
517
+ // remember the content reference comment
518
+ elm['s-sr'] = true;
519
+ // remember the content reference comment
520
+ elm['s-cr'] = contentRef;
521
+ // remember the slot name, or empty string for default slot
522
+ elm['s-sn'] = newVNode.$name$ || '';
523
+ // check if we've got an old vnode for this slot
524
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
525
+ if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
526
+ // we've got an old slot vnode and the wrapper is being replaced
527
+ // so let's move the old slot content back to it's original location
528
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
529
+ }
530
+ }
531
+ }
291
532
  return elm;
292
533
  };
534
+ const putBackInOriginalLocation = (parentElm, recursive) => {
535
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
536
+ const oldSlotChildNodes = parentElm.childNodes;
537
+ for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
538
+ const childNode = oldSlotChildNodes[i];
539
+ if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
540
+ // // this child node in the old element is from another component
541
+ // // remove this node from the old slot's parent
542
+ // childNode.remove();
543
+ // and relocate it back to it's original location
544
+ parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
545
+ // remove the old original location comment entirely
546
+ // later on the patch function will know what to do
547
+ // and move this to the correct spot in need be
548
+ childNode['s-ol'].remove();
549
+ childNode['s-ol'] = undefined;
550
+ checkSlotRelocate = true;
551
+ }
552
+ if (recursive) {
553
+ putBackInOriginalLocation(childNode, recursive);
554
+ }
555
+ }
556
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
557
+ };
293
558
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
294
- let containerElm = (parentElm);
559
+ let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
295
560
  let childNode;
296
561
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
297
562
  containerElm = containerElm.shadowRoot;
298
563
  }
299
564
  for (; startIdx <= endIdx; ++startIdx) {
300
565
  if (vnodes[startIdx]) {
301
- childNode = createElm(null, parentVNode, startIdx);
566
+ childNode = createElm(null, parentVNode, startIdx, parentElm);
302
567
  if (childNode) {
303
568
  vnodes[startIdx].$elm$ = childNode;
304
- containerElm.insertBefore(childNode, before);
569
+ containerElm.insertBefore(childNode, referenceNode(before) );
305
570
  }
306
571
  }
307
572
  }
@@ -310,6 +575,21 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
310
575
  for (; startIdx <= endIdx; ++startIdx) {
311
576
  if ((vnode = vnodes[startIdx])) {
312
577
  elm = vnode.$elm$;
578
+ callNodeRefs(vnode);
579
+ {
580
+ // we're removing this element
581
+ // so it's possible we need to show slot fallback content now
582
+ checkSlotFallbackVisibility = true;
583
+ if (elm['s-ol']) {
584
+ // remove the original location comment
585
+ elm['s-ol'].remove();
586
+ }
587
+ else {
588
+ // it's possible that child nodes of the node
589
+ // that's being removed are slot nodes
590
+ putBackInOriginalLocation(elm, true);
591
+ }
592
+ }
313
593
  // remove the vnode's element from the dom
314
594
  elm.remove();
315
595
  }
@@ -350,12 +630,20 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
350
630
  newEndVnode = newCh[--newEndIdx];
351
631
  }
352
632
  else if (isSameVnode(oldStartVnode, newEndVnode)) {
633
+ // Vnode moved right
634
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
635
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
636
+ }
353
637
  patch(oldStartVnode, newEndVnode);
354
638
  parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
355
639
  oldStartVnode = oldCh[++oldStartIdx];
356
640
  newEndVnode = newCh[--newEndIdx];
357
641
  }
358
642
  else if (isSameVnode(oldEndVnode, newStartVnode)) {
643
+ // Vnode moved left
644
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
645
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
646
+ }
359
647
  patch(oldEndVnode, newStartVnode);
360
648
  parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
361
649
  oldEndVnode = oldCh[--oldEndIdx];
@@ -364,12 +652,12 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
364
652
  else {
365
653
  {
366
654
  // new element
367
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
655
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
368
656
  newStartVnode = newCh[++newStartIdx];
369
657
  }
370
658
  if (node) {
371
659
  {
372
- oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
660
+ parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
373
661
  }
374
662
  }
375
663
  }
@@ -385,16 +673,29 @@ const isSameVnode = (vnode1, vnode2) => {
385
673
  // compare if two vnode to see if they're "technically" the same
386
674
  // need to have the same element tag, and same key to be the same
387
675
  if (vnode1.$tag$ === vnode2.$tag$) {
676
+ if (vnode1.$tag$ === 'slot') {
677
+ return vnode1.$name$ === vnode2.$name$;
678
+ }
388
679
  return true;
389
680
  }
390
681
  return false;
391
682
  };
683
+ const referenceNode = (node) => {
684
+ // this node was relocated to a new location in the dom
685
+ // because of some other component's slot
686
+ // but we still have an html comment in place of where
687
+ // it's original location was according to it's original vdom
688
+ return (node && node['s-ol']) || node;
689
+ };
690
+ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
392
691
  const patch = (oldVNode, newVNode) => {
393
692
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
394
693
  const oldChildren = oldVNode.$children$;
395
694
  const newChildren = newVNode.$children$;
396
695
  const tag = newVNode.$tag$;
397
- {
696
+ const text = newVNode.$text$;
697
+ let defaultHolder;
698
+ if (text === null) {
398
699
  // element node
399
700
  {
400
701
  if (tag === 'slot')
@@ -403,7 +704,7 @@ const patch = (oldVNode, newVNode) => {
403
704
  // either this is the first render of an element OR it's an update
404
705
  // AND we already know it's possible it could have changed
405
706
  // this updates the element's css classes, attrs, props, listeners, etc.
406
- updateElement(oldVNode, newVNode);
707
+ updateElement(oldVNode, newVNode, isSvgMode);
407
708
  }
408
709
  }
409
710
  if (oldChildren !== null && newChildren !== null) {
@@ -411,6 +712,11 @@ const patch = (oldVNode, newVNode) => {
411
712
  updateChildren(elm, oldChildren, newVNode, newChildren);
412
713
  }
413
714
  else if (newChildren !== null) {
715
+ // no old child vnodes, but there are new child vnodes to add
716
+ if (oldVNode.$text$ !== null) {
717
+ // the old vnode was text, so be sure to clear it out
718
+ elm.textContent = '';
719
+ }
414
720
  // add the new vnode children
415
721
  addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
416
722
  }
@@ -419,12 +725,163 @@ const patch = (oldVNode, newVNode) => {
419
725
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
420
726
  }
421
727
  }
728
+ else if ((defaultHolder = elm['s-cr'])) {
729
+ // this element has slotted content
730
+ defaultHolder.parentNode.textContent = text;
731
+ }
732
+ else if (oldVNode.$text$ !== text) {
733
+ // update the text content for the text only vnode
734
+ // and also only if the text is different than before
735
+ elm.data = text;
736
+ }
737
+ };
738
+ const updateFallbackSlotVisibility = (elm) => {
739
+ // tslint:disable-next-line: prefer-const
740
+ const childNodes = elm.childNodes;
741
+ let childNode;
742
+ let i;
743
+ let ilen;
744
+ let j;
745
+ let slotNameAttr;
746
+ let nodeType;
747
+ for (i = 0, ilen = childNodes.length; i < ilen; i++) {
748
+ childNode = childNodes[i];
749
+ if (childNode.nodeType === 1 /* ElementNode */) {
750
+ if (childNode['s-sr']) {
751
+ // this is a slot fallback node
752
+ // get the slot name for this slot reference node
753
+ slotNameAttr = childNode['s-sn'];
754
+ // by default always show a fallback slot node
755
+ // then hide it if there are other slots in the light dom
756
+ childNode.hidden = false;
757
+ for (j = 0; j < ilen; j++) {
758
+ nodeType = childNodes[j].nodeType;
759
+ if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
760
+ // this sibling node is from a different component OR is a named fallback slot node
761
+ if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
762
+ childNode.hidden = true;
763
+ break;
764
+ }
765
+ }
766
+ else {
767
+ // this is a default fallback slot node
768
+ // any element or text node (with content)
769
+ // should hide the default fallback slot node
770
+ if (nodeType === 1 /* ElementNode */ ||
771
+ (nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) {
772
+ childNode.hidden = true;
773
+ break;
774
+ }
775
+ }
776
+ }
777
+ }
778
+ // keep drilling down
779
+ updateFallbackSlotVisibility(childNode);
780
+ }
781
+ }
782
+ };
783
+ const relocateNodes = [];
784
+ const relocateSlotContent = (elm) => {
785
+ // tslint:disable-next-line: prefer-const
786
+ let childNode;
787
+ let node;
788
+ let hostContentNodes;
789
+ let slotNameAttr;
790
+ let relocateNodeData;
791
+ let j;
792
+ let i = 0;
793
+ const childNodes = elm.childNodes;
794
+ const ilen = childNodes.length;
795
+ for (; i < ilen; i++) {
796
+ childNode = childNodes[i];
797
+ if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
798
+ // first got the content reference comment node
799
+ // then we got it's parent, which is where all the host content is in now
800
+ hostContentNodes = node.parentNode.childNodes;
801
+ slotNameAttr = childNode['s-sn'];
802
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
803
+ node = hostContentNodes[j];
804
+ if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
805
+ // let's do some relocating to its new home
806
+ // but never relocate a content reference node
807
+ // that is suppose to always represent the original content location
808
+ if (isNodeLocatedInSlot(node, slotNameAttr)) {
809
+ // it's possible we've already decided to relocate this node
810
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
811
+ // made some changes to slots
812
+ // let's make sure we also double check
813
+ // fallbacks are correctly hidden or shown
814
+ checkSlotFallbackVisibility = true;
815
+ node['s-sn'] = node['s-sn'] || slotNameAttr;
816
+ if (relocateNodeData) {
817
+ // previously we never found a slot home for this node
818
+ // but turns out we did, so let's remember it now
819
+ relocateNodeData.$slotRefNode$ = childNode;
820
+ }
821
+ else {
822
+ // add to our list of nodes to relocate
823
+ relocateNodes.push({
824
+ $slotRefNode$: childNode,
825
+ $nodeToRelocate$: node,
826
+ });
827
+ }
828
+ if (node['s-sr']) {
829
+ relocateNodes.map((relocateNode) => {
830
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
831
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
832
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
833
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
834
+ }
835
+ }
836
+ });
837
+ }
838
+ }
839
+ else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
840
+ // so far this element does not have a slot home, not setting slotRefNode on purpose
841
+ // if we never find a home for this element then we'll need to hide it
842
+ relocateNodes.push({
843
+ $nodeToRelocate$: node,
844
+ });
845
+ }
846
+ }
847
+ }
848
+ }
849
+ if (childNode.nodeType === 1 /* ElementNode */) {
850
+ relocateSlotContent(childNode);
851
+ }
852
+ }
853
+ };
854
+ const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
855
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
856
+ if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
857
+ return true;
858
+ }
859
+ if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
860
+ return true;
861
+ }
862
+ return false;
863
+ }
864
+ if (nodeToRelocate['s-sn'] === slotNameAttr) {
865
+ return true;
866
+ }
867
+ return slotNameAttr === '';
868
+ };
869
+ const callNodeRefs = (vNode) => {
870
+ {
871
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
872
+ vNode.$children$ && vNode.$children$.map(callNodeRefs);
873
+ }
422
874
  };
423
875
  const renderVdom = (hostRef, renderFnResults) => {
424
876
  const hostElm = hostRef.$hostElement$;
877
+ const cmpMeta = hostRef.$cmpMeta$;
425
878
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
426
879
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
427
880
  hostTagName = hostElm.tagName;
881
+ if (cmpMeta.$attrsToReflect$) {
882
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
883
+ cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
884
+ }
428
885
  rootVnode.$tag$ = null;
429
886
  rootVnode.$flags$ |= 4 /* isHost */;
430
887
  hostRef.$vnode$ = rootVnode;
@@ -432,8 +889,104 @@ const renderVdom = (hostRef, renderFnResults) => {
432
889
  {
433
890
  scopeId = hostElm['s-sc'];
434
891
  }
892
+ {
893
+ contentRef = hostElm['s-cr'];
894
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
895
+ // always reset
896
+ checkSlotFallbackVisibility = false;
897
+ }
435
898
  // synchronous patch
436
899
  patch(oldVNode, rootVnode);
900
+ {
901
+ // while we're moving nodes around existing nodes, temporarily disable
902
+ // the disconnectCallback from working
903
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
904
+ if (checkSlotRelocate) {
905
+ relocateSlotContent(rootVnode.$elm$);
906
+ let relocateData;
907
+ let nodeToRelocate;
908
+ let orgLocationNode;
909
+ let parentNodeRef;
910
+ let insertBeforeNode;
911
+ let refNode;
912
+ let i = 0;
913
+ for (; i < relocateNodes.length; i++) {
914
+ relocateData = relocateNodes[i];
915
+ nodeToRelocate = relocateData.$nodeToRelocate$;
916
+ if (!nodeToRelocate['s-ol']) {
917
+ // add a reference node marking this node's original location
918
+ // keep a reference to this node for later lookups
919
+ orgLocationNode =
920
+ doc.createTextNode('');
921
+ orgLocationNode['s-nr'] = nodeToRelocate;
922
+ nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
923
+ }
924
+ }
925
+ for (i = 0; i < relocateNodes.length; i++) {
926
+ relocateData = relocateNodes[i];
927
+ nodeToRelocate = relocateData.$nodeToRelocate$;
928
+ if (relocateData.$slotRefNode$) {
929
+ // by default we're just going to insert it directly
930
+ // after the slot reference node
931
+ parentNodeRef = relocateData.$slotRefNode$.parentNode;
932
+ insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
933
+ orgLocationNode = nodeToRelocate['s-ol'];
934
+ while ((orgLocationNode = orgLocationNode.previousSibling)) {
935
+ refNode = orgLocationNode['s-nr'];
936
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
937
+ refNode = refNode.nextSibling;
938
+ if (!refNode || !refNode['s-nr']) {
939
+ insertBeforeNode = refNode;
940
+ break;
941
+ }
942
+ }
943
+ }
944
+ if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
945
+ nodeToRelocate.nextSibling !== insertBeforeNode) {
946
+ // we've checked that it's worth while to relocate
947
+ // since that the node to relocate
948
+ // has a different next sibling or parent relocated
949
+ if (nodeToRelocate !== insertBeforeNode) {
950
+ if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
951
+ // probably a component in the index.html that doesn't have it's hostname set
952
+ nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
953
+ }
954
+ // add it back to the dom but in its new home
955
+ parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
956
+ }
957
+ }
958
+ }
959
+ else {
960
+ // this node doesn't have a slot home to go to, so let's hide it
961
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
962
+ nodeToRelocate.hidden = true;
963
+ }
964
+ }
965
+ }
966
+ }
967
+ if (checkSlotFallbackVisibility) {
968
+ updateFallbackSlotVisibility(rootVnode.$elm$);
969
+ }
970
+ // done moving nodes around
971
+ // allow the disconnect callback to work again
972
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
973
+ // always reset
974
+ relocateNodes.length = 0;
975
+ }
976
+ };
977
+ const getElement = (ref) => (getHostRef(ref).$hostElement$ );
978
+ const createEvent = (ref, name, flags) => {
979
+ const elm = getElement(ref);
980
+ return {
981
+ emit: (detail) => {
982
+ return emitEvent(elm, name, {
983
+ bubbles: !!(flags & 4 /* Bubbles */),
984
+ composed: !!(flags & 2 /* Composed */),
985
+ cancelable: !!(flags & 1 /* Cancellable */),
986
+ detail,
987
+ });
988
+ },
989
+ };
437
990
  };
438
991
  /**
439
992
  * Helper function to create & dispatch a custom Event on a provided target
@@ -471,6 +1024,21 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
471
1024
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
472
1025
  const instance = hostRef.$lazyInstance$ ;
473
1026
  let promise;
1027
+ if (isInitialLoad) {
1028
+ {
1029
+ hostRef.$flags$ |= 256 /* isListenReady */;
1030
+ if (hostRef.$queuedListeners$) {
1031
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1032
+ hostRef.$queuedListeners$ = null;
1033
+ }
1034
+ }
1035
+ {
1036
+ promise = safeCall(instance, 'componentWillLoad');
1037
+ }
1038
+ }
1039
+ {
1040
+ promise = then(promise, () => safeCall(instance, 'componentWillRender'));
1041
+ }
474
1042
  endSchedule();
475
1043
  return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
476
1044
  };
@@ -538,6 +1106,7 @@ const postUpdateComponent = (hostRef) => {
538
1106
  const tagName = hostRef.$cmpMeta$.$tagName$;
539
1107
  const elm = hostRef.$hostElement$;
540
1108
  const endPostUpdate = createTime('postUpdate', tagName);
1109
+ const instance = hostRef.$lazyInstance$ ;
541
1110
  const ancestorComponent = hostRef.$ancestorComponent$;
542
1111
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
543
1112
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
@@ -545,6 +1114,9 @@ const postUpdateComponent = (hostRef) => {
545
1114
  // DOM WRITE!
546
1115
  addHydratedFlag(elm);
547
1116
  }
1117
+ {
1118
+ safeCall(instance, 'componentDidLoad');
1119
+ }
548
1120
  endPostUpdate();
549
1121
  {
550
1122
  hostRef.$onReadyResolve$(elm);
@@ -580,6 +1152,17 @@ const appDidLoad = (who) => {
580
1152
  }
581
1153
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
582
1154
  };
1155
+ const safeCall = (instance, method, arg) => {
1156
+ if (instance && instance[method]) {
1157
+ try {
1158
+ return instance[method](arg);
1159
+ }
1160
+ catch (e) {
1161
+ consoleError(e);
1162
+ }
1163
+ }
1164
+ return undefined;
1165
+ };
583
1166
  const then = (promise, thenFn) => {
584
1167
  return promise && promise.then ? promise.then(thenFn) : thenFn();
585
1168
  };
@@ -611,6 +1194,15 @@ const addHydratedFlag = (elm) => elm.classList.add('hydrated')
611
1194
  const parsePropertyValue = (propValue, propType) => {
612
1195
  // ensure this value is of the correct prop type
613
1196
  if (propValue != null && !isComplexType(propValue)) {
1197
+ if (propType & 4 /* Boolean */) {
1198
+ // per the HTML spec, any string value means it is a boolean true value
1199
+ // but we'll cheat here and say that the string "false" is the boolean false
1200
+ return propValue === 'false' ? false : propValue === '' || !!propValue;
1201
+ }
1202
+ if (propType & 2 /* Number */) {
1203
+ // force it to be a number
1204
+ return parseFloat(propValue);
1205
+ }
614
1206
  if (propType & 1 /* String */) {
615
1207
  // could have been passed as a number or boolean
616
1208
  // but we still want it as a string
@@ -627,6 +1219,7 @@ const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propNam
627
1219
  const setValue = (ref, propName, newVal, cmpMeta) => {
628
1220
  // check our new property value against our internal value
629
1221
  const hostRef = getHostRef(ref);
1222
+ const elm = hostRef.$hostElement$ ;
630
1223
  const oldVal = hostRef.$instanceValues$.get(propName);
631
1224
  const flags = hostRef.$flags$;
632
1225
  const instance = hostRef.$lazyInstance$ ;
@@ -639,7 +1232,28 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
639
1232
  // set our new value!
640
1233
  hostRef.$instanceValues$.set(propName, newVal);
641
1234
  if (instance) {
1235
+ // get an array of method names of watch functions to call
1236
+ if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
1237
+ const watchMethods = cmpMeta.$watchers$[propName];
1238
+ if (watchMethods) {
1239
+ // this instance is watching for when this property changed
1240
+ watchMethods.map((watchMethodName) => {
1241
+ try {
1242
+ // fire off each of the watch methods that are watching this property
1243
+ instance[watchMethodName](newVal, oldVal, propName);
1244
+ }
1245
+ catch (e) {
1246
+ consoleError(e, elm);
1247
+ }
1248
+ });
1249
+ }
1250
+ }
642
1251
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1252
+ if (instance.componentShouldUpdate) {
1253
+ if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
1254
+ return;
1255
+ }
1256
+ }
643
1257
  // looks like this value actually changed, so we've got work to do!
644
1258
  // but only if we've already rendered, otherwise just chill out
645
1259
  // queue that we need to do an update, but don't worry about queuing
@@ -651,6 +1265,9 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
651
1265
  };
652
1266
  const proxyComponent = (Cstr, cmpMeta, flags) => {
653
1267
  if (cmpMeta.$members$) {
1268
+ if (Cstr.watchers) {
1269
+ cmpMeta.$watchers$ = Cstr.watchers;
1270
+ }
654
1271
  // It's better to have a const than two Object.entries()
655
1272
  const members = Object.entries(cmpMeta.$members$);
656
1273
  const prototype = Cstr.prototype;
@@ -732,6 +1349,9 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
732
1349
  .map(([propName, m]) => {
733
1350
  const attrName = m[1] || propName;
734
1351
  attrNameToPropName.set(attrName, propName);
1352
+ if (m[0] & 512 /* ReflectAttr */) {
1353
+ cmpMeta.$attrsToReflect$.push([propName, attrName]);
1354
+ }
735
1355
  return attrName;
736
1356
  });
737
1357
  }
@@ -755,6 +1375,12 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
755
1375
  endLoad();
756
1376
  }
757
1377
  if (!Cstr.isProxied) {
1378
+ // we've never proxied this Constructor before
1379
+ // let's add the getters/setters to its prototype before
1380
+ // the first time we create an instance of the implementation
1381
+ {
1382
+ cmpMeta.$watchers$ = Cstr.watchers;
1383
+ }
758
1384
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
759
1385
  Cstr.isProxied = true;
760
1386
  }
@@ -778,6 +1404,9 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
778
1404
  {
779
1405
  hostRef.$flags$ &= ~8 /* isConstructingInstance */;
780
1406
  }
1407
+ {
1408
+ hostRef.$flags$ |= 128 /* isWatchReady */;
1409
+ }
781
1410
  endNewInstance();
782
1411
  }
783
1412
  if (Cstr.style) {
@@ -815,6 +1444,15 @@ const connectedCallback = (elm) => {
815
1444
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
816
1445
  // first time this component has connected
817
1446
  hostRef.$flags$ |= 1 /* hasConnected */;
1447
+ {
1448
+ // initUpdate
1449
+ // if the slot polyfill is required we'll need to put some nodes
1450
+ // in here to act as original content anchors as we move nodes around
1451
+ // host element has been connected to the DOM
1452
+ if ((cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {
1453
+ setContentReference(elm);
1454
+ }
1455
+ }
818
1456
  {
819
1457
  // find the first ancestor component (if there is one) and register
820
1458
  // this component as one of the actively loading child components for its ancestor
@@ -845,12 +1483,39 @@ const connectedCallback = (elm) => {
845
1483
  initializeComponent(elm, hostRef, cmpMeta);
846
1484
  }
847
1485
  }
1486
+ else {
1487
+ // not the first time this has connected
1488
+ // reattach any event listeners to the host
1489
+ // since they would have been removed when disconnected
1490
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1491
+ }
848
1492
  endConnected();
849
1493
  }
850
1494
  };
1495
+ const setContentReference = (elm) => {
1496
+ // only required when we're NOT using native shadow dom (slot)
1497
+ // or this browser doesn't support native shadow dom
1498
+ // and this host element was NOT created with SSR
1499
+ // let's pick out the inner content for slot projection
1500
+ // create a node to represent where the original
1501
+ // content was first placed, which is useful later on
1502
+ const contentRefElm = (elm['s-cr'] = doc.createComment(''));
1503
+ contentRefElm['s-cn'] = true;
1504
+ elm.insertBefore(contentRefElm, elm.firstChild);
1505
+ };
851
1506
  const disconnectedCallback = (elm) => {
852
1507
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
853
- getHostRef(elm);
1508
+ const hostRef = getHostRef(elm);
1509
+ const instance = hostRef.$lazyInstance$ ;
1510
+ {
1511
+ if (hostRef.$rmListeners$) {
1512
+ hostRef.$rmListeners$.map((rmListener) => rmListener());
1513
+ hostRef.$rmListeners$ = undefined;
1514
+ }
1515
+ }
1516
+ {
1517
+ safeCall(instance, 'disconnectedCallback');
1518
+ }
854
1519
  }
855
1520
  };
856
1521
  const bootstrapLazy = (lazyBundles, options = {}) => {
@@ -877,6 +1542,15 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
877
1542
  {
878
1543
  cmpMeta.$members$ = compactMeta[2];
879
1544
  }
1545
+ {
1546
+ cmpMeta.$listeners$ = compactMeta[3];
1547
+ }
1548
+ {
1549
+ cmpMeta.$attrsToReflect$ = [];
1550
+ }
1551
+ {
1552
+ cmpMeta.$watchers$ = {};
1553
+ }
880
1554
  const tagName = cmpMeta.$tagName$;
881
1555
  const HostElement = class extends HTMLElement {
882
1556
  // StencilLazyHost
@@ -957,8 +1631,10 @@ const registerHost = (elm, cmpMeta) => {
957
1631
  elm['s-p'] = [];
958
1632
  elm['s-rc'] = [];
959
1633
  }
1634
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
960
1635
  return hostRefs.set(elm, hostRef);
961
1636
  };
1637
+ const isMemberInElement = (elm, memberName) => memberName in elm;
962
1638
  const consoleError = (e, el) => (0, console.error)(e, el);
963
1639
  const cmpModules = /*@__PURE__*/ new Map();
964
1640
  const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
@@ -969,7 +1645,152 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
969
1645
  if (module) {
970
1646
  return module[exportName];
971
1647
  }
972
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
1648
+
1649
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1650
+ const processMod = importedModule => {
1651
+ cmpModules.set(bundleId, importedModule);
1652
+ return importedModule[exportName];
1653
+ }
1654
+ switch(bundleId) {
1655
+
1656
+ case 'p-button_3.cjs':
1657
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1658
+ /* webpackMode: "lazy" */
1659
+ './p-button_3.cjs.entry.js')); }).then(processMod, consoleError);
1660
+ case 'p-accordion.cjs':
1661
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1662
+ /* webpackMode: "lazy" */
1663
+ './p-accordion.cjs.entry.js')); }).then(processMod, consoleError);
1664
+ case 'p-avatar-group.cjs':
1665
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1666
+ /* webpackMode: "lazy" */
1667
+ './p-avatar-group.cjs.entry.js')); }).then(processMod, consoleError);
1668
+ case 'p-card-body.cjs':
1669
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1670
+ /* webpackMode: "lazy" */
1671
+ './p-card-body.cjs.entry.js')); }).then(processMod, consoleError);
1672
+ case 'p-card-container.cjs':
1673
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1674
+ /* webpackMode: "lazy" */
1675
+ './p-card-container.cjs.entry.js')); }).then(processMod, consoleError);
1676
+ case 'p-card-header.cjs':
1677
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1678
+ /* webpackMode: "lazy" */
1679
+ './p-card-header.cjs.entry.js')); }).then(processMod, consoleError);
1680
+ case 'p-content-slider.cjs':
1681
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1682
+ /* webpackMode: "lazy" */
1683
+ './p-content-slider.cjs.entry.js')); }).then(processMod, consoleError);
1684
+ case 'p-dropdown-menu-item.cjs':
1685
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1686
+ /* webpackMode: "lazy" */
1687
+ './p-dropdown-menu-item.cjs.entry.js')); }).then(processMod, consoleError);
1688
+ case 'p-illustration.cjs':
1689
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1690
+ /* webpackMode: "lazy" */
1691
+ './p-illustration.cjs.entry.js')); }).then(processMod, consoleError);
1692
+ case 'p-info-panel.cjs':
1693
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1694
+ /* webpackMode: "lazy" */
1695
+ './p-info-panel.cjs.entry.js')); }).then(processMod, consoleError);
1696
+ case 'p-input-group.cjs':
1697
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1698
+ /* webpackMode: "lazy" */
1699
+ './p-input-group.cjs.entry.js')); }).then(processMod, consoleError);
1700
+ case 'p-layout.cjs':
1701
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1702
+ /* webpackMode: "lazy" */
1703
+ './p-layout.cjs.entry.js')); }).then(processMod, consoleError);
1704
+ case 'p-modal.cjs':
1705
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1706
+ /* webpackMode: "lazy" */
1707
+ './p-modal.cjs.entry.js')); }).then(processMod, consoleError);
1708
+ case 'p-navbar.cjs':
1709
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1710
+ /* webpackMode: "lazy" */
1711
+ './p-navbar.cjs.entry.js')); }).then(processMod, consoleError);
1712
+ case 'p-navigation-item.cjs':
1713
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1714
+ /* webpackMode: "lazy" */
1715
+ './p-navigation-item.cjs.entry.js')); }).then(processMod, consoleError);
1716
+ case 'p-pagination.cjs':
1717
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1718
+ /* webpackMode: "lazy" */
1719
+ './p-pagination.cjs.entry.js')); }).then(processMod, consoleError);
1720
+ case 'p-profile.cjs':
1721
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1722
+ /* webpackMode: "lazy" */
1723
+ './p-profile.cjs.entry.js')); }).then(processMod, consoleError);
1724
+ case 'p-segment-container.cjs':
1725
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1726
+ /* webpackMode: "lazy" */
1727
+ './p-segment-container.cjs.entry.js')); }).then(processMod, consoleError);
1728
+ case 'p-segment-item.cjs':
1729
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1730
+ /* webpackMode: "lazy" */
1731
+ './p-segment-item.cjs.entry.js')); }).then(processMod, consoleError);
1732
+ case 'p-status.cjs':
1733
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1734
+ /* webpackMode: "lazy" */
1735
+ './p-status.cjs.entry.js')); }).then(processMod, consoleError);
1736
+ case 'p-stepper.cjs':
1737
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1738
+ /* webpackMode: "lazy" */
1739
+ './p-stepper.cjs.entry.js')); }).then(processMod, consoleError);
1740
+ case 'p-tab-group.cjs':
1741
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1742
+ /* webpackMode: "lazy" */
1743
+ './p-tab-group.cjs.entry.js')); }).then(processMod, consoleError);
1744
+ case 'p-tab-item.cjs':
1745
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1746
+ /* webpackMode: "lazy" */
1747
+ './p-tab-item.cjs.entry.js')); }).then(processMod, consoleError);
1748
+ case 'p-tag.cjs':
1749
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1750
+ /* webpackMode: "lazy" */
1751
+ './p-tag.cjs.entry.js')); }).then(processMod, consoleError);
1752
+ case 'p-avatar_2.cjs':
1753
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1754
+ /* webpackMode: "lazy" */
1755
+ './p-avatar_2.cjs.entry.js')); }).then(processMod, consoleError);
1756
+ case 'p-counter.cjs':
1757
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1758
+ /* webpackMode: "lazy" */
1759
+ './p-counter.cjs.entry.js')); }).then(processMod, consoleError);
1760
+ case 'p-helper.cjs':
1761
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1762
+ /* webpackMode: "lazy" */
1763
+ './p-helper.cjs.entry.js')); }).then(processMod, consoleError);
1764
+ case 'p-modal-backdrop_5.cjs':
1765
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1766
+ /* webpackMode: "lazy" */
1767
+ './p-modal-backdrop_5.cjs.entry.js')); }).then(processMod, consoleError);
1768
+ case 'p-pagination-item.cjs':
1769
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1770
+ /* webpackMode: "lazy" */
1771
+ './p-pagination-item.cjs.entry.js')); }).then(processMod, consoleError);
1772
+ case 'p-slider-indicator.cjs':
1773
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1774
+ /* webpackMode: "lazy" */
1775
+ './p-slider-indicator.cjs.entry.js')); }).then(processMod, consoleError);
1776
+ case 'p-stepper-item_2.cjs':
1777
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1778
+ /* webpackMode: "lazy" */
1779
+ './p-stepper-item_2.cjs.entry.js')); }).then(processMod, consoleError);
1780
+ case 'p-dropdown-menu-container.cjs':
1781
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1782
+ /* webpackMode: "lazy" */
1783
+ './p-dropdown-menu-container.cjs.entry.js')); }).then(processMod, consoleError);
1784
+ case 'p-tooltip.cjs':
1785
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1786
+ /* webpackMode: "lazy" */
1787
+ './p-tooltip.cjs.entry.js')); }).then(processMod, consoleError);
1788
+ case 'p-divider.cjs':
1789
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1790
+ /* webpackMode: "lazy" */
1791
+ './p-divider.cjs.entry.js')); }).then(processMod, consoleError);
1792
+ }
1793
+ }
973
1794
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
974
1795
  /* @vite-ignore */
975
1796
  /* webpackInclude: /\.entry\.js$/ */
@@ -1026,7 +1847,10 @@ const flush = () => {
1026
1847
  const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
1027
1848
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1028
1849
 
1850
+ exports.Host = Host;
1029
1851
  exports.bootstrapLazy = bootstrapLazy;
1852
+ exports.createEvent = createEvent;
1853
+ exports.getElement = getElement;
1030
1854
  exports.h = h;
1031
1855
  exports.promiseResolve = promiseResolve;
1032
1856
  exports.registerInstance = registerInstance;