solid-ui 3.1.3-1 → 3.1.3-11
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/_virtual/~icons/svg-spinners/3-dots-fade.cjs.js +2 -0
- package/dist/_virtual/~icons/svg-spinners/3-dots-fade.cjs.js.map +1 -0
- package/dist/_virtual/~icons/svg-spinners/3-dots-fade.esm.js +11 -0
- package/dist/_virtual/~icons/svg-spinners/3-dots-fade.esm.js.map +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-ge2aA77F.js +319 -0
- package/dist/chunks/DialogProvider-ge2aA77F.js.map +1 -0
- package/dist/chunks/account-CdqIoTsl.js +292 -0
- package/dist/chunks/account-CdqIoTsl.js.map +1 -0
- package/dist/chunks/auth-D8B5yczR.js +414 -0
- package/dist/chunks/auth-D8B5yczR.js.map +1 -0
- package/dist/chunks/avatar-DNGFKkhm.js +223 -0
- package/dist/chunks/avatar-DNGFKkhm.js.map +1 -0
- package/dist/chunks/button-oanBb_ha.js +286 -0
- package/dist/chunks/button-oanBb_ha.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-Dav1bNHS.js +734 -0
- package/dist/chunks/combobox-Dav1bNHS.js.map +1 -0
- package/dist/chunks/combobox-option-DxJvAZ_Q.js +195 -0
- package/dist/chunks/combobox-option-DxJvAZ_Q.js.map +1 -0
- package/dist/chunks/components-PQfnwrHI.js +107 -0
- package/dist/chunks/components-PQfnwrHI.js.map +1 -0
- package/dist/chunks/context-B_xwK-Y_.js +22 -0
- package/dist/chunks/context-B_xwK-Y_.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-Ujvm11_B.js +325 -0
- package/dist/chunks/dialog-Ujvm11_B.js.map +1 -0
- package/dist/chunks/dialog-content-CEITrC59.js +173 -0
- package/dist/chunks/dialog-content-CEITrC59.js.map +1 -0
- package/dist/chunks/dialog-footer-DVLEK5bU.js +173 -0
- package/dist/chunks/dialog-footer-DVLEK5bU.js.map +1 -0
- package/dist/chunks/dialog-header-kEWl21oD.js +173 -0
- package/dist/chunks/dialog-header-kEWl21oD.js.map +1 -0
- package/dist/chunks/dialogs-root-dPGfuzSZ.js +211 -0
- package/dist/chunks/dialogs-root-dPGfuzSZ.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-DZGvf4tS.js +200 -0
- package/dist/chunks/guard-DZGvf4tS.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-BjCX2bFe.js +312 -0
- package/dist/chunks/input-BjCX2bFe.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-Ta3tkpn4.js +211 -0
- package/dist/chunks/login-button-Ta3tkpn4.js.map +1 -0
- package/dist/chunks/logout-button-Db6VmUmJ.js +211 -0
- package/dist/chunks/logout-button-Db6VmUmJ.js.map +1 -0
- package/dist/chunks/menu-CQEXqNO6.js +2309 -0
- package/dist/chunks/menu-CQEXqNO6.js.map +1 -0
- package/dist/chunks/menu-item-BHJ4xljI.js +236 -0
- package/dist/chunks/menu-item-BHJ4xljI.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-CoVkCkMs.js +214 -0
- package/dist/chunks/provider-CoVkCkMs.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-OM-SgY4K.js +328 -0
- package/dist/chunks/select-OM-SgY4K.js.map +1 -0
- package/dist/chunks/select-option-pVhYlXrt.js +195 -0
- package/dist/chunks/select-option-pVhYlXrt.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-wO4uoqUi.js +211 -0
- package/dist/chunks/signup-button-wO4uoqUi.js.map +1 -0
- package/dist/chunks/solid-emblem-D2clBuKZ.js +185 -0
- package/dist/chunks/solid-emblem-D2clBuKZ.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-B9CXYA44.js +16003 -0
- package/dist/chunks/src-B9CXYA44.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 +67 -0
- package/dist/components/combobox/Combobox.d.ts.map +1 -0
- package/dist/components/combobox/Combobox.esm.js +635 -0
- package/dist/components/combobox/Combobox.esm.js.map +1 -0
- package/dist/components/combobox/Combobox.stories.d.ts +81 -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 +4 -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 +9 -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 +9 -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 +22 -0
- package/dist/components/select/Select.cjs.js.map +1 -0
- package/dist/components/select/Select.d.ts +25 -0
- package/dist/components/select/Select.d.ts.map +1 -0
- package/dist/components/select/Select.esm.js +324 -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 +4 -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/FormControlTrait.cjs.js +2 -0
- package/dist/lib/components/traits/FormControlTrait.cjs.js.map +1 -0
- package/dist/lib/components/traits/FormControlTrait.d.ts +29 -0
- package/dist/lib/components/traits/FormControlTrait.d.ts.map +1 -0
- package/dist/lib/components/traits/FormControlTrait.esm.js +45 -0
- package/dist/lib/components/traits/FormControlTrait.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/lib/timing.cjs.js +2 -0
- package/dist/lib/timing.cjs.js.map +1 -0
- package/dist/lib/timing.d.ts +6 -0
- package/dist/lib/timing.d.ts.map +1 -0
- package/dist/lib/timing.esm.js +13 -0
- package/dist/lib/timing.esm.js.map +1 -0
- package/dist/lib/values.cjs.js +2 -0
- package/dist/lib/values.cjs.js.map +1 -0
- package/dist/lib/values.d.ts +2 -0
- package/dist/lib/values.d.ts.map +1 -0
- package/dist/lib/values.esm.js +8 -0
- package/dist/lib/values.esm.js.map +1 -0
- 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 +1598 -1946
- package/dist/solid-ui.min.js +1598 -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 +3 -2
- 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 +22 -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
package/README.md
CHANGED
|
@@ -58,7 +58,7 @@ And don't forget to also include the CSS, either with a link tag or inside a CSS
|
|
|
58
58
|
```
|
|
59
59
|
|
|
60
60
|
```html
|
|
61
|
-
<link rel="stylesheet" href="https://unpkg.com/solid-ui@^4.0.0/dist/
|
|
61
|
+
<link rel="stylesheet" href="https://unpkg.com/solid-ui@^4.0.0/dist/theme.css">
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
You can also use some of the helpers exported from the default entry:
|
|
@@ -76,7 +76,7 @@ Solid-UI provides **ESM** bundles for direct browser usage. You'll also need to
|
|
|
76
76
|
```html
|
|
77
77
|
<html>
|
|
78
78
|
<head>
|
|
79
|
-
<link rel="stylesheet" href="https://unpkg.com/solid-ui@^4.0.0/dist/
|
|
79
|
+
<link rel="stylesheet" href="https://unpkg.com/solid-ui@^4.0.0/dist/theme.css">
|
|
80
80
|
</head>
|
|
81
81
|
<body>
|
|
82
82
|
<div id="app"></div>
|
|
@@ -98,7 +98,7 @@ You can also use [import maps](https://developer.mozilla.org/en-US/docs/Web/HTML
|
|
|
98
98
|
```html
|
|
99
99
|
<html>
|
|
100
100
|
<head>
|
|
101
|
-
<link rel="stylesheet" href="https://unpkg.com/solid-ui@^4.0.0/dist/
|
|
101
|
+
<link rel="stylesheet" href="https://unpkg.com/solid-ui@^4.0.0/dist/theme.css">
|
|
102
102
|
</head>
|
|
103
103
|
<body>
|
|
104
104
|
<div id="app"></div>
|
|
@@ -165,7 +165,7 @@ The build configuration uses [Vite](https://vite.dev/) and is centralized in the
|
|
|
165
165
|
The config can be invoked with 4 different modes:
|
|
166
166
|
|
|
167
167
|
- Default: This is the one used to generate ESM and CJS files to be consumed through npm (generates `*.cjs.js` and `*.esm.js` files respectively). It's also used to run Vitest tests and the Storybook.
|
|
168
|
-
- `styles`: This mode generates the `
|
|
168
|
+
- `styles`: This mode generates the `theme.css` file that includes global styles (CSS variables for the Design System Tokens).
|
|
169
169
|
- `cdn`: This generates the ESM bundle to be consumed through CDNs, which has no external dependencies.
|
|
170
170
|
- `cdn-legacy`: This generates the legacy UMD bundle to be consumed by legacy CDNs that externalize `rdflib` and `solid-logic` (no longer recommended).
|
|
171
171
|
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 352 322"><g fill="none"><path fill="#fff" d="m87.973 282.353-60.732-105.33a31.6 31.6 0 0 1 0-31.538L87.973 40.233c5.646-9.784 16.08-15.795 27.321-15.795H236.68c11.266 0 21.727 6.011 27.321 15.795l60.758 105.304a31.6 31.6 0 0 1 0 31.537l-60.732 105.33c-5.646 9.784-16.08 15.795-27.321 15.795H115.372a31.85 31.85 0 0 1-27.4-15.846"/><path fill="#7c4dff" d="m93.151 275.197-57.115-99.06c-5.308-9.185-5.308-20.504 0-29.663l57.115-99.086a29.74 29.74 0 0 1 25.734-14.857h114.23c10.59 0 20.426 5.646 25.734 14.857l57.167 99.034c5.308 9.185 5.308 20.504 0 29.663l-57.141 99.138a29.74 29.74 0 0 1-25.734 14.858H118.937a29.79 29.79 0 0 1-25.786-14.884"/><path fill="#f7f7f7" d="M118.469 142.233h117.534a2.65 2.65 0 0 0 2.654-2.654v-22.04c0-14.65-11.891-26.54-26.54-26.54h-70.568c-20.53-.026-37.157 16.6-37.157 37.13-.026 7.833 6.27 14.104 14.077 14.104m11.527 97.368h70.229c21.207 0 38.432-17.225 38.432-38.432 0-7.078-5.724-12.828-12.828-12.828H106.942a2.537 2.537 0 0 0-2.55 2.55v23.054c-.026 14.181 11.475 25.656 25.604 25.656"/><path fill="#f7f7f7" d="m109.596 139.319 87.663 87.662c5.802 5.803 15.196 5.803 20.998 0l15.196-15.196c5.803-5.802 5.803-15.196 0-20.998l-87.637-87.663c-5.802-5.802-15.196-5.802-20.998 0l-15.196 15.196c-5.855 5.803-5.855 15.222-.026 20.999"/><path fill="#444" d="m198.69 228.464-51.495-40.123h11.397zm-54.33-126.797 40.565 40.566h13.765z" opacity=".3"/></g><script/></svg>
|
|
2
|
+
`}};customElements.get(`icon-app-solid-emblem`)||customElements.define(`icon-app-solid-emblem`,e),exports.default=e;
|
|
3
|
+
//# sourceMappingURL=solid-emblem.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solid-emblem.cjs.js","names":[],"sources":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region ~icons/app/solid-emblem
|
|
2
|
+
var e = class extends HTMLElement {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg width=\"100%\" height=\"100%\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 352 322\"><g fill=\"none\"><path fill=\"#fff\" d=\"m87.973 282.353-60.732-105.33a31.6 31.6 0 0 1 0-31.538L87.973 40.233c5.646-9.784 16.08-15.795 27.321-15.795H236.68c11.266 0 21.727 6.011 27.321 15.795l60.758 105.304a31.6 31.6 0 0 1 0 31.537l-60.732 105.33c-5.646 9.784-16.08 15.795-27.321 15.795H115.372a31.85 31.85 0 0 1-27.4-15.846\"/><path fill=\"#7c4dff\" d=\"m93.151 275.197-57.115-99.06c-5.308-9.185-5.308-20.504 0-29.663l57.115-99.086a29.74 29.74 0 0 1 25.734-14.857h114.23c10.59 0 20.426 5.646 25.734 14.857l57.167 99.034c5.308 9.185 5.308 20.504 0 29.663l-57.141 99.138a29.74 29.74 0 0 1-25.734 14.858H118.937a29.79 29.79 0 0 1-25.786-14.884\"/><path fill=\"#f7f7f7\" d=\"M118.469 142.233h117.534a2.65 2.65 0 0 0 2.654-2.654v-22.04c0-14.65-11.891-26.54-26.54-26.54h-70.568c-20.53-.026-37.157 16.6-37.157 37.13-.026 7.833 6.27 14.104 14.077 14.104m11.527 97.368h70.229c21.207 0 38.432-17.225 38.432-38.432 0-7.078-5.724-12.828-12.828-12.828H106.942a2.537 2.537 0 0 0-2.55 2.55v23.054c-.026 14.181 11.475 25.656 25.604 25.656\"/><path fill=\"#f7f7f7\" d=\"m109.596 139.319 87.663 87.662c5.802 5.803 15.196 5.803 20.998 0l15.196-15.196c5.803-5.802 5.803-15.196 0-20.998l-87.637-87.663c-5.802-5.802-15.196-5.802-20.998 0l-15.196 15.196c-5.855 5.803-5.855 15.222-.026 20.999\"/><path fill=\"#444\" d=\"m198.69 228.464-51.495-40.123h11.397zm-54.33-126.797 40.565 40.566h13.765z\" opacity=\".3\"/></g><script/></svg>\n";
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
customElements.get("icon-app-solid-emblem") || customElements.define("icon-app-solid-emblem", e);
|
|
8
|
+
//#endregion
|
|
9
|
+
export { e as default };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=solid-emblem.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solid-emblem.esm.js","names":[],"sources":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m6 9l6 6l6-6"/></svg>`}};customElements.get(`icon-lucide-chevron-down`)||customElements.define(`icon-lucide-chevron-down`,e);
|
|
1
|
+
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m6 9l6 6l6-6"/></svg>`}};customElements.get(`icon-lucide-chevron-down`)||customElements.define(`icon-lucide-chevron-down`,e),exports.default=e;
|
|
2
2
|
//# sourceMappingURL=chevron-down.cjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="10" r="3"/><path d="M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"/></g></svg>`}};customElements.get(`icon-lucide-circle-user`)||customElements.define(`icon-lucide-circle-user`,e);
|
|
1
|
+
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><circle cx="12" cy="12" r="10"/><circle cx="12" cy="10" r="3"/><path d="M7 20.662V19a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v1.662"/></g></svg>`}};customElements.get(`icon-lucide-circle-user`)||customElements.define(`icon-lucide-circle-user`,e),exports.default=e;
|
|
2
2
|
//# sourceMappingURL=circle-user.cjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m10 17l5-5l-5-5m5 5H3m12-9h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"/></svg>`}};customElements.get(`icon-lucide-log-in`)||customElements.define(`icon-lucide-log-in`,e);
|
|
1
|
+
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m10 17l5-5l-5-5m5 5H3m12-9h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"/></svg>`}};customElements.get(`icon-lucide-log-in`)||customElements.define(`icon-lucide-log-in`,e),exports.default=e;
|
|
2
2
|
//# sourceMappingURL=log-in.cjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m16 17l5-5l-5-5m5 5H9m0 9H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/></svg>`}};customElements.get(`icon-lucide-log-out`)||customElements.define(`icon-lucide-log-out`,e);
|
|
1
|
+
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="m16 17l5-5l-5-5m5 5H9m0 9H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/></svg>`}};customElements.get(`icon-lucide-log-out`)||customElements.define(`icon-lucide-log-out`,e),exports.default=e;
|
|
2
2
|
//# sourceMappingURL=log-out.cjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></g></svg>`}};customElements.get(`icon-lucide-user`)||customElements.define(`icon-lucide-user`,e);
|
|
1
|
+
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></g></svg>`}};customElements.get(`icon-lucide-user`)||customElements.define(`icon-lucide-user`,e),exports.default=e;
|
|
2
2
|
//# sourceMappingURL=user.cjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 6L6 18M6 6l12 12"/></svg>`}};customElements.get(`icon-lucide-x`)||customElements.define(`icon-lucide-x`,e);
|
|
1
|
+
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M18 6L6 18M6 6l12 12"/></svg>`}};customElements.get(`icon-lucide-x`)||customElements.define(`icon-lucide-x`,e),exports.default=e;
|
|
2
2
|
//# sourceMappingURL=x.cjs.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="currentColor" d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></svg>`}};customElements.get(`icon-svg-spinners-180-ring`)||customElements.define(`icon-svg-spinners-180-ring`,e);
|
|
1
|
+
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><path fill="currentColor" d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z"><animateTransform attributeName="transform" dur="0.75s" repeatCount="indefinite" type="rotate" values="0 12 12;360 12 12"/></path></svg>`}};customElements.get(`icon-svg-spinners-180-ring`)||customElements.define(`icon-svg-spinners-180-ring`,e),exports.default=e;
|
|
2
2
|
//# sourceMappingURL=180-ring.cjs.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=class extends HTMLElement{constructor(){super(),this.attachShadow({mode:`open`}).innerHTML=`<style>:host { display: inline-flex; }</style><svg viewBox="0 0 24 24" width="100%" height="100%" ><circle cx="4" cy="12" r="3" fill="currentColor"><animate id="SVG7x14Dcom" fill="freeze" attributeName="opacity" begin="0;SVGqSjG0dUp.end-0.25s" dur="0.75s" values="1;.2"/></circle><circle cx="12" cy="12" r="3" fill="currentColor" opacity=".4"><animate fill="freeze" attributeName="opacity" begin="SVG7x14Dcom.begin+0.15s" dur="0.75s" values="1;.2"/></circle><circle cx="20" cy="12" r="3" fill="currentColor" opacity=".3"><animate id="SVGqSjG0dUp" fill="freeze" attributeName="opacity" begin="SVG7x14Dcom.begin+0.3s" dur="0.75s" values="1;.2"/></circle></svg>`}};customElements.get(`icon-svg-spinners-3-dots-fade`)||customElements.define(`icon-svg-spinners-3-dots-fade`,e),exports.default=e;
|
|
2
|
+
//# sourceMappingURL=3-dots-fade.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3-dots-fade.cjs.js","names":[],"sources":[],"mappings":""}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region ~icons/svg-spinners/3-dots-fade
|
|
2
|
+
var e = class extends HTMLElement {
|
|
3
|
+
constructor() {
|
|
4
|
+
super(), this.attachShadow({ mode: "open" }).innerHTML = "<style>:host { display: inline-flex; }</style><svg viewBox=\"0 0 24 24\" width=\"100%\" height=\"100%\" ><circle cx=\"4\" cy=\"12\" r=\"3\" fill=\"currentColor\"><animate id=\"SVG7x14Dcom\" fill=\"freeze\" attributeName=\"opacity\" begin=\"0;SVGqSjG0dUp.end-0.25s\" dur=\"0.75s\" values=\"1;.2\"/></circle><circle cx=\"12\" cy=\"12\" r=\"3\" fill=\"currentColor\" opacity=\".4\"><animate fill=\"freeze\" attributeName=\"opacity\" begin=\"SVG7x14Dcom.begin+0.15s\" dur=\"0.75s\" values=\"1;.2\"/></circle><circle cx=\"20\" cy=\"12\" r=\"3\" fill=\"currentColor\" opacity=\".3\"><animate id=\"SVGqSjG0dUp\" fill=\"freeze\" attributeName=\"opacity\" begin=\"SVG7x14Dcom.begin+0.3s\" dur=\"0.75s\" values=\"1;.2\"/></circle></svg>";
|
|
5
|
+
}
|
|
6
|
+
};
|
|
7
|
+
customElements.get("icon-svg-spinners-3-dots-fade") || customElements.define("icon-svg-spinners-3-dots-fade", e);
|
|
8
|
+
//#endregion
|
|
9
|
+
export { e as default };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=3-dots-fade.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"3-dots-fade.esm.js","names":[],"sources":[],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../utils/label.cjs.js");require("../utils/index.cjs.js");const t=require("../lib/debug.cjs.js"),n=require("./acl.cjs.js"),r=require("../lib/style.cjs.js"),i=require("./access-groups.cjs.js"),a=require("./acl-control.cjs.js");let o=require("rdflib");var s=class{subject;noun;context;statusElement;targetIsProtected;targetDoc;targetACLDoc;defaultHolder;defaultACLDoc;prospectiveDefaultHolder;store;dom;mainCombo;defaultsCombo;isContainer;defaultsDiffer;rootElement;isUsingDefaults;constructor(e,t,a,o,s,c,l,u,d,f,p,m){if(this.subject=e,this.noun=t,this.context=a,this.statusElement=o,this.targetIsProtected=s,this.targetDoc=c,this.targetACLDoc=l,this.defaultHolder=u,this.defaultACLDoc=d,this.prospectiveDefaultHolder=f,this.store=p,this.dom=m,this.rootElement=m.createElement(`div`),this.rootElement.setAttribute(`style`,r.style.aclGroupContent),this.isContainer=c.uri.slice(-1)===`/`,u&&d){this.isUsingDefaults=!0;let e=n.adoptACLDefault(this.targetDoc,l,u,d);this.mainCombo=new i.AccessGroups(c,l,this,e,{defaults:this.isContainer}),this.defaultsCombo=null,this.defaultsDiffer=!1}else this.isUsingDefaults=!1,this.mainCombo=new i.AccessGroups(c,l,this,p),this.defaultsCombo=new i.AccessGroups(c,l,this,p,{defaults:this.isContainer}),this.defaultsDiffer=!n.sameACL(this.mainCombo.aclMap,this.defaultsCombo.aclMap)}get isEditable(){return!this.isUsingDefaults}render(){if(this.rootElement.innerHTML=``,this.isUsingDefaults){if(this.renderStatus(`The sharing for this ${this.noun} is the default for folder `),this.defaultHolder){let e=this.statusElement.appendChild(this.dom.createElement(`a`));e.href=this.defaultHolder.uri,e.innerText=a.shortNameForFolder(this.defaultHolder)}}else
|
|
1
|
+
const e=require("../utils/label.cjs.js");require("../utils/index.cjs.js");const t=require("../lib/debug.cjs.js"),n=require("./acl.cjs.js"),r=require("../lib/style.cjs.js"),i=require("./access-groups.cjs.js"),a=require("./acl-control.cjs.js");let o=require("rdflib");var s=class{subject;noun;context;statusElement;targetIsProtected;targetDoc;targetACLDoc;defaultHolder;defaultACLDoc;prospectiveDefaultHolder;store;dom;mainCombo;defaultsCombo;isContainer;defaultsDiffer;rootElement;isUsingDefaults;constructor(e,t,a,o,s,c,l,u,d,f,p,m){if(this.subject=e,this.noun=t,this.context=a,this.statusElement=o,this.targetIsProtected=s,this.targetDoc=c,this.targetACLDoc=l,this.defaultHolder=u,this.defaultACLDoc=d,this.prospectiveDefaultHolder=f,this.store=p,this.dom=m,this.rootElement=m.createElement(`div`),this.rootElement.setAttribute(`style`,r.style.aclGroupContent),this.isContainer=c.uri.slice(-1)===`/`,u&&d){this.isUsingDefaults=!0;let e=n.adoptACLDefault(this.targetDoc,l,u,d);this.mainCombo=new i.AccessGroups(c,l,this,e,{defaults:this.isContainer}),this.defaultsCombo=null,this.defaultsDiffer=!1}else this.isUsingDefaults=!1,this.mainCombo=new i.AccessGroups(c,l,this,p),this.defaultsCombo=new i.AccessGroups(c,l,this,p,{defaults:this.isContainer}),this.defaultsDiffer=!n.sameACL(this.mainCombo.aclMap,this.defaultsCombo.aclMap)}get isEditable(){return!this.isUsingDefaults}render(){if(this.rootElement.innerHTML=``,this.isUsingDefaults){if(this.renderStatus(`The sharing for this ${this.noun} is the default for folder `),this.defaultHolder){let e=this.statusElement.appendChild(this.dom.createElement(`a`));e.href=this.defaultHolder.uri,e.innerText=a.shortNameForFolder(this.defaultHolder)}}else!this.defaultsDiffer&&this.isContainer?this.renderStatus(`This is also the default for things in this folder.`):this.renderStatus(``);return this.rootElement.appendChild(this.mainCombo.render()),this.defaultsCombo&&this.defaultsDiffer?(this.rootElement.appendChild(this.renderRemoveDefaultsController()),this.rootElement.appendChild(this.defaultsCombo.render())):this.isEditable&&this.isContainer&&this.rootElement.appendChild(this.renderAddDefaultsController()),!this.targetIsProtected&&this.isUsingDefaults?this.rootElement.appendChild(this.renderAddAclsController()):this.targetIsProtected||this.rootElement.appendChild(this.renderRemoveAclsController()),this.rootElement}renderRemoveAclsController(){let t=this.dom.createElement(`button`);return t.innerText=`Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder?` for ${e.label(this.prospectiveDefaultHolder)}`:``}`,t.setAttribute(`style`,r.style.bigButton),t.addEventListener(`click`,()=>this.removeAcls().then(()=>this.render()).catch(e=>this.renderStatus(e))),t}renderAddAclsController(){let e=this.dom.createElement(`button`);return e.innerText=`Set specific sharing for this ${this.noun}`,e.setAttribute(`style`,r.style.bigButton),e.addEventListener(`click`,()=>this.addAcls().then(()=>this.render()).catch(e=>this.renderStatus(e))),e}renderAddDefaultsController(){let e=this.dom.createElement(`div`);e.setAttribute(`style`,r.style.defaultsController);let t=e.appendChild(this.dom.createElement(`div`));t.innerText=`Sharing for things within the folder currently tracks sharing for the folder.`,t.setAttribute(`style`,r.style.defaultsControllerNotice);let n=e.appendChild(this.dom.createElement(`button`));return n.innerText=`Set the sharing of folder contents separately from the sharing for the folder`,n.setAttribute(`style`,r.style.bigButton),n.addEventListener(`click`,()=>this.addDefaults().then(()=>this.render())),e}renderRemoveDefaultsController(){let e=this.dom.createElement(`div`);e.setAttribute(`style`,r.style.defaultsController);let t=e.appendChild(this.dom.createElement(`div`));t.innerText=`Access to things within this folder:`,t.setAttribute(`style`,r.style.defaultsControllerNotice);let n=e.appendChild(this.dom.createElement(`button`));return n.innerText=`Set default for folder contents to just track the sharing for the folder`,n.setAttribute(`style`,r.style.bigButton),n.addEventListener(`click`,()=>this.removeDefaults().then(()=>this.render()).catch(e=>this.renderStatus(e))),e}renderTemporaryStatus(e){this.statusElement.setAttribute(`style`,r.style.aclControlBoxStatusRevealed),this.statusElement.innerText=e,this.statusElement.setAttribute(`style`,r.style.temporaryStatusInit),setTimeout(()=>{this.statusElement.setAttribute(`style`,r.style.temporaryStatusEnd)}),setTimeout(()=>{this.statusElement.innerText=``},5e3)}renderStatus(e){e||this.statusElement.setAttribute(`style`,r.style.aclControlBoxStatusRevealed),this.statusElement.innerText=e}async addAcls(){if(!this.defaultHolder||!this.defaultACLDoc){let e=`Unable to find defaults to copy`;return t.error(e),Promise.reject(e)}n.adoptACLDefault(this.targetDoc,this.targetACLDoc,this.defaultHolder,this.defaultACLDoc).statements.forEach(e=>this.store.add(e.subject,e.predicate,e.object,this.targetACLDoc));try{return await this.store.fetcher.putBack(this.targetACLDoc),this.isUsingDefaults=!1,Promise.resolve()}catch(e){let n=` Error writing back access control file! ${e}`;return t.error(n),Promise.reject(n)}}async addDefaults(){this.defaultsCombo=new i.AccessGroups(this.targetDoc,this.targetACLDoc,this,this.store,{defaults:!0}),this.defaultsDiffer=!0}async removeAcls(){try{await this.store.fetcher.delete(this.targetACLDoc.uri,{}),this.isUsingDefaults=!0;try{this.prospectiveDefaultHolder=await n.getProspectiveHolder(this.targetDoc.uri)}catch(e){t.warn(e)}}catch(e){let n=`Error deleting access control file: ${this.targetACLDoc}: ${e}`;return t.error(n),Promise.reject(n)}}async removeDefaults(){let e=this.defaultsCombo;try{this.defaultsCombo=null,this.defaultsDiffer=!1,await this.save()}catch(n){return this.defaultsCombo=e,this.defaultsDiffer=!0,t.error(n),Promise.reject(n)}}save(){let e=(0,o.graph)();this.isContainer?this.defaultsCombo&&this.defaultsDiffer?(n.makeACLGraphbyCombo(e,this.targetDoc,this.mainCombo.byCombo,this.targetACLDoc,!0),n.makeACLGraphbyCombo(e,this.targetDoc,this.defaultsCombo.byCombo,this.targetACLDoc,!1,!0)):n.makeACLGraphbyCombo(e,this.targetDoc,this.mainCombo.byCombo,this.targetACLDoc,!0,!0):n.makeACLGraphbyCombo(e,this.targetDoc,this.mainCombo.byCombo,this.targetACLDoc,!0),e.fetcher=(0,o.fetcher)(e,{fetch:this.store.fetcher._fetch});let r=e.updater||new o.UpdateManager(e);return new Promise((i,a)=>{r.put(this.targetACLDoc,e.statementsMatching(void 0,void 0,void 0,this.targetACLDoc),`text/turtle`,(r,o,s)=>{if(!o)return a(Error(`ACL file save failed: ${s}`));this.store.fetcher.unload(this.targetACLDoc),this.store.add(e.statements),this.store.fetcher.requested[this.targetACLDoc.uri]=`done`,this.mainCombo.store=this.store,this.defaultsCombo&&(this.defaultsCombo.store=this.store),this.defaultsDiffer=!!this.defaultsCombo&&!n.sameACL(this.mainCombo.aclMap,this.defaultsCombo.aclMap),t.log(`ACL modification: success!`),i()})})}};exports.AccessController=s;
|
|
2
2
|
//# sourceMappingURL=access-controller.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-controller.cjs.js","names":[],"sources":["../../src/acl/access-controller.ts"],"sourcesContent":["/**\n * Contains the [[AccessController]] class\n * @packageDocumentation\n */\n\nimport { adoptACLDefault, getProspectiveHolder, makeACLGraphbyCombo, sameACL } from './acl'\nimport { fetcher, graph, NamedNode, UpdateManager } from 'rdflib'\nimport { AccessGroups } from './access-groups'\nimport { DataBrowserContext } from 'pane-registry'\nimport { shortNameForFolder } from './acl-control'\nimport * as utils from '../utils'\nimport * as debug from '../lib/debug'\nimport { style } from '../lib/style'\n\n/**\n * Rendered HTML component used in the databrowser's Sharing pane.\n */\nexport class AccessController {\n public mainCombo: AccessGroups\n public defaultsCombo: AccessGroups | null\n private readonly isContainer: boolean\n private defaultsDiffer: boolean\n private readonly rootElement: HTMLDivElement\n private isUsingDefaults: boolean\n\n constructor (\n public subject: NamedNode,\n public noun: string,\n public context: DataBrowserContext,\n private statusElement: HTMLElement,\n public targetIsProtected: boolean,\n private targetDoc: NamedNode,\n private targetACLDoc: NamedNode,\n private defaultHolder: NamedNode | null,\n private defaultACLDoc: NamedNode | null,\n private prospectiveDefaultHolder: NamedNode | undefined,\n public store,\n public dom: HTMLDocument\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.setAttribute('style', style.aclGroupContent)\n this.isContainer = targetDoc.uri.slice(-1) === '/' // Give default for all directories\n if (defaultHolder && defaultACLDoc) {\n this.isUsingDefaults = true\n const aclDefaultStore = adoptACLDefault(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc)\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, { defaults: this.isContainer })\n this.defaultsCombo = null\n this.defaultsDiffer = false\n } else {\n this.isUsingDefaults = false\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, store)\n this.defaultsCombo = new AccessGroups(targetDoc, targetACLDoc, this, store, { defaults: this.isContainer })\n this.defaultsDiffer = !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n }\n }\n\n public get isEditable (): boolean {\n return !this.isUsingDefaults\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n if (this.isUsingDefaults) {\n this.renderStatus(`The sharing for this ${this.noun} is the default for folder `)\n if (this.defaultHolder) {\n const defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'))\n defaultHolderLink.href = this.defaultHolder.uri\n defaultHolderLink.innerText = shortNameForFolder(this.defaultHolder)\n }\n } else if (!this.defaultsDiffer && this.isContainer) {\n this.renderStatus('This is also the default for things in this folder.')\n } else {\n this.renderStatus('')\n }\n this.rootElement.appendChild(this.mainCombo.render())\n if (this.defaultsCombo && this.defaultsDiffer) {\n this.rootElement.appendChild(this.renderRemoveDefaultsController())\n this.rootElement.appendChild(this.defaultsCombo.render())\n } else if (this.isEditable && this.isContainer) {\n this.rootElement.appendChild(this.renderAddDefaultsController())\n }\n if (!this.targetIsProtected && this.isUsingDefaults) {\n this.rootElement.appendChild(this.renderAddAclsController())\n } else if (!this.targetIsProtected) {\n this.rootElement.appendChild(this.renderRemoveAclsController())\n }\n return this.rootElement\n }\n\n private renderRemoveAclsController (): HTMLElement {\n const useDefaultButton = this.dom.createElement('button')\n useDefaultButton.innerText = `Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder ? ` for ${utils.label(this.prospectiveDefaultHolder)}` : ''}`\n useDefaultButton.setAttribute('style', style.bigButton)\n useDefaultButton.addEventListener('click', () => this.removeAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return useDefaultButton\n }\n\n private renderAddAclsController (): HTMLElement {\n const addAclButton = this.dom.createElement('button')\n addAclButton.innerText = `Set specific sharing for this ${this.noun}`\n addAclButton.setAttribute('style', style.bigButton)\n addAclButton.addEventListener('click', () => this.addAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return addAclButton\n }\n\n private renderAddDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.addDefaults()\n .then(() => this.render()))\n return containerElement\n }\n\n private renderRemoveDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set default for folder contents to just track the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.removeDefaults()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return containerElement\n }\n\n public renderTemporaryStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.setAttribute('style', style.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.setAttribute('style', style.temporaryStatusEnd)\n })\n setTimeout(() => {\n this.statusElement.innerText = ''\n }, 5000)\n }\n\n public renderStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n if (!message) {\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n }\n this.statusElement.innerText = message\n }\n\n private async addAcls (): Promise<void> {\n if (!this.defaultHolder || !this.defaultACLDoc) {\n const message = 'Unable to find defaults to copy'\n debug.error(message)\n return Promise.reject(message)\n }\n const aclGraph = adoptACLDefault(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc)\n aclGraph.statements.forEach(st => this.store.add(st.subject, st.predicate, st.object, this.targetACLDoc))\n try {\n await this.store.fetcher.putBack(this.targetACLDoc)\n this.isUsingDefaults = false\n return Promise.resolve()\n } catch (error) {\n const message = ` Error writing back access control file! ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async addDefaults (): Promise<void> {\n this.defaultsCombo = new AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, { defaults: true })\n this.defaultsDiffer = true\n }\n\n private async removeAcls (): Promise<void> {\n try {\n await this.store.fetcher.delete(this.targetACLDoc.uri, {})\n this.isUsingDefaults = true\n try {\n this.prospectiveDefaultHolder = await getProspectiveHolder(this.targetDoc.uri)\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n debug.warn(error)\n }\n } catch (error) {\n const message = `Error deleting access control file: ${this.targetACLDoc}: ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async removeDefaults (): Promise<void> {\n const fallbackCombo = this.defaultsCombo\n try {\n this.defaultsCombo = null\n this.defaultsDiffer = false\n await this.save()\n } catch (error) {\n this.defaultsCombo = fallbackCombo\n this.defaultsDiffer = true\n debug.error(error)\n return Promise.reject(error)\n }\n }\n\n public save (): Promise<void> {\n // build graph\n const newAClGraph = graph()\n if (!this.isContainer) {\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n } else if (this.defaultsCombo && this.defaultsDiffer) {\n // Pair of controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true)\n } else {\n // Linked controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true)\n }\n\n // add authenticated fetcher\n newAClGraph.fetcher = fetcher(newAClGraph, { fetch: this.store.fetcher._fetch })\n const updater = newAClGraph.updater || new UpdateManager(newAClGraph)\n\n // save ACL resource\n return new Promise((resolve, reject) => {\n updater.put(\n this.targetACLDoc,\n newAClGraph.statementsMatching(undefined, undefined, undefined, this.targetACLDoc),\n 'text/turtle',\n (uri, ok, message) => {\n if (!ok) {\n return reject(new Error(`ACL file save failed: ${message}`))\n }\n this.store.fetcher.unload(this.targetACLDoc)\n this.store.add(newAClGraph.statements)\n this.store.fetcher.requested[this.targetACLDoc.uri] = 'done' // missing: save headers\n this.mainCombo.store = this.store\n if (this.defaultsCombo) {\n this.defaultsCombo.store = this.store\n }\n this.defaultsDiffer = !!this.defaultsCombo && !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n debug.log('ACL modification: success!')\n resolve()\n }\n )\n })\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"access-controller.cjs.js","names":[],"sources":["../../src/acl/access-controller.ts"],"sourcesContent":["/**\n * Contains the [[AccessController]] class\n * @packageDocumentation\n */\n\nimport { adoptACLDefault, getProspectiveHolder, makeACLGraphbyCombo, sameACL } from './acl'\nimport { fetcher, graph, NamedNode, UpdateManager } from 'rdflib'\nimport { AccessGroups } from './access-groups'\nimport { DataBrowserContext } from 'pane-registry'\nimport { shortNameForFolder } from './acl-control'\nimport * as utils from '../utils'\nimport * as debug from '../lib/debug'\nimport { style } from '../lib/style'\n\n/**\n * Rendered HTML component used in the databrowser's Sharing pane.\n */\nexport class AccessController {\n public mainCombo: AccessGroups\n public defaultsCombo: AccessGroups | null\n private readonly isContainer: boolean\n private defaultsDiffer: boolean\n private readonly rootElement: HTMLDivElement\n private isUsingDefaults: boolean\n\n constructor (\n public subject: NamedNode,\n public noun: string,\n public context: DataBrowserContext,\n private statusElement: HTMLElement,\n public targetIsProtected: boolean,\n private targetDoc: NamedNode,\n private targetACLDoc: NamedNode,\n private defaultHolder: NamedNode | null,\n private defaultACLDoc: NamedNode | null,\n private prospectiveDefaultHolder: NamedNode | undefined,\n public store,\n public dom: HTMLDocument\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.setAttribute('style', style.aclGroupContent)\n this.isContainer = targetDoc.uri.slice(-1) === '/' // Give default for all directories\n if (defaultHolder && defaultACLDoc) {\n this.isUsingDefaults = true\n const aclDefaultStore = adoptACLDefault(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc)\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, { defaults: this.isContainer })\n this.defaultsCombo = null\n this.defaultsDiffer = false\n } else {\n this.isUsingDefaults = false\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, store)\n this.defaultsCombo = new AccessGroups(targetDoc, targetACLDoc, this, store, { defaults: this.isContainer })\n this.defaultsDiffer = !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n }\n }\n\n public get isEditable (): boolean {\n return !this.isUsingDefaults\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n if (this.isUsingDefaults) {\n this.renderStatus(`The sharing for this ${this.noun} is the default for folder `)\n if (this.defaultHolder) {\n const defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'))\n defaultHolderLink.href = this.defaultHolder.uri\n defaultHolderLink.innerText = shortNameForFolder(this.defaultHolder)\n }\n } else if (!this.defaultsDiffer && this.isContainer) {\n this.renderStatus('This is also the default for things in this folder.')\n } else {\n this.renderStatus('')\n }\n this.rootElement.appendChild(this.mainCombo.render())\n if (this.defaultsCombo && this.defaultsDiffer) {\n this.rootElement.appendChild(this.renderRemoveDefaultsController())\n this.rootElement.appendChild(this.defaultsCombo.render())\n } else if (this.isEditable && this.isContainer) {\n this.rootElement.appendChild(this.renderAddDefaultsController())\n }\n if (!this.targetIsProtected && this.isUsingDefaults) {\n this.rootElement.appendChild(this.renderAddAclsController())\n } else if (!this.targetIsProtected) {\n this.rootElement.appendChild(this.renderRemoveAclsController())\n }\n return this.rootElement\n }\n\n private renderRemoveAclsController (): HTMLElement {\n const useDefaultButton = this.dom.createElement('button')\n useDefaultButton.innerText = `Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder ? ` for ${utils.label(this.prospectiveDefaultHolder)}` : ''}`\n useDefaultButton.setAttribute('style', style.bigButton)\n useDefaultButton.addEventListener('click', () => this.removeAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return useDefaultButton\n }\n\n private renderAddAclsController (): HTMLElement {\n const addAclButton = this.dom.createElement('button')\n addAclButton.innerText = `Set specific sharing for this ${this.noun}`\n addAclButton.setAttribute('style', style.bigButton)\n addAclButton.addEventListener('click', () => this.addAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return addAclButton\n }\n\n private renderAddDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.addDefaults()\n .then(() => this.render()))\n return containerElement\n }\n\n private renderRemoveDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set default for folder contents to just track the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.removeDefaults()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return containerElement\n }\n\n public renderTemporaryStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.setAttribute('style', style.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.setAttribute('style', style.temporaryStatusEnd)\n })\n setTimeout(() => {\n this.statusElement.innerText = ''\n }, 5000)\n }\n\n public renderStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n if (!message) {\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n }\n this.statusElement.innerText = message\n }\n\n private async addAcls (): Promise<void> {\n if (!this.defaultHolder || !this.defaultACLDoc) {\n const message = 'Unable to find defaults to copy'\n debug.error(message)\n return Promise.reject(message)\n }\n const aclGraph = adoptACLDefault(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc)\n aclGraph.statements.forEach(st => this.store.add(st.subject, st.predicate, st.object, this.targetACLDoc))\n try {\n await this.store.fetcher.putBack(this.targetACLDoc)\n this.isUsingDefaults = false\n return Promise.resolve()\n } catch (error) {\n const message = ` Error writing back access control file! ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async addDefaults (): Promise<void> {\n this.defaultsCombo = new AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, { defaults: true })\n this.defaultsDiffer = true\n }\n\n private async removeAcls (): Promise<void> {\n try {\n await this.store.fetcher.delete(this.targetACLDoc.uri, {})\n this.isUsingDefaults = true\n try {\n this.prospectiveDefaultHolder = await getProspectiveHolder(this.targetDoc.uri)\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n debug.warn(error)\n }\n } catch (error) {\n const message = `Error deleting access control file: ${this.targetACLDoc}: ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async removeDefaults (): Promise<void> {\n const fallbackCombo = this.defaultsCombo\n try {\n this.defaultsCombo = null\n this.defaultsDiffer = false\n await this.save()\n } catch (error) {\n this.defaultsCombo = fallbackCombo\n this.defaultsDiffer = true\n debug.error(error)\n return Promise.reject(error)\n }\n }\n\n public save (): Promise<void> {\n // build graph\n const newAClGraph = graph()\n if (!this.isContainer) {\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n } else if (this.defaultsCombo && this.defaultsDiffer) {\n // Pair of controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true)\n } else {\n // Linked controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true)\n }\n\n // add authenticated fetcher\n newAClGraph.fetcher = fetcher(newAClGraph, { fetch: this.store.fetcher._fetch })\n const updater = newAClGraph.updater || new UpdateManager(newAClGraph)\n\n // save ACL resource\n return new Promise((resolve, reject) => {\n updater.put(\n this.targetACLDoc,\n newAClGraph.statementsMatching(undefined, undefined, undefined, this.targetACLDoc),\n 'text/turtle',\n (uri, ok, message) => {\n if (!ok) {\n return reject(new Error(`ACL file save failed: ${message}`))\n }\n this.store.fetcher.unload(this.targetACLDoc)\n this.store.add(newAClGraph.statements)\n this.store.fetcher.requested[this.targetACLDoc.uri] = 'done' // missing: save headers\n this.mainCombo.store = this.store\n if (this.defaultsCombo) {\n this.defaultsCombo.store = this.store\n }\n this.defaultsDiffer = !!this.defaultsCombo && !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n debug.log('ACL modification: success!')\n resolve()\n }\n )\n })\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-controller.esm.js","names":[],"sources":["../../src/acl/access-controller.ts"],"sourcesContent":["/**\n * Contains the [[AccessController]] class\n * @packageDocumentation\n */\n\nimport { adoptACLDefault, getProspectiveHolder, makeACLGraphbyCombo, sameACL } from './acl'\nimport { fetcher, graph, NamedNode, UpdateManager } from 'rdflib'\nimport { AccessGroups } from './access-groups'\nimport { DataBrowserContext } from 'pane-registry'\nimport { shortNameForFolder } from './acl-control'\nimport * as utils from '../utils'\nimport * as debug from '../lib/debug'\nimport { style } from '../lib/style'\n\n/**\n * Rendered HTML component used in the databrowser's Sharing pane.\n */\nexport class AccessController {\n public mainCombo: AccessGroups\n public defaultsCombo: AccessGroups | null\n private readonly isContainer: boolean\n private defaultsDiffer: boolean\n private readonly rootElement: HTMLDivElement\n private isUsingDefaults: boolean\n\n constructor (\n public subject: NamedNode,\n public noun: string,\n public context: DataBrowserContext,\n private statusElement: HTMLElement,\n public targetIsProtected: boolean,\n private targetDoc: NamedNode,\n private targetACLDoc: NamedNode,\n private defaultHolder: NamedNode | null,\n private defaultACLDoc: NamedNode | null,\n private prospectiveDefaultHolder: NamedNode | undefined,\n public store,\n public dom: HTMLDocument\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.setAttribute('style', style.aclGroupContent)\n this.isContainer = targetDoc.uri.slice(-1) === '/' // Give default for all directories\n if (defaultHolder && defaultACLDoc) {\n this.isUsingDefaults = true\n const aclDefaultStore = adoptACLDefault(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc)\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, { defaults: this.isContainer })\n this.defaultsCombo = null\n this.defaultsDiffer = false\n } else {\n this.isUsingDefaults = false\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, store)\n this.defaultsCombo = new AccessGroups(targetDoc, targetACLDoc, this, store, { defaults: this.isContainer })\n this.defaultsDiffer = !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n }\n }\n\n public get isEditable (): boolean {\n return !this.isUsingDefaults\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n if (this.isUsingDefaults) {\n this.renderStatus(`The sharing for this ${this.noun} is the default for folder `)\n if (this.defaultHolder) {\n const defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'))\n defaultHolderLink.href = this.defaultHolder.uri\n defaultHolderLink.innerText = shortNameForFolder(this.defaultHolder)\n }\n } else if (!this.defaultsDiffer && this.isContainer) {\n this.renderStatus('This is also the default for things in this folder.')\n } else {\n this.renderStatus('')\n }\n this.rootElement.appendChild(this.mainCombo.render())\n if (this.defaultsCombo && this.defaultsDiffer) {\n this.rootElement.appendChild(this.renderRemoveDefaultsController())\n this.rootElement.appendChild(this.defaultsCombo.render())\n } else if (this.isEditable && this.isContainer) {\n this.rootElement.appendChild(this.renderAddDefaultsController())\n }\n if (!this.targetIsProtected && this.isUsingDefaults) {\n this.rootElement.appendChild(this.renderAddAclsController())\n } else if (!this.targetIsProtected) {\n this.rootElement.appendChild(this.renderRemoveAclsController())\n }\n return this.rootElement\n }\n\n private renderRemoveAclsController (): HTMLElement {\n const useDefaultButton = this.dom.createElement('button')\n useDefaultButton.innerText = `Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder ? ` for ${utils.label(this.prospectiveDefaultHolder)}` : ''}`\n useDefaultButton.setAttribute('style', style.bigButton)\n useDefaultButton.addEventListener('click', () => this.removeAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return useDefaultButton\n }\n\n private renderAddAclsController (): HTMLElement {\n const addAclButton = this.dom.createElement('button')\n addAclButton.innerText = `Set specific sharing for this ${this.noun}`\n addAclButton.setAttribute('style', style.bigButton)\n addAclButton.addEventListener('click', () => this.addAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return addAclButton\n }\n\n private renderAddDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.addDefaults()\n .then(() => this.render()))\n return containerElement\n }\n\n private renderRemoveDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set default for folder contents to just track the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.removeDefaults()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return containerElement\n }\n\n public renderTemporaryStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.setAttribute('style', style.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.setAttribute('style', style.temporaryStatusEnd)\n })\n setTimeout(() => {\n this.statusElement.innerText = ''\n }, 5000)\n }\n\n public renderStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n if (!message) {\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n }\n this.statusElement.innerText = message\n }\n\n private async addAcls (): Promise<void> {\n if (!this.defaultHolder || !this.defaultACLDoc) {\n const message = 'Unable to find defaults to copy'\n debug.error(message)\n return Promise.reject(message)\n }\n const aclGraph = adoptACLDefault(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc)\n aclGraph.statements.forEach(st => this.store.add(st.subject, st.predicate, st.object, this.targetACLDoc))\n try {\n await this.store.fetcher.putBack(this.targetACLDoc)\n this.isUsingDefaults = false\n return Promise.resolve()\n } catch (error) {\n const message = ` Error writing back access control file! ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async addDefaults (): Promise<void> {\n this.defaultsCombo = new AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, { defaults: true })\n this.defaultsDiffer = true\n }\n\n private async removeAcls (): Promise<void> {\n try {\n await this.store.fetcher.delete(this.targetACLDoc.uri, {})\n this.isUsingDefaults = true\n try {\n this.prospectiveDefaultHolder = await getProspectiveHolder(this.targetDoc.uri)\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n debug.warn(error)\n }\n } catch (error) {\n const message = `Error deleting access control file: ${this.targetACLDoc}: ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async removeDefaults (): Promise<void> {\n const fallbackCombo = this.defaultsCombo\n try {\n this.defaultsCombo = null\n this.defaultsDiffer = false\n await this.save()\n } catch (error) {\n this.defaultsCombo = fallbackCombo\n this.defaultsDiffer = true\n debug.error(error)\n return Promise.reject(error)\n }\n }\n\n public save (): Promise<void> {\n // build graph\n const newAClGraph = graph()\n if (!this.isContainer) {\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n } else if (this.defaultsCombo && this.defaultsDiffer) {\n // Pair of controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true)\n } else {\n // Linked controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true)\n }\n\n // add authenticated fetcher\n newAClGraph.fetcher = fetcher(newAClGraph, { fetch: this.store.fetcher._fetch })\n const updater = newAClGraph.updater || new UpdateManager(newAClGraph)\n\n // save ACL resource\n return new Promise((resolve, reject) => {\n updater.put(\n this.targetACLDoc,\n newAClGraph.statementsMatching(undefined, undefined, undefined, this.targetACLDoc),\n 'text/turtle',\n (uri, ok, message) => {\n if (!ok) {\n return reject(new Error(`ACL file save failed: ${message}`))\n }\n this.store.fetcher.unload(this.targetACLDoc)\n this.store.add(newAClGraph.statements)\n this.store.fetcher.requested[this.targetACLDoc.uri] = 'done' // missing: save headers\n this.mainCombo.store = this.store\n if (this.defaultsCombo) {\n this.defaultsCombo.store = this.store\n }\n this.defaultsDiffer = !!this.defaultsCombo && !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n debug.log('ACL modification: success!')\n resolve()\n }\n )\n })\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"access-controller.esm.js","names":[],"sources":["../../src/acl/access-controller.ts"],"sourcesContent":["/**\n * Contains the [[AccessController]] class\n * @packageDocumentation\n */\n\nimport { adoptACLDefault, getProspectiveHolder, makeACLGraphbyCombo, sameACL } from './acl'\nimport { fetcher, graph, NamedNode, UpdateManager } from 'rdflib'\nimport { AccessGroups } from './access-groups'\nimport { DataBrowserContext } from 'pane-registry'\nimport { shortNameForFolder } from './acl-control'\nimport * as utils from '../utils'\nimport * as debug from '../lib/debug'\nimport { style } from '../lib/style'\n\n/**\n * Rendered HTML component used in the databrowser's Sharing pane.\n */\nexport class AccessController {\n public mainCombo: AccessGroups\n public defaultsCombo: AccessGroups | null\n private readonly isContainer: boolean\n private defaultsDiffer: boolean\n private readonly rootElement: HTMLDivElement\n private isUsingDefaults: boolean\n\n constructor (\n public subject: NamedNode,\n public noun: string,\n public context: DataBrowserContext,\n private statusElement: HTMLElement,\n public targetIsProtected: boolean,\n private targetDoc: NamedNode,\n private targetACLDoc: NamedNode,\n private defaultHolder: NamedNode | null,\n private defaultACLDoc: NamedNode | null,\n private prospectiveDefaultHolder: NamedNode | undefined,\n public store,\n public dom: HTMLDocument\n ) {\n this.rootElement = dom.createElement('div')\n this.rootElement.setAttribute('style', style.aclGroupContent)\n this.isContainer = targetDoc.uri.slice(-1) === '/' // Give default for all directories\n if (defaultHolder && defaultACLDoc) {\n this.isUsingDefaults = true\n const aclDefaultStore = adoptACLDefault(this.targetDoc, targetACLDoc, defaultHolder, defaultACLDoc)\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, aclDefaultStore, { defaults: this.isContainer })\n this.defaultsCombo = null\n this.defaultsDiffer = false\n } else {\n this.isUsingDefaults = false\n this.mainCombo = new AccessGroups(targetDoc, targetACLDoc, this, store)\n this.defaultsCombo = new AccessGroups(targetDoc, targetACLDoc, this, store, { defaults: this.isContainer })\n this.defaultsDiffer = !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n }\n }\n\n public get isEditable (): boolean {\n return !this.isUsingDefaults\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n if (this.isUsingDefaults) {\n this.renderStatus(`The sharing for this ${this.noun} is the default for folder `)\n if (this.defaultHolder) {\n const defaultHolderLink = this.statusElement.appendChild(this.dom.createElement('a'))\n defaultHolderLink.href = this.defaultHolder.uri\n defaultHolderLink.innerText = shortNameForFolder(this.defaultHolder)\n }\n } else if (!this.defaultsDiffer && this.isContainer) {\n this.renderStatus('This is also the default for things in this folder.')\n } else {\n this.renderStatus('')\n }\n this.rootElement.appendChild(this.mainCombo.render())\n if (this.defaultsCombo && this.defaultsDiffer) {\n this.rootElement.appendChild(this.renderRemoveDefaultsController())\n this.rootElement.appendChild(this.defaultsCombo.render())\n } else if (this.isEditable && this.isContainer) {\n this.rootElement.appendChild(this.renderAddDefaultsController())\n }\n if (!this.targetIsProtected && this.isUsingDefaults) {\n this.rootElement.appendChild(this.renderAddAclsController())\n } else if (!this.targetIsProtected) {\n this.rootElement.appendChild(this.renderRemoveAclsController())\n }\n return this.rootElement\n }\n\n private renderRemoveAclsController (): HTMLElement {\n const useDefaultButton = this.dom.createElement('button')\n useDefaultButton.innerText = `Remove custom sharing settings for this ${this.noun} -- just use default${this.prospectiveDefaultHolder ? ` for ${utils.label(this.prospectiveDefaultHolder)}` : ''}`\n useDefaultButton.setAttribute('style', style.bigButton)\n useDefaultButton.addEventListener('click', () => this.removeAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return useDefaultButton\n }\n\n private renderAddAclsController (): HTMLElement {\n const addAclButton = this.dom.createElement('button')\n addAclButton.innerText = `Set specific sharing for this ${this.noun}`\n addAclButton.setAttribute('style', style.bigButton)\n addAclButton.addEventListener('click', () => this.addAcls()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return addAclButton\n }\n\n private renderAddDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Sharing for things within the folder currently tracks sharing for the folder.'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set the sharing of folder contents separately from the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.addDefaults()\n .then(() => this.render()))\n return containerElement\n }\n\n private renderRemoveDefaultsController (): HTMLElement {\n const containerElement = this.dom.createElement('div')\n containerElement.setAttribute('style', style.defaultsController)\n\n const noticeElement = containerElement.appendChild(this.dom.createElement('div'))\n noticeElement.innerText = 'Access to things within this folder:'\n noticeElement.setAttribute('style', style.defaultsControllerNotice)\n\n const button = containerElement.appendChild(this.dom.createElement('button'))\n button.innerText = 'Set default for folder contents to just track the sharing for the folder'\n button.setAttribute('style', style.bigButton)\n button.addEventListener('click', () => this.removeDefaults()\n .then(() => this.render())\n .catch(error => this.renderStatus(error)))\n return containerElement\n }\n\n public renderTemporaryStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n this.statusElement.innerText = message\n this.statusElement.setAttribute('style', style.temporaryStatusInit)\n setTimeout(() => {\n this.statusElement.setAttribute('style', style.temporaryStatusEnd)\n })\n setTimeout(() => {\n this.statusElement.innerText = ''\n }, 5000)\n }\n\n public renderStatus (message: string): void {\n // @@ TODO Introduce better system for error notification to user https://github.com/solidos/mashlib/issues/87\n if (!message) {\n this.statusElement.setAttribute('style', style.aclControlBoxStatusRevealed)\n }\n this.statusElement.innerText = message\n }\n\n private async addAcls (): Promise<void> {\n if (!this.defaultHolder || !this.defaultACLDoc) {\n const message = 'Unable to find defaults to copy'\n debug.error(message)\n return Promise.reject(message)\n }\n const aclGraph = adoptACLDefault(this.targetDoc, this.targetACLDoc, this.defaultHolder, this.defaultACLDoc)\n aclGraph.statements.forEach(st => this.store.add(st.subject, st.predicate, st.object, this.targetACLDoc))\n try {\n await this.store.fetcher.putBack(this.targetACLDoc)\n this.isUsingDefaults = false\n return Promise.resolve()\n } catch (error) {\n const message = ` Error writing back access control file! ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async addDefaults (): Promise<void> {\n this.defaultsCombo = new AccessGroups(this.targetDoc, this.targetACLDoc, this, this.store, { defaults: true })\n this.defaultsDiffer = true\n }\n\n private async removeAcls (): Promise<void> {\n try {\n await this.store.fetcher.delete(this.targetACLDoc.uri, {})\n this.isUsingDefaults = true\n try {\n this.prospectiveDefaultHolder = await getProspectiveHolder(this.targetDoc.uri)\n } catch (error) {\n // No need to show this error in status, but good to warn about it in console\n debug.warn(error)\n }\n } catch (error) {\n const message = `Error deleting access control file: ${this.targetACLDoc}: ${error}`\n debug.error(message)\n return Promise.reject(message)\n }\n }\n\n private async removeDefaults (): Promise<void> {\n const fallbackCombo = this.defaultsCombo\n try {\n this.defaultsCombo = null\n this.defaultsDiffer = false\n await this.save()\n } catch (error) {\n this.defaultsCombo = fallbackCombo\n this.defaultsDiffer = true\n debug.error(error)\n return Promise.reject(error)\n }\n }\n\n public save (): Promise<void> {\n // build graph\n const newAClGraph = graph()\n if (!this.isContainer) {\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n } else if (this.defaultsCombo && this.defaultsDiffer) {\n // Pair of controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true)\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.defaultsCombo.byCombo, this.targetACLDoc, false, true)\n } else {\n // Linked controls\n makeACLGraphbyCombo(newAClGraph, this.targetDoc, this.mainCombo.byCombo, this.targetACLDoc, true, true)\n }\n\n // add authenticated fetcher\n newAClGraph.fetcher = fetcher(newAClGraph, { fetch: this.store.fetcher._fetch })\n const updater = newAClGraph.updater || new UpdateManager(newAClGraph)\n\n // save ACL resource\n return new Promise((resolve, reject) => {\n updater.put(\n this.targetACLDoc,\n newAClGraph.statementsMatching(undefined, undefined, undefined, this.targetACLDoc),\n 'text/turtle',\n (uri, ok, message) => {\n if (!ok) {\n return reject(new Error(`ACL file save failed: ${message}`))\n }\n this.store.fetcher.unload(this.targetACLDoc)\n this.store.add(newAClGraph.statements)\n this.store.fetcher.requested[this.targetACLDoc.uri] = 'done' // missing: save headers\n this.mainCombo.store = this.store\n if (this.defaultsCombo) {\n this.defaultsCombo.store = this.store\n }\n this.defaultsDiffer = !!this.defaultsCombo && !sameACL(this.mainCombo.aclMap, this.defaultsCombo.aclMap)\n debug.log('ACL modification: success!')\n resolve()\n }\n )\n })\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"access-groups.cjs.js","names":[],"sources":["../../src/acl/access-groups.ts"],"sourcesContent":["/**\n * Contains the [[AccessGroups]]\n * and [[AccessGroupsOptions]] classes\n * @packageDocumentation\n */\n\nimport { NamedNode, sym, Store } from 'rdflib'\nimport { ACLbyCombination, readACL } from './acl'\nimport * as widgets from '../widgets'\nimport ns from '../lib/ns'\nimport { AccessController } from './access-controller'\nimport { AgentMapMap, ComboList, PartialAgentTriple } from './types'\nimport { AddAgentButtons } from './add-agent-buttons'\nimport * as debug from '../lib/debug'\nimport { style } from '../lib/style'\n\nconst ACL = ns.acl\n\nconst COLLOQUIAL = {\n 13: 'Owners',\n 9: 'Owners (write locked)',\n 5: 'Editors',\n 3: 'Posters',\n 2: 'Submitters',\n 1: 'Viewers'\n}\n\nconst RECOMMENDED = {\n 13: true,\n 5: true,\n 3: true,\n 2: true,\n 1: true\n}\n\nconst EXPLANATION = {\n 13: 'can read, write, and control sharing.',\n 9: 'can read and control sharing, currently write-locked.',\n 5: 'can read and change information',\n 3: 'can add new information, and read but not change existing information',\n 2: 'can add new information but not read any',\n 1: 'can read but not change information'\n}\n\n/**\n * Type for the options parameter of [[AccessGroups]]\n */\nexport interface AccessGroupsOptions {\n defaults?: boolean\n}\n\n/**\n * Renders the table of Owners, Editors, Posters, Submitters, Viewers\n * for https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md\n */\nexport class AccessGroups {\n private readonly defaults: boolean\n public byCombo: ComboList\n public aclMap: AgentMapMap\n private readonly addAgentButton: AddAgentButtons\n private readonly rootElement: HTMLElement\n private _store: Store // @@ was LiveStore but does not need to be connected to web\n\n constructor (\n private doc: NamedNode,\n private aclDoc: NamedNode,\n public controller: AccessController,\n store: Store, // @@ was LiveStore\n private _options: AccessGroupsOptions = {}\n ) {\n this.defaults = this._options.defaults || false\n this._store = store\n this.aclMap = readACL(doc, aclDoc, store, this.defaults)\n this.byCombo = ACLbyCombination(this.aclMap)\n this.addAgentButton = new AddAgentButtons(this)\n this.rootElement = this.controller.dom.createElement('div')\n this.rootElement.setAttribute('style', style.accessGroupList)\n }\n\n public get store () {\n return this._store\n }\n\n public set store (store) {\n this._store = store\n this.aclMap = readACL(this.doc, this.aclDoc, store, this.defaults)\n this.byCombo = ACLbyCombination(this.aclMap)\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n this.renderGroups().forEach(group => this.rootElement.appendChild(group))\n if (this.controller.isEditable) {\n this.rootElement.appendChild(this.addAgentButton.render())\n }\n return this.rootElement\n }\n\n private renderGroups (): HTMLElement[] {\n const groupElements: HTMLElement[] = []\n for (let comboIndex = 15; comboIndex > 0; comboIndex--) {\n const combo = kToCombo(comboIndex)\n if ((this.controller.isEditable && RECOMMENDED[comboIndex]) || this.byCombo[combo]) {\n groupElements.push(this.renderGroup(comboIndex, combo))\n }\n }\n return groupElements\n }\n\n private renderGroup (comboIndex: number, combo: string): HTMLElement {\n const groupRow = this.controller.dom.createElement('div')\n groupRow.setAttribute('style', style.accessGroupListItem)\n widgets.makeDropTarget(groupRow, (uris) => this.handleDroppedUris(uris, combo)\n .then(() => this.controller.render())\n .catch(error => this.controller.renderStatus(error)))\n const groupColumns = this.renderGroupElements(comboIndex, combo)\n groupColumns.forEach(column => groupRow.appendChild(column))\n return groupRow\n }\n\n private renderGroupElements (comboIndex, combo): HTMLElement[] {\n const groupNameColumn = this.controller.dom.createElement('div')\n groupNameColumn.setAttribute('style', style.group)\n if (this.controller.isEditable) {\n switch (comboIndex) {\n case 1:\n groupNameColumn.setAttribute('style', style.group1)\n break\n case 2:\n groupNameColumn.setAttribute('style', style.group2)\n break\n case 3:\n groupNameColumn.setAttribute('style', style.group3)\n break\n case 5:\n groupNameColumn.setAttribute('style', style.group5)\n break\n case 9:\n groupNameColumn.setAttribute('style', style.group9)\n break\n case 13:\n groupNameColumn.setAttribute('style', style.group13)\n break\n default:\n groupNameColumn.setAttribute('style', style.group)\n }\n }\n groupNameColumn.innerText = COLLOQUIAL[comboIndex] || ktToList(comboIndex)\n\n const groupAgentsColumn = this.controller.dom.createElement('div')\n groupAgentsColumn.setAttribute('style', style.group)\n if (this.controller.isEditable) {\n switch (comboIndex) {\n case 1:\n groupAgentsColumn.setAttribute('style', style.group1)\n break\n case 2:\n groupAgentsColumn.setAttribute('style', style.group2)\n break\n case 3:\n groupAgentsColumn.setAttribute('style', style.group3)\n break\n case 5:\n groupAgentsColumn.setAttribute('style', style.group5)\n break\n case 9:\n groupAgentsColumn.setAttribute('style', style.group9)\n break\n case 13:\n groupAgentsColumn.setAttribute('style', style.group13)\n break\n default:\n groupAgentsColumn.setAttribute('style', style.group)\n }\n }\n const groupAgentsTable = groupAgentsColumn.appendChild(this.controller.dom.createElement('table'))\n const combos = this.byCombo[combo] || []\n combos\n .map(([pred, obj]) => this.renderAgent(groupAgentsTable, combo, pred, obj))\n .forEach(agentElement => groupAgentsTable.appendChild(agentElement))\n\n const groupDescriptionElement = this.controller.dom.createElement('div')\n groupDescriptionElement.setAttribute('style', style.group)\n if (this.controller.isEditable) {\n switch (comboIndex) {\n case 1:\n groupDescriptionElement.setAttribute('style', style.group1)\n break\n case 2:\n groupDescriptionElement.setAttribute('style', style.group2)\n break\n case 3:\n groupDescriptionElement.setAttribute('style', style.group3)\n break\n case 5:\n groupDescriptionElement.setAttribute('style', style.group5)\n break\n case 9:\n groupDescriptionElement.setAttribute('style', style.group9)\n break\n case 13:\n groupDescriptionElement.setAttribute('style', style.group13)\n break\n default:\n groupDescriptionElement.setAttribute('style', style.group)\n }\n }\n groupDescriptionElement.innerText = EXPLANATION[comboIndex] || 'Unusual combination'\n\n return [groupNameColumn, groupAgentsColumn, groupDescriptionElement]\n }\n\n private renderAgent (groupAgentsTable, combo, pred, obj): HTMLElement {\n const personRow = widgets.personTR(this.controller.dom, ACL(pred), sym(obj), this.controller.isEditable\n ? {\n deleteFunction: () => this.deleteAgent(combo, pred, obj)\n .then(() => groupAgentsTable.removeChild(personRow))\n .catch(error => this.controller.renderStatus(error))\n }\n : {})\n return personRow\n }\n\n private async deleteAgent (combo, pred, obj): Promise<void> {\n const combos = this.byCombo[combo] || []\n const comboToRemove = combos.find(([comboPred, comboObj]) => comboPred === pred && comboObj === obj)\n if (comboToRemove) {\n combos.splice(combos.indexOf(comboToRemove), 1)\n }\n await this.controller.save()\n }\n\n public async addNewURI (uri: string): Promise<void> {\n await this.handleDroppedUri(uri, kToCombo(1))\n await this.controller.save()\n }\n\n private async handleDroppedUris (uris: string[], combo: string): Promise<void> {\n try {\n await Promise.all(uris.map(uri => this.handleDroppedUri(uri, combo)))\n await this.controller.save()\n } catch (error) {\n return Promise.reject(error)\n }\n }\n\n private async handleDroppedUri (uri: string, combo: string, secondAttempt: boolean = false): Promise<void> {\n const agent = findAgent(uri, this.store) // eg 'agent', 'origin', agentClass'\n const thing = sym(uri)\n if (!agent && !secondAttempt) {\n debug.log(` Not obvious: looking up dropped thing ${thing}`)\n try {\n await this._store?.fetcher?.load(thing.doc())\n } catch (error) {\n const message = `Ignore error looking up dropped thing: ${error}`\n debug.error(message)\n return Promise.reject(new Error(message))\n }\n return this.handleDroppedUri(uri, combo, true)\n } else if (!agent) {\n const detectedTypes = Object.keys(this.store.findTypeURIs(thing))\n const typeDetails = detectedTypes.length > 0\n ? `Detected RDF types: ${detectedTypes.join(', ')}`\n : 'No RDF type was detected for this URI.'\n const error =\n `Error: Failed to add access target: ${uri} is not a recognized ACL target type.` +\n ' Expected one of: vcard:WebID, vcard:Group, foaf:Person, foaf:Agent, solid:AppProvider, solid:AppProviderClass, or recognized ACL classes.' +\n ' Hint: try dropping a WebID profile URI, a vcard:Group URI, or a web app origin.' +\n typeDetails\n debug.error(error)\n return Promise.reject(new Error(error))\n }\n this.setACLCombo(combo, uri, agent, this.controller.subject)\n }\n\n private setACLCombo (combo: string, uri: string, res: PartialAgentTriple, subject: NamedNode): void {\n if (!(combo in this.byCombo)) {\n this.byCombo[combo] = []\n }\n this.removeAgentFromCombos(uri) // Combos are mutually distinct\n this.byCombo[combo].push([res.pred, res.obj.uri])\n debug.log(`ACL: setting access to ${subject} by ${res.pred}: ${res.obj}`)\n }\n\n private removeAgentFromCombos (uri: string): void {\n for (let k = 0; k < 16; k++) {\n const combos = this.byCombo[kToCombo(k)]\n if (combos) {\n for (let i = 0; i < combos.length; i++) {\n while (i < combos.length && combos[i][1] === uri) {\n combos.splice(i, 1)\n }\n }\n }\n }\n }\n}\n\nfunction kToCombo (k: number): string {\n const y = ['Read', 'Append', 'Write', 'Control']\n const combo: string[] = []\n for (let i = 0; i < 4; i++) {\n if (k & (1 << i)) {\n combo.push('http://www.w3.org/ns/auth/acl#' + y[i])\n }\n }\n combo.sort()\n return combo.join('\\n')\n}\n\nfunction ktToList (k: number): string {\n let list = ''\n const y = ['Read', 'Append', 'Write', 'Control']\n for (let i = 0; i < 4; i++) {\n if (k & (1 << i)) {\n list += y[i]\n }\n }\n return list\n}\n\nfunction findAgent (uri, kb): PartialAgentTriple | null {\n const obj = sym(uri)\n const types = kb.findTypeURIs(obj)\n for (const ty in types) {\n debug.log(' drop object type includes: ' + ty)\n }\n // An Origin URI is one like https://fred.github.io eith no trailing slash\n if (uri.startsWith('http') && uri.split('/').length === 3) {\n // there is no third slash\n return { pred: 'origin', obj } // The only way to know an origin alas\n }\n // @@ This is an almighty kludge needed because drag and drop adds extra slashes to origins\n if (\n uri.startsWith('http') &&\n uri.split('/').length === 4 &&\n uri.endsWith('/')\n ) {\n // there IS third slash\n debug.log('Assuming final slash on dragged origin URI was unintended!')\n return { pred: 'origin', obj: sym(uri.slice(0, -1)) } // Fix a URI where the drag and drop system has added a spurious slash\n }\n\n if (ns.vcard('WebID').uri in types) return { pred: 'agent', obj }\n\n if (ns.vcard('Group').uri in types) {\n return { pred: 'agentGroup', obj } // @@ note vcard membership not RDFs\n }\n if (\n obj.sameTerm(ns.foaf('Agent')) ||\n obj.sameTerm(ns.acl('AuthenticatedAgent')) || // AuthenticatedAgent\n obj.sameTerm(ns.rdf('Resource')) ||\n obj.sameTerm(ns.owl('Thing'))\n ) {\n return { pred: 'agentClass', obj }\n }\n if (\n ns.vcard('Individual').uri in types ||\n ns.foaf('Person').uri in types ||\n ns.foaf('Agent').uri in types\n ) {\n const pref = kb.any(obj, ns.foaf('preferredURI'))\n if (pref) return { pred: 'agent', obj: sym(pref) }\n return { pred: 'agent', obj }\n }\n if (ns.solid('AppProvider').uri in types) {\n return { pred: 'origin', obj }\n }\n if (ns.solid('AppProviderClass').uri in types) {\n return { pred: 'originClass', obj }\n }\n debug.log(' Triage fails for ' + uri)\n return null\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"access-groups.cjs.js","names":[],"sources":["../../src/acl/access-groups.ts"],"sourcesContent":["/**\n * Contains the [[AccessGroups]]\n * and [[AccessGroupsOptions]] classes\n * @packageDocumentation\n */\n\nimport { NamedNode, sym, Store } from 'rdflib'\nimport { ACLbyCombination, readACL } from './acl'\nimport * as widgets from '../widgets'\nimport ns from '../lib/ns'\nimport { AccessController } from './access-controller'\nimport { AgentMapMap, ComboList, PartialAgentTriple } from './types'\nimport { AddAgentButtons } from './add-agent-buttons'\nimport * as debug from '../lib/debug'\nimport { style } from '../lib/style'\n\nconst ACL = ns.acl\n\nconst COLLOQUIAL = {\n 13: 'Owners',\n 9: 'Owners (write locked)',\n 5: 'Editors',\n 3: 'Posters',\n 2: 'Submitters',\n 1: 'Viewers'\n}\n\nconst RECOMMENDED = {\n 13: true,\n 5: true,\n 3: true,\n 2: true,\n 1: true\n}\n\nconst EXPLANATION = {\n 13: 'can read, write, and control sharing.',\n 9: 'can read and control sharing, currently write-locked.',\n 5: 'can read and change information',\n 3: 'can add new information, and read but not change existing information',\n 2: 'can add new information but not read any',\n 1: 'can read but not change information'\n}\n\n/**\n * Type for the options parameter of [[AccessGroups]]\n */\nexport interface AccessGroupsOptions {\n defaults?: boolean\n}\n\n/**\n * Renders the table of Owners, Editors, Posters, Submitters, Viewers\n * for https://github.com/solidos/userguide/blob/main/views/sharing/userguide.md\n */\nexport class AccessGroups {\n private readonly defaults: boolean\n public byCombo: ComboList\n public aclMap: AgentMapMap\n private readonly addAgentButton: AddAgentButtons\n private readonly rootElement: HTMLElement\n private _store: Store // @@ was LiveStore but does not need to be connected to web\n\n constructor (\n private doc: NamedNode,\n private aclDoc: NamedNode,\n public controller: AccessController,\n store: Store, // @@ was LiveStore\n private _options: AccessGroupsOptions = {}\n ) {\n this.defaults = this._options.defaults || false\n this._store = store\n this.aclMap = readACL(doc, aclDoc, store, this.defaults)\n this.byCombo = ACLbyCombination(this.aclMap)\n this.addAgentButton = new AddAgentButtons(this)\n this.rootElement = this.controller.dom.createElement('div')\n this.rootElement.setAttribute('style', style.accessGroupList)\n }\n\n public get store () {\n return this._store\n }\n\n public set store (store) {\n this._store = store\n this.aclMap = readACL(this.doc, this.aclDoc, store, this.defaults)\n this.byCombo = ACLbyCombination(this.aclMap)\n }\n\n public render (): HTMLElement {\n this.rootElement.innerHTML = ''\n this.renderGroups().forEach(group => this.rootElement.appendChild(group))\n if (this.controller.isEditable) {\n this.rootElement.appendChild(this.addAgentButton.render())\n }\n return this.rootElement\n }\n\n private renderGroups (): HTMLElement[] {\n const groupElements: HTMLElement[] = []\n for (let comboIndex = 15; comboIndex > 0; comboIndex--) {\n const combo = kToCombo(comboIndex)\n if ((this.controller.isEditable && RECOMMENDED[comboIndex]) || this.byCombo[combo]) {\n groupElements.push(this.renderGroup(comboIndex, combo))\n }\n }\n return groupElements\n }\n\n private renderGroup (comboIndex: number, combo: string): HTMLElement {\n const groupRow = this.controller.dom.createElement('div')\n groupRow.setAttribute('style', style.accessGroupListItem)\n widgets.makeDropTarget(groupRow, (uris) => this.handleDroppedUris(uris, combo)\n .then(() => this.controller.render())\n .catch(error => this.controller.renderStatus(error)))\n const groupColumns = this.renderGroupElements(comboIndex, combo)\n groupColumns.forEach(column => groupRow.appendChild(column))\n return groupRow\n }\n\n private renderGroupElements (comboIndex, combo): HTMLElement[] {\n const groupNameColumn = this.controller.dom.createElement('div')\n groupNameColumn.setAttribute('style', style.group)\n if (this.controller.isEditable) {\n switch (comboIndex) {\n case 1:\n groupNameColumn.setAttribute('style', style.group1)\n break\n case 2:\n groupNameColumn.setAttribute('style', style.group2)\n break\n case 3:\n groupNameColumn.setAttribute('style', style.group3)\n break\n case 5:\n groupNameColumn.setAttribute('style', style.group5)\n break\n case 9:\n groupNameColumn.setAttribute('style', style.group9)\n break\n case 13:\n groupNameColumn.setAttribute('style', style.group13)\n break\n default:\n groupNameColumn.setAttribute('style', style.group)\n }\n }\n groupNameColumn.innerText = COLLOQUIAL[comboIndex] || ktToList(comboIndex)\n\n const groupAgentsColumn = this.controller.dom.createElement('div')\n groupAgentsColumn.setAttribute('style', style.group)\n if (this.controller.isEditable) {\n switch (comboIndex) {\n case 1:\n groupAgentsColumn.setAttribute('style', style.group1)\n break\n case 2:\n groupAgentsColumn.setAttribute('style', style.group2)\n break\n case 3:\n groupAgentsColumn.setAttribute('style', style.group3)\n break\n case 5:\n groupAgentsColumn.setAttribute('style', style.group5)\n break\n case 9:\n groupAgentsColumn.setAttribute('style', style.group9)\n break\n case 13:\n groupAgentsColumn.setAttribute('style', style.group13)\n break\n default:\n groupAgentsColumn.setAttribute('style', style.group)\n }\n }\n const groupAgentsTable = groupAgentsColumn.appendChild(this.controller.dom.createElement('table'))\n const combos = this.byCombo[combo] || []\n combos\n .map(([pred, obj]) => this.renderAgent(groupAgentsTable, combo, pred, obj))\n .forEach(agentElement => groupAgentsTable.appendChild(agentElement))\n\n const groupDescriptionElement = this.controller.dom.createElement('div')\n groupDescriptionElement.setAttribute('style', style.group)\n if (this.controller.isEditable) {\n switch (comboIndex) {\n case 1:\n groupDescriptionElement.setAttribute('style', style.group1)\n break\n case 2:\n groupDescriptionElement.setAttribute('style', style.group2)\n break\n case 3:\n groupDescriptionElement.setAttribute('style', style.group3)\n break\n case 5:\n groupDescriptionElement.setAttribute('style', style.group5)\n break\n case 9:\n groupDescriptionElement.setAttribute('style', style.group9)\n break\n case 13:\n groupDescriptionElement.setAttribute('style', style.group13)\n break\n default:\n groupDescriptionElement.setAttribute('style', style.group)\n }\n }\n groupDescriptionElement.innerText = EXPLANATION[comboIndex] || 'Unusual combination'\n\n return [groupNameColumn, groupAgentsColumn, groupDescriptionElement]\n }\n\n private renderAgent (groupAgentsTable, combo, pred, obj): HTMLElement {\n const personRow = widgets.personTR(this.controller.dom, ACL(pred), sym(obj), this.controller.isEditable\n ? {\n deleteFunction: () => this.deleteAgent(combo, pred, obj)\n .then(() => groupAgentsTable.removeChild(personRow))\n .catch(error => this.controller.renderStatus(error))\n }\n : {})\n return personRow\n }\n\n private async deleteAgent (combo, pred, obj): Promise<void> {\n const combos = this.byCombo[combo] || []\n const comboToRemove = combos.find(([comboPred, comboObj]) => comboPred === pred && comboObj === obj)\n if (comboToRemove) {\n combos.splice(combos.indexOf(comboToRemove), 1)\n }\n await this.controller.save()\n }\n\n public async addNewURI (uri: string): Promise<void> {\n await this.handleDroppedUri(uri, kToCombo(1))\n await this.controller.save()\n }\n\n private async handleDroppedUris (uris: string[], combo: string): Promise<void> {\n try {\n await Promise.all(uris.map(uri => this.handleDroppedUri(uri, combo)))\n await this.controller.save()\n } catch (error) {\n return Promise.reject(error)\n }\n }\n\n private async handleDroppedUri (uri: string, combo: string, secondAttempt: boolean = false): Promise<void> {\n const agent = findAgent(uri, this.store) // eg 'agent', 'origin', agentClass'\n const thing = sym(uri)\n if (!agent && !secondAttempt) {\n debug.log(` Not obvious: looking up dropped thing ${thing}`)\n try {\n await this._store?.fetcher?.load(thing.doc())\n } catch (error) {\n const message = `Ignore error looking up dropped thing: ${error}`\n debug.error(message)\n return Promise.reject(new Error(message))\n }\n return this.handleDroppedUri(uri, combo, true)\n } else if (!agent) {\n const detectedTypes = Object.keys(this.store.findTypeURIs(thing))\n const typeDetails = detectedTypes.length > 0\n ? `Detected RDF types: ${detectedTypes.join(', ')}`\n : 'No RDF type was detected for this URI.'\n const error =\n `Error: Failed to add access target: ${uri} is not a recognized ACL target type.` +\n ' Expected one of: vcard:WebID, vcard:Group, foaf:Person, foaf:Agent, solid:AppProvider, solid:AppProviderClass, or recognized ACL classes.' +\n ' Hint: try dropping a WebID profile URI, a vcard:Group URI, or a web app origin.' +\n typeDetails\n debug.error(error)\n return Promise.reject(new Error(error))\n }\n this.setACLCombo(combo, uri, agent, this.controller.subject)\n }\n\n private setACLCombo (combo: string, uri: string, res: PartialAgentTriple, subject: NamedNode): void {\n if (!(combo in this.byCombo)) {\n this.byCombo[combo] = []\n }\n this.removeAgentFromCombos(uri) // Combos are mutually distinct\n this.byCombo[combo].push([res.pred, res.obj.uri])\n debug.log(`ACL: setting access to ${subject} by ${res.pred}: ${res.obj}`)\n }\n\n private removeAgentFromCombos (uri: string): void {\n for (let k = 0; k < 16; k++) {\n const combos = this.byCombo[kToCombo(k)]\n if (combos) {\n for (let i = 0; i < combos.length; i++) {\n while (i < combos.length && combos[i][1] === uri) {\n combos.splice(i, 1)\n }\n }\n }\n }\n }\n}\n\nfunction kToCombo (k: number): string {\n const y = ['Read', 'Append', 'Write', 'Control']\n const combo: string[] = []\n for (let i = 0; i < 4; i++) {\n if (k & (1 << i)) {\n combo.push('http://www.w3.org/ns/auth/acl#' + y[i])\n }\n }\n combo.sort()\n return combo.join('\\n')\n}\n\nfunction ktToList (k: number): string {\n let list = ''\n const y = ['Read', 'Append', 'Write', 'Control']\n for (let i = 0; i < 4; i++) {\n if (k & (1 << i)) {\n list += y[i]\n }\n }\n return list\n}\n\nfunction findAgent (uri, kb): PartialAgentTriple | null {\n const obj = sym(uri)\n const types = kb.findTypeURIs(obj)\n for (const ty in types) {\n debug.log(' drop object type includes: ' + ty)\n }\n // An Origin URI is one like https://fred.github.io eith no trailing slash\n if (uri.startsWith('http') && uri.split('/').length === 3) {\n // there is no third slash\n return { pred: 'origin', obj } // The only way to know an origin alas\n }\n // @@ This is an almighty kludge needed because drag and drop adds extra slashes to origins\n if (\n uri.startsWith('http') &&\n uri.split('/').length === 4 &&\n uri.endsWith('/')\n ) {\n // there IS third slash\n debug.log('Assuming final slash on dragged origin URI was unintended!')\n return { pred: 'origin', obj: sym(uri.slice(0, -1)) } // Fix a URI where the drag and drop system has added a spurious slash\n }\n\n if (ns.vcard('WebID').uri in types) return { pred: 'agent', obj }\n\n if (ns.vcard('Group').uri in types) {\n return { pred: 'agentGroup', obj } // @@ note vcard membership not RDFs\n }\n if (\n obj.sameTerm(ns.foaf('Agent')) ||\n obj.sameTerm(ns.acl('AuthenticatedAgent')) || // AuthenticatedAgent\n obj.sameTerm(ns.rdf('Resource')) ||\n obj.sameTerm(ns.owl('Thing'))\n ) {\n return { pred: 'agentClass', obj }\n }\n if (\n ns.vcard('Individual').uri in types ||\n ns.foaf('Person').uri in types ||\n ns.foaf('Agent').uri in types\n ) {\n const pref = kb.any(obj, ns.foaf('preferredURI'))\n if (pref) return { pred: 'agent', obj: sym(pref) }\n return { pred: 'agent', obj }\n }\n if (ns.solid('AppProvider').uri in types) {\n return { pred: 'origin', obj }\n }\n if (ns.solid('AppProviderClass').uri in types) {\n return { pred: 'originClass', obj }\n }\n debug.log(' Triage fails for ' + uri)\n return null\n}\n"],"mappings":"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"}
|