@nova-design-system/nova-react 3.5.0 → 3.6.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.
Files changed (50) hide show
  1. package/dist/cjs/{timeline.animation-1b88f052-B8-vCVrY.js → collapse.animation-16e3af45-CChx_tQJ.js} +4 -25
  2. package/dist/cjs/fade.animation-71e8e34c-BAw_TYsB.js +68 -0
  3. package/dist/cjs/{index-Te0zRbKN.js → index-E_eTmclZ.js} +2187 -1596
  4. package/dist/cjs/index.js +3 -1
  5. package/dist/cjs/nv-accordion-item.entry-B9iMQoRk.js +178 -0
  6. package/dist/cjs/nv-accordion.entry-2oOEkDVq.js +191 -0
  7. package/dist/cjs/{nv-alert.entry-CPbApg9_.js → nv-alert.entry-CJcHACkm.js} +10 -8
  8. package/dist/cjs/{nv-avatar.entry-CwM8IOei.js → nv-avatar.entry-COkIaFDp.js} +2 -2
  9. package/dist/cjs/{nv-badge_2.entry-Bqu-2k7E.js → nv-badge_2.entry-CQHT-nck.js} +14 -12
  10. package/dist/cjs/{nv-breadcrumb.entry-CmceXVS9.js → nv-breadcrumb.entry-DElOQJUD.js} +2 -2
  11. package/dist/cjs/{nv-breadcrumbs.entry-B7xbEUl5.js → nv-breadcrumbs.entry-CDfxiMbp.js} +2 -2
  12. package/dist/cjs/{nv-button.entry-Cd_CE1fx.js → nv-button.entry-CTJT4SzB.js} +2 -2
  13. package/dist/cjs/{nv-calendar.entry-B2lm2nvb.js → nv-calendar.entry-BU2OBf6g.js} +60 -51
  14. package/dist/cjs/{nv-col.entry-BF8XR4B1.js → nv-col.entry-Bsz14pxY.js} +2 -2
  15. package/dist/cjs/{nv-datagrid.entry-CcQ8XP6J.js → nv-datagrid.entry-2DyB7G5f.js} +3 -3
  16. package/dist/cjs/{nv-datagridcolumn.entry-uGbQ4NMr.js → nv-datagridcolumn.entry-DquF2Cc1.js} +2 -2
  17. package/dist/cjs/{nv-dialog.entry-DyK4wFFz.js → nv-dialog.entry-QzImh4AV.js} +20 -7
  18. package/dist/cjs/{nv-dialogfooter_2.entry-DT3kR9Xn.js → nv-dialogfooter_2.entry-MikGtnGi.js} +3 -3
  19. package/dist/cjs/{nv-fieldcheckbox.entry-D_wHbgcq.js → nv-fieldcheckbox.entry-DKhH58rn.js} +5 -5
  20. package/dist/cjs/{nv-fielddate.entry-BaIcP2EG.js → nv-fielddate.entry-Dj_oMJ2a.js} +101 -36
  21. package/dist/cjs/{nv-fielddaterange.entry-BNcF2N2M.js → nv-fielddaterange.entry-CWwH83ug.js} +5 -5
  22. package/dist/cjs/{nv-fielddropdown.entry-DWlDvODi.js → nv-fielddropdown.entry-CPD-1tGj.js} +4 -4
  23. package/dist/cjs/{nv-fielddropdownitem.entry-BIy_GUKA.js → nv-fielddropdownitem.entry-CM5Fogll.js} +2 -2
  24. package/dist/cjs/{nv-fieldmultiselect.entry-B74CLRuh.js → nv-fieldmultiselect.entry-DodoLrhv.js} +86 -101
  25. package/dist/cjs/{nv-fieldnumber.entry-BQBy1EIj.js → nv-fieldnumber.entry-063nS6p_.js} +4 -4
  26. package/dist/cjs/{nv-fieldpassword.entry-DNFZvmBx.js → nv-fieldpassword.entry-CreA_Yx8.js} +4 -4
  27. package/dist/cjs/{nv-fieldradio.entry-BIR29jv5.js → nv-fieldradio.entry-Y8YSlQbK.js} +4 -4
  28. package/dist/cjs/{nv-fieldselect.entry-DulA_N5q.js → nv-fieldselect.entry-B1X8kT8-.js} +6 -6
  29. package/dist/cjs/{nv-fieldslider.entry-DCslY5gg.js → nv-fieldslider.entry-CJlQWgFy.js} +54 -10
  30. package/dist/cjs/{nv-fieldtext.entry-Dvv8KjJC.js → nv-fieldtext.entry-Cib7Q9Wi.js} +4 -4
  31. package/dist/cjs/{nv-fieldtextarea.entry-rVcnznae.js → nv-fieldtextarea.entry-QYIEAbAM.js} +4 -4
  32. package/dist/cjs/{nv-fieldtime.entry-_fXkWsoI.js → nv-fieldtime.entry-D6jX_bbE.js} +10 -10
  33. package/dist/cjs/{nv-icon.entry-BGyFETNH.js → nv-icon.entry-DyYPxO1l.js} +2 -2
  34. package/dist/cjs/{nv-iconbutton_2.entry-CtClzxKf.js → nv-iconbutton_2.entry-BDpYysUa.js} +3 -3
  35. package/dist/cjs/{nv-menu.entry-B3vFxd1E.js → nv-menu.entry-EY6i9-lW.js} +2 -2
  36. package/dist/cjs/{nv-menuitem.entry-BIWwr98d.js → nv-menuitem.entry-D3_V7wz6.js} +2 -2
  37. package/dist/cjs/{nv-popover.entry-vonHjF_y.js → nv-popover.entry-VI0JSWEK.js} +9 -8
  38. package/dist/cjs/{nv-row.entry-BYUhLZ0r.js → nv-row.entry-Da5sYAGY.js} +2 -2
  39. package/dist/cjs/{nv-stack.entry-Cxc6QmII.js → nv-stack.entry-CQ8A3wKB.js} +2 -2
  40. package/dist/cjs/{nv-table.entry-DSBUXcSF.js → nv-table.entry-DkALs4J_.js} +3 -3
  41. package/dist/cjs/{nv-tablecolumn.entry-BP857bqD.js → nv-tablecolumn.entry-C_9y9_Tk.js} +1 -1
  42. package/dist/cjs/{nv-toggle.entry-CnquGUlJ.js → nv-toggle.entry-CPvuKc2f.js} +3 -3
  43. package/dist/cjs/{nv-tooltip.entry-XvxL_FTH.js → nv-tooltip.entry-dvTSw6dq.js} +4 -3
  44. package/dist/cjs/{fade.animation-2a077983-aKN0EDTo.js → stylefire.es-74da334a-y0piPjlz.js} +0 -64
  45. package/dist/cjs/timeline.animation-adf35ecb-CE6Dsdxr.js +23 -0
  46. package/dist/generated/components.js +18 -2
  47. package/dist/generated/components.server.js +26 -3
  48. package/dist/types/generated/components.d.ts +17 -3
  49. package/dist/types/generated/components.server.d.ts +17 -3
  50. package/package.json +1 -1
@@ -1764,69 +1764,5 @@ function index(nodeOrSelector, props) {
1764
1764
  return getStyler(node, props);
1765
1765
  }
1766
1766
 
1767
- const useFade = (node, { duration } = { duration: 200 }) => {
1768
- const nodeStyler = index(node);
1769
- /**
1770
- * Will animate the opacity to 1, and removes the opacity style attribute once
1771
- * complete.
1772
- */
1773
- function fadeIn() {
1774
- return new Promise(resolve => {
1775
- animate({
1776
- from: { opacity: 0 },
1777
- to: { opacity: 1 },
1778
- duration,
1779
- onUpdate(latest) {
1780
- nodeStyler.set({ opacity: latest.opacity });
1781
- },
1782
- onComplete() {
1783
- resolve();
1784
- node.style.removeProperty('opacity');
1785
- },
1786
- });
1787
- });
1788
- }
1789
- /**
1790
- * Applies the fadeOut styles without animating, useful when initial state
1791
- * is hidden.
1792
- */
1793
- function setFadeOut() {
1794
- node.style.opacity = '0';
1795
- }
1796
- /**
1797
- * Applies the fadeIn styles without animating, useful when initial state
1798
- * is visible.
1799
- */
1800
- function setFadeIn() {
1801
- node.style.opacity = '1';
1802
- }
1803
- /**
1804
- * Will animate the opacity to 0, once complete, the opacity style attribute
1805
- * will stay on the element.
1806
- */
1807
- function fadeOut() {
1808
- return new Promise(resolve => {
1809
- animate({
1810
- from: { opacity: 1 },
1811
- to: { opacity: 0 },
1812
- duration,
1813
- onUpdate(latest) {
1814
- nodeStyler.set({ opacity: latest.opacity });
1815
- },
1816
- onComplete() {
1817
- resolve();
1818
- },
1819
- });
1820
- });
1821
- }
1822
- return {
1823
- fadeIn,
1824
- fadeOut,
1825
- setFadeOut,
1826
- setFadeIn,
1827
- };
1828
- };
1829
-
1830
1767
  exports.animate = animate;
1831
1768
  exports.index = index;
1832
- exports.useFade = useFade;
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * Will execute a series of animation promises in sequence.
5
+ * This is useful for chaining animations where each step depends on the
6
+ * previous one completing before starting the next.
7
+ *
8
+ * @param {Array<() => Promise<void>>} animations - The array of animation functions.
9
+ * @returns {Object} - An object with a `start` method to begin the timeline.
10
+ *
11
+ * @example
12
+ * const { fadeOut } = useFade(this.ref);
13
+ * const { collapse } = useCollapse(this.ref);
14
+ *
15
+ * timeline(fadeOut, collapse).start();
16
+ */
17
+ const timeline = (...animations) => ({
18
+ start: () => {
19
+ return animations.reduce((promise, animation) => promise.then(() => animation()), Promise.resolve());
20
+ },
21
+ });
22
+
23
+ exports.timeline = timeline;
@@ -1,4 +1,6 @@
1
1
  'use client';
2
+ import { NvAccordionItem as NvAccordionItemElement, defineCustomElement as defineNvAccordionItem } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion-item.js";
3
+ import { NvAccordion as NvAccordionElement, defineCustomElement as defineNvAccordion } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion.js";
2
4
  import { NvAlert as NvAlertElement, defineCustomElement as defineNvAlert } from "@nova-design-system/nova-webcomponents/dist/components/nv-alert.js";
3
5
  import { NvAvatar as NvAvatarElement, defineCustomElement as defineNvAvatar } from "@nova-design-system/nova-webcomponents/dist/components/nv-avatar.js";
4
6
  import { NvBadge as NvBadgeElement, defineCustomElement as defineNvBadge } from "@nova-design-system/nova-webcomponents/dist/components/nv-badge.js";
@@ -41,6 +43,20 @@ import { NvToggle as NvToggleElement, defineCustomElement as defineNvToggle } fr
41
43
  import { NvTooltip as NvTooltipElement, defineCustomElement as defineNvTooltip } from "@nova-design-system/nova-webcomponents/dist/components/nv-tooltip.js";
42
44
  import { createComponent } from '@stencil/react-output-target/runtime';
43
45
  import React from 'react';
46
+ export const NvAccordion = createComponent({
47
+ tagName: 'nv-accordion',
48
+ elementClass: NvAccordionElement,
49
+ react: React,
50
+ events: { onNvChange: 'nvChange' },
51
+ defineCustomElement: defineNvAccordion
52
+ });
53
+ export const NvAccordionItem = createComponent({
54
+ tagName: 'nv-accordion-item',
55
+ elementClass: NvAccordionItemElement,
56
+ react: React,
57
+ events: { onItemToggle: 'itemToggle' },
58
+ defineCustomElement: defineNvAccordionItem
59
+ });
44
60
  export const NvAlert = createComponent({
45
61
  tagName: 'nv-alert',
46
62
  elementClass: NvAlertElement,
@@ -205,7 +221,7 @@ export const NvFieldmultiselect = createComponent({
205
221
  react: React,
206
222
  events: {
207
223
  onValueChanged: 'valueChanged',
208
- onMultiselectChange: 'multiselectChange'
224
+ onFilterTextChanged: 'filterTextChanged'
209
225
  },
210
226
  defineCustomElement: defineNvFieldmultiselect
211
227
  });
@@ -346,6 +362,6 @@ export const NvTooltip = createComponent({
346
362
  tagName: 'nv-tooltip',
347
363
  elementClass: NvTooltipElement,
348
364
  react: React,
349
- events: {},
365
+ events: { onOpenChanged: 'openChanged' },
350
366
  defineCustomElement: defineNvTooltip
351
367
  });
@@ -1,5 +1,27 @@
1
1
  import { createComponent } from '@stencil/react-output-target/ssr';
2
2
  export const serializeShadowRoot = { default: "declarative-shadow-dom" };
3
+ export const NvAccordion = createComponent({
4
+ tagName: 'nv-accordion',
5
+ properties: {
6
+ data: 'data',
7
+ mode: 'mode'
8
+ },
9
+ hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
10
+ serializeShadowRoot
11
+ });
12
+ export const NvAccordionItem = createComponent({
13
+ tagName: 'nv-accordion-item',
14
+ properties: {
15
+ itemtitle: 'itemtitle',
16
+ subtitle: 'subtitle',
17
+ open: 'open',
18
+ disabled: 'disabled',
19
+ maxContentHeight: 'max-content-height',
20
+ mode: 'mode'
21
+ },
22
+ hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
23
+ serializeShadowRoot
24
+ });
3
25
  export const NvAlert = createComponent({
4
26
  tagName: 'nv-alert',
5
27
  properties: {
@@ -144,7 +166,8 @@ export const NvDialog = createComponent({
144
166
  undismissable: 'undismissable',
145
167
  clickOutside: 'click-outside',
146
168
  controlled: 'controlled',
147
- full: 'full'
169
+ full: 'full',
170
+ autofocus: 'autofocus'
148
171
  },
149
172
  hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
150
173
  serializeShadowRoot
@@ -321,7 +344,6 @@ export const NvFieldmultiselect = createComponent({
321
344
  description: 'description',
322
345
  placeholder: 'placeholder',
323
346
  autocomplete: 'autocomplete',
324
- value: 'value',
325
347
  required: 'required',
326
348
  readonly: 'readonly',
327
349
  disabled: 'disabled',
@@ -334,7 +356,8 @@ export const NvFieldmultiselect = createComponent({
334
356
  debounceDelay: 'debounce-delay',
335
357
  autofocus: 'autofocus',
336
358
  fluid: 'fluid',
337
- badgeLabel: 'badge-label'
359
+ badgeLabel: 'badge-label',
360
+ filterText: 'filter-text'
338
361
  },
339
362
  hydrateModule: import('@nova-design-system/nova-webcomponents/hydrate'),
340
363
  serializeShadowRoot
@@ -1,4 +1,6 @@
1
1
  import { type NvCalendarCustomEvent, type NvFielddaterangeCustomEvent, type NvFielddropdownCustomEvent, type NvMenuCustomEvent, type NvMenuitemCustomEvent } from "@nova-design-system/nova-webcomponents";
2
+ import { NvAccordionItem as NvAccordionItemElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion-item.js";
3
+ import { NvAccordion as NvAccordionElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion.js";
2
4
  import { NvAlert as NvAlertElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-alert.js";
3
5
  import { NvAvatar as NvAvatarElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-avatar.js";
4
6
  import { NvBadge as NvBadgeElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-badge.js";
@@ -40,6 +42,16 @@ import { NvTablecolumn as NvTablecolumnElement } from "@nova-design-system/nova-
40
42
  import { NvToggle as NvToggleElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-toggle.js";
41
43
  import { NvTooltip as NvTooltipElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-tooltip.js";
42
44
  import type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';
45
+ export type NvAccordionEvents = {
46
+ onNvChange: EventName<CustomEvent<{
47
+ openIndexes: number[];
48
+ }>>;
49
+ };
50
+ export declare const NvAccordion: StencilReactComponent<NvAccordionElement, NvAccordionEvents>;
51
+ export type NvAccordionItemEvents = {
52
+ onItemToggle: EventName<CustomEvent<boolean>>;
53
+ };
54
+ export declare const NvAccordionItem: StencilReactComponent<NvAccordionItemElement, NvAccordionItemEvents>;
43
55
  export type NvAlertEvents = {
44
56
  onHiddenChanged: EventName<CustomEvent<boolean>>;
45
57
  onHiddenChangedComplete: EventName<CustomEvent<boolean>>;
@@ -134,8 +146,8 @@ export type NvFielddropdownitemcheckEvents = {
134
146
  };
135
147
  export declare const NvFielddropdownitemcheck: StencilReactComponent<NvFielddropdownitemcheckElement, NvFielddropdownitemcheckEvents>;
136
148
  export type NvFieldmultiselectEvents = {
137
- onValueChanged: EventName<CustomEvent<string>>;
138
- onMultiselectChange: EventName<CustomEvent<string[]>>;
149
+ onValueChanged: EventName<CustomEvent<string[]>>;
150
+ onFilterTextChanged: EventName<CustomEvent<string>>;
139
151
  };
140
152
  export declare const NvFieldmultiselect: StencilReactComponent<NvFieldmultiselectElement, NvFieldmultiselectEvents>;
141
153
  export type NvFieldnumberEvents = {
@@ -209,5 +221,7 @@ export type NvToggleEvents = {
209
221
  onCheckedChanged: EventName<CustomEvent<boolean>>;
210
222
  };
211
223
  export declare const NvToggle: StencilReactComponent<NvToggleElement, NvToggleEvents>;
212
- export type NvTooltipEvents = NonNullable<unknown>;
224
+ export type NvTooltipEvents = {
225
+ onOpenChanged: EventName<CustomEvent<boolean>>;
226
+ };
213
227
  export declare const NvTooltip: StencilReactComponent<NvTooltipElement, NvTooltipEvents>;
@@ -1,4 +1,6 @@
1
1
  import { type NvCalendarCustomEvent, type NvFielddaterangeCustomEvent, type NvFielddropdownCustomEvent, type NvMenuCustomEvent, type NvMenuitemCustomEvent } from "@nova-design-system/nova-webcomponents";
2
+ import { NvAccordionItem as NvAccordionItemElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion-item.js";
3
+ import { NvAccordion as NvAccordionElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-accordion.js";
2
4
  import { NvAlert as NvAlertElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-alert.js";
3
5
  import { NvAvatar as NvAvatarElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-avatar.js";
4
6
  import { NvBadge as NvBadgeElement } from "@nova-design-system/nova-webcomponents/dist/components/nv-badge.js";
@@ -42,6 +44,16 @@ import { NvTooltip as NvTooltipElement } from "@nova-design-system/nova-webcompo
42
44
  import type { EventName, StencilReactComponent } from '@stencil/react-output-target/runtime';
43
45
  import { type SerializeShadowRootOptions } from '@stencil/react-output-target/ssr';
44
46
  export declare const serializeShadowRoot: SerializeShadowRootOptions;
47
+ export type NvAccordionEvents = {
48
+ onNvChange: EventName<CustomEvent<{
49
+ openIndexes: number[];
50
+ }>>;
51
+ };
52
+ export declare const NvAccordion: StencilReactComponent<NvAccordionElement, NvAccordionEvents>;
53
+ export type NvAccordionItemEvents = {
54
+ onItemToggle: EventName<CustomEvent<boolean>>;
55
+ };
56
+ export declare const NvAccordionItem: StencilReactComponent<NvAccordionItemElement, NvAccordionItemEvents>;
45
57
  export type NvAlertEvents = {
46
58
  onHiddenChanged: EventName<CustomEvent<boolean>>;
47
59
  onHiddenChangedComplete: EventName<CustomEvent<boolean>>;
@@ -136,8 +148,8 @@ export type NvFielddropdownitemcheckEvents = {
136
148
  };
137
149
  export declare const NvFielddropdownitemcheck: StencilReactComponent<NvFielddropdownitemcheckElement, NvFielddropdownitemcheckEvents>;
138
150
  export type NvFieldmultiselectEvents = {
139
- onValueChanged: EventName<CustomEvent<string>>;
140
- onMultiselectChange: EventName<CustomEvent<string[]>>;
151
+ onValueChanged: EventName<CustomEvent<string[]>>;
152
+ onFilterTextChanged: EventName<CustomEvent<string>>;
141
153
  };
142
154
  export declare const NvFieldmultiselect: StencilReactComponent<NvFieldmultiselectElement, NvFieldmultiselectEvents>;
143
155
  export type NvFieldnumberEvents = {
@@ -211,5 +223,7 @@ export type NvToggleEvents = {
211
223
  onCheckedChanged: EventName<CustomEvent<boolean>>;
212
224
  };
213
225
  export declare const NvToggle: StencilReactComponent<NvToggleElement, NvToggleEvents>;
214
- export type NvTooltipEvents = NonNullable<unknown>;
226
+ export type NvTooltipEvents = {
227
+ onOpenChanged: EventName<CustomEvent<boolean>>;
228
+ };
215
229
  export declare const NvTooltip: StencilReactComponent<NvTooltipElement, NvTooltipEvents>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nova-design-system/nova-react",
3
- "version": "3.5.0",
3
+ "version": "3.6.0",
4
4
  "description": "Nova is a design system created by Elia Group to empower creators to efficiently build solutions that people love to use.",
5
5
  "author": "Elia Group",
6
6
  "homepage": "https://nova.eliagroup.io",