@arbor-education/design-system.components 0.8.1 → 0.10.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 (161) hide show
  1. package/.github/workflows/release.yml +1 -1
  2. package/CHANGELOG.md +22 -0
  3. package/dist/components/button/Button.d.ts.map +1 -1
  4. package/dist/components/button/Button.js +2 -2
  5. package/dist/components/button/Button.js.map +1 -1
  6. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  7. package/dist/components/combobox/Combobox.js +10 -8
  8. package/dist/components/combobox/Combobox.js.map +1 -1
  9. package/dist/components/combobox/Combobox.stories.d.ts +1 -0
  10. package/dist/components/combobox/Combobox.stories.d.ts.map +1 -1
  11. package/dist/components/combobox/Combobox.stories.js +16 -0
  12. package/dist/components/combobox/Combobox.stories.js.map +1 -1
  13. package/dist/components/combobox/Combobox.test.js +107 -61
  14. package/dist/components/combobox/Combobox.test.js.map +1 -1
  15. package/dist/components/combobox/ComboboxButtonTrigger.d.ts +4 -2
  16. package/dist/components/combobox/ComboboxButtonTrigger.d.ts.map +1 -1
  17. package/dist/components/combobox/ComboboxButtonTrigger.js +11 -4
  18. package/dist/components/combobox/ComboboxButtonTrigger.js.map +1 -1
  19. package/dist/components/combobox/ComboboxTrigger.d.ts +3 -1
  20. package/dist/components/combobox/ComboboxTrigger.d.ts.map +1 -1
  21. package/dist/components/combobox/ComboboxTrigger.js +10 -2
  22. package/dist/components/combobox/ComboboxTrigger.js.map +1 -1
  23. package/dist/components/combobox/types.d.ts +3 -0
  24. package/dist/components/combobox/types.d.ts.map +1 -1
  25. package/dist/components/combobox/useComboboxPopoverBehavior.d.ts +3 -1
  26. package/dist/components/combobox/useComboboxPopoverBehavior.d.ts.map +1 -1
  27. package/dist/components/combobox/useComboboxPopoverBehavior.js +7 -6
  28. package/dist/components/combobox/useComboboxPopoverBehavior.js.map +1 -1
  29. package/dist/components/combobox/useComboboxState.d.ts.map +1 -1
  30. package/dist/components/combobox/useComboboxState.js +4 -1
  31. package/dist/components/combobox/useComboboxState.js.map +1 -1
  32. package/dist/components/datePicker/DatePicker.d.ts +4 -1
  33. package/dist/components/datePicker/DatePicker.d.ts.map +1 -1
  34. package/dist/components/datePicker/DatePicker.js +77 -37
  35. package/dist/components/datePicker/DatePicker.js.map +1 -1
  36. package/dist/components/datePicker/DatePicker.stories.d.ts +28 -3
  37. package/dist/components/datePicker/DatePicker.stories.d.ts.map +1 -1
  38. package/dist/components/datePicker/DatePicker.stories.js +62 -9
  39. package/dist/components/datePicker/DatePicker.stories.js.map +1 -1
  40. package/dist/components/datePicker/DatePicker.test.js +133 -66
  41. package/dist/components/datePicker/DatePicker.test.js.map +1 -1
  42. package/dist/components/datePicker/DatePickerCalendarHeader.d.ts +8 -0
  43. package/dist/components/datePicker/DatePickerCalendarHeader.d.ts.map +1 -0
  44. package/dist/components/datePicker/DatePickerCalendarHeader.js +36 -0
  45. package/dist/components/datePicker/DatePickerCalendarHeader.js.map +1 -0
  46. package/dist/components/datePicker/dateInputUtils.d.ts +25 -0
  47. package/dist/components/datePicker/dateInputUtils.d.ts.map +1 -0
  48. package/dist/components/datePicker/dateInputUtils.js +60 -0
  49. package/dist/components/datePicker/dateInputUtils.js.map +1 -0
  50. package/dist/components/datePicker/datePickerTestUtils.test-helpers.d.ts +2 -0
  51. package/dist/components/datePicker/datePickerTestUtils.test-helpers.d.ts.map +1 -0
  52. package/dist/components/datePicker/datePickerTestUtils.test-helpers.js +4 -0
  53. package/dist/components/datePicker/datePickerTestUtils.test-helpers.js.map +1 -0
  54. package/dist/components/dateTimePicker/DateTimePicker.d.ts +22 -0
  55. package/dist/components/dateTimePicker/DateTimePicker.d.ts.map +1 -0
  56. package/dist/components/dateTimePicker/DateTimePicker.js +132 -0
  57. package/dist/components/dateTimePicker/DateTimePicker.js.map +1 -0
  58. package/dist/components/dateTimePicker/DateTimePicker.stories.d.ts +77 -0
  59. package/dist/components/dateTimePicker/DateTimePicker.stories.d.ts.map +1 -0
  60. package/dist/components/dateTimePicker/DateTimePicker.stories.js +163 -0
  61. package/dist/components/dateTimePicker/DateTimePicker.stories.js.map +1 -0
  62. package/dist/components/dateTimePicker/DateTimePicker.test.d.ts +2 -0
  63. package/dist/components/dateTimePicker/DateTimePicker.test.d.ts.map +1 -0
  64. package/dist/components/dateTimePicker/DateTimePicker.test.js +235 -0
  65. package/dist/components/dateTimePicker/DateTimePicker.test.js.map +1 -0
  66. package/dist/components/formField/FormField.d.ts +4 -0
  67. package/dist/components/formField/FormField.d.ts.map +1 -1
  68. package/dist/components/formField/FormField.js +2 -1
  69. package/dist/components/formField/FormField.js.map +1 -1
  70. package/dist/components/formField/FormField.stories.d.ts.map +1 -1
  71. package/dist/components/formField/FormField.stories.js +4 -1
  72. package/dist/components/formField/FormField.stories.js.map +1 -1
  73. package/dist/components/formField/FormField.test.d.ts.map +1 -1
  74. package/dist/components/formField/FormField.test.js +10 -5
  75. package/dist/components/formField/FormField.test.js.map +1 -1
  76. package/dist/components/formField/inputs/selectDropdown/SelectDropdown.d.ts +1 -0
  77. package/dist/components/formField/inputs/selectDropdown/SelectDropdown.d.ts.map +1 -1
  78. package/dist/components/formField/inputs/selectDropdown/SelectDropdown.js +7 -3
  79. package/dist/components/formField/inputs/selectDropdown/SelectDropdown.js.map +1 -1
  80. package/dist/components/formField/inputs/selectDropdown/SelectDropdown.test.js +12 -0
  81. package/dist/components/formField/inputs/selectDropdown/SelectDropdown.test.js.map +1 -1
  82. package/dist/components/formField/inputs/text/TextInput.d.ts +4 -1
  83. package/dist/components/formField/inputs/text/TextInput.d.ts.map +1 -1
  84. package/dist/components/formField/inputs/text/TextInput.js +5 -4
  85. package/dist/components/formField/inputs/text/TextInput.js.map +1 -1
  86. package/dist/components/formField/inputs/text/TextInput.stories.d.ts +4 -1
  87. package/dist/components/formField/inputs/text/TextInput.stories.d.ts.map +1 -1
  88. package/dist/components/formField/inputs/time/TimeInput.d.ts +29 -0
  89. package/dist/components/formField/inputs/time/TimeInput.d.ts.map +1 -0
  90. package/dist/components/formField/inputs/time/TimeInput.js +67 -0
  91. package/dist/components/formField/inputs/time/TimeInput.js.map +1 -0
  92. package/dist/components/formField/inputs/time/TimeInput.stories.d.ts +60 -0
  93. package/dist/components/formField/inputs/time/TimeInput.stories.d.ts.map +1 -0
  94. package/dist/components/formField/inputs/time/TimeInput.stories.js +132 -0
  95. package/dist/components/formField/inputs/time/TimeInput.stories.js.map +1 -0
  96. package/dist/components/formField/inputs/time/TimeInput.test.d.ts +2 -0
  97. package/dist/components/formField/inputs/time/TimeInput.test.d.ts.map +1 -0
  98. package/dist/components/formField/inputs/time/TimeInput.test.js +58 -0
  99. package/dist/components/formField/inputs/time/TimeInput.test.js.map +1 -0
  100. package/dist/components/table/Table.d.ts.map +1 -1
  101. package/dist/components/table/Table.js +2 -0
  102. package/dist/components/table/Table.js.map +1 -1
  103. package/dist/components/table/Table.stories.d.ts +1 -0
  104. package/dist/components/table/Table.stories.d.ts.map +1 -1
  105. package/dist/components/table/Table.stories.js +37 -0
  106. package/dist/components/table/Table.stories.js.map +1 -1
  107. package/dist/components/table/cellRenderers/BooleanCellRenderer.d.ts +3 -0
  108. package/dist/components/table/cellRenderers/BooleanCellRenderer.d.ts.map +1 -0
  109. package/dist/components/table/cellRenderers/BooleanCellRenderer.js +15 -0
  110. package/dist/components/table/cellRenderers/BooleanCellRenderer.js.map +1 -0
  111. package/dist/components/table/cellRenderers/BooleanCellRenderer.test.d.ts +2 -0
  112. package/dist/components/table/cellRenderers/BooleanCellRenderer.test.d.ts.map +1 -0
  113. package/dist/components/table/cellRenderers/BooleanCellRenderer.test.js +31 -0
  114. package/dist/components/table/cellRenderers/BooleanCellRenderer.test.js.map +1 -0
  115. package/dist/index.css +309 -4
  116. package/dist/index.css.map +1 -1
  117. package/dist/index.d.ts +5 -0
  118. package/dist/index.d.ts.map +1 -1
  119. package/dist/index.js +3 -0
  120. package/dist/index.js.map +1 -1
  121. package/package.json +1 -1
  122. package/src/components/button/Button.tsx +2 -1
  123. package/src/components/combobox/Combobox.stories.tsx +18 -0
  124. package/src/components/combobox/Combobox.test.tsx +131 -61
  125. package/src/components/combobox/Combobox.tsx +15 -6
  126. package/src/components/combobox/ComboboxButtonTrigger.tsx +54 -25
  127. package/src/components/combobox/ComboboxTrigger.tsx +39 -15
  128. package/src/components/combobox/combobox.scss +18 -0
  129. package/src/components/combobox/types.ts +3 -0
  130. package/src/components/combobox/useComboboxPopoverBehavior.ts +10 -5
  131. package/src/components/combobox/useComboboxState.ts +4 -1
  132. package/src/components/datePicker/DatePicker.stories.tsx +67 -9
  133. package/src/components/datePicker/DatePicker.test.tsx +157 -72
  134. package/src/components/datePicker/DatePicker.tsx +163 -69
  135. package/src/components/datePicker/DatePickerCalendarHeader.tsx +82 -0
  136. package/src/components/datePicker/date-field-hint.scss +152 -0
  137. package/src/components/datePicker/dateInputUtils.ts +117 -0
  138. package/src/components/datePicker/datePicker.scss +53 -29
  139. package/src/components/datePicker/datePickerTestUtils.test-helpers.ts +6 -0
  140. package/src/components/dateTimePicker/DateTimePicker.stories.tsx +202 -0
  141. package/src/components/dateTimePicker/DateTimePicker.test.tsx +295 -0
  142. package/src/components/dateTimePicker/DateTimePicker.tsx +293 -0
  143. package/src/components/dateTimePicker/dateTimePicker.scss +17 -0
  144. package/src/components/formField/FormField.stories.tsx +10 -1
  145. package/src/components/formField/FormField.test.tsx +11 -5
  146. package/src/components/formField/FormField.tsx +5 -0
  147. package/src/components/formField/inputs/selectDropdown/SelectDropdown.test.tsx +28 -0
  148. package/src/components/formField/inputs/selectDropdown/SelectDropdown.tsx +8 -2
  149. package/src/components/formField/inputs/text/TextInput.tsx +6 -3
  150. package/src/components/formField/inputs/time/TimeInput.stories.tsx +170 -0
  151. package/src/components/formField/inputs/time/TimeInput.test.tsx +86 -0
  152. package/src/components/formField/inputs/time/TimeInput.tsx +168 -0
  153. package/src/components/formField/inputs/time/timeInput.scss +33 -0
  154. package/src/components/row/row.scss +2 -2
  155. package/src/components/table/Table.stories.tsx +48 -0
  156. package/src/components/table/Table.tsx +2 -0
  157. package/src/components/table/cellRenderers/BooleanCellRenderer.test.tsx +37 -0
  158. package/src/components/table/cellRenderers/BooleanCellRenderer.tsx +34 -0
  159. package/src/components/table/cellRenderers/booleanCellRenderer.scss +7 -0
  160. package/src/index.scss +3 -0
  161. package/src/index.ts +5 -0
@@ -1,19 +1,33 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { fn } from 'storybook/test';
2
3
  import { DatePicker } from './DatePicker';
3
4
  const meta = {
4
5
  title: 'Components/DatePicker',
5
6
  component: DatePicker,
7
+ decorators: [
8
+ Story => (_jsx("div", { style: { maxWidth: '220px', width: '100%' }, children: _jsx(Story, {}) })),
9
+ ],
6
10
  parameters: {
7
11
  layout: 'centered',
12
+ docs: {
13
+ description: {
14
+ component: '`DatePicker` uses a native `type="date"` input (`yyyy-MM-dd`) with a synced calendar popover. When empty, hint copy uses a decorative span (browsers do not reliably show `placeholder` on native date fields). `displayFormat` controls that hint (`DD/MM/YYYY` vs `Pick a date`). The custom month/year header uses the design-system select control.',
15
+ },
16
+ },
8
17
  },
9
18
  tags: ['autodocs'],
10
19
  args: {
11
20
  onChange: fn(),
12
21
  },
13
22
  argTypes: {
14
- dateFormat: {
23
+ displayFormat: {
24
+ control: 'inline-radio',
25
+ options: ['default', 'friendly'],
26
+ description: 'Controls the empty-state hint text (`DD/MM/YYYY` vs `Pick a date`). The field value is always native ISO `yyyy-MM-dd`.',
27
+ },
28
+ placeholder: {
15
29
  control: 'text',
16
- description: 'Date format string using date-fns tokens (e.g. "dd/MM/yyyy", "MM/dd/yyyy", "yyyy-MM-dd")',
30
+ description: 'Optional override for the empty-state hint (defaults from `displayFormat`).',
17
31
  },
18
32
  className: {
19
33
  control: 'text',
@@ -25,17 +39,56 @@ const meta = {
25
39
  },
26
40
  };
27
41
  export default meta;
28
- export const Default = {};
29
- export const USDateFormat = {
30
- name: 'US Date Format (MM/dd/yyyy)',
42
+ export const Default = {
43
+ parameters: {
44
+ docs: {
45
+ description: {
46
+ story: 'Empty field shows hint **DD/MM/YYYY** (`displayFormat="default"`).',
47
+ },
48
+ },
49
+ },
50
+ };
51
+ export const FriendlyFormat = {
52
+ name: 'Friendly Format',
53
+ args: {
54
+ displayFormat: 'friendly',
55
+ },
56
+ parameters: {
57
+ docs: {
58
+ description: {
59
+ story: 'Empty field shows hint **Pick a date**.',
60
+ },
61
+ },
62
+ },
63
+ };
64
+ /** `placeholder` overrides the default empty-state hint. */
65
+ export const PlaceholderCustomOverride = {
66
+ name: 'Placeholder · custom copy',
31
67
  args: {
32
- dateFormat: 'MM/dd/yyyy',
68
+ displayFormat: 'default',
69
+ placeholder: 'e.g. 25/12/2024',
70
+ },
71
+ parameters: {
72
+ docs: {
73
+ description: {
74
+ story: 'The optional `placeholder` prop replaces the default hint.',
75
+ },
76
+ },
33
77
  },
34
78
  };
35
- export const ISOFormat = {
36
- name: 'ISO Format (yyyy-MM-dd)',
79
+ /** Friendly format with custom hint copy. */
80
+ export const PlaceholderFriendlyWithCustomCopy = {
81
+ name: 'Placeholder · friendly format, custom hint',
37
82
  args: {
38
- dateFormat: 'yyyy-MM-dd',
83
+ displayFormat: 'friendly',
84
+ placeholder: 'Choose a date…',
85
+ },
86
+ parameters: {
87
+ docs: {
88
+ description: {
89
+ story: '`displayFormat="friendly"` with a custom hint instead of **Pick a date**.',
90
+ },
91
+ },
39
92
  },
40
93
  };
41
94
  //# sourceMappingURL=DatePicker.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.stories.js","sourceRoot":"","sources":["../../../src/components/datePicker/DatePicker.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;KACnB;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE,EAAE;KACf;IACD,QAAQ,EAAE;QACR,UAAU,EAAE;YACV,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,0FAA0F;SACxG;QACD,SAAS,EAAE;YACT,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,4BAA4B;SAC1C;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,uGAAuG;SACrH;KACF;CACgC,CAAC;AAEpC,eAAe,IAAI,CAAC;AAGpB,MAAM,CAAC,MAAM,OAAO,GAAU,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,YAAY,GAAU;IACjC,IAAI,EAAE,6BAA6B;IACnC,IAAI,EAAE;QACJ,UAAU,EAAE,YAAY;KACzB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAU;IAC9B,IAAI,EAAE,yBAAyB;IAC/B,IAAI,EAAE;QACJ,UAAU,EAAE,YAAY;KACzB;CACF,CAAC"}
1
+ {"version":3,"file":"DatePicker.stories.js","sourceRoot":"","sources":["../../../src/components/datePicker/DatePicker.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,MAAM,IAAI,GAAG;IACX,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,UAAU;IACrB,UAAU,EAAE;QACV,KAAK,CAAC,EAAE,CAAC,CACP,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,YAC9C,KAAC,KAAK,KAAG,GACL,CACP;KACF;IACD,UAAU,EAAE;QACV,MAAM,EAAE,UAAU;QAClB,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,SAAS,EACP,yVAAyV;aAC5V;SACF;KACF;IACD,IAAI,EAAE,CAAC,UAAU,CAAC;IAClB,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE,EAAE;KACf;IACD,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;YAChC,WAAW,EAAE,wHAAwH;SACtI;QACD,WAAW,EAAE;YACX,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,6EAA6E;SAC3F;QACD,SAAS,EAAE;YACT,OAAO,EAAE,MAAM;YACf,WAAW,EAAE,4BAA4B;SAC1C;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,uGAAuG;SACrH;KACF;CACgC,CAAC;AAEpC,eAAe,IAAI,CAAC;AAGpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC5B,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,KAAK,EAAE,oEAAoE;aAC5E;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAU;IACnC,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE;QACJ,aAAa,EAAE,UAAU;KAC1B;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,KAAK,EAAE,yCAAyC;aACjD;SACF;KACF;CACF,CAAC;AAEF,4DAA4D;AAC5D,MAAM,CAAC,MAAM,yBAAyB,GAAU;IAC9C,IAAI,EAAE,2BAA2B;IACjC,IAAI,EAAE;QACJ,aAAa,EAAE,SAAS;QACxB,WAAW,EAAE,iBAAiB;KAC/B;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,KAAK,EAAE,4DAA4D;aACpE;SACF;KACF;CACF,CAAC;AAEF,6CAA6C;AAC7C,MAAM,CAAC,MAAM,iCAAiC,GAAU;IACtD,IAAI,EAAE,4CAA4C;IAClD,IAAI,EAAE;QACJ,aAAa,EAAE,UAAU;QACzB,WAAW,EAAE,gBAAgB;KAC9B;IACD,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,WAAW,EAAE;gBACX,KAAK,EAAE,2EAA2E;aACnF;SACF;KACF;CACF,CAAC"}
@@ -3,22 +3,60 @@ import { describe, expect, test, vi } from 'vitest';
3
3
  import { render, screen, within, fireEvent } from '@testing-library/react';
4
4
  import userEvent from '@testing-library/user-event';
5
5
  import '@testing-library/jest-dom/vitest';
6
- import { format } from 'date-fns';
7
6
  import { DatePicker } from './DatePicker';
7
+ import { formatNativeDateInputValue } from './dateInputUtils';
8
+ import { getDropdownTrigger } from './datePickerTestUtils.test-helpers';
9
+ const getDateField = (container) => container.querySelector('input[type="date"]');
8
10
  describe('DatePicker', () => {
9
- test('renders a text input', () => {
10
- render(_jsx(DatePicker, {}));
11
- expect(screen.getByRole('textbox')).toBeInTheDocument();
11
+ test('renders a date input', () => {
12
+ const { container } = render(_jsx(DatePicker, {}));
13
+ expect(getDateField(container)).toBeInTheDocument();
12
14
  });
13
15
  test('renders a calendar toggle button', () => {
14
16
  render(_jsx(DatePicker, {}));
15
- // Button has an icon with screenReaderText="date" (from iconLeftName fallback in Button/Icon)
16
17
  expect(screen.getByRole('button', { name: 'Open date picker' })).toBeInTheDocument();
17
18
  });
18
19
  test('day picker is hidden by default', () => {
19
20
  render(_jsx(DatePicker, {}));
20
21
  expect(screen.queryByRole('application')).not.toBeInTheDocument();
21
22
  });
23
+ test('shows empty-state hint copy when empty (native placeholder is unreliable)', () => {
24
+ const { container } = render(_jsx(DatePicker, {}));
25
+ expect(getDateField(container)).toHaveAttribute('placeholder', '');
26
+ expect(screen.getByText('DD/MM/YYYY')).toBeInTheDocument();
27
+ });
28
+ test('placeholder prop overrides the empty-state hint', () => {
29
+ const { container } = render(_jsx(DatePicker, { placeholder: "When?" }));
30
+ expect(getDateField(container)).toHaveAttribute('placeholder', '');
31
+ expect(screen.getByText('When?')).toBeInTheDocument();
32
+ });
33
+ test('friendly displayFormat changes the empty-state hint', () => {
34
+ const { container } = render(_jsx(DatePicker, { displayFormat: "friendly" }));
35
+ expect(getDateField(container)).toHaveAttribute('placeholder', '');
36
+ expect(screen.getByText('Pick a date')).toBeInTheDocument();
37
+ });
38
+ describe('custom placeholder empty state', () => {
39
+ test('uses read-only date input and opens the calendar on pointer down', () => {
40
+ const { container } = render(_jsx(DatePicker, { placeholder: "Pick one" }));
41
+ const input = getDateField(container);
42
+ expect(input.readOnly).toBe(true);
43
+ fireEvent.pointerDown(input);
44
+ expect(screen.getByRole('application')).toBeInTheDocument();
45
+ });
46
+ test('does not open the calendar on keyboard focus alone', () => {
47
+ const { container } = render(_jsx(DatePicker, { placeholder: "Pick one" }));
48
+ const input = getDateField(container);
49
+ fireEvent.focus(input);
50
+ expect(screen.queryByRole('application')).not.toBeInTheDocument();
51
+ });
52
+ test('opens the calendar when the field is activated with a click', async () => {
53
+ const user = userEvent.setup();
54
+ const { container } = render(_jsx(DatePicker, { placeholder: "Pick one" }));
55
+ const input = getDateField(container);
56
+ await user.click(input);
57
+ expect(screen.getByRole('application')).toBeInTheDocument();
58
+ });
59
+ });
22
60
  describe('calendar toggle', () => {
23
61
  test('clicking the button opens the day picker', async () => {
24
62
  render(_jsx(DatePicker, {}));
@@ -32,90 +70,138 @@ describe('DatePicker', () => {
32
70
  expect(screen.queryByRole('application')).not.toBeInTheDocument();
33
71
  });
34
72
  });
35
- describe('text input', () => {
36
- // Use fireEvent.change rather than userEvent.type the component's useEffect overwrites
37
- // inputValue state between individual keystrokes, which conflicts with userEvent's tracking.
38
- test('entering a valid date updates the input value', () => {
39
- render(_jsx(DatePicker, {}));
40
- fireEvent.change(screen.getByRole('textbox'), { target: { value: '15/06/2024' } });
41
- expect(screen.getByRole('textbox')).toHaveValue('15/06/2024');
42
- });
43
- test('entering a valid date calls onChange with the parsed Date', () => {
73
+ describe('date input', () => {
74
+ test('entering a valid ISO date updates the input value', () => {
75
+ const { container } = render(_jsx(DatePicker, {}));
76
+ const input = getDateField(container);
77
+ fireEvent.change(input, { target: { value: '2024-06-15' } });
78
+ expect(input).toHaveValue('2024-06-15');
79
+ });
80
+ test('entering a valid ISO date calls onChange with the parsed Date', () => {
44
81
  const onChange = vi.fn();
45
- render(_jsx(DatePicker, { onChange: onChange }));
46
- onChange.mockClear(); // ignore the initial mount call with undefined
47
- fireEvent.change(screen.getByRole('textbox'), { target: { value: '15/06/2024' } });
82
+ const { container } = render(_jsx(DatePicker, { onChange: onChange }));
83
+ const input = getDateField(container);
84
+ fireEvent.change(input, { target: { value: '2024-06-15' } });
85
+ expect(onChange).toHaveBeenCalledTimes(1);
48
86
  expect(onChange).toHaveBeenLastCalledWith(expect.any(Date));
49
87
  const lastDate = onChange.mock.lastCall[0];
50
88
  expect(lastDate.getFullYear()).toBe(2024);
51
- expect(lastDate.getMonth()).toBe(5); // June is month index 5
89
+ expect(lastDate.getMonth()).toBe(5);
52
90
  expect(lastDate.getDate()).toBe(15);
91
+ expect(lastDate.getHours()).toBe(0);
92
+ expect(lastDate.getMinutes()).toBe(0);
53
93
  });
54
- test('entering an invalid string after a valid date calls onChange with undefined', () => {
55
- // onChange is only fired by the useEffect when selectedDate actually changes.
56
- // So we first need a valid date to put selectedDate into a non-undefined state.
94
+ test('entering an invalid string calls onChange with undefined', () => {
57
95
  const onChange = vi.fn();
58
- render(_jsx(DatePicker, { onChange: onChange }));
59
- fireEvent.change(screen.getByRole('textbox'), { target: { value: '15/06/2024' } });
96
+ const { container } = render(_jsx(DatePicker, { onChange: onChange }));
97
+ const input = getDateField(container);
98
+ fireEvent.change(input, { target: { value: '2024-06-15' } });
60
99
  onChange.mockClear();
61
- fireEvent.change(screen.getByRole('textbox'), { target: { value: 'not-a-date' } });
100
+ fireEvent.change(input, { target: { value: 'not-a-date' } });
101
+ expect(onChange).toHaveBeenCalledTimes(1);
62
102
  expect(onChange).toHaveBeenLastCalledWith(undefined);
63
103
  });
64
104
  });
65
105
  describe('day picker selection', () => {
66
- // Avoid fake timers (incompatible with userEvent) by navigating the picker to a
67
- // known month via the text input before opening the calendar.
68
106
  test('selecting a date from the picker updates the input', async () => {
69
- render(_jsx(DatePicker, {}));
70
- // Navigate to June 2024 by entering a different day in that month
71
- fireEvent.change(screen.getByRole('textbox'), { target: { value: '01/06/2024' } });
107
+ const { container } = render(_jsx(DatePicker, {}));
108
+ fireEvent.change(getDateField(container), { target: { value: '2024-06-01' } });
72
109
  await userEvent.click(screen.getByRole('button', { name: 'Open date picker' }));
73
- // Day aria-labels use date-fns PPPP format e.g. "Thursday, June 20, 2024"
74
110
  await userEvent.click(within(screen.getByRole('application')).getByRole('button', { name: /June 20/ }));
75
- expect(screen.getByRole('textbox')).toHaveValue('20/06/2024');
111
+ expect(getDateField(container)).toHaveValue('2024-06-20');
76
112
  });
77
113
  test('selecting a date from the picker closes the picker', async () => {
78
- render(_jsx(DatePicker, {}));
79
- fireEvent.change(screen.getByRole('textbox'), { target: { value: '01/06/2024' } });
114
+ const { container } = render(_jsx(DatePicker, {}));
115
+ fireEvent.change(getDateField(container), { target: { value: '2024-06-01' } });
80
116
  await userEvent.click(screen.getByRole('button', { name: 'Open date picker' }));
81
117
  await userEvent.click(within(screen.getByRole('application')).getByRole('button', { name: /June 20/ }));
82
118
  expect(screen.queryByRole('application')).not.toBeInTheDocument();
83
119
  });
84
120
  test('selecting a date from the picker calls onChange with the selected date', async () => {
85
121
  const onChange = vi.fn();
86
- render(_jsx(DatePicker, { onChange: onChange }));
87
- fireEvent.change(screen.getByRole('textbox'), { target: { value: '01/06/2024' } });
122
+ const { container } = render(_jsx(DatePicker, { onChange: onChange }));
123
+ fireEvent.change(getDateField(container), { target: { value: '2024-06-01' } });
88
124
  onChange.mockClear();
89
125
  await userEvent.click(screen.getByRole('button', { name: 'Open date picker' }));
90
126
  await userEvent.click(within(screen.getByRole('application')).getByRole('button', { name: /June 20/ }));
91
127
  expect(onChange).toHaveBeenCalledWith(expect.any(Date));
92
128
  const lastDate = onChange.mock.lastCall[0];
93
129
  expect(lastDate.getFullYear()).toBe(2024);
94
- expect(lastDate.getMonth()).toBe(5); // June is month index 5
130
+ expect(lastDate.getMonth()).toBe(5);
95
131
  expect(lastDate.getDate()).toBe(20);
132
+ expect(lastDate.getHours()).toBe(0);
133
+ expect(lastDate.getMinutes()).toBe(0);
96
134
  });
97
- test('clicking the Today button selects today\'s date', async () => {
98
- render(_jsx(DatePicker, {}));
135
+ test('clicking the Today button sets today and closes the picker', async () => {
136
+ const { container } = render(_jsx(DatePicker, {}));
99
137
  await userEvent.click(screen.getByRole('button', { name: 'Open date picker' }));
100
138
  await userEvent.click(screen.getByRole('button', { name: 'Today' }));
101
- expect(screen.getByRole('textbox')).toHaveValue(format(new Date(), 'dd/MM/yyyy'));
139
+ expect(getDateField(container)).toHaveValue(formatNativeDateInputValue(new Date()));
140
+ expect(screen.queryByRole('application')).not.toBeInTheDocument();
102
141
  });
103
- test('clicking the Today button closes the picker', async () => {
104
- render(_jsx(DatePicker, {}));
142
+ test('opening the picker after typing a valid value syncs the month and year controls', async () => {
143
+ const { container } = render(_jsx(DatePicker, {}));
144
+ fireEvent.change(getDateField(container), { target: { value: '2024-06-01' } });
105
145
  await userEvent.click(screen.getByRole('button', { name: 'Open date picker' }));
106
- await userEvent.click(screen.getByRole('button', { name: 'Today' }));
107
- expect(screen.queryByRole('application')).not.toBeInTheDocument();
146
+ expect(getDropdownTrigger(/June/i)).toBeInTheDocument();
147
+ expect(getDropdownTrigger(/2024/i)).toBeInTheDocument();
148
+ });
149
+ test('changing the custom month select updates the displayed calendar month', async () => {
150
+ const user = userEvent.setup();
151
+ const { container } = render(_jsx(DatePicker, { value: new Date(2024, 5, 15) }));
152
+ await user.click(screen.getByRole('button', { name: 'Open date picker' }));
153
+ await user.click(getDropdownTrigger(/June/i));
154
+ await user.click(screen.getByText('July'));
155
+ expect(getDropdownTrigger(/July/i)).toBeInTheDocument();
156
+ expect(within(screen.getByRole('application')).getByRole('button', { name: /July 15/ })).toBeInTheDocument();
157
+ expect(getDateField(container)).toHaveValue(formatNativeDateInputValue(new Date(2024, 5, 15)));
158
+ });
159
+ });
160
+ describe('defaultValue prop', () => {
161
+ test('renders with the defaultValue when no value is provided', () => {
162
+ const { container } = render(_jsx(DatePicker, { defaultValue: new Date(2024, 5, 15) }));
163
+ expect(getDateField(container)).toHaveValue(formatNativeDateInputValue(new Date(2024, 5, 15)));
164
+ });
165
+ test('value prop takes precedence over defaultValue', () => {
166
+ const { container } = render(_jsx(DatePicker, { value: new Date(2024, 11, 25), defaultValue: new Date(2024, 5, 15) }));
167
+ expect(getDateField(container)).toHaveValue(formatNativeDateInputValue(new Date(2024, 11, 25)));
168
+ });
169
+ test('does not call onChange on mount with defaultValue', () => {
170
+ const onChange = vi.fn();
171
+ render(_jsx(DatePicker, { defaultValue: new Date(2024, 5, 15), onChange: onChange }));
172
+ expect(onChange).not.toHaveBeenCalled();
173
+ });
174
+ });
175
+ describe('onChange call-count correctness', () => {
176
+ test('does not call onChange on mount', () => {
177
+ const onChange = vi.fn();
178
+ render(_jsx(DatePicker, { onChange: onChange }));
179
+ expect(onChange).not.toHaveBeenCalled();
180
+ });
181
+ test('does not call onChange on mount with an initial value', () => {
182
+ const onChange = vi.fn();
183
+ render(_jsx(DatePicker, { value: new Date(2024, 5, 15), onChange: onChange }));
184
+ expect(onChange).not.toHaveBeenCalled();
185
+ });
186
+ test('calls onChange exactly once per user interaction', async () => {
187
+ const onChange = vi.fn();
188
+ const { container } = render(_jsx(DatePicker, { onChange: onChange }));
189
+ fireEvent.change(getDateField(container), { target: { value: '2024-06-15' } });
190
+ expect(onChange).toHaveBeenCalledTimes(1);
191
+ await userEvent.click(screen.getByRole('button', { name: 'Open date picker' }));
192
+ await userEvent.click(within(screen.getByRole('application')).getByRole('button', { name: /June 20/ }));
193
+ expect(onChange).toHaveBeenCalledTimes(2);
108
194
  });
109
195
  });
110
196
  describe('controlled value prop', () => {
111
197
  test('renders with the initial value', () => {
112
- render(_jsx(DatePicker, { value: new Date(2024, 5, 15) }));
113
- expect(screen.getByRole('textbox')).toHaveValue('15/06/2024');
198
+ const { container } = render(_jsx(DatePicker, { value: new Date(2024, 5, 15) }));
199
+ expect(getDateField(container)).toHaveValue(formatNativeDateInputValue(new Date(2024, 5, 15)));
114
200
  });
115
201
  test('updates the input when value prop changes', () => {
116
- const { rerender } = render(_jsx(DatePicker, { value: new Date(2024, 5, 15) }));
202
+ const { container, rerender } = render(_jsx(DatePicker, { value: new Date(2024, 5, 15) }));
117
203
  rerender(_jsx(DatePicker, { value: new Date(2024, 11, 25) }));
118
- expect(screen.getByRole('textbox')).toHaveValue('25/12/2024');
204
+ expect(getDateField(container)).toHaveValue(formatNativeDateInputValue(new Date(2024, 11, 25)));
119
205
  });
120
206
  test('does not call onChange when value prop changes externally', () => {
121
207
  const onChange = vi.fn();
@@ -128,7 +214,6 @@ describe('DatePicker', () => {
128
214
  const onChange = vi.fn();
129
215
  render(_jsx(DatePicker, { value: new Date(2024, 5, 15), onChange: onChange }));
130
216
  onChange.mockClear();
131
- // Navigate to June 2024 (already set via value) and pick a different day
132
217
  await userEvent.click(screen.getByRole('button', { name: 'Open date picker' }));
133
218
  await userEvent.click(within(screen.getByRole('application')).getByRole('button', { name: /June 20/ }));
134
219
  expect(onChange).toHaveBeenCalledWith(expect.any(Date));
@@ -136,23 +221,5 @@ describe('DatePicker', () => {
136
221
  expect(lastDate.getDate()).toBe(20);
137
222
  });
138
223
  });
139
- describe('custom dateFormat prop', () => {
140
- test('formats the value according to the custom format', () => {
141
- render(_jsx(DatePicker, { dateFormat: "yyyy-MM-dd" }));
142
- fireEvent.change(screen.getByRole('textbox'), { target: { value: '2024-06-15' } });
143
- expect(screen.getByRole('textbox')).toHaveValue('2024-06-15');
144
- });
145
- test('calls onChange with the correctly parsed date for a custom format', () => {
146
- const onChange = vi.fn();
147
- render(_jsx(DatePicker, { dateFormat: "MM/dd/yyyy", onChange: onChange }));
148
- onChange.mockClear();
149
- fireEvent.change(screen.getByRole('textbox'), { target: { value: '06/15/2024' } });
150
- expect(onChange).toHaveBeenLastCalledWith(expect.any(Date));
151
- const lastDate = onChange.mock.lastCall[0];
152
- expect(lastDate.getFullYear()).toBe(2024);
153
- expect(lastDate.getMonth()).toBe(5); // June
154
- expect(lastDate.getDate()).toBe(15);
155
- });
156
- });
157
224
  });
158
225
  //# sourceMappingURL=DatePicker.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.test.js","sourceRoot":"","sources":["../../../src/components/datePicker/DatePicker.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.test.js","sourceRoot":"","sources":["../../../src/components/datePicker/DatePicker.test.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ type DatePickerCalendarHeaderProps = {
2
+ month: Date;
3
+ onMonthChange: (month: Date) => void;
4
+ className?: string;
5
+ };
6
+ export declare const DatePickerCalendarHeader: ({ month, onMonthChange, className, }: DatePickerCalendarHeaderProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=DatePickerCalendarHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePickerCalendarHeader.d.ts","sourceRoot":"","sources":["../../../src/components/datePicker/DatePickerCalendarHeader.tsx"],"names":[],"mappings":"AAMA,KAAK,6BAA6B,GAAG;IACnC,KAAK,EAAE,IAAI,CAAC;IACZ,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAOF,eAAO,MAAM,wBAAwB,GAAI,sCAItC,6BAA6B,4CA4D/B,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import classNames from 'classnames';
3
+ import { SelectDropdown } from '../formField/inputs/selectDropdown/SelectDropdown';
4
+ import { Icon } from '../icon/Icon';
5
+ import { addMonths, format } from 'date-fns';
6
+ import { useMemo } from 'react';
7
+ const monthOptions = Array.from({ length: 12 }, (_, index) => ({
8
+ label: format(new Date(2000, index, 1), 'MMMM'),
9
+ value: String(index),
10
+ }));
11
+ export const DatePickerCalendarHeader = ({ month, onMonthChange, className, }) => {
12
+ // Computed once per mount ([]): anchor year is the calendar header mount time, not the month being viewed
13
+ // nor a controlled value's year. Remounting when the popover opens keeps this practical; edge cases include
14
+ // a very long-lived mount across New Year's, or a controlled date far outside mountYear ± 100 until remount.
15
+ const yearOptions = useMemo(() => {
16
+ const thisYear = new Date().getFullYear();
17
+ return Array.from({ length: 201 }, (_, index) => {
18
+ const year = thisYear - 100 + index;
19
+ return { label: String(year), value: String(year) };
20
+ });
21
+ }, []);
22
+ const handleMonthSelection = (selectedValues) => {
23
+ const nextMonthIndex = Number.parseInt(selectedValues[0] ?? String(month.getMonth()), 10);
24
+ if (Number.isNaN(nextMonthIndex))
25
+ return;
26
+ onMonthChange(new Date(month.getFullYear(), nextMonthIndex, 1));
27
+ };
28
+ const handleYearSelection = (selectedValues) => {
29
+ const nextYear = Number.parseInt(selectedValues[0] ?? String(month.getFullYear()), 10);
30
+ if (Number.isNaN(nextYear))
31
+ return;
32
+ onMonthChange(new Date(nextYear, month.getMonth(), 1));
33
+ };
34
+ return (_jsxs("div", { className: classNames('ds-date-picker-calendar-header', className), children: [_jsxs("div", { className: "ds-date-picker-calendar-header__selectors", children: [_jsx(SelectDropdown, { options: monthOptions, selectedValues: [String(month.getMonth())], onSelectionChange: handleMonthSelection }), _jsx(SelectDropdown, { options: yearOptions, selectedValues: [String(month.getFullYear())], onSelectionChange: handleYearSelection })] }), _jsxs("div", { className: "ds-date-picker-calendar-header__nav", children: [_jsx("button", { type: "button", className: "ds-date-picker-calendar-header__nav-button", "aria-label": "Go to the Previous Month", onClick: () => onMonthChange(addMonths(month, -1)), children: _jsx(Icon, { name: "chevron-left", size: 16 }) }), _jsx("button", { type: "button", className: "ds-date-picker-calendar-header__nav-button", "aria-label": "Go to the Next Month", onClick: () => onMonthChange(addMonths(month, 1)), children: _jsx(Icon, { name: "chevron-right", size: 16 }) })] })] }));
35
+ };
36
+ //# sourceMappingURL=DatePickerCalendarHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DatePickerCalendarHeader.js","sourceRoot":"","sources":["../../../src/components/datePicker/DatePickerCalendarHeader.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { TimeGranularity, TimeValue } from '../formField/inputs/time/TimeInput';
2
+ export type DateDisplayFormat = 'default' | 'friendly';
3
+ /** `DateTimePicker` only: `native` uses `datetime-local`; `default` / `friendly` use `type="text"` with formatted date+time strings. */
4
+ export type DateTimePickerDisplayFormat = DateDisplayFormat | 'native';
5
+ export declare const getDateFormatString: (displayFormat?: DateDisplayFormat) => string;
6
+ export declare const getTimeFormatString: (granularity: TimeGranularity) => "HH:mm:ss" | "HH:mm";
7
+ export declare const getDateTimeFormatString: (displayFormat?: DateDisplayFormat, granularity?: TimeGranularity) => string;
8
+ export declare const getDatePlaceholder: (displayFormat?: DateDisplayFormat) => string;
9
+ export declare const getDateTimePlaceholder: (displayFormat?: DateDisplayFormat, granularity?: TimeGranularity) => string;
10
+ /** Placeholder hint for native `datetime-local` values (not tied to `displayFormat`). */
11
+ export declare const getNativeDateTimePlaceholder: (granularity?: TimeGranularity) => "YYYY-MM-DDTHH:mm:ss" | "YYYY-MM-DDTHH:mm";
12
+ /** Placeholder hint for native `type="date"` (`DatePicker`). */
13
+ export declare const getNativeDatePlaceholder: () => string;
14
+ export declare const formatNativeDateInputValue: (value: Date) => string;
15
+ export declare const parseNativeDateInputValue: (value: string) => Date | undefined;
16
+ export declare const getNativeDateTimeFormatString: (granularity?: TimeGranularity) => "yyyy-MM-dd'T'HH:mm:ss" | "yyyy-MM-dd'T'HH:mm";
17
+ export declare const parseDateInputValue: (value: string, displayFormat?: DateDisplayFormat) => Date | undefined;
18
+ export declare const parseDateTimeInputValue: (value: string, displayFormat?: DateDisplayFormat, granularity?: TimeGranularity) => Date | undefined;
19
+ export declare const parseNativeDateTimeInputValue: (value: string, granularity?: TimeGranularity) => Date | undefined;
20
+ export declare const formatDateInputValue: (value: Date, displayFormat?: DateDisplayFormat) => string;
21
+ export declare const formatDateTimeInputValue: (value: Date, displayFormat?: DateDisplayFormat, granularity?: TimeGranularity) => string;
22
+ export declare const formatNativeDateTimeInputValue: (value: Date, granularity?: TimeGranularity) => string;
23
+ export declare const formatTimeInputValue: (value: Date, granularity: TimeGranularity) => TimeValue;
24
+ export declare const mergeDateAndTime: (date: Date, timeValue: string, granularity: TimeGranularity) => Date;
25
+ //# sourceMappingURL=dateInputUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateInputUtils.d.ts","sourceRoot":"","sources":["../../../src/components/datePicker/dateInputUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,4CAA4C,CAAC;AAG7F,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,CAAC;AAEvD,wIAAwI;AACxI,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,GAAG,QAAQ,CAAC;AAcvE,eAAO,MAAM,mBAAmB,GAAI,gBAAe,iBAA6B,WAAwC,CAAC;AAEzH,eAAO,MAAM,mBAAmB,GAAI,aAAa,eAAe,yBAE/D,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,gBAAe,iBAA6B,EAC5C,cAAa,eAA0B,WACuC,CAAC;AAEjF,eAAO,MAAM,kBAAkB,GAAI,gBAAe,iBAA6B,WAAqC,CAAC;AAErH,eAAO,MAAM,sBAAsB,GACjC,gBAAe,iBAA6B,EAC5C,cAAa,eAA0B,WAQxC,CAAC;AAEF,yFAAyF;AACzF,eAAO,MAAM,4BAA4B,GAAI,cAAa,eAA0B,+CAEnF,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,wBAAwB,cAAqB,CAAC;AAI3D,eAAO,MAAM,0BAA0B,GAAI,OAAO,IAAI,WAAsC,CAAC;AAE7F,eAAO,MAAM,yBAAyB,GAAI,OAAO,MAAM,KAAG,IAAI,GAAG,SAGhE,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,cAAa,eAA0B,mDAEpF,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,EAAE,gBAAe,iBAA6B,KAAG,IAAI,GAAG,SAGxG,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,OAAO,MAAM,EACb,gBAAe,iBAA6B,EAC5C,cAAa,eAA0B,KACtC,IAAI,GAAG,SAGT,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,OAAO,MAAM,EACb,cAAa,eAA0B,KACtC,IAAI,GAAG,SAGT,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,OAAO,IAAI,EAAE,gBAAe,iBAA6B,WAE7F,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,OAAO,IAAI,EACX,gBAAe,iBAA6B,EAC5C,cAAa,eAA0B,WAC8B,CAAC;AAExE,eAAO,MAAM,8BAA8B,GACzC,OAAO,IAAI,EACX,cAAa,eAA0B,WACqB,CAAC;AAE/D,eAAO,MAAM,oBAAoB,GAAI,OAAO,IAAI,EAAE,aAAa,eAAe,KAAG,SAEhF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,IAAI,EAAE,WAAW,MAAM,EAAE,aAAa,eAAe,KAAG,IAS9F,CAAC"}
@@ -0,0 +1,60 @@
1
+ import { format, isValid, parse, startOfDay } from 'date-fns';
2
+ /** Date format. */
3
+ const DATE_FORMAT_PATTERNS = {
4
+ default: 'dd/MM/yyyy',
5
+ friendly: 'MMMM do, yyyy',
6
+ };
7
+ /** Placeholder copy for each DATE_FORMAT_PATTERNS. */
8
+ const DATE_PLACEHOLDERS = {
9
+ default: 'DD/MM/YYYY',
10
+ friendly: 'Pick a date',
11
+ };
12
+ export const getDateFormatString = (displayFormat = 'default') => DATE_FORMAT_PATTERNS[displayFormat];
13
+ export const getTimeFormatString = (granularity) => (granularity === 'second' ? 'HH:mm:ss' : 'HH:mm');
14
+ export const getDateTimeFormatString = (displayFormat = 'default', granularity = 'minute') => `${getDateFormatString(displayFormat)} ${getTimeFormatString(granularity)}`;
15
+ export const getDatePlaceholder = (displayFormat = 'default') => DATE_PLACEHOLDERS[displayFormat];
16
+ export const getDateTimePlaceholder = (displayFormat = 'default', granularity = 'minute') => {
17
+ const timeHint = granularity === 'second' ? 'HH:mm:ss' : 'HH:mm';
18
+ const dateHint = getDatePlaceholder(displayFormat);
19
+ if (displayFormat === 'friendly') {
20
+ return `${dateHint}, ${timeHint}`;
21
+ }
22
+ return `${dateHint} ${timeHint}`;
23
+ };
24
+ /** Placeholder hint for native `datetime-local` values (not tied to `displayFormat`). */
25
+ export const getNativeDateTimePlaceholder = (granularity = 'minute') => (granularity === 'second' ? 'YYYY-MM-DDTHH:mm:ss' : 'YYYY-MM-DDTHH:mm');
26
+ /** Placeholder hint for native `type="date"` (`DatePicker`). */
27
+ export const getNativeDatePlaceholder = () => 'YYYY-MM-DD';
28
+ const NATIVE_DATE_FORMAT = 'yyyy-MM-dd';
29
+ export const formatNativeDateInputValue = (value) => format(value, NATIVE_DATE_FORMAT);
30
+ export const parseNativeDateInputValue = (value) => {
31
+ const parsedDate = parse(value, NATIVE_DATE_FORMAT, new Date());
32
+ return isValid(parsedDate) ? startOfDay(parsedDate) : undefined;
33
+ };
34
+ export const getNativeDateTimeFormatString = (granularity = 'minute') => (granularity === 'second' ? "yyyy-MM-dd'T'HH:mm:ss" : "yyyy-MM-dd'T'HH:mm");
35
+ export const parseDateInputValue = (value, displayFormat = 'default') => {
36
+ const parsedDate = parse(value, getDateFormatString(displayFormat), new Date());
37
+ return isValid(parsedDate) ? startOfDay(parsedDate) : undefined;
38
+ };
39
+ export const parseDateTimeInputValue = (value, displayFormat = 'default', granularity = 'minute') => {
40
+ const parsedDate = parse(value, getDateTimeFormatString(displayFormat, granularity), new Date());
41
+ return isValid(parsedDate) ? parsedDate : undefined;
42
+ };
43
+ export const parseNativeDateTimeInputValue = (value, granularity = 'minute') => {
44
+ const parsedDate = parse(value, getNativeDateTimeFormatString(granularity), new Date());
45
+ return isValid(parsedDate) ? parsedDate : undefined;
46
+ };
47
+ export const formatDateInputValue = (value, displayFormat = 'default') => (format(value, getDateFormatString(displayFormat)));
48
+ export const formatDateTimeInputValue = (value, displayFormat = 'default', granularity = 'minute') => format(value, getDateTimeFormatString(displayFormat, granularity));
49
+ export const formatNativeDateTimeInputValue = (value, granularity = 'minute') => format(value, getNativeDateTimeFormatString(granularity));
50
+ export const formatTimeInputValue = (value, granularity) => format(value, getTimeFormatString(granularity));
51
+ export const mergeDateAndTime = (date, timeValue, granularity) => {
52
+ const [rawHours = '0', rawMinutes = '0', rawSeconds = '0'] = timeValue.split(':');
53
+ const hours = Number.parseInt(rawHours, 10) || 0;
54
+ const minutes = Number.parseInt(rawMinutes, 10) || 0;
55
+ const seconds = granularity === 'second' ? (Number.parseInt(rawSeconds, 10) || 0) : 0;
56
+ const merged = new Date(date);
57
+ merged.setHours(hours, minutes, seconds, 0);
58
+ return merged;
59
+ };
60
+ //# sourceMappingURL=dateInputUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateInputUtils.js","sourceRoot":"","sources":["../../../src/components/datePicker/dateInputUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const getDropdownTrigger: (name: RegExp) => HTMLElement | undefined;
2
+ //# sourceMappingURL=datePickerTestUtils.test-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"datePickerTestUtils.test-helpers.d.ts","sourceRoot":"","sources":["../../../src/components/datePicker/datePickerTestUtils.test-helpers.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,4BAE9C,CAAC"}