solid-ui 5.0.2-0 → 5.0.2-2
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/_rolldown/runtime.esm.js +1 -2
- package/dist/_virtual/~icons/app/solid-emblem.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/book-user.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/chevron-down.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/circle-user.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/circle-x.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/folder-open.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/folder-open.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder-open.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/folder-open.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder.cjs.js +2 -0
- package/dist/_virtual/~icons/lucide/folder.cjs.js.map +1 -0
- package/dist/_virtual/~icons/lucide/folder.esm.js +10 -0
- package/dist/_virtual/~icons/lucide/folder.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/globe.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/link.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/log-in.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/log-out.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/square-arrow-out-up-right.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/triangle-alert.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/user-round.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/user.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/users.esm.js +1 -2
- package/dist/_virtual/~icons/lucide/x.esm.js +1 -2
- package/dist/_virtual/~icons/svg-spinners/180-ring.esm.js +1 -2
- package/dist/_virtual/~icons/svg-spinners/3-dots-fade.esm.js +1 -2
- package/dist/acl/access-controller.esm.js +1 -2
- package/dist/acl/access-groups.esm.js +1 -2
- package/dist/acl/acl-control.esm.js +1 -2
- package/dist/acl/acl.esm.js +1 -2
- package/dist/acl/add-agent-buttons.esm.js +1 -2
- package/dist/acl/index.esm.js +1 -2
- package/dist/chat/bookmarks.esm.js +1 -2
- package/dist/chat/chatLogic.esm.js +1 -2
- package/dist/chat/dateFolder.esm.js +1 -2
- package/dist/chat/infinite.cjs.js +1 -1
- package/dist/chat/infinite.cjs.js.map +1 -1
- package/dist/chat/infinite.esm.js +2 -3
- package/dist/chat/infinite.esm.js.map +1 -1
- package/dist/chat/keys.esm.js +1 -2
- package/dist/chat/message.esm.js +1 -2
- package/dist/chat/messageTools.esm.js +1 -2
- package/dist/chat/signature.esm.js +0 -1
- package/dist/chunks/{DialogProvider-B7oVYKJO.js → DialogProvider-C89v7x0r.js} +5 -8
- package/dist/chunks/{DialogProvider-B7oVYKJO.js.map → DialogProvider-C89v7x0r.js.map} +1 -1
- package/dist/chunks/{access-control-modal-eOv2-U27.js → access-control-modal-Dcg6-f4V.js} +924 -540
- package/dist/chunks/access-control-modal-Dcg6-f4V.js.map +1 -0
- package/dist/chunks/{account-DpmYJEd-.js → account-D6JK-n7u.js} +16 -21
- package/dist/chunks/{account-DpmYJEd-.js.map → account-D6JK-n7u.js.map} +1 -1
- package/dist/chunks/{auth-Hp8M6TQf.js → auth-B_abPDvH.js} +28 -31
- package/dist/chunks/auth-B_abPDvH.js.map +1 -0
- package/dist/chunks/{avatar-D5rcw6gN.js → avatar-BR3COVSQ.js} +6 -9
- package/dist/chunks/{avatar-D5rcw6gN.js.map → avatar-BR3COVSQ.js.map} +1 -1
- package/dist/chunks/{button-lol95DqR.js → button-D6qO2idW.js} +5 -8
- package/dist/chunks/{button-lol95DqR.js.map → button-D6qO2idW.js.map} +1 -1
- package/dist/chunks/{chevron-down-ujxRg3MD.js → chevron-down-CqUEolao.js} +2 -3
- package/dist/chunks/chevron-down-CqUEolao.js.map +1 -0
- package/dist/chunks/{chunk.UEBQI7VV-OBPERnuy.js → chunk.UEBQI7VV-lcP-fpUk.js} +14 -23
- package/dist/chunks/{chunk.UEBQI7VV-OBPERnuy.js.map → chunk.UEBQI7VV-lcP-fpUk.js.map} +1 -1
- package/dist/chunks/{combobox-Dmv-TZtI.js → combobox-fSTp9qoT.js} +11 -15
- package/dist/chunks/combobox-fSTp9qoT.js.map +1 -0
- package/dist/chunks/{combobox-option-B-Hksiq2.js → combobox-option-DOtGuKel.js} +4 -6
- package/dist/chunks/{combobox-option-B-Hksiq2.js.map → combobox-option-DOtGuKel.js.map} +1 -1
- package/dist/chunks/{components-Bdqizu8x.js → components-C8c2Ucm5.js} +17 -33
- package/dist/chunks/{components-Bdqizu8x.js.map → components-C8c2Ucm5.js.map} +1 -1
- package/dist/chunks/{dialog-DYgcCurb.js → dialog-CgYK767T.js} +8 -10
- package/dist/chunks/{dialog-DYgcCurb.js.map → dialog-CgYK767T.js.map} +1 -1
- package/dist/chunks/{dialog-content-jx08y2Oa.js → dialog-content-DjwRH1ci.js} +4 -6
- package/dist/chunks/{dialog-content-jx08y2Oa.js.map → dialog-content-DjwRH1ci.js.map} +1 -1
- package/dist/chunks/{dialog-footer-Bhl8k1PX.js → dialog-footer-GQWi8lfB.js} +4 -6
- package/dist/chunks/{dialog-footer-Bhl8k1PX.js.map → dialog-footer-GQWi8lfB.js.map} +1 -1
- package/dist/chunks/{dialog-header-Dn6PQzFB.js → dialog-header-c3qOMQfb.js} +4 -6
- package/dist/chunks/{dialog-header-Dn6PQzFB.js.map → dialog-header-c3qOMQfb.js.map} +1 -1
- package/dist/chunks/{dialogs-B6TfxrPt.js → dialogs-BmtLjMzg.js} +5 -7
- package/dist/chunks/{dialogs-B6TfxrPt.js.map → dialogs-BmtLjMzg.js.map} +1 -1
- package/dist/chunks/{dialogs-root-Qiucjj9u.js → dialogs-root-BcQo2XMF.js} +6 -8
- package/dist/chunks/{dialogs-root-Qiucjj9u.js.map → dialogs-root-BcQo2XMF.js.map} +1 -1
- package/dist/chunks/{error-state-DK1x-kNd.js → error-state-BD4_Wrkz.js} +6 -8
- package/dist/chunks/{error-state-DK1x-kNd.js.map → error-state-BD4_Wrkz.js.map} +1 -1
- package/dist/chunks/{guard-FbhNrJGh.js → guard-bTeM7wd7.js} +5 -7
- package/dist/chunks/{guard-FbhNrJGh.js.map → guard-bTeM7wd7.js.map} +1 -1
- package/dist/chunks/{index.esm-N8NHgFUj.js → index.esm-CECfD0e9.js} +3256 -3083
- package/dist/chunks/index.esm-CECfD0e9.js.map +1 -0
- package/dist/chunks/{input-lpqx_k53.js → input-Bz3l514j.js} +5 -7
- package/dist/chunks/{input-lpqx_k53.js.map → input-Bz3l514j.js.map} +1 -1
- package/dist/chunks/{jsonld-Djw57WRt.js → jsonld-CnfzCyCn.js} +4 -5
- package/dist/chunks/{jsonld-Djw57WRt.js.map → jsonld-CnfzCyCn.js.map} +1 -1
- package/dist/chunks/{login-button-DCq4Gi3_.js → login-button-Div4ZT4J.js} +6 -8
- package/dist/chunks/{login-button-DCq4Gi3_.js.map → login-button-Div4ZT4J.js.map} +1 -1
- package/dist/chunks/{logout-button-D3dJrsV4.js → logout-button-D3lqlnCX.js} +6 -8
- package/dist/chunks/{logout-button-D3dJrsV4.js.map → logout-button-D3lqlnCX.js.map} +1 -1
- package/dist/chunks/{menu-RJklqKQE.js → menu-D0k2fkiE.js} +22 -39
- package/dist/chunks/{menu-RJklqKQE.js.map → menu-D0k2fkiE.js.map} +1 -1
- package/dist/chunks/{menu-item-C2e0qj-v.js → menu-item-nfPpH4dN.js} +5 -7
- package/dist/chunks/{menu-item-C2e0qj-v.js.map → menu-item-nfPpH4dN.js.map} +1 -1
- package/dist/chunks/{photo-capture-DEMQNmzb.js → photo-capture-hJaJm4TM.js} +6 -8
- package/dist/chunks/{photo-capture-DEMQNmzb.js.map → photo-capture-hJaJm4TM.js.map} +1 -1
- package/dist/chunks/{photo-capture-modal-C7oESDQq.js → photo-capture-modal-BsHv6wmh.js} +9 -11
- package/dist/chunks/{photo-capture-modal-C7oESDQq.js.map → photo-capture-modal-BsHv6wmh.js.map} +1 -1
- package/dist/chunks/{provider-D9UgRI4G.js → provider-Dcd1NPYx.js} +7 -9
- package/dist/chunks/{provider-D9UgRI4G.js.map → provider-Dcd1NPYx.js.map} +1 -1
- package/dist/chunks/{query-BYu9q8lA.js → query-DjAOg-tk.js} +3 -5
- package/dist/chunks/{query-BYu9q8lA.js.map → query-DjAOg-tk.js.map} +1 -1
- package/dist/chunks/{rdf-form-BLgKdXP2.js → rdf-form-CmPnHKR-.js} +23 -25
- package/dist/chunks/{rdf-form-BLgKdXP2.js.map → rdf-form-CmPnHKR-.js.map} +1 -1
- package/dist/chunks/{rdf-input-DWnDpkXy.js → rdf-input-3AgoeCkJ.js} +48 -51
- package/dist/chunks/{rdf-input-DWnDpkXy.js.map → rdf-input-3AgoeCkJ.js.map} +1 -1
- package/dist/chunks/{select-CnkJMo_K.js → select-ClPkDkGl.js} +7 -10
- package/dist/chunks/{select-CnkJMo_K.js.map → select-ClPkDkGl.js.map} +1 -1
- package/dist/chunks/{select-option-B9HSZiTp.js → select-option-DQan7rcB.js} +4 -6
- package/dist/chunks/{select-option-B9HSZiTp.js.map → select-option-DQan7rcB.js.map} +1 -1
- package/dist/chunks/{show-dialog-eEW5yRBv.js → show-dialog-DAmFslrf.js} +2 -3
- package/dist/chunks/{show-dialog-eEW5yRBv.js.map → show-dialog-DAmFslrf.js.map} +1 -1
- package/dist/chunks/{signup-button-BQ4AWem2.js → signup-button-2fAoS0Nv.js} +6 -8
- package/dist/chunks/{signup-button-BQ4AWem2.js.map → signup-button-2fAoS0Nv.js.map} +1 -1
- package/dist/chunks/{solid-emblem-DNjQSX1z.js → solid-emblem-DwLdkGuO.js} +5 -8
- package/dist/chunks/{solid-emblem-DNjQSX1z.js.map → solid-emblem-DwLdkGuO.js.map} +1 -1
- package/dist/chunks/{src-DQMZZG1B.js → src-Dx7k_VIe.js} +2732 -2782
- package/dist/chunks/src-Dx7k_VIe.js.map +1 -0
- package/dist/chunks/{style-ChFDDB1c.js → style-w0Fl0xnd.js} +25 -29
- package/dist/chunks/{style-ChFDDB1c.js.map → style-w0Fl0xnd.js.map} +1 -1
- package/dist/chunks/{widgets-CVLwnfkU.js → widgets-BWpm5CPx.js} +694 -715
- package/dist/chunks/widgets-BWpm5CPx.js.map +1 -0
- package/dist/chunks/{x-BRRkraZN.js → x-D1JUUSOS.js} +2 -3
- package/dist/chunks/x-D1JUUSOS.js.map +1 -0
- package/dist/components/access-control-modal/AccessControlAddAccess.cjs.js +11 -5
- package/dist/components/access-control-modal/AccessControlAddAccess.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.d.ts +1 -0
- package/dist/components/access-control-modal/AccessControlAddAccess.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.esm.js +75 -57
- package/dist/components/access-control-modal/AccessControlAddAccess.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.styles.cjs.js +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.styles.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlAddAccess.styles.esm.js +2 -3
- package/dist/components/access-control-modal/AccessControlAddAccess.styles.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlErrors.cjs.js +3 -2
- package/dist/components/access-control-modal/AccessControlErrors.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlErrors.d.ts +1 -0
- package/dist/components/access-control-modal/AccessControlErrors.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlErrors.esm.js +6 -3
- package/dist/components/access-control-modal/AccessControlErrors.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlErrors.styles.esm.js +1 -2
- package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js +5 -3
- package/dist/components/access-control-modal/AccessControlGeneralAccess.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlGeneralAccess.d.ts +1 -0
- package/dist/components/access-control-modal/AccessControlGeneralAccess.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js +57 -45
- package/dist/components/access-control-modal/AccessControlGeneralAccess.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlGeneralAccess.styles.esm.js +1 -2
- package/dist/components/access-control-modal/AccessControlModal.cjs.js +112 -6
- package/dist/components/access-control-modal/AccessControlModal.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.d.ts +27 -0
- package/dist/components/access-control-modal/AccessControlModal.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.esm.js +411 -127
- package/dist/components/access-control-modal/AccessControlModal.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.styles.cjs.js +1 -1
- package/dist/components/access-control-modal/AccessControlModal.styles.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlModal.styles.esm.js +2 -3
- package/dist/components/access-control-modal/AccessControlModal.styles.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.cjs.js +6 -5
- package/dist/components/access-control-modal/AccessControlSharedAccess.cjs.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.d.ts +1 -0
- package/dist/components/access-control-modal/AccessControlSharedAccess.d.ts.map +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js +71 -55
- package/dist/components/access-control-modal/AccessControlSharedAccess.esm.js.map +1 -1
- package/dist/components/access-control-modal/AccessControlSharedAccess.styles.esm.js +1 -2
- package/dist/components/access-control-modal/accessGrantDrafts.cjs.js +1 -1
- package/dist/components/access-control-modal/accessGrantDrafts.cjs.js.map +1 -1
- package/dist/components/access-control-modal/accessGrantDrafts.d.ts.map +1 -1
- package/dist/components/access-control-modal/accessGrantDrafts.esm.js +6 -7
- package/dist/components/access-control-modal/accessGrantDrafts.esm.js.map +1 -1
- package/dist/components/access-control-modal/accessTargetResolver.cjs.js +1 -1
- package/dist/components/access-control-modal/accessTargetResolver.cjs.js.map +1 -1
- package/dist/components/access-control-modal/accessTargetResolver.d.ts +1 -0
- package/dist/components/access-control-modal/accessTargetResolver.d.ts.map +1 -1
- package/dist/components/access-control-modal/accessTargetResolver.esm.js +92 -46
- package/dist/components/access-control-modal/accessTargetResolver.esm.js.map +1 -1
- package/dist/components/access-control-modal/applyAccessChanges.cjs.js +1 -1
- package/dist/components/access-control-modal/applyAccessChanges.cjs.js.map +1 -1
- package/dist/components/access-control-modal/applyAccessChanges.d.ts +4 -2
- package/dist/components/access-control-modal/applyAccessChanges.d.ts.map +1 -1
- package/dist/components/access-control-modal/applyAccessChanges.esm.js +23 -15
- package/dist/components/access-control-modal/applyAccessChanges.esm.js.map +1 -1
- package/dist/components/access-control-modal/buildAccessChanges.esm.js +1 -2
- package/dist/components/access-control-modal/helpers.esm.js +1 -2
- package/dist/components/access-control-modal/index.esm.js +1 -2
- package/dist/components/access-control-modal/types.d.ts +6 -1
- package/dist/components/access-control-modal/types.d.ts.map +1 -1
- package/dist/components/access-control-modal.js +1 -1
- package/dist/components/account/Account.esm.js +1 -2
- package/dist/components/account/Account.styles.esm.js +1 -2
- package/dist/components/account/index.esm.js +1 -2
- package/dist/components/account.js +1 -1
- package/dist/components/avatar/Avatar.esm.js +1 -2
- package/dist/components/avatar/Avatar.styles.esm.js +1 -2
- package/dist/components/avatar/index.esm.js +1 -2
- package/dist/components/avatar.js +1 -1
- package/dist/components/button/Button.esm.js +1 -2
- package/dist/components/button/Button.styles.esm.js +1 -2
- package/dist/components/button/index.esm.js +1 -2
- package/dist/components/button.js +1 -1
- package/dist/components/combobox/Combobox.cjs.js +1 -0
- package/dist/components/combobox/Combobox.cjs.js.map +1 -1
- package/dist/components/combobox/Combobox.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.esm.js +2 -2
- package/dist/components/combobox/Combobox.esm.js.map +1 -1
- package/dist/components/combobox/Combobox.styles.esm.js +1 -2
- package/dist/components/combobox/index.esm.js +1 -2
- package/dist/components/combobox-option/ComboboxOption.esm.js +1 -2
- package/dist/components/combobox-option/index.esm.js +1 -2
- package/dist/components/combobox-option.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/dialog/Dialog.esm.js +1 -2
- package/dist/components/dialog/Dialog.styles.esm.js +1 -2
- package/dist/components/dialog/index.esm.js +1 -2
- package/dist/components/dialog-content/DialogContent.esm.js +1 -2
- package/dist/components/dialog-content/DialogContent.styles.esm.js +1 -2
- package/dist/components/dialog-content/index.esm.js +1 -2
- package/dist/components/dialog-content.js +1 -1
- package/dist/components/dialog-footer/DialogFooter.esm.js +1 -2
- package/dist/components/dialog-footer/DialogFooter.styles.esm.js +1 -2
- package/dist/components/dialog-footer/index.esm.js +1 -2
- package/dist/components/dialog-footer.js +1 -1
- package/dist/components/dialog-header/DialogHeader.esm.js +1 -2
- package/dist/components/dialog-header/DialogHeader.styles.esm.js +1 -2
- package/dist/components/dialog-header/index.esm.js +1 -2
- package/dist/components/dialog-header.js +1 -1
- package/dist/components/dialog-provider/DialogProvider.esm.js +1 -2
- package/dist/components/dialog-provider/index.esm.js +1 -2
- package/dist/components/dialog-provider.js +2 -3
- package/dist/components/dialog.js +1 -1
- package/dist/components/dialogs-root/DialogsRoot.esm.js +1 -2
- package/dist/components/dialogs-root/index.esm.js +1 -2
- package/dist/components/dialogs-root.js +1 -1
- package/dist/components/error-state/ErrorState.esm.js +1 -2
- package/dist/components/error-state/ErrorState.styles.esm.js +1 -2
- package/dist/components/error-state.js +1 -1
- package/dist/components/guard/Guard.esm.js +1 -2
- package/dist/components/guard/index.esm.js +1 -2
- package/dist/components/guard.js +1 -1
- package/dist/components/input/Input.esm.js +1 -2
- package/dist/components/input/Input.styles.esm.js +1 -2
- package/dist/components/input/index.esm.js +1 -2
- package/dist/components/input.js +1 -1
- package/dist/components/login-button/LoginButton.esm.js +1 -2
- package/dist/components/login-button/index.esm.js +1 -2
- package/dist/components/login-button.js +1 -1
- package/dist/components/login-modal/LoginModal.esm.js +1 -2
- package/dist/components/login-modal/LoginModal.styles.esm.js +1 -2
- package/dist/components/login-modal/index.esm.js +1 -2
- package/dist/components/login-modal.js +1 -1
- package/dist/components/logout-button/LogoutButton.esm.js +1 -2
- package/dist/components/logout-button/index.esm.js +1 -2
- package/dist/components/logout-button.js +1 -1
- package/dist/components/menu/Menu.esm.js +1 -2
- package/dist/components/menu/Menu.styles.esm.js +1 -2
- package/dist/components/menu/index.esm.js +1 -2
- package/dist/components/menu-item/MenuItem.esm.js +1 -2
- package/dist/components/menu-item/MenuItem.styles.esm.js +1 -2
- package/dist/components/menu-item/index.esm.js +1 -2
- package/dist/components/menu-item.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/photo-capture/PhotoCapture.esm.js +1 -2
- package/dist/components/photo-capture/index.esm.js +1 -2
- package/dist/components/photo-capture-modal/PhotoCaptureModal.cjs.js +1 -1
- package/dist/components/photo-capture-modal/PhotoCaptureModal.cjs.js.map +1 -1
- package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js +2 -3
- package/dist/components/photo-capture-modal/PhotoCaptureModal.esm.js.map +1 -1
- package/dist/components/photo-capture-modal/PhotoCaptureModal.styles.esm.js +1 -2
- package/dist/components/photo-capture-modal/index.esm.js +1 -2
- package/dist/components/photo-capture-modal.js +1 -1
- package/dist/components/photo-capture.js +1 -1
- package/dist/components/provider/Provider.esm.js +1 -2
- package/dist/components/provider/index.esm.js +1 -2
- package/dist/components/provider.js +1 -1
- package/dist/components/rdf-form/RDFForm.esm.js +1 -2
- package/dist/components/rdf-form/index.esm.js +1 -2
- package/dist/components/rdf-form.js +1 -1
- package/dist/components/rdf-input/RDFInput.esm.js +1 -2
- package/dist/components/rdf-input/index.esm.js +1 -2
- package/dist/components/rdf-input.js +1 -1
- package/dist/components/select/Select.esm.js +1 -2
- package/dist/components/select/Select.styles.esm.js +1 -2
- package/dist/components/select/index.esm.js +1 -2
- package/dist/components/select-option/SelectOption.esm.js +1 -2
- package/dist/components/select-option/index.esm.js +1 -2
- package/dist/components/select-option.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/signup-button/SignupButton.esm.js +1 -2
- package/dist/components/signup-button/index.esm.js +1 -2
- package/dist/components/signup-button.js +1 -1
- package/dist/components/solid-emblem/SolidEmblem.esm.js +1 -2
- package/dist/components/solid-emblem/SolidEmblem.styles.esm.js +1 -2
- package/dist/components/solid-emblem/index.esm.js +1 -2
- package/dist/components/solid-emblem.js +1 -1
- package/dist/components.js +28 -28
- package/dist/create/create.esm.js +1 -2
- package/dist/create/index.esm.js +1 -2
- package/dist/create/types.esm.js +1 -2
- package/dist/footer/index.esm.js +1 -2
- package/dist/header/empty-profile.esm.js +1 -2
- package/dist/header/index.esm.js +1 -2
- package/dist/index.esm.js +1 -2
- package/dist/index.js +8 -8
- package/dist/lib/auth/Account.esm.js +1 -2
- package/dist/lib/auth/NoopAuth.esm.js +1 -2
- package/dist/lib/auth/SolidAuth.esm.js +1 -2
- package/dist/lib/auth/context.esm.js +1 -2
- package/dist/lib/code-editor/CodeEditor.esm.js +1 -2
- package/dist/lib/components/decorators.esm.js +1 -2
- package/dist/lib/components/dialog-component/DialogComponent.esm.js +1 -2
- package/dist/lib/components/form-control-component/FormControlComponent.esm.js +1 -2
- package/dist/lib/components/ids.esm.js +1 -2
- package/dist/lib/components/traits/DialogTrait.esm.js +1 -2
- package/dist/lib/components/traits/FormControlTrait.esm.js +1 -2
- package/dist/lib/components/web-component/WebComponent.esm.js +1 -2
- package/dist/lib/components/web-component/WebComponent.styles.esm.js +1 -2
- package/dist/lib/debug.esm.js +1 -2
- package/dist/lib/dialogs/Dialog.esm.js +1 -2
- package/dist/lib/dialogs/context.esm.js +1 -2
- package/dist/lib/dialogs/events/close-dialog.esm.js +1 -2
- package/dist/lib/dialogs/events/show-dialog.esm.js +1 -2
- package/dist/lib/dialogs/helpers.esm.js +1 -2
- package/dist/lib/file-explorer/context.esm.js +1 -2
- package/dist/lib/forms/fieldParams.esm.js +1 -2
- package/dist/lib/forms/rdfFormsHelper.esm.js +1 -2
- package/dist/lib/forms/store/NoopStore.esm.js +1 -2
- package/dist/lib/forms/store/StoreContext.esm.js +1 -2
- package/dist/lib/iconBase.esm.js +1 -2
- package/dist/lib/log.esm.js +1 -2
- package/dist/lib/messageArea.esm.js +1 -2
- package/dist/lib/newperson.esm.js +1 -2
- package/dist/lib/ns.esm.js +1 -2
- package/dist/lib/pad.esm.js +1 -2
- package/dist/lib/participation.esm.js +1 -2
- package/dist/lib/preferences.esm.js +1 -2
- package/dist/lib/style.esm.js +1 -2
- package/dist/lib/styleConstants.esm.js +1 -2
- package/dist/lib/style_multiSelect.esm.js +1 -2
- package/dist/lib/table.esm.js +1 -2
- package/dist/lib/tabs.esm.js +1 -2
- package/dist/lib/timing.esm.js +1 -2
- package/dist/lib/values.esm.js +1 -2
- package/dist/loader.js +8 -8
- package/dist/login/login.esm.js +1 -2
- package/dist/matrix/index.esm.js +1 -2
- package/dist/matrix/matrix.esm.js +1 -2
- package/dist/media/index.esm.js +1 -2
- package/dist/media/media-capture.esm.js +1 -2
- package/dist/signup/config-default.esm.js +1 -2
- package/dist/signup/signup.esm.js +1 -2
- package/dist/solid-ui.js +243 -126
- package/dist/solid-ui.min.js +243 -126
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/utils/headerFooterHelpers.esm.js +1 -2
- package/dist/utils/index.esm.js +1 -2
- package/dist/utils/keyHelpers/accessData.esm.js +1 -2
- package/dist/utils/keyHelpers/acl.esm.js +1 -2
- package/dist/utils/keyHelpers/otherHelpers.esm.js +1 -2
- package/dist/utils/label.esm.js +1 -2
- package/dist/widgets/buttons/iconLinks.esm.js +1 -2
- package/dist/widgets/buttons.esm.js +1 -2
- package/dist/widgets/dragAndDrop.esm.js +1 -2
- package/dist/widgets/error.esm.js +1 -2
- package/dist/widgets/forms/autocomplete/autocompleteBar.esm.js +1 -2
- package/dist/widgets/forms/autocomplete/autocompleteField.esm.js +1 -2
- package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js +1 -1
- package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js +2 -3
- package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js.map +1 -1
- package/dist/widgets/forms/autocomplete/language.esm.js +1 -2
- package/dist/widgets/forms/autocomplete/publicData.esm.js +1 -2
- package/dist/widgets/forms/basic.esm.js +1 -2
- package/dist/widgets/forms/fieldFunction.esm.js +1 -2
- package/dist/widgets/forms/fieldParams.esm.js +1 -2
- package/dist/widgets/forms/formStyle.esm.js +1 -2
- package/dist/widgets/forms.esm.js +1 -2
- package/dist/widgets/index.esm.js +1 -2
- package/dist/widgets/multiSelect.esm.js +1 -2
- package/dist/widgets/peoplePicker.esm.js +1 -2
- package/dist/widgets/widgetHelpers.esm.js +1 -2
- package/package.json +2 -2
- package/dist/chunks/access-control-modal-eOv2-U27.js.map +0 -1
- package/dist/chunks/auth-Hp8M6TQf.js.map +0 -1
- package/dist/chunks/chevron-down-ujxRg3MD.js.map +0 -1
- package/dist/chunks/combobox-Dmv-TZtI.js.map +0 -1
- package/dist/chunks/index.esm-N8NHgFUj.js.map +0 -1
- package/dist/chunks/src-DQMZZG1B.js.map +0 -1
- package/dist/chunks/widgets-CVLwnfkU.js.map +0 -1
- package/dist/chunks/x-BRRkraZN.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.cjs.js","names":["customElement","FormControlComponent","Task","html","nothing","property","query","state","debounce","styles","AsyncOptionsInfo","Error","defineAsyncComboboxOptionsProvider","provider","_classDecs","_Combobox","_Combobox2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_ref","_selectOnlyDecs","type","Boolean","reflect","attribute","_asyncOptionsUrlDecs","String","_asyncOptionsResultsFieldDecs","_asyncOptionsLabelFieldDecs","_asyncOptionsValueFieldDecs","_asyncOptionsProviderDecs","Function","_optionsFallbackDecs","Array","_controlElementDecs","_readonlyDecs","_filterDecs","_displayValueDecs","_openDecs","_activeIndexDecs","_Combobox3","Combobox","_classPrivateFieldGet","selectOnly","v","_classPrivateFieldSet","asyncOptionsUrl","asyncOptionsResultsField","asyncOptionsLabelField","asyncOptionsValueField","asyncOptionsProvider","optionsFallback","controlElement","readonly","filter","displayValue","open","activeIndex","constructor","_classPrivateFieldInitSpec","_initProto","_init_selectOnly","_init_asyncOptionsUrl","_init_asyncOptionsResultsField","_init_asyncOptionsLabelField","_init_asyncOptionsValueField","_init_asyncOptionsProvider","_init_optionsFallback","_init_controlElement","_init_readonly","_init_filter","_init_displayValue","_init_open","_init_activeIndex","_defineProperty","value","event","path","composedPath","includes","hide","listboxId","controlTrait","controlId","selectedOption","_selectedOption","disconnectedCallback","removeOpenListeners","willUpdate","changedProperties","has","updateAsyncOptionsTask","options","getFilteredOptions","option","find","selectable","optionLabel","label","updateDisplayValue","getInitialActiveIndex","undefined","render","activeOption","activeDescendant","getOptionId","accessibleName","placeholder","renderLabel","onAnchorMouseDown","name","labelId","required","onInputKeyDown","onInputFocus","onInputClick","onInput","onListboxMouseDown","map","index","setActiveIndex","template","asyncOptionsTask","initial","complete","pending","error","isError","message","Object","getOptionsFromDOM","toLowerCase","querySelectorAll","from","textContent","selectedIndex","findIndex","length","getNextIndex","currentIndex","direction","updateDebouncedFilter","results","response","fetch","replace","encodeURIComponent","data","json","labelField","valueField","result","show","filteredOptions","focusLast","addOpenListeners","requestAnimationFrame","scrollActiveOptionIntoView","cancel","selectOption","previousValue","setValue","focus","preventScroll","dispatchEvent","CustomEvent","bubbles","composed","detail","shadowRoot","querySelector","scrollIntoView","block","openListenersAttached","document","addEventListener","handleDocumentFocusIn","handleDocumentMouseDown","root","getRootNode","removeEventListener","target","preventDefault","openPopupFromKey","key","onSubmit","stopPropagation","HTMLElement","optionElement","closest","optionId","id","Number","parseInt","e","c","_initClass","_applyDecs","_Class","_identity","default","customElement","property","query","state","FormControlComponent","debounce","nothing","Task","styles","require_decorators","require_FormControlComponent","require_timing","require_Combobox_styles","lit","lit_decorators_js","_lit_task","_Class","_Combobox3","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_initProto","_initClass","_classDecs","_selectOnlyDecs","_init_selectOnly","_asyncOptionsUrlDecs","_init_asyncOptionsUrl","_asyncOptionsResultsFieldDecs","_init_asyncOptionsResultsField","_asyncOptionsLabelFieldDecs","_init_asyncOptionsLabelField","_asyncOptionsValueFieldDecs","_init_asyncOptionsValueField","_asyncOptionsProviderDecs","_init_asyncOptionsProvider","_optionsFallbackDecs","_init_optionsFallback","_controlElementDecs","_init_controlElement","_readonlyDecs","_init_readonly","_filterDecs","_init_filter","_displayValueDecs","_init_displayValue","_openDecs","_init_open","_activeIndexDecs","_init_activeIndex","_Combobox2","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","f","p","_setFunctionName","P","j","D","I","F","l","N","_checkInRHS","_toPrimitive","e","_identity","AsyncOptionsInfo","defineAsyncComboboxOptionsProvider","provider","_Combobox","value","event","changedProperties","options","option","optionLabel","activeDescendant","accessibleName","index","isError","error","message","selectedIndex","currentIndex","direction","filter","results","data","labelField","valueField","result","filteredOptions","previousValue","root","optionElement","optionId"],"sources":["../../../src/components/combobox/Combobox.ts"],"sourcesContent":["import { customElement, FormControlComponent, FormControlValue } from '@/lib/components'\nimport { Task } from '@lit/task'\nimport { html, nothing, TemplateResult, type PropertyValues } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { debounce } from '@/lib/timing'\nimport type ComboboxOption from '@/components/combobox-option/ComboboxOption'\n\nimport '~icons/lucide/chevron-down'\nimport '~icons/svg-spinners/3-dots-fade'\nimport '@awesome.me/webawesome/dist/components/popup/popup.js'\n\nimport styles from './Combobox.styles.css'\n\nclass AsyncOptionsInfo extends Error {}\n\nexport type ComboboxOptionData = {\n value: FormControlValue;\n label: string;\n template?: TemplateResult;\n selectable?: boolean;\n}\n\nexport type ComboboxChangeEvent = CustomEvent<{ option: ComboboxOptionData }>\n\nexport type AsyncComboboxOptionsProvider = (query: string) => Promise<ComboboxOptionData[]>\n\nexport function defineAsyncComboboxOptionsProvider<T extends AsyncComboboxOptionsProvider> (provider: T): T {\n return provider\n}\n\n@customElement('solid-ui-combobox')\nexport default class Combobox extends FormControlComponent {\n static styles = styles\n\n @property({ type: Boolean, reflect: true, attribute: 'select-only' })\n accessor selectOnly = false\n\n @property({ type: String, attribute: 'async-options-url' })\n accessor asyncOptionsUrl = ''\n\n @property({ type: String, attribute: 'async-options-results-field' })\n accessor asyncOptionsResultsField = ''\n\n @property({ type: String, attribute: 'async-options-label-field' })\n accessor asyncOptionsLabelField = ''\n\n @property({ type: String, attribute: 'async-options-value-field' })\n accessor asyncOptionsValueField = ''\n\n @property({ type: Function })\n accessor asyncOptionsProvider: AsyncComboboxOptionsProvider | null = null\n\n @property({ type: Array })\n accessor optionsFallback: ComboboxOptionData[] | null = null\n\n @query('input')\n protected accessor controlElement: HTMLInputElement | null = null\n\n @property({ type: Boolean, reflect: true })\n accessor readonly = false\n\n @state()\n private accessor filter = ''\n\n @state()\n private accessor displayValue = ''\n\n @state()\n private accessor open = false\n\n @state()\n private accessor activeIndex = -1\n\n private openListenersAttached = false\n private updateDebouncedFilter = debounce(300, (value) => (this.filter = value))\n private asyncOptionsTask?: Task<readonly [string], ComboboxOptionData[]>\n private _selectedOption: ComboboxOptionData | undefined\n private readonly listboxId: string\n\n constructor () {\n super()\n\n this.listboxId = `listbox-${this.controlTrait.controlId}`\n }\n\n get selectedOption (): ComboboxOptionData | undefined {\n return this._selectedOption\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.removeOpenListeners()\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n\n if (changedProperties.has('asyncOptionsUrl') || changedProperties.has('asyncOptionsProvider')) {\n this.updateAsyncOptionsTask()\n }\n\n if (changedProperties.has('value')) {\n const options = this.getFilteredOptions()\n const option = options.find((option) => option.selectable !== false && option.value === this.value) ??\n this.optionsFallback?.find((option) => option.value === this.value)\n const optionLabel = option?.selectable !== false && option?.label\n\n this.updateDisplayValue(optionLabel || this.value)\n\n if (this.open) {\n this.activeIndex = this.getInitialActiveIndex(options)\n }\n\n if (this._selectedOption && this._selectedOption.value !== this.value) {\n this._selectedOption = undefined\n }\n }\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.controlTrait.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.controlTrait.controlId}\"\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.controlTrait.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.displayValue}\n @keydown=${this.onInputKeyDown}\n @focus=${this.onInputFocus}\n @click=${this.onInputClick}\n @input=${() => this.selectOnly ? this.updateDisplayValue(this.controlElement?.value ?? '') : this.controlTrait.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.controlTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n ?hidden=${!this.open}\n @mousedown=${this.onListboxMouseDown}\n >\n ${options.map((option, index) => {\n return option.selectable !== false\n ? html`<div\n id=${this.getOptionId(index)}\n role=\"option\"\n aria-selected=${option.value === this.value ? 'true' : 'false'}\n data-active=${index === this.activeIndex || nothing}\n @mousemove=${() => this.setActiveIndex(index)}\n >\n ${option.template ?? option.label}\n </div>`\n : html`<div class=\"non-selectable-option\">${option.template ?? option.label}</div>`\n })}\n </div>\n </wa-popup>\n `\n }\n\n private getFilteredOptions (): ComboboxOptionData[] {\n if (this.asyncOptionsTask) {\n return this.asyncOptionsTask.render({\n initial: () => this.optionsFallback ?? [],\n complete: (options) => options,\n pending: () => [\n {\n value: '',\n label: 'Loading...',\n template: html`<icon-svg-spinners-3-dots-fade></icon-svg-spinners-3-dots-fade>`,\n selectable: false\n } as const,\n ],\n error: (error) => {\n const isError = !(error instanceof AsyncOptionsInfo)\n const message = Object(error).message ?? 'Something went wrong'\n\n return [\n {\n value: '',\n label: message,\n template: html`<span class=\"message message--${isError ? 'error' : 'info'}\">${message}</span>`,\n selectable: false\n } as const,\n ]\n },\n })\n }\n\n return this.getOptionsFromDOM().filter((option) =>\n String(option.label).toLowerCase().includes(this.filter)\n )\n }\n\n private getOptionsFromDOM (): 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 updateDisplayValue (value: unknown) {\n this.displayValue = value ? String(value) : ''\n\n if (this.open) {\n const filter = this.displayValue.toLowerCase()\n\n if (this.asyncOptionsTask) {\n this.updateDebouncedFilter(filter)\n } else {\n this.filter = filter\n }\n }\n }\n\n private updateAsyncOptionsTask () {\n if (!this.asyncOptionsUrl && !this.asyncOptionsProvider) {\n this.asyncOptionsTask = undefined\n\n return\n }\n\n this.asyncOptionsTask ??= new Task(\n this,\n async ([filter]) => {\n if (this.asyncOptionsProvider) {\n const results = await this.asyncOptionsProvider(filter)\n\n if (results.length === 0) {\n throw new AsyncOptionsInfo('No results found')\n }\n\n return results\n }\n\n const response = await fetch(\n this.asyncOptionsUrl.replace('%search%', encodeURIComponent(filter))\n )\n const data = await response.json()\n const results = Array.from(\n this.asyncOptionsResultsField\n ? data[this.asyncOptionsResultsField]\n : data\n )\n\n if (results.length === 0) {\n throw new AsyncOptionsInfo('No results found')\n }\n\n const labelField = this.asyncOptionsLabelField || 'label'\n const valueField = this.asyncOptionsValueField || 'value'\n\n return results.map((result) => ({\n label: String(Object(result)[labelField]),\n value: Object(result)[valueField],\n }))\n },\n () => [this.filter]\n )\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 this.updateDebouncedFilter.cancel()\n }\n\n private selectOption (option: ComboboxOptionData) {\n const previousValue = this.value\n\n this._selectedOption = option\n\n this.hide()\n this.controlTrait.setValue(option.value)\n this.controlElement?.focus({ preventScroll: true })\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { option } }))\n\n if (previousValue === this.value) {\n this.updateDisplayValue(option.label)\n }\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 if (event.target === this.controlElement) {\n return\n }\n\n event.preventDefault()\n this.controlElement?.focus({ preventScroll: true })\n }\n\n private onInputFocus () {\n this.show()\n }\n\n private onInputClick () {\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])\n } else if (!this.open) {\n event.preventDefault()\n this.controlTrait.onSubmit()\n }\n break\n case 'Escape':\n if (this.open) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this.controlElement?.focus({ preventScroll: true })\n }\n break\n case 'Tab':\n this.hide()\n break\n default:\n if (!this.open) {\n this.show()\n }\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)\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Combobox.cjs.js","names":["customElement","FormControlComponent","Task","html","nothing","property","query","state","debounce","styles","AsyncOptionsInfo","Error","defineAsyncComboboxOptionsProvider","provider","_classDecs","_Combobox","_Combobox2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_ref","_selectOnlyDecs","type","Boolean","reflect","attribute","_asyncOptionsUrlDecs","String","_asyncOptionsResultsFieldDecs","_asyncOptionsLabelFieldDecs","_asyncOptionsValueFieldDecs","_asyncOptionsProviderDecs","Function","_optionsFallbackDecs","Array","_controlElementDecs","_readonlyDecs","_filterDecs","_displayValueDecs","_openDecs","_activeIndexDecs","_Combobox3","Combobox","_classPrivateFieldGet","selectOnly","v","_classPrivateFieldSet","asyncOptionsUrl","asyncOptionsResultsField","asyncOptionsLabelField","asyncOptionsValueField","asyncOptionsProvider","optionsFallback","controlElement","readonly","filter","displayValue","open","activeIndex","constructor","_classPrivateFieldInitSpec","_initProto","_init_selectOnly","_init_asyncOptionsUrl","_init_asyncOptionsResultsField","_init_asyncOptionsLabelField","_init_asyncOptionsValueField","_init_asyncOptionsProvider","_init_optionsFallback","_init_controlElement","_init_readonly","_init_filter","_init_displayValue","_init_open","_init_activeIndex","_defineProperty","value","event","path","composedPath","includes","hide","listboxId","controlTrait","controlId","selectedOption","_selectedOption","disconnectedCallback","removeOpenListeners","willUpdate","changedProperties","has","updateAsyncOptionsTask","options","getFilteredOptions","option","find","selectable","optionLabel","label","updateDisplayValue","getInitialActiveIndex","undefined","render","activeOption","activeDescendant","getOptionId","accessibleName","placeholder","renderLabel","onAnchorMouseDown","name","labelId","required","disabled","onInputKeyDown","onInputFocus","onInputClick","onInput","onListboxMouseDown","map","index","setActiveIndex","template","asyncOptionsTask","initial","complete","pending","error","isError","message","Object","getOptionsFromDOM","toLowerCase","querySelectorAll","from","textContent","selectedIndex","findIndex","length","getNextIndex","currentIndex","direction","updateDebouncedFilter","results","response","fetch","replace","encodeURIComponent","data","json","labelField","valueField","result","show","filteredOptions","focusLast","addOpenListeners","requestAnimationFrame","scrollActiveOptionIntoView","cancel","selectOption","previousValue","setValue","focus","preventScroll","dispatchEvent","CustomEvent","bubbles","composed","detail","shadowRoot","querySelector","scrollIntoView","block","openListenersAttached","document","addEventListener","handleDocumentFocusIn","handleDocumentMouseDown","root","getRootNode","removeEventListener","target","preventDefault","openPopupFromKey","key","onSubmit","stopPropagation","HTMLElement","optionElement","closest","optionId","id","Number","parseInt","e","c","_initClass","_applyDecs","_Class","_identity","default","customElement","property","query","state","FormControlComponent","debounce","nothing","Task","styles","require_decorators","require_FormControlComponent","require_timing","require_Combobox_styles","lit","lit_decorators_js","_lit_task","_Class","_Combobox3","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_initProto","_initClass","_classDecs","_selectOnlyDecs","_init_selectOnly","_asyncOptionsUrlDecs","_init_asyncOptionsUrl","_asyncOptionsResultsFieldDecs","_init_asyncOptionsResultsField","_asyncOptionsLabelFieldDecs","_init_asyncOptionsLabelField","_asyncOptionsValueFieldDecs","_init_asyncOptionsValueField","_asyncOptionsProviderDecs","_init_asyncOptionsProvider","_optionsFallbackDecs","_init_optionsFallback","_controlElementDecs","_init_controlElement","_readonlyDecs","_init_readonly","_filterDecs","_init_filter","_displayValueDecs","_init_displayValue","_openDecs","_init_open","_activeIndexDecs","_init_activeIndex","_Combobox2","_ref","_classPrivateFieldInitSpec","_checkPrivateRedeclaration","a","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","f","p","_setFunctionName","P","j","D","I","F","l","N","_checkInRHS","_toPrimitive","e","_identity","AsyncOptionsInfo","defineAsyncComboboxOptionsProvider","provider","_Combobox","value","event","changedProperties","options","option","optionLabel","activeDescendant","accessibleName","index","isError","error","message","selectedIndex","currentIndex","direction","filter","results","data","labelField","valueField","result","filteredOptions","previousValue","root","optionElement","optionId"],"sources":["../../../src/components/combobox/Combobox.ts"],"sourcesContent":["import { customElement, FormControlComponent, FormControlValue } from '@/lib/components'\nimport { Task } from '@lit/task'\nimport { html, nothing, TemplateResult, type PropertyValues } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { debounce } from '@/lib/timing'\nimport type ComboboxOption from '@/components/combobox-option/ComboboxOption'\n\nimport '~icons/lucide/chevron-down'\nimport '~icons/svg-spinners/3-dots-fade'\nimport '@awesome.me/webawesome/dist/components/popup/popup.js'\n\nimport styles from './Combobox.styles.css'\n\nclass AsyncOptionsInfo extends Error {}\n\nexport type ComboboxOptionData = {\n value: FormControlValue;\n label: string;\n template?: TemplateResult;\n selectable?: boolean;\n}\n\nexport type ComboboxChangeEvent = CustomEvent<{ option: ComboboxOptionData }>\n\nexport type AsyncComboboxOptionsProvider = (query: string) => Promise<ComboboxOptionData[]>\n\nexport function defineAsyncComboboxOptionsProvider<T extends AsyncComboboxOptionsProvider> (provider: T): T {\n return provider\n}\n\n@customElement('solid-ui-combobox')\nexport default class Combobox extends FormControlComponent {\n static styles = styles\n\n @property({ type: Boolean, reflect: true, attribute: 'select-only' })\n accessor selectOnly = false\n\n @property({ type: String, attribute: 'async-options-url' })\n accessor asyncOptionsUrl = ''\n\n @property({ type: String, attribute: 'async-options-results-field' })\n accessor asyncOptionsResultsField = ''\n\n @property({ type: String, attribute: 'async-options-label-field' })\n accessor asyncOptionsLabelField = ''\n\n @property({ type: String, attribute: 'async-options-value-field' })\n accessor asyncOptionsValueField = ''\n\n @property({ type: Function })\n accessor asyncOptionsProvider: AsyncComboboxOptionsProvider | null = null\n\n @property({ type: Array })\n accessor optionsFallback: ComboboxOptionData[] | null = null\n\n @query('input')\n protected accessor controlElement: HTMLInputElement | null = null\n\n @property({ type: Boolean, reflect: true })\n accessor readonly = false\n\n @state()\n private accessor filter = ''\n\n @state()\n private accessor displayValue = ''\n\n @state()\n private accessor open = false\n\n @state()\n private accessor activeIndex = -1\n\n private openListenersAttached = false\n private updateDebouncedFilter = debounce(300, (value) => (this.filter = value))\n private asyncOptionsTask?: Task<readonly [string], ComboboxOptionData[]>\n private _selectedOption: ComboboxOptionData | undefined\n private readonly listboxId: string\n\n constructor () {\n super()\n\n this.listboxId = `listbox-${this.controlTrait.controlId}`\n }\n\n get selectedOption (): ComboboxOptionData | undefined {\n return this._selectedOption\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.removeOpenListeners()\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n\n if (changedProperties.has('asyncOptionsUrl') || changedProperties.has('asyncOptionsProvider')) {\n this.updateAsyncOptionsTask()\n }\n\n if (changedProperties.has('value')) {\n const options = this.getFilteredOptions()\n const option = options.find((option) => option.selectable !== false && option.value === this.value) ??\n this.optionsFallback?.find((option) => option.value === this.value)\n const optionLabel = option?.selectable !== false && option?.label\n\n this.updateDisplayValue(optionLabel || this.value)\n\n if (this.open) {\n this.activeIndex = this.getInitialActiveIndex(options)\n }\n\n if (this._selectedOption && this._selectedOption.value !== this.value) {\n this._selectedOption = undefined\n }\n }\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.controlTrait.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.controlTrait.controlId}\"\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.controlTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n aria-required=${this.required ? 'true' : nothing}\n autocomplete=\"off\"\n spellcheck=\"false\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${this.displayValue}\n @keydown=${this.onInputKeyDown}\n @focus=${this.onInputFocus}\n @click=${this.onInputClick}\n @input=${() => this.selectOnly ? this.updateDisplayValue(this.controlElement?.value ?? '') : this.controlTrait.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.controlTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n ?hidden=${!this.open}\n @mousedown=${this.onListboxMouseDown}\n >\n ${options.map((option, index) => {\n return option.selectable !== false\n ? html`<div\n id=${this.getOptionId(index)}\n role=\"option\"\n aria-selected=${option.value === this.value ? 'true' : 'false'}\n data-active=${index === this.activeIndex || nothing}\n @mousemove=${() => this.setActiveIndex(index)}\n >\n ${option.template ?? option.label}\n </div>`\n : html`<div class=\"non-selectable-option\">${option.template ?? option.label}</div>`\n })}\n </div>\n </wa-popup>\n `\n }\n\n private getFilteredOptions (): ComboboxOptionData[] {\n if (this.asyncOptionsTask) {\n return this.asyncOptionsTask.render({\n initial: () => this.optionsFallback ?? [],\n complete: (options) => options,\n pending: () => [\n {\n value: '',\n label: 'Loading...',\n template: html`<icon-svg-spinners-3-dots-fade></icon-svg-spinners-3-dots-fade>`,\n selectable: false\n } as const,\n ],\n error: (error) => {\n const isError = !(error instanceof AsyncOptionsInfo)\n const message = Object(error).message ?? 'Something went wrong'\n\n return [\n {\n value: '',\n label: message,\n template: html`<span class=\"message message--${isError ? 'error' : 'info'}\">${message}</span>`,\n selectable: false\n } as const,\n ]\n },\n })\n }\n\n return this.getOptionsFromDOM().filter((option) =>\n String(option.label).toLowerCase().includes(this.filter)\n )\n }\n\n private getOptionsFromDOM (): 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 updateDisplayValue (value: unknown) {\n this.displayValue = value ? String(value) : ''\n\n if (this.open) {\n const filter = this.displayValue.toLowerCase()\n\n if (this.asyncOptionsTask) {\n this.updateDebouncedFilter(filter)\n } else {\n this.filter = filter\n }\n }\n }\n\n private updateAsyncOptionsTask () {\n if (!this.asyncOptionsUrl && !this.asyncOptionsProvider) {\n this.asyncOptionsTask = undefined\n\n return\n }\n\n this.asyncOptionsTask ??= new Task(\n this,\n async ([filter]) => {\n if (this.asyncOptionsProvider) {\n const results = await this.asyncOptionsProvider(filter)\n\n if (results.length === 0) {\n throw new AsyncOptionsInfo('No results found')\n }\n\n return results\n }\n\n const response = await fetch(\n this.asyncOptionsUrl.replace('%search%', encodeURIComponent(filter))\n )\n const data = await response.json()\n const results = Array.from(\n this.asyncOptionsResultsField\n ? data[this.asyncOptionsResultsField]\n : data\n )\n\n if (results.length === 0) {\n throw new AsyncOptionsInfo('No results found')\n }\n\n const labelField = this.asyncOptionsLabelField || 'label'\n const valueField = this.asyncOptionsValueField || 'value'\n\n return results.map((result) => ({\n label: String(Object(result)[labelField]),\n value: Object(result)[valueField],\n }))\n },\n () => [this.filter]\n )\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 this.updateDebouncedFilter.cancel()\n }\n\n private selectOption (option: ComboboxOptionData) {\n const previousValue = this.value\n\n this._selectedOption = option\n\n this.hide()\n this.controlTrait.setValue(option.value)\n this.controlElement?.focus({ preventScroll: true })\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { option } }))\n\n if (previousValue === this.value) {\n this.updateDisplayValue(option.label)\n }\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 if (event.target === this.controlElement) {\n return\n }\n\n event.preventDefault()\n this.controlElement?.focus({ preventScroll: true })\n }\n\n private onInputFocus () {\n this.show()\n }\n\n private onInputClick () {\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])\n } else if (!this.open) {\n event.preventDefault()\n this.controlTrait.onSubmit()\n }\n break\n case 'Escape':\n if (this.open) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this.controlElement?.focus({ preventScroll: true })\n }\n break\n case 'Tab':\n this.hide()\n break\n default:\n if (!this.open) {\n this.show()\n }\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)\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,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExF,OAAO,EAAiB,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAA;AAKxE,OAAO,4BAA4B,CAAA;AACnC,OAAO,iCAAiC,CAAA;AACxC,OAAO,uDAAuD,CAAA;AAM9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAA;AAE7E,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;AAE3F,wBAAgB,kCAAkC,CAAC,CAAC,SAAS,4BAA4B,EAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAE1G;AAGD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,oBAAoB;IACxD,MAAM,CAAC,MAAM,0BAAS;IAGtB,QAAQ,CAAC,UAAU,UAAQ;IAG3B,QAAQ,CAAC,eAAe,SAAK;IAG7B,QAAQ,CAAC,wBAAwB,SAAK;IAGtC,QAAQ,CAAC,sBAAsB,SAAK;IAGpC,QAAQ,CAAC,sBAAsB,SAAK;IAGpC,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,GAAG,IAAI,CAAO;IAGzE,QAAQ,CAAC,eAAe,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAO;IAG5D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAO;IAGjE,QAAQ,CAAC,QAAQ,UAAQ;IAGzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAK;IAG5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAK;IAGlC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAK;IAEjC,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,qBAAqB,CAAkD;IAC/E,OAAO,CAAC,gBAAgB,CAAC,CAA+C;IACxE,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;;IAQlC,IAAI,cAAc,IAAK,kBAAkB,GAAG,SAAS,CAEpD;IAED,oBAAoB;IAMpB,SAAS,CAAC,UAAU,CAAE,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAyB7D,SAAS,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExF,OAAO,EAAiB,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAA;AAKxE,OAAO,4BAA4B,CAAA;AACnC,OAAO,iCAAiC,CAAA;AACxC,OAAO,uDAAuD,CAAA;AAM9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,gBAAgB,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAAA;AAE7E,MAAM,MAAM,4BAA4B,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;AAE3F,wBAAgB,kCAAkC,CAAC,CAAC,SAAS,4BAA4B,EAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAE1G;AAGD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,oBAAoB;IACxD,MAAM,CAAC,MAAM,0BAAS;IAGtB,QAAQ,CAAC,UAAU,UAAQ;IAG3B,QAAQ,CAAC,eAAe,SAAK;IAG7B,QAAQ,CAAC,wBAAwB,SAAK;IAGtC,QAAQ,CAAC,sBAAsB,SAAK;IAGpC,QAAQ,CAAC,sBAAsB,SAAK;IAGpC,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,GAAG,IAAI,CAAO;IAGzE,QAAQ,CAAC,eAAe,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAO;IAG5D,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,gBAAgB,GAAG,IAAI,CAAO;IAGjE,QAAQ,CAAC,QAAQ,UAAQ;IAGzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAK;IAG5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAK;IAGlC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAG7B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAK;IAEjC,OAAO,CAAC,qBAAqB,CAAQ;IACrC,OAAO,CAAC,qBAAqB,CAAkD;IAC/E,OAAO,CAAC,gBAAgB,CAAC,CAA+C;IACxE,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;;IAQlC,IAAI,cAAc,IAAK,kBAAkB,GAAG,SAAS,CAEpD;IAED,oBAAoB;IAMpB,SAAS,CAAC,UAAU,CAAE,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC;IAyB7D,SAAS,CAAC,MAAM;IA0EhB,OAAO,CAAC,kBAAkB;IAkC1B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,sBAAsB;IA8C9B,OAAO,CAAC,IAAI;IAoBZ,OAAO,CAAC,IAAI;IAYZ,OAAO,CAAC,YAAY;IAepB,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;IASzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,cAAc;IAmDtB,OAAO,CAAC,kBAAkB;CAqB3B"}
|
|
@@ -9,7 +9,7 @@ import { html as i, nothing as a } from "lit";
|
|
|
9
9
|
import { property as o, query as s, state as c } from "lit/decorators.js";
|
|
10
10
|
import { Task as l } from "@lit/task";
|
|
11
11
|
import "@awesome.me/webawesome/dist/components/popup/popup.js";
|
|
12
|
-
|
|
12
|
+
// src/components/combobox/Combobox.ts
|
|
13
13
|
var u, d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E, D, O, k, A, j, ee, te, ne, re, ie, ae, oe, M, N, P, F, I, L, R, z, B, V, H, U, W, G, K, se, ce;
|
|
14
14
|
function q(e, t, n) {
|
|
15
15
|
le(e, t), t.set(e, n);
|
|
@@ -335,6 +335,7 @@ new (se = (f = /*#__PURE__*/ new WeakMap(), p = /*#__PURE__*/ new WeakMap(), m =
|
|
|
335
335
|
aria-required=${this.required ? "true" : a}
|
|
336
336
|
autocomplete="off"
|
|
337
337
|
spellcheck="false"
|
|
338
|
+
?disabled=${this.disabled}
|
|
338
339
|
?required=${this.required}
|
|
339
340
|
.value=${this.displayValue}
|
|
340
341
|
@keydown=${this.onInputKeyDown}
|
|
@@ -572,7 +573,6 @@ new (se = (f = /*#__PURE__*/ new WeakMap(), p = /*#__PURE__*/ new WeakMap(), m =
|
|
|
572
573
|
super($), X(this, "styles", r), E();
|
|
573
574
|
}
|
|
574
575
|
}, X(u, se, void 0), u)();
|
|
575
|
-
//#endregion
|
|
576
576
|
export { $ as default, ge as defineAsyncComboboxOptionsProvider };
|
|
577
577
|
|
|
578
578
|
//# sourceMappingURL=Combobox.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.esm.js","names":["customElement","FormControlComponent","Task","html","nothing","property","query","state","debounce","styles","AsyncOptionsInfo","Error","defineAsyncComboboxOptionsProvider","provider","_classDecs","_Combobox","_Combobox2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_ref","_selectOnlyDecs","type","Boolean","reflect","attribute","_asyncOptionsUrlDecs","String","_asyncOptionsResultsFieldDecs","_asyncOptionsLabelFieldDecs","_asyncOptionsValueFieldDecs","_asyncOptionsProviderDecs","Function","_optionsFallbackDecs","Array","_controlElementDecs","_readonlyDecs","_filterDecs","_displayValueDecs","_openDecs","_activeIndexDecs","_Combobox3","Combobox","_classPrivateFieldGet","selectOnly","v","_classPrivateFieldSet","asyncOptionsUrl","asyncOptionsResultsField","asyncOptionsLabelField","asyncOptionsValueField","asyncOptionsProvider","optionsFallback","controlElement","readonly","filter","displayValue","open","activeIndex","constructor","_classPrivateFieldInitSpec","_initProto","_init_selectOnly","_init_asyncOptionsUrl","_init_asyncOptionsResultsField","_init_asyncOptionsLabelField","_init_asyncOptionsValueField","_init_asyncOptionsProvider","_init_optionsFallback","_init_controlElement","_init_readonly","_init_filter","_init_displayValue","_init_open","_init_activeIndex","_defineProperty","value","event","path","composedPath","includes","hide","listboxId","controlTrait","controlId","selectedOption","_selectedOption","disconnectedCallback","removeOpenListeners","willUpdate","changedProperties","has","updateAsyncOptionsTask","options","getFilteredOptions","option","find","selectable","optionLabel","label","updateDisplayValue","getInitialActiveIndex","undefined","render","activeOption","activeDescendant","getOptionId","accessibleName","placeholder","renderLabel","onAnchorMouseDown","name","labelId","required","onInputKeyDown","onInputFocus","onInputClick","onInput","onListboxMouseDown","map","index","setActiveIndex","template","asyncOptionsTask","initial","complete","pending","error","isError","message","Object","getOptionsFromDOM","toLowerCase","querySelectorAll","from","textContent","selectedIndex","findIndex","length","getNextIndex","currentIndex","direction","updateDebouncedFilter","results","response","fetch","replace","encodeURIComponent","data","json","labelField","valueField","result","show","filteredOptions","focusLast","addOpenListeners","requestAnimationFrame","scrollActiveOptionIntoView","cancel","selectOption","previousValue","setValue","focus","preventScroll","dispatchEvent","CustomEvent","bubbles","composed","detail","shadowRoot","querySelector","scrollIntoView","block","openListenersAttached","document","addEventListener","handleDocumentFocusIn","handleDocumentMouseDown","root","getRootNode","removeEventListener","target","preventDefault","openPopupFromKey","key","onSubmit","stopPropagation","HTMLElement","optionElement","closest","optionId","id","Number","parseInt","e","c","_initClass","_applyDecs","_Class","_identity","default","styles","FormControlComponent","Combobox_styles_default","_Class","_Combobox3","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_initProto","_initClass","_classDecs","_selectOnlyDecs","_init_selectOnly","_asyncOptionsUrlDecs","_init_asyncOptionsUrl","_asyncOptionsResultsFieldDecs","_init_asyncOptionsResultsField","_asyncOptionsLabelFieldDecs","_init_asyncOptionsLabelField","_asyncOptionsValueFieldDecs","_init_asyncOptionsValueField","_asyncOptionsProviderDecs","_init_asyncOptionsProvider","_optionsFallbackDecs","_init_optionsFallback","_controlElementDecs","_init_controlElement","_readonlyDecs","_init_readonly","_filterDecs","_init_filter","_displayValueDecs","_init_displayValue","_openDecs","_init_open","_activeIndexDecs","_init_activeIndex","_Combobox2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","p","_setFunctionName","P","j","D","I","F","l","f","N","_checkInRHS","_toPrimitive","e","_identity","AsyncOptionsInfo","defineAsyncComboboxOptionsProvider","provider","customElement","_Combobox","property","query","state","debounce","value","event","changedProperties","options","option","optionLabel","activeDescendant","accessibleName","nothing","index","isError","error","message","selectedIndex","currentIndex","direction","filter","Task","results","data","labelField","valueField","result","filteredOptions","previousValue","root","optionElement","optionId"],"sources":["../../../src/components/combobox/Combobox.ts"],"sourcesContent":["import { customElement, FormControlComponent, FormControlValue } from '@/lib/components'\nimport { Task } from '@lit/task'\nimport { html, nothing, TemplateResult, type PropertyValues } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { debounce } from '@/lib/timing'\nimport type ComboboxOption from '@/components/combobox-option/ComboboxOption'\n\nimport '~icons/lucide/chevron-down'\nimport '~icons/svg-spinners/3-dots-fade'\nimport '@awesome.me/webawesome/dist/components/popup/popup.js'\n\nimport styles from './Combobox.styles.css'\n\nclass AsyncOptionsInfo extends Error {}\n\nexport type ComboboxOptionData = {\n value: FormControlValue;\n label: string;\n template?: TemplateResult;\n selectable?: boolean;\n}\n\nexport type ComboboxChangeEvent = CustomEvent<{ option: ComboboxOptionData }>\n\nexport type AsyncComboboxOptionsProvider = (query: string) => Promise<ComboboxOptionData[]>\n\nexport function defineAsyncComboboxOptionsProvider<T extends AsyncComboboxOptionsProvider> (provider: T): T {\n return provider\n}\n\n@customElement('solid-ui-combobox')\nexport default class Combobox extends FormControlComponent {\n static styles = styles\n\n @property({ type: Boolean, reflect: true, attribute: 'select-only' })\n accessor selectOnly = false\n\n @property({ type: String, attribute: 'async-options-url' })\n accessor asyncOptionsUrl = ''\n\n @property({ type: String, attribute: 'async-options-results-field' })\n accessor asyncOptionsResultsField = ''\n\n @property({ type: String, attribute: 'async-options-label-field' })\n accessor asyncOptionsLabelField = ''\n\n @property({ type: String, attribute: 'async-options-value-field' })\n accessor asyncOptionsValueField = ''\n\n @property({ type: Function })\n accessor asyncOptionsProvider: AsyncComboboxOptionsProvider | null = null\n\n @property({ type: Array })\n accessor optionsFallback: ComboboxOptionData[] | null = null\n\n @query('input')\n protected accessor controlElement: HTMLInputElement | null = null\n\n @property({ type: Boolean, reflect: true })\n accessor readonly = false\n\n @state()\n private accessor filter = ''\n\n @state()\n private accessor displayValue = ''\n\n @state()\n private accessor open = false\n\n @state()\n private accessor activeIndex = -1\n\n private openListenersAttached = false\n private updateDebouncedFilter = debounce(300, (value) => (this.filter = value))\n private asyncOptionsTask?: Task<readonly [string], ComboboxOptionData[]>\n private _selectedOption: ComboboxOptionData | undefined\n private readonly listboxId: string\n\n constructor () {\n super()\n\n this.listboxId = `listbox-${this.controlTrait.controlId}`\n }\n\n get selectedOption (): ComboboxOptionData | undefined {\n return this._selectedOption\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.removeOpenListeners()\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n\n if (changedProperties.has('asyncOptionsUrl') || changedProperties.has('asyncOptionsProvider')) {\n this.updateAsyncOptionsTask()\n }\n\n if (changedProperties.has('value')) {\n const options = this.getFilteredOptions()\n const option = options.find((option) => option.selectable !== false && option.value === this.value) ??\n this.optionsFallback?.find((option) => option.value === this.value)\n const optionLabel = option?.selectable !== false && option?.label\n\n this.updateDisplayValue(optionLabel || this.value)\n\n if (this.open) {\n this.activeIndex = this.getInitialActiveIndex(options)\n }\n\n if (this._selectedOption && this._selectedOption.value !== this.value) {\n this._selectedOption = undefined\n }\n }\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.controlTrait.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.controlTrait.controlId}\"\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.controlTrait.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.displayValue}\n @keydown=${this.onInputKeyDown}\n @focus=${this.onInputFocus}\n @click=${this.onInputClick}\n @input=${() => this.selectOnly ? this.updateDisplayValue(this.controlElement?.value ?? '') : this.controlTrait.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.controlTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n ?hidden=${!this.open}\n @mousedown=${this.onListboxMouseDown}\n >\n ${options.map((option, index) => {\n return option.selectable !== false\n ? html`<div\n id=${this.getOptionId(index)}\n role=\"option\"\n aria-selected=${option.value === this.value ? 'true' : 'false'}\n data-active=${index === this.activeIndex || nothing}\n @mousemove=${() => this.setActiveIndex(index)}\n >\n ${option.template ?? option.label}\n </div>`\n : html`<div class=\"non-selectable-option\">${option.template ?? option.label}</div>`\n })}\n </div>\n </wa-popup>\n `\n }\n\n private getFilteredOptions (): ComboboxOptionData[] {\n if (this.asyncOptionsTask) {\n return this.asyncOptionsTask.render({\n initial: () => this.optionsFallback ?? [],\n complete: (options) => options,\n pending: () => [\n {\n value: '',\n label: 'Loading...',\n template: html`<icon-svg-spinners-3-dots-fade></icon-svg-spinners-3-dots-fade>`,\n selectable: false\n } as const,\n ],\n error: (error) => {\n const isError = !(error instanceof AsyncOptionsInfo)\n const message = Object(error).message ?? 'Something went wrong'\n\n return [\n {\n value: '',\n label: message,\n template: html`<span class=\"message message--${isError ? 'error' : 'info'}\">${message}</span>`,\n selectable: false\n } as const,\n ]\n },\n })\n }\n\n return this.getOptionsFromDOM().filter((option) =>\n String(option.label).toLowerCase().includes(this.filter)\n )\n }\n\n private getOptionsFromDOM (): 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 updateDisplayValue (value: unknown) {\n this.displayValue = value ? String(value) : ''\n\n if (this.open) {\n const filter = this.displayValue.toLowerCase()\n\n if (this.asyncOptionsTask) {\n this.updateDebouncedFilter(filter)\n } else {\n this.filter = filter\n }\n }\n }\n\n private updateAsyncOptionsTask () {\n if (!this.asyncOptionsUrl && !this.asyncOptionsProvider) {\n this.asyncOptionsTask = undefined\n\n return\n }\n\n this.asyncOptionsTask ??= new Task(\n this,\n async ([filter]) => {\n if (this.asyncOptionsProvider) {\n const results = await this.asyncOptionsProvider(filter)\n\n if (results.length === 0) {\n throw new AsyncOptionsInfo('No results found')\n }\n\n return results\n }\n\n const response = await fetch(\n this.asyncOptionsUrl.replace('%search%', encodeURIComponent(filter))\n )\n const data = await response.json()\n const results = Array.from(\n this.asyncOptionsResultsField\n ? data[this.asyncOptionsResultsField]\n : data\n )\n\n if (results.length === 0) {\n throw new AsyncOptionsInfo('No results found')\n }\n\n const labelField = this.asyncOptionsLabelField || 'label'\n const valueField = this.asyncOptionsValueField || 'value'\n\n return results.map((result) => ({\n label: String(Object(result)[labelField]),\n value: Object(result)[valueField],\n }))\n },\n () => [this.filter]\n )\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 this.updateDebouncedFilter.cancel()\n }\n\n private selectOption (option: ComboboxOptionData) {\n const previousValue = this.value\n\n this._selectedOption = option\n\n this.hide()\n this.controlTrait.setValue(option.value)\n this.controlElement?.focus({ preventScroll: true })\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { option } }))\n\n if (previousValue === this.value) {\n this.updateDisplayValue(option.label)\n }\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 if (event.target === this.controlElement) {\n return\n }\n\n event.preventDefault()\n this.controlElement?.focus({ preventScroll: true })\n }\n\n private onInputFocus () {\n this.show()\n }\n\n private onInputClick () {\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])\n } else if (!this.open) {\n event.preventDefault()\n this.controlTrait.onSubmit()\n }\n break\n case 'Escape':\n if (this.open) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this.controlElement?.focus({ preventScroll: true })\n }\n break\n case 'Tab':\n this.hide()\n break\n default:\n if (!this.open) {\n this.show()\n }\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)\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Combobox.esm.js","names":["customElement","FormControlComponent","Task","html","nothing","property","query","state","debounce","styles","AsyncOptionsInfo","Error","defineAsyncComboboxOptionsProvider","provider","_classDecs","_Combobox","_Combobox2","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_ref","_selectOnlyDecs","type","Boolean","reflect","attribute","_asyncOptionsUrlDecs","String","_asyncOptionsResultsFieldDecs","_asyncOptionsLabelFieldDecs","_asyncOptionsValueFieldDecs","_asyncOptionsProviderDecs","Function","_optionsFallbackDecs","Array","_controlElementDecs","_readonlyDecs","_filterDecs","_displayValueDecs","_openDecs","_activeIndexDecs","_Combobox3","Combobox","_classPrivateFieldGet","selectOnly","v","_classPrivateFieldSet","asyncOptionsUrl","asyncOptionsResultsField","asyncOptionsLabelField","asyncOptionsValueField","asyncOptionsProvider","optionsFallback","controlElement","readonly","filter","displayValue","open","activeIndex","constructor","_classPrivateFieldInitSpec","_initProto","_init_selectOnly","_init_asyncOptionsUrl","_init_asyncOptionsResultsField","_init_asyncOptionsLabelField","_init_asyncOptionsValueField","_init_asyncOptionsProvider","_init_optionsFallback","_init_controlElement","_init_readonly","_init_filter","_init_displayValue","_init_open","_init_activeIndex","_defineProperty","value","event","path","composedPath","includes","hide","listboxId","controlTrait","controlId","selectedOption","_selectedOption","disconnectedCallback","removeOpenListeners","willUpdate","changedProperties","has","updateAsyncOptionsTask","options","getFilteredOptions","option","find","selectable","optionLabel","label","updateDisplayValue","getInitialActiveIndex","undefined","render","activeOption","activeDescendant","getOptionId","accessibleName","placeholder","renderLabel","onAnchorMouseDown","name","labelId","required","disabled","onInputKeyDown","onInputFocus","onInputClick","onInput","onListboxMouseDown","map","index","setActiveIndex","template","asyncOptionsTask","initial","complete","pending","error","isError","message","Object","getOptionsFromDOM","toLowerCase","querySelectorAll","from","textContent","selectedIndex","findIndex","length","getNextIndex","currentIndex","direction","updateDebouncedFilter","results","response","fetch","replace","encodeURIComponent","data","json","labelField","valueField","result","show","filteredOptions","focusLast","addOpenListeners","requestAnimationFrame","scrollActiveOptionIntoView","cancel","selectOption","previousValue","setValue","focus","preventScroll","dispatchEvent","CustomEvent","bubbles","composed","detail","shadowRoot","querySelector","scrollIntoView","block","openListenersAttached","document","addEventListener","handleDocumentFocusIn","handleDocumentMouseDown","root","getRootNode","removeEventListener","target","preventDefault","openPopupFromKey","key","onSubmit","stopPropagation","HTMLElement","optionElement","closest","optionId","id","Number","parseInt","e","c","_initClass","_applyDecs","_Class","_identity","default","styles","FormControlComponent","Combobox_styles_default","_Class","_Combobox3","_A","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_initProto","_initClass","_classDecs","_selectOnlyDecs","_init_selectOnly","_asyncOptionsUrlDecs","_init_asyncOptionsUrl","_asyncOptionsResultsFieldDecs","_init_asyncOptionsResultsField","_asyncOptionsLabelFieldDecs","_init_asyncOptionsLabelField","_asyncOptionsValueFieldDecs","_init_asyncOptionsValueField","_asyncOptionsProviderDecs","_init_asyncOptionsProvider","_optionsFallbackDecs","_init_optionsFallback","_controlElementDecs","_init_controlElement","_readonlyDecs","_init_readonly","_filterDecs","_init_filter","_displayValueDecs","_init_displayValue","_openDecs","_init_open","_activeIndexDecs","_init_activeIndex","_Combobox2","_ref","_classPrivateFieldInitSpec","a","_checkPrivateRedeclaration","_classPrivateFieldSet","s","_assertClassBrand","r","_classPrivateFieldGet","_defineProperty","_toPropertyKey","t","_applyDecs","i","n","o","c","applyDec","m","h","y","v","g","b","u","w","S","A","d","p","_setFunctionName","P","j","D","I","F","l","f","N","_checkInRHS","_toPrimitive","e","_identity","AsyncOptionsInfo","defineAsyncComboboxOptionsProvider","provider","customElement","_Combobox","property","query","state","debounce","value","event","changedProperties","options","option","optionLabel","activeDescendant","accessibleName","nothing","index","isError","error","message","selectedIndex","currentIndex","direction","filter","Task","results","data","labelField","valueField","result","filteredOptions","previousValue","root","optionElement","optionId"],"sources":["../../../src/components/combobox/Combobox.ts"],"sourcesContent":["import { customElement, FormControlComponent, FormControlValue } from '@/lib/components'\nimport { Task } from '@lit/task'\nimport { html, nothing, TemplateResult, type PropertyValues } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { debounce } from '@/lib/timing'\nimport type ComboboxOption from '@/components/combobox-option/ComboboxOption'\n\nimport '~icons/lucide/chevron-down'\nimport '~icons/svg-spinners/3-dots-fade'\nimport '@awesome.me/webawesome/dist/components/popup/popup.js'\n\nimport styles from './Combobox.styles.css'\n\nclass AsyncOptionsInfo extends Error {}\n\nexport type ComboboxOptionData = {\n value: FormControlValue;\n label: string;\n template?: TemplateResult;\n selectable?: boolean;\n}\n\nexport type ComboboxChangeEvent = CustomEvent<{ option: ComboboxOptionData }>\n\nexport type AsyncComboboxOptionsProvider = (query: string) => Promise<ComboboxOptionData[]>\n\nexport function defineAsyncComboboxOptionsProvider<T extends AsyncComboboxOptionsProvider> (provider: T): T {\n return provider\n}\n\n@customElement('solid-ui-combobox')\nexport default class Combobox extends FormControlComponent {\n static styles = styles\n\n @property({ type: Boolean, reflect: true, attribute: 'select-only' })\n accessor selectOnly = false\n\n @property({ type: String, attribute: 'async-options-url' })\n accessor asyncOptionsUrl = ''\n\n @property({ type: String, attribute: 'async-options-results-field' })\n accessor asyncOptionsResultsField = ''\n\n @property({ type: String, attribute: 'async-options-label-field' })\n accessor asyncOptionsLabelField = ''\n\n @property({ type: String, attribute: 'async-options-value-field' })\n accessor asyncOptionsValueField = ''\n\n @property({ type: Function })\n accessor asyncOptionsProvider: AsyncComboboxOptionsProvider | null = null\n\n @property({ type: Array })\n accessor optionsFallback: ComboboxOptionData[] | null = null\n\n @query('input')\n protected accessor controlElement: HTMLInputElement | null = null\n\n @property({ type: Boolean, reflect: true })\n accessor readonly = false\n\n @state()\n private accessor filter = ''\n\n @state()\n private accessor displayValue = ''\n\n @state()\n private accessor open = false\n\n @state()\n private accessor activeIndex = -1\n\n private openListenersAttached = false\n private updateDebouncedFilter = debounce(300, (value) => (this.filter = value))\n private asyncOptionsTask?: Task<readonly [string], ComboboxOptionData[]>\n private _selectedOption: ComboboxOptionData | undefined\n private readonly listboxId: string\n\n constructor () {\n super()\n\n this.listboxId = `listbox-${this.controlTrait.controlId}`\n }\n\n get selectedOption (): ComboboxOptionData | undefined {\n return this._selectedOption\n }\n\n disconnectedCallback () {\n super.disconnectedCallback()\n\n this.removeOpenListeners()\n }\n\n protected willUpdate (changedProperties: PropertyValues<this>) {\n super.willUpdate(changedProperties)\n\n if (changedProperties.has('asyncOptionsUrl') || changedProperties.has('asyncOptionsProvider')) {\n this.updateAsyncOptionsTask()\n }\n\n if (changedProperties.has('value')) {\n const options = this.getFilteredOptions()\n const option = options.find((option) => option.selectable !== false && option.value === this.value) ??\n this.optionsFallback?.find((option) => option.value === this.value)\n const optionLabel = option?.selectable !== false && option?.label\n\n this.updateDisplayValue(optionLabel || this.value)\n\n if (this.open) {\n this.activeIndex = this.getInitialActiveIndex(options)\n }\n\n if (this._selectedOption && this._selectedOption.value !== this.value) {\n this._selectedOption = undefined\n }\n }\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.controlTrait.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.controlTrait.controlId}\"\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.controlTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n aria-required=${this.required ? 'true' : nothing}\n autocomplete=\"off\"\n spellcheck=\"false\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${this.displayValue}\n @keydown=${this.onInputKeyDown}\n @focus=${this.onInputFocus}\n @click=${this.onInputClick}\n @input=${() => this.selectOnly ? this.updateDisplayValue(this.controlElement?.value ?? '') : this.controlTrait.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.controlTrait.labelId : nothing}\n aria-label=${this.label ? nothing : accessibleName}\n ?hidden=${!this.open}\n @mousedown=${this.onListboxMouseDown}\n >\n ${options.map((option, index) => {\n return option.selectable !== false\n ? html`<div\n id=${this.getOptionId(index)}\n role=\"option\"\n aria-selected=${option.value === this.value ? 'true' : 'false'}\n data-active=${index === this.activeIndex || nothing}\n @mousemove=${() => this.setActiveIndex(index)}\n >\n ${option.template ?? option.label}\n </div>`\n : html`<div class=\"non-selectable-option\">${option.template ?? option.label}</div>`\n })}\n </div>\n </wa-popup>\n `\n }\n\n private getFilteredOptions (): ComboboxOptionData[] {\n if (this.asyncOptionsTask) {\n return this.asyncOptionsTask.render({\n initial: () => this.optionsFallback ?? [],\n complete: (options) => options,\n pending: () => [\n {\n value: '',\n label: 'Loading...',\n template: html`<icon-svg-spinners-3-dots-fade></icon-svg-spinners-3-dots-fade>`,\n selectable: false\n } as const,\n ],\n error: (error) => {\n const isError = !(error instanceof AsyncOptionsInfo)\n const message = Object(error).message ?? 'Something went wrong'\n\n return [\n {\n value: '',\n label: message,\n template: html`<span class=\"message message--${isError ? 'error' : 'info'}\">${message}</span>`,\n selectable: false\n } as const,\n ]\n },\n })\n }\n\n return this.getOptionsFromDOM().filter((option) =>\n String(option.label).toLowerCase().includes(this.filter)\n )\n }\n\n private getOptionsFromDOM (): 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 updateDisplayValue (value: unknown) {\n this.displayValue = value ? String(value) : ''\n\n if (this.open) {\n const filter = this.displayValue.toLowerCase()\n\n if (this.asyncOptionsTask) {\n this.updateDebouncedFilter(filter)\n } else {\n this.filter = filter\n }\n }\n }\n\n private updateAsyncOptionsTask () {\n if (!this.asyncOptionsUrl && !this.asyncOptionsProvider) {\n this.asyncOptionsTask = undefined\n\n return\n }\n\n this.asyncOptionsTask ??= new Task(\n this,\n async ([filter]) => {\n if (this.asyncOptionsProvider) {\n const results = await this.asyncOptionsProvider(filter)\n\n if (results.length === 0) {\n throw new AsyncOptionsInfo('No results found')\n }\n\n return results\n }\n\n const response = await fetch(\n this.asyncOptionsUrl.replace('%search%', encodeURIComponent(filter))\n )\n const data = await response.json()\n const results = Array.from(\n this.asyncOptionsResultsField\n ? data[this.asyncOptionsResultsField]\n : data\n )\n\n if (results.length === 0) {\n throw new AsyncOptionsInfo('No results found')\n }\n\n const labelField = this.asyncOptionsLabelField || 'label'\n const valueField = this.asyncOptionsValueField || 'value'\n\n return results.map((result) => ({\n label: String(Object(result)[labelField]),\n value: Object(result)[valueField],\n }))\n },\n () => [this.filter]\n )\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 this.updateDebouncedFilter.cancel()\n }\n\n private selectOption (option: ComboboxOptionData) {\n const previousValue = this.value\n\n this._selectedOption = option\n\n this.hide()\n this.controlTrait.setValue(option.value)\n this.controlElement?.focus({ preventScroll: true })\n this.dispatchEvent(new CustomEvent('change', { bubbles: true, composed: true, detail: { option } }))\n\n if (previousValue === this.value) {\n this.updateDisplayValue(option.label)\n }\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 if (event.target === this.controlElement) {\n return\n }\n\n event.preventDefault()\n this.controlElement?.focus({ preventScroll: true })\n }\n\n private onInputFocus () {\n this.show()\n }\n\n private onInputClick () {\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])\n } else if (!this.open) {\n event.preventDefault()\n this.controlTrait.onSubmit()\n }\n break\n case 'Escape':\n if (this.open) {\n event.preventDefault()\n event.stopPropagation()\n this.hide()\n this.controlElement?.focus({ preventScroll: true })\n }\n break\n case 'Tab':\n this.hide()\n break\n default:\n if (!this.open) {\n this.show()\n }\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)\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { css as e } from "lit";
|
|
2
|
-
|
|
2
|
+
// src/components/combobox/Combobox.styles.css
|
|
3
3
|
var t = e`:host{--solid-ui-input-border-color:var(--solid-ui-color-gray-400);flex-direction:column;align-items:flex-start;gap:5px;display:inline-flex}:host label{color:var(--solid-ui-color-gray-600);font-size:var(--solid-ui-font-size-sm);font-weight:400}:host wa-popup{width:100%;display:block}:host wa-popup::part(popup){border:1px solid var(--solid-ui-color-gray-100);background:#fff;border-radius:5px;padding:4px;overflow:hidden;box-shadow:0 4px 16px #00000059}:host .input-wrapper{width:100%;position:relative}:host .input-wrapper input{border:1px solid var(--solid-ui-input-border-color);border-radius:5px;width:100%;padding:10px 40px 10px 10px}:host .input-wrapper input:focus-visible{outline:var(--focus-indicator-width,2px) solid var(--color-primary,var(--solid-ui-color-primary,#7c4dff));outline-offset:2px;box-shadow:0 0 0 1px var(--color-background,#f8f9fb), 0 0 0 4px #7c4dff33;transition:none}:host .input-wrapper icon-lucide-chevron-down{color:var(--solid-ui-color-gray-500);width:var(--solid-ui-font-size-lg);height:var(--solid-ui-font-size-lg);pointer-events:none;position:absolute;top:50%;right:15px;transform:translateY(-50%)}:host .listbox{max-height:min(28rem, calc(100dvh - 6rem), var(--auto-size-available-height,28rem));overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;gap:2px;display:flex;overflow:hidden auto}:host .listbox::-webkit-scrollbar{width:4px}:host .listbox [role=option],:host .listbox .non-selectable-option{color:var(--solid-ui-color-gray-700);border-radius:5px;padding:12px 8px}:host .listbox [role=option]{cursor:pointer}:host .listbox [role=option]:hover,:host .listbox [role=option][data-active]{background:var(--solid-ui-color-primary-hover)}:host .listbox [role=option][aria-selected=true]{background:var(--solid-ui-color-primary-selected)}:host .listbox .non-selectable-option{justify-content:center;align-items:center;display:flex}:host .listbox .non-selectable-option icon-svg-spinners-3-dots-fade{width:2rem}:host .listbox .non-selectable-option .message--error{color:var(--solid-ui-color-error)}`;
|
|
4
|
-
//#endregion
|
|
5
4
|
export { t as default };
|
|
6
5
|
|
|
7
6
|
//# sourceMappingURL=Combobox.styles.esm.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import e, { defineAsyncComboboxOptionsProvider as t } from "./Combobox.esm.js";
|
|
2
|
-
|
|
2
|
+
// src/components/combobox/index.ts
|
|
3
3
|
var n = e;
|
|
4
|
-
//#endregion
|
|
5
4
|
export { e as Combobox, n as default, t as defineAsyncComboboxOptionsProvider };
|
|
6
5
|
|
|
7
6
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -3,7 +3,7 @@ import t from "../../lib/components/web-component/WebComponent.esm.js";
|
|
|
3
3
|
import "../../lib/components/index.esm.js";
|
|
4
4
|
import { html as n, nothing as r } from "lit";
|
|
5
5
|
import { property as i } from "lit/decorators.js";
|
|
6
|
-
|
|
6
|
+
// src/components/combobox-option/ComboboxOption.ts
|
|
7
7
|
var a, o, s, c, l, u, d;
|
|
8
8
|
function f(e, t, n) {
|
|
9
9
|
p(e, t), t.set(e, n);
|
|
@@ -188,7 +188,6 @@ d = (l = i({
|
|
|
188
188
|
1,
|
|
189
189
|
"value"
|
|
190
190
|
]], c, 0, void 0, t), s();
|
|
191
|
-
//#endregion
|
|
192
191
|
export { S as default };
|
|
193
192
|
|
|
194
193
|
//# sourceMappingURL=ComboboxOption.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as ComboboxOption, t as default } from "../chunks/combobox-option-
|
|
1
|
+
export { n as ComboboxOption, t as default } from "../chunks/combobox-option-DOtGuKel.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as Combobox, t as default, r as defineAsyncComboboxOptionsProvider } from "../chunks/combobox-
|
|
1
|
+
export { n as Combobox, t as default, r as defineAsyncComboboxOptionsProvider } from "../chunks/combobox-fSTp9qoT.js";
|
|
@@ -10,7 +10,7 @@ import a from "./Dialog.styles.esm.js";
|
|
|
10
10
|
import { consume as o } from "@lit/context";
|
|
11
11
|
import { html as s, nothing as c } from "lit";
|
|
12
12
|
import { property as l, query as u } from "lit/decorators.js";
|
|
13
|
-
|
|
13
|
+
// src/components/dialog/Dialog.ts
|
|
14
14
|
var d, f, p, m, h, g, _, v, y, b, x, S, C, w, T, E;
|
|
15
15
|
function D(e, t, n) {
|
|
16
16
|
O(e, t), t.set(e, n);
|
|
@@ -259,7 +259,6 @@ new (T = (p = /*#__PURE__*/ new WeakMap(), m = /*#__PURE__*/ new WeakMap(), h =
|
|
|
259
259
|
super(z), M(this, "styles", a), _();
|
|
260
260
|
}
|
|
261
261
|
}, M(d, T, void 0), d)();
|
|
262
|
-
//#endregion
|
|
263
262
|
export { z as default };
|
|
264
263
|
|
|
265
264
|
//# sourceMappingURL=Dialog.esm.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { css as e } from "lit";
|
|
2
|
-
|
|
2
|
+
// src/components/dialog/Dialog.styles.css
|
|
3
3
|
var t = e`dialog{border-radius:5px;min-width:343px;margin:auto;box-shadow:0 4px 16px #00000059}dialog solid-ui-dialog-header solid-ui-button{color:var(--solid-ui-color-gray-600)}dialog:not([open]){display:none}`;
|
|
4
|
-
//#endregion
|
|
5
4
|
export { t as default };
|
|
6
5
|
|
|
7
6
|
//# sourceMappingURL=Dialog.styles.esm.js.map
|
|
@@ -2,7 +2,7 @@ import { customElement as e } from "../../lib/components/decorators.esm.js";
|
|
|
2
2
|
import t from "../../lib/components/web-component/WebComponent.esm.js";
|
|
3
3
|
import "../../lib/components/index.esm.js";
|
|
4
4
|
import n from "./DialogContent.styles.esm.js";
|
|
5
|
-
|
|
5
|
+
// src/components/dialog-content/DialogContent.ts
|
|
6
6
|
var r, i, a, o, s;
|
|
7
7
|
function c(e, t, n) {
|
|
8
8
|
return (t = u(t)) in e ? Object.defineProperty(e, t, {
|
|
@@ -166,7 +166,6 @@ new (s = (i = class extends t {}, [h, a] = l(i, [], o, 0, void 0, t).c, i), r =
|
|
|
166
166
|
super(h), c(this, "styles", n), a();
|
|
167
167
|
}
|
|
168
168
|
}, c(r, s, void 0), r)();
|
|
169
|
-
//#endregion
|
|
170
169
|
export { h as default };
|
|
171
170
|
|
|
172
171
|
//# sourceMappingURL=DialogContent.esm.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { css as e } from "lit";
|
|
2
|
-
|
|
2
|
+
// src/components/dialog-content/DialogContent.styles.css
|
|
3
3
|
var t = e`:host{flex-direction:column;gap:15px;padding:15px;display:flex}`;
|
|
4
|
-
//#endregion
|
|
5
4
|
export { t as default };
|
|
6
5
|
|
|
7
6
|
//# sourceMappingURL=DialogContent.styles.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as DialogContent, t as default } from "../chunks/dialog-content-
|
|
1
|
+
export { n as DialogContent, t as default } from "../chunks/dialog-content-DjwRH1ci.js";
|
|
@@ -2,7 +2,7 @@ import { customElement as e } from "../../lib/components/decorators.esm.js";
|
|
|
2
2
|
import t from "../../lib/components/web-component/WebComponent.esm.js";
|
|
3
3
|
import "../../lib/components/index.esm.js";
|
|
4
4
|
import n from "./DialogFooter.styles.esm.js";
|
|
5
|
-
|
|
5
|
+
// src/components/dialog-footer/DialogFooter.ts
|
|
6
6
|
var r, i, a, o, s;
|
|
7
7
|
function c(e, t, n) {
|
|
8
8
|
return (t = u(t)) in e ? Object.defineProperty(e, t, {
|
|
@@ -166,7 +166,6 @@ new (s = (i = class extends t {}, [h, a] = l(i, [], o, 0, void 0, t).c, i), r =
|
|
|
166
166
|
super(h), c(this, "styles", n), a();
|
|
167
167
|
}
|
|
168
168
|
}, c(r, s, void 0), r)();
|
|
169
|
-
//#endregion
|
|
170
169
|
export { h as default };
|
|
171
170
|
|
|
172
171
|
//# sourceMappingURL=DialogFooter.esm.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { css as e } from "lit";
|
|
2
|
-
|
|
2
|
+
// src/components/dialog-footer/DialogFooter.styles.css
|
|
3
3
|
var t = e`:host{border-top:1px solid var(--solid-ui-color-slate-200);justify-content:space-between;align-items:center;gap:15px;padding:15px;display:flex}`;
|
|
4
|
-
//#endregion
|
|
5
4
|
export { t as default };
|
|
6
5
|
|
|
7
6
|
//# sourceMappingURL=DialogFooter.styles.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as DialogFooter, t as default } from "../chunks/dialog-footer-
|
|
1
|
+
export { n as DialogFooter, t as default } from "../chunks/dialog-footer-GQWi8lfB.js";
|
|
@@ -2,7 +2,7 @@ import { customElement as e } from "../../lib/components/decorators.esm.js";
|
|
|
2
2
|
import t from "../../lib/components/web-component/WebComponent.esm.js";
|
|
3
3
|
import "../../lib/components/index.esm.js";
|
|
4
4
|
import n from "./DialogHeader.styles.esm.js";
|
|
5
|
-
|
|
5
|
+
// src/components/dialog-header/DialogHeader.ts
|
|
6
6
|
var r, i, a, o, s;
|
|
7
7
|
function c(e, t, n) {
|
|
8
8
|
return (t = u(t)) in e ? Object.defineProperty(e, t, {
|
|
@@ -166,7 +166,6 @@ new (s = (i = class extends t {}, [h, a] = l(i, [], o, 0, void 0, t).c, i), r =
|
|
|
166
166
|
super(h), c(this, "styles", n), a();
|
|
167
167
|
}
|
|
168
168
|
}, c(r, s, void 0), r)();
|
|
169
|
-
//#endregion
|
|
170
169
|
export { h as default };
|
|
171
170
|
|
|
172
171
|
//# sourceMappingURL=DialogHeader.esm.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { css as e } from "lit";
|
|
2
|
-
|
|
2
|
+
// src/components/dialog-header/DialogHeader.styles.css
|
|
3
3
|
var t = e`:host{background:var(--solid-ui-color-slate-50);border-bottom:1px solid var(--solid-ui-color-slate-200);font-size:var(--solid-ui-font-size-lg);justify-content:space-between;align-items:center;gap:15px;padding:15px;font-weight:500;display:flex}`;
|
|
4
|
-
//#endregion
|
|
5
4
|
export { t as default };
|
|
6
5
|
|
|
7
6
|
//# sourceMappingURL=DialogHeader.styles.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { n as DialogHeader, t as default } from "../chunks/dialog-header-
|
|
1
|
+
export { n as DialogHeader, t as default } from "../chunks/dialog-header-c3qOMQfb.js";
|