@lmvz-ds/components 0.11.4

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 (394) hide show
  1. package/LICENSE.txt +3 -0
  2. package/assets/LMVZ_logo_175.svg +1 -0
  3. package/assets/card-placeholder.svg +4 -0
  4. package/assets/fonts/Router-Bold.woff +0 -0
  5. package/assets/fonts/Router-Book.woff +0 -0
  6. package/assets/fonts/Router-Medium.woff +0 -0
  7. package/assets/icons/Logo.svg +10 -0
  8. package/assets/icons/actions.svg +5 -0
  9. package/assets/icons/adduser.svg +3 -0
  10. package/assets/icons/alert.svg +3 -0
  11. package/assets/icons/apple.svg +3 -0
  12. package/assets/icons/arrow-down.svg +3 -0
  13. package/assets/icons/arrow-left.svg +3 -0
  14. package/assets/icons/arrow-right.svg +3 -0
  15. package/assets/icons/arrow-up.svg +3 -0
  16. package/assets/icons/book.svg +3 -0
  17. package/assets/icons/bookmark.svg +3 -0
  18. package/assets/icons/checkmark.svg +3 -0
  19. package/assets/icons/chevron-down.svg +3 -0
  20. package/assets/icons/chevron-left.svg +3 -0
  21. package/assets/icons/chevron-right.svg +3 -0
  22. package/assets/icons/chevron-up.svg +3 -0
  23. package/assets/icons/close-l.svg +3 -0
  24. package/assets/icons/close-sm.svg +3 -0
  25. package/assets/icons/cog.svg +4 -0
  26. package/assets/icons/computer.svg +3 -0
  27. package/assets/icons/dashboard.svg +6 -0
  28. package/assets/icons/delete.svg +3 -0
  29. package/assets/icons/download.svg +3 -0
  30. package/assets/icons/edit.svg +3 -0
  31. package/assets/icons/external.svg +3 -0
  32. package/assets/icons/facebook.svg +3 -0
  33. package/assets/icons/favorite.svg +3 -0
  34. package/assets/icons/filter.svg +3 -0
  35. package/assets/icons/group.svg +3 -0
  36. package/assets/icons/hide.svg +3 -0
  37. package/assets/icons/home.svg +3 -0
  38. package/assets/icons/info.svg +3 -0
  39. package/assets/icons/instagram.svg +3 -0
  40. package/assets/icons/letter.svg +3 -0
  41. package/assets/icons/linkedin.svg +5 -0
  42. package/assets/icons/logout.svg +3 -0
  43. package/assets/icons/map.svg +3 -0
  44. package/assets/icons/minus.svg +3 -0
  45. package/assets/icons/navigation.svg +3 -0
  46. package/assets/icons/plus.svg +3 -0
  47. package/assets/icons/qr-scan.svg +3 -0
  48. package/assets/icons/question.svg +10 -0
  49. package/assets/icons/reader.svg +3 -0
  50. package/assets/icons/reset.svg +3 -0
  51. package/assets/icons/school.svg +3 -0
  52. package/assets/icons/search.svg +3 -0
  53. package/assets/icons/send.svg +3 -0
  54. package/assets/icons/settings.svg +3 -0
  55. package/assets/icons/share.svg +10 -0
  56. package/assets/icons/shopping-cart.svg +3 -0
  57. package/assets/icons/show.svg +3 -0
  58. package/assets/icons/snapchat.svg +3 -0
  59. package/assets/icons/sort.svg +3 -0
  60. package/assets/icons/speech-bubble.svg +3 -0
  61. package/assets/icons/star.svg +3 -0
  62. package/assets/icons/student.svg +3 -0
  63. package/assets/icons/upload.svg +3 -0
  64. package/assets/icons/user.svg +3 -0
  65. package/assets/icons/warn-circle.svg +3 -0
  66. package/assets/icons/warn-triangle.svg +3 -0
  67. package/assets/icons/whatsapp.svg +4 -0
  68. package/assets/icons/world.svg +10 -0
  69. package/assets/icons/x.svg +3 -0
  70. package/assets/icons/youtube.svg +3 -0
  71. package/assets/zukunftslinie.svg +3 -0
  72. package/dist/cjs/Effect-BIlTHtLK.js +19172 -0
  73. package/dist/cjs/_commonjsHelpers-CFO10eej.js +7 -0
  74. package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
  75. package/dist/cjs/aria-validation-controller-B7unOPxT.js +2929 -0
  76. package/dist/cjs/axe-BNqwbBGU.js +32834 -0
  77. package/dist/cjs/component-CRc6eHcV.js +138 -0
  78. package/dist/cjs/element-activation-controller-DC_6T0Rt.js +31 -0
  79. package/dist/cjs/icons-DbL3LSmP.js +659 -0
  80. package/dist/cjs/index-9ZJx0550.js +2752 -0
  81. package/dist/cjs/index-CVw4GUo6.js +92 -0
  82. package/dist/cjs/index.cjs.js +96 -0
  83. package/dist/cjs/lmvz-action.cjs.entry.js +22 -0
  84. package/dist/cjs/lmvz-button.cjs.entry.js +72 -0
  85. package/dist/cjs/lmvz-card.cjs.entry.js +33 -0
  86. package/dist/cjs/lmvz-chip.cjs.entry.js +18 -0
  87. package/dist/cjs/lmvz-components.cjs.js +25 -0
  88. package/dist/cjs/lmvz-header.cjs.entry.js +134 -0
  89. package/dist/cjs/lmvz-icon.cjs.entry.js +76 -0
  90. package/dist/cjs/lmvz-input.cjs.entry.js +176 -0
  91. package/dist/cjs/lmvz-menuitem.cjs.entry.js +32 -0
  92. package/dist/cjs/loader.cjs.js +13 -0
  93. package/dist/collection/api/ds.constants.js +73 -0
  94. package/dist/collection/api/index.js +1 -0
  95. package/dist/collection/assets/LMVZ_logo_175.svg +1 -0
  96. package/dist/collection/assets/card-placeholder.svg +4 -0
  97. package/dist/collection/assets/fonts/Router-Bold.woff +0 -0
  98. package/dist/collection/assets/fonts/Router-Book.woff +0 -0
  99. package/dist/collection/assets/fonts/Router-Medium.woff +0 -0
  100. package/dist/collection/assets/icons/Logo.svg +10 -0
  101. package/dist/collection/assets/icons/actions.svg +5 -0
  102. package/dist/collection/assets/icons/adduser.svg +3 -0
  103. package/dist/collection/assets/icons/alert.svg +3 -0
  104. package/dist/collection/assets/icons/apple.svg +3 -0
  105. package/dist/collection/assets/icons/arrow-down.svg +3 -0
  106. package/dist/collection/assets/icons/arrow-left.svg +3 -0
  107. package/dist/collection/assets/icons/arrow-right.svg +3 -0
  108. package/dist/collection/assets/icons/arrow-up.svg +3 -0
  109. package/dist/collection/assets/icons/book.svg +3 -0
  110. package/dist/collection/assets/icons/bookmark.svg +3 -0
  111. package/dist/collection/assets/icons/checkmark.svg +3 -0
  112. package/dist/collection/assets/icons/chevron-down.svg +3 -0
  113. package/dist/collection/assets/icons/chevron-left.svg +3 -0
  114. package/dist/collection/assets/icons/chevron-right.svg +3 -0
  115. package/dist/collection/assets/icons/chevron-up.svg +3 -0
  116. package/dist/collection/assets/icons/close-l.svg +3 -0
  117. package/dist/collection/assets/icons/close-sm.svg +3 -0
  118. package/dist/collection/assets/icons/cog.svg +4 -0
  119. package/dist/collection/assets/icons/computer.svg +3 -0
  120. package/dist/collection/assets/icons/dashboard.svg +6 -0
  121. package/dist/collection/assets/icons/delete.svg +3 -0
  122. package/dist/collection/assets/icons/download.svg +3 -0
  123. package/dist/collection/assets/icons/edit.svg +3 -0
  124. package/dist/collection/assets/icons/external.svg +3 -0
  125. package/dist/collection/assets/icons/facebook.svg +3 -0
  126. package/dist/collection/assets/icons/favorite.svg +3 -0
  127. package/dist/collection/assets/icons/filter.svg +3 -0
  128. package/dist/collection/assets/icons/group.svg +3 -0
  129. package/dist/collection/assets/icons/hide.svg +3 -0
  130. package/dist/collection/assets/icons/home.svg +3 -0
  131. package/dist/collection/assets/icons/info.svg +3 -0
  132. package/dist/collection/assets/icons/instagram.svg +3 -0
  133. package/dist/collection/assets/icons/letter.svg +3 -0
  134. package/dist/collection/assets/icons/linkedin.svg +5 -0
  135. package/dist/collection/assets/icons/logout.svg +3 -0
  136. package/dist/collection/assets/icons/map.svg +3 -0
  137. package/dist/collection/assets/icons/minus.svg +3 -0
  138. package/dist/collection/assets/icons/navigation.svg +3 -0
  139. package/dist/collection/assets/icons/plus.svg +3 -0
  140. package/dist/collection/assets/icons/qr-scan.svg +3 -0
  141. package/dist/collection/assets/icons/question.svg +10 -0
  142. package/dist/collection/assets/icons/reader.svg +3 -0
  143. package/dist/collection/assets/icons/reset.svg +3 -0
  144. package/dist/collection/assets/icons/school.svg +3 -0
  145. package/dist/collection/assets/icons/search.svg +3 -0
  146. package/dist/collection/assets/icons/send.svg +3 -0
  147. package/dist/collection/assets/icons/settings.svg +3 -0
  148. package/dist/collection/assets/icons/share.svg +10 -0
  149. package/dist/collection/assets/icons/shopping-cart.svg +3 -0
  150. package/dist/collection/assets/icons/show.svg +3 -0
  151. package/dist/collection/assets/icons/snapchat.svg +3 -0
  152. package/dist/collection/assets/icons/sort.svg +3 -0
  153. package/dist/collection/assets/icons/speech-bubble.svg +3 -0
  154. package/dist/collection/assets/icons/star.svg +3 -0
  155. package/dist/collection/assets/icons/student.svg +3 -0
  156. package/dist/collection/assets/icons/upload.svg +3 -0
  157. package/dist/collection/assets/icons/user.svg +3 -0
  158. package/dist/collection/assets/icons/warn-circle.svg +3 -0
  159. package/dist/collection/assets/icons/warn-triangle.svg +3 -0
  160. package/dist/collection/assets/icons/whatsapp.svg +4 -0
  161. package/dist/collection/assets/icons/world.svg +10 -0
  162. package/dist/collection/assets/icons/x.svg +3 -0
  163. package/dist/collection/assets/icons/youtube.svg +3 -0
  164. package/dist/collection/assets/zukunftslinie.svg +3 -0
  165. package/dist/collection/collection-manifest.json +21 -0
  166. package/dist/collection/components/lmvz-action/lmvz-action.css +3 -0
  167. package/dist/collection/components/lmvz-action/lmvz-action.js +45 -0
  168. package/dist/collection/components/lmvz-button/lmvz-button.css +199 -0
  169. package/dist/collection/components/lmvz-button/lmvz-button.js +245 -0
  170. package/dist/collection/components/lmvz-card/lmvz-card.css +283 -0
  171. package/dist/collection/components/lmvz-card/lmvz-card.js +137 -0
  172. package/dist/collection/components/lmvz-chip/lmvz-chip.css +3 -0
  173. package/dist/collection/components/lmvz-chip/lmvz-chip.js +42 -0
  174. package/dist/collection/components/lmvz-header/lmvz-header.css +49 -0
  175. package/dist/collection/components/lmvz-header/lmvz-header.js +138 -0
  176. package/dist/collection/components/lmvz-icon/icons.js +36 -0
  177. package/dist/collection/components/lmvz-icon/lmvz-icon.css +82 -0
  178. package/dist/collection/components/lmvz-icon/lmvz-icon.js +191 -0
  179. package/dist/collection/components/lmvz-icon/public.js +1 -0
  180. package/dist/collection/components/lmvz-icon/test/icons.unit.js +89 -0
  181. package/dist/collection/components/lmvz-input/lmvz-input.css +201 -0
  182. package/dist/collection/components/lmvz-input/lmvz-input.js +847 -0
  183. package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.css +89 -0
  184. package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.js +97 -0
  185. package/dist/collection/index.js +3 -0
  186. package/dist/collection/integration/header-integration.js +28 -0
  187. package/dist/collection/styles/buttons.css +1 -0
  188. package/dist/collection/styles/router-font.css +1 -0
  189. package/dist/collection/styles/tokens.css +1 -0
  190. package/dist/collection/styles/typography.css +1 -0
  191. package/dist/collection/themes/all.css +1 -0
  192. package/dist/collection/themes/dark.css +1 -0
  193. package/dist/collection/themes/light.css +1 -0
  194. package/dist/collection/utils/component.js +268 -0
  195. package/dist/collection/utils/effect.js +6 -0
  196. package/dist/collection/utils/element-activation-controller.js +27 -0
  197. package/dist/collection/utils/http.js +24 -0
  198. package/dist/collection/utils/http.test.js +46 -0
  199. package/dist/collection/utils/list-keyboard-controller.js +44 -0
  200. package/dist/collection/utils/public.js +1 -0
  201. package/dist/collection/utils/reactive-controller-host.js +39 -0
  202. package/dist/collection/utils/typing.js +1 -0
  203. package/dist/collection/utils/url.js +7 -0
  204. package/dist/collection/utils/validation/aria-validation-controller.js +124 -0
  205. package/dist/collection/utils/validation/svg.js +24 -0
  206. package/dist/components/index.d.ts +53 -0
  207. package/dist/components/index.js +1 -0
  208. package/dist/components/lmvz-action.d.ts +11 -0
  209. package/dist/components/lmvz-action.js +1 -0
  210. package/dist/components/lmvz-button.d.ts +11 -0
  211. package/dist/components/lmvz-button.js +1 -0
  212. package/dist/components/lmvz-card.d.ts +11 -0
  213. package/dist/components/lmvz-card.js +1 -0
  214. package/dist/components/lmvz-chip.d.ts +11 -0
  215. package/dist/components/lmvz-chip.js +1 -0
  216. package/dist/components/lmvz-header.d.ts +11 -0
  217. package/dist/components/lmvz-header.js +1 -0
  218. package/dist/components/lmvz-icon.d.ts +11 -0
  219. package/dist/components/lmvz-icon.js +1 -0
  220. package/dist/components/lmvz-input.d.ts +11 -0
  221. package/dist/components/lmvz-input.js +1 -0
  222. package/dist/components/lmvz-menuitem.d.ts +11 -0
  223. package/dist/components/lmvz-menuitem.js +1 -0
  224. package/dist/components/p-B3JVFwO1.js +1 -0
  225. package/dist/components/p-B85MJLTf.js +1 -0
  226. package/dist/components/p-BFwzIh71.js +1 -0
  227. package/dist/components/p-BaPwpeMs.js +1 -0
  228. package/dist/components/p-CN0JX9-m.js +1 -0
  229. package/dist/components/p-D1HbKFuh.js +12 -0
  230. package/dist/components/p-DDmjv-N_.js +1 -0
  231. package/dist/components/p-DMLRPGid.js +6 -0
  232. package/dist/esm/Effect-D9S7OTyY.js +18963 -0
  233. package/dist/esm/_commonjsHelpers-B85MJLTf.js +5 -0
  234. package/dist/esm/app-globals-DQuL1Twl.js +3 -0
  235. package/dist/esm/aria-validation-controller-C7nQzCCq.js +2926 -0
  236. package/dist/esm/axe-cRQ9Ux1I.js +32832 -0
  237. package/dist/esm/component-B3JVFwO1.js +132 -0
  238. package/dist/esm/element-activation-controller-CN0JX9-m.js +29 -0
  239. package/dist/esm/icons-B71gAZmE.js +655 -0
  240. package/dist/esm/index-Bt32KzDW.js +90 -0
  241. package/dist/esm/index-smGPjoDX.js +2741 -0
  242. package/dist/esm/index.js +85 -0
  243. package/dist/esm/lmvz-action.entry.js +20 -0
  244. package/dist/esm/lmvz-button.entry.js +70 -0
  245. package/dist/esm/lmvz-card.entry.js +31 -0
  246. package/dist/esm/lmvz-chip.entry.js +16 -0
  247. package/dist/esm/lmvz-components.js +21 -0
  248. package/dist/esm/lmvz-header.entry.js +132 -0
  249. package/dist/esm/lmvz-icon.entry.js +74 -0
  250. package/dist/esm/lmvz-input.entry.js +174 -0
  251. package/dist/esm/lmvz-menuitem.entry.js +30 -0
  252. package/dist/esm/loader.js +11 -0
  253. package/dist/index.cjs.js +1 -0
  254. package/dist/index.js +1 -0
  255. package/dist/lmvz-components/assets/LMVZ_logo_175.svg +1 -0
  256. package/dist/lmvz-components/assets/card-placeholder.svg +4 -0
  257. package/dist/lmvz-components/assets/fonts/Router-Bold.woff +0 -0
  258. package/dist/lmvz-components/assets/fonts/Router-Book.woff +0 -0
  259. package/dist/lmvz-components/assets/fonts/Router-Medium.woff +0 -0
  260. package/dist/lmvz-components/assets/icons/Logo.svg +10 -0
  261. package/dist/lmvz-components/assets/icons/actions.svg +5 -0
  262. package/dist/lmvz-components/assets/icons/adduser.svg +3 -0
  263. package/dist/lmvz-components/assets/icons/alert.svg +3 -0
  264. package/dist/lmvz-components/assets/icons/apple.svg +3 -0
  265. package/dist/lmvz-components/assets/icons/arrow-down.svg +3 -0
  266. package/dist/lmvz-components/assets/icons/arrow-left.svg +3 -0
  267. package/dist/lmvz-components/assets/icons/arrow-right.svg +3 -0
  268. package/dist/lmvz-components/assets/icons/arrow-up.svg +3 -0
  269. package/dist/lmvz-components/assets/icons/book.svg +3 -0
  270. package/dist/lmvz-components/assets/icons/bookmark.svg +3 -0
  271. package/dist/lmvz-components/assets/icons/checkmark.svg +3 -0
  272. package/dist/lmvz-components/assets/icons/chevron-down.svg +3 -0
  273. package/dist/lmvz-components/assets/icons/chevron-left.svg +3 -0
  274. package/dist/lmvz-components/assets/icons/chevron-right.svg +3 -0
  275. package/dist/lmvz-components/assets/icons/chevron-up.svg +3 -0
  276. package/dist/lmvz-components/assets/icons/close-l.svg +3 -0
  277. package/dist/lmvz-components/assets/icons/close-sm.svg +3 -0
  278. package/dist/lmvz-components/assets/icons/cog.svg +4 -0
  279. package/dist/lmvz-components/assets/icons/computer.svg +3 -0
  280. package/dist/lmvz-components/assets/icons/dashboard.svg +6 -0
  281. package/dist/lmvz-components/assets/icons/delete.svg +3 -0
  282. package/dist/lmvz-components/assets/icons/download.svg +3 -0
  283. package/dist/lmvz-components/assets/icons/edit.svg +3 -0
  284. package/dist/lmvz-components/assets/icons/external.svg +3 -0
  285. package/dist/lmvz-components/assets/icons/facebook.svg +3 -0
  286. package/dist/lmvz-components/assets/icons/favorite.svg +3 -0
  287. package/dist/lmvz-components/assets/icons/filter.svg +3 -0
  288. package/dist/lmvz-components/assets/icons/group.svg +3 -0
  289. package/dist/lmvz-components/assets/icons/hide.svg +3 -0
  290. package/dist/lmvz-components/assets/icons/home.svg +3 -0
  291. package/dist/lmvz-components/assets/icons/info.svg +3 -0
  292. package/dist/lmvz-components/assets/icons/instagram.svg +3 -0
  293. package/dist/lmvz-components/assets/icons/letter.svg +3 -0
  294. package/dist/lmvz-components/assets/icons/linkedin.svg +5 -0
  295. package/dist/lmvz-components/assets/icons/logout.svg +3 -0
  296. package/dist/lmvz-components/assets/icons/map.svg +3 -0
  297. package/dist/lmvz-components/assets/icons/minus.svg +3 -0
  298. package/dist/lmvz-components/assets/icons/navigation.svg +3 -0
  299. package/dist/lmvz-components/assets/icons/plus.svg +3 -0
  300. package/dist/lmvz-components/assets/icons/qr-scan.svg +3 -0
  301. package/dist/lmvz-components/assets/icons/question.svg +10 -0
  302. package/dist/lmvz-components/assets/icons/reader.svg +3 -0
  303. package/dist/lmvz-components/assets/icons/reset.svg +3 -0
  304. package/dist/lmvz-components/assets/icons/school.svg +3 -0
  305. package/dist/lmvz-components/assets/icons/search.svg +3 -0
  306. package/dist/lmvz-components/assets/icons/send.svg +3 -0
  307. package/dist/lmvz-components/assets/icons/settings.svg +3 -0
  308. package/dist/lmvz-components/assets/icons/share.svg +10 -0
  309. package/dist/lmvz-components/assets/icons/shopping-cart.svg +3 -0
  310. package/dist/lmvz-components/assets/icons/show.svg +3 -0
  311. package/dist/lmvz-components/assets/icons/snapchat.svg +3 -0
  312. package/dist/lmvz-components/assets/icons/sort.svg +3 -0
  313. package/dist/lmvz-components/assets/icons/speech-bubble.svg +3 -0
  314. package/dist/lmvz-components/assets/icons/star.svg +3 -0
  315. package/dist/lmvz-components/assets/icons/student.svg +3 -0
  316. package/dist/lmvz-components/assets/icons/upload.svg +3 -0
  317. package/dist/lmvz-components/assets/icons/user.svg +3 -0
  318. package/dist/lmvz-components/assets/icons/warn-circle.svg +3 -0
  319. package/dist/lmvz-components/assets/icons/warn-triangle.svg +3 -0
  320. package/dist/lmvz-components/assets/icons/whatsapp.svg +4 -0
  321. package/dist/lmvz-components/assets/icons/world.svg +10 -0
  322. package/dist/lmvz-components/assets/icons/x.svg +3 -0
  323. package/dist/lmvz-components/assets/icons/youtube.svg +3 -0
  324. package/dist/lmvz-components/assets/zukunftslinie.svg +3 -0
  325. package/dist/lmvz-components/index.esm.js +1 -0
  326. package/dist/lmvz-components/lmvz-components.esm.js +1 -0
  327. package/dist/lmvz-components/p-87b01940.entry.js +1 -0
  328. package/dist/lmvz-components/p-9faac8f3.entry.js +1 -0
  329. package/dist/lmvz-components/p-B3JVFwO1.js +1 -0
  330. package/dist/lmvz-components/p-B85MJLTf.js +1 -0
  331. package/dist/lmvz-components/p-CN0JX9-m.js +1 -0
  332. package/dist/lmvz-components/p-D1HbKFuh.js +12 -0
  333. package/dist/lmvz-components/p-D9S7OTyY.js +1 -0
  334. package/dist/lmvz-components/p-DMLRPGid.js +6 -0
  335. package/dist/lmvz-components/p-DQuL1Twl.js +1 -0
  336. package/dist/lmvz-components/p-DlIX18fw.js +1 -0
  337. package/dist/lmvz-components/p-DlrjrWsu.js +1 -0
  338. package/dist/lmvz-components/p-a4615e4b.entry.js +1 -0
  339. package/dist/lmvz-components/p-a8c88454.entry.js +1 -0
  340. package/dist/lmvz-components/p-d4b68381.entry.js +1 -0
  341. package/dist/lmvz-components/p-e63e239a.entry.js +1 -0
  342. package/dist/lmvz-components/p-f956a5e7.entry.js +1 -0
  343. package/dist/lmvz-components/p-fefd2fe4.entry.js +1 -0
  344. package/dist/lmvz-components/p-smGPjoDX.js +2 -0
  345. package/dist/lmvz-components/styles/buttons.css +1 -0
  346. package/dist/lmvz-components/styles/router-font.css +1 -0
  347. package/dist/lmvz-components/styles/tokens.css +1 -0
  348. package/dist/lmvz-components/styles/typography.css +1 -0
  349. package/dist/lmvz-components/themes/all.css +1 -0
  350. package/dist/lmvz-components/themes/dark.css +1 -0
  351. package/dist/lmvz-components/themes/light.css +1 -0
  352. package/dist/manifest.d.ts +480 -0
  353. package/dist/manifest.json +5184 -0
  354. package/dist/types/api/aria-types.d.ts +9 -0
  355. package/dist/types/api/ds.constants.d.ts +8 -0
  356. package/dist/types/api/ds.types.d.ts +39 -0
  357. package/dist/types/api/index.d.ts +3 -0
  358. package/dist/types/components/lmvz-action/lmvz-action.d.ts +6 -0
  359. package/dist/types/components/lmvz-button/lmvz-button.d.ts +25 -0
  360. package/dist/types/components/lmvz-card/lmvz-card.d.ts +11 -0
  361. package/dist/types/components/lmvz-chip/lmvz-chip.d.ts +4 -0
  362. package/dist/types/components/lmvz-header/lmvz-header.d.ts +23 -0
  363. package/dist/types/components/lmvz-icon/icons.d.ts +8 -0
  364. package/dist/types/components/lmvz-icon/lmvz-icon.d.ts +20 -0
  365. package/dist/types/components/lmvz-icon/public.d.ts +1 -0
  366. package/dist/types/components/lmvz-icon/test/icons.unit.d.ts +1 -0
  367. package/dist/types/components/lmvz-input/lmvz-input.d.ts +63 -0
  368. package/dist/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +12 -0
  369. package/dist/types/components.d.ts +773 -0
  370. package/dist/types/index.d.ts +5 -0
  371. package/dist/types/stencil-public-runtime.d.ts +1860 -0
  372. package/dist/types/utils/component.d.ts +36 -0
  373. package/dist/types/utils/effect.d.ts +3 -0
  374. package/dist/types/utils/element-activation-controller.d.ts +19 -0
  375. package/dist/types/utils/http.d.ts +24 -0
  376. package/dist/types/utils/http.test.d.ts +1 -0
  377. package/dist/types/utils/list-keyboard-controller.d.ts +13 -0
  378. package/dist/types/utils/public.d.ts +1 -0
  379. package/dist/types/utils/reactive-controller-host.d.ts +26 -0
  380. package/dist/types/utils/typing.d.ts +3 -0
  381. package/dist/types/utils/url.d.ts +8 -0
  382. package/dist/types/utils/validation/aria-validation-controller.d.ts +31 -0
  383. package/dist/types/utils/validation/svg.d.ts +11 -0
  384. package/hydrate/index.d.ts +287 -0
  385. package/hydrate/index.js +78213 -0
  386. package/hydrate/index.mjs +78203 -0
  387. package/hydrate/package.json +12 -0
  388. package/loader/cdn.js +1 -0
  389. package/loader/index.cjs.js +1 -0
  390. package/loader/index.d.ts +24 -0
  391. package/loader/index.es2017.js +1 -0
  392. package/loader/index.js +2 -0
  393. package/package.json +216 -0
  394. package/readme.md +193 -0
@@ -0,0 +1,85 @@
1
+ export { c as clearIconCache } from './icons-B71gAZmE.js';
2
+ import { r as runPromise } from './Effect-D9S7OTyY.js';
3
+ import './index-smGPjoDX.js';
4
+
5
+ const variants = ['primary', 'secondary', 'tertiary'];
6
+ const scaleValues = ['small', 'default', 'large'];
7
+ const sizes = ['xs', 'sm', 'md', 'lg'];
8
+ const textSizes = [...sizes, 'xl'];
9
+ const inputTypes = ['text', 'email', 'password', 'tel', 'url', 'search', 'number'];
10
+ const iconSizes = [...sizes, 'inherit'];
11
+ const iconWeights = ['thin', 'medium', 'bold', 'filled'];
12
+ const iconNames = [
13
+ 'Logo',
14
+ 'actions',
15
+ 'adduser',
16
+ 'alert',
17
+ 'apple',
18
+ 'arrow-down',
19
+ 'arrow-left',
20
+ 'arrow-right',
21
+ 'arrow-up',
22
+ 'book',
23
+ 'bookmark',
24
+ 'checkmark',
25
+ 'chevron-down',
26
+ 'chevron-left',
27
+ 'chevron-right',
28
+ 'chevron-up',
29
+ 'close-l',
30
+ 'close-sm',
31
+ 'cog',
32
+ 'computer',
33
+ 'dashboard',
34
+ 'delete',
35
+ 'download',
36
+ 'edit',
37
+ 'external',
38
+ 'facebook',
39
+ 'favorite',
40
+ 'filter',
41
+ 'group',
42
+ 'hide',
43
+ 'home',
44
+ 'info',
45
+ 'instagram',
46
+ 'letter',
47
+ 'linkedin',
48
+ 'logout',
49
+ 'map',
50
+ 'minus',
51
+ 'navigation',
52
+ 'plus',
53
+ 'qr-scan',
54
+ 'question',
55
+ 'reader',
56
+ 'reset',
57
+ 'school',
58
+ 'search',
59
+ 'send',
60
+ 'settings',
61
+ 'share',
62
+ 'shopping-cart',
63
+ 'show',
64
+ 'snapchat',
65
+ 'sort',
66
+ 'speech-bubble',
67
+ 'star',
68
+ 'student',
69
+ 'upload',
70
+ 'user',
71
+ 'warn-circle',
72
+ 'warn-triangle',
73
+ 'whatsapp',
74
+ 'world',
75
+ 'x',
76
+ 'youtube',
77
+ ];
78
+
79
+ function run(effect) {
80
+ return runPromise(effect).catch(error => {
81
+ console.error('Unhandled error in Effect:', error);
82
+ });
83
+ }
84
+
85
+ export { iconNames, iconSizes, iconWeights, inputTypes, run, scaleValues, sizes, textSizes, variants };
@@ -0,0 +1,20 @@
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-smGPjoDX.js';
2
+
3
+ const lmvzActionCss = () => `:host{display:block}`;
4
+
5
+ const LmvzAction = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.actionClick = createEvent(this, "actionClick");
9
+ }
10
+ actionClick;
11
+ _onClick(event) {
12
+ this.actionClick.emit(event);
13
+ }
14
+ render() {
15
+ return (h(Host, { key: '71303bfe6ac64a96edd21800ae5e8c43a3a38c23', onClick: this._onClick.bind(this) }, h("slot", { key: '94922fdfd355e7e4d1b78bedb80ae814c186b199' })));
16
+ }
17
+ };
18
+ LmvzAction.style = lmvzActionCss();
19
+
20
+ export { LmvzAction as lmvz_action };
@@ -0,0 +1,70 @@
1
+ import { g as getElement, r as registerInstance, c as createEvent, h, H as Host } from './index-smGPjoDX.js';
2
+ import { c as classNames } from './index-Bt32KzDW.js';
3
+ import { i as inheritAriaAttributes, f as findFormByRef } from './component-B3JVFwO1.js';
4
+ import { E as ElementActivationController } from './element-activation-controller-CN0JX9-m.js';
5
+ import { R as ReactiveControllerHost, A as AriaValidationController } from './aria-validation-controller-C7nQzCCq.js';
6
+ import './_commonjsHelpers-B85MJLTf.js';
7
+ import './Effect-D9S7OTyY.js';
8
+
9
+ const lmvzButtonCss = () => ` @layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { h1, h2, h3, h4, h5, h6 { margin: 0; } } :host { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-selected, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #d4d4d4); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: contents; } ::slotted(*) { --lmvz-component-color: var(--lmvz-button-color); } `;
10
+
11
+ const LmvzButton = class extends ReactiveControllerHost {
12
+ get el() { return getElement(this); }
13
+ inheritedAttributes = {};
14
+ formEl = null;
15
+ formButtonEl = null;
16
+ lmvzActivation;
17
+ get ti() {
18
+ return 0;
19
+ }
20
+ scale = 'default';
21
+ variant = 'secondary';
22
+ disabled = false;
23
+ type = 'button';
24
+ form;
25
+ constructor(hostRef) {
26
+ super();
27
+ registerInstance(this, hostRef);
28
+ this.lmvzActivation = createEvent(this, "lmvzActivation");
29
+ this.addController(new AriaValidationController(this));
30
+ this.addController(new ElementActivationController(this, {
31
+ localHandler: this.handleClick.bind(this),
32
+ keys: ['Enter'],
33
+ }));
34
+ }
35
+ connectedCallback() {
36
+ this.inheritedAttributes = inheritAriaAttributes(this.el);
37
+ }
38
+ renderHiddenButton() {
39
+ const formEl = (this.formEl = findFormByRef(this.form, this.el));
40
+ if (!formEl)
41
+ return;
42
+ const { formButtonEl } = this;
43
+ if (formButtonEl !== null && formEl.contains(formButtonEl))
44
+ return;
45
+ const newFormButtonEl = (this.formButtonEl = document.createElement('button'));
46
+ newFormButtonEl.type = 'submit';
47
+ newFormButtonEl.style.display = 'none';
48
+ newFormButtonEl.disabled = this.disabled;
49
+ formEl.appendChild(newFormButtonEl);
50
+ }
51
+ submitForm(ev) {
52
+ if (this.formEl && this.formButtonEl) {
53
+ ev.preventDefault();
54
+ this.formButtonEl.click();
55
+ }
56
+ }
57
+ handleClick = (ev) => {
58
+ if (this.type === 'submit') {
59
+ this.submitForm(ev);
60
+ }
61
+ };
62
+ render() {
63
+ this.renderHiddenButton();
64
+ return (h(Host, { key: '1c96281344dd604e2e4c919ea72907a9e934e5c6', "aria-disabled": this.disabled ? 'true' : null }, h("button", { key: '16728ce6fee7d121e7120aa993031777f6d8570e', disabled: this.disabled, class: classNames(this.variant, { [this.scale ?? '']: !!this.scale, disabled: this.disabled }), ...this.inheritedAttributes }, h("slot", { key: 'e1b0d95953bdbd42885eecdeef8b457070e7e247' }))));
65
+ }
66
+ static get delegatesFocus() { return true; }
67
+ };
68
+ LmvzButton.style = lmvzButtonCss();
69
+
70
+ export { LmvzButton as lmvz_button };
@@ -0,0 +1,31 @@
1
+ import { r as registerInstance, c as createEvent, a as getAssetPath, h, H as Host } from './index-smGPjoDX.js';
2
+
3
+ const lmvzCardCss = () => `@layer lmvz-ds.reset, lmvz-ds.theme, lmvz-ds.components, lmvz-ds.overrides; @layer lmvz-ds.theme { @font-face { font-family: Router; src: local('Router-Book'), url('/assets/fonts/Router-Book.woff') format('woff'), local('Router'); font-weight: 400 normal; } @font-face { font-family: Router; src: local('Router-Medium'), url('/assets/fonts/Router-Medium.woff') format('woff'), local('Router'); font-weight: 500; } @font-face { font-family: Router; src: local('Router-Bold'), url('/assets/fonts/Router-Bold.woff') format('woff'), local('Router'); font-weight: 700 bold; } } @layer lmvz-ds.reset { h1, h2, h3, h4, h5, h6 { margin: 0; } } .sc-lmvz-card-h { button { --lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff)); --lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))); --lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); --lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px); --lmvz-button-border-width: 0; --lmvz-button-border-color: transparent; --lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000); display: inline-flex; align-items: center; justify-content: center; gap: var(--lmvz-button-gap); padding-block: var(--lmvz-button-padding-block); padding-inline: var(--lmvz-button-padding-inline); border-radius: var(--lmvz-button-radius); border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color); background-color: var(--lmvz-button-background); color: var(--lmvz-button-color); cursor: pointer; font: var(--lmvz-button-font); text-align: center; text-decoration: none; white-space: nowrap; transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; } button > * { font: inherit; color: inherit; } button:focus-visible { outline: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-selected, #f1f9fe); outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); } button:is([disabled], .disabled) { cursor: not-allowed; pointer-events: none; opacity: var(--lmvz-component-input-disabled-opacity, 40%); } button:not([disabled]):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e); } button:not([disabled]):active { --lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454); } button.secondary { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0); --lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000); --lmvz-button-border-width: var(--lmvz-semantic-border-width-default, 1px); --lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0); } button.secondary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0); --lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7); } button.secondary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4); --lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #d4d4d4); } button.tertiary { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff); --lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454); } button.tertiary:not([disabled], .disabled):hover { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0); } button.tertiary:not([disabled], .disabled):active { --lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0); } button.small { --lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); --lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } button.large { --lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem)); --lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); --lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4 Router); } display: flex; min-width: var(--lmvz-other-component-card-minwidth, 20.4375rem); max-width: var(--lmvz-other-component-card-maxwidth, 21.6875rem); flex-direction: column; align-items: flex-start; border-radius: var(--lmvz-semantic-border-radius-lg, 14px); border: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-default, #e0e0e0); background: var(--lmvz-semantic-color-surface-primary, #ffffff); } *.sc-lmvz-card { color: var(--lmvz-semantic-color-on-surface-primary, #000000); font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } .top.sc-lmvz-card { display: flex; padding: var(--lmvz-dimension-8-12, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem)); flex-direction: column; justify-content: center; align-items: center; align-self: stretch; } .bottom.sc-lmvz-card { display: flex; min-width: 150px; padding: var(--lmvz-dimension-4-6, clamp(0.25rem, 0.22rem + 0.13vw, 0.38rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)) var(--lmvz-dimension-10-14, clamp(0.63rem, 0.56rem + 0.26vw, 0.88rem)); flex-direction: column; align-items: flex-start; align-self: stretch; } .title.sc-lmvz-card { margin: 0; display: flex; justify-content: center; align-items: center; align-self: stretch; padding-bottom: var(--lmvz-global-s4, 4px); overflow-wrap: break-word; font: var(--lmvz-typography-heading-2xl, 500 clamp(2rem, 1.94rem + 0.26vw, 2.25rem) / 1.2 Router); } .description.sc-lmvz-card { display: flex; margin: 0; padding-bottom: var(--lmvz-component-body-sm-padding-bottom, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-items: flex-start; align-self: stretch; white-space: pre-line; font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4 Router); } .image-wrapper.sc-lmvz-card { aspect-ratio: 4 / 3; width: 100%; background-size: cover; background-position: center; flex: 1 0 0; align-self: stretch; border-radius: var(--lmvz-semantic-border-radius-md, 6px); } .actions.sc-lmvz-card { margin-top: var(--lmvz-component-form-wrapper-gap-y, clamp(1.13rem, 0.97rem + 0.65vw, 1.75rem)); display: flex; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); align-self: stretch; } button.primary.sc-lmvz-card, lmvz-button.primary.sc-lmvz-card { display: flex; justify-content: center; align-items: center; gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem)); flex: 1 0 0; }`;
4
+
5
+ const LmvzCard = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.primaryAction = createEvent(this, "primaryAction");
9
+ }
10
+ cardTitle;
11
+ imageUrl;
12
+ description;
13
+ primaryActionLabel = '';
14
+ primaryAction;
15
+ _onPrimaryClick() {
16
+ this.primaryAction.emit();
17
+ }
18
+ _onOverflowClick(event) {
19
+ console.log(event);
20
+ }
21
+ render() {
22
+ const imgStyle = {
23
+ backgroundImage: `url(${this.imageUrl ?? getAssetPath('./card-placeholder.svg')})`,
24
+ };
25
+ return (h(Host, { key: 'd17230c2587b87c1fa5514875e15b7d7930857bc', role: "article" }, h("div", { key: 'bf8c631ee99651a10c01774a4da20142d04342db', class: "top" }, h("div", { key: 'fb8224ec00bc8e0c5b1668a6ed63e36b52a11d55', class: "image-wrapper", style: imgStyle }, h("div", { key: '26c65e0c8083faec2854a332e83b5e8abaf8c2fd', class: "chip-slot" }, h("slot", { key: 'b5406113b36fcb23dd08cc75e34ae64923357cd3', name: "chip" })))), h("div", { key: '1eb0b6682830da00fa006fcaa9763e8d33adf446', class: "bottom" }, h("header", { key: '5930f28a48304296be40fc337a6990a1444cdcdb' }, h("h2", { key: '0138cdc21b5ac8b40b40988937ba24292532e069', class: "title" }, this.cardTitle)), h("p", { key: '45a9e7947ae99d1db67efa4aa04c3186d02a97c7', class: "description" }, this.description), h("div", { key: '940a8a5e7e38f65efa0d7bb25a56131e4456c248', class: "actions" }, h("button", { key: '35b0a7ae68fb9ac8c62e181b0087a312a85da185', class: "primary", onClick: this._onPrimaryClick.bind(this), "data-testid": "primary" }, this.primaryActionLabel), h("button", { key: '6d391205d50a8ab92336bad0bd70fd24f00b5cda', class: "tertiary", "aria-label": "More actions", onClick: this._onOverflowClick }, h("span", { key: 'dca656b4c1758c1fdcc3c7d971e58b6a63fcd0d1', class: "icon-placeholder" }, "..."))))));
26
+ }
27
+ static get assetsDirs() { return ["../../assets"]; }
28
+ };
29
+ LmvzCard.style = lmvzCardCss();
30
+
31
+ export { LmvzCard as lmvz_card };
@@ -0,0 +1,16 @@
1
+ import { r as registerInstance, h, H as Host } from './index-smGPjoDX.js';
2
+
3
+ const lmvzChipCss = () => `:host{display:block}`;
4
+
5
+ const LmvzChip = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ }
9
+ text;
10
+ render() {
11
+ return h(Host, { key: 'b247f41d22bcf77998bf5a49669f1aa8d7fd3a63' }, this.text);
12
+ }
13
+ };
14
+ LmvzChip.style = lmvzChipCss();
15
+
16
+ export { LmvzChip as lmvz_chip };
@@ -0,0 +1,21 @@
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-smGPjoDX.js';
2
+ export { s as setNonce } from './index-smGPjoDX.js';
3
+ import { g as globalScripts } from './app-globals-DQuL1Twl.js';
4
+
5
+ /*
6
+ Stencil Client Patch Browser v4.43.2 | MIT Licensed | https://stenciljs.com
7
+ */
8
+
9
+ var patchBrowser = () => {
10
+ const importMeta = import.meta.url;
11
+ const opts = {};
12
+ if (importMeta !== "") {
13
+ opts.resourcesUrl = new URL(".", importMeta).href;
14
+ }
15
+ return promiseResolve(opts);
16
+ };
17
+
18
+ patchBrowser().then(async (options) => {
19
+ await globalScripts();
20
+ return bootstrapLazy([["lmvz-header",[[769,"lmvz-header",{"role":[2561],"lmvzActiveNav":[1,"lmvz-active-nav"]},null,{"lmvzActiveNav":[{"handleActiveNavChange":0}]}]]],["lmvz-action",[[257,"lmvz-action"]]],["lmvz-button",[[785,"lmvz-button",{"ti":[2562,"tabindex"],"scale":[513],"variant":[513],"disabled":[516],"type":[1],"form":[1]}]]],["lmvz-card",[[774,"lmvz-card",{"cardTitle":[1,"card-title"],"imageUrl":[1,"image-url"],"description":[1],"primaryActionLabel":[1,"primary-action-label"]}]]],["lmvz-chip",[[513,"lmvz-chip",{"text":[1]}]]],["lmvz-input",[[838,"lmvz-input",{"value":[1025],"label":[1],"helperText":[1,"helper-text"],"placeholder":[1],"disabled":[516],"readonly":[516],"required":[516],"name":[1],"type":[1],"errorMessage":[1,"error-message"],"autocomplete":[1],"inputmode":[1],"autocorrect":[1],"autocapitalize":[1],"spellcheck":[4],"autofocus":[4],"minlength":[2],"maxlength":[2],"pattern":[1],"min":[8],"max":[8],"step":[8],"form":[1],"error":[6660],"nativeError":[32],"setValue":[64],"focusInput":[64],"blurInput":[64],"select":[64],"checkValidity":[64],"reportValidity":[64],"getInputElement":[64]},null,{"value":[{"handleValueChange":0}],"disabled":[{"handleDisabledChange":0}]}]]],["lmvz-menuitem",[[774,"lmvz-menuitem",{"role":[2561],"ti":[2562,"tabindex"]}]]],["lmvz-icon",[[514,"lmvz-icon",{"icon":[513],"weight":[513],"size":[513],"ariaLabel":[513,"aria-label"],"iconData":[32],"visible":[32]},null,{"icon":[{"loadIconPathData":0}]}]]]], options);
21
+ });
@@ -0,0 +1,132 @@
1
+ import { g as getElement, r as registerInstance, h, H as Host } from './index-smGPjoDX.js';
2
+ import { g as getDeepActiveElement, c as canReceiveFocus } from './component-B3JVFwO1.js';
3
+ import { R as ReactiveControllerHost, A as AriaValidationController } from './aria-validation-controller-C7nQzCCq.js';
4
+ import './Effect-D9S7OTyY.js';
5
+
6
+ class ListKeyboardNavigationController {
7
+ host;
8
+ elements = [];
9
+ constructor(host) {
10
+ this.host = host;
11
+ }
12
+ hostDidRender() {
13
+ this.host.el.addEventListener('keydown', this.handleKeydown);
14
+ }
15
+ updateElements(elements) {
16
+ this.elements = elements;
17
+ }
18
+ handleKeydown = (event) => {
19
+ const { key } = event;
20
+ if (!['ArrowDown', 'ArrowRight', 'ArrowUp', 'ArrowLeft'].includes(key))
21
+ return;
22
+ const activeElement = getDeepActiveElement(document);
23
+ const nextElement = this.getNextFocusableElement(activeElement, ['ArrowDown', 'ArrowRight'].includes(key) ? 'down' : 'up');
24
+ if (nextElement) {
25
+ event.preventDefault();
26
+ nextElement.focus?.();
27
+ }
28
+ };
29
+ getNextFocusableElement(current, direction) {
30
+ const { elements } = this;
31
+ const currentIndex = elements.indexOf(current);
32
+ if (currentIndex === -1)
33
+ return null;
34
+ let nextIndex = null;
35
+ if (direction === 'down') {
36
+ nextIndex = (currentIndex + 1) % elements.length;
37
+ }
38
+ else if (direction === 'up') {
39
+ nextIndex = (currentIndex - 1 + elements.length) % elements.length;
40
+ }
41
+ if (nextIndex == null)
42
+ return null;
43
+ const candidate = elements[nextIndex];
44
+ if (!canReceiveFocus(candidate))
45
+ return this.getNextFocusableElement(candidate, direction);
46
+ return candidate;
47
+ }
48
+ }
49
+
50
+ const lmvzHeaderCss = () => `:host{display:flex;width:100vw;flex-direction:row;align-items:center;box-sizing:border-box;background-color:var(--lmvz-semantic-color-surface-primary, #ffffff);--lmvz-header-x-spacing-level-1:var(--lmvz-dimension-8-28, clamp(0.5rem, 0.2rem + 1.29vw, 1.75rem));--lmvz-header-x-spacing-level-2:var(--lmvz-component-buttongroup-wrapper-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem));padding:var(--lmvz-dimension-8-16, clamp(0.5rem, 0.38rem + 0.52vw, 1rem)) var(--lmvz-header-x-spacing-level-1);gap:var(--lmvz-header-x-spacing-level-1);.brand{display:inline-flex;justify-content:center;align-items:center}#fallback-logo-lmvz{height:34px;width:auto}nav{flex-grow:1}.primary-menubar{display:flex;flex-direction:row;align-items:center}.secondary-menubar{display:flex;flex-direction:row;align-items:center;margin-left:var(--lmvz-header-x-spacing-level-2);padding-left:var(--lmvz-header-x-spacing-level-2);border-left:1px solid var(--lmvz-semantic-color-border-default, #e0e0e0)}}`;
51
+
52
+ const LmvzHeader = class extends ReactiveControllerHost {
53
+ get el() { return getElement(this); }
54
+ primarySlot;
55
+ secondarySlot;
56
+ secondaryNav;
57
+ keyboardNavigationController = new ListKeyboardNavigationController(this);
58
+ get primaryMenuitems() {
59
+ return this.primarySlot.assignedElements({ flatten: false });
60
+ }
61
+ get secondaryMenuitems() {
62
+ return this.secondarySlot.assignedElements({ flatten: true });
63
+ }
64
+ get role() {
65
+ return 'banner';
66
+ }
67
+ lmvzActiveNav;
68
+ get secondarySlotName() {
69
+ return `connect-nav-${this.lmvzActiveNav}`;
70
+ }
71
+ constructor(hostRef) {
72
+ super();
73
+ registerInstance(this, hostRef);
74
+ this.addController(new AriaValidationController(this, { reValidateOnPropChanges: true }));
75
+ this.addController(this.keyboardNavigationController);
76
+ }
77
+ handleActiveNavChange() {
78
+ this.updateElementsActive();
79
+ }
80
+ componentDidLoad() {
81
+ this.primarySlot.addEventListener('slotchange', this.handlePrimaryNavChange.bind(this));
82
+ this.handlePrimaryNavChange();
83
+ this.secondarySlot.addEventListener('slotchange', this.handleSecondaryNavChange.bind(this));
84
+ }
85
+ handlePrimaryNavChange() {
86
+ const items = this.primaryMenuitems;
87
+ if (!items.length) {
88
+ console.warn('Primary slot has no assigned elements. Please add navigation items to the primary slot.');
89
+ return;
90
+ }
91
+ items.forEach(el => {
92
+ el.setAttribute('aria-haspopup', 'true');
93
+ el.setAttribute('aria-controls', `nav-secondary`);
94
+ });
95
+ this.updateElementsActive();
96
+ }
97
+ handleSecondaryNavChange() {
98
+ const items = this.secondaryMenuitems;
99
+ if (!items.length) {
100
+ return;
101
+ }
102
+ this.keyboardNavigationController.updateElements([...this.primaryMenuitems, ...this.secondaryMenuitems]);
103
+ }
104
+ updateElementsActive() {
105
+ const items = this.primaryMenuitems;
106
+ let label;
107
+ items.forEach(el => {
108
+ const isActive = el.id === this.lmvzActiveNav;
109
+ if (isActive)
110
+ label = el.textContent || el.id;
111
+ el.setAttribute('aria-expanded', isActive ? 'true' : 'false');
112
+ });
113
+ this.secondaryNav.setAttribute('aria-label', `Untermenü für ${label}`);
114
+ }
115
+ delegateFocus() {
116
+ const firstFocusable = this.primaryMenuitems[0];
117
+ if (firstFocusable) {
118
+ firstFocusable.focus();
119
+ }
120
+ }
121
+ render() {
122
+ return (h(Host, { key: '58934683ff442801eb34f025ac809631f93a27e8', onFocus: this.delegateFocus.bind(this) }, h("div", { key: '35d3eadfabb70f83b313f946c8d31f9c223e8344', class: "brand" }, h("slot", { key: '5ce98314d980d63e1c87f508d96119aca2e702a9', name: "brand" }, h("lmvz-icon", { key: 'b24e61a9071d81948d506a8c545e012d3f0e5dd2', id: "fallback-logo-lmvz", icon: "Logo", size: "inherit", "aria-label": "Lehrmittelverlag Z\u00FCrich" }))), h("nav", { key: '1d5cc9010ef90e6cebc8a7b054db595f35f9e040', "aria-label": "Hauptnavigation" }, h("div", { key: '488a1b1544242562b57d76169f1988d84c611de4', role: "menubar", class: "primary-menubar" }, h("slot", { key: '59c6dd1442290931ed9a55f7bacc65ea4bb9ff6d', name: "nav-primary", ref: el => (this.primarySlot = el) }), h("separator", { key: '2729f0e8b115614c50c4a16b6684a3bdb21856b8' }), h("div", { key: '6b5bed5951bad9173fefdc78039e71c4ccc120b2', role: "menu", id: "nav-secondary", class: "secondary-menubar", hidden: !this.lmvzActiveNav, ref: el => (this.secondaryNav = el) }, h("slot", { key: '02f5a13e8851372c1698e3f786a8757a0a09c32f', name: this.secondarySlotName, ref: el => (this.secondarySlot = el) })))), h("div", { key: '53aafe8139bcea27d3039f64a48974cdb5aac5f9', class: "actions" }, h("slot", { key: 'f12ee19831073253e6ba8e251ba31ec403c21035', name: "actions" }))));
123
+ }
124
+ static get watchers() { return {
125
+ "lmvzActiveNav": [{
126
+ "handleActiveNavChange": 0
127
+ }]
128
+ }; }
129
+ };
130
+ LmvzHeader.style = lmvzHeaderCss();
131
+
132
+ export { LmvzHeader as lmvz_header };
@@ -0,0 +1,74 @@
1
+ import { g as getElement, r as registerInstance, h, H as Host } from './index-smGPjoDX.js';
2
+ import { r as runPromise, t as tapError, l as logError, c as catchAll, s as succeed } from './Effect-D9S7OTyY.js';
3
+ import { R as ReactiveControllerHost, A as AriaValidationController } from './aria-validation-controller-C7nQzCCq.js';
4
+ import { f as fetchIconSvg, e as emptyDefaultSvg } from './icons-B71gAZmE.js';
5
+
6
+ const lmvzIconCss = () => `.sc-lmvz-icon-h{--lmvz-icon-color:var(--lmvz-component-color, var(--lmvz-semantic-color-on-surface-input-primary, #000000));display:inline-block;line-height:0;svg{display:block}svg>path{stroke:var(--lmvz-icon-color);fill:none}}[size='xs'].sc-lmvz-icon-h{svg{width:var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.69rem + 0.26vw, 1rem));height:var(--lmvz-component-icon-size-xs, clamp(0.75rem, 0.69rem + 0.26vw, 1rem))}}[size='sm'].sc-lmvz-icon-h{svg{width:var(--lmvz-component-icon-size-sm, clamp(0.88rem, 0.81rem + 0.26vw, 1.13rem));height:var(--lmvz-component-icon-size-sm, clamp(0.88rem, 0.81rem + 0.26vw, 1.13rem))}}[size='md'].sc-lmvz-icon-h{svg{width:var(--lmvz-component-icon-size-md, clamp(1rem, 0.88rem + 0.52vw, 1.5rem));height:var(--lmvz-component-icon-size-md, clamp(1rem, 0.88rem + 0.52vw, 1.5rem))}}[size='lg'].sc-lmvz-icon-h{svg{width:var(--lmvz-component-icon-size-lg, clamp(1.5rem, 1.38rem + 0.52vw, 2rem));height:var(--lmvz-component-icon-size-lg, clamp(1.5rem, 1.38rem + 0.52vw, 2rem))}}[size='inherit'].sc-lmvz-icon-h{svg{width:inherit;height:inherit}}[weight='light'].sc-lmvz-icon-h{svg>path{stroke-width:1}}[weight='medium'].sc-lmvz-icon-h{svg>path{stroke-width:1.5}}[weight='bold'].sc-lmvz-icon-h{svg>path{stroke-width:2}}[weight='filled'].sc-lmvz-icon-h{svg>path{stroke-width:2;fill:var(--lmvz-icon-color)}}`;
7
+
8
+ const LmvzIcon = class extends ReactiveControllerHost {
9
+ intersectionObserver;
10
+ get el() { return getElement(this); }
11
+ icon;
12
+ weight = 'medium';
13
+ size = 'md';
14
+ iconData;
15
+ visible = false;
16
+ ariaLabel;
17
+ get ariaHidden() {
18
+ return !this.ariaLabel;
19
+ }
20
+ constructor(hostRef) {
21
+ super();
22
+ registerInstance(this, hostRef);
23
+ this.addController(new AriaValidationController(this));
24
+ }
25
+ connectedCallback() {
26
+ this.waitUntilVisible(() => {
27
+ this.visible = true;
28
+ this.loadIconPathData();
29
+ });
30
+ }
31
+ disconnectedCallback() {
32
+ if (this.intersectionObserver) {
33
+ this.intersectionObserver.disconnect();
34
+ this.intersectionObserver = null;
35
+ }
36
+ }
37
+ async loadIconPathData() {
38
+ const { icon, visible } = this;
39
+ if (!icon || !visible) {
40
+ return;
41
+ }
42
+ this.iconData = await runPromise(fetchIconSvg(this.icon).pipe(tapError(error => logError(`Error loading icon "${icon}":`, error.message, error.cause, error.stack)), catchAll(() => succeed(emptyDefaultSvg()))));
43
+ }
44
+ render() {
45
+ return h(Host, { key: '50d0f96ec5085a47ca7783e5232dfb503fa32d29', role: "img", "aria-hidden": `${this.ariaHidden}`, innerHTML: this.iconData });
46
+ }
47
+ waitUntilVisible(callback, rootMargin = 50) {
48
+ if (typeof window === 'undefined' || !window.IntersectionObserver) {
49
+ callback();
50
+ return;
51
+ }
52
+ this.intersectionObserver = new IntersectionObserver(entries => {
53
+ entries.some(entry => {
54
+ if (entry.isIntersecting) {
55
+ this.intersectionObserver.disconnect();
56
+ this.intersectionObserver = null;
57
+ callback();
58
+ return true;
59
+ }
60
+ return false;
61
+ });
62
+ }, { rootMargin: `${rootMargin}px` });
63
+ this.intersectionObserver.observe(this.el);
64
+ }
65
+ static get assetsDirs() { return ["../../assets/icons"]; }
66
+ static get watchers() { return {
67
+ "icon": [{
68
+ "loadIconPathData": 0
69
+ }]
70
+ }; }
71
+ };
72
+ LmvzIcon.style = lmvzIconCss();
73
+
74
+ export { LmvzIcon as lmvz_icon };