@nordhealth/components 2.11.0 → 2.13.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/README.md +1 -1
- package/custom-elements.json +2341 -2313
- package/lib/{AutocompleteMixin-370de2be.js → AutocompleteMixin-5163f8db.js} +2 -2
- package/lib/{AutocompleteMixin-370de2be.js.map → AutocompleteMixin-5163f8db.js.map} +1 -1
- package/lib/Avatar.js +1 -1
- package/lib/Avatar.js.map +1 -1
- package/lib/Badge.js +1 -1
- package/lib/Badge.js.map +1 -1
- package/lib/Banner.js +1 -1
- package/lib/Banner.js.map +1 -1
- package/lib/Button.js +1 -1
- package/lib/Button.js.map +1 -1
- package/lib/ButtonGroup.js +1 -1
- package/lib/ButtonGroup.js.map +1 -1
- package/lib/Calendar-9d3d6d01.js +2 -0
- package/lib/Calendar-9d3d6d01.js.map +1 -0
- package/lib/Calendar.js +1 -1
- package/lib/Card.js +1 -1
- package/lib/Card.js.map +1 -1
- package/lib/Checkbox.js +1 -1
- package/lib/Checkbox.js.map +1 -1
- package/lib/CommandMenu.js +1 -1
- package/lib/CommandMenu.js.map +1 -1
- package/lib/CommandMenuAction.js +1 -1
- package/lib/CommandMenuAction.js.map +1 -1
- package/lib/Component-449e40fb.js +2 -0
- package/lib/Component-449e40fb.js.map +1 -0
- package/lib/DatePicker.js +1 -1
- package/lib/DatePicker.js.map +1 -1
- package/lib/Divider.js +1 -1
- package/lib/Divider.js.map +1 -1
- package/lib/Drawer.js +1 -1
- package/lib/Drawer.js.map +1 -1
- package/lib/Dropdown.js +1 -1
- package/lib/Dropdown.js.map +1 -1
- package/lib/DropdownGroup.js +1 -1
- package/lib/DropdownGroup.js.map +1 -1
- package/lib/DropdownItem.js +1 -1
- package/lib/DropdownItem.js.map +1 -1
- package/lib/EmptyState.js +1 -1
- package/lib/EmptyState.js.map +1 -1
- package/lib/Fieldset.js +1 -1
- package/lib/Fieldset.js.map +1 -1
- package/lib/{FocusableMixin-34870ed3.js → FocusableMixin-32631bff.js} +2 -2
- package/lib/{FocusableMixin-34870ed3.js.map → FocusableMixin-32631bff.js.map} +1 -1
- package/lib/FormAssociatedMixin-f4da77a8.js +2 -0
- package/lib/{FormAssociatedMixin-aa74901e.js.map → FormAssociatedMixin-f4da77a8.js.map} +1 -1
- package/lib/FormField-413f22f5.js +2 -0
- package/lib/FormField-413f22f5.js.map +1 -0
- package/lib/Header.js +1 -1
- package/lib/Header.js.map +1 -1
- package/lib/Icon.js +2 -2
- package/lib/Icon.js.map +1 -1
- package/lib/Input.js +1 -1
- package/lib/Input.js.map +1 -1
- package/lib/{InputMixin-158f63fb.js → InputMixin-7fa755e1.js} +2 -2
- package/lib/{InputMixin-158f63fb.js.map → InputMixin-7fa755e1.js.map} +1 -1
- package/lib/Layout.js +1 -1
- package/lib/Layout.js.map +1 -1
- package/lib/LightDomController-052f446a.js +2 -0
- package/lib/{LightDomController-3c726b20.js.map → LightDomController-052f446a.js.map} +1 -1
- package/lib/LocalizeController.js +1 -1
- package/lib/LocalizeController.js.map +1 -1
- package/lib/Modal.js +1 -1
- package/lib/Modal.js.map +1 -1
- package/lib/NavGroup.js +1 -1
- package/lib/NavGroup.js.map +1 -1
- package/lib/NavItem.js +1 -1
- package/lib/NavItem.js.map +1 -1
- package/lib/NavToggle.js +1 -1
- package/lib/NavToggle.js.map +1 -1
- package/lib/Navigation.js +1 -1
- package/lib/Navigation.js.map +1 -1
- package/lib/Popout-dae54e30.js +2 -0
- package/lib/{Popout-4aa0cc87.js.map → Popout-dae54e30.js.map} +1 -1
- package/lib/Popout.js +1 -1
- package/lib/ProgressBar.js +1 -1
- package/lib/ProgressBar.js.map +1 -1
- package/lib/Qrcode.js +1 -1
- package/lib/Qrcode.js.map +1 -1
- package/lib/Radio.js +1 -1
- package/lib/Radio.js.map +1 -1
- package/lib/Range.js +1 -1
- package/lib/Range.js.map +1 -1
- package/lib/Select.js +1 -1
- package/lib/Select.js.map +1 -1
- package/lib/SizeMixin-4d04817d.js +2 -0
- package/lib/{SizeMixin-4559b224.js.map → SizeMixin-4d04817d.js.map} +1 -1
- package/lib/Skeleton.js +1 -1
- package/lib/Skeleton.js.map +1 -1
- package/lib/SlotController-d733c575.js +2 -0
- package/lib/SlotController-d733c575.js.map +1 -0
- package/lib/Spinner.js +1 -1
- package/lib/Spinner.js.map +1 -1
- package/lib/Stack.js +1 -1
- package/lib/Stack.js.map +1 -1
- package/lib/Sticky-c4cf185e.js +2 -0
- package/lib/Sticky-c4cf185e.js.map +1 -0
- package/lib/Tab.js +1 -1
- package/lib/Tab.js.map +1 -1
- package/lib/TabGroup.js +1 -1
- package/lib/TabGroup.js.map +1 -1
- package/lib/TabPanel.js +1 -1
- package/lib/TabPanel.js.map +1 -1
- package/lib/Table.js +1 -1
- package/lib/Table.js.map +1 -1
- package/lib/TextField-ca819c35.js +2 -0
- package/lib/{TextField-db22898b.js.map → TextField-ca819c35.js.map} +1 -1
- package/lib/Textarea.js +1 -1
- package/lib/Textarea.js.map +1 -1
- package/lib/Toast.js +1 -1
- package/lib/Toast.js.map +1 -1
- package/lib/ToastGroup.js +1 -1
- package/lib/ToastGroup.js.map +1 -1
- package/lib/Toggle.js +1 -1
- package/lib/Toggle.js.map +1 -1
- package/lib/Tooltip.js +1 -1
- package/lib/Tooltip.js.map +1 -1
- package/lib/VisuallyHidden.js +1 -1
- package/lib/VisuallyHidden.js.map +1 -1
- package/lib/bundle.js +8 -8
- package/lib/bundle.js.map +1 -1
- package/lib/class-map-21152cee.js +7 -0
- package/lib/{class-map-949b7d3b.js.map → class-map-21152cee.js.map} +1 -1
- package/lib/collection-7eee4e72.js +7 -0
- package/lib/collection-7eee4e72.js.map +1 -0
- package/lib/cond-2da54107.js +2 -0
- package/lib/{cond-338158e9.js.map → cond-2da54107.js.map} +1 -1
- package/lib/date-adapter.js +1 -1
- package/lib/{dates-a8de5b83.js → dates-5b651fbe.js} +2 -2
- package/lib/{dates-a8de5b83.js.map → dates-5b651fbe.js.map} +1 -1
- package/lib/en-us.js +1 -1
- package/lib/en-us.js.map +1 -1
- package/lib/fi-fi.js +1 -1
- package/lib/fi-fi.js.map +1 -1
- package/lib/if-defined-720964c0.js +7 -0
- package/lib/{if-defined-4598a996.js.map → if-defined-720964c0.js.map} +1 -1
- package/lib/index.js +1 -1
- package/lib/localization6.js +2 -0
- package/lib/localization6.js.map +1 -0
- package/lib/query-assigned-elements-cf502539.js +35 -0
- package/lib/query-assigned-elements-cf502539.js.map +1 -0
- package/lib/{ref-0e619221.js → ref-c44e9f3c.js} +5 -5
- package/lib/{ref-0e619221.js.map → ref-c44e9f3c.js.map} +1 -1
- package/lib/src/button/Button.d.ts +1 -0
- package/lib/src/calendar/Calendar.d.ts +10 -3
- package/lib/src/calendar/Calendar.test.d.ts +0 -1
- package/lib/src/common/controllers/SlotController.d.ts +2 -0
- package/lib/src/common/mixins/SizeMixin.d.ts +0 -1
- package/lib/src/date-picker/DatePicker.d.ts +10 -2
- package/lib/src/date-picker/DatePicker.test.d.ts +0 -1
- package/lib/src/icon/Icon.d.ts +1 -1
- package/lib/src/localization/en-us.d.ts +3 -0
- package/lib/src/modal/Modal.d.ts +1 -1
- package/lib/src/nav-toggle/NavToggle.d.ts +1 -1
- package/lib/src/qrcode/Qrcode.d.ts +1 -1
- package/lib/src/range/Range.d.ts +1 -1
- package/lib/src/tab/Tab.d.ts +1 -1
- package/lib/src/tab-group/TabGroup.d.ts +1 -1
- package/lib/src/tab-panel/TabPanel.d.ts +1 -1
- package/lib/src/textarea/Textarea.d.ts +13 -1
- package/lib/src/textarea/localization.d.ts +4 -0
- package/lib/src/toast/Toast.d.ts +1 -1
- package/lib/src/toast-group/ToastGroup.d.ts +1 -1
- package/lib/src/toast-group/ToastGroup.test.d.ts +0 -1
- package/lib/src/toggle/Toggle.d.ts +1 -1
- package/lib/{style-map-2fe03b77.js → style-map-2e8fcab6.js} +2 -2
- package/lib/{style-map-2fe03b77.js.map → style-map-2e8fcab6.js.map} +1 -1
- package/lib/translation.js +1 -1
- package/lib/translation.js.map +1 -1
- package/package.json +5 -4
- package/lib/Calendar-29123404.js +0 -2
- package/lib/Calendar-29123404.js.map +0 -1
- package/lib/Component-92eb6234.js +0 -2
- package/lib/Component-92eb6234.js.map +0 -1
- package/lib/FormAssociatedMixin-aa74901e.js +0 -2
- package/lib/FormField-ae3570d2.js +0 -2
- package/lib/FormField-ae3570d2.js.map +0 -1
- package/lib/LightDomController-3c726b20.js +0 -2
- package/lib/Popout-4aa0cc87.js +0 -2
- package/lib/SizeMixin-4559b224.js +0 -2
- package/lib/SlotController-89834aef.js +0 -2
- package/lib/SlotController-89834aef.js.map +0 -1
- package/lib/Sticky-991acfdd.js +0 -2
- package/lib/Sticky-991acfdd.js.map +0 -1
- package/lib/TextField-db22898b.js +0 -2
- package/lib/class-map-949b7d3b.js +0 -7
- package/lib/collection-800f5002.js +0 -2
- package/lib/collection-800f5002.js.map +0 -1
- package/lib/cond-338158e9.js +0 -2
- package/lib/if-defined-4598a996.js +0 -7
- package/lib/lit-element-9178eae5.js +0 -24
- package/lib/lit-element-9178eae5.js.map +0 -1
- package/lib/month-view.js +0 -2
- package/lib/month-view.js.map +0 -1
- package/lib/query-assigned-elements-e6cbac30.js +0 -12
- package/lib/query-assigned-elements-e6cbac30.js.map +0 -1
- package/lib/repeat-ae6f075f.js +0 -7
- package/lib/repeat-ae6f075f.js.map +0 -1
- package/lib/src/calendar/month-view.d.ts +0 -32
|
@@ -2,7 +2,7 @@ import { LitElement } from "lit";
|
|
|
2
2
|
import "../button/Button.js";
|
|
3
3
|
import "../visually-hidden/VisuallyHidden.js";
|
|
4
4
|
import { DaysOfWeek } from "../common/dates.js";
|
|
5
|
-
export declare type
|
|
5
|
+
export declare type DatePredicate = (date: Date) => boolean;
|
|
6
6
|
/**
|
|
7
7
|
* Calendar allows user to pick a date. It comes with built-in
|
|
8
8
|
* functionality that allows you to set a minimum and a maximum allowed date.
|
|
@@ -18,7 +18,6 @@ export declare type DateDisabledPredicate = (date: Date) => boolean;
|
|
|
18
18
|
*/
|
|
19
19
|
export default class Calendar extends LitElement {
|
|
20
20
|
static styles: import("lit").CSSResult[];
|
|
21
|
-
private dialogLabelId;
|
|
22
21
|
private monthSelectNode;
|
|
23
22
|
private focusedDayNode;
|
|
24
23
|
private direction;
|
|
@@ -65,7 +64,15 @@ export default class Calendar extends LitElement {
|
|
|
65
64
|
* Controls which days are disabled and therefore disallowed.
|
|
66
65
|
* For example, this can be used to disallow selection of weekends.
|
|
67
66
|
*/
|
|
68
|
-
isDateDisabled:
|
|
67
|
+
isDateDisabled: DatePredicate;
|
|
68
|
+
/**
|
|
69
|
+
* Controls which days are highlighted with a small indicator.
|
|
70
|
+
* Returning a "falsy" value will not show an indicator.
|
|
71
|
+
* Returning "truthy" value will show the indicator, but without an accessible label.
|
|
72
|
+
* Returning a string will show the indicator, and use the string as accessible label.
|
|
73
|
+
* It is recommended to return a string rather than a truthy value whenever possible.
|
|
74
|
+
*/
|
|
75
|
+
isDateHighlighted: (date: Date) => string | boolean;
|
|
69
76
|
private activeFocus;
|
|
70
77
|
private focusedDay;
|
|
71
78
|
/**
|
|
@@ -3,11 +3,13 @@ export declare class SlotController implements ReactiveController {
|
|
|
3
3
|
protected host: ReactiveControllerHost & HTMLElement;
|
|
4
4
|
slotName: string;
|
|
5
5
|
private events;
|
|
6
|
+
private selector;
|
|
6
7
|
constructor(host: ReactiveControllerHost & HTMLElement, slotName?: string);
|
|
7
8
|
hostConnected(): void;
|
|
8
9
|
get hasContent(): boolean;
|
|
9
10
|
get isEmpty(): boolean;
|
|
10
11
|
get content(): Element | null;
|
|
12
|
+
get assigned(): Element[];
|
|
11
13
|
private handleSlotChange;
|
|
12
14
|
protected onChange(_e: Event): void;
|
|
13
15
|
}
|
|
@@ -4,5 +4,4 @@ export declare class SizeMixinInterface {
|
|
|
4
4
|
size: "s" | "m" | "l";
|
|
5
5
|
}
|
|
6
6
|
export declare function SizeMixin<T extends Constructor<LitElement>>(superClass: T): Constructor<SizeMixinInterface> & T;
|
|
7
|
-
export declare const iconSizeMap: Record<SizeMixinInterface["size"], string>;
|
|
8
7
|
export {};
|
|
@@ -6,7 +6,7 @@ import "../visually-hidden/VisuallyHidden.js";
|
|
|
6
6
|
import "../popout/Popout.js";
|
|
7
7
|
import "../stack/Stack.js";
|
|
8
8
|
import "../calendar/Calendar.js";
|
|
9
|
-
import type {
|
|
9
|
+
import type { DatePredicate } from "../calendar/Calendar.js";
|
|
10
10
|
import { DateAdapter } from "./date-adapter.js";
|
|
11
11
|
declare const DatePicker_base: (new (...args: any[]) => import("../common/mixins/SizeMixin.js").SizeMixinInterface) & (new (...args: any[]) => import("../common/mixins/FormAssociatedMixin.js").FormAssociatedMixinInterface) & (new (...args: any[]) => import("../common/mixins/ReadonlyMixin.js").ReadonlyMixinInterface) & (new (...args: any[]) => import("../common/mixins/InputMixin.js").InputMixinInterface) & (new (...args: any[]) => import("../common/mixins/FocusableMixin.js").FocusableMixinInterface) & typeof LitElement;
|
|
12
12
|
/**
|
|
@@ -85,7 +85,15 @@ export default class DatePicker extends DatePicker_base {
|
|
|
85
85
|
* Controls which days are disabled and therefore disallowed.
|
|
86
86
|
* For example, this can be used to disallow selection of weekends.
|
|
87
87
|
*/
|
|
88
|
-
isDateDisabled:
|
|
88
|
+
isDateDisabled: DatePredicate;
|
|
89
|
+
/**
|
|
90
|
+
* Controls which days are highlighted with a small indicator.
|
|
91
|
+
* Returning `false` will not show an indicator.
|
|
92
|
+
* Returning `true` will show the indicator, but without an accessible label. Therefore
|
|
93
|
+
* Returning a string will show the indicator, and use the string as accessible label.
|
|
94
|
+
* It is recommended to return a string rather than `true` whenever possible.
|
|
95
|
+
*/
|
|
96
|
+
isDateHighlighted: (date: Date) => string | boolean;
|
|
89
97
|
/**
|
|
90
98
|
* Controls whether the date picker expands to fill the width of its container.
|
|
91
99
|
*/
|
package/lib/src/icon/Icon.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export default class Icon extends LitElement {
|
|
|
41
41
|
/**
|
|
42
42
|
* The size of the icon.
|
|
43
43
|
*/
|
|
44
|
-
size
|
|
44
|
+
size?: "xxs" | "xs" | "s" | "m" | "l" | "xl" | "xxl";
|
|
45
45
|
/**
|
|
46
46
|
* The color of the icon.
|
|
47
47
|
* Can accept any valid CSS color value, including custom properties.
|
package/lib/src/modal/Modal.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { LitElement } from "lit";
|
|
|
4
4
|
* with the main view of an application. Modal should be used sparingly and
|
|
5
5
|
* only when necessary.
|
|
6
6
|
*
|
|
7
|
-
* @status
|
|
7
|
+
* @status ready
|
|
8
8
|
* @category overlay
|
|
9
9
|
* @slot - Default slot
|
|
10
10
|
* @slot header - Slot which holds the header of the modal, positioned next to the close button.
|
|
@@ -7,7 +7,7 @@ declare const NavToggle_base: (new (...args: any[]) => import("../common/mixins/
|
|
|
7
7
|
* This component is used internally in the Layout component, but can also be
|
|
8
8
|
* used separate to further customize the behaviour.
|
|
9
9
|
*
|
|
10
|
-
* @status
|
|
10
|
+
* @status new
|
|
11
11
|
* @category action
|
|
12
12
|
*/
|
|
13
13
|
export default class NavToggle extends NavToggle_base {
|
package/lib/src/range/Range.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ declare const Range_base: (new (...args: any[]) => import("../common/mixins/Form
|
|
|
4
4
|
* Range input lets user specify a numeric value using a slider which
|
|
5
5
|
* must be no less than a given value, and no more than another given value.
|
|
6
6
|
*
|
|
7
|
-
* @status
|
|
7
|
+
* @status new
|
|
8
8
|
* @category form
|
|
9
9
|
* @slot label - Use when a label requires more than plain text.
|
|
10
10
|
* @slot hint - Optional slot that holds hint text for the input.
|
package/lib/src/tab/Tab.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { LitElement } from "lit";
|
|
|
3
3
|
* Tab Group allows multiple panels to be contained within a single window,
|
|
4
4
|
* using tabs as a navigational element.
|
|
5
5
|
*
|
|
6
|
-
* @status
|
|
6
|
+
* @status ready
|
|
7
7
|
* @category navigation
|
|
8
8
|
* @slot - The element which contains the content to be revealed.
|
|
9
9
|
* @slot tab - The element which contains all tabs to reveal tabbed content.
|
|
@@ -17,11 +17,12 @@ declare const Textarea_base: (new (...args: any[]) => import("../common/mixins/S
|
|
|
17
17
|
* @cssprop [--n-textarea-color=var(--n-color-text)] - Controls the text color of the textarea, using our [color tokens](/tokens/#color).
|
|
18
18
|
* @cssprop [--n-textarea-border-color=var(--n-color-border-strong)] - Controls the border color of the textarea, using our [color tokens](/tokens/#color).
|
|
19
19
|
* @cssprop [--n-textarea-border-radius=var(--n-border-radius-s)] - Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).
|
|
20
|
-
|
|
21
20
|
*/
|
|
22
21
|
export default class Textarea extends Textarea_base {
|
|
23
22
|
static styles: import("lit").CSSResult[];
|
|
24
23
|
protected inputId: string;
|
|
24
|
+
private lengthMeasurer;
|
|
25
|
+
private localize;
|
|
25
26
|
/**
|
|
26
27
|
* Controls whether the textarea is resizable.
|
|
27
28
|
* By default is manually resizable vertically.
|
|
@@ -32,7 +33,18 @@ export default class Textarea extends Textarea_base {
|
|
|
32
33
|
* Controls whether the textarea expands to fill the width of its container.
|
|
33
34
|
*/
|
|
34
35
|
expand: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Controls the max allowed length for the textarea.
|
|
38
|
+
*/
|
|
39
|
+
maxLength?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Controls whether to show a count of the number of characters in the textarea.
|
|
42
|
+
* When combined with `maxlength`, both the count and the max length are shown.
|
|
43
|
+
*/
|
|
44
|
+
characterCounter: boolean;
|
|
35
45
|
render(): import("lit-html").TemplateResult<1>;
|
|
46
|
+
private renderCharacterCounter;
|
|
47
|
+
private handleLangChange;
|
|
36
48
|
protected resizeToFitContent(): void;
|
|
37
49
|
}
|
|
38
50
|
declare global {
|
package/lib/src/toast/Toast.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { LitElement } from "lit";
|
|
|
3
3
|
* Toasts are non-disruptive messages that appear in the interface
|
|
4
4
|
* to provide quick, at-a-glance feedback on the outcome of an action.
|
|
5
5
|
*
|
|
6
|
-
* @status
|
|
6
|
+
* @status ready
|
|
7
7
|
* @category feedback
|
|
8
8
|
* @slot - Default slot used for the toast text/message.
|
|
9
9
|
* @fires dismiss - Fired when the toast is dismissed (via user action or auto-dismiss), and its exit animation has completed. This event should be used to remove the dismissed toast from the DOM.
|
|
@@ -4,7 +4,7 @@ declare type ToastOptions = Partial<Pick<Toast, "variant" | "autoDismiss">>;
|
|
|
4
4
|
/**
|
|
5
5
|
* Toast group is used to position and style a group of toasts, whilst ensuring they are announced by screen readers.
|
|
6
6
|
*
|
|
7
|
-
* @status
|
|
7
|
+
* @status ready
|
|
8
8
|
* @category feedback
|
|
9
9
|
* @slot - Default slot in which to place toasts.
|
|
10
10
|
*/
|
|
@@ -5,7 +5,7 @@ declare const Toggle_base: (new (...args: any[]) => import("../common/mixins/For
|
|
|
5
5
|
* turned on or off. If a physical switch would work for the action, a
|
|
6
6
|
* toggle is probably the best component to use.
|
|
7
7
|
*
|
|
8
|
-
* @status
|
|
8
|
+
* @status ready
|
|
9
9
|
* @category form
|
|
10
10
|
* @slot label - Use when a label requires more than plain text.
|
|
11
11
|
* @slot hint - Optional slot that holds hint text for the input.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{x as e}from"./
|
|
1
|
+
import{x as e}from"./query-assigned-elements-cf502539.js";import{e as t,i as r,t as s}from"./directive-de55b00a.js";
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2018 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
6
|
*/const n=t(class extends r{constructor(e){var t;if(super(e),e.type!==s.ATTRIBUTE||"style"!==e.name||(null===(t=e.strings)||void 0===t?void 0:t.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce(((t,r)=>{const s=e[r];return null==s?t:t+`${r=r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`}),"")}update(t,[r]){const{style:s}=t.element;if(void 0===this.vt){this.vt=new Set;for(const e in r)this.vt.add(e);return this.render(r)}this.vt.forEach((e=>{null==r[e]&&(this.vt.delete(e),e.includes("-")?s.removeProperty(e):s[e]="")}));for(const e in r){const t=r[e];null!=t&&(this.vt.add(e),e.includes("-")?s.setProperty(e,t):s[e]=t)}return e}});export{n as i};
|
|
7
|
-
//# sourceMappingURL=style-map-
|
|
7
|
+
//# sourceMappingURL=style-map-2e8fcab6.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style-map-
|
|
1
|
+
{"version":3,"file":"style-map-2e8fcab6.js","sources":["../node_modules/lit-html/directives/style-map.js"],"sourcesContent":["import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const i=e(class extends r{constructor(t){var e;if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce(((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`}),\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.vt){this.vt=new Set;for(const t in r)this.vt.add(t);return this.render(r)}this.vt.forEach((t=>{null==r[t]&&(this.vt.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=\"\")}));for(const t in r){const e=r[t];null!=e&&(this.vt.add(t),t.includes(\"-\")?s.setProperty(t,e):s[t]=e)}return t}});export{i as styleMap};\n//# sourceMappingURL=style-map.js.map\n"],"names":["i","e","r","constructor","t","super","type","s","ATTRIBUTE","name","strings","length","Error","render","Object","keys","reduce","replace","toLowerCase","update","style","element","this","vt","Set","add","forEach","delete","includes","removeProperty","setProperty"],"mappings":";;;;;GAKQ,MAACA,EAAEC,EAAE,cAAcC,EAAEC,YAAYC,GAAG,IAAIH,EAAE,GAAGI,MAAMD,GAAGA,EAAEE,OAAOC,EAAEC,WAAW,UAAUJ,EAAEK,OAAO,QAAQR,EAAEG,EAAEM,eAAU,IAAST,OAAE,EAAOA,EAAEU,QAAQ,EAAE,MAAMC,MAAM,6GAA6G,CAACC,OAAOT,GAAG,OAAOU,OAAOC,KAAKX,GAAGY,QAAM,CAAGf,EAAEC,KAAK,MAAMK,EAAEH,EAAEF,GAAG,OAAO,MAAMK,EAAEN,EAAEA,EAAE,GAAGC,EAAEA,EAAEe,QAAQ,oCAAoC,OAAOC,iBAAiBX,IAAK,GAAE,GAAG,CAACY,OAAOlB,GAAGC,IAAI,MAAMkB,MAAMb,GAAGN,EAAEoB,QAAQ,QAAG,IAASC,KAAKC,GAAG,CAACD,KAAKC,GAAG,IAAIC,IAAI,IAAI,MAAMpB,KAAKF,EAAEoB,KAAKC,GAAGE,IAAIrB,GAAG,OAAOkB,KAAKT,OAAOX,EAAE,CAACoB,KAAKC,GAAGG,SAAStB,IAAI,MAAMF,EAAEE,KAAKkB,KAAKC,GAAGI,OAAOvB,GAAGA,EAAEwB,SAAS,KAAKrB,EAAEsB,eAAezB,GAAGG,EAAEH,GAAG,GAAI,IAAG,IAAI,MAAMA,KAAKF,EAAE,CAAC,MAAMD,EAAEC,EAAEE,GAAG,MAAMH,IAAIqB,KAAKC,GAAGE,IAAIrB,GAAGA,EAAEwB,SAAS,KAAKrB,EAAEuB,YAAY1B,EAAEH,GAAGM,EAAEH,GAAGH,EAAE,CAAC,OAAOG,CAAC"}
|
package/lib/translation.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"./en-us.js";import"./localization.js";import"./localization2.js";import"./localization3.js";import"./localization4.js";import"./localization5.js";const o=new Set,n=new Map;function e(){for(const t of o)t()}function i(){n.clear()}function r(...t){t.forEach((t=>{const o=t.$lang.toLowerCase();n.set(o,t)})),e()}function a(t){return o.add(t),()=>o.delete(t)}function c(t){return n.has(t)}function s(o){const e=o.toLowerCase(),[i]=e.split("-");return n.get(e)||n.get(i)||t}new MutationObserver(e).observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]});export{i as clearTranslations,c as isTranslationRegistered,r as registerTranslation,s as resolveTranslation,a as subscribe};
|
|
1
|
+
import t from"./en-us.js";import"./localization.js";import"./localization2.js";import"./localization3.js";import"./localization4.js";import"./localization5.js";import"./localization6.js";const o=new Set,n=new Map;function e(){for(const t of o)t()}function i(){n.clear()}function r(...t){t.forEach((t=>{const o=t.$lang.toLowerCase();n.set(o,t)})),e()}function a(t){return o.add(t),()=>o.delete(t)}function c(t){return n.has(t)}function s(o){const e=o.toLowerCase(),[i]=e.split("-");return n.get(e)||n.get(i)||t}new MutationObserver(e).observe(document.documentElement,{attributes:!0,attributeFilter:["lang"]});export{i as clearTranslations,c as isTranslationRegistered,r as registerTranslation,s as resolveTranslation,a as subscribe};
|
|
2
2
|
//# sourceMappingURL=translation.js.map
|
package/lib/translation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translation.js","sources":["../src/localization/translation.ts"],"sourcesContent":["import en from \"./en-us.js\"\n\n// gets list of properties beginning prefix\ntype PickStartsWith<Type, Prefix extends string> = {\n [Property in keyof Type]: Property extends `${Prefix}${string}` ? Property : never\n}[keyof Type]\n\nexport type Translation = typeof en\nexport type WellKnownKeys = PickStartsWith<Translation, \"$\">\n\nconst subscribers = new Set<() => void>()\nconst translations = new Map<string, Translation>()\n\nfunction update() {\n for (const subscriber of subscribers) {\n subscriber()\n }\n}\n\n// observe changes to the document's lang\nconst observer = new MutationObserver(update)\nobserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [\"lang\"],\n})\n\n/**\n * Removes all registered translations\n */\nexport function clearTranslations() {\n translations.clear()\n}\n\n/**\n * Registers one or more translations\n */\nexport function registerTranslation(...translation: Translation[]) {\n translation.forEach(t => {\n const lang = t.$lang.toLowerCase()\n translations.set(lang, t)\n })\n\n update()\n}\n\n/**\n * subscribe to language changes\n * @param onChange callback for when either `lang` attr changes, or a new language is registered.\n * @returns cleanup function\n */\nexport function subscribe(onChange: () => void): () => void {\n subscribers.add(onChange)\n return () => subscribers.delete(onChange)\n}\n\n/**\n * Check whether there is a translation registered for the given lang\n * @param lang the lang code e.g. \"en\" or \"en-GB\"\n */\nexport function isTranslationRegistered(lang: string) {\n return translations.has(lang)\n}\n\n/**\n * Picks the most appropriate translation for the given language, from most specific to least specific.\n * First tries lang + region, then lang only, then fallback.\n */\nexport function resolveTranslation(langCode: string): Translation {\n const lang = langCode.toLowerCase()\n const [langOnly] = lang.split(\"-\")\n\n return translations.get(lang) || translations.get(langOnly) || en\n}\n"],"names":["subscribers","Set","translations","Map","update","subscriber","clearTranslations","clear","registerTranslation","translation","forEach","t","lang","$lang","toLowerCase","set","subscribe","onChange","add","delete","isTranslationRegistered","has","resolveTranslation","langCode","langOnly","split","get","en","MutationObserver","observe","document","documentElement","attributes","attributeFilter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"translation.js","sources":["../src/localization/translation.ts"],"sourcesContent":["import en from \"./en-us.js\"\n\n// gets list of properties beginning prefix\ntype PickStartsWith<Type, Prefix extends string> = {\n [Property in keyof Type]: Property extends `${Prefix}${string}` ? Property : never\n}[keyof Type]\n\nexport type Translation = typeof en\nexport type WellKnownKeys = PickStartsWith<Translation, \"$\">\n\nconst subscribers = new Set<() => void>()\nconst translations = new Map<string, Translation>()\n\nfunction update() {\n for (const subscriber of subscribers) {\n subscriber()\n }\n}\n\n// observe changes to the document's lang\nconst observer = new MutationObserver(update)\nobserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [\"lang\"],\n})\n\n/**\n * Removes all registered translations\n */\nexport function clearTranslations() {\n translations.clear()\n}\n\n/**\n * Registers one or more translations\n */\nexport function registerTranslation(...translation: Translation[]) {\n translation.forEach(t => {\n const lang = t.$lang.toLowerCase()\n translations.set(lang, t)\n })\n\n update()\n}\n\n/**\n * subscribe to language changes\n * @param onChange callback for when either `lang` attr changes, or a new language is registered.\n * @returns cleanup function\n */\nexport function subscribe(onChange: () => void): () => void {\n subscribers.add(onChange)\n return () => subscribers.delete(onChange)\n}\n\n/**\n * Check whether there is a translation registered for the given lang\n * @param lang the lang code e.g. \"en\" or \"en-GB\"\n */\nexport function isTranslationRegistered(lang: string) {\n return translations.has(lang)\n}\n\n/**\n * Picks the most appropriate translation for the given language, from most specific to least specific.\n * First tries lang + region, then lang only, then fallback.\n */\nexport function resolveTranslation(langCode: string): Translation {\n const lang = langCode.toLowerCase()\n const [langOnly] = lang.split(\"-\")\n\n return translations.get(lang) || translations.get(langOnly) || en\n}\n"],"names":["subscribers","Set","translations","Map","update","subscriber","clearTranslations","clear","registerTranslation","translation","forEach","t","lang","$lang","toLowerCase","set","subscribe","onChange","add","delete","isTranslationRegistered","has","resolveTranslation","langCode","langOnly","split","get","en","MutationObserver","observe","document","documentElement","attributes","attributeFilter"],"mappings":"2LAUA,MAAMA,EAAc,IAAIC,IAClBC,EAAe,IAAIC,IAEzB,SAASC,IACP,IAAK,MAAMC,KAAcL,EACvBK,GAEJ,UAYgBC,IACdJ,EAAaK,OACf,CAKgB,SAAAC,KAAuBC,GACrCA,EAAYC,SAAQC,IAClB,MAAMC,EAAOD,EAAEE,MAAMC,cACrBZ,EAAaa,IAAIH,EAAMD,EAAE,IAG3BP,GACF,CAOM,SAAUY,EAAUC,GAExB,OADAjB,EAAYkB,IAAID,GACT,IAAMjB,EAAYmB,OAAOF,EAClC,CAMM,SAAUG,EAAwBR,GACtC,OAAOV,EAAamB,IAAIT,EAC1B,CAMM,SAAUU,EAAmBC,GACjC,MAAMX,EAAOW,EAAST,eACfU,GAAYZ,EAAKa,MAAM,KAE9B,OAAOvB,EAAawB,IAAId,IAASV,EAAawB,IAAIF,IAAaG,CACjE,CApDiB,IAAIC,iBAAiBxB,GAC7ByB,QAAQC,SAASC,gBAAiB,CACzCC,YAAY,EACZC,gBAAiB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nordhealth/components",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"description": "This package includes Nord Design System web components",
|
|
5
5
|
"author": "Nordhealth <support@nordhealth.design>",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
@@ -50,8 +50,8 @@
|
|
|
50
50
|
"@rollup/plugin-typescript": "8.3.4",
|
|
51
51
|
"@types/mocha": "9.1.1",
|
|
52
52
|
"@types/prettier": "2.7.0",
|
|
53
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
54
|
-
"@typescript-eslint/parser": "5.
|
|
53
|
+
"@typescript-eslint/eslint-plugin": "5.44.0",
|
|
54
|
+
"@typescript-eslint/parser": "5.44.0",
|
|
55
55
|
"@web/dev-server": "0.1.31",
|
|
56
56
|
"@web/dev-server-esbuild": "0.2.16",
|
|
57
57
|
"@web/dev-server-rollup": "0.3.17",
|
|
@@ -82,6 +82,7 @@
|
|
|
82
82
|
],
|
|
83
83
|
"parser": "@typescript-eslint/parser",
|
|
84
84
|
"parserOptions": {
|
|
85
|
+
"ecmaVersion": 2020,
|
|
85
86
|
"project": [
|
|
86
87
|
"packages/components/tsconfig.json"
|
|
87
88
|
]
|
|
@@ -179,5 +180,5 @@
|
|
|
179
180
|
}
|
|
180
181
|
]
|
|
181
182
|
},
|
|
182
|
-
"gitHead": "
|
|
183
|
+
"gitHead": "3def1502b8de084c801571bcfdde5f151504fb1d"
|
|
183
184
|
}
|
package/lib/Calendar-29123404.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as e,e as a}from"./query-assigned-elements-e6cbac30.js";import{i as t,s as n,y as o}from"./lit-element-9178eae5.js";import{e as s}from"./property-03f59dce.js";import{t as i}from"./state-70f38ceb.js";import{i as r}from"./query-2d22378e.js";import{c as l}from"./repeat-ae6f075f.js";import{o as d}from"./tinykeys.module-84e6cc41.js";import"./Button.js";import"./VisuallyHidden.js";import c from"./Icon.js";import{E as h}from"./EventController-d99ebeef.js";import{D as u}from"./DirectionController-8b298382.js";import{LocalizeController as p}from"./LocalizeController.js";import{r as v}from"./number-c3ab3e95.js";import{i as m,p as f,a as g,s as y,e as b,b as w,g as x,c as D,d as k,f as z,h as F,j as M,k as S,l as Y}from"./dates-a8de5b83.js";import{o as $}from"./observe-a9c6dfb6.js";import{monthView as j}from"./month-view.js";import{DateSelectEvent as _}from"./DateSelectEvent.js";import{s as C}from"./Component-92eb6234.js";var L=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 140 140" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M105 57.4 47.6 2.8a10.566 10.566 0 1 0-14.56 15.316l51.968 49.35a3.486 3.486 0 0 1 0 5.068l-51.968 49.35a10.502 10.502 0 0 0 14.462 15.232l57.638-54.74A17.584 17.584 0 0 0 105 57.4z"/></svg>',title:"arrow-right-small",tags:"nordicon arrow right small caret pointing triangle chevron"});var N=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 140 140" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M99.736 140a10.486 10.486 0 0 1-7.238-2.884L35 82.6a17.598 17.598 0 0 1-.14-24.976l57.638-54.74a10.502 10.502 0 1 1 14.462 15.232l-51.968 49.35a3.486 3.486 0 0 0 0 5.068l51.968 49.35A10.5 10.5 0 0 1 99.736 140z"/></svg>',title:"arrow-left-small",tags:"nordicon arrow left small caret pointing triangle chevron"});var T=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 140 140" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M70 110.236a17.332 17.332 0 0 1-12.306-5.096L2.884 47.502A10.502 10.502 0 1 1 18.116 33.04l49.35 51.968a3.486 3.486 0 0 0 5.068 0l49.35-51.968a10.502 10.502 0 1 1 15.232 14.462L82.6 105a17.766 17.766 0 0 1-12.6 5.236z"/></svg>',title:"arrow-down-small",tags:"nordicon arrow down small caret pointing triangle chevron"});const O=e=>e.preventDefault();class I{constructor(e,a){this.hadFirstUpdate=!1,this.initialTouchX=0,this.initialTouchY=0,this.handleTouchStart=e=>{const[{pageX:a,pageY:t}]=e.changedTouches;this.initialTouchX=a,this.initialTouchY=t},this.handleTouchEnd=e=>{const[{pageX:a,pageY:t}]=e.changedTouches,{matchesGesture:n,onSwipeEnd:o}=this.options,s=a-this.initialTouchX,i=t-this.initialTouchY,r={initialX:this.initialTouchX,initialY:this.initialTouchY,pageX:a,pageY:t,distX:s,distY:i};n(r)&&(e.preventDefault(),o(r))},e.addController(this),this.events=new h(e),this.options={target:()=>e,...a}}hostUpdated(){if(!this.hadFirstUpdate){this.hadFirstUpdate=!0;const e=this.options.target();this.events.listen(e,"touchstart",this.handleTouchStart),this.events.listen(e,"touchmove",O),this.events.listen(e,"touchend",this.handleTouchEnd)}}hostDisconnected(){this.hadFirstUpdate=!1}}const X=({distX:e,distY:a})=>Math.abs(e)>=70&&Math.abs(a)<=70,A=({distX:e,distY:a})=>Math.abs(a)>=70&&Math.abs(e)<=70&&a>0,E=t`:host{--_n-calendar-box-shadow:var(--n-calendar-box-shadow, var(--n-box-shadow-popout));--_n-calendar-border-radius:var(--n-calendar-border-radius, var(--n-border-radius-s));--_n-calendar-padding:var(--n-space-m) var(--n-space-m) calc(var(--n-space-m) * 1.25);--_n-calendar-inline-size:max-content;font-feature-settings:var(--n-font-features-reduced)}.n-calendar{-webkit-user-select:none;user-select:none;background:var(--n-color-surface);box-shadow:var(--_n-calendar-box-shadow);border-radius:var(--_n-calendar-border-radius);inline-size:var(--_n-calendar-inline-size);min-inline-size:min-content;padding:var(--_n-calendar-padding)}:host([expand]){--_n-calendar-inline-size:100%}.n-calendar-table{border-collapse:collapse;border-spacing:0;color:var(--n-color-text);font-size:var(--n-font-size-m);font-weight:var(--n-font-weight);line-height:var(--n-date-picker-line-height);text-align:center;inline-size:100%}.n-calendar-table-header{font-size:var(--n-font-size-s);font-weight:var(--n-font-weight-active);letter-spacing:1px;line-height:var(--n-date-picker-line-height);padding-block-end:8px;text-decoration:none;text-transform:uppercase}.n-calendar-cell{text-align:center;padding:1px}.n-calendar-day{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:0 0;border:0;border-radius:var(--n-border-radius-s);color:var(--n-color-text);cursor:pointer;display:inline-block;font-family:var(--n-font-family);font-size:var(--n-font-size-m);font-variant-numeric:tabular-nums;font-weight:var(--n-font-weight);block-size:36px;padding:0 0 1px;position:relative;text-align:center;vertical-align:middle;inline-size:36px}.n-calendar-day[aria-current=date]{box-shadow:0 0 0 1px var(--n-color-accent);color:var(--n-color-text-link);position:relative}.n-calendar-day:hover{background:var(--n-color-active)}.n-calendar-day:focus,.n-calendar-day[aria-pressed=true]{background:var(--n-color-accent);box-shadow:none;color:var(--n-color-text-on-accent);outline:0}.n-calendar-day:active{background:var(--n-color-accent);box-shadow:none!important;color:var(--n-color-text-on-accent)}.n-calendar-day:focus{box-shadow:0 0 5px var(--n-color-accent)}.n-calendar-day:not(.is-month){box-shadow:none}.n-calendar-day:not(.is-month),.n-calendar-day[aria-disabled=true]{background:0 0;color:var(--n-color-text-weakest);cursor:default}.n-calendar-day[aria-disabled=true]{color:var(--n-color-text-weaker);text-decoration:line-through}.n-calendar-day:not(.is-month)[aria-disabled=true]{color:var(--n-color-text-weakest);text-decoration:none}.n-calendar-day[aria-disabled=true][aria-current=date]{box-shadow:0 0 0 1px var(--n-color-accent);color:var(--n-color-text-link)}.n-calendar-day[aria-disabled=true][aria-current=date]:focus{box-shadow:0 0 5px var(--n-color-accent);background:var(--n-color-accent);color:var(--n-color-text-on-accent)}.n-calendar-day[aria-disabled=true]:not([aria-current=date])::before{display:none}.n-calendar-day.is-outside{background:0 0;box-shadow:none;color:var(--n-color-text-weakest);cursor:default;pointer-events:none}.n-calendar-day.is-outside::before{display:none}.n-calendar-header{align-items:start;display:flex;justify-content:space-between;margin-block-end:16px;inline-size:100%}.n-calendar-nav{white-space:nowrap}.n-calendar-nav nord-button{--_n-button-padding-inline:11px;margin-inline-start:calc(var(--n-space-s)/ 2)}.n-calendar-select{display:inline-flex;margin-block-start:4px;position:relative;line-height:var(--n-line-height)}.n-calendar-select span{margin-inline-end:var(--n-space-s)}.n-calendar-select select{cursor:pointer;font-size:var(--n-font-size-l);block-size:100%;inset-inline-start:0;opacity:0;position:absolute;inset-block-start:0;inline-size:100%}.n-calendar-select select:focus+.n-calendar-select-label{box-shadow:0 0 0 2px var(--n-color-accent)}.n-calendar-select-label{align-items:center;border-radius:var(--n-border-radius-s);color:var(--n-color-text);display:flex;font-size:var(--n-font-size-xl);font-weight:var(--n-font-weight-active);line-height:var(--n-date-picker-line-height);padding-block:0;padding-inline:8px 4px;pointer-events:none;position:relative;inline-size:100%;text-transform:capitalize}`;c.registerIcon(L),c.registerIcon(N),c.registerIcon(T);const W=e=>a=>{a.preventDefault(),e(a)},U=()=>!1;let B=class extends n{constructor(){super(...arguments),this.dialogLabelId="dialog-header",this.direction=new u(this),this.swipe=new I(this,{matchesGesture:X,onSwipeEnd:({distX:e})=>this.addMonths(e<0?1:-1)}),this.shortcuts=d({ArrowRight:W((()=>this.addDays(this.direction.isLTR?1:-1))),ArrowLeft:W((()=>this.addDays(this.direction.isLTR?-1:1))),ArrowDown:W((()=>this.addDays(7))),ArrowUp:W((()=>this.addDays(-7))),Home:W((()=>this.startOfWeek())),End:W((()=>this.endOfWeek())),PageUp:W((()=>this.addMonths(-1))),PageDown:W((()=>this.addMonths(1))),"Shift+PageUp":W((()=>this.addYears(-1))),"Shift+PageDown":W((()=>this.addYears(1)))}),this.localize=new p(this,{onLangChange:()=>this.handleLangChange()}),this.value="",this.firstDayOfWeek=1,this.min="",this.max="",this.expand=!1,this.isDateDisabled=U,this.activeFocus=!1,this.focusedDay=new Date,this.handleDaySelect=e=>{const a=m(e,f(this.min),f(this.max)),t=!this.isDateDisabled(e);a&&t&&(this.value=g(e),this.dispatchEvent(new _("change",e)))},this.handleMonthSelect=e=>{this.setMonth(parseInt(e.target.value,10))},this.handleYearSelect=e=>{this.setYear(parseInt(e.target.value,10))},this.handleNextMonthClick=e=>{e.preventDefault(),this.addMonths(1)},this.handlePreviousMonthClick=e=>{e.preventDefault(),this.addMonths(-1)},this.enableActiveFocus=()=>{this.activeFocus=!0},this.disableActiveFocus=()=>{this.activeFocus=!1}}focus(e){var a;const t=null!==(a=null==e?void 0:e.target)&&void 0!==a?a:"day";"day"===t?this.focusedDayNode.focus():"month"===t&&this.monthSelectNode.focus()}render(){const e=f(this.value),a=this.focusedDay.getMonth(),t=this.focusedDay.getFullYear(),n=f(this.min),s=f(this.max),i=n?y(n):void 0,r=s?b(s):void 0,d=(e||this.focusedDay).getFullYear(),c=n?n.getFullYear():d-10,h=s?s.getFullYear():d+10;return o`<div class="n-calendar"><div class="n-calendar-header"><div><nord-visually-hidden><h2 id="${this.dialogLabelId}" aria-live="polite" aria-atomic="true">${this.monthNames[a]}, ${this.focusedDay.getFullYear()}</h2></nord-visually-hidden><div class="n-calendar-select"><select aria-label="${this.localize.term("monthSelectLabel")}" class="n-calendar-select-month" @input="${this.handleMonthSelect}">${this.monthNames.map(((e,n)=>o`<option value="${n}" ?selected="${n===a}" ?disabled="${!m(new Date(t,n,1),i,r)}">${e}</option>`))}</select><div class="n-calendar-select-label" aria-hidden="true"><span>${this.monthNamesShort[a]}</span><nord-icon color="var(--n-color-icon)" name="arrow-down-small" size="xxs"></nord-icon></div></div><div class="n-calendar-select"><select aria-label="${this.localize.term("yearSelectLabel")}" class="n-calendar-select-year" @input="${this.handleYearSelect}">${l(v(c,h),(e=>e),(e=>o`<option ?selected="${e===t}">${e}</option>`))}</select><div class="n-calendar-select-label" aria-hidden="true"><span>${this.focusedDay.getFullYear()}</span><nord-icon color="var(--n-color-icon)" name="arrow-down-small" size="xxs"></nord-icon></div></div></div><div class="n-calendar-nav"><nord-button class="n-calendar-prev" @click="${this.handlePreviousMonthClick}" ?disabled="${w(n,this.focusedDay)}" type="button"><nord-visually-hidden>${this.localize.term("prevMonthLabel")}</nord-visually-hidden><nord-icon name="${this.direction.isLTR?"arrow-left-small":"arrow-right-small"}" size="s"></nord-icon></nord-button><nord-button class="n-calendar-next" @click="${this.handleNextMonthClick}" ?disabled="${w(s,this.focusedDay)}" type="button"><nord-visually-hidden>${this.localize.term("nextMonthLabel")}</nord-visually-hidden><nord-icon name="${this.direction.isLTR?"arrow-right-small":"arrow-left-small"}" size="s"></nord-icon></nord-button></div></div>${j({onFocusOut:this.disableActiveFocus,onFocusIn:this.enableActiveFocus,dateFormatter:this.dateFormatShort,selectedDate:e,focusedDate:this.focusedDay,onDateSelect:this.handleDaySelect,onKeyboardNavigation:this.shortcuts,labelledById:this.dialogLabelId,dayNames:this.dayNames,dayNamesShort:this.dayNamesShort,firstDayOfWeek:this.firstDayOfWeek,min:n,max:s,isDateDisabled:this.isDateDisabled})}</div>`}handleValueChange(){this.setFocusedDay(f(this.value)||new Date)}handleFocusedDayChange(){this.activeFocus&&this.focusedDayNode.focus()}handleLangChange(){const e=this.localize.resolvedLang;this.dateFormatShort=new Intl.DateTimeFormat(e,{day:"numeric",month:"long"}),this.monthNames=x(e,"long"),this.monthNamesShort=x(e,"short"),this.dayNames=D(e,"long"),this.dayNamesShort=D(e,"narrow")}addDays(e){this.setFocusedDay(k(this.focusedDay,e))}addMonths(e){this.setMonth(this.focusedDay.getMonth()+e)}addYears(e){this.setYear(this.focusedDay.getFullYear()+e)}startOfWeek(){this.setFocusedDay(z(this.focusedDay,this.firstDayOfWeek))}endOfWeek(){this.setFocusedDay(F(this.focusedDay,this.firstDayOfWeek))}setMonth(e){const a=M(y(this.focusedDay),e),t=b(a),n=M(this.focusedDay,e);this.setFocusedDay(S(n,a,t))}setYear(e){const a=Y(y(this.focusedDay),e),t=b(a),n=Y(this.focusedDay,e);this.setFocusedDay(S(n,a,t))}setFocusedDay(e){this.focusedDay=S(e,f(this.min),f(this.max)),this.dispatchEvent(new _("nord-focus-date",this.focusedDay))}};B.styles=[C,E],e([r(".n-calendar-select-month",!0)],B.prototype,"monthSelectNode",void 0),e([r('button[tabindex="0"]')],B.prototype,"focusedDayNode",void 0),e([s()],B.prototype,"value",void 0),e([s({type:Number})],B.prototype,"firstDayOfWeek",void 0),e([s()],B.prototype,"min",void 0),e([s()],B.prototype,"max",void 0),e([s({reflect:!0,type:Boolean})],B.prototype,"expand",void 0),e([s({attribute:!1})],B.prototype,"isDateDisabled",void 0),e([i()],B.prototype,"activeFocus",void 0),e([i()],B.prototype,"focusedDay",void 0),e([$("value")],B.prototype,"handleValueChange",null),e([$("focusedDay","updated")],B.prototype,"handleFocusedDayChange",null),B=e([a("nord-calendar")],B);var P=B;export{P as C,I as S,A as i};
|
|
2
|
-
//# sourceMappingURL=Calendar-29123404.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar-29123404.js","sources":["../../icons/lib/assets/arrow-right-small.js","../../icons/lib/assets/arrow-left-small.js","../../icons/lib/assets/arrow-down-small.js","../src/common/controllers/SwipeController.ts","../src/calendar/Calendar.ts"],"sourcesContent":["export default '<svg viewBox=\"0 0 140 140\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" d=\"M105 57.4 47.6 2.8a10.566 10.566 0 1 0-14.56 15.316l51.968 49.35a3.486 3.486 0 0 1 0 5.068l-51.968 49.35a10.502 10.502 0 0 0 14.462 15.232l57.638-54.74A17.584 17.584 0 0 0 105 57.4z\"/></svg>'\nexport const title = \"arrow-right-small\"\nexport const tags = \"nordicon arrow right small caret pointing triangle chevron\"\n","export default '<svg viewBox=\"0 0 140 140\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" d=\"M99.736 140a10.486 10.486 0 0 1-7.238-2.884L35 82.6a17.598 17.598 0 0 1-.14-24.976l57.638-54.74a10.502 10.502 0 1 1 14.462 15.232l-51.968 49.35a3.486 3.486 0 0 0 0 5.068l51.968 49.35A10.5 10.5 0 0 1 99.736 140z\"/></svg>'\nexport const title = \"arrow-left-small\"\nexport const tags = \"nordicon arrow left small caret pointing triangle chevron\"\n","export default '<svg viewBox=\"0 0 140 140\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" d=\"M70 110.236a17.332 17.332 0 0 1-12.306-5.096L2.884 47.502A10.502 10.502 0 1 1 18.116 33.04l49.35 51.968a3.486 3.486 0 0 0 5.068 0l49.35-51.968a10.502 10.502 0 1 1 15.232 14.462L82.6 105a17.766 17.766 0 0 1-12.6 5.236z\"/></svg>'\nexport const title = \"arrow-down-small\"\nexport const tags = \"nordicon arrow down small caret pointing triangle chevron\"\n","import { ReactiveController, ReactiveElement } from \"lit\"\nimport { EventController } from \"./EventController.js\"\n\nexport type SwipeDetails = {\n initialX: number\n initialY: number\n pageX: number\n pageY: number\n distX: number\n distY: number\n}\n\nconst preventDefault = (e: Event) => e.preventDefault()\n\ntype SetRequired<T, K extends keyof T> = T & { [Property in K]-?: T[K] }\ntype SwipeControllerOptions = {\n target?: () => HTMLElement\n matchesGesture: (details: SwipeDetails) => boolean\n onSwipeEnd: (details: SwipeDetails) => void\n}\n\nexport class SwipeController implements ReactiveController {\n private events: EventController\n private hadFirstUpdate = false\n\n private initialTouchX: number = 0\n private initialTouchY: number = 0\n private options: SetRequired<SwipeControllerOptions, \"target\">\n\n constructor(host: ReactiveElement, options: SwipeControllerOptions) {\n host.addController(this)\n this.events = new EventController(host)\n\n this.options = {\n target: () => host,\n ...options,\n }\n }\n\n hostUpdated() {\n if (!this.hadFirstUpdate) {\n this.hadFirstUpdate = true\n\n const target = this.options.target()\n this.events.listen(target, \"touchstart\", this.handleTouchStart)\n this.events.listen(target, \"touchmove\", preventDefault)\n this.events.listen(target, \"touchend\", this.handleTouchEnd)\n }\n }\n\n hostDisconnected() {\n this.hadFirstUpdate = false\n }\n\n private handleTouchStart = (event: TouchEvent) => {\n const [{ pageX, pageY }] = event.changedTouches\n this.initialTouchX = pageX\n this.initialTouchY = pageY\n }\n\n private handleTouchEnd = (event: TouchEvent) => {\n const [{ pageX, pageY }] = event.changedTouches\n const { matchesGesture, onSwipeEnd } = this.options\n\n const distX = pageX - this.initialTouchX\n const distY = pageY - this.initialTouchY\n const details = { initialX: this.initialTouchX, initialY: this.initialTouchY, pageX, pageY, distX, distY }\n\n if (matchesGesture(details)) {\n event.preventDefault()\n onSwipeEnd(details)\n }\n }\n}\n\nconst THRESHOLD = 70\n\nexport const isHorizontalSwipe = ({ distX, distY }: SwipeDetails) =>\n Math.abs(distX) >= THRESHOLD && Math.abs(distY) <= THRESHOLD\n\nexport const isDownwardsSwipe = ({ distX, distY }: SwipeDetails) =>\n Math.abs(distY) >= THRESHOLD && Math.abs(distX) <= THRESHOLD && distY > 0\n","import { html, LitElement } from \"lit\"\nimport { customElement, property, query, state } from \"lit/decorators.js\"\nimport { repeat } from \"lit/directives/repeat.js\"\nimport { createKeybindingsHandler } from \"tinykeys\"\nimport * as arrowRightIcon from \"@nordhealth/icons/lib/assets/arrow-right-small.js\"\nimport * as arrowLeftIcon from \"@nordhealth/icons/lib/assets/arrow-left-small.js\"\nimport * as arrowDownIcon from \"@nordhealth/icons/lib/assets/arrow-down-small.js\"\n\nimport \"../button/Button.js\"\nimport \"../visually-hidden/VisuallyHidden.js\"\nimport Icon from \"../icon/Icon.js\"\n\nimport { isHorizontalSwipe, SwipeController } from \"../common/controllers/SwipeController.js\"\nimport { DirectionController } from \"../common/controllers/DirectionController.js\"\nimport { LocalizeController } from \"../localization/LocalizeController.js\"\n\nimport { range } from \"../common/number.js\"\nimport {\n addDays,\n clamp,\n DaysOfWeek,\n endOfMonth,\n endOfWeek,\n getDayNames,\n getMonthNames,\n inRange,\n isEqualMonth,\n parseISODate,\n printISODate,\n setMonth,\n setYear,\n startOfMonth,\n startOfWeek,\n} from \"../common/dates.js\"\nimport { observe } from \"../common/decorators/observe.js\"\n\nimport { monthView } from \"./month-view.js\"\nimport { DateSelectEvent } from \"./DateSelectEvent.js\"\nimport componentStyle from \"../common/styles/Component.css\"\nimport style from \"./Calendar.css\"\n\nexport type DateDisabledPredicate = (date: Date) => boolean\n\nIcon.registerIcon(arrowRightIcon)\nIcon.registerIcon(arrowLeftIcon)\nIcon.registerIcon(arrowDownIcon)\n\nconst preventDefault = (fn: EventListener) => (e: Event) => {\n e.preventDefault()\n fn(e)\n}\n\nconst isDateDisabled: DateDisabledPredicate = () => false\n\n/**\n * Calendar allows user to pick a date. It comes with built-in\n * functionality that allows you to set a minimum and a maximum allowed date.\n * Please note that the date must be passed in ISO-8601 format.\n *\n * @status ready\n * @category list\n * @fires {DateSelectEvent} change - Dispatched when a date is selected and the value changes.\n * @fires {DateSelectEvent} nord-focus-date - Dispatched when the calendar's focused date changes.\n *\n * @cssprop [--n-calendar-border-radius=var(--n-border-radius)] - Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).\n * @cssprop [--n-calendar-box-shadow=var(--n-box-shadow-popout)] - Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).\n */\n@customElement(\"nord-calendar\")\nexport default class Calendar extends LitElement {\n static styles = [componentStyle, style]\n\n private dialogLabelId = \"dialog-header\"\n\n @query(\".n-calendar-select-month\", true) private monthSelectNode!: HTMLElement\n @query(`button[tabindex=\"0\"]`) private focusedDayNode!: HTMLButtonElement\n\n private direction = new DirectionController(this)\n private swipe = new SwipeController(this, {\n matchesGesture: isHorizontalSwipe,\n onSwipeEnd: ({ distX }) => this.addMonths(distX < 0 ? 1 : -1),\n })\n\n private shortcuts = createKeybindingsHandler({\n ArrowRight: preventDefault(() => this.addDays(this.direction.isLTR ? 1 : -1)),\n ArrowLeft: preventDefault(() => this.addDays(this.direction.isLTR ? -1 : 1)),\n ArrowDown: preventDefault(() => this.addDays(7)),\n ArrowUp: preventDefault(() => this.addDays(-7)),\n Home: preventDefault(() => this.startOfWeek()),\n End: preventDefault(() => this.endOfWeek()),\n PageUp: preventDefault(() => this.addMonths(-1)),\n PageDown: preventDefault(() => this.addMonths(1)),\n \"Shift+PageUp\": preventDefault(() => this.addYears(-1)),\n \"Shift+PageDown\": preventDefault(() => this.addYears(1)),\n })\n\n private localize = new LocalizeController<\"nord-calendar\">(this, {\n onLangChange: () => this.handleLangChange(),\n })\n\n /**\n * Whilst dateAdapter is used for handling the formatting/parsing dates in the input,\n * these are used to format dates exclusively for the benefit of screen readers.\n *\n * We prefer DateTimeFormat over date.toLocaleDateString, as the former has\n * better performance when formatting large number of dates. See:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#Performance\n */\n private dateFormatShort!: Intl.DateTimeFormat\n private monthNames!: string[]\n private monthNamesShort!: string[]\n private dayNames!: string[]\n private dayNamesShort!: string[]\n\n /**\n * The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.\n */\n @property() value: string = \"\"\n\n /**\n * Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\n * Default is Monday.\n */\n @property({ type: Number }) firstDayOfWeek: DaysOfWeek = DaysOfWeek.Monday\n\n /**\n * Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the max property.\n */\n @property() min: string = \"\"\n\n /**\n * Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\n * This setting can be used alone or together with the min property.\n */\n @property() max: string = \"\"\n\n /**\n * Controls whether the calendar expands to fill the width of its container.\n */\n @property({ reflect: true, type: Boolean }) expand = false\n\n /**\n * Controls which days are disabled and therefore disallowed.\n * For example, this can be used to disallow selection of weekends.\n */\n @property({ attribute: false }) isDateDisabled: DateDisabledPredicate = isDateDisabled\n\n @state() private activeFocus = false\n @state() private focusedDay = new Date()\n\n /**\n * Programmatically move focus to the calendar.\n * @param options An object which controls aspects of the focusing process.\n */\n focus(options?: FocusOptions & { target: \"day\" | \"month\" }) {\n const target = options?.target ?? \"day\"\n\n if (target === \"day\") {\n this.focusedDayNode.focus()\n } else if (target === \"month\") {\n this.monthSelectNode.focus()\n }\n }\n\n render() {\n const valueAsDate = parseISODate(this.value)\n const focusedMonth = this.focusedDay.getMonth()\n const focusedYear = this.focusedDay.getFullYear()\n\n const minDate = parseISODate(this.min)\n const maxDate = parseISODate(this.max)\n const minDateStartOfMonth = minDate ? startOfMonth(minDate) : undefined\n const maxDateEndOfMonth = maxDate ? endOfMonth(maxDate) : undefined\n\n const selectedYear = (valueAsDate || this.focusedDay).getFullYear()\n const minYear = minDate ? minDate.getFullYear() : selectedYear - 10\n const maxYear = maxDate ? maxDate.getFullYear() : selectedYear + 10\n\n return html`\n <div class=\"n-calendar\">\n <div class=\"n-calendar-header\">\n <div>\n <nord-visually-hidden>\n <h2 id=${this.dialogLabelId} aria-live=\"polite\" aria-atomic=\"true\">\n ${this.monthNames[focusedMonth]}, ${this.focusedDay.getFullYear()}\n </h2>\n </nord-visually-hidden>\n\n <div class=\"n-calendar-select\">\n <select\n aria-label=${this.localize.term(\"monthSelectLabel\")}\n class=\"n-calendar-select-month\"\n @input=${this.handleMonthSelect}\n >\n ${this.monthNames.map(\n (month, i) =>\n html`\n <option\n value=${i}\n ?selected=${i === focusedMonth}\n ?disabled=${!inRange(new Date(focusedYear, i, 1), minDateStartOfMonth, maxDateEndOfMonth)}\n >\n ${month}\n </option>\n `\n )}\n </select>\n <div class=\"n-calendar-select-label\" aria-hidden=\"true\">\n <span>${this.monthNamesShort[focusedMonth]}</span>\n <nord-icon color=\"var(--n-color-icon)\" name=\"arrow-down-small\" size=\"xxs\"></nord-icon>\n </div>\n </div>\n\n <div class=\"n-calendar-select\">\n <select\n aria-label=${this.localize.term(\"yearSelectLabel\")}\n class=\"n-calendar-select-year\"\n @input=${this.handleYearSelect}\n >\n ${repeat(\n range(minYear, maxYear),\n year => year,\n year => html`<option ?selected=${year === focusedYear}>${year}</option>`\n )}\n </select>\n <div class=\"n-calendar-select-label\" aria-hidden=\"true\">\n <span>${this.focusedDay.getFullYear()}</span>\n <nord-icon color=\"var(--n-color-icon)\" name=\"arrow-down-small\" size=\"xxs\"></nord-icon>\n </div>\n </div>\n </div>\n\n <div class=\"n-calendar-nav\">\n <nord-button\n class=\"n-calendar-prev\"\n @click=${this.handlePreviousMonthClick}\n ?disabled=${isEqualMonth(minDate, this.focusedDay)}\n type=\"button\"\n >\n <nord-visually-hidden>${this.localize.term(\"prevMonthLabel\")}</nord-visually-hidden>\n <nord-icon name=${this.direction.isLTR ? \"arrow-left-small\" : \"arrow-right-small\"} size=\"s\"></nord-icon>\n </nord-button>\n\n <nord-button\n class=\"n-calendar-next\"\n @click=${this.handleNextMonthClick}\n ?disabled=${isEqualMonth(maxDate, this.focusedDay)}\n type=\"button\"\n >\n <nord-visually-hidden>${this.localize.term(\"nextMonthLabel\")}</nord-visually-hidden>\n <nord-icon name=${this.direction.isLTR ? \"arrow-right-small\" : \"arrow-left-small\"} size=\"s\"></nord-icon>\n </nord-button>\n </div>\n </div>\n\n ${monthView({\n onFocusOut: this.disableActiveFocus,\n onFocusIn: this.enableActiveFocus,\n dateFormatter: this.dateFormatShort,\n selectedDate: valueAsDate,\n focusedDate: this.focusedDay,\n onDateSelect: this.handleDaySelect,\n onKeyboardNavigation: this.shortcuts,\n labelledById: this.dialogLabelId,\n dayNames: this.dayNames,\n dayNamesShort: this.dayNamesShort,\n firstDayOfWeek: this.firstDayOfWeek,\n min: minDate,\n max: maxDate,\n isDateDisabled: this.isDateDisabled,\n })}\n </div>\n `\n }\n\n @observe(\"value\")\n protected handleValueChange() {\n this.setFocusedDay(parseISODate(this.value) || new Date())\n }\n\n @observe(\"focusedDay\", \"updated\")\n protected handleFocusedDayChange() {\n if (this.activeFocus) {\n this.focusedDayNode.focus()\n }\n }\n\n private handleLangChange() {\n const lang = this.localize.resolvedLang\n this.dateFormatShort = new Intl.DateTimeFormat(lang, { day: \"numeric\", month: \"long\" })\n this.monthNames = getMonthNames(lang, \"long\")\n this.monthNamesShort = getMonthNames(lang, \"short\")\n this.dayNames = getDayNames(lang, \"long\")\n this.dayNamesShort = getDayNames(lang, \"narrow\")\n }\n\n private handleDaySelect = (day: Date) => {\n const isInRange = inRange(day, parseISODate(this.min), parseISODate(this.max))\n const isAllowed = !this.isDateDisabled(day)\n\n if (isInRange && isAllowed) {\n this.value = printISODate(day)\n this.dispatchEvent(new DateSelectEvent(\"change\", day))\n }\n }\n\n private addDays(days: number) {\n this.setFocusedDay(addDays(this.focusedDay, days))\n }\n\n private addMonths(months: number) {\n this.setMonth(this.focusedDay.getMonth() + months)\n }\n\n private addYears(years: number) {\n this.setYear(this.focusedDay.getFullYear() + years)\n }\n\n private startOfWeek() {\n this.setFocusedDay(startOfWeek(this.focusedDay, this.firstDayOfWeek))\n }\n\n private endOfWeek() {\n this.setFocusedDay(endOfWeek(this.focusedDay, this.firstDayOfWeek))\n }\n\n private setMonth(month: number) {\n const min = setMonth(startOfMonth(this.focusedDay), month)\n const max = endOfMonth(min)\n const date = setMonth(this.focusedDay, month)\n\n this.setFocusedDay(clamp(date, min, max))\n }\n\n private setYear(year: number) {\n const min = setYear(startOfMonth(this.focusedDay), year)\n const max = endOfMonth(min)\n const date = setYear(this.focusedDay, year)\n\n this.setFocusedDay(clamp(date, min, max))\n }\n\n private setFocusedDay(day: Date) {\n this.focusedDay = clamp(day, parseISODate(this.min), parseISODate(this.max))\n this.dispatchEvent(new DateSelectEvent(\"nord-focus-date\", this.focusedDay))\n }\n\n private handleMonthSelect = (e: any) => {\n this.setMonth(parseInt(e.target.value, 10))\n }\n\n private handleYearSelect = (e: any) => {\n this.setYear(parseInt(e.target.value, 10))\n }\n\n private handleNextMonthClick = (event: MouseEvent) => {\n event.preventDefault()\n this.addMonths(1)\n }\n\n private handlePreviousMonthClick = (event: MouseEvent) => {\n event.preventDefault()\n this.addMonths(-1)\n }\n\n private enableActiveFocus = () => {\n this.activeFocus = true\n }\n\n private disableActiveFocus = () => {\n this.activeFocus = false\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"nord-calendar\": Calendar\n }\n}\n"],"names":["preventDefault","e","SwipeController","constructor","host","options","this","hadFirstUpdate","initialTouchX","initialTouchY","handleTouchStart","event","pageX","pageY","changedTouches","handleTouchEnd","matchesGesture","onSwipeEnd","distX","distY","details","initialX","initialY","addController","events","EventController","target","hostUpdated","listen","hostDisconnected","isHorizontalSwipe","Math","abs","isDownwardsSwipe","Icon","registerIcon","arrowRightIcon","arrowLeftIcon","arrowDownIcon","fn","isDateDisabled","Calendar","LitElement","dialogLabelId","direction","DirectionController","swipe","addMonths","shortcuts","createKeybindingsHandler","ArrowRight","addDays","isLTR","ArrowLeft","ArrowDown","ArrowUp","Home","startOfWeek","End","endOfWeek","PageUp","PageDown","addYears","localize","LocalizeController","onLangChange","handleLangChange","value","firstDayOfWeek","min","max","expand","activeFocus","focusedDay","Date","handleDaySelect","day","isInRange","inRange","parseISODate","isAllowed","printISODate","dispatchEvent","DateSelectEvent","handleMonthSelect","setMonth","parseInt","handleYearSelect","setYear","handleNextMonthClick","handlePreviousMonthClick","enableActiveFocus","disableActiveFocus","focus","_a","focusedDayNode","monthSelectNode","render","valueAsDate","focusedMonth","getMonth","focusedYear","getFullYear","minDate","maxDate","minDateStartOfMonth","startOfMonth","undefined","maxDateEndOfMonth","endOfMonth","selectedYear","minYear","maxYear","html","monthNames","term","map","month","i","monthNamesShort","repeat","range","year","isEqualMonth","monthView","onFocusOut","onFocusIn","dateFormatter","dateFormatShort","selectedDate","focusedDate","onDateSelect","onKeyboardNavigation","labelledById","dayNames","dayNamesShort","handleValueChange","setFocusedDay","handleFocusedDayChange","lang","resolvedLang","Intl","DateTimeFormat","getMonthNames","getDayNames","days","months","years","date","clamp","styles","componentStyle","style","__decorate","query","prototype","property","type","Number","reflect","Boolean","attribute","state","observe","customElement"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e}from"./lit-element-9178eae5.js";const t=e`:host{all:unset;display:block;font-family:var(--n-font-family);font-size:var(--n-font-size-m);line-height:var(--n-line-height);font-feature-settings:var(--n-font-features);box-sizing:border-box;text-align:start}*,::after,::before{box-sizing:border-box;margin:0;padding:0}:host([hidden]),[hidden]{display:none!important}`;export{t as s};
|
|
2
|
-
//# sourceMappingURL=Component-92eb6234.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Component-92eb6234.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as t}from"./query-assigned-elements-e6cbac30.js";import{y as e}from"./lit-element-9178eae5.js";import{e as r}from"./property-03f59dce.js";import{E as i}from"./EventController-d99ebeef.js";import{S as o}from"./SlotController-89834aef.js";import{N as s}from"./events-731d0007.js";import"./VisuallyHidden.js";class n{constructor(t,e){this.host=t,this.options=e,this.handleFormData=t=>{const{disabled:e,name:r}=this.host;if(e)return;const i=this.options.value();r&&null!=i&&t.formData.append(r,i)},t.addController(this),this.events=new i(t)}hostConnected(){this.host.form&&this.events.listen(this.host.form,"formdata",this.handleFormData)}}function h(i){class h extends i{constructor(){super(...arguments),this.labelSlot=new o(this,"label"),this.errorSlot=new o(this,"error"),this.hintSlot=new o(this,"hint"),this.formData=new n(this,{value:()=>this.formValue}),this.inputId="input",this.errorId="error",this.hintId="hint",this.label="",this.hideLabel=!1,this.required=!1,this.hideRequired=!1}get formValue(){return this.value}handleInput(t){t.stopPropagation();const e=t.target;this.value=e.value,this.dispatchEvent(new s("input"))}handleChange(t){t.stopPropagation(),this.dispatchEvent(new s("change"))}renderLabel(t){const r=e`<label for="${this.inputId}"><slot name="label">${this.label}</slot><span ?hidden="${!this.required||this.hideRequired}" aria-hidden="true" class="n-required">*</span> ${t}</label><div class="n-caption n-hint" id="${this.hintId}" ?hidden="${!this.hasHint}"><slot name="hint">${this.hint}</slot></div>`;return this.hideLabel?e`<nord-visually-hidden>${r}</nord-visually-hidden>`:e`<div class="n-label-container">${r}</div>`}renderError(){return e`<div class="n-caption n-error" id="${this.errorId}" role="alert" ?hidden="${!this.hasError}"><slot name="error">${this.error}</slot></div>`}getDescribedBy(){const{hasHint:t,hasError:e}=this;return t&&e?`${this.hintId} ${this.errorId}`:t?this.hintId:e?this.errorId:void 0}getInvalid(){return this.hasError?"true":void 0}get hasHint(){return Boolean(this.hint)||this.hintSlot.hasContent}get hasError(){return Boolean(this.error)||this.errorSlot.hasContent}}return t([r()],h.prototype,"label",void 0),t([r()],h.prototype,"hint",void 0),t([r({type:Boolean,attribute:"hide-label"})],h.prototype,"hideLabel",void 0),t([r()],h.prototype,"placeholder",void 0),t([r()],h.prototype,"error",void 0),t([r({type:Boolean})],h.prototype,"required",void 0),t([r({type:Boolean,attribute:"hide-required"})],h.prototype,"hideRequired",void 0),h}export{h as F};
|
|
2
|
-
//# sourceMappingURL=FormAssociatedMixin-aa74901e.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as n}from"./lit-element-9178eae5.js";const a=n`.n-caption,::slotted(.n-caption){font-size:var(--n-font-size-s);line-height:var(--n-line-height-caption)}.n-label-container{margin-block-end:var(--n-space-s);display:inline-block}.n-label,::slotted(label),label{display:block!important;color:var(--n-color-text);font-family:var(--n-font-family);font-size:var(--n-font-size-m);font-weight:var(--n-font-weight-heading)!important;line-height:var(--n-line-height-heading);margin:0!important}.n-hint{padding-block-start:calc(var(--n-space-s)/ 2);color:var(--n-color-text-weaker)}.n-error{margin-block-start:var(--n-space-s);color:var(--n-color-text-error)}.n-required{color:var(--n-color-status-danger);margin-inline-start:calc(var(--n-space-s)/ 2)}`;export{a as s};
|
|
2
|
-
//# sourceMappingURL=FormField-ae3570d2.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormField-ae3570d2.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{A as t,b as o}from"./lit-element-9178eae5.js";class s{constructor(t,o){this.host=t,this.options=o,t.addController(this)}get container(){return this.options.container||this.host}hostUpdated(){this.render()}hostDisconnected(){t(o,this.container,this.options.renderOptions)}render(){t(this.options.render(),this.container,this.options.renderOptions)}}export{s as L};
|
|
2
|
-
//# sourceMappingURL=LightDomController-3c726b20.js.map
|
package/lib/Popout-4aa0cc87.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as t,e}from"./query-assigned-elements-e6cbac30.js";import{i as o,y as i,s}from"./lit-element-9178eae5.js";import{e as n}from"./property-03f59dce.js";import{t as r}from"./state-70f38ceb.js";import{i as a}from"./query-2d22378e.js";import{c as l,l as p,o as h,f as d,s as c,h as m,a as u}from"./positioning-3bbd3548.js";import{L as f}from"./LightDismissController-a2645ae6.js";import{S as v}from"./ScrollbarController-773c79f4.js";import{N as g}from"./events-731d0007.js";import{s as b}from"./Component-92eb6234.js";import{D as y}from"./DirectionController-8b298382.js";import{o as w}from"./observe-a9c6dfb6.js";import{E as x}from"./EventController-d99ebeef.js";function E(e){class o extends e{constructor(){super(...arguments),this.open=!1,this.align="start",this.position="block-end"}}return t([n({type:Boolean,reflect:!0})],o.prototype,"open",void 0),t([n({reflect:!0})],o.prototype,"align",void 0),t([n({reflect:!0})],o.prototype,"position",void 0),o}const k=o`:host{position:fixed;pointer-events:none;z-index:var(--n-index-popout);left:var(--_n-popout-position-x);top:var(--_n-popout-position-y);color:var(--n-color-text);opacity:0;transition:opacity var(--n-transition-slowly)}.n-popout{pointer-events:none;transform:translateY(-10px) scale(.97);visibility:hidden;transition:transform var(--n-transition-slowly),visibility var(--n-transition-slowly);transform-origin:top left;will-change:transform,opacity,visibility;background:var(--n-color-surface);box-shadow:var(--n-box-shadow-popout);border-radius:var(--n-border-radius-s)}:host([open]){opacity:1}:host([open]) .n-popout{transition-property:transform;visibility:visible;pointer-events:auto;transform:translateY(0) translateX(0) scale(1)}@media (max-width:35.9375em){:host{position:fixed;inset:0;overflow-y:auto;opacity:1;background:0 0;transition:background var(--n-transition-mobile)}:host([open]){pointer-events:auto;background:var(--n-color-overlay)}:host .n-popout{position:fixed;inset:0;inset-block-start:auto;transform:translateY(100%);transition:transform var(--n-transition-mobile),visibility var(--n-transition-mobile);transform-origin:bottom center;border-radius:0}}.top-end,.top-start{transform:translateY(10px) scale(.97)}.left-end,.left-start{transform:translateX(10px) scale(.97)}.right-end,.right-start{transform:translateX(-10px) scale(.97)}.bottom-start.is-rtl,.left-end,.top-end{transform-origin:bottom right}.bottom-end,.left-start,.top-start.is-rtl{transform-origin:top right}.bottom-end.is-rtl,.right-end,.right-start{transform-origin:bottom left}.right-start,.top-end.is-rtl{transform-origin:top left}`,C=matchMedia("(max-width: 35.9375em)");let j=class extends(E(s)){constructor(){super(...arguments),this.scrollBar=new v(this),this.dismiss=new f(this,{isOpen:()=>this.open,onDismiss:t=>this.hide("click"!==t.type),isDismissible:t=>t!==this.popout&&t!==this.targetElement}),this.events=new x(this),this.direction=new y(this),this.smallViewport=C.matches,this.id="",this.enableScroll=()=>{this.open||this.scrollBar.unlockScroll()},this.updatePosition=async()=>{var t;const{x:e,y:o,placement:i,middlewareData:s}=await l(this.anchorElement,this,{strategy:"fixed",placement:p(this.position,this.align,this.direction.dir),middleware:[h(8),d(),c({padding:8}),m()]});this.computedPosition=i,this.style.setProperty("--_n-popout-position-x",`${e}px`),this.style.setProperty("--_n-popout-position-y",`${o}px`),(null===(t=s.hide)||void 0===t?void 0:t.referenceHidden)&&this.hide()},this.toggleOpen=t=>{t.preventDefault(),this.open?this.hide(!1):this.smallViewport?this.show():this.updatePosition().then((()=>this.show()))},this.handleMediaQueryChange=()=>{var t;this.smallViewport=C.matches,null===(t=this.cleanupAutoUpdate)||void 0===t||t.call(this),!this.smallViewport&&this.open?(this.cleanupAutoUpdate=u(this.anchorElement,this,this.updatePosition),this.scrollBar.unlockScroll()):this.open&&this.scrollBar.lockScroll()}}show(){this.open||(this.open=!0,this.updateComplete.then((()=>{this.dispatchEvent(new g("open"))})))}hide(t=!0){var e;this.open&&(this.open=!1,null===(e=this.cleanupAutoUpdate)||void 0===e||e.call(this),this.dispatchEvent(new g("close")),t&&this.targetElement.focus({preventScroll:!0}))}firstUpdated(){this.smallViewport||this.updatePosition()}connectedCallback(){super.connectedCallback(),this.targetElement=this.getToggle(),this.anchorElement=this.anchor?this.getAnchor():this.targetElement,this.events.listen(this.targetElement,"click",this.toggleOpen),this.events.listen(C,"change",this.handleMediaQueryChange)}disconnectedCallback(){var t;super.disconnectedCallback(),null===(t=this.cleanupAutoUpdate)||void 0===t||t.call(this),this.targetElement.removeAttribute("aria-expanded")}render(){return i`<div class="n-popout ${this.computedPosition} is-${this.direction.dir}" aria-hidden="${this.open?"false":"true"}" @transitionend="${this.enableScroll}"><slot></slot></div>`}handleIdChange(){this.id||console.warn("NORD: popout requires an id attribute and value")}handleOpenChange(){var t;this.targetElement.setAttribute("aria-expanded",`${this.open}`),this.open?this.smallViewport?this.scrollBar.lockScroll():this.cleanupAutoUpdate=u(this.anchorElement,this,this.updatePosition):null===(t=this.cleanupAutoUpdate)||void 0===t||t.call(this)}getToggle(){const t=this.getRootNode().querySelector(`[aria-controls='${this.id}']`);return t instanceof HTMLSlotElement?t.assignedElements()[0]:t}getAnchor(){const t=this.getRootNode().querySelector(`#${this.anchor}`);return t instanceof HTMLSlotElement?t.assignedElements()[0]:t}};j.styles=[b,k],t([a(".n-popout",!0)],j.prototype,"popout",void 0),t([r()],j.prototype,"computedPosition",void 0),t([r()],j.prototype,"smallViewport",void 0),t([n({reflect:!0})],j.prototype,"id",void 0),t([n({reflect:!0})],j.prototype,"anchor",void 0),t([w("id")],j.prototype,"handleIdChange",null),t([w("open")],j.prototype,"handleOpenChange",null),j=t([e("nord-popout")],j);var S=j;export{E as F,S as P};
|
|
2
|
-
//# sourceMappingURL=Popout-4aa0cc87.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as s}from"./query-assigned-elements-e6cbac30.js";import{e}from"./property-03f59dce.js";function r(r){class t extends r{constructor(){super(...arguments),this.size="m"}}return s([e({reflect:!0})],t.prototype,"size",void 0),t}const t={s:"xs",m:"s",l:"m"};export{r as S,t as i};
|
|
2
|
-
//# sourceMappingURL=SizeMixin-4559b224.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{E as t}from"./EventController-d99ebeef.js";class s{constructor(s,e=""){this.host=s,this.slotName=e,this.handleSlotChange=t=>{t.target.name===this.slotName&&this.onChange(t)},s.addController(this),this.events=new t(s)}hostConnected(){this.host.shadowRoot&&this.events.listen(this.host.shadowRoot,"slotchange",this.handleSlotChange)}get hasContent(){return null!=this.content}get isEmpty(){return!this.hasContent}get content(){const t=this.slotName?`[slot="${this.slotName}"]`:":not([slot])";return this.host.querySelector(`:scope > ${t}`)}onChange(t){this.host.requestUpdate()}}export{s as S};
|
|
2
|
-
//# sourceMappingURL=SlotController-89834aef.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SlotController-89834aef.js","sources":["../src/common/controllers/SlotController.ts"],"sourcesContent":["import { ReactiveController, ReactiveControllerHost } from \"lit\"\nimport { EventController } from \"./EventController.js\"\n\nexport class SlotController implements ReactiveController {\n private events: EventController\n\n constructor(protected host: ReactiveControllerHost & HTMLElement, public slotName: string = \"\") {\n host.addController(this)\n this.events = new EventController(host)\n }\n\n hostConnected() {\n if (this.host.shadowRoot) {\n this.events.listen(this.host.shadowRoot, \"slotchange\", this.handleSlotChange)\n }\n }\n\n get hasContent() {\n return this.content != null\n }\n\n get isEmpty() {\n return !this.hasContent\n }\n\n get content() {\n const selector = this.slotName ? `[slot=\"${this.slotName}\"]` : `:not([slot])`\n return this.host.querySelector(`:scope > ${selector}`)\n }\n\n private handleSlotChange = (e: Event) => {\n const slot = e.target as HTMLSlotElement\n\n if (slot.name === this.slotName) {\n this.onChange(e)\n }\n }\n\n protected onChange(_e: Event) {\n this.host.requestUpdate()\n }\n}\n"],"names":["SlotController","constructor","host","slotName","this","handleSlotChange","e","target","name","onChange","addController","events","EventController","hostConnected","shadowRoot","listen","hasContent","content","isEmpty","selector","querySelector","_e","requestUpdate"],"mappings":"wDAGaA,EAGXC,YAAsBC,EAAmDC,EAAmB,IAAtEC,KAAIF,KAAJA,EAAmDE,KAAQD,SAARA,EAwBjEC,KAAAC,iBAAoBC,IACbA,EAAEC,OAENC,OAASJ,KAAKD,UACrBC,KAAKK,SAASH,EACf,EA5BDJ,EAAKQ,cAAcN,MACnBA,KAAKO,OAAS,IAAIC,EAAgBV,EACnC,CAEDW,gBACMT,KAAKF,KAAKY,YACZV,KAAKO,OAAOI,OAAOX,KAAKF,KAAKY,WAAY,aAAcV,KAAKC,iBAE/D,CAEGW,iBACF,OAAuB,MAAhBZ,KAAKa,OACb,CAEGC,cACF,OAAQd,KAAKY,UACd,CAEGC,cACF,MAAME,EAAWf,KAAKD,SAAW,UAAUC,KAAKD,aAAe,eAC/D,OAAOC,KAAKF,KAAKkB,cAAc,YAAYD,IAC5C,CAUSV,SAASY,GACjBjB,KAAKF,KAAKoB,eACX"}
|
package/lib/Sticky-991acfdd.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as t}from"./lit-element-9178eae5.js";const i=t`:host{--_n-sticky-size:0px;--_n-sticky-top:var(--n-sticky-top, 0px);--_n-sticky-index:var(--n-sticky-index, var(--n-index-sticky))}:host([sticky]) .n-sticky{position:sticky;inset-block-start:var(--_n-sticky-top);z-index:var(--_n-sticky-index)}:host([sticky])>*{--n-sticky-top:calc(var(--_n-sticky-top) + var(--_n-sticky-size));--n-sticky-index:calc(var(--_n-sticky-index) - 1)}`;export{i as s};
|
|
2
|
-
//# sourceMappingURL=Sticky-991acfdd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Sticky-991acfdd.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{_ as n}from"./query-assigned-elements-e6cbac30.js";import{e as r}from"./property-03f59dce.js";import{i as o}from"./lit-element-9178eae5.js";function i(o){class i extends o{constructor(){super(...arguments),this.readonly=!1}}return n([r({type:Boolean,reflect:!0})],i.prototype,"readonly",void 0),i}const t=o`:host{--_n-input-inline-size:var(--n-input-inline-size, 240px);--_n-input-background:var(--n-input-background, var(--n-color-active));--_n-input-color:var(--n-input-color, var(--n-color-text));--_n-input-border-color:var(--n-input-border-color, var(--n-color-border-strong));--_n-input-border-radius:var(--n-input-border-radius, var(--n-border-radius-s))}.n-input-container{position:relative;inline-size:var(--_n-input-inline-size)}.n-input{background:var(--_n-input-background);color:var(--_n-input-color);padding:calc(var(--n-space-s) - 1px) calc(var(--n-space-s) * 1.6);border-radius:var(--_n-input-border-radius);border:1px solid var(--_n-input-border-color);font-family:var(--n-font-family);font-size:var(--n-font-size-m);line-height:var(--n-line-height-form);inline-size:100%;transition:border var(--n-transition-slowly),box-shadow var(--n-transition-slowly),background var(--n-transition-slowly)}@media (max-width:480px){.n-input{font-size:var(--n-font-size-l)}}:host([expand]){--_n-input-inline-size:100%;inline-size:100%}.n-input:hover,.n-label-container:hover+.n-input-container{--_n-input-border-color:var(--n-input-border-color, var(--n-color-border-hover))}.n-input:focus{--_n-input-border-color:var(--n-input-border-color, var(--n-color-accent));--_n-input-background:var(--n-input-background, var(--n-color-surface));outline:0;box-shadow:0 0 0 1px var(--_n-input-border-color)}.n-input::placeholder{color:var(--n-color-text-weakest)}.n-input[aria-invalid=true]{--_n-input-border-color:var(--n-input-border-color, var(--n-color-status-danger))!important}.n-input:disabled,.n-input[readonly],.n-label-container:hover+.n-input-container .n-input:disabled,.n-label-container:hover+.n-input-container .n-input[readonly]{--_n-input-border-color:var(--n-input-border-color, var(--n-color-active));--_n-input-color:var(--n-input-color, var(--n-color-text-weakest))}.n-input[readonly],.n-label-container:hover+.n-input-container .n-input[readonly]{--_n-input-color:var(--n-input-color, var(--n-color-text-weak))}.n-input[readonly]:focus{--_n-input-border-color:var(--n-input-border-color, var(--n-color-accent))}:host([size="s"]) :is(.n-input-container, .n-input){font-size:var(--n-font-size-s)}:host([size="s"]) .n-input{padding:calc((var(--n-space-s)/ 2) - 2px) calc((var(--n-space-s)/ 2) * 1.6)}:host([size="l"]) :is(.n-input-container, .n-input){font-size:var(--n-font-size-l)}:host([size="l"]) .n-input{padding-block-start:calc(var(--n-space-m)/ 1.25);padding-block-end:calc(var(--n-space-m)/ 1.25)}`;export{i as R,t as s};
|
|
2
|
-
//# sourceMappingURL=TextField-db22898b.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{x as t}from"./lit-element-9178eae5.js";import{e,i as s,t as i}from"./directive-de55b00a.js";
|
|
2
|
-
/**
|
|
3
|
-
* @license
|
|
4
|
-
* Copyright 2018 Google LLC
|
|
5
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
-
*/const n=e(class extends s{constructor(t){var e;if(super(t),t.type!==i.ATTRIBUTE||"class"!==t.name||(null===(e=t.strings)||void 0===e?void 0:e.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter((e=>t[e])).join(" ")+" "}update(e,[s]){var i,n;if(void 0===this.nt){this.nt=new Set,void 0!==e.strings&&(this.st=new Set(e.strings.join(" ").split(/\s/).filter((t=>""!==t))));for(const t in s)s[t]&&!(null===(i=this.st)||void 0===i?void 0:i.has(t))&&this.nt.add(t);return this.render(s)}const r=e.element.classList;this.nt.forEach((t=>{t in s||(r.remove(t),this.nt.delete(t))}));for(const t in s){const e=!!s[t];e===this.nt.has(t)||(null===(n=this.st)||void 0===n?void 0:n.has(t))||(e?(r.add(t),this.nt.add(t)):(r.remove(t),this.nt.delete(t)))}return t}});export{n as o};
|
|
7
|
-
//# sourceMappingURL=class-map-949b7d3b.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
function n(n,t){var s;const e=new Map;for(const o of n){const n=o[t],r=null!==(s=e.get(n))&&void 0!==s?s:[];e.has(n)||e.set(n,[]),r.push(o),e.set(n,r)}return e}function t(n,t){const s=[];for(let e=0;e<n.length;e+=t)s.push(n.slice(e,e+t));return s}function s(n,t,s){return n.map(((e,o)=>{const r=(o+t)%n.length;return s(n[r],r)}))}export{t as c,n as g,s as m};
|
|
2
|
-
//# sourceMappingURL=collection-800f5002.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collection-800f5002.js","sources":["../src/common/collection.ts"],"sourcesContent":["/**\n * Groups an array objects by property value\n * @param array the collection of objects to group\n * @param key the property to group by\n * @returns a Map keyed by property value, where values are are an array of objects with that property value.\n */\nexport function groupBy<TObject extends Record<any, any>, TKey extends keyof TObject>(\n array: Array<TObject>,\n key: TKey\n) {\n const grouped = new Map<TObject[TKey], TObject[]>()\n\n for (const item of array) {\n const value = item[key]\n const collection = grouped.get(value) ?? []\n\n if (!grouped.has(value)) {\n grouped.set(value, [])\n }\n collection.push(item)\n grouped.set(value, collection)\n }\n\n return grouped\n}\n\n/**\n * Split an array into chunks of the given size\n * @param array\n * @param chunkSize\n * @returns\n */\nexport function chunk<T>(array: T[], chunkSize: number): T[][] {\n const result = []\n\n for (let i = 0; i < array.length; i += chunkSize) {\n result.push(array.slice(i, i + chunkSize))\n }\n\n return result\n}\n\n/**\n * maps over an array, starting at the given offset and wrapping around.\n * @param array\n * @param startingOffset\n * @param mapFn\n * @returns\n */\nexport function mapWithOffset<T, U>(array: T[], startingOffset: number, mapFn: (item: T, i: number) => U): U[] {\n return array.map((_, i) => {\n const adjustedIndex = (i + startingOffset) % array.length\n return mapFn(array[adjustedIndex], adjustedIndex)\n })\n}\n"],"names":["groupBy","array","key","grouped","Map","item","value","collection","_a","get","has","set","push","chunk","chunkSize","result","i","length","slice","mapWithOffset","startingOffset","mapFn","map","_","adjustedIndex"],"mappings":"AAMgB,SAAAA,EACdC,EACAC,SAEA,MAAMC,EAAU,IAAIC,IAEpB,IAAK,MAAMC,KAAQJ,EAAO,CACxB,MAAMK,EAAQD,EAAKH,GACbK,EAAmC,QAAtBC,EAAAL,EAAQM,IAAIH,UAAU,IAAAE,EAAAA,EAAA,GAEpCL,EAAQO,IAAIJ,IACfH,EAAQQ,IAAIL,EAAO,IAErBC,EAAWK,KAAKP,GAChBF,EAAQQ,IAAIL,EAAOC,EACpB,CAED,OAAOJ,CACT,CAQgB,SAAAU,EAASZ,EAAYa,GACnC,MAAMC,EAAS,GAEf,IAAK,IAAIC,EAAI,EAAGA,EAAIf,EAAMgB,OAAQD,GAAKF,EACrCC,EAAOH,KAAKX,EAAMiB,MAAMF,EAAGA,EAAIF,IAGjC,OAAOC,CACT,UASgBI,EAAoBlB,EAAYmB,EAAwBC,GACtE,OAAOpB,EAAMqB,KAAI,CAACC,EAAGP,KACnB,MAAMQ,GAAiBR,EAAII,GAAkBnB,EAAMgB,OACnD,OAAOI,EAAMpB,EAAMuB,GAAgBA,EAAc,GAErD"}
|
package/lib/cond-338158e9.js
DELETED