@lo-tek/interfaces 0.0.0 → 0.38.0
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/CHANGELOG.md +3389 -0
- package/LICENSE +21 -0
- package/README.md +129 -1
- package/agent/astro.md +400 -0
- package/agent/bundles.md +429 -0
- package/agent/datastar.md +409 -0
- package/agent/html.md +388 -0
- package/agent/react.md +440 -0
- package/agent/templates.md +472 -0
- package/core/lotek-core.wasm +0 -0
- package/core/lotek.wasm +0 -0
- package/dist/cli.d.ts +12 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +14 -0
- package/dist/cli.js.map +1 -0
- package/dist/components/css/accordion/accordion.d.ts +37 -0
- package/dist/components/css/accordion/accordion.d.ts.map +1 -0
- package/dist/components/css/accordion/accordion.js +31 -0
- package/dist/components/css/accordion/accordion.js.map +1 -0
- package/dist/components/css/alert/alert.d.ts +35 -0
- package/dist/components/css/alert/alert.d.ts.map +1 -0
- package/dist/components/css/alert/alert.js +29 -0
- package/dist/components/css/alert/alert.js.map +1 -0
- package/dist/components/css/avatar/avatar.d.ts +40 -0
- package/dist/components/css/avatar/avatar.d.ts.map +1 -0
- package/dist/components/css/avatar/avatar.js +30 -0
- package/dist/components/css/avatar/avatar.js.map +1 -0
- package/dist/components/css/badge/badge.d.ts +24 -0
- package/dist/components/css/badge/badge.d.ts.map +1 -0
- package/dist/components/css/badge/badge.js +24 -0
- package/dist/components/css/badge/badge.js.map +1 -0
- package/dist/components/css/breadcrumbs/breadcrumbs.d.ts +26 -0
- package/dist/components/css/breadcrumbs/breadcrumbs.d.ts.map +1 -0
- package/dist/components/css/breadcrumbs/breadcrumbs.js +24 -0
- package/dist/components/css/breadcrumbs/breadcrumbs.js.map +1 -0
- package/dist/components/css/button/button.d.ts +26 -0
- package/dist/components/css/button/button.d.ts.map +1 -0
- package/dist/components/css/button/button.js +25 -0
- package/dist/components/css/button/button.js.map +1 -0
- package/dist/components/css/card/card.d.ts +36 -0
- package/dist/components/css/card/card.d.ts.map +1 -0
- package/dist/components/css/card/card.js +28 -0
- package/dist/components/css/card/card.js.map +1 -0
- package/dist/components/css/checkbox/checkbox.d.ts +32 -0
- package/dist/components/css/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/css/checkbox/checkbox.js +27 -0
- package/dist/components/css/checkbox/checkbox.js.map +1 -0
- package/dist/components/css/divider/divider.d.ts +29 -0
- package/dist/components/css/divider/divider.d.ts.map +1 -0
- package/dist/components/css/divider/divider.js +23 -0
- package/dist/components/css/divider/divider.js.map +1 -0
- package/dist/components/css/error-text/error-text.d.ts +24 -0
- package/dist/components/css/error-text/error-text.d.ts.map +1 -0
- package/dist/components/css/error-text/error-text.js +18 -0
- package/dist/components/css/error-text/error-text.js.map +1 -0
- package/dist/components/css/fieldset/fieldset.d.ts +55 -0
- package/dist/components/css/fieldset/fieldset.d.ts.map +1 -0
- package/dist/components/css/fieldset/fieldset.js +39 -0
- package/dist/components/css/fieldset/fieldset.js.map +1 -0
- package/dist/components/css/file-upload/file-upload.d.ts +41 -0
- package/dist/components/css/file-upload/file-upload.d.ts.map +1 -0
- package/dist/components/css/file-upload/file-upload.js +32 -0
- package/dist/components/css/file-upload/file-upload.js.map +1 -0
- package/dist/components/css/heading/heading.d.ts +29 -0
- package/dist/components/css/heading/heading.d.ts.map +1 -0
- package/dist/components/css/heading/heading.js +23 -0
- package/dist/components/css/heading/heading.js.map +1 -0
- package/dist/components/css/help-text/help-text.d.ts +24 -0
- package/dist/components/css/help-text/help-text.d.ts.map +1 -0
- package/dist/components/css/help-text/help-text.js +23 -0
- package/dist/components/css/help-text/help-text.js.map +1 -0
- package/dist/components/css/icon/icon.d.ts +34 -0
- package/dist/components/css/icon/icon.d.ts.map +1 -0
- package/dist/components/css/icon/icon.js +25 -0
- package/dist/components/css/icon/icon.js.map +1 -0
- package/dist/components/css/input/input.d.ts +40 -0
- package/dist/components/css/input/input.d.ts.map +1 -0
- package/dist/components/css/input/input.js +45 -0
- package/dist/components/css/input/input.js.map +1 -0
- package/dist/components/css/label/label.d.ts +33 -0
- package/dist/components/css/label/label.d.ts.map +1 -0
- package/dist/components/css/label/label.js +23 -0
- package/dist/components/css/label/label.js.map +1 -0
- package/dist/components/css/link/link.d.ts +28 -0
- package/dist/components/css/link/link.d.ts.map +1 -0
- package/dist/components/css/link/link.js +20 -0
- package/dist/components/css/link/link.js.map +1 -0
- package/dist/components/css/list/list.d.ts +31 -0
- package/dist/components/css/list/list.d.ts.map +1 -0
- package/dist/components/css/list/list.js +25 -0
- package/dist/components/css/list/list.js.map +1 -0
- package/dist/components/css/pagination/pagination.d.ts +27 -0
- package/dist/components/css/pagination/pagination.d.ts.map +1 -0
- package/dist/components/css/pagination/pagination.js +25 -0
- package/dist/components/css/pagination/pagination.js.map +1 -0
- package/dist/components/css/paragraph/paragraph.d.ts +36 -0
- package/dist/components/css/paragraph/paragraph.d.ts.map +1 -0
- package/dist/components/css/paragraph/paragraph.js +26 -0
- package/dist/components/css/paragraph/paragraph.js.map +1 -0
- package/dist/components/css/progress/progress.d.ts +53 -0
- package/dist/components/css/progress/progress.d.ts.map +1 -0
- package/dist/components/css/progress/progress.js +38 -0
- package/dist/components/css/progress/progress.js.map +1 -0
- package/dist/components/css/radio/radio.d.ts +32 -0
- package/dist/components/css/radio/radio.d.ts.map +1 -0
- package/dist/components/css/radio/radio.js +27 -0
- package/dist/components/css/radio/radio.js.map +1 -0
- package/dist/components/css/search/search.d.ts +34 -0
- package/dist/components/css/search/search.d.ts.map +1 -0
- package/dist/components/css/search/search.js +32 -0
- package/dist/components/css/search/search.js.map +1 -0
- package/dist/components/css/select/select.d.ts +40 -0
- package/dist/components/css/select/select.d.ts.map +1 -0
- package/dist/components/css/select/select.js +31 -0
- package/dist/components/css/select/select.js.map +1 -0
- package/dist/components/css/shared.d.ts +90 -0
- package/dist/components/css/shared.d.ts.map +1 -0
- package/dist/components/css/shared.js +167 -0
- package/dist/components/css/shared.js.map +1 -0
- package/dist/components/css/skeleton/skeleton.d.ts +29 -0
- package/dist/components/css/skeleton/skeleton.d.ts.map +1 -0
- package/dist/components/css/skeleton/skeleton.js +23 -0
- package/dist/components/css/skeleton/skeleton.js.map +1 -0
- package/dist/components/css/skip-link/skip-link.d.ts +18 -0
- package/dist/components/css/skip-link/skip-link.d.ts.map +1 -0
- package/dist/components/css/skip-link/skip-link.js +16 -0
- package/dist/components/css/skip-link/skip-link.js.map +1 -0
- package/dist/components/css/spinner/spinner.d.ts +33 -0
- package/dist/components/css/spinner/spinner.d.ts.map +1 -0
- package/dist/components/css/spinner/spinner.js +25 -0
- package/dist/components/css/spinner/spinner.js.map +1 -0
- package/dist/components/css/sr-only/sr-only.d.ts +17 -0
- package/dist/components/css/sr-only/sr-only.d.ts.map +1 -0
- package/dist/components/css/sr-only/sr-only.js +15 -0
- package/dist/components/css/sr-only/sr-only.js.map +1 -0
- package/dist/components/css/switch/switch.d.ts +37 -0
- package/dist/components/css/switch/switch.d.ts.map +1 -0
- package/dist/components/css/switch/switch.js +29 -0
- package/dist/components/css/switch/switch.js.map +1 -0
- package/dist/components/css/table/table.d.ts +76 -0
- package/dist/components/css/table/table.d.ts.map +1 -0
- package/dist/components/css/table/table.js +59 -0
- package/dist/components/css/table/table.js.map +1 -0
- package/dist/components/css/tag/tag.d.ts +35 -0
- package/dist/components/css/tag/tag.d.ts.map +1 -0
- package/dist/components/css/tag/tag.js +27 -0
- package/dist/components/css/tag/tag.js.map +1 -0
- package/dist/components/css/textarea/textarea.d.ts +23 -0
- package/dist/components/css/textarea/textarea.d.ts.map +1 -0
- package/dist/components/css/textarea/textarea.js +18 -0
- package/dist/components/css/textarea/textarea.js.map +1 -0
- package/dist/components/css/toggle-group/toggle-group.d.ts +31 -0
- package/dist/components/css/toggle-group/toggle-group.d.ts.map +1 -0
- package/dist/components/css/toggle-group/toggle-group.js +29 -0
- package/dist/components/css/toggle-group/toggle-group.js.map +1 -0
- package/dist/components/css/tooltip/tooltip.d.ts +31 -0
- package/dist/components/css/tooltip/tooltip.d.ts.map +1 -0
- package/dist/components/css/tooltip/tooltip.js +29 -0
- package/dist/components/css/tooltip/tooltip.js.map +1 -0
- package/dist/components/default-texts.d.ts +41 -0
- package/dist/components/default-texts.d.ts.map +1 -0
- package/dist/components/default-texts.js +41 -0
- package/dist/components/default-texts.js.map +1 -0
- package/dist/components/events.d.ts +77 -0
- package/dist/components/events.d.ts.map +1 -0
- package/dist/components/events.js +3 -0
- package/dist/components/events.js.map +1 -0
- package/dist/components/frame/dialog/dialog.d.ts +122 -0
- package/dist/components/frame/dialog/dialog.d.ts.map +1 -0
- package/dist/components/frame/dialog/dialog.js +112 -0
- package/dist/components/frame/dialog/dialog.js.map +1 -0
- package/dist/components/frame/dialog/lt-dialog.d.ts +104 -0
- package/dist/components/frame/dialog/lt-dialog.d.ts.map +1 -0
- package/dist/components/frame/dialog/lt-dialog.js +434 -0
- package/dist/components/frame/dialog/lt-dialog.js.map +1 -0
- package/dist/components/frame/error-summary/error-summary.d.ts +53 -0
- package/dist/components/frame/error-summary/error-summary.d.ts.map +1 -0
- package/dist/components/frame/error-summary/error-summary.js +54 -0
- package/dist/components/frame/error-summary/error-summary.js.map +1 -0
- package/dist/components/frame/error-summary/lt-error-summary.d.ts +93 -0
- package/dist/components/frame/error-summary/lt-error-summary.d.ts.map +1 -0
- package/dist/components/frame/error-summary/lt-error-summary.js +408 -0
- package/dist/components/frame/error-summary/lt-error-summary.js.map +1 -0
- package/dist/components/frame/field/field-core.d.ts +92 -0
- package/dist/components/frame/field/field-core.d.ts.map +1 -0
- package/dist/components/frame/field/field-core.js +63 -0
- package/dist/components/frame/field/field-core.js.map +1 -0
- package/dist/components/frame/field/lt-field.d.ts +173 -0
- package/dist/components/frame/field/lt-field.d.ts.map +1 -0
- package/dist/components/frame/field/lt-field.js +600 -0
- package/dist/components/frame/field/lt-field.js.map +1 -0
- package/dist/components/frame/popover/lt-popover.d.ts +136 -0
- package/dist/components/frame/popover/lt-popover.d.ts.map +1 -0
- package/dist/components/frame/popover/lt-popover.js +520 -0
- package/dist/components/frame/popover/lt-popover.js.map +1 -0
- package/dist/components/frame/popover/popover.d.ts +49 -0
- package/dist/components/frame/popover/popover.d.ts.map +1 -0
- package/dist/components/frame/popover/popover.js +64 -0
- package/dist/components/frame/popover/popover.js.map +1 -0
- package/dist/components/frame/session-timeout/lt-session-timeout.d.ts +198 -0
- package/dist/components/frame/session-timeout/lt-session-timeout.d.ts.map +1 -0
- package/dist/components/frame/session-timeout/lt-session-timeout.js +610 -0
- package/dist/components/frame/session-timeout/lt-session-timeout.js.map +1 -0
- package/dist/components/frame/session-timeout/session-timeout.d.ts +113 -0
- package/dist/components/frame/session-timeout/session-timeout.d.ts.map +1 -0
- package/dist/components/frame/session-timeout/session-timeout.js +101 -0
- package/dist/components/frame/session-timeout/session-timeout.js.map +1 -0
- package/dist/components/frame/suggestion/lt-suggestion.d.ts +367 -0
- package/dist/components/frame/suggestion/lt-suggestion.d.ts.map +1 -0
- package/dist/components/frame/suggestion/lt-suggestion.js +1171 -0
- package/dist/components/frame/suggestion/lt-suggestion.js.map +1 -0
- package/dist/components/frame/suggestion/suggestion.d.ts +143 -0
- package/dist/components/frame/suggestion/suggestion.d.ts.map +1 -0
- package/dist/components/frame/suggestion/suggestion.js +127 -0
- package/dist/components/frame/suggestion/suggestion.js.map +1 -0
- package/dist/components/frame/tabs/lt-tabs.d.ts +426 -0
- package/dist/components/frame/tabs/lt-tabs.d.ts.map +1 -0
- package/dist/components/frame/tabs/lt-tabs.js +1265 -0
- package/dist/components/frame/tabs/lt-tabs.js.map +1 -0
- package/dist/components/frame/tabs/tabs.d.ts +112 -0
- package/dist/components/frame/tabs/tabs.d.ts.map +1 -0
- package/dist/components/frame/tabs/tabs.js +107 -0
- package/dist/components/frame/tabs/tabs.js.map +1 -0
- package/dist/components/host-element.d.ts +184 -0
- package/dist/components/host-element.d.ts.map +1 -0
- package/dist/components/host-element.js +440 -0
- package/dist/components/host-element.js.map +1 -0
- package/dist/components/standalone/connection-status/connection-status.d.ts +32 -0
- package/dist/components/standalone/connection-status/connection-status.d.ts.map +1 -0
- package/dist/components/standalone/connection-status/connection-status.js +26 -0
- package/dist/components/standalone/connection-status/connection-status.js.map +1 -0
- package/dist/components/standalone/connection-status/lt-connection-status.d.ts +86 -0
- package/dist/components/standalone/connection-status/lt-connection-status.d.ts.map +1 -0
- package/dist/components/standalone/connection-status/lt-connection-status.js +240 -0
- package/dist/components/standalone/connection-status/lt-connection-status.js.map +1 -0
- package/dist/components/standalone/toast/lt-toast.d.ts +109 -0
- package/dist/components/standalone/toast/lt-toast.d.ts.map +1 -0
- package/dist/components/standalone/toast/lt-toast.js +256 -0
- package/dist/components/standalone/toast/lt-toast.js.map +1 -0
- package/dist/components/standalone/toast/toast.d.ts +52 -0
- package/dist/components/standalone/toast/toast.d.ts.map +1 -0
- package/dist/components/standalone/toast/toast.js +42 -0
- package/dist/components/standalone/toast/toast.js.map +1 -0
- package/dist/diagnostics/core.d.ts +171 -0
- package/dist/diagnostics/core.d.ts.map +1 -0
- package/dist/diagnostics/core.js +84 -0
- package/dist/diagnostics/core.js.map +1 -0
- package/dist/diagnostics/default-core.d.ts +10 -0
- package/dist/diagnostics/default-core.d.ts.map +1 -0
- package/dist/diagnostics/default-core.js +72 -0
- package/dist/diagnostics/default-core.js.map +1 -0
- package/dist/diagnostics/index.d.ts +84 -0
- package/dist/diagnostics/index.d.ts.map +1 -0
- package/dist/diagnostics/index.js +106 -0
- package/dist/diagnostics/index.js.map +1 -0
- package/dist/dom.d.ts +55 -0
- package/dist/dom.d.ts.map +1 -0
- package/dist/dom.js +162 -0
- package/dist/dom.js.map +1 -0
- package/dist/index.d.ts +97 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -0
- package/dist/jsx/react.d.ts +180 -0
- package/dist/jsx/react.d.ts.map +1 -0
- package/dist/jsx/react.js +2 -0
- package/dist/jsx/react.js.map +1 -0
- package/dist/lotek.css +3617 -0
- package/dist/lt.d.ts +325 -0
- package/dist/lt.d.ts.map +1 -0
- package/dist/lt.js +183 -0
- package/dist/lt.js.map +1 -0
- package/dist/react.d.ts +494 -0
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +296 -0
- package/dist/react.js.map +1 -0
- package/dist/register.d.ts +17 -0
- package/dist/register.d.ts.map +1 -0
- package/dist/register.js +35 -0
- package/dist/register.js.map +1 -0
- package/dist/tokens/color.d.ts +43 -0
- package/dist/tokens/color.d.ts.map +1 -0
- package/dist/tokens/color.js +123 -0
- package/dist/tokens/color.js.map +1 -0
- package/dist/tokens/contract.d.ts +18 -0
- package/dist/tokens/contract.d.ts.map +1 -0
- package/dist/tokens/contract.js +18 -0
- package/dist/tokens/contract.js.map +1 -0
- package/dist/tokens/matrix-cells.d.ts +30 -0
- package/dist/tokens/matrix-cells.d.ts.map +1 -0
- package/dist/tokens/matrix-cells.js +273 -0
- package/dist/tokens/matrix-cells.js.map +1 -0
- package/dist/tokens/matrix.d.ts +18 -0
- package/dist/tokens/matrix.d.ts.map +1 -0
- package/dist/tokens/matrix.js +21 -0
- package/dist/tokens/matrix.js.map +1 -0
- package/dist/tokens/theme-check.d.ts +42 -0
- package/dist/tokens/theme-check.d.ts.map +1 -0
- package/dist/tokens/theme-check.js +10 -0
- package/dist/tokens/theme-check.js.map +1 -0
- package/dist/tokens/theme.d.ts +94 -0
- package/dist/tokens/theme.d.ts.map +1 -0
- package/dist/tokens/theme.js +14 -0
- package/dist/tokens/theme.js.map +1 -0
- package/dist/tokens/tokens.d.ts +122 -0
- package/dist/tokens/tokens.d.ts.map +1 -0
- package/dist/tokens/tokens.js +158 -0
- package/dist/tokens/tokens.js.map +1 -0
- package/dist/vocabulary/classes.d.ts +3 -0
- package/dist/vocabulary/classes.d.ts.map +1 -0
- package/dist/vocabulary/classes.js +1354 -0
- package/dist/vocabulary/classes.js.map +1 -0
- package/dist/vocabulary/elements.d.ts +3 -0
- package/dist/vocabulary/elements.d.ts.map +1 -0
- package/dist/vocabulary/elements.js +490 -0
- package/dist/vocabulary/elements.js.map +1 -0
- package/dist/vocabulary/types.d.ts +229 -0
- package/dist/vocabulary/types.d.ts.map +1 -0
- package/dist/vocabulary/types.js +11 -0
- package/dist/vocabulary/types.js.map +1 -0
- package/dist/wasi-host.d.ts +24 -0
- package/dist/wasi-host.d.ts.map +1 -0
- package/dist/wasi-host.js +140 -0
- package/dist/wasi-host.js.map +1 -0
- package/live-templates.xml +63 -0
- package/manifest/files.json +373 -0
- package/manifest/manifest.json +5090 -0
- package/manifest/manifest.schema.json +586 -0
- package/package.json +399 -5
- package/src/cli.ts +21 -0
- package/src/components/css/accordion/accordion.css +102 -0
- package/src/components/css/accordion/accordion.ts +50 -0
- package/src/components/css/alert/alert.css +53 -0
- package/src/components/css/alert/alert.ts +48 -0
- package/src/components/css/avatar/avatar.css +96 -0
- package/src/components/css/avatar/avatar.ts +57 -0
- package/src/components/css/badge/badge.css +42 -0
- package/src/components/css/badge/badge.ts +43 -0
- package/src/components/css/breadcrumbs/breadcrumbs.css +62 -0
- package/src/components/css/breadcrumbs/breadcrumbs.ts +30 -0
- package/src/components/css/button/button.css +128 -0
- package/src/components/css/button/button.ts +44 -0
- package/src/components/css/card/card.css +65 -0
- package/src/components/css/card/card.ts +50 -0
- package/src/components/css/checkbox/checkbox.css +114 -0
- package/src/components/css/checkbox/checkbox.ts +50 -0
- package/src/components/css/divider/divider.css +38 -0
- package/src/components/css/divider/divider.ts +42 -0
- package/src/components/css/error-text/error-text.css +21 -0
- package/src/components/css/error-text/error-text.ts +37 -0
- package/src/components/css/fieldset/fieldset.css +72 -0
- package/src/components/css/fieldset/fieldset.ts +87 -0
- package/src/components/css/file-upload/file-upload.css +102 -0
- package/src/components/css/file-upload/file-upload.ts +65 -0
- package/src/components/css/heading/heading.css +33 -0
- package/src/components/css/heading/heading.ts +42 -0
- package/src/components/css/help-text/help-text.css +24 -0
- package/src/components/css/help-text/help-text.ts +42 -0
- package/src/components/css/icon/icon.css +20 -0
- package/src/components/css/icon/icon.ts +44 -0
- package/src/components/css/input/input.css +145 -0
- package/src/components/css/input/input.ts +77 -0
- package/src/components/css/label/label.css +42 -0
- package/src/components/css/label/label.ts +51 -0
- package/src/components/css/link/link.css +38 -0
- package/src/components/css/link/link.ts +38 -0
- package/src/components/css/list/list.css +53 -0
- package/src/components/css/list/list.ts +44 -0
- package/src/components/css/pagination/pagination.css +95 -0
- package/src/components/css/pagination/pagination.ts +33 -0
- package/src/components/css/paragraph/paragraph.css +31 -0
- package/src/components/css/paragraph/paragraph.ts +53 -0
- package/src/components/css/progress/progress.css +161 -0
- package/src/components/css/progress/progress.ts +78 -0
- package/src/components/css/radio/radio.css +94 -0
- package/src/components/css/radio/radio.ts +50 -0
- package/src/components/css/search/search.css +50 -0
- package/src/components/css/search/search.ts +56 -0
- package/src/components/css/select/select.css +321 -0
- package/src/components/css/select/select.ts +63 -0
- package/src/components/css/shared.ts +199 -0
- package/src/components/css/skeleton/skeleton.css +62 -0
- package/src/components/css/skeleton/skeleton.ts +43 -0
- package/src/components/css/skip-link/skip-link.css +41 -0
- package/src/components/css/skip-link/skip-link.ts +22 -0
- package/src/components/css/spinner/spinner.css +48 -0
- package/src/components/css/spinner/spinner.ts +48 -0
- package/src/components/css/sr-only/sr-only.css +16 -0
- package/src/components/css/sr-only/sr-only.ts +21 -0
- package/src/components/css/switch/switch.css +105 -0
- package/src/components/css/switch/switch.ts +50 -0
- package/src/components/css/table/table.css +159 -0
- package/src/components/css/table/table.ts +107 -0
- package/src/components/css/tag/tag.css +58 -0
- package/src/components/css/tag/tag.ts +49 -0
- package/src/components/css/textarea/textarea.css +83 -0
- package/src/components/css/textarea/textarea.ts +40 -0
- package/src/components/css/toggle-group/toggle-group.css +92 -0
- package/src/components/css/toggle-group/toggle-group.ts +37 -0
- package/src/components/css/tooltip/tooltip.css +89 -0
- package/src/components/css/tooltip/tooltip.ts +37 -0
- package/src/components/default-texts.ts +41 -0
- package/src/components/events.ts +68 -0
- package/src/components/frame/dialog/dialog.css +306 -0
- package/src/components/frame/dialog/dialog.ts +166 -0
- package/src/components/frame/dialog/lt-dialog.ts +513 -0
- package/src/components/frame/error-summary/error-summary.css +47 -0
- package/src/components/frame/error-summary/error-summary.ts +90 -0
- package/src/components/frame/error-summary/lt-error-summary.ts +458 -0
- package/src/components/frame/field/field-core.ts +152 -0
- package/src/components/frame/field/field.css +17 -0
- package/src/components/frame/field/lt-field.ts +790 -0
- package/src/components/frame/popover/lt-popover.ts +586 -0
- package/src/components/frame/popover/popover.css +50 -0
- package/src/components/frame/popover/popover.ts +102 -0
- package/src/components/frame/session-timeout/lt-session-timeout.ts +715 -0
- package/src/components/frame/session-timeout/session-timeout.css +50 -0
- package/src/components/frame/session-timeout/session-timeout.ts +156 -0
- package/src/components/frame/suggestion/lt-suggestion.ts +1379 -0
- package/src/components/frame/suggestion/suggestion.css +132 -0
- package/src/components/frame/suggestion/suggestion.ts +172 -0
- package/src/components/frame/tabs/lt-tabs.ts +1395 -0
- package/src/components/frame/tabs/tabs.css +128 -0
- package/src/components/frame/tabs/tabs.ts +188 -0
- package/src/components/host-element.ts +493 -0
- package/src/components/standalone/connection-status/connection-status.css +41 -0
- package/src/components/standalone/connection-status/connection-status.ts +47 -0
- package/src/components/standalone/connection-status/lt-connection-status.ts +268 -0
- package/src/components/standalone/toast/lt-toast.ts +300 -0
- package/src/components/standalone/toast/toast.css +78 -0
- package/src/components/standalone/toast/toast.ts +70 -0
- package/src/diagnostics/core.ts +227 -0
- package/src/diagnostics/default-core.ts +81 -0
- package/src/diagnostics/index.ts +150 -0
- package/src/dom.ts +185 -0
- package/src/index.ts +218 -0
- package/src/jsx/react.ts +212 -0
- package/src/lt.ts +192 -0
- package/src/react.ts +411 -0
- package/src/register.ts +43 -0
- package/src/tailwind/tailwind.css +169 -0
- package/src/tokens/boundary.css +104 -0
- package/src/tokens/color-contract.json +231 -0
- package/src/tokens/color.ts +150 -0
- package/src/tokens/contract.ts +24 -0
- package/src/tokens/matrix-cells.ts +375 -0
- package/src/tokens/matrix.ts +32 -0
- package/src/tokens/theme-check.ts +51 -0
- package/src/tokens/theme.ts +104 -0
- package/src/tokens/tokens.css +569 -0
- package/src/tokens/tokens.ts +223 -0
- package/src/vocabulary/classes.ts +1356 -0
- package/src/vocabulary/elements.ts +492 -0
- package/src/vocabulary/types.ts +228 -0
- package/src/wasi-host.ts +155 -0
- package/web-types.json +800 -0
|
@@ -0,0 +1,492 @@
|
|
|
1
|
+
// Generated by interfaces/scripts/generate-vocabulary.ts. Do not edit.
|
|
2
|
+
import type { Elements } from "./types.js"
|
|
3
|
+
|
|
4
|
+
export const elements: Elements = {
|
|
5
|
+
"lt-field": {
|
|
6
|
+
"link": "https://lo-tek.sobernetics.no/components/field/",
|
|
7
|
+
"description": "Wires label, field, help text and error text together: sets `aria-describedby` and `aria-invalid` on the control and an id on the help text and the error text. Never writes an id on the control: the template writes `for` and `id`, or wraps the field in the label. The field is invalid when the error text is there without `hidden`. Exists for markup produced without JavaScript. When the markup is produced with JavaScript, use `lt.field()` instead.",
|
|
8
|
+
"attributes": {
|
|
9
|
+
"disabled": {
|
|
10
|
+
"type": "flag",
|
|
11
|
+
"description": "The control is disabled."
|
|
12
|
+
},
|
|
13
|
+
"optional": {
|
|
14
|
+
"type": "flag",
|
|
15
|
+
"description": "The field is optional, and the label says so."
|
|
16
|
+
},
|
|
17
|
+
"described-by": {
|
|
18
|
+
"type": "text",
|
|
19
|
+
"description": "Extra ids to include in `aria-describedby`, separated by spaces."
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"parts": {
|
|
23
|
+
"label": {
|
|
24
|
+
"selector": "label",
|
|
25
|
+
"description": "The label. When it is outside the element, it is wired with `for` to the control's id.",
|
|
26
|
+
"content": "text"
|
|
27
|
+
},
|
|
28
|
+
"control": {
|
|
29
|
+
"selector": "input:not([type='hidden']), textarea, select",
|
|
30
|
+
"description": "The control the field wires: an `<input>`, `<textarea>` or `<select>` with its `<option>`s. `type=\"hidden\"` does not count, and only the first one is wired. The template writes `for` on the label and `id` on the control, or wraps the control in the label.",
|
|
31
|
+
"content": "none",
|
|
32
|
+
"unique": true,
|
|
33
|
+
"stableId": true,
|
|
34
|
+
"name": {
|
|
35
|
+
"after": "label"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"help": {
|
|
39
|
+
"selector": ".lt-help-text",
|
|
40
|
+
"description": "The help text, which is read out together with the control.",
|
|
41
|
+
"content": "text",
|
|
42
|
+
"unique": true,
|
|
43
|
+
"optional": true
|
|
44
|
+
},
|
|
45
|
+
"error": {
|
|
46
|
+
"selector": ".lt-error-text",
|
|
47
|
+
"description": "The error text, which is shown and read out when the field is invalid.",
|
|
48
|
+
"content": "text",
|
|
49
|
+
"unique": true,
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"removed": {
|
|
54
|
+
"invalid": "The field is invalid when the error text, `.lt-error-text`, is visible, or when the server has written `aria-invalid` on the control. In Datastar: `data-attr:hidden=\"!$invalid\"` on the error text.",
|
|
55
|
+
"required-marker": "The required marker is `data-required` on `<label>`, and then shows without JavaScript too.",
|
|
56
|
+
"control-id": "Write `id` on the control and `for` on the label in the template. The component never writes an id on the control."
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"lt-tabs": {
|
|
60
|
+
"link": "https://lo-tek.sobernetics.no/components/tabs/",
|
|
61
|
+
"description": "Tab list. The tabs are links to the panels in an `.lt-tabs__list`, so without JavaScript the list is a table of contents; `role=\"tab\"` on anything other than a link is not a tab. The component adds keyboard and focus handling, sets roles and wiring, gives each panel its tab's name, makes only the selected panel a tab stop, and hides the rest with `hidden=\"until-found\"`, so find in page and links into a panel reach them. Each selection is written to the URL. It never writes an id on a tab or a panel. When the page loads, the selected tab is the one with `aria-selected` from the server, otherwise the one the URL points to, otherwise the first one not hidden with `hidden`. Under `server-controlled` the URL never selects.",
|
|
62
|
+
"attributes": {
|
|
63
|
+
"server-controlled": {
|
|
64
|
+
"type": "flag",
|
|
65
|
+
"description": "The server decides which tab is selected. The component does not put the user's selection back after an update from the server, and the URL selects no tab. A click and find in page select the tab until the server responds."
|
|
66
|
+
},
|
|
67
|
+
"activation": {
|
|
68
|
+
"type": "values",
|
|
69
|
+
"values": [
|
|
70
|
+
"manual",
|
|
71
|
+
"automatic"
|
|
72
|
+
],
|
|
73
|
+
"description": "What the arrow keys do. By default they select the tab at once."
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"parts": {
|
|
77
|
+
"list": {
|
|
78
|
+
"selector": "[role='tablist'], .lt-tabs__list",
|
|
79
|
+
"description": "The tab list, a `<ul>` where each `<li>` gets `role=\"presentation\"`. It needs a name, such as `aria-label`. When the server has written `role=\"tab\"` on the links, the list can also hold other links.",
|
|
80
|
+
"content": "free",
|
|
81
|
+
"unique": true,
|
|
82
|
+
"name": {}
|
|
83
|
+
},
|
|
84
|
+
"tab": {
|
|
85
|
+
"selector": "a[role='tab'][href^='#'], .lt-tabs__list a[href^='#']:not([role])",
|
|
86
|
+
"description": "A tab: a link to its panel, `<a href=\"#attachments\">`. The component writes `aria-controls` from `href`. `role=\"tab\"` on something that is not a link is not a tab.",
|
|
87
|
+
"content": "text",
|
|
88
|
+
"multiple": true
|
|
89
|
+
},
|
|
90
|
+
"panel": {
|
|
91
|
+
"selector": "[role='tabpanel'], .lt-tabs__panel:not([role])",
|
|
92
|
+
"description": "The content of one tab, with the id the link points to. The panel has the same name as the tab: the heading at the top of the panel is the name when it says the same as the tab.",
|
|
93
|
+
"content": "free",
|
|
94
|
+
"multiple": true,
|
|
95
|
+
"name": {
|
|
96
|
+
"component": true
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"events": {
|
|
101
|
+
"tab-select": {
|
|
102
|
+
"detail": {
|
|
103
|
+
"index": "number"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"lt-error-summary": {
|
|
109
|
+
"link": "https://lo-tek.sobernetics.no/components/error-summary/",
|
|
110
|
+
"description": "Error summary. Moves focus to the box when it appears, and to the control when a link in the list is followed.",
|
|
111
|
+
"attributes": {
|
|
112
|
+
"data-autofocus": {
|
|
113
|
+
"type": "values",
|
|
114
|
+
"values": [
|
|
115
|
+
"false",
|
|
116
|
+
"true"
|
|
117
|
+
],
|
|
118
|
+
"description": "Whether focus moves to the box when it appears. On by default."
|
|
119
|
+
},
|
|
120
|
+
"hidden": {
|
|
121
|
+
"type": "flag",
|
|
122
|
+
"description": "The box is hidden. The server removes the attribute when the form fails, and the component then moves focus."
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"parts": {
|
|
126
|
+
"title": {
|
|
127
|
+
"selector": "h1, h2, h3, h4, h5, h6",
|
|
128
|
+
"description": "The heading in the box. The component gives it the title class.",
|
|
129
|
+
"content": "text"
|
|
130
|
+
},
|
|
131
|
+
"link": {
|
|
132
|
+
"selector": "li a[href^='#']",
|
|
133
|
+
"description": "A link to a field with an error, in a list item. `href` is `#` and the field's id.",
|
|
134
|
+
"content": "text",
|
|
135
|
+
"multiple": true
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"name": {
|
|
139
|
+
"after": "title",
|
|
140
|
+
"id": true
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"lt-popover": {
|
|
144
|
+
"link": "https://lo-tek.sobernetics.no/components/popover/",
|
|
145
|
+
"description": "A panel that hangs from a button and closes itself. A button and a panel with the class `lt-popover` and an id from the template; the component sets `popover` and `aria-controls` where the markup came without them, but never the id.",
|
|
146
|
+
"attributes": {
|
|
147
|
+
"open": {
|
|
148
|
+
"type": "flag",
|
|
149
|
+
"description": "The panel is open. The server can send the attribute to open the panel."
|
|
150
|
+
},
|
|
151
|
+
"placement": {
|
|
152
|
+
"type": "values",
|
|
153
|
+
"values": [
|
|
154
|
+
"bottom-start",
|
|
155
|
+
"bottom-end",
|
|
156
|
+
"top-start",
|
|
157
|
+
"top-end"
|
|
158
|
+
],
|
|
159
|
+
"description": "Which edge of the button the panel hangs from."
|
|
160
|
+
},
|
|
161
|
+
"server-controlled": {
|
|
162
|
+
"type": "flag",
|
|
163
|
+
"description": "The server decides whether the panel is open. The component does not put `open` back when an update from the server removes it."
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
"parts": {
|
|
167
|
+
"trigger": {
|
|
168
|
+
"selector": "button, [role='button']",
|
|
169
|
+
"description": "The button that opens and closes the panel: the one with `aria-controls` pointing at the panel's id, otherwise the first button outside the panel.",
|
|
170
|
+
"content": "text"
|
|
171
|
+
},
|
|
172
|
+
"panel": {
|
|
173
|
+
"selector": "[popover], .lt-popover",
|
|
174
|
+
"description": "The panel that opens: the element with `popover`, or the class. It needs an id from the server, which `aria-controls` on the button points to. The component never creates one, and without it the button cannot be wired to the panel.",
|
|
175
|
+
"content": "free",
|
|
176
|
+
"stableId": true
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"events": {
|
|
180
|
+
"popover-toggle": {
|
|
181
|
+
"detail": {
|
|
182
|
+
"open": "boolean"
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
"lt-suggestion": {
|
|
188
|
+
"link": "https://lo-tek.sobernetics.no/components/suggestion/",
|
|
189
|
+
"description": "Field with a suggestion list. A `<label for>`, an `<input id>`, an `.lt-suggestion__list` with `<li>` items and a `[role=status]` are enough; the component sets the roles and the wiring where the markup came without them, and gives the list and the options ids. The field never gets an id from the component. Filters as the user types, moves the highlight with the arrow keys and announces the number of matches.",
|
|
190
|
+
"attributes": {
|
|
191
|
+
"prefiltered": {
|
|
192
|
+
"type": "flag",
|
|
193
|
+
"description": "The app has already filtered the list, so the component leaves it as it is. Needed when the app's filter is something other than \"the text contains the search term\"."
|
|
194
|
+
},
|
|
195
|
+
"count-none": {
|
|
196
|
+
"type": "text",
|
|
197
|
+
"description": "The announcement for no matches. The default is \"No matches\"."
|
|
198
|
+
},
|
|
199
|
+
"count-zero": {
|
|
200
|
+
"type": "text",
|
|
201
|
+
"description": "The announcement in the plural form `zero`, for languages that have it. `{n}` is the number."
|
|
202
|
+
},
|
|
203
|
+
"count-one": {
|
|
204
|
+
"type": "text",
|
|
205
|
+
"description": "The announcement for one match. `{n}` is the number."
|
|
206
|
+
},
|
|
207
|
+
"count-two": {
|
|
208
|
+
"type": "text",
|
|
209
|
+
"description": "The announcement in the plural form `two`, for languages that have it. `{n}` is the number."
|
|
210
|
+
},
|
|
211
|
+
"count-few": {
|
|
212
|
+
"type": "text",
|
|
213
|
+
"description": "The announcement in the plural form `few`, for languages that have it. `{n}` is the number."
|
|
214
|
+
},
|
|
215
|
+
"count-many": {
|
|
216
|
+
"type": "text",
|
|
217
|
+
"description": "The announcement in the plural form `many`, for languages that have it. `{n}` is the number."
|
|
218
|
+
},
|
|
219
|
+
"count-other": {
|
|
220
|
+
"type": "text",
|
|
221
|
+
"description": "The announcement for every other count, and the fallback when a form is missing. `{n}` is the number."
|
|
222
|
+
},
|
|
223
|
+
"server-controlled": {
|
|
224
|
+
"type": "flag",
|
|
225
|
+
"description": "The server decides whether the list is expanded and which option is highlighted. The component does not put them back after an update from the server."
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
"parts": {
|
|
229
|
+
"control": {
|
|
230
|
+
"selector": "[role='combobox'], input:not([type='hidden'])",
|
|
231
|
+
"description": "The field the user types in: `role=\"combobox\"`, otherwise the first `<input>`. The template writes `for` on the label and `id` on the field, or wraps the field in the label.",
|
|
232
|
+
"content": "none",
|
|
233
|
+
"unique": true,
|
|
234
|
+
"stableId": true,
|
|
235
|
+
"name": {
|
|
236
|
+
"after": "label"
|
|
237
|
+
}
|
|
238
|
+
},
|
|
239
|
+
"list": {
|
|
240
|
+
"selector": "[role='listbox'], .lt-suggestion__list",
|
|
241
|
+
"description": "The list of suggestions. It sits in the top layer when it is open, `popover=\"manual\"`, and has the label as its name.",
|
|
242
|
+
"content": "parts",
|
|
243
|
+
"unique": true,
|
|
244
|
+
"name": {
|
|
245
|
+
"component": true
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
"option": {
|
|
249
|
+
"selector": "[role='option'], .lt-suggestion__list > li:not([role])",
|
|
250
|
+
"description": "One suggestion in the list: `role=\"option\"`, or an `<li>` without a role.",
|
|
251
|
+
"content": "text",
|
|
252
|
+
"multiple": true
|
|
253
|
+
},
|
|
254
|
+
"empty": {
|
|
255
|
+
"selector": ".lt-suggestion__empty",
|
|
256
|
+
"description": "The message shown when nothing matches.",
|
|
257
|
+
"content": "text",
|
|
258
|
+
"unique": true,
|
|
259
|
+
"optional": true
|
|
260
|
+
},
|
|
261
|
+
"status": {
|
|
262
|
+
"selector": "[role='status']",
|
|
263
|
+
"description": "The announcement of the number of matches. The element is left empty, and the component fills it.",
|
|
264
|
+
"content": "none"
|
|
265
|
+
},
|
|
266
|
+
"value": {
|
|
267
|
+
"selector": "input.lt-suggestion__value",
|
|
268
|
+
"description": "A hidden `<input>` that gets the `data-value` of the option the user chose. Without it, only the text in the field is submitted.",
|
|
269
|
+
"content": "none",
|
|
270
|
+
"unique": true,
|
|
271
|
+
"optional": true
|
|
272
|
+
},
|
|
273
|
+
"label": {
|
|
274
|
+
"selector": "label",
|
|
275
|
+
"description": "The label. The component writes `for` on it from the field's id when it does not wrap the field, and names the list after it.",
|
|
276
|
+
"content": "text",
|
|
277
|
+
"optional": true
|
|
278
|
+
}
|
|
279
|
+
},
|
|
280
|
+
"texts": {
|
|
281
|
+
"suggestionNone": {
|
|
282
|
+
"text": "No matches",
|
|
283
|
+
"replacedBy": [
|
|
284
|
+
"count-none",
|
|
285
|
+
"count-other"
|
|
286
|
+
]
|
|
287
|
+
},
|
|
288
|
+
"suggestionOne": {
|
|
289
|
+
"text": "One match",
|
|
290
|
+
"replacedBy": [
|
|
291
|
+
"count-one",
|
|
292
|
+
"count-other"
|
|
293
|
+
]
|
|
294
|
+
},
|
|
295
|
+
"suggestionOther": {
|
|
296
|
+
"text": "{n} matches",
|
|
297
|
+
"replacedBy": [
|
|
298
|
+
"count-other"
|
|
299
|
+
]
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"events": {
|
|
303
|
+
"suggestion-select": {
|
|
304
|
+
"detail": {
|
|
305
|
+
"value": "string",
|
|
306
|
+
"label": "string"
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
"lt-dialog": {
|
|
312
|
+
"link": "https://lo-tek.sobernetics.no/components/dialog/",
|
|
313
|
+
"description": "Makes a `<dialog class=\"lt-dialog\">` modal with `showModal()`, for servers that cannot call it themselves. The host around the dialog. Gives the dialog its name from the first heading outside `lt-dialog__body` when neither `aria-labelledby` nor `aria-label` is there.",
|
|
314
|
+
"attributes": {
|
|
315
|
+
"open": {
|
|
316
|
+
"type": "flag",
|
|
317
|
+
"description": "The dialog is open. For the server to show it, `open` must be on `<dialog>` too."
|
|
318
|
+
},
|
|
319
|
+
"server-controlled": {
|
|
320
|
+
"type": "flag",
|
|
321
|
+
"description": "When an update from the server removes `open` from `<dialog>` while the dialog is open, the component closes it and dispatches `dialog-toggle`, instead of putting `open` back."
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
"parts": {
|
|
325
|
+
"dialog": {
|
|
326
|
+
"selector": ":scope > dialog",
|
|
327
|
+
"description": "The `<dialog>` element, as a direct child of the host.",
|
|
328
|
+
"content": "free",
|
|
329
|
+
"unique": true,
|
|
330
|
+
"name": {
|
|
331
|
+
"after": "title"
|
|
332
|
+
}
|
|
333
|
+
},
|
|
334
|
+
"title": {
|
|
335
|
+
"selector": "h1, h2, h3, h4, h5, h6",
|
|
336
|
+
"description": "The title: what `aria-labelledby` points to, otherwise the first heading outside the body. With `aria-label` on `<dialog>` it is not needed.",
|
|
337
|
+
"content": "text",
|
|
338
|
+
"optional": true
|
|
339
|
+
},
|
|
340
|
+
"body": {
|
|
341
|
+
"selector": ".lt-dialog__body",
|
|
342
|
+
"description": "The body, which scrolls when the dialog gets too tall. A heading here does not become the title.",
|
|
343
|
+
"content": "free",
|
|
344
|
+
"unique": true,
|
|
345
|
+
"optional": true
|
|
346
|
+
}
|
|
347
|
+
},
|
|
348
|
+
"events": {
|
|
349
|
+
"dialog-toggle": {
|
|
350
|
+
"detail": {
|
|
351
|
+
"open": "boolean",
|
|
352
|
+
"returnValue": "string"
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
"lt-toast": {
|
|
358
|
+
"link": "https://lo-tek.sobernetics.no/components/toast/",
|
|
359
|
+
"description": "A queue of short messages in the corner of the screen. The messages are created from script with `show(text, { color, duration })`.",
|
|
360
|
+
"attributes": {
|
|
361
|
+
"duration": {
|
|
362
|
+
"type": "number",
|
|
363
|
+
"description": "Milliseconds before a message disappears. The default is 6000, and 0 keeps the messages."
|
|
364
|
+
},
|
|
365
|
+
"label": {
|
|
366
|
+
"type": "text",
|
|
367
|
+
"description": "Text that tells screen readers what the region is for."
|
|
368
|
+
},
|
|
369
|
+
"close-label": {
|
|
370
|
+
"type": "text",
|
|
371
|
+
"description": "What the close button in each message is called for screen readers. The default is \"Close message\"."
|
|
372
|
+
}
|
|
373
|
+
},
|
|
374
|
+
"parts": {},
|
|
375
|
+
"texts": {
|
|
376
|
+
"toastRegion": {
|
|
377
|
+
"text": "Notifications",
|
|
378
|
+
"replacedBy": [
|
|
379
|
+
"label",
|
|
380
|
+
"aria-label"
|
|
381
|
+
]
|
|
382
|
+
},
|
|
383
|
+
"toastClose": {
|
|
384
|
+
"text": "Close message",
|
|
385
|
+
"replacedBy": [
|
|
386
|
+
"close-label"
|
|
387
|
+
]
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
"events": {
|
|
391
|
+
"toast-dismiss": {}
|
|
392
|
+
}
|
|
393
|
+
},
|
|
394
|
+
"lt-session-timeout": {
|
|
395
|
+
"link": "https://lo-tek.sobernetics.no/components/session-timeout/",
|
|
396
|
+
"description": "Warns before a signed-in session expires, and counts down. The renderer writes the dialog and the text inside the element: a `<dialog>` with `.lt-session-timeout__count` for the number, `[role=status]` for the announcement and the buttons in a `<form method=\"dialog\">`. Dispatches `session-warn` when the dialog opens, `session-extend` when the user wants to continue, `session-logout` when the user logs out, `session-expired` when time is up, and `session-activity` at most once per `activity-interval` while the user is active, so the app can keep the server session alive.",
|
|
397
|
+
"attributes": {
|
|
398
|
+
"warn-at": {
|
|
399
|
+
"type": "number",
|
|
400
|
+
"description": "Seconds without activity before the warning appears."
|
|
401
|
+
},
|
|
402
|
+
"expires-at": {
|
|
403
|
+
"type": "number",
|
|
404
|
+
"description": "Seconds without activity before the session expires."
|
|
405
|
+
},
|
|
406
|
+
"activity-interval": {
|
|
407
|
+
"type": "number",
|
|
408
|
+
"description": "Seconds between each `session-activity` while the user is active. Default 60."
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
"parts": {
|
|
412
|
+
"dialog": {
|
|
413
|
+
"selector": "dialog",
|
|
414
|
+
"description": "The `<dialog>` element with the warning.",
|
|
415
|
+
"content": "free",
|
|
416
|
+
"unique": true,
|
|
417
|
+
"name": {
|
|
418
|
+
"after": "title"
|
|
419
|
+
}
|
|
420
|
+
},
|
|
421
|
+
"title": {
|
|
422
|
+
"selector": "h1, h2, h3, h4, h5, h6",
|
|
423
|
+
"description": "The heading in the dialog, which becomes its name when neither `aria-labelledby` nor `aria-label` is on `<dialog>`.",
|
|
424
|
+
"content": "text",
|
|
425
|
+
"optional": true
|
|
426
|
+
},
|
|
427
|
+
"text": {
|
|
428
|
+
"selector": ".lt-session-timeout__text",
|
|
429
|
+
"description": "The paragraph with the time remaining. The announcement is this paragraph with the number replaced.",
|
|
430
|
+
"content": "text",
|
|
431
|
+
"unique": true
|
|
432
|
+
},
|
|
433
|
+
"count": {
|
|
434
|
+
"selector": ".lt-session-timeout__count",
|
|
435
|
+
"description": "The number that counts down, inside the paragraph. The component fills it.",
|
|
436
|
+
"content": "none",
|
|
437
|
+
"unique": true
|
|
438
|
+
},
|
|
439
|
+
"status": {
|
|
440
|
+
"selector": "[role='status']",
|
|
441
|
+
"description": "The announcement. The element is left empty, and the component fills it.",
|
|
442
|
+
"content": "none"
|
|
443
|
+
},
|
|
444
|
+
"button": {
|
|
445
|
+
"selector": "form[method=\"dialog\" i] button",
|
|
446
|
+
"description": "The buttons in `<form method=\"dialog\">`, which extend the session or log out.",
|
|
447
|
+
"content": "text",
|
|
448
|
+
"multiple": true
|
|
449
|
+
}
|
|
450
|
+
},
|
|
451
|
+
"events": {
|
|
452
|
+
"session-warn": {},
|
|
453
|
+
"session-extend": {},
|
|
454
|
+
"session-logout": {},
|
|
455
|
+
"session-expired": {},
|
|
456
|
+
"session-activity": {}
|
|
457
|
+
}
|
|
458
|
+
},
|
|
459
|
+
"lt-connection-status": {
|
|
460
|
+
"link": "https://lo-tek.sobernetics.no/components/connection-status/",
|
|
461
|
+
"description": "Tells the user when the connection to the server is lost. The app reports with `reportFailure()` and `reportSuccess()`.",
|
|
462
|
+
"attributes": {
|
|
463
|
+
"offline-text": {
|
|
464
|
+
"type": "text",
|
|
465
|
+
"description": "The text when the connection is lost."
|
|
466
|
+
},
|
|
467
|
+
"online-text": {
|
|
468
|
+
"type": "text",
|
|
469
|
+
"description": "The text when it comes back."
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
"parts": {},
|
|
473
|
+
"texts": {
|
|
474
|
+
"connectionOffline": {
|
|
475
|
+
"text": "No connection. What you type is not being saved.",
|
|
476
|
+
"replacedBy": [
|
|
477
|
+
"offline-text"
|
|
478
|
+
]
|
|
479
|
+
},
|
|
480
|
+
"connectionOnline": {
|
|
481
|
+
"text": "Connection restored.",
|
|
482
|
+
"replacedBy": [
|
|
483
|
+
"online-text"
|
|
484
|
+
]
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
"events": {
|
|
488
|
+
"connection-lost": {},
|
|
489
|
+
"connection-restored": {}
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|