@elliemae/ds-global-header 1.59.8 → 1.61.3

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 (55) hide show
  1. package/cjs/GlobalHeader.js +5 -2
  2. package/cjs/GlobalHeader.js.map +1 -1
  3. package/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js +8 -8
  4. package/cjs/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +1 -1
  5. package/cjs/components/Breadcrumb/PureBreadcrumb.js +1 -1
  6. package/cjs/components/Breadcrumb/PureBreadcrumb.js.map +1 -1
  7. package/cjs/components/Toolbar/GlobalHeaderToolbar.js +5 -1
  8. package/cjs/components/Toolbar/GlobalHeaderToolbar.js.map +1 -1
  9. package/cjs/components/Toolbar/ToolbarItems.js +10 -20
  10. package/cjs/components/Toolbar/ToolbarItems.js.map +1 -1
  11. package/cjs/config/useGlobalHeader.js +6 -6
  12. package/cjs/config/useGlobalHeader.js.map +1 -1
  13. package/cjs/config/useValidateProps.js +2 -2
  14. package/cjs/config/useValidateProps.js.map +1 -1
  15. package/cjs/config/validateHelpers.js.map +1 -1
  16. package/cjs/defaultProps.js +6 -2
  17. package/cjs/defaultProps.js.map +1 -1
  18. package/cjs/index.js +5 -2
  19. package/cjs/index.js.map +1 -1
  20. package/cjs/outOfTheBox/AppPicker/AppPicker.js +34 -33
  21. package/cjs/outOfTheBox/AppPicker/AppPicker.js.map +1 -1
  22. package/cjs/outOfTheBox/PopupMenu/PopupMenu.js +25 -41
  23. package/cjs/outOfTheBox/PopupMenu/PopupMenu.js.map +1 -1
  24. package/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js +21 -10
  25. package/cjs/outOfTheBox/PopupMenu/PopupMenuContent.js.map +1 -1
  26. package/cjs/outOfTheBox/index.js +5 -1
  27. package/cjs/outOfTheBox/index.js.map +1 -1
  28. package/esm/GlobalHeader.js +5 -2
  29. package/esm/GlobalHeader.js.map +1 -1
  30. package/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js +8 -8
  31. package/esm/components/Breadcrumb/GlobalHeaderBreadcrumb.js.map +1 -1
  32. package/esm/components/Breadcrumb/PureBreadcrumb.js +1 -1
  33. package/esm/components/Breadcrumb/PureBreadcrumb.js.map +1 -1
  34. package/esm/components/Toolbar/GlobalHeaderToolbar.js +5 -1
  35. package/esm/components/Toolbar/GlobalHeaderToolbar.js.map +1 -1
  36. package/esm/components/Toolbar/ToolbarItems.js +9 -20
  37. package/esm/components/Toolbar/ToolbarItems.js.map +1 -1
  38. package/esm/config/useGlobalHeader.js +6 -6
  39. package/esm/config/useGlobalHeader.js.map +1 -1
  40. package/esm/config/useValidateProps.js +2 -2
  41. package/esm/config/useValidateProps.js.map +1 -1
  42. package/esm/config/validateHelpers.js.map +1 -1
  43. package/esm/defaultProps.js +6 -2
  44. package/esm/defaultProps.js.map +1 -1
  45. package/esm/index.js +5 -2
  46. package/esm/index.js.map +1 -1
  47. package/esm/outOfTheBox/AppPicker/AppPicker.js +34 -33
  48. package/esm/outOfTheBox/AppPicker/AppPicker.js.map +1 -1
  49. package/esm/outOfTheBox/PopupMenu/PopupMenu.js +26 -41
  50. package/esm/outOfTheBox/PopupMenu/PopupMenu.js.map +1 -1
  51. package/esm/outOfTheBox/PopupMenu/PopupMenuContent.js +19 -10
  52. package/esm/outOfTheBox/PopupMenu/PopupMenuContent.js.map +1 -1
  53. package/esm/outOfTheBox/index.js +5 -1
  54. package/esm/outOfTheBox/index.js.map +1 -1
  55. package/package.json +9 -5
@@ -19,18 +19,21 @@ require('styled-components');
19
19
  require('./components/Breadcrumb/PureBreadcrumb.js');
20
20
  require('@elliemae/ds-icons');
21
21
  require('./components/Toolbar/ToolbarItems.js');
22
+ require('@babel/runtime/helpers/extends');
22
23
  require('./outOfTheBox/AppPicker/AppPicker.js');
23
24
  require('@babel/runtime/helpers/slicedToArray');
24
25
  require('@elliemae/ds-app-picker');
26
+ require('@elliemae/ds-utilities');
25
27
  require('./components/Toolbar/styles.js');
26
28
  require('./outOfTheBox/PopupMenu/PopupMenu.js');
27
- require('@elliemae/ds-popover');
29
+ require('@elliemae/ds-popperjs');
28
30
  require('./outOfTheBox/PopupMenu/PopupMenuContent.js');
31
+ require('@babel/runtime/helpers/defineProperty');
32
+ require('@elliemae/ds-props-helpers');
29
33
  require('./outOfTheBox/PopupMenu/styles.js');
30
34
  require('@babel/runtime/helpers/toConsumableArray');
31
35
  require('uid');
32
36
  require('./config/useGetPropsWithDefaults.js');
33
- require('@babel/runtime/helpers/defineProperty');
34
37
  require('./styles.js');
35
38
  require('./config/validateHelpers.js');
36
39
  require('@babel/runtime/helpers/typeof');
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalHeader.js","sources":["../../src/GlobalHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { describe } from 'react-desc';\nimport { globalHeaderProps } from './propTypes';\nimport type { GlobalHeaderPropsT as Props } from './index.d';\nimport { GlobalHeaderTitle } from './components/Title/GlobalHeaderTitle';\nimport { GlobalHeaderBreadcrumb } from './components/Breadcrumb/GlobalHeaderBreadcrumb';\nimport { GlobalHeaderToolbar } from './components/Toolbar/GlobalHeaderToolbar';\nimport { GlobalHeaderContext } from './GlobalHeaderContext';\nimport { useGlobalHeader } from './config/useGlobalHeader';\nimport { defaultProps } from './defaultProps';\nimport { GlobalHeaderContainer } from './GlobalHeaderContainer';\nimport { useValidateProps } from './config/useValidateProps';\n\nconst GlobalHeader = (props: Props): JSX.Element => {\n useValidateProps(props);\n const ctx = useGlobalHeader(props);\n return (\n <GlobalHeaderContainer>\n <GlobalHeaderContext.Provider value={ctx}>\n <GlobalHeaderTitle />\n <GlobalHeaderBreadcrumb />\n <GlobalHeaderToolbar />\n </GlobalHeaderContext.Provider>\n </GlobalHeaderContainer>\n );\n};\n\nGlobalHeader.defaultProps = defaultProps;\n\nGlobalHeader.propTypes = globalHeaderProps;\nconst GlobalHeaderWithSchema = describe(GlobalHeader);\nGlobalHeaderWithSchema.propTypes = globalHeaderProps;\n\nexport { GlobalHeader, GlobalHeaderWithSchema };\n"],"names":["GlobalHeader","props","useValidateProps","ctx","useGlobalHeader","React","GlobalHeaderContainer","GlobalHeaderContext","GlobalHeaderTitle","GlobalHeaderBreadcrumb","GlobalHeaderToolbar","defaultProps","propTypes","globalHeaderProps","GlobalHeaderWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaMA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA+B;AAClDC,EAAAA,wCAAgB,CAACD,KAAD,CAAhB;AACA,MAAME,GAAG,GAAGC,sCAAe,CAACH,KAAD,CAA3B;AACA,sBACEI,wCAACC,2CAAD,qBACED,wCAACE,uCAAD,CAAqB,QAArB;AAA8B,IAAA,KAAK,EAAEJ;AAArC,kBACEE,wCAACG,oDAAD,OADF,eAEEH,wCAACI,mEAAD,OAFF,eAGEJ,wCAACK,0DAAD,OAHF,CADF,CADF;AASD;;AAEDV,YAAY,CAACW,YAAb,GAA4BA,yBAA5B;AAEAX,YAAY,CAACY,SAAb,GAAyBC,2BAAzB;IACMC,sBAAsB,GAAGC,kBAAQ,CAACf,YAAD;AACvCc,sBAAsB,CAACF,SAAvB,GAAmCC,2BAAnC;;;;;"}
1
+ {"version":3,"file":"GlobalHeader.js","sources":["../../src/GlobalHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { describe } from 'react-desc';\nimport { globalHeaderProps } from './propTypes';\nimport type { GlobalHeaderPropsT as Props } from './index.d';\nimport { GlobalHeaderTitle } from './components/Title/GlobalHeaderTitle';\nimport { GlobalHeaderBreadcrumb } from './components/Breadcrumb/GlobalHeaderBreadcrumb';\nimport { GlobalHeaderToolbar } from './components/Toolbar/GlobalHeaderToolbar';\nimport { GlobalHeaderContext } from './GlobalHeaderContext';\nimport { useGlobalHeader } from './config/useGlobalHeader';\nimport { defaultProps } from './defaultProps';\nimport { GlobalHeaderContainer } from './GlobalHeaderContainer';\nimport { useValidateProps } from './config/useValidateProps';\n\nconst GlobalHeader = (props: Props): JSX.Element => {\n useValidateProps(props);\n const ctx = useGlobalHeader(props);\n return (\n <GlobalHeaderContainer>\n <GlobalHeaderContext.Provider value={ctx}>\n <GlobalHeaderTitle />\n <GlobalHeaderBreadcrumb />\n <GlobalHeaderToolbar />\n </GlobalHeaderContext.Provider>\n </GlobalHeaderContainer>\n );\n};\n\nGlobalHeader.defaultProps = defaultProps;\n\nGlobalHeader.propTypes = globalHeaderProps;\nconst GlobalHeaderWithSchema = describe(GlobalHeader);\nGlobalHeaderWithSchema.propTypes = globalHeaderProps;\n\nexport { GlobalHeader, GlobalHeaderWithSchema };\n"],"names":["GlobalHeader","props","useValidateProps","ctx","useGlobalHeader","React","GlobalHeaderContainer","GlobalHeaderContext","GlobalHeaderTitle","GlobalHeaderBreadcrumb","GlobalHeaderToolbar","defaultProps","propTypes","globalHeaderProps","GlobalHeaderWithSchema","describe"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAaMA,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAA+B;AAClDC,EAAAA,wCAAgB,CAACD,KAAD,CAAhB;AACA,MAAME,GAAG,GAAGC,sCAAe,CAACH,KAAD,CAA3B;AACA,sBACEI,wCAACC,2CAAD,qBACED,wCAACE,uCAAD,CAAqB,QAArB;AAA8B,IAAA,KAAK,EAAEJ;AAArC,kBACEE,wCAACG,oDAAD,OADF,eAEEH,wCAACI,mEAAD,OAFF,eAGEJ,wCAACK,0DAAD,OAHF,CADF,CADF;AASD;;AAEDV,YAAY,CAACW,YAAb,GAA4BA,yBAA5B;AAEAX,YAAY,CAACY,SAAb,GAAyBC,2BAAzB;IACMC,sBAAsB,GAAGC,kBAAQ,CAACf,YAAD;AACvCc,sBAAsB,CAACF,SAAvB,GAAmCC,2BAAnC;;;;;"}
@@ -23,14 +23,14 @@ var GlobalHeaderBreadcrumb = function GlobalHeaderBreadcrumb() {
23
23
  setShowIconOnly = _useContext.setShowIconOnly,
24
24
  globalHeaderBreadcrumbGrid = _useContext.globalHeaderBreadcrumbGrid;
25
25
 
26
- var breakpoint = React.useRef();
27
- var flexRegion = React.useRef();
26
+ var breakpoint = React.useRef(null);
27
+ var flexRegion = React.useRef(null);
28
28
  React.useEffect(function () {
29
29
  var evaluateShowIconOnly = function evaluateShowIconOnly() {
30
- if ((flexRegion === null || flexRegion === void 0 ? void 0 : flexRegion.current.offsetWidth) <= 0 && !breakpoint.current) {
30
+ if (flexRegion && flexRegion.current && (flexRegion === null || flexRegion === void 0 ? void 0 : flexRegion.current.offsetWidth) <= 0 && !breakpoint.current) {
31
31
  setShowIconOnly(true);
32
32
  breakpoint.current = window.innerWidth;
33
- } else if (window.innerWidth >= breakpoint.current) {
33
+ } else if (breakpoint && breakpoint.current !== null && window.innerWidth >= breakpoint.current) {
34
34
  setShowIconOnly(false);
35
35
  breakpoint.current = null;
36
36
  }
@@ -45,13 +45,13 @@ var GlobalHeaderBreadcrumb = function GlobalHeaderBreadcrumb() {
45
45
  return /*#__PURE__*/React__default['default'].createElement(dsGrid.Grid, {
46
46
  height: "100%",
47
47
  alignItems: "center",
48
- justifyContent: "left",
49
- role: "navigation",
48
+ justifyContent: "flex-start",
50
49
  "aria-label": "breadcrumbs",
51
- cols: globalHeaderBreadcrumbGrid
50
+ cols: globalHeaderBreadcrumbGrid,
51
+ role: "navigation"
52
52
  }, /*#__PURE__*/React__default['default'].createElement(components_Breadcrumb_styles.Pipe, {
53
53
  showIconOnly: showIconOnly
54
- }), breadcrumb.map(function (item) {
54
+ }), breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.map(function (item) {
55
55
  var label = item.label,
56
56
  hasNext = item.hasNext,
57
57
  isSelected = item.isSelected,
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalHeaderBreadcrumb.js","sources":["../../../../src/components/Breadcrumb/GlobalHeaderBreadcrumb.tsx"],"sourcesContent":["import React, { useEffect, useContext, useRef } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { Pipe } from './styles';\nimport { GlobalHeaderContext } from '../../GlobalHeaderContext';\nimport { PureBreadcrumb } from './PureBreadcrumb';\n\nexport const GlobalHeaderBreadcrumb = (): JSX.Element => {\n const {\n props: { breadcrumb },\n instanceUID,\n showIconOnly,\n setShowIconOnly,\n globalHeaderBreadcrumbGrid,\n } = useContext(GlobalHeaderContext);\n const breakpoint = useRef<number>();\n const flexRegion = useRef<HTMLDivElement>();\n\n useEffect(() => {\n const evaluateShowIconOnly = () => {\n if (flexRegion?.current.offsetWidth <= 0 && !breakpoint.current) {\n setShowIconOnly(true);\n breakpoint.current = window.innerWidth;\n } else if (window.innerWidth >= breakpoint.current) {\n setShowIconOnly(false);\n breakpoint.current = null;\n }\n };\n\n evaluateShowIconOnly();\n\n window.addEventListener('resize', evaluateShowIconOnly);\n return () => window.removeEventListener('resize', evaluateShowIconOnly);\n }, [breakpoint, flexRegion, setShowIconOnly]);\n\n return (\n <Grid\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"left\"\n role=\"navigation\"\n aria-label=\"breadcrumbs\"\n cols={globalHeaderBreadcrumbGrid}\n >\n <Pipe showIconOnly={showIconOnly} />\n {breadcrumb.map((item) => {\n const { label, hasNext, isSelected, onClick } = item;\n return (\n <PureBreadcrumb\n label={label}\n hasNext={hasNext}\n isSelected={isSelected}\n onClick={onClick}\n length={breadcrumb.length}\n key={`${instanceUID}-breadcrumb-item-${label}`}\n />\n );\n })}\n <div id=\"global-header-flex-region\" ref={flexRegion}></div>\n </Grid>\n );\n};\n"],"names":["GlobalHeaderBreadcrumb","useContext","GlobalHeaderContext","breadcrumb","props","instanceUID","showIconOnly","setShowIconOnly","globalHeaderBreadcrumbGrid","breakpoint","useRef","flexRegion","useEffect","evaluateShowIconOnly","current","offsetWidth","window","innerWidth","addEventListener","removeEventListener","React","Grid","Pipe","map","item","label","hasNext","isSelected","onClick","PureBreadcrumb","length"],"mappings":";;;;;;;;;;;;;;;;;IAMaA,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAmB;AACvD,oBAMIC,gBAAU,CAACC,uCAAD,CANd;AAAA,MACWC,UADX,eACEC,KADF,CACWD,UADX;AAAA,MAEEE,WAFF,eAEEA,WAFF;AAAA,MAGEC,YAHF,eAGEA,YAHF;AAAA,MAIEC,eAJF,eAIEA,eAJF;AAAA,MAKEC,0BALF,eAKEA,0BALF;;AAOA,MAAMC,UAAU,GAAGC,YAAM,EAAzB;AACA,MAAMC,UAAU,GAAGD,YAAM,EAAzB;AAEAE,EAAAA,eAAS,CAAC,YAAM;AACd,QAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACjC,UAAI,CAAAF,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEG,OAAZ,CAAoBC,WAApB,KAAmC,CAAnC,IAAwC,CAACN,UAAU,CAACK,OAAxD,EAAiE;AAC/DP,QAAAA,eAAe,CAAC,IAAD,CAAf;AACAE,QAAAA,UAAU,CAACK,OAAX,GAAqBE,MAAM,CAACC,UAA5B;AACD,OAHD,MAGO,IAAID,MAAM,CAACC,UAAP,IAAqBR,UAAU,CAACK,OAApC,EAA6C;AAClDP,QAAAA,eAAe,CAAC,KAAD,CAAf;AACAE,QAAAA,UAAU,CAACK,OAAX,GAAqB,IAArB;AACD;AACF,KARD;;AAUAD,IAAAA,oBAAoB;AAEpBG,IAAAA,MAAM,CAACE,gBAAP,CAAwB,QAAxB,EAAkCL,oBAAlC;AACA,WAAO;AAAA,aAAMG,MAAM,CAACG,mBAAP,CAA2B,QAA3B,EAAqCN,oBAArC,CAAN;AAAA,KAAP;AACD,GAfQ,EAeN,CAACJ,UAAD,EAAaE,UAAb,EAAyBJ,eAAzB,CAfM,CAAT;AAiBA,sBACEa,wCAACC,WAAD;AACE,IAAA,MAAM,EAAC,MADT;AAEE,IAAA,UAAU,EAAC,QAFb;AAGE,IAAA,cAAc,EAAC,MAHjB;AAIE,IAAA,IAAI,EAAC,YAJP;AAKE,kBAAW,aALb;AAME,IAAA,IAAI,EAAEb;AANR,kBAQEY,wCAACE,iCAAD;AAAM,IAAA,YAAY,EAAEhB;AAApB,IARF,EASGH,UAAU,CAACoB,GAAX,CAAe,UAACC,IAAD,EAAU;AACxB,QAAQC,KAAR,GAAgDD,IAAhD,CAAQC,KAAR;AAAA,QAAeC,OAAf,GAAgDF,IAAhD,CAAeE,OAAf;AAAA,QAAwBC,UAAxB,GAAgDH,IAAhD,CAAwBG,UAAxB;AAAA,QAAoCC,OAApC,GAAgDJ,IAAhD,CAAoCI,OAApC;AACA,wBACER,wCAACS,mDAAD;AACE,MAAA,KAAK,EAAEJ,KADT;AAEE,MAAA,OAAO,EAAEC,OAFX;AAGE,MAAA,UAAU,EAAEC,UAHd;AAIE,MAAA,OAAO,EAAEC,OAJX;AAKE,MAAA,MAAM,EAAEzB,UAAU,CAAC2B,MALrB;AAME,MAAA,GAAG,YAAKzB,WAAL,8BAAoCoB,KAApC;AANL,MADF;AAUD,GAZA,CATH,eAsBEL;AAAK,IAAA,EAAE,EAAC,2BAAR;AAAoC,IAAA,GAAG,EAAET;AAAzC,IAtBF,CADF;AA0BD;;;;"}
1
+ {"version":3,"file":"GlobalHeaderBreadcrumb.js","sources":["../../../../src/components/Breadcrumb/GlobalHeaderBreadcrumb.tsx"],"sourcesContent":["import React, { useEffect, useContext, useRef } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { Pipe } from './styles';\nimport { GlobalHeaderContext } from '../../GlobalHeaderContext';\nimport { PureBreadcrumb } from './PureBreadcrumb';\n\nexport const GlobalHeaderBreadcrumb = (): JSX.Element => {\n const {\n props: { breadcrumb },\n instanceUID,\n showIconOnly,\n setShowIconOnly,\n globalHeaderBreadcrumbGrid,\n } = useContext(GlobalHeaderContext);\n const breakpoint = useRef<number | null>(null);\n const flexRegion = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const evaluateShowIconOnly = () => {\n if (flexRegion && flexRegion.current && flexRegion?.current.offsetWidth <= 0 && !breakpoint.current) {\n setShowIconOnly(true);\n breakpoint.current = window.innerWidth;\n } else if (breakpoint && breakpoint.current !== null && window.innerWidth >= breakpoint.current) {\n setShowIconOnly(false);\n breakpoint.current = null;\n }\n };\n\n evaluateShowIconOnly();\n\n window.addEventListener('resize', evaluateShowIconOnly);\n return () => window.removeEventListener('resize', evaluateShowIconOnly);\n }, [breakpoint, flexRegion, setShowIconOnly]);\n\n return (\n <Grid\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"flex-start\"\n aria-label=\"breadcrumbs\"\n cols={globalHeaderBreadcrumbGrid}\n role=\"navigation\"\n >\n <Pipe showIconOnly={showIconOnly} />\n {breadcrumb?.map((item) => {\n const { label, hasNext, isSelected, onClick } = item;\n return (\n <PureBreadcrumb\n label={label}\n hasNext={hasNext}\n isSelected={isSelected}\n onClick={onClick}\n length={breadcrumb.length}\n key={`${instanceUID}-breadcrumb-item-${label}`}\n />\n );\n })}\n <div id=\"global-header-flex-region\" ref={flexRegion}></div>\n </Grid>\n );\n};\n"],"names":["GlobalHeaderBreadcrumb","useContext","GlobalHeaderContext","breadcrumb","props","instanceUID","showIconOnly","setShowIconOnly","globalHeaderBreadcrumbGrid","breakpoint","useRef","flexRegion","useEffect","evaluateShowIconOnly","current","offsetWidth","window","innerWidth","addEventListener","removeEventListener","React","Grid","Pipe","map","item","label","hasNext","isSelected","onClick","PureBreadcrumb","length"],"mappings":";;;;;;;;;;;;;;;;;IAMaA,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAmB;AACvD,oBAMIC,gBAAU,CAACC,uCAAD,CANd;AAAA,MACWC,UADX,eACEC,KADF,CACWD,UADX;AAAA,MAEEE,WAFF,eAEEA,WAFF;AAAA,MAGEC,YAHF,eAGEA,YAHF;AAAA,MAIEC,eAJF,eAIEA,eAJF;AAAA,MAKEC,0BALF,eAKEA,0BALF;;AAOA,MAAMC,UAAU,GAAGC,YAAM,CAAgB,IAAhB,CAAzB;AACA,MAAMC,UAAU,GAAGD,YAAM,CAAiB,IAAjB,CAAzB;AAEAE,EAAAA,eAAS,CAAC,YAAM;AACd,QAAMC,oBAAoB,GAAG,SAAvBA,oBAAuB,GAAM;AACjC,UAAIF,UAAU,IAAIA,UAAU,CAACG,OAAzB,IAAoC,CAAAH,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEG,OAAZ,CAAoBC,WAApB,KAAmC,CAAvE,IAA4E,CAACN,UAAU,CAACK,OAA5F,EAAqG;AACnGP,QAAAA,eAAe,CAAC,IAAD,CAAf;AACAE,QAAAA,UAAU,CAACK,OAAX,GAAqBE,MAAM,CAACC,UAA5B;AACD,OAHD,MAGO,IAAIR,UAAU,IAAIA,UAAU,CAACK,OAAX,KAAuB,IAArC,IAA6CE,MAAM,CAACC,UAAP,IAAqBR,UAAU,CAACK,OAAjF,EAA0F;AAC/FP,QAAAA,eAAe,CAAC,KAAD,CAAf;AACAE,QAAAA,UAAU,CAACK,OAAX,GAAqB,IAArB;AACD;AACF,KARD;;AAUAD,IAAAA,oBAAoB;AAEpBG,IAAAA,MAAM,CAACE,gBAAP,CAAwB,QAAxB,EAAkCL,oBAAlC;AACA,WAAO;AAAA,aAAMG,MAAM,CAACG,mBAAP,CAA2B,QAA3B,EAAqCN,oBAArC,CAAN;AAAA,KAAP;AACD,GAfQ,EAeN,CAACJ,UAAD,EAAaE,UAAb,EAAyBJ,eAAzB,CAfM,CAAT;AAiBA,sBACEa,wCAACC,WAAD;AACE,IAAA,MAAM,EAAC,MADT;AAEE,IAAA,UAAU,EAAC,QAFb;AAGE,IAAA,cAAc,EAAC,YAHjB;AAIE,kBAAW,aAJb;AAKE,IAAA,IAAI,EAAEb,0BALR;AAME,IAAA,IAAI,EAAC;AANP,kBAQEY,wCAACE,iCAAD;AAAM,IAAA,YAAY,EAAEhB;AAApB,IARF,EASGH,UATH,aASGA,UATH,uBASGA,UAAU,CAAEoB,GAAZ,CAAgB,UAACC,IAAD,EAAU;AACzB,QAAQC,KAAR,GAAgDD,IAAhD,CAAQC,KAAR;AAAA,QAAeC,OAAf,GAAgDF,IAAhD,CAAeE,OAAf;AAAA,QAAwBC,UAAxB,GAAgDH,IAAhD,CAAwBG,UAAxB;AAAA,QAAoCC,OAApC,GAAgDJ,IAAhD,CAAoCI,OAApC;AACA,wBACER,wCAACS,mDAAD;AACE,MAAA,KAAK,EAAEJ,KADT;AAEE,MAAA,OAAO,EAAEC,OAFX;AAGE,MAAA,UAAU,EAAEC,UAHd;AAIE,MAAA,OAAO,EAAEC,OAJX;AAKE,MAAA,MAAM,EAAEzB,UAAU,CAAC2B,MALrB;AAME,MAAA,GAAG,YAAKzB,WAAL,8BAAoCoB,KAApC;AANL,MADF;AAUD,GAZA,CATH,eAsBEL;AAAK,IAAA,EAAE,EAAC,2BAAR;AAAoC,IAAA,GAAG,EAAET;AAAzC,IAtBF,CADF;AA0BD;;;;"}
@@ -22,7 +22,7 @@ var PureBreadcrumb = /*#__PURE__*/React__default['default'].memo(function (_ref)
22
22
  "aria-selected": isSelected,
23
23
  "data-testid": "gh-breadcrumb-btn"
24
24
  }, /*#__PURE__*/React__default['default'].createElement(components_Breadcrumb_styles.Label, {
25
- isSelected: isSelected,
25
+ isSelected: !!isSelected,
26
26
  isOnlyItem: length === 1
27
27
  }, label)), hasNext && /*#__PURE__*/React__default['default'].createElement(dsIcons.ChevronSmallRight, {
28
28
  size: "m",
@@ -1 +1 @@
1
- {"version":3,"file":"PureBreadcrumb.js","sources":["../../../../src/components/Breadcrumb/PureBreadcrumb.tsx"],"sourcesContent":["import React from 'react';\nimport { ChevronSmallRight } from '@elliemae/ds-icons';\nimport { BreadcrumbItem, LabelButton, Label } from './styles';\nimport type { BreadcrumbItemT as Props } from '../../index.d';\n\nexport const PureBreadcrumb = React.memo(({ onClick, isSelected, length, label, hasNext }: Props) => (\n <BreadcrumbItem>\n <LabelButton onClick={onClick} aria-selected={isSelected} data-testid=\"gh-breadcrumb-btn\">\n <Label isSelected={isSelected} isOnlyItem={length === 1}>\n {label}\n </Label>\n </LabelButton>\n {hasNext && <ChevronSmallRight size=\"m\" fill=\"#FFF\" />}\n </BreadcrumbItem>\n));\n"],"names":["PureBreadcrumb","React","memo","onClick","isSelected","length","label","hasNext","BreadcrumbItem","LabelButton","Label","ChevronSmallRight"],"mappings":";;;;;;;;;;;;;IAKaA,cAAc,gBAAGC,yBAAK,CAACC,IAAN,CAAW;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,UAAZ,QAAYA,UAAZ;AAAA,MAAwBC,MAAxB,QAAwBA,MAAxB;AAAA,MAAgCC,KAAhC,QAAgCA,KAAhC;AAAA,MAAuCC,OAAvC,QAAuCA,OAAvC;AAAA,sBACvCN,wCAACO,2CAAD,qBACEP,wCAACQ,wCAAD;AAAa,IAAA,OAAO,EAAEN,OAAtB;AAA+B,qBAAeC,UAA9C;AAA0D,mBAAY;AAAtE,kBACEH,wCAACS,kCAAD;AAAO,IAAA,UAAU,EAAEN,UAAnB;AAA+B,IAAA,UAAU,EAAEC,MAAM,KAAK;AAAtD,KACGC,KADH,CADF,CADF,EAMGC,OAAO,iBAAIN,wCAACU,yBAAD;AAAmB,IAAA,IAAI,EAAC,GAAxB;AAA4B,IAAA,IAAI,EAAC;AAAjC,IANd,CADuC;AAAA,CAAX;;;;"}
1
+ {"version":3,"file":"PureBreadcrumb.js","sources":["../../../../src/components/Breadcrumb/PureBreadcrumb.tsx"],"sourcesContent":["import React from 'react';\nimport { ChevronSmallRight } from '@elliemae/ds-icons';\nimport { BreadcrumbItem, LabelButton, Label } from './styles';\nimport type { BreadcrumbItemT as Props } from '../../index.d';\n\nexport const PureBreadcrumb = React.memo(({ onClick, isSelected, length, label, hasNext }: Props) => (\n <BreadcrumbItem>\n <LabelButton onClick={onClick} aria-selected={isSelected} data-testid=\"gh-breadcrumb-btn\">\n <Label isSelected={!!isSelected} isOnlyItem={length === 1}>\n {label}\n </Label>\n </LabelButton>\n {hasNext && <ChevronSmallRight size=\"m\" fill=\"#FFF\" />}\n </BreadcrumbItem>\n));\n"],"names":["PureBreadcrumb","React","memo","onClick","isSelected","length","label","hasNext","BreadcrumbItem","LabelButton","Label","ChevronSmallRight"],"mappings":";;;;;;;;;;;;;IAKaA,cAAc,gBAAGC,yBAAK,CAACC,IAAN,CAAW;AAAA,MAAGC,OAAH,QAAGA,OAAH;AAAA,MAAYC,UAAZ,QAAYA,UAAZ;AAAA,MAAwBC,MAAxB,QAAwBA,MAAxB;AAAA,MAAgCC,KAAhC,QAAgCA,KAAhC;AAAA,MAAuCC,OAAvC,QAAuCA,OAAvC;AAAA,sBACvCN,wCAACO,2CAAD,qBACEP,wCAACQ,wCAAD;AAAa,IAAA,OAAO,EAAEN,OAAtB;AAA+B,qBAAeC,UAA9C;AAA0D,mBAAY;AAAtE,kBACEH,wCAACS,kCAAD;AAAO,IAAA,UAAU,EAAE,CAAC,CAACN,UAArB;AAAiC,IAAA,UAAU,EAAEC,MAAM,KAAK;AAAxD,KACGC,KADH,CADF,CADF,EAMGC,OAAO,iBAAIN,wCAACU,yBAAD;AAAmB,IAAA,IAAI,EAAC,GAAxB;AAA4B,IAAA,IAAI,EAAC;AAAjC,IANd,CADuC;AAAA,CAAX;;;;"}
@@ -6,15 +6,19 @@ var React = require('react');
6
6
  var dsGrid = require('@elliemae/ds-grid');
7
7
  var components_Toolbar_ToolbarItems = require('./ToolbarItems.js');
8
8
  var GlobalHeaderContext = require('../../GlobalHeaderContext.js');
9
+ require('@babel/runtime/helpers/extends');
9
10
  require('../../outOfTheBox/AppPicker/AppPicker.js');
10
11
  require('@babel/runtime/helpers/slicedToArray');
11
12
  require('@elliemae/ds-app-picker');
13
+ require('@elliemae/ds-utilities');
12
14
  require('@elliemae/ds-icons');
13
15
  require('./styles.js');
14
16
  require('styled-components');
15
17
  require('../../outOfTheBox/PopupMenu/PopupMenu.js');
16
- require('@elliemae/ds-popover');
18
+ require('@elliemae/ds-popperjs');
17
19
  require('../../outOfTheBox/PopupMenu/PopupMenuContent.js');
20
+ require('@babel/runtime/helpers/defineProperty');
21
+ require('@elliemae/ds-props-helpers');
18
22
  require('../../outOfTheBox/PopupMenu/styles.js');
19
23
  require('../../defaultProps.js');
20
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalHeaderToolbar.js","sources":["../../../../src/components/Toolbar/GlobalHeaderToolbar.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ToolbarItems } from './ToolbarItems';\nimport { GlobalHeaderContext } from '../../GlobalHeaderContext';\n\nexport const GlobalHeaderToolbar = (): JSX.Element => {\n const { globalHeaderToolbarGrid } = useContext(GlobalHeaderContext);\n return (\n <Grid\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gutter=\"xxs\"\n cols={globalHeaderToolbarGrid}\n role=\"toolbar\"\n >\n <ToolbarItems />\n </Grid>\n );\n};\n"],"names":["GlobalHeaderToolbar","useContext","GlobalHeaderContext","globalHeaderToolbarGrid","React","Grid","ToolbarItems"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAKaA,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAmB;AACpD,oBAAoCC,gBAAU,CAACC,uCAAD,CAA9C;AAAA,MAAQC,uBAAR,eAAQA,uBAAR;;AACA,sBACEC,wCAACC,WAAD;AACE,IAAA,MAAM,EAAC,MADT;AAEE,IAAA,UAAU,EAAC,QAFb;AAGE,IAAA,cAAc,EAAC,QAHjB;AAIE,IAAA,MAAM,EAAC,KAJT;AAKE,IAAA,IAAI,EAAEF,uBALR;AAME,IAAA,IAAI,EAAC;AANP,kBAQEC,wCAACE,4CAAD,OARF,CADF;AAYD;;;;"}
1
+ {"version":3,"file":"GlobalHeaderToolbar.js","sources":["../../../../src/components/Toolbar/GlobalHeaderToolbar.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ToolbarItems } from './ToolbarItems';\nimport { GlobalHeaderContext } from '../../GlobalHeaderContext';\n\nexport const GlobalHeaderToolbar = (): JSX.Element => {\n const { globalHeaderToolbarGrid } = useContext(GlobalHeaderContext);\n return (\n <Grid\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"center\"\n gutter=\"xxs\"\n cols={globalHeaderToolbarGrid}\n role=\"toolbar\"\n >\n <ToolbarItems />\n </Grid>\n );\n};\n"],"names":["GlobalHeaderToolbar","useContext","GlobalHeaderContext","globalHeaderToolbarGrid","React","Grid","ToolbarItems"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKaA,mBAAmB,GAAG,SAAtBA,mBAAsB,GAAmB;AACpD,oBAAoCC,gBAAU,CAACC,uCAAD,CAA9C;AAAA,MAAQC,uBAAR,eAAQA,uBAAR;;AACA,sBACEC,wCAACC,WAAD;AACE,IAAA,MAAM,EAAC,MADT;AAEE,IAAA,UAAU,EAAC,QAFb;AAGE,IAAA,cAAc,EAAC,QAHjB;AAIE,IAAA,MAAM,EAAC,KAJT;AAKE,IAAA,IAAI,EAAEF,uBALR;AAME,IAAA,IAAI,EAAC;AANP,kBAQEC,wCAACE,4CAAD,OARF,CADF;AAYD;;;;"}
@@ -2,6 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var _extends = require('@babel/runtime/helpers/extends');
5
6
  var React = require('react');
6
7
  var outOfTheBox_AppPicker_AppPicker = require('../../outOfTheBox/AppPicker/AppPicker.js');
7
8
  var outOfTheBox_PopupMenu_PopupMenu = require('../../outOfTheBox/PopupMenu/PopupMenu.js');
@@ -9,25 +10,28 @@ var components_Toolbar_styles = require('./styles.js');
9
10
  var GlobalHeaderContext = require('../../GlobalHeaderContext.js');
10
11
  require('@babel/runtime/helpers/slicedToArray');
11
12
  require('@elliemae/ds-app-picker');
13
+ require('@elliemae/ds-utilities');
12
14
  require('@elliemae/ds-icons');
13
15
  require('styled-components');
14
- require('@elliemae/ds-popover');
16
+ require('@elliemae/ds-popperjs');
15
17
  require('../../outOfTheBox/PopupMenu/PopupMenuContent.js');
18
+ require('@babel/runtime/helpers/defineProperty');
19
+ require('@elliemae/ds-props-helpers');
16
20
  require('../../outOfTheBox/PopupMenu/styles.js');
17
21
  require('../../defaultProps.js');
18
22
 
19
23
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
20
24
 
25
+ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
21
26
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
22
27
 
23
- /* eslint-disable no-case-declarations */
24
28
  var ToolbarItems = function ToolbarItems() {
25
29
  var _useContext = React.useContext(GlobalHeaderContext.GlobalHeaderContext),
26
30
  toolbar = _useContext.props.toolbar,
27
31
  instanceUID = _useContext.instanceUID;
28
32
 
29
33
  var itemsList = React.useMemo(function () {
30
- return toolbar.map(function (item) {
34
+ return toolbar === null || toolbar === void 0 ? void 0 : toolbar.map(function (item) {
31
35
  var Icon = item.Icon,
32
36
  type = item.type,
33
37
  onClick = item.onClick,
@@ -49,24 +53,10 @@ var ToolbarItems = function ToolbarItems() {
49
53
  });
50
54
 
51
55
  case 'ds-app-picker':
52
- var _ref2 = componentProps,
53
- apps = _ref2.apps,
54
- customApps = _ref2.customApps,
55
- sectionTitle = _ref2.sectionTitle,
56
- customSectionTitle = _ref2.customSectionTitle,
57
- actionRef = _ref2.actionRef,
58
- onKeyDown = _ref2.onKeyDown;
59
- return /*#__PURE__*/React__default['default'].createElement(outOfTheBox_AppPicker_AppPicker.AppPicker, {
60
- onClick: onClick,
56
+ return /*#__PURE__*/React__default['default'].createElement(outOfTheBox_AppPicker_AppPicker.AppPicker, _extends__default['default']({
61
57
  label: label,
62
- apps: apps,
63
- customApps: customApps,
64
- sectionTitle: sectionTitle,
65
- customSectionTitle: customSectionTitle,
66
- actionRef: actionRef,
67
- key: "".concat(instanceUID, "-ds-app-picker-").concat(label),
68
- onKeyDown: onKeyDown
69
- });
58
+ key: "".concat(instanceUID, "-ds-app-picker-").concat(label)
59
+ }, componentProps));
70
60
 
71
61
  default:
72
62
  return /*#__PURE__*/React__default['default'].createElement(components_Toolbar_styles.Button, {
@@ -1 +1 @@
1
- {"version":3,"file":"ToolbarItems.js","sources":["../../../../src/components/Toolbar/ToolbarItems.tsx"],"sourcesContent":["/* eslint-disable no-case-declarations */\nimport React, { useContext, useMemo } from 'react';\nimport { AppPicker, PopupMenu } from '../../outOfTheBox';\nimport { Button } from './styles';\nimport type { AppPickerPropsT, PopupPropsT } from '../../index.d';\nimport { GlobalHeaderContext } from '../../GlobalHeaderContext';\n\nexport const ToolbarItems = (): JSX.Element => {\n const {\n props: { toolbar },\n instanceUID,\n } = useContext(GlobalHeaderContext);\n\n const itemsList = useMemo(\n () =>\n toolbar.map((item) => {\n const { Icon, type, onClick, componentProps, label } = item;\n\n switch (type) {\n case 'ds-popup-menu':\n const { options, closeOnClick } = componentProps as PopupPropsT;\n return (\n <PopupMenu\n onClick={onClick}\n title={label}\n Icon={Icon}\n options={options}\n closeOnClick={closeOnClick}\n key={`${instanceUID}-ds-popup-menu-${label}`}\n />\n );\n case 'ds-app-picker':\n const { apps, customApps, sectionTitle, customSectionTitle, actionRef, onKeyDown } =\n componentProps as AppPickerPropsT;\n return (\n <AppPicker\n onClick={onClick}\n label={label}\n apps={apps}\n customApps={customApps}\n sectionTitle={sectionTitle}\n customSectionTitle={customSectionTitle}\n actionRef={actionRef}\n key={`${instanceUID}-ds-app-picker-${label}`}\n onKeyDown={onKeyDown}\n />\n );\n default:\n return (\n <Button\n onClick={onClick}\n key={`${instanceUID}-ds-toolbar-button-${label}`}\n title={label}\n data-testid=\"gh-toolbar-item\"\n >\n <Icon fill=\"#FFF\" size=\"m\" />\n </Button>\n );\n }\n }),\n [toolbar, instanceUID],\n );\n\n return <>{itemsList}</>;\n};\n"],"names":["ToolbarItems","useContext","GlobalHeaderContext","toolbar","props","instanceUID","itemsList","useMemo","map","item","Icon","type","onClick","componentProps","label","options","closeOnClick","React","PopupMenu","apps","customApps","sectionTitle","customSectionTitle","actionRef","onKeyDown","AppPicker","Button"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;IAOaA,YAAY,GAAG,SAAfA,YAAe,GAAmB;AAC7C,oBAGIC,gBAAU,CAACC,uCAAD,CAHd;AAAA,MACWC,OADX,eACEC,KADF,CACWD,OADX;AAAA,MAEEE,WAFF,eAEEA,WAFF;;AAKA,MAAMC,SAAS,GAAGC,aAAO,CACvB;AAAA,WACEJ,OAAO,CAACK,GAAR,CAAY,UAACC,IAAD,EAAU;AACpB,UAAQC,IAAR,GAAuDD,IAAvD,CAAQC,IAAR;AAAA,UAAcC,IAAd,GAAuDF,IAAvD,CAAcE,IAAd;AAAA,UAAoBC,OAApB,GAAuDH,IAAvD,CAAoBG,OAApB;AAAA,UAA6BC,cAA7B,GAAuDJ,IAAvD,CAA6BI,cAA7B;AAAA,UAA6CC,KAA7C,GAAuDL,IAAvD,CAA6CK,KAA7C;;AAEA,cAAQH,IAAR;AACE,aAAK,eAAL;AACE,qBAAkCE,cAAlC;AAAA,cAAQE,OAAR,QAAQA,OAAR;AAAA,cAAiBC,YAAjB,QAAiBA,YAAjB;AACA,8BACEC,wCAACC,yCAAD;AACE,YAAA,OAAO,EAAEN,OADX;AAEE,YAAA,KAAK,EAAEE,KAFT;AAGE,YAAA,IAAI,EAAEJ,IAHR;AAIE,YAAA,OAAO,EAAEK,OAJX;AAKE,YAAA,YAAY,EAAEC,YALhB;AAME,YAAA,GAAG,YAAKX,WAAL,4BAAkCS,KAAlC;AANL,YADF;;AAUF,aAAK,eAAL;AACE,sBACED,cADF;AAAA,cAAQM,IAAR,SAAQA,IAAR;AAAA,cAAcC,UAAd,SAAcA,UAAd;AAAA,cAA0BC,YAA1B,SAA0BA,YAA1B;AAAA,cAAwCC,kBAAxC,SAAwCA,kBAAxC;AAAA,cAA4DC,SAA5D,SAA4DA,SAA5D;AAAA,cAAuEC,SAAvE,SAAuEA,SAAvE;AAEA,8BACEP,wCAACQ,yCAAD;AACE,YAAA,OAAO,EAAEb,OADX;AAEE,YAAA,KAAK,EAAEE,KAFT;AAGE,YAAA,IAAI,EAAEK,IAHR;AAIE,YAAA,UAAU,EAAEC,UAJd;AAKE,YAAA,YAAY,EAAEC,YALhB;AAME,YAAA,kBAAkB,EAAEC,kBANtB;AAOE,YAAA,SAAS,EAAEC,SAPb;AAQE,YAAA,GAAG,YAAKlB,WAAL,4BAAkCS,KAAlC,CARL;AASE,YAAA,SAAS,EAAEU;AATb,YADF;;AAaF;AACE,8BACEP,wCAACS,gCAAD;AACE,YAAA,OAAO,EAAEd,OADX;AAEE,YAAA,GAAG,YAAKP,WAAL,gCAAsCS,KAAtC,CAFL;AAGE,YAAA,KAAK,EAAEA,KAHT;AAIE,2BAAY;AAJd,0BAMEG,wCAAC,IAAD;AAAM,YAAA,IAAI,EAAC,MAAX;AAAkB,YAAA,IAAI,EAAC;AAAvB,YANF,CADF;AA9BJ;AAyCD,KA5CD,CADF;AAAA,GADuB,EA+CvB,CAACd,OAAD,EAAUE,WAAV,CA/CuB,CAAzB;AAkDA,sBAAOY,kFAAGX,SAAH,CAAP;AACD;;;;"}
1
+ {"version":3,"file":"ToolbarItems.js","sources":["../../../../src/components/Toolbar/ToolbarItems.tsx"],"sourcesContent":["/* eslint-disable no-case-declarations */\nimport React, { useContext, useMemo } from 'react';\nimport { AppPicker, PopupMenu } from '../../outOfTheBox';\nimport { Button } from './styles';\nimport type { AppPickerProps, PopupPropsT } from '../../index.d';\nimport { GlobalHeaderContext } from '../../GlobalHeaderContext';\n\nexport const ToolbarItems = (): JSX.Element => {\n const {\n props: { toolbar },\n instanceUID,\n } = useContext(GlobalHeaderContext);\n\n const itemsList = useMemo(\n () =>\n toolbar?.map((item) => {\n const { Icon, type, onClick, componentProps, label } = item;\n\n switch (type) {\n case 'ds-popup-menu':\n const { options, closeOnClick } = componentProps as PopupPropsT;\n return (\n <PopupMenu\n onClick={onClick}\n title={label}\n Icon={Icon}\n options={options}\n closeOnClick={closeOnClick}\n key={`${instanceUID}-ds-popup-menu-${label}`}\n />\n );\n case 'ds-app-picker':\n return (\n <AppPicker\n label={label}\n key={`${instanceUID}-ds-app-picker-${label}`}\n {...(componentProps as AppPickerProps)}\n />\n );\n default:\n return (\n <Button\n onClick={onClick}\n key={`${instanceUID}-ds-toolbar-button-${label}`}\n title={label}\n data-testid=\"gh-toolbar-item\"\n >\n <Icon fill=\"#FFF\" size=\"m\" />\n </Button>\n );\n }\n }),\n [toolbar, instanceUID],\n );\n\n return <>{itemsList}</>;\n};\n"],"names":["ToolbarItems","useContext","GlobalHeaderContext","toolbar","props","instanceUID","itemsList","useMemo","map","item","Icon","type","onClick","componentProps","label","options","closeOnClick","React","PopupMenu","AppPicker","Button"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;IAOaA,YAAY,GAAG,SAAfA,YAAe,GAAmB;AAC7C,oBAGIC,gBAAU,CAACC,uCAAD,CAHd;AAAA,MACWC,OADX,eACEC,KADF,CACWD,OADX;AAAA,MAEEE,WAFF,eAEEA,WAFF;;AAKA,MAAMC,SAAS,GAAGC,aAAO,CACvB;AAAA,WACEJ,OADF,aACEA,OADF,uBACEA,OAAO,CAAEK,GAAT,CAAa,UAACC,IAAD,EAAU;AACrB,UAAQC,IAAR,GAAuDD,IAAvD,CAAQC,IAAR;AAAA,UAAcC,IAAd,GAAuDF,IAAvD,CAAcE,IAAd;AAAA,UAAoBC,OAApB,GAAuDH,IAAvD,CAAoBG,OAApB;AAAA,UAA6BC,cAA7B,GAAuDJ,IAAvD,CAA6BI,cAA7B;AAAA,UAA6CC,KAA7C,GAAuDL,IAAvD,CAA6CK,KAA7C;;AAEA,cAAQH,IAAR;AACE,aAAK,eAAL;AACE,qBAAkCE,cAAlC;AAAA,cAAQE,OAAR,QAAQA,OAAR;AAAA,cAAiBC,YAAjB,QAAiBA,YAAjB;AACA,8BACEC,wCAACC,yCAAD;AACE,YAAA,OAAO,EAAEN,OADX;AAEE,YAAA,KAAK,EAAEE,KAFT;AAGE,YAAA,IAAI,EAAEJ,IAHR;AAIE,YAAA,OAAO,EAAEK,OAJX;AAKE,YAAA,YAAY,EAAEC,YALhB;AAME,YAAA,GAAG,YAAKX,WAAL,4BAAkCS,KAAlC;AANL,YADF;;AAUF,aAAK,eAAL;AACE,8BACEG,wCAACE,yCAAD;AACE,YAAA,KAAK,EAAEL,KADT;AAEE,YAAA,GAAG,YAAKT,WAAL,4BAAkCS,KAAlC;AAFL,aAGOD,cAHP,EADF;;AAOF;AACE,8BACEI,wCAACG,gCAAD;AACE,YAAA,OAAO,EAAER,OADX;AAEE,YAAA,GAAG,YAAKP,WAAL,gCAAsCS,KAAtC,CAFL;AAGE,YAAA,KAAK,EAAEA,KAHT;AAIE,2BAAY;AAJd,0BAMEG,wCAAC,IAAD;AAAM,YAAA,IAAI,EAAC,MAAX;AAAkB,YAAA,IAAI,EAAC;AAAvB,YANF,CADF;AAtBJ;AAiCD,KApCD,CADF;AAAA,GADuB,EAuCvB,CAACd,OAAD,EAAUE,WAAV,CAvCuB,CAAzB;AA0CA,sBAAOY,kFAAGX,SAAH,CAAP;AACD;;;;"}
@@ -26,14 +26,14 @@ var useGlobalHeader = function useGlobalHeader(props) {
26
26
  return uid.uid(5);
27
27
  }, []);
28
28
  var globalHeaderToolbarGrid = React.useMemo(function () {
29
- return props.toolbar.map(function () {
30
- return '1fr';
31
- });
29
+ var _props$toolbar$length, _props$toolbar;
30
+
31
+ return new Array((_props$toolbar$length = props === null || props === void 0 ? void 0 : (_props$toolbar = props.toolbar) === null || _props$toolbar === void 0 ? void 0 : _props$toolbar.length) !== null && _props$toolbar$length !== void 0 ? _props$toolbar$length : 0).fill('1fr');
32
32
  }, [props.toolbar]);
33
33
  var globalHeaderBreadcrumbGrid = React.useMemo(function () {
34
- return ['auto'].concat(_toConsumableArray__default['default'](props.breadcrumb.map(function () {
35
- return 'auto';
36
- })), ['1fr']);
34
+ var _props$breadcrumb$len, _props$breadcrumb;
35
+
36
+ return ['auto'].concat(_toConsumableArray__default['default'](new Array((_props$breadcrumb$len = props === null || props === void 0 ? void 0 : (_props$breadcrumb = props.breadcrumb) === null || _props$breadcrumb === void 0 ? void 0 : _props$breadcrumb.length) !== null && _props$breadcrumb$len !== void 0 ? _props$breadcrumb$len : 0).fill('auto')), ['1fr']);
37
37
  }, [props.breadcrumb]);
38
38
  var propsWithDefaults = config_useGetPropsWithDefaults.useGetPropsWithDefaults(props);
39
39
  var ctx = React__default['default'].useMemo(function () {
@@ -1 +1 @@
1
- {"version":3,"file":"useGlobalHeader.js","sources":["../../../src/config/useGlobalHeader.tsx"],"sourcesContent":["import React, { useState, useMemo } from 'react';\nimport { uid } from 'uid';\nimport type { ContextT, GlobalHeaderPropsT } from '../index.d';\nimport { useGetPropsWithDefaults } from './useGetPropsWithDefaults';\n\nexport const useGlobalHeader = (props: GlobalHeaderPropsT): ContextT => {\n const [showIconOnly, setShowIconOnly] = useState<boolean>(false);\n\n const instanceUID = useMemo(() => uid(5), []);\n\n const globalHeaderToolbarGrid = useMemo(() => props.toolbar.map(() => '1fr'), [props.toolbar]);\n const globalHeaderBreadcrumbGrid = useMemo(\n () => ['auto', ...props.breadcrumb.map(() => 'auto'), '1fr'],\n [props.breadcrumb],\n );\n\n const propsWithDefaults = useGetPropsWithDefaults(props);\n\n const ctx = React.useMemo(\n () => ({\n props: propsWithDefaults,\n showIconOnly,\n setShowIconOnly,\n instanceUID,\n globalHeaderToolbarGrid,\n globalHeaderBreadcrumbGrid,\n }),\n [propsWithDefaults, showIconOnly, instanceUID, globalHeaderToolbarGrid, globalHeaderBreadcrumbGrid],\n );\n\n return ctx;\n};\n"],"names":["useGlobalHeader","props","useState","showIconOnly","setShowIconOnly","instanceUID","useMemo","uid","globalHeaderToolbarGrid","toolbar","map","globalHeaderBreadcrumbGrid","breadcrumb","propsWithDefaults","useGetPropsWithDefaults","ctx","React"],"mappings":";;;;;;;;;;;;;;;;;;IAKaA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAyC;AACtE,kBAAwCC,cAAQ,CAAU,KAAV,CAAhD;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;;AAEA,MAAMC,WAAW,GAAGC,aAAO,CAAC;AAAA,WAAMC,OAAG,CAAC,CAAD,CAAT;AAAA,GAAD,EAAe,EAAf,CAA3B;AAEA,MAAMC,uBAAuB,GAAGF,aAAO,CAAC;AAAA,WAAML,KAAK,CAACQ,OAAN,CAAcC,GAAd,CAAkB;AAAA,aAAM,KAAN;AAAA,KAAlB,CAAN;AAAA,GAAD,EAAuC,CAACT,KAAK,CAACQ,OAAP,CAAvC,CAAvC;AACA,MAAME,0BAA0B,GAAGL,aAAO,CACxC;AAAA,YAAO,MAAP,gDAAkBL,KAAK,CAACW,UAAN,CAAiBF,GAAjB,CAAqB;AAAA,aAAM,MAAN;AAAA,KAArB,CAAlB,IAAsD,KAAtD;AAAA,GADwC,EAExC,CAACT,KAAK,CAACW,UAAP,CAFwC,CAA1C;AAKA,MAAMC,iBAAiB,GAAGC,sDAAuB,CAACb,KAAD,CAAjD;AAEA,MAAMc,GAAG,GAAGC,yBAAK,CAACV,OAAN,CACV;AAAA,WAAO;AACLL,MAAAA,KAAK,EAAEY,iBADF;AAELV,MAAAA,YAAY,EAAZA,YAFK;AAGLC,MAAAA,eAAe,EAAfA,eAHK;AAILC,MAAAA,WAAW,EAAXA,WAJK;AAKLG,MAAAA,uBAAuB,EAAvBA,uBALK;AAMLG,MAAAA,0BAA0B,EAA1BA;AANK,KAAP;AAAA,GADU,EASV,CAACE,iBAAD,EAAoBV,YAApB,EAAkCE,WAAlC,EAA+CG,uBAA/C,EAAwEG,0BAAxE,CATU,CAAZ;AAYA,SAAOI,GAAP;AACD;;;;"}
1
+ {"version":3,"file":"useGlobalHeader.js","sources":["../../../src/config/useGlobalHeader.tsx"],"sourcesContent":["import React, { useState, useMemo } from 'react';\nimport { uid } from 'uid';\nimport type { ContextT, GlobalHeaderPropsT } from '../index.d';\nimport { useGetPropsWithDefaults } from './useGetPropsWithDefaults';\n\nexport const useGlobalHeader = (props: GlobalHeaderPropsT): ContextT => {\n const [showIconOnly, setShowIconOnly] = useState<boolean>(false);\n\n const instanceUID = useMemo(() => uid(5), []);\n\n const globalHeaderToolbarGrid = useMemo(() => new Array(props?.toolbar?.length ?? 0).fill('1fr'), [props.toolbar]);\n const globalHeaderBreadcrumbGrid = useMemo(\n () => ['auto', ...new Array(props?.breadcrumb?.length ?? 0).fill('auto'), '1fr'],\n [props.breadcrumb],\n );\n\n const propsWithDefaults = useGetPropsWithDefaults(props);\n\n const ctx = React.useMemo(\n () => ({\n props: propsWithDefaults,\n showIconOnly,\n setShowIconOnly,\n instanceUID,\n globalHeaderToolbarGrid,\n globalHeaderBreadcrumbGrid,\n }),\n [propsWithDefaults, showIconOnly, instanceUID, globalHeaderToolbarGrid, globalHeaderBreadcrumbGrid],\n );\n\n return ctx;\n};\n"],"names":["useGlobalHeader","props","useState","showIconOnly","setShowIconOnly","instanceUID","useMemo","uid","globalHeaderToolbarGrid","Array","toolbar","length","fill","globalHeaderBreadcrumbGrid","breadcrumb","propsWithDefaults","useGetPropsWithDefaults","ctx","React"],"mappings":";;;;;;;;;;;;;;;;;;IAKaA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAyC;AACtE,kBAAwCC,cAAQ,CAAU,KAAV,CAAhD;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;;AAEA,MAAMC,WAAW,GAAGC,aAAO,CAAC;AAAA,WAAMC,OAAG,CAAC,CAAD,CAAT;AAAA,GAAD,EAAe,EAAf,CAA3B;AAEA,MAAMC,uBAAuB,GAAGF,aAAO,CAAC;AAAA;;AAAA,WAAM,IAAIG,KAAJ,0BAAUR,KAAV,aAAUA,KAAV,yCAAUA,KAAK,CAAES,OAAjB,mDAAU,eAAgBC,MAA1B,yEAAoC,CAApC,EAAuCC,IAAvC,CAA4C,KAA5C,CAAN;AAAA,GAAD,EAA2D,CAACX,KAAK,CAACS,OAAP,CAA3D,CAAvC;AACA,MAAMG,0BAA0B,GAAGP,aAAO,CACxC;AAAA;;AAAA,YAAO,MAAP,gDAAkB,IAAIG,KAAJ,0BAAUR,KAAV,aAAUA,KAAV,4CAAUA,KAAK,CAAEa,UAAjB,sDAAU,kBAAmBH,MAA7B,yEAAuC,CAAvC,EAA0CC,IAA1C,CAA+C,MAA/C,CAAlB,IAA0E,KAA1E;AAAA,GADwC,EAExC,CAACX,KAAK,CAACa,UAAP,CAFwC,CAA1C;AAKA,MAAMC,iBAAiB,GAAGC,sDAAuB,CAACf,KAAD,CAAjD;AAEA,MAAMgB,GAAG,GAAGC,yBAAK,CAACZ,OAAN,CACV;AAAA,WAAO;AACLL,MAAAA,KAAK,EAAEc,iBADF;AAELZ,MAAAA,YAAY,EAAZA,YAFK;AAGLC,MAAAA,eAAe,EAAfA,eAHK;AAILC,MAAAA,WAAW,EAAXA,WAJK;AAKLG,MAAAA,uBAAuB,EAAvBA,uBALK;AAMLK,MAAAA,0BAA0B,EAA1BA;AANK,KAAP;AAAA,GADU,EASV,CAACE,iBAAD,EAAoBZ,YAApB,EAAkCE,WAAlC,EAA+CG,uBAA/C,EAAwEK,0BAAxE,CATU,CAAZ;AAYA,SAAOI,GAAP;AACD;;;;"}
@@ -62,7 +62,7 @@ var useValidateProps = function useValidateProps(props) {
62
62
  config_validateHelpers.throwLogoError('LogoWithBrand', LogoWithBrand);
63
63
  }
64
64
 
65
- breadcrumb.forEach(function (breadcrumbItem) {
65
+ breadcrumb === null || breadcrumb === void 0 ? void 0 : breadcrumb.forEach(function (breadcrumbItem) {
66
66
  if (breadcrumbItem.label && typeof breadcrumbItem.label !== 'string') {
67
67
  config_validateHelpers.throwBreadcrumbItemError('label', breadcrumbItem.label);
68
68
  }
@@ -79,7 +79,7 @@ var useValidateProps = function useValidateProps(props) {
79
79
  config_validateHelpers.throwBreadcrumbItemError('isSelected', breadcrumbItem.isSelected);
80
80
  }
81
81
  });
82
- toolbar.forEach(function (toolbarItem) {
82
+ toolbar === null || toolbar === void 0 ? void 0 : toolbar.forEach(function (toolbarItem) {
83
83
  validateGenericToolbarItem(toolbarItem);
84
84
 
85
85
  if (toolbarItem.type) {
@@ -1 +1 @@
1
- {"version":3,"file":"useValidateProps.js","sources":["../../../src/config/useValidateProps.tsx"],"sourcesContent":["import { AppPickerPropsT, GlobalHeaderPropsT, PopupPropsT, ToolbarItemT } from '../index.d';\nimport {\n throwToolbarPopupItemError,\n throwToolbarAppPickerItemError,\n throwToolbarItemGenericError,\n throwLogoError,\n throwBreadcrumbItemError,\n isValidToolbarType,\n isObject,\n} from './validateHelpers';\n\nconst validatePopupItem = (componentProps: PopupPropsT): void => {\n if (componentProps.options && !Array.isArray(componentProps.options)) {\n throwToolbarPopupItemError('options', componentProps.options);\n }\n if (componentProps.closeOnClick && typeof componentProps.closeOnClick !== 'boolean') {\n throwToolbarPopupItemError('closeOnClick', componentProps.closeOnClick);\n }\n};\n\nconst validateAppPickerItem = (componentProps: AppPickerPropsT): void => {\n if (componentProps.apps && !Array.isArray(componentProps.apps)) {\n throwToolbarAppPickerItemError('apps', componentProps.apps);\n }\n if (componentProps.customApps && !Array.isArray(componentProps.customApps)) {\n throwToolbarAppPickerItemError('customApps', componentProps.customApps);\n }\n if (componentProps.sectionTitle && typeof componentProps.sectionTitle !== 'string') {\n throwToolbarAppPickerItemError('sectionTitle', componentProps.sectionTitle);\n }\n if (componentProps.customSectionTitle && typeof componentProps.customSectionTitle !== 'string') {\n throwToolbarAppPickerItemError('customSectionTitle', componentProps.customSectionTitle);\n }\n};\n\nconst validateGenericToolbarItem = (item: ToolbarItemT): void => {\n if (item.label && typeof item.label !== 'string') {\n throwToolbarItemGenericError('label', item.label);\n }\n if (item.onClick && typeof item.onClick !== 'function') {\n throwToolbarItemGenericError('onClick', item.onClick);\n }\n if (item.Icon && typeof item.Icon !== 'function') {\n if (item.type === 'ds-app-picker') return;\n throwToolbarItemGenericError('Icon', item.Icon);\n }\n};\n\nexport const useValidateProps = (props: GlobalHeaderPropsT): void => {\n const { breadcrumb, toolbar, Logo, LogoWithBrand } = props;\n\n if (Logo && typeof Logo !== 'function') {\n throwLogoError('Logo', Logo);\n }\n\n if (LogoWithBrand && typeof LogoWithBrand !== 'function') {\n throwLogoError('LogoWithBrand', LogoWithBrand);\n }\n\n breadcrumb.forEach((breadcrumbItem) => {\n if (breadcrumbItem.label && typeof breadcrumbItem.label !== 'string') {\n throwBreadcrumbItemError('label', breadcrumbItem.label);\n }\n if (breadcrumbItem.onClick && typeof breadcrumbItem.onClick !== 'function') {\n throwBreadcrumbItemError('onClick', breadcrumbItem.onClick);\n }\n if (breadcrumbItem.hasNext && typeof breadcrumbItem.hasNext !== 'boolean') {\n throwBreadcrumbItemError('hasNext', breadcrumbItem.hasNext);\n }\n if (breadcrumbItem.isSelected && typeof breadcrumbItem.isSelected !== 'boolean') {\n throwBreadcrumbItemError('isSelected', breadcrumbItem.isSelected);\n }\n });\n\n toolbar.forEach((toolbarItem) => {\n validateGenericToolbarItem(toolbarItem);\n if (toolbarItem.type) {\n if (!isValidToolbarType(toolbarItem.type)) {\n throwToolbarItemGenericError('type', toolbarItem.type);\n }\n if (toolbarItem.componentProps && !isObject(toolbarItem.componentProps)) {\n throwToolbarItemGenericError('componentProps', toolbarItem.componentProps);\n }\n if (toolbarItem.type === 'ds-popup-menu') {\n validatePopupItem(toolbarItem.componentProps as PopupPropsT);\n } else {\n validateAppPickerItem(toolbarItem.componentProps as AppPickerPropsT);\n }\n }\n });\n};\n"],"names":["validatePopupItem","componentProps","options","Array","isArray","throwToolbarPopupItemError","closeOnClick","validateAppPickerItem","apps","throwToolbarAppPickerItemError","customApps","sectionTitle","customSectionTitle","validateGenericToolbarItem","item","label","throwToolbarItemGenericError","onClick","Icon","type","useValidateProps","props","breadcrumb","toolbar","Logo","LogoWithBrand","throwLogoError","forEach","breadcrumbItem","throwBreadcrumbItemError","hasNext","isSelected","toolbarItem","isValidToolbarType","isObject"],"mappings":"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"}
1
+ {"version":3,"file":"useValidateProps.js","sources":["../../../src/config/useValidateProps.tsx"],"sourcesContent":["import { AppPickerProps, GlobalHeaderPropsT, PopupPropsT, ToolbarItemT } from '../index.d';\nimport {\n throwToolbarPopupItemError,\n throwToolbarAppPickerItemError,\n throwToolbarItemGenericError,\n throwLogoError,\n throwBreadcrumbItemError,\n isValidToolbarType,\n isObject,\n} from './validateHelpers';\n\nconst validatePopupItem = (componentProps: PopupPropsT): void => {\n if (componentProps.options && !Array.isArray(componentProps.options)) {\n throwToolbarPopupItemError('options', componentProps.options);\n }\n if (componentProps.closeOnClick && typeof componentProps.closeOnClick !== 'boolean') {\n throwToolbarPopupItemError('closeOnClick', componentProps.closeOnClick);\n }\n};\n\nconst validateAppPickerItem = (componentProps: AppPickerProps): void => {\n if (componentProps.apps && !Array.isArray(componentProps.apps)) {\n throwToolbarAppPickerItemError('apps', componentProps.apps);\n }\n if (componentProps.customApps && !Array.isArray(componentProps.customApps)) {\n throwToolbarAppPickerItemError('customApps', componentProps.customApps);\n }\n if (componentProps.sectionTitle && typeof componentProps.sectionTitle !== 'string') {\n throwToolbarAppPickerItemError('sectionTitle', componentProps.sectionTitle);\n }\n if (componentProps.customSectionTitle && typeof componentProps.customSectionTitle !== 'string') {\n throwToolbarAppPickerItemError('customSectionTitle', componentProps.customSectionTitle);\n }\n};\n\nconst validateGenericToolbarItem = (item: ToolbarItemT): void => {\n if (item.label && typeof item.label !== 'string') {\n throwToolbarItemGenericError('label', item.label);\n }\n if (item.onClick && typeof item.onClick !== 'function') {\n throwToolbarItemGenericError('onClick', item.onClick);\n }\n if (item.Icon && typeof item.Icon !== 'function') {\n if (item.type === 'ds-app-picker') return;\n throwToolbarItemGenericError('Icon', item.Icon);\n }\n};\n\nexport const useValidateProps = (props: GlobalHeaderPropsT): void => {\n const { breadcrumb, toolbar, Logo, LogoWithBrand } = props;\n\n if (Logo && typeof Logo !== 'function') {\n throwLogoError('Logo', Logo);\n }\n\n if (LogoWithBrand && typeof LogoWithBrand !== 'function') {\n throwLogoError('LogoWithBrand', LogoWithBrand);\n }\n\n breadcrumb?.forEach((breadcrumbItem) => {\n if (breadcrumbItem.label && typeof breadcrumbItem.label !== 'string') {\n throwBreadcrumbItemError('label', breadcrumbItem.label);\n }\n if (breadcrumbItem.onClick && typeof breadcrumbItem.onClick !== 'function') {\n throwBreadcrumbItemError('onClick', breadcrumbItem.onClick);\n }\n if (breadcrumbItem.hasNext && typeof breadcrumbItem.hasNext !== 'boolean') {\n throwBreadcrumbItemError('hasNext', breadcrumbItem.hasNext);\n }\n if (breadcrumbItem.isSelected && typeof breadcrumbItem.isSelected !== 'boolean') {\n throwBreadcrumbItemError('isSelected', breadcrumbItem.isSelected);\n }\n });\n\n toolbar?.forEach((toolbarItem) => {\n validateGenericToolbarItem(toolbarItem);\n if (toolbarItem.type) {\n if (!isValidToolbarType(toolbarItem.type)) {\n throwToolbarItemGenericError('type', toolbarItem.type);\n }\n if (toolbarItem.componentProps && !isObject(toolbarItem.componentProps)) {\n throwToolbarItemGenericError('componentProps', toolbarItem.componentProps);\n }\n if (toolbarItem.type === 'ds-popup-menu') {\n validatePopupItem(toolbarItem.componentProps as PopupPropsT);\n } else {\n validateAppPickerItem(toolbarItem.componentProps as AppPickerProps);\n }\n }\n });\n};\n"],"names":["validatePopupItem","componentProps","options","Array","isArray","throwToolbarPopupItemError","closeOnClick","validateAppPickerItem","apps","throwToolbarAppPickerItemError","customApps","sectionTitle","customSectionTitle","validateGenericToolbarItem","item","label","throwToolbarItemGenericError","onClick","Icon","type","useValidateProps","props","breadcrumb","toolbar","Logo","LogoWithBrand","throwLogoError","forEach","breadcrumbItem","throwBreadcrumbItemError","hasNext","isSelected","toolbarItem","isValidToolbarType","isObject"],"mappings":";;;;;;;AAWA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,cAAD,EAAuC;AAC/D,MAAIA,cAAc,CAACC,OAAf,IAA0B,CAACC,KAAK,CAACC,OAAN,CAAcH,cAAc,CAACC,OAA7B,CAA/B,EAAsE;AACpEG,IAAAA,iDAA0B,CAAC,SAAD,EAAYJ,cAAc,CAACC,OAA3B,CAA1B;AACD;;AACD,MAAID,cAAc,CAACK,YAAf,IAA+B,OAAOL,cAAc,CAACK,YAAtB,KAAuC,SAA1E,EAAqF;AACnFD,IAAAA,iDAA0B,CAAC,cAAD,EAAiBJ,cAAc,CAACK,YAAhC,CAA1B;AACD;AACF,CAPD;;AASA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACN,cAAD,EAA0C;AACtE,MAAIA,cAAc,CAACO,IAAf,IAAuB,CAACL,KAAK,CAACC,OAAN,CAAcH,cAAc,CAACO,IAA7B,CAA5B,EAAgE;AAC9DC,IAAAA,qDAA8B,CAAC,MAAD,EAASR,cAAc,CAACO,IAAxB,CAA9B;AACD;;AACD,MAAIP,cAAc,CAACS,UAAf,IAA6B,CAACP,KAAK,CAACC,OAAN,CAAcH,cAAc,CAACS,UAA7B,CAAlC,EAA4E;AAC1ED,IAAAA,qDAA8B,CAAC,YAAD,EAAeR,cAAc,CAACS,UAA9B,CAA9B;AACD;;AACD,MAAIT,cAAc,CAACU,YAAf,IAA+B,OAAOV,cAAc,CAACU,YAAtB,KAAuC,QAA1E,EAAoF;AAClFF,IAAAA,qDAA8B,CAAC,cAAD,EAAiBR,cAAc,CAACU,YAAhC,CAA9B;AACD;;AACD,MAAIV,cAAc,CAACW,kBAAf,IAAqC,OAAOX,cAAc,CAACW,kBAAtB,KAA6C,QAAtF,EAAgG;AAC9FH,IAAAA,qDAA8B,CAAC,oBAAD,EAAuBR,cAAc,CAACW,kBAAtC,CAA9B;AACD;AACF,CAbD;;AAeA,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACC,IAAD,EAA8B;AAC/D,MAAIA,IAAI,CAACC,KAAL,IAAc,OAAOD,IAAI,CAACC,KAAZ,KAAsB,QAAxC,EAAkD;AAChDC,IAAAA,mDAA4B,CAAC,OAAD,EAAUF,IAAI,CAACC,KAAf,CAA5B;AACD;;AACD,MAAID,IAAI,CAACG,OAAL,IAAgB,OAAOH,IAAI,CAACG,OAAZ,KAAwB,UAA5C,EAAwD;AACtDD,IAAAA,mDAA4B,CAAC,SAAD,EAAYF,IAAI,CAACG,OAAjB,CAA5B;AACD;;AACD,MAAIH,IAAI,CAACI,IAAL,IAAa,OAAOJ,IAAI,CAACI,IAAZ,KAAqB,UAAtC,EAAkD;AAChD,QAAIJ,IAAI,CAACK,IAAL,KAAc,eAAlB,EAAmC;AACnCH,IAAAA,mDAA4B,CAAC,MAAD,EAASF,IAAI,CAACI,IAAd,CAA5B;AACD;AACF,CAXD;;IAaaE,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAqC;AACnE,MAAQC,UAAR,GAAqDD,KAArD,CAAQC,UAAR;AAAA,MAAoBC,OAApB,GAAqDF,KAArD,CAAoBE,OAApB;AAAA,MAA6BC,IAA7B,GAAqDH,KAArD,CAA6BG,IAA7B;AAAA,MAAmCC,aAAnC,GAAqDJ,KAArD,CAAmCI,aAAnC;;AAEA,MAAID,IAAI,IAAI,OAAOA,IAAP,KAAgB,UAA5B,EAAwC;AACtCE,IAAAA,qCAAc,CAAC,MAAD,EAASF,IAAT,CAAd;AACD;;AAED,MAAIC,aAAa,IAAI,OAAOA,aAAP,KAAyB,UAA9C,EAA0D;AACxDC,IAAAA,qCAAc,CAAC,eAAD,EAAkBD,aAAlB,CAAd;AACD;;AAEDH,EAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEK,OAAZ,CAAoB,UAACC,cAAD,EAAoB;AACtC,QAAIA,cAAc,CAACb,KAAf,IAAwB,OAAOa,cAAc,CAACb,KAAtB,KAAgC,QAA5D,EAAsE;AACpEc,MAAAA,+CAAwB,CAAC,OAAD,EAAUD,cAAc,CAACb,KAAzB,CAAxB;AACD;;AACD,QAAIa,cAAc,CAACX,OAAf,IAA0B,OAAOW,cAAc,CAACX,OAAtB,KAAkC,UAAhE,EAA4E;AAC1EY,MAAAA,+CAAwB,CAAC,SAAD,EAAYD,cAAc,CAACX,OAA3B,CAAxB;AACD;;AACD,QAAIW,cAAc,CAACE,OAAf,IAA0B,OAAOF,cAAc,CAACE,OAAtB,KAAkC,SAAhE,EAA2E;AACzED,MAAAA,+CAAwB,CAAC,SAAD,EAAYD,cAAc,CAACE,OAA3B,CAAxB;AACD;;AACD,QAAIF,cAAc,CAACG,UAAf,IAA6B,OAAOH,cAAc,CAACG,UAAtB,KAAqC,SAAtE,EAAiF;AAC/EF,MAAAA,+CAAwB,CAAC,YAAD,EAAeD,cAAc,CAACG,UAA9B,CAAxB;AACD;AACF,GAbD;AAeAR,EAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEI,OAAT,CAAiB,UAACK,WAAD,EAAiB;AAChCnB,IAAAA,0BAA0B,CAACmB,WAAD,CAA1B;;AACA,QAAIA,WAAW,CAACb,IAAhB,EAAsB;AACpB,UAAI,CAACc,yCAAkB,CAACD,WAAW,CAACb,IAAb,CAAvB,EAA2C;AACzCH,QAAAA,mDAA4B,CAAC,MAAD,EAASgB,WAAW,CAACb,IAArB,CAA5B;AACD;;AACD,UAAIa,WAAW,CAAC/B,cAAZ,IAA8B,CAACiC,+BAAQ,CAACF,WAAW,CAAC/B,cAAb,CAA3C,EAAyE;AACvEe,QAAAA,mDAA4B,CAAC,gBAAD,EAAmBgB,WAAW,CAAC/B,cAA/B,CAA5B;AACD;;AACD,UAAI+B,WAAW,CAACb,IAAZ,KAAqB,eAAzB,EAA0C;AACxCnB,QAAAA,iBAAiB,CAACgC,WAAW,CAAC/B,cAAb,CAAjB;AACD,OAFD,MAEO;AACLM,QAAAA,qBAAqB,CAACyB,WAAW,CAAC/B,cAAb,CAArB;AACD;AACF;AACF,GAfD;AAgBD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"validateHelpers.js","sources":["../../../src/config/validateHelpers.tsx"],"sourcesContent":["export const breadcrumbProps = {\n label: 'string',\n onClick: 'function',\n hasNext: 'boolean',\n isSelected: 'boolean',\n};\n\nexport const toolbarProps = {\n label: 'string',\n type: '\"ds-app-picker\" or \"ds-popup-menu\"',\n componentProps: 'object',\n Icon: 'react component',\n onClick: 'function',\n options: 'array',\n closeOnClick: 'boolean',\n apps: 'array',\n customApps: 'array',\n sectionTitle: 'string',\n customSectionTitle: 'string',\n};\n\nexport const isObject = (obj: unknown): boolean => typeof obj === 'object' && !!obj && !Array.isArray(obj);\n\nexport const getVariableType = (arg: unknown): string => {\n if (Array.isArray(arg)) return 'array';\n if (arg === null) return 'null';\n if (arg === undefined) return 'undefined';\n return typeof arg;\n};\n\nexport const isValidToolbarType = (string: unknown): boolean =>\n string === 'ds-app-picker' || string === 'ds-popup-menu';\n\nexport const throwBreadcrumbItemError = (validPropKey: string, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property for a breadcrumb item, please provide a valid type.\n\n Received: ${invalidProp} (${typeof invalidProp})\n Expected: (${breadcrumbProps[validPropKey]})\n `,\n );\n};\n\nexport const throwToolbarPopupItemError = (validPropKey: string, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property inside componentProps for a ds-popup-menu \n toolbar item, please provide a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)})\n Expected: (${toolbarProps[validPropKey]})\n `,\n );\n};\n\nexport const throwToolbarAppPickerItemError = (validPropKey: string, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property inside componentProps for a ds-app-picker \n toolbar item, please provide a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)})\n Expected: (${toolbarProps[validPropKey]})\n `,\n );\n};\n\nexport const throwToolbarItemGenericError = (validPropKey: string, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property for a toolbar item, please provide a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)})\n Expected: (${toolbarProps[validPropKey]})\n `,\n );\n};\n\nexport const throwLogoError = (validPropKey: string, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property for a global header, \n remember to provide both Logo and LogoWithBrand properties with a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)}).\n Expected: (react component).\n `,\n );\n};\n"],"names":["breadcrumbProps","label","onClick","hasNext","isSelected","toolbarProps","type","componentProps","Icon","options","closeOnClick","apps","customApps","sectionTitle","customSectionTitle","isObject","obj","_typeof","Array","isArray","getVariableType","arg","undefined","isValidToolbarType","string","throwBreadcrumbItemError","validPropKey","invalidProp","Error","throwToolbarPopupItemError","throwToolbarAppPickerItemError","throwToolbarItemGenericError","throwLogoError"],"mappings":";;;;;;;;;;IAAaA,eAAe,GAAG;AAC7BC,EAAAA,KAAK,EAAE,QADsB;AAE7BC,EAAAA,OAAO,EAAE,UAFoB;AAG7BC,EAAAA,OAAO,EAAE,SAHoB;AAI7BC,EAAAA,UAAU,EAAE;AAJiB;IAOlBC,YAAY,GAAG;AAC1BJ,EAAAA,KAAK,EAAE,QADmB;AAE1BK,EAAAA,IAAI,EAAE,oCAFoB;AAG1BC,EAAAA,cAAc,EAAE,QAHU;AAI1BC,EAAAA,IAAI,EAAE,iBAJoB;AAK1BN,EAAAA,OAAO,EAAE,UALiB;AAM1BO,EAAAA,OAAO,EAAE,OANiB;AAO1BC,EAAAA,YAAY,EAAE,SAPY;AAQ1BC,EAAAA,IAAI,EAAE,OARoB;AAS1BC,EAAAA,UAAU,EAAE,OATc;AAU1BC,EAAAA,YAAY,EAAE,QAVY;AAW1BC,EAAAA,kBAAkB,EAAE;AAXM;IAcfC,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD;AAAA,SAA2BC,4BAAOD,GAAP,MAAe,QAAf,IAA2B,CAAC,CAACA,GAA7B,IAAoC,CAACE,KAAK,CAACC,OAAN,CAAcH,GAAd,CAAhE;AAAA;IAEXI,eAAe,GAAG,SAAlBA,eAAkB,CAACC,GAAD,EAA0B;AACvD,MAAIH,KAAK,CAACC,OAAN,CAAcE,GAAd,CAAJ,EAAwB,OAAO,OAAP;AACxB,MAAIA,GAAG,KAAK,IAAZ,EAAkB,OAAO,MAAP;AAClB,MAAIA,GAAG,KAAKC,SAAZ,EAAuB,OAAO,WAAP;AACvB,qCAAcD,GAAd;AACD;IAEYE,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,MAAD;AAAA,SAChCA,MAAM,KAAK,eAAX,IAA8BA,MAAM,KAAK,eADT;AAAA;IAGrBC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,YAAD,EAAuBC,WAAvB,EAAsD;AAC5F,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,4FAGMC,WAHN,2CAG6BA,WAH7B,8BAIO3B,eAAe,CAAC0B,YAAD,CAJtB,WAAN;AAOD;IAEYG,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACH,YAAD,EAAuBC,WAAvB,EAAsD;AAC9F,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,mIAIMC,WAJN,eAIsBP,eAAe,CAACO,WAAD,CAJrC,6BAKOtB,YAAY,CAACqB,YAAD,CALnB,WAAN;AAQD;IAEYI,8BAA8B,GAAG,SAAjCA,8BAAiC,CAACJ,YAAD,EAAuBC,WAAvB,EAAsD;AAClG,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,mIAIMC,WAJN,eAIsBP,eAAe,CAACO,WAAD,CAJrC,6BAKOtB,YAAY,CAACqB,YAAD,CALnB,WAAN;AAQD;IAEYK,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACL,YAAD,EAAuBC,WAAvB,EAAsD;AAChG,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,yFAGMC,WAHN,eAGsBP,eAAe,CAACO,WAAD,CAHrC,6BAIOtB,YAAY,CAACqB,YAAD,CAJnB,WAAN;AAOD;IAEYM,cAAc,GAAG,SAAjBA,cAAiB,CAACN,YAAD,EAAuBC,WAAvB,EAAsD;AAClF,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,iJAIMC,WAJN,eAIsBP,eAAe,CAACO,WAAD,CAJrC,4CAAN;AAQD;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"validateHelpers.js","sources":["../../../src/config/validateHelpers.tsx"],"sourcesContent":["export const breadcrumbProps = {\n label: 'string',\n onClick: 'function',\n hasNext: 'boolean',\n isSelected: 'boolean',\n};\n\nexport const toolbarProps = {\n label: 'string',\n type: '\"ds-app-picker\" or \"ds-popup-menu\"',\n componentProps: 'object',\n Icon: 'react component',\n onClick: 'function',\n options: 'array',\n closeOnClick: 'boolean',\n apps: 'array',\n customApps: 'array',\n sectionTitle: 'string',\n customSectionTitle: 'string',\n};\n\nexport const isObject = (obj: unknown): boolean => typeof obj === 'object' && !!obj && !Array.isArray(obj);\n\nexport const getVariableType = (arg: unknown): string => {\n if (Array.isArray(arg)) return 'array';\n if (arg === null) return 'null';\n if (arg === undefined) return 'undefined';\n return typeof arg;\n};\n\nexport const isValidToolbarType = (string: unknown): boolean =>\n string === 'ds-app-picker' || string === 'ds-popup-menu';\n\nexport const throwBreadcrumbItemError = (validPropKey: keyof typeof breadcrumbProps, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property for a breadcrumb item, please provide a valid type.\n\n Received: ${invalidProp} (${typeof invalidProp})\n Expected: (${breadcrumbProps[validPropKey]})\n `,\n );\n};\n\nexport const throwToolbarPopupItemError = (validPropKey: keyof typeof toolbarProps, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property inside componentProps for a ds-popup-menu \n toolbar item, please provide a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)})\n Expected: (${toolbarProps[validPropKey]})\n `,\n );\n};\n\nexport const throwToolbarAppPickerItemError = (validPropKey: keyof typeof toolbarProps, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property inside componentProps for a ds-app-picker \n toolbar item, please provide a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)})\n Expected: (${toolbarProps[validPropKey]})\n `,\n );\n};\n\nexport const throwToolbarItemGenericError = (validPropKey: keyof typeof toolbarProps, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property for a toolbar item, please provide a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)})\n Expected: (${toolbarProps[validPropKey]})\n `,\n );\n};\n\nexport const throwLogoError = (validPropKey: string, invalidProp: unknown): void => {\n throw new Error(\n `You are trying to pass a not valid \"${validPropKey}\" property for a global header, \n remember to provide both Logo and LogoWithBrand properties with a valid type.\n\n Received: ${invalidProp} (${getVariableType(invalidProp)}).\n Expected: (react component).\n `,\n );\n};\n"],"names":["breadcrumbProps","label","onClick","hasNext","isSelected","toolbarProps","type","componentProps","Icon","options","closeOnClick","apps","customApps","sectionTitle","customSectionTitle","isObject","obj","_typeof","Array","isArray","getVariableType","arg","undefined","isValidToolbarType","string","throwBreadcrumbItemError","validPropKey","invalidProp","Error","throwToolbarPopupItemError","throwToolbarAppPickerItemError","throwToolbarItemGenericError","throwLogoError"],"mappings":";;;;;;;;;;IAAaA,eAAe,GAAG;AAC7BC,EAAAA,KAAK,EAAE,QADsB;AAE7BC,EAAAA,OAAO,EAAE,UAFoB;AAG7BC,EAAAA,OAAO,EAAE,SAHoB;AAI7BC,EAAAA,UAAU,EAAE;AAJiB;IAOlBC,YAAY,GAAG;AAC1BJ,EAAAA,KAAK,EAAE,QADmB;AAE1BK,EAAAA,IAAI,EAAE,oCAFoB;AAG1BC,EAAAA,cAAc,EAAE,QAHU;AAI1BC,EAAAA,IAAI,EAAE,iBAJoB;AAK1BN,EAAAA,OAAO,EAAE,UALiB;AAM1BO,EAAAA,OAAO,EAAE,OANiB;AAO1BC,EAAAA,YAAY,EAAE,SAPY;AAQ1BC,EAAAA,IAAI,EAAE,OARoB;AAS1BC,EAAAA,UAAU,EAAE,OATc;AAU1BC,EAAAA,YAAY,EAAE,QAVY;AAW1BC,EAAAA,kBAAkB,EAAE;AAXM;IAcfC,QAAQ,GAAG,SAAXA,QAAW,CAACC,GAAD;AAAA,SAA2BC,4BAAOD,GAAP,MAAe,QAAf,IAA2B,CAAC,CAACA,GAA7B,IAAoC,CAACE,KAAK,CAACC,OAAN,CAAcH,GAAd,CAAhE;AAAA;IAEXI,eAAe,GAAG,SAAlBA,eAAkB,CAACC,GAAD,EAA0B;AACvD,MAAIH,KAAK,CAACC,OAAN,CAAcE,GAAd,CAAJ,EAAwB,OAAO,OAAP;AACxB,MAAIA,GAAG,KAAK,IAAZ,EAAkB,OAAO,MAAP;AAClB,MAAIA,GAAG,KAAKC,SAAZ,EAAuB,OAAO,WAAP;AACvB,qCAAcD,GAAd;AACD;IAEYE,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,MAAD;AAAA,SAChCA,MAAM,KAAK,eAAX,IAA8BA,MAAM,KAAK,eADT;AAAA;IAGrBC,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,YAAD,EAA6CC,WAA7C,EAA4E;AAClH,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,4FAGMC,WAHN,2CAG6BA,WAH7B,8BAIO3B,eAAe,CAAC0B,YAAD,CAJtB,WAAN;AAOD;IAEYG,0BAA0B,GAAG,SAA7BA,0BAA6B,CAACH,YAAD,EAA0CC,WAA1C,EAAyE;AACjH,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,mIAIMC,WAJN,eAIsBP,eAAe,CAACO,WAAD,CAJrC,6BAKOtB,YAAY,CAACqB,YAAD,CALnB,WAAN;AAQD;IAEYI,8BAA8B,GAAG,SAAjCA,8BAAiC,CAACJ,YAAD,EAA0CC,WAA1C,EAAyE;AACrH,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,mIAIMC,WAJN,eAIsBP,eAAe,CAACO,WAAD,CAJrC,6BAKOtB,YAAY,CAACqB,YAAD,CALnB,WAAN;AAQD;IAEYK,4BAA4B,GAAG,SAA/BA,4BAA+B,CAACL,YAAD,EAA0CC,WAA1C,EAAyE;AACnH,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,yFAGMC,WAHN,eAGsBP,eAAe,CAACO,WAAD,CAHrC,6BAIOtB,YAAY,CAACqB,YAAD,CAJnB,WAAN;AAOD;IAEYM,cAAc,GAAG,SAAjBA,cAAiB,CAACN,YAAD,EAAuBC,WAAvB,EAAsD;AAClF,QAAM,IAAIC,KAAJ,gDACmCF,YADnC,iJAIMC,WAJN,eAIsBP,eAAe,CAACO,WAAD,CAJrC,4CAAN;AAQD;;;;;;;;;;;;;"}
@@ -2,11 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var emptyComp = function emptyComp() {
6
+ return null;
7
+ };
8
+
5
9
  var defaultProps = {
6
10
  breadcrumb: [],
7
11
  toolbar: [],
8
- LogoWithBrand: null,
9
- Logo: null
12
+ LogoWithBrand: emptyComp,
13
+ Logo: emptyComp
10
14
  };
11
15
 
12
16
  exports.defaultProps = defaultProps;
@@ -1 +1 @@
1
- {"version":3,"file":"defaultProps.js","sources":["../../src/defaultProps.tsx"],"sourcesContent":["import type { GlobalHeaderPropsT } from './index.d';\n\nexport const defaultProps: GlobalHeaderPropsT = { breadcrumb: [], toolbar: [], LogoWithBrand: null, Logo: null };\n"],"names":["defaultProps","breadcrumb","toolbar","LogoWithBrand","Logo"],"mappings":";;;;IAEaA,YAAgC,GAAG;AAAEC,EAAAA,UAAU,EAAE,EAAd;AAAkBC,EAAAA,OAAO,EAAE,EAA3B;AAA+BC,EAAAA,aAAa,EAAE,IAA9C;AAAoDC,EAAAA,IAAI,EAAE;AAA1D;;;;"}
1
+ {"version":3,"file":"defaultProps.js","sources":["../../src/defaultProps.tsx"],"sourcesContent":["import type { GlobalHeaderPropsT } from './index.d';\n\nconst emptyComp = () => null;\n\nexport const defaultProps: GlobalHeaderPropsT = {\n breadcrumb: [],\n toolbar: [],\n LogoWithBrand: emptyComp,\n Logo: emptyComp,\n};\n"],"names":["emptyComp","defaultProps","breadcrumb","toolbar","LogoWithBrand","Logo"],"mappings":";;;;AAEA,IAAMA,SAAS,GAAG,SAAZA,SAAY;AAAA,SAAM,IAAN;AAAA,CAAlB;;IAEaC,YAAgC,GAAG;AAC9CC,EAAAA,UAAU,EAAE,EADkC;AAE9CC,EAAAA,OAAO,EAAE,EAFqC;AAG9CC,EAAAA,aAAa,EAAEJ,SAH+B;AAI9CK,EAAAA,IAAI,EAAEL;AAJwC;;;;"}
package/cjs/index.js CHANGED
@@ -17,19 +17,22 @@ require('./components/Breadcrumb/PureBreadcrumb.js');
17
17
  require('@elliemae/ds-icons');
18
18
  require('./components/Toolbar/GlobalHeaderToolbar.js');
19
19
  require('./components/Toolbar/ToolbarItems.js');
20
+ require('@babel/runtime/helpers/extends');
20
21
  require('./outOfTheBox/AppPicker/AppPicker.js');
21
22
  require('@babel/runtime/helpers/slicedToArray');
22
23
  require('@elliemae/ds-app-picker');
24
+ require('@elliemae/ds-utilities');
23
25
  require('./components/Toolbar/styles.js');
24
26
  require('./outOfTheBox/PopupMenu/PopupMenu.js');
25
- require('@elliemae/ds-popover');
27
+ require('@elliemae/ds-popperjs');
26
28
  require('./outOfTheBox/PopupMenu/PopupMenuContent.js');
29
+ require('@babel/runtime/helpers/defineProperty');
30
+ require('@elliemae/ds-props-helpers');
27
31
  require('./outOfTheBox/PopupMenu/styles.js');
28
32
  require('./config/useGlobalHeader.js');
29
33
  require('@babel/runtime/helpers/toConsumableArray');
30
34
  require('uid');
31
35
  require('./config/useGetPropsWithDefaults.js');
32
- require('@babel/runtime/helpers/defineProperty');
33
36
  require('./GlobalHeaderContainer.js');
34
37
  require('./styles.js');
35
38
  require('./config/useValidateProps.js');
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
6
6
  var React = require('react');
7
7
  var dsAppPicker = require('@elliemae/ds-app-picker');
8
+ var dsUtilities = require('@elliemae/ds-utilities');
8
9
  var dsIcons = require('@elliemae/ds-icons');
9
10
  var components_Toolbar_styles = require('../../components/Toolbar/styles.js');
10
11
  require('styled-components');
@@ -17,53 +18,53 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
18
  var AppPicker = function AppPicker(_ref) {
18
19
  var label = _ref.label,
19
20
  apps = _ref.apps,
21
+ icon = _ref.icon,
20
22
  customApps = _ref.customApps,
21
23
  sectionTitle = _ref.sectionTitle,
22
24
  customSectionTitle = _ref.customSectionTitle,
23
- _ref$onClick = _ref.onClick,
24
- onClick = _ref$onClick === void 0 ? function () {
25
- return null;
26
- } : _ref$onClick,
27
25
  actionRef = _ref.actionRef,
28
- _ref$onKeyDown = _ref.onKeyDown,
29
- customHandleOnKeyDown = _ref$onKeyDown === void 0 ? function () {
30
- return null;
31
- } : _ref$onKeyDown;
26
+ userIsOpen = _ref.isOpen,
27
+ userOnKeyDown = _ref.onKeyDown,
28
+ userOnClickOutside = _ref.onClickOutside,
29
+ userRenderTrigger = _ref.renderTrigger,
30
+ onClose = _ref.onClose,
31
+ triggerRef = _ref.triggerRef,
32
+ triggerOnClick = _ref.triggerOnClick;
32
33
 
33
34
  var _useState = React.useState(false),
34
35
  _useState2 = _slicedToArray__default['default'](_useState, 2),
35
36
  isOpen = _useState2[0],
36
37
  setIsOpen = _useState2[1];
37
38
 
38
- var buttonRef = React.useRef();
39
+ var buttonRef = React.useRef(null);
39
40
  var handleTriggerKeyDown = React.useCallback(function (e) {
40
41
  if (e.code === 'Enter' || e.code === 'Space') {
41
42
  setIsOpen(true);
42
43
  }
43
44
  }, []);
44
45
  var handleAppPickerOnKeyDown = React.useCallback(function (e) {
45
- customHandleOnKeyDown(e);
46
-
47
46
  if (e.code === 'Escape') {
47
+ var _buttonRef$current;
48
+
48
49
  setIsOpen(false);
50
+ buttonRef === null || buttonRef === void 0 ? void 0 : (_buttonRef$current = buttonRef.current) === null || _buttonRef$current === void 0 ? void 0 : _buttonRef$current.focus();
49
51
  }
50
- }, [customHandleOnKeyDown]);
52
+ }, []);
51
53
  var handleOnClickOutside = React.useCallback(function () {
52
54
  setIsOpen(false);
53
55
  }, []);
54
- var handleOnClick = React.useCallback(function (e) {
56
+ var handleOnClick = React.useCallback(function () {
55
57
  setIsOpen(true);
56
- onClick(e);
57
- }, [onClick]);
58
- var trigger = React.useMemo(function () {
58
+ }, []);
59
+ var renderTrigger = React.useMemo(function () {
59
60
  return function (_ref2) {
60
61
  var ref = _ref2.ref;
61
62
  return /*#__PURE__*/React__default['default'].createElement("div", {
62
63
  ref: ref
63
64
  }, /*#__PURE__*/React__default['default'].createElement(components_Toolbar_styles.Button, {
64
- onClick: handleOnClick,
65
+ onClick: triggerOnClick !== null && triggerOnClick !== void 0 ? triggerOnClick : handleOnClick,
65
66
  onKeyDown: handleTriggerKeyDown,
66
- ref: buttonRef,
67
+ ref: dsUtilities.mergeRefs(buttonRef, triggerRef),
67
68
  title: label,
68
69
  "data-testid": "gh-toolbar-item"
69
70
  }, /*#__PURE__*/React__default['default'].createElement(dsIcons.MenuPicker, {
@@ -71,21 +72,21 @@ var AppPicker = function AppPicker(_ref) {
71
72
  size: "m"
72
73
  })));
73
74
  };
74
- }, [handleOnClick, handleTriggerKeyDown, label]);
75
- return React.useMemo(function () {
76
- return /*#__PURE__*/React__default['default'].createElement(dsAppPicker.DSAppPicker, {
77
- isOpen: isOpen,
78
- apps: apps,
79
- customApps: customApps,
80
- sectionTitle: sectionTitle,
81
- customSectionTitle: customSectionTitle,
82
- onClickOutside: handleOnClickOutside,
83
- renderTrigger: trigger,
84
- triggerRef: buttonRef,
85
- actionRef: actionRef,
86
- onKeyDown: handleAppPickerOnKeyDown
87
- });
88
- }, [actionRef, apps, customApps, customSectionTitle, handleAppPickerOnKeyDown, handleOnClickOutside, isOpen, sectionTitle, trigger]);
75
+ }, [triggerOnClick, handleOnClick, handleTriggerKeyDown, label]);
76
+ return /*#__PURE__*/React__default['default'].createElement(dsAppPicker.DSAppPicker, {
77
+ apps: apps,
78
+ customApps: customApps,
79
+ sectionTitle: sectionTitle,
80
+ customSectionTitle: customSectionTitle,
81
+ icon: icon,
82
+ onKeyDown: userOnKeyDown !== null && userOnKeyDown !== void 0 ? userOnKeyDown : handleAppPickerOnKeyDown,
83
+ actionRef: actionRef,
84
+ onClickOutside: userOnClickOutside !== null && userOnClickOutside !== void 0 ? userOnClickOutside : handleOnClickOutside,
85
+ renderTrigger: userRenderTrigger !== null && userRenderTrigger !== void 0 ? userRenderTrigger : renderTrigger,
86
+ isOpen: userIsOpen !== null && userIsOpen !== void 0 ? userIsOpen : isOpen,
87
+ onClose: onClose,
88
+ triggerRef: triggerRef
89
+ });
89
90
  };
90
91
 
91
92
  exports.AppPicker = AppPicker;
@@ -1 +1 @@
1
- {"version":3,"file":"AppPicker.js","sources":["../../../../src/outOfTheBox/AppPicker/AppPicker.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useMemo } from 'react';\nimport { DSAppPicker } from '@elliemae/ds-app-picker';\nimport { MenuPicker } from '@elliemae/ds-icons';\nimport type { AppPickerPropsT as Props } from '../../index.d';\nimport { Button } from '../../components/Toolbar/styles';\n\nexport const AppPicker = ({\n label,\n apps,\n customApps,\n sectionTitle,\n customSectionTitle,\n onClick = () => null,\n actionRef,\n onKeyDown: customHandleOnKeyDown = () => null,\n}: Props): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const buttonRef = useRef<HTMLButtonElement>();\n\n const handleTriggerKeyDown = useCallback((e: React.KeyboardEvent) => {\n if (e.code === 'Enter' || e.code === 'Space') {\n setIsOpen(true);\n }\n }, []);\n\n const handleAppPickerOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n customHandleOnKeyDown(e);\n if (e.code === 'Escape') {\n setIsOpen(false);\n }\n },\n [customHandleOnKeyDown],\n );\n\n const handleOnClickOutside = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const handleOnClick = useCallback(\n (e) => {\n setIsOpen(true);\n onClick(e);\n },\n [onClick],\n );\n\n const trigger = useMemo(\n () =>\n ({ ref }: { ref: React.MutableRefObject<HTMLDivElement> }) =>\n (\n <div ref={ref}>\n <Button\n onClick={handleOnClick}\n onKeyDown={handleTriggerKeyDown}\n ref={buttonRef}\n title={label}\n data-testid=\"gh-toolbar-item\"\n >\n <MenuPicker fill=\"#FFF\" size=\"m\" />\n </Button>\n </div>\n ),\n [handleOnClick, handleTriggerKeyDown, label],\n );\n\n return useMemo(\n () => (\n <DSAppPicker\n isOpen={isOpen}\n apps={apps}\n customApps={customApps}\n sectionTitle={sectionTitle}\n customSectionTitle={customSectionTitle}\n onClickOutside={handleOnClickOutside}\n renderTrigger={trigger}\n triggerRef={buttonRef}\n actionRef={actionRef}\n onKeyDown={handleAppPickerOnKeyDown}\n />\n ),\n [\n actionRef,\n apps,\n customApps,\n customSectionTitle,\n handleAppPickerOnKeyDown,\n handleOnClickOutside,\n isOpen,\n sectionTitle,\n trigger,\n ],\n );\n};\n"],"names":["AppPicker","label","apps","customApps","sectionTitle","customSectionTitle","onClick","actionRef","onKeyDown","customHandleOnKeyDown","useState","isOpen","setIsOpen","buttonRef","useRef","handleTriggerKeyDown","useCallback","e","code","handleAppPickerOnKeyDown","handleOnClickOutside","handleOnClick","trigger","useMemo","ref","React","Button","MenuPicker","DSAppPicker"],"mappings":"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"}
1
+ {"version":3,"file":"AppPicker.js","sources":["../../../../src/outOfTheBox/AppPicker/AppPicker.tsx"],"sourcesContent":["import React, { useState, useRef, useCallback, useMemo } from 'react';\nimport { DSAppPicker } from '@elliemae/ds-app-picker';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { MenuPicker } from '@elliemae/ds-icons';\nimport { Button } from '../../components/Toolbar/styles';\n\ntype AppPickerProps = React.ComponentProps<typeof DSAppPicker>;\n\nexport const AppPicker = ({\n label,\n apps,\n icon,\n customApps,\n sectionTitle,\n customSectionTitle,\n actionRef,\n isOpen: userIsOpen,\n onKeyDown: userOnKeyDown,\n onClickOutside: userOnClickOutside,\n renderTrigger: userRenderTrigger,\n onClose,\n triggerRef,\n triggerOnClick,\n}: AppPickerProps & {\n label: string;\n triggerOnClick?: React.MouseEventHandler;\n}): JSX.Element => {\n const [isOpen, setIsOpen] = useState<boolean>(false);\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n const handleTriggerKeyDown: React.KeyboardEventHandler = useCallback((e) => {\n if (e.code === 'Enter' || e.code === 'Space') {\n setIsOpen(true);\n }\n }, []);\n\n const handleAppPickerOnKeyDown: AppPickerProps['onKeyDown'] = useCallback((e) => {\n if (e.code === 'Escape') {\n setIsOpen(false);\n buttonRef?.current?.focus();\n }\n }, []);\n\n const handleOnClickOutside: AppPickerProps['onClickOutside'] = useCallback(() => {\n setIsOpen(false);\n }, []);\n\n const handleOnClick: React.MouseEventHandler = useCallback(() => {\n setIsOpen(true);\n }, []);\n\n const renderTrigger: AppPickerProps['renderTrigger'] = useMemo(\n () =>\n ({ ref }) =>\n (\n <div ref={ref}>\n <Button\n onClick={triggerOnClick ?? handleOnClick}\n onKeyDown={handleTriggerKeyDown}\n ref={mergeRefs(buttonRef, triggerRef)}\n title={label}\n data-testid=\"gh-toolbar-item\"\n >\n <MenuPicker fill=\"#FFF\" size=\"m\" />\n </Button>\n </div>\n ),\n [triggerOnClick, handleOnClick, handleTriggerKeyDown, label],\n );\n\n return (\n <DSAppPicker\n apps={apps}\n customApps={customApps}\n sectionTitle={sectionTitle}\n customSectionTitle={customSectionTitle}\n icon={icon}\n onKeyDown={userOnKeyDown ?? handleAppPickerOnKeyDown}\n actionRef={actionRef}\n onClickOutside={userOnClickOutside ?? handleOnClickOutside}\n renderTrigger={userRenderTrigger ?? renderTrigger}\n isOpen={userIsOpen ?? isOpen}\n onClose={onClose}\n triggerRef={triggerRef}\n />\n );\n};\n"],"names":["AppPicker","label","apps","icon","customApps","sectionTitle","customSectionTitle","actionRef","userIsOpen","isOpen","userOnKeyDown","onKeyDown","userOnClickOutside","onClickOutside","userRenderTrigger","renderTrigger","onClose","triggerRef","triggerOnClick","useState","setIsOpen","buttonRef","useRef","handleTriggerKeyDown","useCallback","e","code","handleAppPickerOnKeyDown","current","focus","handleOnClickOutside","handleOnClick","useMemo","ref","React","Button","mergeRefs","MenuPicker","DSAppPicker"],"mappings":"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"}