@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.
- package/LICENSE.txt +3 -0
- package/assets/LMVZ_logo_175.svg +1 -0
- package/assets/card-placeholder.svg +4 -0
- package/assets/fonts/Router-Bold.woff +0 -0
- package/assets/fonts/Router-Book.woff +0 -0
- package/assets/fonts/Router-Medium.woff +0 -0
- package/assets/icons/Logo.svg +10 -0
- package/assets/icons/actions.svg +5 -0
- package/assets/icons/adduser.svg +3 -0
- package/assets/icons/alert.svg +3 -0
- package/assets/icons/apple.svg +3 -0
- package/assets/icons/arrow-down.svg +3 -0
- package/assets/icons/arrow-left.svg +3 -0
- package/assets/icons/arrow-right.svg +3 -0
- package/assets/icons/arrow-up.svg +3 -0
- package/assets/icons/book.svg +3 -0
- package/assets/icons/bookmark.svg +3 -0
- package/assets/icons/checkmark.svg +3 -0
- package/assets/icons/chevron-down.svg +3 -0
- package/assets/icons/chevron-left.svg +3 -0
- package/assets/icons/chevron-right.svg +3 -0
- package/assets/icons/chevron-up.svg +3 -0
- package/assets/icons/close-l.svg +3 -0
- package/assets/icons/close-sm.svg +3 -0
- package/assets/icons/cog.svg +4 -0
- package/assets/icons/computer.svg +3 -0
- package/assets/icons/dashboard.svg +6 -0
- package/assets/icons/delete.svg +3 -0
- package/assets/icons/download.svg +3 -0
- package/assets/icons/edit.svg +3 -0
- package/assets/icons/external.svg +3 -0
- package/assets/icons/facebook.svg +3 -0
- package/assets/icons/favorite.svg +3 -0
- package/assets/icons/filter.svg +3 -0
- package/assets/icons/group.svg +3 -0
- package/assets/icons/hide.svg +3 -0
- package/assets/icons/home.svg +3 -0
- package/assets/icons/info.svg +3 -0
- package/assets/icons/instagram.svg +3 -0
- package/assets/icons/letter.svg +3 -0
- package/assets/icons/linkedin.svg +5 -0
- package/assets/icons/logout.svg +3 -0
- package/assets/icons/map.svg +3 -0
- package/assets/icons/minus.svg +3 -0
- package/assets/icons/navigation.svg +3 -0
- package/assets/icons/plus.svg +3 -0
- package/assets/icons/qr-scan.svg +3 -0
- package/assets/icons/question.svg +10 -0
- package/assets/icons/reader.svg +3 -0
- package/assets/icons/reset.svg +3 -0
- package/assets/icons/school.svg +3 -0
- package/assets/icons/search.svg +3 -0
- package/assets/icons/send.svg +3 -0
- package/assets/icons/settings.svg +3 -0
- package/assets/icons/share.svg +10 -0
- package/assets/icons/shopping-cart.svg +3 -0
- package/assets/icons/show.svg +3 -0
- package/assets/icons/snapchat.svg +3 -0
- package/assets/icons/sort.svg +3 -0
- package/assets/icons/speech-bubble.svg +3 -0
- package/assets/icons/star.svg +3 -0
- package/assets/icons/student.svg +3 -0
- package/assets/icons/upload.svg +3 -0
- package/assets/icons/user.svg +3 -0
- package/assets/icons/warn-circle.svg +3 -0
- package/assets/icons/warn-triangle.svg +3 -0
- package/assets/icons/whatsapp.svg +4 -0
- package/assets/icons/world.svg +10 -0
- package/assets/icons/x.svg +3 -0
- package/assets/icons/youtube.svg +3 -0
- package/assets/zukunftslinie.svg +3 -0
- package/dist/cjs/Effect-BIlTHtLK.js +19172 -0
- package/dist/cjs/_commonjsHelpers-CFO10eej.js +7 -0
- package/dist/cjs/app-globals-V2Kpy_OQ.js +5 -0
- package/dist/cjs/aria-validation-controller-B7unOPxT.js +2929 -0
- package/dist/cjs/axe-BNqwbBGU.js +32834 -0
- package/dist/cjs/component-CRc6eHcV.js +138 -0
- package/dist/cjs/element-activation-controller-DC_6T0Rt.js +31 -0
- package/dist/cjs/icons-DbL3LSmP.js +659 -0
- package/dist/cjs/index-9ZJx0550.js +2752 -0
- package/dist/cjs/index-CVw4GUo6.js +92 -0
- package/dist/cjs/index.cjs.js +96 -0
- package/dist/cjs/lmvz-action.cjs.entry.js +22 -0
- package/dist/cjs/lmvz-button.cjs.entry.js +72 -0
- package/dist/cjs/lmvz-card.cjs.entry.js +33 -0
- package/dist/cjs/lmvz-chip.cjs.entry.js +18 -0
- package/dist/cjs/lmvz-components.cjs.js +25 -0
- package/dist/cjs/lmvz-header.cjs.entry.js +134 -0
- package/dist/cjs/lmvz-icon.cjs.entry.js +76 -0
- package/dist/cjs/lmvz-input.cjs.entry.js +176 -0
- package/dist/cjs/lmvz-menuitem.cjs.entry.js +32 -0
- package/dist/cjs/loader.cjs.js +13 -0
- package/dist/collection/api/ds.constants.js +73 -0
- package/dist/collection/api/index.js +1 -0
- package/dist/collection/assets/LMVZ_logo_175.svg +1 -0
- package/dist/collection/assets/card-placeholder.svg +4 -0
- package/dist/collection/assets/fonts/Router-Bold.woff +0 -0
- package/dist/collection/assets/fonts/Router-Book.woff +0 -0
- package/dist/collection/assets/fonts/Router-Medium.woff +0 -0
- package/dist/collection/assets/icons/Logo.svg +10 -0
- package/dist/collection/assets/icons/actions.svg +5 -0
- package/dist/collection/assets/icons/adduser.svg +3 -0
- package/dist/collection/assets/icons/alert.svg +3 -0
- package/dist/collection/assets/icons/apple.svg +3 -0
- package/dist/collection/assets/icons/arrow-down.svg +3 -0
- package/dist/collection/assets/icons/arrow-left.svg +3 -0
- package/dist/collection/assets/icons/arrow-right.svg +3 -0
- package/dist/collection/assets/icons/arrow-up.svg +3 -0
- package/dist/collection/assets/icons/book.svg +3 -0
- package/dist/collection/assets/icons/bookmark.svg +3 -0
- package/dist/collection/assets/icons/checkmark.svg +3 -0
- package/dist/collection/assets/icons/chevron-down.svg +3 -0
- package/dist/collection/assets/icons/chevron-left.svg +3 -0
- package/dist/collection/assets/icons/chevron-right.svg +3 -0
- package/dist/collection/assets/icons/chevron-up.svg +3 -0
- package/dist/collection/assets/icons/close-l.svg +3 -0
- package/dist/collection/assets/icons/close-sm.svg +3 -0
- package/dist/collection/assets/icons/cog.svg +4 -0
- package/dist/collection/assets/icons/computer.svg +3 -0
- package/dist/collection/assets/icons/dashboard.svg +6 -0
- package/dist/collection/assets/icons/delete.svg +3 -0
- package/dist/collection/assets/icons/download.svg +3 -0
- package/dist/collection/assets/icons/edit.svg +3 -0
- package/dist/collection/assets/icons/external.svg +3 -0
- package/dist/collection/assets/icons/facebook.svg +3 -0
- package/dist/collection/assets/icons/favorite.svg +3 -0
- package/dist/collection/assets/icons/filter.svg +3 -0
- package/dist/collection/assets/icons/group.svg +3 -0
- package/dist/collection/assets/icons/hide.svg +3 -0
- package/dist/collection/assets/icons/home.svg +3 -0
- package/dist/collection/assets/icons/info.svg +3 -0
- package/dist/collection/assets/icons/instagram.svg +3 -0
- package/dist/collection/assets/icons/letter.svg +3 -0
- package/dist/collection/assets/icons/linkedin.svg +5 -0
- package/dist/collection/assets/icons/logout.svg +3 -0
- package/dist/collection/assets/icons/map.svg +3 -0
- package/dist/collection/assets/icons/minus.svg +3 -0
- package/dist/collection/assets/icons/navigation.svg +3 -0
- package/dist/collection/assets/icons/plus.svg +3 -0
- package/dist/collection/assets/icons/qr-scan.svg +3 -0
- package/dist/collection/assets/icons/question.svg +10 -0
- package/dist/collection/assets/icons/reader.svg +3 -0
- package/dist/collection/assets/icons/reset.svg +3 -0
- package/dist/collection/assets/icons/school.svg +3 -0
- package/dist/collection/assets/icons/search.svg +3 -0
- package/dist/collection/assets/icons/send.svg +3 -0
- package/dist/collection/assets/icons/settings.svg +3 -0
- package/dist/collection/assets/icons/share.svg +10 -0
- package/dist/collection/assets/icons/shopping-cart.svg +3 -0
- package/dist/collection/assets/icons/show.svg +3 -0
- package/dist/collection/assets/icons/snapchat.svg +3 -0
- package/dist/collection/assets/icons/sort.svg +3 -0
- package/dist/collection/assets/icons/speech-bubble.svg +3 -0
- package/dist/collection/assets/icons/star.svg +3 -0
- package/dist/collection/assets/icons/student.svg +3 -0
- package/dist/collection/assets/icons/upload.svg +3 -0
- package/dist/collection/assets/icons/user.svg +3 -0
- package/dist/collection/assets/icons/warn-circle.svg +3 -0
- package/dist/collection/assets/icons/warn-triangle.svg +3 -0
- package/dist/collection/assets/icons/whatsapp.svg +4 -0
- package/dist/collection/assets/icons/world.svg +10 -0
- package/dist/collection/assets/icons/x.svg +3 -0
- package/dist/collection/assets/icons/youtube.svg +3 -0
- package/dist/collection/assets/zukunftslinie.svg +3 -0
- package/dist/collection/collection-manifest.json +21 -0
- package/dist/collection/components/lmvz-action/lmvz-action.css +3 -0
- package/dist/collection/components/lmvz-action/lmvz-action.js +45 -0
- package/dist/collection/components/lmvz-button/lmvz-button.css +199 -0
- package/dist/collection/components/lmvz-button/lmvz-button.js +245 -0
- package/dist/collection/components/lmvz-card/lmvz-card.css +283 -0
- package/dist/collection/components/lmvz-card/lmvz-card.js +137 -0
- package/dist/collection/components/lmvz-chip/lmvz-chip.css +3 -0
- package/dist/collection/components/lmvz-chip/lmvz-chip.js +42 -0
- package/dist/collection/components/lmvz-header/lmvz-header.css +49 -0
- package/dist/collection/components/lmvz-header/lmvz-header.js +138 -0
- package/dist/collection/components/lmvz-icon/icons.js +36 -0
- package/dist/collection/components/lmvz-icon/lmvz-icon.css +82 -0
- package/dist/collection/components/lmvz-icon/lmvz-icon.js +191 -0
- package/dist/collection/components/lmvz-icon/public.js +1 -0
- package/dist/collection/components/lmvz-icon/test/icons.unit.js +89 -0
- package/dist/collection/components/lmvz-input/lmvz-input.css +201 -0
- package/dist/collection/components/lmvz-input/lmvz-input.js +847 -0
- package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.css +89 -0
- package/dist/collection/components/lmvz-menuitem/lmvz-menuitem.js +97 -0
- package/dist/collection/index.js +3 -0
- package/dist/collection/integration/header-integration.js +28 -0
- package/dist/collection/styles/buttons.css +1 -0
- package/dist/collection/styles/router-font.css +1 -0
- package/dist/collection/styles/tokens.css +1 -0
- package/dist/collection/styles/typography.css +1 -0
- package/dist/collection/themes/all.css +1 -0
- package/dist/collection/themes/dark.css +1 -0
- package/dist/collection/themes/light.css +1 -0
- package/dist/collection/utils/component.js +268 -0
- package/dist/collection/utils/effect.js +6 -0
- package/dist/collection/utils/element-activation-controller.js +27 -0
- package/dist/collection/utils/http.js +24 -0
- package/dist/collection/utils/http.test.js +46 -0
- package/dist/collection/utils/list-keyboard-controller.js +44 -0
- package/dist/collection/utils/public.js +1 -0
- package/dist/collection/utils/reactive-controller-host.js +39 -0
- package/dist/collection/utils/typing.js +1 -0
- package/dist/collection/utils/url.js +7 -0
- package/dist/collection/utils/validation/aria-validation-controller.js +124 -0
- package/dist/collection/utils/validation/svg.js +24 -0
- package/dist/components/index.d.ts +53 -0
- package/dist/components/index.js +1 -0
- package/dist/components/lmvz-action.d.ts +11 -0
- package/dist/components/lmvz-action.js +1 -0
- package/dist/components/lmvz-button.d.ts +11 -0
- package/dist/components/lmvz-button.js +1 -0
- package/dist/components/lmvz-card.d.ts +11 -0
- package/dist/components/lmvz-card.js +1 -0
- package/dist/components/lmvz-chip.d.ts +11 -0
- package/dist/components/lmvz-chip.js +1 -0
- package/dist/components/lmvz-header.d.ts +11 -0
- package/dist/components/lmvz-header.js +1 -0
- package/dist/components/lmvz-icon.d.ts +11 -0
- package/dist/components/lmvz-icon.js +1 -0
- package/dist/components/lmvz-input.d.ts +11 -0
- package/dist/components/lmvz-input.js +1 -0
- package/dist/components/lmvz-menuitem.d.ts +11 -0
- package/dist/components/lmvz-menuitem.js +1 -0
- package/dist/components/p-B3JVFwO1.js +1 -0
- package/dist/components/p-B85MJLTf.js +1 -0
- package/dist/components/p-BFwzIh71.js +1 -0
- package/dist/components/p-BaPwpeMs.js +1 -0
- package/dist/components/p-CN0JX9-m.js +1 -0
- package/dist/components/p-D1HbKFuh.js +12 -0
- package/dist/components/p-DDmjv-N_.js +1 -0
- package/dist/components/p-DMLRPGid.js +6 -0
- package/dist/esm/Effect-D9S7OTyY.js +18963 -0
- package/dist/esm/_commonjsHelpers-B85MJLTf.js +5 -0
- package/dist/esm/app-globals-DQuL1Twl.js +3 -0
- package/dist/esm/aria-validation-controller-C7nQzCCq.js +2926 -0
- package/dist/esm/axe-cRQ9Ux1I.js +32832 -0
- package/dist/esm/component-B3JVFwO1.js +132 -0
- package/dist/esm/element-activation-controller-CN0JX9-m.js +29 -0
- package/dist/esm/icons-B71gAZmE.js +655 -0
- package/dist/esm/index-Bt32KzDW.js +90 -0
- package/dist/esm/index-smGPjoDX.js +2741 -0
- package/dist/esm/index.js +85 -0
- package/dist/esm/lmvz-action.entry.js +20 -0
- package/dist/esm/lmvz-button.entry.js +70 -0
- package/dist/esm/lmvz-card.entry.js +31 -0
- package/dist/esm/lmvz-chip.entry.js +16 -0
- package/dist/esm/lmvz-components.js +21 -0
- package/dist/esm/lmvz-header.entry.js +132 -0
- package/dist/esm/lmvz-icon.entry.js +74 -0
- package/dist/esm/lmvz-input.entry.js +174 -0
- package/dist/esm/lmvz-menuitem.entry.js +30 -0
- package/dist/esm/loader.js +11 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/lmvz-components/assets/LMVZ_logo_175.svg +1 -0
- package/dist/lmvz-components/assets/card-placeholder.svg +4 -0
- package/dist/lmvz-components/assets/fonts/Router-Bold.woff +0 -0
- package/dist/lmvz-components/assets/fonts/Router-Book.woff +0 -0
- package/dist/lmvz-components/assets/fonts/Router-Medium.woff +0 -0
- package/dist/lmvz-components/assets/icons/Logo.svg +10 -0
- package/dist/lmvz-components/assets/icons/actions.svg +5 -0
- package/dist/lmvz-components/assets/icons/adduser.svg +3 -0
- package/dist/lmvz-components/assets/icons/alert.svg +3 -0
- package/dist/lmvz-components/assets/icons/apple.svg +3 -0
- package/dist/lmvz-components/assets/icons/arrow-down.svg +3 -0
- package/dist/lmvz-components/assets/icons/arrow-left.svg +3 -0
- package/dist/lmvz-components/assets/icons/arrow-right.svg +3 -0
- package/dist/lmvz-components/assets/icons/arrow-up.svg +3 -0
- package/dist/lmvz-components/assets/icons/book.svg +3 -0
- package/dist/lmvz-components/assets/icons/bookmark.svg +3 -0
- package/dist/lmvz-components/assets/icons/checkmark.svg +3 -0
- package/dist/lmvz-components/assets/icons/chevron-down.svg +3 -0
- package/dist/lmvz-components/assets/icons/chevron-left.svg +3 -0
- package/dist/lmvz-components/assets/icons/chevron-right.svg +3 -0
- package/dist/lmvz-components/assets/icons/chevron-up.svg +3 -0
- package/dist/lmvz-components/assets/icons/close-l.svg +3 -0
- package/dist/lmvz-components/assets/icons/close-sm.svg +3 -0
- package/dist/lmvz-components/assets/icons/cog.svg +4 -0
- package/dist/lmvz-components/assets/icons/computer.svg +3 -0
- package/dist/lmvz-components/assets/icons/dashboard.svg +6 -0
- package/dist/lmvz-components/assets/icons/delete.svg +3 -0
- package/dist/lmvz-components/assets/icons/download.svg +3 -0
- package/dist/lmvz-components/assets/icons/edit.svg +3 -0
- package/dist/lmvz-components/assets/icons/external.svg +3 -0
- package/dist/lmvz-components/assets/icons/facebook.svg +3 -0
- package/dist/lmvz-components/assets/icons/favorite.svg +3 -0
- package/dist/lmvz-components/assets/icons/filter.svg +3 -0
- package/dist/lmvz-components/assets/icons/group.svg +3 -0
- package/dist/lmvz-components/assets/icons/hide.svg +3 -0
- package/dist/lmvz-components/assets/icons/home.svg +3 -0
- package/dist/lmvz-components/assets/icons/info.svg +3 -0
- package/dist/lmvz-components/assets/icons/instagram.svg +3 -0
- package/dist/lmvz-components/assets/icons/letter.svg +3 -0
- package/dist/lmvz-components/assets/icons/linkedin.svg +5 -0
- package/dist/lmvz-components/assets/icons/logout.svg +3 -0
- package/dist/lmvz-components/assets/icons/map.svg +3 -0
- package/dist/lmvz-components/assets/icons/minus.svg +3 -0
- package/dist/lmvz-components/assets/icons/navigation.svg +3 -0
- package/dist/lmvz-components/assets/icons/plus.svg +3 -0
- package/dist/lmvz-components/assets/icons/qr-scan.svg +3 -0
- package/dist/lmvz-components/assets/icons/question.svg +10 -0
- package/dist/lmvz-components/assets/icons/reader.svg +3 -0
- package/dist/lmvz-components/assets/icons/reset.svg +3 -0
- package/dist/lmvz-components/assets/icons/school.svg +3 -0
- package/dist/lmvz-components/assets/icons/search.svg +3 -0
- package/dist/lmvz-components/assets/icons/send.svg +3 -0
- package/dist/lmvz-components/assets/icons/settings.svg +3 -0
- package/dist/lmvz-components/assets/icons/share.svg +10 -0
- package/dist/lmvz-components/assets/icons/shopping-cart.svg +3 -0
- package/dist/lmvz-components/assets/icons/show.svg +3 -0
- package/dist/lmvz-components/assets/icons/snapchat.svg +3 -0
- package/dist/lmvz-components/assets/icons/sort.svg +3 -0
- package/dist/lmvz-components/assets/icons/speech-bubble.svg +3 -0
- package/dist/lmvz-components/assets/icons/star.svg +3 -0
- package/dist/lmvz-components/assets/icons/student.svg +3 -0
- package/dist/lmvz-components/assets/icons/upload.svg +3 -0
- package/dist/lmvz-components/assets/icons/user.svg +3 -0
- package/dist/lmvz-components/assets/icons/warn-circle.svg +3 -0
- package/dist/lmvz-components/assets/icons/warn-triangle.svg +3 -0
- package/dist/lmvz-components/assets/icons/whatsapp.svg +4 -0
- package/dist/lmvz-components/assets/icons/world.svg +10 -0
- package/dist/lmvz-components/assets/icons/x.svg +3 -0
- package/dist/lmvz-components/assets/icons/youtube.svg +3 -0
- package/dist/lmvz-components/assets/zukunftslinie.svg +3 -0
- package/dist/lmvz-components/index.esm.js +1 -0
- package/dist/lmvz-components/lmvz-components.esm.js +1 -0
- package/dist/lmvz-components/p-87b01940.entry.js +1 -0
- package/dist/lmvz-components/p-9faac8f3.entry.js +1 -0
- package/dist/lmvz-components/p-B3JVFwO1.js +1 -0
- package/dist/lmvz-components/p-B85MJLTf.js +1 -0
- package/dist/lmvz-components/p-CN0JX9-m.js +1 -0
- package/dist/lmvz-components/p-D1HbKFuh.js +12 -0
- package/dist/lmvz-components/p-D9S7OTyY.js +1 -0
- package/dist/lmvz-components/p-DMLRPGid.js +6 -0
- package/dist/lmvz-components/p-DQuL1Twl.js +1 -0
- package/dist/lmvz-components/p-DlIX18fw.js +1 -0
- package/dist/lmvz-components/p-DlrjrWsu.js +1 -0
- package/dist/lmvz-components/p-a4615e4b.entry.js +1 -0
- package/dist/lmvz-components/p-a8c88454.entry.js +1 -0
- package/dist/lmvz-components/p-d4b68381.entry.js +1 -0
- package/dist/lmvz-components/p-e63e239a.entry.js +1 -0
- package/dist/lmvz-components/p-f956a5e7.entry.js +1 -0
- package/dist/lmvz-components/p-fefd2fe4.entry.js +1 -0
- package/dist/lmvz-components/p-smGPjoDX.js +2 -0
- package/dist/lmvz-components/styles/buttons.css +1 -0
- package/dist/lmvz-components/styles/router-font.css +1 -0
- package/dist/lmvz-components/styles/tokens.css +1 -0
- package/dist/lmvz-components/styles/typography.css +1 -0
- package/dist/lmvz-components/themes/all.css +1 -0
- package/dist/lmvz-components/themes/dark.css +1 -0
- package/dist/lmvz-components/themes/light.css +1 -0
- package/dist/manifest.d.ts +480 -0
- package/dist/manifest.json +5184 -0
- package/dist/types/api/aria-types.d.ts +9 -0
- package/dist/types/api/ds.constants.d.ts +8 -0
- package/dist/types/api/ds.types.d.ts +39 -0
- package/dist/types/api/index.d.ts +3 -0
- package/dist/types/components/lmvz-action/lmvz-action.d.ts +6 -0
- package/dist/types/components/lmvz-button/lmvz-button.d.ts +25 -0
- package/dist/types/components/lmvz-card/lmvz-card.d.ts +11 -0
- package/dist/types/components/lmvz-chip/lmvz-chip.d.ts +4 -0
- package/dist/types/components/lmvz-header/lmvz-header.d.ts +23 -0
- package/dist/types/components/lmvz-icon/icons.d.ts +8 -0
- package/dist/types/components/lmvz-icon/lmvz-icon.d.ts +20 -0
- package/dist/types/components/lmvz-icon/public.d.ts +1 -0
- package/dist/types/components/lmvz-icon/test/icons.unit.d.ts +1 -0
- package/dist/types/components/lmvz-input/lmvz-input.d.ts +63 -0
- package/dist/types/components/lmvz-menuitem/lmvz-menuitem.d.ts +12 -0
- package/dist/types/components.d.ts +773 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/stencil-public-runtime.d.ts +1860 -0
- package/dist/types/utils/component.d.ts +36 -0
- package/dist/types/utils/effect.d.ts +3 -0
- package/dist/types/utils/element-activation-controller.d.ts +19 -0
- package/dist/types/utils/http.d.ts +24 -0
- package/dist/types/utils/http.test.d.ts +1 -0
- package/dist/types/utils/list-keyboard-controller.d.ts +13 -0
- package/dist/types/utils/public.d.ts +1 -0
- package/dist/types/utils/reactive-controller-host.d.ts +26 -0
- package/dist/types/utils/typing.d.ts +3 -0
- package/dist/types/utils/url.d.ts +8 -0
- package/dist/types/utils/validation/aria-validation-controller.d.ts +31 -0
- package/dist/types/utils/validation/svg.d.ts +11 -0
- package/hydrate/index.d.ts +287 -0
- package/hydrate/index.js +78213 -0
- package/hydrate/index.mjs +78203 -0
- package/hydrate/package.json +12 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +216 -0
- package/readme.md +193 -0
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
import classNames from "classnames";
|
|
3
|
+
import { findFormByRef, inheritAriaAttributes } from "../../utils/component";
|
|
4
|
+
import { ElementActivationController } from "../../utils/element-activation-controller";
|
|
5
|
+
import { ReactiveControllerHost } from "../../utils/reactive-controller-host";
|
|
6
|
+
import { AriaValidationController } from "../../utils/validation/aria-validation-controller";
|
|
7
|
+
export class LmvzButton extends ReactiveControllerHost {
|
|
8
|
+
el;
|
|
9
|
+
inheritedAttributes = {};
|
|
10
|
+
formEl = null;
|
|
11
|
+
formButtonEl = null;
|
|
12
|
+
lmvzActivation;
|
|
13
|
+
get ti() {
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
scale = 'default';
|
|
17
|
+
variant = 'secondary';
|
|
18
|
+
disabled = false;
|
|
19
|
+
type = 'button';
|
|
20
|
+
form;
|
|
21
|
+
constructor() {
|
|
22
|
+
super();
|
|
23
|
+
this.addController(new AriaValidationController(this));
|
|
24
|
+
this.addController(new ElementActivationController(this, {
|
|
25
|
+
localHandler: this.handleClick.bind(this),
|
|
26
|
+
keys: ['Enter'],
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
connectedCallback() {
|
|
30
|
+
this.inheritedAttributes = inheritAriaAttributes(this.el);
|
|
31
|
+
}
|
|
32
|
+
renderHiddenButton() {
|
|
33
|
+
const formEl = (this.formEl = findFormByRef(this.form, this.el));
|
|
34
|
+
if (!formEl)
|
|
35
|
+
return;
|
|
36
|
+
const { formButtonEl } = this;
|
|
37
|
+
if (formButtonEl !== null && formEl.contains(formButtonEl))
|
|
38
|
+
return;
|
|
39
|
+
const newFormButtonEl = (this.formButtonEl = document.createElement('button'));
|
|
40
|
+
newFormButtonEl.type = 'submit';
|
|
41
|
+
newFormButtonEl.style.display = 'none';
|
|
42
|
+
newFormButtonEl.disabled = this.disabled;
|
|
43
|
+
formEl.appendChild(newFormButtonEl);
|
|
44
|
+
}
|
|
45
|
+
submitForm(ev) {
|
|
46
|
+
if (this.formEl && this.formButtonEl) {
|
|
47
|
+
ev.preventDefault();
|
|
48
|
+
this.formButtonEl.click();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
handleClick = (ev) => {
|
|
52
|
+
if (this.type === 'submit') {
|
|
53
|
+
this.submitForm(ev);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
render() {
|
|
57
|
+
this.renderHiddenButton();
|
|
58
|
+
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' }))));
|
|
59
|
+
}
|
|
60
|
+
static get is() { return "lmvz-button"; }
|
|
61
|
+
static get encapsulation() { return "shadow"; }
|
|
62
|
+
static get delegatesFocus() { return true; }
|
|
63
|
+
static get originalStyleUrls() {
|
|
64
|
+
return {
|
|
65
|
+
"$": ["./lmvz-button.css"]
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
static get styleUrls() {
|
|
69
|
+
return {
|
|
70
|
+
"$": ["lmvz-button.css"]
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
static get properties() {
|
|
74
|
+
return {
|
|
75
|
+
"ti": {
|
|
76
|
+
"type": "number",
|
|
77
|
+
"mutable": false,
|
|
78
|
+
"complexType": {
|
|
79
|
+
"original": "number",
|
|
80
|
+
"resolved": "number",
|
|
81
|
+
"references": {}
|
|
82
|
+
},
|
|
83
|
+
"required": false,
|
|
84
|
+
"optional": false,
|
|
85
|
+
"docs": {
|
|
86
|
+
"tags": [],
|
|
87
|
+
"text": ""
|
|
88
|
+
},
|
|
89
|
+
"getter": true,
|
|
90
|
+
"setter": false,
|
|
91
|
+
"reflect": true,
|
|
92
|
+
"attribute": "tabindex",
|
|
93
|
+
"defaultValue": "0"
|
|
94
|
+
},
|
|
95
|
+
"scale": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"mutable": false,
|
|
98
|
+
"complexType": {
|
|
99
|
+
"original": "Button.Scale",
|
|
100
|
+
"resolved": "\"default\" | \"large\" | \"small\"",
|
|
101
|
+
"references": {
|
|
102
|
+
"Button": {
|
|
103
|
+
"location": "import",
|
|
104
|
+
"path": "../../api",
|
|
105
|
+
"id": "src/api/index.ts::Button",
|
|
106
|
+
"referenceLocation": "Button"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"required": false,
|
|
111
|
+
"optional": false,
|
|
112
|
+
"docs": {
|
|
113
|
+
"tags": [{
|
|
114
|
+
"name": "default",
|
|
115
|
+
"text": "'default'"
|
|
116
|
+
}],
|
|
117
|
+
"text": "Scale of the button"
|
|
118
|
+
},
|
|
119
|
+
"getter": false,
|
|
120
|
+
"setter": false,
|
|
121
|
+
"reflect": true,
|
|
122
|
+
"attribute": "scale",
|
|
123
|
+
"defaultValue": "'default'"
|
|
124
|
+
},
|
|
125
|
+
"variant": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"mutable": false,
|
|
128
|
+
"complexType": {
|
|
129
|
+
"original": "Button.Variant",
|
|
130
|
+
"resolved": "\"primary\" | \"secondary\" | \"tertiary\"",
|
|
131
|
+
"references": {
|
|
132
|
+
"Button": {
|
|
133
|
+
"location": "import",
|
|
134
|
+
"path": "../../api",
|
|
135
|
+
"id": "src/api/index.ts::Button",
|
|
136
|
+
"referenceLocation": "Button"
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"required": false,
|
|
141
|
+
"optional": false,
|
|
142
|
+
"docs": {
|
|
143
|
+
"tags": [{
|
|
144
|
+
"name": "default",
|
|
145
|
+
"text": "'secondary', since the primary button should be marked as such in context"
|
|
146
|
+
}],
|
|
147
|
+
"text": "Variant of the button"
|
|
148
|
+
},
|
|
149
|
+
"getter": false,
|
|
150
|
+
"setter": false,
|
|
151
|
+
"reflect": true,
|
|
152
|
+
"attribute": "variant",
|
|
153
|
+
"defaultValue": "'secondary'"
|
|
154
|
+
},
|
|
155
|
+
"disabled": {
|
|
156
|
+
"type": "boolean",
|
|
157
|
+
"mutable": false,
|
|
158
|
+
"complexType": {
|
|
159
|
+
"original": "boolean",
|
|
160
|
+
"resolved": "boolean",
|
|
161
|
+
"references": {}
|
|
162
|
+
},
|
|
163
|
+
"required": false,
|
|
164
|
+
"optional": false,
|
|
165
|
+
"docs": {
|
|
166
|
+
"tags": [{
|
|
167
|
+
"name": "default",
|
|
168
|
+
"text": "false"
|
|
169
|
+
}],
|
|
170
|
+
"text": "Whether the button is disabled"
|
|
171
|
+
},
|
|
172
|
+
"getter": false,
|
|
173
|
+
"setter": false,
|
|
174
|
+
"reflect": true,
|
|
175
|
+
"attribute": "disabled",
|
|
176
|
+
"defaultValue": "false"
|
|
177
|
+
},
|
|
178
|
+
"type": {
|
|
179
|
+
"type": "string",
|
|
180
|
+
"mutable": false,
|
|
181
|
+
"complexType": {
|
|
182
|
+
"original": "'submit' | 'button'",
|
|
183
|
+
"resolved": "\"button\" | \"submit\"",
|
|
184
|
+
"references": {}
|
|
185
|
+
},
|
|
186
|
+
"required": false,
|
|
187
|
+
"optional": false,
|
|
188
|
+
"docs": {
|
|
189
|
+
"tags": [],
|
|
190
|
+
"text": ""
|
|
191
|
+
},
|
|
192
|
+
"getter": false,
|
|
193
|
+
"setter": false,
|
|
194
|
+
"reflect": false,
|
|
195
|
+
"attribute": "type",
|
|
196
|
+
"defaultValue": "'button'"
|
|
197
|
+
},
|
|
198
|
+
"form": {
|
|
199
|
+
"type": "string",
|
|
200
|
+
"mutable": false,
|
|
201
|
+
"complexType": {
|
|
202
|
+
"original": "FormRef",
|
|
203
|
+
"resolved": "HTMLFormElement | string",
|
|
204
|
+
"references": {
|
|
205
|
+
"FormRef": {
|
|
206
|
+
"location": "import",
|
|
207
|
+
"path": "../../utils/component",
|
|
208
|
+
"id": "src/utils/component.ts::FormRef",
|
|
209
|
+
"referenceLocation": "FormRef"
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"required": false,
|
|
214
|
+
"optional": true,
|
|
215
|
+
"docs": {
|
|
216
|
+
"tags": [],
|
|
217
|
+
"text": "The HTML form element or form element id. Used to submit a form when the button is not a child of the form."
|
|
218
|
+
},
|
|
219
|
+
"getter": false,
|
|
220
|
+
"setter": false,
|
|
221
|
+
"reflect": false,
|
|
222
|
+
"attribute": "form"
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
static get events() {
|
|
227
|
+
return [{
|
|
228
|
+
"method": "lmvzActivation",
|
|
229
|
+
"name": "lmvzActivation",
|
|
230
|
+
"bubbles": true,
|
|
231
|
+
"cancelable": true,
|
|
232
|
+
"composed": true,
|
|
233
|
+
"docs": {
|
|
234
|
+
"tags": [],
|
|
235
|
+
"text": ""
|
|
236
|
+
},
|
|
237
|
+
"complexType": {
|
|
238
|
+
"original": "void",
|
|
239
|
+
"resolved": "void",
|
|
240
|
+
"references": {}
|
|
241
|
+
}
|
|
242
|
+
}];
|
|
243
|
+
}
|
|
244
|
+
static get elementRef() { return "el"; }
|
|
245
|
+
}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
|
|
2
|
+
@layer /** */
|
|
3
|
+
/**
|
|
4
|
+
* reset: CSS resets for browser defaults or expectedly problematic 3rd party libraries
|
|
5
|
+
*/
|
|
6
|
+
lmvz-ds.reset,
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* theme: tokens, typography, etc.
|
|
10
|
+
*/
|
|
11
|
+
lmvz-ds.theme,
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* components: overrides for UI components and CSS-only component implementation
|
|
15
|
+
* Design System components should append their styles into this layer at definition!
|
|
16
|
+
*/
|
|
17
|
+
lmvz-ds.components,
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* overrides: utility classes, helpers, product- or application-specific styles.
|
|
21
|
+
* Usually, you do not want to add DS util styles to a layer directly.
|
|
22
|
+
* Only place those styles here, that are being exported as part of a theme.
|
|
23
|
+
*/
|
|
24
|
+
lmvz-ds.overrides;
|
|
25
|
+
/**
|
|
26
|
+
* This defines the order of our lmvz-ds' CSS layers.
|
|
27
|
+
* Important: Always import this file _before_ layering your own styles!
|
|
28
|
+
*/
|
|
29
|
+
@layer lmvz-ds.theme {
|
|
30
|
+
@font-face {
|
|
31
|
+
font-family: Router;
|
|
32
|
+
src:
|
|
33
|
+
local('Router-Book'),
|
|
34
|
+
url('/assets/fonts/Router-Book.woff') format('woff'),
|
|
35
|
+
local('Router');
|
|
36
|
+
font-weight: 400 normal;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
@font-face {
|
|
40
|
+
font-family: Router;
|
|
41
|
+
src:
|
|
42
|
+
local('Router-Medium'),
|
|
43
|
+
url('/assets/fonts/Router-Medium.woff') format('woff'),
|
|
44
|
+
local('Router');
|
|
45
|
+
font-weight: 500;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@font-face {
|
|
49
|
+
font-family: Router;
|
|
50
|
+
src:
|
|
51
|
+
local('Router-Bold'),
|
|
52
|
+
url('/assets/fonts/Router-Bold.woff') format('woff'),
|
|
53
|
+
local('Router');
|
|
54
|
+
font-weight: 700 bold;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
@layer lmvz-ds.reset {
|
|
59
|
+
h1,
|
|
60
|
+
h2,
|
|
61
|
+
h3,
|
|
62
|
+
h4,
|
|
63
|
+
h5,
|
|
64
|
+
h6 {
|
|
65
|
+
margin: 0;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
}
|
|
69
|
+
:host {
|
|
70
|
+
/** component dependencies */
|
|
71
|
+
/* * the (invalid nested) import will be handled by postcss */
|
|
72
|
+
/* stylelint-disable no-invalid-position-at-import-rule */
|
|
73
|
+
button {
|
|
74
|
+
--lmvz-button-color: var(--lmvz-component-color, var(--lmvz-semantic-color-int-on-primary, #ffffff));
|
|
75
|
+
--lmvz-button-padding-inline: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-x, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)));
|
|
76
|
+
--lmvz-button-padding-block: var(--lmvz-button-padding, var(--lmvz-component-input-md-padding-y, clamp(0.75rem, 0.69rem + 0.26vw, 1rem)));
|
|
77
|
+
--lmvz-button-gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem));
|
|
78
|
+
--lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4
|
|
79
|
+
Router);
|
|
80
|
+
--lmvz-button-radius: var(--lmvz-component-input-radius-default, 999px);
|
|
81
|
+
--lmvz-button-border-width: 0;
|
|
82
|
+
--lmvz-button-border-color: transparent;
|
|
83
|
+
--lmvz-button-background: var(--lmvz-semantic-color-int-primary, #000000);
|
|
84
|
+
|
|
85
|
+
display: inline-flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
justify-content: center;
|
|
88
|
+
gap: var(--lmvz-button-gap);
|
|
89
|
+
padding-block: var(--lmvz-button-padding-block);
|
|
90
|
+
padding-inline: var(--lmvz-button-padding-inline);
|
|
91
|
+
border-radius: var(--lmvz-button-radius);
|
|
92
|
+
border: var(--lmvz-button-border-width) solid var(--lmvz-button-border-color);
|
|
93
|
+
background-color: var(--lmvz-button-background);
|
|
94
|
+
color: var(--lmvz-button-color);
|
|
95
|
+
cursor: pointer;
|
|
96
|
+
font: var(--lmvz-button-font);
|
|
97
|
+
text-align: center;
|
|
98
|
+
text-decoration: none;
|
|
99
|
+
white-space: nowrap;
|
|
100
|
+
transition:
|
|
101
|
+
background-color 0.15s ease,
|
|
102
|
+
color 0.15s ease,
|
|
103
|
+
border-color 0.15s ease,
|
|
104
|
+
box-shadow 0.15s ease;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
button > * {
|
|
108
|
+
font: inherit;
|
|
109
|
+
color: inherit;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
button:focus-visible {
|
|
113
|
+
/* outline: var(--lmvz-semantic-border-width-default) solid var(--lmvz-semantic-color-status-active-950); */
|
|
114
|
+
outline: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-status-selected, #f1f9fe);
|
|
115
|
+
outline-offset: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
button:is([disabled], .disabled) {
|
|
119
|
+
cursor: not-allowed;
|
|
120
|
+
pointer-events: none;
|
|
121
|
+
/* } */
|
|
122
|
+
|
|
123
|
+
/* button:is(:is([disabled], .disabled):not(.secondary):not(.tertiary), .primary:is([disabled], .disabled)) { */
|
|
124
|
+
/* button:is([disabled], .disabled) { */
|
|
125
|
+
/* --lmvz-button-background: var(--lmvz-global-color-neutral-500); */
|
|
126
|
+
/* --lmvz-button-color: var(--lmvz-global-color-neutral-white); */
|
|
127
|
+
opacity: var(--lmvz-component-input-disabled-opacity, 40%);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
button:not([disabled]):hover {
|
|
131
|
+
--lmvz-button-background: var(--lmvz-semantic-color-int-primary-hover, #2e2e2e);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
button:not([disabled]):active {
|
|
135
|
+
--lmvz-button-background: var(--lmvz-semantic-color-int-primary-active, #545454);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
button.secondary {
|
|
139
|
+
--lmvz-button-background: var(--lmvz-semantic-color-int-secondary, #f0f0f0);
|
|
140
|
+
--lmvz-button-color: var(--lmvz-semantic-color-int-on-secondary, #000000);
|
|
141
|
+
--lmvz-button-border-width: var(--lmvz-semantic-border-width-default, 1px);
|
|
142
|
+
--lmvz-button-border-color: var(--lmvz-semantic-color-border-default, #e0e0e0);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
button.secondary:not([disabled], .disabled):hover {
|
|
146
|
+
--lmvz-button-background: var(--lmvz-semantic-color-int-secondary-hover, #e0e0e0);
|
|
147
|
+
--lmvz-button-border-color: var(--lmvz-semantic-color-border-hover, #c7c7c7);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
button.secondary:not([disabled], .disabled):active {
|
|
151
|
+
--lmvz-button-background: var(--lmvz-semantic-color-int-secondary-active, #d4d4d4);
|
|
152
|
+
--lmvz-button-border-color: var(--lmvz-semantic-color-border-active, #d4d4d4);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/* button.secondary:is([disabled], .disabled) {
|
|
156
|
+
--lmvz-button-background: var(--lmvz-global-color-neutral-200);
|
|
157
|
+
--lmvz-button-border-color: var(--lmvz-global-color-neutral-400);
|
|
158
|
+
--lmvz-button-color: var(--lmvz-global-color-neutral-700);
|
|
159
|
+
} */
|
|
160
|
+
|
|
161
|
+
button.tertiary {
|
|
162
|
+
--lmvz-button-background: var(--lmvz-semantic-color-int-tertiary, #ffffff);
|
|
163
|
+
--lmvz-button-color: var(--lmvz-semantic-color-int-on-tertiary, #545454);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
button.tertiary:not([disabled], .disabled):hover {
|
|
167
|
+
--lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-hover, #f0f0f0);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
button.tertiary:not([disabled], .disabled):active {
|
|
171
|
+
--lmvz-button-background: var(--lmvz-semantic-color-int-tertiary-active, #e0e0e0);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/* button.tertiary:is([disabled], .disabled) {
|
|
175
|
+
--lmvz-button-background: var(--lmvz-global-color-neutral-100);
|
|
176
|
+
--lmvz-button-color: var(--lmvz-global-color-neutral-600);
|
|
177
|
+
} */
|
|
178
|
+
|
|
179
|
+
button.small {
|
|
180
|
+
--lmvz-button-padding-inline: var(--lmvz-component-input-sm-padding-x, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));
|
|
181
|
+
--lmvz-button-padding-block: var(--lmvz-component-input-sm-padding-y, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));
|
|
182
|
+
--lmvz-button-gap: var(--lmvz-component-input-sm-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem));
|
|
183
|
+
--lmvz-button-font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4
|
|
184
|
+
Router);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
button.large {
|
|
188
|
+
--lmvz-button-padding-inline: var(--lmvz-component-input-lg-padding-x, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem));
|
|
189
|
+
--lmvz-button-padding-block: var(--lmvz-component-input-lg-padding-y, clamp(0.88rem, 0.78rem + 0.39vw, 1.25rem));
|
|
190
|
+
--lmvz-button-gap: var(--lmvz-component-input-lg-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem));
|
|
191
|
+
--lmvz-button-font: var(--lmvz-typography-body-lg, 400 clamp(1rem, 0.97rem + 0.13vw, 1.13rem) / 1.4
|
|
192
|
+
Router);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
display: flex;
|
|
197
|
+
min-width: var(--lmvz-other-component-card-minwidth, 20.4375rem);
|
|
198
|
+
max-width: var(--lmvz-other-component-card-maxwidth, 21.6875rem);
|
|
199
|
+
flex-direction: column;
|
|
200
|
+
align-items: flex-start;
|
|
201
|
+
|
|
202
|
+
border-radius: var(--lmvz-semantic-border-radius-lg, 14px);
|
|
203
|
+
border: var(--lmvz-semantic-border-width-default, 1px) solid var(--lmvz-semantic-color-border-default, #e0e0e0);
|
|
204
|
+
background: var(--lmvz-semantic-color-surface-primary, #ffffff);
|
|
205
|
+
}
|
|
206
|
+
* {
|
|
207
|
+
color: var(--lmvz-semantic-color-on-surface-primary, #000000);
|
|
208
|
+
font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4
|
|
209
|
+
Router);
|
|
210
|
+
}
|
|
211
|
+
.top {
|
|
212
|
+
display: flex;
|
|
213
|
+
padding: var(--lmvz-dimension-8-12, clamp(0.5rem, 0.44rem + 0.26vw, 0.75rem));
|
|
214
|
+
flex-direction: column;
|
|
215
|
+
justify-content: center;
|
|
216
|
+
align-items: center;
|
|
217
|
+
align-self: stretch;
|
|
218
|
+
}
|
|
219
|
+
.bottom {
|
|
220
|
+
display: flex;
|
|
221
|
+
min-width: 150px;
|
|
222
|
+
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));
|
|
223
|
+
flex-direction: column;
|
|
224
|
+
align-items: flex-start;
|
|
225
|
+
align-self: stretch;
|
|
226
|
+
}
|
|
227
|
+
.title {
|
|
228
|
+
margin: 0;
|
|
229
|
+
display: flex;
|
|
230
|
+
justify-content: center;
|
|
231
|
+
align-items: center;
|
|
232
|
+
align-self: stretch;
|
|
233
|
+
|
|
234
|
+
padding-bottom: var(--lmvz-global-s4, 4px);
|
|
235
|
+
overflow-wrap: break-word;
|
|
236
|
+
font: var(--lmvz-typography-heading-2xl, 500 clamp(2rem, 1.94rem + 0.26vw, 2.25rem) / 1.2
|
|
237
|
+
Router);
|
|
238
|
+
}
|
|
239
|
+
.description {
|
|
240
|
+
display: flex;
|
|
241
|
+
margin: 0;
|
|
242
|
+
padding-bottom: var(--lmvz-component-body-sm-padding-bottom, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem));
|
|
243
|
+
align-items: flex-start;
|
|
244
|
+
align-self: stretch;
|
|
245
|
+
white-space: pre-line;
|
|
246
|
+
font: var(--lmvz-typography-body-md, 400 clamp(0.88rem, 0.84rem + 0.13vw, 1rem) / 1.4
|
|
247
|
+
Router);
|
|
248
|
+
}
|
|
249
|
+
.image-wrapper {
|
|
250
|
+
aspect-ratio: 4 / 3;
|
|
251
|
+
width: 100%;
|
|
252
|
+
background-size: cover;
|
|
253
|
+
background-position: center;
|
|
254
|
+
flex: 1 0 0;
|
|
255
|
+
align-self: stretch;
|
|
256
|
+
border-radius: var(--lmvz-semantic-border-radius-md, 6px);
|
|
257
|
+
}
|
|
258
|
+
.actions {
|
|
259
|
+
margin-top: var(--lmvz-component-form-wrapper-gap-y, clamp(1.13rem, 0.97rem + 0.65vw, 1.75rem));
|
|
260
|
+
display: flex;
|
|
261
|
+
align-items: center;
|
|
262
|
+
gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem));
|
|
263
|
+
align-self: stretch;
|
|
264
|
+
}
|
|
265
|
+
button.primary,
|
|
266
|
+
lmvz-button.primary {
|
|
267
|
+
display: flex;
|
|
268
|
+
justify-content: center;
|
|
269
|
+
align-items: center;
|
|
270
|
+
gap: var(--lmvz-component-input-md-gap-x, clamp(0.25rem, 0.16rem + 0.39vw, 0.63rem));
|
|
271
|
+
flex: 1 0 0;
|
|
272
|
+
}
|
|
273
|
+
/* .overflow-button {
|
|
274
|
+
anchor-name: --overflow-button;
|
|
275
|
+
} */
|
|
276
|
+
/* menu {
|
|
277
|
+
position: fixed;
|
|
278
|
+
position-anchor: --overflow-button;
|
|
279
|
+
|
|
280
|
+
inset-block-start: anchor(end);
|
|
281
|
+
inset-inline-end: anchor(self-end);
|
|
282
|
+
margin: 5px 0 0 5px;
|
|
283
|
+
} */
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { getAssetPath, h, Host } from "@stencil/core";
|
|
2
|
+
export class LmvzCard {
|
|
3
|
+
cardTitle;
|
|
4
|
+
imageUrl;
|
|
5
|
+
description;
|
|
6
|
+
primaryActionLabel = '';
|
|
7
|
+
primaryAction;
|
|
8
|
+
_onPrimaryClick() {
|
|
9
|
+
this.primaryAction.emit();
|
|
10
|
+
}
|
|
11
|
+
_onOverflowClick(event) {
|
|
12
|
+
console.log(event);
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
const imgStyle = {
|
|
16
|
+
backgroundImage: `url(${this.imageUrl ?? getAssetPath('./card-placeholder.svg')})`,
|
|
17
|
+
};
|
|
18
|
+
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" }, "..."))))));
|
|
19
|
+
}
|
|
20
|
+
static get is() { return "lmvz-card"; }
|
|
21
|
+
static get encapsulation() { return "scoped"; }
|
|
22
|
+
static get originalStyleUrls() {
|
|
23
|
+
return {
|
|
24
|
+
"$": ["lmvz-card.css"]
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
static get styleUrls() {
|
|
28
|
+
return {
|
|
29
|
+
"$": ["lmvz-card.css"]
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
static get assetsDirs() { return ["../../assets"]; }
|
|
33
|
+
static get properties() {
|
|
34
|
+
return {
|
|
35
|
+
"cardTitle": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"mutable": false,
|
|
38
|
+
"complexType": {
|
|
39
|
+
"original": "string",
|
|
40
|
+
"resolved": "string",
|
|
41
|
+
"references": {}
|
|
42
|
+
},
|
|
43
|
+
"required": true,
|
|
44
|
+
"optional": false,
|
|
45
|
+
"docs": {
|
|
46
|
+
"tags": [],
|
|
47
|
+
"text": "Card title (required)"
|
|
48
|
+
},
|
|
49
|
+
"getter": false,
|
|
50
|
+
"setter": false,
|
|
51
|
+
"reflect": false,
|
|
52
|
+
"attribute": "card-title"
|
|
53
|
+
},
|
|
54
|
+
"imageUrl": {
|
|
55
|
+
"type": "string",
|
|
56
|
+
"mutable": false,
|
|
57
|
+
"complexType": {
|
|
58
|
+
"original": "string",
|
|
59
|
+
"resolved": "string",
|
|
60
|
+
"references": {}
|
|
61
|
+
},
|
|
62
|
+
"required": false,
|
|
63
|
+
"optional": true,
|
|
64
|
+
"docs": {
|
|
65
|
+
"tags": [],
|
|
66
|
+
"text": "Optional image URL; placeholder used if omitted"
|
|
67
|
+
},
|
|
68
|
+
"getter": false,
|
|
69
|
+
"setter": false,
|
|
70
|
+
"reflect": false,
|
|
71
|
+
"attribute": "image-url"
|
|
72
|
+
},
|
|
73
|
+
"description": {
|
|
74
|
+
"type": "string",
|
|
75
|
+
"mutable": false,
|
|
76
|
+
"complexType": {
|
|
77
|
+
"original": "string",
|
|
78
|
+
"resolved": "string",
|
|
79
|
+
"references": {}
|
|
80
|
+
},
|
|
81
|
+
"required": false,
|
|
82
|
+
"optional": true,
|
|
83
|
+
"docs": {
|
|
84
|
+
"tags": [],
|
|
85
|
+
"text": "Optional description"
|
|
86
|
+
},
|
|
87
|
+
"getter": false,
|
|
88
|
+
"setter": false,
|
|
89
|
+
"reflect": false,
|
|
90
|
+
"attribute": "description"
|
|
91
|
+
},
|
|
92
|
+
"primaryActionLabel": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"mutable": false,
|
|
95
|
+
"complexType": {
|
|
96
|
+
"original": "string",
|
|
97
|
+
"resolved": "string",
|
|
98
|
+
"references": {}
|
|
99
|
+
},
|
|
100
|
+
"required": false,
|
|
101
|
+
"optional": false,
|
|
102
|
+
"docs": {
|
|
103
|
+
"tags": [],
|
|
104
|
+
"text": "Primary action button label"
|
|
105
|
+
},
|
|
106
|
+
"getter": false,
|
|
107
|
+
"setter": false,
|
|
108
|
+
"reflect": false,
|
|
109
|
+
"attribute": "primary-action-label",
|
|
110
|
+
"defaultValue": "''"
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
static get events() {
|
|
115
|
+
return [{
|
|
116
|
+
"method": "primaryAction",
|
|
117
|
+
"name": "primaryAction",
|
|
118
|
+
"bubbles": true,
|
|
119
|
+
"cancelable": true,
|
|
120
|
+
"composed": true,
|
|
121
|
+
"docs": {
|
|
122
|
+
"tags": [],
|
|
123
|
+
"text": "Event emitted when primary button is clicked"
|
|
124
|
+
},
|
|
125
|
+
"complexType": {
|
|
126
|
+
"original": "PointerEvent",
|
|
127
|
+
"resolved": "PointerEvent",
|
|
128
|
+
"references": {
|
|
129
|
+
"PointerEvent": {
|
|
130
|
+
"location": "global",
|
|
131
|
+
"id": "global::PointerEvent"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}];
|
|
136
|
+
}
|
|
137
|
+
}
|