@hitachivantara/uikit-react-core 5.15.0 → 5.16.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 (42) hide show
  1. package/dist/cjs/components/ActionBar/ActionBar.cjs +8 -7
  2. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs +16 -17
  4. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs.map +1 -1
  5. package/dist/cjs/components/TimePicker/Placeholder.cjs +70 -0
  6. package/dist/cjs/components/TimePicker/Placeholder.cjs.map +1 -0
  7. package/dist/cjs/components/TimePicker/TimePicker.cjs +222 -0
  8. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -0
  9. package/dist/cjs/components/TimePicker/TimePicker.styles.cjs +53 -0
  10. package/dist/cjs/components/TimePicker/TimePicker.styles.cjs.map +1 -0
  11. package/dist/cjs/components/TimePicker/Unit/Unit.cjs +72 -0
  12. package/dist/cjs/components/TimePicker/Unit/Unit.cjs.map +1 -0
  13. package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs +56 -0
  14. package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs.map +1 -0
  15. package/dist/cjs/index.cjs +6 -2
  16. package/dist/cjs/index.cjs.map +1 -1
  17. package/dist/cjs/utils/classes.cjs +4 -3
  18. package/dist/cjs/utils/classes.cjs.map +1 -1
  19. package/dist/esm/components/ActionBar/ActionBar.js +11 -9
  20. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  21. package/dist/esm/components/ActionBar/ActionBar.styles.js +16 -15
  22. package/dist/esm/components/ActionBar/ActionBar.styles.js.map +1 -1
  23. package/dist/esm/components/TimePicker/Placeholder.js +70 -0
  24. package/dist/esm/components/TimePicker/Placeholder.js.map +1 -0
  25. package/dist/esm/components/TimePicker/TimePicker.js +223 -0
  26. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -0
  27. package/dist/esm/components/TimePicker/TimePicker.styles.js +53 -0
  28. package/dist/esm/components/TimePicker/TimePicker.styles.js.map +1 -0
  29. package/dist/esm/components/TimePicker/Unit/Unit.js +72 -0
  30. package/dist/esm/components/TimePicker/Unit/Unit.js.map +1 -0
  31. package/dist/esm/components/TimePicker/Unit/Unit.styles.js +56 -0
  32. package/dist/esm/components/TimePicker/Unit/Unit.styles.js.map +1 -0
  33. package/dist/esm/index.js +238 -234
  34. package/dist/esm/index.js.map +1 -1
  35. package/dist/esm/utils/classes.js +4 -3
  36. package/dist/esm/utils/classes.js.map +1 -1
  37. package/dist/types/index.d.ts +134 -13
  38. package/package.json +5 -5
  39. package/dist/cjs/components/ActionBar/actionBarClasses.cjs +0 -8
  40. package/dist/cjs/components/ActionBar/actionBarClasses.cjs.map +0 -1
  41. package/dist/esm/components/ActionBar/actionBarClasses.js +0 -8
  42. package/dist/esm/components/ActionBar/actionBarClasses.js.map +0 -1
@@ -41,7 +41,7 @@ const baseInputClasses = require("./components/BaseInput/baseInputClasses.cjs");
41
41
  const BaseInput = require("./components/BaseInput/BaseInput.cjs");
42
42
  const baseDropdownClasses = require("./components/BaseDropdown/baseDropdownClasses.cjs");
43
43
  const BaseDropdown = require("./components/BaseDropdown/BaseDropdown.cjs");
44
- const actionBarClasses = require("./components/ActionBar/actionBarClasses.cjs");
44
+ const ActionBar_styles = require("./components/ActionBar/ActionBar.styles.cjs");
45
45
  const ActionBar = require("./components/ActionBar/ActionBar.cjs");
46
46
  const accordionClasses = require("./components/Accordion/accordionClasses.cjs");
47
47
  const Accordion = require("./components/Accordion/Accordion.cjs");
@@ -253,6 +253,8 @@ const Carousel_styles = require("./components/Carousel/Carousel.styles.cjs");
253
253
  const Carousel = require("./components/Carousel/Carousel.cjs");
254
254
  const CarouselSlide_styles = require("./components/Carousel/CarouselSlide/CarouselSlide.styles.cjs");
255
255
  const CarouselSlide = require("./components/Carousel/CarouselSlide/CarouselSlide.cjs");
256
+ const TimePicker_styles = require("./components/TimePicker/TimePicker.styles.cjs");
257
+ const TimePicker = require("./components/TimePicker/TimePicker.cjs");
256
258
  const useUniqueId = require("./hooks/useUniqueId.cjs");
257
259
  const useIsMounted = require("./hooks/useIsMounted.cjs");
258
260
  const useClickOutside = require("./hooks/useClickOutside.cjs");
@@ -349,7 +351,7 @@ exports.baseInputClasses = baseInputClasses.default;
349
351
  exports.HvBaseInput = BaseInput.HvBaseInput;
350
352
  exports.baseDropdownClasses = baseDropdownClasses.default;
351
353
  exports.HvBaseDropdown = BaseDropdown.HvBaseDropdown;
352
- exports.actionBarClasses = actionBarClasses.default;
354
+ exports.actionBarClasses = ActionBar_styles.staticClasses;
353
355
  exports.HvActionBar = ActionBar.HvActionBar;
354
356
  exports.accordionClasses = accordionClasses.default;
355
357
  exports.HvAccordion = Accordion.HvAccordion;
@@ -597,6 +599,8 @@ exports.carouselClasses = Carousel_styles.carouselClasses;
597
599
  exports.HvCarousel = Carousel.HvCarousel;
598
600
  exports.cc = CarouselSlide_styles.cc;
599
601
  exports.HvCarouselSlide = CarouselSlide.HvCarouselSlide;
602
+ exports.timePickerClasses = TimePicker_styles.staticClasses;
603
+ exports.HvTimePicker = TimePicker.HvTimePicker;
600
604
  exports.useUniqueId = useUniqueId.default;
601
605
  exports.useIsMounted = useIsMounted.default;
602
606
  exports.useClickOutside = useClickOutside.useClickOutside;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -31,7 +31,7 @@ const replace$ = (stylesObj, name) => {
31
31
  function createClasses(name, stylesObject) {
32
32
  const styles = replace$(stylesObject, name);
33
33
  const staticClasses = getClasses(Object.keys(styles), name);
34
- function useClasses(classesProp) {
34
+ function useClasses(classesProp = {}) {
35
35
  const {
36
36
  cx,
37
37
  css
@@ -39,8 +39,9 @@ function createClasses(name, stylesObject) {
39
39
  const mergeClasses = (key) => cx(`${name}-${key}`, css(styles[key]), classesProp == null ? void 0 : classesProp[key]);
40
40
  const classes = Object.fromEntries(Object.keys(styles).map((key) => [key, mergeClasses(key)]));
41
41
  return {
42
- cx,
43
- classes
42
+ classes,
43
+ css,
44
+ cx
44
45
  };
45
46
  }
46
47
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"classes.cjs","sources":["../../../src/utils/classes.ts"],"sourcesContent":["import { CSSInterpolation } from \"@emotion/css\";\nimport { useCss } from \"@core/hooks/useCss\";\n\nexport type ExtractNames<\n T extends (...args: any) => { classes: Record<string, any>; cx: any }\n> = ReturnType<T>[\"classes\"];\n\nexport const getClasses = <T extends string, N extends string>(\n keys: T[],\n name: N\n) => {\n const classesObj: Record<string, string> = {};\n keys.forEach((key: string) => {\n classesObj[key] = `${name}-${key}`;\n });\n return classesObj as { [P in T]: `${N}-${P}` };\n};\n\nconst deepRenameKeys = <T extends object>(\n obj: T,\n mapFn: (key: string) => string\n): T => {\n const result: any = {};\n for (const key in obj) {\n if (Object.hasOwn(obj, key)) {\n const newKey = mapFn(key);\n const value = obj[key];\n result[newKey] =\n typeof value === \"object\" ? deepRenameKeys(value as any, mapFn) : value;\n }\n }\n return result;\n};\n\n/** Given a `stylesObj`, replaces its keys' `$myClass` with `.{name}-myClass`. */\nexport const replace$ = <T extends object>(stylesObj: T, name: string): T => {\n return deepRenameKeys(stylesObj, (key) => {\n const matches = key.match(/\\$\\w+/g);\n if (!matches?.length) return key;\n const newKey = matches.reduce(\n (acc, match) => acc.replace(match, `.${name}-${match.slice(1)}`),\n key\n );\n return newKey ?? key;\n });\n};\n\n/** Utility function to create classes for a component. */\nexport function createClasses<Name extends string, ClassName extends string>(\n /** Component name in PascalCase (ie. `HvTableCell`). */\n name: Name,\n stylesObject: Record<ClassName, CSSInterpolation>\n) {\n const styles = replace$(stylesObject, name);\n\n const staticClasses = getClasses(Object.keys(styles) as ClassName[], name);\n\n function useClasses(classesProp: Partial<Record<ClassName, string>>) {\n const { cx, css } = useCss();\n\n const mergeClasses = (key: string) =>\n cx(`${name}-${key}`, css(styles[key]), classesProp?.[key]);\n\n const classes = Object.fromEntries(\n Object.keys(styles).map((key) => [key, mergeClasses(key)])\n ) as { [P in ClassName]: string };\n\n return { cx, classes };\n }\n\n return { useClasses, staticClasses };\n}\n"],"names":["getClasses","keys","name","classesObj","forEach","key","deepRenameKeys","obj","mapFn","result","Object","hasOwn","newKey","value","replace$","stylesObj","matches","match","length","reduce","acc","replace","slice","createClasses","stylesObject","styles","staticClasses","useClasses","classesProp","cx","css","useCss","mergeClasses","classes","fromEntries","map"],"mappings":";;;AAOaA,MAAAA,aAAa,CACxBC,MACAC,SACG;AACH,QAAMC,aAAqC,CAAA;AACtCC,OAAAA,QAAQ,CAACC,QAAgB;AACjBA,eAAAA,GAAG,IAAK,GAAEH,QAAQG;AAAAA,EAAAA,CAC9B;AACMF,SAAAA;AACT;AAEA,MAAMG,iBAAiB,CACrBC,KACAC,UACM;AACN,QAAMC,SAAc,CAAA;AACpB,aAAWJ,OAAOE,KAAK;AACrB,QAAIG,OAAOC,OAAOJ,KAAKF,GAAG,GAAG;AACrBO,YAAAA,SAASJ,MAAMH,GAAG;AAClBQ,YAAAA,QAAQN,IAAIF,GAAG;AACdO,aAAAA,MAAM,IACX,OAAOC,UAAU,WAAWP,eAAeO,OAAcL,KAAK,IAAIK;AAAAA,IACtE;AAAA,EACF;AACOJ,SAAAA;AACT;AAGaK,MAAAA,WAAW,CAAmBC,WAAcb,SAAoB;AACpEI,SAAAA,eAAeS,WAAYV,CAAQ,QAAA;AAClCW,UAAAA,UAAUX,IAAIY,MAAM,QAAQ;AAClC,QAAI,EAACD,mCAASE;AAAeb,aAAAA;AAC7B,UAAMO,SAASI,QAAQG,OACrB,CAACC,KAAKH,UAAUG,IAAIC,QAAQJ,OAAQ,IAAGf,QAAQe,MAAMK,MAAM,CAAC,GAAG,GAC/DjB,GACF;AACA,WAAOO,UAAUP;AAAAA,EAAAA,CAClB;AACH;AAGgBkB,SAAAA,cAEdrB,MACAsB,cACA;AACMC,QAAAA,SAASX,SAASU,cAActB,IAAI;AAE1C,QAAMwB,gBAAgB1B,WAAWU,OAAOT,KAAKwB,MAAM,GAAkBvB,IAAI;AAEzE,WAASyB,WAAWC,aAAiD;AAC7D,UAAA;AAAA,MAAEC;AAAAA,MAAIC;AAAAA,QAAQC,OAAO,OAAA;AAE3B,UAAMC,eAAeA,CAAC3B,QACpBwB,GAAI,GAAE3B,QAAQG,OAAOyB,IAAIL,OAAOpB,GAAG,CAAC,GAAGuB,2CAAcvB,IAAI;AAE3D,UAAM4B,UAAUvB,OAAOwB,YACrBxB,OAAOT,KAAKwB,MAAM,EAAEU,IAAK9B,CAAAA,QAAQ,CAACA,KAAK2B,aAAa3B,GAAG,CAAC,CAAC,CAC3D;AAEO,WAAA;AAAA,MAAEwB;AAAAA,MAAII;AAAAA,IAAAA;AAAAA,EACf;AAEO,SAAA;AAAA,IAAEN;AAAAA,IAAYD;AAAAA,EAAAA;AACvB;;;;"}
1
+ {"version":3,"file":"classes.cjs","sources":["../../../src/utils/classes.ts"],"sourcesContent":["import { CSSInterpolation } from \"@emotion/css\";\nimport { useCss } from \"@core/hooks/useCss\";\n\nexport type ExtractNames<\n T extends (...args: any) => { classes: Record<string, any>; cx: any }\n> = ReturnType<T>[\"classes\"];\n\nexport const getClasses = <T extends string, N extends string>(\n keys: T[],\n name: N\n) => {\n const classesObj: Record<string, string> = {};\n keys.forEach((key: string) => {\n classesObj[key] = `${name}-${key}`;\n });\n return classesObj as { [P in T]: `${N}-${P}` };\n};\n\nconst deepRenameKeys = <T extends object>(\n obj: T,\n mapFn: (key: string) => string\n): T => {\n const result: any = {};\n for (const key in obj) {\n if (Object.hasOwn(obj, key)) {\n const newKey = mapFn(key);\n const value = obj[key];\n result[newKey] =\n typeof value === \"object\" ? deepRenameKeys(value as any, mapFn) : value;\n }\n }\n return result;\n};\n\n/** Given a `stylesObj`, replaces its keys' `$myClass` with `.{name}-myClass`. */\nexport const replace$ = <T extends object>(stylesObj: T, name: string): T => {\n return deepRenameKeys(stylesObj, (key) => {\n const matches = key.match(/\\$\\w+/g);\n if (!matches?.length) return key;\n const newKey = matches.reduce(\n (acc, match) => acc.replace(match, `.${name}-${match.slice(1)}`),\n key\n );\n return newKey ?? key;\n });\n};\n\n/** Utility function to create classes for a component. */\nexport function createClasses<Name extends string, ClassName extends string>(\n /** Component name in PascalCase (ie. `HvTableCell`). */\n name: Name,\n stylesObject: Record<ClassName, CSSInterpolation>\n) {\n const styles = replace$(stylesObject, name);\n\n const staticClasses = getClasses(Object.keys(styles) as ClassName[], name);\n\n function useClasses(classesProp: Partial<Record<ClassName, string>> = {}) {\n const { cx, css } = useCss();\n\n const mergeClasses = (key: string) =>\n cx(`${name}-${key}`, css(styles[key]), classesProp?.[key]);\n\n const classes = Object.fromEntries(\n Object.keys(styles).map((key) => [key, mergeClasses(key)])\n ) as { [P in ClassName]: string };\n\n return { classes, css, cx };\n }\n\n return { useClasses, staticClasses };\n}\n"],"names":["getClasses","keys","name","classesObj","forEach","key","deepRenameKeys","obj","mapFn","result","Object","hasOwn","newKey","value","replace$","stylesObj","matches","match","length","reduce","acc","replace","slice","createClasses","stylesObject","styles","staticClasses","useClasses","classesProp","cx","css","useCss","mergeClasses","classes","fromEntries","map"],"mappings":";;;AAOaA,MAAAA,aAAa,CACxBC,MACAC,SACG;AACH,QAAMC,aAAqC,CAAA;AACtCC,OAAAA,QAAQ,CAACC,QAAgB;AACjBA,eAAAA,GAAG,IAAK,GAAEH,QAAQG;AAAAA,EAAAA,CAC9B;AACMF,SAAAA;AACT;AAEA,MAAMG,iBAAiB,CACrBC,KACAC,UACM;AACN,QAAMC,SAAc,CAAA;AACpB,aAAWJ,OAAOE,KAAK;AACrB,QAAIG,OAAOC,OAAOJ,KAAKF,GAAG,GAAG;AACrBO,YAAAA,SAASJ,MAAMH,GAAG;AAClBQ,YAAAA,QAAQN,IAAIF,GAAG;AACdO,aAAAA,MAAM,IACX,OAAOC,UAAU,WAAWP,eAAeO,OAAcL,KAAK,IAAIK;AAAAA,IACtE;AAAA,EACF;AACOJ,SAAAA;AACT;AAGaK,MAAAA,WAAW,CAAmBC,WAAcb,SAAoB;AACpEI,SAAAA,eAAeS,WAAYV,CAAQ,QAAA;AAClCW,UAAAA,UAAUX,IAAIY,MAAM,QAAQ;AAClC,QAAI,EAACD,mCAASE;AAAeb,aAAAA;AAC7B,UAAMO,SAASI,QAAQG,OACrB,CAACC,KAAKH,UAAUG,IAAIC,QAAQJ,OAAQ,IAAGf,QAAQe,MAAMK,MAAM,CAAC,GAAG,GAC/DjB,GACF;AACA,WAAOO,UAAUP;AAAAA,EAAAA,CAClB;AACH;AAGgBkB,SAAAA,cAEdrB,MACAsB,cACA;AACMC,QAAAA,SAASX,SAASU,cAActB,IAAI;AAE1C,QAAMwB,gBAAgB1B,WAAWU,OAAOT,KAAKwB,MAAM,GAAkBvB,IAAI;AAEhEyB,WAAAA,WAAWC,cAAkD,IAAI;AAClE,UAAA;AAAA,MAAEC;AAAAA,MAAIC;AAAAA,QAAQC,OAAO,OAAA;AAE3B,UAAMC,eAAeA,CAAC3B,QACpBwB,GAAI,GAAE3B,QAAQG,OAAOyB,IAAIL,OAAOpB,GAAG,CAAC,GAAGuB,2CAAcvB,IAAI;AAE3D,UAAM4B,UAAUvB,OAAOwB,YACrBxB,OAAOT,KAAKwB,MAAM,EAAEU,IAAK9B,CAAAA,QAAQ,CAACA,KAAK2B,aAAa3B,GAAG,CAAC,CAAC,CAC3D;AAEO,WAAA;AAAA,MAAE4B;AAAAA,MAASH;AAAAA,MAAKD;AAAAA,IAAAA;AAAAA,EACzB;AAEO,SAAA;AAAA,IAAEF;AAAAA,IAAYD;AAAAA,EAAAA;AACvB;;;;"}
@@ -1,23 +1,25 @@
1
- import { clsx } from "clsx";
2
- import { StyledRoot } from "./ActionBar.styles.js";
3
- import actionBarClasses from "./actionBarClasses.js";
1
+ import { useClasses } from "./ActionBar.styles.js";
2
+ import { staticClasses } from "./ActionBar.styles.js";
4
3
  import { jsx } from "@emotion/react/jsx-runtime";
5
4
  const HvActionBar = (props) => {
6
5
  const {
7
- classes,
6
+ classes: classesProp,
8
7
  className,
9
- id,
10
8
  children,
11
9
  ...others
12
10
  } = props;
13
- return /* @__PURE__ */ jsx(StyledRoot, {
14
- id,
15
- className: clsx(actionBarClasses.root, classes == null ? void 0 : classes.root, className),
11
+ const {
12
+ classes,
13
+ cx
14
+ } = useClasses(classesProp);
15
+ return /* @__PURE__ */ jsx("div", {
16
+ className: cx(classes.root, className),
16
17
  ...others,
17
18
  children
18
19
  });
19
20
  };
20
21
  export {
21
- HvActionBar
22
+ HvActionBar,
23
+ staticClasses as actionBarClasses
22
24
  };
23
25
  //# sourceMappingURL=ActionBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBar.js","sources":["../../../../src/components/ActionBar/ActionBar.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { HvBaseProps } from \"@core/types\";\nimport { StyledRoot } from \"./ActionBar.styles\";\nimport actionBarClasses, { HvActionBarClasses } from \"./actionBarClasses\";\n\nexport interface HvActionBarProps extends HvBaseProps {\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: HvActionBarClasses;\n}\n\nexport const HvActionBar = (props: HvActionBarProps) => {\n const { classes, className, id, children, ...others } = props;\n\n return (\n <StyledRoot\n id={id}\n className={clsx(actionBarClasses.root, classes?.root, className)}\n {...others}\n >\n {children}\n </StyledRoot>\n );\n};\n"],"names":["HvActionBar","props","classes","className","id","children","others","StyledRoot","clsx","actionBarClasses","root"],"mappings":";;;;AAUaA,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IAAEC;AAAAA,IAASC;AAAAA,IAAWC;AAAAA,IAAIC;AAAAA,IAAU,GAAGC;AAAAA,EAAWL,IAAAA;AAExD,6BACGM,YAAU;AAAA,IACTH;AAAAA,IACAD,WAAWK,KAAKC,iBAAiBC,MAAMR,mCAASQ,MAAMP,SAAS;AAAA,IAAE,GAC7DG;AAAAA,IAAMD;AAAAA,EAAAA,CAGA;AAEhB;"}
1
+ {"version":3,"file":"ActionBar.js","sources":["../../../../src/components/ActionBar/ActionBar.tsx"],"sourcesContent":["import { HvBaseProps } from \"@core/types\";\nimport { ExtractNames } from \"@core/utils\";\nimport { staticClasses, useClasses } from \"./ActionBar.styles\";\n\nexport { staticClasses as actionBarClasses };\n\nexport type HvActionBarClasses = ExtractNames<typeof useClasses>;\n\nexport interface HvActionBarProps extends HvBaseProps {\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: Partial<HvActionBarClasses>;\n}\n\nexport const HvActionBar = (props: HvActionBarProps) => {\n const { classes: classesProp, className, children, ...others } = props;\n const { classes, cx } = useClasses(classesProp);\n\n return (\n <div className={cx(classes.root, className)} {...others}>\n {children}\n </div>\n );\n};\n"],"names":["HvActionBar","props","classes","classesProp","className","children","others","cx","useClasses","root"],"mappings":";;;AAaaA,MAAAA,cAAcA,CAACC,UAA4B;AAChD,QAAA;AAAA,IAAEC,SAASC;AAAAA,IAAaC;AAAAA,IAAWC;AAAAA,IAAU,GAAGC;AAAAA,EAAWL,IAAAA;AAC3D,QAAA;AAAA,IAAEC;AAAAA,IAASK;AAAAA,EAAAA,IAAOC,WAAWL,WAAW;AAE9C,6BACE,OAAA;AAAA,IAAKC,WAAWG,GAAGL,QAAQO,MAAML,SAAS;AAAA,IAAE,GAAKE;AAAAA,IAAMD;AAAAA,EAAAA,CAElD;AAET;"}
@@ -1,19 +1,20 @@
1
- import _styled from "@emotion/styled/base";
2
1
  import { theme } from "@hitachivantara/uikit-styles";
3
- const StyledRoot = /* @__PURE__ */ _styled("div", process.env.NODE_ENV === "production" ? {
4
- target: "eae5m590"
5
- } : {
6
- target: "eae5m590",
7
- label: "StyledRoot"
8
- })({
9
- width: "100%",
10
- height: "75px",
11
- padding: theme.space.sm,
12
- borderTop: `3px solid ${theme.colors.atmo2}`,
13
- display: "flex",
14
- justifyContent: "flex-end"
15
- }, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3J1bm5lci93b3JrL2h2LXVpa2l0LXJlYWN0L2h2LXVpa2l0LXJlYWN0L3BhY2thZ2VzL2NvcmUvc3JjL2NvbXBvbmVudHMvQWN0aW9uQmFyL0FjdGlvbkJhci5zdHlsZXMudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUcwQiIsImZpbGUiOiIvaG9tZS9ydW5uZXIvd29yay9odi11aWtpdC1yZWFjdC9odi11aWtpdC1yZWFjdC9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL0FjdGlvbkJhci9BY3Rpb25CYXIuc3R5bGVzLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tIFwiQGhpdGFjaGl2YW50YXJhL3Vpa2l0LXN0eWxlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUm9vdCA9IHN0eWxlZChcImRpdlwiKSh7XG4gIHdpZHRoOiBcIjEwMCVcIixcbiAgaGVpZ2h0OiBcIjc1cHhcIixcbiAgcGFkZGluZzogdGhlbWUuc3BhY2Uuc20sXG4gIGJvcmRlclRvcDogYDNweCBzb2xpZCAke3RoZW1lLmNvbG9ycy5hdG1vMn1gLFxuICBkaXNwbGF5OiBcImZsZXhcIixcbiAganVzdGlmeUNvbnRlbnQ6IFwiZmxleC1lbmRcIixcbn0pO1xuIl19 */");
2
+ import { createClasses } from "../../utils/classes.js";
3
+ const {
4
+ staticClasses,
5
+ useClasses
6
+ } = createClasses("HvActionBar", {
7
+ root: {
8
+ width: "100%",
9
+ padding: theme.space.sm,
10
+ borderTop: theme.actionBar.borderTop,
11
+ display: "flex",
12
+ alignItems: "center",
13
+ justifyContent: "flex-end"
14
+ }
15
+ });
16
16
  export {
17
- StyledRoot
17
+ staticClasses,
18
+ useClasses
18
19
  };
19
20
  //# sourceMappingURL=ActionBar.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionBar.styles.js","sources":["../../../../src/components/ActionBar/ActionBar.styles.tsx"],"sourcesContent":["import styled from \"@emotion/styled\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const StyledRoot = styled(\"div\")({\n width: \"100%\",\n height: \"75px\",\n padding: theme.space.sm,\n borderTop: `3px solid ${theme.colors.atmo2}`,\n display: \"flex\",\n justifyContent: \"flex-end\",\n});\n"],"names":["StyledRoot","process","env","NODE_ENV","target","label","width","height","padding","theme","space","sm","borderTop","colors","atmo2","display","justifyContent"],"mappings":";;AAGO,MAAMA,aAAoB,wBAAA,OAAKC,QAAAC,IAAAC,aAAA,eAAA;AAAA,EAAAC,QAAA;AAAA,IAAA;AAAA,EAAAA,QAAA;AAAA,EAAAC,OAAA;AAAA,CAAA,EAAE;AAAA,EACtCC,OAAO;AAAA,EACPC,QAAQ;AAAA,EACRC,SAASC,MAAMC,MAAMC;AAAAA,EACrBC,WAAY,aAAYH,MAAMI,OAAOC;AAAAA,EACrCC,SAAS;AAAA,EACTC,gBAAgB;AAClB,GAACf,QAAAC,IAAAC,aAAC,eAAA,KAAA,y4BAAA;"}
1
+ {"version":3,"file":"ActionBar.styles.js","sources":["../../../../src/components/ActionBar/ActionBar.styles.tsx"],"sourcesContent":["import { createClasses } from \"@core/utils\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\n\nexport const { staticClasses, useClasses } = createClasses(\"HvActionBar\", {\n root: {\n width: \"100%\",\n padding: theme.space.sm,\n borderTop: theme.actionBar.borderTop,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n});\n"],"names":["staticClasses","useClasses","createClasses","root","width","padding","theme","space","sm","borderTop","actionBar","display","alignItems","justifyContent"],"mappings":";;AAGa,MAAA;AAAA,EAAEA;AAAAA,EAAeC;AAAW,IAAIC,cAAc,eAAe;AAAA,EACxEC,MAAM;AAAA,IACJC,OAAO;AAAA,IACPC,SAASC,MAAMC,MAAMC;AAAAA,IACrBC,WAAWH,MAAMI,UAAUD;AAAAA,IAC3BE,SAAS;AAAA,IACTC,YAAY;AAAA,IACZC,gBAAgB;AAAA,EAClB;AACF,CAAC;"}
@@ -0,0 +1,70 @@
1
+ import { forwardRef, useRef } from "react";
2
+ import { useDateSegment } from "@react-aria/datepicker";
3
+ import { jsx, Fragment, jsxs } from "@emotion/react/jsx-runtime";
4
+ const getDateValue = (date) => {
5
+ if (!date)
6
+ return "";
7
+ const {
8
+ hour,
9
+ minute,
10
+ second
11
+ } = date;
12
+ return [hour, minute, second].map((el) => String(el).padStart(2, "0")).join(":");
13
+ };
14
+ const PlaceholderSegment = ({
15
+ segment,
16
+ state,
17
+ placeholder
18
+ }) => {
19
+ const ref = useRef(null);
20
+ const {
21
+ segmentProps
22
+ } = useDateSegment(segment, state, ref);
23
+ return /* @__PURE__ */ jsx("div", {
24
+ ref,
25
+ ...segmentProps,
26
+ children: (() => {
27
+ if (segment.type === "literal")
28
+ return segment.text;
29
+ if (segment.isPlaceholder)
30
+ return placeholder ?? segment.text;
31
+ return segment.text.padStart(2, "0");
32
+ })()
33
+ });
34
+ };
35
+ const Placeholder = forwardRef((props, ref) => {
36
+ const {
37
+ name,
38
+ state,
39
+ placeholders,
40
+ onKeyDown,
41
+ ...others
42
+ } = props;
43
+ const {
44
+ value,
45
+ segments
46
+ } = state;
47
+ return /* @__PURE__ */ jsx(Fragment, {
48
+ children: /* @__PURE__ */ jsxs("div", {
49
+ ref,
50
+ onKeyDown: (event) => {
51
+ event.stopPropagation();
52
+ onKeyDown == null ? void 0 : onKeyDown(event);
53
+ },
54
+ ...others,
55
+ children: [name && /* @__PURE__ */ jsx("input", {
56
+ type: "hidden",
57
+ name,
58
+ value: getDateValue(value)
59
+ }), segments.map((segment, i) => /* @__PURE__ */ jsx(PlaceholderSegment, {
60
+ segment,
61
+ state,
62
+ placeholder: placeholders[segment.type]
63
+ }, i))]
64
+ })
65
+ });
66
+ });
67
+ export {
68
+ Placeholder
69
+ };
70
+ //# sourceMappingURL=Placeholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Placeholder.js","sources":["../../../../src/components/TimePicker/Placeholder.tsx"],"sourcesContent":["import { forwardRef, useRef } from \"react\";\nimport { DateFieldState, DateSegment } from \"@react-stately/datepicker\";\nimport { useDateSegment } from \"@react-aria/datepicker\";\nimport { HvBaseProps } from \"@core/types\";\n\n/** Convert `Date` into `hh:mm:ss` format */\nconst getDateValue = (date) => {\n if (!date) return \"\";\n const { hour, minute, second } = date;\n\n return [hour, minute, second]\n .map((el) => String(el).padStart(2, \"0\"))\n .join(\":\");\n};\n\nconst PlaceholderSegment = ({\n segment,\n state,\n placeholder,\n}: {\n segment: DateSegment;\n state: DateFieldState;\n placeholder: string;\n}) => {\n const ref = useRef(null);\n const { segmentProps } = useDateSegment(segment, state, ref);\n\n return (\n <div ref={ref} {...segmentProps}>\n {(() => {\n if (segment.type === \"literal\") return segment.text;\n if (segment.isPlaceholder) return placeholder ?? segment.text;\n return segment.text.padStart(2, \"0\");\n })()}\n </div>\n );\n};\n\ninterface PlaceholderProps extends HvBaseProps<HTMLDivElement> {\n name?: string;\n state: DateFieldState;\n placeholders: { hour?: string; minute?: string; second?: string };\n}\n\nexport const Placeholder = forwardRef<HTMLDivElement, PlaceholderProps>(\n (props, ref) => {\n const { name, state, placeholders, onKeyDown, ...others } = props;\n const { value, segments } = state;\n\n return (\n <>\n {/* eslint-disable-next-line jsx-a11y/no-static-element-interactions */}\n <div\n ref={ref}\n onKeyDown={(event) => {\n // stop ArrowDown from opening dropdown\n event.stopPropagation();\n onKeyDown?.(event);\n }}\n {...others}\n >\n {name && (\n <input type=\"hidden\" name={name} value={getDateValue(value)} />\n )}\n {segments.map((segment, i) => (\n <PlaceholderSegment\n key={i}\n segment={segment}\n state={state}\n placeholder={placeholders[segment.type]}\n />\n ))}\n </div>\n </>\n );\n }\n);\n"],"names":["getDateValue","date","hour","minute","second","map","el","String","padStart","join","PlaceholderSegment","segment","state","placeholder","ref","useRef","segmentProps","useDateSegment","children","type","text","isPlaceholder","Placeholder","forwardRef","props","name","placeholders","onKeyDown","others","value","segments","_Fragment","event","stopPropagation","_jsx","i"],"mappings":";;;AAMA,MAAMA,eAAgBC,CAAS,SAAA;AAC7B,MAAI,CAACA;AAAa,WAAA;AACZ,QAAA;AAAA,IAAEC;AAAAA,IAAMC;AAAAA,IAAQC;AAAAA,EAAWH,IAAAA;AAEjC,SAAO,CAACC,MAAMC,QAAQC,MAAM,EACzBC,IAAKC,CAAOC,OAAAA,OAAOD,EAAE,EAAEE,SAAS,GAAG,GAAG,CAAC,EACvCC,KAAK,GAAG;AACb;AAEA,MAAMC,qBAAqBA,CAAC;AAAA,EAC1BC;AAAAA,EACAC;AAAAA,EACAC;AAKF,MAAM;AACEC,QAAAA,MAAMC,OAAO,IAAI;AACjB,QAAA;AAAA,IAAEC;AAAAA,EAAiBC,IAAAA,eAAeN,SAASC,OAAOE,GAAG;AAE3D,6BACE,OAAA;AAAA,IAAKA;AAAAA,IAAS,GAAKE;AAAAA,IAAYE,WAC3B,MAAM;AACN,UAAIP,QAAQQ,SAAS;AAAW,eAAOR,QAAQS;AAC/C,UAAIT,QAAQU;AAAe,eAAOR,eAAeF,QAAQS;AACzD,aAAOT,QAAQS,KAAKZ,SAAS,GAAG,GAAG;AAAA,IAAA,GAClC;AAAA,EAAA,CACA;AAET;AAQO,MAAMc,cAAcC,WACzB,CAACC,OAAOV,QAAQ;AACR,QAAA;AAAA,IAAEW;AAAAA,IAAMb;AAAAA,IAAOc;AAAAA,IAAcC;AAAAA,IAAW,GAAGC;AAAAA,EAAWJ,IAAAA;AACtD,QAAA;AAAA,IAAEK;AAAAA,IAAOC;AAAAA,EAAalB,IAAAA;AAE5B,6BACEmB,UAAA;AAAA,IAAAb,+BAEE,OAAA;AAAA,MACEJ;AAAAA,MACAa,WAAYK,CAAU,UAAA;AAEpBA,cAAMC,gBAAgB;AACtBN,+CAAYK;AAAAA,MACd;AAAA,MAAE,GACEJ;AAAAA,MAAMV,UAAA,CAETO,QACCS,oBAAA,SAAA;AAAA,QAAOf,MAAK;AAAA,QAASM;AAAAA,QAAYI,OAAO7B,aAAa6B,KAAK;AAAA,MAAA,CAAI,GAE/DC,SAASzB,IAAI,CAACM,SAASwB,0BACrBzB,oBAAkB;AAAA,QAEjBC;AAAAA,QACAC;AAAAA,QACAC,aAAaa,aAAaf,QAAQQ,IAAI;AAAA,MAAA,GAHjCgB,CAIN,CACF,CAAC;AAAA,IAAA,CACC;AAAA,EAAA,CACL;AAEN,CACF;"}
@@ -0,0 +1,223 @@
1
+ import { useRef, useState, useMemo } from "react";
2
+ import { Time as Time$1 } from "@internationalized/date";
3
+ import { useTimeField } from "@react-aria/datepicker";
4
+ import { useTimeFieldState } from "@react-stately/datepicker";
5
+ import { Time } from "@hitachivantara/uikit-react-icons";
6
+ import { useCss } from "../../hooks/useCss.js";
7
+ import "@hitachivantara/uikit-styles";
8
+ import { Placeholder } from "./Placeholder.js";
9
+ import { useClasses } from "./TimePicker.styles.js";
10
+ import { staticClasses } from "./TimePicker.styles.js";
11
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
12
+ import useUniqueId from "../../hooks/useUniqueId.js";
13
+ import { Unit } from "./Unit/Unit.js";
14
+ import { useControlled } from "../../hooks/useControlled.js";
15
+ import { setId } from "../../utils/setId.js";
16
+ import { HvFormElement } from "../Forms/FormElement/FormElement.js";
17
+ import { HvLabel } from "../Forms/Label/Label.js";
18
+ import { HvInfoMessage } from "../Forms/InfoMessage/InfoMessage.js";
19
+ import { HvBaseDropdown } from "../BaseDropdown/BaseDropdown.js";
20
+ import { HvWarningText } from "../Forms/WarningText/WarningText.js";
21
+ const toTime = (value) => {
22
+ if (!value)
23
+ return void 0;
24
+ const {
25
+ hours,
26
+ minutes,
27
+ seconds
28
+ } = value;
29
+ return new Time$1(hours, minutes, seconds);
30
+ };
31
+ const getFormat = (timeFormat) => {
32
+ if (timeFormat == null)
33
+ return 24;
34
+ return timeFormat === "12" ? 12 : 24;
35
+ };
36
+ const HvTimePicker = (props) => {
37
+ const {
38
+ classes: classesProp = {},
39
+ className,
40
+ id: idProp,
41
+ name,
42
+ required = false,
43
+ disabled = false,
44
+ readOnly = false,
45
+ label,
46
+ "aria-label": ariaLabel,
47
+ "aria-labelledby": ariaLabelledBy,
48
+ description,
49
+ "aria-describedby": ariaDescribedBy,
50
+ status,
51
+ statusMessage,
52
+ "aria-errormessage": ariaErrorMessage,
53
+ placeholder,
54
+ hoursPlaceholder = "hh",
55
+ minutesPlaceholder = "mm",
56
+ secondsPlaceholder = "ss",
57
+ value: valueProp,
58
+ defaultValue: defaultValueProp,
59
+ timeFormat,
60
+ showSeconds,
61
+ disableExpand,
62
+ locale = "en",
63
+ onToggle,
64
+ onChange,
65
+ // misc properties:
66
+ disablePortal = true,
67
+ escapeWithReference = true,
68
+ dropdownProps,
69
+ ...others
70
+ } = props;
71
+ const id = useUniqueId(idProp, "hvtimepicker");
72
+ const ref = useRef(null);
73
+ const {
74
+ css
75
+ } = useCss();
76
+ const {
77
+ classes,
78
+ cx
79
+ } = useClasses(classesProp);
80
+ const stateProps = {
81
+ value: toTime(valueProp),
82
+ defaultValue: toTime(defaultValueProp),
83
+ label,
84
+ locale,
85
+ isRequired: required,
86
+ isReadOnly: readOnly,
87
+ isDisabled: disabled,
88
+ granularity: "second",
89
+ hourCycle: getFormat(timeFormat),
90
+ onChange: (value) => {
91
+ const {
92
+ hour: hours,
93
+ minute: minutes,
94
+ second: seconds
95
+ } = value;
96
+ onChange == null ? void 0 : onChange({
97
+ hours,
98
+ minutes,
99
+ seconds
100
+ });
101
+ }
102
+ };
103
+ const state = useTimeFieldState(stateProps);
104
+ const {
105
+ labelProps,
106
+ fieldProps
107
+ } = useTimeField({
108
+ ...stateProps,
109
+ id,
110
+ "aria-label": ariaLabel,
111
+ "aria-labelledby": ariaLabelledBy,
112
+ "aria-describedby": ariaDescribedBy
113
+ }, state, ref);
114
+ const [open, setOpen] = useState(false);
115
+ const [validationMessage] = useControlled(statusMessage, "Required");
116
+ const [validationState] = useControlled(status, "standBy");
117
+ const placeholders = useMemo(() => ({
118
+ hour: hoursPlaceholder,
119
+ minute: minutesPlaceholder,
120
+ second: secondsPlaceholder
121
+ }), [hoursPlaceholder, minutesPlaceholder, secondsPlaceholder]);
122
+ const canShowError = ariaErrorMessage == null && (status !== void 0 && statusMessage !== void 0 || status === void 0 && required);
123
+ const is12HrFormat = state.segments[5] != null;
124
+ const isStateInvalid = validationState === "invalid";
125
+ const errorMessageId = isStateInvalid ? canShowError ? setId(id, "error") : ariaErrorMessage : void 0;
126
+ return /* @__PURE__ */ jsxs(HvFormElement, {
127
+ name,
128
+ required,
129
+ disabled,
130
+ status: validationState,
131
+ className: cx(classes.root, className),
132
+ ...others,
133
+ children: [(label || description) && /* @__PURE__ */ jsxs("div", {
134
+ className: classes.labelContainer,
135
+ children: [label && /* @__PURE__ */ jsx(HvLabel, {
136
+ label,
137
+ className: classes.label,
138
+ ...labelProps
139
+ }), description && /* @__PURE__ */ jsx(HvInfoMessage, {
140
+ className: classes.description,
141
+ children: description
142
+ })]
143
+ }), /* @__PURE__ */ jsx("div", {
144
+ className: css({
145
+ width: is12HrFormat ? 220 : 200
146
+ }),
147
+ children: /* @__PURE__ */ jsx(HvBaseDropdown, {
148
+ role: "combobox",
149
+ variableWidth: true,
150
+ disabled,
151
+ readOnly,
152
+ placeholder: placeholder && !state.value ? placeholder : /* @__PURE__ */ jsx(Placeholder, {
153
+ ref,
154
+ name,
155
+ state,
156
+ placeholders,
157
+ className: cx(classes.placeholder, {
158
+ [classes.placeholderDisabled]: disabled
159
+ }),
160
+ ...fieldProps
161
+ }),
162
+ classes: {
163
+ header: cx(classes.dropdownHeader, {
164
+ [classes.dropdownHeaderInvalid]: isStateInvalid
165
+ }),
166
+ panel: classes.dropdownPanel,
167
+ headerOpen: classes.dropdownHeaderOpen
168
+ },
169
+ placement: "right",
170
+ adornment: /* @__PURE__ */ jsx(Time, {
171
+ color: disabled ? "secondary_60" : void 0,
172
+ className: classes.icon
173
+ }),
174
+ expanded: open,
175
+ onToggle: (evt, newOpen) => {
176
+ if (disableExpand)
177
+ return;
178
+ setOpen(newOpen);
179
+ onToggle == null ? void 0 : onToggle(evt, newOpen);
180
+ },
181
+ onContainerCreation: (containerRef) => {
182
+ var _a;
183
+ (_a = containerRef == null ? void 0 : containerRef.getElementsByTagName("input")[0]) == null ? void 0 : _a.focus();
184
+ },
185
+ "aria-haspopup": "dialog",
186
+ "aria-invalid": isStateInvalid ? true : void 0,
187
+ "aria-errormessage": errorMessageId,
188
+ disablePortal,
189
+ popperProps: {
190
+ modifiers: [{
191
+ name: "preventOverflow",
192
+ enabled: escapeWithReference
193
+ }]
194
+ },
195
+ ...dropdownProps,
196
+ children: /* @__PURE__ */ jsx("div", {
197
+ ref,
198
+ className: classes.timePopperContainer,
199
+ children: state.segments.map((segment, i) => /* @__PURE__ */ jsx(Unit, {
200
+ state,
201
+ segment,
202
+ placeholder: placeholders[segment.type],
203
+ onAdd: () => state.increment(segment.type),
204
+ onSub: () => state.decrement(segment.type),
205
+ onChange: (evt, val) => {
206
+ state.setSegment(segment.type, Number(val));
207
+ }
208
+ }, i))
209
+ })
210
+ })
211
+ }), canShowError && /* @__PURE__ */ jsx(HvWarningText, {
212
+ id: setId(id, "error"),
213
+ disableBorder: true,
214
+ className: classes.error,
215
+ children: validationMessage
216
+ })]
217
+ });
218
+ };
219
+ export {
220
+ HvTimePicker,
221
+ staticClasses as timePickerClasses
222
+ };
223
+ //# sourceMappingURL=TimePicker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePicker.js","sources":["../../../../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["import { useState, useRef, useMemo } from \"react\";\nimport { Time } from \"@internationalized/date\";\nimport { useTimeField } from \"@react-aria/datepicker\";\nimport {\n TimeFieldStateOptions,\n useTimeFieldState,\n} from \"@react-stately/datepicker\";\n\nimport { Time as TimeIcon } from \"@hitachivantara/uikit-react-icons\";\nimport { useCss } from \"@core/hooks/useCss\";\nimport {\n HvFormElement,\n HvBaseDropdown,\n HvLabel,\n HvWarningText,\n HvInfoMessage,\n HvFormElementProps,\n HvBaseDropdownProps,\n useControlled,\n useUniqueId,\n setId,\n ExtractNames,\n} from \"../..\";\n\nimport { Unit } from \"./Unit\";\nimport { Placeholder } from \"./Placeholder\";\nimport { staticClasses, useClasses } from \"./TimePicker.styles\";\n\nconst toTime = (value?: HvTimePickerValue) => {\n if (!value) return undefined;\n const { hours, minutes, seconds } = value;\n return new Time(hours, minutes, seconds);\n};\n\nconst getFormat = (timeFormat?: TimeFormat) => {\n if (timeFormat == null) return 24;\n return timeFormat === \"12\" ? 12 : 24;\n};\n\nexport { staticClasses as timePickerClasses };\n\nexport type TimeFormat = \"12\" | \"24\";\n\nexport type HvTimePickerClasses = ExtractNames<typeof useClasses>;\n\nexport type HvTimePickerClassKey =\n | \"root\"\n | \"input\"\n | \"label\"\n | \"placeholder\"\n | \"timePopperContainer\"\n | \"separator\"\n | \"periodContainer\"\n | \"formElementRoot\"\n | \"dropdownPlaceholder\"\n | \"iconBaseRoot\"\n | \"error\"\n | \"labelContainer\"\n | \"description\"\n | \"dropdownHeaderInvalid\"\n | \"dropdownPlaceholderDisabled\"\n | \"dropdownHeaderOpen\";\n\nexport type HvTimePickerValue = {\n hours: number;\n minutes: number;\n seconds: number;\n};\n\nexport interface HvTimePickerProps\n extends Omit<\n HvFormElementProps,\n \"classes\" | \"value\" | \"defaultValue\" | \"onChange\" | \"onFocus\" | \"onBlur\"\n > {\n /** Id to be applied to the form element root node. */\n id?: string;\n /** A Jss Object used to override or extend the styles applied to the component. */\n classes?: Partial<HvTimePickerClasses>;\n /** Current value of the element when _controlled_. Follows the 24-hour format. */\n value?: HvTimePickerValue;\n /** Initial value of the element when _uncontrolled_. Follows the 24-hour format. */\n defaultValue?: HvTimePickerValue;\n /** The placeholder value when no time is selected. */\n placeholder?: string;\n /** The placeholder of the hours input. */\n hoursPlaceholder?: string;\n /** The placeholder of the minutes input. */\n minutesPlaceholder?: string;\n /** The placeholder of the seconds input. */\n secondsPlaceholder?: string;\n /**\n * Whether the time picker should show the AM/PM 12-hour clock or the 24-hour one.\n * If undefined, the component will use a format according to the passed locale.\n */\n timeFormat?: TimeFormat;\n /** Whether to show the seconds when using the native time picker */\n showSeconds?: boolean;\n /** Locale that will provide the time format(12 or 24 hour format). It is \"overwritten\" by `showAmPm` */\n locale?: string;\n /** Whether the dropdown is expandable. */\n disableExpand?: boolean;\n\n /**\n * Callback function to be triggered when the input value is changed.\n * It is invoked with a `{hours, minutes, seconds}` object, always in the 24h format\n */\n onChange?: (value: HvTimePickerValue) => void;\n\n /** Callback called when dropdown changes the expanded state. */\n onToggle?: (event: Event, isOpen: boolean) => void;\n\n /** Disable the portal behavior. The children stay within it's parent DOM hierarchy. */\n disablePortal?: boolean;\n\n /** Sets if the calendar container should follow the date picker input out of the screen or stay visible. */\n escapeWithReference?: boolean;\n\n /** Extra properties to be passed to the TimePicker's dropdown. */\n dropdownProps?: Partial<HvBaseDropdownProps>;\n}\n\n/**\n * A Time Picker allows the user to choose a specific time or a time range.\n */\nexport const HvTimePicker = (props: HvTimePickerProps) => {\n const {\n classes: classesProp = {},\n className,\n\n id: idProp,\n name,\n required = false,\n disabled = false,\n readOnly = false,\n label,\n\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n description,\n \"aria-describedby\": ariaDescribedBy,\n status,\n statusMessage,\n \"aria-errormessage\": ariaErrorMessage,\n\n placeholder,\n hoursPlaceholder = \"hh\",\n minutesPlaceholder = \"mm\",\n secondsPlaceholder = \"ss\",\n\n value: valueProp,\n defaultValue: defaultValueProp,\n\n timeFormat,\n showSeconds,\n disableExpand,\n locale = \"en\",\n\n onToggle,\n onChange,\n\n // misc properties:\n disablePortal = true,\n escapeWithReference = true,\n dropdownProps,\n ...others\n } = props;\n const id = useUniqueId(idProp, \"hvtimepicker\");\n const ref = useRef<HTMLDivElement>(null);\n const { css } = useCss();\n const { classes, cx } = useClasses(classesProp);\n\n const stateProps: TimeFieldStateOptions = {\n value: toTime(valueProp),\n defaultValue: toTime(defaultValueProp),\n label,\n locale,\n isRequired: required,\n isReadOnly: readOnly,\n isDisabled: disabled,\n granularity: \"second\",\n hourCycle: getFormat(timeFormat),\n onChange: (value) => {\n const { hour: hours, minute: minutes, second: seconds } = value;\n onChange?.({ hours, minutes, seconds });\n },\n };\n const state = useTimeFieldState(stateProps);\n const { labelProps, fieldProps } = useTimeField(\n {\n ...stateProps,\n id,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n },\n state,\n ref\n );\n\n const [open, setOpen] = useState(false);\n\n const [validationMessage] = useControlled(statusMessage, \"Required\");\n const [validationState] = useControlled(status, \"standBy\");\n\n const placeholders = useMemo(\n () => ({\n hour: hoursPlaceholder,\n minute: minutesPlaceholder,\n second: secondsPlaceholder,\n }),\n [hoursPlaceholder, minutesPlaceholder, secondsPlaceholder]\n );\n\n // the error message area will only be created if:\n // - an external element that provides an error message isn't identified via aria-errormessage AND\n // - both status and statusMessage properties are being controlled OR\n // - status is uncontrolled and required is true\n const canShowError =\n ariaErrorMessage == null &&\n ((status !== undefined && statusMessage !== undefined) ||\n (status === undefined && required));\n\n const is12HrFormat = state.segments[5] != null;\n const isStateInvalid = validationState === \"invalid\";\n const errorMessageId = isStateInvalid\n ? canShowError\n ? setId(id, \"error\")\n : ariaErrorMessage\n : undefined;\n\n return (\n <HvFormElement\n name={name}\n required={required}\n disabled={disabled}\n status={validationState}\n className={cx(classes.root, className)}\n {...others}\n >\n {(label || description) && (\n <div className={classes.labelContainer}>\n {label && (\n <HvLabel label={label} className={classes.label} {...labelProps} />\n )}\n {description && (\n <HvInfoMessage className={classes.description}>\n {description}\n </HvInfoMessage>\n )}\n </div>\n )}\n\n <div className={css({ width: is12HrFormat ? 220 : 200 })}>\n <HvBaseDropdown\n role=\"combobox\"\n variableWidth\n disabled={disabled}\n readOnly={readOnly}\n placeholder={\n placeholder && !state.value ? (\n placeholder\n ) : (\n <Placeholder\n ref={ref}\n name={name}\n state={state}\n placeholders={placeholders}\n className={cx(classes.placeholder, {\n [classes.placeholderDisabled]: disabled,\n })}\n {...fieldProps}\n />\n )\n }\n classes={{\n header: cx(classes.dropdownHeader, {\n [classes.dropdownHeaderInvalid]: isStateInvalid,\n }),\n panel: classes.dropdownPanel,\n headerOpen: classes.dropdownHeaderOpen,\n }}\n placement=\"right\"\n adornment={\n <TimeIcon\n color={disabled ? \"secondary_60\" : undefined}\n className={classes.icon}\n />\n }\n expanded={open}\n onToggle={(evt, newOpen) => {\n if (disableExpand) return;\n setOpen(newOpen);\n onToggle?.(evt, newOpen);\n }}\n onContainerCreation={(containerRef) => {\n containerRef?.getElementsByTagName(\"input\")[0]?.focus();\n }}\n aria-haspopup=\"dialog\"\n aria-invalid={isStateInvalid ? true : undefined}\n aria-errormessage={errorMessageId}\n disablePortal={disablePortal}\n popperProps={{\n modifiers: [\n { name: \"preventOverflow\", enabled: escapeWithReference },\n ],\n }}\n {...dropdownProps}\n >\n <div ref={ref} className={classes.timePopperContainer}>\n {state.segments.map((segment, i) => (\n <Unit\n key={i}\n state={state}\n segment={segment}\n placeholder={placeholders[segment.type]}\n onAdd={() => state.increment(segment.type)}\n onSub={() => state.decrement(segment.type)}\n onChange={(evt, val) => {\n state.setSegment(segment.type, Number(val));\n }}\n />\n ))}\n </div>\n </HvBaseDropdown>\n </div>\n\n {canShowError && (\n <HvWarningText\n id={setId(id, \"error\")}\n disableBorder\n className={classes.error}\n >\n {validationMessage}\n </HvWarningText>\n )}\n </HvFormElement>\n );\n};\n"],"names":["toTime","value","undefined","hours","minutes","seconds","Time","getFormat","timeFormat","HvTimePicker","props","classes","classesProp","className","id","idProp","name","required","disabled","readOnly","label","ariaLabel","ariaLabelledBy","description","ariaDescribedBy","status","statusMessage","ariaErrorMessage","placeholder","hoursPlaceholder","minutesPlaceholder","secondsPlaceholder","valueProp","defaultValue","defaultValueProp","showSeconds","disableExpand","locale","onToggle","onChange","disablePortal","escapeWithReference","dropdownProps","others","useUniqueId","ref","useRef","css","useCss","cx","useClasses","stateProps","isRequired","isReadOnly","isDisabled","granularity","hourCycle","hour","minute","second","state","useTimeFieldState","labelProps","fieldProps","useTimeField","open","setOpen","useState","validationMessage","useControlled","validationState","placeholders","useMemo","canShowError","is12HrFormat","segments","isStateInvalid","errorMessageId","setId","HvFormElement","root","children","labelContainer","_jsx","HvLabel","HvInfoMessage","width","HvBaseDropdown","role","variableWidth","Placeholder","placeholderDisabled","header","dropdownHeader","dropdownHeaderInvalid","panel","dropdownPanel","headerOpen","dropdownHeaderOpen","placement","adornment","TimeIcon","color","icon","expanded","evt","newOpen","onContainerCreation","containerRef","getElementsByTagName","focus","popperProps","modifiers","enabled","timePopperContainer","map","segment","i","Unit","type","onAdd","increment","onSub","decrement","val","setSegment","Number","HvWarningText","disableBorder","error"],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { theme } from "@hitachivantara/uikit-styles";
2
+ import { createClasses } from "../../utils/classes.js";
3
+ const {
4
+ useClasses,
5
+ staticClasses
6
+ } = createClasses("HvTimerPicker", {
7
+ root: {
8
+ position: "relative"
9
+ },
10
+ labelContainer: {
11
+ display: "flex",
12
+ alignItems: "flex-start"
13
+ },
14
+ label: {
15
+ marginBottom: 6,
16
+ display: "block"
17
+ },
18
+ description: {},
19
+ placeholder: {
20
+ display: "flex",
21
+ gap: 1
22
+ },
23
+ placeholderDisabled: {
24
+ color: theme.colors.secondary_60
25
+ },
26
+ dropdownHeader: {},
27
+ dropdownHeaderOpen: {},
28
+ dropdownHeaderInvalid: {
29
+ border: `1px solid ${theme.colors.negative}`,
30
+ "&:hover": {
31
+ border: `1px solid ${theme.colors.negative}`
32
+ }
33
+ },
34
+ dropdownPanel: {},
35
+ icon: {},
36
+ timePopperContainer: {
37
+ backgroundColor: theme.colors.atmo1,
38
+ zIndex: 10,
39
+ display: "flex",
40
+ flexDirection: "row",
41
+ justifyContent: "center",
42
+ alignItems: "center",
43
+ padding: theme.spacing(["xs", 0]),
44
+ userSelect: "none",
45
+ minWidth: "175px"
46
+ },
47
+ error: {}
48
+ });
49
+ export {
50
+ staticClasses,
51
+ useClasses
52
+ };
53
+ //# sourceMappingURL=TimePicker.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TimePicker.styles.js","sources":["../../../../src/components/TimePicker/TimePicker.styles.ts"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { createClasses } from \"@core/utils\";\n\nexport const { useClasses, staticClasses } = createClasses(\"HvTimerPicker\", {\n root: {\n position: \"relative\",\n },\n\n labelContainer: {\n display: \"flex\",\n alignItems: \"flex-start\",\n },\n label: {\n marginBottom: 6,\n display: \"block\",\n },\n description: {},\n\n placeholder: {\n display: \"flex\",\n gap: 1,\n },\n placeholderDisabled: {\n color: theme.colors.secondary_60,\n },\n\n dropdownHeader: {},\n dropdownHeaderOpen: {},\n dropdownHeaderInvalid: {\n border: `1px solid ${theme.colors.negative}`,\n \"&:hover\": {\n border: `1px solid ${theme.colors.negative}`,\n },\n },\n dropdownPanel: {},\n\n icon: {},\n\n timePopperContainer: {\n backgroundColor: theme.colors.atmo1,\n zIndex: 10,\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: theme.spacing([\"xs\", 0]),\n userSelect: \"none\",\n minWidth: \"175px\",\n },\n\n error: {},\n});\n"],"names":["useClasses","staticClasses","createClasses","root","position","labelContainer","display","alignItems","label","marginBottom","description","placeholder","gap","placeholderDisabled","color","theme","colors","secondary_60","dropdownHeader","dropdownHeaderOpen","dropdownHeaderInvalid","border","negative","dropdownPanel","icon","timePopperContainer","backgroundColor","atmo1","zIndex","flexDirection","justifyContent","padding","spacing","userSelect","minWidth","error"],"mappings":";;AAGa,MAAA;AAAA,EAAEA;AAAAA,EAAYC;AAAc,IAAIC,cAAc,iBAAiB;AAAA,EAC1EC,MAAM;AAAA,IACJC,UAAU;AAAA,EACZ;AAAA,EAEAC,gBAAgB;AAAA,IACdC,SAAS;AAAA,IACTC,YAAY;AAAA,EACd;AAAA,EACAC,OAAO;AAAA,IACLC,cAAc;AAAA,IACdH,SAAS;AAAA,EACX;AAAA,EACAI,aAAa,CAAC;AAAA,EAEdC,aAAa;AAAA,IACXL,SAAS;AAAA,IACTM,KAAK;AAAA,EACP;AAAA,EACAC,qBAAqB;AAAA,IACnBC,OAAOC,MAAMC,OAAOC;AAAAA,EACtB;AAAA,EAEAC,gBAAgB,CAAC;AAAA,EACjBC,oBAAoB,CAAC;AAAA,EACrBC,uBAAuB;AAAA,IACrBC,QAAS,aAAYN,MAAMC,OAAOM;AAAAA,IAClC,WAAW;AAAA,MACTD,QAAS,aAAYN,MAAMC,OAAOM;AAAAA,IACpC;AAAA,EACF;AAAA,EACAC,eAAe,CAAC;AAAA,EAEhBC,MAAM,CAAC;AAAA,EAEPC,qBAAqB;AAAA,IACnBC,iBAAiBX,MAAMC,OAAOW;AAAAA,IAC9BC,QAAQ;AAAA,IACRtB,SAAS;AAAA,IACTuB,eAAe;AAAA,IACfC,gBAAgB;AAAA,IAChBvB,YAAY;AAAA,IACZwB,SAAShB,MAAMiB,QAAQ,CAAC,MAAM,CAAC,CAAC;AAAA,IAChCC,YAAY;AAAA,IACZC,UAAU;AAAA,EACZ;AAAA,EAEAC,OAAO,CAAC;AACV,CAAC;"}