@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
@@ -1,7 +1,12 @@
1
1
  const NAMESPACE = 'paperless';
2
2
 
3
3
  let scopeId;
4
+ let contentRef;
4
5
  let hostTagName;
6
+ let useNativeShadowDom = false;
7
+ let checkSlotFallbackVisibility = false;
8
+ let checkSlotRelocate = false;
9
+ let isSvgMode = false;
5
10
  let queuePending = false;
6
11
  const win = typeof window !== 'undefined' ? window : {};
7
12
  const doc = win.document || { head: {} };
@@ -15,15 +20,51 @@ const plt = {
15
20
  ce: (eventName, opts) => new CustomEvent(eventName, opts),
16
21
  };
17
22
  const promiseResolve = (v) => Promise.resolve(v);
18
- const supportsConstructibleStylesheets = /*@__PURE__*/ (() => {
23
+ const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
19
24
  try {
20
25
  new CSSStyleSheet();
21
- return typeof new CSSStyleSheet().replace === 'function';
26
+ return typeof new CSSStyleSheet().replaceSync === 'function';
22
27
  }
23
28
  catch (e) { }
24
29
  return false;
25
30
  })()
26
31
  ;
32
+ const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
33
+ if (listeners) {
34
+ listeners.map(([flags, name, method]) => {
35
+ const target = getHostListenerTarget(elm, flags) ;
36
+ const handler = hostListenerProxy(hostRef, method);
37
+ const opts = hostListenerOpts(flags);
38
+ plt.ael(target, name, handler, opts);
39
+ (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
40
+ });
41
+ }
42
+ };
43
+ const hostListenerProxy = (hostRef, methodName) => (ev) => {
44
+ try {
45
+ {
46
+ if (hostRef.$flags$ & 256 /* isListenReady */) {
47
+ // instance is ready, let's call it's member method for this event
48
+ hostRef.$lazyInstance$[methodName](ev);
49
+ }
50
+ else {
51
+ (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
52
+ }
53
+ }
54
+ }
55
+ catch (e) {
56
+ consoleError(e);
57
+ }
58
+ };
59
+ const getHostListenerTarget = (elm, flags) => {
60
+ if (flags & 4 /* TargetDocument */)
61
+ return doc;
62
+ if (flags & 8 /* TargetWindow */)
63
+ return win;
64
+ return elm;
65
+ };
66
+ // prettier-ignore
67
+ const hostListenerOpts = (flags) => (flags & 2 /* Capture */) !== 0;
27
68
  const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
28
69
  const createTime = (fnName, tagName = '') => {
29
70
  {
@@ -42,9 +83,14 @@ const uniqueTime = (key, measureText) => {
42
83
  const rootAppliedStyles = new WeakMap();
43
84
  const registerStyle = (scopeId, cssText, allowCS) => {
44
85
  let style = styles.get(scopeId);
45
- if (supportsConstructibleStylesheets && allowCS) {
86
+ if (supportsConstructableStylesheets && allowCS) {
46
87
  style = (style || new CSSStyleSheet());
47
- style.replace(cssText);
88
+ if (typeof style === 'string') {
89
+ style = cssText;
90
+ }
91
+ else {
92
+ style.replaceSync(cssText);
93
+ }
48
94
  }
49
95
  else {
50
96
  style = cssText;
@@ -131,6 +177,7 @@ const isComplexType = (o) => {
131
177
  // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
132
178
  const h = (nodeName, vnodeData, ...children) => {
133
179
  let child = null;
180
+ let slotName = null;
134
181
  let simple = false;
135
182
  let lastSimple = false;
136
183
  const vNodeChildren = [];
@@ -158,6 +205,9 @@ const h = (nodeName, vnodeData, ...children) => {
158
205
  };
159
206
  walk(children);
160
207
  if (vnodeData) {
208
+ if (vnodeData.name) {
209
+ slotName = vnodeData.name;
210
+ }
161
211
  {
162
212
  const classData = vnodeData.className || vnodeData.class;
163
213
  if (classData) {
@@ -170,11 +220,18 @@ const h = (nodeName, vnodeData, ...children) => {
170
220
  }
171
221
  }
172
222
  }
223
+ if (typeof nodeName === 'function') {
224
+ // nodeName is a functional component
225
+ return nodeName(vnodeData === null ? {} : vnodeData, vNodeChildren, vdomFnUtils);
226
+ }
173
227
  const vnode = newVNode(nodeName, null);
174
228
  vnode.$attrs$ = vnodeData;
175
229
  if (vNodeChildren.length > 0) {
176
230
  vnode.$children$ = vNodeChildren;
177
231
  }
232
+ {
233
+ vnode.$name$ = slotName;
234
+ }
178
235
  return vnode;
179
236
  };
180
237
  const newVNode = (tag, text) => {
@@ -188,10 +245,43 @@ const newVNode = (tag, text) => {
188
245
  {
189
246
  vnode.$attrs$ = null;
190
247
  }
248
+ {
249
+ vnode.$name$ = null;
250
+ }
191
251
  return vnode;
192
252
  };
193
253
  const Host = {};
194
254
  const isHost = (node) => node && node.$tag$ === Host;
255
+ const vdomFnUtils = {
256
+ forEach: (children, cb) => children.map(convertToPublic).forEach(cb),
257
+ map: (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate),
258
+ };
259
+ const convertToPublic = (node) => ({
260
+ vattrs: node.$attrs$,
261
+ vchildren: node.$children$,
262
+ vkey: node.$key$,
263
+ vname: node.$name$,
264
+ vtag: node.$tag$,
265
+ vtext: node.$text$,
266
+ });
267
+ const convertToPrivate = (node) => {
268
+ if (typeof node.vtag === 'function') {
269
+ const vnodeData = Object.assign({}, node.vattrs);
270
+ if (node.vkey) {
271
+ vnodeData.key = node.vkey;
272
+ }
273
+ if (node.vname) {
274
+ vnodeData.name = node.vname;
275
+ }
276
+ return h(node.vtag, vnodeData, ...(node.vchildren || []));
277
+ }
278
+ const vnode = newVNode(node.vtag, node.vtext);
279
+ vnode.$attrs$ = node.vattrs;
280
+ vnode.$children$ = node.vchildren;
281
+ vnode.$key$ = node.vkey;
282
+ vnode.$name$ = node.vname;
283
+ return vnode;
284
+ };
195
285
  /**
196
286
  * Production setAccessor() function based on Preact by
197
287
  * Jason Miller (@developit)
@@ -202,7 +292,8 @@ const isHost = (node) => node && node.$tag$ === Host;
202
292
  */
203
293
  const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
204
294
  if (oldValue !== newValue) {
205
- memberName.toLowerCase();
295
+ let isProp = isMemberInElement(elm, memberName);
296
+ let ln = memberName.toLowerCase();
206
297
  if (memberName === 'class') {
207
298
  const classList = elm.classList;
208
299
  const oldClasses = parseClassList(oldValue);
@@ -210,6 +301,111 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
210
301
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
211
302
  classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
212
303
  }
304
+ else if (memberName === 'style') {
305
+ // update style attribute, css properties and values
306
+ {
307
+ for (const prop in oldValue) {
308
+ if (!newValue || newValue[prop] == null) {
309
+ if (prop.includes('-')) {
310
+ elm.style.removeProperty(prop);
311
+ }
312
+ else {
313
+ elm.style[prop] = '';
314
+ }
315
+ }
316
+ }
317
+ }
318
+ for (const prop in newValue) {
319
+ if (!oldValue || newValue[prop] !== oldValue[prop]) {
320
+ if (prop.includes('-')) {
321
+ elm.style.setProperty(prop, newValue[prop]);
322
+ }
323
+ else {
324
+ elm.style[prop] = newValue[prop];
325
+ }
326
+ }
327
+ }
328
+ }
329
+ else if (memberName === 'ref') {
330
+ // minifier will clean this up
331
+ if (newValue) {
332
+ newValue(elm);
333
+ }
334
+ }
335
+ else if ((!isProp ) &&
336
+ memberName[0] === 'o' &&
337
+ memberName[1] === 'n') {
338
+ // Event Handlers
339
+ // so if the member name starts with "on" and the 3rd characters is
340
+ // a capital letter, and it's not already a member on the element,
341
+ // then we're assuming it's an event listener
342
+ if (memberName[2] === '-') {
343
+ // on- prefixed events
344
+ // allows to be explicit about the dom event to listen without any magic
345
+ // under the hood:
346
+ // <my-cmp on-click> // listens for "click"
347
+ // <my-cmp on-Click> // listens for "Click"
348
+ // <my-cmp on-ionChange> // listens for "ionChange"
349
+ // <my-cmp on-EVENTS> // listens for "EVENTS"
350
+ memberName = memberName.slice(3);
351
+ }
352
+ else if (isMemberInElement(win, ln)) {
353
+ // standard event
354
+ // the JSX attribute could have been "onMouseOver" and the
355
+ // member name "onmouseover" is on the window's prototype
356
+ // so let's add the listener "mouseover", which is all lowercased
357
+ memberName = ln.slice(2);
358
+ }
359
+ else {
360
+ // custom event
361
+ // the JSX attribute could have been "onMyCustomEvent"
362
+ // so let's trim off the "on" prefix and lowercase the first character
363
+ // and add the listener "myCustomEvent"
364
+ // except for the first character, we keep the event name case
365
+ memberName = ln[2] + memberName.slice(3);
366
+ }
367
+ if (oldValue) {
368
+ plt.rel(elm, memberName, oldValue, false);
369
+ }
370
+ if (newValue) {
371
+ plt.ael(elm, memberName, newValue, false);
372
+ }
373
+ }
374
+ else {
375
+ // Set property if it exists and it's not a SVG
376
+ const isComplex = isComplexType(newValue);
377
+ if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
378
+ try {
379
+ if (!elm.tagName.includes('-')) {
380
+ const n = newValue == null ? '' : newValue;
381
+ // Workaround for Safari, moving the <input> caret when re-assigning the same valued
382
+ if (memberName === 'list') {
383
+ isProp = false;
384
+ }
385
+ else if (oldValue == null || elm[memberName] != n) {
386
+ elm[memberName] = n;
387
+ }
388
+ }
389
+ else {
390
+ elm[memberName] = newValue;
391
+ }
392
+ }
393
+ catch (e) { }
394
+ }
395
+ if (newValue == null || newValue === false) {
396
+ if (newValue !== false || elm.getAttribute(memberName) === '') {
397
+ {
398
+ elm.removeAttribute(memberName);
399
+ }
400
+ }
401
+ }
402
+ else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
403
+ newValue = newValue === true ? '' : newValue;
404
+ {
405
+ elm.setAttribute(memberName, newValue);
406
+ }
407
+ }
408
+ }
213
409
  }
214
410
  };
215
411
  const parseClassListRegex = /\s/;
@@ -227,13 +423,13 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
227
423
  // remove attributes no longer present on the vnode by setting them to undefined
228
424
  for (memberName in oldVnodeAttrs) {
229
425
  if (!(memberName in newVnodeAttrs)) {
230
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined);
426
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
231
427
  }
232
428
  }
233
429
  }
234
430
  // add new & update changed attributes
235
431
  for (memberName in newVnodeAttrs) {
236
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName]);
432
+ setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
237
433
  }
238
434
  };
239
435
  const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
@@ -242,12 +438,39 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
242
438
  let i = 0;
243
439
  let elm;
244
440
  let childNode;
245
- {
441
+ let oldVNode;
442
+ if (!useNativeShadowDom) {
443
+ // remember for later we need to check to relocate nodes
444
+ checkSlotRelocate = true;
445
+ if (newVNode.$tag$ === 'slot') {
446
+ if (scopeId) {
447
+ // scoped css needs to add its scoped id to the parent element
448
+ parentElm.classList.add(scopeId + '-s');
449
+ }
450
+ newVNode.$flags$ |= newVNode.$children$
451
+ ? // slot element has fallback content
452
+ 2 /* isSlotFallback */
453
+ : // slot element does not have fallback content
454
+ 1 /* isSlotReference */;
455
+ }
456
+ }
457
+ if (newVNode.$text$ !== null) {
458
+ // create text node
459
+ elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
460
+ }
461
+ else if (newVNode.$flags$ & 1 /* isSlotReference */) {
462
+ // create a slot reference node
463
+ elm = newVNode.$elm$ =
464
+ doc.createTextNode('');
465
+ }
466
+ else {
246
467
  // create element
247
- elm = newVNode.$elm$ = (doc.createElement(newVNode.$tag$));
468
+ elm = newVNode.$elm$ = (doc.createElement(newVNode.$flags$ & 2 /* isSlotFallback */
469
+ ? 'slot-fb'
470
+ : newVNode.$tag$));
248
471
  // add css classes, attrs, props, listeners, etc.
249
472
  {
250
- updateElement(null, newVNode);
473
+ updateElement(null, newVNode, isSvgMode);
251
474
  }
252
475
  if (isDef(scopeId) && elm['s-si'] !== scopeId) {
253
476
  // if there is a scopeId and this is the initial render
@@ -257,7 +480,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
257
480
  if (newVNode.$children$) {
258
481
  for (i = 0; i < newVNode.$children$.length; ++i) {
259
482
  // create the node
260
- childNode = createElm(oldParentVNode, newVNode, i);
483
+ childNode = createElm(oldParentVNode, newVNode, i, elm);
261
484
  // return node could have been null
262
485
  if (childNode) {
263
486
  // append our new node
@@ -266,20 +489,62 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
266
489
  }
267
490
  }
268
491
  }
492
+ {
493
+ elm['s-hn'] = hostTagName;
494
+ if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) {
495
+ // remember the content reference comment
496
+ elm['s-sr'] = true;
497
+ // remember the content reference comment
498
+ elm['s-cr'] = contentRef;
499
+ // remember the slot name, or empty string for default slot
500
+ elm['s-sn'] = newVNode.$name$ || '';
501
+ // check if we've got an old vnode for this slot
502
+ oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex];
503
+ if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) {
504
+ // we've got an old slot vnode and the wrapper is being replaced
505
+ // so let's move the old slot content back to it's original location
506
+ putBackInOriginalLocation(oldParentVNode.$elm$, false);
507
+ }
508
+ }
509
+ }
269
510
  return elm;
270
511
  };
512
+ const putBackInOriginalLocation = (parentElm, recursive) => {
513
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
514
+ const oldSlotChildNodes = parentElm.childNodes;
515
+ for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
516
+ const childNode = oldSlotChildNodes[i];
517
+ if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) {
518
+ // // this child node in the old element is from another component
519
+ // // remove this node from the old slot's parent
520
+ // childNode.remove();
521
+ // and relocate it back to it's original location
522
+ parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
523
+ // remove the old original location comment entirely
524
+ // later on the patch function will know what to do
525
+ // and move this to the correct spot in need be
526
+ childNode['s-ol'].remove();
527
+ childNode['s-ol'] = undefined;
528
+ checkSlotRelocate = true;
529
+ }
530
+ if (recursive) {
531
+ putBackInOriginalLocation(childNode, recursive);
532
+ }
533
+ }
534
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
535
+ };
271
536
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
272
- let containerElm = (parentElm);
537
+ let containerElm = ((parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm);
273
538
  let childNode;
274
539
  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
275
540
  containerElm = containerElm.shadowRoot;
276
541
  }
277
542
  for (; startIdx <= endIdx; ++startIdx) {
278
543
  if (vnodes[startIdx]) {
279
- childNode = createElm(null, parentVNode, startIdx);
544
+ childNode = createElm(null, parentVNode, startIdx, parentElm);
280
545
  if (childNode) {
281
546
  vnodes[startIdx].$elm$ = childNode;
282
- containerElm.insertBefore(childNode, before);
547
+ containerElm.insertBefore(childNode, referenceNode(before) );
283
548
  }
284
549
  }
285
550
  }
@@ -288,6 +553,21 @@ const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
288
553
  for (; startIdx <= endIdx; ++startIdx) {
289
554
  if ((vnode = vnodes[startIdx])) {
290
555
  elm = vnode.$elm$;
556
+ callNodeRefs(vnode);
557
+ {
558
+ // we're removing this element
559
+ // so it's possible we need to show slot fallback content now
560
+ checkSlotFallbackVisibility = true;
561
+ if (elm['s-ol']) {
562
+ // remove the original location comment
563
+ elm['s-ol'].remove();
564
+ }
565
+ else {
566
+ // it's possible that child nodes of the node
567
+ // that's being removed are slot nodes
568
+ putBackInOriginalLocation(elm, true);
569
+ }
570
+ }
291
571
  // remove the vnode's element from the dom
292
572
  elm.remove();
293
573
  }
@@ -328,12 +608,20 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
328
608
  newEndVnode = newCh[--newEndIdx];
329
609
  }
330
610
  else if (isSameVnode(oldStartVnode, newEndVnode)) {
611
+ // Vnode moved right
612
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
613
+ putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false);
614
+ }
331
615
  patch(oldStartVnode, newEndVnode);
332
616
  parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
333
617
  oldStartVnode = oldCh[++oldStartIdx];
334
618
  newEndVnode = newCh[--newEndIdx];
335
619
  }
336
620
  else if (isSameVnode(oldEndVnode, newStartVnode)) {
621
+ // Vnode moved left
622
+ if ((oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) {
623
+ putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false);
624
+ }
337
625
  patch(oldEndVnode, newStartVnode);
338
626
  parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
339
627
  oldEndVnode = oldCh[--oldEndIdx];
@@ -342,12 +630,12 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
342
630
  else {
343
631
  {
344
632
  // new element
345
- node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
633
+ node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm);
346
634
  newStartVnode = newCh[++newStartIdx];
347
635
  }
348
636
  if (node) {
349
637
  {
350
- oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
638
+ parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$));
351
639
  }
352
640
  }
353
641
  }
@@ -363,16 +651,29 @@ const isSameVnode = (vnode1, vnode2) => {
363
651
  // compare if two vnode to see if they're "technically" the same
364
652
  // need to have the same element tag, and same key to be the same
365
653
  if (vnode1.$tag$ === vnode2.$tag$) {
654
+ if (vnode1.$tag$ === 'slot') {
655
+ return vnode1.$name$ === vnode2.$name$;
656
+ }
366
657
  return true;
367
658
  }
368
659
  return false;
369
660
  };
661
+ const referenceNode = (node) => {
662
+ // this node was relocated to a new location in the dom
663
+ // because of some other component's slot
664
+ // but we still have an html comment in place of where
665
+ // it's original location was according to it's original vdom
666
+ return (node && node['s-ol']) || node;
667
+ };
668
+ const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode;
370
669
  const patch = (oldVNode, newVNode) => {
371
670
  const elm = (newVNode.$elm$ = oldVNode.$elm$);
372
671
  const oldChildren = oldVNode.$children$;
373
672
  const newChildren = newVNode.$children$;
374
673
  const tag = newVNode.$tag$;
375
- {
674
+ const text = newVNode.$text$;
675
+ let defaultHolder;
676
+ if (text === null) {
376
677
  // element node
377
678
  {
378
679
  if (tag === 'slot')
@@ -381,7 +682,7 @@ const patch = (oldVNode, newVNode) => {
381
682
  // either this is the first render of an element OR it's an update
382
683
  // AND we already know it's possible it could have changed
383
684
  // this updates the element's css classes, attrs, props, listeners, etc.
384
- updateElement(oldVNode, newVNode);
685
+ updateElement(oldVNode, newVNode, isSvgMode);
385
686
  }
386
687
  }
387
688
  if (oldChildren !== null && newChildren !== null) {
@@ -389,6 +690,11 @@ const patch = (oldVNode, newVNode) => {
389
690
  updateChildren(elm, oldChildren, newVNode, newChildren);
390
691
  }
391
692
  else if (newChildren !== null) {
693
+ // no old child vnodes, but there are new child vnodes to add
694
+ if (oldVNode.$text$ !== null) {
695
+ // the old vnode was text, so be sure to clear it out
696
+ elm.textContent = '';
697
+ }
392
698
  // add the new vnode children
393
699
  addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
394
700
  }
@@ -397,12 +703,163 @@ const patch = (oldVNode, newVNode) => {
397
703
  removeVnodes(oldChildren, 0, oldChildren.length - 1);
398
704
  }
399
705
  }
706
+ else if ((defaultHolder = elm['s-cr'])) {
707
+ // this element has slotted content
708
+ defaultHolder.parentNode.textContent = text;
709
+ }
710
+ else if (oldVNode.$text$ !== text) {
711
+ // update the text content for the text only vnode
712
+ // and also only if the text is different than before
713
+ elm.data = text;
714
+ }
715
+ };
716
+ const updateFallbackSlotVisibility = (elm) => {
717
+ // tslint:disable-next-line: prefer-const
718
+ const childNodes = elm.childNodes;
719
+ let childNode;
720
+ let i;
721
+ let ilen;
722
+ let j;
723
+ let slotNameAttr;
724
+ let nodeType;
725
+ for (i = 0, ilen = childNodes.length; i < ilen; i++) {
726
+ childNode = childNodes[i];
727
+ if (childNode.nodeType === 1 /* ElementNode */) {
728
+ if (childNode['s-sr']) {
729
+ // this is a slot fallback node
730
+ // get the slot name for this slot reference node
731
+ slotNameAttr = childNode['s-sn'];
732
+ // by default always show a fallback slot node
733
+ // then hide it if there are other slots in the light dom
734
+ childNode.hidden = false;
735
+ for (j = 0; j < ilen; j++) {
736
+ nodeType = childNodes[j].nodeType;
737
+ if (childNodes[j]['s-hn'] !== childNode['s-hn'] || slotNameAttr !== '') {
738
+ // this sibling node is from a different component OR is a named fallback slot node
739
+ if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) {
740
+ childNode.hidden = true;
741
+ break;
742
+ }
743
+ }
744
+ else {
745
+ // this is a default fallback slot node
746
+ // any element or text node (with content)
747
+ // should hide the default fallback slot node
748
+ if (nodeType === 1 /* ElementNode */ ||
749
+ (nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) {
750
+ childNode.hidden = true;
751
+ break;
752
+ }
753
+ }
754
+ }
755
+ }
756
+ // keep drilling down
757
+ updateFallbackSlotVisibility(childNode);
758
+ }
759
+ }
760
+ };
761
+ const relocateNodes = [];
762
+ const relocateSlotContent = (elm) => {
763
+ // tslint:disable-next-line: prefer-const
764
+ let childNode;
765
+ let node;
766
+ let hostContentNodes;
767
+ let slotNameAttr;
768
+ let relocateNodeData;
769
+ let j;
770
+ let i = 0;
771
+ const childNodes = elm.childNodes;
772
+ const ilen = childNodes.length;
773
+ for (; i < ilen; i++) {
774
+ childNode = childNodes[i];
775
+ if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
776
+ // first got the content reference comment node
777
+ // then we got it's parent, which is where all the host content is in now
778
+ hostContentNodes = node.parentNode.childNodes;
779
+ slotNameAttr = childNode['s-sn'];
780
+ for (j = hostContentNodes.length - 1; j >= 0; j--) {
781
+ node = hostContentNodes[j];
782
+ if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) {
783
+ // let's do some relocating to its new home
784
+ // but never relocate a content reference node
785
+ // that is suppose to always represent the original content location
786
+ if (isNodeLocatedInSlot(node, slotNameAttr)) {
787
+ // it's possible we've already decided to relocate this node
788
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
789
+ // made some changes to slots
790
+ // let's make sure we also double check
791
+ // fallbacks are correctly hidden or shown
792
+ checkSlotFallbackVisibility = true;
793
+ node['s-sn'] = node['s-sn'] || slotNameAttr;
794
+ if (relocateNodeData) {
795
+ // previously we never found a slot home for this node
796
+ // but turns out we did, so let's remember it now
797
+ relocateNodeData.$slotRefNode$ = childNode;
798
+ }
799
+ else {
800
+ // add to our list of nodes to relocate
801
+ relocateNodes.push({
802
+ $slotRefNode$: childNode,
803
+ $nodeToRelocate$: node,
804
+ });
805
+ }
806
+ if (node['s-sr']) {
807
+ relocateNodes.map((relocateNode) => {
808
+ if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) {
809
+ relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
810
+ if (relocateNodeData && !relocateNode.$slotRefNode$) {
811
+ relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$;
812
+ }
813
+ }
814
+ });
815
+ }
816
+ }
817
+ else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
818
+ // so far this element does not have a slot home, not setting slotRefNode on purpose
819
+ // if we never find a home for this element then we'll need to hide it
820
+ relocateNodes.push({
821
+ $nodeToRelocate$: node,
822
+ });
823
+ }
824
+ }
825
+ }
826
+ }
827
+ if (childNode.nodeType === 1 /* ElementNode */) {
828
+ relocateSlotContent(childNode);
829
+ }
830
+ }
831
+ };
832
+ const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => {
833
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
834
+ if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') {
835
+ return true;
836
+ }
837
+ if (nodeToRelocate.getAttribute('slot') === slotNameAttr) {
838
+ return true;
839
+ }
840
+ return false;
841
+ }
842
+ if (nodeToRelocate['s-sn'] === slotNameAttr) {
843
+ return true;
844
+ }
845
+ return slotNameAttr === '';
846
+ };
847
+ const callNodeRefs = (vNode) => {
848
+ {
849
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
850
+ vNode.$children$ && vNode.$children$.map(callNodeRefs);
851
+ }
400
852
  };
401
853
  const renderVdom = (hostRef, renderFnResults) => {
402
854
  const hostElm = hostRef.$hostElement$;
855
+ const cmpMeta = hostRef.$cmpMeta$;
403
856
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
404
857
  const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
405
858
  hostTagName = hostElm.tagName;
859
+ if (cmpMeta.$attrsToReflect$) {
860
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
861
+ cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
862
+ }
406
863
  rootVnode.$tag$ = null;
407
864
  rootVnode.$flags$ |= 4 /* isHost */;
408
865
  hostRef.$vnode$ = rootVnode;
@@ -410,8 +867,104 @@ const renderVdom = (hostRef, renderFnResults) => {
410
867
  {
411
868
  scopeId = hostElm['s-sc'];
412
869
  }
870
+ {
871
+ contentRef = hostElm['s-cr'];
872
+ useNativeShadowDom = (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0;
873
+ // always reset
874
+ checkSlotFallbackVisibility = false;
875
+ }
413
876
  // synchronous patch
414
877
  patch(oldVNode, rootVnode);
878
+ {
879
+ // while we're moving nodes around existing nodes, temporarily disable
880
+ // the disconnectCallback from working
881
+ plt.$flags$ |= 1 /* isTmpDisconnected */;
882
+ if (checkSlotRelocate) {
883
+ relocateSlotContent(rootVnode.$elm$);
884
+ let relocateData;
885
+ let nodeToRelocate;
886
+ let orgLocationNode;
887
+ let parentNodeRef;
888
+ let insertBeforeNode;
889
+ let refNode;
890
+ let i = 0;
891
+ for (; i < relocateNodes.length; i++) {
892
+ relocateData = relocateNodes[i];
893
+ nodeToRelocate = relocateData.$nodeToRelocate$;
894
+ if (!nodeToRelocate['s-ol']) {
895
+ // add a reference node marking this node's original location
896
+ // keep a reference to this node for later lookups
897
+ orgLocationNode =
898
+ doc.createTextNode('');
899
+ orgLocationNode['s-nr'] = nodeToRelocate;
900
+ nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
901
+ }
902
+ }
903
+ for (i = 0; i < relocateNodes.length; i++) {
904
+ relocateData = relocateNodes[i];
905
+ nodeToRelocate = relocateData.$nodeToRelocate$;
906
+ if (relocateData.$slotRefNode$) {
907
+ // by default we're just going to insert it directly
908
+ // after the slot reference node
909
+ parentNodeRef = relocateData.$slotRefNode$.parentNode;
910
+ insertBeforeNode = relocateData.$slotRefNode$.nextSibling;
911
+ orgLocationNode = nodeToRelocate['s-ol'];
912
+ while ((orgLocationNode = orgLocationNode.previousSibling)) {
913
+ refNode = orgLocationNode['s-nr'];
914
+ if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
915
+ refNode = refNode.nextSibling;
916
+ if (!refNode || !refNode['s-nr']) {
917
+ insertBeforeNode = refNode;
918
+ break;
919
+ }
920
+ }
921
+ }
922
+ if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
923
+ nodeToRelocate.nextSibling !== insertBeforeNode) {
924
+ // we've checked that it's worth while to relocate
925
+ // since that the node to relocate
926
+ // has a different next sibling or parent relocated
927
+ if (nodeToRelocate !== insertBeforeNode) {
928
+ if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
929
+ // probably a component in the index.html that doesn't have it's hostname set
930
+ nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
931
+ }
932
+ // add it back to the dom but in its new home
933
+ parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
934
+ }
935
+ }
936
+ }
937
+ else {
938
+ // this node doesn't have a slot home to go to, so let's hide it
939
+ if (nodeToRelocate.nodeType === 1 /* ElementNode */) {
940
+ nodeToRelocate.hidden = true;
941
+ }
942
+ }
943
+ }
944
+ }
945
+ if (checkSlotFallbackVisibility) {
946
+ updateFallbackSlotVisibility(rootVnode.$elm$);
947
+ }
948
+ // done moving nodes around
949
+ // allow the disconnect callback to work again
950
+ plt.$flags$ &= ~1 /* isTmpDisconnected */;
951
+ // always reset
952
+ relocateNodes.length = 0;
953
+ }
954
+ };
955
+ const getElement = (ref) => (getHostRef(ref).$hostElement$ );
956
+ const createEvent = (ref, name, flags) => {
957
+ const elm = getElement(ref);
958
+ return {
959
+ emit: (detail) => {
960
+ return emitEvent(elm, name, {
961
+ bubbles: !!(flags & 4 /* Bubbles */),
962
+ composed: !!(flags & 2 /* Composed */),
963
+ cancelable: !!(flags & 1 /* Cancellable */),
964
+ detail,
965
+ });
966
+ },
967
+ };
415
968
  };
416
969
  /**
417
970
  * Helper function to create & dispatch a custom Event on a provided target
@@ -449,6 +1002,21 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
449
1002
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
450
1003
  const instance = hostRef.$lazyInstance$ ;
451
1004
  let promise;
1005
+ if (isInitialLoad) {
1006
+ {
1007
+ hostRef.$flags$ |= 256 /* isListenReady */;
1008
+ if (hostRef.$queuedListeners$) {
1009
+ hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
1010
+ hostRef.$queuedListeners$ = null;
1011
+ }
1012
+ }
1013
+ {
1014
+ promise = safeCall(instance, 'componentWillLoad');
1015
+ }
1016
+ }
1017
+ {
1018
+ promise = then(promise, () => safeCall(instance, 'componentWillRender'));
1019
+ }
452
1020
  endSchedule();
453
1021
  return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
454
1022
  };
@@ -516,6 +1084,7 @@ const postUpdateComponent = (hostRef) => {
516
1084
  const tagName = hostRef.$cmpMeta$.$tagName$;
517
1085
  const elm = hostRef.$hostElement$;
518
1086
  const endPostUpdate = createTime('postUpdate', tagName);
1087
+ const instance = hostRef.$lazyInstance$ ;
519
1088
  const ancestorComponent = hostRef.$ancestorComponent$;
520
1089
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
521
1090
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
@@ -523,6 +1092,9 @@ const postUpdateComponent = (hostRef) => {
523
1092
  // DOM WRITE!
524
1093
  addHydratedFlag(elm);
525
1094
  }
1095
+ {
1096
+ safeCall(instance, 'componentDidLoad');
1097
+ }
526
1098
  endPostUpdate();
527
1099
  {
528
1100
  hostRef.$onReadyResolve$(elm);
@@ -558,6 +1130,17 @@ const appDidLoad = (who) => {
558
1130
  }
559
1131
  nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
560
1132
  };
1133
+ const safeCall = (instance, method, arg) => {
1134
+ if (instance && instance[method]) {
1135
+ try {
1136
+ return instance[method](arg);
1137
+ }
1138
+ catch (e) {
1139
+ consoleError(e);
1140
+ }
1141
+ }
1142
+ return undefined;
1143
+ };
561
1144
  const then = (promise, thenFn) => {
562
1145
  return promise && promise.then ? promise.then(thenFn) : thenFn();
563
1146
  };
@@ -589,6 +1172,15 @@ const addHydratedFlag = (elm) => elm.classList.add('hydrated')
589
1172
  const parsePropertyValue = (propValue, propType) => {
590
1173
  // ensure this value is of the correct prop type
591
1174
  if (propValue != null && !isComplexType(propValue)) {
1175
+ if (propType & 4 /* Boolean */) {
1176
+ // per the HTML spec, any string value means it is a boolean true value
1177
+ // but we'll cheat here and say that the string "false" is the boolean false
1178
+ return propValue === 'false' ? false : propValue === '' || !!propValue;
1179
+ }
1180
+ if (propType & 2 /* Number */) {
1181
+ // force it to be a number
1182
+ return parseFloat(propValue);
1183
+ }
592
1184
  if (propType & 1 /* String */) {
593
1185
  // could have been passed as a number or boolean
594
1186
  // but we still want it as a string
@@ -605,6 +1197,7 @@ const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propNam
605
1197
  const setValue = (ref, propName, newVal, cmpMeta) => {
606
1198
  // check our new property value against our internal value
607
1199
  const hostRef = getHostRef(ref);
1200
+ const elm = hostRef.$hostElement$ ;
608
1201
  const oldVal = hostRef.$instanceValues$.get(propName);
609
1202
  const flags = hostRef.$flags$;
610
1203
  const instance = hostRef.$lazyInstance$ ;
@@ -617,7 +1210,28 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
617
1210
  // set our new value!
618
1211
  hostRef.$instanceValues$.set(propName, newVal);
619
1212
  if (instance) {
1213
+ // get an array of method names of watch functions to call
1214
+ if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
1215
+ const watchMethods = cmpMeta.$watchers$[propName];
1216
+ if (watchMethods) {
1217
+ // this instance is watching for when this property changed
1218
+ watchMethods.map((watchMethodName) => {
1219
+ try {
1220
+ // fire off each of the watch methods that are watching this property
1221
+ instance[watchMethodName](newVal, oldVal, propName);
1222
+ }
1223
+ catch (e) {
1224
+ consoleError(e, elm);
1225
+ }
1226
+ });
1227
+ }
1228
+ }
620
1229
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1230
+ if (instance.componentShouldUpdate) {
1231
+ if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
1232
+ return;
1233
+ }
1234
+ }
621
1235
  // looks like this value actually changed, so we've got work to do!
622
1236
  // but only if we've already rendered, otherwise just chill out
623
1237
  // queue that we need to do an update, but don't worry about queuing
@@ -629,6 +1243,9 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
629
1243
  };
630
1244
  const proxyComponent = (Cstr, cmpMeta, flags) => {
631
1245
  if (cmpMeta.$members$) {
1246
+ if (Cstr.watchers) {
1247
+ cmpMeta.$watchers$ = Cstr.watchers;
1248
+ }
632
1249
  // It's better to have a const than two Object.entries()
633
1250
  const members = Object.entries(cmpMeta.$members$);
634
1251
  const prototype = Cstr.prototype;
@@ -710,6 +1327,9 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
710
1327
  .map(([propName, m]) => {
711
1328
  const attrName = m[1] || propName;
712
1329
  attrNameToPropName.set(attrName, propName);
1330
+ if (m[0] & 512 /* ReflectAttr */) {
1331
+ cmpMeta.$attrsToReflect$.push([propName, attrName]);
1332
+ }
713
1333
  return attrName;
714
1334
  });
715
1335
  }
@@ -733,6 +1353,12 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
733
1353
  endLoad();
734
1354
  }
735
1355
  if (!Cstr.isProxied) {
1356
+ // we've never proxied this Constructor before
1357
+ // let's add the getters/setters to its prototype before
1358
+ // the first time we create an instance of the implementation
1359
+ {
1360
+ cmpMeta.$watchers$ = Cstr.watchers;
1361
+ }
736
1362
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
737
1363
  Cstr.isProxied = true;
738
1364
  }
@@ -756,6 +1382,9 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
756
1382
  {
757
1383
  hostRef.$flags$ &= ~8 /* isConstructingInstance */;
758
1384
  }
1385
+ {
1386
+ hostRef.$flags$ |= 128 /* isWatchReady */;
1387
+ }
759
1388
  endNewInstance();
760
1389
  }
761
1390
  if (Cstr.style) {
@@ -793,6 +1422,15 @@ const connectedCallback = (elm) => {
793
1422
  if (!(hostRef.$flags$ & 1 /* hasConnected */)) {
794
1423
  // first time this component has connected
795
1424
  hostRef.$flags$ |= 1 /* hasConnected */;
1425
+ {
1426
+ // initUpdate
1427
+ // if the slot polyfill is required we'll need to put some nodes
1428
+ // in here to act as original content anchors as we move nodes around
1429
+ // host element has been connected to the DOM
1430
+ if ((cmpMeta.$flags$ & (4 /* hasSlotRelocation */ | 8 /* needsShadowDomShim */))) {
1431
+ setContentReference(elm);
1432
+ }
1433
+ }
796
1434
  {
797
1435
  // find the first ancestor component (if there is one) and register
798
1436
  // this component as one of the actively loading child components for its ancestor
@@ -823,12 +1461,39 @@ const connectedCallback = (elm) => {
823
1461
  initializeComponent(elm, hostRef, cmpMeta);
824
1462
  }
825
1463
  }
1464
+ else {
1465
+ // not the first time this has connected
1466
+ // reattach any event listeners to the host
1467
+ // since they would have been removed when disconnected
1468
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
1469
+ }
826
1470
  endConnected();
827
1471
  }
828
1472
  };
1473
+ const setContentReference = (elm) => {
1474
+ // only required when we're NOT using native shadow dom (slot)
1475
+ // or this browser doesn't support native shadow dom
1476
+ // and this host element was NOT created with SSR
1477
+ // let's pick out the inner content for slot projection
1478
+ // create a node to represent where the original
1479
+ // content was first placed, which is useful later on
1480
+ const contentRefElm = (elm['s-cr'] = doc.createComment(''));
1481
+ contentRefElm['s-cn'] = true;
1482
+ elm.insertBefore(contentRefElm, elm.firstChild);
1483
+ };
829
1484
  const disconnectedCallback = (elm) => {
830
1485
  if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) {
831
- getHostRef(elm);
1486
+ const hostRef = getHostRef(elm);
1487
+ const instance = hostRef.$lazyInstance$ ;
1488
+ {
1489
+ if (hostRef.$rmListeners$) {
1490
+ hostRef.$rmListeners$.map((rmListener) => rmListener());
1491
+ hostRef.$rmListeners$ = undefined;
1492
+ }
1493
+ }
1494
+ {
1495
+ safeCall(instance, 'disconnectedCallback');
1496
+ }
832
1497
  }
833
1498
  };
834
1499
  const bootstrapLazy = (lazyBundles, options = {}) => {
@@ -855,6 +1520,15 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
855
1520
  {
856
1521
  cmpMeta.$members$ = compactMeta[2];
857
1522
  }
1523
+ {
1524
+ cmpMeta.$listeners$ = compactMeta[3];
1525
+ }
1526
+ {
1527
+ cmpMeta.$attrsToReflect$ = [];
1528
+ }
1529
+ {
1530
+ cmpMeta.$watchers$ = {};
1531
+ }
858
1532
  const tagName = cmpMeta.$tagName$;
859
1533
  const HostElement = class extends HTMLElement {
860
1534
  // StencilLazyHost
@@ -935,8 +1609,10 @@ const registerHost = (elm, cmpMeta) => {
935
1609
  elm['s-p'] = [];
936
1610
  elm['s-rc'] = [];
937
1611
  }
1612
+ addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
938
1613
  return hostRefs.set(elm, hostRef);
939
1614
  };
1615
+ const isMemberInElement = (elm, memberName) => memberName in elm;
940
1616
  const consoleError = (e, el) => (0, console.error)(e, el);
941
1617
  const cmpModules = /*@__PURE__*/ new Map();
942
1618
  const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
@@ -947,7 +1623,152 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
947
1623
  if (module) {
948
1624
  return module[exportName];
949
1625
  }
950
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
1626
+
1627
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1628
+ const processMod = importedModule => {
1629
+ cmpModules.set(bundleId, importedModule);
1630
+ return importedModule[exportName];
1631
+ }
1632
+ switch(bundleId) {
1633
+
1634
+ case 'p-button_3':
1635
+ return import(
1636
+ /* webpackMode: "lazy" */
1637
+ './p-button_3.entry.js').then(processMod, consoleError);
1638
+ case 'p-accordion':
1639
+ return import(
1640
+ /* webpackMode: "lazy" */
1641
+ './p-accordion.entry.js').then(processMod, consoleError);
1642
+ case 'p-avatar-group':
1643
+ return import(
1644
+ /* webpackMode: "lazy" */
1645
+ './p-avatar-group.entry.js').then(processMod, consoleError);
1646
+ case 'p-card-body':
1647
+ return import(
1648
+ /* webpackMode: "lazy" */
1649
+ './p-card-body.entry.js').then(processMod, consoleError);
1650
+ case 'p-card-container':
1651
+ return import(
1652
+ /* webpackMode: "lazy" */
1653
+ './p-card-container.entry.js').then(processMod, consoleError);
1654
+ case 'p-card-header':
1655
+ return import(
1656
+ /* webpackMode: "lazy" */
1657
+ './p-card-header.entry.js').then(processMod, consoleError);
1658
+ case 'p-content-slider':
1659
+ return import(
1660
+ /* webpackMode: "lazy" */
1661
+ './p-content-slider.entry.js').then(processMod, consoleError);
1662
+ case 'p-dropdown-menu-item':
1663
+ return import(
1664
+ /* webpackMode: "lazy" */
1665
+ './p-dropdown-menu-item.entry.js').then(processMod, consoleError);
1666
+ case 'p-illustration':
1667
+ return import(
1668
+ /* webpackMode: "lazy" */
1669
+ './p-illustration.entry.js').then(processMod, consoleError);
1670
+ case 'p-info-panel':
1671
+ return import(
1672
+ /* webpackMode: "lazy" */
1673
+ './p-info-panel.entry.js').then(processMod, consoleError);
1674
+ case 'p-input-group':
1675
+ return import(
1676
+ /* webpackMode: "lazy" */
1677
+ './p-input-group.entry.js').then(processMod, consoleError);
1678
+ case 'p-layout':
1679
+ return import(
1680
+ /* webpackMode: "lazy" */
1681
+ './p-layout.entry.js').then(processMod, consoleError);
1682
+ case 'p-modal':
1683
+ return import(
1684
+ /* webpackMode: "lazy" */
1685
+ './p-modal.entry.js').then(processMod, consoleError);
1686
+ case 'p-navbar':
1687
+ return import(
1688
+ /* webpackMode: "lazy" */
1689
+ './p-navbar.entry.js').then(processMod, consoleError);
1690
+ case 'p-navigation-item':
1691
+ return import(
1692
+ /* webpackMode: "lazy" */
1693
+ './p-navigation-item.entry.js').then(processMod, consoleError);
1694
+ case 'p-pagination':
1695
+ return import(
1696
+ /* webpackMode: "lazy" */
1697
+ './p-pagination.entry.js').then(processMod, consoleError);
1698
+ case 'p-profile':
1699
+ return import(
1700
+ /* webpackMode: "lazy" */
1701
+ './p-profile.entry.js').then(processMod, consoleError);
1702
+ case 'p-segment-container':
1703
+ return import(
1704
+ /* webpackMode: "lazy" */
1705
+ './p-segment-container.entry.js').then(processMod, consoleError);
1706
+ case 'p-segment-item':
1707
+ return import(
1708
+ /* webpackMode: "lazy" */
1709
+ './p-segment-item.entry.js').then(processMod, consoleError);
1710
+ case 'p-status':
1711
+ return import(
1712
+ /* webpackMode: "lazy" */
1713
+ './p-status.entry.js').then(processMod, consoleError);
1714
+ case 'p-stepper':
1715
+ return import(
1716
+ /* webpackMode: "lazy" */
1717
+ './p-stepper.entry.js').then(processMod, consoleError);
1718
+ case 'p-tab-group':
1719
+ return import(
1720
+ /* webpackMode: "lazy" */
1721
+ './p-tab-group.entry.js').then(processMod, consoleError);
1722
+ case 'p-tab-item':
1723
+ return import(
1724
+ /* webpackMode: "lazy" */
1725
+ './p-tab-item.entry.js').then(processMod, consoleError);
1726
+ case 'p-tag':
1727
+ return import(
1728
+ /* webpackMode: "lazy" */
1729
+ './p-tag.entry.js').then(processMod, consoleError);
1730
+ case 'p-avatar_2':
1731
+ return import(
1732
+ /* webpackMode: "lazy" */
1733
+ './p-avatar_2.entry.js').then(processMod, consoleError);
1734
+ case 'p-counter':
1735
+ return import(
1736
+ /* webpackMode: "lazy" */
1737
+ './p-counter.entry.js').then(processMod, consoleError);
1738
+ case 'p-helper':
1739
+ return import(
1740
+ /* webpackMode: "lazy" */
1741
+ './p-helper.entry.js').then(processMod, consoleError);
1742
+ case 'p-modal-backdrop_5':
1743
+ return import(
1744
+ /* webpackMode: "lazy" */
1745
+ './p-modal-backdrop_5.entry.js').then(processMod, consoleError);
1746
+ case 'p-pagination-item':
1747
+ return import(
1748
+ /* webpackMode: "lazy" */
1749
+ './p-pagination-item.entry.js').then(processMod, consoleError);
1750
+ case 'p-slider-indicator':
1751
+ return import(
1752
+ /* webpackMode: "lazy" */
1753
+ './p-slider-indicator.entry.js').then(processMod, consoleError);
1754
+ case 'p-stepper-item_2':
1755
+ return import(
1756
+ /* webpackMode: "lazy" */
1757
+ './p-stepper-item_2.entry.js').then(processMod, consoleError);
1758
+ case 'p-dropdown-menu-container':
1759
+ return import(
1760
+ /* webpackMode: "lazy" */
1761
+ './p-dropdown-menu-container.entry.js').then(processMod, consoleError);
1762
+ case 'p-tooltip':
1763
+ return import(
1764
+ /* webpackMode: "lazy" */
1765
+ './p-tooltip.entry.js').then(processMod, consoleError);
1766
+ case 'p-divider':
1767
+ return import(
1768
+ /* webpackMode: "lazy" */
1769
+ './p-divider.entry.js').then(processMod, consoleError);
1770
+ }
1771
+ }
951
1772
  return import(
952
1773
  /* @vite-ignore */
953
1774
  /* webpackInclude: /\.entry\.js$/ */
@@ -1004,4 +1825,4 @@ const flush = () => {
1004
1825
  const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
1005
1826
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1006
1827
 
1007
- export { bootstrapLazy as b, h, promiseResolve as p, registerInstance as r };
1828
+ export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r };