@hitachivantara/uikit-react-core 4.0.1-next.1 → 4.0.1-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/Banner/Banner.d.ts +3 -2
  2. package/dist/Banner/Banner.js +2 -2
  3. package/dist/Banner/Banner.js.map +1 -1
  4. package/dist/Banner/{BannerWrapper → BannerContent}/ActionContainer/ActionContainer.js +0 -0
  5. package/dist/Banner/{BannerWrapper → BannerContent}/ActionContainer/ActionContainer.js.map +1 -1
  6. package/dist/Banner/{BannerWrapper → BannerContent}/ActionContainer/index.js +0 -0
  7. package/dist/Banner/{BannerWrapper → BannerContent}/ActionContainer/index.js.map +1 -1
  8. package/dist/Banner/{BannerWrapper → BannerContent}/ActionContainer/styles.js +0 -0
  9. package/dist/Banner/{BannerWrapper → BannerContent}/ActionContainer/styles.js.map +1 -1
  10. package/dist/Banner/BannerContent/BannerContent.d.ts +41 -0
  11. package/dist/Banner/{BannerWrapper/BannerContentWrapper.js → BannerContent/BannerContent.js} +5 -5
  12. package/dist/Banner/BannerContent/BannerContent.js.map +1 -0
  13. package/dist/Banner/{BannerWrapper → BannerContent}/MessageContainer/MessageContainer.js +0 -0
  14. package/dist/Banner/{BannerWrapper → BannerContent}/MessageContainer/MessageContainer.js.map +1 -1
  15. package/dist/Banner/{BannerWrapper → BannerContent}/MessageContainer/index.js +0 -0
  16. package/dist/Banner/{BannerWrapper → BannerContent}/MessageContainer/index.js.map +1 -1
  17. package/dist/Banner/{BannerWrapper → BannerContent}/MessageContainer/styles.js +0 -0
  18. package/dist/Banner/{BannerWrapper → BannerContent}/MessageContainer/styles.js.map +1 -1
  19. package/dist/Banner/BannerContent/index.d.ts +2 -0
  20. package/dist/Banner/{BannerWrapper → BannerContent}/index.js +2 -2
  21. package/dist/Banner/BannerContent/index.js.map +1 -0
  22. package/dist/Banner/{BannerWrapper → BannerContent}/styles.js +0 -0
  23. package/dist/Banner/{BannerWrapper → BannerContent}/styles.js.map +1 -1
  24. package/dist/Banner/index.d.ts +3 -0
  25. package/dist/Banner/index.js +2 -2
  26. package/dist/Banner/index.js.map +1 -1
  27. package/dist/BaseSwitch/BaseSwitch.d.ts +1 -1
  28. package/dist/BaseSwitch/BaseSwitch.js +6 -1
  29. package/dist/BaseSwitch/BaseSwitch.js.map +1 -1
  30. package/dist/BaseSwitch/styles.js +5 -1
  31. package/dist/BaseSwitch/styles.js.map +1 -1
  32. package/dist/ScrollTo/useScrollTo.js +2 -1
  33. package/dist/ScrollTo/useScrollTo.js.map +1 -1
  34. package/dist/ScrollTo/utils.js +39 -6
  35. package/dist/ScrollTo/utils.js.map +1 -1
  36. package/dist/UserPreferences/index.d.ts +9 -2
  37. package/dist/VerticalNavigation/Navigation/Navigation.d.ts +3 -3
  38. package/dist/VerticalNavigation/Navigation/Navigation.js +1 -1
  39. package/dist/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  40. package/dist/VerticalNavigation/index.d.ts +4 -1
  41. package/dist/legacy/Banner/Banner.d.ts +3 -2
  42. package/dist/legacy/Banner/Banner.js +2 -2
  43. package/dist/legacy/Banner/Banner.js.map +1 -1
  44. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/ActionContainer/ActionContainer.js +0 -0
  45. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/ActionContainer/ActionContainer.js.map +1 -1
  46. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/ActionContainer/index.js +0 -0
  47. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/ActionContainer/index.js.map +1 -1
  48. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/ActionContainer/styles.js +0 -0
  49. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/ActionContainer/styles.js.map +1 -1
  50. package/dist/legacy/Banner/BannerContent/BannerContent.d.ts +41 -0
  51. package/dist/legacy/Banner/{BannerWrapper/BannerContentWrapper.js → BannerContent/BannerContent.js} +5 -5
  52. package/dist/legacy/Banner/BannerContent/BannerContent.js.map +1 -0
  53. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/MessageContainer/MessageContainer.js +0 -0
  54. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/MessageContainer/MessageContainer.js.map +1 -1
  55. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/MessageContainer/index.js +0 -0
  56. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/MessageContainer/index.js.map +1 -1
  57. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/MessageContainer/styles.js +0 -0
  58. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/MessageContainer/styles.js.map +1 -1
  59. package/dist/legacy/Banner/BannerContent/index.d.ts +2 -0
  60. package/dist/legacy/Banner/BannerContent/index.js +2 -0
  61. package/dist/legacy/Banner/BannerContent/index.js.map +1 -0
  62. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/styles.js +0 -0
  63. package/dist/legacy/Banner/{BannerWrapper → BannerContent}/styles.js.map +1 -1
  64. package/dist/legacy/Banner/index.d.ts +3 -0
  65. package/dist/legacy/Banner/index.js +1 -1
  66. package/dist/legacy/Banner/index.js.map +1 -1
  67. package/dist/legacy/BaseSwitch/BaseSwitch.d.ts +1 -1
  68. package/dist/legacy/BaseSwitch/BaseSwitch.js +6 -1
  69. package/dist/legacy/BaseSwitch/BaseSwitch.js.map +1 -1
  70. package/dist/legacy/BaseSwitch/styles.js +5 -1
  71. package/dist/legacy/BaseSwitch/styles.js.map +1 -1
  72. package/dist/legacy/ScrollTo/useScrollTo.js +2 -1
  73. package/dist/legacy/ScrollTo/useScrollTo.js.map +1 -1
  74. package/dist/legacy/ScrollTo/utils.js +35 -5
  75. package/dist/legacy/ScrollTo/utils.js.map +1 -1
  76. package/dist/legacy/UserPreferences/index.d.ts +9 -2
  77. package/dist/legacy/VerticalNavigation/Navigation/Navigation.d.ts +3 -3
  78. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js +1 -1
  79. package/dist/legacy/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  80. package/dist/legacy/VerticalNavigation/index.d.ts +4 -1
  81. package/dist/modern/Banner/Banner.d.ts +3 -2
  82. package/dist/modern/Banner/Banner.js +2 -2
  83. package/dist/modern/Banner/Banner.js.map +1 -1
  84. package/dist/modern/Banner/{BannerWrapper → BannerContent}/ActionContainer/ActionContainer.js +0 -0
  85. package/dist/modern/Banner/{BannerWrapper → BannerContent}/ActionContainer/ActionContainer.js.map +1 -1
  86. package/dist/modern/Banner/{BannerWrapper → BannerContent}/ActionContainer/index.js +0 -0
  87. package/dist/modern/Banner/{BannerWrapper → BannerContent}/ActionContainer/index.js.map +1 -1
  88. package/dist/modern/Banner/{BannerWrapper → BannerContent}/ActionContainer/styles.js +0 -0
  89. package/dist/modern/Banner/{BannerWrapper → BannerContent}/ActionContainer/styles.js.map +1 -1
  90. package/dist/modern/Banner/BannerContent/BannerContent.d.ts +41 -0
  91. package/dist/modern/Banner/{BannerWrapper/BannerContentWrapper.js → BannerContent/BannerContent.js} +5 -5
  92. package/dist/modern/Banner/BannerContent/BannerContent.js.map +1 -0
  93. package/dist/modern/Banner/{BannerWrapper → BannerContent}/MessageContainer/MessageContainer.js +0 -0
  94. package/dist/modern/Banner/{BannerWrapper → BannerContent}/MessageContainer/MessageContainer.js.map +1 -1
  95. package/dist/modern/Banner/{BannerWrapper → BannerContent}/MessageContainer/index.js +0 -0
  96. package/dist/modern/Banner/{BannerWrapper → BannerContent}/MessageContainer/index.js.map +1 -1
  97. package/dist/modern/Banner/{BannerWrapper → BannerContent}/MessageContainer/styles.js +0 -0
  98. package/dist/modern/Banner/{BannerWrapper → BannerContent}/MessageContainer/styles.js.map +1 -1
  99. package/dist/modern/Banner/BannerContent/index.d.ts +2 -0
  100. package/dist/modern/Banner/BannerContent/index.js +2 -0
  101. package/dist/modern/Banner/BannerContent/index.js.map +1 -0
  102. package/dist/modern/Banner/{BannerWrapper → BannerContent}/styles.js +0 -0
  103. package/dist/modern/Banner/{BannerWrapper → BannerContent}/styles.js.map +1 -1
  104. package/dist/modern/Banner/index.d.ts +3 -0
  105. package/dist/modern/Banner/index.js +1 -1
  106. package/dist/modern/Banner/index.js.map +1 -1
  107. package/dist/modern/BaseSwitch/BaseSwitch.d.ts +1 -1
  108. package/dist/modern/BaseSwitch/BaseSwitch.js +6 -1
  109. package/dist/modern/BaseSwitch/BaseSwitch.js.map +1 -1
  110. package/dist/modern/BaseSwitch/styles.js +5 -1
  111. package/dist/modern/BaseSwitch/styles.js.map +1 -1
  112. package/dist/modern/ScrollTo/useScrollTo.js +2 -2
  113. package/dist/modern/ScrollTo/useScrollTo.js.map +1 -1
  114. package/dist/modern/ScrollTo/utils.js +32 -6
  115. package/dist/modern/ScrollTo/utils.js.map +1 -1
  116. package/dist/modern/UserPreferences/index.d.ts +9 -2
  117. package/dist/modern/VerticalNavigation/Navigation/Navigation.d.ts +3 -3
  118. package/dist/modern/VerticalNavigation/Navigation/Navigation.js +1 -1
  119. package/dist/modern/VerticalNavigation/Navigation/Navigation.js.map +1 -1
  120. package/dist/modern/VerticalNavigation/index.d.ts +4 -1
  121. package/package.json +3 -3
  122. package/dist/Banner/BannerWrapper/BannerContentWrapper.js.map +0 -1
  123. package/dist/Banner/BannerWrapper/index.js.map +0 -1
  124. package/dist/legacy/Banner/BannerWrapper/BannerContentWrapper.js.map +0 -1
  125. package/dist/legacy/Banner/BannerWrapper/index.js +0 -2
  126. package/dist/legacy/Banner/BannerWrapper/index.js.map +0 -1
  127. package/dist/modern/Banner/BannerWrapper/BannerContentWrapper.js.map +0 -1
  128. package/dist/modern/Banner/BannerWrapper/index.js +0 -2
  129. package/dist/modern/Banner/BannerWrapper/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BaseSwitch.js","names":["React","useState","useCallback","PropTypes","clsx","Switch","withStyles","styles","HvBaseSwitch","props","classes","className","id","name","value","required","readOnly","disabled","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","focusVisible","setFocusVisible","onFocusVisibleCallback","evt","onBlurCallback","onLocalChange","target","root","switch","switchBase","track","thumb","propTypes","string","shape","isRequired","any","bool","func","instanceOf","Object"],"sources":["../../../src/BaseSwitch/BaseSwitch.js"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Switch } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\n\nimport styles from \"./styles\";\n\n/**\n * A Switch is <b>binary</b> and work as a digital on/off button.\n *\n * The Base Switch is a building block of the Switch form element. Don't use unless\n * implementing a custom use case not covered by the Switch form element.\n */\nconst HvBaseSwitch = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n defaultChecked,\n\n onChange,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const onLocalChange = useCallback(\n (evt) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <Switch\n id={id}\n name={name}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.focusVisible]: focusVisible,\n })}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n classes={{\n root: classes.switch,\n switchBase: classes.switchBase,\n checked: classes.checked,\n track: classes.track,\n thumb: classes.thumb,\n disabled: classes.disabled,\n }}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n\nHvBaseSwitch.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 to the switch.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the switch when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to the internal Switch component's root class.\n */\n switch: PropTypes.string,\n /**\n * Styles applied to the internal SwitchBase component's root class.\n */\n switchBase: PropTypes.string,\n /**\n * Pseudo-class applied to the internal SwitchBase component's checked class.\n */\n checked: PropTypes.string,\n /**\n * Styles applied to the track element.\n */\n track: PropTypes.string,\n /**\n * Styles used to create the thumb passed to the internal SwitchBase component icon prop.\n */\n thumb: PropTypes.string,\n /**\n * Class applied to the root element if keyboard focused.\n */\n focusVisible: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * The input name.\n */\n name: PropTypes.string,\n /**\n * The value of the input.\n *\n * Is up to the application's logic when to consider the submission of this value.\n * Generally it should be used only when the switch is neither unchecked nor indeterminate.\n *\n * The default value is \"on\".\n */\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n\n /**\n * Indicates that user input is required.\n */\n required: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that the input is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true` the switch is selected, if set to `false` the switch is not selected.\n *\n * When defined the switch state becomes controlled.\n */\n checked: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * The callback fired when the switch is pressed.\n */\n onChange: PropTypes.func,\n\n /**\n * Properties passed on to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvBaseSwitch\" })(HvBaseSwitch);\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,OAAOA,KAAP,IAAgBC,QAAhB,EAA0BC,WAA1B,QAA6C,OAA7C;AAEA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,IAAP,MAAiB,MAAjB;AAEA,SAASC,MAAT,QAAuB,eAAvB;AACA,SAASC,UAAT,QAA2B,aAA3B;AAEA,OAAOC,MAAP,MAAmB,UAAnB;AAEA;AACA;AACA;AACA;AACA;AACA;;;;AACA,IAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAW;EAC9B,IACEC,OADF,GAuBID,KAvBJ,CACEC,OADF;EAAA,IAEEC,SAFF,GAuBIF,KAvBJ,CAEEE,SAFF;EAAA,IAIEC,EAJF,GAuBIH,KAvBJ,CAIEG,EAJF;EAAA,IAKEC,IALF,GAuBIJ,KAvBJ,CAKEI,IALF;EAAA,mBAuBIJ,KAvBJ,CAMEK,KANF;EAAA,IAMEA,KANF,6BAMU,IANV;EAAA,sBAuBIL,KAvBJ,CAQEM,QARF;EAAA,IAQEA,QARF,gCAQa,KARb;EAAA,sBAuBIN,KAvBJ,CASEO,QATF;EAAA,IASEA,QATF,gCASa,KATb;EAAA,sBAuBIP,KAvBJ,CAUEQ,QAVF;EAAA,IAUEA,QAVF,gCAUa,KAVb;EAAA,IAYEC,OAZF,GAuBIT,KAvBJ,CAYES,OAZF;EAAA,IAaEC,cAbF,GAuBIV,KAvBJ,CAaEU,cAbF;EAAA,IAeEC,QAfF,GAuBIX,KAvBJ,CAeEW,QAfF;EAAA,IAiBEC,UAjBF,GAuBIZ,KAvBJ,CAiBEY,UAjBF;EAAA,IAmBEC,cAnBF,GAuBIb,KAvBJ,CAmBEa,cAnBF;EAAA,IAoBEC,MApBF,GAuBId,KAvBJ,CAoBEc,MApBF;EAAA,IAsBKC,MAtBL,4BAuBIf,KAvBJ;;EAyBA,gBAAwCR,QAAQ,CAAC,KAAD,CAAhD;EAAA;EAAA,IAAOwB,YAAP;EAAA,IAAqBC,eAArB;;EAEA,IAAMC,sBAAsB,GAAGzB,WAAW,CACxC,UAAC0B,GAAD,EAAS;IACPF,eAAe,CAAC,IAAD,CAAf;IACAJ,cAAc,SAAd,IAAAA,cAAc,WAAd,YAAAA,cAAc,CAAGM,GAAH,CAAd;EACD,CAJuC,EAKxC,CAACN,cAAD,CALwC,CAA1C;EAQA,IAAMO,cAAc,GAAG3B,WAAW,CAChC,UAAC0B,GAAD,EAAS;IACPF,eAAe,CAAC,KAAD,CAAf;IACAH,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAGK,GAAH,CAAN;EACD,CAJ+B,EAKhC,CAACL,MAAD,CALgC,CAAlC;EAQA,IAAMO,aAAa,GAAG5B,WAAW,CAC/B,UAAC0B,GAAD,EAAS;IACP,IAAIZ,QAAJ,EAAc;MACZ;IACD;;IAEDI,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAGQ,GAAH,EAAQA,GAAG,CAACG,MAAJ,CAAWb,OAAnB,EAA4BJ,KAA5B,CAAR;EACD,CAP8B,EAQ/B,CAACM,QAAD,EAAWJ,QAAX,EAAqBF,KAArB,CAR+B,CAAjC;EAWA,oBACE,KAAC,MAAD;IACE,EAAE,EAAEF,EADN;IAEE,IAAI,EAAEC,IAFR;IAGE,SAAS,EAAET,IAAI,CAACO,SAAD,EAAYD,OAAO,CAACsB,IAApB,EACOf,QADP,IACZP,OAAO,CAACO,QADI,EAEWQ,YAFX,IAEZf,OAAO,CAACe,YAFI,CAHjB;IAOE,KAAK,EAAC,SAPR;IAQE,QAAQ,EAAER,QARZ;IASE,QAAQ,EAAEF,QATZ;IAUE,QAAQ,EAAEC,QAVZ;IAWE,aAAa,MAXf;IAYE,QAAQ,EAAEc,aAZZ;IAaE,KAAK,EAAEhB,KAbT;IAcE,OAAO,EAAEI,OAdX;IAeE,cAAc,EAAEC,cAflB;IAgBE,OAAO,EAAE;MACPa,IAAI,EAAEtB,OAAO,CAACuB,MADP;MAEPC,UAAU,EAAExB,OAAO,CAACwB,UAFb;MAGPhB,OAAO,EAAER,OAAO,CAACQ,OAHV;MAIPiB,KAAK,EAAEzB,OAAO,CAACyB,KAJR;MAKPC,KAAK,EAAE1B,OAAO,CAAC0B,KALR;MAMPnB,QAAQ,EAAEP,OAAO,CAACO;IANX,CAhBX;IAwBE,UAAU,EAAEI,UAxBd;IAyBE,cAAc,EAAEM,sBAzBlB;IA0BE,MAAM,EAAEE;EA1BV,GA2BML,MA3BN,EADF;AA+BD,CAtFD;;AAwFA,wCAAAhB,YAAY,CAAC6B,SAAb,GAAyB;EACvB;AACF;AACA;EACE1B,SAAS,EAAER,SAAS,CAACmC,MAJE;;EAKvB;AACF;AACA;EACE5B,OAAO,EAAEP,SAAS,CAACoC,KAAV,CAAgB;IACvB;AACJ;AACA;IACIP,IAAI,EAAE7B,SAAS,CAACmC,MAJO;;IAKvB;AACJ;AACA;IACIrB,QAAQ,EAAEd,SAAS,CAACmC,MARG;;IASvB;AACJ;AACA;IACIL,MAAM,EAAE9B,SAAS,CAACmC,MAZK;;IAavB;AACJ;AACA;IACIJ,UAAU,EAAE/B,SAAS,CAACmC,MAhBC;;IAiBvB;AACJ;AACA;IACIpB,OAAO,EAAEf,SAAS,CAACmC,MApBI;;IAqBvB;AACJ;AACA;IACIH,KAAK,EAAEhC,SAAS,CAACmC,MAxBM;;IAyBvB;AACJ;AACA;IACIF,KAAK,EAAEjC,SAAS,CAACmC,MA5BM;;IA6BvB;AACJ;AACA;IACIb,YAAY,EAAEtB,SAAS,CAACmC;EAhCD,CAAhB,EAiCNE,UAzCoB;;EA2CvB;AACF;AACA;EACE5B,EAAE,EAAET,SAAS,CAACmC,MA9CS;;EAgDvB;AACF;AACA;EACEzB,IAAI,EAAEV,SAAS,CAACmC,MAnDO;;EAoDvB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE;EACAxB,KAAK,EAAEX,SAAS,CAACsC,GA7DM;;EA+DvB;AACF;AACA;EACE1B,QAAQ,EAAEZ,SAAS,CAACuC,IAlEG;;EAmEvB;AACF;AACA;EACE1B,QAAQ,EAAEb,SAAS,CAACuC,IAtEG;;EAuEvB;AACF;AACA;EACEzB,QAAQ,EAAEd,SAAS,CAACuC,IA1EG;;EA4EvB;AACF;AACA;AACA;AACA;EACExB,OAAO,EAAEf,SAAS,CAACuC,IAjFI;;EAkFvB;AACF;AACA;EACEvB,cAAc,EAAEhB,SAAS,CAACuC,IArFH;;EAuFvB;AACF;AACA;EACEtB,QAAQ,EAAEjB,SAAS,CAACwC,IA1FG;;EA4FvB;AACF;AACA;EACEtB,UAAU,EAAElB,SAAS,CAACyC,UAAV,CAAqBC,MAArB,CA/FW;;EAiGvB;AACF;AACA;AACA;EACEvB,cAAc,EAAEnB,SAAS,CAACwC,IArGH;;EAsGvB;AACF;AACA;EACEpB,MAAM,EAAEpB,SAAS,CAACwC;AAzGK,CAAzB;AA4GA,eAAerC,UAAU,CAACC,MAAD,EAAS;EAAEM,IAAI,EAAE;AAAR,CAAT,CAAV,CAA6CL,YAA7C,CAAf"}
1
+ {"version":3,"file":"BaseSwitch.js","names":["React","useState","useCallback","PropTypes","clsx","Switch","withStyles","styles","HvBaseSwitch","props","classes","className","id","name","value","required","readOnly","disabled","checked","defaultChecked","onChange","inputProps","onFocusVisible","onBlur","others","focusVisible","setFocusVisible","onFocusVisibleCallback","evt","onBlurCallback","onLocalChange","target","root","switch","switchBase","track","thumb","propTypes","string","shape","isRequired","any","bool","func","instanceOf","Object"],"sources":["../../../src/BaseSwitch/BaseSwitch.js"],"sourcesContent":["import React, { useState, useCallback } from \"react\";\n\nimport PropTypes from \"prop-types\";\nimport clsx from \"clsx\";\n\nimport { Switch } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\n\nimport styles from \"./styles\";\n\n/**\n * A Switch is <b>binary</b> and work as a digital on/off button.\n *\n * The Base Switch is a building block of the Switch form element. Don't use unless\n * implementing a custom use case not covered by the Switch form element.\n */\nconst HvBaseSwitch = (props) => {\n const {\n classes,\n className,\n\n id,\n name,\n value = \"on\",\n\n required = false,\n readOnly = false,\n disabled = false,\n\n checked,\n defaultChecked,\n\n onChange,\n\n inputProps,\n\n onFocusVisible,\n onBlur,\n\n ...others\n } = props;\n\n const [focusVisible, setFocusVisible] = useState(false);\n\n const onFocusVisibleCallback = useCallback(\n (evt) => {\n setFocusVisible(true);\n onFocusVisible?.(evt);\n },\n [onFocusVisible]\n );\n\n const onBlurCallback = useCallback(\n (evt) => {\n setFocusVisible(false);\n onBlur?.(evt);\n },\n [onBlur]\n );\n\n const onLocalChange = useCallback(\n (evt) => {\n if (readOnly) {\n return;\n }\n\n onChange?.(evt, evt.target.checked, value);\n },\n [onChange, readOnly, value]\n );\n\n return (\n <Switch\n id={id}\n name={name}\n className={clsx(className, classes.root, {\n [classes.disabled]: disabled,\n [classes.readOnly]: readOnly,\n [classes.focusVisible]: focusVisible,\n })}\n color=\"default\"\n disabled={disabled}\n required={required}\n readOnly={readOnly}\n disableRipple\n onChange={onLocalChange}\n value={value}\n checked={checked}\n defaultChecked={defaultChecked}\n classes={{\n root: classes.switch,\n switchBase: classes.switchBase,\n checked: classes.checked,\n track: classes.track,\n thumb: classes.thumb,\n disabled: classes.disabled,\n }}\n inputProps={inputProps}\n onFocusVisible={onFocusVisibleCallback}\n onBlur={onBlurCallback}\n {...others}\n />\n );\n};\n\nHvBaseSwitch.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 to the switch.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the switch when it is disabled.\n */\n disabled: PropTypes.string,\n /**\n * Styles applied to the switch when it is in read only mode.\n */\n readOnly: PropTypes.string,\n /**\n * Styles applied to the internal Switch component's root class.\n */\n switch: PropTypes.string,\n /**\n * Styles applied to the internal SwitchBase component's root class.\n */\n switchBase: PropTypes.string,\n /**\n * Pseudo-class applied to the internal SwitchBase component's checked class.\n */\n checked: PropTypes.string,\n /**\n * Styles applied to the track element.\n */\n track: PropTypes.string,\n /**\n * Styles used to create the thumb passed to the internal SwitchBase component icon prop.\n */\n thumb: PropTypes.string,\n /**\n * Class applied to the root element if keyboard focused.\n */\n focusVisible: PropTypes.string,\n }).isRequired,\n\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\n /**\n * The input name.\n */\n name: PropTypes.string,\n /**\n * The value of the input.\n *\n * Is up to the application's logic when to consider the submission of this value.\n * Generally it should be used only when the switch is neither unchecked nor indeterminate.\n *\n * The default value is \"on\".\n */\n // eslint-disable-next-line react/forbid-prop-types\n value: PropTypes.any,\n\n /**\n * Indicates that user input is required.\n */\n required: PropTypes.bool,\n /**\n * Indicates that the input is not editable.\n */\n readOnly: PropTypes.bool,\n /**\n * Indicates that the input is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true` the switch is selected, if set to `false` the switch is not selected.\n *\n * When defined the switch state becomes controlled.\n */\n checked: PropTypes.bool,\n /**\n * When uncontrolled, defines the initial checked state.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * The callback fired when the switch is pressed.\n */\n onChange: PropTypes.func,\n\n /**\n * Properties passed on to the input element.\n */\n inputProps: PropTypes.instanceOf(Object),\n\n /**\n * Callback fired when the component is focused with a keyboard.\n * We trigger a `onFocus` callback too.\n */\n onFocusVisible: PropTypes.func,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvBaseSwitch\" })(HvBaseSwitch);\n"],"mappings":"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"}
@@ -29,7 +29,10 @@ var styles = function styles(theme) {
29
29
  switch: {
30
30
  padding: 0,
31
31
  width: switchWidth,
32
- height: 16
32
+ height: 16,
33
+ "&$readOnly $switchBase": {
34
+ cursor: "default"
35
+ }
33
36
  },
34
37
  switchBase: {
35
38
  width: switchWidth,
@@ -80,6 +83,7 @@ var styles = function styles(theme) {
80
83
  opacity: 1
81
84
  }
82
85
  },
86
+ readOnly: {},
83
87
  focusVisible: _objectSpread({
84
88
  borderRadius: "8px"
85
89
  }, outlineStyles)
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["outlineStyles","switchWidth","thumbPosition","position","left","width","height","styles","theme","root","padding","cursor","switch","switchBase","backgroundColor","transform","opacity","hv","palette","accent","acce1","track","borderRadius","border","atmosphere","atmo2","thumb","atmo1","marginLeft","marginTop","checked","disabled","atmo3","atmo5","focusVisible"],"sources":["../../../src/BaseSwitch/styles.js"],"sourcesContent":["import { outlineStyles } from \"../Focus/styles\";\n\nconst switchWidth = 32;\n\nconst thumbPosition = {\n position: \"relative\",\n left: -9,\n width: 12,\n height: 12,\n};\n\nconst styles = (theme) => ({\n root: {\n padding: 0,\n cursor: \"pointer\",\n },\n\n switch: {\n padding: 0,\n width: switchWidth,\n height: 16,\n },\n\n switchBase: {\n width: switchWidth,\n height: 16,\n padding: 0,\n\n // increase CSS specificity\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n \"&$checked\": {\n transform: \"translateX(16px)\",\n \"& + $track\": {\n opacity: 1,\n backgroundColor: theme.hv.palette.accent.acce1,\n },\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n },\n\n track: {\n opacity: 1,\n borderRadius: 15,\n left: 17,\n height: 16,\n border: `solid 1px ${theme.hv.palette.accent.acce1}`,\n backgroundColor: theme.hv.palette.atmosphere.atmo2,\n },\n\n thumb: {\n ...thumbPosition,\n border: `solid 1px ${theme.hv.palette.accent.acce1}`,\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n marginLeft: 2,\n marginTop: 0,\n },\n\n checked: {},\n\n disabled: {\n cursor: \"not-allowed\",\n\n \"& $switch\": {\n cursor: \"not-allowed\",\n },\n\n \"& $thumb\": {\n backgroundColor: `${theme.hv.palette.atmosphere.atmo3}`,\n border: `solid 1px ${theme.hv.palette.atmosphere.atmo5}`,\n },\n\n \"& $switchBase + $track\": {\n backgroundColor: `${theme.hv.palette.atmosphere.atmo3}`,\n border: `solid 1px ${theme.hv.palette.atmosphere.atmo5}`,\n opacity: 1,\n },\n },\n\n focusVisible: {\n borderRadius: \"8px\",\n ...outlineStyles,\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,aAAT,QAA8B,iBAA9B;AAEA,IAAMC,WAAW,GAAG,EAApB;AAEA,IAAMC,aAAa,GAAG;EACpBC,QAAQ,EAAE,UADU;EAEpBC,IAAI,EAAE,CAAC,CAFa;EAGpBC,KAAK,EAAE,EAHa;EAIpBC,MAAM,EAAE;AAJY,CAAtB;;AAOA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,OAAO,EAAE,CADL;MAEJC,MAAM,EAAE;IAFJ,CADmB;IAMzBC,MAAM,EAAE;MACNF,OAAO,EAAE,CADH;MAENL,KAAK,EAAEJ,WAFD;MAGNK,MAAM,EAAE;IAHF,CANiB;IAYzBO,UAAU,EAAE;MACVR,KAAK,EAAEJ,WADG;MAEVK,MAAM,EAAE,EAFE;MAGVI,OAAO,EAAE,CAHC;MAKV;MACA,WAAW;QACTI,eAAe,EAAE;MADR,CAND;MASV,aAAa;QACXC,SAAS,EAAE,kBADA;QAEX,cAAc;UACZC,OAAO,EAAE,CADG;UAEZF,eAAe,EAAEN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,MAAjB,CAAwBC;QAF7B,CAFH;QAMX,WAAW;UACTN,eAAe,EAAE;QADR;MANA;IATH,CAZa;IAiCzBO,KAAK,EAAE;MACLL,OAAO,EAAE,CADJ;MAELM,YAAY,EAAE,EAFT;MAGLlB,IAAI,EAAE,EAHD;MAILE,MAAM,EAAE,EAJH;MAKLiB,MAAM,sBAAef,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,MAAjB,CAAwBC,KAAvC,CALD;MAMLN,eAAe,EAAEN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BC;IANxC,CAjCkB;IA0CzBC,KAAK,kCACAxB,aADA;MAEHqB,MAAM,sBAAef,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,MAAjB,CAAwBC,KAAvC,CAFH;MAGHN,eAAe,EAAEN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BG,KAH1C;MAIHC,UAAU,EAAE,CAJT;MAKHC,SAAS,EAAE;IALR,EA1CoB;IAkDzBC,OAAO,EAAE,EAlDgB;IAoDzBC,QAAQ,EAAE;MACRpB,MAAM,EAAE,aADA;MAGR,aAAa;QACXA,MAAM,EAAE;MADG,CAHL;MAOR,YAAY;QACVG,eAAe,YAAKN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BQ,KAAjC,CADL;QAEVT,MAAM,sBAAef,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BS,KAA3C;MAFI,CAPJ;MAYR,0BAA0B;QACxBnB,eAAe,YAAKN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BQ,KAAjC,CADS;QAExBT,MAAM,sBAAef,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BS,KAA3C,CAFkB;QAGxBjB,OAAO,EAAE;MAHe;IAZlB,CApDe;IAuEzBkB,YAAY;MACVZ,YAAY,EAAE;IADJ,GAEPtB,aAFO;EAvEa,CAAZ;AAAA,CAAf;;AA6EA,eAAeO,MAAf"}
1
+ {"version":3,"file":"styles.js","names":["outlineStyles","switchWidth","thumbPosition","position","left","width","height","styles","theme","root","padding","cursor","switch","switchBase","backgroundColor","transform","opacity","hv","palette","accent","acce1","track","borderRadius","border","atmosphere","atmo2","thumb","atmo1","marginLeft","marginTop","checked","disabled","atmo3","atmo5","readOnly","focusVisible"],"sources":["../../../src/BaseSwitch/styles.js"],"sourcesContent":["import { outlineStyles } from \"../Focus/styles\";\n\nconst switchWidth = 32;\n\nconst thumbPosition = {\n position: \"relative\",\n left: -9,\n width: 12,\n height: 12,\n};\n\nconst styles = (theme) => ({\n root: {\n padding: 0,\n cursor: \"pointer\",\n },\n\n switch: {\n padding: 0,\n width: switchWidth,\n height: 16,\n\n \"&$readOnly $switchBase\": {\n cursor: \"default\",\n },\n },\n\n switchBase: {\n width: switchWidth,\n height: 16,\n padding: 0,\n\n // increase CSS specificity\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n \"&$checked\": {\n transform: \"translateX(16px)\",\n \"& + $track\": {\n opacity: 1,\n backgroundColor: theme.hv.palette.accent.acce1,\n },\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n },\n\n track: {\n opacity: 1,\n borderRadius: 15,\n left: 17,\n height: 16,\n border: `solid 1px ${theme.hv.palette.accent.acce1}`,\n backgroundColor: theme.hv.palette.atmosphere.atmo2,\n },\n\n thumb: {\n ...thumbPosition,\n border: `solid 1px ${theme.hv.palette.accent.acce1}`,\n backgroundColor: theme.hv.palette.atmosphere.atmo1,\n marginLeft: 2,\n marginTop: 0,\n },\n\n checked: {},\n\n disabled: {\n cursor: \"not-allowed\",\n\n \"& $switch\": {\n cursor: \"not-allowed\",\n },\n\n \"& $thumb\": {\n backgroundColor: `${theme.hv.palette.atmosphere.atmo3}`,\n border: `solid 1px ${theme.hv.palette.atmosphere.atmo5}`,\n },\n\n \"& $switchBase + $track\": {\n backgroundColor: `${theme.hv.palette.atmosphere.atmo3}`,\n border: `solid 1px ${theme.hv.palette.atmosphere.atmo5}`,\n opacity: 1,\n },\n },\n\n readOnly: {},\n\n focusVisible: {\n borderRadius: \"8px\",\n ...outlineStyles,\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;;;;;;;;AAAA,SAASA,aAAT,QAA8B,iBAA9B;AAEA,IAAMC,WAAW,GAAG,EAApB;AAEA,IAAMC,aAAa,GAAG;EACpBC,QAAQ,EAAE,UADU;EAEpBC,IAAI,EAAE,CAAC,CAFa;EAGpBC,KAAK,EAAE,EAHa;EAIpBC,MAAM,EAAE;AAJY,CAAtB;;AAOA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,OAAO,EAAE,CADL;MAEJC,MAAM,EAAE;IAFJ,CADmB;IAMzBC,MAAM,EAAE;MACNF,OAAO,EAAE,CADH;MAENL,KAAK,EAAEJ,WAFD;MAGNK,MAAM,EAAE,EAHF;MAKN,0BAA0B;QACxBK,MAAM,EAAE;MADgB;IALpB,CANiB;IAgBzBE,UAAU,EAAE;MACVR,KAAK,EAAEJ,WADG;MAEVK,MAAM,EAAE,EAFE;MAGVI,OAAO,EAAE,CAHC;MAKV;MACA,WAAW;QACTI,eAAe,EAAE;MADR,CAND;MASV,aAAa;QACXC,SAAS,EAAE,kBADA;QAEX,cAAc;UACZC,OAAO,EAAE,CADG;UAEZF,eAAe,EAAEN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,MAAjB,CAAwBC;QAF7B,CAFH;QAMX,WAAW;UACTN,eAAe,EAAE;QADR;MANA;IATH,CAhBa;IAqCzBO,KAAK,EAAE;MACLL,OAAO,EAAE,CADJ;MAELM,YAAY,EAAE,EAFT;MAGLlB,IAAI,EAAE,EAHD;MAILE,MAAM,EAAE,EAJH;MAKLiB,MAAM,sBAAef,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,MAAjB,CAAwBC,KAAvC,CALD;MAMLN,eAAe,EAAEN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BC;IANxC,CArCkB;IA8CzBC,KAAK,kCACAxB,aADA;MAEHqB,MAAM,sBAAef,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBC,MAAjB,CAAwBC,KAAvC,CAFH;MAGHN,eAAe,EAAEN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BG,KAH1C;MAIHC,UAAU,EAAE,CAJT;MAKHC,SAAS,EAAE;IALR,EA9CoB;IAsDzBC,OAAO,EAAE,EAtDgB;IAwDzBC,QAAQ,EAAE;MACRpB,MAAM,EAAE,aADA;MAGR,aAAa;QACXA,MAAM,EAAE;MADG,CAHL;MAOR,YAAY;QACVG,eAAe,YAAKN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BQ,KAAjC,CADL;QAEVT,MAAM,sBAAef,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BS,KAA3C;MAFI,CAPJ;MAYR,0BAA0B;QACxBnB,eAAe,YAAKN,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BQ,KAAjC,CADS;QAExBT,MAAM,sBAAef,KAAK,CAACS,EAAN,CAASC,OAAT,CAAiBM,UAAjB,CAA4BS,KAA3C,CAFkB;QAGxBjB,OAAO,EAAE;MAHe;IAZlB,CAxDe;IA2EzBkB,QAAQ,EAAE,EA3Ee;IA6EzBC,YAAY;MACVb,YAAY,EAAE;IADJ,GAEPtB,aAFO;EA7Ea,CAAZ;AAAA,CAAf;;AAmFA,eAAeO,MAAf"}
@@ -13,6 +13,7 @@ var useScrollTo = function useScrollTo() {
13
13
  var offset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
14
14
  var options = arguments.length > 4 ? arguments[4] : undefined;
15
15
  var onChange = arguments.length > 5 ? arguments[5] : undefined;
16
+ var direction = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : "column";
16
17
  var RETRY_MAX = 5;
17
18
 
18
19
  var _useState = useState(selectedIndexProp),
@@ -133,7 +134,7 @@ var useScrollTo = function useScrollTo() {
133
134
  var ele = document.getElementById(id);
134
135
 
135
136
  if (ele) {
136
- scrollElement(ele, scrollEle.current, option.offset || offset);
137
+ scrollElement(ele, scrollEle.current, option.offset || offset, direction);
137
138
  }
138
139
 
139
140
  if (href) {
@@ -1 +1 @@
1
- {"version":3,"file":"useScrollTo.js","names":["useEffect","useRef","useState","useCallback","verticalScrollOffset","findFirstVisibleElement","isScrolledToTheBottom","getScrollTop","scrollElement","useScrollTo","selectedIndexProp","scrollElementId","href","offset","options","onChange","RETRY_MAX","selectedIndex","setSelectedIndex","scrollEle","requestedAnimationFrame","lastContainerScrollTop","selectedIndexRef","current","document","getElementById","window","checkScroll","event","requestAnimationFrame","firstVisibleElementIndex","newSelectedIndex","length","containerScrollTop","isScrollingDown","addEventListener","removeEventListener","cancelAnimationFrame","checkRenderedInterval","hashValue","location","hash","split","option","find","o","value","retry","setInterval","ele","clearInterval","setScrollTo","id","index","wrappedOnChange","history","pushState"],"sources":["../../../src/ScrollTo/useScrollTo.js"],"sourcesContent":["import { useEffect, useRef, useState, useCallback } from \"react\";\nimport {\n verticalScrollOffset,\n findFirstVisibleElement,\n isScrolledToTheBottom,\n getScrollTop,\n scrollElement,\n} from \"./utils\";\n\nconst useScrollTo = (\n selectedIndexProp = 0,\n scrollElementId,\n href,\n offset = 0,\n options,\n onChange\n) => {\n const RETRY_MAX = 5;\n const [selectedIndex, setSelectedIndex] = useState(selectedIndexProp);\n\n const scrollEle = useRef();\n const requestedAnimationFrame = useRef(0);\n const lastContainerScrollTop = useRef();\n\n // ref to use a often-changing value in useCallback, as recommended in\n // https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n const selectedIndexRef = useRef(selectedIndex);\n useEffect(() => {\n selectedIndexRef.current = selectedIndex;\n }, [selectedIndex]);\n\n useEffect(() => {\n scrollEle.current = (scrollElementId && document.getElementById(scrollElementId)) || window;\n lastContainerScrollTop.current = verticalScrollOffset(scrollEle.current);\n }, [scrollElementId]);\n\n const checkScroll = useCallback(\n (event) => {\n if (requestedAnimationFrame.current === 0 && window?.requestAnimationFrame) {\n requestedAnimationFrame.current = window.requestAnimationFrame(() => {\n requestedAnimationFrame.current = 0;\n\n const firstVisibleElementIndex = findFirstVisibleElement(\n scrollEle.current,\n options,\n offset\n );\n\n let newSelectedIndex = firstVisibleElementIndex;\n\n // select the first element when all elements are bellow the container's top\n if (firstVisibleElementIndex < 0) {\n newSelectedIndex = 0;\n }\n\n // if the user has reached the bottom of the container, select the first nav item still visible\n // (usually this selects the last nav item, when it can't reach the top the container)\n // in theory only needed when scrolling down, but no... because of the Safari bouncing behaviour\n if (newSelectedIndex < options.length - 1 && isScrolledToTheBottom(scrollEle.current)) {\n newSelectedIndex += 1;\n }\n\n const containerScrollTop = getScrollTop(scrollEle.current);\n const isScrollingDown = containerScrollTop > lastContainerScrollTop.current;\n lastContainerScrollTop.current = containerScrollTop;\n\n // only update the selected item if the scroll direction is moving away from it\n if (isScrollingDown) {\n if (newSelectedIndex < selectedIndexRef.current) {\n newSelectedIndex = selectedIndexRef.current;\n }\n } else if (newSelectedIndex > selectedIndexRef.current) {\n newSelectedIndex = selectedIndexRef.current;\n }\n\n setSelectedIndex(newSelectedIndex);\n onChange?.(event, newSelectedIndex);\n });\n }\n },\n [offset, options, onChange]\n );\n\n // registers and unregisters the scroll listener\n useEffect(() => {\n if (scrollEle.current) {\n scrollEle.current.addEventListener(\"scroll\", checkScroll, false);\n }\n\n return () => {\n if (scrollEle.current) {\n scrollEle.current.removeEventListener(\"scroll\", checkScroll);\n }\n\n if (requestedAnimationFrame.current !== 0) {\n window.cancelAnimationFrame(requestedAnimationFrame.current);\n requestedAnimationFrame.current = 0;\n }\n };\n }, [checkScroll]);\n\n // waits for the elements to be rendered and scrolls to the one referenced\n // in the URL hash, if any\n useEffect(() => {\n let checkRenderedInterval;\n\n if (href) {\n const hashValue = document.location.hash.split(\"#\")[1] || \"\";\n\n const option = options.find((o) => o.value === hashValue);\n\n if (option) {\n let retry = 0;\n checkRenderedInterval = setInterval(() => {\n const ele = document.getElementById(option.value);\n\n if (ele) {\n scrollElement(ele, scrollEle.current, option.offset || offset);\n clearInterval(checkRenderedInterval);\n } else {\n retry += 1;\n if (retry === RETRY_MAX) {\n clearInterval(checkRenderedInterval);\n }\n }\n }, 1000);\n }\n }\n\n return () => {\n clearInterval(checkRenderedInterval);\n };\n\n // we really want to run this just in the first load\n // in fact this doesn't even belong here, the logic should be external\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const setScrollTo = (event, id, index, wrappedOnChange) => {\n const option = options.find((o) => o.value === id);\n\n if (option) {\n const ele = document.getElementById(id);\n if (ele) {\n scrollElement(ele, scrollEle.current, option.offset || offset);\n }\n\n if (href) {\n window.history.pushState({}, \"\", `#${options[index].value}`);\n }\n\n setSelectedIndex(index);\n wrappedOnChange?.(index);\n\n // Safari scrolls immediately (no smooth scroll support),\n // so this ref value must be updated asap\n selectedIndexRef.current = index;\n }\n };\n\n return [selectedIndex, setScrollTo];\n};\n\nexport default useScrollTo;\n"],"mappings":"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"}
1
+ {"version":3,"file":"useScrollTo.js","names":["useEffect","useRef","useState","useCallback","verticalScrollOffset","findFirstVisibleElement","isScrolledToTheBottom","getScrollTop","scrollElement","useScrollTo","selectedIndexProp","scrollElementId","href","offset","options","onChange","direction","RETRY_MAX","selectedIndex","setSelectedIndex","scrollEle","requestedAnimationFrame","lastContainerScrollTop","selectedIndexRef","current","document","getElementById","window","checkScroll","event","requestAnimationFrame","firstVisibleElementIndex","newSelectedIndex","length","containerScrollTop","isScrollingDown","addEventListener","removeEventListener","cancelAnimationFrame","checkRenderedInterval","hashValue","location","hash","split","option","find","o","value","retry","setInterval","ele","clearInterval","setScrollTo","id","index","wrappedOnChange","history","pushState"],"sources":["../../../src/ScrollTo/useScrollTo.js"],"sourcesContent":["import { useEffect, useRef, useState, useCallback } from \"react\";\nimport {\n verticalScrollOffset,\n findFirstVisibleElement,\n isScrolledToTheBottom,\n getScrollTop,\n scrollElement,\n} from \"./utils\";\n\nconst useScrollTo = (\n selectedIndexProp = 0,\n scrollElementId,\n href,\n offset = 0,\n options,\n onChange,\n direction = \"column\"\n) => {\n const RETRY_MAX = 5;\n const [selectedIndex, setSelectedIndex] = useState(selectedIndexProp);\n\n const scrollEle = useRef();\n const requestedAnimationFrame = useRef(0);\n const lastContainerScrollTop = useRef();\n\n // ref to use a often-changing value in useCallback, as recommended in\n // https://reactjs.org/docs/hooks-faq.html#how-to-read-an-often-changing-value-from-usecallback\n const selectedIndexRef = useRef(selectedIndex);\n useEffect(() => {\n selectedIndexRef.current = selectedIndex;\n }, [selectedIndex]);\n\n useEffect(() => {\n scrollEle.current = (scrollElementId && document.getElementById(scrollElementId)) || window;\n lastContainerScrollTop.current = verticalScrollOffset(scrollEle.current);\n }, [scrollElementId]);\n\n const checkScroll = useCallback(\n (event) => {\n if (requestedAnimationFrame.current === 0 && window?.requestAnimationFrame) {\n requestedAnimationFrame.current = window.requestAnimationFrame(() => {\n requestedAnimationFrame.current = 0;\n\n const firstVisibleElementIndex = findFirstVisibleElement(\n scrollEle.current,\n options,\n offset\n );\n\n let newSelectedIndex = firstVisibleElementIndex;\n\n // select the first element when all elements are bellow the container's top\n if (firstVisibleElementIndex < 0) {\n newSelectedIndex = 0;\n }\n\n // if the user has reached the bottom of the container, select the first nav item still visible\n // (usually this selects the last nav item, when it can't reach the top the container)\n // in theory only needed when scrolling down, but no... because of the Safari bouncing behaviour\n if (newSelectedIndex < options.length - 1 && isScrolledToTheBottom(scrollEle.current)) {\n newSelectedIndex += 1;\n }\n\n const containerScrollTop = getScrollTop(scrollEle.current);\n const isScrollingDown = containerScrollTop > lastContainerScrollTop.current;\n lastContainerScrollTop.current = containerScrollTop;\n\n // only update the selected item if the scroll direction is moving away from it\n if (isScrollingDown) {\n if (newSelectedIndex < selectedIndexRef.current) {\n newSelectedIndex = selectedIndexRef.current;\n }\n } else if (newSelectedIndex > selectedIndexRef.current) {\n newSelectedIndex = selectedIndexRef.current;\n }\n\n setSelectedIndex(newSelectedIndex);\n onChange?.(event, newSelectedIndex);\n });\n }\n },\n [offset, options, onChange]\n );\n\n // registers and unregisters the scroll listener\n useEffect(() => {\n if (scrollEle.current) {\n scrollEle.current.addEventListener(\"scroll\", checkScroll, false);\n }\n\n return () => {\n if (scrollEle.current) {\n scrollEle.current.removeEventListener(\"scroll\", checkScroll);\n }\n\n if (requestedAnimationFrame.current !== 0) {\n window.cancelAnimationFrame(requestedAnimationFrame.current);\n requestedAnimationFrame.current = 0;\n }\n };\n }, [checkScroll]);\n\n // waits for the elements to be rendered and scrolls to the one referenced\n // in the URL hash, if any\n useEffect(() => {\n let checkRenderedInterval;\n\n if (href) {\n const hashValue = document.location.hash.split(\"#\")[1] || \"\";\n\n const option = options.find((o) => o.value === hashValue);\n\n if (option) {\n let retry = 0;\n checkRenderedInterval = setInterval(() => {\n const ele = document.getElementById(option.value);\n\n if (ele) {\n scrollElement(ele, scrollEle.current, option.offset || offset);\n clearInterval(checkRenderedInterval);\n } else {\n retry += 1;\n if (retry === RETRY_MAX) {\n clearInterval(checkRenderedInterval);\n }\n }\n }, 1000);\n }\n }\n\n return () => {\n clearInterval(checkRenderedInterval);\n };\n\n // we really want to run this just in the first load\n // in fact this doesn't even belong here, the logic should be external\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const setScrollTo = (event, id, index, wrappedOnChange) => {\n const option = options.find((o) => o.value === id);\n\n if (option) {\n const ele = document.getElementById(id);\n if (ele) {\n scrollElement(ele, scrollEle.current, option.offset || offset, direction);\n }\n\n if (href) {\n window.history.pushState({}, \"\", `#${options[index].value}`);\n }\n\n setSelectedIndex(index);\n wrappedOnChange?.(index);\n\n // Safari scrolls immediately (no smooth scroll support),\n // so this ref value must be updated asap\n selectedIndexRef.current = index;\n }\n };\n\n return [selectedIndex, setScrollTo];\n};\n\nexport default useScrollTo;\n"],"mappings":"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"}
@@ -22,13 +22,43 @@ export var verticalScrollOffset = function verticalScrollOffset(t) {
22
22
 
23
23
  return t.offsetTop - c.offsetTop;
24
24
  };
25
+ export var horizontalScrollOffset = function horizontalScrollOffset(t) {
26
+ var c = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window;
27
+
28
+ if (c === window) {
29
+ var _t$getBoundingClientR2;
30
+
31
+ return ((t === null || t === void 0 ? void 0 : (_t$getBoundingClientR2 = t.getBoundingClientRect) === null || _t$getBoundingClientR2 === void 0 ? void 0 : _t$getBoundingClientR2.call(t).left) || 0) + (window.scrollX || window.pageXOffset);
32
+ }
33
+
34
+ if (getComputedStyle(c).position !== "static") {
35
+ return t.offsetLeft;
36
+ }
37
+
38
+ return t.offsetLeft - c.offsetLeft;
39
+ };
25
40
  export var scrollElement = function scrollElement(element, container) {
26
41
  var offset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
27
- var elemTop = verticalScrollOffset(element, container);
28
- container.scrollTo({
29
- top: elemTop - offset,
30
- behavior: "smooth"
31
- });
42
+ var direction = arguments.length > 3 ? arguments[3] : undefined;
43
+
44
+ if (direction === "row") {
45
+ var _container$scrollTo;
46
+
47
+ var elemLeft = horizontalScrollOffset(element, container);
48
+ container === null || container === void 0 ? void 0 : (_container$scrollTo = container.scrollTo) === null || _container$scrollTo === void 0 ? void 0 : _container$scrollTo.call(container, {
49
+ left: elemLeft - offset,
50
+ behavior: "smooth"
51
+ });
52
+ } else {
53
+ var _container$scrollTo2;
54
+
55
+ var elemTop = verticalScrollOffset(element, container);
56
+ container === null || container === void 0 ? void 0 : (_container$scrollTo2 = container.scrollTo) === null || _container$scrollTo2 === void 0 ? void 0 : _container$scrollTo2.call(container, {
57
+ top: elemTop - offset,
58
+ behavior: "smooth"
59
+ });
60
+ }
61
+
32
62
  element.focus({
33
63
  preventScroll: true
34
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["getScrollTop","c","window","scrollY","pageYOffset","document","documentElement","scrollTop","body","verticalScrollOffset","t","getBoundingClientRect","top","getComputedStyle","position","offsetTop","scrollElement","element","container","offset","elemTop","scrollTo","behavior","focus","preventScroll","isScrolledToTheBottom","containerScrollTop","scrollHeight","innerHeight","offsetHeight","findFirstVisibleElement","options","boundsTop","i","length","ele","getElementById","value"],"sources":["../../../src/ScrollTo/utils.js"],"sourcesContent":["export const getScrollTop = (c = window) => {\n if (c === window) {\n return (\n window.scrollY ||\n window.pageYOffset ||\n (document.documentElement && document.documentElement.scrollTop) ||\n document.body.scrollTop\n );\n }\n\n return c.scrollTop;\n};\n\nexport const verticalScrollOffset = (t, c = window) => {\n if (c === window) {\n return (t?.getBoundingClientRect?.().top || 0) + (window.scrollY || window.pageYOffset);\n }\n if (getComputedStyle(c).position !== \"static\") {\n return t.offsetTop;\n }\n\n return t.offsetTop - c.offsetTop;\n};\n\nexport const scrollElement = (element, container, offset = 0) => {\n const elemTop = verticalScrollOffset(element, container);\n container.scrollTo({\n top: elemTop - offset,\n behavior: \"smooth\",\n });\n element.focus({ preventScroll: true });\n};\n\nexport const isScrolledToTheBottom = (container) => {\n const containerScrollTop = getScrollTop(container);\n\n if (container === window) {\n // accounting for cases where html/body are set to height:100%\n const scrollHeight =\n (document.documentElement && document.documentElement.scrollHeight) ||\n document.body.scrollHeight;\n\n return containerScrollTop + window.innerHeight >= scrollHeight;\n }\n\n return containerScrollTop + container.offsetHeight >= container.scrollHeight;\n};\n\nexport const findFirstVisibleElement = (container, options, offset) => {\n const boundsTop = verticalScrollOffset(container);\n\n let i = 0;\n // find index of first element whose top is still visible inside the container\n for (; i < options.length; i += 1) {\n const ele = document.getElementById(options[i].value);\n\n if (ele) {\n const elemTop = verticalScrollOffset(ele) - (options[i].offset || offset);\n\n if (elemTop > boundsTop) {\n break;\n }\n }\n }\n\n // return the previous index, the element that last scrolled past the top\n return i - 1;\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["getScrollTop","c","window","scrollY","pageYOffset","document","documentElement","scrollTop","body","verticalScrollOffset","t","getBoundingClientRect","top","getComputedStyle","position","offsetTop","horizontalScrollOffset","left","scrollX","pageXOffset","offsetLeft","scrollElement","element","container","offset","direction","elemLeft","scrollTo","behavior","elemTop","focus","preventScroll","isScrolledToTheBottom","containerScrollTop","scrollHeight","innerHeight","offsetHeight","findFirstVisibleElement","options","boundsTop","i","length","ele","getElementById","value"],"sources":["../../../src/ScrollTo/utils.js"],"sourcesContent":["export const getScrollTop = (c = window) => {\n if (c === window) {\n return (\n window.scrollY ||\n window.pageYOffset ||\n (document.documentElement && document.documentElement.scrollTop) ||\n document.body.scrollTop\n );\n }\n\n return c.scrollTop;\n};\n\nexport const verticalScrollOffset = (t, c = window) => {\n if (c === window) {\n return (t?.getBoundingClientRect?.().top || 0) + (window.scrollY || window.pageYOffset);\n }\n if (getComputedStyle(c).position !== \"static\") {\n return t.offsetTop;\n }\n\n return t.offsetTop - c.offsetTop;\n};\n\nexport const horizontalScrollOffset = (t, c = window) => {\n if (c === window) {\n return (t?.getBoundingClientRect?.().left || 0) + (window.scrollX || window.pageXOffset);\n }\n if (getComputedStyle(c).position !== \"static\") {\n return t.offsetLeft;\n }\n\n return t.offsetLeft - c.offsetLeft;\n};\n\nexport const scrollElement = (element, container, offset = 0, direction) => {\n if (direction === \"row\") {\n const elemLeft = horizontalScrollOffset(element, container);\n container?.scrollTo?.({\n left: elemLeft - offset,\n behavior: \"smooth\",\n });\n } else {\n const elemTop = verticalScrollOffset(element, container);\n container?.scrollTo?.({\n top: elemTop - offset,\n behavior: \"smooth\",\n });\n }\n element.focus({ preventScroll: true });\n};\n\nexport const isScrolledToTheBottom = (container) => {\n const containerScrollTop = getScrollTop(container);\n\n if (container === window) {\n // accounting for cases where html/body are set to height:100%\n const scrollHeight =\n (document.documentElement && document.documentElement.scrollHeight) ||\n document.body.scrollHeight;\n\n return containerScrollTop + window.innerHeight >= scrollHeight;\n }\n\n return containerScrollTop + container.offsetHeight >= container.scrollHeight;\n};\n\nexport const findFirstVisibleElement = (container, options, offset) => {\n const boundsTop = verticalScrollOffset(container);\n\n let i = 0;\n // find index of first element whose top is still visible inside the container\n for (; i < options.length; i += 1) {\n const ele = document.getElementById(options[i].value);\n\n if (ele) {\n const elemTop = verticalScrollOffset(ele) - (options[i].offset || offset);\n\n if (elemTop > boundsTop) {\n break;\n }\n }\n }\n\n // return the previous index, the element that last scrolled past the top\n return i - 1;\n};\n"],"mappings":"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"}
@@ -1,10 +1,17 @@
1
1
  export { default } from "./UserPreferences";
2
2
  export * from "./UserPreferences";
3
3
 
4
- export { default as UserPreferencesAction } from "./Action";
4
+ export { default as HvUserPreferencesAction } from "./Action";
5
5
  export * from "./Action";
6
6
 
7
- export { default as UserPreferencesActions } from "./Actions";
7
+ export { default as HvUserPreferencesActions } from "./Actions";
8
8
  export * from "./Actions";
9
9
 
10
+ export {
11
+ Options as HvUserPreferencesOptions,
12
+ Option as HvUserPreferencesOption,
13
+ Group as HvUserPreferencesOptionsGroup,
14
+ Label as HvUserPreferencesOptionsGroupLabel,
15
+ } from "./Options";
16
+
10
17
  export * from "./Options";
@@ -42,7 +42,7 @@ export interface NavigationData {
42
42
 
43
43
  export type HvNavigationClassKey = "root" | "list" | "listItem";
44
44
 
45
- export interface HvVerticalNavigationNavigationProps
45
+ export interface HvVerticalNavigationTreeProps
46
46
  extends StandardProps<
47
47
  React.HTMLAttributes<HTMLElement>,
48
48
  HvNavigationClassKey,
@@ -118,6 +118,6 @@ export interface HvVerticalNavigationNavigationProps
118
118
  label?: string;
119
119
  }
120
120
 
121
- export default function HvVerticalNavigationNavigation(
122
- props: HvVerticalNavigationNavigationProps
121
+ export default function HvVerticalNavigationTree(
122
+ props: HvVerticalNavigationTreeProps
123
123
  ): JSX.Element | null;
@@ -310,6 +310,6 @@ process.env.NODE_ENV !== "production" ? Navigation.propTypes = {
310
310
  label: deprecatedPropType(PropTypes.string)
311
311
  } : void 0;
312
312
  export default withStyles(styles, {
313
- name: "HvVerticalNavigationNavigation"
313
+ name: "HvVerticalNavigationTree"
314
314
  })(Navigation);
315
315
  //# sourceMappingURL=Navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.js","names":["React","useCallback","useMemo","PropTypes","deprecatedPropType","withStyles","clsx","TreeView","TreeViewItem","setId","useControlled","styles","wrapperTooltip","createListHierarchy","items","id","classes","map","item","itemId","itemLabel","label","icon","children","data","selectable","disabled","href","target","ItemText","listItem","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","Navigation","className","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectedProp","selected","defaultSelected","onChange","onClick","others","setSelected","slice","setExpanded","handleChange","event","selectedId","selectedItem","handleToggle","newExpanded","root","list","propTypes","string","shape","isRequired","oneOf","bool","func","arrayOf","oneOfType","node","array","name"],"sources":["../../../../src/VerticalNavigation/Navigation/Navigation.js"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { deprecatedPropType } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport clsx from \"clsx\";\nimport { TreeView, TreeViewItem } from \"../TreeView\";\nimport { setId, useControlled } from \"../../utils\";\nimport styles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst createListHierarchy = (items, id, classes) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n return (\n <TreeViewItem\n id={setId(id, itemId)}\n className={classes.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n >\n {children ? createListHierarchy(children, id, classes) : undefined}\n </TreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter((item) => item.data != null && item.data.length > 0);\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path = [];\n\n if (data != null && data.length > 0) {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nconst Navigation = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n label,\n onClick,\n\n ...others\n}) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n setSelected(selectedId);\n\n if (onChange) {\n onChange(event, selectedItem);\n }\n\n // deprecated\n if (onClick) {\n onClick(event, selectedItem);\n }\n },\n [onChange, onClick, setSelected]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n // deprecated\n if (onClick) {\n onClick(event);\n }\n },\n [onClick, onToggle, setExpanded]\n );\n\n const children = useMemo(\n () => data && createListHierarchy(data, id, classes),\n [classes, data, id]\n );\n\n return (\n <nav id={id} className={clsx(className, classes.root)} aria-label={label} {...others}>\n <TreeView\n id={setId(id, \"tree\")}\n className={classes.list}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {children}\n </TreeView>\n </nav>\n );\n};\n\nNavigation.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\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 * Style applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Style applied to the list.\n */\n list: PropTypes.string,\n /**\n * Style applied to the list items.\n */\n listItem: PropTypes.string,\n }).isRequired,\n\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n\n /**\n * The ID of the selected page.\n */\n selected: PropTypes.string,\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected: PropTypes.string,\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange: PropTypes.func,\n\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.bool]),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.node,\n data: PropTypes.array,\n href: PropTypes.string,\n target: PropTypes.string,\n })\n ).isRequired,\n\n /**\n * Callback triggered when any item is clicked.\n *\n * @deprecated use `onChange` for selection and `onToggle` for node expansion/collapse.\n */\n onClick: deprecatedPropType(PropTypes.func),\n /**\n * The root element (nav) aria label.\n *\n * @deprecated Use directly the `aria-label` property instead.\n */\n label: deprecatedPropType(PropTypes.string),\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationNavigation\" })(Navigation);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.js","names":["React","useCallback","useMemo","PropTypes","deprecatedPropType","withStyles","clsx","TreeView","TreeViewItem","setId","useControlled","styles","wrapperTooltip","createListHierarchy","items","id","classes","map","item","itemId","itemLabel","label","icon","children","data","selectable","disabled","href","target","ItemText","listItem","undefined","getAllParents","parents","filter","length","childParents","flatMap","pathToElement","targetId","path","i","push","subPaths","Navigation","className","mode","collapsible","expandedProp","expanded","defaultExpanded","onToggle","selectedProp","selected","defaultSelected","onChange","onClick","others","setSelected","slice","setExpanded","handleChange","event","selectedId","selectedItem","handleToggle","newExpanded","root","list","propTypes","string","shape","isRequired","oneOf","bool","func","arrayOf","oneOfType","node","array","name"],"sources":["../../../../src/VerticalNavigation/Navigation/Navigation.js"],"sourcesContent":["import React, { useCallback, useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { deprecatedPropType } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport clsx from \"clsx\";\nimport { TreeView, TreeViewItem } from \"../TreeView\";\nimport { setId, useControlled } from \"../../utils\";\nimport styles from \"./styles\";\nimport { wrapperTooltip } from \"../../List/utils\";\n\nconst createListHierarchy = (items, id, classes) =>\n items.map((item) => {\n const {\n id: itemId,\n label: itemLabel,\n icon,\n data: children,\n selectable,\n disabled,\n href,\n target,\n } = item;\n\n const ItemText = wrapperTooltip(true, itemLabel, itemLabel);\n\n return (\n <TreeViewItem\n id={setId(id, itemId)}\n className={classes.listItem}\n href={href}\n target={target}\n key={itemId}\n nodeId={itemId}\n label={<ItemText />}\n icon={icon}\n payload={item}\n selectable={selectable}\n disabled={disabled}\n >\n {children ? createListHierarchy(children, id, classes) : undefined}\n </TreeViewItem>\n );\n });\n\nconst getAllParents = (items) => {\n const parents = items.filter((item) => item.data != null && item.data.length > 0);\n const childParents = parents.flatMap((item) => getAllParents(item.data));\n\n return [...parents, ...childParents];\n};\n\nfunction pathToElement(data, targetId) {\n const path = [];\n\n if (data != null && data.length > 0) {\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i !== data.length; ++i) {\n const item = data[i];\n if (item.id === targetId) {\n path.push(item.id);\n break;\n }\n\n const subPaths = pathToElement(item.data, targetId);\n if (subPaths.length > 0) {\n path.push(item.id);\n path.push(...subPaths);\n break;\n }\n }\n }\n\n return path;\n}\n\nconst Navigation = ({\n id,\n\n className,\n classes,\n\n data,\n\n mode = \"navigation\",\n\n collapsible = false,\n expanded: expandedProp,\n defaultExpanded,\n onToggle,\n\n selected: selectedProp,\n defaultSelected,\n onChange,\n\n label,\n onClick,\n\n ...others\n}) => {\n const [selected, setSelected] = useControlled(selectedProp, defaultSelected);\n const [expanded, setExpanded] = useControlled(expandedProp, () => {\n if (defaultExpanded === true) {\n // all parent nodes will be expanded by default\n return getAllParents(data).map((item) => item.id);\n }\n\n if (defaultExpanded === false) {\n // all parent nodes will be collapsed by default\n return [];\n }\n\n if (defaultExpanded == null) {\n if (selected != null) {\n // the path to the selected node will be expanded (default behaviour)\n const path = pathToElement(data, selected);\n return path.slice(0, -1);\n }\n\n // nothing is expanded\n return [];\n }\n\n return defaultExpanded;\n });\n\n const handleChange = useCallback(\n (event, selectedId, selectedItem) => {\n setSelected(selectedId);\n\n if (onChange) {\n onChange(event, selectedItem);\n }\n\n // deprecated\n if (onClick) {\n onClick(event, selectedItem);\n }\n },\n [onChange, onClick, setSelected]\n );\n\n const handleToggle = useCallback(\n (event, newExpanded) => {\n setExpanded(newExpanded);\n\n if (onToggle) {\n onToggle(event, newExpanded);\n }\n\n // deprecated\n if (onClick) {\n onClick(event);\n }\n },\n [onClick, onToggle, setExpanded]\n );\n\n const children = useMemo(\n () => data && createListHierarchy(data, id, classes),\n [classes, data, id]\n );\n\n return (\n <nav id={id} className={clsx(className, classes.root)} aria-label={label} {...others}>\n <TreeView\n id={setId(id, \"tree\")}\n className={classes.list}\n selectable\n mode={mode}\n collapsible={collapsible}\n selected={selected}\n onChange={handleChange}\n expanded={expanded}\n onToggle={handleToggle}\n >\n {children}\n </TreeView>\n </nav>\n );\n};\n\nNavigation.propTypes = {\n /**\n * Id to be applied to the root node.\n */\n id: PropTypes.string,\n\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 * Style applied to the root element.\n */\n root: PropTypes.string,\n /**\n * Style applied to the list.\n */\n list: PropTypes.string,\n /**\n * Style applied to the list items.\n */\n listItem: PropTypes.string,\n }).isRequired,\n\n /**\n * Modus operandi (role) of the widget instance.\n */\n mode: PropTypes.oneOf([\"treeview\", \"navigation\"]),\n /**\n * Can non-leaf nodes be collapsed / expanded.\n */\n collapsible: PropTypes.bool,\n\n /**\n * The ID of the selected page.\n */\n selected: PropTypes.string,\n /**\n * When uncontrolled, defines the initial selected page ID.\n */\n defaultSelected: PropTypes.string,\n /**\n * Callback fired when a navigation item is selected.\n *\n * @param {object} event The event source of the callback.\n * @param {object} page The data of the selected page.\n */\n onChange: PropTypes.func,\n\n /**\n * Expanded nodes' ids.\n */\n expanded: PropTypes.arrayOf(PropTypes.string),\n /**\n * When uncontrolled, defines the initial expanded nodes' ids.\n *\n * It also supports `true` for starting with all nodes expanded.\n * With `false` all nodes will be collapsed.\n *\n * By default it expands the needed nodes to display the current selection, if any.\n */\n defaultExpanded: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.bool]),\n /**\n * Callback fired when tree items are expanded/collapsed.\n *\n * @param {object} event The event source of the callback.\n * @param {array} nodeIds The ids of the expanded nodes (old and new).\n */\n onToggle: PropTypes.func,\n\n /**\n * An array containing the data for each menu item.\n *\n * id - the id to be applied to the root element.\n * label - the label to be rendered on the menu item.\n * data - sub-menu items\n * href - the url used for navigation.\n * target - the behavior when opening an url.\n */\n data: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.node,\n data: PropTypes.array,\n href: PropTypes.string,\n target: PropTypes.string,\n })\n ).isRequired,\n\n /**\n * Callback triggered when any item is clicked.\n *\n * @deprecated use `onChange` for selection and `onToggle` for node expansion/collapse.\n */\n onClick: deprecatedPropType(PropTypes.func),\n /**\n * The root element (nav) aria label.\n *\n * @deprecated Use directly the `aria-label` property instead.\n */\n label: deprecatedPropType(PropTypes.string),\n};\n\nexport default withStyles(styles, { name: \"HvVerticalNavigationTree\" })(Navigation);\n"],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- export { default } from "./Navigation";
1
+ export { default } from "./VerticalNavigation";
2
+ export * from "./VerticalNavigation";
3
+
4
+ export { default as HvVerticalNavigationTree } from "./Navigation";
2
5
  export * from "./Navigation";
3
6
 
4
7
  export {
@@ -1,6 +1,7 @@
1
1
  import * as React from "react";
2
- import { StandardProps, SnackbarProps, SnackbarContentProps } from "@mui/material";
2
+ import { StandardProps, SnackbarProps } from "@mui/material";
3
3
  import { HvActionsGenericCommonProps } from "../ActionsGeneric";
4
+ import { HvBannerContentProps } from "./BannerContent";
4
5
 
5
6
  export type TransitionDirectionProp = "up" | "down" | "left" | "right";
6
7
 
@@ -55,7 +56,7 @@ export interface HvBannerProps
55
56
  /**
56
57
  * Props to pass down to the Banner Wrapper.
57
58
  */
58
- bannerContentProps?: SnackbarContentProps;
59
+ bannerContentProps?: Partial<HvBannerContentProps>;
59
60
  }
60
61
 
61
62
  export default function HvBanner(props: HvBannerProps): JSX.Element | null;
@@ -12,7 +12,7 @@ import { Slide, Snackbar } from "@mui/material";
12
12
  import { withStyles } from "@mui/styles";
13
13
  import capitalize from "lodash/capitalize";
14
14
  import { setId } from "../utils";
15
- import HvBannerContentWrapper from "./BannerWrapper";
15
+ import HvBannerContent from "./BannerContent";
16
16
  import styles from "./styles";
17
17
  /**
18
18
  * A Banner displays an important and succinct message. It can also provide actions for the user to address, or dismiss.
@@ -72,7 +72,7 @@ const HvBanner = props => {
72
72
  open: open,
73
73
  transitionDuration: transitionDuration
74
74
  }, others), {}, {
75
- children: /*#__PURE__*/_jsx(HvBannerContentWrapper, _objectSpread({
75
+ children: /*#__PURE__*/_jsx(HvBannerContent, _objectSpread({
76
76
  id: setId(id, "content"),
77
77
  content: label,
78
78
  variant: variant,
@@ -1 +1 @@
1
- {"version":3,"file":"Banner.js","names":["React","useCallback","PropTypes","oneOfType","Slide","Snackbar","withStyles","capitalize","setId","HvBannerContentWrapper","styles","HvBanner","props","id","classes","className","open","onClose","anchorOrigin","variant","transitionDuration","transitionDirection","showIcon","customIcon","actions","actionsCallback","actionsPosition","label","offset","bannerContentProps","others","anchorOriginOffset","anchorOriginTop","top","anchorOriginBottom","bottom","anchorOriginBanner","horizontal","vertical","SlideTransition","properties","root","rootClosed","anchorOriginTopCenter","anchorOriginBottomCenter","propTypes","string","shape","isRequired","bool","func","node","oneOf","arrayOf","icon","disabled","number","instanceOf","Object","name"],"sources":["../../../src/Banner/Banner.js"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport PropTypes, { oneOfType } from \"prop-types\";\nimport { Slide, Snackbar } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport capitalize from \"lodash/capitalize\";\nimport { setId } from \"../utils\";\nimport HvBannerContentWrapper from \"./BannerWrapper\";\nimport styles from \"./styles\";\n\n/**\n * A Banner displays an important and succinct message. It can also provide actions for the user to address, or dismiss.\n * It requires a user action, for it to be dismissed. Banners should appear at the top of the screen, below a top app bar.\n */\nconst HvBanner = (props) => {\n const {\n id,\n classes,\n className,\n open,\n onClose,\n anchorOrigin = \"top\",\n variant = \"default\",\n transitionDuration = 300,\n transitionDirection = \"down\",\n showIcon = false,\n customIcon,\n actions,\n actionsCallback,\n actionsPosition = \"auto\",\n label,\n offset = 60,\n bannerContentProps,\n ...others\n } = props;\n\n const anchorOriginOffset = {\n anchorOriginTop: {\n top: `${offset || 0}px`,\n },\n anchorOriginBottom: {\n bottom: `${offset || 0}px`,\n },\n };\n\n const anchorOriginBanner = { horizontal: \"center\", vertical: anchorOrigin };\n\n const SlideTransition = useCallback(\n (properties) => <Slide {...properties} direction={transitionDirection} />,\n [transitionDirection]\n );\n\n return (\n <Snackbar\n style={anchorOriginOffset[`anchorOrigin${capitalize(anchorOrigin)}`]}\n className={className}\n id={id}\n classes={{\n root: open ? classes.root : classes.rootClosed,\n anchorOriginTopCenter: classes.anchorOriginTopCenter,\n anchorOriginBottomCenter: classes.anchorOriginBottomCenter,\n }}\n anchorOrigin={anchorOriginBanner}\n TransitionComponent={SlideTransition}\n open={open}\n transitionDuration={transitionDuration}\n {...others}\n >\n <HvBannerContentWrapper\n id={setId(id, \"content\")}\n content={label}\n variant={variant}\n customIcon={customIcon}\n showIcon={showIcon}\n actions={actions}\n actionsCallback={actionsCallback}\n actionsPosition={actionsPosition}\n onClose={onClose}\n {...bannerContentProps}\n />\n </Snackbar>\n );\n};\n\nHvBanner.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: 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 component root class when the component is closed.\n */\n rootClosed: PropTypes.string,\n /**\n * Styles applied to the component when define as top.\n */\n anchorOriginTopCenter: PropTypes.string,\n /**\n * Styles applied to the component when define as bottom.\n */\n anchorOriginBottomCenter: PropTypes.string,\n }).isRequired,\n /**\n * If true, Snackbar is open.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Callback fired when the component requests to be closed. Typically onClose is used to set state in the parent component, which is used to control the Snackbar open prop. The reason parameter can optionally be used to control the response to onClose, for example ignoring clickaway.\n */\n onClose: PropTypes.func,\n /**\n * The message to display.\n */\n label: PropTypes.node,\n /**\n * The anchor of the Snackbar.\n */\n anchorOrigin: PropTypes.oneOf([\"top\", \"bottom\"]),\n /**\n * Variant of the snackbar.\n */\n variant: PropTypes.oneOf([\"success\", \"warning\", \"error\", \"info\", \"default\"]),\n /**\n * Custom icon to replace the variant default.\n */\n customIcon: PropTypes.node,\n /**\n * Controls if the associated icon to the variant should be shown.\n */\n showIcon: PropTypes.bool,\n /**\n * Actions to display on the right side.\n */\n actions: oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.func,\n disabled: PropTypes.bool,\n })\n ),\n ]),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The position property of the header.\n */\n actionsPosition: PropTypes.PropTypes.oneOf([\"auto\", \"inline\", \"bottom-right\"]),\n /**\n * How much the transition animation last in milliseconds, if 0 no animation is played.\n */\n transitionDuration: PropTypes.number,\n /**\n * Direction of slide transition.\n */\n transitionDirection: PropTypes.oneOf([\"up\", \"down\", \"left\", \"right\"]),\n /**\n * Offset from top/bottom of the page, in px. Defaults to 60px.\n */\n offset: PropTypes.number,\n /**\n * Props to pass down to the Banner Wrapper. An object `actionProps` can be included to be passed as others to actions.\n */\n bannerContentProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvBanner\" })(HvBanner);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Banner.js","names":["React","useCallback","PropTypes","oneOfType","Slide","Snackbar","withStyles","capitalize","setId","HvBannerContent","styles","HvBanner","props","id","classes","className","open","onClose","anchorOrigin","variant","transitionDuration","transitionDirection","showIcon","customIcon","actions","actionsCallback","actionsPosition","label","offset","bannerContentProps","others","anchorOriginOffset","anchorOriginTop","top","anchorOriginBottom","bottom","anchorOriginBanner","horizontal","vertical","SlideTransition","properties","root","rootClosed","anchorOriginTopCenter","anchorOriginBottomCenter","propTypes","string","shape","isRequired","bool","func","node","oneOf","arrayOf","icon","disabled","number","instanceOf","Object","name"],"sources":["../../../src/Banner/Banner.js"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport PropTypes, { oneOfType } from \"prop-types\";\nimport { Slide, Snackbar } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport capitalize from \"lodash/capitalize\";\nimport { setId } from \"../utils\";\nimport HvBannerContent from \"./BannerContent\";\nimport styles from \"./styles\";\n\n/**\n * A Banner displays an important and succinct message. It can also provide actions for the user to address, or dismiss.\n * It requires a user action, for it to be dismissed. Banners should appear at the top of the screen, below a top app bar.\n */\nconst HvBanner = (props) => {\n const {\n id,\n classes,\n className,\n open,\n onClose,\n anchorOrigin = \"top\",\n variant = \"default\",\n transitionDuration = 300,\n transitionDirection = \"down\",\n showIcon = false,\n customIcon,\n actions,\n actionsCallback,\n actionsPosition = \"auto\",\n label,\n offset = 60,\n bannerContentProps,\n ...others\n } = props;\n\n const anchorOriginOffset = {\n anchorOriginTop: {\n top: `${offset || 0}px`,\n },\n anchorOriginBottom: {\n bottom: `${offset || 0}px`,\n },\n };\n\n const anchorOriginBanner = { horizontal: \"center\", vertical: anchorOrigin };\n\n const SlideTransition = useCallback(\n (properties) => <Slide {...properties} direction={transitionDirection} />,\n [transitionDirection]\n );\n\n return (\n <Snackbar\n style={anchorOriginOffset[`anchorOrigin${capitalize(anchorOrigin)}`]}\n className={className}\n id={id}\n classes={{\n root: open ? classes.root : classes.rootClosed,\n anchorOriginTopCenter: classes.anchorOriginTopCenter,\n anchorOriginBottomCenter: classes.anchorOriginBottomCenter,\n }}\n anchorOrigin={anchorOriginBanner}\n TransitionComponent={SlideTransition}\n open={open}\n transitionDuration={transitionDuration}\n {...others}\n >\n <HvBannerContent\n id={setId(id, \"content\")}\n content={label}\n variant={variant}\n customIcon={customIcon}\n showIcon={showIcon}\n actions={actions}\n actionsCallback={actionsCallback}\n actionsPosition={actionsPosition}\n onClose={onClose}\n {...bannerContentProps}\n />\n </Snackbar>\n );\n};\n\nHvBanner.propTypes = {\n /**\n * Class names to be applied.\n */\n className: PropTypes.string,\n /**\n * Id to be applied to the root node.\n */\n id: 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 component root class when the component is closed.\n */\n rootClosed: PropTypes.string,\n /**\n * Styles applied to the component when define as top.\n */\n anchorOriginTopCenter: PropTypes.string,\n /**\n * Styles applied to the component when define as bottom.\n */\n anchorOriginBottomCenter: PropTypes.string,\n }).isRequired,\n /**\n * If true, Snackbar is open.\n */\n open: PropTypes.bool.isRequired,\n /**\n * Callback fired when the component requests to be closed. Typically onClose is used to set state in the parent component, which is used to control the Snackbar open prop. The reason parameter can optionally be used to control the response to onClose, for example ignoring clickaway.\n */\n onClose: PropTypes.func,\n /**\n * The message to display.\n */\n label: PropTypes.node,\n /**\n * The anchor of the Snackbar.\n */\n anchorOrigin: PropTypes.oneOf([\"top\", \"bottom\"]),\n /**\n * Variant of the snackbar.\n */\n variant: PropTypes.oneOf([\"success\", \"warning\", \"error\", \"info\", \"default\"]),\n /**\n * Custom icon to replace the variant default.\n */\n customIcon: PropTypes.node,\n /**\n * Controls if the associated icon to the variant should be shown.\n */\n showIcon: PropTypes.bool,\n /**\n * Actions to display on the right side.\n */\n actions: oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.func,\n disabled: PropTypes.bool,\n })\n ),\n ]),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionsCallback: PropTypes.func,\n /**\n * The position property of the header.\n */\n actionsPosition: PropTypes.PropTypes.oneOf([\"auto\", \"inline\", \"bottom-right\"]),\n /**\n * How much the transition animation last in milliseconds, if 0 no animation is played.\n */\n transitionDuration: PropTypes.number,\n /**\n * Direction of slide transition.\n */\n transitionDirection: PropTypes.oneOf([\"up\", \"down\", \"left\", \"right\"]),\n /**\n * Offset from top/bottom of the page, in px. Defaults to 60px.\n */\n offset: PropTypes.number,\n /**\n * Props to pass down to the Banner Wrapper. An object `actionProps` can be included to be passed as others to actions.\n */\n bannerContentProps: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvBanner\" })(HvBanner);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionContainer.js","names":["React","PropTypes","oneOfType","withStyles","Close","ActionsGeneric","HvButton","styles","ActionContainer","id","classes","onClose","action","actionCallback","others","actionContainer","closeAction","iconContainer","actionsInnerContainer","propTypes","string","instanceOf","Object","func","node","arrayOf","shape","isRequired","label","icon","disabled","bool","name"],"sources":["../../../../../src/Banner/BannerWrapper/ActionContainer/ActionContainer.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes, { oneOfType } from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport ActionsGeneric from \"../../../ActionsGeneric\";\nimport HvButton from \"../../../Button\";\nimport styles from \"./styles\";\n\nconst ActionContainer = ({ id, classes, onClose, action, actionCallback, ...others }) => {\n return (\n <div className={classes.actionContainer}>\n <HvButton\n icon\n className={classes.closeAction}\n category=\"semantic\"\n aria-label=\"Close\"\n onClick={onClose}\n tabIndex={0}\n {...others}\n >\n <Close iconSize=\"XS\" className={classes.iconContainer} color=\"base2\" />\n </HvButton>\n {action && (\n <div className={classes.actionsInnerContainer}>\n <ActionsGeneric\n id={id}\n category=\"semantic\"\n actions={action}\n actionsCallback={actionCallback}\n />\n </div>\n )}\n </div>\n );\n};\n\nActionContainer.propTypes = {\n /**\n * Identifier.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the button.\n */\n classes: PropTypes.instanceOf(Object),\n /**\n * onClose function.\n */\n onClose: PropTypes.func,\n /**\n * Actions to display.\n */\n action: oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.func,\n disabled: PropTypes.bool,\n })\n ),\n ]),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionCallback: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvActionContainer\" })(ActionContainer);\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,IAAoBC,SAApB,QAAqC,YAArC;AACA,SAASC,UAAT,QAA2B,aAA3B;AACA,SAASC,KAAT,QAAsB,mCAAtB;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;;;AAEA,MAAMC,eAAe,GAAG,QAAiE;EAAA,IAAhE;IAAEC,EAAF;IAAMC,OAAN;IAAeC,OAAf;IAAwBC,MAAxB;IAAgCC;EAAhC,CAAgE;EAAA,IAAbC,MAAa;;EACvF,oBACE;IAAK,SAAS,EAAEJ,OAAO,CAACK,eAAxB;IAAA,wBACE,KAAC,QAAD;MACE,IAAI,MADN;MAEE,SAAS,EAAEL,OAAO,CAACM,WAFrB;MAGE,QAAQ,EAAC,UAHX;MAIE,cAAW,OAJb;MAKE,OAAO,EAAEL,OALX;MAME,QAAQ,EAAE;IANZ,GAOMG,MAPN;MAAA,uBASE,KAAC,KAAD;QAAO,QAAQ,EAAC,IAAhB;QAAqB,SAAS,EAAEJ,OAAO,CAACO,aAAxC;QAAuD,KAAK,EAAC;MAA7D;IATF,GADF,EAYGL,MAAM,iBACL;MAAK,SAAS,EAAEF,OAAO,CAACQ,qBAAxB;MAAA,uBACE,KAAC,cAAD;QACE,EAAE,EAAET,EADN;QAEE,QAAQ,EAAC,UAFX;QAGE,OAAO,EAAEG,MAHX;QAIE,eAAe,EAAEC;MAJnB;IADF,EAbJ;EAAA,EADF;AAyBD,CA1BD;;AA4BA,wCAAAL,eAAe,CAACW,SAAhB,GAA4B;EAC1B;AACF;AACA;EACEV,EAAE,EAAER,SAAS,CAACmB,MAJY;;EAK1B;AACF;AACA;EACEV,OAAO,EAAET,SAAS,CAACoB,UAAV,CAAqBC,MAArB,CARiB;;EAS1B;AACF;AACA;EACEX,OAAO,EAAEV,SAAS,CAACsB,IAZO;;EAa1B;AACF;AACA;EACEX,MAAM,EAAEV,SAAS,CAAC,CAChBD,SAAS,CAACuB,IADM,EAEhBvB,SAAS,CAACwB,OAAV,CACExB,SAAS,CAACyB,KAAV,CAAgB;IACdjB,EAAE,EAAER,SAAS,CAACmB,MAAV,CAAiBO,UADP;IAEdC,KAAK,EAAE3B,SAAS,CAACmB,MAAV,CAAiBO,UAFV;IAGdE,IAAI,EAAE5B,SAAS,CAACsB,IAHF;IAIdO,QAAQ,EAAE7B,SAAS,CAAC8B;EAJN,CAAhB,CADF,CAFgB,CAAD,CAhBS;;EA2B1B;AACF;AACA;EACElB,cAAc,EAAEZ,SAAS,CAACsB;AA9BA,CAA5B;AAiCA,eAAepB,UAAU,CAACI,MAAD,EAAS;EAAEyB,IAAI,EAAE;AAAR,CAAT,CAAV,CAAkDxB,eAAlD,CAAf"}
1
+ {"version":3,"file":"ActionContainer.js","names":["React","PropTypes","oneOfType","withStyles","Close","ActionsGeneric","HvButton","styles","ActionContainer","id","classes","onClose","action","actionCallback","others","actionContainer","closeAction","iconContainer","actionsInnerContainer","propTypes","string","instanceOf","Object","func","node","arrayOf","shape","isRequired","label","icon","disabled","bool","name"],"sources":["../../../../../src/Banner/BannerContent/ActionContainer/ActionContainer.js"],"sourcesContent":["import React from \"react\";\nimport PropTypes, { oneOfType } from \"prop-types\";\nimport { withStyles } from \"@mui/styles\";\nimport { Close } from \"@hitachivantara/uikit-react-icons\";\nimport ActionsGeneric from \"../../../ActionsGeneric\";\nimport HvButton from \"../../../Button\";\nimport styles from \"./styles\";\n\nconst ActionContainer = ({ id, classes, onClose, action, actionCallback, ...others }) => {\n return (\n <div className={classes.actionContainer}>\n <HvButton\n icon\n className={classes.closeAction}\n category=\"semantic\"\n aria-label=\"Close\"\n onClick={onClose}\n tabIndex={0}\n {...others}\n >\n <Close iconSize=\"XS\" className={classes.iconContainer} color=\"base2\" />\n </HvButton>\n {action && (\n <div className={classes.actionsInnerContainer}>\n <ActionsGeneric\n id={id}\n category=\"semantic\"\n actions={action}\n actionsCallback={actionCallback}\n />\n </div>\n )}\n </div>\n );\n};\n\nActionContainer.propTypes = {\n /**\n * Identifier.\n */\n id: PropTypes.string,\n /**\n * A Jss Object used to override or extend the styles applied to the button.\n */\n classes: PropTypes.instanceOf(Object),\n /**\n * onClose function.\n */\n onClose: PropTypes.func,\n /**\n * Actions to display.\n */\n action: oneOfType([\n PropTypes.node,\n PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n icon: PropTypes.func,\n disabled: PropTypes.bool,\n })\n ),\n ]),\n /**\n * The callback function ran when an action is triggered, receiving `action` as param\n */\n actionCallback: PropTypes.func,\n};\n\nexport default withStyles(styles, { name: \"HvActionContainer\" })(ActionContainer);\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,IAAoBC,SAApB,QAAqC,YAArC;AACA,SAASC,UAAT,QAA2B,aAA3B;AACA,SAASC,KAAT,QAAsB,mCAAtB;AACA,OAAOC,cAAP,MAA2B,yBAA3B;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,OAAOC,MAAP,MAAmB,UAAnB;;;;AAEA,MAAMC,eAAe,GAAG,QAAiE;EAAA,IAAhE;IAAEC,EAAF;IAAMC,OAAN;IAAeC,OAAf;IAAwBC,MAAxB;IAAgCC;EAAhC,CAAgE;EAAA,IAAbC,MAAa;;EACvF,oBACE;IAAK,SAAS,EAAEJ,OAAO,CAACK,eAAxB;IAAA,wBACE,KAAC,QAAD;MACE,IAAI,MADN;MAEE,SAAS,EAAEL,OAAO,CAACM,WAFrB;MAGE,QAAQ,EAAC,UAHX;MAIE,cAAW,OAJb;MAKE,OAAO,EAAEL,OALX;MAME,QAAQ,EAAE;IANZ,GAOMG,MAPN;MAAA,uBASE,KAAC,KAAD;QAAO,QAAQ,EAAC,IAAhB;QAAqB,SAAS,EAAEJ,OAAO,CAACO,aAAxC;QAAuD,KAAK,EAAC;MAA7D;IATF,GADF,EAYGL,MAAM,iBACL;MAAK,SAAS,EAAEF,OAAO,CAACQ,qBAAxB;MAAA,uBACE,KAAC,cAAD;QACE,EAAE,EAAET,EADN;QAEE,QAAQ,EAAC,UAFX;QAGE,OAAO,EAAEG,MAHX;QAIE,eAAe,EAAEC;MAJnB;IADF,EAbJ;EAAA,EADF;AAyBD,CA1BD;;AA4BA,wCAAAL,eAAe,CAACW,SAAhB,GAA4B;EAC1B;AACF;AACA;EACEV,EAAE,EAAER,SAAS,CAACmB,MAJY;;EAK1B;AACF;AACA;EACEV,OAAO,EAAET,SAAS,CAACoB,UAAV,CAAqBC,MAArB,CARiB;;EAS1B;AACF;AACA;EACEX,OAAO,EAAEV,SAAS,CAACsB,IAZO;;EAa1B;AACF;AACA;EACEX,MAAM,EAAEV,SAAS,CAAC,CAChBD,SAAS,CAACuB,IADM,EAEhBvB,SAAS,CAACwB,OAAV,CACExB,SAAS,CAACyB,KAAV,CAAgB;IACdjB,EAAE,EAAER,SAAS,CAACmB,MAAV,CAAiBO,UADP;IAEdC,KAAK,EAAE3B,SAAS,CAACmB,MAAV,CAAiBO,UAFV;IAGdE,IAAI,EAAE5B,SAAS,CAACsB,IAHF;IAIdO,QAAQ,EAAE7B,SAAS,CAAC8B;EAJN,CAAhB,CADF,CAFgB,CAAD,CAhBS;;EA2B1B;AACF;AACA;EACElB,cAAc,EAAEZ,SAAS,CAACsB;AA9BA,CAA5B;AAiCA,eAAepB,UAAU,CAACI,MAAD,EAAS;EAAEyB,IAAI,EAAE;AAAR,CAAT,CAAV,CAAkDxB,eAAlD,CAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default"],"sources":["../../../../../src/Banner/BannerWrapper/ActionContainer/index.js"],"sourcesContent":["export { default } from \"./ActionContainer\";\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,mBAAxB"}
1
+ {"version":3,"file":"index.js","names":["default"],"sources":["../../../../../src/Banner/BannerContent/ActionContainer/index.js"],"sourcesContent":["export { default } from \"./ActionContainer\";\n"],"mappings":"AAAA,SAASA,OAAT,QAAwB,mBAAxB"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","names":["fade","outlineStyles","styles","theme","actionContainer","display","flexDirection","height","justifyContent","actionsInnerContainer","marginTop","closeAction","alignSelf","cursor","backgroundColor","hv","palette","base","base1","iconContainer","width"],"sources":["../../../../../src/Banner/BannerWrapper/ActionContainer/styles.js"],"sourcesContent":["import fade from \"../../../utils/hexToRgbA\";\nimport { outlineStyles } from \"../../../Focus/styles\";\n\nconst styles = (theme) => ({\n actionContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\",\n justifyContent: \"space-between\",\n },\n actionsInnerContainer: {\n flexDirection: \"row\",\n marginTop: \"8px\", // avoid overlap with close button outline focus ring\n },\n closeAction: {\n alignSelf: \"flex-end\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: fade(theme.hv.palette.base.base1, 0.3),\n },\n \"&:focus\": {\n ...outlineStyles,\n },\n },\n iconContainer: {\n width: \"32px\",\n height: \"32px\",\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;AAAA,OAAOA,IAAP,MAAiB,0BAAjB;AACA,SAASC,aAAT,QAA8B,uBAA9B;;AAEA,MAAMC,MAAM,GAAIC,KAAD,KAAY;EACzBC,eAAe,EAAE;IACfC,OAAO,EAAE,MADM;IAEfC,aAAa,EAAE,QAFA;IAGfC,MAAM,EAAE,MAHO;IAIfC,cAAc,EAAE;EAJD,CADQ;EAOzBC,qBAAqB,EAAE;IACrBH,aAAa,EAAE,KADM;IAErBI,SAAS,EAAE,KAFU,CAEH;;EAFG,CAPE;EAWzBC,WAAW,EAAE;IACXC,SAAS,EAAE,UADA;IAEXC,MAAM,EAAE,SAFG;IAGX,WAAW;MACTC,eAAe,EAAEd,IAAI,CAACG,KAAK,CAACY,EAAN,CAASC,OAAT,CAAiBC,IAAjB,CAAsBC,KAAvB,EAA8B,GAA9B;IADZ,CAHA;IAMX,6BACKjB,aADL;EANW,CAXY;EAqBzBkB,aAAa,EAAE;IACbC,KAAK,EAAE,MADM;IAEbb,MAAM,EAAE;EAFK;AArBU,CAAZ,CAAf;;AA2BA,eAAeL,MAAf"}
1
+ {"version":3,"file":"styles.js","names":["fade","outlineStyles","styles","theme","actionContainer","display","flexDirection","height","justifyContent","actionsInnerContainer","marginTop","closeAction","alignSelf","cursor","backgroundColor","hv","palette","base","base1","iconContainer","width"],"sources":["../../../../../src/Banner/BannerContent/ActionContainer/styles.js"],"sourcesContent":["import fade from \"../../../utils/hexToRgbA\";\nimport { outlineStyles } from \"../../../Focus/styles\";\n\nconst styles = (theme) => ({\n actionContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"100%\",\n justifyContent: \"space-between\",\n },\n actionsInnerContainer: {\n flexDirection: \"row\",\n marginTop: \"8px\", // avoid overlap with close button outline focus ring\n },\n closeAction: {\n alignSelf: \"flex-end\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: fade(theme.hv.palette.base.base1, 0.3),\n },\n \"&:focus\": {\n ...outlineStyles,\n },\n },\n iconContainer: {\n width: \"32px\",\n height: \"32px\",\n },\n});\n\nexport default styles;\n"],"mappings":";;;;;;AAAA,OAAOA,IAAP,MAAiB,0BAAjB;AACA,SAASC,aAAT,QAA8B,uBAA9B;;AAEA,MAAMC,MAAM,GAAIC,KAAD,KAAY;EACzBC,eAAe,EAAE;IACfC,OAAO,EAAE,MADM;IAEfC,aAAa,EAAE,QAFA;IAGfC,MAAM,EAAE,MAHO;IAIfC,cAAc,EAAE;EAJD,CADQ;EAOzBC,qBAAqB,EAAE;IACrBH,aAAa,EAAE,KADM;IAErBI,SAAS,EAAE,KAFU,CAEH;;EAFG,CAPE;EAWzBC,WAAW,EAAE;IACXC,SAAS,EAAE,UADA;IAEXC,MAAM,EAAE,SAFG;IAGX,WAAW;MACTC,eAAe,EAAEd,IAAI,CAACG,KAAK,CAACY,EAAN,CAASC,OAAT,CAAiBC,IAAjB,CAAsBC,KAAvB,EAA8B,GAA9B;IADZ,CAHA;IAMX,6BACKjB,aADL;EANW,CAXY;EAqBzBkB,aAAa,EAAE;IACbC,KAAK,EAAE,MADM;IAEbb,MAAM,EAAE;EAFK;AArBU,CAAZ,CAAf;;AA2BA,eAAeL,MAAf"}
@@ -0,0 +1,41 @@
1
+ import * as React from "react";
2
+ import { StandardProps, SnackbarContentProps } from "@mui/material";
3
+ import {
4
+ ActionsPositionProp,
5
+ HvActionsGenericCommonProps,
6
+ HvButtonProps,
7
+ NotificationsCommonProps,
8
+ SemanticVariantTypes,
9
+ } from "../..";
10
+
11
+ export type HvBannerContentClassKey =
12
+ | "root"
13
+ | "message"
14
+ | "action"
15
+ | "baseVariant"
16
+ | "outContainer"
17
+ | SemanticVariantTypes;
18
+
19
+ export interface HvBannerContentProps
20
+ extends StandardProps<SnackbarContentProps, HvBannerContentClassKey, "variant">,
21
+ HvActionsGenericCommonProps,
22
+ Pick<NotificationsCommonProps, "showIcon" | "customIcon" | "variant"> {
23
+ /**
24
+ * The position property of the header.
25
+ */
26
+ actionsPosition?: ActionsPositionProp;
27
+ /**
28
+ * The message to display.
29
+ */
30
+ content?: React.ReactNode;
31
+ /**
32
+ * onClose function.
33
+ */
34
+ onClose?: HvButtonProps["onClick"];
35
+ /**
36
+ * The props to pass down to the Action Container.
37
+ */
38
+ actionProps?: Record<string, unknown>;
39
+ }
40
+
41
+ export default function HvBannerContent(props: HvBannerContentProps): JSX.Element | null;
@@ -16,7 +16,7 @@ import MessageContainer from "./MessageContainer";
16
16
  import ActionContainer from "./ActionContainer";
17
17
  import styles from "./styles";
18
18
  import { jsx as _jsx } from "react/jsx-runtime";
19
- const HvBannerContentWrapper = /*#__PURE__*/React.forwardRef((props, ref) => {
19
+ const HvBannerContent = /*#__PURE__*/React.forwardRef((props, ref) => {
20
20
  const {
21
21
  id,
22
22
  classes,
@@ -68,7 +68,7 @@ const HvBannerContentWrapper = /*#__PURE__*/React.forwardRef((props, ref) => {
68
68
  }, others))
69
69
  });
70
70
  });
71
- process.env.NODE_ENV !== "production" ? HvBannerContentWrapper.propTypes = {
71
+ process.env.NODE_ENV !== "production" ? HvBannerContent.propTypes = {
72
72
  /**
73
73
  * Identifier.
74
74
  */
@@ -130,6 +130,6 @@ process.env.NODE_ENV !== "production" ? HvBannerContentWrapper.propTypes = {
130
130
  actionProps: PropTypes.instanceOf(Object)
131
131
  } : void 0;
132
132
  export default withStyles(styles, {
133
- name: "HvBannerContentWrapper"
134
- })(HvBannerContentWrapper);
135
- //# sourceMappingURL=BannerContentWrapper.js.map
133
+ name: "HvBannerContent"
134
+ })(HvBannerContent);
135
+ //# sourceMappingURL=BannerContent.js.map