@cwellt_software/cwellt-reactjs-lib 1.6.0 → 1.6.2

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 (77) hide show
  1. package/dist/content/icons/IconLibrary.stories.tsx +18 -18
  2. package/dist/index.cjs.js +301 -196
  3. package/dist/index.css +2 -2
  4. package/dist/index.d.ts +78 -35
  5. package/dist/index.es.js +301 -196
  6. package/dist/src/common/functions/colorManipulation.d.ts.map +1 -1
  7. package/dist/src/common/interfaces/CwDataAttributes.d.ts +5 -0
  8. package/dist/src/common/interfaces/CwDataAttributes.d.ts.map +1 -0
  9. package/dist/src/components/control/action/button/CwButtonSwitch.d.ts +3 -3
  10. package/dist/src/components/control/action/button/CwButtonSwitch.d.ts.map +1 -1
  11. package/dist/src/components/control/action/search/CwSearchAsync.d.ts +7 -1
  12. package/dist/src/components/control/action/search/CwSearchAsync.d.ts.map +1 -1
  13. package/dist/src/components/control/action/search/CwSearchAsync.stories.d.ts +28 -0
  14. package/dist/src/components/control/action/search/CwSearchAsync.stories.d.ts.map +1 -1
  15. package/dist/src/components/control/choice/tree-view/CwTreeView.d.ts +4 -4
  16. package/dist/src/components/control/choice/tree-view/CwTreeView.d.ts.map +1 -1
  17. package/dist/src/components/control/choice/tree-view/CwTreeView.stories.d.ts +5 -7
  18. package/dist/src/components/control/choice/tree-view/CwTreeView.stories.d.ts.map +1 -1
  19. package/dist/src/components/control/input/new-dates/CwDatePicker.d.ts +3 -2
  20. package/dist/src/components/control/input/new-dates/CwDatePicker.d.ts.map +1 -1
  21. package/dist/src/components/control/input/new-dates/CwDatePicker.stories.d.ts +5 -1
  22. package/dist/src/components/control/input/new-dates/CwDatePicker.stories.d.ts.map +1 -1
  23. package/dist/src/components/control/input/new-dates/CwDatePickerTemporal.d.ts +3 -2
  24. package/dist/src/components/control/input/new-dates/CwDatePickerTemporal.d.ts.map +1 -1
  25. package/dist/src/components/control/input/new-dates/CwDateRangePicker.d.ts +8 -2
  26. package/dist/src/components/control/input/new-dates/CwDateRangePicker.d.ts.map +1 -1
  27. package/dist/src/components/control/input/new-dates/CwDateRangePicker.stories.d.ts +10 -12
  28. package/dist/src/components/control/input/new-dates/CwDateRangePicker.stories.d.ts.map +1 -1
  29. package/dist/src/components/control/input/new-dates/CwDateRangePickerTemporal.d.ts +8 -2
  30. package/dist/src/components/control/input/new-dates/CwDateRangePickerTemporal.d.ts.map +1 -1
  31. package/dist/src/components/control/input/new-dates/CwDateTimePicker.d.ts +8 -2
  32. package/dist/src/components/control/input/new-dates/CwDateTimePicker.d.ts.map +1 -1
  33. package/dist/src/components/control/input/new-dates/CwDateTimePicker.stories.d.ts +12 -12
  34. package/dist/src/components/control/input/new-dates/CwDateTimePicker.stories.d.ts.map +1 -1
  35. package/dist/src/components/control/input/new-dates/CwDateTimePickerCompact.d.ts +8 -2
  36. package/dist/src/components/control/input/new-dates/CwDateTimePickerCompact.d.ts.map +1 -1
  37. package/dist/src/components/control/input/new-dates/CwDateTimePickerTemporal.d.ts +8 -2
  38. package/dist/src/components/control/input/new-dates/CwDateTimePickerTemporal.d.ts.map +1 -1
  39. package/dist/src/components/control/input/new-dates/CwTimePicker.d.ts +8 -2
  40. package/dist/src/components/control/input/new-dates/CwTimePicker.d.ts.map +1 -1
  41. package/dist/src/components/control/input/new-dates/CwTimePicker.stories.d.ts +15 -13
  42. package/dist/src/components/control/input/new-dates/CwTimePicker.stories.d.ts.map +1 -1
  43. package/dist/src/components/control/input/new-dates/datePickerHelpers.d.ts +10 -0
  44. package/dist/src/components/control/input/new-dates/datePickerHelpers.d.ts.map +1 -1
  45. package/dist/src/components/control/input/weekday/CwWeekdaySelector.d.ts +2 -1
  46. package/dist/src/components/control/input/weekday/CwWeekdaySelector.d.ts.map +1 -1
  47. package/dist/src/components/control/input/weekday/CwWeekdaySelector.stories.d.ts +3 -0
  48. package/dist/src/components/control/input/weekday/CwWeekdaySelector.stories.d.ts.map +1 -1
  49. package/dist/src/components/custom/scheduler-new/presentation/NewScheduler.d.ts +2 -1
  50. package/dist/src/components/custom/scheduler-new/presentation/NewScheduler.d.ts.map +1 -1
  51. package/dist/src/components/custom/scheduler-new/presentation/Scheduler.stories.d.ts +5 -1
  52. package/dist/src/components/custom/scheduler-new/presentation/Scheduler.stories.d.ts.map +1 -1
  53. package/dist/src/components/custom/scheduler-new/presentation/components/row/Event.d.ts.map +1 -1
  54. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/DivisionLine.d.ts.map +1 -1
  55. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/TimeLine.d.ts.map +1 -1
  56. package/dist/src/components/custom/scheduler-new/presentation/components/timeline/WeekEndLine.d.ts.map +1 -1
  57. package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsToInnerRows.d.ts +1 -1
  58. package/dist/src/components/custom/scheduler-new/presentation/logic/separateEventsToInnerRows.d.ts.map +1 -1
  59. package/dist/src/components/display/data/table/CwTable.stories.d.ts +2 -0
  60. package/dist/src/components/display/data/table/CwTable.stories.d.ts.map +1 -1
  61. package/dist/src/components/display/graphics/progress/CwProgress.d.ts +13 -8
  62. package/dist/src/components/display/graphics/progress/CwProgress.d.ts.map +1 -1
  63. package/dist/src/components/display/graphics/progress/CwProgress.stories.d.ts +21 -5
  64. package/dist/src/components/display/graphics/progress/CwProgress.stories.d.ts.map +1 -1
  65. package/dist/src/components/display/text/badge/CwBadge.d.ts +9 -1
  66. package/dist/src/components/display/text/badge/CwBadge.d.ts.map +1 -1
  67. package/dist/src/components/display/text/badge/CwBadge.stories.d.ts +5 -0
  68. package/dist/src/components/display/text/badge/CwBadge.stories.d.ts.map +1 -1
  69. package/dist/src/index.d.ts +2 -1
  70. package/dist/src/index.d.ts.map +1 -1
  71. package/dist/src/storybook/pickerStoryArgs.d.ts +2 -18
  72. package/dist/src/storybook/pickerStoryArgs.d.ts.map +1 -1
  73. package/dist/test/common/functions/colorManipulation.test.d.ts +2 -0
  74. package/dist/test/common/functions/colorManipulation.test.d.ts.map +1 -0
  75. package/dist/test/components/custom/new-scheduler/presentation/logic/separateEventsToInnerRows.test.d.ts +2 -0
  76. package/dist/test/components/custom/new-scheduler/presentation/logic/separateEventsToInnerRows.test.d.ts.map +1 -0
  77. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"colorManipulation.d.ts","sourceRoot":"","sources":["../../../../src/common/functions/colorManipulation.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,MAAM,CAAC;AAwCzB,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAOpD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAGxE;AA0BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA2C1D"}
1
+ {"version":3,"file":"colorManipulation.d.ts","sourceRoot":"","sources":["../../../../src/common/functions/colorManipulation.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,MAAM,CAAC;AA4CzB,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAkBpD;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAGxE;AA0BD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CA2C1D"}
@@ -0,0 +1,5 @@
1
+ /** Any `data-*` attribute (`data-testid`, `data-tour`, ...), forwarded to a component's root element. */
2
+ export type CwDataAttributes = {
3
+ [key: `data-${string}`]: string | number | boolean | undefined;
4
+ };
5
+ //# sourceMappingURL=CwDataAttributes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CwDataAttributes.d.ts","sourceRoot":"","sources":["../../../../src/common/interfaces/CwDataAttributes.ts"],"names":[],"mappings":"AAAA,yGAAyG;AACzG,MAAM,MAAM,gBAAgB,GAAG;IAC9B,CAAC,GAAG,EAAE,QAAQ,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CAC/D,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { CwDataAttributes } from "../../../../common/interfaces/CwDataAttributes";
1
2
  export interface CwButtonSwitchOption {
2
3
  /** Value sent to onChange */
3
4
  value: string;
@@ -8,7 +9,7 @@ export interface CwButtonSwitchOption {
8
9
  /** Disables this specific segment */
9
10
  disabled?: boolean;
10
11
  }
11
- export interface CwButtonSwitchProps {
12
+ export interface CwButtonSwitchProps extends CwDataAttributes {
12
13
  /** Options rendered as joined segments */
13
14
  options: CwButtonSwitchOption[];
14
15
  /** Currently selected value */
@@ -33,7 +34,6 @@ export interface CwButtonSwitchProps {
33
34
  "aria-label"?: string;
34
35
  /** Accessible name for the radiogroup (there is no visible label on this inline control). */
35
36
  "aria-labelledby"?: string;
36
- "data-testid"?: string;
37
37
  }
38
38
  /**
39
39
  * CwButtonSwitch - Segmented single-select control: a strip of joined CwButtons.
@@ -61,5 +61,5 @@ export interface CwButtonSwitchProps {
61
61
  * onChange={setView}
62
62
  * />
63
63
  */
64
- export declare function CwButtonSwitch({ options, value, onChange, size, color, iconOnly, direction, disabled, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "data-testid": dataTestId, }: CwButtonSwitchProps): import("react").JSX.Element;
64
+ export declare function CwButtonSwitch({ options, value, onChange, size, color, iconOnly, direction, disabled, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, ...dataAttributes }: CwButtonSwitchProps): import("react").JSX.Element;
65
65
  //# sourceMappingURL=CwButtonSwitch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwButtonSwitch.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/action/button/CwButtonSwitch.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,oBAAoB;IACpC,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IACnC,0CAA0C;IAC1C,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,sHAAsH;IACtH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAe,EACf,KAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAChB,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,aAAa,EAAE,UAAU,GACzB,EAAE,mBAAmB,+BAqCrB"}
1
+ {"version":3,"file":"CwButtonSwitch.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/action/button/CwButtonSwitch.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAGvF,MAAM,WAAW,oBAAoB;IACpC,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC5D,0CAA0C;IAC1C,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,mBAAmB;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,sHAAsH;IACtH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,6FAA6F;IAC7F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAe,EACf,KAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,QAAgB,EAChB,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,GAAG,cAAc,EACjB,EAAE,mBAAmB,+BAqCrB"}
@@ -1,4 +1,6 @@
1
1
  import React from "react";
2
+ import type { CwDataAttributes } from "../../../../common/interfaces/CwDataAttributes";
3
+ import type { CwInputFeedback } from "../../../../common/interfaces/CwFormTypes";
2
4
  import { type CwIconProps } from "../../../../components/display/graphics/icon/CwIcon";
3
5
  import { type CwLabelProps } from "../../../../components/display/text/label/CwLabel";
4
6
  import { type CwAlignProps } from "../../../../components/layout/align/CwAlign";
@@ -27,7 +29,7 @@ export interface CwSearchAsyncOption {
27
29
  data?: unknown;
28
30
  }
29
31
  /** Props for {@link CwSearchAsync}. */
30
- export interface CwSearchAsyncProps {
32
+ export interface CwSearchAsyncProps extends CwDataAttributes {
31
33
  /**
32
34
  * Runs on each debounced keystroke once `text.length >= minChars`. Receives an
33
35
  * `AbortSignal` — forward it to `fetch` so the engine can cancel superseded requests.
@@ -79,6 +81,10 @@ export interface CwSearchAsyncProps {
79
81
  /** Fixed CSS width for the input wrapper, e.g. `"400px"`. */
80
82
  width?: string;
81
83
  className?: string;
84
+ /** Feedback messages shown below the input; accepts a single message or an array for multiple
85
+ * @example feedback={{ type: "danger", message: "Select a city from the list" }}
86
+ */
87
+ feedback?: CwInputFeedback | CwInputFeedback[];
82
88
  }
83
89
  /**
84
90
  * Generic API-backed search input. Fetches matching options from a caller-supplied `onSearch`
@@ -1 +1 @@
1
- {"version":3,"file":"CwSearchAsync.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/action/search/CwSearchAsync.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAI/E,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,6CAA6C,CAAC;AACzF,OAAO,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC;;;OAGG;IACH,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IAClC;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChF,4EAA4E;IAC5E,QAAQ,EAAE,CAAC,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD;;;OAGG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxG;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxG,uFAAuF;IACvF,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,uDAAuD;IACvD,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqVtD,CAAC"}
1
+ {"version":3,"file":"CwSearchAsync.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/action/search/CwSearchAsync.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAE/E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAGjF,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAC/F,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAEzF,OAAO,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC;;;OAGG;IACH,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,uCAAuC;AACvC,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC3D;;;;OAIG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAChF,4EAA4E;IAC5E,QAAQ,EAAE,CAAC,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD;;;OAGG;IACH,KAAK,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxG;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxG,uFAAuF;IACvF,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,uDAAuD;IACvD,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwWtD,CAAC"}
@@ -5,6 +5,10 @@ interface Args extends CwSearchAsyncProps {
5
5
  label: string;
6
6
  /** Story-only: alignProps.flexDirection */
7
7
  direction: "row" | "column";
8
+ /** Story-only: feedback.type, none for no message */
9
+ feedbackType: "none" | "danger" | "warning" | "success" | "info" | "neutral";
10
+ /** Story-only: feedback.message */
11
+ feedbackMessage: string;
8
12
  }
9
13
  declare const meta: {
10
14
  title: string;
@@ -20,6 +24,8 @@ declare const meta: {
20
24
  disabled: false;
21
25
  required: false;
22
26
  width: string;
27
+ feedbackType: "none";
28
+ feedbackMessage: string;
23
29
  };
24
30
  argTypes: {
25
31
  label: {
@@ -37,12 +43,28 @@ declare const meta: {
37
43
  category: string;
38
44
  };
39
45
  };
46
+ feedbackType: {
47
+ control: "select";
48
+ options: string[];
49
+ table: {
50
+ category: string;
51
+ };
52
+ };
53
+ feedbackMessage: {
54
+ control: "text";
55
+ table: {
56
+ category: string;
57
+ };
58
+ };
40
59
  labelProps: {
41
60
  control: false;
42
61
  };
43
62
  alignProps: {
44
63
  control: false;
45
64
  };
65
+ feedback: {
66
+ control: false;
67
+ };
46
68
  icon: {
47
69
  control: false;
48
70
  };
@@ -63,8 +85,11 @@ declare const meta: {
63
85
  };
64
86
  };
65
87
  decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
88
+ [x: `data-${string}`]: string | number | boolean | undefined;
66
89
  label: string;
67
90
  direction: "row" | "column";
91
+ feedbackType: "none" | "danger" | "warning" | "success" | "info" | "neutral";
92
+ feedbackMessage: string;
68
93
  onSearch: (text: string, signal: AbortSignal) => Promise<CwSearchAsyncOption[]>;
69
94
  onChange: (id: CwSearchAsyncOption["id"] | null) => void;
70
95
  value?: CwSearchAsyncOption["id"] | undefined;
@@ -82,6 +107,7 @@ declare const meta: {
82
107
  alignProps?: import("../../../..").CwAlignProps | undefined;
83
108
  width?: string | undefined;
84
109
  className?: string | undefined;
110
+ feedback?: (import("../../../../common/interfaces/CwFormTypes").CwInputFeedback | import("../../../../common/interfaces/CwFormTypes").CwInputFeedback[]) | undefined;
85
111
  }>) => import("react").JSX.Element)[];
86
112
  parameters: {
87
113
  docs: {
@@ -100,4 +126,6 @@ type Story = StoryObj<typeof meta>;
100
126
  export declare const Default: Story;
101
127
  /** A preselected `value` is resolved to its display text through `onResolveInitial`. */
102
128
  export declare const Preselected: Story;
129
+ /** `feedback` lines up under the input; the results list still opens right below the input. */
130
+ export declare const WithFeedback: Story;
103
131
  //# sourceMappingURL=CwSearchAsync.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwSearchAsync.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/action/search/CwSearchAsync.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAiB,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAwBnG,UAAU,IAAK,SAAQ,kBAAkB;IACxC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;CAC5B;AAUD,QAAA,MAAM,IAAI;;;;;;yBA3BkB,MAAM,UAAU,WAAW,KAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAchF,MAAM;mBAEF,KAAK,GAAG,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CN,CAAC;AAEvB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,0IAA0I;AAC1I,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,wFAAwF;AACxF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC"}
1
+ {"version":3,"file":"CwSearchAsync.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/action/search/CwSearchAsync.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAiB,KAAK,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAwBnG,UAAU,IAAK,SAAQ,kBAAkB;IACxC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC5B,qDAAqD;IACrD,YAAY,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7E,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;CACxB;AAWD,QAAA,MAAM,IAAI;;;;;;yBAhCkB,MAAM,UAAU,WAAW,KAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAchF,MAAM;mBAEF,KAAK,GAAG,QAAQ;sBAEb,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS;yBAE3D,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDF,CAAC;AAEvB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,0IAA0I;AAC1I,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,wFAAwF;AACxF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC"}
@@ -1,15 +1,15 @@
1
+ import type { CwDataAttributes } from "../../../../common/interfaces/CwDataAttributes";
1
2
  export type CwTreeNode<T> = {
2
3
  id: string | number;
3
4
  label: string;
4
5
  data: T;
5
6
  children?: CwTreeNode<T>[];
6
7
  };
7
- type TreeViewProps<T> = {
8
+ export interface TreeViewProps<T> extends CwDataAttributes {
8
9
  data: CwTreeNode<T>[];
9
10
  onSelect: (node: CwTreeNode<T>) => void;
10
11
  allowParentSelection?: boolean;
11
12
  selectedId?: string | number | null;
12
- };
13
- export declare function CwTreeView<T>({ data, onSelect, allowParentSelection, selectedId: initialSelectedId }: TreeViewProps<T>): import("react").JSX.Element;
14
- export {};
13
+ }
14
+ export declare function CwTreeView<T>({ data, onSelect, allowParentSelection, selectedId: initialSelectedId, ...dataAttributes }: TreeViewProps<T>): import("react").JSX.Element;
15
15
  //# sourceMappingURL=CwTreeView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwTreeView.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/choice/tree-view/CwTreeView.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3B,CAAC;AAEF,KAAK,aAAa,CAAC,CAAC,IAAI;IACvB,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACxC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAC7B,IAAI,EACJ,QAAQ,EACR,oBAA4B,EAC5B,UAAU,EAAE,iBAAwB,EACpC,EAAE,aAAa,CAAC,CAAC,CAAC,+BA4KlB"}
1
+ {"version":3,"file":"CwTreeView.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/choice/tree-view/CwTreeView.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAKvF,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC3B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,gBAAgB;IACzD,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACxC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,EAC7B,IAAI,EACJ,QAAQ,EACR,oBAA4B,EAC5B,UAAU,EAAE,iBAAwB,EACpC,GAAG,cAAc,EACjB,EAAE,aAAa,CAAC,CAAC,CAAC,+BAmLlB"}
@@ -5,12 +5,7 @@ type Folder = {
5
5
  };
6
6
  declare const meta: {
7
7
  title: string;
8
- component: ({ data, onSelect, allowParentSelection, selectedId: initialSelectedId }: {
9
- data: CwTreeNode<Folder>[];
10
- onSelect: (node: CwTreeNode<Folder>) => void;
11
- allowParentSelection?: boolean;
12
- selectedId?: string | number | null;
13
- }) => import("react").JSX.Element;
8
+ component: ({ data, onSelect, allowParentSelection, selectedId: initialSelectedId, ...dataAttributes }: import("./CwTreeView").TreeViewProps<Folder>) => import("react").JSX.Element;
14
9
  args: {
15
10
  data: CwTreeNode<Folder>[];
16
11
  allowParentSelection: false;
@@ -26,6 +21,7 @@ declare const meta: {
26
21
  };
27
22
  };
28
23
  decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
24
+ [x: `data-${string}`]: string | number | boolean | undefined;
29
25
  data: CwTreeNode<Folder>[];
30
26
  onSelect: (node: CwTreeNode<Folder>) => void;
31
27
  allowParentSelection?: boolean | undefined;
@@ -34,8 +30,10 @@ declare const meta: {
34
30
  };
35
31
  export default meta;
36
32
  type Story = StoryObj<typeof meta>;
37
- /** Only leaves select by default; clicking a parent expands it. The search box filters the tree. */
33
+ /** Only leaves select by default; clicking a parent row or its chevron expands it. The search box filters the tree. */
38
34
  export declare const Default: Story;
35
+ /** `allowParentSelection`: clicking a row selects it, parents included; the chevron expands and collapses without selecting. */
36
+ export declare const ParentSelection: Story;
39
37
  /** `selectedId` selects a node on mount and expands the path to it. */
40
38
  export declare const Preselected: Story;
41
39
  //# sourceMappingURL=CwTreeView.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwTreeView.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/choice/tree-view/CwTreeView.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3D,KAAK,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAgC/B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoBiC,CAAC;AAE5C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,oGAAoG;AACpG,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,uEAAuE;AACvE,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC"}
1
+ {"version":3,"file":"CwTreeView.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/choice/tree-view/CwTreeView.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE3D,KAAK,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAgC/B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;CAoBiC,CAAC;AAE5C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,uHAAuH;AACvH,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,gIAAgI;AAChI,eAAO,MAAM,eAAe,EAAE,KAE7B,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC"}
@@ -4,8 +4,9 @@ import React from "react";
4
4
  import { Matcher } from "react-day-picker";
5
5
  import { CwLabelProps } from "../../../display/text/label/CwLabel";
6
6
  import { CwAlignProps } from "../../../layout/align/CwAlign";
7
+ import type { CwDataAttributes } from "../../../../common/interfaces/CwDataAttributes";
7
8
  export type DateMatcher = Matcher;
8
- export interface CwDatePickerProps {
9
+ export interface CwDatePickerProps extends CwDataAttributes {
9
10
  /** Current selected date */
10
11
  value?: Date;
11
12
  /** Callback when date changes */
@@ -56,5 +57,5 @@ export interface CwDatePickerProps {
56
57
  */
57
58
  feedback?: CwInputFeedback | CwInputFeedback[];
58
59
  }
59
- export declare function CwDatePicker({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, defaultMonth, labelProps, alignProps, placeholder, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, showTodayButton, locale, todayLabel, yearRangeStart, yearRangeEnd, feedback, }: Readonly<CwDatePickerProps>): React.JSX.Element;
60
+ export declare function CwDatePicker({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, defaultMonth, labelProps, alignProps, placeholder, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, showTodayButton, locale, todayLabel, yearRangeStart, yearRangeEnd, feedback, ...dataAttributes }: Readonly<CwDatePickerProps>): React.JSX.Element;
60
61
  //# sourceMappingURL=CwDatePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwDatePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAmE,MAAM,OAAO,CAAC;AACxF,OAAO,EAAa,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAW,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAW,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAKtE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,iBAAiB;IACjC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,iCAAiC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAG3C,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,mDAAmD;IACnD,YAAY,CAAC,EAAE,IAAI,CAAC;IAGpB,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC;CAC/C;AAGD,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAA6B,EAC7B,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,eAAuB,EACvB,MAAgC,EAChC,UAAoB,EACpB,cAAc,EACd,YAAY,EACZ,QAAQ,GACR,EAAE,QAAQ,CAAC,iBAAiB,CAAC,qBAqT7B"}
1
+ {"version":3,"file":"CwDatePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,KAAmE,MAAM,OAAO,CAAC;AACxF,OAAO,EAAa,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAW,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAW,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAItE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IAC1D,4BAA4B;IAC5B,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,iCAAiC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAG3C,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,mDAAmD;IACnD,YAAY,CAAC,EAAE,IAAI,CAAC;IAGpB,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC;CAC/C;AAGD,wBAAgB,YAAY,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAA6B,EAC7B,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,eAAuB,EACvB,MAAgC,EAChC,UAAoB,EACpB,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,GAAG,cAAc,EACjB,EAAE,QAAQ,CAAC,iBAAiB,CAAC,qBAsT7B"}
@@ -68,6 +68,7 @@ declare const meta: {
68
68
  };
69
69
  };
70
70
  decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
71
+ [x: `data-${string}`]: string | number | boolean | undefined;
71
72
  value?: Temporal.PlainDate | undefined;
72
73
  onChange: (date: Temporal.PlainDate | undefined) => void;
73
74
  minDate?: Temporal.PlainDate | undefined;
@@ -97,6 +98,7 @@ declare const meta: {
97
98
  feedbackType: "none" | "danger" | "success" | "neutral" | "warning" | "info";
98
99
  feedbackMessage: string;
99
100
  }>, { args }: import("storybook/internal/csf").StoryContext<import("@storybook/react").ReactRenderer, {
101
+ [x: `data-${string}`]: string | number | boolean | undefined;
100
102
  value?: Temporal.PlainDate | undefined;
101
103
  onChange: (date: Temporal.PlainDate | undefined) => void;
102
104
  minDate?: Temporal.PlainDate | undefined;
@@ -132,9 +134,11 @@ export default meta;
132
134
  type Story = StoryObj<typeof meta>;
133
135
  /** `CwDatePickerTemporal` is the picker for new code: value and `onChange` are `Temporal.PlainDate`. */
134
136
  export declare const Default: Story;
135
- /** Days outside `minDate`/`maxDate` cannot be picked; the year dropdown is widened for a birth date. */
137
+ /** Days outside `minDate`/`maxDate` cannot be picked and a typed one reverts on blur, so `feedback` states the range. The year dropdown is widened for a birth date. */
136
138
  export declare const Bounded: Story;
137
139
  export declare const WithFeedback: Story;
140
+ /** Typing: the value changes only on a complete valid date or an empty field, so editing a date keeps the rest of the text. Blur reformats. */
141
+ export declare const TypedEntry: Story;
138
142
  /** The `Date`-valued `CwDatePicker`, for a JS `Date` boundary that cannot be avoided. Same UX. */
139
143
  export declare const LegacyDate: Story;
140
144
  //# sourceMappingURL=CwDatePicker.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwDatePicker.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDatePicker.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAMN,KAAK,eAAe,EACpB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,KAAK,IAAI,GAAG,yBAAyB,GAAG,eAAe,CAAC;AAqBxD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCY,CAAC;AAEvB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,wGAAwG;AACxG,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,wGAAwG;AACxG,eAAO,MAAM,OAAO,EAAE,KAUrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,UAAU,EAAE,KAGxB,CAAC"}
1
+ {"version":3,"file":"CwDatePicker.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDatePicker.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAMN,KAAK,eAAe,EACpB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,oBAAoB,EAAE,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAG9F,KAAK,IAAI,GAAG,yBAAyB,GAAG,eAAe,CAAC;AAqBxD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCY,CAAC;AAEvB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,wGAAwG;AACxG,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAIjC,wKAAwK;AACxK,eAAO,MAAM,OAAO,EAAE,KAYrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAEF,+IAA+I;AAC/I,eAAO,MAAM,UAAU,EAAE,KAExB,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,UAAU,EAAE,KAGxB,CAAC"}
@@ -4,8 +4,9 @@ import React from "react";
4
4
  import { Matcher } from "react-day-picker";
5
5
  import { CwLabelProps } from "../../../display/text/label/CwLabel";
6
6
  import { CwAlignProps } from "../../../layout/align/CwAlign";
7
+ import type { CwDataAttributes } from "../../../../common/interfaces/CwDataAttributes";
7
8
  export type DateMatcher = Matcher;
8
- export interface CwDatePickerTemporalProps {
9
+ export interface CwDatePickerTemporalProps extends CwDataAttributes {
9
10
  /** Current selected date */
10
11
  value?: Temporal.PlainDate;
11
12
  /** Callback when date changes */
@@ -53,5 +54,5 @@ export interface CwDatePickerTemporalProps {
53
54
  /** Feedback messages shown below the input */
54
55
  feedback?: CwInputFeedback | CwInputFeedback[];
55
56
  }
56
- export declare function CwDatePickerTemporal({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, defaultMonth, labelProps, alignProps, placeholder, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, showTodayButton, locale, todayLabel, yearRangeStart, yearRangeEnd, feedback, }: Readonly<CwDatePickerTemporalProps>): React.JSX.Element;
57
+ export declare function CwDatePickerTemporal({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, defaultMonth, labelProps, alignProps, placeholder, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, showTodayButton, locale, todayLabel, yearRangeStart, yearRangeEnd, feedback, ...dataAttributes }: Readonly<CwDatePickerTemporalProps>): React.JSX.Element;
57
58
  //# sourceMappingURL=CwDatePickerTemporal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwDatePickerTemporal.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDatePickerTemporal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,EAAY,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAU,YAAY,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAU,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAMpE,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,yBAAyB;IACzC,4BAA4B;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC3B,iCAAiC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IAGzD,8BAA8B;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC7B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC7B,yCAAyC;IACzC,aAAa,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IACrC,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,mDAAmD;IACnD,YAAY,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC;IAGvC,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC;CAC/C;AAGD,wBAAgB,oBAAoB,CAAC,EACpC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAA6B,EAC7B,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,eAAuB,EACvB,MAAgC,EAChC,UAAoB,EACpB,cAAc,EACd,YAAY,EACZ,QAAQ,GACR,EAAE,QAAQ,CAAC,yBAAyB,CAAC,qBAmOrC"}
1
+ {"version":3,"file":"CwDatePickerTemporal.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDatePickerTemporal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAiE,MAAM,OAAO,CAAC;AACtF,OAAO,EAAY,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAU,YAAY,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAU,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAKpE,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gDAAgD,CAAC;AAErF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IAClE,4BAA4B;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC3B,iCAAiC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,KAAK,IAAI,CAAC;IAGzD,8BAA8B;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC7B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC7B,yCAAyC;IACzC,aAAa,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IACrC,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,mDAAmD;IACnD,YAAY,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC;IAGvC,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC;CAC/C;AAGD,wBAAgB,oBAAoB,CAAC,EACpC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAA6B,EAC7B,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,eAAuB,EACvB,MAAgC,EAChC,UAAoB,EACpB,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,GAAG,cAAc,EACjB,EAAE,QAAQ,CAAC,yBAAyB,CAAC,qBAqOrC"}
@@ -1,13 +1,15 @@
1
1
  import { Matcher } from "react-day-picker";
2
+ import type { CwInputFeedback } from "../../../../common/interfaces/CwFormTypes";
2
3
  import { CwLabelProps } from "../../../../components/display/text/label/CwLabel";
3
4
  import { CwAlignProps } from "../../../../components/layout/align/CwAlign";
4
5
  import { type DateRangePreset } from "./dateRangePresets";
6
+ import type { CwDataAttributes } from "../../../../common/interfaces/CwDataAttributes";
5
7
  export type DateMatcher = Matcher;
6
8
  export interface DateRangeValue {
7
9
  from: Date | undefined;
8
10
  to: Date | undefined;
9
11
  }
10
- export interface CwDateRangePickerProps {
12
+ export interface CwDateRangePickerProps extends CwDataAttributes {
11
13
  /** Current selected date range */
12
14
  value?: DateRangeValue;
13
15
  /** Callback when date range changes */
@@ -60,6 +62,10 @@ export interface CwDateRangePickerProps {
60
62
  * Custom presets to add alongside library presets
61
63
  */
62
64
  customPresets?: DateRangePreset[];
65
+ /** Feedback messages shown below the inputs; accepts a single message or an array for multiple
66
+ * @example feedback={{ type: "danger", message: "This field is required" }}
67
+ */
68
+ feedback?: CwInputFeedback | CwInputFeedback[];
63
69
  }
64
- export declare function CwDateRangePicker({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, maxRangeDays, defaultMonth, labelProps, alignProps, placeholderFrom, placeholderTo, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, showPresets, presetKeys, customPresets, }: Readonly<CwDateRangePickerProps>): import("react").JSX.Element;
70
+ export declare function CwDateRangePicker({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, maxRangeDays, defaultMonth, labelProps, alignProps, placeholderFrom, placeholderTo, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, showPresets, presetKeys, customPresets, feedback, ...dataAttributes }: Readonly<CwDateRangePickerProps>): import("react").JSX.Element;
65
71
  //# sourceMappingURL=CwDateRangePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwDateRangePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateRangePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAwB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAW,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAW,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAIpF,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,oBAAoB,CAAC;AAG5E,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACtC,kCAAkC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IAGtD,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,YAAY,CAAC,EAAE,IAAI,CAAC;IAGpB,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;CAClC;AAGD,wBAAgB,iBAAiB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAA6B,EAC7B,aAAyB,EACzB,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,WAAmB,EACnB,UAAU,EACV,aAAa,GACb,EAAE,QAAQ,CAAC,sBAAsB,CAAC,+BA2hBlC"}
1
+ {"version":3,"file":"CwDateRangePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateRangePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAwB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAW,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAW,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAIpF,OAAO,EAAE,KAAK,eAAe,EAAoB,MAAM,oBAAoB,CAAC;AAE5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,EAAE,EAAE,IAAI,GAAG,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC/D,kCAAkC;IAClC,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IAGtD,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,8BAA8B;IAC9B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,YAAY,CAAC,EAAE,IAAI,CAAC;IAGpB,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC;CAC/C;AAGD,wBAAgB,iBAAiB,CAAC,EACjC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAA6B,EAC7B,aAAyB,EACzB,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,WAAmB,EACnB,UAAU,EACV,aAAa,EACb,QAAQ,EACR,GAAG,cAAc,EACjB,EAAE,QAAQ,CAAC,sBAAsB,CAAC,+BA4iBlC"}
@@ -48,18 +48,6 @@ declare const meta: {
48
48
  locale: {
49
49
  control: false;
50
50
  };
51
- feedbackType: {
52
- table: {
53
- disable: true;
54
- };
55
- control: false;
56
- };
57
- feedbackMessage: {
58
- table: {
59
- disable: true;
60
- };
61
- control: false;
62
- };
63
51
  alignProps: {
64
52
  control: false;
65
53
  };
@@ -72,6 +60,8 @@ declare const meta: {
72
60
  direction: import("storybook/internal/csf").InputType;
73
61
  labelText: import("storybook/internal/csf").InputType;
74
62
  labelWidth: import("storybook/internal/csf").InputType;
63
+ feedbackType: import("storybook/internal/csf").InputType;
64
+ feedbackMessage: import("storybook/internal/csf").InputType;
75
65
  };
76
66
  parameters: {
77
67
  docs: {
@@ -83,6 +73,7 @@ declare const meta: {
83
73
  };
84
74
  };
85
75
  decorators: ((Story: import("storybook/internal/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
76
+ [x: `data-${string}`]: string | number | boolean | undefined;
86
77
  value?: DateRangeValueTemporal | undefined;
87
78
  onChange: (range: DateRangeValueTemporal | undefined) => void;
88
79
  minDate?: Temporal.PlainDate | undefined;
@@ -108,12 +99,14 @@ declare const meta: {
108
99
  showPresets?: boolean | undefined;
109
100
  presetKeys?: string[] | undefined;
110
101
  customPresets?: import("./dateRangePresetsTemporal").DateRangePresetTemporal[] | undefined;
102
+ feedback?: (import("../../../../common/interfaces/CwFormTypes").CwInputFeedback | import("../../../../common/interfaces/CwFormTypes").CwInputFeedback[]) | undefined;
111
103
  direction: "row" | "column";
112
104
  labelText: string;
113
105
  labelWidth: typeof import("../../../../storybook/inputStoryArgs").LABEL_WIDTHS[number];
114
106
  feedbackType: "none" | "danger" | "success" | "neutral" | "warning" | "info";
115
107
  feedbackMessage: string;
116
108
  }>, { args }: import("storybook/internal/csf").StoryContext<import("@storybook/react").ReactRenderer, {
109
+ [x: `data-${string}`]: string | number | boolean | undefined;
117
110
  value?: DateRangeValueTemporal | undefined;
118
111
  onChange: (range: DateRangeValueTemporal | undefined) => void;
119
112
  minDate?: Temporal.PlainDate | undefined;
@@ -139,6 +132,7 @@ declare const meta: {
139
132
  showPresets?: boolean | undefined;
140
133
  presetKeys?: string[] | undefined;
141
134
  customPresets?: import("./dateRangePresetsTemporal").DateRangePresetTemporal[] | undefined;
135
+ feedback?: (import("../../../../common/interfaces/CwFormTypes").CwInputFeedback | import("../../../../common/interfaces/CwFormTypes").CwInputFeedback[]) | undefined;
142
136
  direction: "row" | "column";
143
137
  labelText: string;
144
138
  labelWidth: typeof import("../../../../storybook/inputStoryArgs").LABEL_WIDTHS[number];
@@ -155,6 +149,10 @@ export declare const Default: Story;
155
149
  export declare const WithPresets: Story;
156
150
  /** `maxRangeDays` caps the span; days beyond it are disabled once `from` is set. */
157
151
  export declare const LimitedSpan: Story;
152
+ /** `feedback` renders below both fields, as on the single date picker. */
153
+ export declare const WithFeedback: Story;
158
154
  /** The `Date`-valued `CwDateRangePicker`, for a JS `Date` boundary that cannot be avoided. */
159
155
  export declare const LegacyDate: Story;
156
+ /** `feedback` on the `Date`-valued `CwDateRangePicker`. */
157
+ export declare const LegacyDateWithFeedback: Story;
160
158
  //# sourceMappingURL=CwDateRangePicker.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwDateRangePicker.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateRangePicker.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAON,KAAK,eAAe,EACpB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,yBAAyB,EAAE,KAAK,8BAA8B,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1I,KAAK,IAAI,GAAG,8BAA8B,GAAG,eAAe,CAAC;AAqC7D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCY,CAAC;AAEvB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,oGAAoG;AACpG,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,yGAAyG;AACzG,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,UAAU,EAAE,KAGxB,CAAC"}
1
+ {"version":3,"file":"CwDateRangePicker.stories.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateRangePicker.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAMN,KAAK,eAAe,EACpB,MAAM,uCAAuC,CAAC;AAG/C,OAAO,EAAE,yBAAyB,EAAE,KAAK,8BAA8B,EAAE,KAAK,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1I,KAAK,IAAI,GAAG,8BAA8B,GAAG,eAAe,CAAC;AAgC7D,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCY,CAAC;AAEvB,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,oGAAoG;AACpG,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,yGAAyG;AACzG,eAAO,MAAM,WAAW,EAAE,KAOzB,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,WAAW,EAAE,KAEzB,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,YAAY,EAAE,KAE1B,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,UAAU,EAAE,KAGxB,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,sBAAsB,EAAE,KAIpC,CAAC"}
@@ -1,15 +1,17 @@
1
1
  import { type DayPickerLocale } from "react-day-picker/locale";
2
2
  import React from "react";
3
3
  import { Matcher } from "react-day-picker";
4
+ import type { CwInputFeedback } from "../../../../common/interfaces/CwFormTypes";
4
5
  import { CwLabelProps } from "../../../../components/display/text/label/CwLabel";
5
6
  import { CwAlignProps } from "../../../../components/layout/align/CwAlign";
6
7
  import { type DateRangePresetTemporal } from "./dateRangePresetsTemporal";
8
+ import type { CwDataAttributes } from "../../../../common/interfaces/CwDataAttributes";
7
9
  export type DateMatcher = Matcher;
8
10
  export interface DateRangeValueTemporal {
9
11
  from: Temporal.PlainDate | undefined;
10
12
  to: Temporal.PlainDate | undefined;
11
13
  }
12
- export interface CwDateRangePickerTemporalProps {
14
+ export interface CwDateRangePickerTemporalProps extends CwDataAttributes {
13
15
  /** Current selected date range */
14
16
  value?: DateRangeValueTemporal;
15
17
  /** Callback when date range changes */
@@ -70,6 +72,10 @@ export interface CwDateRangePickerTemporalProps {
70
72
  * Custom presets to add alongside library presets
71
73
  */
72
74
  customPresets?: DateRangePresetTemporal[];
75
+ /** Feedback messages shown below the inputs; accepts a single message or an array for multiple
76
+ * @example feedback={{ type: "danger", message: "This field is required" }}
77
+ */
78
+ feedback?: CwInputFeedback | CwInputFeedback[];
73
79
  }
74
- export declare function CwDateRangePickerTemporal({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, maxRangeDays, defaultMonth, labelProps, alignProps, placeholderFrom, placeholderTo, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, locale, yearRangeStart, yearRangeEnd, showPresets, presetKeys, customPresets, }: Readonly<CwDateRangePickerTemporalProps>): React.JSX.Element;
80
+ export declare function CwDateRangePickerTemporal({ value, onChange, minDate, maxDate, disabledDates, disabledMatcher, maxRangeDays, defaultMonth, labelProps, alignProps, placeholderFrom, placeholderTo, displayFormat, disabled, required, className, showClear, popupPosition, numberOfMonths, locale, yearRangeStart, yearRangeEnd, showPresets, presetKeys, customPresets, feedback, ...dataAttributes }: Readonly<CwDateRangePickerTemporalProps>): React.JSX.Element;
75
81
  //# sourceMappingURL=CwDateRangePickerTemporal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwDateRangePickerTemporal.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateRangePickerTemporal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,EAAwB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAW,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAW,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAKpF,OAAO,EAAE,KAAK,uBAAuB,EAA4B,MAAM,4BAA4B,CAAC;AAGpG,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,8BAA8B;IAC9C,kCAAkC;IAClC,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,KAAK,IAAI,CAAC;IAG9D,8BAA8B;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC7B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC7B,yCAAyC;IACzC,aAAa,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IACrC,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,YAAY,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC;IAGvC,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAC1C;AAGD,wBAAgB,yBAAyB,CAAC,EACzC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAA6B,EAC7B,aAAyB,EACzB,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,MAAgC,EAChC,cAAc,EACd,YAAY,EACZ,WAAmB,EACnB,UAAU,EACV,aAAa,GACb,EAAE,QAAQ,CAAC,8BAA8B,CAAC,qBA+c1C"}
1
+ {"version":3,"file":"CwDateRangePickerTemporal.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateRangePickerTemporal.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAmE,MAAM,OAAO,CAAC;AACxF,OAAO,EAAwB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAW,YAAY,EAAE,MAAM,mDAAmD,CAAC;AAC1F,OAAO,EAAW,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAKpF,OAAO,EAAE,KAAK,uBAAuB,EAA4B,MAAM,4BAA4B,CAAC;AAEpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAEvF,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC;AAElC,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;IACrC,EAAE,EAAE,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,8BAA+B,SAAQ,gBAAgB;IACvE,kCAAkC;IAClC,KAAK,CAAC,EAAE,sBAAsB,CAAC;IAC/B,uCAAuC;IACvC,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,GAAG,SAAS,KAAK,IAAI,CAAC;IAG9D,8BAA8B;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC7B,8BAA8B;IAC9B,OAAO,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;IAC7B,yCAAyC;IACzC,aAAa,CAAC,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC;IACrC,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,YAAY,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC;IAGvC,gCAAgC;IAChC,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,0BAA0B;IAC1B,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,wCAAwC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+GAA+G;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,uBAAuB,EAAE,CAAC;IAC1C;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC;CAC/C;AAGD,wBAAgB,yBAAyB,CAAC,EACzC,KAAK,EACL,QAAQ,EACR,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,eAA6B,EAC7B,aAAyB,EACzB,aAA4B,EAC5B,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,MAAgC,EAChC,cAAc,EACd,YAAY,EACZ,WAAmB,EACnB,UAAU,EACV,aAAa,EACb,QAAQ,EACR,GAAG,cAAc,EACjB,EAAE,QAAQ,CAAC,8BAA8B,CAAC,qBAge1C"}
@@ -1,8 +1,10 @@
1
1
  import { type DayPickerLocale } from "react-day-picker/locale";
2
+ import type { CwInputFeedback } from "../../../../common/interfaces/CwFormTypes";
3
+ import type { CwDataAttributes } from "../../../../common/interfaces/CwDataAttributes";
2
4
  import { CwLabelProps } from "../../../display/text/label/CwLabel";
3
5
  import { CwAlignProps } from "../../../layout/align/CwAlign";
4
6
  import { DateMatcher } from "./CwDatePicker";
5
- export interface CwDateTimePickerProps {
7
+ export interface CwDateTimePickerProps extends CwDataAttributes {
6
8
  /** Current selected datetime */
7
9
  value?: Date;
8
10
  /** Callback when datetime changes */
@@ -49,6 +51,10 @@ export interface CwDateTimePickerProps {
49
51
  locale?: DayPickerLocale;
50
52
  /** Numeric timezone offset in hours (e.g., 1, 5.5, -3) */
51
53
  timezoneOffset?: number;
54
+ /** Feedback messages shown below the inputs; accepts a single message or an array for multiple
55
+ * @example feedback={{ type: "danger", message: "This field is required" }}
56
+ */
57
+ feedback?: CwInputFeedback | CwInputFeedback[];
52
58
  }
53
- export declare function CwDateTimePicker({ value, onChange, minDateTime, maxDateTime, disabledDates, disabledMatcher, timeInterval, minTime, maxTime, labelProps, alignProps, datePlaceholder, timePlaceholder, disabled, required, className, showClear, popupPosition, numberOfMonths, showNowButton, nowLabel, locale, timezoneOffset, }: Readonly<CwDateTimePickerProps>): import("react").JSX.Element;
59
+ export declare function CwDateTimePicker({ value, onChange, minDateTime, maxDateTime, disabledDates, disabledMatcher, timeInterval, minTime, maxTime, labelProps, alignProps, datePlaceholder, timePlaceholder, disabled, required, className, showClear, popupPosition, numberOfMonths, showNowButton, nowLabel, locale, timezoneOffset, feedback, ...dataAttributes }: Readonly<CwDateTimePickerProps>): import("react").JSX.Element;
54
60
  //# sourceMappingURL=CwDateTimePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CwDateTimePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateTimePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAU,YAAY,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAU,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAe,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAIzD,MAAM,WAAW,qBAAqB;IACrC,gCAAgC;IAChC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,qCAAqC;IACrC,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAG/C,kCAAkC;IAClC,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,kCAAkC;IAClC,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAG9B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACrC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,qDAAqD;IACrD,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,gBAAgB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAiB,EACjB,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,eAA8B,EAC9B,eAAyB,EACzB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,aAAqB,EACrB,QAAgB,EAChB,MAAgC,EAChC,cAAc,GACd,EAAE,QAAQ,CAAC,qBAAqB,CAAC,+BAiWjC"}
1
+ {"version":3,"file":"CwDateTimePicker.d.ts","sourceRoot":"","sources":["../../../../../../src/components/control/input/new-dates/CwDateTimePicker.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,gDAAgD,CAAC;AACrF,OAAO,EAAU,YAAY,EAAC,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAU,YAAY,EAAC,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAe,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAKzD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC9D,gCAAgC;IAChC,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,qCAAqC;IACrC,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAG/C,kCAAkC;IAClC,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,kCAAkC;IAClC,WAAW,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAC5B,yCAAyC;IACzC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,yDAAyD;IACzD,eAAe,CAAC,EAAE,WAAW,CAAC;IAG9B,2DAA2D;IAC3D,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACrC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,YAAY,CAAC;IAC1B,qDAAqD;IACrD,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sBAAsB;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAG1E,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,eAAe,GAAG,eAAe,EAAE,CAAC;CAC/C;AAED,wBAAgB,gBAAgB,CAAC,EAChC,KAAK,EACL,QAAQ,EACR,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,EACf,YAAiB,EACjB,OAAO,EACP,OAAO,EACP,UAAU,EACV,UAAU,EACV,eAA8B,EAC9B,eAAyB,EACzB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAgB,EAChB,aAA6B,EAC7B,cAAkB,EAClB,aAAqB,EACrB,QAAgB,EAChB,MAAgC,EAChC,cAAc,EACd,QAAQ,EACR,GAAG,cAAc,EACjB,EAAE,QAAQ,CAAC,qBAAqB,CAAC,+BA+WjC"}