@hitachivantara/uikit-react-lab 3.53.0 → 3.55.1

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 (97) hide show
  1. package/dist/ImageCarousel/ImageCarousel.d.ts +11 -0
  2. package/dist/ImageCarousel/ImageCarousel.js +615 -0
  3. package/dist/ImageCarousel/ImageCarousel.js.map +1 -0
  4. package/dist/ImageCarousel/index.d.ts +2 -0
  5. package/dist/ImageCarousel/index.js +16 -0
  6. package/dist/ImageCarousel/index.js.map +1 -0
  7. package/dist/ImageCarousel/stories/resources/Ahsoka.jpg +0 -0
  8. package/dist/ImageCarousel/stories/resources/AnakinSkywalker.jpg +0 -0
  9. package/dist/ImageCarousel/stories/resources/BobaFett.jpg +0 -0
  10. package/dist/ImageCarousel/stories/resources/DarthVader.jpg +0 -0
  11. package/dist/ImageCarousel/stories/resources/MaceWindu.jpg +0 -0
  12. package/dist/ImageCarousel/stories/resources/ObiWan.png +0 -0
  13. package/dist/ImageCarousel/stories/resources/Panoramic.jpg +0 -0
  14. package/dist/ImageCarousel/stories/resources/Revan.jpg +0 -0
  15. package/dist/ImageCarousel/stories/resources/TheMandalorian.jpg +0 -0
  16. package/dist/ImageCarousel/stories/resources/Yoda.jpg +0 -0
  17. package/dist/ImageCarousel/styles.js +238 -0
  18. package/dist/ImageCarousel/styles.js.map +1 -0
  19. package/dist/StepNavigation/DefaultNavigation/Step/Step.d.ts +5 -0
  20. package/dist/StepNavigation/DefaultNavigation/Step/Step.js +9 -2
  21. package/dist/StepNavigation/DefaultNavigation/Step/Step.js.map +1 -1
  22. package/dist/StepNavigation/SimpleNavigation/Dot/Dot.d.ts +1 -1
  23. package/dist/StepNavigation/SimpleNavigation/Dot/Dot.js +14 -4
  24. package/dist/StepNavigation/SimpleNavigation/Dot/Dot.js.map +1 -1
  25. package/dist/StepNavigation/SimpleNavigation/Dot/styles.js +0 -3
  26. package/dist/StepNavigation/SimpleNavigation/Dot/styles.js.map +1 -1
  27. package/dist/StepNavigation/StepNavigation.d.ts +6 -5
  28. package/dist/StepNavigation/StepNavigation.js +17 -5
  29. package/dist/StepNavigation/StepNavigation.js.map +1 -1
  30. package/dist/index.d.ts +3 -0
  31. package/dist/index.js +10 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/legacy/ImageCarousel/ImageCarousel.d.ts +11 -0
  34. package/dist/legacy/ImageCarousel/ImageCarousel.js +574 -0
  35. package/dist/legacy/ImageCarousel/ImageCarousel.js.map +1 -0
  36. package/dist/legacy/ImageCarousel/index.d.ts +2 -0
  37. package/dist/legacy/ImageCarousel/index.js +2 -0
  38. package/dist/legacy/ImageCarousel/index.js.map +1 -0
  39. package/dist/legacy/ImageCarousel/stories/resources/Ahsoka.jpg +0 -0
  40. package/dist/legacy/ImageCarousel/stories/resources/AnakinSkywalker.jpg +0 -0
  41. package/dist/legacy/ImageCarousel/stories/resources/BobaFett.jpg +0 -0
  42. package/dist/legacy/ImageCarousel/stories/resources/DarthVader.jpg +0 -0
  43. package/dist/legacy/ImageCarousel/stories/resources/MaceWindu.jpg +0 -0
  44. package/dist/legacy/ImageCarousel/stories/resources/ObiWan.png +0 -0
  45. package/dist/legacy/ImageCarousel/stories/resources/Panoramic.jpg +0 -0
  46. package/dist/legacy/ImageCarousel/stories/resources/Revan.jpg +0 -0
  47. package/dist/legacy/ImageCarousel/stories/resources/TheMandalorian.jpg +0 -0
  48. package/dist/legacy/ImageCarousel/stories/resources/Yoda.jpg +0 -0
  49. package/dist/legacy/ImageCarousel/styles.js +228 -0
  50. package/dist/legacy/ImageCarousel/styles.js.map +1 -0
  51. package/dist/legacy/StepNavigation/DefaultNavigation/Step/Step.d.ts +5 -0
  52. package/dist/legacy/StepNavigation/DefaultNavigation/Step/Step.js +9 -2
  53. package/dist/legacy/StepNavigation/DefaultNavigation/Step/Step.js.map +1 -1
  54. package/dist/legacy/StepNavigation/SimpleNavigation/Dot/Dot.d.ts +1 -1
  55. package/dist/legacy/StepNavigation/SimpleNavigation/Dot/Dot.js +14 -4
  56. package/dist/legacy/StepNavigation/SimpleNavigation/Dot/Dot.js.map +1 -1
  57. package/dist/legacy/StepNavigation/SimpleNavigation/Dot/styles.js +0 -3
  58. package/dist/legacy/StepNavigation/SimpleNavigation/Dot/styles.js.map +1 -1
  59. package/dist/legacy/StepNavigation/StepNavigation.d.ts +6 -5
  60. package/dist/legacy/StepNavigation/StepNavigation.js +17 -5
  61. package/dist/legacy/StepNavigation/StepNavigation.js.map +1 -1
  62. package/dist/legacy/index.d.ts +3 -0
  63. package/dist/legacy/index.js +1 -0
  64. package/dist/legacy/index.js.map +1 -1
  65. package/dist/modern/ImageCarousel/ImageCarousel.d.ts +11 -0
  66. package/dist/modern/ImageCarousel/ImageCarousel.js +499 -0
  67. package/dist/modern/ImageCarousel/ImageCarousel.js.map +1 -0
  68. package/dist/modern/ImageCarousel/index.d.ts +2 -0
  69. package/dist/modern/ImageCarousel/index.js +2 -0
  70. package/dist/modern/ImageCarousel/index.js.map +1 -0
  71. package/dist/modern/ImageCarousel/stories/resources/Ahsoka.jpg +0 -0
  72. package/dist/modern/ImageCarousel/stories/resources/AnakinSkywalker.jpg +0 -0
  73. package/dist/modern/ImageCarousel/stories/resources/BobaFett.jpg +0 -0
  74. package/dist/modern/ImageCarousel/stories/resources/DarthVader.jpg +0 -0
  75. package/dist/modern/ImageCarousel/stories/resources/MaceWindu.jpg +0 -0
  76. package/dist/modern/ImageCarousel/stories/resources/ObiWan.png +0 -0
  77. package/dist/modern/ImageCarousel/stories/resources/Panoramic.jpg +0 -0
  78. package/dist/modern/ImageCarousel/stories/resources/Revan.jpg +0 -0
  79. package/dist/modern/ImageCarousel/stories/resources/TheMandalorian.jpg +0 -0
  80. package/dist/modern/ImageCarousel/stories/resources/Yoda.jpg +0 -0
  81. package/dist/modern/ImageCarousel/styles.js +241 -0
  82. package/dist/modern/ImageCarousel/styles.js.map +1 -0
  83. package/dist/modern/StepNavigation/DefaultNavigation/Step/Step.d.ts +5 -0
  84. package/dist/modern/StepNavigation/DefaultNavigation/Step/Step.js +9 -2
  85. package/dist/modern/StepNavigation/DefaultNavigation/Step/Step.js.map +1 -1
  86. package/dist/modern/StepNavigation/SimpleNavigation/Dot/Dot.d.ts +1 -1
  87. package/dist/modern/StepNavigation/SimpleNavigation/Dot/Dot.js +14 -4
  88. package/dist/modern/StepNavigation/SimpleNavigation/Dot/Dot.js.map +1 -1
  89. package/dist/modern/StepNavigation/SimpleNavigation/Dot/styles.js +0 -3
  90. package/dist/modern/StepNavigation/SimpleNavigation/Dot/styles.js.map +1 -1
  91. package/dist/modern/StepNavigation/StepNavigation.d.ts +6 -5
  92. package/dist/modern/StepNavigation/StepNavigation.js +17 -5
  93. package/dist/modern/StepNavigation/StepNavigation.js.map +1 -1
  94. package/dist/modern/index.d.ts +3 -0
  95. package/dist/modern/index.js +1 -0
  96. package/dist/modern/index.js.map +1 -1
  97. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"StepNavigation.js","names":["React","PropTypes","clsx","withStyles","Typography","styled","useTheme","HvTooltip","HvTypography","useWidth","HvDefaultNavigation","HvSimpleNavigation","SEPARATOR_WIDTH","TITLE_MARGIN","TITLE_WIDTH","styles","HvStepNavigation","className","classes","width","steps","stepSize","showTitles","type","others","theme","breakpoint","stepSizeKey","includes","hasTitles","styledLi","containerSize","height","styledDiv","styledSeparatorElement","title","separatorClassName","separatorHeight","separatorWidth","backgroundColor","Separator","separatorElement","separator","drawItems","separatorValues","minWidth","maxWidth","getColor","stepValues","minSize","maxSize","StepComponent","items","reduce","acc","index","state","props","StepContainer","Step","Math","max","stepProps","size","number","stepElement","li","length","ol","getDynamicValues","stepsWidth","Number","next","breakpoints","keys","find","_","self","navWidth","min","values","titleWidth","ceil","styledTitle","titleClassName","variant","stepTitle","textAlign","marginRight","getTitles","getTitleProps","titles","map","rawTitle","Title","StepNavigation","Default","Simple","numSteps","root","itemsProps","margin","propTypes","string","shape","isRequired","oneOf","arrayOf","bool","name"],"sources":["../../../src/StepNavigation/StepNavigation.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles, Typography, styled, useTheme } from \"@material-ui/core\";\nimport { HvTooltip, HvTypography, useWidth } from \"@hitachivantara/uikit-react-core\";\n\nimport HvDefaultNavigation from \"./DefaultNavigation\";\nimport HvSimpleNavigation from \"./SimpleNavigation\";\nimport { SEPARATOR_WIDTH, TITLE_MARGIN, TITLE_WIDTH } from \"./utils\";\nimport styles from \"./styles\";\n\n/**\n * Navigation page with steps.\n *\n * You need to define the <b>steps<b/> displayed on the component so that itself can be drawn on the UI.\n * On each step, you need to define a <b>state</b> - 'Pending', 'Failed', 'Completed', 'Current', 'Disabled' -\n * and a <b>title</b> to be shown as a tooltip or a text above of the step. You can also:\n * * Define a <b>className</b> on each step element;\n * * Define a <b>separatorClassName</b> to specify a className for the separator element. The default height\n * values of the separator element are 2px/3px on 'Simple'/'Default' layouts respectively;\n * * Define a <b>titleClassName</b> to specify a className for the title above each step element.\n *\n * For the root element, you can:\n * * Define a <b>className</b>;\n * * Choose a <b>type</b> of layout: 'Simple' or 'Default';\n * * Choose the <b>stepSize</b> of the step component: \"XS\", \"SM\", \"MD\", \"LG\", \"XL\". The default size will be\n * correspondent to the current media breakpoint;\n * * Choose either you want to <b>showTitles</b> near to each step component or a tootlip on hover;\n * * Define a <b>width</b> of the component. If you don't define any value and the step component has no title\n * displayed above, the width of the separator element;\n * will be 100px. If the step component has titles, each one will have 215px of width by default.\n */\nconst HvStepNavigation = ({\n className,\n classes,\n width,\n steps,\n stepSize,\n showTitles,\n type = \"Default\",\n ...others\n}) => {\n const theme = useTheme();\n // current breakpoint 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n const breakpoint = useWidth();\n // step configurations\n const stepSizeKey = stepSize ?? ([\"xs\", \"sm\"].includes(breakpoint) ? \"SM\" : \"MD\");\n const hasTitles = showTitles ?? ![\"xs\", \"sm\"].includes(breakpoint);\n\n const styledLi = (containerSize) =>\n styled(\"li\")({\n width: containerSize,\n height: containerSize,\n });\n\n const styledDiv = (containerSize) =>\n styled(\"div\")({\n width: containerSize,\n height: containerSize,\n });\n\n const styledSeparatorElement = (\n title,\n separatorClassName,\n separatorHeight,\n separatorWidth,\n backgroundColor\n ) => {\n const Separator = withStyles({\n separatorElement: {\n height: separatorHeight,\n width: separatorWidth,\n backgroundColor,\n },\n })(({ classes: { separatorElement } }) => (\n <div\n aria-label={`separator-${title}`}\n className={clsx(separatorElement, separatorClassName)}\n />\n ));\n return (\n <li aria-hidden key={`separator-${title}`} className={classes.separator}>\n <Separator />\n </li>\n );\n };\n\n const drawItems = ({\n separatorValues: { minWidth, maxWidth, getColor, height },\n stepValues: { minSize, maxSize, StepComponent },\n }) => {\n const items = steps.reduce((acc, { state, title, separatorClassName, ...props }, index) => {\n const containerSize = state === \"Current\" ? maxSize : minSize;\n const StepContainer = styledLi(containerSize);\n const Step = styledDiv(Math.max(containerSize, 30), Math.max(containerSize, 30));\n const stepProps = {\n ...{\n size: stepSizeKey,\n state,\n title,\n number: index + 1,\n ...props,\n },\n };\n const stepElement = (\n <StepContainer key={`step-${title}`} className={classes.li}>\n {hasTitles ? (\n <StepComponent aria-label={`step-${title}`} {...stepProps} />\n ) : (\n <HvTooltip\n placement=\"bottom\"\n title={<HvTypography>{`${index + 1}. ${title}`}</HvTypography>}\n >\n <div aria-label={`step-container-${title}`}>\n <Step className={classes.li}>\n <StepComponent aria-label={`step-${title}`} {...stepProps} />\n </Step>\n </div>\n </HvTooltip>\n )}\n </StepContainer>\n );\n if (index < steps.length - 1) {\n const separatorElement = styledSeparatorElement(\n title,\n separatorClassName,\n height,\n [steps[index + 1].state, state].includes(\"Current\") ? minWidth : maxWidth,\n getColor(state)\n );\n return [...acc, stepElement, separatorElement];\n }\n return [...acc, stepElement];\n }, []);\n\n return <ol className={classes.ol}>{items}</ol>;\n };\n\n const getDynamicValues = (stepsWidth) => {\n const maxWidth =\n width ??\n Math.max(\n Number(hasTitles) * (TITLE_WIDTH + TITLE_MARGIN) * steps.length - TITLE_MARGIN,\n SEPARATOR_WIDTH * (steps.length - 1) + stepsWidth\n );\n const next = theme.breakpoints.keys.find((_, index, self) =>\n index - 1 >= 0 ? self[index - 1] === breakpoint : false\n );\n const navWidth = Math.min(maxWidth, theme.breakpoints.values?.[next] ?? maxWidth);\n const titleWidth = Number(hasTitles) * Math.ceil((navWidth + TITLE_MARGIN) / steps.length);\n const separatorWidth =\n Number(!hasTitles) * Math.ceil((navWidth - stepsWidth) / (steps.length - 1));\n return { width: navWidth, titleWidth, separatorWidth };\n };\n\n const styledTitle = (titleClassName, variant, title, titleWidth) =>\n withStyles({\n stepTitle: {\n textAlign: \"center\",\n width: titleWidth - TITLE_MARGIN,\n marginRight: TITLE_MARGIN,\n },\n })(({ classes: { stepTitle } }) =>\n title ? (\n <HvTypography variant={variant} className={clsx(stepTitle, titleClassName)}>\n {title}\n </HvTypography>\n ) : null\n );\n\n const getTitles = (getTitleProps) =>\n hasTitles ? (\n <div className={classes.titles}>\n {steps.map(({ title: rawTitle, state, titleClassName }, index) => {\n const {\n variant = \"highlightText\",\n title = rawTitle,\n titleWidth = 0,\n } = getTitleProps({\n state,\n rawTitle,\n number: index + 1,\n });\n const Title = styledTitle(titleClassName, variant, title, titleWidth);\n return <Title key={`step-title-${rawTitle}`} />;\n })}\n </div>\n ) : null;\n\n const StepNavigation = {\n Default: HvDefaultNavigation,\n Simple: HvSimpleNavigation,\n }[type];\n\n return (\n <StepNavigation\n {...{\n stepSize: stepSizeKey,\n numSteps: steps.length,\n getTitles,\n getDynamicValues,\n className: clsx(className, classes.root),\n ...others,\n }}\n >\n {({ stepsWidth, navWidth, ...itemsProps }) => (\n <Typography\n component=\"nav\"\n style={{\n width: `${navWidth}px`,\n margin: 0,\n }}\n >\n {drawItems(itemsProps)}\n </Typography>\n )}\n </StepNavigation>\n );\n};\n\nHvStepNavigation.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the li element.\n */\n li: PropTypes.string,\n /**\n * Styles applied to the ol element.\n */\n ol: PropTypes.string,\n /**\n * Styles applied to the separator element.\n */\n separator: PropTypes.string,\n /**\n * Styles applied to the titles container element.\n */\n titles: PropTypes.string,\n }).isRequired,\n /**\n * Type of step navigation. Values = {\"Simple\", \"Default\"}.\n */\n type: PropTypes.oneOf([\"Simple\", \"Default\"]),\n /**\n * Steps to show on the component.\n */\n steps: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * Class names to override styles on the step component.\n */\n className: PropTypes.string,\n /**\n * Class names to override styles on the separator component after the step.\n */\n separatorClassName: PropTypes.string,\n /**\n * Class names to override styles on the title component above the step.\n */\n titleClassName: PropTypes.string,\n /**\n * Title of the step.\n */\n title: PropTypes.string.isRequired,\n /**\n * State of the step. Values = {\"Pending\", \"Failed\", \"Completed\", \"Current\", \"Disabled\"}.\n */\n state: PropTypes.oneOf([\"Pending\", \"Failed\", \"Completed\", \"Current\", \"Disabled\"]).isRequired,\n })\n ).isRequired,\n /**\n * Sets one of the standard sizes of the steps. Values = {\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"}\n */\n stepSize: PropTypes.oneOf([\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n /**\n * Width of the component.\n */\n width: PropTypes.number,\n /**\n * Defines either show a title or only a tooltip on each step component\n */\n showTitles: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvStepNavigation\" })(HvStepNavigation);\n"],"mappings":"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"}
1
+ {"version":3,"file":"StepNavigation.js","names":["React","PropTypes","clsx","withStyles","Typography","styled","useTheme","HvTooltip","HvTypography","useWidth","HvDefaultNavigation","HvSimpleNavigation","SEPARATOR_WIDTH","TITLE_MARGIN","TITLE_WIDTH","styles","HvStepNavigation","className","classes","width","steps","stepSize","showTitles","type","others","theme","breakpoint","stepSizeKey","includes","hasTitles","styledLi","containerSize","height","styledDiv","styledSeparatorElement","title","separatorClassName","separatorHeight","separatorWidth","backgroundColor","Separator","separatorElement","separator","drawItems","separatorValues","minWidth","maxWidth","getColor","stepValues","minSize","maxSize","StepComponent","items","reduce","acc","index","state","props","StepContainer","Step","Math","max","stepProps","size","number","stepElement","li","length","ol","getDynamicValues","stepsWidth","Number","next","breakpoints","keys","find","_","self","navWidth","min","values","titleWidth","ceil","styledTitle","titleClassName","variant","stepTitle","textAlign","marginRight","getTitles","getTitleProps","titles","map","rawTitle","Title","StepNavigation","Default","Simple","numSteps","root","itemsProps","margin","propTypes","string","shape","isRequired","oneOf","arrayOf","disabled","bool","xs","sm","md","lg","xl","name"],"sources":["../../../src/StepNavigation/StepNavigation.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { withStyles, Typography, styled, useTheme } from \"@material-ui/core\";\nimport { HvTooltip, HvTypography, useWidth } from \"@hitachivantara/uikit-react-core\";\n\nimport HvDefaultNavigation from \"./DefaultNavigation\";\nimport HvSimpleNavigation from \"./SimpleNavigation\";\nimport { SEPARATOR_WIDTH, TITLE_MARGIN, TITLE_WIDTH } from \"./utils\";\nimport styles from \"./styles\";\n\n/**\n * Navigation page with steps.\n *\n * You need to define the <b>steps<b/> displayed on the component so that itself can be drawn on the UI.\n * On each step, you need to define a <b>state</b> - 'Pending', 'Failed', 'Completed', 'Current', 'Disabled' -\n * and a <b>title</b> to be shown as a tooltip or a text above of the step. You can also:\n * * Define a <b>className</b> on each step element;\n * * Define a <b>separatorClassName</b> to specify a className for the separator element. The default height\n * values of the separator element are 2px/3px on 'Simple'/'Default' layouts respectively;\n * * Define a <b>titleClassName</b> to specify a className for the title above each step element.\n *\n * For the root element, you can:\n * * Define a <b>className</b>;\n * * Choose a <b>type</b> of layout: 'Simple' or 'Default';\n * * Choose the <b>stepSize</b> of the step component: \"XS\", \"SM\", \"MD\", \"LG\", \"XL\". The default size will be\n * correspondent to the current media breakpoint;\n * * Choose either you want to <b>showTitles</b> near to each step component or a tootlip on hover;\n * * Define a <b>width</b> of the component. If you don't define any value and the step component has no title\n * displayed above, the width of the separator element;\n * will be 100px. If the step component has titles, each one will have 215px of width by default.\n */\nconst HvStepNavigation = ({\n className,\n classes,\n width,\n steps,\n stepSize,\n showTitles,\n type = \"Default\",\n ...others\n}) => {\n const theme = useTheme();\n // current breakpoint 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n const breakpoint = useWidth();\n // step configurations\n const stepSizeKey = stepSize ?? ([\"xs\", \"sm\"].includes(breakpoint) ? \"SM\" : \"MD\");\n const hasTitles = showTitles ?? ![\"xs\", \"sm\"].includes(breakpoint);\n\n const styledLi = (containerSize) =>\n styled(\"li\")({\n width: containerSize,\n height: containerSize,\n });\n\n const styledDiv = (containerSize) =>\n styled(\"div\")({\n width: containerSize,\n height: containerSize,\n });\n\n const styledSeparatorElement = (\n title,\n separatorClassName,\n separatorHeight,\n separatorWidth,\n backgroundColor\n ) => {\n const Separator = withStyles({\n separatorElement: {\n height: separatorHeight,\n width: separatorWidth,\n backgroundColor,\n },\n })(({ classes: { separatorElement } }) => (\n <div\n aria-label={`separator-${title}`}\n className={clsx(separatorElement, separatorClassName)}\n />\n ));\n return (\n <li aria-hidden key={`separator-${title}`} className={classes.separator}>\n <Separator />\n </li>\n );\n };\n\n const drawItems = ({\n separatorValues: { minWidth, maxWidth, getColor, height },\n stepValues: { minSize, maxSize, StepComponent },\n }) => {\n const items = steps.reduce((acc, { state, title, separatorClassName, ...props }, index) => {\n const containerSize = state === \"Current\" ? maxSize : minSize;\n const StepContainer = styledLi(containerSize);\n const Step = styledDiv(Math.max(containerSize, 30), Math.max(containerSize, 30));\n const stepProps = {\n ...{\n size: stepSizeKey,\n state,\n title,\n number: index + 1,\n ...props,\n },\n };\n const stepElement = (\n <StepContainer key={`step-${title}`} className={classes.li}>\n {hasTitles ? (\n <StepComponent aria-label={`step-${title}`} {...stepProps} />\n ) : (\n <HvTooltip\n placement=\"bottom\"\n title={<HvTypography>{`${index + 1}. ${title}`}</HvTypography>}\n >\n <div aria-label={`step-container-${title}`}>\n <Step className={classes.li}>\n <StepComponent aria-label={`step-${title}`} {...stepProps} />\n </Step>\n </div>\n </HvTooltip>\n )}\n </StepContainer>\n );\n if (index < steps.length - 1) {\n const separatorElement = styledSeparatorElement(\n title,\n separatorClassName,\n height,\n [steps[index + 1].state, state].includes(\"Current\") ? minWidth : maxWidth,\n getColor(state)\n );\n return [...acc, stepElement, separatorElement];\n }\n return [...acc, stepElement];\n }, []);\n\n return <ol className={classes.ol}>{items}</ol>;\n };\n\n const getDynamicValues = (stepsWidth) => {\n const maxWidth =\n width?.[breakpoint] ??\n Math.max(\n Number(hasTitles) * (TITLE_WIDTH + TITLE_MARGIN) * steps.length - TITLE_MARGIN,\n SEPARATOR_WIDTH * (steps.length - 1) + stepsWidth\n );\n const next = theme.breakpoints.keys.find((_, index, self) =>\n index - 1 >= 0 ? self[index - 1] === breakpoint : false\n );\n const navWidth = Math.min(maxWidth, theme.breakpoints.values?.[next] ?? maxWidth);\n const titleWidth = Number(hasTitles) * Math.ceil((navWidth + TITLE_MARGIN) / steps.length);\n const separatorWidth =\n Number(!hasTitles) * Math.ceil((navWidth - stepsWidth) / (steps.length - 1));\n return { width: navWidth, titleWidth, separatorWidth };\n };\n\n const styledTitle = (titleClassName, variant, title, titleWidth) =>\n withStyles({\n stepTitle: {\n textAlign: \"center\",\n width: titleWidth - TITLE_MARGIN,\n marginRight: TITLE_MARGIN,\n },\n })(({ classes: { stepTitle } }) =>\n title ? (\n <HvTypography variant={variant} className={clsx(stepTitle, titleClassName)}>\n {title}\n </HvTypography>\n ) : null\n );\n\n const getTitles = (getTitleProps) =>\n hasTitles ? (\n <div className={classes.titles}>\n {steps.map(({ title: rawTitle, state, titleClassName }, index) => {\n const {\n variant = \"highlightText\",\n title = rawTitle,\n titleWidth = 0,\n } = getTitleProps({\n state,\n rawTitle,\n number: index + 1,\n });\n const Title = styledTitle(titleClassName, variant, title, titleWidth);\n return <Title key={`step-title-${rawTitle}`} />;\n })}\n </div>\n ) : null;\n\n const StepNavigation = {\n Default: HvDefaultNavigation,\n Simple: HvSimpleNavigation,\n }[type];\n\n return (\n <StepNavigation\n {...{\n stepSize: stepSizeKey,\n numSteps: steps.length,\n getTitles,\n getDynamicValues,\n className: clsx(className, classes.root),\n ...others,\n }}\n >\n {({ stepsWidth, navWidth, ...itemsProps }) => (\n <Typography\n component=\"nav\"\n style={{\n width: `${navWidth}px`,\n margin: 0,\n }}\n >\n {drawItems(itemsProps)}\n </Typography>\n )}\n </StepNavigation>\n );\n};\n\nHvStepNavigation.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the li element.\n */\n li: PropTypes.string,\n /**\n * Styles applied to the ol element.\n */\n ol: PropTypes.string,\n /**\n * Styles applied to the separator element.\n */\n separator: PropTypes.string,\n /**\n * Styles applied to the titles container element.\n */\n titles: PropTypes.string,\n }).isRequired,\n /**\n * Type of step navigation. Values = {\"Simple\", \"Default\"}.\n */\n type: PropTypes.oneOf([\"Simple\", \"Default\"]),\n /**\n * Steps to show on the component.\n */\n steps: PropTypes.arrayOf(\n PropTypes.shape({\n /**\n * Class names to override styles on the step component.\n */\n className: PropTypes.string,\n /**\n * Class names to override styles on the separator component after the step.\n */\n separatorClassName: PropTypes.string,\n /**\n * Class names to override styles on the title component above the step.\n */\n titleClassName: PropTypes.string,\n /**\n * Title of the step.\n */\n title: PropTypes.string.isRequired,\n /**\n * State of the step. Values = {\"Pending\", \"Failed\", \"Completed\", \"Current\", \"Disabled\"}.\n */\n state: PropTypes.oneOf([\"Pending\", \"Failed\", \"Completed\", \"Current\", \"Disabled\"]).isRequired,\n /**\n * Define if a step is disabled/enabled.\n * If this property is not defined and the step is on state \"Disabled\", the step component will be disabled\n */\n disabled: PropTypes.bool,\n })\n ).isRequired,\n /**\n * Sets one of the standard sizes of the steps. Values = {\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"}\n */\n stepSize: PropTypes.oneOf([\"XS\", \"SM\", \"MD\", \"LG\", \"XL\"]),\n /**\n * Width of the component element on each breakpoint screen resolution.\n */\n width: PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n }),\n /**\n * Defines either show a title or only a tooltip on each step component\n */\n showTitles: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvStepNavigation\" })(HvStepNavigation);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AAEA,SAASC,UAAT,EAAqBC,UAArB,EAAiCC,MAAjC,EAAyCC,QAAzC,QAAyD,mBAAzD;AACA,SAASC,SAAT,EAAoBC,YAApB,EAAkCC,QAAlC,QAAkD,kCAAlD;AAEA,OAAOC,mBAAP,MAAgC,qBAAhC;AACA,OAAOC,kBAAP,MAA+B,oBAA/B;AACA,SAASC,eAAT,EAA0BC,YAA1B,EAAwCC,WAAxC,QAA2D,SAA3D;AACA,OAAOC,MAAP,MAAmB,UAAnB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,OASnB;EAAA,IARJC,SAQI,QARJA,SAQI;EAAA,IAPJC,OAOI,QAPJA,OAOI;EAAA,IANJC,KAMI,QANJA,KAMI;EAAA,IALJC,KAKI,QALJA,KAKI;EAAA,IAJJC,QAII,QAJJA,QAII;EAAA,IAHJC,UAGI,QAHJA,UAGI;EAAA,qBAFJC,IAEI;EAAA,IAFJA,IAEI,0BAFG,SAEH;EAAA,IADDC,MACC;;EACJ,IAAMC,KAAK,GAAGnB,QAAQ,EAAtB,CADI,CAEJ;;EACA,IAAMoB,UAAU,GAAGjB,QAAQ,EAA3B,CAHI,CAIJ;;EACA,IAAMkB,WAAW,GAAGN,QAAH,aAAGA,QAAH,cAAGA,QAAH,GAAgB,CAAC,IAAD,EAAO,IAAP,EAAaO,QAAb,CAAsBF,UAAtB,IAAoC,IAApC,GAA2C,IAA5E;EACA,IAAMG,SAAS,GAAGP,UAAH,aAAGA,UAAH,cAAGA,UAAH,GAAiB,CAAC,CAAC,IAAD,EAAO,IAAP,EAAaM,QAAb,CAAsBF,UAAtB,CAAjC;;EAEA,IAAMI,QAAQ,GAAG,SAAXA,QAAW,CAACC,aAAD;IAAA,OACf1B,MAAM,CAAC,IAAD,CAAN,CAAa;MACXc,KAAK,EAAEY,aADI;MAEXC,MAAM,EAAED;IAFG,CAAb,CADe;EAAA,CAAjB;;EAMA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAACF,aAAD;IAAA,OAChB1B,MAAM,CAAC,KAAD,CAAN,CAAc;MACZc,KAAK,EAAEY,aADK;MAEZC,MAAM,EAAED;IAFI,CAAd,CADgB;EAAA,CAAlB;;EAMA,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAyB,CAC7BC,KAD6B,EAE7BC,kBAF6B,EAG7BC,eAH6B,EAI7BC,cAJ6B,EAK7BC,eAL6B,EAM1B;IACH,IAAMC,SAAS,GAAGrC,UAAU,CAAC;MAC3BsC,gBAAgB,EAAE;QAChBT,MAAM,EAAEK,eADQ;QAEhBlB,KAAK,EAAEmB,cAFS;QAGhBC,eAAe,EAAfA;MAHgB;IADS,CAAD,CAAV,CAMf;MAAA,IAAcE,gBAAd,SAAGvB,OAAH,CAAcuB,gBAAd;MAAA,oBACD;QACE,kCAAyBN,KAAzB,CADF;QAEE,SAAS,EAAEjC,IAAI,CAACuC,gBAAD,EAAmBL,kBAAnB;MAFjB,EADC;IAAA,CANe,CAAlB;IAYA,oBACE;MAAI,mBAAJ;MAAgB,GAAG,sBAAeD,KAAf,CAAnB;MAA2C,SAAS,EAAEjB,OAAO,CAACwB;IAA9D,gBACE,oBAAC,SAAD,OADF,CADF;EAKD,CAxBD;;EA0BA,IAAMC,SAAS,GAAG,SAAZA,SAAY,QAGZ;IAAA,kCAFJC,eAEI;IAAA,IAFeC,QAEf,yBAFeA,QAEf;IAAA,IAFyBC,QAEzB,yBAFyBA,QAEzB;IAAA,IAFmCC,QAEnC,yBAFmCA,QAEnC;IAAA,IAF6Cf,MAE7C,yBAF6CA,MAE7C;IAAA,6BADJgB,UACI;IAAA,IADUC,OACV,oBADUA,OACV;IAAA,IADmBC,OACnB,oBADmBA,OACnB;IAAA,IAD4BC,aAC5B,oBAD4BA,aAC5B;IACJ,IAAMC,KAAK,GAAGhC,KAAK,CAACiC,MAAN,CAAa,UAACC,GAAD,SAAsDC,KAAtD,EAAgE;MAAA,IAAxDC,KAAwD,SAAxDA,KAAwD;MAAA,IAAjDrB,KAAiD,SAAjDA,KAAiD;MAAA,IAA1CC,kBAA0C,SAA1CA,kBAA0C;MAAA,IAAnBqB,KAAmB;;MACzF,IAAM1B,aAAa,GAAGyB,KAAK,KAAK,SAAV,GAAsBN,OAAtB,GAAgCD,OAAtD;MACA,IAAMS,aAAa,GAAG5B,QAAQ,CAACC,aAAD,CAA9B;MACA,IAAM4B,IAAI,GAAG1B,SAAS,CAAC2B,IAAI,CAACC,GAAL,CAAS9B,aAAT,EAAwB,EAAxB,CAAD,EAA8B6B,IAAI,CAACC,GAAL,CAAS9B,aAAT,EAAwB,EAAxB,CAA9B,CAAtB;;MACA,IAAM+B,SAAS;QAEXC,IAAI,EAAEpC,WAFK;QAGX6B,KAAK,EAALA,KAHW;QAIXrB,KAAK,EAALA,KAJW;QAKX6B,MAAM,EAAET,KAAK,GAAG;MALL,GAMRE,KANQ,EAAf;;MASA,IAAMQ,WAAW,gBACf,oBAAC,aAAD;QAAe,GAAG,iBAAU9B,KAAV,CAAlB;QAAqC,SAAS,EAAEjB,OAAO,CAACgD;MAAxD,GACGrC,SAAS,gBACR,oBAAC,aAAD;QAAe,6BAAoBM,KAApB;MAAf,GAAgD2B,SAAhD,EADQ,gBAGR,oBAAC,SAAD;QACE,SAAS,EAAC,QADZ;QAEE,KAAK,eAAE,oBAAC,YAAD,kBAAkBP,KAAK,GAAG,CAA1B,eAAgCpB,KAAhC;MAFT,gBAIE;QAAK,uCAA8BA,KAA9B;MAAL,gBACE,oBAAC,IAAD;QAAM,SAAS,EAAEjB,OAAO,CAACgD;MAAzB,gBACE,oBAAC,aAAD;QAAe,6BAAoB/B,KAApB;MAAf,GAAgD2B,SAAhD,EADF,CADF,CAJF,CAJJ,CADF;;MAkBA,IAAIP,KAAK,GAAGnC,KAAK,CAAC+C,MAAN,GAAe,CAA3B,EAA8B;QAC5B,IAAM1B,gBAAgB,GAAGP,sBAAsB,CAC7CC,KAD6C,EAE7CC,kBAF6C,EAG7CJ,MAH6C,EAI7C,CAACZ,KAAK,CAACmC,KAAK,GAAG,CAAT,CAAL,CAAiBC,KAAlB,EAAyBA,KAAzB,EAAgC5B,QAAhC,CAAyC,SAAzC,IAAsDiB,QAAtD,GAAiEC,QAJpB,EAK7CC,QAAQ,CAACS,KAAD,CALqC,CAA/C;QAOA,oCAAWF,GAAX,IAAgBW,WAAhB,EAA6BxB,gBAA7B;MACD;;MACD,oCAAWa,GAAX,IAAgBW,WAAhB;IACD,CA1Ca,EA0CX,EA1CW,CAAd;IA4CA,oBAAO;MAAI,SAAS,EAAE/C,OAAO,CAACkD;IAAvB,GAA4BhB,KAA5B,CAAP;EACD,CAjDD;;EAmDA,IAAMiB,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,UAAD,EAAgB;IAAA;;IACvC,IAAMxB,QAAQ,wBACZ3B,KADY,aACZA,KADY,uBACZA,KAAK,CAAGO,UAAH,CADO,iEAEZkC,IAAI,CAACC,GAAL,CACEU,MAAM,CAAC1C,SAAD,CAAN,IAAqBf,WAAW,GAAGD,YAAnC,IAAmDO,KAAK,CAAC+C,MAAzD,GAAkEtD,YADpE,EAEED,eAAe,IAAIQ,KAAK,CAAC+C,MAAN,GAAe,CAAnB,CAAf,GAAuCG,UAFzC,CAFF;IAMA,IAAME,IAAI,GAAG/C,KAAK,CAACgD,WAAN,CAAkBC,IAAlB,CAAuBC,IAAvB,CAA4B,UAACC,CAAD,EAAIrB,KAAJ,EAAWsB,IAAX;MAAA,OACvCtB,KAAK,GAAG,CAAR,IAAa,CAAb,GAAiBsB,IAAI,CAACtB,KAAK,GAAG,CAAT,CAAJ,KAAoB7B,UAArC,GAAkD,KADX;IAAA,CAA5B,CAAb;IAGA,IAAMoD,QAAQ,GAAGlB,IAAI,CAACmB,GAAL,CAASjC,QAAT,qDAAmBrB,KAAK,CAACgD,WAAN,CAAkBO,MAArC,2DAAmB,uBAA2BR,IAA3B,CAAnB,yEAAuD1B,QAAvD,CAAjB;IACA,IAAMmC,UAAU,GAAGV,MAAM,CAAC1C,SAAD,CAAN,GAAoB+B,IAAI,CAACsB,IAAL,CAAU,CAACJ,QAAQ,GAAGjE,YAAZ,IAA4BO,KAAK,CAAC+C,MAA5C,CAAvC;IACA,IAAM7B,cAAc,GAClBiC,MAAM,CAAC,CAAC1C,SAAF,CAAN,GAAqB+B,IAAI,CAACsB,IAAL,CAAU,CAACJ,QAAQ,GAAGR,UAAZ,KAA2BlD,KAAK,CAAC+C,MAAN,GAAe,CAA1C,CAAV,CADvB;IAEA,OAAO;MAAEhD,KAAK,EAAE2D,QAAT;MAAmBG,UAAU,EAAVA,UAAnB;MAA+B3C,cAAc,EAAdA;IAA/B,CAAP;EACD,CAfD;;EAiBA,IAAM6C,WAAW,GAAG,SAAdA,WAAc,CAACC,cAAD,EAAiBC,OAAjB,EAA0BlD,KAA1B,EAAiC8C,UAAjC;IAAA,OAClB9E,UAAU,CAAC;MACTmF,SAAS,EAAE;QACTC,SAAS,EAAE,QADF;QAETpE,KAAK,EAAE8D,UAAU,GAAGpE,YAFX;QAGT2E,WAAW,EAAE3E;MAHJ;IADF,CAAD,CAAV,CAMG;MAAA,IAAcyE,SAAd,SAAGpE,OAAH,CAAcoE,SAAd;MAAA,OACDnD,KAAK,gBACH,oBAAC,YAAD;QAAc,OAAO,EAAEkD,OAAvB;QAAgC,SAAS,EAAEnF,IAAI,CAACoF,SAAD,EAAYF,cAAZ;MAA/C,GACGjD,KADH,CADG,GAID,IALH;IAAA,CANH,CADkB;EAAA,CAApB;;EAeA,IAAMsD,SAAS,GAAG,SAAZA,SAAY,CAACC,aAAD;IAAA,OAChB7D,SAAS,gBACP;MAAK,SAAS,EAAEX,OAAO,CAACyE;IAAxB,GACGvE,KAAK,CAACwE,GAAN,CAAU,iBAA6CrC,KAA7C,EAAuD;MAAA,IAA7CsC,QAA6C,SAApD1D,KAAoD;MAAA,IAAnCqB,KAAmC,SAAnCA,KAAmC;MAAA,IAA5B4B,cAA4B,SAA5BA,cAA4B;;MAChE,qBAIIM,aAAa,CAAC;QAChBlC,KAAK,EAALA,KADgB;QAEhBqC,QAAQ,EAARA,QAFgB;QAGhB7B,MAAM,EAAET,KAAK,GAAG;MAHA,CAAD,CAJjB;MAAA,2CACE8B,OADF;MAAA,IACEA,OADF,sCACY,eADZ;MAAA,0CAEElD,KAFF;MAAA,IAEEA,KAFF,qCAEU0D,QAFV;MAAA,2CAGEZ,UAHF;MAAA,IAGEA,UAHF,sCAGe,CAHf;;MASA,IAAMa,KAAK,GAAGX,WAAW,CAACC,cAAD,EAAiBC,OAAjB,EAA0BlD,KAA1B,EAAiC8C,UAAjC,CAAzB;MACA,oBAAO,oBAAC,KAAD;QAAO,GAAG,uBAAgBY,QAAhB;MAAV,EAAP;IACD,CAZA,CADH,CADO,GAgBL,IAjBY;EAAA,CAAlB;;EAmBA,IAAME,cAAc,GAAG;IACrBC,OAAO,EAAEtF,mBADY;IAErBuF,MAAM,EAAEtF;EAFa,EAGrBY,IAHqB,CAAvB;EAKA,oBACE,oBAAC,cAAD;IAEIF,QAAQ,EAAEM,WAFd;IAGIuE,QAAQ,EAAE9E,KAAK,CAAC+C,MAHpB;IAIIsB,SAAS,EAATA,SAJJ;IAKIpB,gBAAgB,EAAhBA,gBALJ;IAMIpD,SAAS,EAAEf,IAAI,CAACe,SAAD,EAAYC,OAAO,CAACiF,IAApB;EANnB,GAOO3E,MAPP,GAUG;IAAA,IAAG8C,UAAH,SAAGA,UAAH;IAAA,IAAeQ,QAAf,SAAeA,QAAf;IAAA,IAA4BsB,UAA5B;;IAAA,oBACC,oBAAC,UAAD;MACE,SAAS,EAAC,KADZ;MAEE,KAAK,EAAE;QACLjF,KAAK,YAAK2D,QAAL,OADA;QAELuB,MAAM,EAAE;MAFH;IAFT,GAOG1D,SAAS,CAACyD,UAAD,CAPZ,CADD;EAAA,CAVH,CADF;AAwBD,CA1LD;;AA4LA,wCAAApF,gBAAgB,CAACsF,SAAjB,GAA6B;EAC3B;AACF;AACA;EACErF,SAAS,EAAEhB,SAAS,CAACsG,MAJM;;EAK3B;AACF;AACA;EACErF,OAAO,EAAEjB,SAAS,CAACuG,KAAV,CAAgB;IACvB;AACJ;AACA;IACIL,IAAI,EAAElG,SAAS,CAACsG,MAJO;;IAKvB;AACJ;AACA;IACIrC,EAAE,EAAEjE,SAAS,CAACsG,MARS;;IASvB;AACJ;AACA;IACInC,EAAE,EAAEnE,SAAS,CAACsG,MAZS;;IAavB;AACJ;AACA;IACI7D,SAAS,EAAEzC,SAAS,CAACsG,MAhBE;;IAiBvB;AACJ;AACA;IACIZ,MAAM,EAAE1F,SAAS,CAACsG;EApBK,CAAhB,EAqBNE,UA7BwB;;EA8B3B;AACF;AACA;EACElF,IAAI,EAAEtB,SAAS,CAACyG,KAAV,CAAgB,CAAC,QAAD,EAAW,SAAX,CAAhB,CAjCqB;;EAkC3B;AACF;AACA;EACEtF,KAAK,EAAEnB,SAAS,CAAC0G,OAAV,CACL1G,SAAS,CAACuG,KAAV,CAAgB;IACd;AACN;AACA;IACMvF,SAAS,EAAEhB,SAAS,CAACsG,MAJP;;IAKd;AACN;AACA;IACMnE,kBAAkB,EAAEnC,SAAS,CAACsG,MARhB;;IASd;AACN;AACA;IACMnB,cAAc,EAAEnF,SAAS,CAACsG,MAZZ;;IAad;AACN;AACA;IACMpE,KAAK,EAAElC,SAAS,CAACsG,MAAV,CAAiBE,UAhBV;;IAiBd;AACN;AACA;IACMjD,KAAK,EAAEvD,SAAS,CAACyG,KAAV,CAAgB,CAAC,SAAD,EAAY,QAAZ,EAAsB,WAAtB,EAAmC,SAAnC,EAA8C,UAA9C,CAAhB,EAA2ED,UApBpE;;IAqBd;AACN;AACA;AACA;IACMG,QAAQ,EAAE3G,SAAS,CAAC4G;EAzBN,CAAhB,CADK,EA4BLJ,UAjEyB;;EAkE3B;AACF;AACA;EACEpF,QAAQ,EAAEpB,SAAS,CAACyG,KAAV,CAAgB,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,EAAmB,IAAnB,EAAyB,IAAzB,CAAhB,CArEiB;;EAsE3B;AACF;AACA;EACEvF,KAAK,EAAElB,SAAS,CAACuG,KAAV,CAAgB;IACrBM,EAAE,EAAE7G,SAAS,CAAC+D,MADO;IAErB+C,EAAE,EAAE9G,SAAS,CAAC+D,MAFO;IAGrBgD,EAAE,EAAE/G,SAAS,CAAC+D,MAHO;IAIrBiD,EAAE,EAAEhH,SAAS,CAAC+D,MAJO;IAKrBkD,EAAE,EAAEjH,SAAS,CAAC+D;EALO,CAAhB,CAzEoB;;EAgF3B;AACF;AACA;EACE1C,UAAU,EAAErB,SAAS,CAAC4G;AAnFK,CAA7B;AAsFA,eAAe1G,UAAU,CAACY,MAAD,EAAS;EAAEoG,IAAI,EAAE;AAAR,CAAT,CAAV,CAAiDnG,gBAAjD,CAAf"}
@@ -48,3 +48,6 @@ export * from "./Controls";
48
48
 
49
49
  export { default as HvStepNavigation } from "./StepNavigation";
50
50
  export * from "./StepNavigation";
51
+
52
+ export { default as HvImageCarousel } from "./ImageCarousel";
53
+ export * from "./ImageCarousel";
@@ -21,4 +21,5 @@ export { default as HvInlineEditor } from "./InlineEditor";
21
21
  export { default as HvProgressBar } from "./ProgressBar";
22
22
  export { default as HvDotPagination } from "./DotPagination";
23
23
  export { default as HvStepNavigation } from "./StepNavigation";
24
+ export { default as HvImageCarousel } from "./ImageCarousel";
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","HvAppSwitcherPanel","HvFormComposer","HvNavigationAnchors","HvNotificationPanel","HvSlider","HvTable","HvTimeAgo","HvTimePicker","HvTag","HvDrawer","HvColorPicker","HvQueryBuilder","HvControls","HvInlineEditor","HvProgressBar","HvDotPagination","HvStepNavigation"],"sources":["../../src/index.js"],"sourcesContent":["// components\nexport { default as HvAppSwitcherPanel } from \"./AppSwitcherPanel\";\nexport * from \"./AppSwitcherPanel\";\nexport { default as HvFormComposer } from \"./FormComposer\";\nexport { default as HvNavigationAnchors } from \"./NavigationAnchors\";\nexport { default as HvNotificationPanel } from \"./NotificationPanel\";\nexport { default as HvSlider } from \"./Slider\";\nexport { default as HvTable } from \"./Table\";\nexport * from \"./Table\";\nexport { default as HvTimeAgo } from \"./TimeAgo\";\nexport * from \"./TimeAgo\";\nexport { default as HvTimePicker } from \"./TimePicker\";\nexport { default as HvTag } from \"./Tag\";\nexport { default as HvDrawer } from \"./Drawer\";\nexport { default as HvColorPicker } from \"./ColorPicker\";\nexport { default as HvQueryBuilder } from \"./QueryBuilder\";\nexport { default as HvControls } from \"./Controls\";\nexport * from \"./Controls\";\nexport * from \"./QueryBuilder\";\nexport { default as HvInlineEditor } from \"./InlineEditor\";\nexport { default as HvProgressBar } from \"./ProgressBar\";\nexport { default as HvDotPagination } from \"./DotPagination\";\nexport { default as HvStepNavigation } from \"./StepNavigation\";\n"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,kBAApB,QAA8C,oBAA9C;AACA,cAAc,oBAAd;AACA,SAASD,OAAO,IAAIE,cAApB,QAA0C,gBAA1C;AACA,SAASF,OAAO,IAAIG,mBAApB,QAA+C,qBAA/C;AACA,SAASH,OAAO,IAAII,mBAApB,QAA+C,qBAA/C;AACA,SAASJ,OAAO,IAAIK,QAApB,QAAoC,UAApC;AACA,SAASL,OAAO,IAAIM,OAApB,QAAmC,SAAnC;AACA,cAAc,SAAd;AACA,SAASN,OAAO,IAAIO,SAApB,QAAqC,WAArC;AACA,cAAc,WAAd;AACA,SAASP,OAAO,IAAIQ,YAApB,QAAwC,cAAxC;AACA,SAASR,OAAO,IAAIS,KAApB,QAAiC,OAAjC;AACA,SAAST,OAAO,IAAIU,QAApB,QAAoC,UAApC;AACA,SAASV,OAAO,IAAIW,aAApB,QAAyC,eAAzC;AACA,SAASX,OAAO,IAAIY,cAApB,QAA0C,gBAA1C;AACA,SAASZ,OAAO,IAAIa,UAApB,QAAsC,YAAtC;AACA,cAAc,YAAd;AACA,cAAc,gBAAd;AACA,SAASb,OAAO,IAAIc,cAApB,QAA0C,gBAA1C;AACA,SAASd,OAAO,IAAIe,aAApB,QAAyC,eAAzC;AACA,SAASf,OAAO,IAAIgB,eAApB,QAA2C,iBAA3C;AACA,SAAShB,OAAO,IAAIiB,gBAApB,QAA4C,kBAA5C"}
1
+ {"version":3,"file":"index.js","names":["default","HvAppSwitcherPanel","HvFormComposer","HvNavigationAnchors","HvNotificationPanel","HvSlider","HvTable","HvTimeAgo","HvTimePicker","HvTag","HvDrawer","HvColorPicker","HvQueryBuilder","HvControls","HvInlineEditor","HvProgressBar","HvDotPagination","HvStepNavigation","HvImageCarousel"],"sources":["../../src/index.js"],"sourcesContent":["// components\nexport { default as HvAppSwitcherPanel } from \"./AppSwitcherPanel\";\nexport * from \"./AppSwitcherPanel\";\nexport { default as HvFormComposer } from \"./FormComposer\";\nexport { default as HvNavigationAnchors } from \"./NavigationAnchors\";\nexport { default as HvNotificationPanel } from \"./NotificationPanel\";\nexport { default as HvSlider } from \"./Slider\";\nexport { default as HvTable } from \"./Table\";\nexport * from \"./Table\";\nexport { default as HvTimeAgo } from \"./TimeAgo\";\nexport * from \"./TimeAgo\";\nexport { default as HvTimePicker } from \"./TimePicker\";\nexport { default as HvTag } from \"./Tag\";\nexport { default as HvDrawer } from \"./Drawer\";\nexport { default as HvColorPicker } from \"./ColorPicker\";\nexport { default as HvQueryBuilder } from \"./QueryBuilder\";\nexport { default as HvControls } from \"./Controls\";\nexport * from \"./Controls\";\nexport * from \"./QueryBuilder\";\nexport { default as HvInlineEditor } from \"./InlineEditor\";\nexport { default as HvProgressBar } from \"./ProgressBar\";\nexport { default as HvDotPagination } from \"./DotPagination\";\nexport { default as HvStepNavigation } from \"./StepNavigation\";\nexport { default as HvImageCarousel } from \"./ImageCarousel\";\n"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,kBAApB,QAA8C,oBAA9C;AACA,cAAc,oBAAd;AACA,SAASD,OAAO,IAAIE,cAApB,QAA0C,gBAA1C;AACA,SAASF,OAAO,IAAIG,mBAApB,QAA+C,qBAA/C;AACA,SAASH,OAAO,IAAII,mBAApB,QAA+C,qBAA/C;AACA,SAASJ,OAAO,IAAIK,QAApB,QAAoC,UAApC;AACA,SAASL,OAAO,IAAIM,OAApB,QAAmC,SAAnC;AACA,cAAc,SAAd;AACA,SAASN,OAAO,IAAIO,SAApB,QAAqC,WAArC;AACA,cAAc,WAAd;AACA,SAASP,OAAO,IAAIQ,YAApB,QAAwC,cAAxC;AACA,SAASR,OAAO,IAAIS,KAApB,QAAiC,OAAjC;AACA,SAAST,OAAO,IAAIU,QAApB,QAAoC,UAApC;AACA,SAASV,OAAO,IAAIW,aAApB,QAAyC,eAAzC;AACA,SAASX,OAAO,IAAIY,cAApB,QAA0C,gBAA1C;AACA,SAASZ,OAAO,IAAIa,UAApB,QAAsC,YAAtC;AACA,cAAc,YAAd;AACA,cAAc,gBAAd;AACA,SAASb,OAAO,IAAIc,cAApB,QAA0C,gBAA1C;AACA,SAASd,OAAO,IAAIe,aAApB,QAAyC,eAAzC;AACA,SAASf,OAAO,IAAIgB,eAApB,QAA2C,iBAA3C;AACA,SAAShB,OAAO,IAAIiB,gBAApB,QAA4C,kBAA5C;AACA,SAASjB,OAAO,IAAIkB,eAApB,QAA2C,iBAA3C"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import { StandardProps } from "@material-ui/core";
3
+
4
+ export type HvImageCarouselClassKey = "root";
5
+
6
+ export type HvImageCarouselProps = StandardProps<
7
+ React.HTMLAttributes<HTMLDivElement>,
8
+ HvImageCarouselClassKey
9
+ >;
10
+
11
+ export default function HvImageCarousel(props: HvImageCarouselProps): JSX.Element | null;
@@ -0,0 +1,499 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+
4
+ var _Close, _Fullscreen, _Backwards, _Forwards, _Backwards2, _Forwards2;
5
+
6
+ const _excluded = ["className", "classes", "documents", "title", "id", "fullscreen", "thumbnails", "lowCardinality", "infiniteCarousel", "xs", "onChange", "counter", "currentStep", "setCurrentStep", "visibleArrows", "variant"];
7
+ import "core-js/modules/web.dom-collections.iterator.js";
8
+ import React, { useState, useRef, useEffect, useCallback } from "react";
9
+ import PropTypes from "prop-types";
10
+ import clsx from "clsx";
11
+ import { setId, useUniqueId, HvButton, HvContainer, HvTypography, HvGrid, HvStack, HvPanel, useScrollTo } from "@hitachivantara/uikit-react-core";
12
+ import { Button, makeStyles, withStyles, Fade } from "@material-ui/core";
13
+ import { Backwards, Forwards, Close, Fullscreen } from "@hitachivantara/uikit-react-icons";
14
+ import styles from "./styles";
15
+ /**
16
+ * ImageCarousel description/documentation paragraph
17
+ */
18
+
19
+ const HvImageCarousel = props => {
20
+ const {
21
+ className,
22
+ classes,
23
+ documents,
24
+ title,
25
+ id,
26
+ fullscreen: fullscreenProp = false,
27
+ thumbnails = false,
28
+ lowCardinality = false,
29
+ infiniteCarousel = false,
30
+ xs = false,
31
+ onChange,
32
+ counter = false,
33
+ currentStep = 0,
34
+ setCurrentStep,
35
+ visibleArrows = false,
36
+ variant = "contain"
37
+ } = props,
38
+ others = _objectWithoutProperties(props, _excluded);
39
+
40
+ const elementId = useUniqueId(id, "hvcarousel");
41
+ const [fullscreen, setFullscreen] = useState(false);
42
+ const options = documents.map(element => ({
43
+ src: element.src,
44
+ value: setId(elementId, element.value)
45
+ }));
46
+ const [sliceStart, setSliceStart] = useState(0);
47
+ const [selImage, setImage] = useState(currentStep);
48
+ const [offset, setOffset] = useState(0);
49
+ const [imageHover, setImageHover] = useState(false);
50
+ let direction = "next";
51
+ const useStyles = makeStyles(theme => ({
52
+ button: {
53
+ backgroundColor: theme.hv.palette.atmosphere.atmo3
54
+ },
55
+ imageBox: {
56
+ minWidth: "100%",
57
+ display: "flex",
58
+ justifyContent: "center"
59
+ },
60
+ allImages: {
61
+ width: "max-content",
62
+ display: "flex"
63
+ }
64
+ }));
65
+ const style = useStyles();
66
+ const [selectedIndex, setScrollTo] = useScrollTo(0, setId(elementId, "panel"), false, 100, documents, onChange, "row");
67
+ const [selectedBigIndex, setBigScrollTo] = useScrollTo(0, setId(elementId, "bigPanel"), false, 0, options, onChange, "row");
68
+ const refBackwards = useRef(null);
69
+ const refForwards = useRef(null);
70
+ let typeCircle = "circle";
71
+ const handleSelection = useCallback((event, value, index) => {
72
+ const wrappedOnChange = () => {
73
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, index);
74
+ };
75
+
76
+ setScrollTo(event, value, index, wrappedOnChange);
77
+ }, [onChange, setScrollTo]);
78
+
79
+ const handleFocus = focus => {
80
+ if (focus === refBackwards.current || focus === refForwards.current) focus.focus();
81
+ };
82
+
83
+ const handleBigSelection = useCallback((event, value, index) => {
84
+ const wrappedOnChange = () => {
85
+ onChange === null || onChange === void 0 ? void 0 : onChange(event, index);
86
+ };
87
+
88
+ setBigScrollTo(event, value, index, wrappedOnChange);
89
+ }, [onChange, setBigScrollTo]);
90
+ const handleVisibility = useCallback((event, value, index) => {
91
+ const image = document.getElementById(value);
92
+ const panel = document.getElementById(setId(elementId, "panel"));
93
+ const container = document.getElementById(setId(elementId, "container"));
94
+ const containerWidth = container.offsetWidth;
95
+ const offsetPanel = panel.offsetLeft;
96
+ const offsetImage = image.offsetLeft;
97
+ const imageWidth = image.offsetWidth;
98
+ const scroll = panel.scrollLeft;
99
+ const focus = document.activeElement;
100
+
101
+ if (offsetPanel + offsetImage + offset + imageWidth - scroll > containerWidth || offsetImage - scroll < 0) {
102
+ handleSelection(event, value, index);
103
+ handleFocus(focus);
104
+ }
105
+ }, [elementId, handleSelection, offset]);
106
+ useEffect(() => {
107
+ setCurrentStep === null || setCurrentStep === void 0 ? void 0 : setCurrentStep(selImage);
108
+ }, [selImage, setCurrentStep]);
109
+ useEffect(() => {
110
+ if (fullscreen) setOffset(150);else setOffset(0);
111
+
112
+ if (thumbnails) {
113
+ handleVisibility(undefined, documents[selImage].value, selImage, selectedIndex);
114
+ }
115
+
116
+ handleBigSelection(undefined, options[selImage].value, selImage, selectedBigIndex);
117
+ }, [documents, fullscreen, handleBigSelection, handleVisibility, options, selImage, selectedBigIndex, selectedIndex, thumbnails]);
118
+
119
+ const changeSlice = () => {
120
+ if (direction === "next") {
121
+ if (infiniteCarousel && selImage === documents.length - 1) setSliceStart(0);else if (selImage > sliceStart + 2 && selImage !== documents.length - 2) setSliceStart(sliceStart + 1);
122
+ }
123
+
124
+ if (direction === "prev") {
125
+ if (infiniteCarousel && selImage === 0) setSliceStart(documents.length > 5 ? documents.length - 5 : 0);else if (selImage < sliceStart + 2 && selImage !== 1) setSliceStart(sliceStart - 1);
126
+ }
127
+ };
128
+
129
+ const nextImage = () => {
130
+ let next;
131
+ if (selImage !== documents.length - 1) next = selImage + 1;else if (infiniteCarousel) next = 0;
132
+ setImage(next);
133
+
134
+ if (xs) {
135
+ direction = "next";
136
+ changeSlice();
137
+ }
138
+ };
139
+
140
+ const previousImage = () => {
141
+ let previous;
142
+ if (selImage !== 0) previous = selImage - 1;else if (infiniteCarousel) previous = documents.length - 1;
143
+ setImage(previous);
144
+
145
+ if (xs) {
146
+ direction = "prev";
147
+ changeSlice();
148
+ }
149
+ };
150
+
151
+ const styleThumbnail = index => {
152
+ if (index !== selImage) return classes.img;
153
+ return classes.thumbnailSelected;
154
+ };
155
+
156
+ const circleType = index => {
157
+ if (index === selImage) {
158
+ typeCircle = "BigCircle";
159
+ if (xs) return classes.xsSelectedCircle;
160
+ return classes.selectedCircle;
161
+ }
162
+
163
+ typeCircle = "Circle";
164
+ return classes.miniCircle;
165
+ };
166
+
167
+ return /*#__PURE__*/React.createElement(HvContainer, _extends({
168
+ id: setId(elementId, "container"),
169
+ className: clsx(className, classes.root, xs ? "xs" : "nxs", fullscreen && classes.fullscreenStyle)
170
+ }, others), !xs && /*#__PURE__*/React.createElement("div", {
171
+ className: classes.title
172
+ }, /*#__PURE__*/React.createElement("div", null, title), fullscreenProp && /*#__PURE__*/React.createElement("div", null, fullscreen ? /*#__PURE__*/React.createElement(HvButton, {
173
+ className: classes.closeButton,
174
+ icon: true,
175
+ "aria-label": "Close",
176
+ onClick: () => setFullscreen(!fullscreen)
177
+ }, _Close || (_Close = /*#__PURE__*/React.createElement(Close, null))) : /*#__PURE__*/React.createElement(HvButton, {
178
+ icon: true,
179
+ "aria-label": "Fullscreen",
180
+ onClick: () => setFullscreen(true)
181
+ }, _Fullscreen || (_Fullscreen = /*#__PURE__*/React.createElement(Fullscreen, null))))), /*#__PURE__*/React.createElement(HvContainer, {
182
+ className: clsx(classes.imageContainer, fullscreen ? "fullscreen" : "notFullscreen", !xs && "nxs"),
183
+ onFocus: () => setImageHover(true),
184
+ onMouseOver: () => setImageHover(true),
185
+ onBlur: () => setImageHover(false),
186
+ onMouseOut: () => setImageHover(false)
187
+ }, /*#__PURE__*/React.createElement(HvPanel, {
188
+ className: clsx(classes.stack, xs ? "xs" : "nxs"),
189
+ id: setId(elementId, "bigPanel")
190
+ }, options.map((element, index) => /*#__PURE__*/React.createElement("div", {
191
+ className: style.imageBox,
192
+ id: element.value,
193
+ key: `div ${element.value}`
194
+ }, /*#__PURE__*/React.createElement(Fade, {
195
+ in: selImage === index || xs,
196
+ timeout: {
197
+ appear: 500,
198
+ enter: 1200,
199
+ exit: 200
200
+ }
201
+ }, /*#__PURE__*/React.createElement("img", {
202
+ className: clsx(classes.selectedImage, xs ? "xs" : "nxs", fullscreen ? "fullscreen" : "notFullscreen", variant),
203
+ src: element.src,
204
+ alt: element.value,
205
+ key: `image ${element.value}`
206
+ }))))), (xs || lowCardinality) && /*#__PURE__*/React.createElement("div", {
207
+ className: clsx(classes.lowButtons, !xs && "nxs")
208
+ }, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Fade, {
209
+ in: imageHover || visibleArrows
210
+ }, /*#__PURE__*/React.createElement(HvButton, {
211
+ ref: refBackwards,
212
+ className: classes.button,
213
+ icon: true,
214
+ "aria-label": "Backwards",
215
+ onClick: event => previousImage(event)
216
+ }, _Backwards || (_Backwards = /*#__PURE__*/React.createElement(Backwards, null))))), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Fade, {
217
+ in: imageHover || visibleArrows
218
+ }, /*#__PURE__*/React.createElement(HvButton, {
219
+ ref: refForwards,
220
+ className: classes.button,
221
+ icon: true,
222
+ "aria-label": "Forwards",
223
+ onClick: event => nextImage(event)
224
+ }, _Forwards || (_Forwards = /*#__PURE__*/React.createElement(Forwards, null)))))), xs && /*#__PURE__*/React.createElement("div", {
225
+ className: classes.xsCircles
226
+ }, documents.map((element, index) => /*#__PURE__*/React.createElement("span", {
227
+ className: circleType(index),
228
+ title: typeCircle,
229
+ key: `Circle ${element.value}`
230
+ })).slice(sliceStart, sliceStart + 5)), counter && /*#__PURE__*/React.createElement("div", {
231
+ className: clsx(classes.divCounter, !xs && "nxs")
232
+ }, /*#__PURE__*/React.createElement("span", {
233
+ className: classes.counter
234
+ }, /*#__PURE__*/React.createElement(HvTypography, {
235
+ variant: "normalText",
236
+ style: {
237
+ color: "white"
238
+ }
239
+ }, `${selImage + 1}/${documents.length}`)))), !xs && /*#__PURE__*/React.createElement(React.Fragment, null, lowCardinality ? /*#__PURE__*/React.createElement("div", {
240
+ className: classes.circles
241
+ }, documents.map((element, index) => /*#__PURE__*/React.createElement("span", {
242
+ className: circleType(index),
243
+ title: `${typeCircle} ${index}`,
244
+ key: `Circle ${element.value}`
245
+ }))) : /*#__PURE__*/React.createElement(HvGrid, {
246
+ className: clsx(classes.normalButtons),
247
+ container: true,
248
+ justifyContent: "space-between",
249
+ alignItems: "center"
250
+ }, /*#__PURE__*/React.createElement(HvGrid, {
251
+ item: true
252
+ }, /*#__PURE__*/React.createElement(HvButton, {
253
+ className: infiniteCarousel || selImage !== 0 ? "" : classes.hidden,
254
+ ref: refBackwards,
255
+ icon: true,
256
+ "aria-label": "Backwards",
257
+ onClick: event => previousImage(event)
258
+ }, _Backwards2 || (_Backwards2 = /*#__PURE__*/React.createElement(Backwards, null)))), /*#__PURE__*/React.createElement(HvGrid, {
259
+ item: true
260
+ }, /*#__PURE__*/React.createElement(HvTypography, {
261
+ variant: "highlightText",
262
+ component: "a"
263
+ }, selImage + 1), /*#__PURE__*/React.createElement(HvTypography, {
264
+ variant: "normalText",
265
+ component: "a"
266
+ }, ` / ${documents.length}`)), /*#__PURE__*/React.createElement(HvGrid, {
267
+ item: true
268
+ }, /*#__PURE__*/React.createElement(HvButton, {
269
+ className: infiniteCarousel || selImage !== documents.length - 1 ? "" : classes.hidden,
270
+ ref: refForwards,
271
+ icon: true,
272
+ "aria-label": "Forwards",
273
+ onClick: event => nextImage(event)
274
+ }, _Forwards2 || (_Forwards2 = /*#__PURE__*/React.createElement(Forwards, null))))), thumbnails && /*#__PURE__*/React.createElement(HvPanel, {
275
+ className: classes.panel,
276
+ id: setId(elementId, "panel")
277
+ }, /*#__PURE__*/React.createElement(HvStack, {
278
+ key: "Thumbnails",
279
+ direction: "row",
280
+ spacing: "xs",
281
+ withNavigation: true
282
+ }, documents.map((element, i) => /*#__PURE__*/React.createElement(Button, {
283
+ id: element.value,
284
+ key: `Button ${element.value}`,
285
+ className: classes.thumbnailButton,
286
+ onClick: () => setImage(i)
287
+ }, /*#__PURE__*/React.createElement("img", {
288
+ className: styleThumbnail(i),
289
+ src: element.src,
290
+ alt: element.value,
291
+ key: `Thumbnail ${element.value}`
292
+ })))))));
293
+ };
294
+
295
+ process.env.NODE_ENV !== "production" ? HvImageCarousel.propTypes = {
296
+ /**
297
+ * Class names to be applied.
298
+ */
299
+ className: PropTypes.string,
300
+
301
+ /**
302
+ * A Jss Object used to override or extend the styles applied.
303
+ */
304
+ classes: PropTypes.shape({
305
+ /**
306
+ * Styles applied to the component root class.
307
+ */
308
+ root: PropTypes.string,
309
+
310
+ /**
311
+ * Styles applied to the component SelectedImage.
312
+ */
313
+ selectedImage: PropTypes.string,
314
+
315
+ /**
316
+ * Styles applied to xs mode
317
+ */
318
+ xsMode: PropTypes.string,
319
+
320
+ /**
321
+ * Styles applied to image in xsMode
322
+ */
323
+ xsImage: PropTypes.string,
324
+
325
+ /**
326
+ * Styles applied to panel with low cardinality circles
327
+ */
328
+ circles: PropTypes.string,
329
+
330
+ /**
331
+ * Styles applied to xs mode circles
332
+ */
333
+ xsCircles: PropTypes.string,
334
+
335
+ /**
336
+ * Styles applied to unavailable button
337
+ */
338
+ hidden: PropTypes.string,
339
+
340
+ /**
341
+ * Styles applied to the carousel title
342
+ */
343
+ title: PropTypes.string,
344
+
345
+ /**
346
+ * Styles applied to the counter
347
+ */
348
+ counter: PropTypes.string,
349
+
350
+ /**
351
+ * Styles applied to the div with the counter
352
+ */
353
+ divCounter: PropTypes.string,
354
+
355
+ /**
356
+ * Styles applied to the thumbnails
357
+ */
358
+ img: PropTypes.string,
359
+
360
+ /**
361
+ * Styles applied to the selected thumbnail
362
+ */
363
+ thumbnailSelected: PropTypes.string,
364
+
365
+ /**
366
+ * Styles applied to the thumbnail button
367
+ */
368
+ thumbnailButton: PropTypes.string,
369
+
370
+ /**
371
+ * Styles applied to the low cardinality circles
372
+ */
373
+ miniCircle: PropTypes.string,
374
+
375
+ /**
376
+ * Styles applied to the circle of the selected image
377
+ */
378
+ selectedCircle: PropTypes.string,
379
+
380
+ /**
381
+ * Styles applied to the circle of the selected image in xsmode
382
+ */
383
+ xsSelectedCircle: PropTypes.string,
384
+
385
+ /**
386
+ * Styles applied to the panel with low cardinality buttons
387
+ */
388
+ lowButtons: PropTypes.string,
389
+
390
+ /**
391
+ * Styles applied to the container of the selected image
392
+ */
393
+ imageContainer: PropTypes.string,
394
+
395
+ /**
396
+ * Styles applied to the panel with the thumbnails
397
+ */
398
+ stack: PropTypes.string,
399
+
400
+ /**
401
+ * Styles applied to the panel that contains the buttons and counter in default mode
402
+ */
403
+ normalButtons: PropTypes.string,
404
+
405
+ /**
406
+ * Styles applied to fullscreen mode.
407
+ */
408
+ fullscreenStyle: PropTypes.string,
409
+
410
+ /**
411
+ * Styles applied to close button in fullscreen mode.
412
+ */
413
+ closeButton: PropTypes.string,
414
+
415
+ /**
416
+ * Styles applied to change image buttons.
417
+ */
418
+ button: PropTypes.string,
419
+
420
+ /**
421
+ * Styles applied to thumbnails panel.
422
+ */
423
+ panel: PropTypes.string
424
+ }).isRequired,
425
+
426
+ /**
427
+ * Documents to be displayed.
428
+ */
429
+ documents: PropTypes.array.isRequired,
430
+
431
+ /**
432
+ * Title of the image carousel
433
+ */
434
+ title: PropTypes.node,
435
+
436
+ /**
437
+ * A function called each time the selected image changes.
438
+ */
439
+ onChange: PropTypes.func,
440
+
441
+ /**
442
+ * Id to be applied to the root node.
443
+ */
444
+ id: PropTypes.string,
445
+
446
+ /**
447
+ * A flag that activates the thumbnails.
448
+ */
449
+ thumbnails: PropTypes.bool,
450
+
451
+ /**
452
+ * A flag that switches to low cardinality mode
453
+ */
454
+ lowCardinality: PropTypes.bool,
455
+
456
+ /**
457
+ * A flag that activates the infinite carousel behavior
458
+ */
459
+ infiniteCarousel: PropTypes.bool,
460
+
461
+ /**
462
+ * A flag that activates a counter on the top right corner of the selected image
463
+ */
464
+ counter: PropTypes.bool,
465
+
466
+ /**
467
+ * Set Image Carousel to fullscreen mode
468
+ */
469
+ fullscreen: PropTypes.bool,
470
+
471
+ /**
472
+ * Set selected image to a particular image in documents
473
+ */
474
+ currentStep: PropTypes.number,
475
+
476
+ /**
477
+ * Function that changes the selected image
478
+ */
479
+ setCurrentStep: PropTypes.func,
480
+
481
+ /**
482
+ * Image Carousel set to xs mode
483
+ */
484
+ xs: PropTypes.bool,
485
+
486
+ /**
487
+ * Arrows always displayed in low cardinality or xs mode
488
+ */
489
+ visibleArrows: PropTypes.bool,
490
+
491
+ /**
492
+ * Selected image fit variant
493
+ */
494
+ variant: PropTypes.string
495
+ } : void 0;
496
+ export default withStyles(styles, {
497
+ name: "HvImageCarousel"
498
+ })(HvImageCarousel);
499
+ //# sourceMappingURL=ImageCarousel.js.map