@nordhealth/components 2.7.0 → 2.8.1

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.
Files changed (49) hide show
  1. package/custom-elements.json +2063 -1963
  2. package/lib/Avatar.js +1 -1
  3. package/lib/Avatar.js.map +1 -1
  4. package/lib/Button.js +1 -1
  5. package/lib/Button.js.map +1 -1
  6. package/lib/{Calendar-1cdf8429.js → Calendar-1904bf2f.js} +1 -1
  7. package/lib/{Calendar-1cdf8429.js.map → Calendar-1904bf2f.js.map} +1 -1
  8. package/lib/Calendar.js +1 -1
  9. package/lib/Card.js +1 -1
  10. package/lib/Card.js.map +1 -1
  11. package/lib/Checkbox.js +1 -1
  12. package/lib/DatePicker.js +1 -1
  13. package/lib/Drawer.js +1 -1
  14. package/lib/Fieldset.js +1 -1
  15. package/lib/{FormAssociatedMixin-3cc6e83b.js → FormAssociatedMixin-0d57fdc8.js} +2 -2
  16. package/lib/{FormAssociatedMixin-3cc6e83b.js.map → FormAssociatedMixin-0d57fdc8.js.map} +1 -1
  17. package/lib/Header.js +1 -1
  18. package/lib/Icon.js +1 -1
  19. package/lib/Input.js +1 -1
  20. package/lib/Layout.js +1 -1
  21. package/lib/LightDismissController-a2645ae6.js.map +1 -1
  22. package/lib/Modal.js +1 -1
  23. package/lib/Modal.js.map +1 -1
  24. package/lib/ModalController.js +2 -0
  25. package/lib/ModalController.js.map +1 -0
  26. package/lib/NavItem.js +1 -1
  27. package/lib/Radio.js +1 -1
  28. package/lib/Select.js +1 -1
  29. package/lib/Select.js.map +1 -1
  30. package/lib/{SlotController-ea6eff46.js → SlotController-89834aef.js} +2 -2
  31. package/lib/SlotController-89834aef.js.map +1 -0
  32. package/lib/Tab.js +1 -1
  33. package/lib/TabGroup.js +1 -1
  34. package/lib/Textarea.js +1 -1
  35. package/lib/ToastGroup.js.map +1 -1
  36. package/lib/Toggle.js +1 -1
  37. package/lib/Tooltip.js +1 -1
  38. package/lib/Tooltip.js.map +1 -1
  39. package/lib/bundle.js +7 -7
  40. package/lib/bundle.js.map +1 -1
  41. package/lib/index.js +1 -1
  42. package/lib/src/card/Card.test.d.ts +2 -1
  43. package/lib/src/common/controllers/LightDismissController.d.ts +1 -2
  44. package/lib/src/modal/Modal.d.ts +14 -14
  45. package/lib/src/modal/ModalController.d.ts +34 -0
  46. package/lib/src/toast-group/ToastGroup.d.ts +1 -1
  47. package/lib/src/tooltip/Tooltip.d.ts +1 -0
  48. package/package.json +3 -3
  49. package/lib/SlotController-ea6eff46.js.map +0 -1
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{default as Badge}from"./Badge.js";export{default as Button}from"./Button.js";export{default as Card}from"./Card.js";export{default as Input}from"./Input.js";export{default as Icon}from"./Icon.js";export{default as CommandMenu}from"./CommandMenu.js";export{default as CommandMenuAction}from"./CommandMenuAction.js";export{default as Select}from"./Select.js";export{default as Stack}from"./Stack.js";export{default as Spinner}from"./Spinner.js";export{default as Table}from"./Table.js";export{default as VisuallyHidden}from"./VisuallyHidden.js";export{default as Textarea}from"./Textarea.js";export{C as Calendar}from"./Calendar-1cdf8429.js";export{default as DatePicker}from"./DatePicker.js";export{default as Checkbox}from"./Checkbox.js";export{default as Tooltip}from"./Tooltip.js";export{default as Fieldset}from"./Fieldset.js";export{default as Radio}from"./Radio.js";export{default as Header}from"./Header.js";export{default as NavGroup}from"./NavGroup.js";export{default as NavItem}from"./NavItem.js";export{default as Navigation}from"./Navigation.js";export{default as Layout}from"./Layout.js";export{default as EmptyState}from"./EmptyState.js";export{default as Banner}from"./Banner.js";export{default as Avatar}from"./Avatar.js";export{default as ProgressBar}from"./ProgressBar.js";export{P as Popout}from"./Popout-08f11a8d.js";export{default as Dropdown}from"./Dropdown.js";export{default as DropdownItem}from"./DropdownItem.js";export{default as DropdownGroup}from"./DropdownGroup.js";export{isTranslationRegistered,registerTranslation}from"./translation.js";export{default as TabGroup}from"./TabGroup.js";export{default as Tab}from"./Tab.js";export{default as TabPanel}from"./TabPanel.js";export{default as Toggle}from"./Toggle.js";export{default as Modal}from"./Modal.js";export{default as Skeleton}from"./Skeleton.js";export{default as Toast}from"./Toast.js";export{default as ToastGroup}from"./ToastGroup.js";export{default as Divider}from"./Divider.js";export{default as Qrcode}from"./Qrcode.js";export{default as Drawer}from"./Drawer.js";export{default as NavToggle}from"./NavToggle.js";import"./query-assigned-elements-e6cbac30.js";import"./lit-element-9178eae5.js";import"./property-03f59dce.js";import"./Component-92eb6234.js";import"./ref-0e619221.js";import"./directive-de55b00a.js";import"./EventController-d99ebeef.js";import"./LightDomController-3c726b20.js";import"./cond-338158e9.js";import"./FocusableMixin-34870ed3.js";import"./InputMixin-158f63fb.js";import"./SlotController-ea6eff46.js";import"./if-defined-4598a996.js";import"./class-map-949b7d3b.js";import"./unsafe-html-6be42999.js";import"./FormAssociatedMixin-3cc6e83b.js";import"./events-731d0007.js";import"./TextField-a7382912.js";import"./AutocompleteMixin-370de2be.js";import"./SizeMixin-4559b224.js";import"./FormField-081da729.js";import"./state-70f38ceb.js";import"./observe-a9c6dfb6.js";import"./repeat-ae6f075f.js";import"./collection-800f5002.js";import"./number-c3ab3e95.js";import"./LightDismissController-a2645ae6.js";import"./ShortcutController-87615e31.js";import"./tinykeys.module-84e6cc41.js";import"./KeyboardController.js";import"./SelectEvent.js";import"./LocalizeController.js";import"./DirectionController-8b298382.js";import"./query-2d22378e.js";import"./dates-a8de5b83.js";import"./month-view.js";import"./DateSelectEvent.js";import"./interface-close-small-44ababc3.js";import"./date-adapter.js";import"./positioning-3bbd3548.js";import"./fsm-50373df9.js";import"./ScrollbarController-680392c9.js";import"./en-us.js";import"./localization.js";import"./localization2.js";import"./localization3.js";import"./localization4.js";import"./localization5.js";import"./DraftComponentMixin-9e4b7b34.js";
1
+ export{default as Badge}from"./Badge.js";export{default as Button}from"./Button.js";export{default as Card}from"./Card.js";export{default as Input}from"./Input.js";export{default as Icon}from"./Icon.js";export{default as CommandMenu}from"./CommandMenu.js";export{default as CommandMenuAction}from"./CommandMenuAction.js";export{default as Select}from"./Select.js";export{default as Stack}from"./Stack.js";export{default as Spinner}from"./Spinner.js";export{default as Table}from"./Table.js";export{default as VisuallyHidden}from"./VisuallyHidden.js";export{default as Textarea}from"./Textarea.js";export{C as Calendar}from"./Calendar-1904bf2f.js";export{default as DatePicker}from"./DatePicker.js";export{default as Checkbox}from"./Checkbox.js";export{default as Tooltip}from"./Tooltip.js";export{default as Fieldset}from"./Fieldset.js";export{default as Radio}from"./Radio.js";export{default as Header}from"./Header.js";export{default as NavGroup}from"./NavGroup.js";export{default as NavItem}from"./NavItem.js";export{default as Navigation}from"./Navigation.js";export{default as Layout}from"./Layout.js";export{default as EmptyState}from"./EmptyState.js";export{default as Banner}from"./Banner.js";export{default as Avatar}from"./Avatar.js";export{default as ProgressBar}from"./ProgressBar.js";export{P as Popout}from"./Popout-08f11a8d.js";export{default as Dropdown}from"./Dropdown.js";export{default as DropdownItem}from"./DropdownItem.js";export{default as DropdownGroup}from"./DropdownGroup.js";export{isTranslationRegistered,registerTranslation}from"./translation.js";export{default as TabGroup}from"./TabGroup.js";export{default as Tab}from"./Tab.js";export{default as TabPanel}from"./TabPanel.js";export{default as Toggle}from"./Toggle.js";export{default as Modal}from"./Modal.js";export{default as Skeleton}from"./Skeleton.js";export{default as Toast}from"./Toast.js";export{default as ToastGroup}from"./ToastGroup.js";export{default as Divider}from"./Divider.js";export{default as Qrcode}from"./Qrcode.js";export{default as Drawer}from"./Drawer.js";export{default as NavToggle}from"./NavToggle.js";import"./query-assigned-elements-e6cbac30.js";import"./lit-element-9178eae5.js";import"./property-03f59dce.js";import"./Component-92eb6234.js";import"./ref-0e619221.js";import"./directive-de55b00a.js";import"./EventController-d99ebeef.js";import"./LightDomController-3c726b20.js";import"./cond-338158e9.js";import"./FocusableMixin-34870ed3.js";import"./InputMixin-158f63fb.js";import"./SlotController-89834aef.js";import"./if-defined-4598a996.js";import"./class-map-949b7d3b.js";import"./unsafe-html-6be42999.js";import"./FormAssociatedMixin-0d57fdc8.js";import"./events-731d0007.js";import"./TextField-a7382912.js";import"./AutocompleteMixin-370de2be.js";import"./SizeMixin-4559b224.js";import"./FormField-081da729.js";import"./state-70f38ceb.js";import"./observe-a9c6dfb6.js";import"./repeat-ae6f075f.js";import"./collection-800f5002.js";import"./number-c3ab3e95.js";import"./LightDismissController-a2645ae6.js";import"./ShortcutController-87615e31.js";import"./tinykeys.module-84e6cc41.js";import"./KeyboardController.js";import"./SelectEvent.js";import"./LocalizeController.js";import"./DirectionController-8b298382.js";import"./query-2d22378e.js";import"./dates-a8de5b83.js";import"./month-view.js";import"./DateSelectEvent.js";import"./interface-close-small-44ababc3.js";import"./date-adapter.js";import"./positioning-3bbd3548.js";import"./fsm-50373df9.js";import"./ScrollbarController-680392c9.js";import"./en-us.js";import"./localization.js";import"./localization2.js";import"./localization3.js";import"./localization4.js";import"./localization5.js";import"./ModalController.js";import"./DraftComponentMixin-9e4b7b34.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,6 @@
1
1
  import "../stack/Stack.js";
2
2
  import "../table/Table.js";
3
- import "../input/Input.js";
4
3
  import "../button/Button.js";
5
4
  import "../divider/Divider.js";
5
+ import "../input/Input.js";
6
+ import "../select/Select.js";
@@ -1,5 +1,5 @@
1
1
  import { ReactiveController, ReactiveControllerHost } from "lit";
2
- declare type LightDismissOptions = {
2
+ export declare type LightDismissOptions = {
3
3
  isOpen: () => boolean;
4
4
  onDismiss: EventListener;
5
5
  isDismissible?: (node: EventTarget) => boolean;
@@ -14,4 +14,3 @@ export declare class LightDismissController implements ReactiveController {
14
14
  private handleEsc;
15
15
  private handleClickOut;
16
16
  }
17
- export {};
@@ -18,18 +18,25 @@ import { LitElement } from "lit";
18
18
  */
19
19
  export default class Modal extends LitElement {
20
20
  static styles: import("lit").CSSResult[];
21
+ /**
22
+ * @internal
23
+ * ensures clicking on the backdrop does not move focus to <body>,
24
+ * which can causes issues with focus trapping, and returning focus on modal close,
25
+ * when there are multiple modals.
26
+ */
27
+ static shadowRootOptions: {
28
+ delegatesFocus: boolean;
29
+ mode: ShadowRootMode;
30
+ slotAssignment?: SlotAssignmentMode | undefined;
31
+ customElements?: CustomElementRegistry | undefined;
32
+ };
21
33
  private modal;
22
34
  private backdrop;
23
- private trigger?;
24
- private lastButton?;
25
35
  private headerSlot;
26
36
  private featureSlot;
27
37
  private footerSlot;
28
- private scrollBar;
29
- private focusTrap;
30
38
  private localize;
31
- private events;
32
- private lightDismiss;
39
+ private modalController;
33
40
  /**
34
41
  * Controls whether the modal is open or not.
35
42
  */
@@ -68,15 +75,8 @@ export default class Modal extends LitElement {
68
75
  */
69
76
  focus(options?: FocusOptions): void;
70
77
  render(): import("lit-html").TemplateResult<1>;
71
- protected handleOpenUpdated(): void;
72
- private enableScroll;
78
+ protected handleOpenUpdated(prev: boolean): void;
73
79
  private handleDismiss;
74
- /**
75
- * capture the last button clicked, so that we can polyfill `submitter` property in submit event
76
- */
77
- private trackLastButton;
78
- private polyfillSubmitter;
79
- private handleSubmit;
80
80
  }
81
81
  declare global {
82
82
  interface HTMLElementTagNameMap {
@@ -0,0 +1,34 @@
1
+ import { ReactiveController, ReactiveControllerHost } from "lit";
2
+ import { LightDismissOptions } from "../common/controllers/LightDismissController.js";
3
+ declare type ModalControllerOptions = {
4
+ isOpen: LightDismissOptions["isOpen"];
5
+ onDismiss: LightDismissOptions["onDismiss"];
6
+ close: (returnValue?: string) => void;
7
+ backdrop: () => HTMLElement;
8
+ dialog: () => HTMLElement;
9
+ };
10
+ export declare class ModalController implements ReactiveController {
11
+ private host;
12
+ private static openModals;
13
+ private scrollBar;
14
+ private focusTrap;
15
+ private lightDismiss;
16
+ private events;
17
+ private options;
18
+ private trigger?;
19
+ private lastButton?;
20
+ constructor(host: ReactiveControllerHost & HTMLElement, options: ModalControllerOptions);
21
+ hostConnected(): void;
22
+ hostDisconnected(): void;
23
+ block(): void;
24
+ unblock(): void;
25
+ /**
26
+ * capture the last button clicked, so that we can polyfill `submitter` property in submit event
27
+ */
28
+ private trackLastButton;
29
+ private polyfillSubmitter;
30
+ private handleTransitionEnd;
31
+ private handleLightDismiss;
32
+ private handleSubmit;
33
+ }
34
+ export {};
@@ -15,7 +15,7 @@ export default class ToastGroup extends LitElement {
15
15
  * Convenience method for creating and adding a toast to the group.
16
16
  * @param {string} text - The text/message of the toast.
17
17
  * @param options - An optional object for configuring the toast's `variant` and `autoDismiss`.
18
- * @returns The toast instance.
18
+ * @returns {Toast} The toast instance.
19
19
  */
20
20
  addToast(text: string, options?: ToastOptions): Toast;
21
21
  }
@@ -8,6 +8,7 @@ import { LitElement } from "lit";
8
8
  * @category overlay
9
9
  * @slot - The tooltip content
10
10
  * @slot shortcut - Optional slot that holds shortcut keys to access the subject
11
+ * @cssprop [--n-tooltip-max-size=50ch] - Controls the maximum inline size, or width, of the tooltip.
11
12
  */
12
13
  export default class Tooltip extends LitElement {
13
14
  static styles: import("lit").CSSResult[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordhealth/components",
3
- "version": "2.7.0",
3
+ "version": "2.8.1",
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",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "dependencies": {
34
34
  "@floating-ui/dom": "1.0.1",
35
- "@nordhealth/icons": "^1.7.0",
35
+ "@nordhealth/icons": "^1.8.0",
36
36
  "lit": "2.3.0",
37
37
  "qr-creator": "1.0.0",
38
38
  "tinykeys": "1.4.0"
@@ -179,5 +179,5 @@
179
179
  }
180
180
  ]
181
181
  },
182
- "gitHead": "f883abbcc0a291b6fbf9603993b3bd48fcfc2846"
182
+ "gitHead": "616fab2cc6dae52765755a2507b1787faa84b4fc"
183
183
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"SlotController-ea6eff46.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(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,cAAcD,EAChC,CAUSV,SAASY,GACjBjB,KAAKF,KAAKoB,eACX"}