@owlmeans/web-panel 0.1.18-rc.9 → 0.1.18
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 +510 -143
- package/THIRD-PARTY-NOTICES.txt +24 -0
- package/agent-meta/manifest.json +163 -4
- package/agent-meta/skills/web-panel/SKILL.md +136 -83
- package/agent-meta/skills/web-panel/parts/consent.md +114 -0
- package/agent-meta/skills/web-panel/parts/editor.md +47 -0
- package/agent-meta/skills/web-panel/parts/forms.md +85 -0
- package/agent-meta/skills/web-panel/parts/navigation.md +203 -0
- package/agent-meta/skills/web-panel/parts/picker.md +164 -0
- package/agent-meta/skills/web-panel/parts/reload.md +46 -0
- package/agent-meta/skills/web-panel/parts/sign-in.md +65 -0
- package/agent-meta/skills/web-panel/parts/theme.md +74 -0
- package/build/@/components/ui/alert-dialog.d.ts +15 -0
- package/build/@/components/ui/alert-dialog.d.ts.map +1 -0
- package/build/@/components/ui/alert-dialog.js +39 -0
- package/build/@/components/ui/alert-dialog.js.map +1 -0
- package/build/@/components/ui/alert.js +1 -1
- package/build/@/components/ui/alert.js.map +1 -1
- package/build/@/components/ui/button.js +1 -1
- package/build/@/components/ui/button.js.map +1 -1
- package/build/@/components/ui/card.js +1 -1
- package/build/@/components/ui/card.js.map +1 -1
- package/build/@/components/ui/input.js +1 -1
- package/build/@/components/ui/input.js.map +1 -1
- package/build/@/components/ui/label.js +1 -1
- package/build/@/components/ui/label.js.map +1 -1
- package/build/@/components/ui/navigation-menu.js +1 -1
- package/build/@/components/ui/navigation-menu.js.map +1 -1
- package/build/@/components/ui/popover.d.ts +8 -0
- package/build/@/components/ui/popover.d.ts.map +1 -0
- package/build/@/components/ui/popover.js +17 -0
- package/build/@/components/ui/popover.js.map +1 -0
- package/build/@/components/ui/progress.js +1 -1
- package/build/@/components/ui/progress.js.map +1 -1
- package/build/@/components/ui/separator.js +1 -1
- package/build/@/components/ui/separator.js.map +1 -1
- package/build/@/components/ui/sheet.d.ts +15 -0
- package/build/@/components/ui/sheet.d.ts.map +1 -0
- package/build/@/components/ui/sheet.js +40 -0
- package/build/@/components/ui/sheet.js.map +1 -0
- package/build/auth/context.d.ts.map +1 -1
- package/build/auth/context.js +0 -1
- package/build/auth/context.js.map +1 -1
- package/build/auth/entrypoints.d.ts +10 -0
- package/build/auth/entrypoints.d.ts.map +1 -0
- package/build/auth/entrypoints.js +4 -0
- package/build/auth/entrypoints.js.map +1 -0
- package/build/auth/exports.d.ts +4 -4
- package/build/auth/exports.d.ts.map +1 -1
- package/build/auth/exports.js +3 -3
- package/build/auth/exports.js.map +1 -1
- package/build/auth/modules.d.ts +1 -1
- package/build/auth/modules.d.ts.map +1 -1
- package/build/auth/plugins/basic-ed25519.js +4 -4
- package/build/auth/plugins/basic-ed25519.js.map +1 -1
- package/build/auth/plugins/re-captcha.js +3 -3
- package/build/auth/plugins/re-captcha.js.map +1 -1
- package/build/auth/plugins/tunnel-consumer.js +1 -1
- package/build/auth/plugins/tunnel-consumer.js.map +1 -1
- package/build/components/block.js +2 -2
- package/build/components/block.js.map +1 -1
- package/build/components/consts.local.d.ts +14 -0
- package/build/components/consts.local.d.ts.map +1 -0
- package/build/components/consts.local.js +26 -0
- package/build/components/consts.local.js.map +1 -0
- package/build/components/footer/component.d.ts +19 -1
- package/build/components/footer/component.d.ts.map +1 -1
- package/build/components/footer/component.js +38 -11
- package/build/components/footer/component.js.map +1 -1
- package/build/components/footer/credit.d.ts +27 -0
- package/build/components/footer/credit.d.ts.map +1 -0
- package/build/components/footer/credit.js +42 -0
- package/build/components/footer/credit.js.map +1 -0
- package/build/components/footer/index.d.ts +1 -0
- package/build/components/footer/index.d.ts.map +1 -1
- package/build/components/footer/index.js +1 -0
- package/build/components/footer/index.js.map +1 -1
- package/build/components/footer/types.d.ts +22 -1
- package/build/components/footer/types.d.ts.map +1 -1
- package/build/components/form/button/component.d.ts.map +1 -1
- package/build/components/form/button/component.js +5 -3
- package/build/components/form/button/component.js.map +1 -1
- package/build/components/form/component.js +2 -2
- package/build/components/form/component.js.map +1 -1
- package/build/components/form/text/component.js +2 -2
- package/build/components/form/text/component.js.map +1 -1
- package/build/components/helper.d.ts.map +1 -1
- package/build/components/helper.js +1 -12
- package/build/components/helper.js.map +1 -1
- package/build/components/index.d.ts +4 -0
- package/build/components/index.d.ts.map +1 -1
- package/build/components/index.js +4 -0
- package/build/components/index.js.map +1 -1
- package/build/components/link.js +3 -3
- package/build/components/link.js.map +1 -1
- package/build/components/login/append.d.ts +15 -0
- package/build/components/login/append.d.ts.map +1 -0
- package/build/components/login/append.js +26 -0
- package/build/components/login/append.js.map +1 -0
- package/build/components/login/consts.d.ts +3 -0
- package/build/components/login/consts.d.ts.map +1 -0
- package/build/components/login/consts.js +3 -0
- package/build/components/login/consts.js.map +1 -0
- package/build/components/login/consts.local.d.ts +4 -0
- package/build/components/login/consts.local.d.ts.map +1 -0
- package/build/components/login/consts.local.js +8 -0
- package/build/components/login/consts.local.js.map +1 -0
- package/build/components/login/credit.d.ts +12 -0
- package/build/components/login/credit.d.ts.map +1 -0
- package/build/components/login/credit.js +18 -0
- package/build/components/login/credit.js.map +1 -0
- package/build/components/login/i18n/be.json +10 -0
- package/build/components/login/i18n/de.json +10 -0
- package/build/components/login/i18n/en.json +10 -0
- package/build/components/login/i18n/es.json +10 -0
- package/build/components/login/i18n/fr.json +10 -0
- package/build/components/login/i18n/pl.json +10 -0
- package/build/components/login/i18n/ru.json +10 -0
- package/build/components/login/i18n/uk.json +10 -0
- package/build/components/login/i18n.d.ts +2 -0
- package/build/components/login/i18n.d.ts.map +1 -0
- package/build/components/login/i18n.js +28 -0
- package/build/components/login/i18n.js.map +1 -0
- package/build/components/login/icons.d.ts +14 -0
- package/build/components/login/icons.d.ts.map +1 -0
- package/build/components/login/icons.js +29 -0
- package/build/components/login/icons.js.map +1 -0
- package/build/components/login/index.d.ts +11 -0
- package/build/components/login/index.d.ts.map +1 -0
- package/build/components/login/index.js +10 -0
- package/build/components/login/index.js.map +1 -0
- package/build/components/login/notify.d.ts +18 -0
- package/build/components/login/notify.d.ts.map +1 -0
- package/build/components/login/notify.js +41 -0
- package/build/components/login/notify.js.map +1 -0
- package/build/components/login/provider.d.ts +20 -0
- package/build/components/login/provider.d.ts.map +1 -0
- package/build/components/login/provider.js +31 -0
- package/build/components/login/provider.js.map +1 -0
- package/build/components/login/screen.d.ts +24 -0
- package/build/components/login/screen.d.ts.map +1 -0
- package/build/components/login/screen.js +92 -0
- package/build/components/login/screen.js.map +1 -0
- package/build/components/login/terms.d.ts +19 -0
- package/build/components/login/terms.d.ts.map +1 -0
- package/build/components/login/terms.js +32 -0
- package/build/components/login/terms.js.map +1 -0
- package/build/components/login/types.d.ts +28 -0
- package/build/components/login/types.d.ts.map +1 -0
- package/build/components/login/types.js +2 -0
- package/build/components/login/types.js.map +1 -0
- package/build/components/nav/consts.local.d.ts +41 -0
- package/build/components/nav/consts.local.d.ts.map +1 -0
- package/build/components/nav/consts.local.js +60 -0
- package/build/components/nav/consts.local.js.map +1 -0
- package/build/components/nav/index.d.ts +1 -0
- package/build/components/nav/index.d.ts.map +1 -1
- package/build/components/nav/index.js +1 -0
- package/build/components/nav/index.js.map +1 -1
- package/build/components/nav/layout.d.ts +9 -2
- package/build/components/nav/layout.d.ts.map +1 -1
- package/build/components/nav/layout.js +48 -7
- package/build/components/nav/layout.js.map +1 -1
- package/build/components/nav/mobile.d.ts +21 -0
- package/build/components/nav/mobile.d.ts.map +1 -0
- package/build/components/nav/mobile.js +55 -0
- package/build/components/nav/mobile.js.map +1 -0
- package/build/components/nav/side.d.ts.map +1 -1
- package/build/components/nav/side.js +10 -10
- package/build/components/nav/side.js.map +1 -1
- package/build/components/nav/top.d.ts.map +1 -1
- package/build/components/nav/top.js +12 -8
- package/build/components/nav/top.js.map +1 -1
- package/build/components/nav/types.d.ts +64 -1
- package/build/components/nav/types.d.ts.map +1 -1
- package/build/components/nav/viewport.d.ts +3 -0
- package/build/components/nav/viewport.d.ts.map +1 -0
- package/build/components/nav/viewport.js +14 -0
- package/build/components/nav/viewport.js.map +1 -0
- package/build/components/panel-app/component.d.ts.map +1 -1
- package/build/components/panel-app/component.js +4 -3
- package/build/components/panel-app/component.js.map +1 -1
- package/build/components/picker/color-picker.d.ts +9 -0
- package/build/components/picker/color-picker.d.ts.map +1 -0
- package/build/components/picker/color-picker.js +9 -0
- package/build/components/picker/color-picker.js.map +1 -0
- package/build/components/picker/consts.local.d.ts +76 -0
- package/build/components/picker/consts.local.d.ts.map +1 -0
- package/build/components/picker/consts.local.js +214 -0
- package/build/components/picker/consts.local.js.map +1 -0
- package/build/components/picker/dot.d.ts +8 -0
- package/build/components/picker/dot.d.ts.map +1 -0
- package/build/components/picker/dot.js +10 -0
- package/build/components/picker/dot.js.map +1 -0
- package/build/components/picker/grid.d.ts +17 -0
- package/build/components/picker/grid.d.ts.map +1 -0
- package/build/components/picker/grid.js +73 -0
- package/build/components/picker/grid.js.map +1 -0
- package/build/components/picker/i18n/be.json +60 -0
- package/build/components/picker/i18n/de.json +60 -0
- package/build/components/picker/i18n/en.json +60 -0
- package/build/components/picker/i18n/es.json +60 -0
- package/build/components/picker/i18n/fr.json +60 -0
- package/build/components/picker/i18n/pl.json +60 -0
- package/build/components/picker/i18n/ru.json +60 -0
- package/build/components/picker/i18n/uk.json +60 -0
- package/build/components/picker/i18n.d.ts +2 -0
- package/build/components/picker/i18n.d.ts.map +1 -0
- package/build/components/picker/i18n.js +18 -0
- package/build/components/picker/i18n.js.map +1 -0
- package/build/components/picker/icon-color-picker.d.ts +14 -0
- package/build/components/picker/icon-color-picker.d.ts.map +1 -0
- package/build/components/picker/icon-color-picker.js +15 -0
- package/build/components/picker/icon-color-picker.js.map +1 -0
- package/build/components/picker/icon-picker.d.ts +8 -0
- package/build/components/picker/icon-picker.d.ts.map +1 -0
- package/build/components/picker/icon-picker.js +8 -0
- package/build/components/picker/icon-picker.js.map +1 -0
- package/build/components/picker/index.d.ts +11 -0
- package/build/components/picker/index.d.ts.map +1 -0
- package/build/components/picker/index.js +10 -0
- package/build/components/picker/index.js.map +1 -0
- package/build/components/picker/panel.d.ts +9 -0
- package/build/components/picker/panel.d.ts.map +1 -0
- package/build/components/picker/panel.js +23 -0
- package/build/components/picker/panel.js.map +1 -0
- package/build/components/picker/root.d.ts +13 -0
- package/build/components/picker/root.d.ts.map +1 -0
- package/build/components/picker/root.js +55 -0
- package/build/components/picker/root.js.map +1 -0
- package/build/components/picker/roving.d.ts +8 -0
- package/build/components/picker/roving.d.ts.map +1 -0
- package/build/components/picker/roving.js +62 -0
- package/build/components/picker/roving.js.map +1 -0
- package/build/components/picker/surface.d.ts +18 -0
- package/build/components/picker/surface.d.ts.map +1 -0
- package/build/components/picker/surface.js +36 -0
- package/build/components/picker/surface.js.map +1 -0
- package/build/components/picker/swatches/custom.d.ts +10 -0
- package/build/components/picker/swatches/custom.d.ts.map +1 -0
- package/build/components/picker/swatches/custom.js +65 -0
- package/build/components/picker/swatches/custom.js.map +1 -0
- package/build/components/picker/swatches.d.ts +16 -0
- package/build/components/picker/swatches.d.ts.map +1 -0
- package/build/components/picker/swatches.js +35 -0
- package/build/components/picker/swatches.js.map +1 -0
- package/build/components/picker/text.d.ts +5 -0
- package/build/components/picker/text.d.ts.map +1 -0
- package/build/components/picker/text.js +29 -0
- package/build/components/picker/text.js.map +1 -0
- package/build/components/picker/tile.d.ts +11 -0
- package/build/components/picker/tile.d.ts.map +1 -0
- package/build/components/picker/tile.js +19 -0
- package/build/components/picker/tile.js.map +1 -0
- package/build/components/picker/translate.d.ts +9 -0
- package/build/components/picker/translate.d.ts.map +1 -0
- package/build/components/picker/translate.js +13 -0
- package/build/components/picker/translate.js.map +1 -0
- package/build/components/picker/trigger.d.ts +12 -0
- package/build/components/picker/trigger.d.ts.map +1 -0
- package/build/components/picker/trigger.js +29 -0
- package/build/components/picker/trigger.js.map +1 -0
- package/build/components/picker/types.d.ts +114 -0
- package/build/components/picker/types.d.ts.map +1 -0
- package/build/components/picker/types.js +2 -0
- package/build/components/picker/types.js.map +1 -0
- package/build/components/picker/types.local.d.ts +143 -0
- package/build/components/picker/types.local.d.ts.map +1 -0
- package/build/components/picker/types.local.js +2 -0
- package/build/components/picker/types.local.js.map +1 -0
- package/build/components/scheme/consts.local.d.ts +8 -0
- package/build/components/scheme/consts.local.d.ts.map +1 -0
- package/build/components/scheme/consts.local.js +13 -0
- package/build/components/scheme/consts.local.js.map +1 -0
- package/build/components/scheme/hook.d.ts +16 -0
- package/build/components/scheme/hook.d.ts.map +1 -0
- package/build/components/scheme/hook.js +52 -0
- package/build/components/scheme/hook.js.map +1 -0
- package/build/components/scheme/index.d.ts +4 -0
- package/build/components/scheme/index.d.ts.map +1 -0
- package/build/components/scheme/index.js +3 -0
- package/build/components/scheme/index.js.map +1 -0
- package/build/components/scheme/toggle.d.ts +14 -0
- package/build/components/scheme/toggle.d.ts.map +1 -0
- package/build/components/scheme/toggle.js +24 -0
- package/build/components/scheme/toggle.js.map +1 -0
- package/build/components/scheme/types.d.ts +21 -0
- package/build/components/scheme/types.d.ts.map +1 -0
- package/build/components/scheme/types.js +2 -0
- package/build/components/scheme/types.js.map +1 -0
- package/build/components/socket/i18n/be.json +9 -0
- package/build/components/socket/i18n/de.json +9 -0
- package/build/components/socket/i18n/en.json +9 -0
- package/build/components/socket/i18n/es.json +9 -0
- package/build/components/socket/i18n/fr.json +9 -0
- package/build/components/socket/i18n/pl.json +9 -0
- package/build/components/socket/i18n/ru.json +9 -0
- package/build/components/socket/i18n/uk.json +9 -0
- package/build/components/socket/i18n.d.ts +2 -0
- package/build/components/socket/i18n.d.ts.map +1 -0
- package/build/components/socket/i18n.js +18 -0
- package/build/components/socket/i18n.js.map +1 -0
- package/build/components/socket/index.d.ts +3 -0
- package/build/components/socket/index.d.ts.map +1 -0
- package/build/components/socket/index.js +3 -0
- package/build/components/socket/index.js.map +1 -0
- package/build/components/socket/reload-dialog.d.ts +22 -0
- package/build/components/socket/reload-dialog.d.ts.map +1 -0
- package/build/components/socket/reload-dialog.js +34 -0
- package/build/components/socket/reload-dialog.js.map +1 -0
- package/build/components/status.js +1 -1
- package/build/components/status.js.map +1 -1
- package/build/components/text.d.ts.map +1 -1
- package/build/components/text.js +2 -13
- package/build/components/text.js.map +1 -1
- package/build/components/toaster.d.ts +16 -0
- package/build/components/toaster.d.ts.map +1 -0
- package/build/components/toaster.js +52 -0
- package/build/components/toaster.js.map +1 -0
- package/build/components/uploader/consts.local.d.ts +4 -0
- package/build/components/uploader/consts.local.d.ts.map +1 -0
- package/build/components/uploader/consts.local.js +6 -0
- package/build/components/uploader/consts.local.js.map +1 -0
- package/build/components/uploader/image.d.ts.map +1 -1
- package/build/components/uploader/image.js +2 -6
- package/build/components/uploader/image.js.map +1 -1
- package/build/consent/component.d.ts +27 -0
- package/build/consent/component.d.ts.map +1 -0
- package/build/consent/component.js +60 -0
- package/build/consent/component.js.map +1 -0
- package/build/consent/consts.d.ts +2 -0
- package/build/consent/consts.d.ts.map +1 -0
- package/build/consent/consts.js +2 -0
- package/build/consent/consts.js.map +1 -0
- package/build/consent/consts.local.d.ts +9 -0
- package/build/consent/consts.local.d.ts.map +1 -0
- package/build/consent/consts.local.js +9 -0
- package/build/consent/consts.local.js.map +1 -0
- package/build/consent/geo.d.ts +17 -0
- package/build/consent/geo.d.ts.map +1 -0
- package/build/consent/geo.js +19 -0
- package/build/consent/geo.js.map +1 -0
- package/build/consent/index.d.ts +11 -0
- package/build/consent/index.d.ts.map +1 -0
- package/build/consent/index.js +9 -0
- package/build/consent/index.js.map +1 -0
- package/build/consent/language.d.ts +12 -0
- package/build/consent/language.d.ts.map +1 -0
- package/build/consent/language.js +11 -0
- package/build/consent/language.js.map +1 -0
- package/build/consent/menu-widget.d.ts +13 -0
- package/build/consent/menu-widget.d.ts.map +1 -0
- package/build/consent/menu-widget.js +20 -0
- package/build/consent/menu-widget.js.map +1 -0
- package/build/consent/presence.d.ts +30 -0
- package/build/consent/presence.d.ts.map +1 -0
- package/build/consent/presence.js +40 -0
- package/build/consent/presence.js.map +1 -0
- package/build/consent/service.d.ts +18 -0
- package/build/consent/service.d.ts.map +1 -0
- package/build/consent/service.js +53 -0
- package/build/consent/service.js.map +1 -0
- package/build/consent/translate.d.ts +14 -0
- package/build/consent/translate.d.ts.map +1 -0
- package/build/consent/translate.js +28 -0
- package/build/consent/translate.js.map +1 -0
- package/build/consent/types.d.ts +39 -0
- package/build/consent/types.d.ts.map +1 -0
- package/build/consent/types.js +2 -0
- package/build/consent/types.js.map +1 -0
- package/build/consent/types.local.d.ts +6 -0
- package/build/consent/types.local.d.ts.map +1 -0
- package/build/consent/types.local.js +2 -0
- package/build/consent/types.local.js.map +1 -0
- package/build/context.d.ts.map +1 -1
- package/build/context.js +10 -0
- package/build/context.js.map +1 -1
- package/build/editor/component.d.ts +4 -0
- package/build/editor/component.d.ts.map +1 -0
- package/build/editor/component.js +103 -0
- package/build/editor/component.js.map +1 -0
- package/build/editor/consts.local.d.ts +6 -0
- package/build/editor/consts.local.d.ts.map +1 -0
- package/build/editor/consts.local.js +58 -0
- package/build/editor/consts.local.js.map +1 -0
- package/build/editor/index.d.ts +3 -0
- package/build/editor/index.d.ts.map +1 -0
- package/build/editor/index.js +2 -0
- package/build/editor/index.js.map +1 -0
- package/build/editor/types.d.ts +24 -0
- package/build/editor/types.d.ts.map +1 -0
- package/build/editor/types.js +2 -0
- package/build/editor/types.js.map +1 -0
- package/build/entrypoints.d.ts +8 -0
- package/build/entrypoints.d.ts.map +1 -0
- package/build/entrypoints.js +4 -0
- package/build/entrypoints.js.map +1 -0
- package/build/exports.d.ts +6 -5
- package/build/exports.d.ts.map +1 -1
- package/build/exports.js +5 -5
- package/build/exports.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/main.d.ts +1 -4
- package/build/main.d.ts.map +1 -1
- package/build/main.js.map +1 -1
- package/build/modules.d.ts +1 -1
- package/build/modules.d.ts.map +1 -1
- package/build/permission/i18n/be.json +13 -0
- package/build/permission/i18n/de.json +13 -0
- package/build/permission/i18n/en.json +13 -0
- package/build/permission/i18n/es.json +13 -0
- package/build/permission/i18n/fr.json +13 -0
- package/build/permission/i18n/pl.json +13 -0
- package/build/permission/i18n/ru.json +13 -0
- package/build/permission/i18n/uk.json +13 -0
- package/build/permission/i18n.d.ts +2 -0
- package/build/permission/i18n.d.ts.map +1 -0
- package/build/permission/i18n.js +13 -0
- package/build/permission/i18n.js.map +1 -0
- package/build/permission/index.d.ts +6 -0
- package/build/permission/index.d.ts.map +1 -0
- package/build/permission/index.js +27 -0
- package/build/permission/index.js.map +1 -0
- package/build/permission/toast.d.ts +5 -0
- package/build/permission/toast.d.ts.map +1 -0
- package/build/permission/toast.js +8 -0
- package/build/permission/toast.js.map +1 -0
- package/build/permission/types.d.ts +6 -0
- package/build/permission/types.d.ts.map +1 -0
- package/build/permission/types.js +2 -0
- package/build/permission/types.js.map +1 -0
- package/build/picker/icons/consts.d.ts +9 -0
- package/build/picker/icons/consts.d.ts.map +1 -0
- package/build/picker/icons/consts.js +264 -0
- package/build/picker/icons/consts.js.map +1 -0
- package/build/picker/icons/types.d.ts +18 -0
- package/build/picker/icons/types.d.ts.map +1 -0
- package/build/picker/icons/types.js +2 -0
- package/build/picker/icons/types.js.map +1 -0
- package/build/picker/icons.d.ts +4 -0
- package/build/picker/icons.d.ts.map +1 -0
- package/build/picker/icons.js +54 -0
- package/build/picker/icons.js.map +1 -0
- package/build/picker/index.d.ts +11 -0
- package/build/picker/index.d.ts.map +1 -0
- package/build/picker/index.js +10 -0
- package/build/picker/index.js.map +1 -0
- package/build/picker/utils/color/types.d.ts +35 -0
- package/build/picker/utils/color/types.d.ts.map +1 -0
- package/build/picker/utils/color/types.js +2 -0
- package/build/picker/utils/color/types.js.map +1 -0
- package/build/picker/utils/color.d.ts +4 -0
- package/build/picker/utils/color.d.ts.map +1 -0
- package/build/picker/utils/color.js +96 -0
- package/build/picker/utils/color.js.map +1 -0
- package/build/picker/vocabulary/consts.d.ts +26 -0
- package/build/picker/vocabulary/consts.d.ts.map +1 -0
- package/build/picker/vocabulary/consts.js +336 -0
- package/build/picker/vocabulary/consts.js.map +1 -0
- package/build/picker/vocabulary/types.d.ts +67 -0
- package/build/picker/vocabulary/types.d.ts.map +1 -0
- package/build/picker/vocabulary/types.js +2 -0
- package/build/picker/vocabulary/types.js.map +1 -0
- package/build/picker/vocabulary.d.ts +11 -0
- package/build/picker/vocabulary.d.ts.map +1 -0
- package/build/picker/vocabulary.js +83 -0
- package/build/picker/vocabulary.js.map +1 -0
- package/build/scheme/consts.d.ts +8 -0
- package/build/scheme/consts.d.ts.map +1 -0
- package/build/scheme/consts.js +8 -0
- package/build/scheme/consts.js.map +1 -0
- package/build/scheme/index.d.ts +4 -0
- package/build/scheme/index.d.ts.map +1 -0
- package/build/scheme/index.js +3 -0
- package/build/scheme/index.js.map +1 -0
- package/build/scheme/scheme.d.ts +16 -0
- package/build/scheme/scheme.d.ts.map +1 -0
- package/build/scheme/scheme.js +58 -0
- package/build/scheme/scheme.js.map +1 -0
- package/build/scheme/types.d.ts +30 -0
- package/build/scheme/types.d.ts.map +1 -0
- package/build/scheme/types.js +2 -0
- package/build/scheme/types.js.map +1 -0
- package/build/types.d.ts +18 -2
- package/build/types.d.ts.map +1 -1
- package/package.json +107 -52
- package/src/@/components/ui/alert-dialog.tsx +156 -0
- package/src/@/components/ui/alert.tsx +1 -1
- package/src/@/components/ui/button.tsx +1 -1
- package/src/@/components/ui/card.tsx +1 -1
- package/src/@/components/ui/input.tsx +1 -1
- package/src/@/components/ui/label.tsx +1 -1
- package/src/@/components/ui/navigation-menu.tsx +1 -1
- package/src/@/components/ui/popover.tsx +47 -0
- package/src/@/components/ui/progress.tsx +1 -1
- package/src/@/components/ui/separator.tsx +1 -1
- package/src/@/components/ui/sheet.tsx +142 -0
- package/src/auth/context.ts +0 -2
- package/src/auth/entrypoints.ts +5 -0
- package/src/auth/exports.ts +4 -4
- package/src/auth/plugins/basic-ed25519.tsx +4 -4
- package/src/auth/plugins/re-captcha.tsx +3 -3
- package/src/auth/plugins/tunnel-consumer.tsx +1 -1
- package/src/components/block.tsx +2 -2
- package/src/components/consts.local.ts +29 -0
- package/src/components/footer/component.tsx +58 -16
- package/src/components/footer/credit.tsx +61 -0
- package/src/components/footer/index.ts +1 -0
- package/src/components/footer/types.ts +22 -1
- package/src/components/form/button/component.tsx +7 -4
- package/src/components/form/component.tsx +2 -2
- package/src/components/form/text/component.tsx +2 -2
- package/src/components/helper.ts +1 -13
- package/src/components/index.ts +4 -0
- package/src/components/link.tsx +3 -3
- package/src/components/login/append.ts +34 -0
- package/src/components/login/consts.local.ts +10 -0
- package/src/components/login/consts.ts +2 -0
- package/src/components/login/credit.tsx +33 -0
- package/src/components/login/i18n/be.json +10 -0
- package/src/components/login/i18n/de.json +10 -0
- package/src/components/login/i18n/en.json +10 -0
- package/src/components/login/i18n/es.json +10 -0
- package/src/components/login/i18n/fr.json +10 -0
- package/src/components/login/i18n/pl.json +10 -0
- package/src/components/login/i18n/ru.json +10 -0
- package/src/components/login/i18n/uk.json +10 -0
- package/src/components/login/i18n.ts +29 -0
- package/src/components/login/icons.tsx +39 -0
- package/src/components/login/index.ts +11 -0
- package/src/components/login/notify.ts +48 -0
- package/src/components/login/provider.tsx +57 -0
- package/src/components/login/screen.tsx +178 -0
- package/src/components/login/terms.tsx +75 -0
- package/src/components/login/types.ts +30 -0
- package/src/components/nav/consts.local.ts +64 -0
- package/src/components/nav/index.ts +1 -0
- package/src/components/nav/layout.tsx +184 -26
- package/src/components/nav/mobile.tsx +165 -0
- package/src/components/nav/side.tsx +43 -27
- package/src/components/nav/top.tsx +44 -22
- package/src/components/nav/types.ts +65 -2
- package/src/components/nav/viewport.ts +16 -0
- package/src/components/panel-app/component.tsx +9 -1
- package/src/components/picker/color-picker.tsx +15 -0
- package/src/components/picker/consts.local.ts +267 -0
- package/src/components/picker/dot.tsx +21 -0
- package/src/components/picker/grid.tsx +138 -0
- package/src/components/picker/i18n/be.json +60 -0
- package/src/components/picker/i18n/de.json +60 -0
- package/src/components/picker/i18n/en.json +60 -0
- package/src/components/picker/i18n/es.json +60 -0
- package/src/components/picker/i18n/fr.json +60 -0
- package/src/components/picker/i18n/pl.json +60 -0
- package/src/components/picker/i18n/ru.json +60 -0
- package/src/components/picker/i18n/uk.json +60 -0
- package/src/components/picker/i18n.ts +19 -0
- package/src/components/picker/icon-color-picker.tsx +25 -0
- package/src/components/picker/icon-picker.tsx +13 -0
- package/src/components/picker/index.ts +11 -0
- package/src/components/picker/panel.tsx +61 -0
- package/src/components/picker/root.tsx +81 -0
- package/src/components/picker/roving.ts +70 -0
- package/src/components/picker/surface.tsx +62 -0
- package/src/components/picker/swatches/custom.tsx +110 -0
- package/src/components/picker/swatches.tsx +67 -0
- package/src/components/picker/text.ts +46 -0
- package/src/components/picker/tile.tsx +35 -0
- package/src/components/picker/translate.ts +15 -0
- package/src/components/picker/trigger.tsx +54 -0
- package/src/components/picker/types.local.ts +154 -0
- package/src/components/picker/types.ts +125 -0
- package/src/components/scheme/consts.local.ts +13 -0
- package/src/components/scheme/hook.ts +62 -0
- package/src/components/scheme/index.ts +4 -0
- package/src/components/scheme/toggle.tsx +32 -0
- package/src/components/scheme/types.ts +23 -0
- package/src/components/socket/i18n/be.json +9 -0
- package/src/components/socket/i18n/de.json +9 -0
- package/src/components/socket/i18n/en.json +9 -0
- package/src/components/socket/i18n/es.json +9 -0
- package/src/components/socket/i18n/fr.json +9 -0
- package/src/components/socket/i18n/pl.json +9 -0
- package/src/components/socket/i18n/ru.json +9 -0
- package/src/components/socket/i18n/uk.json +9 -0
- package/src/components/socket/i18n.ts +19 -0
- package/src/components/socket/index.ts +2 -0
- package/src/components/socket/reload-dialog.tsx +61 -0
- package/src/components/status.tsx +1 -1
- package/src/components/text.tsx +2 -14
- package/src/components/toaster.tsx +65 -0
- package/src/components/uploader/consts.local.ts +7 -0
- package/src/components/uploader/image.tsx +2 -6
- package/src/consent/component.tsx +84 -0
- package/src/consent/consts.local.ts +10 -0
- package/src/consent/consts.ts +1 -0
- package/src/consent/geo.ts +26 -0
- package/src/consent/index.ts +24 -0
- package/src/consent/language.ts +12 -0
- package/src/consent/menu-widget.tsx +22 -0
- package/src/consent/presence.ts +45 -0
- package/src/consent/service.ts +75 -0
- package/src/consent/translate.ts +31 -0
- package/src/consent/types.local.ts +6 -0
- package/src/consent/types.ts +43 -0
- package/src/context.ts +12 -0
- package/src/editor/component.tsx +172 -0
- package/src/editor/consts.local.ts +62 -0
- package/src/editor/index.ts +2 -0
- package/src/editor/types.ts +24 -0
- package/src/entrypoints.ts +5 -0
- package/src/exports.ts +6 -5
- package/src/index.ts +1 -1
- package/src/main.tsx +2 -6
- package/src/permission/i18n/be.json +13 -0
- package/src/permission/i18n/de.json +13 -0
- package/src/permission/i18n/en.json +13 -0
- package/src/permission/i18n/es.json +13 -0
- package/src/permission/i18n/fr.json +13 -0
- package/src/permission/i18n/pl.json +13 -0
- package/src/permission/i18n/ru.json +13 -0
- package/src/permission/i18n/uk.json +13 -0
- package/src/permission/i18n.ts +13 -0
- package/src/permission/index.ts +27 -0
- package/src/permission/toast.tsx +20 -0
- package/src/permission/types.ts +5 -0
- package/src/picker/icons/consts.ts +309 -0
- package/src/picker/icons/types.ts +18 -0
- package/src/picker/icons.ts +70 -0
- package/src/picker/index.ts +11 -0
- package/src/picker/utils/color/types.ts +37 -0
- package/src/picker/utils/color.ts +119 -0
- package/src/picker/vocabulary/consts.ts +347 -0
- package/src/picker/vocabulary/types.ts +72 -0
- package/src/picker/vocabulary.ts +111 -0
- package/src/scheme/consts.ts +8 -0
- package/src/scheme/index.ts +3 -0
- package/src/scheme/scheme.ts +66 -0
- package/src/scheme/types.ts +30 -0
- package/src/types.ts +19 -2
- package/tests/consent-language.spec.ts +31 -0
- package/tests/consent.spec.ts +112 -0
- package/tests/context.ts +4 -0
- package/tests/editor.spec.ts +58 -0
- package/tests/harness/editor.tsx +32 -0
- package/tests/harness/index.html +1 -0
- package/tests/harness/lazy-screen.tsx +9 -0
- package/tests/harness/mount.tsx +370 -29
- package/tests/harness/picker.tsx +110 -0
- package/tests/lazy.spec.ts +104 -0
- package/tests/login-provider.spec.ts +114 -0
- package/tests/login.spec.ts +447 -0
- package/tests/nav.spec.ts +449 -3
- package/tests/package-boundary.spec.ts +19 -0
- package/tests/picker-shots.spec.ts +174 -0
- package/tests/picker-vocabulary.spec.ts +217 -0
- package/tests/picker.spec.ts +333 -0
- package/tests/scheme.spec.ts +149 -0
- package/tests/smoke.spec.ts +2 -2
- package/tests/socket-dialog.spec.ts +154 -0
- package/tests/toaster.spec.ts +59 -0
- package/zz-tw.d.mts +2 -0
- package/zz-tw.d.mts.map +1 -0
- package/build/.gitkeep +0 -0
- package/src/auth/modules.ts +0 -5
- package/src/modules.ts +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/components/link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../src/components/link.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAkB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;IACrG,MAAM,CAAC,GAAG,YAAY,EAAE,CAAA;IACxB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAE5B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE;QAC/B,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAChB,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAA2B,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YACnG,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,EAAE,CAAA;YAC9B,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;IAEjB,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI;QACxB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACT,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;YAClC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,CAAC,WAAW,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAA;IACxE,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAA;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAA;IAEpD,OAAO,YACL,IAAI,EAAE,IAAI,IAAI,SAAS,EACvB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,iDAAiD,EACjD,MAAM,IAAI,aAAa,EACvB,SAAS,CACV,EACD,KAAK,EAAE,KAAK,YACZ,KAAK,IAAI,QAAQ,GAAK,CAAA;AAC1B,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { BasicConfig, BasicContext } from '@owlmeans/context';
|
|
2
|
+
import type { LoginScreenSetup } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Give this context the shadcn sign-in screen, with the application's own logo and copy on it.
|
|
5
|
+
*
|
|
6
|
+
* Registered on the login SERVICE rather than imported by a dispatcher, because a relying party
|
|
7
|
+
* (`web-oidc-rp`, `mui-oidc-rp`) must never depend on a UI family — that edge would make every
|
|
8
|
+
* relying party pick one, and there are two. The dispatcher asks `login().screen()` and falls back
|
|
9
|
+
* to the plain screen `@owlmeans/client-auth` ships, so an app that never calls this still gets a
|
|
10
|
+
* chooser rather than an auto-redirect.
|
|
11
|
+
*
|
|
12
|
+
* Idempotent: called by `makeContext` with defaults, and again by the app with its own logo.
|
|
13
|
+
*/
|
|
14
|
+
export declare const appendLoginScreen: <C extends BasicConfig, T extends BasicContext<C>>(ctx: T, setup?: LoginScreenSetup) => T;
|
|
15
|
+
//# sourceMappingURL=append.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"append.d.ts","sourceRoot":"","sources":["../../../src/components/login/append.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,WAAW,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,OAC3E,CAAC,UAAU,gBAAgB,KAC/B,CAaF,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ensureLoginService } from '@owlmeans/client-auth/login';
|
|
2
|
+
import { LocalizedLoginScreen } from './screen.js';
|
|
3
|
+
import { notifyPopupBlocked } from './notify.js';
|
|
4
|
+
/**
|
|
5
|
+
* Give this context the shadcn sign-in screen, with the application's own logo and copy on it.
|
|
6
|
+
*
|
|
7
|
+
* Registered on the login SERVICE rather than imported by a dispatcher, because a relying party
|
|
8
|
+
* (`web-oidc-rp`, `mui-oidc-rp`) must never depend on a UI family — that edge would make every
|
|
9
|
+
* relying party pick one, and there are two. The dispatcher asks `login().screen()` and falls back
|
|
10
|
+
* to the plain screen `@owlmeans/client-auth` ships, so an app that never calls this still gets a
|
|
11
|
+
* chooser rather than an auto-redirect.
|
|
12
|
+
*
|
|
13
|
+
* Idempotent: called by `makeContext` with defaults, and again by the app with its own logo.
|
|
14
|
+
*/
|
|
15
|
+
export const appendLoginScreen = (ctx, setup) => {
|
|
16
|
+
const service = ensureLoginService(ctx);
|
|
17
|
+
service.registerScreen(setup == null || Object.keys(setup).length < 1
|
|
18
|
+
? LocalizedLoginScreen
|
|
19
|
+
: props => LocalizedLoginScreen({ ...setup, ...props }));
|
|
20
|
+
// A header "Log in"/"Log out" control has no screen to show `loginAttemptError` on, so it gets
|
|
21
|
+
// a toast instead — registered here so an app that already calls this for the screen needs no
|
|
22
|
+
// second call to get it.
|
|
23
|
+
service.registerNotifier(notifyPopupBlocked(ctx.cfg));
|
|
24
|
+
return ctx;
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=append.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"append.js","sourceRoot":"","sources":["../../../src/components/login/append.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAGhE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAGhD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,GAAM,EAAE,KAAwB,EAC7B,EAAE;IACL,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACvC,OAAO,CAAC,cAAc,CACpB,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;QAC5C,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAC1D,CAAA;IACD,+FAA+F;IAC/F,8FAA8F;IAC9F,yBAAyB;IACzB,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAA8B,CAAC,CAAC,CAAA;IAEhF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../../../src/components/login/consts.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,eAAO,MAAM,YAAY,yBAAyB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/components/login/consts.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,MAAM,CAAC,MAAM,YAAY,GAAG,sBAAsB,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const AUTH_RESOURCE = "auth";
|
|
2
|
+
export declare const POPUP_BLOCKED_FALLBACK = "The sign-in window was blocked. Click the blocked pop-up icon in your browser's address bar to open it.";
|
|
3
|
+
export declare const VARIANT: Record<string, 'default' | 'outline' | 'link'>;
|
|
4
|
+
//# sourceMappingURL=consts.local.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.d.ts","sourceRoot":"","sources":["../../../src/components/login/consts.local.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,SAAS,CAAA;AAEnC,eAAO,MAAM,sBAAsB,4GACwE,CAAA;AAE3G,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAIlE,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const AUTH_RESOURCE = 'auth';
|
|
2
|
+
export const POPUP_BLOCKED_FALLBACK = "The sign-in window was blocked. Click the blocked pop-up icon in your browser's address bar to open it.";
|
|
3
|
+
export const VARIANT = {
|
|
4
|
+
primary: 'default',
|
|
5
|
+
secondary: 'outline',
|
|
6
|
+
link: 'link',
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=consts.local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.local.js","sourceRoot":"","sources":["../../../src/components/login/consts.local.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAA;AAEnC,MAAM,CAAC,MAAM,sBAAsB,GACjC,yGAAyG,CAAA;AAE3G,MAAM,CAAC,MAAM,OAAO,GAAmD;IACrE,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,MAAM;CACb,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
import type { LoginCreditProps } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The line at the bottom of a sign-in screen.
|
|
5
|
+
*
|
|
6
|
+
* Two halves, and each may stand alone: the platform credit, and who the application belongs to.
|
|
7
|
+
* A generated application shows both — "Powered by OwlMeans" beside its own product and
|
|
8
|
+
* organization — and an application whose owner has paid to drop the credit shows only the second.
|
|
9
|
+
* Rendering nothing at all is also correct, for an app that is neither.
|
|
10
|
+
*/
|
|
11
|
+
export declare const LoginCredit: FC<LoginCreditProps>;
|
|
12
|
+
//# sourceMappingURL=credit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credit.d.ts","sourceRoot":"","sources":["../../../src/components/login/credit.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAG/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAmB5C,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '../../@/lib/utils.js';
|
|
3
|
+
import { OWLMEANS_URL } from './consts.js';
|
|
4
|
+
/**
|
|
5
|
+
* The line at the bottom of a sign-in screen.
|
|
6
|
+
*
|
|
7
|
+
* Two halves, and each may stand alone: the platform credit, and who the application belongs to.
|
|
8
|
+
* A generated application shows both — "Powered by OwlMeans" beside its own product and
|
|
9
|
+
* organization — and an application whose owner has paid to drop the credit shows only the second.
|
|
10
|
+
* Rendering nothing at all is also correct, for an app that is neither.
|
|
11
|
+
*/
|
|
12
|
+
export const LoginCredit = ({ model, translate, className }) => {
|
|
13
|
+
if (!model.poweredBy && model.line == null) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
return _jsxs("p", { "data-login-credit": true, className: cn('text-center text-xs text-muted-foreground', className), children: [model.poweredBy && _jsx("a", { "data-login-powered": true, href: OWLMEANS_URL, target: "_blank", rel: "noopener noreferrer", className: "underline-offset-4 hover:text-foreground hover:underline", children: translate('login.credit.powered', 'Powered by OwlMeans') }), model.poweredBy && model.line != null && _jsx("span", { "aria-hidden": "true", children: " \u00B7 " }), model.line != null && _jsx("span", { children: model.line })] });
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=credit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credit.js","sourceRoot":"","sources":["../../../src/components/login/credit.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAA;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAyB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;IACnF,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,wCAEL,SAAS,EAAE,EAAE,CAAC,2CAA2C,EAAE,SAAS,CAAC,aAEpE,KAAK,CAAC,SAAS,IAAI,wCAElB,IAAI,EAAE,YAAY,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAC7D,SAAS,EAAC,0DAA0D,YAEnE,SAAS,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,GACvD,EACH,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,8BAAkB,MAAM,yBAAW,EAC5E,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,yBAAO,KAAK,CAAC,IAAI,GAAQ,IAC9C,CAAA;AACN,CAAC,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"login": {
|
|
3
|
+
"provider": {
|
|
4
|
+
"title": "Уваход у {{product}}",
|
|
5
|
+
"top": "Гэтую праграму размяшчае {{operator}} ад імя {{product}}. Для ўваходу выкарыстоўваецца {{provider}}.",
|
|
6
|
+
"inline": "Уваход забяспечвае {{provider}} ад імя {{product}}.",
|
|
7
|
+
"more": "Падрабязней"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"login": {
|
|
3
|
+
"provider": {
|
|
4
|
+
"title": "Bei {{product}} anmelden",
|
|
5
|
+
"top": "Diese App wird von {{operator}} im Auftrag von {{product}} gehostet. Sie melden sich mit {{provider}} an.",
|
|
6
|
+
"inline": "Die Anmeldung stellt {{provider}} im Auftrag von {{product}} bereit.",
|
|
7
|
+
"more": "Weitere Informationen"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"login": {
|
|
3
|
+
"provider": {
|
|
4
|
+
"title": "Sign in to {{product}}",
|
|
5
|
+
"top": "This app is hosted by {{operator}} on behalf of {{product}}. You sign in with {{provider}}.",
|
|
6
|
+
"inline": "Sign-in is provided by {{provider}} on behalf of {{product}}.",
|
|
7
|
+
"more": "More information"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"login": {
|
|
3
|
+
"provider": {
|
|
4
|
+
"title": "Iniciar sesión en {{product}}",
|
|
5
|
+
"top": "Esta aplicación está alojada por {{operator}} en nombre de {{product}}. Inicias sesión con {{provider}}.",
|
|
6
|
+
"inline": "El inicio de sesión lo proporciona {{provider}} en nombre de {{product}}.",
|
|
7
|
+
"more": "Más información"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"login": {
|
|
3
|
+
"provider": {
|
|
4
|
+
"title": "Connexion à {{product}}",
|
|
5
|
+
"top": "Cette application est hébergée par {{operator}} pour le compte de {{product}}. Vous vous connectez avec {{provider}}.",
|
|
6
|
+
"inline": "La connexion est assurée par {{provider}} pour le compte de {{product}}.",
|
|
7
|
+
"more": "En savoir plus"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"login": {
|
|
3
|
+
"provider": {
|
|
4
|
+
"title": "Zaloguj się do {{product}}",
|
|
5
|
+
"top": "Ta aplikacja jest hostowana przez {{operator}} w imieniu {{product}}. Logujesz się przez {{provider}}.",
|
|
6
|
+
"inline": "Logowanie zapewnia {{provider}} w imieniu {{product}}.",
|
|
7
|
+
"more": "Więcej informacji"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"login": {
|
|
3
|
+
"provider": {
|
|
4
|
+
"title": "Вход в {{product}}",
|
|
5
|
+
"top": "Это приложение размещает {{operator}} от имени {{product}}. Для входа используется {{provider}}.",
|
|
6
|
+
"inline": "Вход обеспечивает {{provider}} от имени {{product}}.",
|
|
7
|
+
"more": "Подробнее"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"login": {
|
|
3
|
+
"provider": {
|
|
4
|
+
"title": "Вхід до {{product}}",
|
|
5
|
+
"top": "Цей застосунок розміщує {{operator}} від імені {{product}}. Для входу використовується {{provider}}.",
|
|
6
|
+
"inline": "Вхід забезпечує {{provider}} від імені {{product}}.",
|
|
7
|
+
"more": "Докладніше"
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../src/components/login/i18n.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { i18nHelper } from '@owlmeans/i18n';
|
|
2
|
+
import en from './i18n/en.json' with { type: 'json' };
|
|
3
|
+
import pl from './i18n/pl.json' with { type: 'json' };
|
|
4
|
+
import ru from './i18n/ru.json' with { type: 'json' };
|
|
5
|
+
import be from './i18n/be.json' with { type: 'json' };
|
|
6
|
+
import uk from './i18n/uk.json' with { type: 'json' };
|
|
7
|
+
import es from './i18n/es.json' with { type: 'json' };
|
|
8
|
+
import de from './i18n/de.json' with { type: 'json' };
|
|
9
|
+
import fr from './i18n/fr.json' with { type: 'json' };
|
|
10
|
+
import { AUTH_RESOURCE } from './consts.local.js';
|
|
11
|
+
/**
|
|
12
|
+
* The provider disclosure's copy (`login.provider.*`), registered into the SAME `auth` library
|
|
13
|
+
* resource `@owlmeans/client-auth/login` fills with the rest of the sign-in screen.
|
|
14
|
+
*
|
|
15
|
+
* `_addI18n` pushes and the bundles are merged deeply by tier and priority, so this chunk lands
|
|
16
|
+
* beside `login.title`/`login.terms.*` rather than replacing the `login` subtree. It lives here, not
|
|
17
|
+
* in `client-auth`, because only this package renders the disclosure — and `client-auth` is pinned
|
|
18
|
+
* exactly by applications that must not be pulled into a release for it.
|
|
19
|
+
*/
|
|
20
|
+
i18nHelper.addI18nLib('en', AUTH_RESOURCE, en);
|
|
21
|
+
i18nHelper.addI18nLib('pl', AUTH_RESOURCE, pl);
|
|
22
|
+
i18nHelper.addI18nLib('ru', AUTH_RESOURCE, ru);
|
|
23
|
+
i18nHelper.addI18nLib('be', AUTH_RESOURCE, be);
|
|
24
|
+
i18nHelper.addI18nLib('uk', AUTH_RESOURCE, uk);
|
|
25
|
+
i18nHelper.addI18nLib('es', AUTH_RESOURCE, es);
|
|
26
|
+
i18nHelper.addI18nLib('de', AUTH_RESOURCE, de);
|
|
27
|
+
i18nHelper.addI18nLib('fr', AUTH_RESOURCE, fr);
|
|
28
|
+
//# sourceMappingURL=i18n.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../../src/components/login/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,MAAM,gBAAgB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;;;;;;;GAQG;AACH,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;AAC9C,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;AAC9C,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;AAC9C,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;AAC9C,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;AAC9C,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;AAC9C,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA;AAC9C,UAAU,CAAC,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* A method's icon, resolved from a NAME.
|
|
4
|
+
*
|
|
5
|
+
* The registry carries names rather than components so that `@owlmeans/client-auth` and
|
|
6
|
+
* `@owlmeans/oidc` — neither of which may depend on an icon library — can describe a method
|
|
7
|
+
* completely. An unknown name renders the generic sign-in glyph rather than nothing, because a row
|
|
8
|
+
* of buttons where one has no icon reads as a rendering fault.
|
|
9
|
+
*/
|
|
10
|
+
export declare const LoginMethodIcon: FC<{
|
|
11
|
+
name?: string;
|
|
12
|
+
className?: string;
|
|
13
|
+
}>;
|
|
14
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/components/login/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AA0B/B;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAIrE,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { KeyRound, LogIn, Mail, ShieldCheck, Wallet } from 'lucide-react';
|
|
3
|
+
/**
|
|
4
|
+
* Google's mark, inline.
|
|
5
|
+
*
|
|
6
|
+
* Lucide carries no brand marks, and a remote image on a sign-in screen is a third-party request
|
|
7
|
+
* before consent. Four paths cost less than either.
|
|
8
|
+
*/
|
|
9
|
+
const GoogleMark = ({ className }) => (_jsxs("svg", { className: className, viewBox: "0 0 48 48", "aria-hidden": "true", role: "presentation", children: [_jsx("path", { fill: "#EA4335", d: "M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z" }), _jsx("path", { fill: "#4285F4", d: "M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z" }), _jsx("path", { fill: "#FBBC05", d: "M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z" }), _jsx("path", { fill: "#34A853", d: "M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z" })] }));
|
|
10
|
+
const ICONS = {
|
|
11
|
+
google: GoogleMark,
|
|
12
|
+
key: KeyRound,
|
|
13
|
+
shield: ShieldCheck,
|
|
14
|
+
wallet: Wallet,
|
|
15
|
+
mail: Mail,
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* A method's icon, resolved from a NAME.
|
|
19
|
+
*
|
|
20
|
+
* The registry carries names rather than components so that `@owlmeans/client-auth` and
|
|
21
|
+
* `@owlmeans/oidc` — neither of which may depend on an icon library — can describe a method
|
|
22
|
+
* completely. An unknown name renders the generic sign-in glyph rather than nothing, because a row
|
|
23
|
+
* of buttons where one has no icon reads as a rendering fault.
|
|
24
|
+
*/
|
|
25
|
+
export const LoginMethodIcon = ({ name, className }) => {
|
|
26
|
+
const Icon = (name != null ? ICONS[name] : undefined) ?? LogIn;
|
|
27
|
+
return _jsx(Icon, { className: className });
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/components/login/icons.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAEzE;;;;;GAKG;AACH,MAAM,UAAU,GAA+B,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAChE,eAAK,SAAS,EAAE,SAAS,EAAE,OAAO,EAAC,WAAW,iBAAa,MAAM,EAAC,IAAI,EAAC,cAAc,aACnF,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,yIAAyI,GAAG,EACnK,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,2HAA2H,GAAG,EACrJ,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,kIAAkI,GAAG,EAC5J,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,6IAA6I,GAAG,IACnK,CACP,CAAA;AAED,MAAM,KAAK,GAA+C;IACxD,MAAM,EAAE,UAAU;IAClB,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,IAAI;CACX,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAA8C,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IAChG,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,CAAA;IAE9D,OAAO,KAAC,IAAI,IAAC,SAAS,EAAE,SAAS,GAAI,CAAA;AACvC,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import './i18n.js';
|
|
2
|
+
export * from './screen.js';
|
|
3
|
+
export * from './terms.js';
|
|
4
|
+
export type * from './types.js';
|
|
5
|
+
export * from './credit.js';
|
|
6
|
+
export * from './provider.js';
|
|
7
|
+
export * from './consts.js';
|
|
8
|
+
export * from './icons.js';
|
|
9
|
+
export * from './append.js';
|
|
10
|
+
export * from './notify.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAA;AAElB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,mBAAmB,YAAY,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import './i18n.js';
|
|
2
|
+
export * from './screen.js';
|
|
3
|
+
export * from './terms.js';
|
|
4
|
+
export * from './credit.js';
|
|
5
|
+
export * from './provider.js';
|
|
6
|
+
export * from './consts.js';
|
|
7
|
+
export * from './icons.js';
|
|
8
|
+
export * from './append.js';
|
|
9
|
+
export * from './notify.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,CAAA;AAElB,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAE1B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ClientConfig } from '@owlmeans/client-context';
|
|
2
|
+
import { type LoginNotifier } from '@owlmeans/client-auth/login';
|
|
3
|
+
/**
|
|
4
|
+
* Tell the user a login/logout attempt was silently blocked, when nothing else on screen will.
|
|
5
|
+
*
|
|
6
|
+
* The sign-in SCREEN already renders `loginAttemptError` inline (`LoginScreen`'s `attemptError`),
|
|
7
|
+
* but a header "Log in"/"Log out" control has no screen at all — `useLogin`/`useLogout` fire the
|
|
8
|
+
* facade and forget the result. This is the one place that outcome reaches a person for that
|
|
9
|
+
* control, and it is registered on the login service itself (see `appendLoginScreen`) so an
|
|
10
|
+
* application gets it merely by calling the function it already calls, not by writing new code.
|
|
11
|
+
*
|
|
12
|
+
* Reacts to `Blocked` only: every other outcome either did something (`Handled`, `Redirected`),
|
|
13
|
+
* is reported elsewhere (`Orphaned`, inside the surrogate window), or has nowhere useful to point a
|
|
14
|
+
* toast at (`Gesture`, `Failed`, `Passed`) — a toast that fires on every click would train a user to
|
|
15
|
+
* dismiss it rather than read it.
|
|
16
|
+
*/
|
|
17
|
+
export declare const notifyPopupBlocked: (cfg: ClientConfig) => LoginNotifier;
|
|
18
|
+
//# sourceMappingURL=notify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.d.ts","sourceRoot":"","sources":["../../../src/components/login/notify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAwB9E;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB,QAAS,YAAY,KAAG,aAKtD,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { LIB_NAMESPACE, i18nHelper } from '@owlmeans/i18n';
|
|
2
|
+
import { i18nInstanceHelper } from '@owlmeans/client-i18n/utils';
|
|
3
|
+
import { toast } from 'sonner';
|
|
4
|
+
import { LoginOutcome } from '@owlmeans/client-auth/login';
|
|
5
|
+
import { AUTH_RESOURCE, POPUP_BLOCKED_FALLBACK } from './consts.local.js';
|
|
6
|
+
/**
|
|
7
|
+
* Translate an `auth`-library key with no mounted component to read it through.
|
|
8
|
+
*
|
|
9
|
+
* The toast this feeds fires from `registerNotifier`, which is not a render — there is no
|
|
10
|
+
* `useI18nLib('auth')` around to have already pulled the bundle into this app's i18next instance.
|
|
11
|
+
* `initI18nResource` is the same one-shot loader that hook calls internally: whichever of the two
|
|
12
|
+
* runs first merges the bundle into the SAME instance `getI18nInstance` returns (one per app,
|
|
13
|
+
* memoized), and the other later gets `null` back and no-ops with the bundle already there.
|
|
14
|
+
*/
|
|
15
|
+
const translateAuth = (cfg, key, fallback) => {
|
|
16
|
+
const i18n = i18nInstanceHelper.getI18nInstance(cfg);
|
|
17
|
+
const resources = i18nHelper.initI18nResource(i18n.language, AUTH_RESOURCE, LIB_NAMESPACE);
|
|
18
|
+
resources?.forEach(resource => i18n.addResourceBundle(i18n.language, LIB_NAMESPACE, { [AUTH_RESOURCE]: resource.data }, true, true));
|
|
19
|
+
return i18n.t(`${AUTH_RESOURCE}.${key}`, { ns: LIB_NAMESPACE, defaultValue: fallback });
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Tell the user a login/logout attempt was silently blocked, when nothing else on screen will.
|
|
23
|
+
*
|
|
24
|
+
* The sign-in SCREEN already renders `loginAttemptError` inline (`LoginScreen`'s `attemptError`),
|
|
25
|
+
* but a header "Log in"/"Log out" control has no screen at all — `useLogin`/`useLogout` fire the
|
|
26
|
+
* facade and forget the result. This is the one place that outcome reaches a person for that
|
|
27
|
+
* control, and it is registered on the login service itself (see `appendLoginScreen`) so an
|
|
28
|
+
* application gets it merely by calling the function it already calls, not by writing new code.
|
|
29
|
+
*
|
|
30
|
+
* Reacts to `Blocked` only: every other outcome either did something (`Handled`, `Redirected`),
|
|
31
|
+
* is reported elsewhere (`Orphaned`, inside the surrogate window), or has nowhere useful to point a
|
|
32
|
+
* toast at (`Gesture`, `Failed`, `Passed`) — a toast that fires on every click would train a user to
|
|
33
|
+
* dismiss it rather than read it.
|
|
34
|
+
*/
|
|
35
|
+
export const notifyPopupBlocked = (cfg) => outcome => {
|
|
36
|
+
if (outcome !== LoginOutcome.Blocked) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
toast.warning(translateAuth(cfg, 'login.error.blocked', POPUP_BLOCKED_FALLBACK));
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=notify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../src/components/login/notify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAEhE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAsB,MAAM,6BAA6B,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAEzE;;;;;;;;GAQG;AACH,MAAM,aAAa,GAAG,CAAC,GAAiB,EAAE,GAAW,EAAE,QAAgB,EAAU,EAAE;IACjF,MAAM,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,SAAS,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;IAC1F,SAAS,EAAE,OAAO,CAChB,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAChC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAC7E,CACF,CAAA;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,IAAI,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAA;AACzF,CAAC,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAiB,EAAiB,EAAE,CAAC,OAAO,CAAC,EAAE;IAChF,IAAI,OAAO,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;QACrC,OAAM;IACR,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,CAAC,CAAA;AAClF,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
import type { LoginProviderNoteProps } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Who signs the person in, and on whose behalf.
|
|
5
|
+
*
|
|
6
|
+
* A sign-in page that a third party runs for an application has to say so wherever the
|
|
7
|
+
* application's own name appears: the relationship in a sentence, and a "More information" link.
|
|
8
|
+
* Without it the page is a stranger's form wearing someone else's name — which is precisely what a
|
|
9
|
+
* browser's impersonation heuristics look for.
|
|
10
|
+
*
|
|
11
|
+
* `top` is a full-width strip the screen renders as its FIRST child, above the card (the platform's
|
|
12
|
+
* own hosts); `inline` is one line inside the card, under the methods (an owner's own domain).
|
|
13
|
+
* A `role="note"` block, never `header`/`nav`: it is a disclosure, not page chrome, and a screen
|
|
14
|
+
* that grew a landmark here would be read as a second banner.
|
|
15
|
+
*
|
|
16
|
+
* The names are put in after translation (`loginProviderHelper.fill`), so word order stays the
|
|
17
|
+
* translator's and nothing but plain text ever reaches the markup.
|
|
18
|
+
*/
|
|
19
|
+
export declare const LoginProviderNote: FC<LoginProviderNoteProps>;
|
|
20
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/components/login/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAI/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAExD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAkCxD,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ShieldCheck } from 'lucide-react';
|
|
3
|
+
import { cn } from '../../@/lib/utils.js';
|
|
4
|
+
import { loginProviderHelper } from '@owlmeans/client-panel/auth';
|
|
5
|
+
/**
|
|
6
|
+
* Who signs the person in, and on whose behalf.
|
|
7
|
+
*
|
|
8
|
+
* A sign-in page that a third party runs for an application has to say so wherever the
|
|
9
|
+
* application's own name appears: the relationship in a sentence, and a "More information" link.
|
|
10
|
+
* Without it the page is a stranger's form wearing someone else's name — which is precisely what a
|
|
11
|
+
* browser's impersonation heuristics look for.
|
|
12
|
+
*
|
|
13
|
+
* `top` is a full-width strip the screen renders as its FIRST child, above the card (the platform's
|
|
14
|
+
* own hosts); `inline` is one line inside the card, under the methods (an owner's own domain).
|
|
15
|
+
* A `role="note"` block, never `header`/`nav`: it is a disclosure, not page chrome, and a screen
|
|
16
|
+
* that grew a landmark here would be read as a second banner.
|
|
17
|
+
*
|
|
18
|
+
* The names are put in after translation (`loginProviderHelper.fill`), so word order stays the
|
|
19
|
+
* translator's and nothing but plain text ever reaches the markup.
|
|
20
|
+
*/
|
|
21
|
+
export const LoginProviderNote = ({ model, translate, className }) => {
|
|
22
|
+
const top = model.placement === 'top';
|
|
23
|
+
const sentence = top
|
|
24
|
+
? translate('login.provider.top', 'This app is hosted by {{operator}} on behalf of {{product}}. You sign in with {{provider}}.')
|
|
25
|
+
: translate('login.provider.inline', 'Sign-in is provided by {{provider}} on behalf of {{product}}.');
|
|
26
|
+
return _jsxs("div", { role: "note", "data-login-provider": true, "data-placement": model.placement,
|
|
27
|
+
// The strip's full width is inline for the same reason the screen's height is: it is the part
|
|
28
|
+
// of the layout a stale `@source` scan must never be able to drop.
|
|
29
|
+
style: top ? { width: '100%', boxSizing: 'border-box' } : undefined, className: cn('flex items-start justify-center gap-2 text-center text-xs text-muted-foreground', top && 'border-b bg-muted px-4 py-2', className), children: [_jsx(ShieldCheck, { "aria-hidden": "true", className: "size-4 shrink-0" }), _jsxs("span", { children: [loginProviderHelper.fill(sentence, model), model.info != null && _jsxs(_Fragment, { children: [' ', _jsx("a", { "data-login-provider-info": true, href: model.info, target: "_blank", rel: "noopener noreferrer", className: "underline underline-offset-2 hover:text-foreground", children: translate('login.provider.more', 'More information') })] })] })] });
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/components/login/provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAA;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAGjE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA+B,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;IAC/F,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,KAAK,KAAK,CAAA;IACrC,MAAM,QAAQ,GAAG,GAAG;QAClB,CAAC,CAAC,SAAS,CAAC,oBAAoB,EAAE,6FAA6F,CAAC;QAChI,CAAC,CAAC,SAAS,CAAC,uBAAuB,EAAE,+DAA+D,CAAC,CAAA;IAEvG,OAAO,eACL,IAAI,EAAC,MAAM,iDAEK,KAAK,CAAC,SAAS;QAC/B,8FAA8F;QAC9F,mEAAmE;QACnE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,EACnE,SAAS,EAAE,EAAE,CACX,iFAAiF,EACjF,GAAG,IAAI,6BAA6B,EACpC,SAAS,CACV,aAED,KAAC,WAAW,mBAAa,MAAM,EAAC,SAAS,EAAC,iBAAiB,GAAG,EAC9D,2BACG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EACzC,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,8BACpB,GAAG,EACJ,8CAEE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,EAC3D,SAAS,EAAC,oDAAoD,YAE7D,SAAS,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,GACnD,IACH,IACE,IACH,CAAA;AACR,CAAC,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type LoginScreenProps } from '@owlmeans/client-auth/login';
|
|
3
|
+
import './i18n.js';
|
|
4
|
+
/**
|
|
5
|
+
* The sign-in screen: which identity provider, confirmed against which documents.
|
|
6
|
+
*
|
|
7
|
+
* It never starts anything by itself. Every flow leaves from a click — which is the requirement,
|
|
8
|
+
* and also what makes framed sign-in work at all, because the window a framed application has to
|
|
9
|
+
* open can only be opened inside a user gesture.
|
|
10
|
+
*
|
|
11
|
+
* Pure with respect to i18n: `translate` is a prop. {@link LocalizedLoginScreen} is the wrapper
|
|
12
|
+
* that binds it to the app's own resources, so an application mounted without an i18n provider can
|
|
13
|
+
* still render this one with a resolver of its own.
|
|
14
|
+
*/
|
|
15
|
+
export declare const LoginScreen: FC<LoginScreenProps>;
|
|
16
|
+
/**
|
|
17
|
+
* {@link LoginScreen} bound to the application's own translations.
|
|
18
|
+
*
|
|
19
|
+
* The split exists because the house rule is that a reusable component takes `translate` as a prop
|
|
20
|
+
* and never reaches for a context — but the ordinary case is an app that has one, and making every
|
|
21
|
+
* app write the resolver would guarantee some of them ship English.
|
|
22
|
+
*/
|
|
23
|
+
export declare const LocalizedLoginScreen: FC<LoginScreenProps>;
|
|
24
|
+
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../src/components/login/screen.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,EAAE,MAAM,OAAO,CAAA;AAO/C,OAAO,EAAoB,KAAK,gBAAgB,EAAqB,MAAM,6BAA6B,CAAA;AAMxG,OAAO,WAAW,CAAA;AAElB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAqI5C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,EAAE,CAAC,gBAAgB,CASrD,CAAA"}
|