impact-nova 2.5.12 → 2.5.13

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 (127) hide show
  1. package/dist/components/data/data-table/build-column-tree-from-grid.d.ts +1 -0
  2. package/dist/components/data/data-table/build-column-tree-from-grid.js +55 -50
  3. package/dist/components/data/data-table/column-picker-authority.d.ts +34 -0
  4. package/dist/components/data/data-table/column-picker-authority.js +116 -0
  5. package/dist/components/data/data-table/column-picker-drop-validation.d.ts +7 -0
  6. package/dist/components/data/data-table/column-picker-drop-validation.js +37 -0
  7. package/dist/components/data/data-table/data-table-column-apply.d.ts +2 -0
  8. package/dist/components/data/data-table/data-table-column-apply.js +84 -73
  9. package/dist/components/data/data-table/data-table-column-list-tree-apply.d.ts +10 -0
  10. package/dist/components/data/data-table/data-table-column-list-tree-apply.js +79 -0
  11. package/dist/components/data/data-table/data-table-column-list.js +94 -64
  12. package/dist/components/data/data-table/data-table-column-tree-cache.d.ts +12 -6
  13. package/dist/components/data/data-table/data-table-column-tree-cache.js +250 -131
  14. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.d.ts +26 -0
  15. package/dist/components/data/data-table/data-table-flat-column-virtual-rows.js +195 -0
  16. package/dist/components/data/data-table/data-table-picker-column-eligibility.d.ts +1 -0
  17. package/dist/components/data/data-table/data-table-picker-column-eligibility.js +7 -0
  18. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.d.ts +5 -0
  19. package/dist/components/data/data-table/patch-column-tree-indicators-from-grid.js +28 -11
  20. package/dist/components/data/data-table/reconcile-column-tree-from-grid.d.ts +12 -0
  21. package/dist/components/data/data-table/reconcile-column-tree-from-grid.js +12 -0
  22. package/dist/components/data/data-table/use-data-table-column-list-sync.d.ts +10 -0
  23. package/dist/components/data/data-table/use-data-table-column-list-sync.js +250 -196
  24. package/dist/components/data/nested-list/components/NestedListContent.d.ts +10 -2
  25. package/dist/components/data/nested-list/components/NestedListContent.js +253 -138
  26. package/dist/components/data/nested-list/components/SortableItem.d.ts +2 -1
  27. package/dist/components/data/nested-list/components/SortableItem.js +62 -60
  28. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.d.ts +10 -20
  29. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.js +44 -233
  30. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.d.ts +24 -0
  31. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.js +128 -0
  32. package/dist/components/data/nested-list/nested-list-constants.d.ts +4 -1
  33. package/dist/components/data/nested-list/nested-list-constants.js +10 -4
  34. package/dist/components/data/nested-list/nested-list-display-utils.d.ts +11 -0
  35. package/dist/components/data/nested-list/nested-list-display-utils.js +74 -0
  36. package/dist/components/data/nested-list/nested-list-drop-engine.d.ts +31 -0
  37. package/dist/components/data/nested-list/nested-list-drop-engine.js +209 -0
  38. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.d.ts +26 -0
  39. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.js +67 -0
  40. package/dist/components/data/nested-list/nested-list-item-tree-mutations.d.ts +4 -0
  41. package/dist/components/data/nested-list/nested-list-item-tree-mutations.js +43 -0
  42. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.d.ts +3 -0
  43. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.js +34 -0
  44. package/dist/components/data/nested-list/nested-list-row-estimates.d.ts +9 -0
  45. package/dist/components/data/nested-list/nested-list-row-estimates.js +14 -0
  46. package/dist/components/data/nested-list/nested-list-scroll-anchor.d.ts +36 -0
  47. package/dist/components/data/nested-list/nested-list-scroll-anchor.js +47 -0
  48. package/dist/components/data/nested-list/nested-list-virtual-drop.d.ts +59 -0
  49. package/dist/components/data/nested-list/nested-list-virtual-drop.js +341 -0
  50. package/dist/components/data/nested-list/nested-list.js +322 -336
  51. package/dist/components/data/nested-list/nested-list.types.d.ts +17 -0
  52. package/dist/components/data-display/calendar/calendar-apply-validation.d.ts +0 -2
  53. package/dist/components/data-display/calendar/calendar-apply-validation.js +67 -64
  54. package/dist/components/data-display/calendar/calendar-config.js +1 -1
  55. package/dist/components/data-display/calendar/calendar-day-picker-components.d.ts +2 -4
  56. package/dist/components/data-display/calendar/calendar-day-picker-components.js +164 -234
  57. package/dist/components/data-display/calendar/calendar-day-picker-view.js +76 -77
  58. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.d.ts +0 -6
  59. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.js +18 -34
  60. package/dist/components/data-display/calendar/calendar-footer.js +21 -21
  61. package/dist/components/data-display/calendar/calendar-month-picker-panel.js +49 -50
  62. package/dist/components/data-display/calendar/calendar-month-utils.d.ts +0 -5
  63. package/dist/components/data-display/calendar/calendar-month-utils.js +64 -85
  64. package/dist/components/data-display/calendar/calendar-padding-week.utils.d.ts +1 -3
  65. package/dist/components/data-display/calendar/calendar-padding-week.utils.js +5 -7
  66. package/dist/components/data-display/calendar/calendar-period-cell.js +46 -45
  67. package/dist/components/data-display/calendar/calendar-quarter-panes.js +31 -33
  68. package/dist/components/data-display/calendar/calendar-selection-appearance.d.ts +0 -10
  69. package/dist/components/data-display/calendar/calendar-selection-appearance.js +39 -53
  70. package/dist/components/data-display/calendar/calendar-selection.d.ts +0 -25
  71. package/dist/components/data-display/calendar/calendar-selection.js +23 -52
  72. package/dist/components/data-display/calendar/calendar-week-number-cell.d.ts +1 -2
  73. package/dist/components/data-display/calendar/calendar-week-number-cell.js +45 -59
  74. package/dist/components/data-display/calendar/calendar-week-utils.d.ts +3 -13
  75. package/dist/components/data-display/calendar/calendar-week-utils.js +50 -59
  76. package/dist/components/data-display/calendar/calendar-year-panes.d.ts +0 -3
  77. package/dist/components/data-display/calendar/calendar-year-panes.js +49 -53
  78. package/dist/components/data-display/calendar/calendar.js +143 -146
  79. package/dist/components/data-display/calendar/calendar.types.d.ts +0 -5
  80. package/dist/components/data-display/calendar/use-calendar-day-picker-config.d.ts +1 -2
  81. package/dist/components/data-display/calendar/use-calendar-day-picker-config.js +74 -79
  82. package/dist/components/data-display/calendar/use-calendar-state.d.ts +1 -3
  83. package/dist/components/data-display/calendar/use-calendar-state.js +325 -403
  84. package/dist/components/forms/date-picker/date-picker.js +58 -60
  85. package/dist/components/forms/date-picker/date-picker.types.d.ts +0 -5
  86. package/dist/components/forms/date-picker/date-range-picker.js +64 -66
  87. package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +0 -1
  88. package/dist/components/forms/date-picker/fiscal-pass-through.js +2 -3
  89. package/dist/components/forms/date-picker/month-picker.js +59 -61
  90. package/dist/components/forms/date-picker/month-range-picker.js +61 -63
  91. package/dist/components/forms/date-picker/multi-date-picker.js +49 -51
  92. package/dist/components/forms/date-picker/multi-month-picker.js +47 -49
  93. package/dist/components/forms/date-picker/multi-quarter-picker.js +47 -51
  94. package/dist/components/forms/date-picker/multi-week-picker.js +51 -53
  95. package/dist/components/forms/date-picker/multi-year-picker.js +49 -53
  96. package/dist/components/forms/date-picker/quarter-picker.js +47 -51
  97. package/dist/components/forms/date-picker/quarter-range-picker.js +46 -50
  98. package/dist/components/forms/date-picker/week-picker.js +66 -68
  99. package/dist/components/forms/date-picker/week-range-picker.js +80 -82
  100. package/dist/components/forms/date-picker/year-picker.js +48 -52
  101. package/dist/components/forms/date-picker/year-range-picker.js +48 -52
  102. package/dist/form-react/Fields/DateInputField.js +50 -51
  103. package/dist/form-react/Fields/DateRangeField.js +13 -14
  104. package/dist/form-react/Fields/MonthRangeField.js +28 -29
  105. package/dist/form-react/Fields/MultiMonthPickerField.js +12 -13
  106. package/dist/form-react/Fields/MultiWeekPickerField.js +27 -35
  107. package/dist/form-react/Fields/WeekRangePicker.js +32 -33
  108. package/dist/form-react/types/fields.types.d.ts +0 -14
  109. package/dist/impact-nova-components.css +6 -13
  110. package/dist/impact-nova.css +1 -1
  111. package/dist/lib/fiscal-calendar/week-selection.js +2 -2
  112. package/dist/lib/hash/fnv1a128.d.ts +16 -0
  113. package/dist/lib/hash/fnv1a128.js +21 -0
  114. package/dist/llms/rules/ag-grid.js +1 -1
  115. package/dist/llms/rules/installation.js +1 -1
  116. package/dist/llms/rules/requirements.js +1 -1
  117. package/package.json +1 -1
  118. package/dist/components/data-display/calendar/calendar-available-view.d.ts +0 -27
  119. package/dist/components/data-display/calendar/calendar-available-view.js +0 -85
  120. package/dist/components/data-display/calendar/calendar-fiscal-day-cell.d.ts +0 -9
  121. package/dist/components/data-display/calendar/calendar-fiscal-day-cell.js +0 -45
  122. package/dist/components/data-display/calendar/calendar-injected-week-row.d.ts +0 -5
  123. package/dist/components/data-display/calendar/calendar-injected-week-row.js +0 -92
  124. package/dist/components/data-display/calendar/calendar-leading-week.utils.d.ts +0 -16
  125. package/dist/components/data-display/calendar/calendar-leading-week.utils.js +0 -51
  126. package/dist/components/data-display/calendar/calendar-orphan-week.d.ts +0 -23
  127. package/dist/components/forms/date-picker/fiscal-picker-fixtures.d.ts +0 -17
@@ -1,49 +1,41 @@
1
- import { jsx as a } from "react/jsx-runtime";
2
- import { Controller as h } from "react-hook-form";
3
- import { MultiWeekPicker as p } from "../../components/forms/date-picker/multi-week-picker.js";
4
- import { fiscalCalendarPassThrough as f } from "../../components/forms/date-picker/fiscal-pass-through.js";
5
- import { getFieldTestId as g } from "../utils/fieldTestIds.js";
6
- import { toLocalDate as n } from "../utils/calendar-boundary.js";
7
- const x = ({
1
+ import { jsx as o } from "react/jsx-runtime";
2
+ import { Controller as p } from "react-hook-form";
3
+ import { MultiWeekPicker as h } from "../../components/forms/date-picker/multi-week-picker.js";
4
+ import { getFieldTestId as k } from "../utils/fieldTestIds.js";
5
+ import { toLocalDate as i } from "../utils/calendar-boundary.js";
6
+ const M = ({
8
7
  field: e,
9
- validationRules: s,
10
- isDisabled: u,
8
+ validationRules: m,
9
+ isDisabled: s,
11
10
  formHelpers: c
12
11
  }) => {
13
12
  const d = c.form.control, r = e.fieldType === "multi_week_picker" ? e : null;
14
- return r ? /* @__PURE__ */ a(
15
- h,
13
+ return r ? /* @__PURE__ */ o(
14
+ p,
16
15
  {
17
16
  name: e.id,
18
17
  control: d,
19
- rules: s,
20
- render: ({ field: t, fieldState: o }) => {
21
- const i = !!o.error, l = t.value;
22
- return /* @__PURE__ */ a("div", { "data-testid": g(e.id), children: /* @__PURE__ */ a(
23
- p,
18
+ rules: m,
19
+ render: ({ field: t, fieldState: a }) => {
20
+ const l = !!a.error, n = t.value;
21
+ return /* @__PURE__ */ o("div", { "data-testid": k(e.id), children: /* @__PURE__ */ o(
22
+ h,
24
23
  {
25
24
  label: e.label,
26
- value: Array.isArray(l) ? l : void 0,
27
- onChange: (m) => {
28
- t.onChange(m ?? []);
25
+ value: Array.isArray(n) ? n : void 0,
26
+ onChange: (u) => {
27
+ t.onChange(u ?? []);
29
28
  },
30
29
  placeholder: e.placeholder,
31
30
  required: e.isRequired,
32
- disabled: u,
33
- error: i,
34
- helperText: i ? o.error?.message : e.helpText,
35
- minDate: n(r.minDate),
36
- maxDate: n(r.maxDate),
37
- ...f({
38
- calendarKind: r.calendarKind,
39
- fiscalMode: r.fiscalMode,
40
- granularity: r.granularity,
41
- fiscalMonthPattern: r.fiscalMonthPattern,
42
- fiscalYearStartMonth: r.fiscalYearStartMonth,
43
- weekStartsOn: r.weekStartsOn,
44
- showPeriodBoundaries: r.showPeriodBoundaries,
45
- autoNavigateToAvailable: r.autoNavigateToAvailable
46
- })
31
+ disabled: s,
32
+ error: l,
33
+ helperText: l ? a.error?.message : e.helpText,
34
+ calendarKind: r.calendarKind,
35
+ fiscalMode: r.fiscalMode,
36
+ weekStartsOn: r.weekStartsOn,
37
+ minDate: i(r.minDate),
38
+ maxDate: i(r.maxDate)
47
39
  }
48
40
  ) });
49
41
  }
@@ -51,5 +43,5 @@ const x = ({
51
43
  ) : null;
52
44
  };
53
45
  export {
54
- x as MultiWeekPickerField
46
+ M as MultiWeekPickerField
55
47
  };
@@ -1,63 +1,62 @@
1
1
  import { jsx as c } from "react/jsx-runtime";
2
- import { Controller as b } from "react-hook-form";
3
- import { WeekRangePicker as x } from "../../components/forms/date-picker/week-range-picker.js";
4
- import { toLocalDate as M } from "../utils/calendar-boundary.js";
5
- import { resolveWeekSelection as Y } from "../../lib/fiscal-calendar/week-selection.js";
6
- import { resolveWeekRangeMinMax as $ } from "../utils/date.utils.js";
7
- const f = (e, a) => Y(e, {
8
- calendarKind: a.calendarKind,
9
- fiscalMode: a.fiscalMode ?? "basic",
10
- granularity: a.granularity,
11
- fiscalMonthPattern: a.fiscalMonthPattern,
12
- fiscalYearStartMonth: a.fiscalYearStartMonth ?? 1,
13
- weekStartsOn: a.weekStartsOn ?? 1
2
+ import { Controller as Y } from "react-hook-form";
3
+ import { WeekRangePicker as $ } from "../../components/forms/date-picker/week-range-picker.js";
4
+ import { toLocalDate as f } from "../utils/calendar-boundary.js";
5
+ import { resolveWeekSelection as y } from "../../lib/fiscal-calendar/week-selection.js";
6
+ import { resolveWeekRangeMinMax as T } from "../utils/date.utils.js";
7
+ const S = (e, r) => y(e, {
8
+ calendarKind: r.calendarKind,
9
+ fiscalMode: r.fiscalMode ?? "basic",
10
+ granularity: r.granularity,
11
+ fiscalMonthPattern: r.fiscalMonthPattern,
12
+ fiscalYearStartMonth: r.fiscalYearStartMonth ?? 1,
13
+ weekStartsOn: r.weekStartsOn ?? 1
14
14
  }), C = ({
15
15
  field: e,
16
- validationRules: a,
17
- isDisabled: S,
16
+ validationRules: r,
17
+ isDisabled: p,
18
18
  formHelpers: d
19
19
  }) => {
20
20
  const t = e.fieldType === "week_range" ? e : null;
21
21
  if (!t) return null;
22
- const { minDate: p, maxDate: u, startMonth: D, endMonth: k } = $(t), v = d.form.control;
22
+ const { minDate: u, maxDate: m, startMonth: D, endMonth: k } = T(t), w = d.form.control;
23
23
  return /* @__PURE__ */ c(
24
- b,
24
+ Y,
25
25
  {
26
26
  name: e.id,
27
- control: v,
28
- rules: a,
29
- render: ({ field: w, fieldState: m }) => {
30
- const h = !!m.error, r = w.value, s = r?.start ? M(r.start) ?? null : null, i = r?.end ? M(r.end) ?? null : null, F = !!(s && i);
27
+ control: w,
28
+ rules: r,
29
+ render: ({ field: v, fieldState: h }) => {
30
+ const g = !!h.error, a = v.value, s = a?.start ? f(a.start) ?? null : null, i = a?.end ? f(a.end) ?? null : null, F = !!(s && i);
31
31
  return /* @__PURE__ */ c("div", { children: /* @__PURE__ */ c(
32
- x,
32
+ $,
33
33
  {
34
34
  label: e.label,
35
35
  value: F && s && i ? {
36
- from: f(s, t),
37
- to: f(i, t)
36
+ from: S(s, t),
37
+ to: S(i, t)
38
38
  } : void 0,
39
39
  onChange: (o) => {
40
- const g = o?.from ? { from: o.from, to: o.to ?? o.from } : void 0, n = g?.from?.startDate, l = g?.to?.endDate, P = n ? `${n.getFullYear()}-${String(n.getMonth() + 1).padStart(2, "0")}-${String(n.getDate()).padStart(2, "0")}` : null, T = l ? `${l.getFullYear()}-${String(l.getMonth() + 1).padStart(2, "0")}-${String(l.getDate()).padStart(2, "0")}` : null;
41
- d.setValue(e.id, { start: P, end: T });
40
+ const M = o?.from ? { from: o.from, to: o.to ?? o.from } : void 0, n = M?.from?.startDate, l = M?.to?.endDate, P = n ? `${n.getFullYear()}-${String(n.getMonth() + 1).padStart(2, "0")}-${String(n.getDate()).padStart(2, "0")}` : null, x = l ? `${l.getFullYear()}-${String(l.getMonth() + 1).padStart(2, "0")}-${String(l.getDate()).padStart(2, "0")}` : null;
41
+ d.setValue(e.id, { start: P, end: x });
42
42
  },
43
43
  placeholder: t.placeholder,
44
- startMonth: D,
45
- endMonth: u ?? k,
44
+ startMonth: u ?? D,
45
+ endMonth: m ?? k,
46
46
  required: e.isRequired,
47
- disabled: S,
48
- error: h,
49
- helperText: h ? m.error?.message : e.helpText,
47
+ disabled: p,
48
+ error: g,
49
+ helperText: g ? h.error?.message : e.helpText,
50
50
  calendarKind: t.calendarKind,
51
51
  fiscalMode: t.fiscalMode,
52
52
  weekStartsOn: t.weekStartsOn,
53
- minDate: p,
54
- maxDate: u,
53
+ minDate: u,
54
+ maxDate: m,
55
55
  granularity: t.granularity,
56
56
  fiscalMonthPattern: t.fiscalMonthPattern,
57
57
  fiscalYearStartMonth: t.fiscalYearStartMonth,
58
58
  showFooter: t.showFooter,
59
59
  showPeriodBoundaries: t.showPeriodBoundaries,
60
- autoNavigateToAvailable: t.autoNavigateToAvailable,
61
60
  format: t.dateFormat
62
61
  }
63
62
  ) });
@@ -162,8 +162,6 @@ export type DateInputField = BaseField & {
162
162
  fiscalYearStartMonth?: number;
163
163
  fiscalMonthPattern?: number[];
164
164
  showPresets?: boolean;
165
- /** When true, open on the first enabled day. Navigate only. */
166
- autoNavigateToAvailable?: boolean;
167
165
  };
168
166
  export type DateRangeField = BaseField & {
169
167
  fieldType: "date_range";
@@ -194,8 +192,6 @@ export type DateRangeField = BaseField & {
194
192
  fiscalYearStartMonth?: number;
195
193
  fiscalMonthPattern?: number[];
196
194
  showPresets?: boolean;
197
- /** When true, open on the first enabled day. Navigate only. */
198
- autoNavigateToAvailable?: boolean;
199
195
  };
200
196
  export type WeekRangeField = BaseField & {
201
197
  fieldType: "week_range";
@@ -228,8 +224,6 @@ export type WeekRangeField = BaseField & {
228
224
  /** Latest week: week end of the week N weeks after the current week. */
229
225
  maxWeeksOffset?: number;
230
226
  dateFormat?: string;
231
- /** When true, open on the first enabled week. Navigate only. */
232
- autoNavigateToAvailable?: boolean;
233
227
  };
234
228
  export type MultiWeekRangeField = BaseField & {
235
229
  fieldType: "multi_week_picker";
@@ -240,10 +234,6 @@ export type MultiWeekRangeField = BaseField & {
240
234
  weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
241
235
  granularity?: "day" | "week" | "period" | "quarter" | "year";
242
236
  fiscalMonthPattern?: number[];
243
- fiscalYearStartMonth?: number;
244
- showPeriodBoundaries?: boolean;
245
- /** When true, open on the first enabled week. Navigate only. */
246
- autoNavigateToAvailable?: boolean;
247
237
  };
248
238
  export type MonthRangeField = BaseField & {
249
239
  fieldType: "month_range";
@@ -272,8 +262,6 @@ export type MonthRangeField = BaseField & {
272
262
  fiscalYearStartMonth?: number;
273
263
  fiscalMonthPattern?: number[];
274
264
  showPresets?: boolean;
275
- /** When true, open on the first enabled month. Navigate only. */
276
- autoNavigateToAvailable?: boolean;
277
265
  };
278
266
  export type MultiMonthPickerField = BaseField & {
279
267
  fieldType: "multi_month_picker";
@@ -281,8 +269,6 @@ export type MultiMonthPickerField = BaseField & {
281
269
  maxDate?: string;
282
270
  startMonth?: string;
283
271
  endMonth?: string;
284
- /** When true, open on the first enabled month. Navigate only. */
285
- autoNavigateToAvailable?: boolean;
286
272
  };
287
273
  export type TextAreaField = BaseField & {
288
274
  fieldType: "text_area";
@@ -91,24 +91,11 @@
91
91
  contain: inline-size;
92
92
  }
93
93
 
94
- [data-component=calendar]:has([data-slot=year-panes]) {
95
- width: 320px;
96
- max-width: 320px;
97
- }
98
-
99
94
  [data-component=calendar][data-month-layout=dual] [data-slot=month-panes],
100
95
  [data-component=calendar][data-month-layout=dual] [data-slot=quarter-panes] {
101
96
  flex-direction: row;
102
97
  }
103
98
 
104
- [data-component=calendar][data-month-layout=dual] [data-slot=quarter-panes] {
105
- width: auto;
106
- min-width: 0;
107
- max-width: none;
108
- overflow: visible;
109
- contain: none;
110
- }
111
-
112
99
  /* Fiscal period: one vertical gutter track + outer Sunday corners, not stacked left-pills. */
113
100
  .calendar-interval-cap-start:not(.calendar-interval-cap-end) {
114
101
  background-color: transparent;
@@ -453,6 +440,12 @@
453
440
  border-bottom-right-radius: calc(var(--radius) + 4px);
454
441
  }
455
442
 
443
+ [data-component=calendar][data-month-layout=dual] [data-slot=quarter-panes] {
444
+ width: auto;
445
+ min-width: 0;
446
+ max-width: none;
447
+ }
448
+
456
449
  [data-component=calendar] [data-slot=month-pane-divider-group],
457
450
  [data-component=calendar] [data-slot=quarter-pane-divider-group] {
458
451
  display: flex;