@elliemae/ds-page-header 2.3.0-alpha.8 → 2.3.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/cjs/DSPageHeader.js +21 -0
  2. package/cjs/index.js +26 -0
  3. package/cjs/v1/DSPageHeader.js +124 -0
  4. package/cjs/v1/DropdownTitle.js +41 -0
  5. package/cjs/v1/EditableTitle.js +55 -0
  6. package/cjs/v1/PageHeaderImpl.js +129 -0
  7. package/cjs/v1/Title.js +25 -0
  8. package/cjs/v1/TitleWrapper.js +8 -0
  9. package/cjs/v2/PageHeader.js +91 -0
  10. package/cjs/v2/components/PageHeaderBack/PageHeaderBack.js +37 -0
  11. package/cjs/v2/components/PageHeaderEditableTitle/PageHeaderEditableTitle.js +121 -0
  12. package/cjs/v2/components/PageHeaderMenu/PageHeaderMenu.js +37 -0
  13. package/cjs/v2/components/PageHeaderSummary/PageHeaderSummary.js +61 -0
  14. package/cjs/v2/components/PageHeaderTitle/PageHeaderTitle.js +64 -0
  15. package/cjs/v2/components/PageHeaderToolbar/PageHeaderToolbar.js +37 -0
  16. package/cjs/v2/components/blocks.js +25 -0
  17. package/cjs/v2/props.js +44 -0
  18. package/esm/DSPageHeader.js +6 -0
  19. package/esm/index.js +6 -0
  20. package/esm/v1/DSPageHeader.js +112 -0
  21. package/esm/v1/DropdownTitle.js +33 -0
  22. package/esm/v1/EditableTitle.js +47 -0
  23. package/esm/v1/PageHeaderImpl.js +121 -0
  24. package/esm/v1/Title.js +18 -0
  25. package/esm/v1/TitleWrapper.js +6 -0
  26. package/esm/v2/PageHeader.js +75 -0
  27. package/esm/v2/components/PageHeaderBack/PageHeaderBack.js +28 -0
  28. package/esm/v2/components/PageHeaderEditableTitle/PageHeaderEditableTitle.js +108 -0
  29. package/esm/v2/components/PageHeaderMenu/PageHeaderMenu.js +28 -0
  30. package/esm/v2/components/PageHeaderSummary/PageHeaderSummary.js +50 -0
  31. package/esm/v2/components/PageHeaderTitle/PageHeaderTitle.js +51 -0
  32. package/esm/v2/components/PageHeaderToolbar/PageHeaderToolbar.js +28 -0
  33. package/esm/v2/components/blocks.js +13 -0
  34. package/esm/v2/props.js +39 -0
  35. package/package.json +60 -62
  36. package/types/DSPageHeader.d.ts +2 -0
  37. package/types/index.d.ts +6 -0
  38. package/types/v1/DSPageHeader.d.ts +124 -0
  39. package/types/v1/DropdownTitle.d.ts +13 -0
  40. package/types/v1/EditableTitle.d.ts +16 -0
  41. package/types/v1/PageHeaderImpl.d.ts +21 -0
  42. package/types/v1/Title.d.ts +5 -0
  43. package/types/v1/TitleWrapper.d.ts +3 -0
  44. package/types/v2/PageHeader.d.ts +86 -0
  45. package/types/v2/components/PageHeaderBack/PageHeaderBack.d.ts +5 -0
  46. package/types/v2/components/PageHeaderEditableTitle/PageHeaderEditableTitle.d.ts +72 -0
  47. package/types/v2/components/PageHeaderMenu/PageHeaderMenu.d.ts +5 -0
  48. package/types/v2/components/PageHeaderSummary/PageHeaderSummary.d.ts +31 -0
  49. package/types/v2/components/PageHeaderTitle/PageHeaderTitle.d.ts +31 -0
  50. package/types/v2/components/PageHeaderToolbar/PageHeaderToolbar.d.ts +5 -0
  51. package/types/v2/components/blocks.d.ts +9 -0
  52. package/types/v2/props.d.ts +69 -0
  53. package/types/v2/tests/utils.d.ts +56 -0
  54. package/dist/cjs/DSPageHeader.js +0 -36
  55. package/dist/cjs/DSPageHeader.js.map +0 -7
  56. package/dist/cjs/index.js +0 -43
  57. package/dist/cjs/index.js.map +0 -7
  58. package/dist/cjs/v1/DSPageHeader.js +0 -97
  59. package/dist/cjs/v1/DSPageHeader.js.map +0 -7
  60. package/dist/cjs/v1/DropdownTitle.js +0 -55
  61. package/dist/cjs/v1/DropdownTitle.js.map +0 -7
  62. package/dist/cjs/v1/EditableTitle.js +0 -69
  63. package/dist/cjs/v1/EditableTitle.js.map +0 -7
  64. package/dist/cjs/v1/PageHeaderImpl.js +0 -135
  65. package/dist/cjs/v1/PageHeaderImpl.js.map +0 -7
  66. package/dist/cjs/v1/Title.js +0 -43
  67. package/dist/cjs/v1/Title.js.map +0 -7
  68. package/dist/cjs/v1/TitleWrapper.js +0 -37
  69. package/dist/cjs/v1/TitleWrapper.js.map +0 -7
  70. package/dist/cjs/v2/PageHeader.js +0 -106
  71. package/dist/cjs/v2/PageHeader.js.map +0 -7
  72. package/dist/cjs/v2/components/PageHeaderBack/PageHeaderBack.js +0 -39
  73. package/dist/cjs/v2/components/PageHeaderBack/PageHeaderBack.js.map +0 -7
  74. package/dist/cjs/v2/components/PageHeaderEditableTitle/PageHeaderEditableTitle.js +0 -107
  75. package/dist/cjs/v2/components/PageHeaderEditableTitle/PageHeaderEditableTitle.js.map +0 -7
  76. package/dist/cjs/v2/components/PageHeaderMenu/PageHeaderMenu.js +0 -39
  77. package/dist/cjs/v2/components/PageHeaderMenu/PageHeaderMenu.js.map +0 -7
  78. package/dist/cjs/v2/components/PageHeaderSummary/PageHeaderSummary.js +0 -54
  79. package/dist/cjs/v2/components/PageHeaderSummary/PageHeaderSummary.js.map +0 -7
  80. package/dist/cjs/v2/components/PageHeaderTitle/PageHeaderTitle.js +0 -55
  81. package/dist/cjs/v2/components/PageHeaderTitle/PageHeaderTitle.js.map +0 -7
  82. package/dist/cjs/v2/components/PageHeaderToolbar/PageHeaderToolbar.js +0 -39
  83. package/dist/cjs/v2/components/PageHeaderToolbar/PageHeaderToolbar.js.map +0 -7
  84. package/dist/cjs/v2/components/blocks.js +0 -49
  85. package/dist/cjs/v2/components/blocks.js.map +0 -7
  86. package/dist/cjs/v2/props.js +0 -56
  87. package/dist/cjs/v2/props.js.map +0 -7
  88. package/dist/cjs/v2/tests/utils.js +0 -123
  89. package/dist/cjs/v2/tests/utils.js.map +0 -7
  90. package/dist/esm/DSPageHeader.js +0 -7
  91. package/dist/esm/DSPageHeader.js.map +0 -7
  92. package/dist/esm/index.js +0 -14
  93. package/dist/esm/index.js.map +0 -7
  94. package/dist/esm/v1/DSPageHeader.js +0 -68
  95. package/dist/esm/v1/DSPageHeader.js.map +0 -7
  96. package/dist/esm/v1/DropdownTitle.js +0 -26
  97. package/dist/esm/v1/DropdownTitle.js.map +0 -7
  98. package/dist/esm/v1/EditableTitle.js +0 -40
  99. package/dist/esm/v1/EditableTitle.js.map +0 -7
  100. package/dist/esm/v1/PageHeaderImpl.js +0 -106
  101. package/dist/esm/v1/PageHeaderImpl.js.map +0 -7
  102. package/dist/esm/v1/Title.js +0 -14
  103. package/dist/esm/v1/Title.js.map +0 -7
  104. package/dist/esm/v1/TitleWrapper.js +0 -8
  105. package/dist/esm/v1/TitleWrapper.js.map +0 -7
  106. package/dist/esm/v2/PageHeader.js +0 -77
  107. package/dist/esm/v2/PageHeader.js.map +0 -7
  108. package/dist/esm/v2/components/PageHeaderBack/PageHeaderBack.js +0 -10
  109. package/dist/esm/v2/components/PageHeaderBack/PageHeaderBack.js.map +0 -7
  110. package/dist/esm/v2/components/PageHeaderEditableTitle/PageHeaderEditableTitle.js +0 -78
  111. package/dist/esm/v2/components/PageHeaderEditableTitle/PageHeaderEditableTitle.js.map +0 -7
  112. package/dist/esm/v2/components/PageHeaderMenu/PageHeaderMenu.js +0 -10
  113. package/dist/esm/v2/components/PageHeaderMenu/PageHeaderMenu.js.map +0 -7
  114. package/dist/esm/v2/components/PageHeaderSummary/PageHeaderSummary.js +0 -25
  115. package/dist/esm/v2/components/PageHeaderSummary/PageHeaderSummary.js.map +0 -7
  116. package/dist/esm/v2/components/PageHeaderTitle/PageHeaderTitle.js +0 -26
  117. package/dist/esm/v2/components/PageHeaderTitle/PageHeaderTitle.js.map +0 -7
  118. package/dist/esm/v2/components/PageHeaderToolbar/PageHeaderToolbar.js +0 -10
  119. package/dist/esm/v2/components/PageHeaderToolbar/PageHeaderToolbar.js.map +0 -7
  120. package/dist/esm/v2/components/blocks.js +0 -20
  121. package/dist/esm/v2/components/blocks.js.map +0 -7
  122. package/dist/esm/v2/props.js +0 -27
  123. package/dist/esm/v2/props.js.map +0 -7
  124. package/dist/esm/v2/tests/utils.js +0 -94
  125. package/dist/esm/v2/tests/utils.js.map +0 -7
@@ -0,0 +1,121 @@
1
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
3
+ import 'core-js/modules/esnext.async-iterator.map.js';
4
+ import 'core-js/modules/esnext.iterator.map.js';
5
+ import 'core-js/modules/esnext.async-iterator.filter.js';
6
+ import 'core-js/modules/esnext.iterator.constructor.js';
7
+ import 'core-js/modules/esnext.iterator.filter.js';
8
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
9
+ import 'core-js/modules/esnext.iterator.for-each.js';
10
+ import 'react';
11
+ import { isFunction } from '@elliemae/ds-utilities';
12
+ import { aggregatedClasses } from '@elliemae/ds-classnames';
13
+ import { ChevronLeft } from '@elliemae/ds-icons';
14
+ import DSBreadcrumb from '@elliemae/ds-breadcrumb';
15
+ import { DSIconSizes } from '@elliemae/ds-icon';
16
+ import EditableTitle from './EditableTitle.js';
17
+ import Title from './Title.js';
18
+ import DropdownTitle from './DropdownTitle.js';
19
+ import { jsxs, jsx } from 'react/jsx-runtime';
20
+
21
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
+
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
+ const blockName = 'page-header';
25
+ const PageHeaderContainer = aggregatedClasses('div')(blockName, null, _ref => {
26
+ let {
27
+ withBottomSeparator,
28
+ subtitle
29
+ } = _ref;
30
+ return {
31
+ 'with-bottom-separator': withBottomSeparator,
32
+ 'with-subtitle': subtitle
33
+ };
34
+ });
35
+ const PageHeaderMainSection = aggregatedClasses('div')("".concat(blockName, "-main-section"));
36
+ const PageHeaderTitleSection = aggregatedClasses('div')("".concat(blockName, "-title-section"));
37
+ const PageHeaderToolbar = aggregatedClasses('div')("".concat(blockName, "-toolbar"), null, () => ({
38
+ 'ie-flex-basis-auto': true
39
+ }));
40
+ const PageHeaderBreadcrumb = aggregatedClasses(DSBreadcrumb)("".concat(blockName, "-breadcrumb"));
41
+ const PageHeaderTitle = aggregatedClasses('div')("".concat(blockName, "-title"));
42
+ const Subtitle = aggregatedClasses('div')("".concat(blockName, "-title"), 'subtitle');
43
+ const BackArrow = aggregatedClasses(ChevronLeft)("".concat(blockName, "-backarrow"));
44
+
45
+ function HeaderTitle(_ref2) {
46
+ let {
47
+ title = '',
48
+ options = [],
49
+ optionsMinWidth,
50
+ onSelectOption = () => null,
51
+ selection,
52
+ subtitle = '',
53
+ editable = false,
54
+ editing = false,
55
+ titleInputProps,
56
+ zIndex
57
+ } = _ref2;
58
+ const titleComponent = editable ? /*#__PURE__*/_jsx(EditableTitle, {
59
+ editing: editing,
60
+ titleInputProps: titleInputProps
61
+ }, void 0, title) : /*#__PURE__*/_jsx(Title, {}, void 0, title);
62
+ return /*#__PURE__*/_jsx(PageHeaderTitle, {}, void 0, options.length ? /*#__PURE__*/_jsx(DropdownTitle, {
63
+ onSelectOption: onSelectOption,
64
+ options: options,
65
+ optionsMinWidth: optionsMinWidth,
66
+ selection: selection,
67
+ titleComponent: titleComponent,
68
+ zIndex: zIndex
69
+ }) : titleComponent, subtitle && /*#__PURE__*/_jsx(Subtitle, {}, void 0, subtitle));
70
+ }
71
+
72
+ function PageHeaderImpl(_ref3) {
73
+ let {
74
+ containerProps,
75
+ className,
76
+ title,
77
+ titleOptions,
78
+ renderToolbar,
79
+ breadcrumbs = [],
80
+ previousPage,
81
+ onGoToPreviousPage = () => null,
82
+ subtitle = '',
83
+ withBottomSeparator,
84
+ onSelectOption,
85
+ optionsSelection,
86
+ optionsMinWidth,
87
+ editable = false,
88
+ titleInputProps,
89
+ editing = undefined,
90
+ zIndex
91
+ } = _ref3;
92
+ const hasBreadcrumbs = !!breadcrumbs.length;
93
+ return /*#__PURE__*/jsxs(PageHeaderContainer, _objectSpread(_objectSpread({}, containerProps), {}, {
94
+ className: className,
95
+ classProps: {
96
+ withBottomSeparator,
97
+ subtitle
98
+ },
99
+ children: [previousPage && /*#__PURE__*/_jsx(BackArrow, {
100
+ "data-testid": "back-arrow",
101
+ onClick: onGoToPreviousPage,
102
+ size: DSIconSizes.M
103
+ }), /*#__PURE__*/_jsx(PageHeaderMainSection, {}, void 0, hasBreadcrumbs && /*#__PURE__*/_jsx(PageHeaderBreadcrumb, {}, void 0, breadcrumbs.map(breadcrumb => /*#__PURE__*/jsx(DSBreadcrumb.Item, _objectSpread({}, breadcrumb), breadcrumb.label))), previousPage && /*#__PURE__*/_jsx(PageHeaderBreadcrumb, {}, void 0, /*#__PURE__*/jsx(DSBreadcrumb.Item, _objectSpread({
104
+ label: previousPage.title,
105
+ onClick: previousPage.onClick
106
+ }, previousPage), previousPage.id)), /*#__PURE__*/_jsx(PageHeaderTitleSection, {}, void 0, /*#__PURE__*/_jsx(HeaderTitle, {
107
+ editable: editable,
108
+ editing: editing,
109
+ onSelectOption: onSelectOption,
110
+ options: titleOptions,
111
+ optionsMinWidth: optionsMinWidth,
112
+ selection: optionsSelection,
113
+ subtitle: subtitle,
114
+ title: title,
115
+ titleInputProps: titleInputProps,
116
+ zIndex: zIndex
117
+ }), isFunction(renderToolbar) && /*#__PURE__*/_jsx(PageHeaderToolbar, {}, void 0, renderToolbar())))]
118
+ }));
119
+ }
120
+
121
+ export { PageHeaderImpl as default };
@@ -0,0 +1,18 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'react';
3
+ import { aggregatedClasses } from '@elliemae/ds-classnames';
4
+ import DSTruncatedTooltipText from '@elliemae/ds-truncated-tooltip-text';
5
+
6
+ const blockName = 'page-header';
7
+ const TitleWrapper = aggregatedClasses(DSTruncatedTooltipText)("".concat(blockName, "-title"), 'title');
8
+
9
+ const Title = _ref => {
10
+ let {
11
+ children
12
+ } = _ref;
13
+ return /*#__PURE__*/_jsx(TitleWrapper, {
14
+ value: children
15
+ });
16
+ };
17
+
18
+ export { Title as default };
@@ -0,0 +1,6 @@
1
+ import { aggregatedClasses } from '@elliemae/ds-classnames';
2
+
3
+ const blockName = 'page-header';
4
+ var TitleWrapper = aggregatedClasses('span')("".concat(blockName, "-title-wrapper"));
5
+
6
+ export { TitleWrapper as default };
@@ -0,0 +1,75 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
8
+ import 'react';
9
+ import { describe } from 'react-desc';
10
+ import { compact } from 'lodash';
11
+ import styled from 'styled-components';
12
+ import { Grid } from '@elliemae/ds-grid';
13
+ export { PageHeaderTitle } from './components/PageHeaderTitle/PageHeaderTitle.js';
14
+ export { PageHeaderEditableTitle } from './components/PageHeaderEditableTitle/PageHeaderEditableTitle.js';
15
+ export { PageHeaderSummary } from './components/PageHeaderSummary/PageHeaderSummary.js';
16
+ import { PageHeaderMenu } from './components/PageHeaderMenu/PageHeaderMenu.js';
17
+ export { PageHeaderMenu } from './components/PageHeaderMenu/PageHeaderMenu.js';
18
+ import { PageHeaderToolbar } from './components/PageHeaderToolbar/PageHeaderToolbar.js';
19
+ import { PageHeaderBack } from './components/PageHeaderBack/PageHeaderBack.js';
20
+ import './components/blocks.js';
21
+ import { navProps, defaultProps } from './props.js';
22
+ import { jsx } from 'react/jsx-runtime';
23
+ import { cssPrefix } from '@elliemae/ds-classnames';
24
+
25
+ var _div;
26
+
27
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
28
+
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
30
+ const PageHeaderCustomRenderer = /*#__PURE__*/styled.div.withConfig({
31
+ componentId: "sc-ps4m9w-0"
32
+ })(["width:auto;color:", ";font-style:italic;font-size:0.8rem;"], props => props.theme.colors.brand[800]);
33
+ const Container = /*#__PURE__*/styled.div.withConfig({
34
+ componentId: "sc-ps4m9w-1"
35
+ })(["width:100%;margin-bottom:8px;"]);
36
+ const ContainerWBorder = /*#__PURE__*/styled.div.withConfig({
37
+ componentId: "sc-ps4m9w-2"
38
+ })(["width:100%;padding:12px 0 8px 0;display:grid;align-items:center;height:100%;", ""], props => !props.withBottomSeparator ? '' : "border-bottom: solid 1px ".concat(props.theme.colors.neutral[400], ";"));
39
+
40
+ const DSPageHeaderV2 = _ref => {
41
+ let {
42
+ containerProps,
43
+ breadcrumbs,
44
+ pageTitle,
45
+ backarrow,
46
+ summary,
47
+ toolbar,
48
+ menu,
49
+ withBottomSeparator
50
+ } = _ref;
51
+ const wrapperRow = ['auto', 1];
52
+ const mainRow = compact([1, 'auto']);
53
+ const pageTitleRow = compact(['auto', menu && '30px', summary && 'auto', 1]);
54
+ return /*#__PURE__*/jsx(Container, _objectSpread(_objectSpread({}, containerProps), {}, {
55
+ children: /*#__PURE__*/_jsx(ContainerWBorder, {
56
+ withBottomSeparator: withBottomSeparator
57
+ }, void 0, /*#__PURE__*/_jsx(Grid, {
58
+ cols: wrapperRow
59
+ }, void 0, /*#__PURE__*/_jsx(Grid, {}, void 0, /*#__PURE__*/_jsx(PageHeaderBack, {}, void 0, backarrow)), /*#__PURE__*/_jsx(Grid, {
60
+ rows: ['auto', 'auto']
61
+ }, void 0, /*#__PURE__*/_jsx(Grid, {
62
+ className: "".concat(cssPrefix, "-page-header-v2-breadcrumb")
63
+ }, void 0, breadcrumbs), /*#__PURE__*/_jsx(Grid, {
64
+ cols: mainRow
65
+ }, void 0, /*#__PURE__*/_jsx(Grid, {
66
+ cols: pageTitleRow
67
+ }, void 0, pageTitle, menu && /*#__PURE__*/_jsx(PageHeaderMenu, {}, void 0, menu), summary, _div || (_div = /*#__PURE__*/_jsx("div", {}))), /*#__PURE__*/_jsx(Grid, {}, void 0, /*#__PURE__*/_jsx(PageHeaderToolbar, {}, void 0, toolbar))))))
68
+ }));
69
+ };
70
+
71
+ DSPageHeaderV2.defaultProps = defaultProps;
72
+ const DSPageHeaderWithSchema = describe(DSPageHeaderV2);
73
+ DSPageHeaderWithSchema.propTypes = navProps;
74
+
75
+ export { DSPageHeaderV2, DSPageHeaderWithSchema, PageHeaderCustomRenderer, DSPageHeaderV2 as default };
@@ -0,0 +1,28 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
8
+ import 'react';
9
+ import { PageHeaderBackWrapper } from '../blocks.js';
10
+ import { jsx } from 'react/jsx-runtime';
11
+
12
+ const _excluded = ["children"];
13
+
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+ const PageHeaderBack = _ref => {
18
+ let {
19
+ children
20
+ } = _ref,
21
+ rest = _objectWithoutProperties(_ref, _excluded);
22
+
23
+ return /*#__PURE__*/jsx(PageHeaderBackWrapper, _objectSpread(_objectSpread({}, rest), {}, {
24
+ children: children
25
+ }));
26
+ };
27
+
28
+ export { PageHeaderBack };
@@ -0,0 +1,108 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
4
+ import 'core-js/modules/web.dom-collections.iterator.js';
5
+ import 'core-js/modules/esnext.async-iterator.filter.js';
6
+ import 'core-js/modules/esnext.iterator.constructor.js';
7
+ import 'core-js/modules/esnext.iterator.filter.js';
8
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
9
+ import 'core-js/modules/esnext.iterator.for-each.js';
10
+ import { useState, useRef } from 'react';
11
+ import { noop } from 'lodash';
12
+ import styled from 'styled-components';
13
+ import { PropTypes, describe } from 'react-desc';
14
+ import { useDerivedStateFromProps, useMeasure } from '@elliemae/ds-utilities';
15
+ import { EditableTitleComponent } from '../blocks.js';
16
+ import { PageHeaderTitle } from '../PageHeaderTitle/PageHeaderTitle.js';
17
+ import { jsx } from 'react/jsx-runtime';
18
+
19
+ const _excluded = ["children", "editing", "onBlur", "onChange", "onFocus", "onMouseOut", "showMarker"];
20
+
21
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
+
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
+ const EditableContainer = /*#__PURE__*/styled.div.withConfig({
25
+ componentId: "sc-v0pkny-0"
26
+ })(["height:32px;position:relative;overflow:hidden;"]);
27
+ const PageHeaderEditableTitle = _ref => {
28
+ let {
29
+ children: value,
30
+ editing: editingProp = false,
31
+ onBlur = noop,
32
+ onChange = noop,
33
+ onFocus = noop,
34
+ onMouseOut = noop,
35
+ showMarker = false
36
+ } = _ref,
37
+ rest = _objectWithoutProperties(_ref, _excluded);
38
+
39
+ const [titleValue, setTitleValue] = useState(value);
40
+ const [hovered, setHovered] = useState(false);
41
+ const [editing, setEditing] = useDerivedStateFromProps(editingProp || false);
42
+ const titleRef = useRef(null);
43
+ const {
44
+ width
45
+ } = useMeasure(titleRef);
46
+ return /*#__PURE__*/_jsx(EditableContainer, {
47
+ className: hovered || editing ? 'editable-title-component' : '',
48
+ onMouseEnter: () => setHovered(true),
49
+ onMouseLeave: () => setHovered(false)
50
+ }, void 0, (hovered || editing) && /*#__PURE__*/jsx(EditableTitleComponent, _objectSpread(_objectSpread({}, rest), {}, {
51
+ onBlur: e => {
52
+ setEditing(false);
53
+ onBlur(e);
54
+ },
55
+ onChange: e => {
56
+ setTitleValue(e.target.value);
57
+ onChange(e);
58
+ },
59
+ onFocus: e => {
60
+ setEditing(true);
61
+ onFocus(e);
62
+ },
63
+ onMouseOut: e => {
64
+ setHovered(false);
65
+ onMouseOut(e);
66
+ },
67
+ style: {
68
+ width: width + 10,
69
+ minWidth: '260px',
70
+ maxWidth: '100%'
71
+ },
72
+ value: titleValue
73
+ })), /*#__PURE__*/jsx("div", {
74
+ ref: titleRef,
75
+ style: {
76
+ width: 'fit-content'
77
+ },
78
+ children: /*#__PURE__*/_jsx(PageHeaderTitle, {
79
+ showMarker: showMarker && !hovered && !editing
80
+ }, void 0, titleValue)
81
+ }));
82
+ };
83
+ const props = {
84
+ /** The title text */
85
+ children: PropTypes.string.description('The title text'),
86
+
87
+ /** Whether the title is editing or not */
88
+ editing: PropTypes.bool.description('Whether the title is editing or not'),
89
+
90
+ /** Show error marker */
91
+ showMarker: PropTypes.bool.description('Show error marker'),
92
+
93
+ /** blur callback */
94
+ onBlur: PropTypes.func.description('blur callback'),
95
+
96
+ /** on change handler */
97
+ onChange: PropTypes.func.description('on change handler'),
98
+
99
+ /** on focus handler */
100
+ onFocus: PropTypes.func.description('on focus handler'),
101
+
102
+ /** mouse out of component handler */
103
+ onMouseOut: PropTypes.func.description('mouse out of component handler')
104
+ };
105
+ const DSPageHeaderEditableTitleWithSchema = describe(PageHeaderEditableTitle);
106
+ DSPageHeaderEditableTitleWithSchema.propTypes = props;
107
+
108
+ export { DSPageHeaderEditableTitleWithSchema, PageHeaderEditableTitle, PageHeaderEditableTitle as default };
@@ -0,0 +1,28 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
8
+ import 'react';
9
+ import { PageHeaderMenuWrapper } from '../blocks.js';
10
+ import { jsx } from 'react/jsx-runtime';
11
+
12
+ const _excluded = ["children"];
13
+
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+ const PageHeaderMenu = _ref => {
18
+ let {
19
+ children
20
+ } = _ref,
21
+ rest = _objectWithoutProperties(_ref, _excluded);
22
+
23
+ return /*#__PURE__*/jsx(PageHeaderMenuWrapper, _objectSpread(_objectSpread({}, rest), {}, {
24
+ children: children
25
+ }));
26
+ };
27
+
28
+ export { PageHeaderMenu };
@@ -0,0 +1,50 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
8
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
9
+ import 'react';
10
+ import { PropTypes, describe } from 'react-desc';
11
+ import { PageHeaderSummaryWrapper } from '../blocks.js';
12
+ import { jsxs } from 'react/jsx-runtime';
13
+
14
+ var _div;
15
+
16
+ const _excluded = ["value", "label"];
17
+
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+
22
+ const PageHeaderSummary = _ref => {
23
+ let {
24
+ value = null,
25
+ label = ''
26
+ } = _ref,
27
+ rest = _objectWithoutProperties(_ref, _excluded);
28
+
29
+ return /*#__PURE__*/jsxs(PageHeaderSummaryWrapper, _objectSpread(_objectSpread({}, rest), {}, {
30
+ children: [(value === 0 || value) && /*#__PURE__*/_jsx("div", {
31
+ className: "ph-summary-value"
32
+ }, void 0, value), label && /*#__PURE__*/_jsx("div", {
33
+ className: "ph-summary-label"
34
+ }, void 0, label), (value === 0 || value || label) && (_div || (_div = /*#__PURE__*/_jsx("div", {
35
+ className: "ph-summary-space"
36
+ })))]
37
+ }));
38
+ };
39
+
40
+ const props = {
41
+ /** value for page header summary */
42
+ value: PropTypes.number.description('value for page header summary'),
43
+
44
+ /** label attached to value */
45
+ label: PropTypes.string.description('label attached to value')
46
+ };
47
+ const DSPageHeaderSummaryWithSchema = describe(PageHeaderSummary);
48
+ DSPageHeaderSummaryWithSchema.propTypes = props;
49
+
50
+ export { DSPageHeaderSummaryWithSchema, PageHeaderSummary };
@@ -0,0 +1,51 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
8
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
9
+ import 'react';
10
+ import { PropTypes, describe } from 'react-desc';
11
+ import DSTruncatedTooltipText, { TooltipTextProvider } from '@elliemae/ds-truncated-tooltip-text';
12
+ import RequiredMark from '@elliemae/ds-form/RequiredMark';
13
+ import { PageHeaderTitleWrapper } from '../blocks.js';
14
+ import { jsxs } from 'react/jsx-runtime';
15
+
16
+ var _RequiredMark;
17
+
18
+ const _excluded = ["children", "showMarker"];
19
+
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
+
24
+ const PageHeaderTitle = _ref => {
25
+ let {
26
+ children,
27
+ showMarker = false
28
+ } = _ref,
29
+ rest = _objectWithoutProperties(_ref, _excluded);
30
+
31
+ return /*#__PURE__*/jsxs(PageHeaderTitleWrapper, _objectSpread(_objectSpread({}, rest), {}, {
32
+ "data-testid": "ds-page-header-title",
33
+ children: [/*#__PURE__*/_jsx(TooltipTextProvider, {}, void 0, /*#__PURE__*/_jsx(DSTruncatedTooltipText, {
34
+ value: children
35
+ })), showMarker && (_RequiredMark || (_RequiredMark = /*#__PURE__*/_jsx(RequiredMark, {
36
+ required: true
37
+ })))]
38
+ }));
39
+ };
40
+
41
+ const props = {
42
+ /** page header title string */
43
+ children: PropTypes.string.description('Page header title string'),
44
+
45
+ /** show required mark */
46
+ showMarker: PropTypes.bool.description('show required mark')
47
+ };
48
+ const DSPageHeaderTitleWithSchema = describe(PageHeaderTitle);
49
+ DSPageHeaderTitleWithSchema.propTypes = props;
50
+
51
+ export { DSPageHeaderTitleWithSchema, PageHeaderTitle };
@@ -0,0 +1,28 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
+ import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
8
+ import 'react';
9
+ import { PageHeaderToolbarWrapper } from '../blocks.js';
10
+ import { jsx } from 'react/jsx-runtime';
11
+
12
+ const _excluded = ["children"];
13
+
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
+
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
+ const PageHeaderToolbar = _ref => {
18
+ let {
19
+ children
20
+ } = _ref,
21
+ rest = _objectWithoutProperties(_ref, _excluded);
22
+
23
+ return /*#__PURE__*/jsx(PageHeaderToolbarWrapper, _objectSpread(_objectSpread({}, rest), {}, {
24
+ children: children
25
+ }));
26
+ };
27
+
28
+ export { PageHeaderToolbar };
@@ -0,0 +1,13 @@
1
+ import { aggregatedClasses } from '@elliemae/ds-classnames';
2
+ export { cssPrefix } from '@elliemae/ds-classnames';
3
+ import { DSInput } from '@elliemae/ds-form';
4
+
5
+ const blockName = 'page-header-v2';
6
+ const PageHeaderTitleWrapper = aggregatedClasses('div')("".concat(blockName, "-title"), 'title');
7
+ const EditableTitleComponent = aggregatedClasses(DSInput)("".concat(blockName, "-title"), 'editable-title');
8
+ const PageHeaderBackWrapper = aggregatedClasses('div')("".concat(blockName, "-back"));
9
+ const PageHeaderSummaryWrapper = aggregatedClasses('div')("".concat(blockName, "-summary"));
10
+ const PageHeaderMenuWrapper = aggregatedClasses('div')("".concat(blockName, "-menu"));
11
+ const PageHeaderToolbarWrapper = aggregatedClasses('div')("".concat(blockName, "-toolbar"));
12
+
13
+ export { EditableTitleComponent, PageHeaderBackWrapper, PageHeaderMenuWrapper, PageHeaderSummaryWrapper, PageHeaderTitleWrapper, PageHeaderToolbarWrapper };
@@ -0,0 +1,39 @@
1
+ import { PropTypes } from 'react-desc';
2
+
3
+ const navProps = {
4
+ /** props injected to wrapper of page header */
5
+ containerProps: PropTypes.shape({}).description('props injected to wrapper of page header'),
6
+
7
+ /** breadcrumbs component */
8
+ breadcrumbs: PropTypes.node.description('breadcrumbs component'),
9
+
10
+ /** PageHeaderTitle component */
11
+ pageTitle: PropTypes.node.description('PageHeaderTitle component'),
12
+
13
+ /** back arrow component */
14
+ backarrow: PropTypes.node.description('back arrow component'),
15
+
16
+ /** PageHeaderSummary component */
17
+ summary: PropTypes.node.description('PageHeaderSummary component'),
18
+
19
+ /** toolbar component */
20
+ toolbar: PropTypes.node.description('toolbar component'),
21
+
22
+ /** PageHeaderMenu component */
23
+ menu: PropTypes.node.description('PageHeaderMenu component'),
24
+
25
+ /** Border bottom below the page header */
26
+ withBottomSeparator: PropTypes.bool.description('Border bottom below the page header')
27
+ };
28
+ const defaultProps = {
29
+ containerProps: {},
30
+ breadcrumbs: null,
31
+ pageTitle: null,
32
+ backarrow: null,
33
+ summary: null,
34
+ toolbar: null,
35
+ menu: null,
36
+ withBottomSeparator: true
37
+ };
38
+
39
+ export { defaultProps, navProps };