@nldd/design-system 0.8.69 → 0.8.70
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/custom-elements.json +29536 -0
- package/dist/components/actions/button/button.d.ts +2 -0
- package/dist/components/actions/button/button.d.ts.map +1 -1
- package/dist/components/actions/button/button.js +2 -0
- package/dist/components/actions/button/button.js.map +1 -1
- 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.d.ts +2 -0
- package/dist/components/actions/icon-button/icon-button.d.ts.map +1 -1
- package/dist/components/actions/icon-button/icon-button.js +2 -0
- package/dist/components/actions/icon-button/icon-button.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/actions/menu/menu.styles.d.ts.map +1 -1
- package/dist/components/actions/menu/menu.styles.js +1 -0
- package/dist/components/actions/menu/menu.styles.js.map +1 -1
- package/dist/components/actions/toolbar/toolbar.d.ts +4 -0
- package/dist/components/actions/toolbar/toolbar.d.ts.map +1 -1
- package/dist/components/actions/toolbar/toolbar.js +4 -0
- package/dist/components/actions/toolbar/toolbar.js.map +1 -1
- package/dist/components/components.js +85 -82
- package/dist/components/content/avatar/avatar.styles.d.ts.map +1 -1
- package/dist/components/content/avatar/avatar.styles.js +2 -1
- package/dist/components/content/avatar/avatar.styles.js.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.d.ts.map +1 -1
- package/dist/components/content/code-viewer/code-viewer.js +2 -0
- package/dist/components/content/code-viewer/code-viewer.js.map +1 -1
- package/dist/components/content/icon/icon-aliases.d.ts.map +1 -1
- package/dist/components/content/icon/icon-aliases.js +19 -2
- 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 +34 -5
- package/dist/components/content/icon/icon-registry.js.map +1 -1
- package/dist/components/content/image/image.d.ts +2 -0
- package/dist/components/content/image/image.d.ts.map +1 -1
- package/dist/components/content/image/image.js +2 -0
- package/dist/components/content/image/image.js.map +1 -1
- package/dist/components/content/image/lqip-encoder-element.d.ts.map +1 -1
- package/dist/components/content/image/lqip-encoder-element.js +1 -0
- package/dist/components/content/image/lqip-encoder-element.js.map +1 -1
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts +4 -0
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.d.ts.map +1 -1
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js +4 -0
- package/dist/components/content/keyboard-shortcut/keyboard-shortcut.js.map +1 -1
- package/dist/components/content/token/token.styles.d.ts.map +1 -1
- package/dist/components/content/token/token.styles.js +1 -0
- package/dist/components/content/token/token.styles.js.map +1 -1
- package/dist/components/{index-BfOpap4b.js → index-BP0XMTYa.js} +1 -1
- package/dist/components/{index-CXC-Objp.js → index-Bh_hMHn8.js} +1 -1
- package/dist/components/{index-VwuVCCal.js → index-BuLJAwiB.js} +7750 -5496
- package/dist/components/{index-CfvgUB5p.js → index-CTUlN5qN.js} +1 -1
- package/dist/components/{index-DZo3DrGQ.js → index-DS-RnHMu.js} +1 -1
- package/dist/components/{index-Bf4pa5Bp.js → index-Dgxr-sEe.js} +1 -1
- package/dist/components/{index-DB-i084x.js → index-sa60dMt-.js} +1 -1
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +3 -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/date-field/date-field.d.ts +226 -0
- package/dist/components/inputs/date-field/date-field.d.ts.map +1 -0
- package/dist/components/inputs/date-field/date-field.i18n.d.ts +11 -0
- package/dist/components/inputs/date-field/date-field.i18n.d.ts.map +1 -0
- package/dist/components/inputs/date-field/date-field.i18n.js +17 -0
- package/dist/components/inputs/date-field/date-field.i18n.js.map +1 -0
- package/dist/components/inputs/date-field/date-field.js +589 -0
- package/dist/components/inputs/date-field/date-field.js.map +1 -0
- package/dist/components/inputs/date-field/date-field.styles.d.ts +2 -0
- package/dist/components/inputs/date-field/date-field.styles.d.ts.map +1 -0
- package/dist/components/inputs/date-field/date-field.styles.js +246 -0
- package/dist/components/inputs/date-field/date-field.styles.js.map +1 -0
- package/dist/components/inputs/date-field/date-field.template.d.ts +17 -0
- package/dist/components/inputs/date-field/date-field.template.d.ts.map +1 -0
- package/dist/components/inputs/date-field/date-field.template.js +141 -0
- package/dist/components/inputs/date-field/date-field.template.js.map +1 -0
- package/dist/components/inputs/date-picker/date-picker.d.ts +268 -0
- package/dist/components/inputs/date-picker/date-picker.d.ts.map +1 -0
- package/dist/components/inputs/date-picker/date-picker.i18n.d.ts +64 -0
- package/dist/components/inputs/date-picker/date-picker.i18n.d.ts.map +1 -0
- package/dist/components/inputs/date-picker/date-picker.i18n.js +81 -0
- package/dist/components/inputs/date-picker/date-picker.i18n.js.map +1 -0
- package/dist/components/inputs/date-picker/date-picker.js +748 -0
- package/dist/components/inputs/date-picker/date-picker.js.map +1 -0
- package/dist/components/inputs/date-picker/date-picker.styles.d.ts +2 -0
- package/dist/components/inputs/date-picker/date-picker.styles.d.ts.map +1 -0
- package/dist/components/inputs/date-picker/date-picker.styles.js +353 -0
- package/dist/components/inputs/date-picker/date-picker.styles.js.map +1 -0
- package/dist/components/inputs/date-picker/date-picker.template.d.ts +8 -0
- package/dist/components/inputs/date-picker/date-picker.template.d.ts.map +1 -0
- package/dist/components/inputs/date-picker/date-picker.template.js +223 -0
- package/dist/components/inputs/date-picker/date-picker.template.js.map +1 -0
- 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.d.ts +1 -0
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.d.ts.map +1 -1
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js +1 -0
- package/dist/components/inputs/multi-line-text-field/multi-line-text-field.js.map +1 -1
- package/dist/components/inputs/password-field/password-field.d.ts +1 -0
- package/dist/components/inputs/password-field/password-field.d.ts.map +1 -1
- package/dist/components/inputs/password-field/password-field.js +1 -0
- package/dist/components/inputs/password-field/password-field.js.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.d.ts +3 -0
- package/dist/components/inputs/radio-button/radio-button.d.ts.map +1 -1
- package/dist/components/inputs/radio-button/radio-button.js +3 -0
- package/dist/components/inputs/radio-button/radio-button.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/radio-button-field/radio-button-field.d.ts +2 -0
- package/dist/components/inputs/radio-button-field/radio-button-field.d.ts.map +1 -1
- package/dist/components/inputs/radio-button-field/radio-button-field.js +2 -0
- package/dist/components/inputs/radio-button-field/radio-button-field.js.map +1 -1
- package/dist/components/inputs/radio-button-group/radio-button-group.d.ts +1 -0
- package/dist/components/inputs/radio-button-group/radio-button-group.d.ts.map +1 -1
- package/dist/components/inputs/radio-button-group/radio-button-group.js +1 -0
- package/dist/components/inputs/radio-button-group/radio-button-group.js.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.d.ts +10 -1
- package/dist/components/inputs/segmented-control/segmented-control.d.ts.map +1 -1
- package/dist/components/inputs/segmented-control/segmented-control.js +11 -2
- package/dist/components/inputs/segmented-control/segmented-control.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.d.ts +1 -0
- package/dist/components/inputs/stepper/stepper.d.ts.map +1 -1
- package/dist/components/inputs/stepper/stepper.js +1 -0
- package/dist/components/inputs/stepper/stepper.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.d.ts +2 -0
- package/dist/components/inputs/switch/switch.d.ts.map +1 -1
- package/dist/components/inputs/switch/switch.js +2 -0
- package/dist/components/inputs/switch/switch.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.d.ts +1 -0
- package/dist/components/inputs/text-field/text-field.d.ts.map +1 -1
- package/dist/components/inputs/text-field/text-field.js +1 -0
- package/dist/components/inputs/text-field/text-field.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 +1 -0
- package/dist/components/inputs/toggle-button/toggle-button.styles.js.map +1 -1
- package/dist/components/layout/container/container.d.ts +26 -3
- package/dist/components/layout/container/container.d.ts.map +1 -1
- package/dist/components/layout/container/container.js +26 -3
- package/dist/components/layout/container/container.js.map +1 -1
- package/dist/components/layout/page-sections/sidebar-section/sidebar-section.d.ts +2 -2
- package/dist/components/layout/page-sections/sidebar-section/sidebar-section.js +2 -2
- package/dist/components/layout/popover/popover.d.ts +17 -0
- package/dist/components/layout/popover/popover.d.ts.map +1 -1
- package/dist/components/layout/popover/popover.js +82 -5
- package/dist/components/layout/popover/popover.js.map +1 -1
- package/dist/components/layout/sheet/sheet.d.ts +12 -0
- package/dist/components/layout/sheet/sheet.d.ts.map +1 -1
- package/dist/components/layout/sheet/sheet.js +25 -2
- package/dist/components/layout/sheet/sheet.js.map +1 -1
- package/dist/components/layout/sheet/sheet.styles.d.ts.map +1 -1
- package/dist/components/layout/sheet/sheet.styles.js +6 -1
- package/dist/components/layout/sheet/sheet.styles.js.map +1 -1
- package/dist/components/layout/sheet/sheet.template.d.ts.map +1 -1
- package/dist/components/layout/sheet/sheet.template.js +1 -0
- package/dist/components/layout/sheet/sheet.template.js.map +1 -1
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.d.ts +1 -0
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.d.ts.map +1 -1
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.js +5 -0
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.js.map +1 -1
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.d.ts.map +1 -1
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.js +27 -0
- package/dist/components/layout/split-views/side-by-side-split-view/side-by-side-split-view.styles.js.map +1 -1
- package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.d.ts +2 -0
- package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.d.ts.map +1 -1
- package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.js +3 -0
- package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.js.map +1 -1
- package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.d.ts.map +1 -1
- package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.js +24 -0
- package/dist/components/layout/split-views/stacked-split-view/stacked-split-view.styles.js.map +1 -1
- package/dist/components/layout/window/window.d.ts +9 -0
- package/dist/components/layout/window/window.d.ts.map +1 -1
- package/dist/components/layout/window/window.js +19 -0
- package/dist/components/layout/window/window.js.map +1 -1
- package/dist/components/layout/window/window.styles.d.ts.map +1 -1
- package/dist/components/layout/window/window.styles.js +5 -1
- package/dist/components/layout/window/window.styles.js.map +1 -1
- package/dist/components/layout/window/window.template.d.ts.map +1 -1
- package/dist/components/layout/window/window.template.js +1 -0
- package/dist/components/layout/window/window.template.js.map +1 -1
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.d.ts +1 -0
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.d.ts.map +1 -1
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js +1 -0
- package/dist/components/lists-and-tables/cells/drag-handle-cell/drag-handle-cell.js.map +1 -1
- package/dist/components/lists-and-tables/list/list.d.ts +14 -0
- package/dist/components/lists-and-tables/list/list.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list/list.js +14 -0
- package/dist/components/lists-and-tables/list/list.js.map +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.d.ts +10 -0
- package/dist/components/lists-and-tables/list-item/list-item.d.ts.map +1 -1
- package/dist/components/lists-and-tables/list-item/list-item.js +10 -0
- package/dist/components/lists-and-tables/list-item/list-item.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.d.ts +1 -0
- package/dist/components/navigation/menu-bar-item/menu-bar-item.d.ts.map +1 -1
- package/dist/components/navigation/menu-bar-item/menu-bar-item.js +1 -0
- package/dist/components/navigation/menu-bar-item/menu-bar-item.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.d.ts +1 -0
- package/dist/components/navigation/pagination/pagination.d.ts.map +1 -1
- package/dist/components/navigation/pagination/pagination.js +1 -0
- package/dist/components/navigation/pagination/pagination.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.d.ts +2 -0
- package/dist/components/navigation/tab-bar/tab-bar.d.ts.map +1 -1
- package/dist/components/navigation/tab-bar/tab-bar.js +2 -0
- package/dist/components/navigation/tab-bar/tab-bar.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.d.ts +22 -0
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.d.ts.map +1 -1
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js +22 -0
- package/dist/components/navigation/top-navigation-bar/top-navigation-bar.js.map +1 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.d.ts +10 -0
- package/dist/components/navigation/top-title-bar/top-title-bar.d.ts.map +1 -1
- package/dist/components/navigation/top-title-bar/top-title-bar.js +27 -2
- package/dist/components/navigation/top-title-bar/top-title-bar.js.map +1 -1
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.d.ts.map +1 -1
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js +2 -0
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.js.map +1 -1
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.d.ts.map +1 -1
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js +16 -0
- package/dist/components/status-and-feedback/just-in-time-education/just-in-time-education.styles.js.map +1 -1
- package/dist/types/vue.d.ts +3277 -0
- package/dist/utilities/resolve-date-bound.d.ts +21 -0
- package/dist/utilities/resolve-date-bound.d.ts.map +1 -0
- package/dist/utilities/resolve-date-bound.js +75 -0
- package/dist/utilities/resolve-date-bound.js.map +1 -0
- package/package.json +31 -7
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the `min` / `max` bound of a date component to an ISO date.
|
|
3
|
+
*
|
|
4
|
+
* Bounds accept a literal ISO date (`2026-12-31`) or a relative expression
|
|
5
|
+
* anchored on today (`today`, `today-18y`, `today+1m`). The relative form exists
|
|
6
|
+
* because an absolute bound goes stale: a birthdate field written as
|
|
7
|
+
* `max="2026-07-19"` starts accepting tomorrow's date the day after it ships.
|
|
8
|
+
*
|
|
9
|
+
* Units are `d` (days), `w` (weeks), `m` (months) and `y` (years).
|
|
10
|
+
*
|
|
11
|
+
* "Today" is the local calendar day, so the bound matches the date on the user's
|
|
12
|
+
* own clock. Pass `today` explicitly to make callers and tests deterministic.
|
|
13
|
+
*
|
|
14
|
+
* An unreadable expression resolves to no bound rather than to an impossible
|
|
15
|
+
* one - a typo in an attribute should not silently reject every date.
|
|
16
|
+
*/
|
|
17
|
+
/** Guards against month/day overflow: new Date(2026, 1, 31) silently becomes March 3. */
|
|
18
|
+
export declare function isRealDate(year: number, month: number, day: number): boolean;
|
|
19
|
+
export declare function toIso(year: number, month: number, day: number): string | null;
|
|
20
|
+
export declare function resolveDateBound(raw: string, today?: Date): string;
|
|
21
|
+
//# sourceMappingURL=resolve-date-bound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-date-bound.d.ts","sourceRoot":"","sources":["../../src/utilities/resolve-date-bound.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,yFAAyF;AACzF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAM5E;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG7E;AAUD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,IAAiB,GAAG,MAAM,CAwC9E"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resolves the `min` / `max` bound of a date component to an ISO date.
|
|
3
|
+
*
|
|
4
|
+
* Bounds accept a literal ISO date (`2026-12-31`) or a relative expression
|
|
5
|
+
* anchored on today (`today`, `today-18y`, `today+1m`). The relative form exists
|
|
6
|
+
* because an absolute bound goes stale: a birthdate field written as
|
|
7
|
+
* `max="2026-07-19"` starts accepting tomorrow's date the day after it ships.
|
|
8
|
+
*
|
|
9
|
+
* Units are `d` (days), `w` (weeks), `m` (months) and `y` (years).
|
|
10
|
+
*
|
|
11
|
+
* "Today" is the local calendar day, so the bound matches the date on the user's
|
|
12
|
+
* own clock. Pass `today` explicitly to make callers and tests deterministic.
|
|
13
|
+
*
|
|
14
|
+
* An unreadable expression resolves to no bound rather than to an impossible
|
|
15
|
+
* one - a typo in an attribute should not silently reject every date.
|
|
16
|
+
*/
|
|
17
|
+
/** Guards against month/day overflow: new Date(2026, 1, 31) silently becomes March 3. */
|
|
18
|
+
export function isRealDate(year, month, day) {
|
|
19
|
+
if (month < 1 || month > 12 || day < 1)
|
|
20
|
+
return false;
|
|
21
|
+
const date = new Date(Date.UTC(year, month - 1, day));
|
|
22
|
+
return date.getUTCFullYear() === year
|
|
23
|
+
&& date.getUTCMonth() === month - 1
|
|
24
|
+
&& date.getUTCDate() === day;
|
|
25
|
+
}
|
|
26
|
+
export function toIso(year, month, day) {
|
|
27
|
+
if (!isRealDate(year, month, day))
|
|
28
|
+
return null;
|
|
29
|
+
return `${String(year).padStart(4, '0')}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`;
|
|
30
|
+
}
|
|
31
|
+
/** Day 0 of the next month is the last day of this one. */
|
|
32
|
+
function lastDayOfMonth(year, month) {
|
|
33
|
+
return new Date(Date.UTC(year, month, 0)).getUTCDate();
|
|
34
|
+
}
|
|
35
|
+
const ISO = /^(\d{4})-(\d{2})-(\d{2})$/;
|
|
36
|
+
const RELATIVE = /^today(?:([+-])(\d+)([dwmy]))?$/;
|
|
37
|
+
export function resolveDateBound(raw, today = new Date()) {
|
|
38
|
+
const trimmed = raw.trim();
|
|
39
|
+
if (trimmed === '')
|
|
40
|
+
return '';
|
|
41
|
+
const iso = ISO.exec(trimmed);
|
|
42
|
+
if (iso) {
|
|
43
|
+
return isRealDate(Number(iso[1]), Number(iso[2]), Number(iso[3])) ? trimmed : '';
|
|
44
|
+
}
|
|
45
|
+
const relative = RELATIVE.exec(trimmed);
|
|
46
|
+
if (!relative)
|
|
47
|
+
return '';
|
|
48
|
+
let year = today.getFullYear();
|
|
49
|
+
let month = today.getMonth() + 1;
|
|
50
|
+
let day = today.getDate();
|
|
51
|
+
if (relative[1]) {
|
|
52
|
+
const amount = Number(relative[2]) * (relative[1] === '-' ? -1 : 1);
|
|
53
|
+
const unit = relative[3];
|
|
54
|
+
if (unit === 'd' || unit === 'w') {
|
|
55
|
+
// Counted in UTC so a DST transition cannot swallow or repeat a day.
|
|
56
|
+
const shifted = new Date(Date.UTC(year, month - 1, day + amount * (unit === 'w' ? 7 : 1)));
|
|
57
|
+
year = shifted.getUTCFullYear();
|
|
58
|
+
month = shifted.getUTCMonth() + 1;
|
|
59
|
+
day = shifted.getUTCDate();
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
const months = amount * (unit === 'y' ? 12 : 1);
|
|
63
|
+
const total = year * 12 + (month - 1) + months;
|
|
64
|
+
year = Math.floor(total / 12);
|
|
65
|
+
month = ((total % 12) + 12) % 12 + 1;
|
|
66
|
+
// Clamp instead of overflowing: 31 March minus a month is the end of
|
|
67
|
+
// February, not 3 March. For an age check (`today-18y` on 29 February)
|
|
68
|
+
// this admits a leap-day birthday one day early, which is the forgiving
|
|
69
|
+
// direction - the alternative wrongly turns someone away.
|
|
70
|
+
day = Math.min(day, lastDayOfMonth(year, month));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return toIso(year, month, day) ?? '';
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=resolve-date-bound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-date-bound.js","sourceRoot":"","sources":["../../src/utilities/resolve-date-bound.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nldd/design-system",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.70",
|
|
4
4
|
"description": "Design System voor Nederlandse Digitale Dienst",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/components/components.js",
|
|
@@ -115,6 +115,14 @@
|
|
|
115
115
|
"types": "./dist/components/inputs/combo-box/combo-box.d.ts",
|
|
116
116
|
"default": "./dist/components/inputs/combo-box/combo-box.js"
|
|
117
117
|
},
|
|
118
|
+
"./date-field": {
|
|
119
|
+
"types": "./dist/components/inputs/date-field/date-field.d.ts",
|
|
120
|
+
"default": "./dist/components/inputs/date-field/date-field.js"
|
|
121
|
+
},
|
|
122
|
+
"./date-picker": {
|
|
123
|
+
"types": "./dist/components/inputs/date-picker/date-picker.d.ts",
|
|
124
|
+
"default": "./dist/components/inputs/date-picker/date-picker.js"
|
|
125
|
+
},
|
|
118
126
|
"./dropdown": {
|
|
119
127
|
"types": "./dist/components/inputs/dropdown/dropdown.d.ts",
|
|
120
128
|
"default": "./dist/components/inputs/dropdown/dropdown.js"
|
|
@@ -203,6 +211,10 @@
|
|
|
203
211
|
"types": "./dist/components/layout/split-views/stacked-split-view/stacked-split-view.d.ts",
|
|
204
212
|
"default": "./dist/components/layout/split-views/stacked-split-view/stacked-split-view.js"
|
|
205
213
|
},
|
|
214
|
+
"./split-view-divider": {
|
|
215
|
+
"types": "./dist/components/layout/split-views/split-view-divider/split-view-divider.d.ts",
|
|
216
|
+
"default": "./dist/components/layout/split-views/split-view-divider/split-view-divider.js"
|
|
217
|
+
},
|
|
206
218
|
"./split-view-pane": {
|
|
207
219
|
"types": "./dist/components/layout/split-views/split-view-pane/split-view-pane.d.ts",
|
|
208
220
|
"default": "./dist/components/layout/split-views/split-view-pane/split-view-pane.js"
|
|
@@ -405,10 +417,14 @@
|
|
|
405
417
|
"./tokens": {
|
|
406
418
|
"types": "./dist/assets/styles/tokens.d.ts",
|
|
407
419
|
"default": "./dist/assets/styles/tokens.js"
|
|
420
|
+
},
|
|
421
|
+
"./vue": {
|
|
422
|
+
"types": "./dist/types/vue.d.ts"
|
|
408
423
|
}
|
|
409
424
|
},
|
|
410
425
|
"files": [
|
|
411
|
-
"dist"
|
|
426
|
+
"dist",
|
|
427
|
+
"custom-elements.json"
|
|
412
428
|
],
|
|
413
429
|
"repository": {
|
|
414
430
|
"type": "git",
|
|
@@ -423,12 +439,15 @@
|
|
|
423
439
|
"build:styles": "mkdir -p dist/css dist/fonts && cp src/assets/styles/settings.css dist/css/settings.css && cp src/assets/styles/reset.css dist/css/reset.css && cp src/assets/styles/palettes.generated.css dist/css/palettes.generated.css && cp src/components/content/rich-text/rich-text.css dist/css/rich-text.css && cp src/components/forms/form/form.css dist/css/form.css && cp src/components/forms/form-section/form-section.css dist/css/form-section.css && cp src/assets/styles/fouc.css dist/css/fouc.css && printf '@import \"./settings.css\";\\n@import \"./reset.css\";\\n@import \"./rich-text.css\";\\n@import \"./form-section.css\";\\n@import \"./form.css\";\\n@import \"./fouc.css\";\\n' > dist/css/global.css && cp src/assets/fonts/*.woff2 dist/fonts/",
|
|
424
440
|
"generate:palettes": "node scripts/generate-palettes.js",
|
|
425
441
|
"generate:component-reference": "node scripts/generate-component-reference.js",
|
|
442
|
+
"generate:cem": "cem analyze && npm run generate:vue-types",
|
|
443
|
+
"generate:vue-types": "node scripts/generate-vue-types.js",
|
|
426
444
|
"generate:skill-changelog": "node scripts/generate-skill-changelog.js",
|
|
427
445
|
"generate:skill-principles": "node scripts/generate-skill-principles.js",
|
|
428
446
|
"generate:plugin-version": "node scripts/sync-plugin-version.js",
|
|
429
447
|
"generate:skill-docs": "npm run generate:component-reference && npm run generate:skill-changelog && npm run generate:skill-principles && npm run generate:plugin-version",
|
|
430
448
|
"validate:styles": "node scripts/validate-css-variables.js",
|
|
431
|
-
"
|
|
449
|
+
"validate:component-api": "node scripts/validate-component-api.js",
|
|
450
|
+
"build:components": "npm run clean:components && npm run build:icons && npm run build:components:modules && npm run build:components:bundle && npm run build:exports && npm run generate:cem",
|
|
432
451
|
"build:icons": "node scripts/generate-icon-registry.js && node scripts/generate-logo.js",
|
|
433
452
|
"build:components:modules": "tsc -p tsconfig.build.json",
|
|
434
453
|
"build:components:bundle": "vite build",
|
|
@@ -452,12 +471,14 @@
|
|
|
452
471
|
"pretest:run": "npm run build:icons",
|
|
453
472
|
"test": "vitest",
|
|
454
473
|
"test:run": "vitest run",
|
|
455
|
-
"test:scripts": "node --test scripts/*.test.mjs",
|
|
456
|
-
"typecheck": "tsc --noEmit"
|
|
474
|
+
"test:scripts": "node --test scripts/*.test.mjs scripts/lib/*.test.mjs",
|
|
475
|
+
"typecheck": "tsc --noEmit",
|
|
476
|
+
"test:vue-types": "vue-tsc --noEmit -p type-tests/vue/tsconfig.json"
|
|
457
477
|
},
|
|
458
478
|
"devDependencies": {
|
|
459
479
|
"@commitlint/cli": "^19.6.1",
|
|
460
480
|
"@commitlint/config-conventional": "^19.6.0",
|
|
481
|
+
"@custom-elements-manifest/analyzer": "^0.11.0",
|
|
461
482
|
"@eslint/js": "^9.17.0",
|
|
462
483
|
"@semantic-release/changelog": "^6.0.3",
|
|
463
484
|
"@semantic-release/exec": "^7.1.0",
|
|
@@ -480,7 +501,9 @@
|
|
|
480
501
|
"typescript": "^5.3.0",
|
|
481
502
|
"typescript-eslint": "^8.58.0",
|
|
482
503
|
"vite": "^7.3.1",
|
|
483
|
-
"vitest": "^4.0.16"
|
|
504
|
+
"vitest": "^4.0.16",
|
|
505
|
+
"vue": "^3.5.40",
|
|
506
|
+
"vue-tsc": "^3.3.7"
|
|
484
507
|
},
|
|
485
508
|
"engines": {
|
|
486
509
|
"node": ">=18.0.0"
|
|
@@ -513,5 +536,6 @@
|
|
|
513
536
|
"@lezer/highlight": "^1.2.3",
|
|
514
537
|
"@rijkshuisstijl-community/font": "^1.1.2",
|
|
515
538
|
"lit": "^3.3.1"
|
|
516
|
-
}
|
|
539
|
+
},
|
|
540
|
+
"customElements": "custom-elements.json"
|
|
517
541
|
}
|