@nordhealth/components 2.17.1 → 3.0.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 +14 -1
- package/custom-elements.json +2675 -2560
- package/lib/{AutocompleteMixin-3cf61f49.js → AutocompleteMixin-60503685.js} +2 -2
- package/lib/{AutocompleteMixin-3cf61f49.js.map → AutocompleteMixin-60503685.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-af3b4ea6.js +2 -0
- package/lib/Calendar-af3b4ea6.js.map +1 -0
- package/lib/Calendar.js +1 -1
- package/lib/Card.js +1 -1
- package/lib/Checkbox.js +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-420bbc41.js → Component-253ecb24.js} +2 -2
- package/lib/Component-253ecb24.js.map +1 -0
- package/lib/DatePicker.js +1 -1
- package/lib/DatePicker.js.map +1 -1
- package/lib/{DirectionController-8b298382.js → DirectionController-f35f5476.js} +2 -2
- package/lib/{DirectionController-8b298382.js.map → DirectionController-f35f5476.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/DropdownItem.js +1 -1
- package/lib/EmptyState.js +1 -1
- package/lib/EventController-d99ebeef.js.map +1 -1
- package/lib/Fieldset.js +1 -1
- package/lib/{FocusableMixin-4300e44e.js → FocusableMixin-003e1094.js} +2 -2
- package/lib/{FocusableMixin-4300e44e.js.map → FocusableMixin-003e1094.js.map} +1 -1
- package/lib/{FormAssociatedMixin-edf83ac6.js → FormAssociatedMixin-895cf600.js} +2 -2
- package/lib/{FormAssociatedMixin-edf83ac6.js.map → FormAssociatedMixin-895cf600.js.map} +1 -1
- package/lib/{FormField-cbfebb3f.js → FormField-0783cb5a.js} +2 -2
- package/lib/FormField-0783cb5a.js.map +1 -0
- package/lib/Header.js +1 -1
- package/lib/Header.js.map +1 -1
- package/lib/Icon.js +1 -1
- package/lib/Icon.js.map +1 -1
- package/lib/Input.js +1 -1
- package/lib/Input.js.map +1 -1
- package/lib/{InputMixin-4037827f.js → InputMixin-e15dd8f7.js} +2 -2
- package/lib/{InputMixin-4037827f.js.map → InputMixin-e15dd8f7.js.map} +1 -1
- package/lib/Layout.js +1 -1
- package/lib/Layout.js.map +1 -1
- package/lib/{LightDomController-f78fb046.js → LightDomController-5c53b3f4.js} +2 -2
- package/lib/{LightDomController-f78fb046.js.map → LightDomController-5c53b3f4.js.map} +1 -1
- package/lib/Modal.js +1 -1
- package/lib/Modal.js.map +1 -1
- package/lib/ModalController.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/Notification.js +1 -1
- package/lib/Notification.js.map +1 -1
- package/lib/NotificationGroup.js +1 -1
- package/lib/NotificationGroup.js.map +1 -1
- package/lib/{NotificationMixin-c06bb631.js → NotificationMixin-cea138a7.js} +2 -2
- package/lib/{NotificationMixin-c06bb631.js.map → NotificationMixin-cea138a7.js.map} +1 -1
- package/lib/{Popout-9f0393b2.js → Popout-9f8752b0.js} +2 -2
- package/lib/Popout-9f8752b0.js.map +1 -0
- 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/ScrollbarController-773c79f4.js.map +1 -1
- package/lib/Select.js +1 -1
- package/lib/Select.js.map +1 -1
- package/lib/SelectEvent.js.map +1 -1
- package/lib/{SizeMixin-fb379434.js → SizeMixin-bc2098f4.js} +2 -2
- package/lib/{SizeMixin-fb379434.js.map → SizeMixin-bc2098f4.js.map} +1 -1
- package/lib/Skeleton.js +1 -1
- package/lib/Spinner.js +1 -1
- package/lib/Stack.js +1 -1
- package/lib/Stack.js.map +1 -1
- package/lib/Sticky-220280e0.js +2 -0
- package/lib/Sticky-220280e0.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/Table.js +1 -1
- package/lib/{TextField-d617d0ad.js → TextField-c2e49b85.js} +2 -2
- package/lib/{TextField-d617d0ad.js.map → TextField-c2e49b85.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/Toggle.js +1 -1
- package/lib/Tooltip.js +1 -1
- package/lib/Tooltip.js.map +1 -1
- package/lib/TopBar.js +2 -0
- package/lib/TopBar.js.map +1 -0
- package/lib/VisuallyHidden.js +1 -1
- package/lib/arrow-left-small-dd181059.js +2 -0
- package/lib/arrow-left-small-dd181059.js.map +1 -0
- package/lib/bundle.js +17 -16
- package/lib/bundle.js.map +1 -1
- package/lib/{class-map-cb77ead2.js → class-map-4a0dec4a.js} +2 -2
- package/lib/{class-map-cb77ead2.js.map → class-map-4a0dec4a.js.map} +1 -1
- package/lib/{collection-2f8e38bd.js → collection-bba319d3.js} +3 -3
- package/lib/{collection-2f8e38bd.js.map → collection-bba319d3.js.map} +1 -1
- package/lib/cond-77258def.js +2 -0
- package/lib/{cond-44672025.js.map → cond-77258def.js.map} +1 -1
- package/lib/fi-fi.js +1 -1
- package/lib/fi-fi.js.map +1 -1
- package/lib/{if-defined-9b177db4.js → if-defined-10508457.js} +2 -2
- package/lib/{if-defined-9b177db4.js.map → if-defined-10508457.js.map} +1 -1
- package/lib/index.js +1 -1
- package/lib/localization.js +1 -1
- package/lib/localization.js.map +1 -1
- package/lib/positioning-a572d126.js +2 -0
- package/lib/positioning-a572d126.js.map +1 -0
- package/lib/{query-assigned-elements-15485e3d.js → query-assigned-elements-2f8275b7.js} +3 -3
- package/lib/query-assigned-elements-2f8275b7.js.map +1 -0
- package/lib/{ref-5526fb07.js → ref-f75a30b7.js} +4 -4
- package/lib/{ref-5526fb07.js.map → ref-f75a30b7.js.map} +1 -1
- package/lib/src/avatar/Avatar.d.ts +2 -1
- package/lib/src/badge/Badge.d.ts +12 -3
- package/lib/src/button/Button.d.ts +2 -3
- package/lib/src/button-group/ButtonGroup.d.ts +2 -4
- package/lib/src/calendar/Calendar.d.ts +1 -1
- package/lib/src/command-menu/CommandMenu.d.ts +1 -4
- package/lib/src/command-menu/KeyboardController.d.ts +1 -1
- package/lib/src/command-menu/localization.d.ts +1 -0
- package/lib/src/common/controllers/DirectionController.d.ts +1 -1
- package/lib/src/common/controllers/EventController.d.ts +6 -5
- package/lib/src/common/controllers/FormDataController.d.ts +1 -1
- package/lib/src/common/controllers/LightDismissController.d.ts +1 -1
- package/lib/src/common/controllers/LightDomController.d.ts +1 -1
- package/lib/src/common/controllers/LightSlotController.d.ts +1 -1
- package/lib/src/common/controllers/PortalController.d.ts +1 -1
- package/lib/src/common/controllers/ShortcutController.d.ts +1 -1
- package/lib/src/common/controllers/SwipeController.d.ts +2 -2
- package/lib/src/common/decorators/observe.d.ts +1 -1
- package/lib/src/common/fsm.d.ts +4 -4
- package/lib/src/common/mixins/AutocompleteMixin.d.ts +2 -2
- package/lib/src/common/mixins/DraftComponentMixin.d.ts +1 -1
- package/lib/src/common/mixins/FloatingComponentMixin.d.ts +1 -1
- package/lib/src/common/mixins/FocusableMixin.d.ts +1 -1
- package/lib/src/common/mixins/FormAssociatedMixin.d.ts +1 -1
- package/lib/src/common/mixins/InputMixin.d.ts +1 -1
- package/lib/src/common/mixins/NotificationMixin.d.ts +1 -1
- package/lib/src/common/mixins/ReadonlyMixin.d.ts +1 -1
- package/lib/src/common/mixins/SizeMixin.d.ts +1 -1
- package/lib/src/common/positioning.d.ts +3 -3
- package/lib/src/common/ref.d.ts +1 -1
- package/lib/src/date-picker/DatePicker.d.ts +0 -6
- package/lib/src/date-picker/date-adapter.d.ts +3 -3
- package/lib/src/drawer/Drawer.d.ts +2 -4
- package/lib/src/dropdown/Dropdown.test.d.ts +1 -0
- package/lib/src/icon/Icon.d.ts +1 -0
- package/lib/src/icon/IconManager.d.ts +1 -1
- package/lib/src/index.d.ts +1 -0
- package/lib/src/layout/Layout.d.ts +6 -14
- package/lib/src/layout/Layout.test.d.ts +1 -0
- package/lib/src/localization/LocalizeController.d.ts +3 -3
- package/lib/src/localization/en-us.d.ts +1 -0
- package/lib/src/localization/translation.d.ts +4 -3
- package/lib/src/modal/ModalController.d.ts +1 -1
- package/lib/src/nav-group/NavGroup.d.ts +1 -1
- package/lib/src/nav-group/NavGroup.test.d.ts +1 -0
- package/lib/src/nav-item/NavItem.d.ts +2 -2
- package/lib/src/nav-toggle/NavToggle.d.ts +1 -1
- package/lib/src/navigation/Navigation.d.ts +5 -0
- package/lib/src/select/Select.d.ts +1 -0
- package/lib/src/stack/Stack.d.ts +0 -5
- package/lib/src/toast-group/ToastGroup.d.ts +1 -1
- package/lib/src/top-bar/TopBar.d.ts +20 -0
- package/lib/src/top-bar/TopBar.test.d.ts +7 -0
- package/lib/style-map-75ce20b3.js +7 -0
- package/lib/style-map-75ce20b3.js.map +1 -0
- package/package.json +41 -39
- package/lib/Calendar-70103fd4.js +0 -2
- package/lib/Calendar-70103fd4.js.map +0 -1
- package/lib/Component-420bbc41.js.map +0 -1
- package/lib/FormField-cbfebb3f.js.map +0 -1
- package/lib/Popout-9f0393b2.js.map +0 -1
- package/lib/Sticky-69666e8c.js +0 -2
- package/lib/Sticky-69666e8c.js.map +0 -1
- package/lib/cond-44672025.js +0 -2
- package/lib/positioning-cc75c800.js +0 -2
- package/lib/positioning-cc75c800.js.map +0 -1
- package/lib/query-assigned-elements-15485e3d.js.map +0 -1
- package/lib/style-map-ed7e6cc6.js +0 -7
- package/lib/style-map-ed7e6cc6.js.map +0 -1
|
@@ -68,12 +68,6 @@ export default class DatePicker extends DatePicker_base {
|
|
|
68
68
|
* This setting can be used alone or together with the min property.
|
|
69
69
|
*/
|
|
70
70
|
max: string;
|
|
71
|
-
/**
|
|
72
|
-
* This is deprecated, the popout will now adjust automatically based on available space.
|
|
73
|
-
* Forces the opening direction of the calendar modal to be always left or right.
|
|
74
|
-
* @deprecated
|
|
75
|
-
*/
|
|
76
|
-
direction: "left" | "right";
|
|
77
71
|
/**
|
|
78
72
|
* Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.
|
|
79
73
|
* Default is Monday.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createDate } from "../common/dates.js";
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export
|
|
2
|
+
type CreateDate = typeof createDate;
|
|
3
|
+
export type DateParser = (input: string, createDate: CreateDate) => Date | undefined;
|
|
4
|
+
export type DateFormatter = (date: Date) => string;
|
|
5
5
|
export interface DateAdapter {
|
|
6
6
|
parse: DateParser;
|
|
7
7
|
format: DateFormatter;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
|
-
declare const Drawer_base: typeof LitElement;
|
|
3
2
|
/**
|
|
4
3
|
* Drawer is used to display context-sensitive actions and information.
|
|
5
4
|
* Drawer doesn’t block users from completing their task, like a modal would.
|
|
6
5
|
*
|
|
7
|
-
* @status
|
|
6
|
+
* @status new
|
|
8
7
|
* @category structure
|
|
9
8
|
* @slot header - Optional slot that holds a header for the drawer.
|
|
10
9
|
* @slot - Default slot.
|
|
@@ -12,7 +11,7 @@ declare const Drawer_base: typeof LitElement;
|
|
|
12
11
|
*
|
|
13
12
|
* @cssprop [--n-drawer-padding=var(--n-space-l)] - Controls the padding around the main area (the default slot), using our [spacing tokens](/tokens/#space).
|
|
14
13
|
*/
|
|
15
|
-
export default class Drawer extends
|
|
14
|
+
export default class Drawer extends LitElement {
|
|
16
15
|
static styles: import("lit").CSSResult[];
|
|
17
16
|
private footerSlot;
|
|
18
17
|
/**
|
|
@@ -26,4 +25,3 @@ declare global {
|
|
|
26
25
|
"nord-drawer": Drawer;
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
|
-
export {};
|
package/lib/src/icon/Icon.d.ts
CHANGED
package/lib/src/index.d.ts
CHANGED
|
@@ -48,3 +48,4 @@ export { default as Range } from "./range/Range.js";
|
|
|
48
48
|
export { default as ButtonGroup } from "./button-group/ButtonGroup.js";
|
|
49
49
|
export { default as Notification } from "./notification/Notification.js";
|
|
50
50
|
export { default as NotificationGroup } from "./notification-group/NotificationGroup.js";
|
|
51
|
+
export { default as TopBar } from "./top-bar/TopBar.js";
|
|
@@ -2,9 +2,9 @@ import { LitElement } from "lit";
|
|
|
2
2
|
import { States } from "../common/fsm.js";
|
|
3
3
|
import "../nav-toggle/NavToggle.js";
|
|
4
4
|
declare const navMachine: {
|
|
5
|
-
transition(currentState: "closed" | "opened" | "peek" | "unpeek" | "wait" | "blocked", event: "click" | "
|
|
5
|
+
transition(currentState: "closed" | "opened" | "peek" | "unpeek" | "wait" | "blocked", event: "click" | "close" | "focusin" | "focusout" | "pointerenter" | "pointerleave" | "toggle" | "transitionend" | "open" | "timeout" | "dropdownOpen" | "dropdownClose"): "closed" | "opened" | "peek" | "unpeek" | "wait" | "blocked";
|
|
6
6
|
};
|
|
7
|
-
|
|
7
|
+
type NavState = States<typeof navMachine>;
|
|
8
8
|
/**
|
|
9
9
|
* Layout component is used to create the main layout of an app. Layout
|
|
10
10
|
* currently comes with one main configuration: two-column.
|
|
@@ -13,6 +13,7 @@ declare type NavState = States<typeof navMachine>;
|
|
|
13
13
|
* @category structure
|
|
14
14
|
* @slot - The default main section content.
|
|
15
15
|
* @slot nav - Used to place content inside the navigation sidebar.
|
|
16
|
+
* @slot top-bar - Used to place the [Top Bar](../top-bar/) component.
|
|
16
17
|
* @slot header - Used to place content inside the header section.
|
|
17
18
|
* @slot drawer - Used to place additional content/details relating to a selected item.
|
|
18
19
|
* @slot nav-toggle - Used to place a own nav-toggle component, for cases where you might need to add a tooltip.
|
|
@@ -24,30 +25,23 @@ declare type NavState = States<typeof navMachine>;
|
|
|
24
25
|
export default class Layout extends LitElement {
|
|
25
26
|
static styles: import("lit").CSSResult[];
|
|
26
27
|
private peekTimeoutId?;
|
|
27
|
-
private resizeObserver;
|
|
28
28
|
private navSlot;
|
|
29
29
|
private drawerSlot;
|
|
30
|
+
private topBarSlot;
|
|
31
|
+
private headerSlot;
|
|
30
32
|
private direction;
|
|
31
33
|
private events;
|
|
32
34
|
private lightDismiss;
|
|
33
|
-
private stickyElement;
|
|
34
35
|
private navEl;
|
|
35
36
|
private navWidth;
|
|
36
37
|
private isDragging;
|
|
37
38
|
private navState;
|
|
38
39
|
private wideScreen;
|
|
39
|
-
private headerSize;
|
|
40
40
|
/**
|
|
41
41
|
* Controls whether the navigation is hidden off-screen or not.
|
|
42
42
|
* Defaults to `true` for wide viewports, and `false` otherwise.
|
|
43
43
|
*/
|
|
44
44
|
navOpen: boolean;
|
|
45
|
-
/**
|
|
46
|
-
* ID reference of element used to toggle the navigation.
|
|
47
|
-
* This is deprecated, the layout component will now render its own nav toggle to simplify usage.
|
|
48
|
-
* @deprecated
|
|
49
|
-
*/
|
|
50
|
-
navToggle?: string;
|
|
51
45
|
/**
|
|
52
46
|
* Controls the padding of the default main section slot. When set to “none”,
|
|
53
47
|
* the nav and header slots will still have padding.
|
|
@@ -63,10 +57,9 @@ export default class Layout extends LitElement {
|
|
|
63
57
|
*/
|
|
64
58
|
get isNarrow(): boolean;
|
|
65
59
|
connectedCallback(): void;
|
|
66
|
-
protected firstUpdated(): void;
|
|
67
|
-
disconnectedCallback(): void;
|
|
68
60
|
render(): import("lit-html").TemplateResult<1>;
|
|
69
61
|
private renderNavToggle;
|
|
62
|
+
private renderNavCollapse;
|
|
70
63
|
protected handleNavWidthChange(): void;
|
|
71
64
|
protected handleNavStateChange(prev: NavState): void;
|
|
72
65
|
protected handleOpenChange(): void;
|
|
@@ -82,7 +75,6 @@ export default class Layout extends LitElement {
|
|
|
82
75
|
private handleMouseEnter;
|
|
83
76
|
private handleMouseLeave;
|
|
84
77
|
private handleTransitionEnd;
|
|
85
|
-
private isNavToggle;
|
|
86
78
|
private handleKeyboardResize;
|
|
87
79
|
private setNavWidth;
|
|
88
80
|
private startDragging;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { ReactiveController, ReactiveControllerHost } from "lit";
|
|
2
2
|
import { Translation, WellKnownKeys } from "./translation.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
type Func = (...args: any[]) => any;
|
|
4
|
+
type Result<Type, Key extends keyof Type> = Type[Key] extends Func ? ReturnType<Type[Key]> : Type[Key];
|
|
5
|
+
type FuncParams<Type, K extends keyof Type> = Type[K] extends Func ? Parameters<Type[K]> : never;
|
|
6
6
|
export declare class LocalizeController<TComponentName extends Exclude<keyof Translation, WellKnownKeys>> implements ReactiveController {
|
|
7
7
|
private host;
|
|
8
8
|
private options;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import en from "./en-us.js";
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
export
|
|
2
|
+
type PickStartsWith<T, Prefix extends string> = T extends `${Prefix}${string}` ? T : never;
|
|
3
|
+
export type Translation = typeof en;
|
|
4
|
+
export type WellKnownKeys = PickStartsWith<keyof Translation, "$">;
|
|
5
5
|
/**
|
|
6
6
|
* Removes all registered translations
|
|
7
7
|
*/
|
|
@@ -38,6 +38,7 @@ export declare function resolveTranslation(langCode: string): {
|
|
|
38
38
|
footerBackspaceKey: string;
|
|
39
39
|
noResults: (searchTerm: string) => string;
|
|
40
40
|
tip: string;
|
|
41
|
+
placeholder: string;
|
|
41
42
|
};
|
|
42
43
|
"nord-calendar": {
|
|
43
44
|
prevMonthLabel: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactiveController, ReactiveControllerHost } from "lit";
|
|
2
2
|
import { LightDismissOptions } from "../common/controllers/LightDismissController.js";
|
|
3
|
-
|
|
3
|
+
type ModalControllerOptions = {
|
|
4
4
|
isOpen: LightDismissOptions["isOpen"];
|
|
5
5
|
onDismiss: LightDismissOptions["onDismiss"];
|
|
6
6
|
close: (returnValue?: string) => void;
|
|
@@ -9,7 +9,7 @@ import "../icon/Icon.js";
|
|
|
9
9
|
* @slot - The default slot used for the nav items.
|
|
10
10
|
*/
|
|
11
11
|
export default class NavGroup extends LitElement {
|
|
12
|
-
static styles: import("lit").CSSResult;
|
|
12
|
+
static styles: import("lit").CSSResult[];
|
|
13
13
|
/**
|
|
14
14
|
* Heading and accessible label for the nav group
|
|
15
15
|
*/
|
|
@@ -11,7 +11,7 @@ declare const NavItem_base: (new (...args: any[]) => import("../common/mixins/Fo
|
|
|
11
11
|
* @fires toggle - Dispatched whenever a nav item's state changes between open and closed.
|
|
12
12
|
*/
|
|
13
13
|
export default class NavItem extends NavItem_base {
|
|
14
|
-
static styles: import("lit").CSSResult;
|
|
14
|
+
static styles: import("lit").CSSResult[];
|
|
15
15
|
private subnavSlot;
|
|
16
16
|
private direction;
|
|
17
17
|
/**
|
|
@@ -41,12 +41,12 @@ export default class NavItem extends NavItem_base {
|
|
|
41
41
|
* @internal
|
|
42
42
|
*/
|
|
43
43
|
get hasSubNav(): boolean;
|
|
44
|
-
connectedCallback(): void;
|
|
45
44
|
render(): TemplateResult<1>;
|
|
46
45
|
private renderLink;
|
|
47
46
|
private renderToggle;
|
|
48
47
|
private renderButton;
|
|
49
48
|
private toggleOpen;
|
|
49
|
+
protected handleActiveChange(): void;
|
|
50
50
|
}
|
|
51
51
|
declare global {
|
|
52
52
|
interface HTMLElementTagNameMap {
|
|
@@ -5,7 +5,7 @@ declare const NavToggle_base: (new (...args: any[]) => import("../common/mixins/
|
|
|
5
5
|
/**
|
|
6
6
|
* Nav toggle is meant for hiding and showing the primary navigation.
|
|
7
7
|
* This component is used internally in the Layout component, but can also be
|
|
8
|
-
* used separate to further customize the
|
|
8
|
+
* used separate to further customize the behavior.
|
|
9
9
|
*
|
|
10
10
|
* @status new
|
|
11
11
|
* @category action
|
|
@@ -9,11 +9,16 @@ import { LitElement } from "lit";
|
|
|
9
9
|
* @slot - The main section of the sidebar, for holding nav components.
|
|
10
10
|
* @slot header - The top section of the sidebar.
|
|
11
11
|
* @slot footer - The bottom section of the sidebar.
|
|
12
|
+
*
|
|
13
|
+
* @cssprop [--n-navigation-background-color=var(--n-color-nav-surface)] - Controls the background color of the navigation element.
|
|
12
14
|
*/
|
|
13
15
|
export default class Navigation extends LitElement {
|
|
14
16
|
static styles: import("lit").CSSResult[];
|
|
15
17
|
private headerSlot;
|
|
18
|
+
private events;
|
|
19
|
+
connectedCallback(): void;
|
|
16
20
|
render(): import("lit-html").TemplateResult<1>;
|
|
21
|
+
private handleActivate;
|
|
17
22
|
}
|
|
18
23
|
declare global {
|
|
19
24
|
interface HTMLElementTagNameMap {
|
|
@@ -11,6 +11,7 @@ declare const Select_base: (new (...args: any[]) => import("../common/mixins/Siz
|
|
|
11
11
|
* @slot label - Use when a label requires more than plain text.
|
|
12
12
|
* @slot hint - Use when a hint requires more than plain text.
|
|
13
13
|
* @slot error - Optional slot that holds error text for the input.
|
|
14
|
+
* @slot icon - Used to place an icon at the start of select.
|
|
14
15
|
*
|
|
15
16
|
* @cssprop [--n-select-block-size=var(--n-space-xl)] - Controls the block size, or height, of the select using our [spacing tokens](/tokens/#space).
|
|
16
17
|
*/
|
package/lib/src/stack/Stack.d.ts
CHANGED
|
@@ -23,11 +23,6 @@ export default class Stack extends LitElement {
|
|
|
23
23
|
* How to align the child items inside the stack.
|
|
24
24
|
*/
|
|
25
25
|
alignItems?: "center" | "start" | "end" | "stretch";
|
|
26
|
-
/**
|
|
27
|
-
* This property is deprecated and will be removed in a future version. We recommend using standard [CSS media queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries) over this property. Please see the [updated usage example](/components/stack/?example=using+responsive+media+query).
|
|
28
|
-
* @deprecated
|
|
29
|
-
*/
|
|
30
|
-
responsive: boolean;
|
|
31
26
|
/**
|
|
32
27
|
* Defines whether the Stack items are forced in a single line
|
|
33
28
|
* or can be flowed into multiple lines.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { LitElement } from "lit";
|
|
2
2
|
import Toast from "../toast/Toast.js";
|
|
3
|
-
|
|
3
|
+
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
|
*
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
declare const TopBar_base: typeof LitElement;
|
|
3
|
+
/**
|
|
4
|
+
* Top bar is a header component that is always visible at the top of the interface. Top bar allows functionality such as search and contextual menus to be placed at the top of the interface.
|
|
5
|
+
*
|
|
6
|
+
* @status draft
|
|
7
|
+
* @category structure
|
|
8
|
+
* @slot - Used for the main content of the top bar. We recommend placing your application’s global search functionality into this slot.
|
|
9
|
+
* @slot end - Optional slot for menus, buttons, toggles, etc.
|
|
10
|
+
*/
|
|
11
|
+
export default class TopBar extends TopBar_base {
|
|
12
|
+
static styles: import("lit").CSSResult[];
|
|
13
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
14
|
+
}
|
|
15
|
+
declare global {
|
|
16
|
+
interface HTMLElementTagNameMap {
|
|
17
|
+
"nord-top-bar": TopBar;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{T as t}from"./query-assigned-elements-2f8275b7.js";import{e,i as r,t as s}from"./directive-de55b00a.js";
|
|
2
|
+
/**
|
|
3
|
+
* @license
|
|
4
|
+
* Copyright 2018 Google LLC
|
|
5
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
+
*/const n="important",i=" !"+n,o=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.includes("-")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`}),"")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ut){this.ut=new Set;for(const t in r)this.ut.add(t);return this.render(r)}this.ut.forEach((t=>{null==r[t]&&(this.ut.delete(t),t.includes("-")?s.removeProperty(t):s[t]="")}));for(const t in r){const e=r[t];if(null!=e){this.ut.add(t);const r="string"==typeof e&&e.endsWith(i);t.includes("-")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:""):s[t]=e}}return t}});export{o};
|
|
7
|
+
//# sourceMappingURL=style-map-75ce20b3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style-map-75ce20b3.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=\"important\",n=\" !\"+i,o=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.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`}),\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ut){this.ut=new Set;for(const t in r)this.ut.add(t);return this.render(r)}this.ut.forEach((t=>{null==r[t]&&(this.ut.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=\"\")}));for(const t in r){const e=r[t];if(null!=e){this.ut.add(t);const r=\"string\"==typeof e&&e.endsWith(n);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?i:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n"],"names":["i","n","o","e","r","constructor","t","super","type","s","ATTRIBUTE","name","strings","length","Error","render","Object","keys","reduce","includes","replace","toLowerCase","update","style","element","this","ut","Set","add","forEach","delete","removeProperty","endsWith","setProperty","slice"],"mappings":";;;;;GAKQ,MAACA,EAAE,YAAYC,EAAE,KAAKD,EAAEE,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,SAAS,KAAKf,EAAEA,EAAEgB,QAAQ,oCAAoC,OAAOC,iBAAiBZ,IAAK,GAAE,GAAG,CAACa,OAAOnB,GAAGC,IAAI,MAAMmB,MAAMd,GAAGN,EAAEqB,QAAQ,QAAG,IAASC,KAAKC,GAAG,CAACD,KAAKC,GAAG,IAAIC,IAAI,IAAI,MAAMrB,KAAKF,EAAEqB,KAAKC,GAAGE,IAAItB,GAAG,OAAOmB,KAAKV,OAAOX,EAAE,CAACqB,KAAKC,GAAGG,SAASvB,IAAI,MAAMF,EAAEE,KAAKmB,KAAKC,GAAGI,OAAOxB,GAAGA,EAAEa,SAAS,KAAKV,EAAEsB,eAAezB,GAAGG,EAAEH,GAAG,GAAI,IAAG,IAAI,MAAMA,KAAKF,EAAE,CAAC,MAAMD,EAAEC,EAAEE,GAAG,GAAG,MAAMH,EAAE,CAACsB,KAAKC,GAAGE,IAAItB,GAAG,MAAMF,EAAE,iBAAiBD,GAAGA,EAAE6B,SAAS/B,GAAGK,EAAEa,SAAS,MAAMf,EAAEK,EAAEwB,YAAY3B,EAAEF,EAAED,EAAE+B,MAAM,GAAG,IAAI/B,EAAEC,EAAEJ,EAAE,IAAIS,EAAEH,GAAGH,CAAC,CAAC,CAAC,OAAOG,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nordhealth/components",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "This package includes Nord Design System
|
|
3
|
+
"version": "3.0.0",
|
|
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",
|
|
7
7
|
"main": "lib/index.js",
|
|
@@ -18,7 +18,9 @@
|
|
|
18
18
|
],
|
|
19
19
|
"scripts": {
|
|
20
20
|
"start": "concurrently -k -n TSC,HTTP -c blue.bold,magenta.bold \"tsc -w --noEmit\" \"wds\"",
|
|
21
|
-
"
|
|
21
|
+
"prebuild": "npm run clean",
|
|
22
|
+
"build": "rollup -c",
|
|
23
|
+
"postbuild": "npm run analyze",
|
|
22
24
|
"build:docker": "docker-compose build test",
|
|
23
25
|
"clean": "rm -rf lib/",
|
|
24
26
|
"lint": "eslint --ext .ts,.js,.html . --ignore-path ../../.gitignore && prettier \"**/*.ts\" --check --ignore-path ../../.gitignore",
|
|
@@ -31,49 +33,49 @@
|
|
|
31
33
|
"scaffold": "node ./utils/scaffold.mjs"
|
|
32
34
|
},
|
|
33
35
|
"dependencies": {
|
|
34
|
-
"@floating-ui/dom": "1.
|
|
35
|
-
"@nordhealth/icons": "^
|
|
36
|
-
"lit": "2.
|
|
36
|
+
"@floating-ui/dom": "1.2.7",
|
|
37
|
+
"@nordhealth/icons": "^3.0.0",
|
|
38
|
+
"lit": "2.7.4",
|
|
37
39
|
"qr-creator": "1.0.0",
|
|
38
40
|
"tinykeys": "1.4.0"
|
|
39
41
|
},
|
|
40
42
|
"devDependencies": {
|
|
41
|
-
"@custom-elements-manifest/analyzer": "0.
|
|
42
|
-
"@nordhealth/css": "^
|
|
43
|
-
"@nordhealth/fonts": "^
|
|
44
|
-
"@nordhealth/themes": "^
|
|
45
|
-
"@nordhealth/tokens": "^
|
|
46
|
-
"@open-wc/eslint-config": "
|
|
47
|
-
"@open-wc/testing": "3.1.
|
|
48
|
-
"@rollup/plugin-node-resolve": "
|
|
49
|
-
"@rollup/plugin-replace": "
|
|
50
|
-
"@rollup/plugin-typescript": "
|
|
51
|
-
"@types/mocha": "
|
|
52
|
-
"@types/prettier": "2.7.
|
|
53
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
54
|
-
"@typescript-eslint/parser": "5.
|
|
55
|
-
"@web/dev-server": "0.1
|
|
43
|
+
"@custom-elements-manifest/analyzer": "0.8.2",
|
|
44
|
+
"@nordhealth/css": "^3.0.0",
|
|
45
|
+
"@nordhealth/fonts": "^3.0.0",
|
|
46
|
+
"@nordhealth/themes": "^8.0.0",
|
|
47
|
+
"@nordhealth/tokens": "^7.0.0",
|
|
48
|
+
"@open-wc/eslint-config": "10.0.0",
|
|
49
|
+
"@open-wc/testing": "3.1.8",
|
|
50
|
+
"@rollup/plugin-node-resolve": "15.0.2",
|
|
51
|
+
"@rollup/plugin-replace": "5.0.2",
|
|
52
|
+
"@rollup/plugin-typescript": "11.1.0",
|
|
53
|
+
"@types/mocha": "10.0.1",
|
|
54
|
+
"@types/prettier": "2.7.2",
|
|
55
|
+
"@typescript-eslint/eslint-plugin": "5.59.5",
|
|
56
|
+
"@typescript-eslint/parser": "5.59.5",
|
|
57
|
+
"@web/dev-server": "0.2.1",
|
|
56
58
|
"@web/dev-server-esbuild": "0.2.16",
|
|
57
|
-
"@web/dev-server-rollup": "0.
|
|
58
|
-
"@web/test-runner": "0.
|
|
59
|
-
"@web/test-runner-commands": "0.
|
|
60
|
-
"@web/test-runner-visual-regression": "0.
|
|
61
|
-
"concurrently": "
|
|
62
|
-
"eslint": "8.
|
|
63
|
-
"eslint-config-prettier": "
|
|
64
|
-
"eslint-plugin-import": "2.
|
|
65
|
-
"eslint-plugin-lit": "1.
|
|
66
|
-
"eslint-plugin-lit-a11y": "2.
|
|
67
|
-
"eslint-plugin-wc": "1.
|
|
59
|
+
"@web/dev-server-rollup": "0.5.0",
|
|
60
|
+
"@web/test-runner": "0.16.1",
|
|
61
|
+
"@web/test-runner-commands": "0.7.0",
|
|
62
|
+
"@web/test-runner-visual-regression": "0.8.0",
|
|
63
|
+
"concurrently": "8.0.1",
|
|
64
|
+
"eslint": "8.40.0",
|
|
65
|
+
"eslint-config-prettier": "8.8.0",
|
|
66
|
+
"eslint-plugin-import": "2.27.5",
|
|
67
|
+
"eslint-plugin-lit": "1.8.3",
|
|
68
|
+
"eslint-plugin-lit-a11y": "2.4.1",
|
|
69
|
+
"eslint-plugin-wc": "1.5.0",
|
|
68
70
|
"glob": "8.0.3",
|
|
69
|
-
"prettier": "2.
|
|
70
|
-
"rollup": "2.
|
|
71
|
-
"rollup-plugin-lit-css": "4.0.
|
|
71
|
+
"prettier": "2.8.8",
|
|
72
|
+
"rollup": "2.79.1",
|
|
73
|
+
"rollup-plugin-lit-css": "4.0.1",
|
|
72
74
|
"rollup-plugin-minify-html-literals": "^1.2.6",
|
|
73
|
-
"rollup-plugin-summary": "
|
|
75
|
+
"rollup-plugin-summary": "2.0.0",
|
|
74
76
|
"rollup-plugin-terser": "7.0.2",
|
|
75
|
-
"tslib": "2.
|
|
76
|
-
"typescript": "
|
|
77
|
+
"tslib": "2.5.0",
|
|
78
|
+
"typescript": "5.0.4"
|
|
77
79
|
},
|
|
78
80
|
"eslintConfig": {
|
|
79
81
|
"ignorePatterns": [
|
|
@@ -180,5 +182,5 @@
|
|
|
180
182
|
}
|
|
181
183
|
]
|
|
182
184
|
},
|
|
183
|
-
"gitHead": "
|
|
185
|
+
"gitHead": "1902613a31eef1e62b17a0dd0df91e7b4a5f409e"
|
|
184
186
|
}
|
package/lib/Calendar-70103fd4.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{i as e,_ as a,s as t,x as n,e as s}from"./query-assigned-elements-15485e3d.js";import{e as i}from"./property-03f59dce.js";import{t as o}from"./state-70f38ceb.js";import{i as r}from"./query-2d22378e.js";import{o as l}from"./class-map-cb77ead2.js";import{c as d,m as c,a as h}from"./collection-2f8e38bd.js";import{o as u}from"./tinykeys.module-84e6cc41.js";import"./Button.js";import"./VisuallyHidden.js";import p from"./Icon.js";import{E as v}from"./EventController-d99ebeef.js";import{D as g}from"./DirectionController-8b298382.js";import{LocalizeController as f}from"./LocalizeController.js";import{c as m}from"./cond-44672025.js";import{r as b}from"./number-c3ab3e95.js";import{i as y,p as w,a as x,s as D,e as k,b as z,g as $,c as F,d as _,f as Y,h as j,j as S,k as M,l as T,m as C,n as N}from"./dates-5b651fbe.js";import{o as L}from"./observe-a9c6dfb6.js";import{DateSelectEvent as O}from"./DateSelectEvent.js";import{s as X}from"./Component-420bbc41.js";var E=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m6.92903.100342-2.12132 2.121318 7.77819 7.77818-7.77828 7.77826 2.12132 2.1213 8.48536-8.4853c.7811-.7811.7811-2.04743 0-2.82848z" fill="currentColor"/></svg>',title:"arrow-right-small",tags:"nordicon arrow right small caret pointing triangle chevron"});var W=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m13.0712.105225 2.1213 2.121315-7.77816 7.77816 7.77826 7.7783-2.1213 2.1213-8.48539-8.4854c-.78105-.781-.78105-2.04735 0-2.82839z" fill="currentColor"/></svg>',title:"arrow-left-small",tags:"nordicon arrow left small caret pointing triangle chevron"});var A=Object.freeze({__proto__:null,default:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m.100342 6.92903 2.121318-2.12132 7.77818 7.77819 7.77826-7.77828 2.1213 2.12132-8.4853 8.48536c-.7811.7811-2.04743.7811-2.82848 0z" fill="currentColor"/></svg>',title:"arrow-down-small",tags:"nordicon arrow down small caret pointing triangle chevron"});const U=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:s}=this.options,i=a-this.initialTouchX,o=t-this.initialTouchY,r={initialX:this.initialTouchX,initialY:this.initialTouchY,pageX:a,pageY:t,distX:i,distY:o};n(r)&&(e.preventDefault(),s(r))},e.addController(this),this.events=new v(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",U),this.events.listen(e,"touchend",this.handleTouchEnd)}}hostDisconnected(){this.hadFirstUpdate=!1}}const P=({distX:e,distY:a})=>Math.abs(e)>=70&&Math.abs(a)<=70,B=({distX:e,distY:a})=>Math.abs(a)>=70&&Math.abs(e)<=70&&a>0,H=e`: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-highlight-color:var(--n-calendar-highlight-color, var(--n-color-accent));--_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);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;padding-block-end:var(--n-space-s);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-weight:var(--n-font-weight);font-variant-numeric:tabular-nums;block-size:var(--n-space-xl);inline-size:var(--n-space-xl);padding:0 0 1px;position:relative;text-align:center;vertical-align:middle}.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-day.is-highlighted::after{--_n-calendar-highlight-size:5px;content:"";position:absolute;inset-inline-start:calc(50% - (var(--_n-calendar-highlight-size)/ 2));inset-block-end:var(--n-space-xs);block-size:var(--_n-calendar-highlight-size);inline-size:var(--_n-calendar-highlight-size);border-radius:var(--n-border-radius-circle);background-color:var(--_n-calendar-highlight-color)}.n-calendar-day.is-highlighted.is-month:is([aria-pressed=true],:focus):not([aria-disabled=true])::after{background-color:var(--n-color-text-on-accent)}.n-calendar-day.is-highlighted:is(:not(.is-month),.is-outside,[aria-disabled=true])::after{background-color:var(--n-color-text-weakest)}.n-calendar-header{align-items:start;display:flex;justify-content:space-between;margin-block-end:var(--n-space-m);inline-size:100%}.n-calendar-nav{white-space:nowrap}.n-calendar-nav nord-button{--_n-button-padding-inline:11px;margin-inline-start:var(--n-space-xs)}.n-calendar-select{display:inline-flex;margin-block-start:var(--n-space-xs);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{display:flex;align-items:center;border-radius:var(--n-border-radius-s);color:var(--n-color-text);font-size:var(--n-font-size-xl);font-weight:var(--n-font-weight-active);padding-block:0;padding-inline-start:var(--n-space-s);padding-inline-end:var(--n-space-xs);pointer-events:none;position:relative;inline-size:100%}`;p.registerIcon(E),p.registerIcon(W),p.registerIcon(A);const R=e=>a=>{a.preventDefault(),e(a)},V=()=>!1,q=()=>!1,G="dialog-header";let J=class extends t{constructor(){super(...arguments),this.direction=new g(this),this.swipe=new I(this,{matchesGesture:P,onSwipeEnd:({distX:e})=>this.addMonths(e<0?1:-1)}),this.shortcuts=u({ArrowRight:R((()=>this.addDays(this.direction.isLTR?1:-1))),ArrowLeft:R((()=>this.addDays(this.direction.isLTR?-1:1))),ArrowDown:R((()=>this.addDays(7))),ArrowUp:R((()=>this.addDays(-7))),Home:R((()=>this.startOfWeek())),End:R((()=>this.endOfWeek())),PageUp:R((()=>this.addMonths(-1))),PageDown:R((()=>this.addMonths(1))),"Shift+PageUp":R((()=>this.addYears(-1))),"Shift+PageDown":R((()=>this.addYears(1)))}),this.localize=new f(this,{onLangChange:()=>this.handleLangChange()}),this.value="",this.firstDayOfWeek=1,this.min="",this.max="",this.expand=!1,this.isDateDisabled=V,this.isDateHighlighted=q,this.activeFocus=!1,this.focusedDay=new Date,this.handleDaySelect=e=>{const a=y(e,w(this.min),w(this.max)),t=!this.isDateDisabled(e);a&&t&&(this.value=x(e),this.dispatchEvent(new O("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=e=>{const a=e.currentTarget,t=e.relatedTarget;t&&!a.contains(t)&&(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=new Date,a=w(this.value),t=this.focusedDay.getMonth(),s=this.focusedDay.getFullYear(),i=w(this.min),o=w(this.max),r=i?D(i):void 0,u=o?k(o):void 0,p=(a||this.focusedDay).getFullYear(),v=i?i.getFullYear():p-10,g=o?o.getFullYear():p+10;return n`<div class="n-calendar"><div class="n-calendar-header"><div><nord-visually-hidden><h2 id="${G}" aria-live="polite" aria-atomic="true">${this.monthNames[t]}, ${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,a)=>n`<option value="${a}" ?selected="${a===t}" ?disabled="${!y(new Date(s,a,1),r,u)}">${e}</option>`))}</select><div class="n-calendar-select-label" aria-hidden="true"><span>${this.monthNamesShort[t]}</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}">${d(b(v,g),(e=>e),(e=>n`<option ?selected="${e===s}">${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="${z(i,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="${z(o,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><table class="n-calendar-table" aria-labelledby="${G}" @focusin="${this.enableActiveFocus}" @focusout="${this.disableActiveFocus}"><thead><tr>${c(this.dayNames,this.firstDayOfWeek,((e,a)=>n`<th class="n-calendar-table-header" scope="col"><span aria-hidden="true">${this.dayNamesShort[a]}</span><nord-visually-hidden>${e}</nord-visually-hidden></th>`))}</tr></thead><tbody>${h($(this.focusedDay,this.firstDayOfWeek),7).map((t=>n`<tr class="n-calendar-row">${t.map((t=>{const s=!y(t,i,o),r=F(t,e),d=this.isDateDisabled(t),c=F(t,a),h=z(t,this.focusedDay),u=this.isDateHighlighted(t),p=this.dateFormatShort.format(t),v=u&&"string"==typeof u?`${p}, ${u}`:p;return n`<td class="n-calendar-cell"><button type="button" tabindex="${F(t,this.focusedDay)?0:-1}" class="${l({"n-calendar-day":!0,"is-outside":s,"is-month":h,"is-highlighted":u})}" @click="${()=>this.handleDaySelect(t)}" @keydown="${this.shortcuts}" ?disabled="${s}" aria-disabled="${m(d,"true")}" aria-pressed="${c?"true":"false"}" aria-current="${m(r,"date")}" aria-label="${v}"><span aria-hidden="true">${t.getDate()}</span></button></td>`}))}</tr>`))}</tbody></table></div>`}handleValueChange(){this.setFocusedDay(w(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=_(e,"long"),this.monthNamesShort=_(e,"short"),this.dayNames=Y(e,"long"),this.dayNamesShort=Y(e,"narrow")}addDays(e){this.setFocusedDay(j(this.focusedDay,e))}addMonths(e){this.setMonth(this.focusedDay.getMonth()+e)}addYears(e){this.setYear(this.focusedDay.getFullYear()+e)}startOfWeek(){this.setFocusedDay(S(this.focusedDay,this.firstDayOfWeek))}endOfWeek(){this.setFocusedDay(M(this.focusedDay,this.firstDayOfWeek))}setMonth(e){const a=T(D(this.focusedDay),e),t=k(a),n=T(this.focusedDay,e);this.setFocusedDay(C(n,a,t))}setYear(e){const a=N(D(this.focusedDay),e),t=k(a),n=N(this.focusedDay,e);this.setFocusedDay(C(n,a,t))}setFocusedDay(e){this.focusedDay=C(e,w(this.min),w(this.max)),this.dispatchEvent(new O("nord-focus-date",this.focusedDay))}};J.styles=[X,H],a([r(".n-calendar-select-month",!0)],J.prototype,"monthSelectNode",void 0),a([r('button[tabindex="0"]')],J.prototype,"focusedDayNode",void 0),a([i()],J.prototype,"value",void 0),a([i({type:Number})],J.prototype,"firstDayOfWeek",void 0),a([i()],J.prototype,"min",void 0),a([i()],J.prototype,"max",void 0),a([i({reflect:!0,type:Boolean})],J.prototype,"expand",void 0),a([i({attribute:!1})],J.prototype,"isDateDisabled",void 0),a([i({attribute:!1})],J.prototype,"isDateHighlighted",void 0),a([o()],J.prototype,"activeFocus",void 0),a([o()],J.prototype,"focusedDay",void 0),a([L("value")],J.prototype,"handleValueChange",null),a([L("focusedDay","updated")],J.prototype,"handleFocusedDayChange",null),J=a([s("nord-calendar")],J);var K=J;export{K as C,I as S,B as i};
|
|
2
|
-
//# sourceMappingURL=Calendar-70103fd4.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar-70103fd4.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 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m6.92903.100342-2.12132 2.121318 7.77819 7.77818-7.77828 7.77826 2.12132 2.1213 8.48536-8.4853c.7811-.7811.7811-2.04743 0-2.82848z\" fill=\"currentColor\"/></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 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m13.0712.105225 2.1213 2.121315-7.77816 7.77816 7.77826 7.7783-2.1213 2.1213-8.48539-8.4854c-.78105-.781-.78105-2.04735 0-2.82839z\" fill=\"currentColor\"/></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 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m.100342 6.92903 2.121318-2.12132 7.77818 7.77819 7.77826-7.77828 2.1213 2.12132-8.4853 8.48536c-.7811.7811-2.04743.7811-2.82848 0z\" fill=\"currentColor\"/></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 { classMap } from \"lit/directives/class-map.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\"\nimport { chunk, mapWithOffset } from \"../common/collection.js\"\nimport { cond } from \"../common/directives/cond.js\"\nimport { range } from \"../common/number.js\"\nimport {\n addDays,\n clamp,\n DaysOfWeek,\n endOfMonth,\n endOfWeek,\n getDayNames,\n getMonthNames,\n getViewOfMonth,\n inRange,\n isEqual,\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 { DateSelectEvent } from \"./DateSelectEvent.js\"\nimport componentStyle from \"../common/styles/Component.css\"\nimport style from \"./Calendar.css\"\n\nexport type DatePredicate = (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: DatePredicate = () => false\nconst isDateHighlighted = () => false\n\nconst dialogLabelId = \"dialog-header\"\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 * @localization prevMonthLabel - Accessible label for the previous month button.\n * @localization nextMonthLabel - Accessible label for the next month button.\n * @localization monthSelectLabel - Accessible label for the month select.\n * @localization yearSelectLabel - Accessible label for the year select.\n */\n@customElement(\"nord-calendar\")\nexport default class Calendar extends LitElement {\n static styles = [componentStyle, style]\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: DatePredicate = isDateDisabled\n\n /**\n * Controls which days are highlighted with a small indicator.\n * Returning a \"falsy\" value will not show an indicator.\n * Returning \"truthy\" value will show the indicator, but without an accessible label.\n * Returning a string will show the indicator, and use the string as accessible label.\n * It is recommended to return a string rather than a truthy value whenever possible.\n */\n @property({ attribute: false }) isDateHighlighted: (date: Date) => string | boolean = isDateHighlighted\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 today = new Date()\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=${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 <table\n class=\"n-calendar-table\"\n aria-labelledby=${dialogLabelId}\n @focusin=${this.enableActiveFocus}\n @focusout=${this.disableActiveFocus}\n >\n <thead>\n <tr>\n ${mapWithOffset(\n this.dayNames,\n this.firstDayOfWeek,\n (dayName, i) =>\n html`\n <th class=\"n-calendar-table-header\" scope=\"col\">\n <span aria-hidden=\"true\">${this.dayNamesShort[i]}</span>\n <nord-visually-hidden>${dayName}</nord-visually-hidden>\n </th>\n `\n )}\n </tr>\n </thead>\n <tbody>\n ${chunk(getViewOfMonth(this.focusedDay, this.firstDayOfWeek), 7).map(\n week =>\n html`\n <tr class=\"n-calendar-row\">\n ${week.map(day => {\n const outsideRange = !inRange(day, minDate, maxDate)\n const isToday = isEqual(day, today)\n const isDisabled = this.isDateDisabled(day)\n const isSelected = isEqual(day, valueAsDate)\n const isInMonth = isEqualMonth(day, this.focusedDay)\n const isHighlighted = this.isDateHighlighted(day)\n const formattedDate = this.dateFormatShort.format(day)\n\n const accessibleLabel =\n isHighlighted && typeof isHighlighted === \"string\"\n ? `${formattedDate}, ${isHighlighted}`\n : formattedDate\n\n return html`\n <td class=\"n-calendar-cell\">\n <button\n type=\"button\"\n tabindex=${isEqual(day, this.focusedDay) ? 0 : -1}\n class=${classMap({\n \"n-calendar-day\": true,\n \"is-outside\": outsideRange,\n \"is-month\": isInMonth,\n \"is-highlighted\": isHighlighted,\n })}\n @click=${() => this.handleDaySelect(day)}\n @keydown=${this.shortcuts}\n ?disabled=${outsideRange}\n aria-disabled=${cond(isDisabled, \"true\")}\n aria-pressed=${isSelected ? \"true\" : \"false\"}\n aria-current=${cond(isToday, \"date\")}\n aria-label=${accessibleLabel}\n >\n <span aria-hidden=\"true\">${day.getDate()}</span>\n </button>\n </td>\n `\n })}\n </tr>\n `\n )}\n </tbody>\n </table>\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: Event) => {\n this.setMonth(parseInt((e.target as HTMLSelectElement).value, 10))\n }\n\n private handleYearSelect = (e: Event) => {\n this.setYear(parseInt((e.target as HTMLSelectElement).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 = (e: FocusEvent) => {\n const table = e.currentTarget as Node\n const relatedTarget = e.relatedTarget as Node\n\n if (relatedTarget && !table.contains(relatedTarget)) {\n this.activeFocus = false\n }\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","isDateHighlighted","dialogLabelId","Calendar","LitElement","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","table","currentTarget","relatedTarget","contains","focus","_a","focusedDayNode","monthSelectNode","render","today","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","mapWithOffset","dayNames","dayName","dayNamesShort","chunk","getViewOfMonth","week","outsideRange","isToday","isEqual","isDisabled","isSelected","isInMonth","isHighlighted","formattedDate","dateFormatShort","format","accessibleLabel","classMap","cond","getDate","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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Component-420bbc41.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormField-cbfebb3f.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|