@nldd/design-system 0.8.49 → 0.8.51
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/dist/components/actions/button/button.styles.d.ts.map +1 -1
- package/dist/components/actions/button/button.styles.js +1 -0
- package/dist/components/actions/button/button.styles.js.map +1 -1
- package/dist/components/actions/icon-button/icon-button.styles.d.ts.map +1 -1
- package/dist/components/actions/icon-button/icon-button.styles.js +1 -0
- package/dist/components/actions/icon-button/icon-button.styles.js.map +1 -1
- package/dist/components/components.js +93 -86
- package/dist/components/content/code-viewer/code-viewer.d.ts +37 -0
- package/dist/components/content/code-viewer/code-viewer.d.ts.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.i18n.d.ts +8 -0
- package/dist/components/content/code-viewer/code-viewer.i18n.d.ts.map +1 -0
- package/dist/components/content/code-viewer/code-viewer.i18n.js +7 -0
- package/dist/components/content/code-viewer/code-viewer.i18n.js.map +1 -0
- package/dist/components/content/code-viewer/code-viewer.js +104 -1
- package/dist/components/content/code-viewer/code-viewer.js.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.styles.d.ts.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.styles.js +112 -1
- package/dist/components/content/code-viewer/code-viewer.styles.js.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.template.d.ts.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.template.js +50 -3
- package/dist/components/content/code-viewer/code-viewer.template.js.map +1 -1
- package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
- package/dist/components/content/icon/icon-aliases.js +17 -0
- package/dist/components/content/icon/icon-aliases.js.map +1 -1
- package/dist/components/content/icon/icon-registry.d.ts.map +1 -1
- package/dist/components/content/icon/icon-registry.js +12 -0
- package/dist/components/content/icon/icon-registry.js.map +1 -1
- package/dist/components/content/image/image.d.ts +151 -0
- package/dist/components/content/image/image.d.ts.map +1 -0
- package/dist/components/content/image/image.i18n.d.ts +8 -0
- package/dist/components/content/image/image.i18n.d.ts.map +1 -0
- package/dist/components/content/image/image.i18n.js +7 -0
- package/dist/components/content/image/image.i18n.js.map +1 -0
- package/dist/components/content/image/image.js +320 -0
- package/dist/components/content/image/image.js.map +1 -0
- package/dist/components/content/image/image.styles.d.ts +2 -0
- package/dist/components/content/image/image.styles.d.ts.map +1 -0
- package/dist/components/content/image/image.styles.js +402 -0
- package/dist/components/content/image/image.styles.js.map +1 -0
- package/dist/components/content/image/image.template.d.ts +3 -0
- package/dist/components/content/image/image.template.d.ts.map +1 -0
- package/dist/components/content/image/image.template.js +109 -0
- package/dist/components/content/image/image.template.js.map +1 -0
- package/dist/components/content/image/lqip-encoder-element.d.ts +39 -0
- package/dist/components/content/image/lqip-encoder-element.d.ts.map +1 -0
- package/dist/components/content/image/lqip-encoder-element.js +240 -0
- package/dist/components/content/image/lqip-encoder-element.js.map +1 -0
- package/dist/components/content/image/lqip-encoder.d.ts +59 -0
- package/dist/components/content/image/lqip-encoder.d.ts.map +1 -0
- package/dist/components/content/image/lqip-encoder.js +279 -0
- package/dist/components/content/image/lqip-encoder.js.map +1 -0
- package/dist/components/content/rich-text/rich-text.d.ts +9 -0
- package/dist/components/content/rich-text/rich-text.d.ts.map +1 -1
- package/dist/components/content/rich-text/rich-text.i18n.d.ts +5 -0
- package/dist/components/content/rich-text/rich-text.i18n.d.ts.map +1 -0
- package/dist/components/content/rich-text/rich-text.i18n.js +4 -0
- package/dist/components/content/rich-text/rich-text.i18n.js.map +1 -0
- package/dist/components/content/rich-text/rich-text.js +61 -0
- package/dist/components/content/rich-text/rich-text.js.map +1 -1
- package/dist/components/content/tooltip/tooltip.d.ts +10 -0
- package/dist/components/content/tooltip/tooltip.d.ts.map +1 -1
- package/dist/components/content/tooltip/tooltip.js +74 -2
- package/dist/components/content/tooltip/tooltip.js.map +1 -1
- package/dist/components/{index-BVOcPb8I.js → index-DYnIl3ts.js} +5435 -2205
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +5 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.styles.d.ts.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.styles.js +1 -0
- package/dist/components/inputs/checkbox/checkbox.styles.js.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.styles.d.ts.map +1 -1
- package/dist/components/inputs/combo-box/combo-box.styles.js +4 -1
- package/dist/components/inputs/combo-box/combo-box.styles.js.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.styles.d.ts.map +1 -1
- package/dist/components/inputs/dropdown/dropdown.styles.js +1 -0
- package/dist/components/inputs/dropdown/dropdown.styles.js.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js +4 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.styles.js.map +1 -1
- package/dist/components/inputs/password-field/password-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/password-field/password-field.styles.js +4 -1
- package/dist/components/inputs/password-field/password-field.styles.js.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.styles.d.ts.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.styles.js +1 -0
- package/dist/components/inputs/radio-button/radio-button.styles.js.map +1 -1
- package/dist/components/inputs/search-field/search-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/search-field/search-field.styles.js +4 -1
- package/dist/components/inputs/search-field/search-field.styles.js.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.styles.d.ts.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.styles.js +1 -0
- package/dist/components/inputs/segmented-control/segmented-control.styles.js.map +1 -1
- package/dist/components/inputs/stepper/stepper.styles.d.ts.map +1 -1
- package/dist/components/inputs/stepper/stepper.styles.js +1 -0
- package/dist/components/inputs/stepper/stepper.styles.js.map +1 -1
- package/dist/components/inputs/switch/switch.styles.d.ts.map +1 -1
- package/dist/components/inputs/switch/switch.styles.js +1 -0
- package/dist/components/inputs/switch/switch.styles.js.map +1 -1
- package/dist/components/inputs/text-field/text-field.styles.d.ts.map +1 -1
- package/dist/components/inputs/text-field/text-field.styles.js +4 -1
- package/dist/components/inputs/text-field/text-field.styles.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.d.ts +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.js +22 -14
- package/dist/components/inputs/toggle-button/toggle-button.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.styles.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.styles.js +16 -11
- package/dist/components/inputs/toggle-button/toggle-button.styles.js.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.template.d.ts.map +1 -1
- package/dist/components/inputs/toggle-button/toggle-button.template.js +32 -16
- package/dist/components/inputs/toggle-button/toggle-button.template.js.map +1 -1
- package/dist/components/inputs/token/token.styles.d.ts.map +1 -1
- package/dist/components/inputs/token/token.styles.js +1 -0
- package/dist/components/inputs/token/token.styles.js.map +1 -1
- package/dist/components/layout/box/box.d.ts +6 -0
- package/dist/components/layout/box/box.d.ts.map +1 -1
- package/dist/components/layout/box/box.js +12 -1
- package/dist/components/layout/box/box.js.map +1 -1
- package/dist/components/layout/box/box.styles.d.ts.map +1 -1
- package/dist/components/layout/box/box.styles.js +40 -1
- package/dist/components/layout/box/box.styles.js.map +1 -1
- package/dist/components/layout/collection/collection.d.ts +1 -0
- package/dist/components/layout/collection/collection.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.i18n.d.ts +1 -0
- package/dist/components/layout/collection/collection.i18n.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.i18n.js +1 -0
- package/dist/components/layout/collection/collection.i18n.js.map +1 -1
- package/dist/components/layout/collection/collection.js +14 -0
- package/dist/components/layout/collection/collection.js.map +1 -1
- package/dist/components/layout/collection/collection.styles.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.styles.js +27 -0
- package/dist/components/layout/collection/collection.styles.js.map +1 -1
- package/dist/components/layout/collection/collection.template.d.ts.map +1 -1
- package/dist/components/layout/collection/collection.template.js +12 -4
- package/dist/components/layout/collection/collection.template.js.map +1 -1
- package/dist/components/lists-and-menus/list/list.d.ts +10 -3
- package/dist/components/lists-and-menus/list/list.d.ts.map +1 -1
- package/dist/components/lists-and-menus/list/list.js +8 -3
- package/dist/components/lists-and-menus/list/list.js.map +1 -1
- package/dist/components/lists-and-menus/list/list.styles.d.ts.map +1 -1
- package/dist/components/lists-and-menus/list/list.styles.js +33 -6
- package/dist/components/lists-and-menus/list/list.styles.js.map +1 -1
- package/dist/components/lists-and-menus/list-item/list-item.js +1 -1
- package/dist/components/lists-and-menus/list-item/list-item.js.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.styles.d.ts.map +1 -1
- package/dist/components/lists-and-menus/menu/menu.styles.js +1 -0
- package/dist/components/lists-and-menus/menu/menu.styles.js.map +1 -1
- package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.d.ts.map +1 -1
- package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js +1 -0
- package/dist/components/navigation/document-tab-bar/document-tab-bar.styles.js.map +1 -1
- package/dist/components/navigation/menu-bar/menu-bar.styles.d.ts.map +1 -1
- package/dist/components/navigation/menu-bar/menu-bar.styles.js +1 -0
- package/dist/components/navigation/menu-bar/menu-bar.styles.js.map +1 -1
- package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.d.ts.map +1 -1
- package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js +1 -0
- package/dist/components/navigation/menu-bar-item/menu-bar-item.styles.js.map +1 -1
- package/dist/components/navigation/pagination/pagination.styles.d.ts.map +1 -1
- package/dist/components/navigation/pagination/pagination.styles.js +1 -0
- package/dist/components/navigation/pagination/pagination.styles.js.map +1 -1
- package/dist/components/navigation/tab-bar/tab-bar.styles.d.ts.map +1 -1
- package/dist/components/navigation/tab-bar/tab-bar.styles.js +1 -0
- package/dist/components/navigation/tab-bar/tab-bar.styles.js.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.d.ts.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js +10 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.styles.js.map +1 -1
- package/dist/components/{prism-python-C1D7CYBc.js → prism-python-C9GXiQLy.js} +1 -1
- package/dist/components/{prism-rust-DI5vrP6V.js → prism-rust-De_U8Otq.js} +1 -1
- package/dist/components/{prism-typescript-DBgOPJ4M.js → prism-typescript-BJbUDHsa.js} +1 -1
- package/dist/components/sample-images/butterfly-1200.jpg +0 -0
- package/dist/components/sample-images/butterfly-1600.jpg +0 -0
- package/dist/components/sample-images/butterfly-480.jpg +0 -0
- package/dist/components/sample-images/butterfly-960.jpg +0 -0
- package/dist/components/status-and-feedback/badge/badge.d.ts +2 -2
- package/dist/components/status-and-feedback/badge/badge.d.ts.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.js +1 -1
- package/dist/components/status-and-feedback/badge/badge.js.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.styles.d.ts.map +1 -1
- package/dist/components/status-and-feedback/badge/badge.styles.js +126 -1
- package/dist/components/status-and-feedback/badge/badge.styles.js.map +1 -1
- package/dist/components/status-and-feedback/banner/banner.d.ts +89 -0
- package/dist/components/status-and-feedback/banner/banner.d.ts.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.i18n.d.ts +5 -0
- package/dist/components/status-and-feedback/banner/banner.i18n.d.ts.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.i18n.js +4 -0
- package/dist/components/status-and-feedback/banner/banner.i18n.js.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.js +206 -0
- package/dist/components/status-and-feedback/banner/banner.js.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.styles.d.ts +2 -0
- package/dist/components/status-and-feedback/banner/banner.styles.d.ts.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.styles.js +160 -0
- package/dist/components/status-and-feedback/banner/banner.styles.js.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.template.d.ts +3 -0
- package/dist/components/status-and-feedback/banner/banner.template.d.ts.map +1 -0
- package/dist/components/status-and-feedback/banner/banner.template.js +51 -0
- package/dist/components/status-and-feedback/banner/banner.template.js.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.d.ts +77 -0
- package/dist/components/status-and-feedback/progress/progress.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.i18n.d.ts +5 -0
- package/dist/components/status-and-feedback/progress/progress.i18n.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.i18n.js +4 -0
- package/dist/components/status-and-feedback/progress/progress.i18n.js.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.js +137 -0
- package/dist/components/status-and-feedback/progress/progress.js.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.styles.d.ts +2 -0
- package/dist/components/status-and-feedback/progress/progress.styles.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.styles.js +57 -0
- package/dist/components/status-and-feedback/progress/progress.styles.js.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.template.d.ts +4 -0
- package/dist/components/status-and-feedback/progress/progress.template.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress/progress.template.js +26 -0
- package/dist/components/status-and-feedback/progress/progress.template.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts +131 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.d.ts +8 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js +7 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.i18n.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.js +426 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.d.ts +3 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js +400 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.styles.js.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.d.ts +3 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js +60 -0
- package/dist/components/status-and-feedback/progress-bar/progress-bar.template.js.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts +132 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.d.ts +8 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js +7 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.i18n.js.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.js +437 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.js.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.d.ts +3 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js +245 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.styles.js.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.d.ts +14 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.d.ts.map +1 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js +115 -0
- package/dist/components/status-and-feedback/progress-circle/progress-circle.template.js.map +1 -0
- package/dist/css/settings.css +346 -18
- package/package.json +21 -1
|
@@ -15,18 +15,76 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
15
15
|
*
|
|
16
16
|
* @attr {string} spacing - Spacing between elements: 'flat' | 'tight' | 'snug' (default) | 'loose'
|
|
17
17
|
* @attr {boolean} centered - Centers the main column inside the container; without it, content is left-aligned
|
|
18
|
+
* @attr {object} translations - Override translation keys; unset keys fall back to Dutch
|
|
18
19
|
*/
|
|
19
20
|
import { LitElement } from 'lit';
|
|
20
21
|
import { customElement, property } from 'lit/decorators.js';
|
|
22
|
+
import { nlddRichTextTranslations } from './rich-text.i18n.js';
|
|
23
|
+
const MANAGED_LABEL_ATTR = 'data-nldd-managed-label';
|
|
21
24
|
let NLDDRichText = class NLDDRichText extends LitElement {
|
|
22
25
|
constructor() {
|
|
23
26
|
super(...arguments);
|
|
24
27
|
this.spacing = 'snug';
|
|
25
28
|
this.centered = false;
|
|
29
|
+
this.translations = {};
|
|
30
|
+
}
|
|
31
|
+
_t(key) {
|
|
32
|
+
return this.translations[key] ?? nlddRichTextTranslations[key];
|
|
26
33
|
}
|
|
27
34
|
createRenderRoot() {
|
|
28
35
|
return this;
|
|
29
36
|
}
|
|
37
|
+
connectedCallback() {
|
|
38
|
+
super.connectedCallback();
|
|
39
|
+
/* Tables overflow horizontally on narrow viewports (overflow-x: auto
|
|
40
|
+
* below 641px). Keyboard users need them focusable to scroll —
|
|
41
|
+
* WCAG 2.1.1. Observe the host's size (catches container/viewport
|
|
42
|
+
* resizes; per-table ResizeObserver misses container-query display
|
|
43
|
+
* flips on tables) and the light-DOM subtree (catches added/removed
|
|
44
|
+
* tables). Both trigger a re-evaluation of every table's overflow. */
|
|
45
|
+
this._resizeObserver = new ResizeObserver(() => this._syncTables());
|
|
46
|
+
this._resizeObserver.observe(this);
|
|
47
|
+
this._mutationObserver = new MutationObserver(() => this._syncTables());
|
|
48
|
+
this._mutationObserver.observe(this, { childList: true, subtree: true });
|
|
49
|
+
this._syncTables();
|
|
50
|
+
}
|
|
51
|
+
disconnectedCallback() {
|
|
52
|
+
super.disconnectedCallback();
|
|
53
|
+
this._mutationObserver?.disconnect();
|
|
54
|
+
this._mutationObserver = undefined;
|
|
55
|
+
this._resizeObserver?.disconnect();
|
|
56
|
+
this._resizeObserver = undefined;
|
|
57
|
+
}
|
|
58
|
+
_syncTables() {
|
|
59
|
+
for (const table of this.querySelectorAll('table')) {
|
|
60
|
+
if (table.scrollWidth > table.clientWidth) {
|
|
61
|
+
if (table.getAttribute('tabindex') !== '0') {
|
|
62
|
+
table.setAttribute('tabindex', '0');
|
|
63
|
+
// Focusable region needs an accessible name. A <caption>
|
|
64
|
+
// already names the table natively, so only fall back to
|
|
65
|
+
// a generic translated label when neither caption nor
|
|
66
|
+
// existing aria-label/labelledby is present. Mark managed
|
|
67
|
+
// labels so we can clean them up later without touching
|
|
68
|
+
// consumer-set ones. (aria-label takes precedence over
|
|
69
|
+
// caption, so adding it when caption exists would risk
|
|
70
|
+
// silent divergence if the caption updates.)
|
|
71
|
+
if (!table.hasAttribute('aria-label')
|
|
72
|
+
&& !table.hasAttribute('aria-labelledby')
|
|
73
|
+
&& !table.querySelector('caption')) {
|
|
74
|
+
table.setAttribute('aria-label', this._t('components.rich-text.table-scroll-label'));
|
|
75
|
+
table.setAttribute(MANAGED_LABEL_ATTR, '');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
else if (table.getAttribute('tabindex') === '0') {
|
|
80
|
+
table.removeAttribute('tabindex');
|
|
81
|
+
if (table.hasAttribute(MANAGED_LABEL_ATTR)) {
|
|
82
|
+
table.removeAttribute('aria-label');
|
|
83
|
+
table.removeAttribute(MANAGED_LABEL_ATTR);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
30
88
|
};
|
|
31
89
|
__decorate([
|
|
32
90
|
property({ type: String, reflect: true })
|
|
@@ -34,6 +92,9 @@ __decorate([
|
|
|
34
92
|
__decorate([
|
|
35
93
|
property({ type: Boolean, reflect: true })
|
|
36
94
|
], NLDDRichText.prototype, "centered", void 0);
|
|
95
|
+
__decorate([
|
|
96
|
+
property({ type: Object })
|
|
97
|
+
], NLDDRichText.prototype, "translations", void 0);
|
|
37
98
|
NLDDRichText = __decorate([
|
|
38
99
|
customElement('nldd-rich-text')
|
|
39
100
|
], NLDDRichText);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text.js","sourceRoot":"","sources":["../../../../src/components/content/rich-text/rich-text.ts"],"names":[],"mappings":";;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"rich-text.js","sourceRoot":"","sources":["../../../../src/components/content/rich-text/rich-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @element nldd-tooltip
|
|
8
8
|
* @attr {string} text - Tooltip tekst
|
|
9
|
+
* @attr {boolean} open - Forceer de tooltip zichtbaar, ongeacht hover/focus. Gebruik voor programmatische feedback (bv. "Gekopieerd"). Reset naar false om hover-gedrag te herstellen.
|
|
9
10
|
* @attr {string} placement - Positie: 'top' | 'bottom' | 'left' | 'right' (standaard: 'bottom'; op touch devices automatisch 'top')
|
|
10
11
|
* @attr {string} timing - Wanneer de tooltip verschijnt op hover:
|
|
11
12
|
* 'instant' — direct, zonder show-delay.
|
|
@@ -21,6 +22,12 @@
|
|
|
21
22
|
*
|
|
22
23
|
* @slot - Het element waarop de tooltip wordt getoond
|
|
23
24
|
*
|
|
25
|
+
* @fires nldd-tooltip-dismiss - Wanneer een gebruiker Escape drukt terwijl
|
|
26
|
+
* `open=true` is. De consumer beheert dan de open-lifecycle (wij kunnen
|
|
27
|
+
* `open` niet eenzijdig wissen), dus dit event geeft de consumer de kans
|
|
28
|
+
* om `open` terug naar `false` te zetten. WCAG 1.4.13: persistent hover-/
|
|
29
|
+
* focus-overlays moeten dismissible zijn zonder focus te verplaatsen.
|
|
30
|
+
*
|
|
24
31
|
* @note Rendert via de native Popover API (`popover="manual"`) in de top
|
|
25
32
|
* layer. Daardoor escape de tooltip alle ancestor stacking contexts en
|
|
26
33
|
* `overflow: hidden` clipping — geen z-index gevechten meer met overlay-
|
|
@@ -44,6 +51,8 @@ type Timing = 'instant' | 'default' | 'never';
|
|
|
44
51
|
export declare class NLDDTooltip extends LitElement {
|
|
45
52
|
static styles: import("lit").CSSResult;
|
|
46
53
|
text: string;
|
|
54
|
+
/** Programmatically force the tooltip visible regardless of hover/focus. */
|
|
55
|
+
open: boolean;
|
|
47
56
|
placement: Placement;
|
|
48
57
|
timing: Timing;
|
|
49
58
|
private get _effectivePlacement();
|
|
@@ -54,6 +63,7 @@ export declare class NLDDTooltip extends LitElement {
|
|
|
54
63
|
private _descriptionEl;
|
|
55
64
|
private _currentTrigger;
|
|
56
65
|
private _boundSlotChange;
|
|
66
|
+
private _positionVersion;
|
|
57
67
|
connectedCallback(): void;
|
|
58
68
|
firstUpdated(): void;
|
|
59
69
|
updated(changed: PropertyValues): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAO1C,KAAK,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AACrD,KAAK,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAa9C,qBACa,WAAY,SAAQ,UAAU;IAC1C,OAAgB,MAAM,0BAAiB;IAGvC,IAAI,SAAM;IAEV,4EAA4E;IAE5E,IAAI,UAAS;IAGb,SAAS,EAAE,SAAS,CAAY;IAGhC,MAAM,EAAE,MAAM,CAAa;IAE3B,OAAO,KAAK,mBAAmB,GAE9B;IAGD,QAAQ,UAAS;IAEjB,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,gBAAgB,CAAK;IAEpB,iBAAiB,IAAI,IAAI;IASzB,YAAY,IAAI,IAAI;IAIpB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAgD/C,OAAO,CAAC,oBAAoB;IA6C5B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,kBAAkB;IAI1B,mBAAmB,IAAI,IAAI;IA4B3B,cAAc,IAAI,IAAI;IAmBtB,mBAAmB,IAAI,IAAI;IAkB3B,4EAA4E;IAC5E,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAUpC,mBAAmB,IAAI,IAAI;IAO3B,mBAAmB,IAAI,IAAI;IAI3B,OAAO,CAAC,cAAc,CAgBpB;YAEY,eAAe;IAuCpB,oBAAoB,IAAI,IAAI;IAmB5B,MAAM;CAGf;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,cAAc,EAAE,WAAW,CAAC;KAC5B;CACD"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @element nldd-tooltip
|
|
8
8
|
* @attr {string} text - Tooltip tekst
|
|
9
|
+
* @attr {boolean} open - Forceer de tooltip zichtbaar, ongeacht hover/focus. Gebruik voor programmatische feedback (bv. "Gekopieerd"). Reset naar false om hover-gedrag te herstellen.
|
|
9
10
|
* @attr {string} placement - Positie: 'top' | 'bottom' | 'left' | 'right' (standaard: 'bottom'; op touch devices automatisch 'top')
|
|
10
11
|
* @attr {string} timing - Wanneer de tooltip verschijnt op hover:
|
|
11
12
|
* 'instant' — direct, zonder show-delay.
|
|
@@ -21,6 +22,12 @@
|
|
|
21
22
|
*
|
|
22
23
|
* @slot - Het element waarop de tooltip wordt getoond
|
|
23
24
|
*
|
|
25
|
+
* @fires nldd-tooltip-dismiss - Wanneer een gebruiker Escape drukt terwijl
|
|
26
|
+
* `open=true` is. De consumer beheert dan de open-lifecycle (wij kunnen
|
|
27
|
+
* `open` niet eenzijdig wissen), dus dit event geeft de consumer de kans
|
|
28
|
+
* om `open` terug naar `false` te zetten. WCAG 1.4.13: persistent hover-/
|
|
29
|
+
* focus-overlays moeten dismissible zijn zonder focus te verplaatsen.
|
|
30
|
+
*
|
|
24
31
|
* @note Rendert via de native Popover API (`popover="manual"`) in de top
|
|
25
32
|
* layer. Daardoor escape de tooltip alle ancestor stacking contexts en
|
|
26
33
|
* `overflow: hidden` clipping — geen z-index gevechten meer met overlay-
|
|
@@ -62,6 +69,8 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
|
|
|
62
69
|
constructor() {
|
|
63
70
|
super(...arguments);
|
|
64
71
|
this.text = '';
|
|
72
|
+
/** Programmatically force the tooltip visible regardless of hover/focus. */
|
|
73
|
+
this.open = false;
|
|
65
74
|
this.placement = 'bottom';
|
|
66
75
|
this.timing = 'default';
|
|
67
76
|
this._visible = false;
|
|
@@ -71,9 +80,24 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
|
|
|
71
80
|
this._descriptionEl = null;
|
|
72
81
|
this._currentTrigger = null;
|
|
73
82
|
this._boundSlotChange = () => this._syncAriaDescribedBy();
|
|
83
|
+
this._positionVersion = 0;
|
|
74
84
|
this._handleKeyDown = (e) => {
|
|
75
|
-
if (e.key
|
|
76
|
-
|
|
85
|
+
if (e.key !== 'Escape' || !this._visible)
|
|
86
|
+
return;
|
|
87
|
+
if (this.open) {
|
|
88
|
+
// WCAG 1.4.13 (Content on Hover or Focus): persistent
|
|
89
|
+
// keyboard-triggered overlay content must be dismissible without
|
|
90
|
+
// moving focus. The consumer controls the open lifecycle (e.g.
|
|
91
|
+
// action-feedback timers) so we can't unilaterally set open=false
|
|
92
|
+
// here — but we DO emit nldd-tooltip-dismiss so the consumer can
|
|
93
|
+
// honor the request. preventDefault keeps the keystroke from
|
|
94
|
+
// bubbling to something else (modal close, etc.) when handled.
|
|
95
|
+
this.dispatchEvent(new CustomEvent('nldd-tooltip-dismiss', { bubbles: true, composed: true }));
|
|
96
|
+
e.preventDefault();
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
// Hover/focus-shown tooltips: we own the lifecycle, dismiss directly.
|
|
100
|
+
this._visible = false;
|
|
77
101
|
};
|
|
78
102
|
}
|
|
79
103
|
get _effectivePlacement() {
|
|
@@ -91,6 +115,24 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
|
|
|
91
115
|
this.shadowRoot?.querySelector('slot')?.addEventListener('slotchange', this._boundSlotChange);
|
|
92
116
|
}
|
|
93
117
|
updated(changed) {
|
|
118
|
+
if (changed.has('open')) {
|
|
119
|
+
if (this.open) {
|
|
120
|
+
/* Force-show: cancel any pending hide so the tooltip stays up
|
|
121
|
+
* even if the cursor left the trigger area. */
|
|
122
|
+
if (this._hideTimeout) {
|
|
123
|
+
clearTimeout(this._hideTimeout);
|
|
124
|
+
this._hideTimeout = null;
|
|
125
|
+
}
|
|
126
|
+
if (this._showTimeout) {
|
|
127
|
+
clearTimeout(this._showTimeout);
|
|
128
|
+
this._showTimeout = null;
|
|
129
|
+
}
|
|
130
|
+
this._visible = true;
|
|
131
|
+
}
|
|
132
|
+
else if (this._visible) {
|
|
133
|
+
this._visible = false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
94
136
|
if (changed.has('_visible')) {
|
|
95
137
|
const tooltip = this._getTooltipElement();
|
|
96
138
|
if (tooltip) {
|
|
@@ -107,6 +149,11 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
|
|
|
107
149
|
if (changed.has('text') || changed.has('timing')) {
|
|
108
150
|
this._syncAriaDescribedBy();
|
|
109
151
|
}
|
|
152
|
+
if (changed.has('text') && this._visible) {
|
|
153
|
+
/* Text changed mid-display (e.g. action feedback like "Gekopieerd").
|
|
154
|
+
* Re-position so the popover snaps to the new content's box. */
|
|
155
|
+
this._updatePosition();
|
|
156
|
+
}
|
|
110
157
|
if (changed.has('timing') && this.timing === 'never') {
|
|
111
158
|
// Cancel any pending show — without this the timer fires after
|
|
112
159
|
// timing flips to 'never' and re-opens the tooltip.
|
|
@@ -226,6 +273,8 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
|
|
|
226
273
|
clearTimeout(this._showTimeout);
|
|
227
274
|
this._showTimeout = null;
|
|
228
275
|
}
|
|
276
|
+
if (this.open)
|
|
277
|
+
return; // force-shown — hover-out doesn't dismiss
|
|
229
278
|
if (this._hideTimeout) {
|
|
230
279
|
clearTimeout(this._hideTimeout);
|
|
231
280
|
}
|
|
@@ -255,10 +304,28 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
|
|
|
255
304
|
this._handleTriggerLeave();
|
|
256
305
|
}
|
|
257
306
|
async _updatePosition() {
|
|
307
|
+
/* Multiple position calcs can be queued in the same flow (e.g. the
|
|
308
|
+
* text-change handler and the _visible handler fire in consecutive
|
|
309
|
+
* cycles). Each call awaits computePosition, so they may resolve
|
|
310
|
+
* out of order. Version-stamp every call and bail when a newer one
|
|
311
|
+
* has started — only the latest gets to write style.left/top. */
|
|
312
|
+
const version = ++this._positionVersion;
|
|
258
313
|
const trigger = this._getTriggerElement();
|
|
259
314
|
const tooltip = this._getTooltipElement();
|
|
260
315
|
if (!trigger || !tooltip)
|
|
261
316
|
return;
|
|
317
|
+
/* Wait for custom fonts so the first measurement matches the
|
|
318
|
+
* steady-state width. Without this, on a fresh page load the
|
|
319
|
+
* tooltip body is measured with the fallback font (wider) and
|
|
320
|
+
* Floating UI places the popover a few pixels off; once the web
|
|
321
|
+
* font swaps in, the body shrinks but the position is already
|
|
322
|
+
* committed. document.fonts.ready resolves immediately when all
|
|
323
|
+
* fonts are loaded, so this is a no-op after the first show. */
|
|
324
|
+
if (document.fonts?.status !== 'loaded') {
|
|
325
|
+
await document.fonts?.ready;
|
|
326
|
+
if (version !== this._positionVersion)
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
262
329
|
const styles = getComputedStyle(this);
|
|
263
330
|
const { x, y } = await computePosition(trigger, tooltip, {
|
|
264
331
|
placement: this._effectivePlacement,
|
|
@@ -269,6 +336,8 @@ let NLDDTooltip = class NLDDTooltip extends LitElement {
|
|
|
269
336
|
shift({ padding: parseInt(styles.getPropertyValue('--_shift-padding'), 10) }),
|
|
270
337
|
],
|
|
271
338
|
});
|
|
339
|
+
if (version !== this._positionVersion)
|
|
340
|
+
return;
|
|
272
341
|
tooltip.style.left = `${x}px`;
|
|
273
342
|
tooltip.style.top = `${y}px`;
|
|
274
343
|
}
|
|
@@ -298,6 +367,9 @@ NLDDTooltip.styles = tooltipStyles;
|
|
|
298
367
|
__decorate([
|
|
299
368
|
property({ type: String, reflect: true })
|
|
300
369
|
], NLDDTooltip.prototype, "text", void 0);
|
|
370
|
+
__decorate([
|
|
371
|
+
property({ type: Boolean, reflect: true })
|
|
372
|
+
], NLDDTooltip.prototype, "open", void 0);
|
|
301
373
|
__decorate([
|
|
302
374
|
property({ type: String, reflect: true })
|
|
303
375
|
], NLDDTooltip.prototype, "placement", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../../../src/components/content/tooltip/tooltip.ts"],"names":[],"mappings":"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"}
|