@elliemae/ds-global-header 3.60.0-next.9 → 3.70.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/cjs/DSGlobalHeader.js +9 -10
  2. package/dist/cjs/DSGlobalHeader.js.map +2 -2
  3. package/dist/cjs/config/constants.js +0 -15
  4. package/dist/cjs/config/constants.js.map +3 -3
  5. package/dist/cjs/config/useGlobalHeader.js +2 -2
  6. package/dist/cjs/config/useGlobalHeader.js.map +2 -2
  7. package/dist/cjs/constants/index.js +176 -0
  8. package/dist/cjs/constants/index.js.map +7 -0
  9. package/dist/cjs/{exported-related/index.js → hooks/useOnClickOutside.js} +30 -11
  10. package/dist/cjs/hooks/useOnClickOutside.js.map +7 -0
  11. package/dist/cjs/index.js +8 -6
  12. package/dist/cjs/index.js.map +2 -2
  13. package/dist/cjs/parts/Breadcrumb/GlobalHeaderBreadcrumb.js +6 -5
  14. package/dist/cjs/parts/Breadcrumb/GlobalHeaderBreadcrumb.js.map +2 -2
  15. package/dist/cjs/parts/Breadcrumb/PureBreadcrumb.js +7 -5
  16. package/dist/cjs/parts/Breadcrumb/PureBreadcrumb.js.map +2 -2
  17. package/dist/cjs/parts/Breadcrumb/styles.js +14 -14
  18. package/dist/cjs/parts/Breadcrumb/styles.js.map +2 -2
  19. package/dist/cjs/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js +1 -1
  20. package/dist/cjs/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js.map +1 -1
  21. package/dist/cjs/parts/Logo/GlobalHeaderLogo.js +2 -2
  22. package/dist/cjs/parts/Logo/GlobalHeaderLogo.js.map +2 -2
  23. package/dist/cjs/parts/Logo/styles.js +3 -3
  24. package/dist/cjs/parts/Logo/styles.js.map +2 -2
  25. package/dist/cjs/parts/Toolbar/GlobalHeaderToolbar.js +13 -12
  26. package/dist/cjs/parts/Toolbar/GlobalHeaderToolbar.js.map +2 -2
  27. package/dist/cjs/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js +2 -2
  28. package/dist/cjs/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js.map +2 -2
  29. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js +55 -32
  30. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js.map +2 -2
  31. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js +90 -68
  32. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js.map +2 -2
  33. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js +10 -10
  34. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js.map +2 -2
  35. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js +3 -1
  36. package/dist/cjs/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js.map +2 -2
  37. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js +171 -93
  38. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js.map +3 -3
  39. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggleSpinButton.js +166 -0
  40. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggleSpinButton.js.map +7 -0
  41. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/useSearchToggle.js +122 -0
  42. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/useSearchToggle.js.map +7 -0
  43. package/dist/cjs/parts/Toolbar/styles.js +5 -5
  44. package/dist/cjs/parts/Toolbar/styles.js.map +2 -2
  45. package/dist/cjs/parts/styles.js +4 -4
  46. package/dist/cjs/parts/styles.js.map +2 -2
  47. package/dist/cjs/react-desc-prop-types.js +2 -0
  48. package/dist/cjs/react-desc-prop-types.js.map +2 -2
  49. package/dist/esm/DSGlobalHeader.js +8 -9
  50. package/dist/esm/DSGlobalHeader.js.map +2 -2
  51. package/dist/esm/config/constants.js +0 -8
  52. package/dist/esm/config/constants.js.map +3 -3
  53. package/dist/esm/config/useGlobalHeader.js +2 -2
  54. package/dist/esm/config/useGlobalHeader.js.map +2 -2
  55. package/dist/esm/constants/index.js +146 -0
  56. package/dist/esm/constants/index.js.map +7 -0
  57. package/dist/esm/hooks/useOnClickOutside.js +30 -0
  58. package/dist/esm/hooks/useOnClickOutside.js.map +7 -0
  59. package/dist/esm/index.js +7 -3
  60. package/dist/esm/index.js.map +2 -2
  61. package/dist/esm/parts/Breadcrumb/GlobalHeaderBreadcrumb.js +6 -5
  62. package/dist/esm/parts/Breadcrumb/GlobalHeaderBreadcrumb.js.map +2 -2
  63. package/dist/esm/parts/Breadcrumb/PureBreadcrumb.js +7 -5
  64. package/dist/esm/parts/Breadcrumb/PureBreadcrumb.js.map +2 -2
  65. package/dist/esm/parts/Breadcrumb/styles.js +8 -8
  66. package/dist/esm/parts/Breadcrumb/styles.js.map +2 -2
  67. package/dist/esm/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js +1 -1
  68. package/dist/esm/parts/Breadcrumb/useGlobalHeaderBreadcrumb.js.map +1 -1
  69. package/dist/esm/parts/Logo/GlobalHeaderLogo.js +2 -2
  70. package/dist/esm/parts/Logo/GlobalHeaderLogo.js.map +2 -2
  71. package/dist/esm/parts/Logo/styles.js +2 -2
  72. package/dist/esm/parts/Logo/styles.js.map +2 -2
  73. package/dist/esm/parts/Toolbar/GlobalHeaderToolbar.js +13 -12
  74. package/dist/esm/parts/Toolbar/GlobalHeaderToolbar.js.map +2 -2
  75. package/dist/esm/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js +2 -2
  76. package/dist/esm/parts/Toolbar/outOfTheBox/AppPicker/AppPicker.js.map +2 -2
  77. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js +57 -34
  78. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.js.map +2 -2
  79. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js +90 -68
  80. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.js.map +2 -2
  81. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js +6 -6
  82. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/styles.js.map +2 -2
  83. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js +3 -1
  84. package/dist/esm/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/usePopupMenuContent.js.map +2 -2
  85. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js +172 -94
  86. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.js.map +3 -3
  87. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggleSpinButton.js +136 -0
  88. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggleSpinButton.js.map +7 -0
  89. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/useSearchToggle.js +92 -0
  90. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/useSearchToggle.js.map +7 -0
  91. package/dist/esm/parts/Toolbar/styles.js +4 -4
  92. package/dist/esm/parts/Toolbar/styles.js.map +2 -2
  93. package/dist/esm/parts/styles.js +3 -3
  94. package/dist/esm/parts/styles.js.map +2 -2
  95. package/dist/esm/react-desc-prop-types.js +8 -1
  96. package/dist/esm/react-desc-prop-types.js.map +2 -2
  97. package/dist/types/DSGlobalHeader.d.ts +2 -2
  98. package/dist/types/config/constants.d.ts +0 -5
  99. package/dist/types/config/useGlobalHeader.d.ts +1 -1
  100. package/dist/types/constants/index.d.ts +184 -0
  101. package/dist/types/hooks/useOnClickOutside.d.ts +1 -0
  102. package/dist/types/index.d.ts +1 -1
  103. package/dist/types/parts/Breadcrumb/PureBreadcrumb.d.ts +5 -1
  104. package/dist/types/parts/Toolbar/outOfTheBox/PopupMenu/PopupMenu.d.ts +1 -1
  105. package/dist/types/parts/Toolbar/outOfTheBox/PopupMenu/menuContent/PopupMenuContent.d.ts +1 -1
  106. package/dist/types/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggle.d.ts +1 -1
  107. package/dist/types/parts/Toolbar/outOfTheBox/SearchToggle/SearchToggleSpinButton.d.ts +9 -0
  108. package/dist/types/parts/Toolbar/outOfTheBox/SearchToggle/useSearchToggle.d.ts +14 -0
  109. package/dist/types/react-desc-prop-types.d.ts +513 -21
  110. package/dist/types/tests/GlobalHeader.getOwnerProps.test.d.ts +1 -0
  111. package/package.json +29 -30
  112. package/dist/cjs/exported-related/DSGlobalHeaderDatatestid.js +0 -90
  113. package/dist/cjs/exported-related/DSGlobalHeaderDatatestid.js.map +0 -7
  114. package/dist/cjs/exported-related/index.js.map +0 -7
  115. package/dist/cjs/exported-related/theming.js +0 -90
  116. package/dist/cjs/exported-related/theming.js.map +0 -7
  117. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/styles.js +0 -90
  118. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/styles.js.map +0 -7
  119. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/useCallbackAfterRender.js +0 -47
  120. package/dist/cjs/parts/Toolbar/outOfTheBox/SearchToggle/useCallbackAfterRender.js.map +0 -7
  121. package/dist/esm/exported-related/DSGlobalHeaderDatatestid.js +0 -60
  122. package/dist/esm/exported-related/DSGlobalHeaderDatatestid.js.map +0 -7
  123. package/dist/esm/exported-related/index.js +0 -11
  124. package/dist/esm/exported-related/index.js.map +0 -7
  125. package/dist/esm/exported-related/theming.js +0 -60
  126. package/dist/esm/exported-related/theming.js.map +0 -7
  127. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/styles.js +0 -60
  128. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/styles.js.map +0 -7
  129. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/useCallbackAfterRender.js +0 -17
  130. package/dist/esm/parts/Toolbar/outOfTheBox/SearchToggle/useCallbackAfterRender.js.map +0 -7
  131. package/dist/types/exported-related/DSGlobalHeaderDatatestid.d.ts +0 -54
  132. package/dist/types/exported-related/index.d.ts +0 -2
  133. package/dist/types/exported-related/theming.d.ts +0 -53
  134. package/dist/types/parts/Toolbar/outOfTheBox/SearchToggle/styles.d.ts +0 -1
  135. package/dist/types/parts/Toolbar/outOfTheBox/SearchToggle/useCallbackAfterRender.d.ts +0 -3
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/DSGlobalHeader.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useMemo } from 'react';\nimport { type DSGridT, Grid } from '@elliemae/ds-grid';\nimport { useGetLayoutMode } from '@elliemae/ds-system';\nimport { useGetGlobalAttributes, useGetXstyledProps, describe } from '@elliemae/ds-props-helpers';\nimport { DSGlobalHeaderPropTypesSchema, type DSGlobalHeaderT } from './react-desc-prop-types.js';\nimport { GlobalHeaderLogo } from './parts/Logo/GlobalHeaderLogo.js';\nimport { GlobalHeaderBreadcrumb } from './parts/Breadcrumb/GlobalHeaderBreadcrumb.js';\nimport { GlobalHeaderToolbar } from './parts/Toolbar/GlobalHeaderToolbar.js';\nimport { DSGlobalHeaderContext } from './DSGlobalHeaderContext.js';\nimport { useGlobalHeader } from './config/useGlobalHeader.js';\nimport { useValidateProps } from './config/useValidateProps.js';\nimport { DSGlobalHeaderName } from './exported-related/index.js';\nimport { FONT_DETECTOR } from './config/constants.js';\nimport { Container } from './parts/styles.js';\n\nconst DSGlobalHeader = (props: DSGlobalHeaderT.Props): JSX.Element => {\n useValidateProps(props);\n const ctx = useGlobalHeader(props);\n const {\n props: { toolbar },\n ownerProps,\n fontDetector,\n } = ctx;\n const propsWithDefaults = ctx.props;\n const globalAttrs = useGetGlobalAttributes<DSGlobalHeaderT.Props, HTMLDivElement, DSGridT.Props>(propsWithDefaults);\n const xstyledAttrs = useGetXstyledProps(propsWithDefaults);\n const layoutMode = useGetLayoutMode();\n\n const cols2 = useMemo(() => {\n if (['l'].includes(layoutMode!)) {\n return ['1fr', 'auto'];\n }\n if (['m', 's'].includes(layoutMode!)) {\n return ['1fr'];\n }\n if (['xs'].includes(layoutMode!)) {\n return ['auto'];\n }\n if (fontDetector > FONT_DETECTOR.SMALL) {\n return ['auto', '1fr'];\n }\n return ['1fr', 'auto'];\n }, [fontDetector, layoutMode]);\n\n const cols = useMemo(() => {\n if (['xs'].includes(layoutMode!)) {\n return ['auto'];\n }\n return ['auto', '1fr'];\n }, [layoutMode]);\n\n return (\n <Container\n {...globalAttrs}\n {...xstyledAttrs}\n {...ownerProps}\n forwardedAs=\"header\"\n data-testid=\"ds-global-header\"\n cols={cols2}\n >\n <DSGlobalHeaderContext.Provider value={ctx}>\n <Grid cols={cols}>\n <GlobalHeaderLogo />\n <GlobalHeaderBreadcrumb />\n </Grid>\n {toolbar.length ? <GlobalHeaderToolbar /> : null}\n </DSGlobalHeaderContext.Provider>\n </Container>\n );\n};\n\nDSGlobalHeader.displayName = DSGlobalHeaderName;\nconst DSGlobalHeaderWithSchema = describe(DSGlobalHeader).description('DSGlobalHeader');\nDSGlobalHeaderWithSchema.propTypes = DSGlobalHeaderPropTypesSchema;\n\nconst GlobalHeader = DSGlobalHeader;\n\nexport { GlobalHeader, DSGlobalHeader, DSGlobalHeaderWithSchema };\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC6Df,SACE,KADF;AA7DR,SAAgB,eAAe;AAC/B,SAAuB,YAAY;AACnC,SAAS,wBAAwB;AACjC,SAAS,wBAAwB,oBAAoB,gBAAgB;AACrE,SAAS,qCAA2D;AACpE,SAAS,wBAAwB;AACjC,SAAS,8BAA8B;AACvC,SAAS,2BAA2B;AACpC,SAAS,6BAA6B;AACtC,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,0BAA0B;AACnC,SAAS,qBAAqB;AAC9B,SAAS,iBAAiB;AAE1B,MAAM,iBAAiB,CAAC,UAA8C;AACpE,mBAAiB,KAAK;AACtB,QAAM,MAAM,gBAAgB,KAAK;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ;AAAA,IACjB;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,oBAAoB,IAAI;AAC9B,QAAM,cAAc,uBAA6E,iBAAiB;AAClH,QAAM,eAAe,mBAAmB,iBAAiB;AACzD,QAAM,aAAa,iBAAiB;AAEpC,QAAM,QAAQ,QAAQ,MAAM;AAC1B,QAAI,CAAC,GAAG,EAAE,SAAS,UAAW,GAAG;AAC/B,aAAO,CAAC,OAAO,MAAM;AAAA,IACvB;AACA,QAAI,CAAC,KAAK,GAAG,EAAE,SAAS,UAAW,GAAG;AACpC,aAAO,CAAC,KAAK;AAAA,IACf;AACA,QAAI,CAAC,IAAI,EAAE,SAAS,UAAW,GAAG;AAChC,aAAO,CAAC,MAAM;AAAA,IAChB;AACA,QAAI,eAAe,cAAc,OAAO;AACtC,aAAO,CAAC,QAAQ,KAAK;AAAA,IACvB;AACA,WAAO,CAAC,OAAO,MAAM;AAAA,EACvB,GAAG,CAAC,cAAc,UAAU,CAAC;AAE7B,QAAM,OAAO,QAAQ,MAAM;AACzB,QAAI,CAAC,IAAI,EAAE,SAAS,UAAW,GAAG;AAChC,aAAO,CAAC,MAAM;AAAA,IAChB;AACA,WAAO,CAAC,QAAQ,KAAK;AAAA,EACvB,GAAG,CAAC,UAAU,CAAC;AAEf,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACJ,aAAY;AAAA,MACZ,eAAY;AAAA,MACZ,MAAM;AAAA,MAEN,+BAAC,sBAAsB,UAAtB,EAA+B,OAAO,KACrC;AAAA,6BAAC,QAAK,MACJ;AAAA,8BAAC,oBAAiB;AAAA,UAClB,oBAAC,0BAAuB;AAAA,WAC1B;AAAA,QACC,QAAQ,SAAS,oBAAC,uBAAoB,IAAK;AAAA,SAC9C;AAAA;AAAA,EACF;AAEJ;AAEA,eAAe,cAAc;AAC7B,MAAM,2BAA2B,SAAS,cAAc,EAAE,YAAY,gBAAgB;AACtF,yBAAyB,YAAY;AAErC,MAAM,eAAe;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { type DSGridT, Grid } from '@elliemae/ds-grid';\nimport { describe, useGetGlobalAttributes, useGetXstyledProps } from '@elliemae/ds-props-helpers';\nimport { useGetLayoutMode } from '@elliemae/ds-system';\nimport { useMemo } from 'react';\nimport { DSGlobalHeaderContext } from './DSGlobalHeaderContext.js';\nimport { useGlobalHeader } from './config/useGlobalHeader.js';\nimport { useValidateProps } from './config/useValidateProps.js';\nimport { DSGlobalHeaderName, FONT_DETECTOR, GLOBAL_HEADER_DATA_TESTID } from './constants/index.js';\nimport { GlobalHeaderBreadcrumb } from './parts/Breadcrumb/GlobalHeaderBreadcrumb.js';\nimport { GlobalHeaderLogo } from './parts/Logo/GlobalHeaderLogo.js';\nimport { GlobalHeaderToolbar } from './parts/Toolbar/GlobalHeaderToolbar.js';\nimport { Container } from './parts/styles.js';\nimport { DSGlobalHeaderPropTypesSchema, type DSGlobalHeaderT } from './react-desc-prop-types.js';\n\nconst DSGlobalHeader = (props: DSGlobalHeaderT.Props): JSX.Element => {\n useValidateProps(props);\n const ctx = useGlobalHeader(props);\n const {\n props: { toolbar },\n ownerProps,\n fontDetector,\n } = ctx;\n const propsWithDefaults = ctx.props;\n const globalAttrs = useGetGlobalAttributes<DSGlobalHeaderT.Props, HTMLDivElement, DSGridT.Props>(propsWithDefaults);\n const xstyledAttrs = useGetXstyledProps(propsWithDefaults);\n const layoutMode = useGetLayoutMode();\n\n const cols2 = useMemo(() => {\n if (['l'].includes(layoutMode!)) {\n return ['1fr', 'auto'];\n }\n if (['m', 's'].includes(layoutMode!)) {\n return ['1fr'];\n }\n if (['xs'].includes(layoutMode!)) {\n return ['auto'];\n }\n if (fontDetector > FONT_DETECTOR.SMALL) {\n return ['auto', '1fr'];\n }\n return ['1fr', 'auto'];\n }, [fontDetector, layoutMode]);\n\n const cols = useMemo(() => {\n if (['xs'].includes(layoutMode!)) {\n return ['auto'];\n }\n return ['auto', '1fr'];\n }, [layoutMode]);\n\n return (\n <Container\n {...globalAttrs}\n {...xstyledAttrs}\n {...ownerProps}\n forwardedAs=\"header\"\n data-testid={GLOBAL_HEADER_DATA_TESTID.CONTAINER}\n cols={cols2}\n >\n <DSGlobalHeaderContext.Provider value={ctx}>\n <Grid cols={cols}>\n <GlobalHeaderLogo />\n <GlobalHeaderBreadcrumb />\n </Grid>\n {toolbar.length ? <GlobalHeaderToolbar /> : null}\n </DSGlobalHeaderContext.Provider>\n </Container>\n );\n};\n\nDSGlobalHeader.displayName = DSGlobalHeaderName;\nconst DSGlobalHeaderWithSchema = describe(DSGlobalHeader).description('DSGlobalHeader');\nDSGlobalHeaderWithSchema.propTypes = DSGlobalHeaderPropTypesSchema;\n\nconst GlobalHeader = DSGlobalHeader;\n\nexport { DSGlobalHeader, DSGlobalHeaderWithSchema, GlobalHeader };\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC4Df,SACE,KADF;AA5DR,SAAuB,YAAY;AACnC,SAAS,UAAU,wBAAwB,0BAA0B;AACrE,SAAS,wBAAwB;AACjC,SAAS,eAAe;AACxB,SAAS,6BAA6B;AACtC,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AACjC,SAAS,oBAAoB,eAAe,iCAAiC;AAC7E,SAAS,8BAA8B;AACvC,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,iBAAiB;AAC1B,SAAS,qCAA2D;AAEpE,MAAM,iBAAiB,CAAC,UAA8C;AACpE,mBAAiB,KAAK;AACtB,QAAM,MAAM,gBAAgB,KAAK;AACjC,QAAM;AAAA,IACJ,OAAO,EAAE,QAAQ;AAAA,IACjB;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,oBAAoB,IAAI;AAC9B,QAAM,cAAc,uBAA6E,iBAAiB;AAClH,QAAM,eAAe,mBAAmB,iBAAiB;AACzD,QAAM,aAAa,iBAAiB;AAEpC,QAAM,QAAQ,QAAQ,MAAM;AAC1B,QAAI,CAAC,GAAG,EAAE,SAAS,UAAW,GAAG;AAC/B,aAAO,CAAC,OAAO,MAAM;AAAA,IACvB;AACA,QAAI,CAAC,KAAK,GAAG,EAAE,SAAS,UAAW,GAAG;AACpC,aAAO,CAAC,KAAK;AAAA,IACf;AACA,QAAI,CAAC,IAAI,EAAE,SAAS,UAAW,GAAG;AAChC,aAAO,CAAC,MAAM;AAAA,IAChB;AACA,QAAI,eAAe,cAAc,OAAO;AACtC,aAAO,CAAC,QAAQ,KAAK;AAAA,IACvB;AACA,WAAO,CAAC,OAAO,MAAM;AAAA,EACvB,GAAG,CAAC,cAAc,UAAU,CAAC;AAE7B,QAAM,OAAO,QAAQ,MAAM;AACzB,QAAI,CAAC,IAAI,EAAE,SAAS,UAAW,GAAG;AAChC,aAAO,CAAC,MAAM;AAAA,IAChB;AACA,WAAO,CAAC,QAAQ,KAAK;AAAA,EACvB,GAAG,CAAC,UAAU,CAAC;AAEf,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACJ,aAAY;AAAA,MACZ,eAAa,0BAA0B;AAAA,MACvC,MAAM;AAAA,MAEN,+BAAC,sBAAsB,UAAtB,EAA+B,OAAO,KACrC;AAAA,6BAAC,QAAK,MACJ;AAAA,8BAAC,oBAAiB;AAAA,UAClB,oBAAC,0BAAuB;AAAA,WAC1B;AAAA,QACC,QAAQ,SAAS,oBAAC,uBAAoB,IAAK;AAAA,SAC9C;AAAA;AAAA,EACF;AAEJ;AAEA,eAAe,cAAc;AAC7B,MAAM,2BAA2B,SAAS,cAAc,EAAE,YAAY,gBAAgB;AACtF,yBAAyB,YAAY;AAErC,MAAM,eAAe;",
6
6
  "names": []
7
7
  }
@@ -1,10 +1,2 @@
1
1
  import * as React from "react";
2
- const FONT_DETECTOR = {
3
- SMALL: 1,
4
- MEDIUM: 2,
5
- LARGE: 3
6
- };
7
- export {
8
- FONT_DETECTOR
9
- };
10
2
  //# sourceMappingURL=constants.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/config/constants.ts"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const FONT_DETECTOR = {\n SMALL: 1,\n MEDIUM: 2,\n LARGE: 3,\n} as const;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,gBAAgB;AAAA,EAC3B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AACT;",
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;",
6
6
  "names": []
7
7
  }
@@ -4,11 +4,11 @@ import { useMemoMergePropsWithDefault, useOwnerProps } from "@elliemae/ds-props-
4
4
  import { useMemo, useState } from "react";
5
5
  import { uid } from "uid";
6
6
  import { defaultProps } from "../react-desc-prop-types.js";
7
- import { FONT_DETECTOR } from "./constants.js";
7
+ import { FONT_DETECTOR } from "../constants/index.js";
8
8
  const useGlobalHeader = (props) => {
9
9
  const [showIconOnly, setShowIconOnly] = useState(false);
10
10
  const propsWithDefaults = useMemoMergePropsWithDefault(props, defaultProps);
11
- const instanceUID = useMemo(() => uid(5), []);
11
+ const instanceUID = useMemo(() => `ds-global-header-${uid(5)}`, []);
12
12
  const globalHeaderToolbarGrid = useMemo(
13
13
  () => new Array(propsWithDefaults.toolbar.length).fill("auto"),
14
14
  [propsWithDefaults.toolbar]
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/config/useGlobalHeader.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useFontsizeMedia } from '@elliemae/ds-hooks-fontsize-media';\nimport { useMemoMergePropsWithDefault, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { useMemo, useState } from 'react';\nimport { uid } from 'uid';\nimport { defaultProps, type DSGlobalHeaderT } from '../react-desc-prop-types.js';\nimport { FONT_DETECTOR } from './constants.js';\n\nexport const useGlobalHeader = (props: DSGlobalHeaderT.Props) => {\n const [showIconOnly, setShowIconOnly] = useState<boolean>(false);\n\n const propsWithDefaults = useMemoMergePropsWithDefault<DSGlobalHeaderT.InternalProps>(props, defaultProps);\n\n const instanceUID = useMemo(() => uid(5), []);\n\n const globalHeaderToolbarGrid = useMemo(\n () => new Array(propsWithDefaults.toolbar.length).fill('auto') as string[],\n [propsWithDefaults.toolbar],\n );\n\n const ownerProps = useOwnerProps(props);\n\n const fontDetector = useFontsizeMedia({\n largeFont: FONT_DETECTOR.LARGE,\n mediumFont: FONT_DETECTOR.MEDIUM,\n smallFont: FONT_DETECTOR.SMALL,\n });\n\n return useMemo(\n () => ({\n props: propsWithDefaults,\n showIconOnly,\n setShowIconOnly,\n instanceUID,\n globalHeaderToolbarGrid,\n fontDetector,\n ownerProps,\n }),\n [propsWithDefaults, ownerProps, showIconOnly, instanceUID, fontDetector, globalHeaderToolbarGrid],\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,wBAAwB;AACjC,SAAS,8BAA8B,qBAAqB;AAC5D,SAAS,SAAS,gBAAgB;AAClC,SAAS,WAAW;AACpB,SAAS,oBAA0C;AACnD,SAAS,qBAAqB;AAEvB,MAAM,kBAAkB,CAAC,UAAiC;AAC/D,QAAM,CAAC,cAAc,eAAe,IAAI,SAAkB,KAAK;AAE/D,QAAM,oBAAoB,6BAA4D,OAAO,YAAY;AAEzG,QAAM,cAAc,QAAQ,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;AAE5C,QAAM,0BAA0B;AAAA,IAC9B,MAAM,IAAI,MAAM,kBAAkB,QAAQ,MAAM,EAAE,KAAK,MAAM;AAAA,IAC7D,CAAC,kBAAkB,OAAO;AAAA,EAC5B;AAEA,QAAM,aAAa,cAAc,KAAK;AAEtC,QAAM,eAAe,iBAAiB;AAAA,IACpC,WAAW,cAAc;AAAA,IACzB,YAAY,cAAc;AAAA,IAC1B,WAAW,cAAc;AAAA,EAC3B,CAAC;AAED,SAAO;AAAA,IACL,OAAO;AAAA,MACL,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,mBAAmB,YAAY,cAAc,aAAa,cAAc,uBAAuB;AAAA,EAClG;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useFontsizeMedia } from '@elliemae/ds-hooks-fontsize-media';\nimport { useMemoMergePropsWithDefault, useOwnerProps } from '@elliemae/ds-props-helpers';\nimport { useMemo, useState } from 'react';\nimport { uid } from 'uid';\nimport { defaultProps, type DSGlobalHeaderT } from '../react-desc-prop-types.js';\nimport { FONT_DETECTOR } from '../constants/index.js';\n\nexport const useGlobalHeader = (props: DSGlobalHeaderT.Props) => {\n const [showIconOnly, setShowIconOnly] = useState<boolean>(false);\n\n const propsWithDefaults = useMemoMergePropsWithDefault<DSGlobalHeaderT.InternalProps>(props, defaultProps);\n\n const instanceUID = useMemo(() => `ds-global-header-${uid(5)}`, []);\n\n const globalHeaderToolbarGrid = useMemo(\n () => new Array(propsWithDefaults.toolbar.length).fill('auto') as string[],\n [propsWithDefaults.toolbar],\n );\n\n const ownerProps = useOwnerProps(props);\n\n const fontDetector = useFontsizeMedia({\n largeFont: FONT_DETECTOR.LARGE,\n mediumFont: FONT_DETECTOR.MEDIUM,\n smallFont: FONT_DETECTOR.SMALL,\n });\n\n return useMemo(\n () => ({\n props: propsWithDefaults,\n showIconOnly,\n setShowIconOnly,\n instanceUID,\n globalHeaderToolbarGrid,\n fontDetector,\n ownerProps,\n }),\n [propsWithDefaults, ownerProps, showIconOnly, instanceUID, fontDetector, globalHeaderToolbarGrid],\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,wBAAwB;AACjC,SAAS,8BAA8B,qBAAqB;AAC5D,SAAS,SAAS,gBAAgB;AAClC,SAAS,WAAW;AACpB,SAAS,oBAA0C;AACnD,SAAS,qBAAqB;AAEvB,MAAM,kBAAkB,CAAC,UAAiC;AAC/D,QAAM,CAAC,cAAc,eAAe,IAAI,SAAkB,KAAK;AAE/D,QAAM,oBAAoB,6BAA4D,OAAO,YAAY;AAEzG,QAAM,cAAc,QAAQ,MAAM,oBAAoB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;AAElE,QAAM,0BAA0B;AAAA,IAC9B,MAAM,IAAI,MAAM,kBAAkB,QAAQ,MAAM,EAAE,KAAK,MAAM;AAAA,IAC7D,CAAC,kBAAkB,OAAO;AAAA,EAC5B;AAEA,QAAM,aAAa,cAAc,KAAK;AAEtC,QAAM,eAAe,iBAAiB;AAAA,IACpC,WAAW,cAAc;AAAA,IACzB,YAAY,cAAc;AAAA,IAC1B,WAAW,cAAc;AAAA,EAC3B,CAAC;AAED,SAAO;AAAA,IACL,OAAO;AAAA,MACL,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,mBAAmB,YAAY,cAAc,aAAa,cAAc,uBAAuB;AAAA,EAClG;AACF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,146 @@
1
+ import * as React from "react";
2
+ import { slotObjectToDataTestIds } from "@elliemae/ds-system";
3
+ const DSGlobalHeaderName = "DSGlobalheader";
4
+ const DSGlobalHeaderSlots = {
5
+ CONTAINER: "root",
6
+ LOGO: {
7
+ CONTAINER: "logo-container"
8
+ },
9
+ BREADCRUMB: {
10
+ CONTAINER: "breadcrumb-container",
11
+ PIPE: "breadcrumb-pipe",
12
+ CHEVRON: "breadcrumb-chevron",
13
+ LIST: "breadcrumb-list",
14
+ ITEM: "breadcrumb-item",
15
+ ITEM_LINK: "breadcrumb-item-link",
16
+ ITEM_LINK_LABEL: "breadcrumb-item-link-label"
17
+ },
18
+ MENUBAR: {
19
+ CONTAINER: "menubar-container",
20
+ LIST: "menubar-list",
21
+ ITEM: "menubar-item",
22
+ ITEM_BUTTON: "menubar-item-button",
23
+ POPUP_MENU: {
24
+ LIST: "menubar-item-popupmenu-list",
25
+ ITEM: "menubar-item-popupmenu-item",
26
+ ITEM_BUTTON: "menubar-item-popupmenu-item-button",
27
+ SEPARATOR: "menubar-item-popupmenu-separator",
28
+ ITEM_BUTTON_LABEL: "menubar-item-popupmenu-item-label"
29
+ },
30
+ SEARCH_TOGGLE: {
31
+ CONTAINER: "menubar-item-searchtoggle-container"
32
+ }
33
+ }
34
+ };
35
+ const DSGlobalHeaderSlotsFlattened = {
36
+ CONTAINER: DSGlobalHeaderSlots.CONTAINER,
37
+ LOGO_CONTAINER: DSGlobalHeaderSlots.LOGO.CONTAINER,
38
+ BREADCRUMB_CONTAINER: DSGlobalHeaderSlots.BREADCRUMB.CONTAINER,
39
+ BREADCRUMB_PIPE: DSGlobalHeaderSlots.BREADCRUMB.PIPE,
40
+ BREADCRUMB_CHEVRON: DSGlobalHeaderSlots.BREADCRUMB.CHEVRON,
41
+ BREADCRUMB_LIST: DSGlobalHeaderSlots.BREADCRUMB.LIST,
42
+ BREADCRUMB_ITEM: DSGlobalHeaderSlots.BREADCRUMB.ITEM,
43
+ BREADCRUMB_ITEM_LINK: DSGlobalHeaderSlots.BREADCRUMB.ITEM_LINK,
44
+ BREADCRUMB_ITEM_LINK_LABEL: DSGlobalHeaderSlots.BREADCRUMB.ITEM_LINK_LABEL,
45
+ MENUBAR_CONTAINER: DSGlobalHeaderSlots.MENUBAR.CONTAINER,
46
+ MENUBAR_LIST: DSGlobalHeaderSlots.MENUBAR.LIST,
47
+ MENUBAR_ITEM: DSGlobalHeaderSlots.MENUBAR.ITEM,
48
+ MENUBAR_ITEM_BUTTON: DSGlobalHeaderSlots.MENUBAR.ITEM_BUTTON,
49
+ MENUBAR_POPUP_MENU_LIST: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.LIST,
50
+ MENUBAR_POPUP_MENU_ITEM: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.ITEM,
51
+ MENUBAR_POPUP_MENU_ITEM_BUTTON: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.ITEM_BUTTON,
52
+ MENUBAR_POPUP_MENU_SEPARATOR: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.SEPARATOR,
53
+ MENUBAR_POPUP_MENU_ITEM_BUTTON_LABEL: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL,
54
+ MENUBAR_SEARCH_TOGGLE_CONTAINER: DSGlobalHeaderSlots.MENUBAR.SEARCH_TOGGLE.CONTAINER
55
+ };
56
+ const DSGlobalHeaderDatatestid = {
57
+ CONTAINER: "ds-global-header",
58
+ LOGO: {
59
+ CONTAINER: "ds-global-header-logo-container"
60
+ },
61
+ BREADCRUMB: {
62
+ CHEVRON: "ds-globalheader-breadcrumb-chevron",
63
+ CONTAINER: "ds-global-header-breadcrumb-container",
64
+ PIPE: "ds-global-header-breadcrumb-pipe",
65
+ LIST: "ds-global-header-breadcrumb-list",
66
+ ITEM: "ds-global-header-breadcrumb-item",
67
+ ITEM_LINK: "gh-breadcrumb-btn",
68
+ ITEM_LINK_LABEL: "ds-global-header-breadcrumb-item-link-label"
69
+ },
70
+ MENUBAR: {
71
+ CONTAINER: "ds-global-header-menubar-container",
72
+ LIST: "ds-global-header-menubar-list",
73
+ ITEM: "ds-global-header-menubar-item",
74
+ ITEM_BUTTON: "gh-toolbar-item",
75
+ POPUP_MENU: {
76
+ LIST: "ds-global-header-menubar-item-popupmenu-list",
77
+ ITEM: "ds-global-header-menubar-item-popupmenu-item",
78
+ ITEM_BUTTON: "ds-global-header-menubar-item-popupmenu-item-button",
79
+ ITEM_BUTTON_LABEL: "ds-global-header-menubar-item-popupmenu-item-label",
80
+ SEPARATOR: "ds-global-header-menubar-item-popupmenu-separator"
81
+ },
82
+ SEARCH_TOGGLE: {
83
+ CONTAINER: "ds-global-header-menubar-item-searchtoggle-container",
84
+ ITEM_BUTTON: "gh-toolbar-item"
85
+ }
86
+ }
87
+ };
88
+ const DSGlobalHeaderDatatestidFlattened = {
89
+ CONTAINER: "ds-global-header",
90
+ LOGO_CONTAINER: "ds-global-header-logo-container",
91
+ BREADCRUMB_CONTAINER: "ds-global-header-breadcrumb-container",
92
+ BREADCRUMB_PIPE: "ds-global-header-breadcrumb-pipe",
93
+ BREADCRUMB_LIST: "ds-global-header-breadcrumb-list",
94
+ BREADCRUMB_ITEM: "ds-global-header-breadcrumb-item",
95
+ BREADCRUMB_ITEM_LINK: "gh-breadcrumb-btn",
96
+ BREADCRUMB_ITEM_LINK_LABEL: "ds-global-header-breadcrumb-item-link-label",
97
+ BREADCRUMB_CHEVRON: "ds-globalheader-breadcrumb-chevron",
98
+ MENUBAR_CONTAINER: "ds-global-header-menubar-container",
99
+ MENUBAR_LIST: "ds-global-header-menubar-list",
100
+ MENUBAR_ITEM: "ds-global-header-menubar-item",
101
+ MENUBAR_ITEM_BUTTON: "gh-toolbar-item",
102
+ MENUBAR_POPUP_MENU_LIST: "ds-global-header-menubar-item-popupmenu-list",
103
+ MENUBAR_POPUP_MENU_ITEM: "ds-global-header-menubar-item-popupmenu-item",
104
+ MENUBAR_POPUP_MENU_ITEM_BUTTON: "ds-global-header-menubar-item-popupmenu-item-button",
105
+ MENUBAR_POPUP_MENU_ITEM_LABEL: "ds-global-header-menubar-item-popupmenu-item-label",
106
+ MENUBAR_POPUP_MENU_SEPARATOR: "ds-global-header-menubar-item-popupmenu-separator",
107
+ MENUBAR_SEARCH_TOGGLE_CONTAINER: "ds-global-header-menubar-item-searchtoggle-container",
108
+ MENUBAR_SEARCH_TOGGLE_ITEM_BUTTON: "gh-toolbar-item"
109
+ };
110
+ const FONT_DETECTOR = {
111
+ SMALL: 1,
112
+ MEDIUM: 2,
113
+ LARGE: 3
114
+ };
115
+ const GLOBAL_HEADER_SLOTS = {
116
+ ...DSGlobalHeaderSlotsFlattened,
117
+ // the following slots are completely new, added to the component post BREAKING CHANGES
118
+ // https://confluence.ice.com/x/6SqFPQ
119
+ // [Breaking Changes] Global Header - Search Toggle
120
+ // hence, given they are new, we are not adding them to the legacy variables, we are not going to overwrite the auto-generation pattern.
121
+ SEARCH_TOGGLE_SPINBUTTON_WRAPPER: "searchtoggle-spinbutton-wrapper",
122
+ SEARCH_TOGGLE_SPINBUTTON_TEXT: "searchtoggle-spinbutton-text",
123
+ SEARCH_TOGGLE_SPINBUTTON_SEPARATOR: "searchtoggle-spinbutton-separator",
124
+ SEARCH_TOGGLE_SPINBUTTON_PREV: "searchtoggle-spinbutton-prev",
125
+ SEARCH_TOGGLE_SPINBUTTON_NEXT: "searchtoggle-spinbutton-next",
126
+ SEARCH_TOGGLE_TEXTINPUT: "searchtoggle-textinput",
127
+ SEARCH_TOGGLE_TRIGGER_BUTTON: "searchtoggle-trigger-button",
128
+ SEARCH_TOGGLE_EXPANDED_CONTENT_WRAPPER: "searchtoggle-expanded-content-wrapper"
129
+ };
130
+ const GLOBAL_HEADER_DATA_TESTID = {
131
+ ...slotObjectToDataTestIds(DSGlobalHeaderName, GLOBAL_HEADER_SLOTS),
132
+ // this are the "hardcoded" data-testid that maps to the slots in the component that we keep as they were for backwards compatibility
133
+ ...DSGlobalHeaderDatatestidFlattened,
134
+ SEARCH_TOGGLE_TRIGGER_BUTTON: "gh-toolbar-item"
135
+ };
136
+ export {
137
+ DSGlobalHeaderDatatestid,
138
+ DSGlobalHeaderDatatestidFlattened,
139
+ DSGlobalHeaderName,
140
+ DSGlobalHeaderSlots,
141
+ DSGlobalHeaderSlotsFlattened,
142
+ FONT_DETECTOR,
143
+ GLOBAL_HEADER_DATA_TESTID,
144
+ GLOBAL_HEADER_SLOTS
145
+ };
146
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/constants/index.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSGlobalHeaderName = 'DSGlobalheader';\n\n/* ************************************************************************************************\n * LEGACY VARIABLES\n * ************************************************************************************************\n * WE KEEP THIS AROUND TO AVOID BREAKING CHANGES\n * THE NEW VARIABLES INHERIT FROM THIS TO AVOID BREAKING CHANGES!!!\n ************************************************************************************************ */\n\n/**\n * @deprecated - use GLOBAL_HEADER_SLOTS instead, it containse the full list and is flat.\n */\nexport const DSGlobalHeaderSlots = {\n CONTAINER: 'root',\n LOGO: {\n CONTAINER: 'logo-container',\n },\n BREADCRUMB: {\n CONTAINER: 'breadcrumb-container',\n PIPE: 'breadcrumb-pipe',\n CHEVRON: 'breadcrumb-chevron',\n LIST: 'breadcrumb-list',\n ITEM: 'breadcrumb-item',\n ITEM_LINK: 'breadcrumb-item-link',\n ITEM_LINK_LABEL: 'breadcrumb-item-link-label',\n },\n MENUBAR: {\n CONTAINER: 'menubar-container',\n LIST: 'menubar-list',\n ITEM: 'menubar-item',\n ITEM_BUTTON: 'menubar-item-button',\n POPUP_MENU: {\n LIST: 'menubar-item-popupmenu-list',\n ITEM: 'menubar-item-popupmenu-item',\n ITEM_BUTTON: 'menubar-item-popupmenu-item-button',\n SEPARATOR: 'menubar-item-popupmenu-separator',\n ITEM_BUTTON_LABEL: 'menubar-item-popupmenu-item-label',\n },\n SEARCH_TOGGLE: {\n CONTAINER: 'menubar-item-searchtoggle-container',\n },\n },\n};\n/**\n * @deprecated - use GLOBAL_HEADER_SLOTS instead, it containse the full list.\n */\nexport const DSGlobalHeaderSlotsFlattened = {\n CONTAINER: DSGlobalHeaderSlots.CONTAINER,\n LOGO_CONTAINER: DSGlobalHeaderSlots.LOGO.CONTAINER,\n BREADCRUMB_CONTAINER: DSGlobalHeaderSlots.BREADCRUMB.CONTAINER,\n BREADCRUMB_PIPE: DSGlobalHeaderSlots.BREADCRUMB.PIPE,\n BREADCRUMB_CHEVRON: DSGlobalHeaderSlots.BREADCRUMB.CHEVRON,\n BREADCRUMB_LIST: DSGlobalHeaderSlots.BREADCRUMB.LIST,\n BREADCRUMB_ITEM: DSGlobalHeaderSlots.BREADCRUMB.ITEM,\n BREADCRUMB_ITEM_LINK: DSGlobalHeaderSlots.BREADCRUMB.ITEM_LINK,\n BREADCRUMB_ITEM_LINK_LABEL: DSGlobalHeaderSlots.BREADCRUMB.ITEM_LINK_LABEL,\n MENUBAR_CONTAINER: DSGlobalHeaderSlots.MENUBAR.CONTAINER,\n MENUBAR_LIST: DSGlobalHeaderSlots.MENUBAR.LIST,\n MENUBAR_ITEM: DSGlobalHeaderSlots.MENUBAR.ITEM,\n MENUBAR_ITEM_BUTTON: DSGlobalHeaderSlots.MENUBAR.ITEM_BUTTON,\n MENUBAR_POPUP_MENU_LIST: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.LIST,\n MENUBAR_POPUP_MENU_ITEM: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.ITEM,\n MENUBAR_POPUP_MENU_ITEM_BUTTON: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.ITEM_BUTTON,\n MENUBAR_POPUP_MENU_SEPARATOR: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.SEPARATOR,\n MENUBAR_POPUP_MENU_ITEM_BUTTON_LABEL: DSGlobalHeaderSlots.MENUBAR.POPUP_MENU.ITEM_BUTTON_LABEL,\n MENUBAR_SEARCH_TOGGLE_CONTAINER: DSGlobalHeaderSlots.MENUBAR.SEARCH_TOGGLE.CONTAINER,\n};\n// maintain the same order as the original object\n// for slots showcase purpose\n/**\n * @deprecated - use GLOBAL_HEADER_DATA_TESTID instead, it containse the full list and is flat.\n */\nexport const DSGlobalHeaderDatatestid = {\n CONTAINER: 'ds-global-header',\n LOGO: {\n CONTAINER: 'ds-global-header-logo-container',\n },\n BREADCRUMB: {\n CHEVRON: 'ds-globalheader-breadcrumb-chevron',\n CONTAINER: 'ds-global-header-breadcrumb-container',\n PIPE: 'ds-global-header-breadcrumb-pipe',\n LIST: 'ds-global-header-breadcrumb-list',\n ITEM: 'ds-global-header-breadcrumb-item',\n ITEM_LINK: 'gh-breadcrumb-btn',\n ITEM_LINK_LABEL: 'ds-global-header-breadcrumb-item-link-label',\n },\n MENUBAR: {\n CONTAINER: 'ds-global-header-menubar-container',\n LIST: 'ds-global-header-menubar-list',\n ITEM: 'ds-global-header-menubar-item',\n ITEM_BUTTON: 'gh-toolbar-item',\n POPUP_MENU: {\n LIST: 'ds-global-header-menubar-item-popupmenu-list',\n ITEM: 'ds-global-header-menubar-item-popupmenu-item',\n ITEM_BUTTON: 'ds-global-header-menubar-item-popupmenu-item-button',\n ITEM_BUTTON_LABEL: 'ds-global-header-menubar-item-popupmenu-item-label',\n SEPARATOR: 'ds-global-header-menubar-item-popupmenu-separator',\n },\n SEARCH_TOGGLE: {\n CONTAINER: 'ds-global-header-menubar-item-searchtoggle-container',\n ITEM_BUTTON: 'gh-toolbar-item',\n },\n },\n};\n\n// maintain the same order as the original object\n// for slots showcase purpose\n/**\n * @deprecated - use GLOBAL_HEADER_DATA_TESTID instead, it containse the full list\n */\nexport const DSGlobalHeaderDatatestidFlattened = {\n CONTAINER: 'ds-global-header',\n LOGO_CONTAINER: 'ds-global-header-logo-container',\n BREADCRUMB_CONTAINER: 'ds-global-header-breadcrumb-container',\n BREADCRUMB_PIPE: 'ds-global-header-breadcrumb-pipe',\n BREADCRUMB_LIST: 'ds-global-header-breadcrumb-list',\n BREADCRUMB_ITEM: 'ds-global-header-breadcrumb-item',\n BREADCRUMB_ITEM_LINK: 'gh-breadcrumb-btn',\n BREADCRUMB_ITEM_LINK_LABEL: 'ds-global-header-breadcrumb-item-link-label',\n BREADCRUMB_CHEVRON: 'ds-globalheader-breadcrumb-chevron',\n MENUBAR_CONTAINER: 'ds-global-header-menubar-container',\n MENUBAR_LIST: 'ds-global-header-menubar-list',\n MENUBAR_ITEM: 'ds-global-header-menubar-item',\n MENUBAR_ITEM_BUTTON: 'gh-toolbar-item',\n MENUBAR_POPUP_MENU_LIST: 'ds-global-header-menubar-item-popupmenu-list',\n MENUBAR_POPUP_MENU_ITEM: 'ds-global-header-menubar-item-popupmenu-item',\n MENUBAR_POPUP_MENU_ITEM_BUTTON: 'ds-global-header-menubar-item-popupmenu-item-button',\n MENUBAR_POPUP_MENU_ITEM_LABEL: 'ds-global-header-menubar-item-popupmenu-item-label',\n MENUBAR_POPUP_MENU_SEPARATOR: 'ds-global-header-menubar-item-popupmenu-separator',\n MENUBAR_SEARCH_TOGGLE_CONTAINER: 'ds-global-header-menubar-item-searchtoggle-container',\n MENUBAR_SEARCH_TOGGLE_ITEM_BUTTON: 'gh-toolbar-item',\n};\n\n/* ************************************************************************************************\n * From here on our it's the \"new\" convention, but adapted to inherit from the legacy variables\n ************************************************************************************************ */\nexport const FONT_DETECTOR = {\n SMALL: 1,\n MEDIUM: 2,\n LARGE: 3,\n} as const;\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const GLOBAL_HEADER_SLOTS = {\n ...DSGlobalHeaderSlotsFlattened,\n // the following slots are completely new, added to the component post BREAKING CHANGES\n // https://confluence.ice.com/x/6SqFPQ\n // [Breaking Changes] Global Header - Search Toggle\n // hence, given they are new, we are not adding them to the legacy variables, we are not going to overwrite the auto-generation pattern.\n SEARCH_TOGGLE_SPINBUTTON_WRAPPER: 'searchtoggle-spinbutton-wrapper',\n SEARCH_TOGGLE_SPINBUTTON_TEXT: 'searchtoggle-spinbutton-text',\n SEARCH_TOGGLE_SPINBUTTON_SEPARATOR: 'searchtoggle-spinbutton-separator',\n SEARCH_TOGGLE_SPINBUTTON_PREV: 'searchtoggle-spinbutton-prev',\n SEARCH_TOGGLE_SPINBUTTON_NEXT: 'searchtoggle-spinbutton-next',\n SEARCH_TOGGLE_TEXTINPUT: 'searchtoggle-textinput',\n SEARCH_TOGGLE_TRIGGER_BUTTON: 'searchtoggle-trigger-button',\n SEARCH_TOGGLE_EXPANDED_CONTENT_WRAPPER: 'searchtoggle-expanded-content-wrapper',\n} as const;\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const GLOBAL_HEADER_DATA_TESTID = {\n ...slotObjectToDataTestIds(DSGlobalHeaderName, GLOBAL_HEADER_SLOTS),\n // this are the \"hardcoded\" data-testid that maps to the slots in the component that we keep as they were for backwards compatibility\n ...DSGlobalHeaderDatatestidFlattened,\n SEARCH_TOGGLE_TRIGGER_BUTTON: 'gh-toolbar-item',\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,+BAA+B;AAEjC,MAAM,qBAAqB;AAY3B,MAAM,sBAAsB;AAAA,EACjC,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,WAAW;AAAA,EACb;AAAA,EACA,YAAY;AAAA,IACV,WAAW;AAAA,IACX,MAAM;AAAA,IACN,SAAS;AAAA,IACT,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,EACnB;AAAA,EACA,SAAS;AAAA,IACP,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,WAAW;AAAA,MACX,mBAAmB;AAAA,IACrB;AAAA,IACA,eAAe;AAAA,MACb,WAAW;AAAA,IACb;AAAA,EACF;AACF;AAIO,MAAM,+BAA+B;AAAA,EAC1C,WAAW,oBAAoB;AAAA,EAC/B,gBAAgB,oBAAoB,KAAK;AAAA,EACzC,sBAAsB,oBAAoB,WAAW;AAAA,EACrD,iBAAiB,oBAAoB,WAAW;AAAA,EAChD,oBAAoB,oBAAoB,WAAW;AAAA,EACnD,iBAAiB,oBAAoB,WAAW;AAAA,EAChD,iBAAiB,oBAAoB,WAAW;AAAA,EAChD,sBAAsB,oBAAoB,WAAW;AAAA,EACrD,4BAA4B,oBAAoB,WAAW;AAAA,EAC3D,mBAAmB,oBAAoB,QAAQ;AAAA,EAC/C,cAAc,oBAAoB,QAAQ;AAAA,EAC1C,cAAc,oBAAoB,QAAQ;AAAA,EAC1C,qBAAqB,oBAAoB,QAAQ;AAAA,EACjD,yBAAyB,oBAAoB,QAAQ,WAAW;AAAA,EAChE,yBAAyB,oBAAoB,QAAQ,WAAW;AAAA,EAChE,gCAAgC,oBAAoB,QAAQ,WAAW;AAAA,EACvE,8BAA8B,oBAAoB,QAAQ,WAAW;AAAA,EACrE,sCAAsC,oBAAoB,QAAQ,WAAW;AAAA,EAC7E,iCAAiC,oBAAoB,QAAQ,cAAc;AAC7E;AAMO,MAAM,2BAA2B;AAAA,EACtC,WAAW;AAAA,EACX,MAAM;AAAA,IACJ,WAAW;AAAA,EACb;AAAA,EACA,YAAY;AAAA,IACV,SAAS;AAAA,IACT,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW;AAAA,IACX,iBAAiB;AAAA,EACnB;AAAA,EACA,SAAS;AAAA,IACP,WAAW;AAAA,IACX,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY;AAAA,MACV,MAAM;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,WAAW;AAAA,IACb;AAAA,IACA,eAAe;AAAA,MACb,WAAW;AAAA,MACX,aAAa;AAAA,IACf;AAAA,EACF;AACF;AAOO,MAAM,oCAAoC;AAAA,EAC/C,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,4BAA4B;AAAA,EAC5B,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,yBAAyB;AAAA,EACzB,yBAAyB;AAAA,EACzB,gCAAgC;AAAA,EAChC,+BAA+B;AAAA,EAC/B,8BAA8B;AAAA,EAC9B,iCAAiC;AAAA,EACjC,mCAAmC;AACrC;AAKO,MAAM,gBAAgB;AAAA,EAC3B,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AACT;AAGO,MAAM,sBAAsB;AAAA,EACjC,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA,EAKH,kCAAkC;AAAA,EAClC,+BAA+B;AAAA,EAC/B,oCAAoC;AAAA,EACpC,+BAA+B;AAAA,EAC/B,+BAA+B;AAAA,EAC/B,yBAAyB;AAAA,EACzB,8BAA8B;AAAA,EAC9B,wCAAwC;AAC1C;AAEO,MAAM,4BAA4B;AAAA,EACvC,GAAG,wBAAwB,oBAAoB,mBAAmB;AAAA;AAAA,EAElE,GAAG;AAAA,EACH,8BAA8B;AAChC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,30 @@
1
+ import * as React from "react";
2
+ import React2, { useEffect } from "react";
3
+ function useOnClickOutside(ref, cb) {
4
+ const cbRef = React2.useRef(cb);
5
+ useEffect(() => {
6
+ cbRef.current = cb;
7
+ }, [cb]);
8
+ useEffect(() => {
9
+ if (!ref) {
10
+ return () => {
11
+ };
12
+ }
13
+ const listener = (event) => {
14
+ const target = event.target;
15
+ if (!target) return;
16
+ if (ref.contains(target)) return;
17
+ cbRef.current(event);
18
+ };
19
+ document.addEventListener("mousedown", listener, true);
20
+ document.addEventListener("touchstart", listener, true);
21
+ return () => {
22
+ document.removeEventListener("mousedown", listener, true);
23
+ document.removeEventListener("touchstart", listener, true);
24
+ };
25
+ }, [ref]);
26
+ }
27
+ export {
28
+ useOnClickOutside
29
+ };
30
+ //# sourceMappingURL=useOnClickOutside.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useOnClickOutside.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useEffect } from 'react';\n\nexport function useOnClickOutside<T extends Node>(ref: T | null, cb: (event: Event) => void): void {\n const cbRef = React.useRef(cb);\n\n useEffect(() => {\n cbRef.current = cb;\n }, [cb]);\n\n useEffect(() => {\n if (!ref) {\n return () => {};\n }\n\n const listener = (event: MouseEvent | TouchEvent) => {\n const target = event.target as Node | null;\n if (!target) return;\n\n if (ref.contains(target)) return;\n\n cbRef.current(event);\n };\n\n document.addEventListener('mousedown', listener, true);\n document.addEventListener('touchstart', listener, true);\n\n return () => {\n document.removeEventListener('mousedown', listener, true);\n document.removeEventListener('touchstart', listener, true);\n };\n }, [ref]);\n}\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,UAAS,iBAAiB;AAE1B,SAAS,kBAAkC,KAAe,IAAkC;AACjG,QAAM,QAAQA,OAAM,OAAO,EAAE;AAE7B,YAAU,MAAM;AACd,UAAM,UAAU;AAAA,EAClB,GAAG,CAAC,EAAE,CAAC;AAEP,YAAU,MAAM;AACd,QAAI,CAAC,KAAK;AACR,aAAO,MAAM;AAAA,MAAC;AAAA,IAChB;AAEA,UAAM,WAAW,CAAC,UAAmC;AACnD,YAAM,SAAS,MAAM;AACrB,UAAI,CAAC,OAAQ;AAEb,UAAI,IAAI,SAAS,MAAM,EAAG;AAE1B,YAAM,QAAQ,KAAK;AAAA,IACrB;AAEA,aAAS,iBAAiB,aAAa,UAAU,IAAI;AACrD,aAAS,iBAAiB,cAAc,UAAU,IAAI;AAEtD,WAAO,MAAM;AACX,eAAS,oBAAoB,aAAa,UAAU,IAAI;AACxD,eAAS,oBAAoB,cAAc,UAAU,IAAI;AAAA,IAC3D;AAAA,EACF,GAAG,CAAC,GAAG,CAAC;AACV;",
6
+ "names": ["React"]
7
+ }
package/dist/esm/index.js CHANGED
@@ -5,10 +5,12 @@ import { DSGlobalHeader as DSGlobalHeader2, DSGlobalHeaderWithSchema, GlobalHead
5
5
  import {
6
6
  DSGlobalHeaderDatatestid,
7
7
  DSGlobalHeaderDatatestidFlattened,
8
- DSGlobalHeaderName,
9
8
  DSGlobalHeaderSlots,
10
- DSGlobalHeaderSlotsFlattened
11
- } from "./exported-related/index.js";
9
+ DSGlobalHeaderSlotsFlattened,
10
+ DSGlobalHeaderName,
11
+ GLOBAL_HEADER_SLOTS,
12
+ GLOBAL_HEADER_DATA_TESTID
13
+ } from "./constants/index.js";
12
14
  export {
13
15
  DSGlobalHeader2 as DSGlobalHeader,
14
16
  DSGlobalHeaderDatatestid,
@@ -17,6 +19,8 @@ export {
17
19
  DSGlobalHeaderSlots,
18
20
  DSGlobalHeaderSlotsFlattened,
19
21
  DSGlobalHeaderWithSchema,
22
+ GLOBAL_HEADER_DATA_TESTID,
23
+ GLOBAL_HEADER_SLOTS,
20
24
  GlobalHeader,
21
25
  index_default as default
22
26
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/index.ts"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { DSGlobalHeader } from './DSGlobalHeader.js';\n\nexport default DSGlobalHeader;\nexport { DSGlobalHeader, DSGlobalHeaderWithSchema, GlobalHeader } from './DSGlobalHeader.js';\nexport {\n DSGlobalHeaderDatatestid,\n DSGlobalHeaderDatatestidFlattened,\n DSGlobalHeaderName,\n DSGlobalHeaderSlots,\n DSGlobalHeaderSlotsFlattened,\n} from './exported-related/index.js';\nexport type { DSGlobalHeaderT } from './react-desc-prop-types.js';\nexport type { DSGlobalHeaderInternalsT } from './sharedTypes.js';\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,sBAAsB;AAE/B,IAAO,gBAAQ;AACf,SAAS,kBAAAA,iBAAgB,0BAA0B,oBAAoB;AACvE;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { DSGlobalHeader } from './DSGlobalHeader.js';\n\nexport default DSGlobalHeader;\nexport { DSGlobalHeader, DSGlobalHeaderWithSchema, GlobalHeader } from './DSGlobalHeader.js';\nexport {\n // LEGACY VARIABLES\n DSGlobalHeaderDatatestid,\n DSGlobalHeaderDatatestidFlattened,\n DSGlobalHeaderSlots,\n DSGlobalHeaderSlotsFlattened,\n // NEW PATTERNS INHERITING FROM THE LEGACY VARIABLES:\n DSGlobalHeaderName,\n GLOBAL_HEADER_SLOTS,\n GLOBAL_HEADER_DATA_TESTID,\n} from './constants/index.js';\nexport type { DSGlobalHeaderT } from './react-desc-prop-types.js';\nexport type { DSGlobalHeaderInternalsT } from './sharedTypes.js';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,sBAAsB;AAE/B,IAAO,gBAAQ;AACf,SAAS,kBAAAA,iBAAgB,0BAA0B,oBAAoB;AACvE;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,OACK;",
6
6
  "names": ["DSGlobalHeader"]
7
7
  }
@@ -5,7 +5,7 @@ import { getGlobalAttributes } from "@elliemae/ds-props-helpers";
5
5
  import { StyledBreadcrumbContainer, StyledPipe, StyledBreadcrumbList } from "./styles.js";
6
6
  import { useGlobalHeaderBreadcrumb } from "./useGlobalHeaderBreadcrumb.js";
7
7
  import { PureBreadcrumb } from "./PureBreadcrumb.js";
8
- import { DSGlobalHeaderDatatestid } from "../../exported-related/index.js";
8
+ import { GLOBAL_HEADER_DATA_TESTID } from "../../constants/index.js";
9
9
  const GlobalHeaderBreadcrumb = () => {
10
10
  const { breadcrumb, CustomNavigation, showIconOnly, flexRegionRef, handleOnKeyDown, instanceUID, ownerProps } = useGlobalHeaderBreadcrumb();
11
11
  const layoutMode = useGetLayoutMode();
@@ -19,7 +19,7 @@ const GlobalHeaderBreadcrumb = () => {
19
19
  "aria-label": "breadcrumb",
20
20
  cols: ["auto", "auto", "1fr"],
21
21
  forwardedAs: "nav",
22
- "data-testid": DSGlobalHeaderDatatestid.BREADCRUMB.CONTAINER,
22
+ "data-testid": GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_CONTAINER,
23
23
  ...ownerProps,
24
24
  children: [
25
25
  /* @__PURE__ */ jsx(
@@ -27,11 +27,11 @@ const GlobalHeaderBreadcrumb = () => {
27
27
  {
28
28
  showIconOnly: smalScreen,
29
29
  "aria-hidden": true,
30
- "data-testid": DSGlobalHeaderDatatestid.BREADCRUMB.PIPE,
30
+ "data-testid": GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_PIPE,
31
31
  ...ownerProps
32
32
  }
33
33
  ),
34
- /* @__PURE__ */ jsx(StyledBreadcrumbList, { "data-testid": DSGlobalHeaderDatatestid.BREADCRUMB.LIST, ...ownerProps, children: CustomNavigation !== void 0 ? /* @__PURE__ */ jsx(CustomNavigation, {}) : breadcrumb?.map((item) => {
34
+ /* @__PURE__ */ jsx(StyledBreadcrumbList, { "data-testid": GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_LIST, ...ownerProps, children: CustomNavigation !== void 0 ? /* @__PURE__ */ jsx(CustomNavigation, {}) : breadcrumb?.map((item) => {
35
35
  const { onClick, isSelected, label, hasNext, ...rest } = item;
36
36
  return /* @__PURE__ */ jsx(
37
37
  PureBreadcrumb,
@@ -42,7 +42,8 @@ const GlobalHeaderBreadcrumb = () => {
42
42
  onKeyDown: onClick && handleOnKeyDown(onClick),
43
43
  ...getGlobalAttributes(rest),
44
44
  onClick,
45
- fullBreadcrumbListLength: breadcrumb.length
45
+ fullBreadcrumbListLength: breadcrumb.length,
46
+ ownerProps
46
47
  },
47
48
  `${instanceUID}-breadcrumb-item-${label}`
48
49
  );
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Breadcrumb/GlobalHeaderBreadcrumb.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { useGetLayoutMode } from '@elliemae/ds-system';\nimport { getGlobalAttributes } from '@elliemae/ds-props-helpers';\nimport { StyledBreadcrumbContainer, StyledPipe, StyledBreadcrumbList } from './styles.js';\nimport { useGlobalHeaderBreadcrumb } from './useGlobalHeaderBreadcrumb.js';\nimport { PureBreadcrumb } from './PureBreadcrumb.js';\nimport { DSGlobalHeaderDatatestid } from '../../exported-related/index.js';\n\nexport const GlobalHeaderBreadcrumb = (): JSX.Element => {\n const { breadcrumb, CustomNavigation, showIconOnly, flexRegionRef, handleOnKeyDown, instanceUID, ownerProps } =\n useGlobalHeaderBreadcrumb();\n const layoutMode = useGetLayoutMode();\n\n const smalScreen = layoutMode === 'xs' || layoutMode === 's' || (!layoutMode && showIconOnly);\n\n return (\n <StyledBreadcrumbContainer\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"flex-start\"\n aria-label=\"breadcrumb\"\n cols={['auto', 'auto', '1fr']}\n forwardedAs=\"nav\"\n data-testid={DSGlobalHeaderDatatestid.BREADCRUMB.CONTAINER}\n {...ownerProps}\n >\n <StyledPipe\n showIconOnly={smalScreen}\n aria-hidden\n data-testid={DSGlobalHeaderDatatestid.BREADCRUMB.PIPE}\n {...ownerProps}\n />\n <StyledBreadcrumbList data-testid={DSGlobalHeaderDatatestid.BREADCRUMB.LIST} {...ownerProps}>\n {CustomNavigation !== undefined ? (\n <CustomNavigation />\n ) : (\n breadcrumb?.map((item) => {\n const { onClick, isSelected, label, hasNext, ...rest } = item;\n return (\n <PureBreadcrumb\n label={label}\n hasNext={hasNext}\n isSelected={isSelected}\n key={`${instanceUID}-breadcrumb-item-${label}`}\n onKeyDown={onClick && handleOnKeyDown(onClick)}\n {...getGlobalAttributes(rest)}\n onClick={onClick}\n fullBreadcrumbListLength={breadcrumb.length}\n />\n );\n })\n )}\n </StyledBreadcrumbList>\n <div id=\"global-header-flex-region\" ref={flexRegionRef} aria-hidden />\n </StyledBreadcrumbContainer>\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACgBnB,SAUE,KAVF;AAfJ,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,2BAA2B,YAAY,4BAA4B;AAC5E,SAAS,iCAAiC;AAC1C,SAAS,sBAAsB;AAC/B,SAAS,gCAAgC;AAElC,MAAM,yBAAyB,MAAmB;AACvD,QAAM,EAAE,YAAY,kBAAkB,cAAc,eAAe,iBAAiB,aAAa,WAAW,IAC1G,0BAA0B;AAC5B,QAAM,aAAa,iBAAiB;AAEpC,QAAM,aAAa,eAAe,QAAQ,eAAe,OAAQ,CAAC,cAAc;AAEhF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,QAAO;AAAA,MACP,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,cAAW;AAAA,MACX,MAAM,CAAC,QAAQ,QAAQ,KAAK;AAAA,MAC5B,aAAY;AAAA,MACZ,eAAa,yBAAyB,WAAW;AAAA,MAChD,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,cAAc;AAAA,YACd,eAAW;AAAA,YACX,eAAa,yBAAyB,WAAW;AAAA,YAChD,GAAG;AAAA;AAAA,QACN;AAAA,QACA,oBAAC,wBAAqB,eAAa,yBAAyB,WAAW,MAAO,GAAG,YAC9E,+BAAqB,SACpB,oBAAC,oBAAiB,IAElB,YAAY,IAAI,CAAC,SAAS;AACxB,gBAAM,EAAE,SAAS,YAAY,OAAO,SAAS,GAAG,KAAK,IAAI;AACzD,iBACE;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA;AAAA,cAEA,WAAW,WAAW,gBAAgB,OAAO;AAAA,cAC5C,GAAG,oBAAoB,IAAI;AAAA,cAC5B;AAAA,cACA,0BAA0B,WAAW;AAAA;AAAA,YAJhC,GAAG,WAAW,oBAAoB,KAAK;AAAA,UAK9C;AAAA,QAEJ,CAAC,GAEL;AAAA,QACA,oBAAC,SAAI,IAAG,6BAA4B,KAAK,eAAe,eAAW,MAAC;AAAA;AAAA;AAAA,EACtE;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { useGetLayoutMode } from '@elliemae/ds-system';\nimport { getGlobalAttributes } from '@elliemae/ds-props-helpers';\nimport { StyledBreadcrumbContainer, StyledPipe, StyledBreadcrumbList } from './styles.js';\nimport { useGlobalHeaderBreadcrumb } from './useGlobalHeaderBreadcrumb.js';\nimport { PureBreadcrumb } from './PureBreadcrumb.js';\nimport { GLOBAL_HEADER_DATA_TESTID } from '../../constants/index.js';\n\nexport const GlobalHeaderBreadcrumb = (): JSX.Element => {\n const { breadcrumb, CustomNavigation, showIconOnly, flexRegionRef, handleOnKeyDown, instanceUID, ownerProps } =\n useGlobalHeaderBreadcrumb();\n const layoutMode = useGetLayoutMode();\n\n const smalScreen = layoutMode === 'xs' || layoutMode === 's' || (!layoutMode && showIconOnly);\n\n return (\n <StyledBreadcrumbContainer\n height=\"100%\"\n alignItems=\"center\"\n justifyContent=\"flex-start\"\n aria-label=\"breadcrumb\"\n cols={['auto', 'auto', '1fr']}\n forwardedAs=\"nav\"\n data-testid={GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_CONTAINER}\n {...ownerProps}\n >\n <StyledPipe\n showIconOnly={smalScreen}\n aria-hidden\n data-testid={GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_PIPE}\n {...ownerProps}\n />\n <StyledBreadcrumbList data-testid={GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_LIST} {...ownerProps}>\n {CustomNavigation !== undefined ? (\n <CustomNavigation />\n ) : (\n breadcrumb?.map((item) => {\n const { onClick, isSelected, label, hasNext, ...rest } = item;\n return (\n <PureBreadcrumb\n label={label}\n hasNext={hasNext}\n isSelected={isSelected}\n key={`${instanceUID}-breadcrumb-item-${label}`}\n onKeyDown={onClick && handleOnKeyDown(onClick)}\n {...getGlobalAttributes(rest)}\n onClick={onClick}\n fullBreadcrumbListLength={breadcrumb.length}\n ownerProps={ownerProps}\n />\n );\n })\n )}\n </StyledBreadcrumbList>\n <div id=\"global-header-flex-region\" ref={flexRegionRef} aria-hidden />\n </StyledBreadcrumbContainer>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACgBnB,SAUE,KAVF;AAfJ,SAAS,wBAAwB;AACjC,SAAS,2BAA2B;AACpC,SAAS,2BAA2B,YAAY,4BAA4B;AAC5E,SAAS,iCAAiC;AAC1C,SAAS,sBAAsB;AAC/B,SAAS,iCAAiC;AAEnC,MAAM,yBAAyB,MAAmB;AACvD,QAAM,EAAE,YAAY,kBAAkB,cAAc,eAAe,iBAAiB,aAAa,WAAW,IAC1G,0BAA0B;AAC5B,QAAM,aAAa,iBAAiB;AAEpC,QAAM,aAAa,eAAe,QAAQ,eAAe,OAAQ,CAAC,cAAc;AAEhF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,QAAO;AAAA,MACP,YAAW;AAAA,MACX,gBAAe;AAAA,MACf,cAAW;AAAA,MACX,MAAM,CAAC,QAAQ,QAAQ,KAAK;AAAA,MAC5B,aAAY;AAAA,MACZ,eAAa,0BAA0B;AAAA,MACtC,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,cAAc;AAAA,YACd,eAAW;AAAA,YACX,eAAa,0BAA0B;AAAA,YACtC,GAAG;AAAA;AAAA,QACN;AAAA,QACA,oBAAC,wBAAqB,eAAa,0BAA0B,iBAAkB,GAAG,YAC/E,+BAAqB,SACpB,oBAAC,oBAAiB,IAElB,YAAY,IAAI,CAAC,SAAS;AACxB,gBAAM,EAAE,SAAS,YAAY,OAAO,SAAS,GAAG,KAAK,IAAI;AACzD,iBACE;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA;AAAA,cAEA,WAAW,WAAW,gBAAgB,OAAO;AAAA,cAC5C,GAAG,oBAAoB,IAAI;AAAA,cAC5B;AAAA,cACA,0BAA0B,WAAW;AAAA,cACrC;AAAA;AAAA,YALK,GAAG,WAAW,oBAAoB,KAAK;AAAA,UAM9C;AAAA,QAEJ,CAAC,GAEL;AAAA,QACA,oBAAC,SAAI,IAAG,6BAA4B,KAAK,eAAe,eAAW,MAAC;AAAA;AAAA;AAAA,EACtE;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -1,30 +1,32 @@
1
1
  import * as React from "react";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import React2 from "react";
4
- import { DSGlobalHeaderDatatestid } from "../../exported-related/index.js";
4
+ import { GLOBAL_HEADER_DATA_TESTID } from "../../constants/index.js";
5
5
  import { StyledBreadcrumbItem, StyledChevron, StyledLabel, StyledLink } from "./styles.js";
6
6
  const PureBreadcrumb = React2.memo(
7
- ({ onClick, isSelected, fullBreadcrumbListLength, label, hasNext, ...rest }) => /* @__PURE__ */ jsxs(StyledBreadcrumbItem, { "data-testid": DSGlobalHeaderDatatestid.BREADCRUMB.ITEM, children: [
7
+ ({ onClick, isSelected, fullBreadcrumbListLength, label, hasNext, ownerProps, ...rest }) => /* @__PURE__ */ jsxs(StyledBreadcrumbItem, { "data-testid": GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_ITEM, ...ownerProps, children: [
8
8
  /* @__PURE__ */ jsx(
9
9
  StyledLink,
10
10
  {
11
11
  onClick,
12
- "data-testid": DSGlobalHeaderDatatestid.BREADCRUMB.ITEM_LINK,
12
+ "data-testid": GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_ITEM_LINK,
13
13
  "aria-current": isSelected,
14
14
  tabIndex: 0,
15
15
  ...rest,
16
+ ...ownerProps,
16
17
  children: /* @__PURE__ */ jsx(
17
18
  StyledLabel,
18
19
  {
19
20
  isSelected: !!isSelected,
20
21
  isOnlyItem: fullBreadcrumbListLength === 1,
21
- "data-testid": DSGlobalHeaderDatatestid.BREADCRUMB.ITEM_LINK_LABEL,
22
+ "data-testid": GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_ITEM_LINK_LABEL,
23
+ ...ownerProps,
22
24
  children: label
23
25
  }
24
26
  )
25
27
  }
26
28
  ),
27
- hasNext && /* @__PURE__ */ jsx(StyledChevron, { size: "m", "aria-hidden": true })
29
+ hasNext && /* @__PURE__ */ jsx(StyledChevron, { size: "m", "aria-hidden": true, ...ownerProps })
28
30
  ] })
29
31
  );
30
32
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Breadcrumb/PureBreadcrumb.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { DSGlobalHeaderDatatestid } from '../../exported-related/index.js';\nimport type { DSGlobalHeaderT } from '../../react-desc-prop-types.js';\nimport { StyledBreadcrumbItem, StyledChevron, StyledLabel, StyledLink } from './styles.js';\n\ntype PureBreadcrumbProps = DSGlobalHeaderT.BreadcrumbItem & { fullBreadcrumbListLength: number };\n\nexport const PureBreadcrumb = React.memo(\n ({ onClick, isSelected, fullBreadcrumbListLength, label, hasNext, ...rest }: PureBreadcrumbProps) => (\n <StyledBreadcrumbItem data-testid={DSGlobalHeaderDatatestid.BREADCRUMB.ITEM}>\n <StyledLink\n onClick={onClick}\n data-testid={DSGlobalHeaderDatatestid.BREADCRUMB.ITEM_LINK}\n aria-current={isSelected}\n tabIndex={0}\n {...rest}\n >\n <StyledLabel\n isSelected={!!isSelected}\n isOnlyItem={fullBreadcrumbListLength === 1}\n data-testid={DSGlobalHeaderDatatestid.BREADCRUMB.ITEM_LINK_LABEL}\n >\n {label}\n </StyledLabel>\n </StyledLink>\n {hasNext && <StyledChevron size=\"m\" aria-hidden />}\n </StyledBreadcrumbItem>\n ),\n);\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACSnB,SAQI,KARJ;AATJ,OAAOA,YAAW;AAClB,SAAS,gCAAgC;AAEzC,SAAS,sBAAsB,eAAe,aAAa,kBAAkB;AAItE,MAAM,iBAAiBA,OAAM;AAAA,EAClC,CAAC,EAAE,SAAS,YAAY,0BAA0B,OAAO,SAAS,GAAG,KAAK,MACxE,qBAAC,wBAAqB,eAAa,yBAAyB,WAAW,MACrE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAa,yBAAyB,WAAW;AAAA,QACjD,gBAAc;AAAA,QACd,UAAU;AAAA,QACT,GAAG;AAAA,QAEJ;AAAA,UAAC;AAAA;AAAA,YACC,YAAY,CAAC,CAAC;AAAA,YACd,YAAY,6BAA6B;AAAA,YACzC,eAAa,yBAAyB,WAAW;AAAA,YAEhD;AAAA;AAAA,QACH;AAAA;AAAA,IACF;AAAA,IACC,WAAW,oBAAC,iBAAc,MAAK,KAAI,eAAW,MAAC;AAAA,KAClD;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { GLOBAL_HEADER_DATA_TESTID } from '../../constants/index.js';\nimport type { DSGlobalHeaderT } from '../../react-desc-prop-types.js';\nimport { StyledBreadcrumbItem, StyledChevron, StyledLabel, StyledLink } from './styles.js';\n\ntype PureBreadcrumbProps = DSGlobalHeaderT.BreadcrumbItem & {\n fullBreadcrumbListLength: number;\n ownerProps?: {\n getOwnerProps: () => Partial<DSGlobalHeaderT.DefaultProps>;\n getOwnerPropsArguments: () => object;\n };\n};\n\nexport const PureBreadcrumb = React.memo(\n ({ onClick, isSelected, fullBreadcrumbListLength, label, hasNext, ownerProps, ...rest }: PureBreadcrumbProps) => (\n <StyledBreadcrumbItem data-testid={GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_ITEM} {...ownerProps}>\n <StyledLink\n onClick={onClick}\n data-testid={GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_ITEM_LINK}\n aria-current={isSelected}\n tabIndex={0}\n {...rest}\n {...ownerProps}\n >\n <StyledLabel\n isSelected={!!isSelected}\n isOnlyItem={fullBreadcrumbListLength === 1}\n data-testid={GLOBAL_HEADER_DATA_TESTID.BREADCRUMB_ITEM_LINK_LABEL}\n {...ownerProps}\n >\n {label}\n </StyledLabel>\n </StyledLink>\n {hasNext && <StyledChevron size=\"m\" aria-hidden {...ownerProps} />}\n </StyledBreadcrumbItem>\n ),\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACenB,SASI,KATJ;AAfJ,OAAOA,YAAW;AAClB,SAAS,iCAAiC;AAE1C,SAAS,sBAAsB,eAAe,aAAa,kBAAkB;AAUtE,MAAM,iBAAiBA,OAAM;AAAA,EAClC,CAAC,EAAE,SAAS,YAAY,0BAA0B,OAAO,SAAS,YAAY,GAAG,KAAK,MACpF,qBAAC,wBAAqB,eAAa,0BAA0B,iBAAkB,GAAG,YAChF;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,eAAa,0BAA0B;AAAA,QACvC,gBAAc;AAAA,QACd,UAAU;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA,QAEJ;AAAA,UAAC;AAAA;AAAA,YACC,YAAY,CAAC,CAAC;AAAA,YACd,YAAY,6BAA6B;AAAA,YACzC,eAAa,0BAA0B;AAAA,YACtC,GAAG;AAAA,YAEH;AAAA;AAAA,QACH;AAAA;AAAA,IACF;AAAA,IACC,WAAW,oBAAC,iBAAc,MAAK,KAAI,eAAW,MAAE,GAAG,YAAY;AAAA,KAClE;AAEJ;",
6
6
  "names": ["React"]
7
7
  }
@@ -2,14 +2,14 @@ import * as React from "react";
2
2
  import { styled } from "@elliemae/ds-system";
3
3
  import { Grid } from "@elliemae/ds-grid";
4
4
  import { ChevronSmallRight } from "@elliemae/ds-icons";
5
- import { DSGlobalHeaderName, DSGlobalHeaderSlots } from "../../exported-related/theming.js";
5
+ import { DSGlobalHeaderName, GLOBAL_HEADER_SLOTS } from "../../constants/index.js";
6
6
  const StyledBreadcrumbContainer = styled(Grid, {
7
7
  name: DSGlobalHeaderName,
8
- slot: DSGlobalHeaderSlots.BREADCRUMB.CONTAINER
8
+ slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_CONTAINER
9
9
  })``;
10
10
  const StyledBreadcrumbList = styled("ul", {
11
11
  name: DSGlobalHeaderName,
12
- slot: DSGlobalHeaderSlots.BREADCRUMB.LIST
12
+ slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_LIST
13
13
  })`
14
14
  display: grid;
15
15
  grid-auto-flow: column;
@@ -21,7 +21,7 @@ const StyledBreadcrumbList = styled("ul", {
21
21
  `;
22
22
  const StyledPipe = styled("span", {
23
23
  name: DSGlobalHeaderName,
24
- slot: DSGlobalHeaderSlots.BREADCRUMB.PIPE
24
+ slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_PIPE
25
25
  })`
26
26
  margin: 0 7px 0 0;
27
27
  border-left: ${({ theme, showIconOnly }) => showIconOnly ? "none" : `1px solid ${theme.colors.neutral["000"]}`};
@@ -29,19 +29,19 @@ const StyledPipe = styled("span", {
29
29
  `;
30
30
  const StyledChevron = styled(ChevronSmallRight, {
31
31
  name: DSGlobalHeaderName,
32
- slot: DSGlobalHeaderSlots.BREADCRUMB.CHEVRON
32
+ slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_CHEVRON
33
33
  })`
34
34
  fill: ${({ theme }) => theme.colors.neutral["000"]};
35
35
  `;
36
36
  const StyledBreadcrumbItem = styled("li", {
37
37
  name: DSGlobalHeaderName,
38
- slot: DSGlobalHeaderSlots.BREADCRUMB.ITEM
38
+ slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_ITEM
39
39
  })`
40
40
  display: flex;
41
41
  align-items: center;
42
42
  height: 3.077rem;
43
43
  `;
44
- const StyledLink = styled("a", { name: DSGlobalHeaderName, slot: DSGlobalHeaderSlots.BREADCRUMB.ITEM_LINK })`
44
+ const StyledLink = styled("a", { name: DSGlobalHeaderName, slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_ITEM_LINK })`
45
45
  width: fit-content;
46
46
  height: 3.077rem;
47
47
  display: grid;
@@ -69,7 +69,7 @@ const StyledLink = styled("a", { name: DSGlobalHeaderName, slot: DSGlobalHeaderS
69
69
  `;
70
70
  const StyledLabel = styled("span", {
71
71
  name: DSGlobalHeaderName,
72
- slot: DSGlobalHeaderSlots.BREADCRUMB.ITEM_LINK_LABEL
72
+ slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_ITEM_LINK_LABEL
73
73
  })`
74
74
  color: ${({ theme }) => theme.colors.neutral["000"]};
75
75
  ${({ theme, isSelected }) => `-webkit-text-stroke: 0.4px ${isSelected ? theme.colors.neutral["000"] : "transparent"}`};
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Breadcrumb/styles.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ChevronSmallRight } from '@elliemae/ds-icons';\nimport { DSGlobalHeaderName, DSGlobalHeaderSlots } from '../../exported-related/theming.js';\n\ninterface PipeT {\n showIconOnly: boolean;\n}\n\ninterface ChevronT {\n size: string;\n}\n\ninterface LabelT {\n isSelected: boolean;\n isOnlyItem: boolean;\n}\n\nexport const StyledBreadcrumbContainer = styled(Grid, {\n name: DSGlobalHeaderName,\n slot: DSGlobalHeaderSlots.BREADCRUMB.CONTAINER,\n})``;\n\nexport const StyledBreadcrumbList = styled('ul', {\n name: DSGlobalHeaderName,\n slot: DSGlobalHeaderSlots.BREADCRUMB.LIST,\n})`\n display: grid;\n grid-auto-flow: column;\n min-width: fit-content;\n align-items: center;\n margin: 0;\n padding: 0;\n height: 100%;\n`;\n\nexport const StyledPipe = styled('span', {\n name: DSGlobalHeaderName,\n slot: DSGlobalHeaderSlots.BREADCRUMB.PIPE,\n})<PipeT>`\n margin: 0 7px 0 0;\n border-left: ${({ theme, showIconOnly }) => (showIconOnly ? 'none' : `1px solid ${theme.colors.neutral['000']}`)};\n height: 20px;\n`;\n\nexport const StyledChevron = styled(ChevronSmallRight, {\n name: DSGlobalHeaderName,\n slot: DSGlobalHeaderSlots.BREADCRUMB.CHEVRON,\n})<ChevronT>`\n fill: ${({ theme }) => theme.colors.neutral['000']};\n`;\n\nexport const StyledBreadcrumbItem = styled('li', {\n name: DSGlobalHeaderName,\n slot: DSGlobalHeaderSlots.BREADCRUMB.ITEM,\n})`\n display: flex;\n align-items: center;\n height: 3.077rem;\n`;\n\nexport const StyledLink = styled('a', { name: DSGlobalHeaderName, slot: DSGlobalHeaderSlots.BREADCRUMB.ITEM_LINK })`\n width: fit-content;\n height: 3.077rem;\n display: grid;\n place-items: center;\n margin: 0;\n padding: 0;\n border: 1px solid transparent;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n position: relative;\n &:focus {\n :before {\n content: '';\n position: absolute;\n z-index: 2;\n top: 2px;\n left: -5px;\n width: calc(100% + 10px);\n height: calc(100% - 4px);\n border: 2px solid ${({ theme }) => theme.colors.neutral['000']};\n border-radius: 4px;\n }\n }\n`;\n\nexport const StyledLabel = styled('span', {\n name: DSGlobalHeaderName,\n slot: DSGlobalHeaderSlots.BREADCRUMB.ITEM_LINK_LABEL,\n})<LabelT>`\n color: ${({ theme }) => theme.colors.neutral['000']};\n ${({ theme, isSelected }) =>\n `-webkit-text-stroke: 0.4px ${isSelected ? theme.colors.neutral['000'] : 'transparent'}`};\n font-size: 1.231rem;\n @media (max-width: ${({ theme }) => theme.breakpoints.small}) {\n font-size: 1rem;\n }\n display: block;\n line-height: 1;\n text-transform: uppercase;\n border-bottom: ${({ theme, isSelected, isOnlyItem }) =>\n `2px solid ${isSelected && !isOnlyItem ? theme.colors.neutral['000'] : 'transparent'}`};\n margin: 3px 5px 0 5px;\n :hover {\n ${({ theme }) => `-webkit-text-stroke: 0.4px ${theme.colors.neutral['000']}`};\n }\n`;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,yBAAyB;AAClC,SAAS,oBAAoB,2BAA2B;AAejD,MAAM,4BAA4B,OAAO,MAAM;AAAA,EACpD,MAAM;AAAA,EACN,MAAM,oBAAoB,WAAW;AACvC,CAAC;AAEM,MAAM,uBAAuB,OAAO,MAAM;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,oBAAoB,WAAW;AACvC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUM,MAAM,aAAa,OAAO,QAAQ;AAAA,EACvC,MAAM;AAAA,EACN,MAAM,oBAAoB,WAAW;AACvC,CAAC;AAAA;AAAA,iBAEgB,CAAC,EAAE,OAAO,aAAa,MAAO,eAAe,SAAS,aAAa,MAAM,OAAO,QAAQ,KAAK,CAAC,EAAG;AAAA;AAAA;AAI3G,MAAM,gBAAgB,OAAO,mBAAmB;AAAA,EACrD,MAAM;AAAA,EACN,MAAM,oBAAoB,WAAW;AACvC,CAAC;AAAA,UACS,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAG7C,MAAM,uBAAuB,OAAO,MAAM;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,oBAAoB,WAAW;AACvC,CAAC;AAAA;AAAA;AAAA;AAAA;AAMM,MAAM,aAAa,OAAO,KAAK,EAAE,MAAM,oBAAoB,MAAM,oBAAoB,WAAW,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAqBxF,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAM7D,MAAM,cAAc,OAAO,QAAQ;AAAA,EACxC,MAAM;AAAA,EACN,MAAM,oBAAoB,WAAW;AACvC,CAAC;AAAA,WACU,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,IACjD,CAAC,EAAE,OAAO,WAAW,MACrB,+BAA+B,aAAa,MAAM,OAAO,QAAQ,KAAK,IAAI,aAAa,EAAE;AAAA;AAAA,uBAEtE,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAM1C,CAAC,EAAE,OAAO,YAAY,WAAW,MAChD,aAAa,cAAc,CAAC,aAAa,MAAM,OAAO,QAAQ,KAAK,IAAI,aAAa,EAAE;AAAA;AAAA;AAAA,MAGpF,CAAC,EAAE,MAAM,MAAM,8BAA8B,MAAM,OAAO,QAAQ,KAAK,CAAC,EAAE;AAAA;AAAA;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport { ChevronSmallRight } from '@elliemae/ds-icons';\nimport { DSGlobalHeaderName, GLOBAL_HEADER_SLOTS } from '../../constants/index.js';\n\ninterface PipeT {\n showIconOnly: boolean;\n}\n\ninterface ChevronT {\n size: string;\n}\n\ninterface LabelT {\n isSelected: boolean;\n isOnlyItem: boolean;\n}\n\nexport const StyledBreadcrumbContainer = styled(Grid, {\n name: DSGlobalHeaderName,\n slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_CONTAINER,\n})``;\n\nexport const StyledBreadcrumbList = styled('ul', {\n name: DSGlobalHeaderName,\n slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_LIST,\n})`\n display: grid;\n grid-auto-flow: column;\n min-width: fit-content;\n align-items: center;\n margin: 0;\n padding: 0;\n height: 100%;\n`;\n\nexport const StyledPipe = styled('span', {\n name: DSGlobalHeaderName,\n slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_PIPE,\n})<PipeT>`\n margin: 0 7px 0 0;\n border-left: ${({ theme, showIconOnly }) => (showIconOnly ? 'none' : `1px solid ${theme.colors.neutral['000']}`)};\n height: 20px;\n`;\n\nexport const StyledChevron = styled(ChevronSmallRight, {\n name: DSGlobalHeaderName,\n slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_CHEVRON,\n})<ChevronT>`\n fill: ${({ theme }) => theme.colors.neutral['000']};\n`;\n\nexport const StyledBreadcrumbItem = styled('li', {\n name: DSGlobalHeaderName,\n slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_ITEM,\n})`\n display: flex;\n align-items: center;\n height: 3.077rem;\n`;\n\nexport const StyledLink = styled('a', { name: DSGlobalHeaderName, slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_ITEM_LINK })`\n width: fit-content;\n height: 3.077rem;\n display: grid;\n place-items: center;\n margin: 0;\n padding: 0;\n border: 1px solid transparent;\n background-color: transparent;\n outline: none;\n cursor: pointer;\n position: relative;\n &:focus {\n :before {\n content: '';\n position: absolute;\n z-index: 2;\n top: 2px;\n left: -5px;\n width: calc(100% + 10px);\n height: calc(100% - 4px);\n border: 2px solid ${({ theme }) => theme.colors.neutral['000']};\n border-radius: 4px;\n }\n }\n`;\n\nexport const StyledLabel = styled('span', {\n name: DSGlobalHeaderName,\n slot: GLOBAL_HEADER_SLOTS.BREADCRUMB_ITEM_LINK_LABEL,\n})<LabelT>`\n color: ${({ theme }) => theme.colors.neutral['000']};\n ${({ theme, isSelected }) =>\n `-webkit-text-stroke: 0.4px ${isSelected ? theme.colors.neutral['000'] : 'transparent'}`};\n font-size: 1.231rem;\n @media (max-width: ${({ theme }) => theme.breakpoints.small}) {\n font-size: 1rem;\n }\n display: block;\n line-height: 1;\n text-transform: uppercase;\n border-bottom: ${({ theme, isSelected, isOnlyItem }) =>\n `2px solid ${isSelected && !isOnlyItem ? theme.colors.neutral['000'] : 'transparent'}`};\n margin: 3px 5px 0 5px;\n :hover {\n ${({ theme }) => `-webkit-text-stroke: 0.4px ${theme.colors.neutral['000']}`};\n }\n`;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,cAAc;AACvB,SAAS,YAAY;AACrB,SAAS,yBAAyB;AAClC,SAAS,oBAAoB,2BAA2B;AAejD,MAAM,4BAA4B,OAAO,MAAM;AAAA,EACpD,MAAM;AAAA,EACN,MAAM,oBAAoB;AAC5B,CAAC;AAEM,MAAM,uBAAuB,OAAO,MAAM;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,oBAAoB;AAC5B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUM,MAAM,aAAa,OAAO,QAAQ;AAAA,EACvC,MAAM;AAAA,EACN,MAAM,oBAAoB;AAC5B,CAAC;AAAA;AAAA,iBAEgB,CAAC,EAAE,OAAO,aAAa,MAAO,eAAe,SAAS,aAAa,MAAM,OAAO,QAAQ,KAAK,CAAC,EAAG;AAAA;AAAA;AAI3G,MAAM,gBAAgB,OAAO,mBAAmB;AAAA,EACrD,MAAM;AAAA,EACN,MAAM,oBAAoB;AAC5B,CAAC;AAAA,UACS,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAG7C,MAAM,uBAAuB,OAAO,MAAM;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,oBAAoB;AAC5B,CAAC;AAAA;AAAA;AAAA;AAAA;AAMM,MAAM,aAAa,OAAO,KAAK,EAAE,MAAM,oBAAoB,MAAM,oBAAoB,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAqBxF,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAM7D,MAAM,cAAc,OAAO,QAAQ;AAAA,EACxC,MAAM;AAAA,EACN,MAAM,oBAAoB;AAC5B,CAAC;AAAA,WACU,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,IACjD,CAAC,EAAE,OAAO,WAAW,MACrB,+BAA+B,aAAa,MAAM,OAAO,QAAQ,KAAK,IAAI,aAAa,EAAE;AAAA;AAAA,uBAEtE,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAM1C,CAAC,EAAE,OAAO,YAAY,WAAW,MAChD,aAAa,cAAc,CAAC,aAAa,MAAM,OAAO,QAAQ,KAAK,IAAI,aAAa,EAAE;AAAA;AAAA;AAAA,MAGpF,CAAC,EAAE,MAAM,MAAM,8BAA8B,MAAM,OAAO,QAAQ,KAAK,CAAC,EAAE;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { useCallback, useContext, useEffect, useRef } from "react";
3
- import { FONT_DETECTOR } from "../../config/constants.js";
3
+ import { FONT_DETECTOR } from "../../constants/index.js";
4
4
  import { DSGlobalHeaderContext } from "../../DSGlobalHeaderContext.js";
5
5
  const useGlobalHeaderBreadcrumb = () => {
6
6
  const {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Breadcrumb/useGlobalHeaderBreadcrumb.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import type React from 'react';\nimport { useCallback, useContext, useEffect, useRef } from 'react';\nimport { FONT_DETECTOR } from '../../config/constants.js';\nimport { DSGlobalHeaderContext } from '../../DSGlobalHeaderContext.js';\nimport type { DSGlobalHeaderT } from '../../react-desc-prop-types.js';\n\ninterface UseGlobalHeaderBreadcrumbReturnT {\n breadcrumb: DSGlobalHeaderT.BreadcrumbItem[];\n CustomNavigation: React.ComponentType;\n showIconOnly: boolean;\n flexRegionRef: React.MutableRefObject<HTMLDivElement | null>;\n handleOnKeyDown: (\n onClick: (event: React.MouseEvent | React.KeyboardEvent) => void,\n ) => (event: React.KeyboardEvent) => void;\n instanceUID: string;\n ownerProps: {\n getOwnerProps: () => Partial<DSGlobalHeaderT.DefaultProps>;\n getOwnerPropsArguments: () => object;\n };\n}\n\nexport const useGlobalHeaderBreadcrumb = (): UseGlobalHeaderBreadcrumbReturnT => {\n const {\n props: { breadcrumb, CustomNavigation },\n ownerProps,\n instanceUID,\n showIconOnly,\n setShowIconOnly,\n fontDetector,\n } = useContext(DSGlobalHeaderContext);\n\n const breakpointRef = useRef<number | null>(null);\n const flexRegionRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const evaluateShowIconOnly = () => {\n if (\n (flexRegionRef.current && flexRegionRef.current.offsetWidth <= 0 && !breakpointRef.current) ||\n fontDetector === FONT_DETECTOR.LARGE ||\n fontDetector === FONT_DETECTOR.MEDIUM\n ) {\n setShowIconOnly(true);\n breakpointRef.current = window.innerWidth;\n } else if (breakpointRef.current && window.innerWidth >= breakpointRef.current) {\n setShowIconOnly(false);\n breakpointRef.current = null;\n }\n };\n\n evaluateShowIconOnly();\n\n window.addEventListener('resize', evaluateShowIconOnly);\n return () => window.removeEventListener('resize', evaluateShowIconOnly);\n }, [breakpointRef, flexRegionRef, setShowIconOnly, fontDetector]);\n\n const handleOnKeyDown = useCallback(\n (onClick: (event: React.MouseEvent | React.KeyboardEvent) => void) => (e: React.KeyboardEvent) => {\n if (e.key === ' ' || e.key === 'Enter') {\n onClick(e);\n }\n },\n [],\n );\n\n return {\n breadcrumb,\n CustomNavigation,\n showIconOnly,\n flexRegionRef,\n handleOnKeyDown,\n instanceUID,\n ownerProps,\n };\n};\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import type React from 'react';\nimport { useCallback, useContext, useEffect, useRef } from 'react';\nimport { FONT_DETECTOR } from '../../constants/index.js';\nimport { DSGlobalHeaderContext } from '../../DSGlobalHeaderContext.js';\nimport type { DSGlobalHeaderT } from '../../react-desc-prop-types.js';\n\ninterface UseGlobalHeaderBreadcrumbReturnT {\n breadcrumb: DSGlobalHeaderT.BreadcrumbItem[];\n CustomNavigation: React.ComponentType;\n showIconOnly: boolean;\n flexRegionRef: React.MutableRefObject<HTMLDivElement | null>;\n handleOnKeyDown: (\n onClick: (event: React.MouseEvent | React.KeyboardEvent) => void,\n ) => (event: React.KeyboardEvent) => void;\n instanceUID: string;\n ownerProps: {\n getOwnerProps: () => Partial<DSGlobalHeaderT.DefaultProps>;\n getOwnerPropsArguments: () => object;\n };\n}\n\nexport const useGlobalHeaderBreadcrumb = (): UseGlobalHeaderBreadcrumbReturnT => {\n const {\n props: { breadcrumb, CustomNavigation },\n ownerProps,\n instanceUID,\n showIconOnly,\n setShowIconOnly,\n fontDetector,\n } = useContext(DSGlobalHeaderContext);\n\n const breakpointRef = useRef<number | null>(null);\n const flexRegionRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const evaluateShowIconOnly = () => {\n if (\n (flexRegionRef.current && flexRegionRef.current.offsetWidth <= 0 && !breakpointRef.current) ||\n fontDetector === FONT_DETECTOR.LARGE ||\n fontDetector === FONT_DETECTOR.MEDIUM\n ) {\n setShowIconOnly(true);\n breakpointRef.current = window.innerWidth;\n } else if (breakpointRef.current && window.innerWidth >= breakpointRef.current) {\n setShowIconOnly(false);\n breakpointRef.current = null;\n }\n };\n\n evaluateShowIconOnly();\n\n window.addEventListener('resize', evaluateShowIconOnly);\n return () => window.removeEventListener('resize', evaluateShowIconOnly);\n }, [breakpointRef, flexRegionRef, setShowIconOnly, fontDetector]);\n\n const handleOnKeyDown = useCallback(\n (onClick: (event: React.MouseEvent | React.KeyboardEvent) => void) => (e: React.KeyboardEvent) => {\n if (e.key === ' ' || e.key === 'Enter') {\n onClick(e);\n }\n },\n [],\n );\n\n return {\n breadcrumb,\n CustomNavigation,\n showIconOnly,\n flexRegionRef,\n handleOnKeyDown,\n instanceUID,\n ownerProps,\n };\n};\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,aAAa,YAAY,WAAW,cAAc;AAC3D,SAAS,qBAAqB;AAC9B,SAAS,6BAA6B;AAkB/B,MAAM,4BAA4B,MAAwC;AAC/E,QAAM;AAAA,IACJ,OAAO,EAAE,YAAY,iBAAiB;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,WAAW,qBAAqB;AAEpC,QAAM,gBAAgB,OAAsB,IAAI;AAChD,QAAM,gBAAgB,OAAuB,IAAI;AAEjD,YAAU,MAAM;AACd,UAAM,uBAAuB,MAAM;AACjC,UACG,cAAc,WAAW,cAAc,QAAQ,eAAe,KAAK,CAAC,cAAc,WACnF,iBAAiB,cAAc,SAC/B,iBAAiB,cAAc,QAC/B;AACA,wBAAgB,IAAI;AACpB,sBAAc,UAAU,OAAO;AAAA,MACjC,WAAW,cAAc,WAAW,OAAO,cAAc,cAAc,SAAS;AAC9E,wBAAgB,KAAK;AACrB,sBAAc,UAAU;AAAA,MAC1B;AAAA,IACF;AAEA,yBAAqB;AAErB,WAAO,iBAAiB,UAAU,oBAAoB;AACtD,WAAO,MAAM,OAAO,oBAAoB,UAAU,oBAAoB;AAAA,EACxE,GAAG,CAAC,eAAe,eAAe,iBAAiB,YAAY,CAAC;AAEhE,QAAM,kBAAkB;AAAA,IACtB,CAAC,YAAqE,CAAC,MAA2B;AAChG,UAAI,EAAE,QAAQ,OAAO,EAAE,QAAQ,SAAS;AACtC,gBAAQ,CAAC;AAAA,MACX;AAAA,IACF;AAAA,IACA,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }