@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,426 @@
|
|
|
1
|
+
import { HostElement } from "../../host-element.js";
|
|
2
|
+
export declare const LT_TABS_TAG: "lt-tabs";
|
|
3
|
+
/**
|
|
4
|
+
* The parts the tabs look for, as selectors relative to the element. The
|
|
5
|
+
* web component finds its parts with these, and the manifest describes them
|
|
6
|
+
* for anyone writing the markup by hand, so the two cannot disagree.
|
|
7
|
+
*/
|
|
8
|
+
export declare const LT_TABS_PARTS: {
|
|
9
|
+
/** The tab list: the one the server gave the role, or the class from `tabs.css`. */
|
|
10
|
+
readonly list: "[role='tablist'], .lt-tabs__list";
|
|
11
|
+
/**
|
|
12
|
+
* A tab is a link to a panel in the tab list. A link is the only tab
|
|
13
|
+
* pattern that works without JavaScript: without the script the tab list is
|
|
14
|
+
* a table of contents, and the links lead to the panels. If the server has
|
|
15
|
+
* written the roles, only the links with `role="tab"` are tabs.
|
|
16
|
+
*/
|
|
17
|
+
readonly tab: "a[role='tab'][href^='#'], .lt-tabs__list a[href^='#']:not([role])";
|
|
18
|
+
/** A panel: the role when it is there, otherwise the class without a role. */
|
|
19
|
+
readonly panel: "[role='tabpanel'], .lt-tabs__panel:not([role])";
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Keyboard behaviour in a tab list, and the wiring when the markup comes
|
|
23
|
+
* without it.
|
|
24
|
+
*
|
|
25
|
+
* The tabs are links to their panels, the way GOV.UK does it:
|
|
26
|
+
*
|
|
27
|
+
* ```html
|
|
28
|
+
* <lt-tabs>
|
|
29
|
+
* <ul class="lt-tabs__list" aria-label="Parts of the case">
|
|
30
|
+
* <li><a href="#application">Application</a></li>
|
|
31
|
+
* <li><a href="#attachments">Attachments</a></li>
|
|
32
|
+
* </ul>
|
|
33
|
+
* <section class="lt-tabs__panel" id="application"><h2>Application</h2>…</section>
|
|
34
|
+
* <section class="lt-tabs__panel" id="attachments"><h2>Attachments</h2>…</section>
|
|
35
|
+
* </lt-tabs>
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* Without JavaScript this is a table of contents with all the panels one
|
|
39
|
+
* after another, and the links work. What the template writes is an id on
|
|
40
|
+
* the panels, and it needs the links anyway.
|
|
41
|
+
*
|
|
42
|
+
* The web component never writes an id on a tab or a panel. Datastar and
|
|
43
|
+
* idiomorph recognise an element by its id, and an element with an id the
|
|
44
|
+
* server did not send is replaced at the next update, along with the tab
|
|
45
|
+
* selection and focus. The panels' ids come from the server, so they are
|
|
46
|
+
* kept. What the web component fills in, it computes from the markup: the
|
|
47
|
+
* roles, `aria-controls` from `href`, `role="presentation"` on the list
|
|
48
|
+
* items, and the panel's name, which is the tab's. The heading in the panel
|
|
49
|
+
* is the name when it says the same as the tab. Only the selected panel is a
|
|
50
|
+
* tab stop.
|
|
51
|
+
*
|
|
52
|
+
* The panels that are not selected are hidden with `hidden="until-found"`, so
|
|
53
|
+
* find in page and a link to something in a panel reach them, and the
|
|
54
|
+
* browser fires `beforematch`, which the web component selects the tab from.
|
|
55
|
+
* If the server wrote `hidden` itself, it is written back in the server's
|
|
56
|
+
* form, across the whole tab list: `lt.tabs()` from
|
|
57
|
+
* `@lo-tek/interfaces/react` gives `hidden=""`, because React cannot write
|
|
58
|
+
* `until-found`. The address selects the tab when the page loads and when it
|
|
59
|
+
* changes, and each selection is written to the address, unless it already
|
|
60
|
+
* points to the selected panel or something in it. On load the server's
|
|
61
|
+
* `aria-selected` comes before the address, and under `server-controlled`
|
|
62
|
+
* the address never selects.
|
|
63
|
+
*
|
|
64
|
+
* What the server has written stays. Which tab is selected is read from
|
|
65
|
+
* `aria-selected`, and when that is missing, from which panel is not hidden;
|
|
66
|
+
* if nothing is said, it is the first. Before the web component is
|
|
67
|
+
* registered, `tabs.css` shows only the panel the web component is going to
|
|
68
|
+
* select: the first visible one, or the one the address points to, so the
|
|
69
|
+
* content does not jump when the rest are hidden.
|
|
70
|
+
*
|
|
71
|
+
* What the web component then does is what the browser does not do by
|
|
72
|
+
* itself: Tab skips past the whole tab list and into the panel, while the
|
|
73
|
+
* arrow keys move between the tabs. With `activation="manual"` the arrow keys
|
|
74
|
+
* only move focus, and Enter or Space selects.
|
|
75
|
+
*
|
|
76
|
+
* The tab selection belongs to the user, and the web component restores it
|
|
77
|
+
* when a patch strips it. If the server needs to move the tab, as in
|
|
78
|
+
* "continue to step 2", set `server-controlled` on the host, and then every
|
|
79
|
+
* patch decides.
|
|
80
|
+
*/
|
|
81
|
+
export declare class LtTabs extends HostElement {
|
|
82
|
+
/**
|
|
83
|
+
* `server-controlled` and `activation`. Which tab is selected is in the
|
|
84
|
+
* markup the server sent, as `aria-selected` on the tab and `hidden` on the
|
|
85
|
+
* panels, and is read from there. A separate `selected` would have been a
|
|
86
|
+
* parallel copy of the same thing.
|
|
87
|
+
*/
|
|
88
|
+
static observedAttributes: readonly ["server-controlled", "activation"];
|
|
89
|
+
private observer?;
|
|
90
|
+
/**
|
|
91
|
+
* The panel the user's tab points to, remembered so a patch cannot take
|
|
92
|
+
* the selection.
|
|
93
|
+
*
|
|
94
|
+
* Not the index and not the node. An index is not an identity: if the
|
|
95
|
+
* server inserts a tab first in the list, the same index points to
|
|
96
|
+
* something else. The node is not one either: the links have no id, so
|
|
97
|
+
* Datastar and idiomorph match them by position, and the node the user
|
|
98
|
+
* pressed became the inserted tab. The panel's id is the server's and
|
|
99
|
+
* stays; a tab pointing to another panel is another tab.
|
|
100
|
+
*
|
|
101
|
+
* Remembered with the link, `chosenTab`.
|
|
102
|
+
*
|
|
103
|
+
* `undefined` means the user has not selected anything yet, and then the
|
|
104
|
+
* server's markup applies.
|
|
105
|
+
*/
|
|
106
|
+
private chosenTarget?;
|
|
107
|
+
/**
|
|
108
|
+
* The link the user pressed, with `chosenTarget`. While it is in the tab
|
|
109
|
+
* list and points to the same panel, it is the user's tab, also when
|
|
110
|
+
* another tab points to that panel too. When a morph has turned it into
|
|
111
|
+
* another tab, or dropped it while it kept other links, the tab that points
|
|
112
|
+
* to the panel is found. When the links were replaced, none of the row is
|
|
113
|
+
* left, as `innerHTML` does, and the selection is forgotten rather than
|
|
114
|
+
* guessed; the address still has it, see `selectFromAddress`.
|
|
115
|
+
*/
|
|
116
|
+
private chosenTab?;
|
|
117
|
+
/** The tab list as it was when the user's tab was last found. */
|
|
118
|
+
private chosenRow;
|
|
119
|
+
/**
|
|
120
|
+
* Roles the web component set itself. Tells a bare tab list, where every
|
|
121
|
+
* link is a tab, from one where the server wrote the roles, where a link
|
|
122
|
+
* without a role is something else, such as a help link.
|
|
123
|
+
*/
|
|
124
|
+
private readonly roledByMe;
|
|
125
|
+
private selectedMemory;
|
|
126
|
+
private hiddenMemory;
|
|
127
|
+
/**
|
|
128
|
+
* The form the server hides panels in, the last time it hid something:
|
|
129
|
+
* `""` from `lt.tabs()`, `"until-found"` or something else. The web
|
|
130
|
+
* component writes `hidden` in that form on every panel in the tab list,
|
|
131
|
+
* including a panel the server never hid. Otherwise one panel got
|
|
132
|
+
* `until-found` and the others `""` in the same tab list. If the server has
|
|
133
|
+
* never hidden anything, it is `until-found`, so find in page reaches the
|
|
134
|
+
* panel.
|
|
135
|
+
*/
|
|
136
|
+
private hiddenForm;
|
|
137
|
+
/**
|
|
138
|
+
* The id the web component gave the heading in a panel, per panel. A morph
|
|
139
|
+
* strips the id from the heading and `aria-labelledby` from the panel,
|
|
140
|
+
* since neither was in the server's HTML, and the panel must get the same
|
|
141
|
+
* one back, so a screen reader does not follow a reference that changes
|
|
142
|
+
* under it.
|
|
143
|
+
*/
|
|
144
|
+
private readonly headingIds;
|
|
145
|
+
/** The name the web component wrote in `aria-label` on a panel without a heading. */
|
|
146
|
+
private readonly labelByMe;
|
|
147
|
+
/**
|
|
148
|
+
* The tab the user clicked under `server-controlled`, until the server
|
|
149
|
+
* answers.
|
|
150
|
+
*
|
|
151
|
+
* It is not the user's selection in the sense of `chosenTarget`: it is never
|
|
152
|
+
* restored against the server's word. It only lasts until someone else has
|
|
153
|
+
* touched `aria-selected` or `hidden`, added a tab or a panel, removed the
|
|
154
|
+
* tab, or removed `server-controlled`. Without it, `repair()` read the
|
|
155
|
+
* server's old word from memory in the next microtask and undid the click,
|
|
156
|
+
* so the tabs could not be switched, and a `data-attr:hidden` that wrote the
|
|
157
|
+
* same as the web component had just written was never seen.
|
|
158
|
+
*/
|
|
159
|
+
private pendingTab?;
|
|
160
|
+
/**
|
|
161
|
+
* The panel the browser is revealing after `beforematch`.
|
|
162
|
+
*
|
|
163
|
+
* The browser removes `hidden` itself after the event, and then moves on to
|
|
164
|
+
* the ancestors, such as an outer panel or a closed `<details>`. But only as
|
|
165
|
+
* long as the panel still has `hidden="until-found"` when the event is done.
|
|
166
|
+
* When the search comes from the user, the browser runs the microtasks after
|
|
167
|
+
* each listener, the observer included, and when the web component removed
|
|
168
|
+
* `hidden` in that round, Chromium and WebKit stopped. The match in a tab
|
|
169
|
+
* list inside a hidden panel stayed invisible. The panel is therefore not
|
|
170
|
+
* touched until the next task, when the browser is done, see `revealed()`.
|
|
171
|
+
*/
|
|
172
|
+
private revealing?;
|
|
173
|
+
/**
|
|
174
|
+
* Whether the tab list has loaded: whether the address or the server's
|
|
175
|
+
* selection has been read. That happens the first time the tab list has
|
|
176
|
+
* tabs and the address can be resolved, see `sync()`, not when the element
|
|
177
|
+
* is connected. An `<lt-tabs>` the server fills in later otherwise always
|
|
178
|
+
* got the first tab.
|
|
179
|
+
*/
|
|
180
|
+
private started;
|
|
181
|
+
/**
|
|
182
|
+
* The root `beforematch` is listened for on. The event bubbles, but is not
|
|
183
|
+
* `composed`, so from a panel in a shadow root it never reaches the
|
|
184
|
+
* document.
|
|
185
|
+
*/
|
|
186
|
+
private root?;
|
|
187
|
+
connectedCallback(): void;
|
|
188
|
+
attributeChangedCallback(name: string): void;
|
|
189
|
+
disconnectedCallback(): void;
|
|
190
|
+
/**
|
|
191
|
+
* The tabs that belong to this tab list, and only those.
|
|
192
|
+
*
|
|
193
|
+
* Tabs inside tabs are ordinary markup. Without the boundary an inner tab
|
|
194
|
+
* list became part of the outer one: a click on an inner tab hid the outer
|
|
195
|
+
* panel it was in, and both web components attached listeners to the same
|
|
196
|
+
* tabs.
|
|
197
|
+
*/
|
|
198
|
+
private get tabs();
|
|
199
|
+
/** Remembers the user's tab: the link, and the panel it points to. */
|
|
200
|
+
private choose;
|
|
201
|
+
/**
|
|
202
|
+
* Where the user's tab is now, or -1: the link while it points to the same
|
|
203
|
+
* panel; the tab that points to that panel when a morph has turned the
|
|
204
|
+
* link into another tab, or dropped it and kept others (the morphers match
|
|
205
|
+
* links without ids by position, and look ahead when one is removed);
|
|
206
|
+
* none when the links were replaced, with nothing of the row left.
|
|
207
|
+
*/
|
|
208
|
+
private chosenIndex;
|
|
209
|
+
/** The server's word about an attribute, against what the web component last wrote. */
|
|
210
|
+
private serverWord;
|
|
211
|
+
/** Is there something on a tab or a panel other than what the web component wrote? */
|
|
212
|
+
private touchedByOthers;
|
|
213
|
+
/**
|
|
214
|
+
* Releases the click, and makes what is in the markup now the server's
|
|
215
|
+
* word.
|
|
216
|
+
*
|
|
217
|
+
* The memory holds the server's word from before the click, and it is
|
|
218
|
+
* stale: the server has answered. An attribute the server wrote the same as
|
|
219
|
+
* the web component cannot be told from one it did not touch, so the old
|
|
220
|
+
* words won, and the tab list jumped back to the tab from before the click
|
|
221
|
+
* just as the server confirmed the new one.
|
|
222
|
+
*
|
|
223
|
+
* `hidden` on the panels is therefore read as it is. `aria-selected` is read
|
|
224
|
+
* as it is when the server has touched at least one tab, that is, when the
|
|
225
|
+
* server speaks through `aria-selected`. If it has not, the values are the
|
|
226
|
+
* ones the web component wrote for the click, and then the panels say which
|
|
227
|
+
* tab applies.
|
|
228
|
+
*/
|
|
229
|
+
private releasePending;
|
|
230
|
+
private serverSelected;
|
|
231
|
+
/** The server's word about `hidden` on the panel: the form, or `null` for visible. */
|
|
232
|
+
private serverHidden;
|
|
233
|
+
/**
|
|
234
|
+
* Can any of the changes concern the tab list?
|
|
235
|
+
*
|
|
236
|
+
* The observer sees the whole tree, and a suggestion field, a counter or an
|
|
237
|
+
* inner tab list in a panel changes `aria-selected`, `hidden` and text on
|
|
238
|
+
* every keystroke. Each of them gave a full round, with styles read for the
|
|
239
|
+
* names. Only what is deep inside one of the tab list's panels is skipped,
|
|
240
|
+
* and only when it is neither a heading in the panel, something
|
|
241
|
+
* `aria-labelledby` points to, nor an id, which can make an element
|
|
242
|
+
* something a tab points to. Everything else gives a round, as before.
|
|
243
|
+
*/
|
|
244
|
+
private concerns;
|
|
245
|
+
/**
|
|
246
|
+
* The ids `aria-labelledby` points to from the tabs, what is inside them,
|
|
247
|
+
* and the panels. Before the tab list has loaded, also the id the address
|
|
248
|
+
* points to: the tab list waits for that element, see `sync()`, and it can
|
|
249
|
+
* arrive deep inside a panel.
|
|
250
|
+
*/
|
|
251
|
+
private watchedIds;
|
|
252
|
+
/** Is the element inside an element with one of the ids, or is it one itself? */
|
|
253
|
+
private within;
|
|
254
|
+
/** Does an added or removed node carry one of the ids, itself or inside it? */
|
|
255
|
+
private carries;
|
|
256
|
+
/** The tab list the tabs are in, when it belongs to this web component. */
|
|
257
|
+
private get list();
|
|
258
|
+
/**
|
|
259
|
+
* The panel a tab controls, through the id it points to.
|
|
260
|
+
*
|
|
261
|
+
* The panel can be outside the host. It is then not in what the web
|
|
262
|
+
* component observes, so if a patch strips `hidden` from it, it does not
|
|
263
|
+
* come back by itself. If the tab points to nothing, the answer is nothing,
|
|
264
|
+
* and the web component warns. The order is not a fallback: two tabs could
|
|
265
|
+
* then have got the same panel, and the two wrote opposite `hidden` on it in
|
|
266
|
+
* every single round.
|
|
267
|
+
*/
|
|
268
|
+
private panelFor;
|
|
269
|
+
/** The element a fragment points to, as written or decoded. */
|
|
270
|
+
private byFragment;
|
|
271
|
+
/**
|
|
272
|
+
* A tab that cannot be selected, with either mouse or keyboard: disabled,
|
|
273
|
+
* or hidden with `hidden`. A hidden tab cannot take focus, so when an arrow
|
|
274
|
+
* key selected it, the tab stop was left on something Tab never reaches.
|
|
275
|
+
*/
|
|
276
|
+
private isDisabled;
|
|
277
|
+
/** The arrow keys only move focus, and Enter or Space selects. */
|
|
278
|
+
private get manual();
|
|
279
|
+
/**
|
|
280
|
+
* The index of the marked tab, or `-1` when none is.
|
|
281
|
+
*
|
|
282
|
+
* `selected` answers 0 in that case, because it is public API and a tab
|
|
283
|
+
* list in practice always has a selected tab. But that lie cannot be used
|
|
284
|
+
* internally: when it said 0 with nothing marked, `select(0)` returned at
|
|
285
|
+
* once, and the tab list did not respond to a click at all.
|
|
286
|
+
*/
|
|
287
|
+
private get markedIndex();
|
|
288
|
+
/** The index of the selected tab. */
|
|
289
|
+
get selected(): number;
|
|
290
|
+
set selected(index: number);
|
|
291
|
+
private sync;
|
|
292
|
+
/**
|
|
293
|
+
* Fills in the wiring where the markup came without it.
|
|
294
|
+
*
|
|
295
|
+
* Only what is missing, with one exception: `aria-controls` is written from
|
|
296
|
+
* `href`, since the two are the same information and `href` is the one that
|
|
297
|
+
* works without JavaScript. Any other attribute the server has written is
|
|
298
|
+
* the server's word, even when it says something other than the web
|
|
299
|
+
* component would have said.
|
|
300
|
+
*/
|
|
301
|
+
private wire;
|
|
302
|
+
/**
|
|
303
|
+
* Gives the panel a name, when the server has not given it one.
|
|
304
|
+
*
|
|
305
|
+
* The panel is named what the tab is named, as the APG does it. The APG
|
|
306
|
+
* lets the panel point to the tab, but the tab has no id here, and the web
|
|
307
|
+
* component writes none. If the heading in the panel says the same as the
|
|
308
|
+
* tab, the heading is the name, and it can get an id from the web
|
|
309
|
+
* component: it has no state the user can lose. Otherwise the name is the
|
|
310
|
+
* tab's, as `aria-label`.
|
|
311
|
+
*
|
|
312
|
+
* An `aria-label` or `aria-labelledby` the server wrote is never changed,
|
|
313
|
+
* even when the reference points to something that does not exist yet.
|
|
314
|
+
* Until it arrives, the tab's name stands as `aria-label`: a reference
|
|
315
|
+
* without a match is ignored when the name is computed, and then
|
|
316
|
+
* `aria-label` applies.
|
|
317
|
+
*/
|
|
318
|
+
private name;
|
|
319
|
+
/** Writes the tab's name as `aria-label`, and remembers that the web component wrote it. */
|
|
320
|
+
private setOwnLabel;
|
|
321
|
+
/** Removes the fallback, when a name that exists has taken over. */
|
|
322
|
+
private dropOwnLabel;
|
|
323
|
+
/** Does at least one of the ids point to an element that exists? */
|
|
324
|
+
private resolves;
|
|
325
|
+
/**
|
|
326
|
+
* The tab the server says is selected, when the user has not selected
|
|
327
|
+
* anything.
|
|
328
|
+
*
|
|
329
|
+
* The server's word, not what is there: what the web component wrote does
|
|
330
|
+
* not count, see `Word`. `aria-selected` first. When that is missing, as in
|
|
331
|
+
* markup written without JavaScript, `hidden` on the panels says the same:
|
|
332
|
+
* the first panel the server shows belongs to the selected tab. If the
|
|
333
|
+
* markup says nothing, or hides every panel, it is the first, which is what
|
|
334
|
+
* a tab list starts on anyway.
|
|
335
|
+
*/
|
|
336
|
+
private get derivedIndex();
|
|
337
|
+
/**
|
|
338
|
+
* Restores the user's selection after a patch.
|
|
339
|
+
*
|
|
340
|
+
* Without this the template had to write
|
|
341
|
+
* `data-preserve-attr="aria-selected tabindex"` on every tab and `hidden` on
|
|
342
|
+
* every panel, that is, list the attributes the web component was going to
|
|
343
|
+
* touch. No compiler looked at that list.
|
|
344
|
+
*
|
|
345
|
+
* `apply()` is called whether or not the tabs look right, because a patch
|
|
346
|
+
* may have touched only the panels. That is the narrow patch the
|
|
347
|
+
* documentation itself recommends, and a check on `aria-selected` alone did
|
|
348
|
+
* not see it: the tab said one thing and the screen another.
|
|
349
|
+
*/
|
|
350
|
+
private repair;
|
|
351
|
+
private bind;
|
|
352
|
+
/** What the server has called a tab in the tab list, but is not a link to a panel. */
|
|
353
|
+
private nonLinkTabs;
|
|
354
|
+
/**
|
|
355
|
+
* The tab in this tab list the event came from, or -1.
|
|
356
|
+
*
|
|
357
|
+
* `indexOf` and not just `closest`: a tab list inside a panel bubbles its
|
|
358
|
+
* clicks up here too, and they do not belong to this tab list.
|
|
359
|
+
*/
|
|
360
|
+
private tabIndexOf;
|
|
361
|
+
private handleClick;
|
|
362
|
+
/** Find in page or a link revealed a hidden panel. */
|
|
363
|
+
private handleBeforematch;
|
|
364
|
+
/**
|
|
365
|
+
* Releases the panel after `beforematch`, in the task after the browser has
|
|
366
|
+
* finished revealing, and writes the tab list.
|
|
367
|
+
*
|
|
368
|
+
* Usually the browser has removed `hidden` by then. It has not when the
|
|
369
|
+
* panel was taken out of the document during the event, and without this
|
|
370
|
+
* round the panel stayed hidden even though the tab was selected.
|
|
371
|
+
*/
|
|
372
|
+
private revealed;
|
|
373
|
+
private handleHashchange;
|
|
374
|
+
/**
|
|
375
|
+
* The index of the tab the address points to, or -1: the panel itself, such
|
|
376
|
+
* as `#attachments`, or something inside it, such as a heading in the panel.
|
|
377
|
+
*/
|
|
378
|
+
private get addressIndex();
|
|
379
|
+
/**
|
|
380
|
+
* Corrects the address when it points to another tab in the tab list than
|
|
381
|
+
* the selected one, as when the server has moved the selection. An address
|
|
382
|
+
* to something outside the tab list stays.
|
|
383
|
+
*/
|
|
384
|
+
private alignAddress;
|
|
385
|
+
/**
|
|
386
|
+
* Writes the tab to the address, so it can be shared, and so the selection
|
|
387
|
+
* survives the server replacing the links.
|
|
388
|
+
*
|
|
389
|
+
* If the address already points to the selected panel or something in it,
|
|
390
|
+
* it stays: a link into the content must not be lost. `replaceState`, so
|
|
391
|
+
* the selection does not become an entry in the history.
|
|
392
|
+
*/
|
|
393
|
+
private showInAddress;
|
|
394
|
+
/**
|
|
395
|
+
* Selects the tab the address points to.
|
|
396
|
+
*
|
|
397
|
+
* On load, on `hashchange`, and when the server replaces the links without
|
|
398
|
+
* saying which one is selected: the selection is then still in the
|
|
399
|
+
* address. Not under `server-controlled`, where the server decides.
|
|
400
|
+
*/
|
|
401
|
+
private selectFromAddress;
|
|
402
|
+
private handleKeydown;
|
|
403
|
+
/**
|
|
404
|
+
* The next tab that can be selected, in one direction, wrapping round if
|
|
405
|
+
* needed.
|
|
406
|
+
*
|
|
407
|
+
* A tab that cannot be selected is skipped. When a hidden tab was selected,
|
|
408
|
+
* it got the tab stop, and Tab never reached the tab list. The keyboard
|
|
409
|
+
* user was locked out.
|
|
410
|
+
*/
|
|
411
|
+
private nextEnabled;
|
|
412
|
+
/** Selects a tab and fires the event. */
|
|
413
|
+
select(index: number): void;
|
|
414
|
+
/** Announces which tab is selected now. */
|
|
415
|
+
private notify;
|
|
416
|
+
/**
|
|
417
|
+
* Writes the selection out into the markup.
|
|
418
|
+
*
|
|
419
|
+
* Every write compares first. The web component observes the same
|
|
420
|
+
* attributes it sets, so a write without a comparison would trigger the
|
|
421
|
+
* observer, which would write again, forever.
|
|
422
|
+
*/
|
|
423
|
+
private apply;
|
|
424
|
+
}
|
|
425
|
+
export declare function defineLtTabs(tagName?: string): void;
|
|
426
|
+
//# sourceMappingURL=lt-tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lt-tabs.d.ts","sourceRoot":"","sources":["../../../../src/components/frame/tabs/lt-tabs.ts"],"names":[],"mappings":"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"}
|