@elliemae/ds-page-header-v2 3.22.0-next.30

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 (69) hide show
  1. package/dist/cjs/PageHeader.js +105 -0
  2. package/dist/cjs/PageHeader.js.map +7 -0
  3. package/dist/cjs/components/PageHeaderEditableTitle.js +128 -0
  4. package/dist/cjs/components/PageHeaderEditableTitle.js.map +7 -0
  5. package/dist/cjs/components/PageHeaderSummary.js +89 -0
  6. package/dist/cjs/components/PageHeaderSummary.js.map +7 -0
  7. package/dist/cjs/components/PageHeaderTitle.js +73 -0
  8. package/dist/cjs/components/PageHeaderTitle.js.map +7 -0
  9. package/dist/cjs/config/usePageHeader.js +142 -0
  10. package/dist/cjs/config/usePageHeader.js.map +7 -0
  11. package/dist/cjs/exported-related/data-test-ids.js +41 -0
  12. package/dist/cjs/exported-related/data-test-ids.js.map +7 -0
  13. package/dist/cjs/exported-related/index.js +32 -0
  14. package/dist/cjs/exported-related/index.js.map +7 -0
  15. package/dist/cjs/exported-related/skeletons.js +52 -0
  16. package/dist/cjs/exported-related/skeletons.js.map +7 -0
  17. package/dist/cjs/exported-related/theming.js +45 -0
  18. package/dist/cjs/exported-related/theming.js.map +7 -0
  19. package/dist/cjs/index.js +50 -0
  20. package/dist/cjs/index.js.map +7 -0
  21. package/dist/cjs/package.json +7 -0
  22. package/dist/cjs/react-desc-prop-types.js +68 -0
  23. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  24. package/dist/cjs/styled.js +117 -0
  25. package/dist/cjs/styled.js.map +7 -0
  26. package/dist/cjs/tests/utils.js +124 -0
  27. package/dist/cjs/tests/utils.js.map +7 -0
  28. package/dist/esm/PageHeader.js +82 -0
  29. package/dist/esm/PageHeader.js.map +7 -0
  30. package/dist/esm/components/PageHeaderEditableTitle.js +98 -0
  31. package/dist/esm/components/PageHeaderEditableTitle.js.map +7 -0
  32. package/dist/esm/components/PageHeaderSummary.js +59 -0
  33. package/dist/esm/components/PageHeaderSummary.js.map +7 -0
  34. package/dist/esm/components/PageHeaderTitle.js +43 -0
  35. package/dist/esm/components/PageHeaderTitle.js.map +7 -0
  36. package/dist/esm/config/usePageHeader.js +125 -0
  37. package/dist/esm/config/usePageHeader.js.map +7 -0
  38. package/dist/esm/exported-related/data-test-ids.js +11 -0
  39. package/dist/esm/exported-related/data-test-ids.js.map +7 -0
  40. package/dist/esm/exported-related/index.js +5 -0
  41. package/dist/esm/exported-related/index.js.map +7 -0
  42. package/dist/esm/exported-related/skeletons.js +22 -0
  43. package/dist/esm/exported-related/skeletons.js.map +7 -0
  44. package/dist/esm/exported-related/theming.js +15 -0
  45. package/dist/esm/exported-related/theming.js.map +7 -0
  46. package/dist/esm/index.js +27 -0
  47. package/dist/esm/index.js.map +7 -0
  48. package/dist/esm/package.json +7 -0
  49. package/dist/esm/react-desc-prop-types.js +38 -0
  50. package/dist/esm/react-desc-prop-types.js.map +7 -0
  51. package/dist/esm/styled.js +87 -0
  52. package/dist/esm/styled.js.map +7 -0
  53. package/dist/esm/tests/utils.js +94 -0
  54. package/dist/esm/tests/utils.js.map +7 -0
  55. package/dist/types/PageHeader.d.ts +10 -0
  56. package/dist/types/components/PageHeaderEditableTitle.d.ts +15 -0
  57. package/dist/types/components/PageHeaderSummary.d.ts +14 -0
  58. package/dist/types/components/PageHeaderTitle.d.ts +16 -0
  59. package/dist/types/config/usePageHeader.d.ts +18 -0
  60. package/dist/types/exported-related/data-test-ids.d.ts +6 -0
  61. package/dist/types/exported-related/index.d.ts +3 -0
  62. package/dist/types/exported-related/skeletons.d.ts +6 -0
  63. package/dist/types/exported-related/theming.d.ts +9 -0
  64. package/dist/types/index.d.ts +5 -0
  65. package/dist/types/react-desc-prop-types.d.ts +419 -0
  66. package/dist/types/styled.d.ts +10 -0
  67. package/dist/types/tests/PageHeader.test.d.ts +1 -0
  68. package/dist/types/tests/utils.d.ts +56 -0
  69. package/package.json +116 -0
@@ -0,0 +1,82 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { describe } from "@elliemae/ds-props-helpers";
4
+ import { Grid } from "@elliemae/ds-grid";
5
+ import {
6
+ Container,
7
+ ContainerWBorder,
8
+ PageHeaderCustomRenderer,
9
+ PageHeaderToolbarWrapper,
10
+ PageHeaderMenu,
11
+ PageHeaderBack
12
+ } from "./styled.js";
13
+ import { usePageHeader } from "./config/usePageHeader.js";
14
+ import { PageHeaderTitle } from "./components/PageHeaderTitle.js";
15
+ import { PageHeaderEditableTitle } from "./components/PageHeaderEditableTitle.js";
16
+ import { PageHeaderSummary } from "./components/PageHeaderSummary.js";
17
+ import { PageHeaderPropTypes, defaultProps } from "./react-desc-prop-types.js";
18
+ import { DSPageHeaderDataTestIds, DSPageHeaderName } from "./exported-related/index.js";
19
+ const DSPageHeaderV2 = (props) => {
20
+ const {
21
+ currentBackArrow,
22
+ currentMenu,
23
+ currentBreadcrumbs,
24
+ currentSummary,
25
+ currentToolbar,
26
+ currentPageTitle,
27
+ containerProps,
28
+ withBottomSeparator,
29
+ globalAttributes,
30
+ xStyledProps
31
+ } = usePageHeader(props);
32
+ const { isSkeleton } = props;
33
+ const wrapperRow = ["auto", "1fr"];
34
+ const mainRow = ["1fr", "auto"];
35
+ const pageTitleRow = [
36
+ isSkeleton ? "2fr" : "auto",
37
+ currentMenu !== void 0 && "30px",
38
+ currentSummary !== void 0 && "auto",
39
+ "1fr"
40
+ ].filter((col) => typeof col === "string");
41
+ return /* @__PURE__ */ jsx(
42
+ Container,
43
+ {
44
+ ...containerProps,
45
+ ...globalAttributes,
46
+ ...xStyledProps,
47
+ "data-testid": DSPageHeaderDataTestIds.CONTAINER,
48
+ children: /* @__PURE__ */ jsx(ContainerWBorder, { withBottomSeparator, children: /* @__PURE__ */ jsxs(Grid, { cols: wrapperRow, children: [
49
+ /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(PageHeaderBack, { children: currentBackArrow }) }),
50
+ /* @__PURE__ */ jsxs(Grid, { rows: ["auto", "auto"], children: [
51
+ /* @__PURE__ */ jsx(Grid, { className: "em-ds-page-header-v2-breadcrumb", children: currentBreadcrumbs }),
52
+ /* @__PURE__ */ jsxs(Grid, { cols: mainRow, alignItems: "center", children: [
53
+ /* @__PURE__ */ jsxs(Grid, { cols: pageTitleRow, alignItems: "center", children: [
54
+ currentPageTitle,
55
+ currentMenu && /* @__PURE__ */ jsx(PageHeaderMenu, { children: currentMenu }),
56
+ currentSummary,
57
+ /* @__PURE__ */ jsx("div", {})
58
+ ] }),
59
+ /* @__PURE__ */ jsx(Grid, { children: /* @__PURE__ */ jsx(PageHeaderToolbarWrapper, { children: currentToolbar }) })
60
+ ] })
61
+ ] })
62
+ ] }) })
63
+ }
64
+ );
65
+ };
66
+ DSPageHeaderV2.propTypes = PageHeaderPropTypes;
67
+ DSPageHeaderV2.defaultProps = defaultProps;
68
+ DSPageHeaderV2.displayName = DSPageHeaderName;
69
+ const DSPageHeaderWithSchema = describe(DSPageHeaderV2);
70
+ DSPageHeaderWithSchema.propTypes = PageHeaderPropTypes;
71
+ var PageHeader_default = DSPageHeaderV2;
72
+ export {
73
+ DSPageHeaderV2,
74
+ DSPageHeaderWithSchema,
75
+ PageHeaderCustomRenderer,
76
+ PageHeaderEditableTitle,
77
+ PageHeaderMenu,
78
+ PageHeaderSummary,
79
+ PageHeaderTitle,
80
+ PageHeader_default as default
81
+ };
82
+ //# sourceMappingURL=PageHeader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/PageHeader.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport type { WeakValidationMap } from 'react';\nimport React from 'react';\nimport { describe } from '@elliemae/ds-props-helpers';\nimport { Grid } from '@elliemae/ds-grid';\nimport {\n Container,\n ContainerWBorder,\n PageHeaderCustomRenderer,\n PageHeaderToolbarWrapper,\n PageHeaderMenu,\n PageHeaderBack,\n} from './styled.js';\nimport { usePageHeader } from './config/usePageHeader.js';\nimport { PageHeaderTitle } from './components/PageHeaderTitle.js';\nimport { PageHeaderEditableTitle } from './components/PageHeaderEditableTitle.js';\nimport { PageHeaderSummary } from './components/PageHeaderSummary.js';\nimport type { DSPageHeaderT } from './react-desc-prop-types.js';\nimport { PageHeaderPropTypes, defaultProps } from './react-desc-prop-types.js';\nimport { DSPageHeaderDataTestIds, DSPageHeaderName } from './exported-related/index.js';\n\nconst DSPageHeaderV2: React.ComponentType<DSPageHeaderT.Props> = (props) => {\n const {\n currentBackArrow,\n currentMenu,\n currentBreadcrumbs,\n currentSummary,\n currentToolbar,\n currentPageTitle,\n containerProps,\n withBottomSeparator,\n globalAttributes,\n xStyledProps,\n } = usePageHeader(props);\n\n const { isSkeleton } = props;\n const wrapperRow = ['auto', '1fr'];\n const mainRow = ['1fr', 'auto'];\n const pageTitleRow = [\n isSkeleton ? '2fr' : 'auto',\n currentMenu !== undefined && '30px',\n currentSummary !== undefined && 'auto',\n '1fr',\n ].filter((col) => typeof col === 'string') as string[];\n return (\n <Container\n {...containerProps}\n {...globalAttributes}\n {...xStyledProps}\n data-testid={DSPageHeaderDataTestIds.CONTAINER}\n >\n <ContainerWBorder withBottomSeparator={withBottomSeparator}>\n <Grid cols={wrapperRow}>\n <Grid>\n <PageHeaderBack>{currentBackArrow}</PageHeaderBack>\n </Grid>\n <Grid rows={['auto', 'auto']}>\n <Grid className=\"em-ds-page-header-v2-breadcrumb\">{currentBreadcrumbs}</Grid>\n <Grid cols={mainRow} alignItems=\"center\">\n <Grid cols={pageTitleRow} alignItems=\"center\">\n {currentPageTitle}\n {currentMenu && <PageHeaderMenu>{currentMenu}</PageHeaderMenu>}\n {currentSummary}\n <div />\n </Grid>\n <Grid>\n <PageHeaderToolbarWrapper>{currentToolbar}</PageHeaderToolbarWrapper>\n </Grid>\n </Grid>\n </Grid>\n </Grid>\n </ContainerWBorder>\n </Container>\n );\n};\n\nDSPageHeaderV2.propTypes = PageHeaderPropTypes as WeakValidationMap<unknown>;\nDSPageHeaderV2.defaultProps = defaultProps;\nDSPageHeaderV2.displayName = DSPageHeaderName;\nconst DSPageHeaderWithSchema = describe(DSPageHeaderV2);\n\nDSPageHeaderWithSchema.propTypes = PageHeaderPropTypes as WeakValidationMap<unknown>;\n\nexport {\n DSPageHeaderV2,\n PageHeaderTitle,\n PageHeaderEditableTitle,\n PageHeaderSummary,\n PageHeaderMenu,\n PageHeaderCustomRenderer,\n DSPageHeaderWithSchema,\n};\n\nexport default DSPageHeaderV2;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACuDX,cAKE,YALF;AAnDZ,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,SAAS,+BAA+B;AACxC,SAAS,yBAAyB;AAElC,SAAS,qBAAqB,oBAAoB;AAClD,SAAS,yBAAyB,wBAAwB;AAE1D,MAAM,iBAA2D,CAAC,UAAU;AAC1E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,cAAc,KAAK;AAEvB,QAAM,EAAE,WAAW,IAAI;AACvB,QAAM,aAAa,CAAC,QAAQ,KAAK;AACjC,QAAM,UAAU,CAAC,OAAO,MAAM;AAC9B,QAAM,eAAe;AAAA,IACnB,aAAa,QAAQ;AAAA,IACrB,gBAAgB,UAAa;AAAA,IAC7B,mBAAmB,UAAa;AAAA,IAChC;AAAA,EACF,EAAE,OAAO,CAAC,QAAQ,OAAO,QAAQ,QAAQ;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,MACJ,eAAa,wBAAwB;AAAA,MAErC,8BAAC,oBAAiB,qBAChB,+BAAC,QAAK,MAAM,YACV;AAAA,4BAAC,QACC,8BAAC,kBAAgB,4BAAiB,GACpC;AAAA,QACA,qBAAC,QAAK,MAAM,CAAC,QAAQ,MAAM,GACzB;AAAA,8BAAC,QAAK,WAAU,mCAAmC,8BAAmB;AAAA,UACtE,qBAAC,QAAK,MAAM,SAAS,YAAW,UAC9B;AAAA,iCAAC,QAAK,MAAM,cAAc,YAAW,UAClC;AAAA;AAAA,cACA,eAAe,oBAAC,kBAAgB,uBAAY;AAAA,cAC5C;AAAA,cACD,oBAAC,SAAI;AAAA,eACP;AAAA,YACA,oBAAC,QACC,8BAAC,4BAA0B,0BAAe,GAC5C;AAAA,aACF;AAAA,WACF;AAAA,SACF,GACF;AAAA;AAAA,EACF;AAEJ;AAEA,eAAe,YAAY;AAC3B,eAAe,eAAe;AAC9B,eAAe,cAAc;AAC7B,MAAM,yBAAyB,SAAS,cAAc;AAEtD,uBAAuB,YAAY;AAYnC,IAAO,qBAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,98 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useRef, useState, useCallback } from "react";
4
+ import { DSInputText, DSInputTextName, DSInputTextSlots } from "@elliemae/ds-form-input-text";
5
+ import { styled } from "@elliemae/ds-system";
6
+ import { PropTypes, describe, useGetGlobalAttributes, globalAttributesPropTypes } from "@elliemae/ds-props-helpers";
7
+ import { useDerivedStateFromProps, useMeasure } from "@elliemae/ds-utilities";
8
+ import { PageHeaderTitle } from "./PageHeaderTitle.js";
9
+ import { DSPageHeaderDataTestIds } from "../exported-related/index.js";
10
+ const EditableContainer = styled("div")`
11
+ height: 32px;
12
+ position: relative;
13
+ overflow: hidden;
14
+ &.editable-title-component {
15
+ position: relative;
16
+ left: -7px;
17
+ top: -1px;
18
+ margin-left: -2px;
19
+ margin-right: -9px;
20
+ & .${DSInputTextName}-${DSInputTextSlots.INPUT_WRAPPER} {
21
+ height: 32px;
22
+ }
23
+ & .${DSInputTextName}-${DSInputTextSlots.INPUT} {
24
+ font-size: ${({ theme }) => theme.fontSizes.title[800]};
25
+ line-height: normal;
26
+ color: ${({ theme }) => theme.colors.neutral["700"]};
27
+ }
28
+ }
29
+ `;
30
+ const PageHeaderEditableTitle = (props2) => {
31
+ const { children: value, editing: editingProp, showMarker, ...rest } = props2;
32
+ const [titleValue, setTitleValue] = useState(value);
33
+ const [hovered, setHovered] = useState(false);
34
+ const [editing, setEditing] = useDerivedStateFromProps(editingProp || false);
35
+ const titleRef = useRef(null);
36
+ const { width } = useMeasure(titleRef);
37
+ const handleOnChange = useCallback((e) => {
38
+ setTitleValue(e.target.value);
39
+ }, []);
40
+ const handleOnFocus = useCallback(() => {
41
+ setEditing(true);
42
+ }, [setEditing]);
43
+ const handleOnBlur = useCallback(() => {
44
+ setEditing(false);
45
+ }, [setEditing]);
46
+ const handleOnMouseOut = useCallback(() => {
47
+ setHovered(false);
48
+ }, []);
49
+ const globals = useGetGlobalAttributes(rest, {
50
+ onFocus: handleOnFocus,
51
+ onMouseOut: handleOnMouseOut,
52
+ onChange: handleOnChange,
53
+ onBlur: handleOnBlur
54
+ });
55
+ return /* @__PURE__ */ jsxs(
56
+ EditableContainer,
57
+ {
58
+ className: hovered || editing ? "editable-title-component" : "",
59
+ onMouseEnter: () => setHovered(true),
60
+ onMouseLeave: () => setHovered(false),
61
+ "data-testid": DSPageHeaderDataTestIds.EDITABLE_HEADER_TITLE,
62
+ children: [
63
+ (hovered || editing) && /* @__PURE__ */ jsx(
64
+ DSInputText,
65
+ {
66
+ onChange: handleOnChange,
67
+ ...rest,
68
+ ...globals,
69
+ placeholder: "",
70
+ style: { width: width + 10, minWidth: "260px", maxWidth: "100%" },
71
+ value: titleValue
72
+ }
73
+ ),
74
+ /* @__PURE__ */ jsx("div", { ref: titleRef, style: { width: "fit-content" }, children: /* @__PURE__ */ jsx(PageHeaderTitle, { showMarker: showMarker && !hovered && !editing, children: titleValue }) })
75
+ ]
76
+ }
77
+ );
78
+ };
79
+ const props = {
80
+ ...globalAttributesPropTypes,
81
+ /** The title text */
82
+ children: PropTypes.string.description("The title text"),
83
+ /** Whether the title is editing or not */
84
+ editing: PropTypes.bool.description("Whether the title is editing or not"),
85
+ /** Show error marker */
86
+ showMarker: PropTypes.bool.description("Show error marker")
87
+ };
88
+ PageHeaderEditableTitle.propTypes = props;
89
+ PageHeaderEditableTitle.displayName = "PageHeaderEditableTitle";
90
+ const DSPageHeaderEditableTitleWithSchema = describe(PageHeaderEditableTitle);
91
+ DSPageHeaderEditableTitleWithSchema.propTypes = props;
92
+ var PageHeaderEditableTitle_default = PageHeaderEditableTitle;
93
+ export {
94
+ DSPageHeaderEditableTitleWithSchema,
95
+ PageHeaderEditableTitle,
96
+ PageHeaderEditableTitle_default as default
97
+ };
98
+ //# sourceMappingURL=PageHeaderEditableTitle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/PageHeaderEditableTitle.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import type { WeakValidationMap } from 'react';\nimport React, { useRef, useState, useCallback } from 'react';\nimport { DSInputText, DSInputTextName, DSInputTextSlots } from '@elliemae/ds-form-input-text';\nimport { styled } from '@elliemae/ds-system';\nimport { PropTypes, describe, useGetGlobalAttributes, globalAttributesPropTypes } from '@elliemae/ds-props-helpers';\nimport { useDerivedStateFromProps, useMeasure } from '@elliemae/ds-utilities';\nimport { PageHeaderTitle } from './PageHeaderTitle.js';\nimport { DSPageHeaderDataTestIds } from '../exported-related/index.js';\n\n// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n// const useMeasureSafe: typeof useMeasure = useMeasure.default ?? useMeasure;\n\nconst EditableContainer = styled('div')`\n height: 32px;\n position: relative;\n overflow: hidden;\n &.editable-title-component {\n position: relative;\n left: -7px;\n top: -1px;\n margin-left: -2px;\n margin-right: -9px;\n & .${DSInputTextName}-${DSInputTextSlots.INPUT_WRAPPER} {\n height: 32px;\n }\n & .${DSInputTextName}-${DSInputTextSlots.INPUT} {\n font-size: ${({ theme }) => theme.fontSizes.title[800]};\n line-height: normal;\n color: ${({ theme }) => theme.colors.neutral['700']};\n }\n }\n`;\n\nexport interface PageHeaderEditableTitleProps {\n children?: string;\n editing?: boolean;\n showMarker?: boolean;\n [key: string]: unknown;\n}\n\nexport const PageHeaderEditableTitle = (props: PageHeaderEditableTitleProps) => {\n const { children: value, editing: editingProp, showMarker, ...rest } = props;\n const [titleValue, setTitleValue] = useState(value);\n const [hovered, setHovered] = useState(false);\n const [editing, setEditing] = useDerivedStateFromProps(editingProp || false);\n const titleRef = useRef(null);\n const { width } = useMeasure(titleRef);\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = useCallback((e) => {\n setTitleValue(e.target.value);\n }, []);\n\n const handleOnFocus: React.FocusEventHandler = useCallback(() => {\n setEditing(true);\n }, [setEditing]);\n\n const handleOnBlur: React.FocusEventHandler = useCallback(() => {\n setEditing(false);\n }, [setEditing]);\n\n const handleOnMouseOut: React.MouseEventHandler = useCallback(() => {\n setHovered(false);\n }, []);\n\n const globals = useGetGlobalAttributes(rest, {\n onFocus: handleOnFocus,\n onMouseOut: handleOnMouseOut,\n onChange: handleOnChange,\n onBlur: handleOnBlur,\n });\n\n return (\n <EditableContainer\n className={hovered || editing ? 'editable-title-component' : ''}\n onMouseEnter={() => setHovered(true)}\n onMouseLeave={() => setHovered(false)}\n data-testid={DSPageHeaderDataTestIds.EDITABLE_HEADER_TITLE}\n >\n {(hovered || editing) && (\n <DSInputText\n onChange={handleOnChange}\n {...rest}\n {...globals}\n placeholder=\"\"\n style={{ width: width + 10, minWidth: '260px', maxWidth: '100%' }}\n value={titleValue}\n />\n )}\n <div ref={titleRef} style={{ width: 'fit-content' }}>\n <PageHeaderTitle showMarker={showMarker && !hovered && !editing}>{titleValue}</PageHeaderTitle>\n </div>\n </EditableContainer>\n );\n};\n\nconst props = {\n ...globalAttributesPropTypes,\n /** The title text */\n children: PropTypes.string.description('The title text'),\n /** Whether the title is editing or not */\n editing: PropTypes.bool.description('Whether the title is editing or not'),\n /** Show error marker */\n showMarker: PropTypes.bool.description('Show error marker'),\n};\n\nPageHeaderEditableTitle.propTypes = props as WeakValidationMap<unknown>;\nPageHeaderEditableTitle.displayName = 'PageHeaderEditableTitle';\nconst DSPageHeaderEditableTitleWithSchema = describe(PageHeaderEditableTitle);\n\nDSPageHeaderEditableTitleWithSchema.propTypes = props as WeakValidationMap<unknown>;\n\nexport default PageHeaderEditableTitle;\n\nexport { DSPageHeaderEditableTitleWithSchema };\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACwEnB,SAOI,KAPJ;AAvEJ,SAAgB,QAAQ,UAAU,mBAAmB;AACrD,SAAS,aAAa,iBAAiB,wBAAwB;AAC/D,SAAS,cAAc;AACvB,SAAS,WAAW,UAAU,wBAAwB,iCAAiC;AACvF,SAAS,0BAA0B,kBAAkB;AACrD,SAAS,uBAAuB;AAChC,SAAS,+BAA+B;AAKxC,MAAM,oBAAoB,OAAO,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAU7B,mBAAmB,iBAAiB;AAAA;AAAA;AAAA,SAGpC,mBAAmB,iBAAiB;AAAA,mBAC1B,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,MAAM,GAAG;AAAA;AAAA,eAE5C,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAYjD,MAAM,0BAA0B,CAACA,WAAwC;AAC9E,QAAM,EAAE,UAAU,OAAO,SAAS,aAAa,YAAY,GAAG,KAAK,IAAIA;AACvE,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,CAAC,SAAS,UAAU,IAAI,yBAAyB,eAAe,KAAK;AAC3E,QAAM,WAAW,OAAO,IAAI;AAC5B,QAAM,EAAE,MAAM,IAAI,WAAW,QAAQ;AAErC,QAAM,iBAA6D,YAAY,CAAC,MAAM;AACpF,kBAAc,EAAE,OAAO,KAAK;AAAA,EAC9B,GAAG,CAAC,CAAC;AAEL,QAAM,gBAAyC,YAAY,MAAM;AAC/D,eAAW,IAAI;AAAA,EACjB,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,eAAwC,YAAY,MAAM;AAC9D,eAAW,KAAK;AAAA,EAClB,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,mBAA4C,YAAY,MAAM;AAClE,eAAW,KAAK;AAAA,EAClB,GAAG,CAAC,CAAC;AAEL,QAAM,UAAU,uBAAuB,MAAM;AAAA,IAC3C,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,QAAQ;AAAA,EACV,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,WAAW,UAAU,6BAA6B;AAAA,MAC7D,cAAc,MAAM,WAAW,IAAI;AAAA,MACnC,cAAc,MAAM,WAAW,KAAK;AAAA,MACpC,eAAa,wBAAwB;AAAA,MAEnC;AAAA,oBAAW,YACX;AAAA,UAAC;AAAA;AAAA,YACC,UAAU;AAAA,YACT,GAAG;AAAA,YACH,GAAG;AAAA,YACJ,aAAY;AAAA,YACZ,OAAO,EAAE,OAAO,QAAQ,IAAI,UAAU,SAAS,UAAU,OAAO;AAAA,YAChE,OAAO;AAAA;AAAA,QACT;AAAA,QAEF,oBAAC,SAAI,KAAK,UAAU,OAAO,EAAE,OAAO,cAAc,GAChD,8BAAC,mBAAgB,YAAY,cAAc,CAAC,WAAW,CAAC,SAAU,sBAAW,GAC/E;AAAA;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,QAAQ;AAAA,EACZ,GAAG;AAAA;AAAA,EAEH,UAAU,UAAU,OAAO,YAAY,gBAAgB;AAAA;AAAA,EAEvD,SAAS,UAAU,KAAK,YAAY,qCAAqC;AAAA;AAAA,EAEzE,YAAY,UAAU,KAAK,YAAY,mBAAmB;AAC5D;AAEA,wBAAwB,YAAY;AACpC,wBAAwB,cAAc;AACtC,MAAM,sCAAsC,SAAS,uBAAuB;AAE5E,oCAAoC,YAAY;AAEhD,IAAO,kCAAQ;",
6
+ "names": ["props"]
7
+ }
@@ -0,0 +1,59 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { PropTypes, describe } from "@elliemae/ds-props-helpers";
4
+ import { styled } from "@elliemae/ds-system";
5
+ import { DSPageHeaderName, DSPageHeaderSlots, DSPageHeaderDataTestIds } from "../exported-related/index.js";
6
+ const PageHeaderSummaryWrapper = styled("div", {
7
+ name: DSPageHeaderName,
8
+ slot: DSPageHeaderSlots.SUMMARY
9
+ })`
10
+ display: flex;
11
+ flex-direction: row;
12
+ align-items: center;
13
+
14
+ margin-left: ${({ theme }) => theme.space.xxxs};
15
+ font-size: ${({ theme }) => theme.fontSizes.title[700]};
16
+ line-height: ${({ theme }) => theme.lineHeights.m};
17
+ font-weight: ${({ theme }) => theme.fontWeights.regular};
18
+ &:before {
19
+ display: block;
20
+ content: '';
21
+ height: 23px;
22
+ background: ${({ theme }) => theme.colors.neutral[600]};
23
+ width: 1px;
24
+ margin-right: ${({ theme }) => theme.space.xxs};
25
+ }
26
+ .ph-summary-value {
27
+ color: ${({ theme }) => theme.colors.neutral[700]};
28
+ padding-right: ${({ theme }) => theme.space.xxs};
29
+ }
30
+ .ph-summary-label {
31
+ color: ${({ theme }) => theme.colors.neutral[600]};
32
+ }
33
+ .ph-summary-space {
34
+ width: ${({ theme }) => theme.space.l};
35
+ }
36
+ `;
37
+ const PageHeaderSummary = (props2) => {
38
+ const { value = null, label = "", ...rest } = props2;
39
+ return /* @__PURE__ */ jsxs(PageHeaderSummaryWrapper, { "data-testid": DSPageHeaderDataTestIds.SUMMARY, ...rest, children: [
40
+ (value === 0 || value) && /* @__PURE__ */ jsx("div", { className: "ph-summary-value", children: value }),
41
+ label && /* @__PURE__ */ jsx("div", { className: "ph-summary-label", children: label }),
42
+ (value === 0 || value || label) && /* @__PURE__ */ jsx("div", { className: "ph-summary-space" })
43
+ ] });
44
+ };
45
+ const props = {
46
+ /** value for page header summary */
47
+ value: PropTypes.number.description("value for page header summary"),
48
+ /** label attached to value */
49
+ label: PropTypes.string.description("label attached to value")
50
+ };
51
+ PageHeaderSummary.propTypes = props;
52
+ PageHeaderSummary.displayName = "PageHeaderSummary";
53
+ const DSPageHeaderSummaryWithSchema = describe(PageHeaderSummary);
54
+ DSPageHeaderSummaryWithSchema.propTypes = props;
55
+ export {
56
+ DSPageHeaderSummaryWithSchema,
57
+ PageHeaderSummary
58
+ };
59
+ //# sourceMappingURL=PageHeaderSummary.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/PageHeaderSummary.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import type { WeakValidationMap } from 'react';\nimport React from 'react';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport { styled } from '@elliemae/ds-system';\nimport { DSPageHeaderName, DSPageHeaderSlots, DSPageHeaderDataTestIds } from '../exported-related/index.js';\n\nconst PageHeaderSummaryWrapper = styled('div', {\n name: DSPageHeaderName,\n slot: DSPageHeaderSlots.SUMMARY,\n})`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n margin-left: ${({ theme }) => theme.space.xxxs};\n font-size: ${({ theme }) => theme.fontSizes.title[700]};\n line-height: ${({ theme }) => theme.lineHeights.m};\n font-weight: ${({ theme }) => theme.fontWeights.regular};\n &:before {\n display: block;\n content: '';\n height: 23px;\n background: ${({ theme }) => theme.colors.neutral[600]};\n width: 1px;\n margin-right: ${({ theme }) => theme.space.xxs};\n }\n .ph-summary-value {\n color: ${({ theme }) => theme.colors.neutral[700]};\n padding-right: ${({ theme }) => theme.space.xxs};\n }\n .ph-summary-label {\n color: ${({ theme }) => theme.colors.neutral[600]};\n }\n .ph-summary-space {\n width: ${({ theme }) => theme.space.l};\n }\n`;\ninterface PageHeaderSummaryProps {\n /** value for page header summary */\n value?: number;\n /** label attached to value */\n label?: string;\n}\n\nconst PageHeaderSummary = (props: PageHeaderSummaryProps) => {\n const { value = null, label = '', ...rest } = props;\n return (\n <PageHeaderSummaryWrapper data-testid={DSPageHeaderDataTestIds.SUMMARY} {...rest}>\n {(value === 0 || value) && <div className=\"ph-summary-value\">{value}</div>}\n {label && <div className=\"ph-summary-label\">{label}</div>}\n {(value === 0 || value || label) && <div className=\"ph-summary-space\" />}\n </PageHeaderSummaryWrapper>\n );\n};\n\nconst props = {\n /** value for page header summary */\n value: PropTypes.number.description('value for page header summary'),\n /** label attached to value */\n label: PropTypes.string.description('label attached to value'),\n};\n\nPageHeaderSummary.propTypes = props as WeakValidationMap<unknown>;\nPageHeaderSummary.displayName = 'PageHeaderSummary';\nconst DSPageHeaderSummaryWithSchema = describe(PageHeaderSummary);\n\nDSPageHeaderSummaryWithSchema.propTypes = props as WeakValidationMap<unknown>;\n\nexport { PageHeaderSummary, DSPageHeaderSummaryWithSchema };\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC+CnB,SAC6B,KAD7B;AA7CJ,SAAS,WAAW,gBAAgB;AACpC,SAAS,cAAc;AACvB,SAAS,kBAAkB,mBAAmB,+BAA+B;AAE7E,MAAM,2BAA2B,OAAO,OAAO;AAAA,EAC7C,MAAM;AAAA,EACN,MAAM,kBAAkB;AAC1B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,iBAKgB,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM;AAAA,eAC7B,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,MAAM,GAAG;AAAA,iBACtC,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY;AAAA,iBACjC,CAAC,EAAE,MAAM,MAAM,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKhC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG;AAAA;AAAA,oBAErC,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM;AAAA;AAAA;AAAA,aAGlC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG;AAAA,qBAC/B,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM;AAAA;AAAA;AAAA,aAGnC,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,GAAG;AAAA;AAAA;AAAA,aAGvC,CAAC,EAAE,MAAM,MAAM,MAAM,MAAM;AAAA;AAAA;AAUxC,MAAM,oBAAoB,CAACA,WAAkC;AAC3D,QAAM,EAAE,QAAQ,MAAM,QAAQ,IAAI,GAAG,KAAK,IAAIA;AAC9C,SACE,qBAAC,4BAAyB,eAAa,wBAAwB,SAAU,GAAG,MACxE;AAAA,eAAU,KAAK,UAAU,oBAAC,SAAI,WAAU,oBAAoB,iBAAM;AAAA,IACnE,SAAS,oBAAC,SAAI,WAAU,oBAAoB,iBAAM;AAAA,KACjD,UAAU,KAAK,SAAS,UAAU,oBAAC,SAAI,WAAU,oBAAmB;AAAA,KACxE;AAEJ;AAEA,MAAM,QAAQ;AAAA;AAAA,EAEZ,OAAO,UAAU,OAAO,YAAY,+BAA+B;AAAA;AAAA,EAEnE,OAAO,UAAU,OAAO,YAAY,yBAAyB;AAC/D;AAEA,kBAAkB,YAAY;AAC9B,kBAAkB,cAAc;AAChC,MAAM,gCAAgC,SAAS,iBAAiB;AAEhE,8BAA8B,YAAY;",
6
+ "names": ["props"]
7
+ }
@@ -0,0 +1,43 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { styled } from "@elliemae/ds-system";
4
+ import { PropTypes, describe } from "@elliemae/ds-props-helpers";
5
+ import { DSTruncatedTooltipText, TooltipTextProvider } from "@elliemae/ds-truncated-tooltip-text";
6
+ import { RequiredMark } from "@elliemae/ds-form";
7
+ import { DSPageHeaderName, DSPageHeaderSlots, DSPageHeaderDataTestIds } from "../exported-related/index.js";
8
+ const PageHeaderTitleWrapper = styled("div", {
9
+ name: DSPageHeaderName,
10
+ slot: DSPageHeaderSlots.HEADER_TITLE
11
+ })`
12
+ display: grid;
13
+ font-size: ${({ theme }) => theme.fontSizes.title[800]};
14
+ color: ${({ theme }) => theme.colors.neutral["700"]};
15
+ line-height: normal;
16
+ font-weight: 400;
17
+ margin-right: 0.61538rem;
18
+
19
+ & .em-ds-form-required-mark {
20
+ position: absolute;
21
+ top: 0;
22
+ right: 0;
23
+ }
24
+ `;
25
+ const PageHeaderTitle = ({ children = "", showMarker = false, ...rest }) => /* @__PURE__ */ jsxs(PageHeaderTitleWrapper, { ...rest, "data-testid": DSPageHeaderDataTestIds.HEADER_TITLE, children: [
26
+ /* @__PURE__ */ jsx(TooltipTextProvider, { children: /* @__PURE__ */ jsx(DSTruncatedTooltipText, { value: children }) }),
27
+ showMarker && /* @__PURE__ */ jsx(RequiredMark, { required: true })
28
+ ] });
29
+ const props = {
30
+ /** page header title string */
31
+ children: PropTypes.string.description("Page header title string"),
32
+ /** show required mark */
33
+ showMarker: PropTypes.bool.description("show required mark")
34
+ };
35
+ PageHeaderTitle.propTypes = props;
36
+ PageHeaderTitle.displayName = "PageHeaderTitle";
37
+ const DSPageHeaderTitleWithSchema = describe(PageHeaderTitle);
38
+ DSPageHeaderTitleWithSchema.propTypes = props;
39
+ export {
40
+ DSPageHeaderTitleWithSchema,
41
+ PageHeaderTitle
42
+ };
43
+ //# sourceMappingURL=PageHeaderTitle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/components/PageHeaderTitle.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import type { WeakValidationMap } from 'react';\nimport React from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { PropTypes, describe } from '@elliemae/ds-props-helpers';\nimport { DSTruncatedTooltipText, TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';\nimport { RequiredMark } from '@elliemae/ds-form';\nimport { DSPageHeaderName, DSPageHeaderSlots, DSPageHeaderDataTestIds } from '../exported-related/index.js';\nconst PageHeaderTitleWrapper = styled('div', {\n name: DSPageHeaderName,\n slot: DSPageHeaderSlots.HEADER_TITLE,\n})`\n display: grid;\n font-size: ${({ theme }) => theme.fontSizes.title[800]};\n color: ${({ theme }) => theme.colors.neutral['700']};\n line-height: normal;\n font-weight: 400;\n margin-right: 0.61538rem;\n\n & .em-ds-form-required-mark {\n position: absolute;\n top: 0;\n right: 0;\n }\n`;\nconst PageHeaderTitle = ({ children = '', showMarker = false, ...rest }) => (\n <PageHeaderTitleWrapper {...rest} data-testid={DSPageHeaderDataTestIds.HEADER_TITLE}>\n <TooltipTextProvider>\n <DSTruncatedTooltipText value={children} />\n </TooltipTextProvider>\n {showMarker && <RequiredMark required />}\n </PageHeaderTitleWrapper>\n);\n\nconst props = {\n /** page header title string */\n children: PropTypes.string.description('Page header title string'),\n /** show required mark */\n showMarker: PropTypes.bool.description('show required mark'),\n};\n\nPageHeaderTitle.propTypes = props as WeakValidationMap<unknown>;\nPageHeaderTitle.displayName = 'PageHeaderTitle';\nconst DSPageHeaderTitleWithSchema = describe(PageHeaderTitle);\n\nDSPageHeaderTitleWithSchema.propTypes = props as WeakValidationMap<unknown>;\n\nexport { PageHeaderTitle, DSPageHeaderTitleWithSchema };\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACyBrB,SAEI,KAFJ;AAvBF,SAAS,cAAc;AACvB,SAAS,WAAW,gBAAgB;AACpC,SAAS,wBAAwB,2BAA2B;AAC5D,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB,mBAAmB,+BAA+B;AAC7E,MAAM,yBAAyB,OAAO,OAAO;AAAA,EAC3C,MAAM;AAAA,EACN,MAAM,kBAAkB;AAC1B,CAAC;AAAA;AAAA,eAEc,CAAC,EAAE,MAAM,MAAM,MAAM,UAAU,MAAM,GAAG;AAAA,WAC5C,CAAC,EAAE,MAAM,MAAM,MAAM,OAAO,QAAQ,KAAK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWpD,MAAM,kBAAkB,CAAC,EAAE,WAAW,IAAI,aAAa,OAAO,GAAG,KAAK,MACpE,qBAAC,0BAAwB,GAAG,MAAM,eAAa,wBAAwB,cACrE;AAAA,sBAAC,uBACC,8BAAC,0BAAuB,OAAO,UAAU,GAC3C;AAAA,EACC,cAAc,oBAAC,gBAAa,UAAQ,MAAC;AAAA,GACxC;AAGF,MAAM,QAAQ;AAAA;AAAA,EAEZ,UAAU,UAAU,OAAO,YAAY,0BAA0B;AAAA;AAAA,EAEjE,YAAY,UAAU,KAAK,YAAY,oBAAoB;AAC7D;AAEA,gBAAgB,YAAY;AAC5B,gBAAgB,cAAc;AAC9B,MAAM,8BAA8B,SAAS,eAAe;AAE5D,4BAA4B,YAAY;",
6
+ "names": []
7
+ }
@@ -0,0 +1,125 @@
1
+ import * as React from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useMemo } from "react";
4
+ import {
5
+ useValidateTypescriptPropTypes,
6
+ useMemoMergePropsWithDefault,
7
+ useGetGlobalAttributes,
8
+ useGetXstyledProps
9
+ } from "@elliemae/ds-props-helpers";
10
+ import { PageHeaderPropTypes, defaultProps } from "../react-desc-prop-types.js";
11
+ import {
12
+ DSPageHeaderName,
13
+ BackArrowSkeleton,
14
+ BreadcrumbSkeleton,
15
+ MenuSkeleton,
16
+ PageTitleSkeleton,
17
+ SummarySkeleton,
18
+ ToolbarSkeleton
19
+ } from "../exported-related/index.js";
20
+ const usePageHeader = (props) => {
21
+ const propsWithDefaults = useMemoMergePropsWithDefault(props, defaultProps);
22
+ useValidateTypescriptPropTypes(propsWithDefaults, PageHeaderPropTypes, DSPageHeaderName);
23
+ const {
24
+ menu,
25
+ Menu,
26
+ pageTitle,
27
+ PageTitle,
28
+ toolbar,
29
+ Toolbar,
30
+ summary,
31
+ Summary,
32
+ backarrow,
33
+ Backarrow,
34
+ breadcrumbs,
35
+ Breadcrumbs,
36
+ isSkeleton,
37
+ ...rest
38
+ } = props;
39
+ const globalAttributes = useGetGlobalAttributes(propsWithDefaults);
40
+ const xStyledProps = useGetXstyledProps(propsWithDefaults);
41
+ const currentBackArrow = useMemo(() => {
42
+ if (isSkeleton && (Backarrow || backarrow))
43
+ return /* @__PURE__ */ jsx(BackArrowSkeleton, {});
44
+ if (Backarrow)
45
+ return /* @__PURE__ */ jsx(Backarrow, {});
46
+ if (backarrow)
47
+ return backarrow;
48
+ return void 0;
49
+ }, [Backarrow, backarrow, isSkeleton]);
50
+ const currentMenu = useMemo(() => {
51
+ if (isSkeleton && (Menu || menu))
52
+ return /* @__PURE__ */ jsx(MenuSkeleton, {});
53
+ if (Menu)
54
+ return /* @__PURE__ */ jsx(Menu, {});
55
+ if (menu)
56
+ return menu;
57
+ return void 0;
58
+ }, [Menu, menu, isSkeleton]);
59
+ const currentBreadcrumbs = useMemo(() => {
60
+ if (isSkeleton && (Breadcrumbs || breadcrumbs))
61
+ return /* @__PURE__ */ jsx(BreadcrumbSkeleton, {});
62
+ if (Breadcrumbs)
63
+ return /* @__PURE__ */ jsx(Breadcrumbs, {});
64
+ if (breadcrumbs)
65
+ return breadcrumbs;
66
+ return void 0;
67
+ }, [Breadcrumbs, breadcrumbs, isSkeleton]);
68
+ const currentSummary = useMemo(() => {
69
+ if (isSkeleton && (Summary || summary))
70
+ return /* @__PURE__ */ jsx(SummarySkeleton, {});
71
+ if (Summary)
72
+ return /* @__PURE__ */ jsx(Summary, {});
73
+ if (summary)
74
+ return summary;
75
+ return void 0;
76
+ }, [Summary, summary, isSkeleton]);
77
+ const currentToolbar = useMemo(() => {
78
+ if (isSkeleton && (Toolbar || toolbar))
79
+ return /* @__PURE__ */ jsx(ToolbarSkeleton, {});
80
+ if (Toolbar)
81
+ return /* @__PURE__ */ jsx(Toolbar, {});
82
+ if (toolbar)
83
+ return toolbar;
84
+ return void 0;
85
+ }, [Toolbar, toolbar, isSkeleton]);
86
+ const currentPageTitle = useMemo(() => {
87
+ if (isSkeleton && (PageTitle || pageTitle))
88
+ return /* @__PURE__ */ jsx(PageTitleSkeleton, {});
89
+ if (PageTitle)
90
+ return /* @__PURE__ */ jsx(PageTitle, {});
91
+ if (pageTitle)
92
+ return pageTitle;
93
+ return void 0;
94
+ }, [PageTitle, pageTitle, isSkeleton]);
95
+ return useMemo(
96
+ () => ({
97
+ propsWithDefaults,
98
+ globalAttributes,
99
+ xStyledProps,
100
+ currentBackArrow,
101
+ currentMenu,
102
+ currentBreadcrumbs,
103
+ currentSummary,
104
+ currentToolbar,
105
+ currentPageTitle,
106
+ ...rest
107
+ }),
108
+ [
109
+ propsWithDefaults,
110
+ currentBackArrow,
111
+ currentBreadcrumbs,
112
+ currentMenu,
113
+ currentPageTitle,
114
+ currentSummary,
115
+ currentToolbar,
116
+ globalAttributes,
117
+ rest,
118
+ xStyledProps
119
+ ]
120
+ );
121
+ };
122
+ export {
123
+ usePageHeader
124
+ };
125
+ //# sourceMappingURL=usePageHeader.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/config/usePageHeader.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport { useMemo } from 'react';\nimport {\n useValidateTypescriptPropTypes,\n useMemoMergePropsWithDefault,\n useGetGlobalAttributes,\n useGetXstyledProps,\n} from '@elliemae/ds-props-helpers';\n\nimport type { DSPageHeaderT } from '../react-desc-prop-types.js';\nimport { PageHeaderPropTypes, defaultProps } from '../react-desc-prop-types.js';\nimport {\n DSPageHeaderName,\n BackArrowSkeleton,\n BreadcrumbSkeleton,\n MenuSkeleton,\n PageTitleSkeleton,\n SummarySkeleton,\n ToolbarSkeleton,\n} from '../exported-related/index.js';\nexport const usePageHeader = (props: DSPageHeaderT.Props) => {\n const propsWithDefaults = useMemoMergePropsWithDefault(props, defaultProps);\n useValidateTypescriptPropTypes(propsWithDefaults, PageHeaderPropTypes, DSPageHeaderName);\n\n const {\n menu,\n Menu,\n pageTitle,\n PageTitle,\n toolbar,\n Toolbar,\n summary,\n Summary,\n backarrow,\n Backarrow,\n breadcrumbs,\n Breadcrumbs,\n isSkeleton,\n ...rest\n } = props;\n\n const globalAttributes = useGetGlobalAttributes(propsWithDefaults);\n const xStyledProps = useGetXstyledProps(propsWithDefaults);\n\n const currentBackArrow = useMemo(() => {\n if (isSkeleton && (Backarrow || backarrow)) return <BackArrowSkeleton />;\n if (Backarrow) return <Backarrow />;\n if (backarrow) return backarrow;\n return undefined;\n }, [Backarrow, backarrow, isSkeleton]);\n\n const currentMenu = useMemo(() => {\n if (isSkeleton && (Menu || menu)) return <MenuSkeleton />;\n if (Menu) return <Menu />;\n if (menu) return menu;\n return undefined;\n }, [Menu, menu, isSkeleton]);\n\n const currentBreadcrumbs = useMemo(() => {\n if (isSkeleton && (Breadcrumbs || breadcrumbs)) return <BreadcrumbSkeleton />;\n if (Breadcrumbs) return <Breadcrumbs />;\n if (breadcrumbs) return breadcrumbs;\n return undefined;\n }, [Breadcrumbs, breadcrumbs, isSkeleton]);\n\n const currentSummary = useMemo(() => {\n if (isSkeleton && (Summary || summary)) return <SummarySkeleton />;\n if (Summary) return <Summary />;\n if (summary) return summary;\n return undefined;\n }, [Summary, summary, isSkeleton]);\n\n const currentToolbar = useMemo(() => {\n if (isSkeleton && (Toolbar || toolbar)) return <ToolbarSkeleton />;\n if (Toolbar) return <Toolbar />;\n if (toolbar) return toolbar;\n return undefined;\n }, [Toolbar, toolbar, isSkeleton]);\n\n const currentPageTitle = useMemo(() => {\n if (isSkeleton && (PageTitle || pageTitle)) return <PageTitleSkeleton />;\n if (PageTitle) return <PageTitle />;\n if (pageTitle) return pageTitle;\n return undefined;\n }, [PageTitle, pageTitle, isSkeleton]);\n\n return useMemo(\n () => ({\n propsWithDefaults,\n globalAttributes,\n xStyledProps,\n currentBackArrow,\n currentMenu,\n currentBreadcrumbs,\n currentSummary,\n currentToolbar,\n currentPageTitle,\n ...rest,\n }),\n [\n propsWithDefaults,\n currentBackArrow,\n currentBreadcrumbs,\n currentMenu,\n currentPageTitle,\n currentSummary,\n currentToolbar,\n globalAttributes,\n rest,\n xStyledProps,\n ],\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC6CgC;AA5CvD,SAAS,eAAe;AACxB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAGP,SAAS,qBAAqB,oBAAoB;AAClD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACA,MAAM,gBAAgB,CAAC,UAA+B;AAC3D,QAAM,oBAAoB,6BAA6B,OAAO,YAAY;AAC1E,iCAA+B,mBAAmB,qBAAqB,gBAAgB;AAEvF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AAEJ,QAAM,mBAAmB,uBAAuB,iBAAiB;AACjE,QAAM,eAAe,mBAAmB,iBAAiB;AAEzD,QAAM,mBAAmB,QAAQ,MAAM;AACrC,QAAI,eAAe,aAAa;AAAY,aAAO,oBAAC,qBAAkB;AACtE,QAAI;AAAW,aAAO,oBAAC,aAAU;AACjC,QAAI;AAAW,aAAO;AACtB,WAAO;AAAA,EACT,GAAG,CAAC,WAAW,WAAW,UAAU,CAAC;AAErC,QAAM,cAAc,QAAQ,MAAM;AAChC,QAAI,eAAe,QAAQ;AAAO,aAAO,oBAAC,gBAAa;AACvD,QAAI;AAAM,aAAO,oBAAC,QAAK;AACvB,QAAI;AAAM,aAAO;AACjB,WAAO;AAAA,EACT,GAAG,CAAC,MAAM,MAAM,UAAU,CAAC;AAE3B,QAAM,qBAAqB,QAAQ,MAAM;AACvC,QAAI,eAAe,eAAe;AAAc,aAAO,oBAAC,sBAAmB;AAC3E,QAAI;AAAa,aAAO,oBAAC,eAAY;AACrC,QAAI;AAAa,aAAO;AACxB,WAAO;AAAA,EACT,GAAG,CAAC,aAAa,aAAa,UAAU,CAAC;AAEzC,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI,eAAe,WAAW;AAAU,aAAO,oBAAC,mBAAgB;AAChE,QAAI;AAAS,aAAO,oBAAC,WAAQ;AAC7B,QAAI;AAAS,aAAO;AACpB,WAAO;AAAA,EACT,GAAG,CAAC,SAAS,SAAS,UAAU,CAAC;AAEjC,QAAM,iBAAiB,QAAQ,MAAM;AACnC,QAAI,eAAe,WAAW;AAAU,aAAO,oBAAC,mBAAgB;AAChE,QAAI;AAAS,aAAO,oBAAC,WAAQ;AAC7B,QAAI;AAAS,aAAO;AACpB,WAAO;AAAA,EACT,GAAG,CAAC,SAAS,SAAS,UAAU,CAAC;AAEjC,QAAM,mBAAmB,QAAQ,MAAM;AACrC,QAAI,eAAe,aAAa;AAAY,aAAO,oBAAC,qBAAkB;AACtE,QAAI;AAAW,aAAO,oBAAC,aAAU;AACjC,QAAI;AAAW,aAAO;AACtB,WAAO;AAAA,EACT,GAAG,CAAC,WAAW,WAAW,UAAU,CAAC;AAErC,SAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
6
+ "names": []
7
+ }
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ const DSPageHeaderDataTestIds = {
3
+ CONTAINER: "ds-page-header-container",
4
+ HEADER_TITLE: "ds-page-header-title",
5
+ EDITABLE_HEADER_TITLE: "ds-page-header-editable-title",
6
+ SUMMARY: "ds-page-header-summary"
7
+ };
8
+ export {
9
+ DSPageHeaderDataTestIds
10
+ };
11
+ //# sourceMappingURL=data-test-ids.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/data-test-ids.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const DSPageHeaderDataTestIds = {\n CONTAINER: 'ds-page-header-container',\n HEADER_TITLE: 'ds-page-header-title',\n EDITABLE_HEADER_TITLE: 'ds-page-header-editable-title',\n SUMMARY: 'ds-page-header-summary',\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,0BAA0B;AAAA,EACrC,WAAW;AAAA,EACX,cAAc;AAAA,EACd,uBAAuB;AAAA,EACvB,SAAS;AACX;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ export * from "./data-test-ids.js";
3
+ export * from "./theming.js";
4
+ export * from "./skeletons.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/index.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './data-test-ids.js';\nexport * from './theming.js';\nexport * from './skeletons.js';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,22 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { DSSkeleton } from "@elliemae/ds-skeleton";
4
+ import { Grid } from "@elliemae/ds-grid";
5
+ const ToolbarSkeleton = () => /* @__PURE__ */ jsxs(Grid, { cols: ["repeat(2, auto)"], gutter: "xxxs", children: [
6
+ /* @__PURE__ */ jsx(DSSkeleton, { variant: "rectangular", width: "4rem", height: "2rem" }),
7
+ /* @__PURE__ */ jsx(DSSkeleton, { variant: "rectangular", width: "4rem", height: "2rem" })
8
+ ] });
9
+ const BreadcrumbSkeleton = () => /* @__PURE__ */ jsx(Grid, { cols: ["auto"], gutter: "xxxs", justifyContent: "flex-start", height: "24px", alignItems: "center", children: /* @__PURE__ */ jsx(DSSkeleton, { variant: "rectangular", width: "4rem", height: "1rem" }) });
10
+ const SummarySkeleton = () => /* @__PURE__ */ jsx(DSSkeleton, { marginLeft: "xxs", variant: "rectangular", width: "4rem", height: "2rem" });
11
+ const PageTitleSkeleton = () => /* @__PURE__ */ jsx(DSSkeleton, { variant: "rectangular", maxWidth: "100%", height: "2rem", minWidth: "200px" });
12
+ const MenuSkeleton = () => /* @__PURE__ */ jsx(DSSkeleton, { variant: "rectangular", width: "2rem", height: "2rem" });
13
+ const BackArrowSkeleton = () => /* @__PURE__ */ jsx(DSSkeleton, { marginRight: "xxs", variant: "rectangular", width: "2rem", height: "2rem" });
14
+ export {
15
+ BackArrowSkeleton,
16
+ BreadcrumbSkeleton,
17
+ MenuSkeleton,
18
+ PageTitleSkeleton,
19
+ SummarySkeleton,
20
+ ToolbarSkeleton
21
+ };
22
+ //# sourceMappingURL=skeletons.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/skeletons.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { DSSkeleton } from '@elliemae/ds-skeleton';\nimport { Grid } from '@elliemae/ds-grid';\nexport const ToolbarSkeleton = () => (\n <Grid cols={['repeat(2, auto)']} gutter={'xxxs'}>\n <DSSkeleton variant=\"rectangular\" width=\"4rem\" height=\"2rem\" />\n <DSSkeleton variant=\"rectangular\" width=\"4rem\" height=\"2rem\" />\n </Grid>\n);\nexport const BreadcrumbSkeleton = () => (\n <Grid cols={['auto']} gutter={'xxxs'} justifyContent=\"flex-start\" height=\"24px\" alignItems=\"center\">\n <DSSkeleton variant=\"rectangular\" width=\"4rem\" height=\"1rem\" />\n </Grid>\n);\nexport const SummarySkeleton = () => <DSSkeleton marginLeft={'xxs'} variant=\"rectangular\" width=\"4rem\" height=\"2rem\" />;\nexport const PageTitleSkeleton = () => (\n <DSSkeleton variant=\"rectangular\" maxWidth=\"100%\" height=\"2rem\" minWidth=\"200px\" />\n);\nexport const MenuSkeleton = () => <DSSkeleton variant=\"rectangular\" width=\"2rem\" height=\"2rem\" />;\nexport const BackArrowSkeleton = () => (\n <DSSkeleton marginRight=\"xxs\" variant=\"rectangular\" width=\"2rem\" height=\"2rem\" />\n);\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACGrB,SACE,KADF;AAHF,SAAS,kBAAkB;AAC3B,SAAS,YAAY;AACd,MAAM,kBAAkB,MAC7B,qBAAC,QAAK,MAAM,CAAC,iBAAiB,GAAG,QAAQ,QACvC;AAAA,sBAAC,cAAW,SAAQ,eAAc,OAAM,QAAO,QAAO,QAAO;AAAA,EAC7D,oBAAC,cAAW,SAAQ,eAAc,OAAM,QAAO,QAAO,QAAO;AAAA,GAC/D;AAEK,MAAM,qBAAqB,MAChC,oBAAC,QAAK,MAAM,CAAC,MAAM,GAAG,QAAQ,QAAQ,gBAAe,cAAa,QAAO,QAAO,YAAW,UACzF,8BAAC,cAAW,SAAQ,eAAc,OAAM,QAAO,QAAO,QAAO,GAC/D;AAEK,MAAM,kBAAkB,MAAM,oBAAC,cAAW,YAAY,OAAO,SAAQ,eAAc,OAAM,QAAO,QAAO,QAAO;AAC9G,MAAM,oBAAoB,MAC/B,oBAAC,cAAW,SAAQ,eAAc,UAAS,QAAO,QAAO,QAAO,UAAS,SAAQ;AAE5E,MAAM,eAAe,MAAM,oBAAC,cAAW,SAAQ,eAAc,OAAM,QAAO,QAAO,QAAO;AACxF,MAAM,oBAAoB,MAC/B,oBAAC,cAAW,aAAY,OAAM,SAAQ,eAAc,OAAM,QAAO,QAAO,QAAO;",
6
+ "names": []
7
+ }
@@ -0,0 +1,15 @@
1
+ import * as React from "react";
2
+ const DSPageHeaderName = "DSPageHeader";
3
+ const DSPageHeaderSlots = {
4
+ CONTAINER: "root",
5
+ HEADER_TITLE: "header-title",
6
+ TOOLBAR: "toolbar",
7
+ MENU: "menu",
8
+ SUMMARY: "summary",
9
+ BACK: "back"
10
+ };
11
+ export {
12
+ DSPageHeaderName,
13
+ DSPageHeaderSlots
14
+ };
15
+ //# sourceMappingURL=theming.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/theming.ts"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const DSPageHeaderName = 'DSPageHeader';\n\nexport const DSPageHeaderSlots = {\n CONTAINER: 'root',\n HEADER_TITLE: 'header-title',\n TOOLBAR: 'toolbar',\n MENU: 'menu',\n SUMMARY: 'summary',\n BACK: 'back',\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,mBAAmB;AAEzB,MAAM,oBAAoB;AAAA,EAC/B,WAAW;AAAA,EACX,cAAc;AAAA,EACd,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AACR;",
6
+ "names": []
7
+ }
@@ -0,0 +1,27 @@
1
+ import * as React from "react";
2
+ import {
3
+ DSPageHeaderV2,
4
+ DSPageHeaderWithSchema,
5
+ PageHeaderCustomRenderer,
6
+ PageHeaderEditableTitle,
7
+ PageHeaderMenu,
8
+ PageHeaderSummary,
9
+ PageHeaderTitle
10
+ } from "./PageHeader.js";
11
+ import { DSPageHeaderSummaryWithSchema } from "./components/PageHeaderSummary.js";
12
+ import { DSPageHeaderTitleWithSchema } from "./components/PageHeaderTitle.js";
13
+ import { DSPageHeaderEditableTitleWithSchema } from "./components/PageHeaderEditableTitle.js";
14
+ export * from "./exported-related/index.js";
15
+ export {
16
+ DSPageHeaderEditableTitleWithSchema,
17
+ DSPageHeaderSummaryWithSchema,
18
+ DSPageHeaderTitleWithSchema,
19
+ DSPageHeaderV2,
20
+ DSPageHeaderWithSchema,
21
+ PageHeaderCustomRenderer,
22
+ PageHeaderEditableTitle,
23
+ PageHeaderMenu,
24
+ PageHeaderSummary,
25
+ PageHeaderTitle
26
+ };
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export {\n DSPageHeaderV2,\n DSPageHeaderWithSchema,\n PageHeaderCustomRenderer,\n PageHeaderEditableTitle,\n PageHeaderMenu,\n PageHeaderSummary,\n PageHeaderTitle,\n} from './PageHeader.js';\nexport { DSPageHeaderSummaryWithSchema } from './components/PageHeaderSummary.js';\nexport { DSPageHeaderTitleWithSchema } from './components/PageHeaderTitle.js';\nexport { DSPageHeaderEditableTitleWithSchema } from './components/PageHeaderEditableTitle.js';\nexport * from './exported-related/index.js';\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,qCAAqC;AAC9C,SAAS,mCAAmC;AAC5C,SAAS,2CAA2C;AACpD,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "type": "module",
3
+ "sideEffects": [
4
+ "*.css",
5
+ "*.scss"
6
+ ]
7
+ }