@cognite/aura 0.3.1 → 0.3.3

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 (120) hide show
  1. package/DESIGN.md +1651 -7
  2. package/README.md +45 -3
  3. package/dist/components/index.d.ts +4 -2
  4. package/dist/components/index.js +58 -325
  5. package/dist/components/ui/core/accordion/accordion.js +79 -114
  6. package/dist/components/ui/core/action-toolbar/action-toolbar.js +108 -176
  7. package/dist/components/ui/core/alert/alert.js +158 -206
  8. package/dist/components/ui/core/avatar/avatar.js +64 -90
  9. package/dist/components/ui/core/badge/badge.js +73 -108
  10. package/dist/components/ui/core/banner/banner.js +146 -215
  11. package/dist/components/ui/core/breadcrumb/breadcrumb.js +105 -200
  12. package/dist/components/ui/core/button/button.js +47 -52
  13. package/dist/components/ui/core/button-group/button-group.js +40 -79
  14. package/dist/components/ui/core/card/card.js +102 -185
  15. package/dist/components/ui/core/chart/chart.js +116 -206
  16. package/dist/components/ui/core/chart/index.js +2 -8
  17. package/dist/components/ui/core/checkbox/checkbox.js +67 -132
  18. package/dist/components/ui/core/checkbox/checkbox.metadata.js +7 -7
  19. package/dist/components/ui/core/code-block/code-block.d.ts +1 -1
  20. package/dist/components/ui/core/code-block/code-block.js +179 -267
  21. package/dist/components/ui/core/collapsible/collapsible.js +29 -49
  22. package/dist/components/ui/core/combobox/combobox.js +41 -0
  23. package/dist/components/ui/core/command/command.js +85 -150
  24. package/dist/components/ui/core/count/count.js +21 -32
  25. package/dist/components/ui/core/date-time-pickers/date-picker/date-picker.js +60 -83
  26. package/dist/components/ui/core/date-time-pickers/date-picker/types.d.ts +1 -2
  27. package/dist/components/ui/core/date-time-pickers/date-picker/use-date-picker.js +36 -62
  28. package/dist/components/ui/core/date-time-pickers/date-range-picker/date-range-picker.js +63 -98
  29. package/dist/components/ui/core/date-time-pickers/date-range-picker/types.d.ts +1 -2
  30. package/dist/components/ui/core/date-time-pickers/date-range-picker/use-date-range-picker.js +60 -81
  31. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/date-time-range-picker.js +118 -189
  32. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/types.d.ts +1 -2
  33. package/dist/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.js +104 -158
  34. package/dist/components/ui/core/date-time-pickers/index.d.ts +2 -0
  35. package/dist/components/ui/core/date-time-pickers/index.js +5 -8
  36. package/dist/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.js +42 -56
  37. package/dist/components/ui/core/date-time-pickers/shared/calendar/calendar.js +66 -117
  38. package/dist/components/ui/core/date-time-pickers/shared/calendar-header/calendar-header.js +63 -93
  39. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.d.ts +1 -1
  40. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/date-time-input.js +64 -98
  41. package/dist/components/ui/core/date-time-pickers/shared/date-time-input/range-input-display.js +38 -67
  42. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.d.ts +0 -2
  43. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-popover-state.js +23 -39
  44. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-date-state.js +52 -62
  45. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-range-step-manager.js +18 -18
  46. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-single-date-state.js +24 -31
  47. package/dist/components/ui/core/date-time-pickers/shared/hooks/use-time-state.js +24 -33
  48. package/dist/components/ui/core/date-time-pickers/shared/scroll-cell-classes.js +4 -7
  49. package/dist/components/ui/core/date-time-pickers/shared/shortcuts-panel/shortcuts-panel.js +17 -31
  50. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/index.d.ts +2 -0
  51. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.d.ts +19 -0
  52. package/dist/components/ui/core/date-time-pickers/shared/time-picker-panel/time-picker-panel.js +41 -0
  53. package/dist/components/ui/core/date-time-pickers/shared/time-picker-scroll/time-picker-scroll.js +33 -50
  54. package/dist/components/ui/core/date-time-pickers/time-picker/index.d.ts +3 -0
  55. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.d.ts +16 -0
  56. package/dist/components/ui/core/date-time-pickers/time-picker/time-picker.js +79 -0
  57. package/dist/components/ui/core/date-time-pickers/time-picker/types.d.ts +23 -0
  58. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.d.ts +3 -0
  59. package/dist/components/ui/core/date-time-pickers/time-picker/use-time-picker.js +42 -0
  60. package/dist/components/ui/core/date-time-pickers/utils/calendar-utils.js +39 -52
  61. package/dist/components/ui/core/date-time-pickers/utils/time-utils.js +7 -15
  62. package/dist/components/ui/core/dialog/dialog.js +82 -155
  63. package/dist/components/ui/core/dropdown-menu/dropdown-menu.d.ts +19 -17
  64. package/dist/components/ui/core/dropdown-menu/dropdown-menu.js +150 -250
  65. package/dist/components/ui/core/empty-state/empty-state.context.js +5 -8
  66. package/dist/components/ui/core/empty-state/empty-state.js +86 -138
  67. package/dist/components/ui/core/helper-text/helper-text.js +37 -65
  68. package/dist/components/ui/core/hover-card/hover-card.js +54 -80
  69. package/dist/components/ui/core/inline-citation/inline-citation.js +98 -181
  70. package/dist/components/ui/core/input/input.js +12 -27
  71. package/dist/components/ui/core/input-group/input-group.js +76 -173
  72. package/dist/components/ui/core/kbd/kbd.js +20 -36
  73. package/dist/components/ui/core/label/label.js +26 -43
  74. package/dist/components/ui/core/loader/loader.js +80 -117
  75. package/dist/components/ui/core/message/message-response-default-streamdown-controls.js +12 -12
  76. package/dist/components/ui/core/message/message.d.ts +2 -2
  77. package/dist/components/ui/core/message/message.js +316 -542
  78. package/dist/components/ui/core/pagination/pagination-size-context.js +5 -6
  79. package/dist/components/ui/core/pagination/pagination-teleport.js +86 -106
  80. package/dist/components/ui/core/pagination/pagination-teleport.utils.js +6 -6
  81. package/dist/components/ui/core/pagination/pagination.js +231 -334
  82. package/dist/components/ui/core/popover/popover.js +90 -157
  83. package/dist/components/ui/core/progress/progress.js +36 -61
  84. package/dist/components/ui/core/prompt-input/prompt-input.js +274 -413
  85. package/dist/components/ui/core/radio-group/radio-group.js +58 -113
  86. package/dist/components/ui/core/reasoning/reasoning.js +55 -86
  87. package/dist/components/ui/core/scroll-area/scroll-area.js +41 -71
  88. package/dist/components/ui/core/search/search.js +77 -99
  89. package/dist/components/ui/core/segmented-control/segmented-control.js +110 -167
  90. package/dist/components/ui/core/select/select.js +168 -293
  91. package/dist/components/ui/core/separator/separator.js +13 -23
  92. package/dist/components/ui/core/shimmer/shimmer.d.ts +2 -4
  93. package/dist/components/ui/core/shimmer/shimmer.js +40 -107
  94. package/dist/components/ui/core/skeleton/skeleton.js +13 -18
  95. package/dist/components/ui/core/sonner-toast/sonner-toast.js +54 -47
  96. package/dist/components/ui/core/sources/sources.d.ts +5 -1
  97. package/dist/components/ui/core/sources/sources.js +58 -79
  98. package/dist/components/ui/core/switch/switch.js +62 -0
  99. package/dist/components/ui/core/tabs/tabs.js +149 -223
  100. package/dist/components/ui/core/tabs/tabs.utils.js +6 -8
  101. package/dist/components/ui/core/textarea/textarea.js +13 -27
  102. package/dist/components/ui/core/toggle/toggle.js +55 -74
  103. package/dist/components/ui/core/tool/tool.js +127 -163
  104. package/dist/components/ui/core/tooltip/tooltip.js +47 -86
  105. package/dist/components/ui/core/topbar/topbar.js +106 -190
  106. package/dist/eslint/index.js +5 -10
  107. package/dist/eslint/no-overriding-styles.js +178 -237
  108. package/dist/icons/index.d.ts +1 -0
  109. package/dist/icons/index.js +1 -0
  110. package/dist/lib/highlight-code.d.ts +9 -0
  111. package/dist/lib/highlight-code.js +42 -0
  112. package/dist/lib/portal-container-context.js +8 -9
  113. package/dist/lib/style-scope.js +6 -6
  114. package/dist/lib/use-controllable-state.js +21 -30
  115. package/dist/lib/utils.d.ts +0 -2
  116. package/dist/lib/utils.js +32 -112
  117. package/dist/styles.css +1 -1
  118. package/dist/styles.source.css +23 -0
  119. package/package.json +23 -7
  120. package/dist/components/ui/core/date-time-pickers/shared/constants.js +0 -14
@@ -1,161 +1,107 @@
1
- import { useRef as U, useCallback as n, useEffect as F } from "react";
2
- import le from "dayjs";
3
- import { DEFAULT_MINUTE as g, START_OF_DAY_HOUR as A, END_OF_DAY_MINUTE as T, END_OF_DAY_HOUR as D } from "../shared/constants.js";
4
- import { usePopoverState as pe } from "../shared/hooks/use-popover-state.js";
5
- import { useRangeDateState as fe } from "../shared/hooks/use-range-date-state.js";
6
- import { useRangeStepManager as Se } from "../shared/hooks/use-range-step-manager.js";
7
- import { useTimeState as I } from "../shared/hooks/use-time-state.js";
8
- function ge(t) {
9
- return t.hour(A).minute(g);
1
+ import { usePopoverState as e } from "../shared/hooks/use-popover-state.js";
2
+ import { useTimeState as t } from "../shared/hooks/use-time-state.js";
3
+ import { useRangeDateState as n } from "../shared/hooks/use-range-date-state.js";
4
+ import { useRangeStepManager as r } from "../shared/hooks/use-range-step-manager.js";
5
+ import { useCallback as i, useEffect as a, useRef as o } from "react";
6
+ import s from "dayjs";
7
+ //#region libs/aura/src/components/ui/core/date-time-pickers/date-time-range-picker/use-date-time-range-picker.ts
8
+ function c(e) {
9
+ return e.hour(0).minute(0);
10
10
  }
11
- function Ae(t) {
12
- return t.hour(D).minute(T);
11
+ function l(e) {
12
+ return e.hour(23).minute(59);
13
13
  }
14
- const Re = ({
15
- value: t,
16
- onChange: r,
17
- timeFormat: M = "24h",
18
- defaultDate: Y = le()
19
- }) => {
20
- const C = U(() => {
21
- }), E = U(() => {
22
- }), {
23
- isOpen: h,
24
- setIsOpen: o,
25
- popoverRef: w,
26
- inputRef: x,
27
- handleTogglePopover: H
28
- } = pe({
29
- onClose: n(() => C.current(), []),
30
- onBackspace: n(() => E.current(), [])
31
- }), b = Se(), { step: m, handleNext: d, handleBack: a, resetStep: P } = b, j = fe({
32
- value: t,
33
- defaultDate: Y,
34
- mapDate: (e, i) => i === "start" ? ge(e) : Ae(e)
35
- }), {
36
- tempStart: L,
37
- tempEnd: q,
38
- displayedMonth: z,
39
- hoverDate: G,
40
- stateRef: u,
41
- handleDateClick: R,
42
- handleDateHover: J,
43
- handleMonthChange: K,
44
- clearActiveSegment: k,
45
- resetDates: c
46
- } = j, Q = I({
47
- initialHour: t[0]?.hour() ?? A,
48
- initialMinute: t[0]?.minute() ?? g,
49
- timeFormat: M
50
- }), {
51
- hour: W,
52
- minute: l,
53
- amPm: X,
54
- hour24: O,
55
- handleHourChange: Z,
56
- handleMinuteChange: $,
57
- handleAmPmChange: v,
58
- resetTime: _
59
- } = Q, V = I({
60
- initialHour: t[1]?.hour() ?? D,
61
- initialMinute: t[1]?.minute() ?? T,
62
- timeFormat: M
63
- }), {
64
- hour: ee,
65
- minute: p,
66
- amPm: te,
67
- hour24: y,
68
- handleHourChange: ne,
69
- handleMinuteChange: re,
70
- handleAmPmChange: oe,
71
- resetTime: B
72
- } = V, s = n(() => {
73
- c(t), P(), _(
74
- t[0]?.hour() ?? A,
75
- t[0]?.minute() ?? g
76
- ), B(
77
- t[1]?.hour() ?? D,
78
- t[1]?.minute() ?? T
79
- );
80
- }, [t, c, P, _, B]), N = n(() => {
81
- const e = k(m);
82
- e === null ? a() : e[0] === null && e[1] === null && r(e);
83
- }, [k, m, a, r]);
84
- F(() => {
85
- C.current = s;
86
- }, [s]), F(() => {
87
- E.current = N;
88
- }, [N]);
89
- const ae = n(() => {
90
- h || s(), H();
91
- }, [h, H, s]), se = n(
92
- (e) => {
93
- e === "start" ? a() : d();
94
- },
95
- [a, d]
96
- ), ie = n(
97
- (e) => {
98
- R(e, m);
99
- },
100
- [R, m]
101
- ), me = n(() => {
102
- const { tempStart: e, tempEnd: i } = u.current;
103
- if (e && i) {
104
- const f = e.hour(O).minute(l).startOf("minute"), S = i.hour(y).minute(p).endOf("minute"), de = f.isAfter(S) ? [S, f] : [f, S];
105
- r(de), o(!1);
106
- }
107
- }, [
108
- u,
109
- O,
110
- l,
111
- y,
112
- p,
113
- r,
114
- o
115
- ]), ue = n(() => {
116
- s(), o(!1);
117
- }, [s, o]), ce = n(() => {
118
- a(), c([u.current.tempStart, null]);
119
- }, [a, c, u]), he = n(
120
- (e) => {
121
- const i = Array.isArray(e) ? e : [e, e];
122
- r(i), o(!1);
123
- },
124
- [r, o]
125
- );
126
- return {
127
- isOpen: h,
128
- step: m,
129
- displayedMonth: z,
130
- tempStart: L,
131
- tempEnd: q,
132
- hoverDate: G,
133
- tempStartHour: W,
134
- tempStartMinute: l,
135
- tempEndHour: ee,
136
- tempEndMinute: p,
137
- startAmPm: X,
138
- endAmPm: te,
139
- handleTogglePopover: ae,
140
- handleSetStep: se,
141
- handleDateClick: ie,
142
- handleMonthChange: K,
143
- handleDateHover: J,
144
- handleStartHourChange: Z,
145
- handleStartMinuteChange: $,
146
- handleEndHourChange: ne,
147
- handleEndMinuteChange: re,
148
- handleStartAmPmChange: v,
149
- handleEndAmPmChange: oe,
150
- handleNext: d,
151
- handleApply: me,
152
- handleCancel: ue,
153
- handleBack: ce,
154
- handleApplyShortcut: he,
155
- popoverRef: w,
156
- inputRef: x
157
- };
158
- };
159
- export {
160
- Re as useDateTimeRangePicker
14
+ var u = ({ value: u, onChange: d, timeFormat: f = "24h", defaultDate: p = s() }) => {
15
+ let m = o(() => {}), { isOpen: h, setIsOpen: g, popoverRef: _, inputRef: v } = e({ onBackspace: i(() => m.current(), []) }), { step: y, handleNext: b, handleBack: x, resetStep: S } = r(), { tempStart: C, tempEnd: w, displayedMonth: T, hoverDate: E, stateRef: D, handleDateClick: O, handleDateHover: k, handleMonthChange: A, clearActiveSegment: j, resetDates: M } = n({
16
+ value: u,
17
+ defaultDate: p,
18
+ mapDate: (e, t) => t === "start" ? c(e) : l(e)
19
+ }), { hour: N, minute: P, amPm: F, hour24: I, handleHourChange: L, handleMinuteChange: R, handleAmPmChange: z, resetTime: B } = t({
20
+ initialHour: u[0]?.hour() ?? 0,
21
+ initialMinute: u[0]?.minute() ?? 0,
22
+ timeFormat: f
23
+ }), { hour: V, minute: H, amPm: U, hour24: W, handleHourChange: G, handleMinuteChange: K, handleAmPmChange: q, resetTime: J } = t({
24
+ initialHour: u[1]?.hour() ?? 23,
25
+ initialMinute: u[1]?.minute() ?? 59,
26
+ timeFormat: f
27
+ }), Y = i(() => {
28
+ M(u), S(), B(u[0]?.hour() ?? 0, u[0]?.minute() ?? 0), J(u[1]?.hour() ?? 23, u[1]?.minute() ?? 59);
29
+ }, [
30
+ u,
31
+ M,
32
+ S,
33
+ B,
34
+ J
35
+ ]), X = i(() => {
36
+ let e = j(y);
37
+ e === null ? x() : e[0] === null && e[1] === null && d(e);
38
+ }, [
39
+ j,
40
+ y,
41
+ x,
42
+ d
43
+ ]);
44
+ return a(() => {
45
+ m.current = X;
46
+ }, [X]), {
47
+ isOpen: h,
48
+ step: y,
49
+ displayedMonth: T,
50
+ tempStart: C,
51
+ tempEnd: w,
52
+ hoverDate: E,
53
+ tempStartHour: N,
54
+ tempStartMinute: P,
55
+ tempEndHour: V,
56
+ tempEndMinute: H,
57
+ startAmPm: F,
58
+ endAmPm: U,
59
+ handleOpenChange: (e) => {
60
+ Y(), g(e);
61
+ },
62
+ handleSetStep: i((e) => {
63
+ e === "start" ? x() : b();
64
+ }, [x, b]),
65
+ handleDateClick: i((e) => {
66
+ O(e, y);
67
+ }, [O, y]),
68
+ handleMonthChange: A,
69
+ handleDateHover: k,
70
+ handleStartHourChange: L,
71
+ handleStartMinuteChange: R,
72
+ handleEndHourChange: G,
73
+ handleEndMinuteChange: K,
74
+ handleStartAmPmChange: z,
75
+ handleEndAmPmChange: q,
76
+ handleNext: b,
77
+ handleApply: i(() => {
78
+ let { tempStart: e, tempEnd: t } = D.current;
79
+ if (e && t) {
80
+ let n = e.hour(I).minute(P).startOf("minute"), r = t.hour(W).minute(H).endOf("minute");
81
+ d(n.isAfter(r) ? [r, n] : [n, r]), g(!1);
82
+ }
83
+ }, [
84
+ D,
85
+ I,
86
+ P,
87
+ W,
88
+ H,
89
+ d,
90
+ g
91
+ ]),
92
+ handleBack: i(() => {
93
+ x(), M([D.current.tempStart, null]);
94
+ }, [
95
+ x,
96
+ M,
97
+ D
98
+ ]),
99
+ handleApplyShortcut: i((e) => {
100
+ d(Array.isArray(e) ? e : [e, e]), g(!1);
101
+ }, [d, g]),
102
+ popoverRef: _,
103
+ inputRef: v
104
+ };
161
105
  };
106
+ //#endregion
107
+ export { u as useDateTimeRangePicker };
@@ -1,5 +1,7 @@
1
1
  export { DatePicker } from './date-picker';
2
2
  export type { DatePickerProps } from './date-picker';
3
+ export { TimePicker } from './time-picker';
4
+ export type { TimePickerProps } from './time-picker';
3
5
  export { DateRangePicker } from './date-range-picker';
4
6
  export type { DateRangePickerProps } from './date-range-picker';
5
7
  export { DateTimeRangePicker } from './date-time-range-picker';
@@ -1,8 +1,5 @@
1
- import { DatePicker as o } from "./date-picker/date-picker.js";
2
- import { DateRangePicker as a } from "./date-range-picker/date-range-picker.js";
3
- import { DateTimeRangePicker as m } from "./date-time-range-picker/date-time-range-picker.js";
4
- export {
5
- o as DatePicker,
6
- a as DateRangePicker,
7
- m as DateTimeRangePicker
8
- };
1
+ import { DatePicker as e } from "./date-picker/date-picker.js";
2
+ import { TimePicker as t } from "./time-picker/time-picker.js";
3
+ import { DateRangePicker as n } from "./date-range-picker/date-range-picker.js";
4
+ import { DateTimeRangePicker as r } from "./date-time-range-picker/date-time-range-picker.js";
5
+ export { e as DatePicker, n as DateRangePicker, r as DateTimeRangePicker, t as TimePicker };
@@ -1,57 +1,43 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import { useRef as s, useEffect as L } from "react";
3
- import { cn as l } from "../../../../../../lib/utils.js";
4
- import { SCROLL_ITEM_SELECTED_CLASSES as _, SCROLL_ITEM_UNSELECTED_CLASSES as C, SCROLL_ITEM_BASE_CLASSES as a, SCROLL_CONTAINER_CLASSES as d } from "../scroll-cell-classes.js";
5
- const A = ["AM", "PM"], p = ({
6
- value: e,
7
- onChange: c,
8
- className: S
9
- }) => {
10
- const r = s(null), n = s(null);
11
- L(() => {
12
- if (e !== null && n.current && r.current) {
13
- const o = r.current, t = n.current;
14
- o.scrollTo({
15
- top: t.offsetTop - o.offsetHeight / 2 + t.offsetHeight / 2,
16
- behavior: "smooth"
17
- });
18
- }
19
- }, [e]);
20
- const f = (o, t) => {
21
- (o.key === "Enter" || o.key === " ") && (o.preventDefault(), c(t));
22
- };
23
- return /* @__PURE__ */ i(
24
- "div",
25
- {
26
- "data-slot": "am-pm-scroll",
27
- ref: r,
28
- role: "listbox",
29
- "aria-label": "AM/PM",
30
- "aria-orientation": "vertical",
31
- className: l(d, S),
32
- children: A.map((o) => {
33
- const t = e !== null && o === e;
34
- return /* @__PURE__ */ i(
35
- "div",
36
- {
37
- ref: t ? n : void 0,
38
- tabIndex: 0,
39
- className: l(
40
- a,
41
- t ? _ : C
42
- ),
43
- onClick: () => c(o),
44
- onKeyDown: (E) => f(E, o),
45
- role: "option",
46
- "aria-selected": t,
47
- children: o
48
- },
49
- o
50
- );
51
- })
52
- }
53
- );
54
- };
55
- export {
56
- p as AmPmScroll
1
+ import { cn as e } from "../../../../../../lib/utils.js";
2
+ import { SCROLL_CONTAINER_CLASSES as t, SCROLL_ITEM_BASE_CLASSES as n, SCROLL_ITEM_SELECTED_CLASSES as r, SCROLL_ITEM_UNSELECTED_CLASSES as i } from "../scroll-cell-classes.js";
3
+ import { useEffect as a, useRef as o } from "react";
4
+ import { jsx as s } from "react/jsx-runtime";
5
+ //#region libs/aura/src/components/ui/core/date-time-pickers/shared/am-pm-scroll/am-pm-scroll.tsx
6
+ var c = ["AM", "PM"], l = ({ value: l, onChange: u, className: d }) => {
7
+ let f = o(null), p = o(null);
8
+ a(() => {
9
+ if (l !== null && p.current && f.current) {
10
+ let e = f.current, t = p.current;
11
+ e.scrollTo({
12
+ top: t.offsetTop - e.offsetHeight / 2 + t.offsetHeight / 2,
13
+ behavior: "smooth"
14
+ });
15
+ }
16
+ }, [l]);
17
+ let m = (e, t) => {
18
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), u(t));
19
+ };
20
+ return /* @__PURE__ */ s("div", {
21
+ "data-slot": "am-pm-scroll",
22
+ ref: f,
23
+ role: "listbox",
24
+ "aria-label": "AM/PM",
25
+ "aria-orientation": "vertical",
26
+ className: e(t, d),
27
+ children: c.map((t) => {
28
+ let a = l !== null && t === l;
29
+ return /* @__PURE__ */ s("div", {
30
+ ref: a ? p : void 0,
31
+ tabIndex: 0,
32
+ className: e(n, a ? r : i),
33
+ onClick: () => u(t),
34
+ onKeyDown: (e) => m(e, t),
35
+ role: "option",
36
+ "aria-selected": a,
37
+ children: t
38
+ }, t);
39
+ })
40
+ });
57
41
  };
42
+ //#endregion
43
+ export { l as AmPmScroll };
@@ -1,119 +1,68 @@
1
- import { jsxs as x, jsx as l } from "react/jsx-runtime";
2
- import C from "react";
3
- import { cn as b } from "../../../../../../lib/utils.js";
4
- import { getCalendarDays as _, getWeekdayNames as E, getWeekNumbers as O, isDateInRange as v, isSameDay as f, isToday as T, isOutsideMonth as B } from "../../utils/calendar-utils.js";
5
- import { CalendarHeader as K } from "../calendar-header/calendar-header.js";
6
- import { DAYS_IN_WEEK as p } from "../constants.js";
7
- function P({
8
- isOutsideMonth: r,
9
- isSelected: t,
10
- isToday: s,
11
- isRangeStart: o,
12
- isRangeEnd: c,
13
- isInRange: a,
14
- isInHoverRange: i
15
- }) {
16
- return b(
17
- "w-9 h-9 flex items-center justify-center text-sm font-medium cursor-pointer select-none relative transition-colors",
18
- "focus-visible:ring-2 focus-visible:ring-border focus-visible:outline-none",
19
- // border-radius for range endpoints
20
- o && c && "rounded-lg",
21
- o && !c && "rounded-l-lg",
22
- c && !o && "rounded-r-lg",
23
- // selected day
24
- t && "bg-primary-background text-foreground-on-primary hover:bg-primary-background",
25
- // unselected text
26
- !t && r && "text-muted-foreground/50",
27
- !t && !r && (a || i) ? "text-foreground" : !t && !r && "text-secondary-foreground",
28
- // range highlight
29
- !t && (a || i) && "bg-accent-background",
30
- !t && "hover:bg-accent-background hover:rounded-lg hover:text-foreground",
31
- // today outline
32
- s && !t && "border border-border rounded-lg"
33
- );
1
+ import { cn as e } from "../../../../../../lib/utils.js";
2
+ import { getCalendarDays as t, getWeekNumbers as n, getWeekdayNames as r, isDateInRange as i, isOutsideMonth as a, isSameDay as o, isToday as s } from "../../utils/calendar-utils.js";
3
+ import { CalendarHeader as c } from "../calendar-header/calendar-header.js";
4
+ import l from "react";
5
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
6
+ //#region libs/aura/src/components/ui/core/date-time-pickers/shared/calendar/calendar.tsx
7
+ function f({ isOutsideMonth: t, isSelected: n, isToday: r, isRangeStart: i, isRangeEnd: a, isInRange: o, isInHoverRange: s }) {
8
+ return e("w-9 h-9 flex items-center justify-center text-sm font-medium cursor-pointer select-none relative transition-colors", "focus-visible:ring-2 focus-visible:ring-border focus-visible:outline-none", i && a && "rounded-lg", i && !a && "rounded-l-lg", a && !i && "rounded-r-lg", n && "bg-primary-background text-foreground-on-primary hover:bg-primary-background", !n && t && "text-muted-foreground/50", !n && !t && (o || s) ? "text-foreground" : !n && !t && "text-secondary-foreground", !n && (o || s) && "bg-accent-background", !n && "hover:bg-accent-background hover:rounded-lg hover:text-foreground", r && !n && "border border-border rounded-lg");
34
9
  }
35
- const W = ({
36
- displayedMonth: r,
37
- selectedRange: t,
38
- hoverDate: s,
39
- displayWeekNumber: o = !1,
40
- onDateClick: c,
41
- onMonthChange: a,
42
- onDateHover: i,
43
- className: N
44
- }) => {
45
- const [n, m] = t, h = _(r), M = E(), k = o ? O(h) : [], Y = () => {
46
- a(r.subtract(1, "month"));
47
- }, D = () => {
48
- a(r.add(1, "month"));
49
- }, w = (e) => {
50
- const d = {
51
- isOutsideMonth: B(e, r),
52
- isToday: T(e),
53
- isSelected: f(e, n) || f(e, m),
54
- isRangeStart: f(e, n),
55
- isRangeEnd: f(e, m),
56
- isInRange: v(e, n, m),
57
- isInHoverRange: !1
58
- };
59
- if (s && n && !m) {
60
- const u = n.isBefore(s) ? n : s, g = n.isBefore(s) ? s : n;
61
- d.isInHoverRange = v(e, u, g);
62
- }
63
- return d;
64
- };
65
- return /* @__PURE__ */ x("div", { "data-slot": "calendar", className: b("flex flex-col gap-4", N), children: [
66
- /* @__PURE__ */ l(
67
- K,
68
- {
69
- displayedMonth: r,
70
- onPrevMonth: Y,
71
- onNextMonth: D,
72
- onMonthChange: a
73
- }
74
- ),
75
- /* @__PURE__ */ x(
76
- "div",
77
- {
78
- className: b(
79
- "grid gap-0",
80
- o ? "grid-cols-calendar-weeks" : "grid-cols-calendar"
81
- ),
82
- children: [
83
- o && /* @__PURE__ */ l("div", { className: "text-xs font-semibold text-muted-foreground text-center py-2 px-1", children: "#" }),
84
- M.map((e) => /* @__PURE__ */ l(
85
- "div",
86
- {
87
- className: "text-xs font-medium text-muted-foreground text-center py-2 px-1 tracking-tighter",
88
- children: e
89
- },
90
- e
91
- )),
92
- h.map((e, d) => {
93
- const u = w(e), g = Math.floor(d / p), I = o && d % p === 0, j = `day-${e.format("YYYY-MM-DD")}`;
94
- return /* @__PURE__ */ x(C.Fragment, { children: [
95
- I && /* @__PURE__ */ l("div", { className: "text-xs text-muted-foreground text-center flex items-center justify-center h-9", children: k[g] }),
96
- /* @__PURE__ */ l(
97
- "div",
98
- {
99
- className: P(u),
100
- onClick: () => c(e),
101
- onMouseEnter: () => i?.(e),
102
- onMouseLeave: () => i?.(null),
103
- role: "gridcell",
104
- tabIndex: 0,
105
- "aria-label": e.format("DD MMMM YYYY"),
106
- "aria-selected": u.isSelected,
107
- children: e.date()
108
- }
109
- )
110
- ] }, j);
111
- })
112
- ]
113
- }
114
- )
115
- ] });
116
- };
117
- export {
118
- W as Calendar
10
+ var p = ({ displayedMonth: p, selectedRange: m, hoverDate: h, displayWeekNumber: g = !1, onDateClick: _, onMonthChange: v, onDateHover: y, className: b }) => {
11
+ let [x, S] = m, C = t(p), w = r(), T = g ? n(C) : [], E = () => {
12
+ v(p.subtract(1, "month"));
13
+ }, D = () => {
14
+ v(p.add(1, "month"));
15
+ }, O = (e) => {
16
+ let t = {
17
+ isOutsideMonth: a(e, p),
18
+ isToday: s(e),
19
+ isSelected: o(e, x) || o(e, S),
20
+ isRangeStart: o(e, x),
21
+ isRangeEnd: o(e, S),
22
+ isInRange: i(e, x, S),
23
+ isInHoverRange: !1
24
+ };
25
+ return h && x && !S && (t.isInHoverRange = i(e, x.isBefore(h) ? x : h, x.isBefore(h) ? h : x)), t;
26
+ };
27
+ return /* @__PURE__ */ d("div", {
28
+ "data-slot": "calendar",
29
+ className: e("flex flex-col gap-4", b),
30
+ children: [/* @__PURE__ */ u(c, {
31
+ displayedMonth: p,
32
+ onPrevMonth: E,
33
+ onNextMonth: D,
34
+ onMonthChange: v
35
+ }), /* @__PURE__ */ d("div", {
36
+ className: e("grid gap-0", g ? "grid-cols-calendar-weeks" : "grid-cols-calendar"),
37
+ children: [
38
+ g && /* @__PURE__ */ u("div", {
39
+ className: "text-xs font-semibold text-muted-foreground text-center py-2 px-1",
40
+ children: "#"
41
+ }),
42
+ w.map((e) => /* @__PURE__ */ u("div", {
43
+ className: "text-xs font-medium text-muted-foreground text-center py-2 px-1 tracking-tighter",
44
+ children: e
45
+ }, e)),
46
+ C.map((e, t) => {
47
+ let n = O(e), r = Math.floor(t / 7), i = g && t % 7 == 0, a = `day-${e.format("YYYY-MM-DD")}`;
48
+ return /* @__PURE__ */ d(l.Fragment, { children: [i && /* @__PURE__ */ u("div", {
49
+ className: "text-xs text-muted-foreground text-center flex items-center justify-center h-9",
50
+ children: T[r]
51
+ }), /* @__PURE__ */ u("div", {
52
+ className: f(n),
53
+ onClick: () => _(e),
54
+ onMouseEnter: () => y?.(e),
55
+ onMouseLeave: () => y?.(null),
56
+ role: "gridcell",
57
+ tabIndex: 0,
58
+ "aria-label": e.format("DD MMMM YYYY"),
59
+ "aria-selected": n.isSelected,
60
+ children: e.date()
61
+ })] }, a);
62
+ })
63
+ ]
64
+ })]
65
+ });
119
66
  };
67
+ //#endregion
68
+ export { p as Calendar };