impact-nova 2.5.11 → 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 (111) 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/expandable-list-item/expandable-list-item-attributes.js +2 -3
  25. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +2 -3
  26. package/dist/components/data/nested-list/components/NestedListContent.d.ts +10 -2
  27. package/dist/components/data/nested-list/components/NestedListContent.js +253 -138
  28. package/dist/components/data/nested-list/components/SortableItem.d.ts +2 -1
  29. package/dist/components/data/nested-list/components/SortableItem.js +62 -60
  30. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.d.ts +10 -20
  31. package/dist/components/data/nested-list/hooks/useNestedListDragDrop.js +44 -233
  32. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.d.ts +24 -0
  33. package/dist/components/data/nested-list/hooks/useVirtualNestedListDrag.js +128 -0
  34. package/dist/components/data/nested-list/nested-list-constants.d.ts +4 -1
  35. package/dist/components/data/nested-list/nested-list-constants.js +10 -4
  36. package/dist/components/data/nested-list/nested-list-display-utils.d.ts +11 -0
  37. package/dist/components/data/nested-list/nested-list-display-utils.js +74 -0
  38. package/dist/components/data/nested-list/nested-list-drop-engine.d.ts +31 -0
  39. package/dist/components/data/nested-list/nested-list-drop-engine.js +209 -0
  40. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.d.ts +26 -0
  41. package/dist/components/data/nested-list/nested-list-flat-virtual-handlers.js +67 -0
  42. package/dist/components/data/nested-list/nested-list-item-tree-mutations.d.ts +4 -0
  43. package/dist/components/data/nested-list/nested-list-item-tree-mutations.js +43 -0
  44. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.d.ts +3 -0
  45. package/dist/components/data/nested-list/nested-list-lazy-flat-rows.js +34 -0
  46. package/dist/components/data/nested-list/nested-list-row-estimates.d.ts +9 -0
  47. package/dist/components/data/nested-list/nested-list-row-estimates.js +14 -0
  48. package/dist/components/data/nested-list/nested-list-scroll-anchor.d.ts +36 -0
  49. package/dist/components/data/nested-list/nested-list-scroll-anchor.js +47 -0
  50. package/dist/components/data/nested-list/nested-list-virtual-drop.d.ts +59 -0
  51. package/dist/components/data/nested-list/nested-list-virtual-drop.js +341 -0
  52. package/dist/components/data/nested-list/nested-list.js +322 -336
  53. package/dist/components/data/nested-list/nested-list.types.d.ts +17 -0
  54. package/dist/components/data-display/calendar/calendar-apply-validation.d.ts +0 -2
  55. package/dist/components/data-display/calendar/calendar-apply-validation.js +67 -64
  56. package/dist/components/data-display/calendar/calendar-day-picker-components.d.ts +2 -4
  57. package/dist/components/data-display/calendar/calendar-day-picker-components.js +152 -163
  58. package/dist/components/data-display/calendar/calendar-day-picker-view.js +76 -77
  59. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.d.ts +0 -6
  60. package/dist/components/data-display/calendar/calendar-fiscal-period-nav.js +18 -34
  61. package/dist/components/data-display/calendar/calendar-month-utils.d.ts +0 -5
  62. package/dist/components/data-display/calendar/calendar-month-utils.js +64 -85
  63. package/dist/components/data-display/calendar/calendar-selection-appearance.d.ts +0 -1
  64. package/dist/components/data-display/calendar/calendar-selection-appearance.js +30 -31
  65. package/dist/components/data-display/calendar/calendar-week-number-cell.d.ts +1 -2
  66. package/dist/components/data-display/calendar/calendar-week-number-cell.js +41 -55
  67. package/dist/components/data-display/calendar/calendar-year-panes.d.ts +0 -2
  68. package/dist/components/data-display/calendar/calendar-year-panes.js +1 -3
  69. package/dist/components/data-display/calendar/calendar.js +143 -146
  70. package/dist/components/data-display/calendar/calendar.types.d.ts +0 -5
  71. package/dist/components/data-display/calendar/use-calendar-day-picker-config.d.ts +1 -2
  72. package/dist/components/data-display/calendar/use-calendar-day-picker-config.js +74 -79
  73. package/dist/components/data-display/calendar/use-calendar-state.d.ts +1 -3
  74. package/dist/components/data-display/calendar/use-calendar-state.js +325 -403
  75. package/dist/components/feedback/tooltip/tab-tooltip-render.js +2 -3
  76. package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
  77. package/dist/components/flows/filter-panel/filter-panel.js +4 -4
  78. package/dist/components/forms/date-picker/date-picker.js +58 -60
  79. package/dist/components/forms/date-picker/date-picker.types.d.ts +0 -5
  80. package/dist/components/forms/date-picker/date-range-picker.js +64 -66
  81. package/dist/components/forms/date-picker/fiscal-pass-through.d.ts +0 -1
  82. package/dist/components/forms/date-picker/fiscal-pass-through.js +2 -3
  83. package/dist/components/forms/date-picker/month-picker.js +59 -61
  84. package/dist/components/forms/date-picker/month-range-picker.js +61 -63
  85. package/dist/components/forms/date-picker/multi-date-picker.js +49 -51
  86. package/dist/components/forms/date-picker/multi-month-picker.js +47 -49
  87. package/dist/components/forms/date-picker/multi-quarter-picker.js +44 -46
  88. package/dist/components/forms/date-picker/multi-week-picker.js +51 -53
  89. package/dist/components/forms/date-picker/multi-year-picker.js +46 -48
  90. package/dist/components/forms/date-picker/quarter-picker.js +44 -46
  91. package/dist/components/forms/date-picker/quarter-range-picker.js +43 -45
  92. package/dist/components/forms/date-picker/week-picker.js +66 -68
  93. package/dist/components/forms/date-picker/week-range-picker.js +80 -82
  94. package/dist/components/forms/date-picker/year-picker.js +45 -47
  95. package/dist/components/forms/date-picker/year-range-picker.js +45 -47
  96. package/dist/components/forms/select/components/SelectTriggerValue.js +2 -3
  97. package/dist/components/forms/select/components/Submenu.js +2 -3
  98. package/dist/form-react/Fields/DateInputField.js +50 -51
  99. package/dist/form-react/Fields/DateRangeField.js +13 -14
  100. package/dist/form-react/Fields/MonthRangeField.js +28 -29
  101. package/dist/form-react/Fields/MultiMonthPickerField.js +12 -13
  102. package/dist/form-react/Fields/MultiWeekPickerField.js +17 -18
  103. package/dist/form-react/Fields/WeekRangePicker.js +21 -22
  104. package/dist/form-react/types/fields.types.d.ts +0 -12
  105. package/dist/impact-nova.css +1 -1
  106. package/dist/lib/hash/fnv1a128.d.ts +16 -0
  107. package/dist/lib/hash/fnv1a128.js +21 -0
  108. package/dist/llms/rules/ag-grid.js +1 -1
  109. package/package.json +1 -1
  110. package/dist/components/data-display/calendar/calendar-available-view.d.ts +0 -27
  111. package/dist/components/data-display/calendar/calendar-available-view.js +0 -85
@@ -1,4 +1,9 @@
1
+ import { FlatNestedListRow } from './nested-list-virtual-drop';
1
2
  import type * as React from "react";
3
+ export interface FlatVirtualRowModel {
4
+ rowCount: number;
5
+ getRowAt: (index: number) => FlatNestedListRow;
6
+ }
2
7
  export interface NestedListItem {
3
8
  id: string;
4
9
  label: string;
@@ -47,9 +52,21 @@ export interface NestedListProps {
47
52
  initialCollapsedItems?: Record<string, boolean>;
48
53
  onCollapseChange?: (collapsedItems: Record<string, boolean>) => void;
49
54
  canDrag?: (item: NestedListItem, level: number) => boolean;
55
+ isValidDropTarget?: (options: {
56
+ activeItemId: string;
57
+ overItemId: string;
58
+ items: NestedListItem[];
59
+ insertAfter?: boolean;
60
+ }) => boolean;
50
61
  searchPlaceholder?: string;
51
62
  className?: string;
52
63
  groupLabel?: string;
53
64
  submitButtonLabel?: string;
54
65
  cancelButtonLabel?: string;
66
+ dragMode?: NestedListDragMode;
67
+ onVirtualReorder?: (fromIndex: number, toIndex: number) => void;
68
+ onVirtualDrop?: (activeId: string, overId: string, insertAfter: boolean) => void;
69
+ flatVirtualRowResolver?: (searchQuery: string) => FlatVirtualRowModel;
70
+ onFlatVirtualSelectAll?: (shouldSelectAll: boolean) => void;
55
71
  }
72
+ export type NestedListDragMode = 'sortable' | 'virtual-index';
@@ -1,10 +1,8 @@
1
1
  import { DateRange } from 'react-day-picker';
2
- import { Granularity } from '../../../lib/fiscal-calendar';
3
2
  import { MonthRange, MonthSelection, QuarterRange, QuarterSelection, WeekRange, WeekSelection, YearRange, YearSelection } from './calendar.types';
4
3
  export declare function isCalendarApplyDisabled(params: {
5
4
  showFooter: boolean;
6
5
  pickerType: "date" | "week" | "month" | "quarter" | "year";
7
- granularity?: Granularity;
8
6
  disabled?: unknown;
9
7
  pendingSelection?: Date | Date[] | DateRange;
10
8
  pendingWeekSelection?: WeekSelection | WeekSelection[] | WeekRange;
@@ -1,93 +1,96 @@
1
- import { isMonthDisabled as S, isWeekSelectableInBounds as O, isDateIntervalDisabled as A } from "./calendar-month-utils.js";
2
- function d(r) {
3
- return new Date(r.getFullYear(), r.getMonth(), r.getDate());
1
+ import { isMonthDisabled as S, isDateIntervalDisabled as b } from "./calendar-month-utils.js";
2
+ function u(e) {
3
+ return new Date(e.getFullYear(), e.getMonth(), e.getDate());
4
4
  }
5
- function l(r, i, n) {
6
- const a = d(r);
5
+ function c(e, i, t) {
6
+ const f = u(e);
7
7
  if (i) {
8
- const f = d(i);
9
- if (a < f) return !0;
8
+ const o = u(i);
9
+ if (f < o) return !0;
10
10
  }
11
- if (n) {
12
- const f = d(n);
13
- if (a > f) return !0;
11
+ if (t) {
12
+ const o = u(t);
13
+ if (f > o) return !0;
14
14
  }
15
15
  return !1;
16
16
  }
17
- function D(r, i, n) {
18
- return !r || !i ? !1 : A(r, i, n);
17
+ function O(e, i, t, f) {
18
+ const o = u(e), g = u(i);
19
+ return !!(t && g < u(t) || f && o > u(f));
19
20
  }
20
- function c(r, i) {
21
- if (Array.isArray(r)) return r.some(i);
22
- if (typeof r == "object" && r !== null && "from" in r) {
23
- const n = r;
24
- return !!(n.from && i(n.from) || n.to && i(n.to));
21
+ function p(e, i, t) {
22
+ return !e || !i ? !1 : b(e, i, t);
23
+ }
24
+ function d(e, i) {
25
+ if (Array.isArray(e)) return e.some(i);
26
+ if (typeof e == "object" && e !== null && "from" in e) {
27
+ const t = e;
28
+ return !!(t.from && i(t.from) || t.to && i(t.to));
25
29
  }
26
- return i(r);
30
+ return i(e);
27
31
  }
28
- function I(r) {
32
+ function v(e) {
29
33
  const {
30
34
  showFooter: i,
31
- pickerType: n,
32
- granularity: a,
35
+ pickerType: t,
33
36
  disabled: f,
34
- pendingSelection: g,
35
- pendingWeekSelection: m,
37
+ pendingSelection: o,
38
+ pendingWeekSelection: g,
36
39
  pendingMonthSelection: y,
37
- pendingQuarterSelection: p,
38
- pendingYearSelection: b
39
- } = r;
40
+ pendingQuarterSelection: D,
41
+ pendingYearSelection: m
42
+ } = e;
40
43
  if (!i) return !1;
41
- const o = f;
42
- if (!o || typeof o != "object" || !("before" in o) && !("after" in o)) return !1;
43
- const u = o.before, s = o.after;
44
- if (n === "month") {
45
- const e = y;
46
- return e ? c(
47
- e,
48
- (t) => S(t.year, t.month, f)
44
+ const a = f;
45
+ if (!a || typeof a != "object" || !("before" in a) && !("after" in a)) return !1;
46
+ const s = a.before, l = a.after;
47
+ if (t === "month") {
48
+ const r = y;
49
+ return r ? d(
50
+ r,
51
+ (n) => S(n.year, n.month, f)
49
52
  ) : !1;
50
53
  }
51
- if (n === "quarter") {
52
- const e = p;
53
- return e ? c(
54
- e,
55
- (t) => D(t.start, t.end, f)
54
+ if (t === "quarter") {
55
+ const r = D;
56
+ return r ? d(
57
+ r,
58
+ (n) => p(n.start, n.end, f)
56
59
  ) : !1;
57
60
  }
58
- if (n === "year") {
59
- const e = b;
60
- return e ? c(
61
- e,
62
- (t) => D(t.start, t.end, f)
61
+ if (t === "year") {
62
+ const r = m;
63
+ return r ? d(
64
+ r,
65
+ (n) => p(n.start, n.end, f)
63
66
  ) : !1;
64
67
  }
65
- if (n === "week") {
66
- const e = m;
67
- return e ? c(
68
- e,
69
- (t) => !O(
70
- t.startDate,
71
- t.endDate,
72
- f,
73
- a
68
+ if (t === "week") {
69
+ const r = g;
70
+ return r ? d(
71
+ r,
72
+ (n) => O(
73
+ n.startDate,
74
+ n.endDate,
75
+ s,
76
+ l
74
77
  )
75
78
  ) : !1;
76
79
  }
77
- if (n === "date") {
78
- const e = g;
79
- if (!e) return !1;
80
- if (Array.isArray(e))
81
- return e.some((t) => l(t, u, s));
82
- if (e instanceof Date)
83
- return l(e, u, s);
84
- if ("from" in e) {
85
- const t = e;
86
- if (t.from && l(t.from, u, s) || t.to && l(t.to, u, s)) return !0;
80
+ if (t === "date") {
81
+ const r = o;
82
+ if (!r) return !1;
83
+ if (Array.isArray(r))
84
+ return r.some((n) => c(n, s, l));
85
+ if (r instanceof Date)
86
+ return c(r, s, l);
87
+ if ("from" in r) {
88
+ const n = r;
89
+ if (n.from && c(n.from, s, l) || n.to && c(n.to, s, l)) return !0;
87
90
  }
88
91
  }
89
92
  return !1;
90
93
  }
91
94
  export {
92
- I as isCalendarApplyDisabled
95
+ v as isCalendarApplyDisabled
93
96
  };
@@ -1,14 +1,13 @@
1
1
  import { DayPicker } from 'react-day-picker';
2
2
  import { Button } from '../../primitives/button/button';
3
3
  import { Option } from '../../forms/select';
4
- import { FiscalCalendarConfig, FiscalPeriod, CalendarKind, Granularity } from '../../../lib/fiscal-calendar';
4
+ import { FiscalCalendarConfig, FiscalPeriod, CalendarKind } from '../../../lib/fiscal-calendar';
5
5
  import { WeekPickerInput } from './calendar-week-utils';
6
6
  import * as React from "react";
7
7
  export interface BuildCalendarDayPickerComponentsParams {
8
8
  buttonVariant: React.ComponentProps<typeof Button>["variant"];
9
9
  pickerType: "date" | "week" | "month";
10
10
  calendarKind: CalendarKind;
11
- granularity?: Granularity;
12
11
  currentMonth: Date;
13
12
  monthsFull: string[];
14
13
  monthsShort: string[];
@@ -33,7 +32,6 @@ export interface BuildCalendarDayPickerComponentsParams {
33
32
  periodRowHover?: boolean;
34
33
  weekMode?: "single" | "multiple" | "range" | "multi-range";
35
34
  showPeriodBoundaries?: boolean;
36
- disabled?: unknown;
37
35
  components?: React.ComponentProps<typeof DayPicker>["components"];
38
36
  }
39
- export declare function buildCalendarDayPickerComponents({ buttonVariant, pickerType, calendarKind, granularity, currentMonth, monthsFull, monthsShort, resolvedStartMonth, resolvedEndMonth, availableYears, fiscalPeriods, fiscalConfig, weekStartsOn, previousMonthLabel, nextMonthLabel, monthPlaceholder, yearPlaceholder, weekNumberLabel, weekNumberHeader, weekLabel, fiscalWeekNumberLabel, fiscalWeekAriaLabel, getCellMeta, onMonthChange, onWeekSelect, periodRowHover, weekMode, showPeriodBoundaries, disabled, components, }: BuildCalendarDayPickerComponentsParams): React.ComponentProps<typeof DayPicker>["components"];
37
+ export declare function buildCalendarDayPickerComponents({ buttonVariant, pickerType, calendarKind, currentMonth, monthsFull, monthsShort, resolvedStartMonth, resolvedEndMonth, availableYears, fiscalPeriods, fiscalConfig, weekStartsOn, previousMonthLabel, nextMonthLabel, monthPlaceholder, yearPlaceholder, weekNumberLabel, weekNumberHeader, weekLabel, fiscalWeekNumberLabel, fiscalWeekAriaLabel, getCellMeta, onMonthChange, onWeekSelect, periodRowHover, weekMode, showPeriodBoundaries, components, }: BuildCalendarDayPickerComponentsParams): React.ComponentProps<typeof DayPicker>["components"];