solid-ui 3.1.3-1 → 3.1.3-10
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/README.md +4 -4
- package/dist/_virtual/~icons/app/solid-emblem.cjs.js +3 -0
- package/dist/_virtual/~icons/app/solid-emblem.cjs.js.map +1 -0
- package/dist/_virtual/~icons/app/solid-emblem.esm.js +11 -0
- package/dist/_virtual/~icons/app/solid-emblem.esm.js.map +1 -0
- package/dist/_virtual/~icons/lucide/chevron-down.cjs.js +1 -1
- package/dist/_virtual/~icons/lucide/chevron-down.esm.js +1 -0
- package/dist/_virtual/~icons/lucide/circle-user.cjs.js +1 -1
- package/dist/_virtual/~icons/lucide/circle-user.esm.js +1 -0
- package/dist/_virtual/~icons/lucide/log-in.cjs.js +1 -1
- package/dist/_virtual/~icons/lucide/log-in.esm.js +1 -0
- package/dist/_virtual/~icons/lucide/log-out.cjs.js +1 -1
- package/dist/_virtual/~icons/lucide/log-out.esm.js +1 -0
- package/dist/_virtual/~icons/lucide/user.cjs.js +1 -1
- package/dist/_virtual/~icons/lucide/user.esm.js +1 -0
- package/dist/_virtual/~icons/lucide/x.cjs.js +1 -1
- package/dist/_virtual/~icons/lucide/x.esm.js +1 -0
- package/dist/_virtual/~icons/svg-spinners/180-ring.cjs.js +1 -1
- package/dist/_virtual/~icons/svg-spinners/180-ring.esm.js +1 -0
- package/dist/acl/access-controller.cjs.js +1 -1
- package/dist/acl/access-controller.cjs.js.map +1 -1
- package/dist/acl/access-controller.esm.js.map +1 -1
- package/dist/acl/access-groups.cjs.js.map +1 -1
- package/dist/acl/access-groups.esm.js.map +1 -1
- package/dist/acl/acl-control.cjs.js +1 -1
- package/dist/acl/acl-control.cjs.js.map +1 -1
- package/dist/acl/acl-control.esm.js +1 -1
- package/dist/acl/acl-control.esm.js.map +1 -1
- package/dist/acl/acl.cjs.js.map +1 -1
- package/dist/acl/acl.esm.js.map +1 -1
- package/dist/acl/add-agent-buttons.cjs.js.map +1 -1
- package/dist/acl/add-agent-buttons.esm.js.map +1 -1
- package/dist/breakpoints.css +1 -0
- package/dist/breakpoints.css.d.ts +1 -0
- package/dist/chat/bookmarks.cjs.js +1 -1
- package/dist/chat/bookmarks.cjs.js.map +1 -1
- package/dist/chat/bookmarks.esm.js +1 -1
- package/dist/chat/bookmarks.esm.js.map +1 -1
- package/dist/chat/chatLogic.cjs.js.map +1 -1
- package/dist/chat/chatLogic.esm.js.map +1 -1
- package/dist/chat/dateFolder.cjs.js +1 -1
- package/dist/chat/dateFolder.cjs.js.map +1 -1
- package/dist/chat/dateFolder.esm.js +2 -2
- package/dist/chat/dateFolder.esm.js.map +1 -1
- package/dist/chat/infinite.cjs.js +1 -1
- package/dist/chat/infinite.cjs.js.map +1 -1
- package/dist/chat/infinite.esm.js +1 -1
- package/dist/chat/infinite.esm.js.map +1 -1
- package/dist/chat/keys.cjs.js +1 -1
- package/dist/chat/keys.cjs.js.map +1 -1
- package/dist/chat/keys.esm.js +1 -1
- package/dist/chat/keys.esm.js.map +1 -1
- package/dist/chat/message.cjs.js +1 -1
- package/dist/chat/message.cjs.js.map +1 -1
- package/dist/chat/message.esm.js +29 -27
- package/dist/chat/message.esm.js.map +1 -1
- package/dist/chat/messageTools.cjs.js.map +1 -1
- package/dist/chat/messageTools.esm.js.map +1 -1
- package/dist/chat/signature.cjs.js +1 -1
- package/dist/chat/signature.cjs.js.map +1 -1
- package/dist/chat/signature.esm.js +1 -1
- package/dist/chunks/DialogProvider-CrvbR_fd.js +319 -0
- package/dist/chunks/DialogProvider-CrvbR_fd.js.map +1 -0
- package/dist/chunks/account-Ma2Ipfjx.js +292 -0
- package/dist/chunks/account-Ma2Ipfjx.js.map +1 -0
- package/dist/chunks/auth-BI22fz6P.js +414 -0
- package/dist/chunks/auth-BI22fz6P.js.map +1 -0
- package/dist/chunks/avatar-DN7FzC2N.js +223 -0
- package/dist/chunks/avatar-DN7FzC2N.js.map +1 -0
- package/dist/chunks/button-DHahwxqn.js +286 -0
- package/dist/chunks/button-DHahwxqn.js.map +1 -0
- package/dist/chunks/chevron-down-ujxRg3MD.js +10 -0
- package/dist/chunks/chevron-down-ujxRg3MD.js.map +1 -0
- package/dist/chunks/chunk.7MPIABXH-CEYdxYyt.js +1495 -0
- package/dist/chunks/chunk.7MPIABXH-CEYdxYyt.js.map +1 -0
- package/dist/chunks/close-dialog-DfAh83bX.js +14 -0
- package/dist/chunks/close-dialog-DfAh83bX.js.map +1 -0
- package/dist/chunks/combobox-BWOPh9dj.js +474 -0
- package/dist/chunks/combobox-BWOPh9dj.js.map +1 -0
- package/dist/chunks/combobox-option-DB6KGb7o.js +195 -0
- package/dist/chunks/combobox-option-DB6KGb7o.js.map +1 -0
- package/dist/chunks/components-DH1slGZY.js +107 -0
- package/dist/chunks/components-DH1slGZY.js.map +1 -0
- package/dist/chunks/context-CA1Kq0FW.js +22 -0
- package/dist/chunks/context-CA1Kq0FW.js.map +1 -0
- package/dist/chunks/decorators-BqWyWiL9.js +50 -0
- package/dist/chunks/decorators-BqWyWiL9.js.map +1 -0
- package/dist/chunks/dialog-YaqTwAtR.js +325 -0
- package/dist/chunks/dialog-YaqTwAtR.js.map +1 -0
- package/dist/chunks/dialog-content-B3I3H7hj.js +173 -0
- package/dist/chunks/dialog-content-B3I3H7hj.js.map +1 -0
- package/dist/chunks/dialog-footer-BjcYeVhg.js +173 -0
- package/dist/chunks/dialog-footer-BjcYeVhg.js.map +1 -0
- package/dist/chunks/dialog-header-BynEzovK.js +173 -0
- package/dist/chunks/dialog-header-BynEzovK.js.map +1 -0
- package/dist/chunks/dialogs-root-B61LtZks.js +211 -0
- package/dist/chunks/dialogs-root-B61LtZks.js.map +1 -0
- package/dist/chunks/footer-BLSjn5ur.js +144 -0
- package/dist/chunks/footer-BLSjn5ur.js.map +1 -0
- package/dist/chunks/guard-YhbCPY-V.js +200 -0
- package/dist/chunks/guard-YhbCPY-V.js.map +1 -0
- package/dist/chunks/headerFooterHelpers-CPd5d20q.js +52 -0
- package/dist/chunks/headerFooterHelpers-CPd5d20q.js.map +1 -0
- package/dist/chunks/input-CVKu3XRI.js +312 -0
- package/dist/chunks/input-CVKu3XRI.js.map +1 -0
- package/dist/chunks/jsonld-B61R4iOL.js +4156 -0
- package/dist/chunks/jsonld-B61R4iOL.js.map +1 -0
- package/dist/chunks/lit-C4H1jI4q.js +527 -0
- package/dist/chunks/lit-C4H1jI4q.js.map +1 -0
- package/dist/chunks/login-button-76PlEs2Y.js +211 -0
- package/dist/chunks/login-button-76PlEs2Y.js.map +1 -0
- package/dist/chunks/logout-button-Dt3Utgj0.js +211 -0
- package/dist/chunks/logout-button-Dt3Utgj0.js.map +1 -0
- package/dist/chunks/menu-6ayNsxFG.js +2309 -0
- package/dist/chunks/menu-6ayNsxFG.js.map +1 -0
- package/dist/chunks/menu-item-Ckl9f1rG.js +236 -0
- package/dist/chunks/menu-item-Ckl9f1rG.js.map +1 -0
- package/dist/chunks/photo-capture-DzK6wZF4.js +624 -0
- package/dist/chunks/photo-capture-DzK6wZF4.js.map +1 -0
- package/dist/chunks/provider-BfO67dzy.js +214 -0
- package/dist/chunks/provider-BfO67dzy.js.map +1 -0
- package/dist/chunks/query-BYu9q8lA.js +33 -0
- package/dist/chunks/query-BYu9q8lA.js.map +1 -0
- package/dist/chunks/rolldown-runtime-B1bRi_D7.js +27 -0
- package/dist/chunks/select-DHFgELMJ.js +293 -0
- package/dist/chunks/select-DHFgELMJ.js.map +1 -0
- package/dist/chunks/select-option-Duk4S4Sc.js +195 -0
- package/dist/chunks/select-option-Duk4S4Sc.js.map +1 -0
- package/dist/chunks/show-dialog-eEW5yRBv.js +14 -0
- package/dist/chunks/show-dialog-eEW5yRBv.js.map +1 -0
- package/dist/chunks/signup-button-B10K6b8A.js +211 -0
- package/dist/chunks/signup-button-B10K6b8A.js.map +1 -0
- package/dist/chunks/solid-emblem-DgBJk5Th.js +185 -0
- package/dist/chunks/solid-emblem-DgBJk5Th.js.map +1 -0
- package/dist/chunks/solid-logic.esm-BrMdCG2_.js +16277 -0
- package/dist/chunks/solid-logic.esm-BrMdCG2_.js.map +1 -0
- package/dist/chunks/src-CdZhCYdF.js +16003 -0
- package/dist/chunks/src-CdZhCYdF.js.map +1 -0
- package/dist/components/account/Account.cjs.js +34 -0
- package/dist/components/account/Account.cjs.js.map +1 -0
- package/dist/components/account/Account.d.ts +20 -0
- package/dist/components/account/Account.d.ts.map +1 -0
- package/dist/components/account/Account.esm.js +272 -0
- package/dist/components/account/Account.esm.js.map +1 -0
- package/dist/components/account/Account.stories.d.ts +28 -0
- package/dist/components/account/Account.stories.d.ts.map +1 -0
- package/dist/components/account/Account.styles.cjs.js +2 -0
- package/dist/components/account/Account.styles.cjs.js.map +1 -0
- package/dist/components/account/Account.styles.esm.js +7 -0
- package/dist/components/account/Account.styles.esm.js.map +1 -0
- package/dist/components/account/index.cjs.js +2 -0
- package/dist/components/account/index.cjs.js.map +1 -0
- package/dist/components/account/index.d.ts +4 -0
- package/dist/components/account/index.d.ts.map +1 -0
- package/dist/components/account/index.esm.js +7 -0
- package/dist/components/account/index.esm.js.map +1 -0
- package/dist/components/account.js +2 -0
- package/dist/components/avatar/Avatar.cjs.js +6 -0
- package/dist/components/avatar/Avatar.cjs.js.map +1 -0
- package/dist/components/avatar/Avatar.d.ts +10 -0
- package/dist/components/avatar/Avatar.d.ts.map +1 -0
- package/dist/components/avatar/Avatar.esm.js +217 -0
- package/dist/components/avatar/Avatar.esm.js.map +1 -0
- package/dist/components/avatar/Avatar.stories.d.ts +44 -0
- package/dist/components/avatar/Avatar.stories.d.ts.map +1 -0
- package/dist/components/avatar/Avatar.styles.cjs.js +2 -0
- package/dist/components/avatar/Avatar.styles.cjs.js.map +1 -0
- package/dist/components/avatar/Avatar.styles.esm.js +7 -0
- package/dist/components/avatar/Avatar.styles.esm.js.map +1 -0
- package/dist/components/avatar/index.cjs.js +2 -0
- package/dist/components/avatar/index.cjs.js.map +1 -0
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/avatar/index.esm.js +7 -0
- package/dist/components/avatar/index.esm.js.map +1 -0
- package/dist/components/avatar.js +2 -0
- package/dist/components/button/Button.cjs.js +10 -0
- package/dist/components/button/Button.cjs.js.map +1 -0
- package/dist/components/button/Button.d.ts +15 -0
- package/dist/components/button/Button.d.ts.map +1 -0
- package/dist/components/button/Button.esm.js +279 -0
- package/dist/components/button/Button.esm.js.map +1 -0
- package/dist/components/button/Button.stories.d.ts +224 -0
- package/dist/components/button/Button.stories.d.ts.map +1 -0
- package/dist/components/button/Button.styles.cjs.js +2 -0
- package/dist/components/button/Button.styles.cjs.js.map +1 -0
- package/dist/components/button/Button.styles.esm.js +7 -0
- package/dist/components/button/Button.styles.esm.js.map +1 -0
- package/dist/components/button/index.cjs.js +2 -1
- package/dist/components/button/index.cjs.js.map +1 -0
- package/dist/components/button/index.d.ts +3 -1
- package/dist/components/button/index.d.ts.map +1 -1
- package/dist/components/button/index.esm.js +7 -3
- package/dist/components/button/index.esm.js.map +1 -0
- package/dist/components/button.js +2 -2
- package/dist/components/combobox/Combobox.cjs.js +59 -0
- package/dist/components/combobox/Combobox.cjs.js.map +1 -0
- package/dist/components/combobox/Combobox.d.ts +40 -0
- package/dist/components/combobox/Combobox.d.ts.map +1 -0
- package/dist/components/combobox/Combobox.esm.js +474 -0
- package/dist/components/combobox/Combobox.esm.js.map +1 -0
- package/dist/components/combobox/Combobox.stories.d.ts +27 -0
- package/dist/components/combobox/Combobox.stories.d.ts.map +1 -0
- package/dist/components/combobox/Combobox.styles.cjs.js +2 -0
- package/dist/components/combobox/Combobox.styles.cjs.js.map +1 -0
- package/dist/components/combobox/Combobox.styles.esm.js +7 -0
- package/dist/components/combobox/Combobox.styles.esm.js.map +1 -0
- package/dist/components/combobox/index.cjs.js +2 -1
- package/dist/components/combobox/index.cjs.js.map +1 -0
- package/dist/components/combobox/index.d.ts +3 -1
- package/dist/components/combobox/index.d.ts.map +1 -1
- package/dist/components/combobox/index.esm.js +7 -3
- package/dist/components/combobox/index.esm.js.map +1 -0
- package/dist/components/combobox-option/ComboboxOption.cjs.js +2 -0
- package/dist/components/combobox-option/ComboboxOption.cjs.js.map +1 -0
- package/dist/components/combobox-option/ComboboxOption.d.ts +6 -0
- package/dist/components/combobox-option/ComboboxOption.d.ts.map +1 -0
- package/dist/components/combobox-option/ComboboxOption.esm.js +194 -0
- package/dist/components/combobox-option/ComboboxOption.esm.js.map +1 -0
- package/dist/components/combobox-option/index.cjs.js +2 -0
- package/dist/components/combobox-option/index.cjs.js.map +1 -0
- package/dist/components/combobox-option/index.d.ts.map +1 -0
- package/dist/components/combobox-option/index.esm.js +7 -0
- package/dist/components/combobox-option/index.esm.js.map +1 -0
- package/dist/components/combobox-option.js +2 -0
- package/dist/components/combobox.js +2 -2
- package/dist/components/dialog/Dialog.cjs.js +17 -0
- package/dist/components/dialog/Dialog.cjs.js.map +1 -0
- package/dist/components/dialog/Dialog.d.ts +13 -0
- package/dist/components/dialog/Dialog.d.ts.map +1 -0
- package/dist/components/dialog/Dialog.esm.js +264 -0
- package/dist/components/dialog/Dialog.esm.js.map +1 -0
- package/dist/components/dialog/Dialog.styles.cjs.js +2 -0
- package/dist/components/dialog/Dialog.styles.cjs.js.map +1 -0
- package/dist/components/dialog/Dialog.styles.esm.js +7 -0
- package/dist/components/dialog/Dialog.styles.esm.js.map +1 -0
- package/dist/components/dialog/index.cjs.js +2 -0
- package/dist/components/dialog/index.cjs.js.map +1 -0
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.esm.js +7 -0
- package/dist/components/dialog/index.esm.js.map +1 -0
- package/dist/components/dialog-content/DialogContent.cjs.js +2 -0
- package/dist/components/dialog-content/DialogContent.cjs.js.map +1 -0
- package/dist/components/dialog-content/DialogContent.d.ts +5 -0
- package/dist/components/dialog-content/DialogContent.d.ts.map +1 -0
- package/dist/components/dialog-content/DialogContent.esm.js +172 -0
- package/dist/components/dialog-content/DialogContent.esm.js.map +1 -0
- package/dist/components/dialog-content/DialogContent.styles.cjs.js +2 -0
- package/dist/components/dialog-content/DialogContent.styles.cjs.js.map +1 -0
- package/dist/components/dialog-content/DialogContent.styles.esm.js +7 -0
- package/dist/components/dialog-content/DialogContent.styles.esm.js.map +1 -0
- package/dist/components/dialog-content/index.cjs.js +2 -0
- package/dist/components/dialog-content/index.cjs.js.map +1 -0
- package/dist/components/dialog-content/index.d.ts.map +1 -0
- package/dist/components/dialog-content/index.esm.js +7 -0
- package/dist/components/dialog-content/index.esm.js.map +1 -0
- package/dist/components/dialog-content.js +2 -0
- package/dist/components/dialog-footer/DialogFooter.cjs.js +2 -0
- package/dist/components/dialog-footer/DialogFooter.cjs.js.map +1 -0
- package/dist/components/dialog-footer/DialogFooter.d.ts +5 -0
- package/dist/components/dialog-footer/DialogFooter.d.ts.map +1 -0
- package/dist/components/dialog-footer/DialogFooter.esm.js +172 -0
- package/dist/components/dialog-footer/DialogFooter.esm.js.map +1 -0
- package/dist/components/dialog-footer/DialogFooter.styles.cjs.js +2 -0
- package/dist/components/dialog-footer/DialogFooter.styles.cjs.js.map +1 -0
- package/dist/components/dialog-footer/DialogFooter.styles.esm.js +7 -0
- package/dist/components/dialog-footer/DialogFooter.styles.esm.js.map +1 -0
- package/dist/components/dialog-footer/index.cjs.js +2 -0
- package/dist/components/dialog-footer/index.cjs.js.map +1 -0
- package/dist/components/dialog-footer/index.d.ts.map +1 -0
- package/dist/components/dialog-footer/index.esm.js +7 -0
- package/dist/components/dialog-footer/index.esm.js.map +1 -0
- package/dist/components/dialog-footer.js +2 -0
- package/dist/components/dialog-header/DialogHeader.cjs.js +2 -0
- package/dist/components/dialog-header/DialogHeader.cjs.js.map +1 -0
- package/dist/components/dialog-header/DialogHeader.d.ts +5 -0
- package/dist/components/dialog-header/DialogHeader.d.ts.map +1 -0
- package/dist/components/dialog-header/DialogHeader.esm.js +172 -0
- package/dist/components/dialog-header/DialogHeader.esm.js.map +1 -0
- package/dist/components/dialog-header/DialogHeader.styles.cjs.js +2 -0
- package/dist/components/dialog-header/DialogHeader.styles.cjs.js.map +1 -0
- package/dist/components/dialog-header/DialogHeader.styles.esm.js +7 -0
- package/dist/components/dialog-header/DialogHeader.styles.esm.js.map +1 -0
- package/dist/components/dialog-header/index.cjs.js +2 -0
- package/dist/components/dialog-header/index.cjs.js.map +1 -0
- package/dist/components/dialog-header/index.d.ts.map +1 -0
- package/dist/components/dialog-header/index.esm.js +7 -0
- package/dist/components/dialog-header/index.esm.js.map +1 -0
- package/dist/components/dialog-header.js +2 -0
- package/dist/components/dialog-provider/DialogProvider.cjs.js +2 -0
- package/dist/components/dialog-provider/DialogProvider.cjs.js.map +1 -0
- package/dist/components/dialog-provider/DialogProvider.d.ts +8 -0
- package/dist/components/dialog-provider/DialogProvider.d.ts.map +1 -0
- package/dist/components/dialog-provider/DialogProvider.esm.js +213 -0
- package/dist/components/dialog-provider/DialogProvider.esm.js.map +1 -0
- package/dist/components/dialog-provider/index.cjs.js +2 -0
- package/dist/components/dialog-provider/index.cjs.js.map +1 -0
- package/dist/components/dialog-provider/index.d.ts.map +1 -0
- package/dist/components/dialog-provider/index.esm.js +7 -0
- package/dist/components/dialog-provider/index.esm.js.map +1 -0
- package/dist/components/dialog-provider.js +7 -0
- package/dist/components/dialog-provider.js.map +1 -0
- package/dist/components/dialog.js +2 -0
- package/dist/components/dialogs-root/DialogsRoot.cjs.js +9 -0
- package/dist/components/dialogs-root/DialogsRoot.cjs.js.map +1 -0
- package/dist/components/dialogs-root/DialogsRoot.d.ts +7 -0
- package/dist/components/dialogs-root/DialogsRoot.d.ts.map +1 -0
- package/dist/components/dialogs-root/DialogsRoot.esm.js +210 -0
- package/dist/components/dialogs-root/DialogsRoot.esm.js.map +1 -0
- package/dist/components/dialogs-root/index.cjs.js +2 -0
- package/dist/components/dialogs-root/index.cjs.js.map +1 -0
- package/dist/components/dialogs-root/index.d.ts.map +1 -0
- package/dist/components/dialogs-root/index.esm.js +7 -0
- package/dist/components/dialogs-root/index.esm.js.map +1 -0
- package/dist/components/dialogs-root.js +2 -0
- package/dist/components/footer.js +1 -1
- package/dist/components/guard/Guard.cjs.js +6 -0
- package/dist/components/guard/Guard.cjs.js.map +1 -0
- package/dist/components/guard/Guard.d.ts +6 -0
- package/dist/components/guard/Guard.d.ts.map +1 -0
- package/dist/components/guard/Guard.esm.js +200 -0
- package/dist/components/guard/Guard.esm.js.map +1 -0
- package/dist/components/guard/Guard.stories.d.ts +33 -0
- package/dist/components/guard/Guard.stories.d.ts.map +1 -0
- package/dist/components/guard/index.cjs.js +2 -0
- package/dist/components/guard/index.cjs.js.map +1 -0
- package/dist/components/guard/index.d.ts.map +1 -0
- package/dist/components/guard/index.esm.js +7 -0
- package/dist/components/guard/index.esm.js.map +1 -0
- package/dist/components/guard.js +2 -0
- package/dist/components/index.cjs.js +1 -1
- package/dist/components/index.esm.js +20 -1
- package/dist/components/input/Input.cjs.js +17 -0
- package/dist/components/input/Input.cjs.js.map +1 -0
- package/dist/components/input/Input.d.ts +17 -0
- package/dist/components/input/Input.d.ts.map +1 -0
- package/dist/components/input/Input.esm.js +312 -0
- package/dist/components/input/Input.esm.js.map +1 -0
- package/dist/components/input/Input.stories.d.ts +43 -0
- package/dist/components/input/Input.stories.d.ts.map +1 -0
- package/dist/components/input/Input.styles.cjs.js +2 -0
- package/dist/components/input/Input.styles.cjs.js.map +1 -0
- package/dist/components/input/Input.styles.esm.js +7 -0
- package/dist/components/input/Input.styles.esm.js.map +1 -0
- package/dist/components/input/index.cjs.js +2 -0
- package/dist/components/input/index.cjs.js.map +1 -0
- package/dist/components/input/index.d.ts +4 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/index.esm.js +7 -0
- package/dist/components/input/index.esm.js.map +1 -0
- package/dist/components/input.js +2 -0
- package/dist/components/login-button/LoginButton.cjs.js +10 -0
- package/dist/components/login-button/LoginButton.cjs.js.map +1 -0
- package/dist/components/login-button/LoginButton.d.ts +8 -0
- package/dist/components/login-button/LoginButton.d.ts.map +1 -0
- package/dist/components/login-button/LoginButton.esm.js +211 -0
- package/dist/components/login-button/LoginButton.esm.js.map +1 -0
- package/dist/components/login-button/LoginButton.stories.d.ts +14 -0
- package/dist/components/login-button/LoginButton.stories.d.ts.map +1 -0
- package/dist/components/login-button/index.cjs.js +2 -0
- package/dist/components/login-button/index.cjs.js.map +1 -0
- package/dist/components/login-button/index.d.ts.map +1 -0
- package/dist/components/login-button/index.esm.js +7 -0
- package/dist/components/login-button/index.esm.js.map +1 -0
- package/dist/components/login-button.js +2 -0
- package/dist/components/login-modal/LoginModal.cjs.js +30 -0
- package/dist/components/login-modal/LoginModal.cjs.js.map +1 -0
- package/dist/components/login-modal/LoginModal.d.ts +15 -0
- package/dist/components/login-modal/LoginModal.d.ts.map +1 -0
- package/dist/components/login-modal/LoginModal.esm.js +328 -0
- package/dist/components/login-modal/LoginModal.esm.js.map +1 -0
- package/dist/components/login-modal/LoginModal.stories.d.ts +14 -0
- package/dist/components/login-modal/LoginModal.stories.d.ts.map +1 -0
- package/dist/components/login-modal/LoginModal.styles.cjs.js +2 -0
- package/dist/components/login-modal/LoginModal.styles.cjs.js.map +1 -0
- package/dist/components/login-modal/LoginModal.styles.esm.js +7 -0
- package/dist/components/login-modal/LoginModal.styles.esm.js.map +1 -0
- package/dist/components/login-modal/index.cjs.js +2 -0
- package/dist/components/login-modal/index.cjs.js.map +1 -0
- package/dist/components/login-modal/index.d.ts.map +1 -0
- package/dist/components/login-modal/index.esm.js +7 -0
- package/dist/components/login-modal/index.esm.js.map +1 -0
- package/dist/components/login-modal.js +2 -0
- package/dist/components/logout-button/LogoutButton.cjs.js +10 -0
- package/dist/components/logout-button/LogoutButton.cjs.js.map +1 -0
- package/dist/components/logout-button/LogoutButton.d.ts +8 -0
- package/dist/components/logout-button/LogoutButton.d.ts.map +1 -0
- package/dist/components/logout-button/LogoutButton.esm.js +211 -0
- package/dist/components/logout-button/LogoutButton.esm.js.map +1 -0
- package/dist/components/logout-button/LogoutButton.stories.d.ts +14 -0
- package/dist/components/logout-button/LogoutButton.stories.d.ts.map +1 -0
- package/dist/components/logout-button/index.cjs.js +2 -0
- package/dist/components/logout-button/index.cjs.js.map +1 -0
- package/dist/components/logout-button/index.d.ts.map +1 -0
- package/dist/components/logout-button/index.esm.js +7 -0
- package/dist/components/logout-button/index.esm.js.map +1 -0
- package/dist/components/logout-button.js +2 -0
- package/dist/components/menu/Menu.cjs.js +14 -0
- package/dist/components/menu/Menu.cjs.js.map +1 -0
- package/dist/components/menu/Menu.d.ts +18 -0
- package/dist/components/menu/Menu.d.ts.map +1 -0
- package/dist/components/menu/Menu.esm.js +295 -0
- package/dist/components/menu/Menu.esm.js.map +1 -0
- package/dist/components/menu/Menu.stories.d.ts +8 -0
- package/dist/components/menu/Menu.stories.d.ts.map +1 -0
- package/dist/components/menu/Menu.styles.cjs.js +2 -0
- package/dist/components/menu/Menu.styles.cjs.js.map +1 -0
- package/dist/components/menu/Menu.styles.esm.js +7 -0
- package/dist/components/menu/Menu.styles.esm.js.map +1 -0
- package/dist/components/menu/index.cjs.js +2 -0
- package/dist/components/menu/index.cjs.js.map +1 -0
- package/dist/components/menu/index.d.ts.map +1 -0
- package/dist/components/menu/index.esm.js +7 -0
- package/dist/components/menu/index.esm.js.map +1 -0
- package/dist/components/menu-item/MenuItem.cjs.js +14 -0
- package/dist/components/menu-item/MenuItem.cjs.js.map +1 -0
- package/dist/components/menu-item/MenuItem.d.ts +9 -0
- package/dist/components/menu-item/MenuItem.d.ts.map +1 -0
- package/dist/components/menu-item/MenuItem.esm.js +235 -0
- package/dist/components/menu-item/MenuItem.esm.js.map +1 -0
- package/dist/components/menu-item/MenuItem.styles.cjs.js +2 -0
- package/dist/components/menu-item/MenuItem.styles.cjs.js.map +1 -0
- package/dist/components/menu-item/MenuItem.styles.esm.js +7 -0
- package/dist/components/menu-item/MenuItem.styles.esm.js.map +1 -0
- package/dist/components/menu-item/index.cjs.js +2 -0
- package/dist/components/menu-item/index.cjs.js.map +1 -0
- package/dist/components/menu-item/index.d.ts.map +1 -0
- package/dist/components/menu-item/index.esm.js +7 -0
- package/dist/components/menu-item/index.esm.js.map +1 -0
- package/dist/components/menu-item.js +2 -0
- package/dist/components/menu.js +2 -0
- package/dist/components/photo-capture.js +1 -1
- package/dist/components/provider/Provider.cjs.js +5 -0
- package/dist/components/provider/Provider.cjs.js.map +1 -0
- package/dist/components/provider/Provider.d.ts +8 -0
- package/dist/components/provider/Provider.d.ts.map +1 -0
- package/dist/components/provider/Provider.esm.js +215 -0
- package/dist/components/provider/Provider.esm.js.map +1 -0
- package/dist/components/provider/index.cjs.js +2 -0
- package/dist/components/provider/index.cjs.js.map +1 -0
- package/dist/components/provider/index.d.ts.map +1 -0
- package/dist/components/provider/index.esm.js +7 -0
- package/dist/components/provider/index.esm.js.map +1 -0
- package/dist/components/provider.js +2 -0
- package/dist/components/select/Select.cjs.js +21 -0
- package/dist/components/select/Select.cjs.js.map +1 -0
- package/dist/components/select/Select.d.ts +15 -0
- package/dist/components/select/Select.d.ts.map +1 -0
- package/dist/components/select/Select.esm.js +293 -0
- package/dist/components/select/Select.esm.js.map +1 -0
- package/dist/components/select/Select.stories.d.ts +27 -0
- package/dist/components/select/Select.stories.d.ts.map +1 -0
- package/dist/components/select/Select.styles.cjs.js +2 -0
- package/dist/components/select/Select.styles.cjs.js.map +1 -0
- package/dist/components/select/Select.styles.esm.js +7 -0
- package/dist/components/select/Select.styles.esm.js.map +1 -0
- package/dist/components/select/index.cjs.js +2 -1
- package/dist/components/select/index.cjs.js.map +1 -0
- package/dist/components/select/index.d.ts +3 -1
- package/dist/components/select/index.d.ts.map +1 -1
- package/dist/components/select/index.esm.js +7 -3
- package/dist/components/select/index.esm.js.map +1 -0
- package/dist/components/select-option/SelectOption.cjs.js +2 -0
- package/dist/components/select-option/SelectOption.cjs.js.map +1 -0
- package/dist/components/select-option/SelectOption.d.ts +6 -0
- package/dist/components/select-option/SelectOption.d.ts.map +1 -0
- package/dist/components/select-option/SelectOption.esm.js +194 -0
- package/dist/components/select-option/SelectOption.esm.js.map +1 -0
- package/dist/components/select-option/index.cjs.js +2 -0
- package/dist/components/select-option/index.cjs.js.map +1 -0
- package/dist/components/select-option/index.d.ts +4 -0
- package/dist/components/select-option/index.d.ts.map +1 -0
- package/dist/components/select-option/index.esm.js +7 -0
- package/dist/components/select-option/index.esm.js.map +1 -0
- package/dist/components/select-option.js +2 -0
- package/dist/components/select.js +2 -2
- package/dist/components/signup-button/SignupButton.cjs.js +10 -0
- package/dist/components/signup-button/SignupButton.cjs.js.map +1 -0
- package/dist/components/signup-button/SignupButton.d.ts +8 -0
- package/dist/components/signup-button/SignupButton.d.ts.map +1 -0
- package/dist/components/signup-button/SignupButton.esm.js +211 -0
- package/dist/components/signup-button/SignupButton.esm.js.map +1 -0
- package/dist/components/signup-button/SignupButton.stories.d.ts +14 -0
- package/dist/components/signup-button/SignupButton.stories.d.ts.map +1 -0
- package/dist/components/signup-button/index.cjs.js +2 -0
- package/dist/components/signup-button/index.cjs.js.map +1 -0
- package/dist/components/signup-button/index.d.ts.map +1 -0
- package/dist/components/signup-button/index.esm.js +7 -0
- package/dist/components/signup-button/index.esm.js.map +1 -0
- package/dist/components/signup-button.js +2 -0
- package/dist/components/solid-emblem/SolidEmblem.cjs.js +2 -0
- package/dist/components/solid-emblem/SolidEmblem.cjs.js.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.d.ts +6 -0
- package/dist/components/solid-emblem/SolidEmblem.d.ts.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.esm.js +178 -0
- package/dist/components/solid-emblem/SolidEmblem.esm.js.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js +2 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.cjs.js.map +1 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.esm.js +7 -0
- package/dist/components/solid-emblem/SolidEmblem.styles.esm.js.map +1 -0
- package/dist/components/solid-emblem/index.cjs.js +2 -0
- package/dist/components/solid-emblem/index.cjs.js.map +1 -0
- package/dist/components/solid-emblem/index.d.ts +4 -0
- package/dist/components/solid-emblem/index.d.ts.map +1 -0
- package/dist/components/solid-emblem/index.esm.js +7 -0
- package/dist/components/solid-emblem/index.esm.js.map +1 -0
- package/dist/components/solid-emblem.js +2 -0
- package/dist/components.js +25 -6
- package/dist/create/create.cjs.js.map +1 -1
- package/dist/create/create.esm.js.map +1 -1
- package/dist/create/index.cjs.js.map +1 -1
- package/dist/footer/index.cjs.js +1 -1
- package/dist/footer/index.esm.js +1 -1
- package/dist/header/index.cjs.js +1 -1
- package/dist/header/index.cjs.js.map +1 -1
- package/dist/header/index.esm.js +1 -1
- package/dist/header/index.esm.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +19 -2
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +9 -4
- package/dist/lib/auth/Account.cjs.js +2 -0
- package/dist/lib/auth/Account.cjs.js.map +1 -0
- package/dist/lib/auth/Account.d.ts.map +1 -0
- package/dist/lib/auth/Account.esm.js +12 -0
- package/dist/lib/auth/Account.esm.js.map +1 -0
- package/dist/lib/auth/NoopAuth.cjs.js +2 -0
- package/dist/lib/auth/NoopAuth.cjs.js.map +1 -0
- package/dist/lib/auth/NoopAuth.d.ts.map +1 -0
- package/dist/lib/auth/NoopAuth.esm.js +22 -0
- package/dist/lib/auth/NoopAuth.esm.js.map +1 -0
- package/dist/lib/auth/SolidAuth.cjs.js +2 -0
- package/dist/lib/auth/SolidAuth.cjs.js.map +1 -0
- package/dist/lib/auth/SolidAuth.d.ts +13 -0
- package/dist/lib/auth/SolidAuth.d.ts.map +1 -0
- package/dist/lib/auth/SolidAuth.esm.js +52 -0
- package/dist/lib/auth/SolidAuth.esm.js.map +1 -0
- package/dist/lib/auth/context.cjs.js.map +1 -0
- package/dist/lib/auth/context.d.ts.map +1 -0
- package/dist/lib/auth/context.esm.js +8 -0
- package/dist/lib/auth/context.esm.js.map +1 -0
- package/dist/lib/auth/index.cjs.js +1 -0
- package/dist/lib/auth/index.d.ts +8 -0
- package/dist/lib/auth/index.d.ts.map +1 -0
- package/dist/lib/auth/index.esm.js +5 -0
- package/dist/lib/components/decorators.cjs.js +2 -0
- package/dist/lib/components/decorators.cjs.js.map +1 -0
- package/dist/lib/components/decorators.d.ts +11 -0
- package/dist/lib/components/decorators.d.ts.map +1 -0
- package/dist/lib/components/decorators.esm.js +17 -0
- package/dist/lib/components/decorators.esm.js.map +1 -0
- package/dist/lib/components/ids.cjs.js.map +1 -0
- package/dist/lib/components/ids.d.ts.map +1 -0
- package/dist/lib/components/ids.esm.js +8 -0
- package/dist/lib/components/ids.esm.js.map +1 -0
- package/dist/lib/components/index.cjs.js +1 -0
- package/dist/lib/components/index.d.ts +5 -0
- package/dist/lib/components/index.d.ts.map +1 -0
- package/dist/lib/components/index.esm.js +8 -0
- package/dist/lib/components/traits/DialogTrait.cjs.js +2 -0
- package/dist/lib/components/traits/DialogTrait.cjs.js.map +1 -0
- package/dist/lib/components/traits/DialogTrait.d.ts +13 -0
- package/dist/lib/components/traits/DialogTrait.d.ts.map +1 -0
- package/dist/lib/components/traits/DialogTrait.esm.js +16 -0
- package/dist/lib/components/traits/DialogTrait.esm.js.map +1 -0
- package/dist/lib/components/traits/InputTrait.cjs.js +2 -0
- package/dist/lib/components/traits/InputTrait.cjs.js.map +1 -0
- package/dist/lib/components/traits/InputTrait.d.ts +30 -0
- package/dist/lib/components/traits/InputTrait.d.ts.map +1 -0
- package/dist/lib/components/traits/InputTrait.esm.js +45 -0
- package/dist/lib/components/traits/InputTrait.esm.js.map +1 -0
- package/dist/lib/components/traits/WebComponentTrait.d.ts +11 -0
- package/dist/lib/components/traits/WebComponentTrait.d.ts.map +1 -0
- package/dist/lib/components/traits/index.cjs.js +1 -0
- package/dist/lib/components/traits/index.d.ts +6 -0
- package/dist/lib/components/traits/index.d.ts.map +1 -0
- package/dist/lib/components/traits/index.esm.js +3 -0
- package/dist/lib/components/web-component/WebComponent.cjs.js +2 -0
- package/dist/lib/components/web-component/WebComponent.cjs.js.map +1 -0
- package/dist/lib/components/web-component/WebComponent.d.ts +21 -0
- package/dist/lib/components/web-component/WebComponent.d.ts.map +1 -0
- package/dist/lib/components/web-component/WebComponent.esm.js +53 -0
- package/dist/lib/components/web-component/WebComponent.esm.js.map +1 -0
- package/dist/lib/components/web-component/WebComponent.styles.cjs.js +2 -0
- package/dist/lib/components/web-component/WebComponent.styles.cjs.js.map +1 -0
- package/dist/lib/components/web-component/WebComponent.styles.esm.js +7 -0
- package/dist/lib/components/web-component/WebComponent.styles.esm.js.map +1 -0
- package/dist/lib/components/web-component/index.cjs.js +1 -0
- package/dist/lib/components/web-component/index.d.ts +4 -0
- package/dist/lib/components/web-component/index.d.ts.map +1 -0
- package/dist/lib/components/web-component/index.esm.js +2 -0
- package/dist/lib/dialogs/Dialog.cjs.js +2 -0
- package/dist/lib/dialogs/Dialog.cjs.js.map +1 -0
- package/dist/lib/dialogs/Dialog.d.ts +15 -0
- package/dist/lib/dialogs/Dialog.d.ts.map +1 -0
- package/dist/lib/dialogs/Dialog.esm.js +25 -0
- package/dist/lib/dialogs/Dialog.esm.js.map +1 -0
- package/dist/lib/dialogs/context.cjs.js +2 -0
- package/dist/lib/dialogs/context.cjs.js.map +1 -0
- package/dist/lib/dialogs/context.d.ts +10 -0
- package/dist/lib/dialogs/context.d.ts.map +1 -0
- package/dist/lib/dialogs/context.esm.js +8 -0
- package/dist/lib/dialogs/context.esm.js.map +1 -0
- package/dist/lib/dialogs/events/close-dialog.cjs.js +2 -0
- package/dist/lib/dialogs/events/close-dialog.cjs.js.map +1 -0
- package/dist/lib/dialogs/events/close-dialog.d.ts +14 -0
- package/dist/lib/dialogs/events/close-dialog.d.ts.map +1 -0
- package/dist/lib/dialogs/events/close-dialog.esm.js +16 -0
- package/dist/lib/dialogs/events/close-dialog.esm.js.map +1 -0
- package/dist/lib/dialogs/events/index.d.ts +3 -0
- package/dist/lib/dialogs/events/index.d.ts.map +1 -0
- package/dist/lib/dialogs/events/show-dialog.cjs.js +2 -0
- package/dist/lib/dialogs/events/show-dialog.cjs.js.map +1 -0
- package/dist/lib/dialogs/events/show-dialog.d.ts.map +1 -0
- package/dist/lib/dialogs/events/show-dialog.esm.js +15 -0
- package/dist/lib/dialogs/events/show-dialog.esm.js.map +1 -0
- package/dist/lib/dialogs/helpers.cjs.js +2 -0
- package/dist/lib/dialogs/helpers.cjs.js.map +1 -0
- package/dist/lib/dialogs/helpers.d.ts +4 -0
- package/dist/lib/dialogs/helpers.d.ts.map +1 -0
- package/dist/lib/dialogs/helpers.esm.js +11 -0
- package/dist/lib/dialogs/helpers.esm.js.map +1 -0
- package/dist/lib/dialogs/index.cjs.js +1 -0
- package/dist/lib/dialogs/index.d.ts +6 -0
- package/dist/lib/dialogs/index.d.ts.map +1 -0
- package/dist/lib/dialogs/index.esm.js +6 -0
- package/dist/lib/forms/rdfHelper.d.ts +4 -0
- package/dist/lib/forms/rdfHelper.d.ts.map +1 -0
- package/dist/lib/log.cjs.js +1 -1
- package/dist/lib/log.cjs.js.map +1 -1
- package/dist/lib/log.esm.js +1 -1
- package/dist/lib/log.esm.js.map +1 -1
- package/dist/lib/messageArea.cjs.js +1 -1
- package/dist/lib/messageArea.cjs.js.map +1 -1
- package/dist/lib/messageArea.esm.js +13 -8
- package/dist/lib/messageArea.esm.js.map +1 -1
- package/dist/lib/ns.cjs.js.map +1 -1
- package/dist/lib/pad.cjs.js +2 -2
- package/dist/lib/pad.cjs.js.map +1 -1
- package/dist/lib/pad.esm.js +12 -5
- package/dist/lib/pad.esm.js.map +1 -1
- package/dist/lib/participation.cjs.js.map +1 -1
- package/dist/lib/participation.esm.js.map +1 -1
- package/dist/lib/preferences.cjs.js +1 -1
- package/dist/lib/preferences.cjs.js.map +1 -1
- package/dist/lib/preferences.esm.js +1 -1
- package/dist/lib/preferences.esm.js.map +1 -1
- package/dist/lib/style.cjs.js +1 -1
- package/dist/lib/style.cjs.js.map +1 -1
- package/dist/lib/style.esm.js +1 -1
- package/dist/lib/style.esm.js.map +1 -1
- package/dist/lib/table.cjs.js.map +1 -1
- package/dist/lib/table.esm.js.map +1 -1
- package/dist/lib/tabs.cjs.js +1 -1
- package/dist/lib/tabs.cjs.js.map +1 -1
- package/dist/lib/tabs.esm.js +1 -1
- package/dist/lib/tabs.esm.js.map +1 -1
- package/dist/loader.js +9 -4
- package/dist/login/login.cjs.js +1 -1
- package/dist/login/login.cjs.js.map +1 -1
- package/dist/login/login.esm.js +1 -1
- package/dist/login/login.esm.js.map +1 -1
- package/dist/matrix/index.cjs.js.map +1 -1
- package/dist/matrix/matrix.cjs.js.map +1 -1
- package/dist/matrix/matrix.esm.js.map +1 -1
- package/dist/media/media-capture.cjs.js.map +1 -1
- package/dist/media/media-capture.esm.js.map +1 -1
- package/dist/signup/signup.cjs.js.map +1 -1
- package/dist/signup/signup.esm.js.map +1 -1
- package/dist/solid-ui.js +1597 -1946
- package/dist/solid-ui.min.js +1597 -1946
- package/dist/solid-ui.min.js.map +1 -1
- package/dist/storybook/auth/StorybookAuth.d.ts +1 -2
- package/dist/storybook/auth/StorybookAuth.d.ts.map +1 -1
- package/dist/storybook/components/StorybookProvider.d.ts +1 -1
- package/dist/storybook/components/StorybookProvider.d.ts.map +1 -1
- package/dist/storybook/helpers.d.ts +22 -0
- package/dist/storybook/helpers.d.ts.map +1 -0
- package/dist/storybook/index.d.ts +3 -21
- package/dist/storybook/index.d.ts.map +1 -1
- package/dist/storybook/internals.d.ts.map +1 -0
- package/dist/theme.css +1 -0
- package/dist/theme.css.d.ts +1 -0
- package/dist/utils/headerFooterHelpers.cjs.js.map +1 -1
- package/dist/utils/headerFooterHelpers.esm.js.map +1 -1
- package/dist/utils/index.cjs.js +2 -2
- package/dist/utils/index.cjs.js.map +1 -1
- package/dist/utils/index.esm.js +1 -1
- package/dist/utils/index.esm.js.map +1 -1
- package/dist/utils/keyHelpers/accessData.cjs.js +1 -1
- package/dist/utils/keyHelpers/accessData.cjs.js.map +1 -1
- package/dist/utils/keyHelpers/accessData.esm.js +1 -1
- package/dist/utils/keyHelpers/accessData.esm.js.map +1 -1
- package/dist/utils/keyHelpers/acl.cjs.js.map +1 -1
- package/dist/utils/keyHelpers/acl.esm.js.map +1 -1
- package/dist/utils/keyHelpers/otherHelpers.cjs.js.map +1 -1
- package/dist/utils/keyHelpers/otherHelpers.esm.js.map +1 -1
- package/dist/utils/label.cjs.js.map +1 -1
- package/dist/utils/label.esm.js.map +1 -1
- package/dist/v2/components/layout/footer/index.cjs.js +1 -1
- package/dist/v2/components/layout/footer/index.esm.js +1 -0
- package/dist/v2/components/media/photoCapture/PhotoCapture.cjs.js +1 -1
- package/dist/v2/components/media/photoCapture/PhotoCapture.cjs.js.map +1 -1
- package/dist/v2/components/media/photoCapture/PhotoCapture.esm.js +1 -1
- package/dist/v2/components/media/photoCapture/PhotoCapture.esm.js.map +1 -1
- package/dist/v2/components/media/photoCapture/index.cjs.js +1 -1
- package/dist/v2/components/media/photoCapture/index.esm.js +1 -0
- package/dist/widgets/buttons/iconLinks.cjs.js.map +1 -1
- package/dist/widgets/buttons/iconLinks.esm.js.map +1 -1
- package/dist/widgets/buttons.cjs.js.map +1 -1
- package/dist/widgets/buttons.esm.js.map +1 -1
- package/dist/widgets/dragAndDrop.cjs.js.map +1 -1
- package/dist/widgets/dragAndDrop.esm.js.map +1 -1
- package/dist/widgets/error.cjs.js.map +1 -1
- package/dist/widgets/error.esm.js.map +1 -1
- package/dist/widgets/forms/autocomplete/autocompleteField.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/autocompleteField.esm.js.map +1 -1
- package/dist/widgets/forms/autocomplete/autocompletePicker.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/autocompletePicker.esm.js.map +1 -1
- package/dist/widgets/forms/autocomplete/language.cjs.js +1 -1
- package/dist/widgets/forms/autocomplete/language.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/language.esm.js +1 -1
- package/dist/widgets/forms/autocomplete/language.esm.js.map +1 -1
- package/dist/widgets/forms/autocomplete/publicData.cjs.js +1 -1
- package/dist/widgets/forms/autocomplete/publicData.cjs.js.map +1 -1
- package/dist/widgets/forms/autocomplete/publicData.esm.js +1 -1
- package/dist/widgets/forms/autocomplete/publicData.esm.js.map +1 -1
- package/dist/widgets/forms/basic.cjs.js.map +1 -1
- package/dist/widgets/forms/basic.esm.js.map +1 -1
- package/dist/widgets/forms/fieldFunction.cjs.js.map +1 -1
- package/dist/widgets/forms/fieldParams.cjs.js.map +1 -1
- package/dist/widgets/forms/fieldParams.esm.js.map +1 -1
- package/dist/widgets/forms/formStyle.cjs.js.map +1 -1
- package/dist/widgets/forms/formStyle.esm.js.map +1 -1
- package/dist/widgets/forms.cjs.js +1 -1
- package/dist/widgets/forms.cjs.js.map +1 -1
- package/dist/widgets/forms.esm.js +2 -2
- package/dist/widgets/forms.esm.js.map +1 -1
- package/dist/widgets/index.cjs.js +1 -1
- package/dist/widgets/index.esm.js +65 -65
- package/dist/widgets/multiSelect.cjs.js +1 -1
- package/dist/widgets/multiSelect.cjs.js.map +1 -1
- package/dist/widgets/multiSelect.esm.js +1 -1
- package/dist/widgets/multiSelect.esm.js.map +1 -1
- package/dist/widgets/peoplePicker.cjs.js.map +1 -1
- package/dist/widgets/peoplePicker.esm.js.map +1 -1
- package/dist/widgets/widgetHelpers.cjs.js.map +1 -1
- package/dist/widgets/widgetHelpers.esm.js.map +1 -1
- package/package.json +21 -29
- package/dist/chunks/button-znE29yDV.js +0 -348
- package/dist/chunks/button-znE29yDV.js.map +0 -1
- package/dist/chunks/combobox-BAJFfAqV.js +0 -391
- package/dist/chunks/combobox-BAJFfAqV.js.map +0 -1
- package/dist/chunks/footer-CS8u8ycB.js +0 -144
- package/dist/chunks/footer-CS8u8ycB.js.map +0 -1
- package/dist/chunks/header-DNCcdokw.js +0 -6192
- package/dist/chunks/header-DNCcdokw.js.map +0 -1
- package/dist/chunks/headerFooterHelpers-5LYv-0Rt.js +0 -52
- package/dist/chunks/headerFooterHelpers-5LYv-0Rt.js.map +0 -1
- package/dist/chunks/iconBase-DJ0zbNSL.js +0 -31
- package/dist/chunks/iconBase-DJ0zbNSL.js.map +0 -1
- package/dist/chunks/jsonld-DZG2v1pE.js +0 -4156
- package/dist/chunks/jsonld-DZG2v1pE.js.map +0 -1
- package/dist/chunks/listboxTemplate-CLsbhnb_.js +0 -171
- package/dist/chunks/listboxTemplate-CLsbhnb_.js.map +0 -1
- package/dist/chunks/lit-CC2G_f_C.js +0 -512
- package/dist/chunks/lit-CC2G_f_C.js.map +0 -1
- package/dist/chunks/photo-capture-COoxZRW_.js +0 -624
- package/dist/chunks/photo-capture-COoxZRW_.js.map +0 -1
- package/dist/chunks/select-CGTwgBk7.js +0 -391
- package/dist/chunks/select-CGTwgBk7.js.map +0 -1
- package/dist/chunks/solid-logic.esm-7q6hmfIF.js +0 -16302
- package/dist/chunks/solid-logic.esm-7q6hmfIF.js.map +0 -1
- package/dist/chunks/src-CagI5kMT.js +0 -15962
- package/dist/chunks/src-CagI5kMT.js.map +0 -1
- package/dist/components/header/index.cjs.js +0 -1
- package/dist/components/header/index.d.ts +0 -2
- package/dist/components/header/index.d.ts.map +0 -1
- package/dist/components/header/index.esm.js +0 -3
- package/dist/components/header.js +0 -2
- package/dist/design-system/components/account/Account.cjs.js +0 -31
- package/dist/design-system/components/account/Account.cjs.js.map +0 -1
- package/dist/design-system/components/account/Account.d.ts +0 -13
- package/dist/design-system/components/account/Account.d.ts.map +0 -1
- package/dist/design-system/components/account/Account.esm.js +0 -257
- package/dist/design-system/components/account/Account.esm.js.map +0 -1
- package/dist/design-system/components/account/Account.stories.d.ts +0 -33
- package/dist/design-system/components/account/Account.stories.d.ts.map +0 -1
- package/dist/design-system/components/account/Account.styles.cjs.js +0 -2
- package/dist/design-system/components/account/Account.styles.cjs.js.map +0 -1
- package/dist/design-system/components/account/Account.styles.esm.js +0 -7
- package/dist/design-system/components/account/Account.styles.esm.js.map +0 -1
- package/dist/design-system/components/account/index.cjs.js +0 -1
- package/dist/design-system/components/account/index.d.ts +0 -4
- package/dist/design-system/components/account/index.d.ts.map +0 -1
- package/dist/design-system/components/account/index.esm.js +0 -1
- package/dist/design-system/components/button/Button.cjs.js +0 -10
- package/dist/design-system/components/button/Button.cjs.js.map +0 -1
- package/dist/design-system/components/button/Button.d.ts +0 -14
- package/dist/design-system/components/button/Button.d.ts.map +0 -1
- package/dist/design-system/components/button/Button.esm.js +0 -267
- package/dist/design-system/components/button/Button.esm.js.map +0 -1
- package/dist/design-system/components/button/Button.stories.d.ts +0 -224
- package/dist/design-system/components/button/Button.stories.d.ts.map +0 -1
- package/dist/design-system/components/button/Button.styles.cjs.js +0 -2
- package/dist/design-system/components/button/Button.styles.cjs.js.map +0 -1
- package/dist/design-system/components/button/Button.styles.esm.js +0 -7
- package/dist/design-system/components/button/Button.styles.esm.js.map +0 -1
- package/dist/design-system/components/button/index.cjs.js +0 -1
- package/dist/design-system/components/button/index.d.ts +0 -4
- package/dist/design-system/components/button/index.d.ts.map +0 -1
- package/dist/design-system/components/button/index.esm.js +0 -1
- package/dist/design-system/components/combobox/Combobox.cjs.js +0 -18
- package/dist/design-system/components/combobox/Combobox.cjs.js.map +0 -1
- package/dist/design-system/components/combobox/Combobox.d.ts +0 -19
- package/dist/design-system/components/combobox/Combobox.d.ts.map +0 -1
- package/dist/design-system/components/combobox/Combobox.esm.js +0 -303
- package/dist/design-system/components/combobox/Combobox.esm.js.map +0 -1
- package/dist/design-system/components/combobox/Combobox.stories.d.ts +0 -27
- package/dist/design-system/components/combobox/Combobox.stories.d.ts.map +0 -1
- package/dist/design-system/components/combobox/Combobox.styles.cjs.js +0 -2
- package/dist/design-system/components/combobox/Combobox.styles.cjs.js.map +0 -1
- package/dist/design-system/components/combobox/Combobox.styles.esm.js +0 -7
- package/dist/design-system/components/combobox/Combobox.styles.esm.js.map +0 -1
- package/dist/design-system/components/combobox/index.cjs.js +0 -1
- package/dist/design-system/components/combobox/index.d.ts +0 -4
- package/dist/design-system/components/combobox/index.d.ts.map +0 -1
- package/dist/design-system/components/combobox/index.esm.js +0 -1
- package/dist/design-system/components/combobox-option/ComboboxOption.cjs.js +0 -2
- package/dist/design-system/components/combobox-option/ComboboxOption.cjs.js.map +0 -1
- package/dist/design-system/components/combobox-option/ComboboxOption.d.ts +0 -6
- package/dist/design-system/components/combobox-option/ComboboxOption.d.ts.map +0 -1
- package/dist/design-system/components/combobox-option/ComboboxOption.esm.js +0 -193
- package/dist/design-system/components/combobox-option/ComboboxOption.esm.js.map +0 -1
- package/dist/design-system/components/combobox-option/index.cjs.js +0 -1
- package/dist/design-system/components/combobox-option/index.d.ts.map +0 -1
- package/dist/design-system/components/combobox-option/index.esm.js +0 -1
- package/dist/design-system/components/dialog/Dialog.cjs.js +0 -17
- package/dist/design-system/components/dialog/Dialog.cjs.js.map +0 -1
- package/dist/design-system/components/dialog/Dialog.d.ts +0 -11
- package/dist/design-system/components/dialog/Dialog.d.ts.map +0 -1
- package/dist/design-system/components/dialog/Dialog.esm.js +0 -264
- package/dist/design-system/components/dialog/Dialog.esm.js.map +0 -1
- package/dist/design-system/components/dialog/Dialog.styles.cjs.js +0 -2
- package/dist/design-system/components/dialog/Dialog.styles.cjs.js.map +0 -1
- package/dist/design-system/components/dialog/Dialog.styles.esm.js +0 -7
- package/dist/design-system/components/dialog/Dialog.styles.esm.js.map +0 -1
- package/dist/design-system/components/dialog/index.cjs.js +0 -1
- package/dist/design-system/components/dialog/index.d.ts.map +0 -1
- package/dist/design-system/components/dialog/index.esm.js +0 -1
- package/dist/design-system/components/dialog-content/DialogContent.cjs.js +0 -2
- package/dist/design-system/components/dialog-content/DialogContent.cjs.js.map +0 -1
- package/dist/design-system/components/dialog-content/DialogContent.d.ts +0 -5
- package/dist/design-system/components/dialog-content/DialogContent.d.ts.map +0 -1
- package/dist/design-system/components/dialog-content/DialogContent.esm.js +0 -171
- package/dist/design-system/components/dialog-content/DialogContent.esm.js.map +0 -1
- package/dist/design-system/components/dialog-content/DialogContent.styles.cjs.js +0 -2
- package/dist/design-system/components/dialog-content/DialogContent.styles.cjs.js.map +0 -1
- package/dist/design-system/components/dialog-content/DialogContent.styles.esm.js +0 -7
- package/dist/design-system/components/dialog-content/DialogContent.styles.esm.js.map +0 -1
- package/dist/design-system/components/dialog-content/index.cjs.js +0 -1
- package/dist/design-system/components/dialog-content/index.d.ts.map +0 -1
- package/dist/design-system/components/dialog-content/index.esm.js +0 -1
- package/dist/design-system/components/dialog-footer/DialogFooter.cjs.js +0 -2
- package/dist/design-system/components/dialog-footer/DialogFooter.cjs.js.map +0 -1
- package/dist/design-system/components/dialog-footer/DialogFooter.d.ts +0 -5
- package/dist/design-system/components/dialog-footer/DialogFooter.d.ts.map +0 -1
- package/dist/design-system/components/dialog-footer/DialogFooter.esm.js +0 -171
- package/dist/design-system/components/dialog-footer/DialogFooter.esm.js.map +0 -1
- package/dist/design-system/components/dialog-footer/DialogFooter.styles.cjs.js +0 -2
- package/dist/design-system/components/dialog-footer/DialogFooter.styles.cjs.js.map +0 -1
- package/dist/design-system/components/dialog-footer/DialogFooter.styles.esm.js +0 -7
- package/dist/design-system/components/dialog-footer/DialogFooter.styles.esm.js.map +0 -1
- package/dist/design-system/components/dialog-footer/index.cjs.js +0 -1
- package/dist/design-system/components/dialog-footer/index.d.ts.map +0 -1
- package/dist/design-system/components/dialog-footer/index.esm.js +0 -1
- package/dist/design-system/components/dialog-header/DialogHeader.cjs.js +0 -2
- package/dist/design-system/components/dialog-header/DialogHeader.cjs.js.map +0 -1
- package/dist/design-system/components/dialog-header/DialogHeader.d.ts +0 -5
- package/dist/design-system/components/dialog-header/DialogHeader.d.ts.map +0 -1
- package/dist/design-system/components/dialog-header/DialogHeader.esm.js +0 -171
- package/dist/design-system/components/dialog-header/DialogHeader.esm.js.map +0 -1
- package/dist/design-system/components/dialog-header/DialogHeader.styles.cjs.js +0 -2
- package/dist/design-system/components/dialog-header/DialogHeader.styles.cjs.js.map +0 -1
- package/dist/design-system/components/dialog-header/DialogHeader.styles.esm.js +0 -7
- package/dist/design-system/components/dialog-header/DialogHeader.styles.esm.js.map +0 -1
- package/dist/design-system/components/dialog-header/index.cjs.js +0 -1
- package/dist/design-system/components/dialog-header/index.d.ts.map +0 -1
- package/dist/design-system/components/dialog-header/index.esm.js +0 -1
- package/dist/design-system/components/dialog-provider/DialogProvider.cjs.js +0 -2
- package/dist/design-system/components/dialog-provider/DialogProvider.cjs.js.map +0 -1
- package/dist/design-system/components/dialog-provider/DialogProvider.d.ts +0 -8
- package/dist/design-system/components/dialog-provider/DialogProvider.d.ts.map +0 -1
- package/dist/design-system/components/dialog-provider/DialogProvider.esm.js +0 -211
- package/dist/design-system/components/dialog-provider/DialogProvider.esm.js.map +0 -1
- package/dist/design-system/components/dialog-provider/index.d.ts.map +0 -1
- package/dist/design-system/components/dialogs-root/DialogsRoot.cjs.js +0 -9
- package/dist/design-system/components/dialogs-root/DialogsRoot.cjs.js.map +0 -1
- package/dist/design-system/components/dialogs-root/DialogsRoot.d.ts +0 -7
- package/dist/design-system/components/dialogs-root/DialogsRoot.d.ts.map +0 -1
- package/dist/design-system/components/dialogs-root/DialogsRoot.esm.js +0 -207
- package/dist/design-system/components/dialogs-root/DialogsRoot.esm.js.map +0 -1
- package/dist/design-system/components/dialogs-root/index.cjs.js +0 -1
- package/dist/design-system/components/dialogs-root/index.d.ts.map +0 -1
- package/dist/design-system/components/dialogs-root/index.esm.js +0 -1
- package/dist/design-system/components/login-modal/LoginModal.cjs.js +0 -30
- package/dist/design-system/components/login-modal/LoginModal.cjs.js.map +0 -1
- package/dist/design-system/components/login-modal/LoginModal.d.ts +0 -15
- package/dist/design-system/components/login-modal/LoginModal.d.ts.map +0 -1
- package/dist/design-system/components/login-modal/LoginModal.esm.js +0 -326
- package/dist/design-system/components/login-modal/LoginModal.esm.js.map +0 -1
- package/dist/design-system/components/login-modal/LoginModal.stories.d.ts +0 -14
- package/dist/design-system/components/login-modal/LoginModal.stories.d.ts.map +0 -1
- package/dist/design-system/components/login-modal/LoginModal.styles.cjs.js +0 -2
- package/dist/design-system/components/login-modal/LoginModal.styles.cjs.js.map +0 -1
- package/dist/design-system/components/login-modal/LoginModal.styles.esm.js +0 -7
- package/dist/design-system/components/login-modal/LoginModal.styles.esm.js.map +0 -1
- package/dist/design-system/components/login-modal/index.cjs.js +0 -1
- package/dist/design-system/components/login-modal/index.d.ts.map +0 -1
- package/dist/design-system/components/login-modal/index.esm.js +0 -1
- package/dist/design-system/components/menu/Menu.cjs.js +0 -9
- package/dist/design-system/components/menu/Menu.cjs.js.map +0 -1
- package/dist/design-system/components/menu/Menu.d.ts +0 -13
- package/dist/design-system/components/menu/Menu.d.ts.map +0 -1
- package/dist/design-system/components/menu/Menu.esm.js +0 -250
- package/dist/design-system/components/menu/Menu.esm.js.map +0 -1
- package/dist/design-system/components/menu/Menu.stories.d.ts +0 -8
- package/dist/design-system/components/menu/Menu.stories.d.ts.map +0 -1
- package/dist/design-system/components/menu/index.cjs.js +0 -1
- package/dist/design-system/components/menu/index.d.ts.map +0 -1
- package/dist/design-system/components/menu/index.esm.js +0 -1
- package/dist/design-system/components/menu-item/MenuItem.cjs.js +0 -14
- package/dist/design-system/components/menu-item/MenuItem.cjs.js.map +0 -1
- package/dist/design-system/components/menu-item/MenuItem.d.ts +0 -7
- package/dist/design-system/components/menu-item/MenuItem.d.ts.map +0 -1
- package/dist/design-system/components/menu-item/MenuItem.esm.js +0 -218
- package/dist/design-system/components/menu-item/MenuItem.esm.js.map +0 -1
- package/dist/design-system/components/menu-item/MenuItem.styles.cjs.js +0 -2
- package/dist/design-system/components/menu-item/MenuItem.styles.cjs.js.map +0 -1
- package/dist/design-system/components/menu-item/MenuItem.styles.esm.js +0 -7
- package/dist/design-system/components/menu-item/MenuItem.styles.esm.js.map +0 -1
- package/dist/design-system/components/menu-item/index.cjs.js +0 -1
- package/dist/design-system/components/menu-item/index.d.ts.map +0 -1
- package/dist/design-system/components/menu-item/index.esm.js +0 -1
- package/dist/design-system/components/menu-items/MenuItems.cjs.js +0 -6
- package/dist/design-system/components/menu-items/MenuItems.cjs.js.map +0 -1
- package/dist/design-system/components/menu-items/MenuItems.d.ts +0 -8
- package/dist/design-system/components/menu-items/MenuItems.d.ts.map +0 -1
- package/dist/design-system/components/menu-items/MenuItems.esm.js +0 -217
- package/dist/design-system/components/menu-items/MenuItems.esm.js.map +0 -1
- package/dist/design-system/components/menu-items/MenuItems.styles.cjs.js +0 -2
- package/dist/design-system/components/menu-items/MenuItems.styles.cjs.js.map +0 -1
- package/dist/design-system/components/menu-items/MenuItems.styles.esm.js +0 -7
- package/dist/design-system/components/menu-items/MenuItems.styles.esm.js.map +0 -1
- package/dist/design-system/components/menu-items/index.cjs.js +0 -1
- package/dist/design-system/components/menu-items/index.d.ts +0 -4
- package/dist/design-system/components/menu-items/index.d.ts.map +0 -1
- package/dist/design-system/components/menu-items/index.esm.js +0 -1
- package/dist/design-system/components/provider/Provider.cjs.js +0 -5
- package/dist/design-system/components/provider/Provider.cjs.js.map +0 -1
- package/dist/design-system/components/provider/Provider.d.ts +0 -8
- package/dist/design-system/components/provider/Provider.d.ts.map +0 -1
- package/dist/design-system/components/provider/Provider.esm.js +0 -213
- package/dist/design-system/components/provider/Provider.esm.js.map +0 -1
- package/dist/design-system/components/provider/index.cjs.js +0 -1
- package/dist/design-system/components/provider/index.d.ts.map +0 -1
- package/dist/design-system/components/provider/index.esm.js +0 -1
- package/dist/design-system/lib/auth/SolidAuth.cjs.js +0 -2
- package/dist/design-system/lib/auth/SolidAuth.cjs.js.map +0 -1
- package/dist/design-system/lib/auth/SolidAuth.d.ts +0 -13
- package/dist/design-system/lib/auth/SolidAuth.d.ts.map +0 -1
- package/dist/design-system/lib/auth/SolidAuth.esm.js +0 -50
- package/dist/design-system/lib/auth/SolidAuth.esm.js.map +0 -1
- package/dist/design-system/lib/dialogs/Dialog.cjs.js +0 -2
- package/dist/design-system/lib/dialogs/Dialog.cjs.js.map +0 -1
- package/dist/design-system/lib/dialogs/Dialog.d.ts +0 -10
- package/dist/design-system/lib/dialogs/Dialog.d.ts.map +0 -1
- package/dist/design-system/lib/dialogs/Dialog.esm.js +0 -38
- package/dist/design-system/lib/dialogs/Dialog.esm.js.map +0 -1
- package/dist/design-system/lib/dialogs/context.cjs.js +0 -2
- package/dist/design-system/lib/dialogs/context.cjs.js.map +0 -1
- package/dist/design-system/lib/dialogs/context.d.ts +0 -7
- package/dist/design-system/lib/dialogs/context.d.ts.map +0 -1
- package/dist/design-system/lib/dialogs/context.esm.js +0 -7
- package/dist/design-system/lib/dialogs/context.esm.js.map +0 -1
- package/dist/design-system/lib/dialogs/events/close-dialog.cjs.js +0 -2
- package/dist/design-system/lib/dialogs/events/close-dialog.cjs.js.map +0 -1
- package/dist/design-system/lib/dialogs/events/close-dialog.d.ts +0 -13
- package/dist/design-system/lib/dialogs/events/close-dialog.d.ts.map +0 -1
- package/dist/design-system/lib/dialogs/events/close-dialog.esm.js +0 -36
- package/dist/design-system/lib/dialogs/events/close-dialog.esm.js.map +0 -1
- package/dist/design-system/lib/dialogs/events/show-dialog.cjs.js +0 -2
- package/dist/design-system/lib/dialogs/events/show-dialog.cjs.js.map +0 -1
- package/dist/design-system/lib/dialogs/events/show-dialog.d.ts.map +0 -1
- package/dist/design-system/lib/dialogs/events/show-dialog.esm.js +0 -36
- package/dist/design-system/lib/dialogs/events/show-dialog.esm.js.map +0 -1
- package/dist/design-system/lib/dialogs/index.cjs.js +0 -2
- package/dist/design-system/lib/dialogs/index.cjs.js.map +0 -1
- package/dist/design-system/lib/dialogs/index.d.ts +0 -3
- package/dist/design-system/lib/dialogs/index.d.ts.map +0 -1
- package/dist/design-system/lib/dialogs/index.esm.js +0 -11
- package/dist/design-system/lib/dialogs/index.esm.js.map +0 -1
- package/dist/design-system/lib/ids.cjs.js.map +0 -1
- package/dist/design-system/lib/ids.d.ts.map +0 -1
- package/dist/design-system/lib/ids.esm.js +0 -8
- package/dist/design-system/lib/ids.esm.js.map +0 -1
- package/dist/design-system/lib/internals.d.ts.map +0 -1
- package/dist/design-system/lib/menus/context.cjs.js +0 -2
- package/dist/design-system/lib/menus/context.cjs.js.map +0 -1
- package/dist/design-system/lib/menus/context.d.ts +0 -7
- package/dist/design-system/lib/menus/context.d.ts.map +0 -1
- package/dist/design-system/lib/menus/context.esm.js +0 -7
- package/dist/design-system/lib/menus/context.esm.js.map +0 -1
- package/dist/design-system/polyfills/css-anchor-positioning.d.ts +0 -8
- package/dist/design-system/polyfills/css-anchor-positioning.d.ts.map +0 -1
- package/dist/lib/features.cjs.js +0 -2
- package/dist/lib/features.cjs.js.map +0 -1
- package/dist/lib/features.d.ts +0 -8
- package/dist/lib/features.d.ts.map +0 -1
- package/dist/lib/features.esm.js +0 -6
- package/dist/lib/features.esm.js.map +0 -1
- package/dist/primitives/components/avatar/Avatar.cjs.js +0 -6
- package/dist/primitives/components/avatar/Avatar.cjs.js.map +0 -1
- package/dist/primitives/components/avatar/Avatar.d.ts +0 -10
- package/dist/primitives/components/avatar/Avatar.d.ts.map +0 -1
- package/dist/primitives/components/avatar/Avatar.esm.js +0 -216
- package/dist/primitives/components/avatar/Avatar.esm.js.map +0 -1
- package/dist/primitives/components/avatar/Avatar.stories.d.ts +0 -44
- package/dist/primitives/components/avatar/Avatar.stories.d.ts.map +0 -1
- package/dist/primitives/components/avatar/Avatar.styles.cjs.js +0 -2
- package/dist/primitives/components/avatar/Avatar.styles.cjs.js.map +0 -1
- package/dist/primitives/components/avatar/Avatar.styles.esm.js +0 -7
- package/dist/primitives/components/avatar/Avatar.styles.esm.js.map +0 -1
- package/dist/primitives/components/avatar/index.cjs.js +0 -1
- package/dist/primitives/components/avatar/index.d.ts.map +0 -1
- package/dist/primitives/components/avatar/index.esm.js +0 -1
- package/dist/primitives/components/guard/Guard.d.ts +0 -6
- package/dist/primitives/components/guard/Guard.d.ts.map +0 -1
- package/dist/primitives/components/guard/Guard.stories.d.ts +0 -33
- package/dist/primitives/components/guard/Guard.stories.d.ts.map +0 -1
- package/dist/primitives/components/guard/index.d.ts.map +0 -1
- package/dist/primitives/components/login-button/LoginButton.cjs.js +0 -10
- package/dist/primitives/components/login-button/LoginButton.cjs.js.map +0 -1
- package/dist/primitives/components/login-button/LoginButton.d.ts +0 -8
- package/dist/primitives/components/login-button/LoginButton.d.ts.map +0 -1
- package/dist/primitives/components/login-button/LoginButton.esm.js +0 -221
- package/dist/primitives/components/login-button/LoginButton.esm.js.map +0 -1
- package/dist/primitives/components/login-button/LoginButton.stories.d.ts +0 -14
- package/dist/primitives/components/login-button/LoginButton.stories.d.ts.map +0 -1
- package/dist/primitives/components/login-button/LoginButton.styles.cjs.js +0 -2
- package/dist/primitives/components/login-button/LoginButton.styles.cjs.js.map +0 -1
- package/dist/primitives/components/login-button/LoginButton.styles.esm.js +0 -7
- package/dist/primitives/components/login-button/LoginButton.styles.esm.js.map +0 -1
- package/dist/primitives/components/login-button/index.cjs.js +0 -1
- package/dist/primitives/components/login-button/index.d.ts.map +0 -1
- package/dist/primitives/components/login-button/index.esm.js +0 -1
- package/dist/primitives/components/logout-button/LogoutButton.cjs.js +0 -10
- package/dist/primitives/components/logout-button/LogoutButton.cjs.js.map +0 -1
- package/dist/primitives/components/logout-button/LogoutButton.d.ts +0 -8
- package/dist/primitives/components/logout-button/LogoutButton.d.ts.map +0 -1
- package/dist/primitives/components/logout-button/LogoutButton.esm.js +0 -221
- package/dist/primitives/components/logout-button/LogoutButton.esm.js.map +0 -1
- package/dist/primitives/components/logout-button/LogoutButton.stories.d.ts +0 -14
- package/dist/primitives/components/logout-button/LogoutButton.stories.d.ts.map +0 -1
- package/dist/primitives/components/logout-button/LogoutButton.styles.cjs.js +0 -2
- package/dist/primitives/components/logout-button/LogoutButton.styles.cjs.js.map +0 -1
- package/dist/primitives/components/logout-button/LogoutButton.styles.esm.js +0 -7
- package/dist/primitives/components/logout-button/LogoutButton.styles.esm.js.map +0 -1
- package/dist/primitives/components/logout-button/index.cjs.js +0 -1
- package/dist/primitives/components/logout-button/index.d.ts.map +0 -1
- package/dist/primitives/components/logout-button/index.esm.js +0 -1
- package/dist/primitives/components/signup-button/SignupButton.cjs.js +0 -10
- package/dist/primitives/components/signup-button/SignupButton.cjs.js.map +0 -1
- package/dist/primitives/components/signup-button/SignupButton.d.ts +0 -8
- package/dist/primitives/components/signup-button/SignupButton.d.ts.map +0 -1
- package/dist/primitives/components/signup-button/SignupButton.esm.js +0 -221
- package/dist/primitives/components/signup-button/SignupButton.esm.js.map +0 -1
- package/dist/primitives/components/signup-button/SignupButton.stories.d.ts +0 -14
- package/dist/primitives/components/signup-button/SignupButton.stories.d.ts.map +0 -1
- package/dist/primitives/components/signup-button/SignupButton.styles.cjs.js +0 -2
- package/dist/primitives/components/signup-button/SignupButton.styles.cjs.js.map +0 -1
- package/dist/primitives/components/signup-button/SignupButton.styles.esm.js +0 -7
- package/dist/primitives/components/signup-button/SignupButton.styles.esm.js.map +0 -1
- package/dist/primitives/components/signup-button/index.cjs.js +0 -1
- package/dist/primitives/components/signup-button/index.d.ts.map +0 -1
- package/dist/primitives/components/signup-button/index.esm.js +0 -1
- package/dist/primitives/lib/WebComponent.cjs.js +0 -2
- package/dist/primitives/lib/WebComponent.cjs.js.map +0 -1
- package/dist/primitives/lib/WebComponent.d.ts +0 -13
- package/dist/primitives/lib/WebComponent.d.ts.map +0 -1
- package/dist/primitives/lib/WebComponent.esm.js +0 -61
- package/dist/primitives/lib/WebComponent.esm.js.map +0 -1
- package/dist/primitives/lib/auth/Account.cjs.js +0 -2
- package/dist/primitives/lib/auth/Account.cjs.js.map +0 -1
- package/dist/primitives/lib/auth/Account.d.ts.map +0 -1
- package/dist/primitives/lib/auth/Account.esm.js +0 -32
- package/dist/primitives/lib/auth/Account.esm.js.map +0 -1
- package/dist/primitives/lib/auth/NoopAuth.cjs.js +0 -2
- package/dist/primitives/lib/auth/NoopAuth.cjs.js.map +0 -1
- package/dist/primitives/lib/auth/NoopAuth.d.ts.map +0 -1
- package/dist/primitives/lib/auth/NoopAuth.esm.js +0 -22
- package/dist/primitives/lib/auth/NoopAuth.esm.js.map +0 -1
- package/dist/primitives/lib/auth/context.cjs.js.map +0 -1
- package/dist/primitives/lib/auth/context.d.ts.map +0 -1
- package/dist/primitives/lib/auth/context.esm.js +0 -8
- package/dist/primitives/lib/auth/context.esm.js.map +0 -1
- package/dist/primitives/lib/customElement.cjs.js +0 -2
- package/dist/primitives/lib/customElement.cjs.js.map +0 -1
- package/dist/primitives/lib/customElement.d.ts +0 -11
- package/dist/primitives/lib/customElement.d.ts.map +0 -1
- package/dist/primitives/lib/customElement.esm.js +0 -17
- package/dist/primitives/lib/customElement.esm.js.map +0 -1
- package/dist/primitives/styles/common.styles.cjs.js +0 -2
- package/dist/primitives/styles/common.styles.cjs.js.map +0 -1
- package/dist/primitives/styles/common.styles.esm.js +0 -7
- package/dist/primitives/styles/common.styles.esm.js.map +0 -1
- package/dist/solid-ui.js.map +0 -1
- package/dist/styles.css +0 -1
- package/dist/v2/components/actions/button/Button.cjs.js +0 -245
- package/dist/v2/components/actions/button/Button.cjs.js.map +0 -1
- package/dist/v2/components/actions/button/Button.d.ts +0 -97
- package/dist/v2/components/actions/button/Button.d.ts.map +0 -1
- package/dist/v2/components/actions/button/Button.esm.js +0 -347
- package/dist/v2/components/actions/button/Button.esm.js.map +0 -1
- package/dist/v2/components/actions/button/Button.test.d.ts +0 -1
- package/dist/v2/components/actions/button/Button.test.d.ts.map +0 -1
- package/dist/v2/components/actions/button/index.cjs.js +0 -2
- package/dist/v2/components/actions/button/index.cjs.js.map +0 -1
- package/dist/v2/components/actions/button/index.d.ts +0 -8
- package/dist/v2/components/actions/button/index.d.ts.map +0 -1
- package/dist/v2/components/actions/button/index.esm.js +0 -7
- package/dist/v2/components/actions/button/index.esm.js.map +0 -1
- package/dist/v2/components/auth/loginButton/LoginButton.cjs.js +0 -414
- package/dist/v2/components/auth/loginButton/LoginButton.cjs.js.map +0 -1
- package/dist/v2/components/auth/loginButton/LoginButton.esm.js +0 -519
- package/dist/v2/components/auth/loginButton/LoginButton.esm.js.map +0 -1
- package/dist/v2/components/auth/loginButton/downArrow.cjs.js +0 -9
- package/dist/v2/components/auth/loginButton/downArrow.cjs.js.map +0 -1
- package/dist/v2/components/auth/loginButton/downArrow.esm.js +0 -14
- package/dist/v2/components/auth/loginButton/downArrow.esm.js.map +0 -1
- package/dist/v2/components/auth/loginButton/index.cjs.js +0 -2
- package/dist/v2/components/auth/loginButton/index.cjs.js.map +0 -1
- package/dist/v2/components/auth/loginButton/index.esm.js +0 -7
- package/dist/v2/components/auth/loginButton/index.esm.js.map +0 -1
- package/dist/v2/components/auth/signupButton/SignupButton.cjs.js +0 -59
- package/dist/v2/components/auth/signupButton/SignupButton.cjs.js.map +0 -1
- package/dist/v2/components/auth/signupButton/SignupButton.esm.js +0 -98
- package/dist/v2/components/auth/signupButton/SignupButton.esm.js.map +0 -1
- package/dist/v2/components/auth/signupButton/index.cjs.js +0 -2
- package/dist/v2/components/auth/signupButton/index.cjs.js.map +0 -1
- package/dist/v2/components/auth/signupButton/index.esm.js +0 -7
- package/dist/v2/components/auth/signupButton/index.esm.js.map +0 -1
- package/dist/v2/components/forms/combobox/Combobox.cjs.js +0 -194
- package/dist/v2/components/forms/combobox/Combobox.cjs.js.map +0 -1
- package/dist/v2/components/forms/combobox/Combobox.d.ts +0 -82
- package/dist/v2/components/forms/combobox/Combobox.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/Combobox.esm.js +0 -394
- package/dist/v2/components/forms/combobox/Combobox.esm.js.map +0 -1
- package/dist/v2/components/forms/combobox/Combobox.test.d.ts +0 -1
- package/dist/v2/components/forms/combobox/Combobox.test.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/comboboxTypes.d.ts +0 -6
- package/dist/v2/components/forms/combobox/comboboxTypes.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/index.cjs.js +0 -2
- package/dist/v2/components/forms/combobox/index.cjs.js.map +0 -1
- package/dist/v2/components/forms/combobox/index.d.ts +0 -3
- package/dist/v2/components/forms/combobox/index.d.ts.map +0 -1
- package/dist/v2/components/forms/combobox/index.esm.js +0 -7
- package/dist/v2/components/forms/combobox/index.esm.js.map +0 -1
- package/dist/v2/components/forms/select/Select.cjs.js +0 -225
- package/dist/v2/components/forms/select/Select.cjs.js.map +0 -1
- package/dist/v2/components/forms/select/Select.d.ts +0 -68
- package/dist/v2/components/forms/select/Select.d.ts.map +0 -1
- package/dist/v2/components/forms/select/Select.esm.js +0 -394
- package/dist/v2/components/forms/select/Select.esm.js.map +0 -1
- package/dist/v2/components/forms/select/Select.test.d.ts +0 -1
- package/dist/v2/components/forms/select/Select.test.d.ts.map +0 -1
- package/dist/v2/components/forms/select/index.cjs.js +0 -2
- package/dist/v2/components/forms/select/index.cjs.js.map +0 -1
- package/dist/v2/components/forms/select/index.d.ts +0 -3
- package/dist/v2/components/forms/select/index.d.ts.map +0 -1
- package/dist/v2/components/forms/select/index.esm.js +0 -7
- package/dist/v2/components/forms/select/index.esm.js.map +0 -1
- package/dist/v2/components/forms/shared/downArrow.cjs.js +0 -9
- package/dist/v2/components/forms/shared/downArrow.cjs.js.map +0 -1
- package/dist/v2/components/forms/shared/downArrow.d.ts +0 -2
- package/dist/v2/components/forms/shared/downArrow.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/downArrow.esm.js +0 -14
- package/dist/v2/components/forms/shared/downArrow.esm.js.map +0 -1
- package/dist/v2/components/forms/shared/keyboard.cjs.js +0 -2
- package/dist/v2/components/forms/shared/keyboard.cjs.js.map +0 -1
- package/dist/v2/components/forms/shared/keyboard.d.ts +0 -7
- package/dist/v2/components/forms/shared/keyboard.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/keyboard.esm.js +0 -34
- package/dist/v2/components/forms/shared/keyboard.esm.js.map +0 -1
- package/dist/v2/components/forms/shared/listboxStyles.cjs.js +0 -95
- package/dist/v2/components/forms/shared/listboxStyles.cjs.js.map +0 -1
- package/dist/v2/components/forms/shared/listboxStyles.d.ts +0 -2
- package/dist/v2/components/forms/shared/listboxStyles.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/listboxStyles.esm.js +0 -100
- package/dist/v2/components/forms/shared/listboxStyles.esm.js.map +0 -1
- package/dist/v2/components/forms/shared/listboxTemplate.cjs.js +0 -24
- package/dist/v2/components/forms/shared/listboxTemplate.cjs.js.map +0 -1
- package/dist/v2/components/forms/shared/listboxTemplate.d.ts +0 -11
- package/dist/v2/components/forms/shared/listboxTemplate.d.ts.map +0 -1
- package/dist/v2/components/forms/shared/listboxTemplate.esm.js +0 -37
- package/dist/v2/components/forms/shared/listboxTemplate.esm.js.map +0 -1
- package/dist/v2/components/forms/shared/optionTypes.d.ts +0 -6
- package/dist/v2/components/forms/shared/optionTypes.d.ts.map +0 -1
- package/dist/v2/components/layout/header/Header.cjs.js +0 -625
- package/dist/v2/components/layout/header/Header.cjs.js.map +0 -1
- package/dist/v2/components/layout/header/Header.d.ts +0 -160
- package/dist/v2/components/layout/header/Header.d.ts.map +0 -1
- package/dist/v2/components/layout/header/Header.esm.js +0 -873
- package/dist/v2/components/layout/header/Header.esm.js.map +0 -1
- package/dist/v2/components/layout/header/header.test.d.ts +0 -1
- package/dist/v2/components/layout/header/header.test.d.ts.map +0 -1
- package/dist/v2/components/layout/header/index.cjs.js +0 -2
- package/dist/v2/components/layout/header/index.cjs.js.map +0 -1
- package/dist/v2/components/layout/header/index.d.ts +0 -4
- package/dist/v2/components/layout/header/index.d.ts.map +0 -1
- package/dist/v2/components/layout/header/index.esm.js +0 -7
- package/dist/v2/components/layout/header/index.esm.js.map +0 -1
- /package/dist/{primitives/components → components}/avatar/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/combobox-option/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/dialog/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/dialog-content/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/dialog-footer/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/dialog-header/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/dialog-provider/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/dialogs-root/index.d.ts +0 -0
- /package/dist/{primitives/components → components}/guard/index.d.ts +0 -0
- /package/dist/{primitives/components → components}/login-button/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/login-modal/index.d.ts +0 -0
- /package/dist/{primitives/components → components}/logout-button/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/menu/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/menu-item/index.d.ts +0 -0
- /package/dist/{design-system/components → components}/provider/index.d.ts +0 -0
- /package/dist/{primitives/components → components}/signup-button/index.d.ts +0 -0
- /package/dist/{primitives/lib → lib}/auth/Account.d.ts +0 -0
- /package/dist/{primitives/lib → lib}/auth/NoopAuth.d.ts +0 -0
- /package/dist/{primitives/lib → lib}/auth/context.cjs.js +0 -0
- /package/dist/{primitives/lib → lib}/auth/context.d.ts +0 -0
- /package/dist/{design-system/lib → lib/components}/ids.cjs.js +0 -0
- /package/dist/{design-system/lib → lib/components}/ids.d.ts +0 -0
- /package/dist/{design-system/lib → lib}/dialogs/events/show-dialog.d.ts +0 -0
- /package/dist/{design-system/lib → storybook}/internals.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","names":["ContextClass"],"sources":["../../src/utils/index.js"],"sourcesContent":["// Solid-UI general Utilities\n// ==========================\n//\n// This must load AFTER the rdflib.js and log-ext.js (or log.js).\n//\nimport * as log from '../lib/log'\nimport { store } from 'solid-logic'\nimport ns from '../lib/ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport { label } from './label'\n\nconst UI = { log, ns, rdf }\n\nexport {\n addLoadEvent, // not used anywhere\n AJARImage,\n ancestor,\n beep,\n clearVariableNames,\n emptyNode,\n escapeForXML,\n findPos,\n genUuid,\n getAbout,\n getEyeFocus,\n getTarget,\n getTerm,\n hashColor,\n include,\n label,\n labelForXML,\n labelWithOntology,\n newVariableName,\n ontologyLabel,\n predicateLabel,\n predicateLabelForXML,\n predParentOf,\n RDFComparePredicateObject,\n RDFComparePredicateSubject,\n shortName,\n stackString,\n syncTableToArray,\n syncTableToArrayReOrdered\n}\n\nlet nextVariable = 0\n\nfunction newVariableName () {\n return 'v' + nextVariable++\n}\n\nfunction clearVariableNames () {\n nextVariable = 0\n}\n\n// http://stackoverflow.com/questions/879152/how-do-i-make-javascript-beep\n// http://www.tsheffler.com/blog/2013/05/14/audiocontext-noteonnoteoff-and-time-units/\n\nlet audioContext\n\nif (typeof AudioContext !== 'undefined') {\n audioContext = AudioContext\n} else if (typeof window !== 'undefined') {\n audioContext = window.AudioContext || window.webkitAudioContext\n}\n\nfunction beep () {\n if (!audioContext) {\n return\n } // Safari 2015\n\n const ContextClass = audioContext\n const ctx = new ContextClass()\n\n return function (duration, frequency, type, finishedCallback) {\n duration = +(duration || 0.3)\n\n // Only 0-4 are valid types.\n type = type || 'sine' // sine, square, sawtooth, triangle\n\n if (typeof finishedCallback !== 'function') {\n finishedCallback = function () {}\n }\n\n const osc = ctx.createOscillator()\n\n osc.type = type\n osc.frequency.value = frequency || 256\n\n osc.connect(ctx.destination)\n osc.start(0)\n osc.stop(duration)\n }\n}\n\n// Make pseudorandom color from a uri\n// NOT USED ANYWHERE\nfunction hashColor (who) {\n who = who.uri || who\n const hash = function (x) {\n return x.split('').reduce(function (a, b) {\n a = (a << 5) - a + b.charCodeAt(0)\n return a & a\n }, 0)\n }\n return '#' + ((hash(who) & 0xffffff) | 0xc0c0c0).toString(16) // c0c0c0 or 808080 forces pale\n}\n\nfunction genUuid () {\n // http://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0\n const v = c === 'x' ? r : (r & 0x3) | 0x8\n return v.toString(16)\n })\n}\n\n/** Sync a DOM table with an array of things\n *\n * @param {DomElement} table - will have a tr for each thing\n * @param {Array<NamedNode>} things - ORDERED array of NamedNode objects\n * @param {function({NamedNode})} createNewRow(thing) returns a TR table row for a new thing\n * @param {function(DomElement, NamedNode)} updateExistingRow(row, thing) optional hook for refreshing matched rows\n *\n * Tolerates out of order elements but puts new ones in order.\n * Can be used for any element type; does not have to be a table and tr.\n */\nfunction syncTableToArray (table, things, createNewRow, updateExistingRow) {\n let foundOne\n let row\n let i\n\n for (i = 0; i < table.children.length; i++) {\n row = table.children[i]\n row.trashMe = true\n }\n\n for (let g = 0; g < things.length; g++) {\n const thing = things[g]\n foundOne = false\n\n for (i = 0; i < table.children.length; i++) {\n row = table.children[i]\n if (row.subject && row.subject.sameTerm(thing)) {\n if (updateExistingRow) {\n const replacement = updateExistingRow(row, thing)\n if (replacement && replacement !== row) {\n row.parentNode.replaceChild(replacement, row)\n replacement.subject = thing\n row = replacement\n }\n }\n row.trashMe = false\n foundOne = true\n break\n }\n }\n if (!foundOne) {\n const newRow = createNewRow(thing)\n // Insert new row in position g in the table to match array\n if (g >= table.children.length) {\n table.appendChild(newRow)\n } else {\n const ele = table.children[g]\n table.insertBefore(newRow, ele)\n }\n newRow.subject = thing\n } // if not foundOne\n } // loop g\n\n for (i = 0; i < table.children.length; i++) {\n row = table.children[i]\n if (row.trashMe) {\n table.removeChild(row)\n }\n }\n} // syncTableToArray\n\n/** Sync a DOM table with an array of things\n *\n * @param {DomElement} table - will have a tr for each thing\n * @param {Array<NamedNode>} things - ORDERED array of UNIQUE NamedNode objects. No duplicates\n * @param {function({NamedNode})} createNewRow(thing) returns a rendering of a new thing\n *\n * Ensures order matches exacly. We will re-rder existing elements if necessary\n * Can be used for any element type; does not have to be a table and tr.\n * Any RDF node value can only appear ONCE in the array\n */\nfunction syncTableToArrayReOrdered (table, things, createNewRow) {\n const elementMap = {}\n\n for (let i = 0; i < table.children.length; i++) {\n const row = table.children[i]\n elementMap[row.subject.toNT()] = row // More sophisticaed would be to have a bag of duplicates\n }\n\n for (let g = 0; g < things.length; g++) {\n const thing = things[g]\n if (g >= table.children.length) { // table needs extending\n const newRow = createNewRow(thing)\n newRow.subject = thing\n table.appendChild(newRow)\n } else {\n const row = table.children[g]\n if (row.subject.sameTerm(thing)) {\n // ...\n } else {\n const existingRow = elementMap[thing.toNT()]\n if (existingRow) {\n table.removeChild(existingRow)\n table.insertBefore(existingRow, row) // Insert existing row in place of this one\n } else {\n const newRow = createNewRow(thing)\n row.before(newRow) // Insert existing row in place of this one\n newRow.subject = thing\n }\n }\n }\n } // loop g\n // Lop off any we don't need any more:\n while (table.children.length > things.length) {\n table.removeChild(table.children[table.children.length - 1])\n }\n} // syncTableToArrayReOrdered\n\n/* Error stack to string for better diagnotsics\n **\n ** See http://snippets.dzone.com/posts/show/6632\n */\nfunction stackString (e) {\n let str = '' + e + '\\n'\n let i\n if (!e.stack) {\n return str + 'No stack available.\\n'\n }\n const lines = e.stack.toString().split('\\n')\n const toPrint = []\n for (i = 0; i < lines.length; i++) {\n let line = lines[i]\n if (line.indexOf('ecmaunit.js') > -1) {\n // remove useless bit of traceback\n break\n }\n if (line.charAt(0) === '(') {\n line = 'function' + line\n }\n const chunks = line.split('@')\n toPrint.push(chunks)\n }\n // toPrint.reverse(); No - I prefer the latest at the top by the error message -tbl\n\n for (i = 0; i < toPrint.length; i++) {\n str += ' ' + toPrint[i][1] + '\\n ' + toPrint[i][0]\n }\n return str\n}\n\nfunction emptyNode (node) {\n const nodes = node.childNodes\n const len = nodes.length\n for (let i = len - 1; i >= 0; i--) node.removeChild(nodes[i])\n return node\n}\n\nfunction getTarget (e) {\n let target\n e = e || window.event\n if (e.target) target = e.target\n else if (e.srcElement) target = e.srcElement\n if (target.nodeType === 3) {\n // defeat Safari bug [sic]\n target = target.parentNode\n }\n // UI.log.debug(\"Click on: \" + target.tagName)\n return target\n}\n\nfunction ancestor (target, tagName) {\n let level\n for (level = target; level; level = level.parentNode) {\n // UI.log.debug(\"looking for \"+tagName+\" Level: \"+level+\" \"+level.tagName)\n try {\n if (level.tagName === tagName) return level\n } catch (e) {\n // can hit \"TypeError: can't access dead object\" in ffox\n return undefined\n }\n }\n return undefined\n}\n\nfunction getAbout (kb, target) {\n let level, aa\n for (\n level = target;\n level && level.nodeType === 1;\n level = level.parentNode\n ) {\n // UI.log.debug(\"Level \"+level + ' '+level.nodeType + ': '+level.tagName)\n aa = level.getAttribute('about')\n if (aa) {\n // UI.log.debug(\"kb.fromNT(aa) = \" + kb.fromNT(aa))\n return kb.fromNT(aa)\n // } else {\n // if (level.tagName=='TR') return undefined//this is to prevent literals passing through\n }\n }\n UI.log.debug('getAbout: No about found')\n return undefined\n}\n\nfunction getTerm (target) {\n const statementTr = target.parentNode\n const st = statementTr ? statementTr.AJAR_statement : undefined\n\n const className = st ? target.className : '' // if no st then it's necessary to use getAbout\n switch (className) {\n case 'pred':\n case 'pred selected':\n return st.predicate\n case 'obj':\n case 'obj selected':\n if (!statementTr.AJAR_inverse) {\n return st.object\n } else {\n return st.subject\n }\n case '':\n case 'selected': // header TD\n return getAbout(store, target) // kb to be changed\n case 'undetermined selected':\n return target.nextSibling\n ? st.predicate\n : !statementTr.AJAR_inverse\n ? st.object\n : st.subject\n }\n}\n\nfunction include (document, linkstr) {\n const lnk = document.createElement('script')\n lnk.setAttribute('type', 'text/javascript')\n lnk.setAttribute('src', linkstr)\n // TODO:This needs to be fixed or no longer used.\n // document.getElementsByTagName('head')[0].appendChild(lnk)\n return lnk\n}\n\nfunction addLoadEvent (func) {\n const oldonload = window.onload\n if (typeof window.onload !== 'function') {\n window.onload = func\n } else {\n window.onload = function () {\n oldonload()\n func()\n }\n }\n} // addLoadEvent\n\n// Find the position of an object relative to the window\nfunction findPos (obj) {\n // C&P from http://www.quirksmode.org/js/findpos.html\n const myDocument = obj.ownerDocument\n const DocBox = myDocument.documentElement.getBoundingClientRect()\n const box = obj.getBoundingClientRect()\n return [box.left - DocBox.left, box.top - DocBox.top]\n}\n\nfunction getEyeFocus (element, instantly, isBottom, myWindow) {\n if (!myWindow) myWindow = window\n const elementPosY = findPos(element)[1]\n const appContext = window.SolidAppContext || {}\n const scrollDiff = (appContext && appContext.scroll) || 52 // 52 = magic number for web-based version\n const totalScroll = elementPosY - scrollDiff - myWindow.scrollY\n\n if (instantly) {\n if (isBottom) {\n myWindow.scrollBy(\n 0,\n elementPosY +\n element.clientHeight -\n (myWindow.scrollY + myWindow.innerHeight)\n )\n return\n }\n myWindow.scrollBy(0, totalScroll)\n return\n }\n const id = myWindow.setInterval(scrollAmount, 50)\n let times = 0\n function scrollAmount () {\n myWindow.scrollBy(0, totalScroll / 10)\n times++\n if (times === 10) {\n myWindow.clearInterval(id)\n }\n }\n}\n\nfunction AJARImage (src, alt, tt, doc) {\n if (!doc) {\n doc = document\n }\n const image = doc.createElement('img')\n image.setAttribute('src', src)\n image.addEventListener('copy', function (e) {\n e.clipboardData.setData('text/plain', '')\n e.clipboardData.setData('text/html', '')\n e.preventDefault() // We want no title data to be written to the clipboard\n })\n // if (typeof alt != 'undefined') // Messes up cut-and-paste of text\n // image.setAttribute('alt', alt)\n if (typeof tt !== 'undefined') {\n image.setAttribute('title', tt)\n }\n return image\n}\n\n// Make short name for ontology\n\nfunction shortName (uri) {\n let p = uri\n if ('#/'.indexOf(p[p.length - 1]) >= 0) p = p.slice(0, -1)\n const namespaces = []\n for (const ns in this.prefixes) {\n namespaces[this.prefixes[ns]] = ns // reverse index\n }\n let pok\n const canUse = function canUse (pp) {\n // if (!__Serializer.prototype.validPrefix.test(pp)) return false; // bad format\n if (pp === 'ns') return false // boring\n // if (pp in this.namespaces) return false; // already used\n // this.prefixes[uri] = pp;\n // this.namespaces[pp] = uri;\n pok = pp\n return true\n }\n\n let i\n const hash = p.lastIndexOf('#')\n if (hash >= 0) p = p.slice(hash - 1) // lop off localid\n // eslint-disable-next-line no-unreachable-loop\n for (;;) {\n const slash = p.lastIndexOf('/')\n if (slash >= 0) p = p.slice(slash + 1)\n i = 0\n while (i < p.length) {\n if (this.prefixchars.indexOf(p[i])) i++\n else break\n }\n p = p.slice(0, i)\n if (p.length < 6 && canUse(p)) return pok // exact i sbest\n if (canUse(p.slice(0, 3))) return pok\n if (canUse(p.slice(0, 2))) return pok\n if (canUse(p.slice(0, 4))) return pok\n if (canUse(p.slice(0, 1))) return pok\n if (canUse(p.slice(0, 5))) return pok\n for (i = 0; ; i++) if (canUse(p.slice(0, 3) + i)) return pok\n }\n}\n\n// Short name for an ontology\nfunction ontologyLabel (term) {\n if (term.uri === undefined) return '??'\n let s = term.uri\n const namespaces = []\n let i = s.lastIndexOf('#')\n let part\n if (i >= 0) {\n s = s.slice(0, i + 1)\n } else {\n i = s.lastIndexOf('/')\n if (i >= 0) {\n s = s.slice(0, i + 1)\n } else {\n return term.uri + '?!' // strange should have # or /\n }\n }\n for (const ns in UI.ns) {\n namespaces[UI.ns[ns]] = ns // reverse index\n }\n try {\n return namespaces[s]\n } catch (e) {}\n\n s = s.slice(0, -1) // Chop off delimiter ... now have just\n\n while (s) {\n i = s.lastIndexOf('/')\n if (i >= 0) {\n part = s.slice(i + 1)\n s = s.slice(0, i)\n if (part !== 'ns' && '0123456789'.indexOf(part[0]) < 0) {\n return part\n }\n } else {\n return term.uri + '!?' // strange should have a nice part\n }\n }\n}\n\nfunction labelWithOntology (x, initialCap) {\n const t = store.findTypeURIs(x)\n if (t[UI.ns.rdf('Predicate').uri] || t[UI.ns.rdfs('Class').uri]) {\n return label(x, initialCap) + ' (' + ontologyLabel(x) + ')'\n }\n return label(x, initialCap)\n}\n\nfunction escapeForXML (str) {\n return str.replace(/&/g, '&').replace(/</g, '<')\n}\n\n// As above but escaped for XML and chopped of contains a slash\nfunction labelForXML (x) {\n return escapeForXML(label(x))\n}\n\nfunction predicateLabelForXML (p, inverse) {\n return escapeForXML(predicateLabel(p, inverse))\n}\n// As above but for predicate, possibly inverse\nfunction predicateLabel (p, inverse) {\n const lab = label(p)\n if (inverse) {\n // If we know an inverse predicate, use its label\n const ip = store.any(p, UI.ns.owl('inverseOf')) || store.any(undefined, UI.ns.owl('inverseOf'), p)\n if (ip) return label(ip)\n if (lab === 'type') return '...' // Not \"is type of\"\n return 'is ' + lab + ' of'\n }\n return lab\n}\n\n// Not a method. For use in sorts\nfunction RDFComparePredicateObject (self, other) {\n const x = self.predicate.compareTerm(other.predicate)\n if (x !== 0) return x\n return self.object.compareTerm(other.object)\n}\n\nfunction RDFComparePredicateSubject (self, other) {\n const x = self.predicate.compareTerm(other.predicate)\n if (x !== 0) return x\n return self.subject.compareTerm(other.subject)\n}\n// ends\n\nfunction predParentOf (node) {\n let n = node\n while (true) {\n if (n.getAttribute('predTR')) {\n return n\n } else if (n.previousSibling && n.previousSibling.nodeName === 'TR') {\n n = n.previousSibling\n } else {\n UI.log.error('Could not find predParent')\n return node\n }\n }\n}\n\n// makeQueryRow moved to outline mode\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWM,IAAK;CAAE,KAAA;CAAK,IAAA;CAAI;AAAI,GAkCtB,IAAe;AAEnB,SAAS,IAAmB;CAC1B,OAAO,MAAM;AACf;AAEA,SAAS,IAAsB;CAC7B,IAAe;AACjB;AAKA,IAAI;AAEA,OAAO,eAAiB,MAC1B,IAAe,eACN,OAAO,SAAW,QAC3B,IAAe,OAAO,gBAAgB,OAAO;AAG/C,SAAS,IAAQ;CACf,IAAI,CAAC,GACH;CAIF,IAAM,IAAM,IAAIA,EAAa;CAE7B,OAAO,SAAU,GAAU,GAAW,GAAM,GAAkB;EAM5D,AALA,IAAW,EAAE,KAAY,KAGzB,MAAe,QAEX,OAAO,KAAqB,eAC9B,IAAmB,WAAY,CAAC;EAGlC,IAAM,IAAM,EAAI,iBAAiB;EAOjC,AALA,EAAI,OAAO,GACX,EAAI,UAAU,QAAQ,KAAa,KAEnC,EAAI,QAAQ,EAAI,WAAW,GAC3B,EAAI,MAAM,CAAC,GACX,EAAI,KAAK,CAAQ;CACnB;AACF;AAIA,SAAS,EAAW,GAAK;CAQvB,OAPA,IAAM,EAAI,OAAO,GAOV,OAAQ,SANQ,GAAG;EACxB,OAAO,EAAE,MAAM,EAAE,EAAE,OAAO,SAAU,GAAG,GAAG;GAExC,OADA,KAAK,KAAK,KAAK,IAAI,EAAE,WAAW,CAAC,GAC1B,IAAI;EACb,GAAG,CAAC;CACN,EACoB,CAAG,IAAI,WAAY,UAAU,SAAS,EAAE;AAC9D;AAEA,SAAS,IAAW;CAElB,OAAO,uCAAuC,QAAQ,SAAS,SAAU,GAAG;EAC1E,IAAM,IAAK,KAAK,OAAO,IAAI,KAAM;EAEjC,QADU,MAAM,MAAM,IAAK,IAAI,IAAO,GAC7B,SAAS,EAAE;CACtB,CAAC;AACH;AAYA,SAAS,EAAkB,GAAO,GAAQ,GAAc,GAAmB;CACzE,IAAI,GACA,GACA;CAEJ,KAAK,IAAI,GAAG,IAAI,EAAM,SAAS,QAAQ,KAErC,AADA,IAAM,EAAM,SAAS,IACrB,EAAI,UAAU;CAGhB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAO,QAAQ,KAAK;EACtC,IAAM,IAAQ,EAAO;EAGrB,KAFA,IAAW,IAEN,IAAI,GAAG,IAAI,EAAM,SAAS,QAAQ,KAErC,IADA,IAAM,EAAM,SAAS,IACjB,EAAI,WAAW,EAAI,QAAQ,SAAS,CAAK,GAAG;GAC9C,IAAI,GAAmB;IACrB,IAAM,IAAc,EAAkB,GAAK,CAAK;IAChD,AAAI,KAAe,MAAgB,MACjC,EAAI,WAAW,aAAa,GAAa,CAAG,GAC5C,EAAY,UAAU,GACtB,IAAM;GAEV;GAEA,AADA,EAAI,UAAU,IACd,IAAW;GACX;EACF;EAEF,IAAI,CAAC,GAAU;GACb,IAAM,IAAS,EAAa,CAAK;GAEjC,IAAI,KAAK,EAAM,SAAS,QACtB,EAAM,YAAY,CAAM;QACnB;IACL,IAAM,IAAM,EAAM,SAAS;IAC3B,EAAM,aAAa,GAAQ,CAAG;GAChC;GACA,EAAO,UAAU;EACnB;CACF;CAEA,KAAK,IAAI,GAAG,IAAI,EAAM,SAAS,QAAQ,KAErC,AADA,IAAM,EAAM,SAAS,IACjB,EAAI,WACN,EAAM,YAAY,CAAG;AAG3B;AAYA,SAAS,EAA2B,GAAO,GAAQ,GAAc;CAC/D,IAAM,IAAa,CAAC;CAEpB,KAAK,IAAI,IAAI,GAAG,IAAI,EAAM,SAAS,QAAQ,KAAK;EAC9C,IAAM,IAAM,EAAM,SAAS;EAC3B,EAAW,EAAI,QAAQ,KAAK,KAAK;CACnC;CAEA,KAAK,IAAI,IAAI,GAAG,IAAI,EAAO,QAAQ,KAAK;EACtC,IAAM,IAAQ,EAAO;EACrB,IAAI,KAAK,EAAM,SAAS,QAAQ;GAC9B,IAAM,IAAS,EAAa,CAAK;GAEjC,AADA,EAAO,UAAU,GACjB,EAAM,YAAY,CAAM;EAC1B,OAAO;GACL,IAAM,IAAM,EAAM,SAAS;GAC3B,IAAI,GAAI,QAAQ,SAAS,CAAK,GAEvB;IACL,IAAM,IAAc,EAAW,EAAM,KAAK;IAC1C,IAAI,GAEF,AADA,EAAM,YAAY,CAAW,GAC7B,EAAM,aAAa,GAAa,CAAG;SAC9B;KACL,IAAM,IAAS,EAAa,CAAK;KAEjC,AADA,EAAI,OAAO,CAAM,GACjB,EAAO,UAAU;IACnB;GACF;EACF;CACF;CAEA,OAAO,EAAM,SAAS,SAAS,EAAO,SACpC,EAAM,YAAY,EAAM,SAAS,EAAM,SAAS,SAAS,EAAE;AAE/D;AAMA,SAAS,EAAa,GAAG;CACvB,IAAI,IAAM,KAAK,IAAI,MACf;CACJ,IAAI,CAAC,EAAE,OACL,OAAO,IAAM;CAEf,IAAM,IAAQ,EAAE,MAAM,SAAS,EAAE,MAAM,IAAI,GACrC,IAAU,CAAC;CACjB,KAAK,IAAI,GAAG,IAAI,EAAM,QAAQ,KAAK;EACjC,IAAI,IAAO,EAAM;EACjB,IAAI,EAAK,QAAQ,aAAa,IAAI,IAEhC;EAEF,AAAI,EAAK,OAAO,CAAC,MAAM,QACrB,IAAO,aAAa;EAEtB,IAAM,IAAS,EAAK,MAAM,GAAG;EAC7B,EAAQ,KAAK,CAAM;CACrB;CAGA,KAAK,IAAI,GAAG,IAAI,EAAQ,QAAQ,KAC9B,KAAO,OAAO,EAAQ,GAAG,KAAK,WAAW,EAAQ,GAAG;CAEtD,OAAO;AACT;AAEA,SAAS,EAAW,GAAM;CACxB,IAAM,IAAQ,EAAK,YACb,IAAM,EAAM;CAClB,KAAK,IAAI,IAAI,IAAM,GAAG,KAAK,GAAG,KAAK,EAAK,YAAY,EAAM,EAAE;CAC5D,OAAO;AACT;AAEA,SAAS,EAAW,GAAG;CACrB,IAAI;CASJ,OARA,MAAS,OAAO,OACZ,EAAE,SAAQ,IAAS,EAAE,SAChB,EAAE,eAAY,IAAS,EAAE,aAC9B,EAAO,aAAa,MAEtB,IAAS,EAAO,aAGX;AACT;AAEA,SAAS,EAAU,GAAQ,GAAS;CAClC,IAAI;CACJ,KAAK,IAAQ,GAAQ,GAAO,IAAQ,EAAM,YAExC,IAAI;EACF,IAAI,EAAM,YAAY,GAAS,OAAO;CACxC,QAAY;EAEV;CACF;AAGJ;AAEA,SAAS,EAAU,GAAI,GAAQ;CAC7B,IAAI,GAAO;CACX,KACE,IAAQ,GACR,KAAS,EAAM,aAAa,GAC5B,IAAQ,EAAM,YAId,IADA,IAAK,EAAM,aAAa,OAAO,GAC3B,GAEF,OAAO,EAAG,OAAO,CAAE;CAKvB,EAAG,IAAI,MAAM,0BAA0B;AAEzC;AAEA,SAAS,EAAS,GAAQ;CACxB,IAAM,IAAc,EAAO,YACrB,IAAK,IAAc,EAAY,iBAAiB,KAAA;CAGtD,QADkB,IAAK,EAAO,YAAY,IAC1C;EACE,KAAK;EACL,KAAK,iBACH,OAAO,EAAG;EACZ,KAAK;EACL,KAAK,gBAED,OADG,EAAY,eAGR,EAAG,UAFH,EAAG;EAId,KAAK;EACL,KAAK,YACH,OAAO,EAAS,GAAO,CAAM;EAC/B,KAAK,yBACH,OAAO,EAAO,cACV,EAAG,YACF,EAAY,eAET,EAAG,UADH,EAAG;CAEf;AACF;AAEA,SAAS,EAAS,GAAU,GAAS;CACnC,IAAM,IAAM,EAAS,cAAc,QAAQ;CAK3C,OAJA,EAAI,aAAa,QAAQ,iBAAiB,GAC1C,EAAI,aAAa,OAAO,CAAO,GAGxB;AACT;AAEA,SAAS,EAAc,GAAM;CAC3B,IAAM,IAAY,OAAO;CACzB,AAAI,OAAO,OAAO,UAAW,aAG3B,OAAO,SAAS,WAAY;EAE1B,AADA,EAAU,GACV,EAAK;CACP,IALA,OAAO,SAAS;AAOpB;AAGA,SAAS,EAAS,GAAK;CAGrB,IAAM,IADa,EAAI,cACG,gBAAgB,sBAAsB,GAC1D,IAAM,EAAI,sBAAsB;CACtC,OAAO,CAAC,EAAI,OAAO,EAAO,MAAM,EAAI,MAAM,EAAO,GAAG;AACtD;AAEA,SAAS,EAAa,GAAS,GAAW,GAAU,GAAU;CAC5D,AAAe,MAAW;CAC1B,IAAM,IAAc,EAAQ,CAAO,EAAE,IAC/B,IAAa,OAAO,mBAAmB,CAAC,GAExC,IAAc,KADA,KAAc,EAAW,UAAW,MACT,EAAS;CAExD,IAAI,GAAW;EACb,IAAI,GAAU;GACZ,EAAS,SACP,GACA,IACA,EAAQ,gBACP,EAAS,UAAU,EAAS,YAC/B;GACA;EACF;EACA,EAAS,SAAS,GAAG,CAAW;EAChC;CACF;CACA,IAAM,IAAK,EAAS,YAAY,GAAc,EAAE,GAC5C,IAAQ;CACZ,SAAS,IAAgB;EAGvB,AAFA,EAAS,SAAS,GAAG,IAAc,EAAE,GACrC,KACI,MAAU,MACZ,EAAS,cAAc,CAAE;CAE7B;AACF;AAEA,SAAS,EAAW,GAAK,GAAK,GAAI,GAAK;CACrC,AACE,MAAM;CAER,IAAM,IAAQ,EAAI,cAAc,KAAK;CAYrC,OAXA,EAAM,aAAa,OAAO,CAAG,GAC7B,EAAM,iBAAiB,QAAQ,SAAU,GAAG;EAG1C,AAFA,EAAE,cAAc,QAAQ,cAAc,EAAE,GACxC,EAAE,cAAc,QAAQ,aAAa,EAAE,GACvC,EAAE,eAAe;CACnB,CAAC,GAGU,MAAO,UAChB,EAAM,aAAa,SAAS,CAAE,GAEzB;AACT;AAIA,SAAS,EAAW,GAAK;CACvB,IAAI,IAAI;CACR,AAAI,KAAK,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,MAAG,IAAI,EAAE,MAAM,GAAG,EAAE;CACzD,IAAM,IAAa,CAAC;CACpB,KAAK,IAAM,KAAM,KAAK,UACpB,EAAW,KAAK,SAAS,MAAO;CAElC,IAAI,GACE,IAAS,SAAiB,GAAI;EAOlC,OALI,MAAO,OAAa,MAIxB,IAAM,GACC;CACT,GAEI,GACE,IAAO,EAAE,YAAY,GAAG;CAG9B,KAFI,KAAQ,MAAG,IAAI,EAAE,MAAM,IAAO,CAAC,MAE1B;EACP,IAAM,IAAQ,EAAE,YAAY,GAAG;EAG/B,KAFI,KAAS,MAAG,IAAI,EAAE,MAAM,IAAQ,CAAC,IACrC,IAAI,GACG,IAAI,EAAE,UACP,KAAK,YAAY,QAAQ,EAAE,EAAE,IAAG;EAStC,IANA,IAAI,EAAE,MAAM,GAAG,CAAC,GACZ,EAAE,SAAS,KAAK,EAAO,CAAC,KACxB,EAAO,EAAE,MAAM,GAAG,CAAC,CAAC,KACpB,EAAO,EAAE,MAAM,GAAG,CAAC,CAAC,KACpB,EAAO,EAAE,MAAM,GAAG,CAAC,CAAC,KACpB,EAAO,EAAE,MAAM,GAAG,CAAC,CAAC,KACpB,EAAO,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO;EAClC,KAAK,IAAI,IAAK,KAAK,IAAI,EAAO,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO;CAC3D;AACF;AAGA,SAAS,EAAe,GAAM;CAC5B,IAAI,EAAK,QAAQ,KAAA,GAAW,OAAO;CACnC,IAAI,IAAI,EAAK,KACP,IAAa,CAAC,GAChB,IAAI,EAAE,YAAY,GAAG,GACrB;CACJ,IAAI,KAAK,GACP,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;MAGpB,IADA,IAAI,EAAE,YAAY,GAAG,GACjB,KAAK,GACP,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;MAEpB,OAAO,EAAK,MAAM;CAGtB,KAAK,IAAM,KAAM,EAAG,IAClB,EAAW,EAAG,GAAG,MAAO;CAE1B,IAAI;EACF,OAAO,EAAW;CACpB,QAAY,CAAC;CAIb,KAFA,IAAI,EAAE,MAAM,GAAG,EAAE,GAEV,IAEL,IADA,IAAI,EAAE,YAAY,GAAG,GACjB,KAAK,GAGP;MAFA,IAAO,EAAE,MAAM,IAAI,CAAC,GACpB,IAAI,EAAE,MAAM,GAAG,CAAC,GACZ,MAAS,QAAQ,aAAa,QAAQ,EAAK,EAAE,IAAI,GACnD,OAAO;CAAA,OAGT,OAAO,EAAK,MAAM;AAGxB;AAEA,SAAS,EAAmB,GAAG,GAAY;CACzC,IAAM,IAAI,EAAM,aAAa,CAAC;CAI9B,OAHI,EAAE,EAAG,GAAG,IAAI,WAAW,EAAE,QAAQ,EAAE,EAAG,GAAG,KAAK,OAAO,EAAE,OAClD,EAAM,GAAG,CAAU,IAAI,OAAO,EAAc,CAAC,IAAI,MAEnD,EAAM,GAAG,CAAU;AAC5B;AAEA,SAAS,EAAc,GAAK;CAC1B,OAAO,EAAI,QAAQ,MAAM,OAAO,EAAE,QAAQ,MAAM,MAAM;AACxD;AAGA,SAAS,EAAa,GAAG;CACvB,OAAO,EAAa,EAAM,CAAC,CAAC;AAC9B;AAEA,SAAS,EAAsB,GAAG,GAAS;CACzC,OAAO,EAAa,EAAe,GAAG,CAAO,CAAC;AAChD;AAEA,SAAS,EAAgB,GAAG,GAAS;CACnC,IAAM,IAAM,EAAM,CAAC;CACnB,IAAI,GAAS;EAEX,IAAM,IAAK,EAAM,IAAI,GAAG,EAAG,GAAG,IAAI,WAAW,CAAC,KAAK,EAAM,IAAI,KAAA,GAAW,EAAG,GAAG,IAAI,WAAW,GAAG,CAAC;EAGjG,OAFI,IAAW,EAAM,CAAE,IACnB,MAAQ,SAAe,QACpB,QAAQ,IAAM;CACvB;CACA,OAAO;AACT;AAGA,SAAS,EAA2B,GAAM,GAAO;CAC/C,IAAM,IAAI,EAAK,UAAU,YAAY,EAAM,SAAS;CAEpD,OADI,MAAM,IACH,EAAK,OAAO,YAAY,EAAM,MAAM,IADvB;AAEtB;AAEA,SAAS,EAA4B,GAAM,GAAO;CAChD,IAAM,IAAI,EAAK,UAAU,YAAY,EAAM,SAAS;CAEpD,OADI,MAAM,IACH,EAAK,QAAQ,YAAY,EAAM,OAAO,IADzB;AAEtB;AAGA,SAAS,EAAc,GAAM;CAC3B,IAAI,IAAI;CACR,SACE,IAAI,EAAE,aAAa,QAAQ,GACzB,OAAO;MACF,IAAI,EAAE,mBAAmB,EAAE,gBAAgB,aAAa,MAC7D,IAAI,EAAE;MAGN,OADA,EAAG,IAAI,MAAM,2BAA2B,GACjC;AAGb"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","names":["ContextClass"],"sources":["../../src/utils/index.js"],"sourcesContent":["// Solid-UI general Utilities\n// ==========================\n//\n// This must load AFTER the rdflib.js and log-ext.js (or log.js).\n//\nimport * as log from '../lib/log'\nimport { store } from 'solid-logic'\nimport ns from '../lib/ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\nimport { label } from './label'\n\nconst UI = { log, ns, rdf }\n\nexport {\n addLoadEvent, // not used anywhere\n AJARImage,\n ancestor,\n beep,\n clearVariableNames,\n emptyNode,\n escapeForXML,\n findPos,\n genUuid,\n getAbout,\n getEyeFocus,\n getTarget,\n getTerm,\n hashColor,\n include,\n label,\n labelForXML,\n labelWithOntology,\n newVariableName,\n ontologyLabel,\n predicateLabel,\n predicateLabelForXML,\n predParentOf,\n RDFComparePredicateObject,\n RDFComparePredicateSubject,\n shortName,\n stackString,\n syncTableToArray,\n syncTableToArrayReOrdered\n}\n\nlet nextVariable = 0\n\nfunction newVariableName () {\n return 'v' + nextVariable++\n}\n\nfunction clearVariableNames () {\n nextVariable = 0\n}\n\n// http://stackoverflow.com/questions/879152/how-do-i-make-javascript-beep\n// http://www.tsheffler.com/blog/2013/05/14/audiocontext-noteonnoteoff-and-time-units/\n\nlet audioContext\n\nif (typeof AudioContext !== 'undefined') {\n audioContext = AudioContext\n} else if (typeof window !== 'undefined') {\n audioContext = window.AudioContext || window.webkitAudioContext\n}\n\nfunction beep () {\n if (!audioContext) {\n return\n } // Safari 2015\n\n const ContextClass = audioContext\n const ctx = new ContextClass()\n\n return function (duration, frequency, type, finishedCallback) {\n duration = +(duration || 0.3)\n\n // Only 0-4 are valid types.\n type = type || 'sine' // sine, square, sawtooth, triangle\n\n if (typeof finishedCallback !== 'function') {\n finishedCallback = function () {}\n }\n\n const osc = ctx.createOscillator()\n\n osc.type = type\n osc.frequency.value = frequency || 256\n\n osc.connect(ctx.destination)\n osc.start(0)\n osc.stop(duration)\n }\n}\n\n// Make pseudorandom color from a uri\n// NOT USED ANYWHERE\nfunction hashColor (who) {\n who = who.uri || who\n const hash = function (x) {\n return x.split('').reduce(function (a, b) {\n a = (a << 5) - a + b.charCodeAt(0)\n return a & a\n }, 0)\n }\n return '#' + ((hash(who) & 0xffffff) | 0xc0c0c0).toString(16) // c0c0c0 or 808080 forces pale\n}\n\nfunction genUuid () {\n // http://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0\n const v = c === 'x' ? r : (r & 0x3) | 0x8\n return v.toString(16)\n })\n}\n\n/** Sync a DOM table with an array of things\n *\n * @param {DomElement} table - will have a tr for each thing\n * @param {Array<NamedNode>} things - ORDERED array of NamedNode objects\n * @param {function({NamedNode})} createNewRow(thing) returns a TR table row for a new thing\n * @param {function(DomElement, NamedNode)} updateExistingRow(row, thing) optional hook for refreshing matched rows\n *\n * Tolerates out of order elements but puts new ones in order.\n * Can be used for any element type; does not have to be a table and tr.\n */\nfunction syncTableToArray (table, things, createNewRow, updateExistingRow) {\n let foundOne\n let row\n let i\n\n for (i = 0; i < table.children.length; i++) {\n row = table.children[i]\n row.trashMe = true\n }\n\n for (let g = 0; g < things.length; g++) {\n const thing = things[g]\n foundOne = false\n\n for (i = 0; i < table.children.length; i++) {\n row = table.children[i]\n if (row.subject && row.subject.sameTerm(thing)) {\n if (updateExistingRow) {\n const replacement = updateExistingRow(row, thing)\n if (replacement && replacement !== row) {\n row.parentNode.replaceChild(replacement, row)\n replacement.subject = thing\n row = replacement\n }\n }\n row.trashMe = false\n foundOne = true\n break\n }\n }\n if (!foundOne) {\n const newRow = createNewRow(thing)\n // Insert new row in position g in the table to match array\n if (g >= table.children.length) {\n table.appendChild(newRow)\n } else {\n const ele = table.children[g]\n table.insertBefore(newRow, ele)\n }\n newRow.subject = thing\n } // if not foundOne\n } // loop g\n\n for (i = 0; i < table.children.length; i++) {\n row = table.children[i]\n if (row.trashMe) {\n table.removeChild(row)\n }\n }\n} // syncTableToArray\n\n/** Sync a DOM table with an array of things\n *\n * @param {DomElement} table - will have a tr for each thing\n * @param {Array<NamedNode>} things - ORDERED array of UNIQUE NamedNode objects. No duplicates\n * @param {function({NamedNode})} createNewRow(thing) returns a rendering of a new thing\n *\n * Ensures order matches exacly. We will re-rder existing elements if necessary\n * Can be used for any element type; does not have to be a table and tr.\n * Any RDF node value can only appear ONCE in the array\n */\nfunction syncTableToArrayReOrdered (table, things, createNewRow) {\n const elementMap = {}\n\n for (let i = 0; i < table.children.length; i++) {\n const row = table.children[i]\n elementMap[row.subject.toNT()] = row // More sophisticaed would be to have a bag of duplicates\n }\n\n for (let g = 0; g < things.length; g++) {\n const thing = things[g]\n if (g >= table.children.length) { // table needs extending\n const newRow = createNewRow(thing)\n newRow.subject = thing\n table.appendChild(newRow)\n } else {\n const row = table.children[g]\n if (row.subject.sameTerm(thing)) {\n // ...\n } else {\n const existingRow = elementMap[thing.toNT()]\n if (existingRow) {\n table.removeChild(existingRow)\n table.insertBefore(existingRow, row) // Insert existing row in place of this one\n } else {\n const newRow = createNewRow(thing)\n row.before(newRow) // Insert existing row in place of this one\n newRow.subject = thing\n }\n }\n }\n } // loop g\n // Lop off any we don't need any more:\n while (table.children.length > things.length) {\n table.removeChild(table.children[table.children.length - 1])\n }\n} // syncTableToArrayReOrdered\n\n/* Error stack to string for better diagnotsics\n **\n ** See http://snippets.dzone.com/posts/show/6632\n */\nfunction stackString (e) {\n let str = '' + e + '\\n'\n let i\n if (!e.stack) {\n return str + 'No stack available.\\n'\n }\n const lines = e.stack.toString().split('\\n')\n const toPrint = []\n for (i = 0; i < lines.length; i++) {\n let line = lines[i]\n if (line.indexOf('ecmaunit.js') > -1) {\n // remove useless bit of traceback\n break\n }\n if (line.charAt(0) === '(') {\n line = 'function' + line\n }\n const chunks = line.split('@')\n toPrint.push(chunks)\n }\n // toPrint.reverse(); No - I prefer the latest at the top by the error message -tbl\n\n for (i = 0; i < toPrint.length; i++) {\n str += ' ' + toPrint[i][1] + '\\n ' + toPrint[i][0]\n }\n return str\n}\n\nfunction emptyNode (node) {\n const nodes = node.childNodes\n const len = nodes.length\n for (let i = len - 1; i >= 0; i--) node.removeChild(nodes[i])\n return node\n}\n\nfunction getTarget (e) {\n let target\n e = e || window.event\n if (e.target) target = e.target\n else if (e.srcElement) target = e.srcElement\n if (target.nodeType === 3) {\n // defeat Safari bug [sic]\n target = target.parentNode\n }\n // UI.log.debug(\"Click on: \" + target.tagName)\n return target\n}\n\nfunction ancestor (target, tagName) {\n let level\n for (level = target; level; level = level.parentNode) {\n // UI.log.debug(\"looking for \"+tagName+\" Level: \"+level+\" \"+level.tagName)\n try {\n if (level.tagName === tagName) return level\n } catch (e) {\n // can hit \"TypeError: can't access dead object\" in ffox\n return undefined\n }\n }\n return undefined\n}\n\nfunction getAbout (kb, target) {\n let level, aa\n for (\n level = target;\n level && level.nodeType === 1;\n level = level.parentNode\n ) {\n // UI.log.debug(\"Level \"+level + ' '+level.nodeType + ': '+level.tagName)\n aa = level.getAttribute('about')\n if (aa) {\n // UI.log.debug(\"kb.fromNT(aa) = \" + kb.fromNT(aa))\n return kb.fromNT(aa)\n // } else {\n // if (level.tagName=='TR') return undefined//this is to prevent literals passing through\n }\n }\n UI.log.debug('getAbout: No about found')\n return undefined\n}\n\nfunction getTerm (target) {\n const statementTr = target.parentNode\n const st = statementTr ? statementTr.AJAR_statement : undefined\n\n const className = st ? target.className : '' // if no st then it's necessary to use getAbout\n switch (className) {\n case 'pred':\n case 'pred selected':\n return st.predicate\n case 'obj':\n case 'obj selected':\n if (!statementTr.AJAR_inverse) {\n return st.object\n } else {\n return st.subject\n }\n case '':\n case 'selected': // header TD\n return getAbout(store, target) // kb to be changed\n case 'undetermined selected':\n return target.nextSibling\n ? st.predicate\n : !statementTr.AJAR_inverse\n ? st.object\n : st.subject\n }\n}\n\nfunction include (document, linkstr) {\n const lnk = document.createElement('script')\n lnk.setAttribute('type', 'text/javascript')\n lnk.setAttribute('src', linkstr)\n // TODO:This needs to be fixed or no longer used.\n // document.getElementsByTagName('head')[0].appendChild(lnk)\n return lnk\n}\n\nfunction addLoadEvent (func) {\n const oldonload = window.onload\n if (typeof window.onload !== 'function') {\n window.onload = func\n } else {\n window.onload = function () {\n oldonload()\n func()\n }\n }\n} // addLoadEvent\n\n// Find the position of an object relative to the window\nfunction findPos (obj) {\n // C&P from http://www.quirksmode.org/js/findpos.html\n const myDocument = obj.ownerDocument\n const DocBox = myDocument.documentElement.getBoundingClientRect()\n const box = obj.getBoundingClientRect()\n return [box.left - DocBox.left, box.top - DocBox.top]\n}\n\nfunction getEyeFocus (element, instantly, isBottom, myWindow) {\n if (!myWindow) myWindow = window\n const elementPosY = findPos(element)[1]\n const appContext = window.SolidAppContext || {}\n const scrollDiff = (appContext && appContext.scroll) || 52 // 52 = magic number for web-based version\n const totalScroll = elementPosY - scrollDiff - myWindow.scrollY\n\n if (instantly) {\n if (isBottom) {\n myWindow.scrollBy(\n 0,\n elementPosY +\n element.clientHeight -\n (myWindow.scrollY + myWindow.innerHeight)\n )\n return\n }\n myWindow.scrollBy(0, totalScroll)\n return\n }\n const id = myWindow.setInterval(scrollAmount, 50)\n let times = 0\n function scrollAmount () {\n myWindow.scrollBy(0, totalScroll / 10)\n times++\n if (times === 10) {\n myWindow.clearInterval(id)\n }\n }\n}\n\nfunction AJARImage (src, alt, tt, doc) {\n if (!doc) {\n doc = document\n }\n const image = doc.createElement('img')\n image.setAttribute('src', src)\n image.addEventListener('copy', function (e) {\n e.clipboardData.setData('text/plain', '')\n e.clipboardData.setData('text/html', '')\n e.preventDefault() // We want no title data to be written to the clipboard\n })\n // if (typeof alt != 'undefined') // Messes up cut-and-paste of text\n // image.setAttribute('alt', alt)\n if (typeof tt !== 'undefined') {\n image.setAttribute('title', tt)\n }\n return image\n}\n\n// Make short name for ontology\n\nfunction shortName (uri) {\n let p = uri\n if ('#/'.indexOf(p[p.length - 1]) >= 0) p = p.slice(0, -1)\n const namespaces = []\n for (const ns in this.prefixes) {\n namespaces[this.prefixes[ns]] = ns // reverse index\n }\n let pok\n const canUse = function canUse (pp) {\n // if (!__Serializer.prototype.validPrefix.test(pp)) return false; // bad format\n if (pp === 'ns') return false // boring\n // if (pp in this.namespaces) return false; // already used\n // this.prefixes[uri] = pp;\n // this.namespaces[pp] = uri;\n pok = pp\n return true\n }\n\n let i\n const hash = p.lastIndexOf('#')\n if (hash >= 0) p = p.slice(hash - 1) // lop off localid\n // eslint-disable-next-line no-unreachable-loop\n for (;;) {\n const slash = p.lastIndexOf('/')\n if (slash >= 0) p = p.slice(slash + 1)\n i = 0\n while (i < p.length) {\n if (this.prefixchars.indexOf(p[i])) i++\n else break\n }\n p = p.slice(0, i)\n if (p.length < 6 && canUse(p)) return pok // exact i sbest\n if (canUse(p.slice(0, 3))) return pok\n if (canUse(p.slice(0, 2))) return pok\n if (canUse(p.slice(0, 4))) return pok\n if (canUse(p.slice(0, 1))) return pok\n if (canUse(p.slice(0, 5))) return pok\n for (i = 0; ; i++) if (canUse(p.slice(0, 3) + i)) return pok\n }\n}\n\n// Short name for an ontology\nfunction ontologyLabel (term) {\n if (term.uri === undefined) return '??'\n let s = term.uri\n const namespaces = []\n let i = s.lastIndexOf('#')\n let part\n if (i >= 0) {\n s = s.slice(0, i + 1)\n } else {\n i = s.lastIndexOf('/')\n if (i >= 0) {\n s = s.slice(0, i + 1)\n } else {\n return term.uri + '?!' // strange should have # or /\n }\n }\n for (const ns in UI.ns) {\n namespaces[UI.ns[ns]] = ns // reverse index\n }\n try {\n return namespaces[s]\n } catch (e) {}\n\n s = s.slice(0, -1) // Chop off delimiter ... now have just\n\n while (s) {\n i = s.lastIndexOf('/')\n if (i >= 0) {\n part = s.slice(i + 1)\n s = s.slice(0, i)\n if (part !== 'ns' && '0123456789'.indexOf(part[0]) < 0) {\n return part\n }\n } else {\n return term.uri + '!?' // strange should have a nice part\n }\n }\n}\n\nfunction labelWithOntology (x, initialCap) {\n const t = store.findTypeURIs(x)\n if (t[UI.ns.rdf('Predicate').uri] || t[UI.ns.rdfs('Class').uri]) {\n return label(x, initialCap) + ' (' + ontologyLabel(x) + ')'\n }\n return label(x, initialCap)\n}\n\nfunction escapeForXML (str) {\n return str.replace(/&/g, '&').replace(/</g, '<')\n}\n\n// As above but escaped for XML and chopped of contains a slash\nfunction labelForXML (x) {\n return escapeForXML(label(x))\n}\n\nfunction predicateLabelForXML (p, inverse) {\n return escapeForXML(predicateLabel(p, inverse))\n}\n// As above but for predicate, possibly inverse\nfunction predicateLabel (p, inverse) {\n const lab = label(p)\n if (inverse) {\n // If we know an inverse predicate, use its label\n const ip = store.any(p, UI.ns.owl('inverseOf')) || store.any(undefined, UI.ns.owl('inverseOf'), p)\n if (ip) return label(ip)\n if (lab === 'type') return '...' // Not \"is type of\"\n return 'is ' + lab + ' of'\n }\n return lab\n}\n\n// Not a method. For use in sorts\nfunction RDFComparePredicateObject (self, other) {\n const x = self.predicate.compareTerm(other.predicate)\n if (x !== 0) return x\n return self.object.compareTerm(other.object)\n}\n\nfunction RDFComparePredicateSubject (self, other) {\n const x = self.predicate.compareTerm(other.predicate)\n if (x !== 0) return x\n return self.subject.compareTerm(other.subject)\n}\n// ends\n\nfunction predParentOf (node) {\n let n = node\n while (true) {\n if (n.getAttribute('predTR')) {\n return n\n } else if (n.previousSibling && n.previousSibling.nodeName === 'TR') {\n n = n.previousSibling\n } else {\n UI.log.error('Could not find predParent')\n return node\n }\n }\n}\n\n// makeQueryRow moved to outline mode\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../../lib/ns.cjs.js"),t=require("../../lib/debug.cjs.js"),n=require("./otherHelpers.cjs.js");let r=require("solid-logic");var i=e=>{let r;try{r=`${n.getRootIfPreferencesExist(e)}/profile/keys/publicKey.ttl`}catch(e){t.error(e)}return r},a=e=>{let r;try{r=`${n.getRootIfPreferencesExist(e)}/settings/keys/privateKey.ttl`}catch(e){t.error(e)}return r};async function o(e,t){return await c(e,t,`publicKey`)}async function s(e,t){return await c(e,t,`privateKey`)}async function c(n,i,a){try{return await r.store.fetcher.load(i),r.store.any(n,e.default.solid(a))?.value}catch(e){if(e.response.status===404){t.log(`createIfNotExists: doc does NOT exist, will create... `+i);try{await r.store.fetcher.webOperation(`PUT`,i,{data:``,contentType:`text/turtle`})}catch(e){throw t.log(`createIfNotExists doc FAILED: `+i+`: `+e),e}delete r.store.fetcher.requested[i];return}else throw t.log(`createIfNotExists doc FAILED: `+i+`: `+e),e}}exports.getExistingPrivateKey=s,exports.getExistingPublicKey=o,exports.privKeyUrl=a,exports.pubKeyUrl=i;
|
|
1
|
+
const e=require("../../lib/ns.cjs.js"),t=require("../../lib/debug.cjs.js"),n=require("./otherHelpers.cjs.js");let r=require("solid-logic");var i=e=>{let r;try{r=`${n.getRootIfPreferencesExist(e)}/profile/keys/publicKey.ttl`}catch(e){t.error(e)}return r},a=e=>{let r;try{r=`${n.getRootIfPreferencesExist(e)}/settings/keys/privateKey.ttl`}catch(e){t.error(e)}return r};async function o(e,t){return await c(e,t,`publicKey`)}async function s(e,t){return await c(e,t,`privateKey`)}async function c(n,i,a){try{return await r.store.fetcher.load(i),r.store.any(n,e.default.solid(a))?.value}catch(e){if(e.response.status===404){t.log(`createIfNotExists: doc does NOT exist, will create... `+i);try{await r.store.fetcher.webOperation(`PUT`,i,{data:``,contentType:`text/turtle`})}catch(e){throw t.log(`createIfNotExists doc FAILED: `+i+`: `+e),e}delete r.store.fetcher.requested[i];return}else throw t.log(`createIfNotExists doc FAILED: `+i+`: `+e),e}}exports.getExistingPrivateKey=s,exports.getExistingPublicKey=o,exports.getKeyIfExists=c,exports.privKeyUrl=a,exports.pubKeyUrl=i;
|
|
2
2
|
//# sourceMappingURL=accessData.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessData.cjs.js","names":[],"sources":["../../../src/utils/keyHelpers/accessData.ts"],"sourcesContent":["import * as debug from '../../lib/debug'\nimport { store } from 'solid-logic'\nimport ns from '../../lib/ns'\nimport { NamedNode } from 'rdflib'\nimport { getRootIfPreferencesExist } from './otherHelpers'\n\nexport const pubKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/profile/keys/publicKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport const privKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/settings/keys/privateKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport async function getExistingPublicKey (webId: NamedNode, publicKeyUrl: string) {\n // find publickey\n return await getKeyIfExists(webId, publicKeyUrl, 'publicKey')\n}\n\nexport async function getExistingPrivateKey (webId: NamedNode, privateKeyUrl: string) {\n // find privateKey\n return await getKeyIfExists(webId, privateKeyUrl, 'privateKey')\n}\n\ntype KeyType = 'publicKey' | 'privateKey'\n\nexport async function getKeyIfExists (webId: NamedNode, keyUrl: string, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(webId, ns.solid(keyType)) // store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists: doc does NOT exist, will create... ' + keyUrl\n )\n try {\n await store.fetcher.webOperation('PUT', keyUrl, {\n data: '',\n contentType: 'text/turtle'\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[keyUrl] // delete cached 404 error\n // debug.log('createIfNotExists doc created ok ' + doc)\n return undefined // response\n } else {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n }\n}\n"],"mappings":"2IAMA,IAAa,EAAa,GAAqB,CAC7C,IAAI,EACJ,GAAI,CAEF,EAAM,GADO,EAAA,0BAA0B,CAC9B,EAAK,4BAChB,OAAS,EAAK,CACZ,EAAA,MAAY,CAAG,CACjB,CACA,OAAO,CACT,EAEa,EAAc,GAAqB,CAC9C,IAAI,EACJ,GAAI,CAEF,EAAM,GADO,EAAA,0BAA0B,CAC9B,EAAK,8BAChB,OAAS,EAAK,CACZ,EAAA,MAAY,CAAG,CACjB,CACA,OAAO,CACT,EAEA,eAAsB,EAAsB,EAAkB,EAAsB,CAElF,OAAO,MAAM,EAAe,EAAO,EAAc,WAAW,CAC9D,CAEA,eAAsB,EAAuB,EAAkB,EAAuB,CAEpF,OAAO,MAAM,EAAe,EAAO,EAAe,YAAY,CAChE,CAIA,eAAsB,EAAgB,EAAkB,EAAgB,EAAkB,CACxF,GAAI,CAGF,OAFA,MAAM,EAAA,MAAM,QAAQ,KAAK,CAAM,EACnB,EAAA,MAAM,IAAI,EAAO,EAAA,QAAG,MAAM,CAAO,CACtC,
|
|
1
|
+
{"version":3,"file":"accessData.cjs.js","names":[],"sources":["../../../src/utils/keyHelpers/accessData.ts"],"sourcesContent":["import * as debug from '../../lib/debug'\nimport { store } from 'solid-logic'\nimport ns from '../../lib/ns'\nimport { NamedNode } from 'rdflib'\nimport { getRootIfPreferencesExist } from './otherHelpers'\n\nexport const pubKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/profile/keys/publicKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport const privKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/settings/keys/privateKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport async function getExistingPublicKey (webId: NamedNode, publicKeyUrl: string) {\n // find publickey\n return await getKeyIfExists(webId, publicKeyUrl, 'publicKey')\n}\n\nexport async function getExistingPrivateKey (webId: NamedNode, privateKeyUrl: string) {\n // find privateKey\n return await getKeyIfExists(webId, privateKeyUrl, 'privateKey')\n}\n\ntype KeyType = 'publicKey' | 'privateKey'\n\nexport async function getKeyIfExists (webId: NamedNode, keyUrl: string, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(webId, ns.solid(keyType)) // store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists: doc does NOT exist, will create... ' + keyUrl\n )\n try {\n await store.fetcher.webOperation('PUT', keyUrl, {\n data: '',\n contentType: 'text/turtle'\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[keyUrl] // delete cached 404 error\n // debug.log('createIfNotExists doc created ok ' + doc)\n return undefined // response\n } else {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n }\n}\n"],"mappings":"2IAMA,IAAa,EAAa,GAAqB,CAC7C,IAAI,EACJ,GAAI,CAEF,EAAM,GADO,EAAA,0BAA0B,CAC9B,EAAK,4BAChB,OAAS,EAAK,CACZ,EAAA,MAAY,CAAG,CACjB,CACA,OAAO,CACT,EAEa,EAAc,GAAqB,CAC9C,IAAI,EACJ,GAAI,CAEF,EAAM,GADO,EAAA,0BAA0B,CAC9B,EAAK,8BAChB,OAAS,EAAK,CACZ,EAAA,MAAY,CAAG,CACjB,CACA,OAAO,CACT,EAEA,eAAsB,EAAsB,EAAkB,EAAsB,CAElF,OAAO,MAAM,EAAe,EAAO,EAAc,WAAW,CAC9D,CAEA,eAAsB,EAAuB,EAAkB,EAAuB,CAEpF,OAAO,MAAM,EAAe,EAAO,EAAe,YAAY,CAChE,CAIA,eAAsB,EAAgB,EAAkB,EAAgB,EAAkB,CACxF,GAAI,CAGF,OAFA,MAAM,EAAA,MAAM,QAAQ,KAAK,CAAM,EACnB,EAAA,MAAM,IAAI,EAAO,EAAA,QAAG,MAAM,CAAO,CACtC,CAAA,EAAK,KACd,OAAS,EAAK,CACZ,GAAI,EAAI,SAAS,SAAW,IAAK,CAC/B,EAAA,IACE,yDAA2D,CAC7D,EACA,GAAI,CACF,MAAM,EAAA,MAAM,QAAQ,aAAa,MAAO,EAAQ,CAC9C,KAAM,GACN,YAAa,aACf,CAAC,CACH,OAAS,EAAK,CAEZ,MADA,EAAA,IAAU,iCAAmC,EAAS,KAAO,CAAG,EAC1D,CACR,CACA,OAAO,EAAA,MAAM,QAAQ,UAAU,GAE/B,MACF,MAEE,MADA,EAAA,IAAU,iCAAmC,EAAS,KAAO,CAAG,EAC1D,CAEV,CACF"}
|
|
@@ -46,6 +46,6 @@ async function l(t, r, a) {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
//#endregion
|
|
49
|
-
export { c as getExistingPrivateKey, s as getExistingPublicKey, o as privKeyUrl, a as pubKeyUrl };
|
|
49
|
+
export { c as getExistingPrivateKey, s as getExistingPublicKey, l as getKeyIfExists, o as privKeyUrl, a as pubKeyUrl };
|
|
50
50
|
|
|
51
51
|
//# sourceMappingURL=accessData.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessData.esm.js","names":[],"sources":["../../../src/utils/keyHelpers/accessData.ts"],"sourcesContent":["import * as debug from '../../lib/debug'\nimport { store } from 'solid-logic'\nimport ns from '../../lib/ns'\nimport { NamedNode } from 'rdflib'\nimport { getRootIfPreferencesExist } from './otherHelpers'\n\nexport const pubKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/profile/keys/publicKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport const privKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/settings/keys/privateKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport async function getExistingPublicKey (webId: NamedNode, publicKeyUrl: string) {\n // find publickey\n return await getKeyIfExists(webId, publicKeyUrl, 'publicKey')\n}\n\nexport async function getExistingPrivateKey (webId: NamedNode, privateKeyUrl: string) {\n // find privateKey\n return await getKeyIfExists(webId, privateKeyUrl, 'privateKey')\n}\n\ntype KeyType = 'publicKey' | 'privateKey'\n\nexport async function getKeyIfExists (webId: NamedNode, keyUrl: string, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(webId, ns.solid(keyType)) // store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists: doc does NOT exist, will create... ' + keyUrl\n )\n try {\n await store.fetcher.webOperation('PUT', keyUrl, {\n data: '',\n contentType: 'text/turtle'\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[keyUrl] // delete cached 404 error\n // debug.log('createIfNotExists doc created ok ' + doc)\n return undefined // response\n } else {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n }\n}\n"],"mappings":";;;;;AAMA,IAAa,KAAa,MAAqB;CAC7C,IAAI;CACJ,IAAI;EAEF,IAAM,GADO,EAA0B,CAC9B,EAAK;CAChB,SAAS,GAAK;EACZ,EAAY,CAAG;CACjB;CACA,OAAO;AACT,GAEa,KAAc,MAAqB;CAC9C,IAAI;CACJ,IAAI;EAEF,IAAM,GADO,EAA0B,CAC9B,EAAK;CAChB,SAAS,GAAK;EACZ,EAAY,CAAG;CACjB;CACA,OAAO;AACT;AAEA,eAAsB,EAAsB,GAAkB,GAAsB;CAElF,OAAO,MAAM,EAAe,GAAO,GAAc,WAAW;AAC9D;AAEA,eAAsB,EAAuB,GAAkB,GAAuB;CAEpF,OAAO,MAAM,EAAe,GAAO,GAAe,YAAY;AAChE;AAIA,eAAsB,EAAgB,GAAkB,GAAgB,GAAkB;CACxF,IAAI;EAGF,OAFA,MAAM,EAAM,QAAQ,KAAK,CAAM,GACnB,EAAM,IAAI,GAAO,EAAG,MAAM,CAAO,CACtC,
|
|
1
|
+
{"version":3,"file":"accessData.esm.js","names":[],"sources":["../../../src/utils/keyHelpers/accessData.ts"],"sourcesContent":["import * as debug from '../../lib/debug'\nimport { store } from 'solid-logic'\nimport ns from '../../lib/ns'\nimport { NamedNode } from 'rdflib'\nimport { getRootIfPreferencesExist } from './otherHelpers'\n\nexport const pubKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/profile/keys/publicKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport const privKeyUrl = (webId: NamedNode) => {\n let url\n try {\n const root = getRootIfPreferencesExist(webId)\n url = `${root}/settings/keys/privateKey.ttl`\n } catch (err) {\n debug.error(err)\n }\n return url\n}\n\nexport async function getExistingPublicKey (webId: NamedNode, publicKeyUrl: string) {\n // find publickey\n return await getKeyIfExists(webId, publicKeyUrl, 'publicKey')\n}\n\nexport async function getExistingPrivateKey (webId: NamedNode, privateKeyUrl: string) {\n // find privateKey\n return await getKeyIfExists(webId, privateKeyUrl, 'privateKey')\n}\n\ntype KeyType = 'publicKey' | 'privateKey'\n\nexport async function getKeyIfExists (webId: NamedNode, keyUrl: string, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(webId, ns.solid(keyType)) // store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n if (err.response.status === 404) {\n debug.log(\n 'createIfNotExists: doc does NOT exist, will create... ' + keyUrl\n )\n try {\n await store.fetcher.webOperation('PUT', keyUrl, {\n data: '',\n contentType: 'text/turtle'\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[keyUrl] // delete cached 404 error\n // debug.log('createIfNotExists doc created ok ' + doc)\n return undefined // response\n } else {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n }\n}\n"],"mappings":";;;;;AAMA,IAAa,KAAa,MAAqB;CAC7C,IAAI;CACJ,IAAI;EAEF,IAAM,GADO,EAA0B,CAC9B,EAAK;CAChB,SAAS,GAAK;EACZ,EAAY,CAAG;CACjB;CACA,OAAO;AACT,GAEa,KAAc,MAAqB;CAC9C,IAAI;CACJ,IAAI;EAEF,IAAM,GADO,EAA0B,CAC9B,EAAK;CAChB,SAAS,GAAK;EACZ,EAAY,CAAG;CACjB;CACA,OAAO;AACT;AAEA,eAAsB,EAAsB,GAAkB,GAAsB;CAElF,OAAO,MAAM,EAAe,GAAO,GAAc,WAAW;AAC9D;AAEA,eAAsB,EAAuB,GAAkB,GAAuB;CAEpF,OAAO,MAAM,EAAe,GAAO,GAAe,YAAY;AAChE;AAIA,eAAsB,EAAgB,GAAkB,GAAgB,GAAkB;CACxF,IAAI;EAGF,OAFA,MAAM,EAAM,QAAQ,KAAK,CAAM,GACnB,EAAM,IAAI,GAAO,EAAG,MAAM,CAAO,CACtC,CAAA,EAAK;CACd,SAAS,GAAK;EACZ,IAAI,EAAI,SAAS,WAAW,KAAK;GAC/B,EACE,2DAA2D,CAC7D;GACA,IAAI;IACF,MAAM,EAAM,QAAQ,aAAa,OAAO,GAAQ;KAC9C,MAAM;KACN,aAAa;IACf,CAAC;GACH,SAAS,GAAK;IAEZ,MADA,EAAU,mCAAmC,IAAS,OAAO,CAAG,GAC1D;GACR;GACA,OAAO,EAAM,QAAQ,UAAU;GAE/B;EACF,OAEE,MADA,EAAU,mCAAmC,IAAS,OAAO,CAAG,GAC1D;CAEV;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl.cjs.js","names":[],"sources":["../../../src/utils/keyHelpers/acl.ts"],"sourcesContent":["import * as debug from '../../lib/debug'\nimport { store } from 'solid-logic'\n\n/**\n * set ACL\n * @param keyDoc\n * @param aclBody\n */\nexport async function setAcl (keyDoc: string, aclBody: string) {\n // Some servers don't present a Link http response header\n // if the container doesn't exist yet, refetch the resource\n\n await store.fetcher.load(keyDoc)\n\n // FIXME: check the Why value on this quad:\n // debug.log(store.statementsMatching(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl')))\n const keyAclDoc = store.any(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl'))\n if (!keyAclDoc) {\n throw new Error('Key ACL doc not found!')\n }\n\n try {\n await store.fetcher.webOperation('PUT', keyAclDoc.value, {\n data: aclBody,\n contentType: 'text/turtle'\n })\n } catch (err) {\n if (err?.response?.status !== 404) { throw new Error(err) }\n debug.log('delete ' + keyAclDoc.value + ' ' + err.response.status) // should test 404 and 2xx\n }\n}\n\n/**\n * key container ACL\n * @param me\n * @returns aclBody\n */\nexport const keyContainerAclBody = (me: string) => {\n const aclBody = `\n@prefix : <#>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix key: <./>.\n\n:ReadWrite\n a acl:Authorization;\n acl:accessTo key:;\n acl:default key:;\n acl:agent <${me}>;\n acl:mode acl:Read, acl:Write.\n`\n return aclBody\n}\n\n/**\n * Read only ACL\n * @param keyDoc\n * @param me\n * @returns aclBody\n */\nexport const keyAclBody = (keyDoc, me) => {\n let keyAgent = 'acl:agentClass foaf:Agent' // publicKey\n if (me?.length) keyAgent = `acl:agent <${me}>` // privateKey\n const aclBody = `\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#Read>\n a acl:Authorization;\n ${keyAgent};\n acl:accessTo <${keyDoc.split('/').pop()}>;\n acl:mode acl:Read.\n`\n return aclBody\n}\n"],"mappings":"uEAQA,eAAsB,EAAQ,EAAgB,EAAiB,CAI7D,MAAM,EAAA,MAAM,QAAQ,KAAK,CAAM,EAI/B,IAAM,EAAY,EAAA,MAAM,IAAI,EAAA,MAAM,IAAI,CAAM,EAAG,EAAA,MAAM,IAAI,oDAAoD,CAAC,EAC9G,GAAI,CAAC,EACH,MAAU,MAAM,wBAAwB,EAG1C,GAAI,CACF,MAAM,EAAA,MAAM,QAAQ,aAAa,MAAO,EAAU,MAAO,CACvD,KAAM,EACN,YAAa,aACf,CAAC,CACH,OAAS,EAAK,CACZ,GAAI,GAAK,UAAU,SAAW,IAAO,MAAU,MAAM,CAAG,EACxD,EAAA,IAAU,UAAY,EAAU,MAAQ,IAAM,EAAI,SAAS,MAAM,CACnE,CACF,CAOA,IAAa,EAAuB,GAc3B;;;;;;;;;;iBAHQ,EAAG;;EAYP,GAAc,EAAQ,IAAO,CACxC,IAAI,EAAW,4BAWf,OAVI,GAAI,SAAQ,EAAW,cAAc,EAAG,IAUrC;;;;;MAJH,EAAS;oBACK,EAAO,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"acl.cjs.js","names":[],"sources":["../../../src/utils/keyHelpers/acl.ts"],"sourcesContent":["import * as debug from '../../lib/debug'\nimport { store } from 'solid-logic'\n\n/**\n * set ACL\n * @param keyDoc\n * @param aclBody\n */\nexport async function setAcl (keyDoc: string, aclBody: string) {\n // Some servers don't present a Link http response header\n // if the container doesn't exist yet, refetch the resource\n\n await store.fetcher.load(keyDoc)\n\n // FIXME: check the Why value on this quad:\n // debug.log(store.statementsMatching(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl')))\n const keyAclDoc = store.any(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl'))\n if (!keyAclDoc) {\n throw new Error('Key ACL doc not found!')\n }\n\n try {\n await store.fetcher.webOperation('PUT', keyAclDoc.value, {\n data: aclBody,\n contentType: 'text/turtle'\n })\n } catch (err) {\n if (err?.response?.status !== 404) { throw new Error(err) }\n debug.log('delete ' + keyAclDoc.value + ' ' + err.response.status) // should test 404 and 2xx\n }\n}\n\n/**\n * key container ACL\n * @param me\n * @returns aclBody\n */\nexport const keyContainerAclBody = (me: string) => {\n const aclBody = `\n@prefix : <#>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix key: <./>.\n\n:ReadWrite\n a acl:Authorization;\n acl:accessTo key:;\n acl:default key:;\n acl:agent <${me}>;\n acl:mode acl:Read, acl:Write.\n`\n return aclBody\n}\n\n/**\n * Read only ACL\n * @param keyDoc\n * @param me\n * @returns aclBody\n */\nexport const keyAclBody = (keyDoc, me) => {\n let keyAgent = 'acl:agentClass foaf:Agent' // publicKey\n if (me?.length) keyAgent = `acl:agent <${me}>` // privateKey\n const aclBody = `\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#Read>\n a acl:Authorization;\n ${keyAgent};\n acl:accessTo <${keyDoc.split('/').pop()}>;\n acl:mode acl:Read.\n`\n return aclBody\n}\n"],"mappings":"uEAQA,eAAsB,EAAQ,EAAgB,EAAiB,CAI7D,MAAM,EAAA,MAAM,QAAQ,KAAK,CAAM,EAI/B,IAAM,EAAY,EAAA,MAAM,IAAI,EAAA,MAAM,IAAI,CAAM,EAAG,EAAA,MAAM,IAAI,oDAAoD,CAAC,EAC9G,GAAI,CAAC,EACH,MAAU,MAAM,wBAAwB,EAG1C,GAAI,CACF,MAAM,EAAA,MAAM,QAAQ,aAAa,MAAO,EAAU,MAAO,CACvD,KAAM,EACN,YAAa,aACf,CAAC,CACH,OAAS,EAAK,CACZ,GAAI,GAAK,UAAU,SAAW,IAAO,MAAU,MAAM,CAAG,EACxD,EAAA,IAAU,UAAY,EAAU,MAAQ,IAAM,EAAI,SAAS,MAAM,CACnE,CACF,CAOA,IAAa,EAAuB,GAc3B;;;;;;;;;;iBAHQ,EAAG;;EAYP,GAAc,EAAQ,IAAO,CACxC,IAAI,EAAW,4BAWf,OAVI,GAAI,SAAQ,EAAW,cAAc,EAAG,IAUrC;;;;;MAJH,EAAS;oBACK,EAAO,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;;CAI5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acl.esm.js","names":[],"sources":["../../../src/utils/keyHelpers/acl.ts"],"sourcesContent":["import * as debug from '../../lib/debug'\nimport { store } from 'solid-logic'\n\n/**\n * set ACL\n * @param keyDoc\n * @param aclBody\n */\nexport async function setAcl (keyDoc: string, aclBody: string) {\n // Some servers don't present a Link http response header\n // if the container doesn't exist yet, refetch the resource\n\n await store.fetcher.load(keyDoc)\n\n // FIXME: check the Why value on this quad:\n // debug.log(store.statementsMatching(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl')))\n const keyAclDoc = store.any(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl'))\n if (!keyAclDoc) {\n throw new Error('Key ACL doc not found!')\n }\n\n try {\n await store.fetcher.webOperation('PUT', keyAclDoc.value, {\n data: aclBody,\n contentType: 'text/turtle'\n })\n } catch (err) {\n if (err?.response?.status !== 404) { throw new Error(err) }\n debug.log('delete ' + keyAclDoc.value + ' ' + err.response.status) // should test 404 and 2xx\n }\n}\n\n/**\n * key container ACL\n * @param me\n * @returns aclBody\n */\nexport const keyContainerAclBody = (me: string) => {\n const aclBody = `\n@prefix : <#>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix key: <./>.\n\n:ReadWrite\n a acl:Authorization;\n acl:accessTo key:;\n acl:default key:;\n acl:agent <${me}>;\n acl:mode acl:Read, acl:Write.\n`\n return aclBody\n}\n\n/**\n * Read only ACL\n * @param keyDoc\n * @param me\n * @returns aclBody\n */\nexport const keyAclBody = (keyDoc, me) => {\n let keyAgent = 'acl:agentClass foaf:Agent' // publicKey\n if (me?.length) keyAgent = `acl:agent <${me}>` // privateKey\n const aclBody = `\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#Read>\n a acl:Authorization;\n ${keyAgent};\n acl:accessTo <${keyDoc.split('/').pop()}>;\n acl:mode acl:Read.\n`\n return aclBody\n}\n"],"mappings":";;;AAQA,eAAsB,EAAQ,GAAgB,GAAiB;CAI7D,MAAM,EAAM,QAAQ,KAAK,CAAM;CAI/B,IAAM,IAAY,EAAM,IAAI,EAAM,IAAI,CAAM,GAAG,EAAM,IAAI,oDAAoD,CAAC;CAC9G,IAAI,CAAC,GACH,MAAU,MAAM,wBAAwB;CAG1C,IAAI;EACF,MAAM,EAAM,QAAQ,aAAa,OAAO,EAAU,OAAO;GACvD,MAAM;GACN,aAAa;EACf,CAAC;CACH,SAAS,GAAK;EACZ,IAAI,GAAK,UAAU,WAAW,KAAO,MAAU,MAAM,CAAG;EACxD,EAAU,YAAY,EAAU,QAAQ,MAAM,EAAI,SAAS,MAAM;CACnE;AACF;AAOA,IAAa,KAAuB,MAc3B;;;;;;;;;;iBAHQ,EAAG;;GAYP,KAAc,GAAQ,MAAO;CACxC,IAAI,IAAW;CAWf,OAVI,GAAI,WAAQ,IAAW,cAAc,EAAG,KAUrC;;;;;MAJH,EAAS;oBACK,EAAO,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"acl.esm.js","names":[],"sources":["../../../src/utils/keyHelpers/acl.ts"],"sourcesContent":["import * as debug from '../../lib/debug'\nimport { store } from 'solid-logic'\n\n/**\n * set ACL\n * @param keyDoc\n * @param aclBody\n */\nexport async function setAcl (keyDoc: string, aclBody: string) {\n // Some servers don't present a Link http response header\n // if the container doesn't exist yet, refetch the resource\n\n await store.fetcher.load(keyDoc)\n\n // FIXME: check the Why value on this quad:\n // debug.log(store.statementsMatching(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl')))\n const keyAclDoc = store.any(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl'))\n if (!keyAclDoc) {\n throw new Error('Key ACL doc not found!')\n }\n\n try {\n await store.fetcher.webOperation('PUT', keyAclDoc.value, {\n data: aclBody,\n contentType: 'text/turtle'\n })\n } catch (err) {\n if (err?.response?.status !== 404) { throw new Error(err) }\n debug.log('delete ' + keyAclDoc.value + ' ' + err.response.status) // should test 404 and 2xx\n }\n}\n\n/**\n * key container ACL\n * @param me\n * @returns aclBody\n */\nexport const keyContainerAclBody = (me: string) => {\n const aclBody = `\n@prefix : <#>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix key: <./>.\n\n:ReadWrite\n a acl:Authorization;\n acl:accessTo key:;\n acl:default key:;\n acl:agent <${me}>;\n acl:mode acl:Read, acl:Write.\n`\n return aclBody\n}\n\n/**\n * Read only ACL\n * @param keyDoc\n * @param me\n * @returns aclBody\n */\nexport const keyAclBody = (keyDoc, me) => {\n let keyAgent = 'acl:agentClass foaf:Agent' // publicKey\n if (me?.length) keyAgent = `acl:agent <${me}>` // privateKey\n const aclBody = `\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#Read>\n a acl:Authorization;\n ${keyAgent};\n acl:accessTo <${keyDoc.split('/').pop()}>;\n acl:mode acl:Read.\n`\n return aclBody\n}\n"],"mappings":";;;AAQA,eAAsB,EAAQ,GAAgB,GAAiB;CAI7D,MAAM,EAAM,QAAQ,KAAK,CAAM;CAI/B,IAAM,IAAY,EAAM,IAAI,EAAM,IAAI,CAAM,GAAG,EAAM,IAAI,oDAAoD,CAAC;CAC9G,IAAI,CAAC,GACH,MAAU,MAAM,wBAAwB;CAG1C,IAAI;EACF,MAAM,EAAM,QAAQ,aAAa,OAAO,EAAU,OAAO;GACvD,MAAM;GACN,aAAa;EACf,CAAC;CACH,SAAS,GAAK;EACZ,IAAI,GAAK,UAAU,WAAW,KAAO,MAAU,MAAM,CAAG;EACxD,EAAU,YAAY,EAAU,QAAQ,MAAM,EAAI,SAAS,MAAM;CACnE;AACF;AAOA,IAAa,KAAuB,MAc3B;;;;;;;;;;iBAHQ,EAAG;;GAYP,KAAc,GAAQ,MAAO;CACxC,IAAI,IAAW;CAWf,OAVI,GAAI,WAAQ,IAAW,cAAc,EAAG,KAUrC;;;;;MAJH,EAAS;oBACK,EAAO,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE;;;AAI5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otherHelpers.cjs.js","names":[],"sources":["../../../src/utils/keyHelpers/otherHelpers.ts"],"sourcesContent":["import { store } from 'solid-logic'\nimport ns from '../../lib/ns'\nimport { NamedNode } from 'rdflib'\n// Will rename this file later. We will probably be using solid-logic anyway\n// moved it out so I can mock\n\nexport const getRootIfPreferencesExist = (webId: NamedNode) => {\n let root = store.any(webId, ns.space('preferencesFile'), null, webId.doc())?.value\n root = root?.split('/').slice(0, -2).join('/')\n if (!root) throw new Error(`prefererencesFile is expected to exist in ${webId}`)\n return root\n}\n"],"mappings":"oEAMA,IAAa,EAA6B,GAAqB,CAC7D,IAAI,EAAO,EAAA,MAAM,IAAI,EAAO,EAAA,QAAG,MAAM,iBAAiB,EAAG,KAAM,EAAM,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"otherHelpers.cjs.js","names":[],"sources":["../../../src/utils/keyHelpers/otherHelpers.ts"],"sourcesContent":["import { store } from 'solid-logic'\nimport ns from '../../lib/ns'\nimport { NamedNode } from 'rdflib'\n// Will rename this file later. We will probably be using solid-logic anyway\n// moved it out so I can mock\n\nexport const getRootIfPreferencesExist = (webId: NamedNode) => {\n let root = store.any(webId, ns.space('preferencesFile'), null, webId.doc())?.value\n root = root?.split('/').slice(0, -2).join('/')\n if (!root) throw new Error(`prefererencesFile is expected to exist in ${webId}`)\n return root\n}\n"],"mappings":"oEAMA,IAAa,EAA6B,GAAqB,CAC7D,IAAI,EAAO,EAAA,MAAM,IAAI,EAAO,EAAA,QAAG,MAAM,iBAAiB,EAAG,KAAM,EAAM,IAAI,CAAC,CAAC,EAAE,MAE7E,GADA,EAAO,GAAM,MAAM,GAAG,CAAC,CAAC,MAAM,EAAG,EAAE,CAAC,CAAC,KAAK,GAAG,EACzC,CAAC,EAAM,MAAU,MAAM,6CAA6C,GAAO,EAC/E,OAAO,CACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otherHelpers.esm.js","names":[],"sources":["../../../src/utils/keyHelpers/otherHelpers.ts"],"sourcesContent":["import { store } from 'solid-logic'\nimport ns from '../../lib/ns'\nimport { NamedNode } from 'rdflib'\n// Will rename this file later. We will probably be using solid-logic anyway\n// moved it out so I can mock\n\nexport const getRootIfPreferencesExist = (webId: NamedNode) => {\n let root = store.any(webId, ns.space('preferencesFile'), null, webId.doc())?.value\n root = root?.split('/').slice(0, -2).join('/')\n if (!root) throw new Error(`prefererencesFile is expected to exist in ${webId}`)\n return root\n}\n"],"mappings":";;;AAMA,IAAa,KAA6B,MAAqB;CAC7D,IAAI,IAAO,EAAM,IAAI,GAAO,EAAG,MAAM,iBAAiB,GAAG,MAAM,EAAM,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"otherHelpers.esm.js","names":[],"sources":["../../../src/utils/keyHelpers/otherHelpers.ts"],"sourcesContent":["import { store } from 'solid-logic'\nimport ns from '../../lib/ns'\nimport { NamedNode } from 'rdflib'\n// Will rename this file later. We will probably be using solid-logic anyway\n// moved it out so I can mock\n\nexport const getRootIfPreferencesExist = (webId: NamedNode) => {\n let root = store.any(webId, ns.space('preferencesFile'), null, webId.doc())?.value\n root = root?.split('/').slice(0, -2).join('/')\n if (!root) throw new Error(`prefererencesFile is expected to exist in ${webId}`)\n return root\n}\n"],"mappings":";;;AAMA,IAAa,KAA6B,MAAqB;CAC7D,IAAI,IAAO,EAAM,IAAI,GAAO,EAAG,MAAM,iBAAiB,GAAG,MAAM,EAAM,IAAI,CAAC,CAAC,EAAE;CAE7E,IADA,IAAO,GAAM,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,KAAK,GAAG,GACzC,CAAC,GAAM,MAAU,MAAM,6CAA6C,GAAO;CAC/E,OAAO;AACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.cjs.js","names":[],"sources":["../../src/utils/label.ts"],"sourcesContent":["import * as log from '../lib/log'\nimport { store } from 'solid-logic'\nimport ns from '../lib/ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\n\nconst UI = { log, ns, rdf }\n\n// This ubiquitous function returns the best label for a thing\n//\n// The hacks in this code make a major difference to the usability\nexport function label (thing, initialCap = false): string {\n function doCap (label: string) {\n if (initialCap) {\n return label.slice(0, 1).toUpperCase() + label.slice(1)\n }\n return label\n }\n function cleanUp (label: string) {\n let result = ''\n if (label.slice(-1) === '/') label = label.slice(0, -1) // chop trailing slash\n for (let i = 0; i < label.length; i++) {\n if (label[i] === '_' || label[i] === '-') {\n result += ' '\n continue\n }\n result += label[i]\n if (\n i + 1 < label.length &&\n label[i].toUpperCase() !== label[i] &&\n label[i + 1].toLowerCase() !== label[i + 1]\n ) {\n result += ' '\n }\n }\n if (result.slice(0, 4) === 'has ') result = result.slice(4)\n return doCap(result)\n }\n\n const label = getWellKnownLabel(thing)\n\n if (label) {\n return doCap(label.value)\n }\n\n // Default to label just generated from the URI\n\n if (thing.termType === 'BlankNode') {\n return '...'\n }\n if (thing.termType === 'Collection') {\n return '(' + thing.elements.length + ')'\n }\n let s = thing.uri\n if (typeof s === 'undefined') return thing.toString() // can't be a symbol\n // s = decodeURI(s) // This can crash is random valid @ signs are presentation\n // The idea was to clean up eg URIs encoded in query strings\n // Also encoded character in what was filenames like @ [] {}\n try {\n s = s\n .split('/')\n .map(decodeURIComponent)\n .join('/') // If it is properly encoded\n } catch (_e) {\n // try individual decoding of ASCII code points\n for (let i = s.length - 3; i > 0; i--) {\n const hex = '0123456789abcefABCDEF' // The while upacks multiple layers of encoding\n while (\n s[i] === '%' &&\n hex.indexOf(s[i + 1]) >= 0 &&\n hex.indexOf(s[i + 2]) >= 0\n ) {\n s =\n s.slice(0, i) +\n String.fromCharCode(parseInt(s.slice(i + 1, i + 3), 16)) +\n s.slice(i + 3)\n }\n }\n }\n\n s = slice(s, '/profile/card#me')\n s = slice(s, '#this')\n s = slice(s, '#me')\n\n const hash = s.indexOf('#')\n if (hash >= 0) return cleanUp(s.slice(hash + 1))\n\n // Eh? Why not do this? e.g. dc:title needs it only trim URIs, not rdfs:labels\n const slash = s.lastIndexOf('/', s.length - 2) // (len-2) excludes trailing slash\n if (slash >= 0 && slash < thing.uri.length) return cleanUp(s.slice(slash + 1))\n\n return doCap(decodeURIComponent(thing.uri))\n}\n\nfunction slice (s: string, suffix: string) {\n const length = suffix.length * -1\n if (s.slice(length) === suffix) {\n return s.slice(0, length)\n }\n return s\n}\n\n// Hard coded known label predicates\n// @@ TBD: Add subproperties of rdfs:label\nfunction getWellKnownLabel (thing) {\n return store.any(thing, UI.ns.ui('label')) || // Prioritize ui:label\n store.any(thing, UI.ns.link('message')) ||\n store.any(thing, UI.ns.vcard('fn')) ||\n store.any(thing, UI.ns.foaf('name')) ||\n store.any(thing, UI.ns.dct('title')) ||\n store.any(thing, UI.ns.dc('title')) ||\n store.any(thing, UI.ns.rss('title')) ||\n store.any(thing, UI.ns.contact('fullName')) ||\n store.any(thing, store.sym('http://www.w3.org/2001/04/roadmap/org#name')) ||\n store.any(thing, UI.ns.cal('summary')) ||\n store.any(thing, UI.ns.foaf('nick')) ||\n store.any(thing, UI.ns.as('name')) ||\n store.any(thing, UI.ns.schema('name')) ||\n store.any(thing, UI.ns.rdfs('label')) ||\n store.any(thing, store.sym('http://www.w3.org/2004/02/skos/core#prefLabel'))\n}\n"],"mappings":"yLAKA,IAAM,EAAK,CAAE,IAAA,EAAA,YAAK,GAAA,EAAA,QAAI,IAAA,CAAI,EAK1B,SAAgB,EAAO,EAAO,EAAa,GAAe,CACxD,SAAS,EAAO,EAAe,CAI7B,OAHI,EACK,EAAM,MAAM,EAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"label.cjs.js","names":[],"sources":["../../src/utils/label.ts"],"sourcesContent":["import * as log from '../lib/log'\nimport { store } from 'solid-logic'\nimport ns from '../lib/ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\n\nconst UI = { log, ns, rdf }\n\n// This ubiquitous function returns the best label for a thing\n//\n// The hacks in this code make a major difference to the usability\nexport function label (thing, initialCap = false): string {\n function doCap (label: string) {\n if (initialCap) {\n return label.slice(0, 1).toUpperCase() + label.slice(1)\n }\n return label\n }\n function cleanUp (label: string) {\n let result = ''\n if (label.slice(-1) === '/') label = label.slice(0, -1) // chop trailing slash\n for (let i = 0; i < label.length; i++) {\n if (label[i] === '_' || label[i] === '-') {\n result += ' '\n continue\n }\n result += label[i]\n if (\n i + 1 < label.length &&\n label[i].toUpperCase() !== label[i] &&\n label[i + 1].toLowerCase() !== label[i + 1]\n ) {\n result += ' '\n }\n }\n if (result.slice(0, 4) === 'has ') result = result.slice(4)\n return doCap(result)\n }\n\n const label = getWellKnownLabel(thing)\n\n if (label) {\n return doCap(label.value)\n }\n\n // Default to label just generated from the URI\n\n if (thing.termType === 'BlankNode') {\n return '...'\n }\n if (thing.termType === 'Collection') {\n return '(' + thing.elements.length + ')'\n }\n let s = thing.uri\n if (typeof s === 'undefined') return thing.toString() // can't be a symbol\n // s = decodeURI(s) // This can crash is random valid @ signs are presentation\n // The idea was to clean up eg URIs encoded in query strings\n // Also encoded character in what was filenames like @ [] {}\n try {\n s = s\n .split('/')\n .map(decodeURIComponent)\n .join('/') // If it is properly encoded\n } catch (_e) {\n // try individual decoding of ASCII code points\n for (let i = s.length - 3; i > 0; i--) {\n const hex = '0123456789abcefABCDEF' // The while upacks multiple layers of encoding\n while (\n s[i] === '%' &&\n hex.indexOf(s[i + 1]) >= 0 &&\n hex.indexOf(s[i + 2]) >= 0\n ) {\n s =\n s.slice(0, i) +\n String.fromCharCode(parseInt(s.slice(i + 1, i + 3), 16)) +\n s.slice(i + 3)\n }\n }\n }\n\n s = slice(s, '/profile/card#me')\n s = slice(s, '#this')\n s = slice(s, '#me')\n\n const hash = s.indexOf('#')\n if (hash >= 0) return cleanUp(s.slice(hash + 1))\n\n // Eh? Why not do this? e.g. dc:title needs it only trim URIs, not rdfs:labels\n const slash = s.lastIndexOf('/', s.length - 2) // (len-2) excludes trailing slash\n if (slash >= 0 && slash < thing.uri.length) return cleanUp(s.slice(slash + 1))\n\n return doCap(decodeURIComponent(thing.uri))\n}\n\nfunction slice (s: string, suffix: string) {\n const length = suffix.length * -1\n if (s.slice(length) === suffix) {\n return s.slice(0, length)\n }\n return s\n}\n\n// Hard coded known label predicates\n// @@ TBD: Add subproperties of rdfs:label\nfunction getWellKnownLabel (thing) {\n return store.any(thing, UI.ns.ui('label')) || // Prioritize ui:label\n store.any(thing, UI.ns.link('message')) ||\n store.any(thing, UI.ns.vcard('fn')) ||\n store.any(thing, UI.ns.foaf('name')) ||\n store.any(thing, UI.ns.dct('title')) ||\n store.any(thing, UI.ns.dc('title')) ||\n store.any(thing, UI.ns.rss('title')) ||\n store.any(thing, UI.ns.contact('fullName')) ||\n store.any(thing, store.sym('http://www.w3.org/2001/04/roadmap/org#name')) ||\n store.any(thing, UI.ns.cal('summary')) ||\n store.any(thing, UI.ns.foaf('nick')) ||\n store.any(thing, UI.ns.as('name')) ||\n store.any(thing, UI.ns.schema('name')) ||\n store.any(thing, UI.ns.rdfs('label')) ||\n store.any(thing, store.sym('http://www.w3.org/2004/02/skos/core#prefLabel'))\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.esm.js","names":[],"sources":["../../src/utils/label.ts"],"sourcesContent":["import * as log from '../lib/log'\nimport { store } from 'solid-logic'\nimport ns from '../lib/ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\n\nconst UI = { log, ns, rdf }\n\n// This ubiquitous function returns the best label for a thing\n//\n// The hacks in this code make a major difference to the usability\nexport function label (thing, initialCap = false): string {\n function doCap (label: string) {\n if (initialCap) {\n return label.slice(0, 1).toUpperCase() + label.slice(1)\n }\n return label\n }\n function cleanUp (label: string) {\n let result = ''\n if (label.slice(-1) === '/') label = label.slice(0, -1) // chop trailing slash\n for (let i = 0; i < label.length; i++) {\n if (label[i] === '_' || label[i] === '-') {\n result += ' '\n continue\n }\n result += label[i]\n if (\n i + 1 < label.length &&\n label[i].toUpperCase() !== label[i] &&\n label[i + 1].toLowerCase() !== label[i + 1]\n ) {\n result += ' '\n }\n }\n if (result.slice(0, 4) === 'has ') result = result.slice(4)\n return doCap(result)\n }\n\n const label = getWellKnownLabel(thing)\n\n if (label) {\n return doCap(label.value)\n }\n\n // Default to label just generated from the URI\n\n if (thing.termType === 'BlankNode') {\n return '...'\n }\n if (thing.termType === 'Collection') {\n return '(' + thing.elements.length + ')'\n }\n let s = thing.uri\n if (typeof s === 'undefined') return thing.toString() // can't be a symbol\n // s = decodeURI(s) // This can crash is random valid @ signs are presentation\n // The idea was to clean up eg URIs encoded in query strings\n // Also encoded character in what was filenames like @ [] {}\n try {\n s = s\n .split('/')\n .map(decodeURIComponent)\n .join('/') // If it is properly encoded\n } catch (_e) {\n // try individual decoding of ASCII code points\n for (let i = s.length - 3; i > 0; i--) {\n const hex = '0123456789abcefABCDEF' // The while upacks multiple layers of encoding\n while (\n s[i] === '%' &&\n hex.indexOf(s[i + 1]) >= 0 &&\n hex.indexOf(s[i + 2]) >= 0\n ) {\n s =\n s.slice(0, i) +\n String.fromCharCode(parseInt(s.slice(i + 1, i + 3), 16)) +\n s.slice(i + 3)\n }\n }\n }\n\n s = slice(s, '/profile/card#me')\n s = slice(s, '#this')\n s = slice(s, '#me')\n\n const hash = s.indexOf('#')\n if (hash >= 0) return cleanUp(s.slice(hash + 1))\n\n // Eh? Why not do this? e.g. dc:title needs it only trim URIs, not rdfs:labels\n const slash = s.lastIndexOf('/', s.length - 2) // (len-2) excludes trailing slash\n if (slash >= 0 && slash < thing.uri.length) return cleanUp(s.slice(slash + 1))\n\n return doCap(decodeURIComponent(thing.uri))\n}\n\nfunction slice (s: string, suffix: string) {\n const length = suffix.length * -1\n if (s.slice(length) === suffix) {\n return s.slice(0, length)\n }\n return s\n}\n\n// Hard coded known label predicates\n// @@ TBD: Add subproperties of rdfs:label\nfunction getWellKnownLabel (thing) {\n return store.any(thing, UI.ns.ui('label')) || // Prioritize ui:label\n store.any(thing, UI.ns.link('message')) ||\n store.any(thing, UI.ns.vcard('fn')) ||\n store.any(thing, UI.ns.foaf('name')) ||\n store.any(thing, UI.ns.dct('title')) ||\n store.any(thing, UI.ns.dc('title')) ||\n store.any(thing, UI.ns.rss('title')) ||\n store.any(thing, UI.ns.contact('fullName')) ||\n store.any(thing, store.sym('http://www.w3.org/2001/04/roadmap/org#name')) ||\n store.any(thing, UI.ns.cal('summary')) ||\n store.any(thing, UI.ns.foaf('nick')) ||\n store.any(thing, UI.ns.as('name')) ||\n store.any(thing, UI.ns.schema('name')) ||\n store.any(thing, UI.ns.rdfs('label')) ||\n store.any(thing, store.sym('http://www.w3.org/2004/02/skos/core#prefLabel'))\n}\n"],"mappings":";;;;;AAKA,IAAM,IAAK;CAAE,KAAA;CAAK,IAAA;CAAI;AAAI;AAK1B,SAAgB,EAAO,GAAO,IAAa,IAAe;CACxD,SAAS,EAAO,GAAe;EAI7B,OAHI,IACK,EAAM,MAAM,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"label.esm.js","names":[],"sources":["../../src/utils/label.ts"],"sourcesContent":["import * as log from '../lib/log'\nimport { store } from 'solid-logic'\nimport ns from '../lib/ns'\nimport * as rdf from 'rdflib' // pull in first avoid cross-refs\n\nconst UI = { log, ns, rdf }\n\n// This ubiquitous function returns the best label for a thing\n//\n// The hacks in this code make a major difference to the usability\nexport function label (thing, initialCap = false): string {\n function doCap (label: string) {\n if (initialCap) {\n return label.slice(0, 1).toUpperCase() + label.slice(1)\n }\n return label\n }\n function cleanUp (label: string) {\n let result = ''\n if (label.slice(-1) === '/') label = label.slice(0, -1) // chop trailing slash\n for (let i = 0; i < label.length; i++) {\n if (label[i] === '_' || label[i] === '-') {\n result += ' '\n continue\n }\n result += label[i]\n if (\n i + 1 < label.length &&\n label[i].toUpperCase() !== label[i] &&\n label[i + 1].toLowerCase() !== label[i + 1]\n ) {\n result += ' '\n }\n }\n if (result.slice(0, 4) === 'has ') result = result.slice(4)\n return doCap(result)\n }\n\n const label = getWellKnownLabel(thing)\n\n if (label) {\n return doCap(label.value)\n }\n\n // Default to label just generated from the URI\n\n if (thing.termType === 'BlankNode') {\n return '...'\n }\n if (thing.termType === 'Collection') {\n return '(' + thing.elements.length + ')'\n }\n let s = thing.uri\n if (typeof s === 'undefined') return thing.toString() // can't be a symbol\n // s = decodeURI(s) // This can crash is random valid @ signs are presentation\n // The idea was to clean up eg URIs encoded in query strings\n // Also encoded character in what was filenames like @ [] {}\n try {\n s = s\n .split('/')\n .map(decodeURIComponent)\n .join('/') // If it is properly encoded\n } catch (_e) {\n // try individual decoding of ASCII code points\n for (let i = s.length - 3; i > 0; i--) {\n const hex = '0123456789abcefABCDEF' // The while upacks multiple layers of encoding\n while (\n s[i] === '%' &&\n hex.indexOf(s[i + 1]) >= 0 &&\n hex.indexOf(s[i + 2]) >= 0\n ) {\n s =\n s.slice(0, i) +\n String.fromCharCode(parseInt(s.slice(i + 1, i + 3), 16)) +\n s.slice(i + 3)\n }\n }\n }\n\n s = slice(s, '/profile/card#me')\n s = slice(s, '#this')\n s = slice(s, '#me')\n\n const hash = s.indexOf('#')\n if (hash >= 0) return cleanUp(s.slice(hash + 1))\n\n // Eh? Why not do this? e.g. dc:title needs it only trim URIs, not rdfs:labels\n const slash = s.lastIndexOf('/', s.length - 2) // (len-2) excludes trailing slash\n if (slash >= 0 && slash < thing.uri.length) return cleanUp(s.slice(slash + 1))\n\n return doCap(decodeURIComponent(thing.uri))\n}\n\nfunction slice (s: string, suffix: string) {\n const length = suffix.length * -1\n if (s.slice(length) === suffix) {\n return s.slice(0, length)\n }\n return s\n}\n\n// Hard coded known label predicates\n// @@ TBD: Add subproperties of rdfs:label\nfunction getWellKnownLabel (thing) {\n return store.any(thing, UI.ns.ui('label')) || // Prioritize ui:label\n store.any(thing, UI.ns.link('message')) ||\n store.any(thing, UI.ns.vcard('fn')) ||\n store.any(thing, UI.ns.foaf('name')) ||\n store.any(thing, UI.ns.dct('title')) ||\n store.any(thing, UI.ns.dc('title')) ||\n store.any(thing, UI.ns.rss('title')) ||\n store.any(thing, UI.ns.contact('fullName')) ||\n store.any(thing, store.sym('http://www.w3.org/2001/04/roadmap/org#name')) ||\n store.any(thing, UI.ns.cal('summary')) ||\n store.any(thing, UI.ns.foaf('nick')) ||\n store.any(thing, UI.ns.as('name')) ||\n store.any(thing, UI.ns.schema('name')) ||\n store.any(thing, UI.ns.rdfs('label')) ||\n store.any(thing, store.sym('http://www.w3.org/2004/02/skos/core#prefLabel'))\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./Footer.cjs.js");var t=`solid-ui-footer`;customElements.get(t)||customElements.define(t,e.Footer);
|
|
1
|
+
const e=require("./Footer.cjs.js");var t=`solid-ui-footer`;customElements.get(t)||customElements.define(t,e.Footer),exports.Footer=e.Footer;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -198,7 +198,7 @@ let e=require("lit");var t=`image/png`,n=class extends e.LitElement{static formA
|
|
|
198
198
|
color: var(--photo-capture-trigger-text);
|
|
199
199
|
border-color: transparent;
|
|
200
200
|
}
|
|
201
|
-
`;_value=null;_stream=null;_internals;_associatedForm=null;_handleFormData=e=>{let t=e.formData;!t||!this.name||!this.value||this.disabled||t.append(this.name,this.value,this.value.name)};_handleFormReset=()=>{this._clearValue({emitEvents:!1}),this.open&&this._queuePreviewStart()};get _supportsFormInternals(){return!!this._internals&&typeof this._internals.setFormValue==`function`}constructor(){super(),this.label=`Take Photo`,this.heading=`Take a photo`,this.captureLabel=`Take Photo`,this.confirmLabel=`Use Photo`,this.retakeLabel=`Retake`,this.cancelLabel=`Cancel`,this.presentation=`inline`,this.theme=`light`,this.facingMode=`user`,this.constraints=``,this.captureFormat=t,this.captureQuality=void 0,this.open=!1,this.disabled=!1,this.name=``,this.required=!1,this.showTrigger=!1,this.showCancelButton=!0,this.autoCloseOnCapture=!1,this.fileNamePrefix=``,this.mediaConstraints=void 0,this._errorMessage=``,this._previewUrl=``,this._startingPreview=!1,this._internals=typeof this.attachInternals==`function`?this.attachInternals():null}get value(){return this._value}set value(e){let t=e instanceof File?e:null,n=this._value;n!==t&&(this._value=t,this._syncPreviewFromValue(t),this._syncFormValue(),this._syncValidity(),this.requestUpdate(`value`,n))}get form(){return(this._supportsFormInternals?this._internals?.form:null)??this._associatedForm}get validationMessage(){return(typeof this._internals?.validationMessage==`string`?this._internals.validationMessage:``)||(this.required&&!this.value?`Please capture a photo.`:``)}get willValidate(){return typeof this._internals?.willValidate==`boolean`?this._internals.willValidate:!this.disabled}checkValidity(){return this._internals&&typeof this._internals.checkValidity==`function`?this._internals.checkValidity():!(this.required&&!this.value)}reportValidity(){return this._internals&&typeof this._internals.reportValidity==`function`?this._internals.reportValidity():this.checkValidity()}connectedCallback(){super.connectedCallback(),this._syncAssociatedForm(),this._syncFormValue(),this._syncValidity()}disconnectedCallback(){this._syncAssociatedForm(null),this._stopStream(),this._revokePreviewUrl(),super.disconnectedCallback()}formResetCallback(){this._handleFormReset()}formDisabledCallback(e){this.disabled=e}updated(e){if(this._syncAssociatedForm(),this.presentation===`dialog`){let e=this.shadowRoot?.querySelector(`dialog`);e&&(this.open&&!e.open?e.showModal():!this.open&&e.open&&e.close())}if(e.has(`open`)&&!this.open&&this._stopStream(),this.open&&!this.value&&!this._stream&&!this._startingPreview&&(e.has(`open`)||e.has(`presentation`)||e.has(`_previewUrl`)||e.has(`value`))&&this._queuePreviewStart(),(e.has(`name`)||e.has(`disabled`)||e.has(`value`))&&this._syncFormValue(),(e.has(`required`)||e.has(`disabled`)||e.has(`value`))&&this._syncValidity(),this._stream){let e=this.shadowRoot?.querySelector(`video.capture-preview`);e&&e.srcObject!==this._stream&&(e.srcObject=this._stream)}}_setOpen(e){this.open!==e&&(this.open=e,this.dispatchEvent(new CustomEvent(`open-change`,{detail:{open:e},bubbles:!0,composed:!0})))}_emitError(e,t=`Unable to access the camera`){this._errorMessage=t,this.dispatchEvent(new CustomEvent(`error`,{detail:{error:e,message:t},bubbles:!0,composed:!0}))}_syncAssociatedForm(e=this.closest(`form`)){this._associatedForm!==e&&(this._associatedForm&&(this._associatedForm.removeEventListener(`formdata`,this._handleFormData),this._associatedForm.removeEventListener(`reset`,this._handleFormReset)),this._associatedForm=e,this._associatedForm&&!this._supportsFormInternals&&(this._associatedForm.addEventListener(`formdata`,this._handleFormData),this._associatedForm.addEventListener(`reset`,this._handleFormReset)))}_syncFormValue(){if(!this._supportsFormInternals)return;let e=this._internals;if(e){if(this.disabled||!this.name||!this.value){e.setFormValue(null);return}e.setFormValue(this.value)}}_syncValidity(){if(!(!this._internals||!this._supportsFormInternals||typeof this._internals.setValidity!=`function`)){if(this.disabled||!this.required||this.value){this._internals.setValidity({});return}this._internals.setValidity({valueMissing:!0},`Please capture a photo.`)}}_syncPreviewFromValue(e){this._revokePreviewUrl(),e&&(this._stopStream(),this._previewUrl=URL.createObjectURL(e))}_clearValue(e){this.value=null,this._errorMessage=``,e.emitEvents&&this._dispatchValueEvents()}_dispatchValueEvents(){let e={value:this.value};this.dispatchEvent(new CustomEvent(`input`,{detail:e,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`change`,{detail:e,bubbles:!0,composed:!0}))}_fileExtensionForMimeType(e){switch(e){case`image/jpeg`:return`jpg`;case`image/webp`:return`webp`;case`image/gif`:return`gif`;default:return`png`}}_createFileFromBlob(e){let n=e.type||this.captureFormat||t,r=this._fileExtensionForMimeType(n),i=(this.fileNamePrefix||this.name||`photo`).trim()||`photo`;return new File([e],`${i}-${Date.now()}.${r}`,{type:n})}_queuePreviewStart(){this._startPreview().catch(()=>void 0)}_resolveMediaConstraints(){if(this.mediaConstraints)return this.mediaConstraints;if(this.constraints)try{return JSON.parse(this.constraints)}catch(e){throw Error(`Invalid constraints JSON: ${e.message}`)}return{video
|
|
201
|
+
`;_value=null;_stream=null;_internals;_associatedForm=null;_handleFormData=e=>{let t=e.formData;!t||!this.name||!this.value||this.disabled||t.append(this.name,this.value,this.value.name)};_handleFormReset=()=>{this._clearValue({emitEvents:!1}),this.open&&this._queuePreviewStart()};get _supportsFormInternals(){return!!this._internals&&typeof this._internals.setFormValue==`function`}constructor(){super(),this.label=`Take Photo`,this.heading=`Take a photo`,this.captureLabel=`Take Photo`,this.confirmLabel=`Use Photo`,this.retakeLabel=`Retake`,this.cancelLabel=`Cancel`,this.presentation=`inline`,this.theme=`light`,this.facingMode=`user`,this.constraints=``,this.captureFormat=t,this.captureQuality=void 0,this.open=!1,this.disabled=!1,this.name=``,this.required=!1,this.showTrigger=!1,this.showCancelButton=!0,this.autoCloseOnCapture=!1,this.fileNamePrefix=``,this.mediaConstraints=void 0,this._errorMessage=``,this._previewUrl=``,this._startingPreview=!1,this._internals=typeof this.attachInternals==`function`?this.attachInternals():null}get value(){return this._value}set value(e){let t=e instanceof File?e:null,n=this._value;n!==t&&(this._value=t,this._syncPreviewFromValue(t),this._syncFormValue(),this._syncValidity(),this.requestUpdate(`value`,n))}get form(){return(this._supportsFormInternals?this._internals?.form:null)??this._associatedForm}get validationMessage(){return(typeof this._internals?.validationMessage==`string`?this._internals.validationMessage:``)||(this.required&&!this.value?`Please capture a photo.`:``)}get willValidate(){return typeof this._internals?.willValidate==`boolean`?this._internals.willValidate:!this.disabled}checkValidity(){return this._internals&&typeof this._internals.checkValidity==`function`?this._internals.checkValidity():!(this.required&&!this.value)}reportValidity(){return this._internals&&typeof this._internals.reportValidity==`function`?this._internals.reportValidity():this.checkValidity()}connectedCallback(){super.connectedCallback(),this._syncAssociatedForm(),this._syncFormValue(),this._syncValidity()}disconnectedCallback(){this._syncAssociatedForm(null),this._stopStream(),this._revokePreviewUrl(),super.disconnectedCallback()}formResetCallback(){this._handleFormReset()}formDisabledCallback(e){this.disabled=e}updated(e){if(this._syncAssociatedForm(),this.presentation===`dialog`){let e=this.shadowRoot?.querySelector(`dialog`);e&&(this.open&&!e.open?e.showModal():!this.open&&e.open&&e.close())}if(e.has(`open`)&&!this.open&&this._stopStream(),this.open&&!this.value&&!this._stream&&!this._startingPreview&&(e.has(`open`)||e.has(`presentation`)||e.has(`_previewUrl`)||e.has(`value`))&&this._queuePreviewStart(),(e.has(`name`)||e.has(`disabled`)||e.has(`value`))&&this._syncFormValue(),(e.has(`required`)||e.has(`disabled`)||e.has(`value`))&&this._syncValidity(),this._stream){let e=this.shadowRoot?.querySelector(`video.capture-preview`);e&&e.srcObject!==this._stream&&(e.srcObject=this._stream)}}_setOpen(e){this.open!==e&&(this.open=e,this.dispatchEvent(new CustomEvent(`open-change`,{detail:{open:e},bubbles:!0,composed:!0})))}_emitError(e,t=`Unable to access the camera`){this._errorMessage=t,this.dispatchEvent(new CustomEvent(`error`,{detail:{error:e,message:t},bubbles:!0,composed:!0}))}_syncAssociatedForm(e=this.closest(`form`)){this._associatedForm!==e&&(this._associatedForm&&(this._associatedForm.removeEventListener(`formdata`,this._handleFormData),this._associatedForm.removeEventListener(`reset`,this._handleFormReset)),this._associatedForm=e,this._associatedForm&&!this._supportsFormInternals&&(this._associatedForm.addEventListener(`formdata`,this._handleFormData),this._associatedForm.addEventListener(`reset`,this._handleFormReset)))}_syncFormValue(){if(!this._supportsFormInternals)return;let e=this._internals;if(e){if(this.disabled||!this.name||!this.value){e.setFormValue(null);return}e.setFormValue(this.value)}}_syncValidity(){if(!(!this._internals||!this._supportsFormInternals||typeof this._internals.setValidity!=`function`)){if(this.disabled||!this.required||this.value){this._internals.setValidity({});return}this._internals.setValidity({valueMissing:!0},`Please capture a photo.`)}}_syncPreviewFromValue(e){this._revokePreviewUrl(),e&&(this._stopStream(),this._previewUrl=URL.createObjectURL(e))}_clearValue(e){this.value=null,this._errorMessage=``,e.emitEvents&&this._dispatchValueEvents()}_dispatchValueEvents(){let e={value:this.value};this.dispatchEvent(new CustomEvent(`input`,{detail:e,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`change`,{detail:e,bubbles:!0,composed:!0}))}_fileExtensionForMimeType(e){switch(e){case`image/jpeg`:return`jpg`;case`image/webp`:return`webp`;case`image/gif`:return`gif`;default:return`png`}}_createFileFromBlob(e){let n=e.type||this.captureFormat||t,r=this._fileExtensionForMimeType(n),i=(this.fileNamePrefix||this.name||`photo`).trim()||`photo`;return new File([e],`${i}-${Date.now()}.${r}`,{type:n})}_queuePreviewStart(){this._startPreview().catch(()=>void 0)}_resolveMediaConstraints(){if(this.mediaConstraints)return this.mediaConstraints;if(this.constraints)try{return JSON.parse(this.constraints)}catch(e){throw Error(`Invalid constraints JSON: ${e.message}`)}return{video:!this.facingMode||{facingMode:{ideal:this.facingMode}}}}async _startPreview(){if(!(!this.open||this.value||this._startingPreview)){if(!navigator.mediaDevices?.getUserMedia){this._emitError(Error(`navigator.mediaDevices.getUserMedia not available`),`Camera access is not available in this browser`);return}this._startingPreview=!0,this._errorMessage=``;try{let e=await navigator.mediaDevices.getUserMedia(this._resolveMediaConstraints());if(!this.open){e.getTracks().forEach(e=>e.stop());return}this._stream=e,this.requestUpdate(),await this.updateComplete;let t=this.shadowRoot?.querySelector(`video.capture-preview`);t&&(t.srcObject=e,await t.play?.().catch(()=>void 0))}catch(e){this._emitError(e,e?.message||`Unable to start the camera preview`)}finally{this._startingPreview=!1}}}_stopStream(){if(!this._stream)return;this._stream.getTracks().forEach(e=>e.stop()),this._stream=null;let e=this.shadowRoot?.querySelector(`video.capture-preview`);e&&(e.srcObject=null)}_revokePreviewUrl(){this._previewUrl&&URL.revokeObjectURL(this._previewUrl),this._previewUrl=``}async _captureSnapshot(){let e=this.shadowRoot?.querySelector(`video.capture-preview`);if(!e)return;let n=e.videoWidth||e.clientWidth||640,r=e.videoHeight||e.clientHeight||480,i=document.createElement(`canvas`);i.width=n,i.height=r;let a=i.getContext(`2d`);if(!a){this._emitError(Error(`Canvas 2D context unavailable`),`Unable to capture a photo in this browser`);return}a.drawImage(e,0,0,n,r);let o=await new Promise(e=>{i.toBlob(e,this.captureFormat||t,this.captureQuality)});if(!o){this._emitError(Error(`Camera snapshot failed`),`Unable to create an image from the current camera frame`);return}this.value=this._createFileFromBlob(o),this._errorMessage=``}async _retakePhoto(){this._clearValue({emitEvents:!0}),await this._startPreview()}_confirmPhoto(){!this.value||!this._previewUrl||(this._dispatchValueEvents(),this.dispatchEvent(new CustomEvent(`photo-captured`,{detail:{file:this.value,blob:this.value,objectUrl:this._previewUrl,contentType:this.value.type||this.captureFormat||t},bubbles:!0,composed:!0})),this.autoCloseOnCapture&&this._setOpen(!1))}_handleCancel(){this._stopStream(),this._clearValue({emitEvents:!1}),this._setOpen(!1),this.dispatchEvent(new CustomEvent(`cancel`,{bubbles:!0,composed:!0}))}_openCapture(){this.disabled||this._setOpen(!0)}_renderViewport(){return this._previewUrl?e.html`<img class="capture-preview" part="preview-image" src="${this._previewUrl}" alt="Captured photo preview" />`:e.html`<video class="capture-preview" part="preview-video" autoplay playsinline muted></video>`}_renderStatus(){return this._errorMessage?e.html`<div class="status error" part="error-message">${this._errorMessage}</div>`:this._startingPreview?e.html`<div class="status" part="status-message">Opening camera…</div>`:this.value?e.html`<div class="status" part="status-message">Review the photo before confirming it.</div>`:e.html`<div class="status" part="status-message">Preview the camera and take a photo when ready.</div>`}_renderActions(){return e.html`
|
|
202
202
|
<div class="actions" part="actions">
|
|
203
203
|
${this.showCancelButton?e.html`
|
|
204
204
|
<button
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhotoCapture.cjs.js","names":[],"sources":["../../../../../src/v2/components/media/photoCapture/PhotoCapture.ts"],"sourcesContent":["import { LitElement, css, html, nothing, type PropertyValues } from 'lit'\n/* The original code was written by Sir Tim Berners-Lee. It was made into a\nweb component by AI Model GPT-5.4\nPrompt: Take the code from src/media/media-capture.ts and make it a\nweb component. Make it work in forms as well as not. Make it\nconfigurable and follow LoginButton. */\nexport interface PhotoCapturedDetail {\n file: File\n blob: Blob\n objectUrl: string\n contentType: string\n}\n\nexport interface PhotoCaptureErrorDetail {\n error: unknown\n message: string\n}\n\nexport interface PhotoCaptureOpenChangeDetail {\n open: boolean\n}\n\nexport interface PhotoCaptureValueDetail {\n value: File | null\n}\n\ntype PresentationMode = 'inline' | 'dialog'\ntype ThemeMode = 'light' | 'dark'\n\nconst DEFAULT_CAPTURE_FORMAT = 'image/png'\n\nexport class PhotoCapture extends LitElement {\n static formAssociated = true\n\n static properties = {\n label: { type: String, reflect: true },\n heading: { type: String, reflect: true },\n captureLabel: { type: String, attribute: 'capture-label', reflect: true },\n confirmLabel: { type: String, attribute: 'confirm-label', reflect: true },\n retakeLabel: { type: String, attribute: 'retake-label', reflect: true },\n cancelLabel: { type: String, attribute: 'cancel-label', reflect: true },\n presentation: { type: String, reflect: true },\n theme: { type: String, reflect: true },\n facingMode: { type: String, attribute: 'facing-mode', reflect: true },\n constraints: { type: String, reflect: true },\n captureFormat: { type: String, attribute: 'capture-format', reflect: true },\n captureQuality: { type: Number, attribute: 'capture-quality' },\n open: { type: Boolean, reflect: true },\n disabled: { type: Boolean, reflect: true },\n name: { type: String, reflect: true },\n required: { type: Boolean, reflect: true },\n showTrigger: { type: Boolean, attribute: 'show-trigger', reflect: true },\n showCancelButton: { type: Boolean, attribute: 'show-cancel-button', reflect: true },\n autoCloseOnCapture: { type: Boolean, attribute: 'auto-close-on-capture' },\n fileNamePrefix: { type: String, attribute: 'file-name-prefix', reflect: true },\n value: { attribute: false },\n mediaConstraints: { attribute: false },\n _errorMessage: { state: true },\n _previewUrl: { state: true },\n _startingPreview: { state: true }\n }\n\n static styles = css`\n :host {\n display: block;\n --photo-capture-trigger-background: var(--lavender-900, #7c4cff);\n --photo-capture-trigger-text: var(--color-header-text, #ffffff);\n --photo-capture-surface: var(--color-background, #ffffff);\n --photo-capture-text: var(--gray-900, #101828);\n --photo-capture-muted-text: var(--gray-600, #4a5565);\n --photo-capture-border: var(--gray-200, #e5e7eb);\n --photo-capture-hover: var(--gray-100, #f3f4f6);\n --photo-capture-shadow: var(--box-shadow-sm, 0 1px 4px rgba(0, 0, 0, 0.12));\n --photo-capture-overlay: rgba(0, 0, 0, 0.6);\n --photo-capture-frame-max-width: 260px;\n --photo-capture-radius: 8px;\n --photo-capture-button-radius: var(--border-radius-base, 0.3125rem);\n --photo-capture-gap: var(--spacing-2xs, 0.625rem);\n color: var(--photo-capture-text);\n box-sizing: border-box;\n }\n\n :host([theme='dark']) {\n --photo-capture-surface: var(--gray-900, #111827);\n --photo-capture-text: var(--white, #ffffff);\n --photo-capture-muted-text: var(--gray-300, #d1d5dc);\n --photo-capture-border: var(--gray-700, #364153);\n --photo-capture-hover: rgba(255, 255, 255, 0.08);\n --photo-capture-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);\n }\n\n *, *::before, *::after {\n box-sizing: border-box;\n }\n\n .trigger-button,\n .action-button,\n .cancel-button,\n .close-button {\n font: inherit;\n cursor: pointer;\n }\n\n .trigger-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 35px;\n padding: 0.5rem 0.9rem;\n border: none;\n border-radius: var(--photo-capture-button-radius);\n background: var(--photo-capture-trigger-background);\n color: var(--photo-capture-trigger-text);\n transition: transform 0.2s ease;\n }\n\n .trigger-button:active {\n transform: translateY(1px);\n }\n\n .trigger-button:disabled,\n .action-button:disabled,\n .cancel-button:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n }\n\n .inline-root[hidden] {\n display: none;\n }\n\n .dialog {\n border: none;\n padding: 0;\n background: transparent;\n outline: none;\n overflow: visible;\n max-width: none;\n max-height: none;\n }\n\n .dialog::backdrop {\n background: var(--photo-capture-overlay);\n }\n\n .panel {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--photo-capture-gap);\n width: min(100%, 340px);\n padding: 1rem;\n border: 1px solid var(--photo-capture-border);\n border-radius: var(--photo-capture-radius);\n background: var(--photo-capture-surface);\n color: var(--photo-capture-text);\n box-shadow: var(--photo-capture-shadow);\n }\n\n .panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n width: 100%;\n }\n\n .panel-heading {\n margin: 0;\n font-size: 1rem;\n font-weight: 700;\n line-height: 1.4;\n }\n\n .close-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: 999px;\n background: transparent;\n color: var(--photo-capture-muted-text);\n font-size: 1.125rem;\n line-height: 1;\n }\n\n .close-button:hover,\n .close-button:focus-visible,\n .action-button:hover,\n .action-button:focus-visible,\n .cancel-button:hover,\n .cancel-button:focus-visible {\n background: var(--photo-capture-hover);\n }\n\n .viewport {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-height: 200px;\n border-radius: 0.5rem;\n overflow: hidden;\n background: color-mix(in srgb, var(--photo-capture-surface) 92%, #000 8%);\n }\n\n .viewport video,\n .viewport img {\n display: block;\n width: 100%;\n max-width: var(--photo-capture-frame-max-width);\n height: auto;\n border-radius: 0.5rem;\n margin: 0 auto;\n object-fit: cover;\n }\n\n .status {\n width: 100%;\n text-align: center;\n color: var(--photo-capture-muted-text);\n font-size: 0.875rem;\n }\n\n .status.error {\n color: var(--color-error, #b00020);\n }\n\n .actions {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: var(--photo-capture-gap);\n width: 100%;\n }\n\n .action-button,\n .cancel-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: 0.45rem 0.85rem;\n border-radius: var(--photo-capture-button-radius);\n border: 1px solid var(--photo-capture-border);\n background: var(--photo-capture-surface);\n color: var(--photo-capture-text);\n font-size: var(--font-size-xxs, 0.75rem);\n font-weight: var(--font-weight-xbold, 700);\n line-height: 1.5;\n }\n\n .action-button--primary {\n background: var(--photo-capture-trigger-background);\n color: var(--photo-capture-trigger-text);\n border-color: transparent;\n }\n `\n\n declare label: string\n declare heading: string\n declare captureLabel: string\n declare confirmLabel: string\n declare retakeLabel: string\n declare cancelLabel: string\n declare presentation: PresentationMode\n declare theme: ThemeMode\n declare facingMode: string\n declare constraints: string\n declare captureFormat: string\n declare captureQuality?: number\n declare open: boolean\n declare disabled: boolean\n declare name: string\n declare required: boolean\n declare showTrigger: boolean\n declare showCancelButton: boolean\n declare autoCloseOnCapture: boolean\n declare fileNamePrefix: string\n declare mediaConstraints?: MediaStreamConstraints\n declare _errorMessage: string\n declare _previewUrl: string\n declare _startingPreview: boolean\n\n private _value: File | null = null\n private _stream: MediaStream | null = null\n private readonly _internals: ElementInternals | null\n private _associatedForm: HTMLFormElement | null = null\n private readonly _handleFormData = (event: Event) => {\n const formData = (event as Event & { formData?: FormData }).formData\n if (!formData || !this.name || !this.value || this.disabled) return\n formData.append(this.name, this.value, this.value.name)\n }\n\n private readonly _handleFormReset = () => {\n this._clearValue({ emitEvents: false })\n if (this.open) {\n this._queuePreviewStart()\n }\n }\n\n private get _supportsFormInternals (): boolean {\n return !!this._internals && typeof this._internals.setFormValue === 'function'\n }\n\n constructor () {\n super()\n this.label = 'Take Photo'\n this.heading = 'Take a photo'\n this.captureLabel = 'Take Photo'\n this.confirmLabel = 'Use Photo'\n this.retakeLabel = 'Retake'\n this.cancelLabel = 'Cancel'\n this.presentation = 'inline'\n this.theme = 'light'\n this.facingMode = 'user'\n this.constraints = ''\n this.captureFormat = DEFAULT_CAPTURE_FORMAT\n this.captureQuality = undefined\n this.open = false\n this.disabled = false\n this.name = ''\n this.required = false\n this.showTrigger = false\n this.showCancelButton = true\n this.autoCloseOnCapture = false\n this.fileNamePrefix = ''\n this.mediaConstraints = undefined\n this._errorMessage = ''\n this._previewUrl = ''\n this._startingPreview = false\n this._internals = typeof this.attachInternals === 'function' ? this.attachInternals() : null\n }\n\n get value (): File | null {\n return this._value\n }\n\n set value (nextValue: File | null) {\n const normalizedValue = nextValue instanceof File ? nextValue : null\n const previousValue = this._value\n if (previousValue === normalizedValue) return\n\n this._value = normalizedValue\n this._syncPreviewFromValue(normalizedValue)\n this._syncFormValue()\n this._syncValidity()\n this.requestUpdate('value', previousValue)\n }\n\n get form (): HTMLFormElement | null {\n return (this._supportsFormInternals ? this._internals?.form : null) ?? this._associatedForm\n }\n\n get validationMessage (): string {\n return (typeof this._internals?.validationMessage === 'string' ? this._internals.validationMessage : '') || (this.required && !this.value ? 'Please capture a photo.' : '')\n }\n\n get willValidate (): boolean {\n return typeof this._internals?.willValidate === 'boolean' ? this._internals.willValidate : !this.disabled\n }\n\n checkValidity (): boolean {\n if (this._internals && typeof this._internals.checkValidity === 'function') {\n return this._internals.checkValidity()\n }\n return !(this.required && !this.value)\n }\n\n reportValidity (): boolean {\n if (this._internals && typeof this._internals.reportValidity === 'function') {\n return this._internals.reportValidity()\n }\n return this.checkValidity()\n }\n\n connectedCallback () {\n super.connectedCallback()\n this._syncAssociatedForm()\n this._syncFormValue()\n this._syncValidity()\n }\n\n disconnectedCallback () {\n this._syncAssociatedForm(null)\n this._stopStream()\n this._revokePreviewUrl()\n super.disconnectedCallback()\n }\n\n formResetCallback () {\n this._handleFormReset()\n }\n\n formDisabledCallback (disabled: boolean) {\n this.disabled = disabled\n }\n\n protected updated (changed: PropertyValues<this>) {\n this._syncAssociatedForm()\n\n if (this.presentation === 'dialog') {\n const dialog = this.shadowRoot?.querySelector('dialog') as HTMLDialogElement | null\n if (dialog) {\n if (this.open && !dialog.open) {\n dialog.showModal()\n } else if (!this.open && dialog.open) {\n dialog.close()\n }\n }\n }\n\n if (changed.has('open') && !this.open) {\n this._stopStream()\n }\n\n if (\n this.open &&\n !this.value &&\n !this._stream &&\n !this._startingPreview &&\n (changed.has('open') || changed.has('presentation') || changed.has('_previewUrl') || changed.has('value'))\n ) {\n this._queuePreviewStart()\n }\n\n if (changed.has('name') || changed.has('disabled') || changed.has('value')) {\n this._syncFormValue()\n }\n\n if (changed.has('required') || changed.has('disabled') || changed.has('value')) {\n this._syncValidity()\n }\n\n if (this._stream) {\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video && video.srcObject !== this._stream) {\n video.srcObject = this._stream\n }\n }\n }\n\n private _setOpen (open: boolean) {\n if (this.open === open) return\n this.open = open\n this.dispatchEvent(new CustomEvent<PhotoCaptureOpenChangeDetail>('open-change', {\n detail: { open },\n bubbles: true,\n composed: true\n }))\n }\n\n private _emitError (error: unknown, message = 'Unable to access the camera') {\n this._errorMessage = message\n this.dispatchEvent(new CustomEvent<PhotoCaptureErrorDetail>('error', {\n detail: { error, message },\n bubbles: true,\n composed: true\n }))\n }\n\n private _syncAssociatedForm (nextForm = this.closest('form') as HTMLFormElement | null) {\n if (this._associatedForm === nextForm) return\n\n if (this._associatedForm) {\n this._associatedForm.removeEventListener('formdata', this._handleFormData)\n this._associatedForm.removeEventListener('reset', this._handleFormReset)\n }\n\n this._associatedForm = nextForm\n\n if (this._associatedForm && !this._supportsFormInternals) {\n this._associatedForm.addEventListener('formdata', this._handleFormData)\n this._associatedForm.addEventListener('reset', this._handleFormReset)\n }\n }\n\n private _syncFormValue () {\n if (!this._supportsFormInternals) return\n const internals = this._internals\n if (!internals) return\n if (this.disabled || !this.name || !this.value) {\n internals.setFormValue(null)\n return\n }\n internals.setFormValue(this.value)\n }\n\n private _syncValidity () {\n if (!this._internals || !this._supportsFormInternals || typeof this._internals.setValidity !== 'function') return\n if (this.disabled || !this.required || this.value) {\n this._internals.setValidity({})\n return\n }\n this._internals.setValidity({ valueMissing: true }, 'Please capture a photo.')\n }\n\n private _syncPreviewFromValue (file: File | null) {\n this._revokePreviewUrl()\n if (!file) return\n this._stopStream()\n this._previewUrl = URL.createObjectURL(file)\n }\n\n private _clearValue (options: { emitEvents: boolean }) {\n this.value = null\n this._errorMessage = ''\n if (options.emitEvents) {\n this._dispatchValueEvents()\n }\n }\n\n private _dispatchValueEvents () {\n const detail = { value: this.value }\n this.dispatchEvent(new CustomEvent<PhotoCaptureValueDetail>('input', {\n detail,\n bubbles: true,\n composed: true\n }))\n this.dispatchEvent(new CustomEvent<PhotoCaptureValueDetail>('change', {\n detail,\n bubbles: true,\n composed: true\n }))\n }\n\n private _fileExtensionForMimeType (mimeType: string): string {\n switch (mimeType) {\n case 'image/jpeg':\n return 'jpg'\n case 'image/webp':\n return 'webp'\n case 'image/gif':\n return 'gif'\n default:\n return 'png'\n }\n }\n\n private _createFileFromBlob (blob: Blob): File {\n const contentType = blob.type || this.captureFormat || DEFAULT_CAPTURE_FORMAT\n const extension = this._fileExtensionForMimeType(contentType)\n const safePrefix = (this.fileNamePrefix || this.name || 'photo').trim() || 'photo'\n return new File([blob], `${safePrefix}-${Date.now()}.${extension}`, { type: contentType })\n }\n\n private _queuePreviewStart () {\n this._startPreview().catch(() => undefined)\n }\n\n private _resolveMediaConstraints (): MediaStreamConstraints {\n if (this.mediaConstraints) {\n return this.mediaConstraints\n }\n if (this.constraints) {\n try {\n return JSON.parse(this.constraints) as MediaStreamConstraints\n } catch (error) {\n throw new Error(`Invalid constraints JSON: ${(error as Error).message}`)\n }\n }\n\n return {\n video: this.facingMode\n ? { facingMode: { ideal: this.facingMode } }\n : true\n }\n }\n\n private async _startPreview () {\n if (!this.open || this.value || this._startingPreview) return\n if (!navigator.mediaDevices?.getUserMedia) {\n this._emitError(new Error('navigator.mediaDevices.getUserMedia not available'), 'Camera access is not available in this browser')\n return\n }\n\n this._startingPreview = true\n this._errorMessage = ''\n\n try {\n const stream = await navigator.mediaDevices.getUserMedia(this._resolveMediaConstraints())\n if (!this.open) {\n stream.getTracks().forEach(track => track.stop())\n return\n }\n this._stream = stream\n this.requestUpdate()\n await this.updateComplete\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video) {\n video.srcObject = stream\n await video.play?.().catch(() => undefined)\n }\n } catch (error) {\n this._emitError(error, (error as Error)?.message || 'Unable to start the camera preview')\n } finally {\n this._startingPreview = false\n }\n }\n\n private _stopStream () {\n if (!this._stream) return\n this._stream.getTracks().forEach(track => track.stop())\n this._stream = null\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video) {\n video.srcObject = null\n }\n }\n\n private _revokePreviewUrl () {\n if (this._previewUrl) {\n URL.revokeObjectURL(this._previewUrl)\n }\n this._previewUrl = ''\n }\n\n private async _captureSnapshot () {\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (!video) return\n\n const width = video.videoWidth || video.clientWidth || 640\n const height = video.videoHeight || video.clientHeight || 480\n const canvas = document.createElement('canvas')\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext('2d')\n if (!context) {\n this._emitError(new Error('Canvas 2D context unavailable'), 'Unable to capture a photo in this browser')\n return\n }\n\n context.drawImage(video, 0, 0, width, height)\n\n const blob = await new Promise<Blob | null>(resolve => {\n canvas.toBlob(resolve, this.captureFormat || DEFAULT_CAPTURE_FORMAT, this.captureQuality)\n })\n\n if (!blob) {\n this._emitError(new Error('Camera snapshot failed'), 'Unable to create an image from the current camera frame')\n return\n }\n\n this.value = this._createFileFromBlob(blob)\n this._errorMessage = ''\n }\n\n private async _retakePhoto () {\n this._clearValue({ emitEvents: true })\n await this._startPreview()\n }\n\n private _confirmPhoto () {\n if (!this.value || !this._previewUrl) return\n\n this._dispatchValueEvents()\n\n this.dispatchEvent(new CustomEvent<PhotoCapturedDetail>('photo-captured', {\n detail: {\n file: this.value,\n blob: this.value,\n objectUrl: this._previewUrl,\n contentType: this.value.type || this.captureFormat || DEFAULT_CAPTURE_FORMAT\n },\n bubbles: true,\n composed: true\n }))\n\n if (this.autoCloseOnCapture) {\n this._setOpen(false)\n }\n }\n\n private _handleCancel () {\n this._stopStream()\n this._clearValue({ emitEvents: false })\n this._setOpen(false)\n this.dispatchEvent(new CustomEvent('cancel', {\n bubbles: true,\n composed: true\n }))\n }\n\n private _openCapture () {\n if (this.disabled) return\n this._setOpen(true)\n }\n\n private _renderViewport () {\n if (this._previewUrl) {\n return html`<img class=\"capture-preview\" part=\"preview-image\" src=\"${this._previewUrl}\" alt=\"Captured photo preview\" />`\n }\n\n return html`<video class=\"capture-preview\" part=\"preview-video\" autoplay playsinline muted></video>`\n }\n\n private _renderStatus () {\n if (this._errorMessage) {\n return html`<div class=\"status error\" part=\"error-message\">${this._errorMessage}</div>`\n }\n\n if (this._startingPreview) {\n return html`<div class=\"status\" part=\"status-message\">Opening camera…</div>`\n }\n\n if (!this.value) {\n return html`<div class=\"status\" part=\"status-message\">Preview the camera and take a photo when ready.</div>`\n }\n\n return html`<div class=\"status\" part=\"status-message\">Review the photo before confirming it.</div>`\n }\n\n private _renderActions () {\n return html`\n <div class=\"actions\" part=\"actions\">\n ${this.showCancelButton\n ? html`\n <button\n class=\"cancel-button\"\n part=\"cancel-button\"\n type=\"button\"\n @click=\"${this._handleCancel}\"\n >${this.cancelLabel}</button>\n `\n : nothing}\n\n ${this.value\n ? html`\n <button\n class=\"action-button\"\n part=\"retake-button\"\n type=\"button\"\n @click=\"${this._retakePhoto}\"\n >${this.retakeLabel}</button>\n <button\n class=\"action-button action-button--primary\"\n part=\"confirm-button\"\n type=\"button\"\n @click=\"${this._confirmPhoto}\"\n >${this.confirmLabel}</button>\n `\n : html`\n <button\n class=\"action-button action-button--primary\"\n part=\"capture-button\"\n type=\"button\"\n ?disabled=\"${this._startingPreview || !this._stream}\"\n @click=\"${this._captureSnapshot}\"\n >${this.captureLabel}</button>\n `}\n </div>\n `\n }\n\n private _renderPanel () {\n return html`\n <div class=\"panel\" part=\"panel\">\n <div class=\"panel-header\" part=\"header\">\n <h2 class=\"panel-heading\" part=\"heading\"><slot name=\"heading\">${this.heading}</slot></h2>\n ${this.showCancelButton\n ? html`\n <button\n class=\"close-button\"\n part=\"close-button\"\n type=\"button\"\n aria-label=\"${this.cancelLabel}\"\n @click=\"${this._handleCancel}\"\n >×</button>\n `\n : nothing}\n </div>\n <div class=\"viewport\" part=\"viewport\">${this._renderViewport()}</div>\n ${this._renderStatus()}\n ${this._renderActions()}\n </div>\n `\n }\n\n render () {\n const trigger = this.showTrigger || this.presentation === 'dialog'\n\n return html`\n ${trigger\n ? html`\n <button\n class=\"trigger-button\"\n part=\"trigger-button\"\n type=\"button\"\n ?disabled=\"${this.disabled}\"\n @click=\"${this._openCapture}\"\n ><slot>${this.label}</slot></button>\n `\n : nothing}\n\n ${this.presentation === 'dialog'\n ? html`\n <dialog\n class=\"dialog\"\n part=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"${this.heading}\"\n @cancel=\"${(event: Event) => { event.preventDefault(); this._handleCancel() }}\"\n @click=\"${(event: MouseEvent) => {\n if (event.target === event.currentTarget) {\n this._handleCancel()\n }\n }}\"\n >\n ${this.open ? this._renderPanel() : nothing}\n </dialog>\n `\n : html`\n <div class=\"inline-root\" part=\"inline-root\" ?hidden=\"${!this.open}\">\n ${this.open ? this._renderPanel() : nothing}\n </div>\n `}\n `\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PhotoCapture.cjs.js","names":[],"sources":["../../../../../src/v2/components/media/photoCapture/PhotoCapture.ts"],"sourcesContent":["import { LitElement, css, html, nothing, type PropertyValues } from 'lit'\n/* The original code was written by Sir Tim Berners-Lee. It was made into a\nweb component by AI Model GPT-5.4\nPrompt: Take the code from src/media/media-capture.ts and make it a\nweb component. Make it work in forms as well as not. Make it\nconfigurable and follow LoginButton. */\nexport interface PhotoCapturedDetail {\n file: File\n blob: Blob\n objectUrl: string\n contentType: string\n}\n\nexport interface PhotoCaptureErrorDetail {\n error: unknown\n message: string\n}\n\nexport interface PhotoCaptureOpenChangeDetail {\n open: boolean\n}\n\nexport interface PhotoCaptureValueDetail {\n value: File | null\n}\n\ntype PresentationMode = 'inline' | 'dialog'\ntype ThemeMode = 'light' | 'dark'\n\nconst DEFAULT_CAPTURE_FORMAT = 'image/png'\n\nexport class PhotoCapture extends LitElement {\n static formAssociated = true\n\n static properties = {\n label: { type: String, reflect: true },\n heading: { type: String, reflect: true },\n captureLabel: { type: String, attribute: 'capture-label', reflect: true },\n confirmLabel: { type: String, attribute: 'confirm-label', reflect: true },\n retakeLabel: { type: String, attribute: 'retake-label', reflect: true },\n cancelLabel: { type: String, attribute: 'cancel-label', reflect: true },\n presentation: { type: String, reflect: true },\n theme: { type: String, reflect: true },\n facingMode: { type: String, attribute: 'facing-mode', reflect: true },\n constraints: { type: String, reflect: true },\n captureFormat: { type: String, attribute: 'capture-format', reflect: true },\n captureQuality: { type: Number, attribute: 'capture-quality' },\n open: { type: Boolean, reflect: true },\n disabled: { type: Boolean, reflect: true },\n name: { type: String, reflect: true },\n required: { type: Boolean, reflect: true },\n showTrigger: { type: Boolean, attribute: 'show-trigger', reflect: true },\n showCancelButton: { type: Boolean, attribute: 'show-cancel-button', reflect: true },\n autoCloseOnCapture: { type: Boolean, attribute: 'auto-close-on-capture' },\n fileNamePrefix: { type: String, attribute: 'file-name-prefix', reflect: true },\n value: { attribute: false },\n mediaConstraints: { attribute: false },\n _errorMessage: { state: true },\n _previewUrl: { state: true },\n _startingPreview: { state: true }\n }\n\n static styles = css`\n :host {\n display: block;\n --photo-capture-trigger-background: var(--lavender-900, #7c4cff);\n --photo-capture-trigger-text: var(--color-header-text, #ffffff);\n --photo-capture-surface: var(--color-background, #ffffff);\n --photo-capture-text: var(--gray-900, #101828);\n --photo-capture-muted-text: var(--gray-600, #4a5565);\n --photo-capture-border: var(--gray-200, #e5e7eb);\n --photo-capture-hover: var(--gray-100, #f3f4f6);\n --photo-capture-shadow: var(--box-shadow-sm, 0 1px 4px rgba(0, 0, 0, 0.12));\n --photo-capture-overlay: rgba(0, 0, 0, 0.6);\n --photo-capture-frame-max-width: 260px;\n --photo-capture-radius: 8px;\n --photo-capture-button-radius: var(--border-radius-base, 0.3125rem);\n --photo-capture-gap: var(--spacing-2xs, 0.625rem);\n color: var(--photo-capture-text);\n box-sizing: border-box;\n }\n\n :host([theme='dark']) {\n --photo-capture-surface: var(--gray-900, #111827);\n --photo-capture-text: var(--white, #ffffff);\n --photo-capture-muted-text: var(--gray-300, #d1d5dc);\n --photo-capture-border: var(--gray-700, #364153);\n --photo-capture-hover: rgba(255, 255, 255, 0.08);\n --photo-capture-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);\n }\n\n *, *::before, *::after {\n box-sizing: border-box;\n }\n\n .trigger-button,\n .action-button,\n .cancel-button,\n .close-button {\n font: inherit;\n cursor: pointer;\n }\n\n .trigger-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 35px;\n padding: 0.5rem 0.9rem;\n border: none;\n border-radius: var(--photo-capture-button-radius);\n background: var(--photo-capture-trigger-background);\n color: var(--photo-capture-trigger-text);\n transition: transform 0.2s ease;\n }\n\n .trigger-button:active {\n transform: translateY(1px);\n }\n\n .trigger-button:disabled,\n .action-button:disabled,\n .cancel-button:disabled {\n opacity: 0.55;\n cursor: not-allowed;\n }\n\n .inline-root[hidden] {\n display: none;\n }\n\n .dialog {\n border: none;\n padding: 0;\n background: transparent;\n outline: none;\n overflow: visible;\n max-width: none;\n max-height: none;\n }\n\n .dialog::backdrop {\n background: var(--photo-capture-overlay);\n }\n\n .panel {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--photo-capture-gap);\n width: min(100%, 340px);\n padding: 1rem;\n border: 1px solid var(--photo-capture-border);\n border-radius: var(--photo-capture-radius);\n background: var(--photo-capture-surface);\n color: var(--photo-capture-text);\n box-shadow: var(--photo-capture-shadow);\n }\n\n .panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 0.5rem;\n width: 100%;\n }\n\n .panel-heading {\n margin: 0;\n font-size: 1rem;\n font-weight: 700;\n line-height: 1.4;\n }\n\n .close-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 1.75rem;\n height: 1.75rem;\n padding: 0;\n border: none;\n border-radius: 999px;\n background: transparent;\n color: var(--photo-capture-muted-text);\n font-size: 1.125rem;\n line-height: 1;\n }\n\n .close-button:hover,\n .close-button:focus-visible,\n .action-button:hover,\n .action-button:focus-visible,\n .cancel-button:hover,\n .cancel-button:focus-visible {\n background: var(--photo-capture-hover);\n }\n\n .viewport {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-height: 200px;\n border-radius: 0.5rem;\n overflow: hidden;\n background: color-mix(in srgb, var(--photo-capture-surface) 92%, #000 8%);\n }\n\n .viewport video,\n .viewport img {\n display: block;\n width: 100%;\n max-width: var(--photo-capture-frame-max-width);\n height: auto;\n border-radius: 0.5rem;\n margin: 0 auto;\n object-fit: cover;\n }\n\n .status {\n width: 100%;\n text-align: center;\n color: var(--photo-capture-muted-text);\n font-size: 0.875rem;\n }\n\n .status.error {\n color: var(--color-error, #b00020);\n }\n\n .actions {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: var(--photo-capture-gap);\n width: 100%;\n }\n\n .action-button,\n .cancel-button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-height: 2.25rem;\n padding: 0.45rem 0.85rem;\n border-radius: var(--photo-capture-button-radius);\n border: 1px solid var(--photo-capture-border);\n background: var(--photo-capture-surface);\n color: var(--photo-capture-text);\n font-size: var(--font-size-xxs, 0.75rem);\n font-weight: var(--font-weight-xbold, 700);\n line-height: 1.5;\n }\n\n .action-button--primary {\n background: var(--photo-capture-trigger-background);\n color: var(--photo-capture-trigger-text);\n border-color: transparent;\n }\n `\n\n declare label: string\n declare heading: string\n declare captureLabel: string\n declare confirmLabel: string\n declare retakeLabel: string\n declare cancelLabel: string\n declare presentation: PresentationMode\n declare theme: ThemeMode\n declare facingMode: string\n declare constraints: string\n declare captureFormat: string\n declare captureQuality?: number\n declare open: boolean\n declare disabled: boolean\n declare name: string\n declare required: boolean\n declare showTrigger: boolean\n declare showCancelButton: boolean\n declare autoCloseOnCapture: boolean\n declare fileNamePrefix: string\n declare mediaConstraints?: MediaStreamConstraints\n declare _errorMessage: string\n declare _previewUrl: string\n declare _startingPreview: boolean\n\n private _value: File | null = null\n private _stream: MediaStream | null = null\n private readonly _internals: ElementInternals | null\n private _associatedForm: HTMLFormElement | null = null\n private readonly _handleFormData = (event: Event) => {\n const formData = (event as Event & { formData?: FormData }).formData\n if (!formData || !this.name || !this.value || this.disabled) return\n formData.append(this.name, this.value, this.value.name)\n }\n\n private readonly _handleFormReset = () => {\n this._clearValue({ emitEvents: false })\n if (this.open) {\n this._queuePreviewStart()\n }\n }\n\n private get _supportsFormInternals (): boolean {\n return !!this._internals && typeof this._internals.setFormValue === 'function'\n }\n\n constructor () {\n super()\n this.label = 'Take Photo'\n this.heading = 'Take a photo'\n this.captureLabel = 'Take Photo'\n this.confirmLabel = 'Use Photo'\n this.retakeLabel = 'Retake'\n this.cancelLabel = 'Cancel'\n this.presentation = 'inline'\n this.theme = 'light'\n this.facingMode = 'user'\n this.constraints = ''\n this.captureFormat = DEFAULT_CAPTURE_FORMAT\n this.captureQuality = undefined\n this.open = false\n this.disabled = false\n this.name = ''\n this.required = false\n this.showTrigger = false\n this.showCancelButton = true\n this.autoCloseOnCapture = false\n this.fileNamePrefix = ''\n this.mediaConstraints = undefined\n this._errorMessage = ''\n this._previewUrl = ''\n this._startingPreview = false\n this._internals = typeof this.attachInternals === 'function' ? this.attachInternals() : null\n }\n\n get value (): File | null {\n return this._value\n }\n\n set value (nextValue: File | null) {\n const normalizedValue = nextValue instanceof File ? nextValue : null\n const previousValue = this._value\n if (previousValue === normalizedValue) return\n\n this._value = normalizedValue\n this._syncPreviewFromValue(normalizedValue)\n this._syncFormValue()\n this._syncValidity()\n this.requestUpdate('value', previousValue)\n }\n\n get form (): HTMLFormElement | null {\n return (this._supportsFormInternals ? this._internals?.form : null) ?? this._associatedForm\n }\n\n get validationMessage (): string {\n return (typeof this._internals?.validationMessage === 'string' ? this._internals.validationMessage : '') || (this.required && !this.value ? 'Please capture a photo.' : '')\n }\n\n get willValidate (): boolean {\n return typeof this._internals?.willValidate === 'boolean' ? this._internals.willValidate : !this.disabled\n }\n\n checkValidity (): boolean {\n if (this._internals && typeof this._internals.checkValidity === 'function') {\n return this._internals.checkValidity()\n }\n return !(this.required && !this.value)\n }\n\n reportValidity (): boolean {\n if (this._internals && typeof this._internals.reportValidity === 'function') {\n return this._internals.reportValidity()\n }\n return this.checkValidity()\n }\n\n connectedCallback () {\n super.connectedCallback()\n this._syncAssociatedForm()\n this._syncFormValue()\n this._syncValidity()\n }\n\n disconnectedCallback () {\n this._syncAssociatedForm(null)\n this._stopStream()\n this._revokePreviewUrl()\n super.disconnectedCallback()\n }\n\n formResetCallback () {\n this._handleFormReset()\n }\n\n formDisabledCallback (disabled: boolean) {\n this.disabled = disabled\n }\n\n protected updated (changed: PropertyValues<this>) {\n this._syncAssociatedForm()\n\n if (this.presentation === 'dialog') {\n const dialog = this.shadowRoot?.querySelector('dialog') as HTMLDialogElement | null\n if (dialog) {\n if (this.open && !dialog.open) {\n dialog.showModal()\n } else if (!this.open && dialog.open) {\n dialog.close()\n }\n }\n }\n\n if (changed.has('open') && !this.open) {\n this._stopStream()\n }\n\n if (\n this.open &&\n !this.value &&\n !this._stream &&\n !this._startingPreview &&\n (changed.has('open') || changed.has('presentation') || changed.has('_previewUrl') || changed.has('value'))\n ) {\n this._queuePreviewStart()\n }\n\n if (changed.has('name') || changed.has('disabled') || changed.has('value')) {\n this._syncFormValue()\n }\n\n if (changed.has('required') || changed.has('disabled') || changed.has('value')) {\n this._syncValidity()\n }\n\n if (this._stream) {\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video && video.srcObject !== this._stream) {\n video.srcObject = this._stream\n }\n }\n }\n\n private _setOpen (open: boolean) {\n if (this.open === open) return\n this.open = open\n this.dispatchEvent(new CustomEvent<PhotoCaptureOpenChangeDetail>('open-change', {\n detail: { open },\n bubbles: true,\n composed: true\n }))\n }\n\n private _emitError (error: unknown, message = 'Unable to access the camera') {\n this._errorMessage = message\n this.dispatchEvent(new CustomEvent<PhotoCaptureErrorDetail>('error', {\n detail: { error, message },\n bubbles: true,\n composed: true\n }))\n }\n\n private _syncAssociatedForm (nextForm = this.closest('form') as HTMLFormElement | null) {\n if (this._associatedForm === nextForm) return\n\n if (this._associatedForm) {\n this._associatedForm.removeEventListener('formdata', this._handleFormData)\n this._associatedForm.removeEventListener('reset', this._handleFormReset)\n }\n\n this._associatedForm = nextForm\n\n if (this._associatedForm && !this._supportsFormInternals) {\n this._associatedForm.addEventListener('formdata', this._handleFormData)\n this._associatedForm.addEventListener('reset', this._handleFormReset)\n }\n }\n\n private _syncFormValue () {\n if (!this._supportsFormInternals) return\n const internals = this._internals\n if (!internals) return\n if (this.disabled || !this.name || !this.value) {\n internals.setFormValue(null)\n return\n }\n internals.setFormValue(this.value)\n }\n\n private _syncValidity () {\n if (!this._internals || !this._supportsFormInternals || typeof this._internals.setValidity !== 'function') return\n if (this.disabled || !this.required || this.value) {\n this._internals.setValidity({})\n return\n }\n this._internals.setValidity({ valueMissing: true }, 'Please capture a photo.')\n }\n\n private _syncPreviewFromValue (file: File | null) {\n this._revokePreviewUrl()\n if (!file) return\n this._stopStream()\n this._previewUrl = URL.createObjectURL(file)\n }\n\n private _clearValue (options: { emitEvents: boolean }) {\n this.value = null\n this._errorMessage = ''\n if (options.emitEvents) {\n this._dispatchValueEvents()\n }\n }\n\n private _dispatchValueEvents () {\n const detail = { value: this.value }\n this.dispatchEvent(new CustomEvent<PhotoCaptureValueDetail>('input', {\n detail,\n bubbles: true,\n composed: true\n }))\n this.dispatchEvent(new CustomEvent<PhotoCaptureValueDetail>('change', {\n detail,\n bubbles: true,\n composed: true\n }))\n }\n\n private _fileExtensionForMimeType (mimeType: string): string {\n switch (mimeType) {\n case 'image/jpeg':\n return 'jpg'\n case 'image/webp':\n return 'webp'\n case 'image/gif':\n return 'gif'\n default:\n return 'png'\n }\n }\n\n private _createFileFromBlob (blob: Blob): File {\n const contentType = blob.type || this.captureFormat || DEFAULT_CAPTURE_FORMAT\n const extension = this._fileExtensionForMimeType(contentType)\n const safePrefix = (this.fileNamePrefix || this.name || 'photo').trim() || 'photo'\n return new File([blob], `${safePrefix}-${Date.now()}.${extension}`, { type: contentType })\n }\n\n private _queuePreviewStart () {\n this._startPreview().catch(() => undefined)\n }\n\n private _resolveMediaConstraints (): MediaStreamConstraints {\n if (this.mediaConstraints) {\n return this.mediaConstraints\n }\n if (this.constraints) {\n try {\n return JSON.parse(this.constraints) as MediaStreamConstraints\n } catch (error) {\n throw new Error(`Invalid constraints JSON: ${(error as Error).message}`)\n }\n }\n\n return {\n video: this.facingMode\n ? { facingMode: { ideal: this.facingMode } }\n : true\n }\n }\n\n private async _startPreview () {\n if (!this.open || this.value || this._startingPreview) return\n if (!navigator.mediaDevices?.getUserMedia) {\n this._emitError(new Error('navigator.mediaDevices.getUserMedia not available'), 'Camera access is not available in this browser')\n return\n }\n\n this._startingPreview = true\n this._errorMessage = ''\n\n try {\n const stream = await navigator.mediaDevices.getUserMedia(this._resolveMediaConstraints())\n if (!this.open) {\n stream.getTracks().forEach(track => track.stop())\n return\n }\n this._stream = stream\n this.requestUpdate()\n await this.updateComplete\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video) {\n video.srcObject = stream\n await video.play?.().catch(() => undefined)\n }\n } catch (error) {\n this._emitError(error, (error as Error)?.message || 'Unable to start the camera preview')\n } finally {\n this._startingPreview = false\n }\n }\n\n private _stopStream () {\n if (!this._stream) return\n this._stream.getTracks().forEach(track => track.stop())\n this._stream = null\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (video) {\n video.srcObject = null\n }\n }\n\n private _revokePreviewUrl () {\n if (this._previewUrl) {\n URL.revokeObjectURL(this._previewUrl)\n }\n this._previewUrl = ''\n }\n\n private async _captureSnapshot () {\n const video = this.shadowRoot?.querySelector('video.capture-preview') as HTMLVideoElement | null\n if (!video) return\n\n const width = video.videoWidth || video.clientWidth || 640\n const height = video.videoHeight || video.clientHeight || 480\n const canvas = document.createElement('canvas')\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext('2d')\n if (!context) {\n this._emitError(new Error('Canvas 2D context unavailable'), 'Unable to capture a photo in this browser')\n return\n }\n\n context.drawImage(video, 0, 0, width, height)\n\n const blob = await new Promise<Blob | null>(resolve => {\n canvas.toBlob(resolve, this.captureFormat || DEFAULT_CAPTURE_FORMAT, this.captureQuality)\n })\n\n if (!blob) {\n this._emitError(new Error('Camera snapshot failed'), 'Unable to create an image from the current camera frame')\n return\n }\n\n this.value = this._createFileFromBlob(blob)\n this._errorMessage = ''\n }\n\n private async _retakePhoto () {\n this._clearValue({ emitEvents: true })\n await this._startPreview()\n }\n\n private _confirmPhoto () {\n if (!this.value || !this._previewUrl) return\n\n this._dispatchValueEvents()\n\n this.dispatchEvent(new CustomEvent<PhotoCapturedDetail>('photo-captured', {\n detail: {\n file: this.value,\n blob: this.value,\n objectUrl: this._previewUrl,\n contentType: this.value.type || this.captureFormat || DEFAULT_CAPTURE_FORMAT\n },\n bubbles: true,\n composed: true\n }))\n\n if (this.autoCloseOnCapture) {\n this._setOpen(false)\n }\n }\n\n private _handleCancel () {\n this._stopStream()\n this._clearValue({ emitEvents: false })\n this._setOpen(false)\n this.dispatchEvent(new CustomEvent('cancel', {\n bubbles: true,\n composed: true\n }))\n }\n\n private _openCapture () {\n if (this.disabled) return\n this._setOpen(true)\n }\n\n private _renderViewport () {\n if (this._previewUrl) {\n return html`<img class=\"capture-preview\" part=\"preview-image\" src=\"${this._previewUrl}\" alt=\"Captured photo preview\" />`\n }\n\n return html`<video class=\"capture-preview\" part=\"preview-video\" autoplay playsinline muted></video>`\n }\n\n private _renderStatus () {\n if (this._errorMessage) {\n return html`<div class=\"status error\" part=\"error-message\">${this._errorMessage}</div>`\n }\n\n if (this._startingPreview) {\n return html`<div class=\"status\" part=\"status-message\">Opening camera…</div>`\n }\n\n if (!this.value) {\n return html`<div class=\"status\" part=\"status-message\">Preview the camera and take a photo when ready.</div>`\n }\n\n return html`<div class=\"status\" part=\"status-message\">Review the photo before confirming it.</div>`\n }\n\n private _renderActions () {\n return html`\n <div class=\"actions\" part=\"actions\">\n ${this.showCancelButton\n ? html`\n <button\n class=\"cancel-button\"\n part=\"cancel-button\"\n type=\"button\"\n @click=\"${this._handleCancel}\"\n >${this.cancelLabel}</button>\n `\n : nothing}\n\n ${this.value\n ? html`\n <button\n class=\"action-button\"\n part=\"retake-button\"\n type=\"button\"\n @click=\"${this._retakePhoto}\"\n >${this.retakeLabel}</button>\n <button\n class=\"action-button action-button--primary\"\n part=\"confirm-button\"\n type=\"button\"\n @click=\"${this._confirmPhoto}\"\n >${this.confirmLabel}</button>\n `\n : html`\n <button\n class=\"action-button action-button--primary\"\n part=\"capture-button\"\n type=\"button\"\n ?disabled=\"${this._startingPreview || !this._stream}\"\n @click=\"${this._captureSnapshot}\"\n >${this.captureLabel}</button>\n `}\n </div>\n `\n }\n\n private _renderPanel () {\n return html`\n <div class=\"panel\" part=\"panel\">\n <div class=\"panel-header\" part=\"header\">\n <h2 class=\"panel-heading\" part=\"heading\"><slot name=\"heading\">${this.heading}</slot></h2>\n ${this.showCancelButton\n ? html`\n <button\n class=\"close-button\"\n part=\"close-button\"\n type=\"button\"\n aria-label=\"${this.cancelLabel}\"\n @click=\"${this._handleCancel}\"\n >×</button>\n `\n : nothing}\n </div>\n <div class=\"viewport\" part=\"viewport\">${this._renderViewport()}</div>\n ${this._renderStatus()}\n ${this._renderActions()}\n </div>\n `\n }\n\n render () {\n const trigger = this.showTrigger || this.presentation === 'dialog'\n\n return html`\n ${trigger\n ? html`\n <button\n class=\"trigger-button\"\n part=\"trigger-button\"\n type=\"button\"\n ?disabled=\"${this.disabled}\"\n @click=\"${this._openCapture}\"\n ><slot>${this.label}</slot></button>\n `\n : nothing}\n\n ${this.presentation === 'dialog'\n ? html`\n <dialog\n class=\"dialog\"\n part=\"dialog\"\n aria-modal=\"true\"\n aria-label=\"${this.heading}\"\n @cancel=\"${(event: Event) => { event.preventDefault(); this._handleCancel() }}\"\n @click=\"${(event: MouseEvent) => {\n if (event.target === event.currentTarget) {\n this._handleCancel()\n }\n }}\"\n >\n ${this.open ? this._renderPanel() : nothing}\n </dialog>\n `\n : html`\n <div class=\"inline-root\" part=\"inline-root\" ?hidden=\"${!this.open}\">\n ${this.open ? this._renderPanel() : nothing}\n </div>\n `}\n `\n }\n}\n"],"mappings":"qBA6BA,IAAM,EAAyB,YAElB,EAAb,cAAkC,EAAA,UAAW,CAC3C,OAAO,eAAiB,GAExB,OAAO,WAAa,CAClB,MAAO,CAAE,KAAM,OAAQ,QAAS,EAAK,EACrC,QAAS,CAAE,KAAM,OAAQ,QAAS,EAAK,EACvC,aAAc,CAAE,KAAM,OAAQ,UAAW,gBAAiB,QAAS,EAAK,EACxE,aAAc,CAAE,KAAM,OAAQ,UAAW,gBAAiB,QAAS,EAAK,EACxE,YAAa,CAAE,KAAM,OAAQ,UAAW,eAAgB,QAAS,EAAK,EACtE,YAAa,CAAE,KAAM,OAAQ,UAAW,eAAgB,QAAS,EAAK,EACtE,aAAc,CAAE,KAAM,OAAQ,QAAS,EAAK,EAC5C,MAAO,CAAE,KAAM,OAAQ,QAAS,EAAK,EACrC,WAAY,CAAE,KAAM,OAAQ,UAAW,cAAe,QAAS,EAAK,EACpE,YAAa,CAAE,KAAM,OAAQ,QAAS,EAAK,EAC3C,cAAe,CAAE,KAAM,OAAQ,UAAW,iBAAkB,QAAS,EAAK,EAC1E,eAAgB,CAAE,KAAM,OAAQ,UAAW,iBAAkB,EAC7D,KAAM,CAAE,KAAM,QAAS,QAAS,EAAK,EACrC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,KAAM,CAAE,KAAM,OAAQ,QAAS,EAAK,EACpC,SAAU,CAAE,KAAM,QAAS,QAAS,EAAK,EACzC,YAAa,CAAE,KAAM,QAAS,UAAW,eAAgB,QAAS,EAAK,EACvE,iBAAkB,CAAE,KAAM,QAAS,UAAW,qBAAsB,QAAS,EAAK,EAClF,mBAAoB,CAAE,KAAM,QAAS,UAAW,uBAAwB,EACxE,eAAgB,CAAE,KAAM,OAAQ,UAAW,mBAAoB,QAAS,EAAK,EAC7E,MAAO,CAAE,UAAW,EAAM,EAC1B,iBAAkB,CAAE,UAAW,EAAM,EACrC,cAAe,CAAE,MAAO,EAAK,EAC7B,YAAa,CAAE,MAAO,EAAK,EAC3B,iBAAkB,CAAE,MAAO,EAAK,CAClC,EAEA,OAAO,OAAS,EAAA,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmOnB,OAA8B,KAC9B,QAAsC,KACtC,WACA,gBAAkD,KAClD,gBAAoC,GAAiB,CACnD,IAAM,EAAY,EAA0C,SACxD,CAAC,GAAY,CAAC,KAAK,MAAQ,CAAC,KAAK,OAAS,KAAK,UACnD,EAAS,OAAO,KAAK,KAAM,KAAK,MAAO,KAAK,MAAM,IAAI,CACxD,EAEA,qBAA0C,CACxC,KAAK,YAAY,CAAE,WAAY,EAAM,CAAC,EAClC,KAAK,MACP,KAAK,mBAAmB,CAE5B,EAEA,IAAY,wBAAmC,CAC7C,MAAO,CAAC,CAAC,KAAK,YAAc,OAAO,KAAK,WAAW,cAAiB,UACtE,CAEA,aAAe,CACb,MAAM,EACN,KAAK,MAAQ,aACb,KAAK,QAAU,eACf,KAAK,aAAe,aACpB,KAAK,aAAe,YACpB,KAAK,YAAc,SACnB,KAAK,YAAc,SACnB,KAAK,aAAe,SACpB,KAAK,MAAQ,QACb,KAAK,WAAa,OAClB,KAAK,YAAc,GACnB,KAAK,cAAgB,EACrB,KAAK,eAAiB,IAAA,GACtB,KAAK,KAAO,GACZ,KAAK,SAAW,GAChB,KAAK,KAAO,GACZ,KAAK,SAAW,GAChB,KAAK,YAAc,GACnB,KAAK,iBAAmB,GACxB,KAAK,mBAAqB,GAC1B,KAAK,eAAiB,GACtB,KAAK,iBAAmB,IAAA,GACxB,KAAK,cAAgB,GACrB,KAAK,YAAc,GACnB,KAAK,iBAAmB,GACxB,KAAK,WAAa,OAAO,KAAK,iBAAoB,WAAa,KAAK,gBAAgB,EAAI,IAC1F,CAEA,IAAI,OAAsB,CACxB,OAAO,KAAK,MACd,CAEA,IAAI,MAAO,EAAwB,CACjC,IAAM,EAAkB,aAAqB,KAAO,EAAY,KAC1D,EAAgB,KAAK,OACvB,IAAkB,IAEtB,KAAK,OAAS,EACd,KAAK,sBAAsB,CAAe,EAC1C,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,cAAc,QAAS,CAAa,EAC3C,CAEA,IAAI,MAAgC,CAClC,OAAQ,KAAK,uBAAyB,KAAK,YAAY,KAAO,OAAS,KAAK,eAC9E,CAEA,IAAI,mBAA6B,CAC/B,OAAQ,OAAO,KAAK,YAAY,mBAAsB,SAAW,KAAK,WAAW,kBAAoB,MAAQ,KAAK,UAAY,CAAC,KAAK,MAAQ,0BAA4B,GAC1K,CAEA,IAAI,cAAyB,CAC3B,OAAO,OAAO,KAAK,YAAY,cAAiB,UAAY,KAAK,WAAW,aAAe,CAAC,KAAK,QACnG,CAEA,eAA0B,CAIxB,OAHI,KAAK,YAAc,OAAO,KAAK,WAAW,eAAkB,WACvD,KAAK,WAAW,cAAc,EAEhC,EAAE,KAAK,UAAY,CAAC,KAAK,MAClC,CAEA,gBAA2B,CAIzB,OAHI,KAAK,YAAc,OAAO,KAAK,WAAW,gBAAmB,WACxD,KAAK,WAAW,eAAe,EAEjC,KAAK,cAAc,CAC5B,CAEA,mBAAqB,CACnB,MAAM,kBAAkB,EACxB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,cAAc,CACrB,CAEA,sBAAwB,CACtB,KAAK,oBAAoB,IAAI,EAC7B,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,MAAM,qBAAqB,CAC7B,CAEA,mBAAqB,CACnB,KAAK,iBAAiB,CACxB,CAEA,qBAAsB,EAAmB,CACvC,KAAK,SAAW,CAClB,CAEA,QAAmB,EAA+B,CAGhD,GAFA,KAAK,oBAAoB,EAErB,KAAK,eAAiB,SAAU,CAClC,IAAM,EAAS,KAAK,YAAY,cAAc,QAAQ,EAClD,IACE,KAAK,MAAQ,CAAC,EAAO,KACvB,EAAO,UAAU,EACR,CAAC,KAAK,MAAQ,EAAO,MAC9B,EAAO,MAAM,EAGnB,CAwBA,GAtBI,EAAQ,IAAI,MAAM,GAAK,CAAC,KAAK,MAC/B,KAAK,YAAY,EAIjB,KAAK,MACL,CAAC,KAAK,OACN,CAAC,KAAK,SACN,CAAC,KAAK,mBACL,EAAQ,IAAI,MAAM,GAAK,EAAQ,IAAI,cAAc,GAAK,EAAQ,IAAI,aAAa,GAAK,EAAQ,IAAI,OAAO,IAExG,KAAK,mBAAmB,GAGtB,EAAQ,IAAI,MAAM,GAAK,EAAQ,IAAI,UAAU,GAAK,EAAQ,IAAI,OAAO,IACvE,KAAK,eAAe,GAGlB,EAAQ,IAAI,UAAU,GAAK,EAAQ,IAAI,UAAU,GAAK,EAAQ,IAAI,OAAO,IAC3E,KAAK,cAAc,EAGjB,KAAK,QAAS,CAChB,IAAM,EAAQ,KAAK,YAAY,cAAc,uBAAuB,EAChE,GAAS,EAAM,YAAc,KAAK,UACpC,EAAM,UAAY,KAAK,QAE3B,CACF,CAEA,SAAkB,EAAe,CAC3B,KAAK,OAAS,IAClB,KAAK,KAAO,EACZ,KAAK,cAAc,IAAI,YAA0C,cAAe,CAC9E,OAAQ,CAAE,MAAK,EACf,QAAS,GACT,SAAU,EACZ,CAAC,CAAC,EACJ,CAEA,WAAoB,EAAgB,EAAU,8BAA+B,CAC3E,KAAK,cAAgB,EACrB,KAAK,cAAc,IAAI,YAAqC,QAAS,CACnE,OAAQ,CAAE,QAAO,SAAQ,EACzB,QAAS,GACT,SAAU,EACZ,CAAC,CAAC,CACJ,CAEA,oBAA6B,EAAW,KAAK,QAAQ,MAAM,EAA6B,CAClF,KAAK,kBAAoB,IAEzB,KAAK,kBACP,KAAK,gBAAgB,oBAAoB,WAAY,KAAK,eAAe,EACzE,KAAK,gBAAgB,oBAAoB,QAAS,KAAK,gBAAgB,GAGzE,KAAK,gBAAkB,EAEnB,KAAK,iBAAmB,CAAC,KAAK,yBAChC,KAAK,gBAAgB,iBAAiB,WAAY,KAAK,eAAe,EACtE,KAAK,gBAAgB,iBAAiB,QAAS,KAAK,gBAAgB,GAExE,CAEA,gBAA0B,CACxB,GAAI,CAAC,KAAK,uBAAwB,OAClC,IAAM,EAAY,KAAK,WAClB,KACL,IAAI,KAAK,UAAY,CAAC,KAAK,MAAQ,CAAC,KAAK,MAAO,CAC9C,EAAU,aAAa,IAAI,EAC3B,MACF,CACA,EAAU,aAAa,KAAK,KAAK,CADjC,CAEF,CAEA,eAAyB,CACnB,MAAC,KAAK,YAAc,CAAC,KAAK,wBAA0B,OAAO,KAAK,WAAW,aAAgB,YAC/F,IAAI,KAAK,UAAY,CAAC,KAAK,UAAY,KAAK,MAAO,CACjD,KAAK,WAAW,YAAY,CAAC,CAAC,EAC9B,MACF,CACA,KAAK,WAAW,YAAY,CAAE,aAAc,EAAK,EAAG,yBAAyB,CAD7E,CAEF,CAEA,sBAA+B,EAAmB,CAChD,KAAK,kBAAkB,EAClB,IACL,KAAK,YAAY,EACjB,KAAK,YAAc,IAAI,gBAAgB,CAAI,EAC7C,CAEA,YAAqB,EAAkC,CACrD,KAAK,MAAQ,KACb,KAAK,cAAgB,GACjB,EAAQ,YACV,KAAK,qBAAqB,CAE9B,CAEA,sBAAgC,CAC9B,IAAM,EAAS,CAAE,MAAO,KAAK,KAAM,EACnC,KAAK,cAAc,IAAI,YAAqC,QAAS,CACnE,SACA,QAAS,GACT,SAAU,EACZ,CAAC,CAAC,EACF,KAAK,cAAc,IAAI,YAAqC,SAAU,CACpE,SACA,QAAS,GACT,SAAU,EACZ,CAAC,CAAC,CACJ,CAEA,0BAAmC,EAA0B,CAC3D,OAAQ,EAAR,CACE,IAAK,aACH,MAAO,MACT,IAAK,aACH,MAAO,OACT,IAAK,YACH,MAAO,MACT,QACE,MAAO,KACX,CACF,CAEA,oBAA6B,EAAkB,CAC7C,IAAM,EAAc,EAAK,MAAQ,KAAK,eAAiB,EACjD,EAAY,KAAK,0BAA0B,CAAW,EACtD,GAAc,KAAK,gBAAkB,KAAK,MAAQ,QAAA,CAAS,KAAK,GAAK,QAC3E,OAAO,IAAI,KAAK,CAAC,CAAI,EAAG,GAAG,EAAW,GAAG,KAAK,IAAI,EAAE,GAAG,IAAa,CAAE,KAAM,CAAY,CAAC,CAC3F,CAEA,oBAA8B,CAC5B,KAAK,cAAc,CAAC,CAAC,UAAY,IAAA,EAAS,CAC5C,CAEA,0BAA4D,CAC1D,GAAI,KAAK,iBACP,OAAO,KAAK,iBAEd,GAAI,KAAK,YACP,GAAI,CACF,OAAO,KAAK,MAAM,KAAK,WAAW,CACpC,OAAS,EAAO,CACd,MAAU,MAAM,6BAA8B,EAAgB,SAAS,CACzE,CAGF,MAAO,CACL,MAAO,MAAK,YACR,CAAE,WAAY,CAAE,MAAO,KAAK,UAAW,CAAE,CAE/C,CACF,CAEA,MAAc,eAAiB,CACzB,MAAC,KAAK,MAAQ,KAAK,OAAS,KAAK,kBACrC,IAAI,CAAC,UAAU,cAAc,aAAc,CACzC,KAAK,WAAe,MAAM,mDAAmD,EAAG,gDAAgD,EAChI,MACF,CAEA,KAAK,iBAAmB,GACxB,KAAK,cAAgB,GAErB,GAAI,CACF,IAAM,EAAS,MAAM,UAAU,aAAa,aAAa,KAAK,yBAAyB,CAAC,EACxF,GAAI,CAAC,KAAK,KAAM,CACd,EAAO,UAAU,CAAC,CAAC,QAAQ,GAAS,EAAM,KAAK,CAAC,EAChD,MACF,CACA,KAAK,QAAU,EACf,KAAK,cAAc,EACnB,MAAM,KAAK,eACX,IAAM,EAAQ,KAAK,YAAY,cAAc,uBAAuB,EAChE,IACF,EAAM,UAAY,EAClB,MAAM,EAAM,OAAO,CAAC,CAAC,UAAY,IAAA,EAAS,EAE9C,OAAS,EAAO,CACd,KAAK,WAAW,EAAQ,GAAiB,SAAW,oCAAoC,CAC1F,QAAU,CACR,KAAK,iBAAmB,EAC1B,CAvBA,CAwBF,CAEA,aAAuB,CACrB,GAAI,CAAC,KAAK,QAAS,OACnB,KAAK,QAAQ,UAAU,CAAC,CAAC,QAAQ,GAAS,EAAM,KAAK,CAAC,EACtD,KAAK,QAAU,KACf,IAAM,EAAQ,KAAK,YAAY,cAAc,uBAAuB,EAChE,IACF,EAAM,UAAY,KAEtB,CAEA,mBAA6B,CACvB,KAAK,aACP,IAAI,gBAAgB,KAAK,WAAW,EAEtC,KAAK,YAAc,EACrB,CAEA,MAAc,kBAAoB,CAChC,IAAM,EAAQ,KAAK,YAAY,cAAc,uBAAuB,EACpE,GAAI,CAAC,EAAO,OAEZ,IAAM,EAAQ,EAAM,YAAc,EAAM,aAAe,IACjD,EAAS,EAAM,aAAe,EAAM,cAAgB,IACpD,EAAS,SAAS,cAAc,QAAQ,EAC9C,EAAO,MAAQ,EACf,EAAO,OAAS,EAEhB,IAAM,EAAU,EAAO,WAAW,IAAI,EACtC,GAAI,CAAC,EAAS,CACZ,KAAK,WAAe,MAAM,+BAA+B,EAAG,2CAA2C,EACvG,MACF,CAEA,EAAQ,UAAU,EAAO,EAAG,EAAG,EAAO,CAAM,EAE5C,IAAM,EAAO,MAAM,IAAI,QAAqB,GAAW,CACrD,EAAO,OAAO,EAAS,KAAK,eAAiB,EAAwB,KAAK,cAAc,CAC1F,CAAC,EAED,GAAI,CAAC,EAAM,CACT,KAAK,WAAe,MAAM,wBAAwB,EAAG,yDAAyD,EAC9G,MACF,CAEA,KAAK,MAAQ,KAAK,oBAAoB,CAAI,EAC1C,KAAK,cAAgB,EACvB,CAEA,MAAc,cAAgB,CAC5B,KAAK,YAAY,CAAE,WAAY,EAAK,CAAC,EACrC,MAAM,KAAK,cAAc,CAC3B,CAEA,eAAyB,CACnB,CAAC,KAAK,OAAS,CAAC,KAAK,cAEzB,KAAK,qBAAqB,EAE1B,KAAK,cAAc,IAAI,YAAiC,iBAAkB,CACxE,OAAQ,CACN,KAAM,KAAK,MACX,KAAM,KAAK,MACX,UAAW,KAAK,YAChB,YAAa,KAAK,MAAM,MAAQ,KAAK,eAAiB,CACxD,EACA,QAAS,GACT,SAAU,EACZ,CAAC,CAAC,EAEE,KAAK,oBACP,KAAK,SAAS,EAAK,EAEvB,CAEA,eAAyB,CACvB,KAAK,YAAY,EACjB,KAAK,YAAY,CAAE,WAAY,EAAM,CAAC,EACtC,KAAK,SAAS,EAAK,EACnB,KAAK,cAAc,IAAI,YAAY,SAAU,CAC3C,QAAS,GACT,SAAU,EACZ,CAAC,CAAC,CACJ,CAEA,cAAwB,CAClB,KAAK,UACT,KAAK,SAAS,EAAI,CACpB,CAEA,iBAA2B,CAKzB,OAJI,KAAK,YACA,EAAA,IAAI,0DAA0D,KAAK,YAAY,mCAGjF,EAAA,IAAI,yFACb,CAEA,eAAyB,CAavB,OAZI,KAAK,cACA,EAAA,IAAI,kDAAkD,KAAK,cAAc,QAG9E,KAAK,iBACA,EAAA,IAAI,kEAGR,KAAK,MAIH,EAAA,IAAI,yFAHF,EAAA,IAAI,iGAIf,CAEA,gBAA0B,CACxB,MAAO,GAAA,IAAI;;UAEL,KAAK,iBACH,EAAA,IAAI;;;;;wBAKQ,KAAK,cAAc;eAC5B,KAAK,YAAY;YAEpB,EAAA,QAAQ;;UAEV,KAAK,MACH,EAAA,IAAI;;;;;wBAKQ,KAAK,aAAa;eAC3B,KAAK,YAAY;;;;;wBAKR,KAAK,cAAc;eAC5B,KAAK,aAAa;YAErB,EAAA,IAAI;;;;;2BAKW,KAAK,kBAAoB,CAAC,KAAK,QAAQ;wBAC1C,KAAK,iBAAiB;eAC/B,KAAK,aAAa;YACrB;;KAGV,CAEA,cAAwB,CACtB,MAAO,GAAA,IAAI;;;0EAG2D,KAAK,QAAQ;YAC3E,KAAK,iBACH,EAAA,IAAI;;;;;8BAKY,KAAK,YAAY;0BACrB,KAAK,cAAc;;cAG/B,EAAA,QAAQ;;gDAE0B,KAAK,gBAAgB,EAAE;UAC7D,KAAK,cAAc,EAAE;UACrB,KAAK,eAAe,EAAE;;KAG9B,CAEA,QAAU,CAGR,MAAO,GAAA,IAAI;QAFK,KAAK,aAAe,KAAK,eAAiB,SAIpD,EAAA,IAAI;;;;;yBAKW,KAAK,SAAS;sBACjB,KAAK,aAAa;mBACrB,KAAK,MAAM;UAEpB,EAAA,QAAQ;;QAEV,KAAK,eAAiB,SACpB,EAAA,IAAI;;;;;0BAKY,KAAK,QAAQ;uBACf,GAAiB,CAAE,EAAM,eAAe,EAAG,KAAK,cAAc,CAAE,EAAE;sBACnE,GAAsB,CAC3B,EAAM,SAAW,EAAM,eACzB,KAAK,cAAc,CAEvB,EAAE;;cAEA,KAAK,KAAO,KAAK,aAAa,EAAI,EAAA,QAAQ;;UAG9C,EAAA,IAAI;iEACmD,CAAC,KAAK,KAAK;cAC9D,KAAK,KAAO,KAAK,aAAa,EAAI,EAAA,QAAQ;;UAE9C;KAER,CACF"}
|
|
@@ -440,7 +440,7 @@ var i = "image/png", a = class extends e {
|
|
|
440
440
|
} catch (e) {
|
|
441
441
|
throw Error(`Invalid constraints JSON: ${e.message}`);
|
|
442
442
|
}
|
|
443
|
-
return { video: this.facingMode
|
|
443
|
+
return { video: !this.facingMode || { facingMode: { ideal: this.facingMode } } };
|
|
444
444
|
}
|
|
445
445
|
async _startPreview() {
|
|
446
446
|
if (!(!this.open || this.value || this._startingPreview)) {
|