solid-ui 3.1.3-7 → 3.1.3-9
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/dist/_virtual/~icons/app/solid-emblem.cjs.js +3 -0
- package/dist/_virtual/~icons/app/solid-emblem.cjs.js.map +1 -0
- package/dist/_virtual/~icons/app/solid-emblem.esm.js +11 -0
- package/dist/_virtual/~icons/app/solid-emblem.esm.js.map +1 -0
- package/dist/breakpoints.css +1 -0
- package/dist/breakpoints.css.d.ts +1 -0
- package/dist/chunks/{account-BZ2rYQhV.js → account-CWY924jw.js} +74 -58
- package/dist/chunks/account-CWY924jw.js.map +1 -0
- package/dist/chunks/{auth-RHyQ2iIl.js → auth-DIRGfFle.js} +18 -18
- package/dist/chunks/{auth-RHyQ2iIl.js.map → auth-DIRGfFle.js.map} +1 -1
- package/dist/chunks/{avatar-Jx8xm2Op.js → avatar-CLJz6mOV.js} +3 -3
- package/dist/chunks/{avatar-Jx8xm2Op.js.map → avatar-CLJz6mOV.js.map} +1 -1
- package/dist/chunks/{button-0s0lZdxm.js → button-CBQEwOtX.js} +7 -3
- package/dist/chunks/button-CBQEwOtX.js.map +1 -0
- package/dist/chunks/{combobox-Cxi8xUMn.js → combobox-B7a6BjQr.js} +5 -5
- package/dist/chunks/combobox-B7a6BjQr.js.map +1 -0
- package/dist/chunks/{dialog-BAzrHJ8w.js → dialog-Bn4qiZi-.js} +2 -2
- package/dist/chunks/{dialog-BAzrHJ8w.js.map → dialog-Bn4qiZi-.js.map} +1 -1
- package/dist/chunks/{footer-D64T6XLO.js → footer-kVa_uMeQ.js} +3 -3
- package/dist/chunks/{footer-D64T6XLO.js.map → footer-kVa_uMeQ.js.map} +1 -1
- package/dist/chunks/{guard-CjUBGVDk.js → guard-Cxl9QbaG.js} +3 -3
- package/dist/chunks/{guard-CjUBGVDk.js.map → guard-Cxl9QbaG.js.map} +1 -1
- package/dist/chunks/{headerFooterHelpers-7O_ln1QD.js → headerFooterHelpers-BiZ6X10e.js} +15 -15
- package/dist/chunks/{headerFooterHelpers-7O_ln1QD.js.map → headerFooterHelpers-BiZ6X10e.js.map} +1 -1
- package/dist/chunks/{jsonld-DRZuoyoU.js → jsonld-Cd-ZhJmZ.js} +2 -2
- package/dist/chunks/{jsonld-DRZuoyoU.js.map → jsonld-Cd-ZhJmZ.js.map} +1 -1
- package/dist/chunks/{login-button-DPeMi00d.js → login-button-ChyF_OoC.js} +4 -4
- package/dist/chunks/{login-button-DPeMi00d.js.map → login-button-ChyF_OoC.js.map} +1 -1
- package/dist/chunks/{logout-button-CbiLE7jO.js → logout-button-BRPS8630.js} +4 -4
- package/dist/chunks/{logout-button-CbiLE7jO.js.map → logout-button-BRPS8630.js.map} +1 -1
- package/dist/chunks/{menu-item-Ck0l-uEI.js → menu-item-CWg-eS4V.js} +7 -5
- package/dist/chunks/menu-item-CWg-eS4V.js.map +1 -0
- package/dist/chunks/{provider-C4eSzopG.js → provider-D0RqwRoM.js} +2 -2
- package/dist/chunks/{provider-C4eSzopG.js.map → provider-D0RqwRoM.js.map} +1 -1
- package/dist/chunks/{signup-button-BfIxbpwa.js → signup-button-Df4rYzNO.js} +4 -4
- package/dist/chunks/{signup-button-BfIxbpwa.js.map → signup-button-Df4rYzNO.js.map} +1 -1
- package/dist/chunks/solid-emblem-BDzhMTjL.js +185 -0
- package/dist/chunks/solid-emblem-BDzhMTjL.js.map +1 -0
- package/dist/chunks/{solid-logic.esm-T70qfHAr.js → solid-logic.esm-BhVcNu8u.js} +7 -28
- package/dist/chunks/{solid-logic.esm-T70qfHAr.js.map → solid-logic.esm-BhVcNu8u.js.map} +1 -1
- package/dist/chunks/{src-Bx4GAnWq.js → src-Dxxeu4rj.js} +2375 -2351
- package/dist/chunks/src-Dxxeu4rj.js.map +1 -0
- package/dist/components/account/Account.cjs.js +7 -2
- package/dist/components/account/Account.cjs.js.map +1 -1
- package/dist/components/account/Account.d.ts +8 -1
- package/dist/components/account/Account.d.ts.map +1 -1
- package/dist/components/account/Account.esm.js +64 -48
- package/dist/components/account/Account.esm.js.map +1 -1
- package/dist/components/account/Account.stories.d.ts +3 -8
- package/dist/components/account/Account.stories.d.ts.map +1 -1
- package/dist/components/account/index.cjs.js.map +1 -1
- package/dist/components/account/index.d.ts +2 -2
- package/dist/components/account/index.d.ts.map +1 -1
- package/dist/components/account/index.esm.js.map +1 -1
- package/dist/components/account.js +1 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/button/Button.cjs.js +2 -2
- package/dist/components/button/Button.cjs.js.map +1 -1
- package/dist/components/button/Button.d.ts +1 -0
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/button/Button.esm.js +5 -1
- package/dist/components/button/Button.esm.js.map +1 -1
- package/dist/components/button/Button.styles.cjs.js +1 -1
- package/dist/components/button/Button.styles.cjs.js.map +1 -1
- package/dist/components/button/Button.styles.esm.js +1 -1
- package/dist/components/button/Button.styles.esm.js.map +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/combobox/Combobox.cjs.js +2 -2
- package/dist/components/combobox/Combobox.cjs.js.map +1 -1
- package/dist/components/combobox/Combobox.d.ts +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.esm.js +4 -4
- package/dist/components/combobox/Combobox.esm.js.map +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/footer.js +1 -1
- package/dist/components/guard.js +1 -1
- package/dist/components/index.cjs.js +1 -1
- package/dist/components/index.esm.js +2 -2
- package/dist/components/login-button.js +1 -1
- package/dist/components/login-modal.js +1 -1
- package/dist/components/logout-button.js +1 -1
- package/dist/components/menu-item/MenuItem.cjs.js +5 -3
- package/dist/components/menu-item/MenuItem.cjs.js.map +1 -1
- package/dist/components/menu-item/MenuItem.d.ts.map +1 -1
- package/dist/components/menu-item/MenuItem.esm.js +5 -3
- package/dist/components/menu-item/MenuItem.esm.js.map +1 -1
- package/dist/components/menu-item/MenuItem.styles.cjs.js +1 -1
- package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -1
- package/dist/components/menu-item/MenuItem.styles.esm.js +1 -1
- package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -1
- package/dist/components/menu-item.js +1 -1
- package/dist/components/provider.js +1 -1
- package/dist/components/signup-button.js +1 -1
- package/dist/components/solid-emblem/SolidEmblem.cjs.js +2 -0
- package/dist/components/solid-emblem/SolidEmblem.cjs.js.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.d.ts +6 -0
- package/dist/components/solid-emblem/SolidEmblem.d.ts.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.esm.js +178 -0
- package/dist/components/solid-emblem/SolidEmblem.esm.js.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js +2 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.esm.js +7 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.esm.js.map +1 -0
- package/dist/components/solid-emblem/index.cjs.js +2 -0
- package/dist/components/solid-emblem/index.cjs.js.map +1 -0
- package/dist/components/solid-emblem/index.d.ts +4 -0
- package/dist/components/solid-emblem/index.d.ts.map +1 -0
- package/dist/components/solid-emblem/index.esm.js +7 -0
- package/dist/components/solid-emblem/index.esm.js.map +1 -0
- package/dist/components/solid-emblem.js +2 -0
- package/dist/components.js +14 -14
- package/dist/index.js +4 -5
- package/dist/lib/forms/rdfHelper.d.ts +4 -0
- package/dist/lib/forms/rdfHelper.d.ts.map +1 -0
- package/dist/loader.js +4 -5
- package/dist/solid-ui.js +80 -1171
- package/dist/solid-ui.min.js +80 -1171
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/theme.css +1 -1
- package/package.json +7 -2
- package/dist/chunks/account-BZ2rYQhV.js.map +0 -1
- package/dist/chunks/button-0s0lZdxm.js.map +0 -1
- package/dist/chunks/combobox-Cxi8xUMn.js.map +0 -1
- package/dist/chunks/header-COBaJDdB.js +0 -1486
- package/dist/chunks/header-COBaJDdB.js.map +0 -1
- package/dist/chunks/iconBase-DJ0zbNSL.js +0 -31
- package/dist/chunks/iconBase-DJ0zbNSL.js.map +0 -1
- package/dist/chunks/menu-item-Ck0l-uEI.js.map +0 -1
- package/dist/chunks/src-Bx4GAnWq.js.map +0 -1
- package/dist/components/header/index.cjs.js +0 -1
- package/dist/components/header/index.d.ts +0 -2
- package/dist/components/header/index.d.ts.map +0 -1
- package/dist/components/header/index.esm.js +0 -3
- package/dist/components/header.js +0 -2
- package/dist/lib/features.cjs.js +0 -2
- package/dist/lib/features.cjs.js.map +0 -1
- package/dist/lib/features.d.ts +0 -8
- package/dist/lib/features.d.ts.map +0 -1
- package/dist/lib/features.esm.js +0 -6
- package/dist/lib/features.esm.js.map +0 -1
- package/dist/v2/components/actions/button/Button.d.ts +0 -97
- package/dist/v2/components/actions/button/Button.d.ts.map +0 -1
- package/dist/v2/components/actions/button/Button.test.d.ts +0 -1
- package/dist/v2/components/actions/button/Button.test.d.ts.map +0 -1
- package/dist/v2/components/actions/button/index.d.ts +0 -8
- package/dist/v2/components/actions/button/index.d.ts.map +0 -1
- package/dist/v2/components/auth/loginButton/LoginButton.cjs.js +0 -414
- package/dist/v2/components/auth/loginButton/LoginButton.cjs.js.map +0 -1
- package/dist/v2/components/auth/loginButton/LoginButton.esm.js +0 -519
- package/dist/v2/components/auth/loginButton/LoginButton.esm.js.map +0 -1
- package/dist/v2/components/auth/loginButton/downArrow.cjs.js +0 -9
- package/dist/v2/components/auth/loginButton/downArrow.cjs.js.map +0 -1
- package/dist/v2/components/auth/loginButton/downArrow.esm.js +0 -14
- package/dist/v2/components/auth/loginButton/downArrow.esm.js.map +0 -1
- package/dist/v2/components/auth/loginButton/index.cjs.js +0 -2
- package/dist/v2/components/auth/loginButton/index.cjs.js.map +0 -1
- package/dist/v2/components/auth/loginButton/index.esm.js +0 -8
- package/dist/v2/components/auth/loginButton/index.esm.js.map +0 -1
- package/dist/v2/components/auth/signupButton/SignupButton.cjs.js +0 -59
- package/dist/v2/components/auth/signupButton/SignupButton.cjs.js.map +0 -1
- package/dist/v2/components/auth/signupButton/SignupButton.esm.js +0 -98
- package/dist/v2/components/auth/signupButton/SignupButton.esm.js.map +0 -1
- package/dist/v2/components/auth/signupButton/index.cjs.js +0 -2
- package/dist/v2/components/auth/signupButton/index.cjs.js.map +0 -1
- package/dist/v2/components/auth/signupButton/index.esm.js +0 -8
- package/dist/v2/components/auth/signupButton/index.esm.js.map +0 -1
- package/dist/v2/components/forms/combobox/Combobox.d.ts +0 -82
- package/dist/v2/components/forms/combobox/Combobox.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/Combobox.test.d.ts +0 -1
- package/dist/v2/components/forms/combobox/Combobox.test.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/comboboxTypes.d.ts +0 -6
- package/dist/v2/components/forms/combobox/comboboxTypes.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/index.d.ts +0 -3
- package/dist/v2/components/forms/combobox/index.d.ts.map +0 -1
- package/dist/v2/components/forms/select/Select.d.ts +0 -68
- package/dist/v2/components/forms/select/Select.d.ts.map +0 -1
- package/dist/v2/components/forms/select/Select.test.d.ts +0 -1
- package/dist/v2/components/forms/select/Select.test.d.ts.map +0 -1
- package/dist/v2/components/forms/select/index.d.ts +0 -3
- package/dist/v2/components/forms/select/index.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/downArrow.d.ts +0 -2
- package/dist/v2/components/forms/shared/downArrow.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/keyboard.d.ts +0 -7
- package/dist/v2/components/forms/shared/keyboard.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/listboxStyles.d.ts +0 -2
- package/dist/v2/components/forms/shared/listboxStyles.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/listboxTemplate.d.ts +0 -11
- package/dist/v2/components/forms/shared/listboxTemplate.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/optionTypes.d.ts +0 -6
- package/dist/v2/components/forms/shared/optionTypes.d.ts.map +0 -1
- package/dist/v2/components/layout/header/Header.cjs.js +0 -625
- package/dist/v2/components/layout/header/Header.cjs.js.map +0 -1
- package/dist/v2/components/layout/header/Header.d.ts +0 -160
- package/dist/v2/components/layout/header/Header.d.ts.map +0 -1
- package/dist/v2/components/layout/header/Header.esm.js +0 -873
- package/dist/v2/components/layout/header/Header.esm.js.map +0 -1
- package/dist/v2/components/layout/header/header.test.d.ts +0 -1
- package/dist/v2/components/layout/header/header.test.d.ts.map +0 -1
- package/dist/v2/components/layout/header/index.cjs.js +0 -2
- package/dist/v2/components/layout/header/index.cjs.js.map +0 -1
- package/dist/v2/components/layout/header/index.d.ts +0 -4
- package/dist/v2/components/layout/header/index.d.ts.map +0 -1
- package/dist/v2/components/layout/header/index.esm.js +0 -8
- package/dist/v2/components/layout/header/index.esm.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css as e } from "lit";
|
|
2
2
|
//#region src/components/button/Button.styles.css
|
|
3
|
-
var t = e`:host{--text-color:var(--solid-ui-color-white);--border-color:var(--solid-ui-color-primary);--background-color:var(--solid-ui-color-primary);--hover-text-color:var(--text-color);--hover-border-color:var(--solid-ui-color-tertiary);--hover-background-color:var(--solid-ui-color-tertiary);display:inline-flex}:host button{font-size:var(--solid-ui-font-size-md);color:var(--text-color);background:var(--background-color);border:1px solid var(--border-color);border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 12px;font-weight:600;display:flex;position:relative}:host button:disabled{opacity:.5;cursor:not-allowed}:host button:hover:not(:disabled){color:var(--hover-text-color);background:var(--hover-background-color);border-color:var(--hover-border-color)}:host button icon-svg-spinners-180-ring,:host button ::slotted([slot=left-icon]),:host button ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-md);height:var(--solid-ui-font-size-md)}:host button:after{content:\"\";width:var(--solid-ui-clickable-area);height:var(--solid-ui-clickable-area);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host(
|
|
3
|
+
var t = e`:host{--text-color:var(--solid-ui-color-white);--border-color:var(--solid-ui-color-primary);--background-color:var(--solid-ui-color-primary);--hover-text-color:var(--text-color);--hover-border-color:var(--solid-ui-color-tertiary);--hover-background-color:var(--solid-ui-color-tertiary);display:inline-flex}:host button{font-size:var(--solid-ui-font-size-md);color:var(--text-color);background:var(--background-color);border:1px solid var(--border-color);border-radius:5px;flex:1;justify-content:center;align-items:center;gap:5px;padding:7px 12px;font-weight:600;display:flex;position:relative}:host button:disabled{opacity:.5;cursor:not-allowed}:host button:hover:not(:disabled){color:var(--hover-text-color);background:var(--hover-background-color);border-color:var(--hover-border-color)}:host button icon-svg-spinners-180-ring,:host button ::slotted([slot=left-icon]),:host button ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-md);height:var(--solid-ui-font-size-md)}:host button:after{content:\"\";width:var(--solid-ui-clickable-area);height:var(--solid-ui-clickable-area);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host([data-has-icon-slot]) button{padding:4px}:host([data-has-icon-slot]) button ::slotted([slot=icon]){width:var(--solid-ui-font-size-2xl);height:var(--solid-ui-font-size-2xl)}:host([variant=secondary]) button{--text-color:var(--solid-ui-color-gray-800);--border-color:var(--solid-ui-color-slate-400);--background-color:var(--solid-ui-color-white);--hover-text-color:var(--solid-ui-color-white);--hover-background-color:var(--solid-ui-color-tertiary);--hover-border-color:var(--solid-ui-color-tertiary)}:host([variant=tertiary]) button{--text-color:var(--solid-ui-color-primary);--border-color:transparent;--background-color:transparent;--hover-text-color:var(--solid-ui-color-tertiary);--hover-border-color:var(--solid-ui-color-tertiary);--hover-background-color:transparent;border-width:0 0 1px;border-radius:0;padding:0}:host([variant=outline]) button{--text-color:currentColor;--border-color:currentColor;--background-color:transparent;--hover-text-color:currentColor;--hover-border-color:currentColor;--hover-background-color:color-mix(in srgb, currentColor 25%, transparent)}:host([variant=ghost]) button{--text-color:currentColor;--border-color:transparent;--background-color:transparent;--hover-text-color:currentColor;--hover-border-color:transparent;--hover-background-color:color-mix(in srgb, currentColor 25%, transparent)}`;
|
|
4
4
|
//#endregion
|
|
5
5
|
export { t as default };
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.styles.esm.js","names":[],"sources":["../../../src/components/button/Button.styles.css"],"sourcesContent":[":host {\n --text-color: var(--solid-ui-color-white);\n --border-color: var(--solid-ui-color-primary);\n --background-color: var(--solid-ui-color-primary);\n --hover-text-color: var(--text-color);\n --hover-border-color: var(--solid-ui-color-tertiary);\n --hover-background-color: var(--solid-ui-color-tertiary);\n\n display: inline-flex;\n\n button {\n position: relative;\n padding: 7px 12px;\n border-radius: 5px;\n font-size: var(--solid-ui-font-size-md);\n font-weight: 600;\n color: var(--text-color);\n background: var(--background-color);\n border: 1px solid var(--border-color);\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 5px;\n flex: 1;\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n &:hover:not(:disabled) {\n color: var(--hover-text-color);\n background: var(--hover-background-color);\n border-color: var(--hover-border-color);\n }\n\n icon-svg-spinners-180-ring, ::slotted([slot=\"left-icon\"]), ::slotted([slot=\"right-icon\"]) {\n width: var(--solid-ui-font-size-md);\n height: var(--solid-ui-font-size-md);\n }\n\n &::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: var(--solid-ui-clickable-area);\n height: var(--solid-ui-clickable-area);\n }\n }\n}\n\n:host(
|
|
1
|
+
{"version":3,"file":"Button.styles.esm.js","names":[],"sources":["../../../src/components/button/Button.styles.css"],"sourcesContent":[":host {\n --text-color: var(--solid-ui-color-white);\n --border-color: var(--solid-ui-color-primary);\n --background-color: var(--solid-ui-color-primary);\n --hover-text-color: var(--text-color);\n --hover-border-color: var(--solid-ui-color-tertiary);\n --hover-background-color: var(--solid-ui-color-tertiary);\n\n display: inline-flex;\n\n button {\n position: relative;\n padding: 7px 12px;\n border-radius: 5px;\n font-size: var(--solid-ui-font-size-md);\n font-weight: 600;\n color: var(--text-color);\n background: var(--background-color);\n border: 1px solid var(--border-color);\n display: flex;\n justify-content: center;\n align-items: center;\n gap: 5px;\n flex: 1;\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n &:hover:not(:disabled) {\n color: var(--hover-text-color);\n background: var(--hover-background-color);\n border-color: var(--hover-border-color);\n }\n\n icon-svg-spinners-180-ring, ::slotted([slot=\"left-icon\"]), ::slotted([slot=\"right-icon\"]) {\n width: var(--solid-ui-font-size-md);\n height: var(--solid-ui-font-size-md);\n }\n\n &::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: var(--solid-ui-clickable-area);\n height: var(--solid-ui-clickable-area);\n }\n }\n}\n\n:host([data-has-icon-slot]) button {\n padding: 4px;\n\n ::slotted([slot=\"icon\"]) {\n width: var(--solid-ui-font-size-2xl);\n height: var(--solid-ui-font-size-2xl);\n }\n}\n\n:host([variant='secondary']) button {\n --text-color: var(--solid-ui-color-gray-800);\n --border-color: var(--solid-ui-color-slate-400);\n --background-color: var(--solid-ui-color-white);\n --hover-text-color: var(--solid-ui-color-white);\n --hover-background-color: var(--solid-ui-color-tertiary);\n --hover-border-color: var(--solid-ui-color-tertiary);\n}\n\n:host([variant='tertiary']) button {\n --text-color: var(--solid-ui-color-primary);\n --border-color: transparent;\n --background-color: transparent;\n --hover-text-color: var(--solid-ui-color-tertiary);\n --hover-border-color: var(--solid-ui-color-tertiary);\n --hover-background-color: transparent;\n\n padding: 0;\n border-radius: 0;\n border-width: 0;\n border-bottom-width: 1px;\n}\n\n:host([variant='outline']) button {\n --text-color: currentColor;\n --border-color: currentColor;\n --background-color: transparent;\n --hover-text-color: currentColor;\n --hover-border-color: currentColor;\n --hover-background-color: color-mix(in srgb, currentColor 25%, transparent);\n}\n\n:host([variant='ghost']) button {\n --text-color: currentColor;\n --border-color: transparent;\n --background-color: transparent;\n --hover-text-color: currentColor;\n --hover-border-color: transparent;\n --hover-background-color: color-mix(in srgb, currentColor 25%, transparent);\n}\n"],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "../chunks/button-
|
|
1
|
+
import { n as e, r as t, t as n } from "../chunks/button-CBQEwOtX.js";
|
|
2
2
|
export { e as BUTTON_VARIANTS, t as Button, n as default };
|
|
@@ -42,7 +42,7 @@ const e=require("../../lib/components/decorators.cjs.js"),t=require("../../lib/c
|
|
|
42
42
|
aria-labelledby=${this.label?this.inputTrait.labelId:i.nothing}
|
|
43
43
|
aria-label=${this.label?i.nothing:n}
|
|
44
44
|
?hidden=${!this.open}
|
|
45
|
-
@
|
|
45
|
+
@mousedown=${this.onListboxMouseDown}
|
|
46
46
|
>
|
|
47
47
|
${e.map((e,t)=>i.html`<div
|
|
48
48
|
id=${this.getOptionId(t)}
|
|
@@ -55,5 +55,5 @@ const e=require("../../lib/components/decorators.cjs.js"),t=require("../../lib/c
|
|
|
55
55
|
</div>`)}
|
|
56
56
|
</div>
|
|
57
57
|
</wa-popup>
|
|
58
|
-
`}getFilteredOptions(){return this.getOptions().filter(e=>e.label.toLowerCase().includes(this.filter))}getOptions(){let e=this.querySelectorAll(`solid-ui-combobox-option`);return Array.from(e).map(e=>({value:e.value,label:e.textContent??``}))}getOptionId(e){return`${this.listboxId}-option-${e}`}getInitialActiveIndex(e){let t=e.findIndex(e=>e.value===this.value);return t>=0?t:e.length>0?0:-1}getNextIndex(e,t,n){return t.length===0?-1:(e+n+t.length)%t.length}setActiveIndex(e){this.activeIndex=e}show(e){if(this.open)return;let t=this.getFilteredOptions();t.length!==0&&(this.open=!0,this.activeIndex=e?.focusLast?t.length-1:this.getInitialActiveIndex(t),this.addOpenListeners(),requestAnimationFrame(()=>this.scrollActiveOptionIntoView()))}hide(){this.open&&(this.open=!1,this.activeIndex=-1,this.removeOpenListeners())}selectOption(e){this.inputTrait.setValue(e),this.hide(),this.inputElement?.focus({preventScroll:!0})}scrollActiveOptionIntoView(){this.activeIndex<0||this.shadowRoot?.querySelector(`#${this.getOptionId(this.activeIndex)}`)?.scrollIntoView({block:`nearest`})}addOpenListeners(){if(this.openListenersAttached)return;document.addEventListener(`focusin`,this.handleDocumentFocusIn),document.addEventListener(`mousedown`,this.handleDocumentMouseDown);let e=this.getRootNode();e!==document&&e.addEventListener(`focusin`,this.handleDocumentFocusIn),this.openListenersAttached=!0}removeOpenListeners(){if(!this.openListenersAttached)return;document.removeEventListener(`focusin`,this.handleDocumentFocusIn),document.removeEventListener(`mousedown`,this.handleDocumentMouseDown);let e=this.getRootNode();e!==document&&e.removeEventListener(`focusin`,this.handleDocumentFocusIn),this.openListenersAttached=!1}onAnchorMouseDown(e){e.preventDefault(),this.inputElement?.focus({preventScroll:!0})}onInputFocus(){this.show()}openPopupFromKey(e){this.open||this.show({focusLast:e})}onInputKeyDown(e){let t=this.getFilteredOptions();switch(e.key){case`ArrowDown`:e.preventDefault(),this.open?(this.activeIndex=this.getNextIndex(this.activeIndex,t,1),this.scrollActiveOptionIntoView()):this.openPopupFromKey(!1);break;case`ArrowUp`:e.preventDefault(),this.open?(this.activeIndex=this.getNextIndex(this.activeIndex,t,-1),this.scrollActiveOptionIntoView()):this.openPopupFromKey(!0);break;case`Enter`:this.open&&this.activeIndex>=0&&t[this.activeIndex]?(e.preventDefault(),this.selectOption(t[this.activeIndex].value)):this.open||(e.preventDefault(),this.inputTrait.onSubmit());break;case`Escape`:this.open&&(e.preventDefault(),e.stopPropagation(),this.hide(),this.inputElement?.focus({preventScroll:!0}));break;case`Tab`:this.hide();break}}
|
|
58
|
+
`}getFilteredOptions(){return this.getOptions().filter(e=>e.label.toLowerCase().includes(this.filter))}getOptions(){let e=this.querySelectorAll(`solid-ui-combobox-option`);return Array.from(e).map(e=>({value:e.value,label:e.textContent??``}))}getOptionId(e){return`${this.listboxId}-option-${e}`}getInitialActiveIndex(e){let t=e.findIndex(e=>e.value===this.value);return t>=0?t:e.length>0?0:-1}getNextIndex(e,t,n){return t.length===0?-1:(e+n+t.length)%t.length}setActiveIndex(e){this.activeIndex=e}show(e){if(this.open)return;let t=this.getFilteredOptions();t.length!==0&&(this.open=!0,this.activeIndex=e?.focusLast?t.length-1:this.getInitialActiveIndex(t),this.addOpenListeners(),requestAnimationFrame(()=>this.scrollActiveOptionIntoView()))}hide(){this.open&&(this.filter=``,this.open=!1,this.activeIndex=-1,this.removeOpenListeners())}selectOption(e){this.inputTrait.setValue(e),this.hide(),this.inputElement?.focus({preventScroll:!0})}scrollActiveOptionIntoView(){this.activeIndex<0||this.shadowRoot?.querySelector(`#${this.getOptionId(this.activeIndex)}`)?.scrollIntoView({block:`nearest`})}addOpenListeners(){if(this.openListenersAttached)return;document.addEventListener(`focusin`,this.handleDocumentFocusIn),document.addEventListener(`mousedown`,this.handleDocumentMouseDown);let e=this.getRootNode();e!==document&&e.addEventListener(`focusin`,this.handleDocumentFocusIn),this.openListenersAttached=!0}removeOpenListeners(){if(!this.openListenersAttached)return;document.removeEventListener(`focusin`,this.handleDocumentFocusIn),document.removeEventListener(`mousedown`,this.handleDocumentMouseDown);let e=this.getRootNode();e!==document&&e.removeEventListener(`focusin`,this.handleDocumentFocusIn),this.openListenersAttached=!1}onAnchorMouseDown(e){e.preventDefault(),this.inputElement?.focus({preventScroll:!0})}onInputFocus(){this.show()}openPopupFromKey(e){this.open||this.show({focusLast:e})}onInputKeyDown(e){let t=this.getFilteredOptions();switch(e.key){case`ArrowDown`:e.preventDefault(),this.open?(this.activeIndex=this.getNextIndex(this.activeIndex,t,1),this.scrollActiveOptionIntoView()):this.openPopupFromKey(!1);break;case`ArrowUp`:e.preventDefault(),this.open?(this.activeIndex=this.getNextIndex(this.activeIndex,t,-1),this.scrollActiveOptionIntoView()):this.openPopupFromKey(!0);break;case`Enter`:this.open&&this.activeIndex>=0&&t[this.activeIndex]?(e.preventDefault(),this.selectOption(t[this.activeIndex].value)):this.open||(e.preventDefault(),this.inputTrait.onSubmit());break;case`Escape`:this.open&&(e.preventDefault(),e.stopPropagation(),this.hide(),this.inputElement?.focus({preventScroll:!0}));break;case`Tab`:this.hide();break}}onListboxMouseDown(e){if(e.preventDefault(),!(e.target instanceof HTMLElement))return;let t=e.target.closest(`[role="option"]`);if(!t)return;let n=t.id,r=Number.parseInt(n.replace(`${this.listboxId}-option-`,``),10),i=this.getFilteredOptions()[r];i&&this.selectOption(i.value)}},{e:[x,C,T,D,k,j,N,F,L,_],c:[Q,v]}=K(s,[[b,1,`label`],[S,1,`name`],[w,1,`value`],[E,1,`placeholder`],[O,1,`required`],[A,1,`inputElement`],[M,1,`filter`],[P,1,`open`],[I,1,`activeIndex`]],y,0,void 0,t.default),s),o=class extends Z{constructor(){super(Q),G(this,`styles`,r.default),G(this,`formAssociated`,!0),v()}},G(o,R,void 0),o),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return Q}});
|
|
59
59
|
//# sourceMappingURL=Combobox.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.cjs.js","names":["customElement","WebComponent","html","nothing","property","query","state","InputTrait","styles","_classDecs","_Combobox","_Combobox2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_ref","_labelDecs","type","String","reflect","_nameDecs","_valueDecs","_placeholderDecs","_requiredDecs","Boolean","_inputElementDecs","_filterDecs","_openDecs","_activeIndexDecs","_Combobox3","Combobox","_classPrivateFieldGet","label","v","_classPrivateFieldSet","name","value","placeholder","required","inputElement","filter","open","activeIndex","constructor","_classPrivateFieldInitSpec","_initProto","_init_label","_init_name","_init_value","_init_placeholder","_init_required","_init_inputElement","_init_filter","_init_open","_init_activeIndex","_defineProperty","event","path","composedPath","includes","hide","inputTrait","addTrait","getInputElement","getInternals","onValueChanged","toLowerCase","options","getFilteredOptions","length","getInitialActiveIndex","listboxId","inputId","disconnectedCallback","removeOpenListeners","render","activeOption","undefined","activeDescendant","getOptionId","accessibleName","renderLabel","onAnchorMouseDown","labelId","onInputKeyDown","onInputFocus","onInput","onListboxMouseUp","map","option","index","setActiveIndex","getOptions","querySelectorAll","Array","from","textContent","selectedIndex","findIndex","getNextIndex","currentIndex","direction","show","filteredOptions","focusLast","addOpenListeners","requestAnimationFrame","scrollActiveOptionIntoView","selectOption","setValue","focus","preventScroll","shadowRoot","querySelector","scrollIntoView","block","openListenersAttached","document","addEventListener","handleDocumentFocusIn","handleDocumentMouseDown","root","getRootNode","removeEventListener","preventDefault","openPopupFromKey","key","onSubmit","stopPropagation","target","HTMLElement","optionElement","closest","optionId","id","Number","parseInt","replace","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/combobox/Combobox.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport InputTrait from '@/lib/components/traits/InputTrait'\nimport type ComboboxOption from '@/components/combobox-option/ComboboxOption'\n\nimport '~icons/lucide/chevron-down'\nimport '@awesome.me/webawesome/dist/components/popup/popup.js'\n\nimport styles from './Combobox.styles.css'\n\ntype ComboboxOptionData = { value: string; label: string }\n\n@customElement('solid-ui-combobox')\nexport default class Combobox extends WebComponent {\n static styles = styles\n static formAssociated = true\n\n @property({ type: String, reflect: true })\n accessor label = ''\n\n @property({ type: String, reflect: true })\n accessor name = ''\n\n @property({ type: String })\n accessor value = ''\n\n @property({ type: String, reflect: true })\n accessor placeholder = ''\n\n @property({ type: Boolean, reflect: true })\n accessor required = false\n\n @query('input')\n private accessor inputElement: HTMLInputElement | null = null\n\n @state()\n private accessor filter = ''\n\n @state()\n private accessor open = false\n\n @state()\n private accessor activeIndex = -1\n\n private inputTrait: InputTrait\n private openListenersAttached = false\n private readonly listboxId: string\n\n constructor () {\n super()\n\n this.inputTrait = this.addTrait(\n new InputTrait(this, {\n getInputElement: () => this.inputElement,\n getInternals: () => this.getInternals(),\n onValueChanged: (value) => {\n this.filter = value.toLowerCase()\n\n const options = this.getFilteredOptions()\n\n if (options.length === 0) {\n this.hide()\n return\n }\n\n if (this.open) {\n this.activeIndex = this.getInitialActiveIndex(options)\n }\n },\n })\n )\n\n this.listboxId = `listbox-${this.inputTrait.inputId}`\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.removeOpenListeners()\n }\n\n protected render () {\n const options = this.getFilteredOptions()\n const activeOption =\n this.open && this.activeIndex >= 0 ? options[this.activeIndex] : undefined\n const activeDescendant =\n activeOption !== undefined ? this.getOptionId(this.activeIndex) : undefined\n const accessibleName = this.placeholder || 'Combobox'\n\n return html`\n ${this.inputTrait.renderLabel()}\n <wa-popup\n placement=\"bottom\"\n flip\n shift\n sync=\"width\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n ?active=${this.open}\n >\n <div class=\"input-wrapper\" slot=\"anchor\" @mousedown=${this.onAnchorMouseDown}>\n <input\n id=\"${this.inputTrait.inputId}\"\n type=\"text\"\n name=${this.name}\n placeholder=${this.placeholder}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-controls=${this.listboxId}\n aria-activedescendant=${activeDescendant ?? nothing}\n aria-labelledby=${this.label ? this.inputTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n aria-required=${this.required ? 'true' : nothing}\n autocomplete=\"off\"\n spellcheck=\"false\"\n ?required=${this.required}\n .value=${this.value}\n @keydown=${this.onInputKeyDown}\n @focus=${this.onInputFocus}\n @input=${() => this.inputTrait.onInput()}\n />\n <icon-lucide-chevron-down></icon-lucide-chevron-down>\n </div>\n <div\n id=${this.listboxId}\n class=\"listbox\"\n role=\"listbox\"\n aria-orientation=\"vertical\"\n aria-labelledby=${this.label ? this.inputTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n ?hidden=${!this.open}\n @mouseup=${this.onListboxMouseUp}\n >\n ${options.map(\n (option, index) =>\n html`<div\n id=${this.getOptionId(index)}\n role=\"option\"\n aria-selected=${this.open && index === this.activeIndex\n ? 'true'\n : 'false'}\n data-active=${index === this.activeIndex || nothing}\n @mousemove=${() => this.setActiveIndex(index)}\n >\n ${option.label}\n </div>`\n )}\n </div>\n </wa-popup>\n `\n }\n\n private getFilteredOptions (): ComboboxOptionData[] {\n return this.getOptions().filter((option) =>\n option.label.toLowerCase().includes(this.filter)\n )\n }\n\n private getOptions (): ComboboxOptionData[] {\n const options = this.querySelectorAll<ComboboxOption>(\n 'solid-ui-combobox-option'\n )\n\n return Array.from(options).map((option) => ({\n value: option.value,\n label: option.textContent ?? '',\n }))\n }\n\n private getOptionId (index: number): string {\n return `${this.listboxId}-option-${index}`\n }\n\n private getInitialActiveIndex (options: ComboboxOptionData[]): number {\n const selectedIndex = options.findIndex((option) => option.value === this.value)\n\n if (selectedIndex >= 0) {\n return selectedIndex\n }\n\n return options.length > 0 ? 0 : -1\n }\n\n private getNextIndex (\n currentIndex: number,\n options: ComboboxOptionData[],\n direction: 1 | -1\n ): number {\n if (options.length === 0) {\n return -1\n }\n\n return (currentIndex + direction + options.length) % options.length\n }\n\n private setActiveIndex (index: number) {\n this.activeIndex = index\n }\n\n private show (options?: { focusLast?: boolean }) {\n if (this.open) {\n return\n }\n\n const filteredOptions = this.getFilteredOptions()\n\n if (filteredOptions.length === 0) {\n return\n }\n\n this.open = true\n this.activeIndex = options?.focusLast\n ? filteredOptions.length - 1\n : this.getInitialActiveIndex(filteredOptions)\n this.addOpenListeners()\n\n requestAnimationFrame(() => this.scrollActiveOptionIntoView())\n }\n\n private hide () {\n if (!this.open) {\n return\n }\n\n this.open = false\n this.activeIndex = -1\n this.removeOpenListeners()\n }\n\n private selectOption (value: string) {\n this.inputTrait.setValue(value)\n this.hide()\n this.inputElement?.focus({ preventScroll: true })\n }\n\n private scrollActiveOptionIntoView () {\n if (this.activeIndex < 0) {\n return\n }\n\n this.shadowRoot\n ?.querySelector(`#${this.getOptionId(this.activeIndex)}`)\n ?.scrollIntoView({ block: 'nearest' })\n }\n\n private addOpenListeners () {\n if (this.openListenersAttached) {\n return\n }\n\n document.addEventListener('focusin', this.handleDocumentFocusIn)\n document.addEventListener('mousedown', this.handleDocumentMouseDown)\n\n const root = this.getRootNode()\n\n if (root !== document) {\n root.addEventListener('focusin', this.handleDocumentFocusIn)\n }\n\n this.openListenersAttached = true\n }\n\n private removeOpenListeners () {\n if (!this.openListenersAttached) {\n return\n }\n\n document.removeEventListener('focusin', this.handleDocumentFocusIn)\n document.removeEventListener('mousedown', this.handleDocumentMouseDown)\n\n const root = this.getRootNode()\n\n if (root !== document) {\n root.removeEventListener('focusin', this.handleDocumentFocusIn)\n }\n\n this.openListenersAttached = false\n }\n\n private handleDocumentFocusIn = (event: Event) => {\n const path = event.composedPath()\n\n if (!path.includes(this)) {\n this.hide()\n }\n }\n\n private handleDocumentMouseDown = (event: MouseEvent) => {\n const path = event.composedPath()\n\n if (!path.includes(this)) {\n this.hide()\n }\n }\n\n private onAnchorMouseDown (event: MouseEvent) {\n event.preventDefault()\n this.inputElement?.focus({ preventScroll: true })\n }\n\n private onInputFocus () {\n this.show()\n }\n\n private openPopupFromKey (focusLast: boolean) {\n if (!this.open) {\n this.show({ focusLast })\n }\n }\n\n private onInputKeyDown (event: KeyboardEvent) {\n const options = this.getFilteredOptions()\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault()\n\n if (!this.open) {\n this.openPopupFromKey(false)\n } else {\n this.activeIndex = this.getNextIndex(this.activeIndex, options, 1)\n this.scrollActiveOptionIntoView()\n }\n break\n case 'ArrowUp':\n event.preventDefault()\n\n if (!this.open) {\n this.openPopupFromKey(true)\n } else {\n this.activeIndex = this.getNextIndex(this.activeIndex, options, -1)\n this.scrollActiveOptionIntoView()\n }\n break\n case 'Enter':\n if (this.open && this.activeIndex >= 0 && options[this.activeIndex]) {\n event.preventDefault()\n this.selectOption(options[this.activeIndex].value)\n } else if (!this.open) {\n event.preventDefault()\n this.inputTrait.onSubmit()\n }\n break\n case 'Escape':\n if (this.open) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this.inputElement?.focus({ preventScroll: true })\n }\n break\n case 'Tab':\n this.hide()\n break\n }\n }\n\n private onListboxMouseUp (event: MouseEvent) {\n if (!(event.target instanceof HTMLElement)) {\n return\n }\n\n const optionElement = event.target.closest('[role=\"option\"]')\n\n if (!optionElement) {\n return\n }\n\n const optionId = optionElement.id\n const index = Number.parseInt(optionId.replace(`${this.listboxId}-option-`, ''), 10)\n const option = this.getFilteredOptions()[index]\n\n if (option) {\n this.selectOption(option.value)\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Combobox.cjs.js","names":["customElement","WebComponent","html","nothing","property","query","state","InputTrait","styles","_classDecs","_Combobox","_Combobox2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_ref","_labelDecs","type","String","reflect","_nameDecs","_valueDecs","_placeholderDecs","_requiredDecs","Boolean","_inputElementDecs","_filterDecs","_openDecs","_activeIndexDecs","_Combobox3","Combobox","_classPrivateFieldGet","label","v","_classPrivateFieldSet","name","value","placeholder","required","inputElement","filter","open","activeIndex","constructor","_classPrivateFieldInitSpec","_initProto","_init_label","_init_name","_init_value","_init_placeholder","_init_required","_init_inputElement","_init_filter","_init_open","_init_activeIndex","_defineProperty","event","path","composedPath","includes","hide","inputTrait","addTrait","getInputElement","getInternals","onValueChanged","toLowerCase","options","getFilteredOptions","length","getInitialActiveIndex","listboxId","inputId","disconnectedCallback","removeOpenListeners","render","activeOption","undefined","activeDescendant","getOptionId","accessibleName","renderLabel","onAnchorMouseDown","labelId","onInputKeyDown","onInputFocus","onInput","onListboxMouseDown","map","option","index","setActiveIndex","getOptions","querySelectorAll","Array","from","textContent","selectedIndex","findIndex","getNextIndex","currentIndex","direction","show","filteredOptions","focusLast","addOpenListeners","requestAnimationFrame","scrollActiveOptionIntoView","selectOption","setValue","focus","preventScroll","shadowRoot","querySelector","scrollIntoView","block","openListenersAttached","document","addEventListener","handleDocumentFocusIn","handleDocumentMouseDown","root","getRootNode","removeEventListener","preventDefault","openPopupFromKey","key","onSubmit","stopPropagation","target","HTMLElement","optionElement","closest","optionId","id","Number","parseInt","replace","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/combobox/Combobox.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport InputTrait from '@/lib/components/traits/InputTrait'\nimport type ComboboxOption from '@/components/combobox-option/ComboboxOption'\n\nimport '~icons/lucide/chevron-down'\nimport '@awesome.me/webawesome/dist/components/popup/popup.js'\n\nimport styles from './Combobox.styles.css'\n\ntype ComboboxOptionData = { value: string; label: string }\n\n@customElement('solid-ui-combobox')\nexport default class Combobox extends WebComponent {\n static styles = styles\n static formAssociated = true\n\n @property({ type: String, reflect: true })\n accessor label = ''\n\n @property({ type: String, reflect: true })\n accessor name = ''\n\n @property({ type: String })\n accessor value = ''\n\n @property({ type: String, reflect: true })\n accessor placeholder = ''\n\n @property({ type: Boolean, reflect: true })\n accessor required = false\n\n @query('input')\n private accessor inputElement: HTMLInputElement | null = null\n\n @state()\n private accessor filter = ''\n\n @state()\n private accessor open = false\n\n @state()\n private accessor activeIndex = -1\n\n private inputTrait: InputTrait\n private openListenersAttached = false\n private readonly listboxId: string\n\n constructor () {\n super()\n\n this.inputTrait = this.addTrait(\n new InputTrait(this, {\n getInputElement: () => this.inputElement,\n getInternals: () => this.getInternals(),\n onValueChanged: (value) => {\n this.filter = value.toLowerCase()\n\n const options = this.getFilteredOptions()\n\n if (options.length === 0) {\n this.hide()\n return\n }\n\n if (this.open) {\n this.activeIndex = this.getInitialActiveIndex(options)\n }\n },\n })\n )\n\n this.listboxId = `listbox-${this.inputTrait.inputId}`\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.removeOpenListeners()\n }\n\n protected render () {\n const options = this.getFilteredOptions()\n const activeOption =\n this.open && this.activeIndex >= 0 ? options[this.activeIndex] : undefined\n const activeDescendant =\n activeOption !== undefined ? this.getOptionId(this.activeIndex) : undefined\n const accessibleName = this.placeholder || 'Combobox'\n\n return html`\n ${this.inputTrait.renderLabel()}\n <wa-popup\n placement=\"bottom\"\n flip\n shift\n sync=\"width\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n ?active=${this.open}\n >\n <div class=\"input-wrapper\" slot=\"anchor\" @mousedown=${this.onAnchorMouseDown}>\n <input\n id=\"${this.inputTrait.inputId}\"\n type=\"text\"\n name=${this.name}\n placeholder=${this.placeholder}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-controls=${this.listboxId}\n aria-activedescendant=${activeDescendant ?? nothing}\n aria-labelledby=${this.label ? this.inputTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n aria-required=${this.required ? 'true' : nothing}\n autocomplete=\"off\"\n spellcheck=\"false\"\n ?required=${this.required}\n .value=${this.value}\n @keydown=${this.onInputKeyDown}\n @focus=${this.onInputFocus}\n @input=${() => this.inputTrait.onInput()}\n />\n <icon-lucide-chevron-down></icon-lucide-chevron-down>\n </div>\n <div\n id=${this.listboxId}\n class=\"listbox\"\n role=\"listbox\"\n aria-orientation=\"vertical\"\n aria-labelledby=${this.label ? this.inputTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n ?hidden=${!this.open}\n @mousedown=${this.onListboxMouseDown}\n >\n ${options.map(\n (option, index) =>\n html`<div\n id=${this.getOptionId(index)}\n role=\"option\"\n aria-selected=${this.open && index === this.activeIndex\n ? 'true'\n : 'false'}\n data-active=${index === this.activeIndex || nothing}\n @mousemove=${() => this.setActiveIndex(index)}\n >\n ${option.label}\n </div>`\n )}\n </div>\n </wa-popup>\n `\n }\n\n private getFilteredOptions (): ComboboxOptionData[] {\n return this.getOptions().filter((option) =>\n option.label.toLowerCase().includes(this.filter)\n )\n }\n\n private getOptions (): ComboboxOptionData[] {\n const options = this.querySelectorAll<ComboboxOption>(\n 'solid-ui-combobox-option'\n )\n\n return Array.from(options).map((option) => ({\n value: option.value,\n label: option.textContent ?? '',\n }))\n }\n\n private getOptionId (index: number): string {\n return `${this.listboxId}-option-${index}`\n }\n\n private getInitialActiveIndex (options: ComboboxOptionData[]): number {\n const selectedIndex = options.findIndex((option) => option.value === this.value)\n\n if (selectedIndex >= 0) {\n return selectedIndex\n }\n\n return options.length > 0 ? 0 : -1\n }\n\n private getNextIndex (\n currentIndex: number,\n options: ComboboxOptionData[],\n direction: 1 | -1\n ): number {\n if (options.length === 0) {\n return -1\n }\n\n return (currentIndex + direction + options.length) % options.length\n }\n\n private setActiveIndex (index: number) {\n this.activeIndex = index\n }\n\n private show (options?: { focusLast?: boolean }) {\n if (this.open) {\n return\n }\n\n const filteredOptions = this.getFilteredOptions()\n\n if (filteredOptions.length === 0) {\n return\n }\n\n this.open = true\n this.activeIndex = options?.focusLast\n ? filteredOptions.length - 1\n : this.getInitialActiveIndex(filteredOptions)\n this.addOpenListeners()\n\n requestAnimationFrame(() => this.scrollActiveOptionIntoView())\n }\n\n private hide () {\n if (!this.open) {\n return\n }\n\n this.filter = ''\n this.open = false\n this.activeIndex = -1\n this.removeOpenListeners()\n }\n\n private selectOption (value: string) {\n this.inputTrait.setValue(value)\n this.hide()\n this.inputElement?.focus({ preventScroll: true })\n }\n\n private scrollActiveOptionIntoView () {\n if (this.activeIndex < 0) {\n return\n }\n\n this.shadowRoot\n ?.querySelector(`#${this.getOptionId(this.activeIndex)}`)\n ?.scrollIntoView({ block: 'nearest' })\n }\n\n private addOpenListeners () {\n if (this.openListenersAttached) {\n return\n }\n\n document.addEventListener('focusin', this.handleDocumentFocusIn)\n document.addEventListener('mousedown', this.handleDocumentMouseDown)\n\n const root = this.getRootNode()\n\n if (root !== document) {\n root.addEventListener('focusin', this.handleDocumentFocusIn)\n }\n\n this.openListenersAttached = true\n }\n\n private removeOpenListeners () {\n if (!this.openListenersAttached) {\n return\n }\n\n document.removeEventListener('focusin', this.handleDocumentFocusIn)\n document.removeEventListener('mousedown', this.handleDocumentMouseDown)\n\n const root = this.getRootNode()\n\n if (root !== document) {\n root.removeEventListener('focusin', this.handleDocumentFocusIn)\n }\n\n this.openListenersAttached = false\n }\n\n private handleDocumentFocusIn = (event: Event) => {\n const path = event.composedPath()\n\n if (!path.includes(this)) {\n this.hide()\n }\n }\n\n private handleDocumentMouseDown = (event: MouseEvent) => {\n const path = event.composedPath()\n\n if (!path.includes(this)) {\n this.hide()\n }\n }\n\n private onAnchorMouseDown (event: MouseEvent) {\n event.preventDefault()\n this.inputElement?.focus({ preventScroll: true })\n }\n\n private onInputFocus () {\n this.show()\n }\n\n private openPopupFromKey (focusLast: boolean) {\n if (!this.open) {\n this.show({ focusLast })\n }\n }\n\n private onInputKeyDown (event: KeyboardEvent) {\n const options = this.getFilteredOptions()\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault()\n\n if (!this.open) {\n this.openPopupFromKey(false)\n } else {\n this.activeIndex = this.getNextIndex(this.activeIndex, options, 1)\n this.scrollActiveOptionIntoView()\n }\n break\n case 'ArrowUp':\n event.preventDefault()\n\n if (!this.open) {\n this.openPopupFromKey(true)\n } else {\n this.activeIndex = this.getNextIndex(this.activeIndex, options, -1)\n this.scrollActiveOptionIntoView()\n }\n break\n case 'Enter':\n if (this.open && this.activeIndex >= 0 && options[this.activeIndex]) {\n event.preventDefault()\n this.selectOption(options[this.activeIndex].value)\n } else if (!this.open) {\n event.preventDefault()\n this.inputTrait.onSubmit()\n }\n break\n case 'Escape':\n if (this.open) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this.inputElement?.focus({ preventScroll: true })\n }\n break\n case 'Tab':\n this.hide()\n break\n }\n }\n\n private onListboxMouseDown (event: MouseEvent) {\n event.preventDefault()\n\n if (!(event.target instanceof HTMLElement)) {\n return\n }\n\n const optionElement = event.target.closest('[role=\"option\"]')\n\n if (!optionElement) {\n return\n }\n\n const optionId = optionElement.id\n const index = Number.parseInt(optionId.replace(`${this.listboxId}-option-`, ''), 10)\n const option = this.getFilteredOptions()[index]\n\n if (option) {\n this.selectOption(option.value)\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAM9D,OAAO,4BAA4B,CAAA;AACnC,OAAO,uDAAuD,CAAA;AAO9D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,YAAY;IAChD,MAAM,CAAC,MAAM,0BAAS;IACtB,MAAM,CAAC,cAAc,UAAO;IAG5B,QAAQ,CAAC,KAAK,SAAK;IAGnB,QAAQ,CAAC,IAAI,SAAK;IAGlB,QAAQ,CAAC,KAAK,SAAK;IAGnB,QAAQ,CAAC,WAAW,SAAK;IAGzB,QAAQ,CAAC,QAAQ,UAAQ;IAGzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAG7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAK;IAG5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAK;IAEjC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;;IA6BlC,oBAAoB;IAMpB,SAAS,CAAC,MAAM;IAyEhB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,IAAI;IAoBZ,OAAO,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAM9D,OAAO,4BAA4B,CAAA;AACnC,OAAO,uDAAuD,CAAA;AAO9D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,YAAY;IAChD,MAAM,CAAC,MAAM,0BAAS;IACtB,MAAM,CAAC,cAAc,UAAO;IAG5B,QAAQ,CAAC,KAAK,SAAK;IAGnB,QAAQ,CAAC,IAAI,SAAK;IAGlB,QAAQ,CAAC,KAAK,SAAK;IAGnB,QAAQ,CAAC,WAAW,SAAK;IAGzB,QAAQ,CAAC,QAAQ,UAAQ;IAGzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAG7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAK;IAG5B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAK;IAEjC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;;IA6BlC,oBAAoB;IAMpB,SAAS,CAAC,MAAM;IAyEhB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,IAAI;IAoBZ,OAAO,CAAC,IAAI;IAWZ,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,0BAA0B;IAUlC,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,mBAAmB;IAiB3B,OAAO,CAAC,qBAAqB,CAM5B;IAED,OAAO,CAAC,uBAAuB,CAM9B;IAED,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,cAAc;IA+CtB,OAAO,CAAC,kBAAkB;CAqB3B"}
|
|
@@ -317,7 +317,7 @@ new (V = (d = /*#__PURE__*/ new WeakMap(), f = /*#__PURE__*/ new WeakMap(), p =
|
|
|
317
317
|
aria-labelledby=${this.label ? this.inputTrait.labelId : a}
|
|
318
318
|
aria-label=${this.label ? a : n}
|
|
319
319
|
?hidden=${!this.open}
|
|
320
|
-
@
|
|
320
|
+
@mousedown=${this.onListboxMouseDown}
|
|
321
321
|
>
|
|
322
322
|
${e.map((e, t) => i`<div
|
|
323
323
|
id=${this.getOptionId(t)}
|
|
@@ -361,7 +361,7 @@ new (V = (d = /*#__PURE__*/ new WeakMap(), f = /*#__PURE__*/ new WeakMap(), p =
|
|
|
361
361
|
t.length !== 0 && (this.open = !0, this.activeIndex = e?.focusLast ? t.length - 1 : this.getInitialActiveIndex(t), this.addOpenListeners(), requestAnimationFrame(() => this.scrollActiveOptionIntoView()));
|
|
362
362
|
}
|
|
363
363
|
hide() {
|
|
364
|
-
this.open && (this.open = !1, this.activeIndex = -1, this.removeOpenListeners());
|
|
364
|
+
this.open && (this.filter = "", this.open = !1, this.activeIndex = -1, this.removeOpenListeners());
|
|
365
365
|
}
|
|
366
366
|
selectOption(e) {
|
|
367
367
|
this.inputTrait.setValue(e), this.hide(), this.inputElement?.focus({ preventScroll: !0 });
|
|
@@ -410,8 +410,8 @@ new (V = (d = /*#__PURE__*/ new WeakMap(), f = /*#__PURE__*/ new WeakMap(), p =
|
|
|
410
410
|
break;
|
|
411
411
|
}
|
|
412
412
|
}
|
|
413
|
-
|
|
414
|
-
if (!(e.target instanceof HTMLElement)) return;
|
|
413
|
+
onListboxMouseDown(e) {
|
|
414
|
+
if (e.preventDefault(), !(e.target instanceof HTMLElement)) return;
|
|
415
415
|
let t = e.target.closest("[role=\"option\"]");
|
|
416
416
|
if (!t) return;
|
|
417
417
|
let n = t.id, r = Number.parseInt(n.replace(`${this.listboxId}-option-`, ""), 10), i = this.getFilteredOptions()[r];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.esm.js","names":["customElement","WebComponent","html","nothing","property","query","state","InputTrait","styles","_classDecs","_Combobox","_Combobox2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_ref","_labelDecs","type","String","reflect","_nameDecs","_valueDecs","_placeholderDecs","_requiredDecs","Boolean","_inputElementDecs","_filterDecs","_openDecs","_activeIndexDecs","_Combobox3","Combobox","_classPrivateFieldGet","label","v","_classPrivateFieldSet","name","value","placeholder","required","inputElement","filter","open","activeIndex","constructor","_classPrivateFieldInitSpec","_initProto","_init_label","_init_name","_init_value","_init_placeholder","_init_required","_init_inputElement","_init_filter","_init_open","_init_activeIndex","_defineProperty","event","path","composedPath","includes","hide","inputTrait","addTrait","getInputElement","getInternals","onValueChanged","toLowerCase","options","getFilteredOptions","length","getInitialActiveIndex","listboxId","inputId","disconnectedCallback","removeOpenListeners","render","activeOption","undefined","activeDescendant","getOptionId","accessibleName","renderLabel","onAnchorMouseDown","labelId","onInputKeyDown","onInputFocus","onInput","onListboxMouseUp","map","option","index","setActiveIndex","getOptions","querySelectorAll","Array","from","textContent","selectedIndex","findIndex","getNextIndex","currentIndex","direction","show","filteredOptions","focusLast","addOpenListeners","requestAnimationFrame","scrollActiveOptionIntoView","selectOption","setValue","focus","preventScroll","shadowRoot","querySelector","scrollIntoView","block","openListenersAttached","document","addEventListener","handleDocumentFocusIn","handleDocumentMouseDown","root","getRootNode","removeEventListener","preventDefault","openPopupFromKey","key","onSubmit","stopPropagation","target","HTMLElement","optionElement","closest","optionId","id","Number","parseInt","replace","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/combobox/Combobox.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport InputTrait from '@/lib/components/traits/InputTrait'\nimport type ComboboxOption from '@/components/combobox-option/ComboboxOption'\n\nimport '~icons/lucide/chevron-down'\nimport '@awesome.me/webawesome/dist/components/popup/popup.js'\n\nimport styles from './Combobox.styles.css'\n\ntype ComboboxOptionData = { value: string; label: string }\n\n@customElement('solid-ui-combobox')\nexport default class Combobox extends WebComponent {\n static styles = styles\n static formAssociated = true\n\n @property({ type: String, reflect: true })\n accessor label = ''\n\n @property({ type: String, reflect: true })\n accessor name = ''\n\n @property({ type: String })\n accessor value = ''\n\n @property({ type: String, reflect: true })\n accessor placeholder = ''\n\n @property({ type: Boolean, reflect: true })\n accessor required = false\n\n @query('input')\n private accessor inputElement: HTMLInputElement | null = null\n\n @state()\n private accessor filter = ''\n\n @state()\n private accessor open = false\n\n @state()\n private accessor activeIndex = -1\n\n private inputTrait: InputTrait\n private openListenersAttached = false\n private readonly listboxId: string\n\n constructor () {\n super()\n\n this.inputTrait = this.addTrait(\n new InputTrait(this, {\n getInputElement: () => this.inputElement,\n getInternals: () => this.getInternals(),\n onValueChanged: (value) => {\n this.filter = value.toLowerCase()\n\n const options = this.getFilteredOptions()\n\n if (options.length === 0) {\n this.hide()\n return\n }\n\n if (this.open) {\n this.activeIndex = this.getInitialActiveIndex(options)\n }\n },\n })\n )\n\n this.listboxId = `listbox-${this.inputTrait.inputId}`\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.removeOpenListeners()\n }\n\n protected render () {\n const options = this.getFilteredOptions()\n const activeOption =\n this.open && this.activeIndex >= 0 ? options[this.activeIndex] : undefined\n const activeDescendant =\n activeOption !== undefined ? this.getOptionId(this.activeIndex) : undefined\n const accessibleName = this.placeholder || 'Combobox'\n\n return html`\n ${this.inputTrait.renderLabel()}\n <wa-popup\n placement=\"bottom\"\n flip\n shift\n sync=\"width\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n ?active=${this.open}\n >\n <div class=\"input-wrapper\" slot=\"anchor\" @mousedown=${this.onAnchorMouseDown}>\n <input\n id=\"${this.inputTrait.inputId}\"\n type=\"text\"\n name=${this.name}\n placeholder=${this.placeholder}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-controls=${this.listboxId}\n aria-activedescendant=${activeDescendant ?? nothing}\n aria-labelledby=${this.label ? this.inputTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n aria-required=${this.required ? 'true' : nothing}\n autocomplete=\"off\"\n spellcheck=\"false\"\n ?required=${this.required}\n .value=${this.value}\n @keydown=${this.onInputKeyDown}\n @focus=${this.onInputFocus}\n @input=${() => this.inputTrait.onInput()}\n />\n <icon-lucide-chevron-down></icon-lucide-chevron-down>\n </div>\n <div\n id=${this.listboxId}\n class=\"listbox\"\n role=\"listbox\"\n aria-orientation=\"vertical\"\n aria-labelledby=${this.label ? this.inputTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n ?hidden=${!this.open}\n @mouseup=${this.onListboxMouseUp}\n >\n ${options.map(\n (option, index) =>\n html`<div\n id=${this.getOptionId(index)}\n role=\"option\"\n aria-selected=${this.open && index === this.activeIndex\n ? 'true'\n : 'false'}\n data-active=${index === this.activeIndex || nothing}\n @mousemove=${() => this.setActiveIndex(index)}\n >\n ${option.label}\n </div>`\n )}\n </div>\n </wa-popup>\n `\n }\n\n private getFilteredOptions (): ComboboxOptionData[] {\n return this.getOptions().filter((option) =>\n option.label.toLowerCase().includes(this.filter)\n )\n }\n\n private getOptions (): ComboboxOptionData[] {\n const options = this.querySelectorAll<ComboboxOption>(\n 'solid-ui-combobox-option'\n )\n\n return Array.from(options).map((option) => ({\n value: option.value,\n label: option.textContent ?? '',\n }))\n }\n\n private getOptionId (index: number): string {\n return `${this.listboxId}-option-${index}`\n }\n\n private getInitialActiveIndex (options: ComboboxOptionData[]): number {\n const selectedIndex = options.findIndex((option) => option.value === this.value)\n\n if (selectedIndex >= 0) {\n return selectedIndex\n }\n\n return options.length > 0 ? 0 : -1\n }\n\n private getNextIndex (\n currentIndex: number,\n options: ComboboxOptionData[],\n direction: 1 | -1\n ): number {\n if (options.length === 0) {\n return -1\n }\n\n return (currentIndex + direction + options.length) % options.length\n }\n\n private setActiveIndex (index: number) {\n this.activeIndex = index\n }\n\n private show (options?: { focusLast?: boolean }) {\n if (this.open) {\n return\n }\n\n const filteredOptions = this.getFilteredOptions()\n\n if (filteredOptions.length === 0) {\n return\n }\n\n this.open = true\n this.activeIndex = options?.focusLast\n ? filteredOptions.length - 1\n : this.getInitialActiveIndex(filteredOptions)\n this.addOpenListeners()\n\n requestAnimationFrame(() => this.scrollActiveOptionIntoView())\n }\n\n private hide () {\n if (!this.open) {\n return\n }\n\n this.open = false\n this.activeIndex = -1\n this.removeOpenListeners()\n }\n\n private selectOption (value: string) {\n this.inputTrait.setValue(value)\n this.hide()\n this.inputElement?.focus({ preventScroll: true })\n }\n\n private scrollActiveOptionIntoView () {\n if (this.activeIndex < 0) {\n return\n }\n\n this.shadowRoot\n ?.querySelector(`#${this.getOptionId(this.activeIndex)}`)\n ?.scrollIntoView({ block: 'nearest' })\n }\n\n private addOpenListeners () {\n if (this.openListenersAttached) {\n return\n }\n\n document.addEventListener('focusin', this.handleDocumentFocusIn)\n document.addEventListener('mousedown', this.handleDocumentMouseDown)\n\n const root = this.getRootNode()\n\n if (root !== document) {\n root.addEventListener('focusin', this.handleDocumentFocusIn)\n }\n\n this.openListenersAttached = true\n }\n\n private removeOpenListeners () {\n if (!this.openListenersAttached) {\n return\n }\n\n document.removeEventListener('focusin', this.handleDocumentFocusIn)\n document.removeEventListener('mousedown', this.handleDocumentMouseDown)\n\n const root = this.getRootNode()\n\n if (root !== document) {\n root.removeEventListener('focusin', this.handleDocumentFocusIn)\n }\n\n this.openListenersAttached = false\n }\n\n private handleDocumentFocusIn = (event: Event) => {\n const path = event.composedPath()\n\n if (!path.includes(this)) {\n this.hide()\n }\n }\n\n private handleDocumentMouseDown = (event: MouseEvent) => {\n const path = event.composedPath()\n\n if (!path.includes(this)) {\n this.hide()\n }\n }\n\n private onAnchorMouseDown (event: MouseEvent) {\n event.preventDefault()\n this.inputElement?.focus({ preventScroll: true })\n }\n\n private onInputFocus () {\n this.show()\n }\n\n private openPopupFromKey (focusLast: boolean) {\n if (!this.open) {\n this.show({ focusLast })\n }\n }\n\n private onInputKeyDown (event: KeyboardEvent) {\n const options = this.getFilteredOptions()\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault()\n\n if (!this.open) {\n this.openPopupFromKey(false)\n } else {\n this.activeIndex = this.getNextIndex(this.activeIndex, options, 1)\n this.scrollActiveOptionIntoView()\n }\n break\n case 'ArrowUp':\n event.preventDefault()\n\n if (!this.open) {\n this.openPopupFromKey(true)\n } else {\n this.activeIndex = this.getNextIndex(this.activeIndex, options, -1)\n this.scrollActiveOptionIntoView()\n }\n break\n case 'Enter':\n if (this.open && this.activeIndex >= 0 && options[this.activeIndex]) {\n event.preventDefault()\n this.selectOption(options[this.activeIndex].value)\n } else if (!this.open) {\n event.preventDefault()\n this.inputTrait.onSubmit()\n }\n break\n case 'Escape':\n if (this.open) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this.inputElement?.focus({ preventScroll: true })\n }\n break\n case 'Tab':\n this.hide()\n break\n }\n }\n\n private onListboxMouseUp (event: MouseEvent) {\n if (!(event.target instanceof HTMLElement)) {\n return\n }\n\n const optionElement = event.target.closest('[role=\"option\"]')\n\n if (!optionElement) {\n return\n }\n\n const optionId = optionElement.id\n const index = Number.parseInt(optionId.replace(`${this.listboxId}-option-`, ''), 10)\n const option = this.getFilteredOptions()[index]\n\n if (option) {\n this.selectOption(option.value)\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Combobox.esm.js","names":["customElement","WebComponent","html","nothing","property","query","state","InputTrait","styles","_classDecs","_Combobox","_Combobox2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_ref","_labelDecs","type","String","reflect","_nameDecs","_valueDecs","_placeholderDecs","_requiredDecs","Boolean","_inputElementDecs","_filterDecs","_openDecs","_activeIndexDecs","_Combobox3","Combobox","_classPrivateFieldGet","label","v","_classPrivateFieldSet","name","value","placeholder","required","inputElement","filter","open","activeIndex","constructor","_classPrivateFieldInitSpec","_initProto","_init_label","_init_name","_init_value","_init_placeholder","_init_required","_init_inputElement","_init_filter","_init_open","_init_activeIndex","_defineProperty","event","path","composedPath","includes","hide","inputTrait","addTrait","getInputElement","getInternals","onValueChanged","toLowerCase","options","getFilteredOptions","length","getInitialActiveIndex","listboxId","inputId","disconnectedCallback","removeOpenListeners","render","activeOption","undefined","activeDescendant","getOptionId","accessibleName","renderLabel","onAnchorMouseDown","labelId","onInputKeyDown","onInputFocus","onInput","onListboxMouseDown","map","option","index","setActiveIndex","getOptions","querySelectorAll","Array","from","textContent","selectedIndex","findIndex","getNextIndex","currentIndex","direction","show","filteredOptions","focusLast","addOpenListeners","requestAnimationFrame","scrollActiveOptionIntoView","selectOption","setValue","focus","preventScroll","shadowRoot","querySelector","scrollIntoView","block","openListenersAttached","document","addEventListener","handleDocumentFocusIn","handleDocumentMouseDown","root","getRootNode","removeEventListener","preventDefault","openPopupFromKey","key","onSubmit","stopPropagation","target","HTMLElement","optionElement","closest","optionId","id","Number","parseInt","replace","e","c","_initClass","_applyDecs","_Class","_identity","default"],"sources":["../../../src/components/combobox/Combobox.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html, nothing } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport InputTrait from '@/lib/components/traits/InputTrait'\nimport type ComboboxOption from '@/components/combobox-option/ComboboxOption'\n\nimport '~icons/lucide/chevron-down'\nimport '@awesome.me/webawesome/dist/components/popup/popup.js'\n\nimport styles from './Combobox.styles.css'\n\ntype ComboboxOptionData = { value: string; label: string }\n\n@customElement('solid-ui-combobox')\nexport default class Combobox extends WebComponent {\n static styles = styles\n static formAssociated = true\n\n @property({ type: String, reflect: true })\n accessor label = ''\n\n @property({ type: String, reflect: true })\n accessor name = ''\n\n @property({ type: String })\n accessor value = ''\n\n @property({ type: String, reflect: true })\n accessor placeholder = ''\n\n @property({ type: Boolean, reflect: true })\n accessor required = false\n\n @query('input')\n private accessor inputElement: HTMLInputElement | null = null\n\n @state()\n private accessor filter = ''\n\n @state()\n private accessor open = false\n\n @state()\n private accessor activeIndex = -1\n\n private inputTrait: InputTrait\n private openListenersAttached = false\n private readonly listboxId: string\n\n constructor () {\n super()\n\n this.inputTrait = this.addTrait(\n new InputTrait(this, {\n getInputElement: () => this.inputElement,\n getInternals: () => this.getInternals(),\n onValueChanged: (value) => {\n this.filter = value.toLowerCase()\n\n const options = this.getFilteredOptions()\n\n if (options.length === 0) {\n this.hide()\n return\n }\n\n if (this.open) {\n this.activeIndex = this.getInitialActiveIndex(options)\n }\n },\n })\n )\n\n this.listboxId = `listbox-${this.inputTrait.inputId}`\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.removeOpenListeners()\n }\n\n protected render () {\n const options = this.getFilteredOptions()\n const activeOption =\n this.open && this.activeIndex >= 0 ? options[this.activeIndex] : undefined\n const activeDescendant =\n activeOption !== undefined ? this.getOptionId(this.activeIndex) : undefined\n const accessibleName = this.placeholder || 'Combobox'\n\n return html`\n ${this.inputTrait.renderLabel()}\n <wa-popup\n placement=\"bottom\"\n flip\n shift\n sync=\"width\"\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n ?active=${this.open}\n >\n <div class=\"input-wrapper\" slot=\"anchor\" @mousedown=${this.onAnchorMouseDown}>\n <input\n id=\"${this.inputTrait.inputId}\"\n type=\"text\"\n name=${this.name}\n placeholder=${this.placeholder}\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-haspopup=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-controls=${this.listboxId}\n aria-activedescendant=${activeDescendant ?? nothing}\n aria-labelledby=${this.label ? this.inputTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n aria-required=${this.required ? 'true' : nothing}\n autocomplete=\"off\"\n spellcheck=\"false\"\n ?required=${this.required}\n .value=${this.value}\n @keydown=${this.onInputKeyDown}\n @focus=${this.onInputFocus}\n @input=${() => this.inputTrait.onInput()}\n />\n <icon-lucide-chevron-down></icon-lucide-chevron-down>\n </div>\n <div\n id=${this.listboxId}\n class=\"listbox\"\n role=\"listbox\"\n aria-orientation=\"vertical\"\n aria-labelledby=${this.label ? this.inputTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n ?hidden=${!this.open}\n @mousedown=${this.onListboxMouseDown}\n >\n ${options.map(\n (option, index) =>\n html`<div\n id=${this.getOptionId(index)}\n role=\"option\"\n aria-selected=${this.open && index === this.activeIndex\n ? 'true'\n : 'false'}\n data-active=${index === this.activeIndex || nothing}\n @mousemove=${() => this.setActiveIndex(index)}\n >\n ${option.label}\n </div>`\n )}\n </div>\n </wa-popup>\n `\n }\n\n private getFilteredOptions (): ComboboxOptionData[] {\n return this.getOptions().filter((option) =>\n option.label.toLowerCase().includes(this.filter)\n )\n }\n\n private getOptions (): ComboboxOptionData[] {\n const options = this.querySelectorAll<ComboboxOption>(\n 'solid-ui-combobox-option'\n )\n\n return Array.from(options).map((option) => ({\n value: option.value,\n label: option.textContent ?? '',\n }))\n }\n\n private getOptionId (index: number): string {\n return `${this.listboxId}-option-${index}`\n }\n\n private getInitialActiveIndex (options: ComboboxOptionData[]): number {\n const selectedIndex = options.findIndex((option) => option.value === this.value)\n\n if (selectedIndex >= 0) {\n return selectedIndex\n }\n\n return options.length > 0 ? 0 : -1\n }\n\n private getNextIndex (\n currentIndex: number,\n options: ComboboxOptionData[],\n direction: 1 | -1\n ): number {\n if (options.length === 0) {\n return -1\n }\n\n return (currentIndex + direction + options.length) % options.length\n }\n\n private setActiveIndex (index: number) {\n this.activeIndex = index\n }\n\n private show (options?: { focusLast?: boolean }) {\n if (this.open) {\n return\n }\n\n const filteredOptions = this.getFilteredOptions()\n\n if (filteredOptions.length === 0) {\n return\n }\n\n this.open = true\n this.activeIndex = options?.focusLast\n ? filteredOptions.length - 1\n : this.getInitialActiveIndex(filteredOptions)\n this.addOpenListeners()\n\n requestAnimationFrame(() => this.scrollActiveOptionIntoView())\n }\n\n private hide () {\n if (!this.open) {\n return\n }\n\n this.filter = ''\n this.open = false\n this.activeIndex = -1\n this.removeOpenListeners()\n }\n\n private selectOption (value: string) {\n this.inputTrait.setValue(value)\n this.hide()\n this.inputElement?.focus({ preventScroll: true })\n }\n\n private scrollActiveOptionIntoView () {\n if (this.activeIndex < 0) {\n return\n }\n\n this.shadowRoot\n ?.querySelector(`#${this.getOptionId(this.activeIndex)}`)\n ?.scrollIntoView({ block: 'nearest' })\n }\n\n private addOpenListeners () {\n if (this.openListenersAttached) {\n return\n }\n\n document.addEventListener('focusin', this.handleDocumentFocusIn)\n document.addEventListener('mousedown', this.handleDocumentMouseDown)\n\n const root = this.getRootNode()\n\n if (root !== document) {\n root.addEventListener('focusin', this.handleDocumentFocusIn)\n }\n\n this.openListenersAttached = true\n }\n\n private removeOpenListeners () {\n if (!this.openListenersAttached) {\n return\n }\n\n document.removeEventListener('focusin', this.handleDocumentFocusIn)\n document.removeEventListener('mousedown', this.handleDocumentMouseDown)\n\n const root = this.getRootNode()\n\n if (root !== document) {\n root.removeEventListener('focusin', this.handleDocumentFocusIn)\n }\n\n this.openListenersAttached = false\n }\n\n private handleDocumentFocusIn = (event: Event) => {\n const path = event.composedPath()\n\n if (!path.includes(this)) {\n this.hide()\n }\n }\n\n private handleDocumentMouseDown = (event: MouseEvent) => {\n const path = event.composedPath()\n\n if (!path.includes(this)) {\n this.hide()\n }\n }\n\n private onAnchorMouseDown (event: MouseEvent) {\n event.preventDefault()\n this.inputElement?.focus({ preventScroll: true })\n }\n\n private onInputFocus () {\n this.show()\n }\n\n private openPopupFromKey (focusLast: boolean) {\n if (!this.open) {\n this.show({ focusLast })\n }\n }\n\n private onInputKeyDown (event: KeyboardEvent) {\n const options = this.getFilteredOptions()\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault()\n\n if (!this.open) {\n this.openPopupFromKey(false)\n } else {\n this.activeIndex = this.getNextIndex(this.activeIndex, options, 1)\n this.scrollActiveOptionIntoView()\n }\n break\n case 'ArrowUp':\n event.preventDefault()\n\n if (!this.open) {\n this.openPopupFromKey(true)\n } else {\n this.activeIndex = this.getNextIndex(this.activeIndex, options, -1)\n this.scrollActiveOptionIntoView()\n }\n break\n case 'Enter':\n if (this.open && this.activeIndex >= 0 && options[this.activeIndex]) {\n event.preventDefault()\n this.selectOption(options[this.activeIndex].value)\n } else if (!this.open) {\n event.preventDefault()\n this.inputTrait.onSubmit()\n }\n break\n case 'Escape':\n if (this.open) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this.inputElement?.focus({ preventScroll: true })\n }\n break\n case 'Tab':\n this.hide()\n break\n }\n }\n\n private onListboxMouseDown (event: MouseEvent) {\n event.preventDefault()\n\n if (!(event.target instanceof HTMLElement)) {\n return\n }\n\n const optionElement = event.target.closest('[role=\"option\"]')\n\n if (!optionElement) {\n return\n }\n\n const optionId = optionElement.id\n const index = Number.parseInt(optionId.replace(`${this.listboxId}-option-`, ''), 10)\n const option = this.getFilteredOptions()[index]\n\n if (option) {\n this.selectOption(option.value)\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../chunks/combobox-
|
|
1
|
+
import { n as e, t } from "../chunks/combobox-B7a6BjQr.js";
|
|
2
2
|
export { e as Combobox, t as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../chunks/dialog-
|
|
1
|
+
import { n as e, t } from "../chunks/dialog-Bn4qiZi-.js";
|
|
2
2
|
export { e as Dialog, t as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../chunks/footer-
|
|
1
|
+
import { t as e } from "../chunks/footer-kVa_uMeQ.js";
|
|
2
2
|
export { e as Footer };
|
package/dist/components/guard.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../chunks/guard-
|
|
1
|
+
import { n as e, t } from "../chunks/guard-Cxl9QbaG.js";
|
|
2
2
|
export { e as Guard, t as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require("./dialog-header/index.cjs.js"),require("./button/index.cjs.js"),require("./dialog/index.cjs.js"),require("./dialog-content/index.cjs.js"),require("./dialog-footer/index.cjs.js"),require("./combobox/index.cjs.js"),require("./combobox-option/index.cjs.js"),require("./login-modal/index.cjs.js"),require("./avatar/index.cjs.js"),require("./login-button/index.cjs.js"),require("./logout-button/index.cjs.js"),require("./menu-item/index.cjs.js"),require("./menu/index.cjs.js"),require("./signup-button/index.cjs.js"),require("./account/index.cjs.js"),require("./dialog-provider/index.cjs.js"),require("./dialogs-root/index.cjs.js"),require("./footer/index.cjs.js"),require("./guard/index.cjs.js"),require("./
|
|
1
|
+
require("./dialog-header/index.cjs.js"),require("./button/index.cjs.js"),require("./dialog/index.cjs.js"),require("./dialog-content/index.cjs.js"),require("./dialog-footer/index.cjs.js"),require("./combobox/index.cjs.js"),require("./combobox-option/index.cjs.js"),require("./login-modal/index.cjs.js"),require("./avatar/index.cjs.js"),require("./login-button/index.cjs.js"),require("./logout-button/index.cjs.js"),require("./menu-item/index.cjs.js"),require("./menu/index.cjs.js"),require("./signup-button/index.cjs.js"),require("./account/index.cjs.js"),require("./dialog-provider/index.cjs.js"),require("./dialogs-root/index.cjs.js"),require("./footer/index.cjs.js"),require("./guard/index.cjs.js"),require("./input/index.cjs.js"),require("./photo-capture/index.cjs.js"),require("./provider/index.cjs.js"),require("./select/index.cjs.js"),require("./select-option/index.cjs.js"),require("./solid-emblem/index.cjs.js");
|
|
@@ -17,9 +17,9 @@ import "./dialog-provider/index.esm.js";
|
|
|
17
17
|
import "./dialogs-root/index.esm.js";
|
|
18
18
|
import "./footer/index.esm.js";
|
|
19
19
|
import "./guard/index.esm.js";
|
|
20
|
-
import "./provider/index.esm.js";
|
|
21
|
-
import "./header/index.esm.js";
|
|
22
20
|
import "./input/index.esm.js";
|
|
23
21
|
import "./photo-capture/index.esm.js";
|
|
22
|
+
import "./provider/index.esm.js";
|
|
24
23
|
import "./select/index.esm.js";
|
|
25
24
|
import "./select-option/index.esm.js";
|
|
25
|
+
import "./solid-emblem/index.esm.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../chunks/login-button-
|
|
1
|
+
import { n as e, t } from "../chunks/login-button-ChyF_OoC.js";
|
|
2
2
|
export { e as LoginButton, t as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { i as e, r as t } from "../chunks/auth-
|
|
1
|
+
import { i as e, r as t } from "../chunks/auth-DIRGfFle.js";
|
|
2
2
|
export { e as LoginModal, t as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../chunks/logout-button-
|
|
1
|
+
import { n as e, t } from "../chunks/logout-button-BRPS8630.js";
|
|
2
2
|
export { e as LogoutButton, t as default };
|
|
@@ -5,8 +5,10 @@ const e=require("../../lib/components/decorators.cjs.js"),t=require("../../lib/c
|
|
|
5
5
|
<slot name="right-icon"></slot>
|
|
6
6
|
</a>
|
|
7
7
|
`:r.html`
|
|
8
|
-
<
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
<div>
|
|
9
|
+
<slot name="left-icon"></slot>
|
|
10
|
+
<slot></slot>
|
|
11
|
+
<slot name="right-icon"></slot>
|
|
12
|
+
</div>
|
|
11
13
|
`}click(){this.anchor?.click()}},{e:[p,h,l],c:[A,u]}=w(o,[[f,1,`href`],[m,1,`anchor`]],d,0,void 0,t.default),o),a=class extends k{constructor(){super(A),C(this,`styles`,n.default),u()}},C(a,g,void 0),a),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return A}});
|
|
12
14
|
//# sourceMappingURL=MenuItem.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.cjs.js","names":["customElement","WebComponent","property","query","html","styles","_classDecs","_MenuItem","_MenuItem2","_A","WeakMap","_B","_ref","_hrefDecs","type","String","reflect","_anchorDecs","_MenuItem3","MenuItem","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_href","_init_anchor","_classPrivateFieldGet","href","v","_classPrivateFieldSet","anchor","render","click","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default"],"sources":["../../../src/components/menu-item/MenuItem.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { property, query } from 'lit/decorators.js'\nimport { html } from 'lit'\n\nimport styles from './MenuItem.styles.css'\n\n@customElement('solid-ui-menu-item')\nexport default class MenuItem extends WebComponent {\n static styles = styles\n\n @property({ type: String, reflect: true })\n accessor href: string | undefined\n\n @query('a')\n private accessor anchor: HTMLAnchorElement | null = null\n\n render () {\n if (this.href) {\n return html`\n <a href=\"${this.href}\" target=\"_blank\" rel=\"noopener noreferrer\">\n <slot name=\"left-icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n </a>\n `\n }\n\n return html`\n <slot name=\"left-icon\"></slot>\n
|
|
1
|
+
{"version":3,"file":"MenuItem.cjs.js","names":["customElement","WebComponent","property","query","html","styles","_classDecs","_MenuItem","_MenuItem2","_A","WeakMap","_B","_ref","_hrefDecs","type","String","reflect","_anchorDecs","_MenuItem3","MenuItem","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_href","_init_anchor","_classPrivateFieldGet","href","v","_classPrivateFieldSet","anchor","render","click","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default"],"sources":["../../../src/components/menu-item/MenuItem.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { property, query } from 'lit/decorators.js'\nimport { html } from 'lit'\n\nimport styles from './MenuItem.styles.css'\n\n@customElement('solid-ui-menu-item')\nexport default class MenuItem extends WebComponent {\n static styles = styles\n\n @property({ type: String, reflect: true })\n accessor href: string | undefined\n\n @query('a')\n private accessor anchor: HTMLAnchorElement | null = null\n\n render () {\n if (this.href) {\n return html`\n <a href=\"${this.href}\" target=\"_blank\" rel=\"noopener noreferrer\">\n <slot name=\"left-icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n </a>\n `\n }\n\n return html`\n <div>\n <slot name=\"left-icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n </div>\n `\n }\n\n click () {\n this.anchor?.click()\n }\n}\n"],"mappings":"61IAI0CM,EAAA,CAEzCN,EAAAA,cAAc,oBAAoB,CAAC,EAAA,IAAAO,EAAA,IAAAC,GAAAC,EAAA,IAAAC,QAAAC,EAAA,IAAAD,QAAAE,GAAAC,GAAAA,EAAAA,EAAAA,SAAAA,CAIxB,CAAEC,KAAMC,OAAQC,QAAS,EAAK,CAAC,EAACC,GAAAA,EAAAA,EAAAA,MAAAA,CAGnC,GAAG,EAAC,QAAAC,EAPb,cACsCjB,EAAAA,OAAa,CAAAmB,YAAA,GAAAC,EAAA,CAAA,MAAA,GAAAA,CAAA,EAAAC,EAAA,KAAAb,GAAAc,EAAA,IAAA,EAAAC,EAAA,IAAA,EAAA,EAAAF,EAAA,KAAAX,EAAAc,EAAA,KAOG,IAAI,CAAA,CAAA,CAAA,IAAAb,IAAA,CAAA,OAAAc,EAAAjB,EAAA,IAAA,CAAA,CAAA,IAH/CkB,KAAIC,EAAA,CAAAC,EAAApB,EAAA,KAAAmB,CAAA,CAAA,CAAA,IAGIE,QAAM,CAAA,OAAAJ,EAAAf,EAAA,IAAA,CAAA,CAAA,IAANmB,OAAMF,EAAA,CAAAC,EAAAlB,EAAA,KAAAiB,CAAA,CAAA,CAEvBG,QAAU,CAWR,OAVI,KAAKJ,KACAvB,EAAAA,IAAI;mBACE,KAAKuB,KAAI;;;;;QAQjBvB,EAAAA,IAAI;;;;;;KAOb,CAEA4B,OAAS,CACP,KAAKF,QAAQE,MAAM,CACrB,CACF,EAAC,CAAAC,EAAA,CAAAT,EAAAC,EAAAF,GAAAW,EAAA,CAAA3B,EAAA4B,IAAAC,EAAAlB,EAAA,CAAA,CAAAL,EAAA,EAAA,MAAA,EAAA,CAAAI,EAAA,EAAA,QAAA,CAAA,EAAAX,EAAA,EAAA,IAAA,GAhCqCL,EAAAA,OAAY,EAAAiB,GAAAmB,EAAA,cAAAC,CAAA,CAAAlB,aAAA,CAAA,MAAAb,CAAA,EAAAgC,EAAA,KAAA,SAChClC,EAAAA,OAAM,EAAA8B,EAAA,CAAA,CAAA,EAAAI,EAAAF,EAAA7B,EAAA,IAAA,EAAA,EAAA6B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/components/menu-item/MenuItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAO9D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,YAAY;IAChD,MAAM,CAAC,MAAM,0BAAS;IAGtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAGjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD,MAAM;
|
|
1
|
+
{"version":3,"file":"MenuItem.d.ts","sourceRoot":"","sources":["../../../src/components/menu-item/MenuItem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAO9D,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,YAAY;IAChD,MAAM,CAAC,MAAM,0BAAS;IAGtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IAGjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiC;IAExD,MAAM;IAoBN,KAAK;CAGN"}
|
|
@@ -206,9 +206,11 @@ new (_ = (c = /*#__PURE__*/ new WeakMap(), l = /*#__PURE__*/ new WeakMap(), v =
|
|
|
206
206
|
<slot name="right-icon"></slot>
|
|
207
207
|
</a>
|
|
208
208
|
` : r`
|
|
209
|
-
<
|
|
210
|
-
|
|
211
|
-
|
|
209
|
+
<div>
|
|
210
|
+
<slot name="left-icon"></slot>
|
|
211
|
+
<slot></slot>
|
|
212
|
+
<slot name="right-icon"></slot>
|
|
213
|
+
</div>
|
|
212
214
|
`;
|
|
213
215
|
}
|
|
214
216
|
click() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.esm.js","names":["customElement","WebComponent","property","query","html","styles","_classDecs","_MenuItem","_MenuItem2","_A","WeakMap","_B","_ref","_hrefDecs","type","String","reflect","_anchorDecs","_MenuItem3","MenuItem","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_href","_init_anchor","_classPrivateFieldGet","href","v","_classPrivateFieldSet","anchor","render","click","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default"],"sources":["../../../src/components/menu-item/MenuItem.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { property, query } from 'lit/decorators.js'\nimport { html } from 'lit'\n\nimport styles from './MenuItem.styles.css'\n\n@customElement('solid-ui-menu-item')\nexport default class MenuItem extends WebComponent {\n static styles = styles\n\n @property({ type: String, reflect: true })\n accessor href: string | undefined\n\n @query('a')\n private accessor anchor: HTMLAnchorElement | null = null\n\n render () {\n if (this.href) {\n return html`\n <a href=\"${this.href}\" target=\"_blank\" rel=\"noopener noreferrer\">\n <slot name=\"left-icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n </a>\n `\n }\n\n return html`\n <slot name=\"left-icon\"></slot>\n
|
|
1
|
+
{"version":3,"file":"MenuItem.esm.js","names":["customElement","WebComponent","property","query","html","styles","_classDecs","_MenuItem","_MenuItem2","_A","WeakMap","_B","_ref","_hrefDecs","type","String","reflect","_anchorDecs","_MenuItem3","MenuItem","constructor","args","_classPrivateFieldInitSpec","_initProto","_init_href","_init_anchor","_classPrivateFieldGet","href","v","_classPrivateFieldSet","anchor","render","click","e","c","_initClass","_applyDecs","_Class","_identity","_defineProperty","default"],"sources":["../../../src/components/menu-item/MenuItem.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { property, query } from 'lit/decorators.js'\nimport { html } from 'lit'\n\nimport styles from './MenuItem.styles.css'\n\n@customElement('solid-ui-menu-item')\nexport default class MenuItem extends WebComponent {\n static styles = styles\n\n @property({ type: String, reflect: true })\n accessor href: string | undefined\n\n @query('a')\n private accessor anchor: HTMLAnchorElement | null = null\n\n render () {\n if (this.href) {\n return html`\n <a href=\"${this.href}\" target=\"_blank\" rel=\"noopener noreferrer\">\n <slot name=\"left-icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n </a>\n `\n }\n\n return html`\n <div>\n <slot name=\"left-icon\"></slot>\n <slot></slot>\n <slot name=\"right-icon\"></slot>\n </div>\n `\n }\n\n click () {\n this.anchor?.click()\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI0CM,IAAA,CAEzCN,EAAc,oBAAoB,CAAC;AAAA,IAAAO;AAAA,KAAAC,KAAAC,kBAAA,IAAAC,QAAA,GAAAC,kBAAA,IAAAD,QAAA,GAAAE,KAAAC,IAIjCX,EAAS;CAAEY,MAAMC;CAAQC,SAAS;AAAK,CAAC,GAACC,IAGzCd,EAAM,GAAG,GAAC,SAAAe,IAPb,cACsCjB,EAAa;CAAAmB,YAAA,GAAAC,GAAA;EAAAC,AAAA,MAAA,GAAAD,CAAA,GAAAC,EAAA,MAAAb,IAAAc,EAAA,IAAA,GAAAC,EAAA,IAAA,EAAA,GAAAF,EAAA,MAAAX,GAAAc,EAAA,MAOG,IAAI,CAAA;CAAA;CAAA,KAAAb,KAAA;EAAA,OAAAc,EAAAjB,GAAA,IAAA;CAAA;CAAA,IAH/CkB,KAAIC,GAAA;EAAAC,EAAApB,GAAA,MAAAmB,CAAA;CAAA;CAAA,IAGIE,SAAM;EAAA,OAAAJ,EAAAf,GAAA,IAAA;CAAA;CAAA,IAANmB,OAAMF,GAAA;EAAAC,EAAAlB,GAAA,MAAAiB,CAAA;CAAA;CAEvBG,SAAU;EAWR,OAVI,KAAKJ,OACAvB,CAAI;mBACE,KAAKuB,KAAI;;;;;UAQjBvB,CAAI;;;;;;;CAOb;CAEA4B,QAAS;EACP,KAAKF,QAAQE,MAAM;CACrB;AACF,GAAC,CAAAC,GAAA,CAAAT,GAAAC,GAAAF,IAAAW,GAAA,CAAA3B,GAAA4B,MAAAC,EAAAlB,GAAA,CAAA;CAAAL;CAAA;CAAA;AAAA,GAAA;CAAAI;CAAA;CAAA;AAAA,CAAA,GAAAX,GAAA,GAAA,KAAA,GAhCqCL,CAAY,GAAAiB,IAAAmB,IAAA,cAAAC,EAAA;CAAAlB,cAAA;EAAA,MAAAb,CAAA,GAAAgC,EAAA,MAAA,UAChClC,CAAM,GAAA8B,EAAA;CAAA;AAAA,GAAAI,EAAAF,GAAA7B,GAAA,KAAA,CAAA,GAAA6B,GAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=require("lit").css`:host{width:100%;color:var(--solid-ui-color-gray-600);font-weight:500;font-size:var(--solid-ui-font-size-md);border-radius:5px;justify-content:flex-start;align-items:center;gap:5px;padding:10px;display:flex;position:relative}:host:hover{background-color:var(--solid-ui-color-slate-200)}:host ::slotted([slot=left-icon]),:host ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-xl);height:var(--solid-ui-font-size-xl)}:host a:after{content:\"\";width:100%;height:100%;position:absolute;top:0;left:0}`;exports.default=e;
|
|
1
|
+
var e=require("lit").css`:host>a,:host>div{width:100%;color:var(--solid-ui-color-gray-600);font-weight:500;font-size:var(--solid-ui-font-size-md);border-radius:5px;justify-content:flex-start;align-items:center;gap:5px;padding:10px;display:flex;position:relative}:host:hover{background-color:var(--solid-ui-color-slate-200)}:host ::slotted([slot=left-icon]),:host ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-xl);height:var(--solid-ui-font-size-xl)}:host a:after{content:\"\";width:100%;height:100%;position:absolute;top:0;left:0}`;exports.default=e;
|
|
2
2
|
//# sourceMappingURL=MenuItem.styles.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.styles.cjs.js","names":[],"sources":["../../../src/components/menu-item/MenuItem.styles.css"],"sourcesContent":[":host {\n width: 100%;\n
|
|
1
|
+
{"version":3,"file":"MenuItem.styles.cjs.js","names":[],"sources":["../../../src/components/menu-item/MenuItem.styles.css"],"sourcesContent":[":host {\n & > a,\n & > div {\n width: 100%;\n display: flex;\n position: relative;\n justify-content: flex-start;\n align-items: center;\n gap: 5px;\n padding: 10px;\n border-radius: 5px;\n color: var(--solid-ui-color-gray-600);\n font-weight: 500;\n font-size: var(--solid-ui-font-size-md);\n }\n\n &:hover {\n background-color: var(--solid-ui-color-slate-200);\n }\n\n ::slotted([slot=\"left-icon\"]), ::slotted([slot=\"right-icon\"]) {\n width: var(--solid-ui-font-size-xl);\n height: var(--solid-ui-font-size-xl);\n }\n\n a::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n"],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { css as e } from "lit";
|
|
2
2
|
//#region src/components/menu-item/MenuItem.styles.css
|
|
3
|
-
var t = e`:host{width:100%;color:var(--solid-ui-color-gray-600);font-weight:500;font-size:var(--solid-ui-font-size-md);border-radius:5px;justify-content:flex-start;align-items:center;gap:5px;padding:10px;display:flex;position:relative}:host:hover{background-color:var(--solid-ui-color-slate-200)}:host ::slotted([slot=left-icon]),:host ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-xl);height:var(--solid-ui-font-size-xl)}:host a:after{content:\"\";width:100%;height:100%;position:absolute;top:0;left:0}`;
|
|
3
|
+
var t = e`:host>a,:host>div{width:100%;color:var(--solid-ui-color-gray-600);font-weight:500;font-size:var(--solid-ui-font-size-md);border-radius:5px;justify-content:flex-start;align-items:center;gap:5px;padding:10px;display:flex;position:relative}:host:hover{background-color:var(--solid-ui-color-slate-200)}:host ::slotted([slot=left-icon]),:host ::slotted([slot=right-icon]){width:var(--solid-ui-font-size-xl);height:var(--solid-ui-font-size-xl)}:host a:after{content:\"\";width:100%;height:100%;position:absolute;top:0;left:0}`;
|
|
4
4
|
//#endregion
|
|
5
5
|
export { t as default };
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuItem.styles.esm.js","names":[],"sources":["../../../src/components/menu-item/MenuItem.styles.css"],"sourcesContent":[":host {\n width: 100%;\n
|
|
1
|
+
{"version":3,"file":"MenuItem.styles.esm.js","names":[],"sources":["../../../src/components/menu-item/MenuItem.styles.css"],"sourcesContent":[":host {\n & > a,\n & > div {\n width: 100%;\n display: flex;\n position: relative;\n justify-content: flex-start;\n align-items: center;\n gap: 5px;\n padding: 10px;\n border-radius: 5px;\n color: var(--solid-ui-color-gray-600);\n font-weight: 500;\n font-size: var(--solid-ui-font-size-md);\n }\n\n &:hover {\n background-color: var(--solid-ui-color-slate-200);\n }\n\n ::slotted([slot=\"left-icon\"]), ::slotted([slot=\"right-icon\"]) {\n width: var(--solid-ui-font-size-xl);\n height: var(--solid-ui-font-size-xl);\n }\n\n a::after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n"],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../chunks/menu-item-
|
|
1
|
+
import { n as e, t } from "../chunks/menu-item-CWg-eS4V.js";
|
|
2
2
|
export { e as MenuItem, t as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../chunks/provider-
|
|
1
|
+
import { n as e, t } from "../chunks/provider-D0RqwRoM.js";
|
|
2
2
|
export { e as Provider, t as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, t } from "../chunks/signup-button-
|
|
1
|
+
import { n as e, t } from "../chunks/signup-button-Df4rYzNO.js";
|
|
2
2
|
export { e as SignupButton, t as default };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../../lib/components/decorators.cjs.js"),t=require("../../lib/components/web-component/WebComponent.cjs.js");require("../../lib/components/index.cjs.js"),require("../../_virtual/~icons/app/solid-emblem.cjs.js");const n=require("./SolidEmblem.styles.cjs.js");let r=require("lit");var i,a,o,s,c;function l(e,t,n){return(t=d(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function u(e,t,n,r,i,a){function o(e,t,n){return function(r,i){return n&&n(r),e[t].call(r,i)}}function s(e,t){for(var n=0;n<e.length;n++)e[n].call(t);return t}function c(e,t,n,r){if(typeof e!=`function`&&(r||e!==void 0))throw TypeError(t+` must `+(n||`be`)+` a function`+(r?``:` or undefined`));return e}function l(e,t,n,r,i,a,s,l,u,d,f,m,h){function g(e){if(!h(e))throw TypeError(`Attempted to access private element on non-instance`)}var _,v=t[0],y=t[3],b=!l;if(!b){n||Array.isArray(v)||(v=[v]);var x={},S=[],C=i===3?`get`:i===4||m?`set`:`value`;d?(f||m?x={get:p(function(){return y(this)},r,`get`),set:function(e){t[4](this,e)}}:x[C]=y,f||p(x[C],r,i===2?``:C)):f||(x=Object.getOwnPropertyDescriptor(e,r))}for(var w=e,T=v.length-1;T>=0;T-=n?2:1){var E=v[T],D=n?v[T-1]:void 0,O={},k={kind:[`field`,`accessor`,`method`,`getter`,`setter`,`class`][i],name:r,metadata:a,addInitializer:function(e,t){if(e.v)throw Error(`attempted to call addInitializer after decoration was finished`);c(t,`An initializer`,`be`,!0),s.push(t)}.bind(null,O)};try{if(b)(_=c(E.call(D,w,k),`class decorators`,`return`))&&(w=_);else{var A,j;k.static=u,k.private=d,d?i===2?A=function(e){return g(e),x.value}:(i<4&&(A=o(x,`get`,g)),i!==3&&(j=o(x,`set`,g))):(A=function(e){return e[r]},(i<2||i===4)&&(j=function(e,t){e[r]=t}));var M=k.access={has:d?h.bind():function(e){return r in e}};if(A&&(M.get=A),j&&(M.set=j),w=E.call(D,m?{get:x.get,set:x.set}:x[C],k),m){if(typeof w==`object`&&w)(_=c(w.get,`accessor.get`))&&(x.get=_),(_=c(w.set,`accessor.set`))&&(x.set=_),(_=c(w.init,`accessor.init`))&&S.push(_);else if(w!==void 0)throw TypeError(`accessor decorators must return an object with get, set, or init properties or void 0`)}else c(w,(f?`field`:`method`)+` decorators`,`return`)&&(f?S.push(w):x[C]=w)}}finally{O.v=!0}}return(f||m)&&l.push(function(e,t){for(var n=S.length-1;n>=0;n--)t=S[n].call(e,t);return t}),f||b||(d?m?l.push(o(x,`get`),o(x,`set`)):l.push(i===2?x[C]:o.call.bind(x[C])):Object.defineProperty(e,r,x)),w}function u(e,t){return Object.defineProperty(e,Symbol.metadata||Symbol.for(`Symbol.metadata`),{configurable:!0,enumerable:!0,value:t})}if(arguments.length>=6)var f=a[Symbol.metadata||Symbol.for(`Symbol.metadata`)];var h=Object.create(f??null),g=function(e,t,n,r){var i,a,o=[],c=function(t){return m(t)===e},u=new Map;function f(e){e&&o.push(s.bind(null,e))}for(var p=0;p<t.length;p++){var h=t[p];if(Array.isArray(h)){var g=h[1],_=h[2],v=h.length>3,y=16&g,b=!!(8&g),x=(g&=7)==0,S=_+`/`+b;if(!x&&!v){var C=u.get(S);if(!0===C||C===3&&g!==4||C===4&&g!==3)throw Error(`Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: `+_);u.set(S,!(g>2)||g)}l(b?e:e.prototype,h,y,v?`#`+_:d(_),g,r,b?a||=[]:i||=[],o,b,v,x,g===1,b&&v?c:n)}}return f(i),f(a),o}(e,t,i,h);return n.length||u(e,h),{e:g,get c(){var t=[];return n.length&&[u(l(e,[n],r,e.name,5,h,t),h),s.bind(null,t,e)]}}}function d(e){var t=f(e,`string`);return typeof t==`symbol`?t:t+``}function f(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function p(e,t,n){typeof t==`symbol`&&(t=(t=t.description)?`[`+t+`]`:``);try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+` `+t:t})}catch{}return e}function m(e){if(Object(e)!==e)throw TypeError(`right-hand side of 'in' should be an object, got `+(e===null?`null`:typeof e));return e}function h(e){return e}s=[e.customElement(`solid-ui-solid-emblem`)];var g;new(c=(a=class extends t.default{render(){return r.html`<icon-app-solid-emblem></icon-app-solid-emblem>`}},[g,o]=u(a,[],s,0,void 0,t.default).c,a),i=class extends h{constructor(){super(g),l(this,`styles`,n.default),o()}},l(i,c,void 0),i),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return g}});
|
|
2
|
+
//# sourceMappingURL=SolidEmblem.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidEmblem.cjs.js","names":["customElement","WebComponent","html","styles","_classDecs","_SolidEmblem","_SolidEmblem2","_SolidEmblem3","SolidEmblem","render","_initClass","_applyDecs","c","_Class","_identity","constructor","_defineProperty","default"],"sources":["../../../src/components/solid-emblem/SolidEmblem.ts"],"sourcesContent":["import { customElement, WebComponent } from '@/lib/components'\nimport { html } from 'lit'\n\nimport '~icons/app/solid-emblem'\n\nimport styles from './SolidEmblem.styles.css'\n\n@customElement('solid-ui-solid-emblem')\nexport default class SolidEmblem extends WebComponent {\n static styles = styles\n\n protected render () {\n return html`<icon-app-solid-emblem></icon-app-solid-emblem>`\n }\n}\n"],"mappings":"g/HAK6CI,EAAA,CAE5CJ,EAAAA,cAAc,uBAAuB,CAAC,EAAA,IAAAK,EAAA,IAAAC,GAAAC,EAAvC,cACyCN,EAAAA,OAAa,CAG1CQ,QAAU,CAClB,MAAOP,GAAAA,IAAI,iDACb,CACF,EAAC,CAAAG,EAAAK,GAAAC,EAAAJ,EAAA,CAAA,EAAAH,EAAA,EAAA,IAAA,GANwCH,EAAAA,OAAY,CAAA,CAAAW,EAAAL,GAAAM,EAAA,cAAAC,CAAA,CAAAC,aAAA,CAAA,MAAAV,CAAA,EAAAW,EAAA,KAAA,SACnCb,EAAAA,OAAM,EAAAO,EAAA,CAAA,CAAA,EAAAM,EAAAH,EAAAP,EAAA,IAAA,EAAA,EAAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidEmblem.d.ts","sourceRoot":"","sources":["../../../src/components/solid-emblem/SolidEmblem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAG9D,OAAO,yBAAyB,CAAA;AAKhC,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,YAAY;IACnD,MAAM,CAAC,MAAM,0BAAS;IAEtB,SAAS,CAAC,MAAM;CAGjB"}
|