@commercetools-frontend/application-components 21.2.1 → 21.3.0

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 (21) hide show
  1. package/dist/commercetools-frontend-application-components.cjs.dev.js +638 -332
  2. package/dist/commercetools-frontend-application-components.cjs.prod.js +491 -246
  3. package/dist/commercetools-frontend-application-components.esm.js +625 -323
  4. package/dist/declarations/src/components/dialogs/internals/dialog-container.d.ts +1 -1
  5. package/dist/declarations/src/components/{modal-pages/internals → internals}/default-form-buttons.d.ts +1 -1
  6. package/dist/declarations/src/components/{modal-pages/internals → internals}/messages.d.ts +0 -0
  7. package/dist/declarations/src/components/{modal-pages/internals/modal-page-header-title.d.ts → internals/page-header-title.d.ts} +5 -4
  8. package/dist/declarations/src/components/{modal-pages/internals/modal-page-header.d.ts → internals/page-header.d.ts} +3 -3
  9. package/dist/declarations/src/components/internals/page-top-bar.d.ts +20 -0
  10. package/dist/declarations/src/components/internals/page.styles.d.ts +9 -0
  11. package/dist/declarations/src/components/internals/tabular-page.d.ts +24 -0
  12. package/dist/declarations/src/components/modal-pages/internals/modal-page.styles.d.ts +0 -5
  13. package/dist/declarations/src/components/tab-header/index.d.ts +1 -0
  14. package/dist/declarations/src/components/tab-header/tab-header.d.ts +18 -0
  15. package/dist/declarations/src/components/tab-header/tab.styles.d.ts +2 -0
  16. package/dist/declarations/src/components/tabular-detail-page/index.d.ts +1 -0
  17. package/dist/declarations/src/components/tabular-detail-page/tabular-detail-page.d.ts +202 -0
  18. package/dist/declarations/src/components/tabular-main-page/index.d.ts +1 -0
  19. package/dist/declarations/src/components/tabular-main-page/tabular-main-page.d.ts +194 -0
  20. package/dist/declarations/src/index.d.ts +3 -0
  21. package/package.json +22 -18
@@ -2,20 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('prop-types');
6
- var react$1 = require('react');
7
- var _styled = require('@emotion/styled/base');
8
- var Modal = require('react-modal');
9
- var react = require('@emotion/react');
10
- var constants = require('@commercetools-frontend/constants');
11
- var designSystem = require('@commercetools-uikit/design-system');
12
- var Card = require('@commercetools-uikit/card');
13
- var jsxRuntime = require('@emotion/react/jsx-runtime');
14
- var icons = require('@commercetools-uikit/icons');
15
- var SecondaryIconButton = require('@commercetools-uikit/secondary-icon-button');
16
- var Text = require('@commercetools-uikit/text');
17
- var Spacings = require('@commercetools-uikit/spacings');
18
- var i18n = require('@commercetools-frontend/i18n');
19
5
  var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
20
6
  var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
21
7
  var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
@@ -25,15 +11,32 @@ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-
25
11
  var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
26
12
  var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
27
13
  var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
14
+ require('prop-types');
15
+ var reactRouterDom = require('react-router-dom');
16
+ var startCase = require('lodash/startCase');
28
17
  var reactIntl = require('react-intl');
29
- var SecondaryButton = require('@commercetools-uikit/secondary-button');
18
+ require('@commercetools-uikit/utils');
19
+ var Text = require('@commercetools-uikit/text');
20
+ var react = require('@emotion/react');
21
+ var designSystem = require('@commercetools-uikit/design-system');
22
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
23
+ var Spacings = require('@commercetools-uikit/spacings');
24
+ var i18n = require('@commercetools-frontend/i18n');
25
+ var _styled = require('@emotion/styled/base');
26
+ var react$1 = require('react');
30
27
  var PrimaryButton = require('@commercetools-uikit/primary-button');
28
+ var SecondaryButton = require('@commercetools-uikit/secondary-button');
29
+ var IconButton = require('@commercetools-uikit/icon-button');
30
+ var icons = require('@commercetools-uikit/icons');
31
31
  var _startsWithInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/starts-with');
32
32
  var omitBy = require('lodash/omitBy');
33
+ var FlatButton = require('@commercetools-uikit/flat-button');
34
+ var Modal = require('react-modal');
35
+ var constants = require('@commercetools-frontend/constants');
36
+ var Card = require('@commercetools-uikit/card');
37
+ var SecondaryIconButton = require('@commercetools-uikit/secondary-icon-button');
33
38
  var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
34
39
  var _setTimeout = require('@babel/runtime-corejs3/core-js-stable/set-timeout');
35
- var FlatButton = require('@commercetools-uikit/flat-button');
36
- var IconButton = require('@commercetools-uikit/icon-button');
37
40
  var CommercetoolsLogoSvg = require('@commercetools-frontend/assets/logos/commercetools_primary-logo_horizontal_white-text_RGB.svg');
38
41
  var Constraints = require('@commercetools-uikit/constraints');
39
42
  var PageNotFoundSVG = require('@commercetools-frontend/assets/images/desert-fox.svg');
@@ -41,12 +44,6 @@ var FailedAuthorizationSVG = require('@commercetools-frontend/assets/images/fold
41
44
 
42
45
  function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
43
46
 
44
- var _styled__default = /*#__PURE__*/_interopDefault(_styled);
45
- var Modal__default = /*#__PURE__*/_interopDefault(Modal);
46
- var Card__default = /*#__PURE__*/_interopDefault(Card);
47
- var SecondaryIconButton__default = /*#__PURE__*/_interopDefault(SecondaryIconButton);
48
- var Text__default = /*#__PURE__*/_interopDefault(Text);
49
- var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
50
47
  var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
51
48
  var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
52
49
  var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
@@ -55,20 +52,435 @@ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachIns
55
52
  var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
56
53
  var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
57
54
  var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
58
- var SecondaryButton__default = /*#__PURE__*/_interopDefault(SecondaryButton);
55
+ var startCase__default = /*#__PURE__*/_interopDefault(startCase);
56
+ var Text__default = /*#__PURE__*/_interopDefault(Text);
57
+ var Spacings__default = /*#__PURE__*/_interopDefault(Spacings);
58
+ var _styled__default = /*#__PURE__*/_interopDefault(_styled);
59
59
  var PrimaryButton__default = /*#__PURE__*/_interopDefault(PrimaryButton);
60
+ var SecondaryButton__default = /*#__PURE__*/_interopDefault(SecondaryButton);
61
+ var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
60
62
  var _startsWithInstanceProperty__default = /*#__PURE__*/_interopDefault(_startsWithInstanceProperty);
61
63
  var omitBy__default = /*#__PURE__*/_interopDefault(omitBy);
62
- var _setTimeout__default = /*#__PURE__*/_interopDefault(_setTimeout);
63
64
  var FlatButton__default = /*#__PURE__*/_interopDefault(FlatButton);
64
- var IconButton__default = /*#__PURE__*/_interopDefault(IconButton);
65
+ var Modal__default = /*#__PURE__*/_interopDefault(Modal);
66
+ var Card__default = /*#__PURE__*/_interopDefault(Card);
67
+ var SecondaryIconButton__default = /*#__PURE__*/_interopDefault(SecondaryIconButton);
68
+ var _setTimeout__default = /*#__PURE__*/_interopDefault(_setTimeout);
65
69
  var CommercetoolsLogoSvg__default = /*#__PURE__*/_interopDefault(CommercetoolsLogoSvg);
66
70
  var Constraints__default = /*#__PURE__*/_interopDefault(Constraints);
67
71
  var PageNotFoundSVG__default = /*#__PURE__*/_interopDefault(PageNotFoundSVG);
68
72
  var FailedAuthorizationSVG__default = /*#__PURE__*/_interopDefault(FailedAuthorizationSVG);
69
73
 
70
74
  // NOTE: This string will be replaced on build time with the package version.
71
- var version = "21.2.1";
75
+ var version = "21.3.0";
76
+
77
+ var getBottomBorderStyles = function getBottomBorderStyles(background) {
78
+ return /*#__PURE__*/react.css(":after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;border-radius:", designSystem.customProperties.borderRadius2, ";background-color:", background, ";transition:background-color ", designSystem.customProperties.transitionEaseinout150Ms, ";}" + ("" ), "" );
79
+ };
80
+
81
+ var _ref$9 = {
82
+ name: "1u0tiat",
83
+ styles: "&[aria-disabled='true']{cursor:not-allowed;opacity:0.5;&:active{pointer-events:none;}}"
84
+ } ;
85
+
86
+ var getLinkStyles = function getLinkStyles(isActive, isDisabled) {
87
+ return [/*#__PURE__*/react.css("font-size:", designSystem.customProperties.fontSizeDefault, ";padding:", designSystem.customProperties.spacingS, " ", designSystem.customProperties.spacingM, ";position:relative;text-align:center;display:inline-block;color:inherit;text-decoration:inherit;&:first-of-type{padding-left:0;}", getBottomBorderStyles('transparent'), ";" + ("" ), "" ), isActive && /*#__PURE__*/react.css(getBottomBorderStyles(designSystem.customProperties.colorPrimary), ">*>*{color:", designSystem.customProperties.colorPrimary, "!important;}" + ("" ), "" ), isDisabled && _ref$9, !isActive && !isDisabled && /*#__PURE__*/react.css(":hover,:focus,:active{>*>*{color:", designSystem.customProperties.colorPrimary, "!important;}}" + ("" ), "" )];
88
+ };
89
+
90
+ function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
91
+
92
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$5(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$5(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
93
+
94
+ var pathWithoutSearch = function pathWithoutSearch(path) {
95
+ return typeof path === 'string' ? path.split('?')[0] : path.pathname;
96
+ };
97
+
98
+ var warnIfMissingContent = function warnIfMissingContent(props) {
99
+ Boolean(props.intlMessage) || Boolean(props.label);
100
+ };
101
+
102
+ var getDisabledTabHeaderAriaAttributes = function getDisabledTabHeaderAriaAttributes(isDisabled) {
103
+ return isDisabled ? {
104
+ 'aria-disabled': true
105
+ } : {};
106
+ };
107
+
108
+ var getDisabledLinkAtributes = function getDisabledLinkAtributes(isDisabled) {
109
+ return isDisabled ? {
110
+ tabIndex: -1,
111
+ 'aria-disabled': true
112
+ } : {};
113
+ };
114
+
115
+ var TabHeader = function TabHeader(props) {
116
+ var intl = reactIntl.useIntl();
117
+ var location = reactRouterDom.useLocation();
118
+ var isActive = Boolean(reactRouterDom.matchPath(location.pathname, {
119
+ // strip the search, otherwise the path won't match
120
+ path: pathWithoutSearch(props.to),
121
+ exact: props.exactPathMatch,
122
+ strict: false
123
+ }));
124
+ var isDisabled = props.isDisabled;
125
+ var label = props.label;
126
+
127
+ if (props.intlMessage) {
128
+ label = intl.formatMessage(props.intlMessage);
129
+ }
130
+
131
+ var dataAttributeProps = _objectSpread$5({
132
+ 'data-track-event': 'click'
133
+ }, label && {
134
+ 'data-track-component': startCase__default["default"](label)
135
+ });
136
+
137
+ warnIfMissingContent(props);
138
+ return jsxRuntime.jsx(reactRouterDom.Link, _objectSpread$5(_objectSpread$5(_objectSpread$5({
139
+ to: props.to,
140
+ css: getLinkStyles(isActive, isDisabled)
141
+ }, getDisabledLinkAtributes(isDisabled)), dataAttributeProps), {}, {
142
+ children: jsxRuntime.jsx("div", _objectSpread$5(_objectSpread$5({
143
+ role: "tab",
144
+ "aria-selected": isActive
145
+ }, getDisabledTabHeaderAriaAttributes(isDisabled)), {}, {
146
+ children: jsxRuntime.jsx(Text__default["default"].Subheadline, {
147
+ as: "h4",
148
+ truncate: true,
149
+ children: label
150
+ })
151
+ }))
152
+ }));
153
+ };
154
+ TabHeader.propTypes = {};
155
+ TabHeader.displayName = 'TabHeader';
156
+ var defaultProps$d = {
157
+ isDisabled: false,
158
+ exactPathMatch: false
159
+ };
160
+ TabHeader.defaultProps = defaultProps$d;
161
+
162
+ var defaultProps$c = {
163
+ titleSize: 'small',
164
+ truncate: false
165
+ };
166
+
167
+ var SubtitleWrapper = _styled__default["default"]("div", {
168
+ target: "epaiodd0"
169
+ } )("margin-top:", designSystem.customProperties.spacingM, ";" + ("" ));
170
+
171
+ var renderTitle = function renderTitle(props) {
172
+ switch (props.titleSize) {
173
+ case 'big':
174
+ return jsxRuntime.jsx(Text__default["default"].Headline, {
175
+ as: "h2",
176
+ title: props.title,
177
+ truncate: props.truncate,
178
+ children: props.title
179
+ });
180
+
181
+ default:
182
+ return jsxRuntime.jsx(Text__default["default"].Subheadline, {
183
+ as: "h4",
184
+ title: props.title,
185
+ truncate: props.truncate,
186
+ children: props.title
187
+ });
188
+ }
189
+ };
190
+
191
+ var renderSubtitle = function renderSubtitle(subtitle) {
192
+ var truncate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
193
+
194
+ if (!subtitle) {
195
+ return null;
196
+ }
197
+
198
+ if ( /*#__PURE__*/react$1.isValidElement(subtitle)) {
199
+ return jsxRuntime.jsx(SubtitleWrapper, {
200
+ children: subtitle
201
+ });
202
+ }
203
+
204
+ return jsxRuntime.jsx(SubtitleWrapper, {
205
+ children: jsxRuntime.jsx(Text__default["default"].Body, {
206
+ title: subtitle,
207
+ truncate: truncate,
208
+ children: subtitle
209
+ })
210
+ });
211
+ };
212
+
213
+ var _ref$8 = {
214
+ name: "d3v9zr",
215
+ styles: "overflow:hidden"
216
+ } ;
217
+
218
+ var PageHeaderTitle = function PageHeaderTitle(props) {
219
+ var titleSize = props.titleSize,
220
+ title = props.title,
221
+ truncate = props.truncate;
222
+ var renderedTitle = renderTitle({
223
+ titleSize: titleSize,
224
+ title: title,
225
+ truncate: truncate
226
+ });
227
+ var renderedSubtitle = renderSubtitle(props.subtitle, truncate);
228
+ return jsxRuntime.jsxs("div", {
229
+ css: _ref$8,
230
+ children: [renderedTitle, renderedSubtitle]
231
+ });
232
+ };
233
+
234
+ PageHeaderTitle.propTypes = {};
235
+ PageHeaderTitle.displayName = 'PageHeaderTitle';
236
+ PageHeaderTitle.defaultProps = defaultProps$c;
237
+
238
+ var TabControls = _styled__default["default"]("div", {
239
+ target: "elpldre1"
240
+ } )("margin-top:", designSystem.customProperties.spacingS, ";" + ("" ));
241
+
242
+ var _ref$7 = {
243
+ name: "1nrstx4",
244
+ styles: "display:flex;align-items:flex-end;justify-content:space-between"
245
+ } ;
246
+
247
+ var ControlsContainter = function ControlsContainter(props) {
248
+ return jsxRuntime.jsxs("div", {
249
+ css: _ref$7,
250
+ children: [jsxRuntime.jsx(TabControls, {
251
+ role: "tablist",
252
+ children: props.tabControls
253
+ }), props.formControls]
254
+ });
255
+ };
256
+
257
+ ControlsContainter.propTypes = {};
258
+ ControlsContainter.displayName = 'ControlsContainter';
259
+
260
+ var TabularPageContainer = function TabularPageContainer(props) {
261
+ return jsxRuntime.jsx("div", {
262
+ css: /*#__PURE__*/react.css("background-color:", props.color === 'surface' ? designSystem.customProperties.colorSurface : designSystem.customProperties.colorNeutral95, ";padding:", designSystem.customProperties.spacingM, " ", designSystem.customProperties.spacingM, " 0;border-bottom:1px ", designSystem.customProperties.colorNeutral, " solid;" + ("" ), "" ),
263
+ children: props.children
264
+ });
265
+ };
266
+
267
+ TabularPageContainer.propTypes = {};
268
+ TabularPageContainer.displayName = 'TabularPageContainer';
269
+ var defaultProps$b = {
270
+ color: 'surface'
271
+ };
272
+ TabularPageContainer.defaultProps = defaultProps$b;
273
+
274
+ var FormControlsContainer = _styled__default["default"]("div", {
275
+ target: "elpldre0"
276
+ } )("margin-bottom:", designSystem.customProperties.spacingM, ";" + ("" ));
277
+
278
+ var ContentWrapper = _styled__default["default"]("div", {
279
+ target: "e1b7jwn01"
280
+ } )("flex:1;padding:", designSystem.customProperties.spacingM, ";overflow:auto;" + ("" ));
281
+ var PageWrapper = _styled__default["default"]("div", {
282
+ target: "e1b7jwn00"
283
+ } )({
284
+ name: "kdbhus",
285
+ styles: "height:100%;display:flex;flex-direction:column"
286
+ } );
287
+
288
+ function filterDataAttributes(obj) {
289
+ return omitBy__default["default"](obj, function (_value, key) {
290
+ return !_startsWithInstanceProperty__default["default"](key).call(key, 'data-');
291
+ });
292
+ }
293
+
294
+ function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
295
+
296
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
297
+ var primaryDefaultProps = {
298
+ label: i18n.sharedMessages.confirm,
299
+ isDisabled: false,
300
+ dataAttributes: {}
301
+ };
302
+
303
+ var useFormattedLabel = function useFormattedLabel(label) {
304
+ var intl = reactIntl.useIntl();
305
+ return typeof label === 'string' ? label : intl.formatMessage(label);
306
+ };
307
+
308
+ var FormPrimaryButton = function FormPrimaryButton(props) {
309
+ var label = useFormattedLabel(props.label);
310
+ return jsxRuntime.jsx(PrimaryButton__default["default"], _objectSpread$4({
311
+ label: label,
312
+ onClick: props.onClick,
313
+ isDisabled: props.isDisabled
314
+ }, filterDataAttributes(props.dataAttributes)));
315
+ };
316
+
317
+ FormPrimaryButton.propTypes = {};
318
+ FormPrimaryButton.displayName = 'FormPrimaryButton';
319
+ FormPrimaryButton.defaultProps = primaryDefaultProps;
320
+ var secondaryDefaultProps = {
321
+ label: i18n.sharedMessages.cancel,
322
+ isDisabled: false,
323
+ dataAttributes: {}
324
+ };
325
+
326
+ var FormSecondaryButton = function FormSecondaryButton(props) {
327
+ var label = useFormattedLabel(props.label);
328
+ return jsxRuntime.jsx(SecondaryButton__default["default"], _objectSpread$4({
329
+ label: label,
330
+ onClick: props.onClick,
331
+ isDisabled: props.isDisabled
332
+ }, filterDataAttributes(props.dataAttributes)));
333
+ };
334
+
335
+ FormSecondaryButton.propTypes = {};
336
+ FormSecondaryButton.displayName = 'FormSecondaryButton';
337
+ FormSecondaryButton.defaultProps = secondaryDefaultProps;
338
+ var deleteDefaultProps = {
339
+ label: i18n.sharedMessages.delete,
340
+ isDisabled: false,
341
+ dataAttributes: {}
342
+ };
343
+
344
+ var FormDeleteButton = function FormDeleteButton(props) {
345
+ var label = useFormattedLabel(props.label);
346
+ return jsxRuntime.jsx(IconButton__default["default"], _objectSpread$4({
347
+ icon: jsxRuntime.jsx(icons.BinLinearIcon, {}),
348
+ label: label,
349
+ onClick: props.onClick,
350
+ isDisabled: props.isDisabled
351
+ }, filterDataAttributes(props.dataAttributes)));
352
+ };
353
+
354
+ FormDeleteButton.propTypes = {};
355
+ FormDeleteButton.displayName = 'FormDeleteButton';
356
+ FormDeleteButton.defaultProps = deleteDefaultProps;
357
+
358
+ var defaultProps$a = {
359
+ hideControls: false
360
+ };
361
+
362
+ var TabularMainPage = function TabularMainPage(props) {
363
+ return jsxRuntime.jsxs(PageWrapper, {
364
+ children: [jsxRuntime.jsx(TabularPageContainer, {
365
+ color: "surface",
366
+ children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
367
+ children: [props.customTitleRow || jsxRuntime.jsx(PageHeaderTitle, {
368
+ title: props.title,
369
+ subtitle: props.subtitle,
370
+ titleSize: "big"
371
+ }), jsxRuntime.jsx(ControlsContainter, {
372
+ tabControls: props.tabControls,
373
+ formControls: jsxRuntime.jsx(FormControlsContainer, {
374
+ children: !props.hideControls && props.formControls && jsxRuntime.jsx(Spacings__default["default"].Inline, {
375
+ alignItems: "flex-end",
376
+ children: props.formControls
377
+ })
378
+ })
379
+ })]
380
+ })
381
+ }), jsxRuntime.jsx(ContentWrapper, {
382
+ css: /*#__PURE__*/react.css("background-color:", designSystem.customProperties.colorNeutral95, ";" + ("" ), "" ),
383
+ children: props.children
384
+ })]
385
+ });
386
+ };
387
+
388
+ TabularMainPage.propTypes = {};
389
+ TabularMainPage.displayName = 'TabularMainPage';
390
+ TabularMainPage.defaultProps = defaultProps$a; // Static export of pre-configured form control buttons to easily re-use
391
+ // them in the custom controls.
392
+
393
+ TabularMainPage.FormPrimaryButton = FormPrimaryButton;
394
+ TabularMainPage.FormSecondaryButton = FormSecondaryButton;
395
+ TabularMainPage.FormDeleteButton = FormDeleteButton; // Static export of pre-configured page header title component to easily
396
+ // use as part of a custom title row
397
+
398
+ TabularMainPage.PageHeaderTitle = PageHeaderTitle; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
399
+
400
+ TabularMainPage.Intl = i18n.sharedMessages;
401
+
402
+ var messages$2 = reactIntl.defineMessages({
403
+ back: {
404
+ id: 'Components.ModalPage.TopBar.Back',
405
+ defaultMessage: 'Go Back'
406
+ },
407
+ close: {
408
+ id: 'Components.ModalPage.TopBar.Close',
409
+ defaultMessage: 'Close Modal Page'
410
+ }
411
+ });
412
+
413
+ var defaultProps$9 = {
414
+ color: 'surface',
415
+ previousPathLabel: messages$2.back
416
+ };
417
+
418
+ var PageTopBar = function PageTopBar(props) {
419
+ var intl = reactIntl.useIntl();
420
+ return jsxRuntime.jsx("div", {
421
+ css: /*#__PURE__*/react.css("position:relative;display:flex;align-items:center;justify-content:space-between;background-color:", props.color === 'neutral' ? designSystem.customProperties.colorNeutral95 : designSystem.customProperties.colorSurface, ";" + ("" ), "" ),
422
+ children: jsxRuntime.jsx(FlatButton__default["default"], {
423
+ tone: "primary",
424
+ label: typeof props.previousPathLabel === 'string' ? props.previousPathLabel : intl.formatMessage(props.previousPathLabel),
425
+ icon: jsxRuntime.jsx(icons.ListIcon, {
426
+ size: "medium",
427
+ color: "primary"
428
+ }),
429
+ onClick: props.onClick
430
+ })
431
+ });
432
+ };
433
+
434
+ PageTopBar.propTypes = {};
435
+ PageTopBar.displayName = 'PageTopBar';
436
+ PageTopBar.defaultProps = defaultProps$9;
437
+
438
+ var defaultProps$8 = {
439
+ hideControls: false
440
+ };
441
+
442
+ var TabularDetailPage = function TabularDetailPage(props) {
443
+ return jsxRuntime.jsxs(PageWrapper, {
444
+ children: [jsxRuntime.jsx(TabularPageContainer, {
445
+ color: "neutral",
446
+ children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
447
+ children: [jsxRuntime.jsx(PageTopBar, {
448
+ color: "neutral",
449
+ previousPathLabel: props.previousPathLabel,
450
+ onClick: props.onPreviousPathClick
451
+ }), props.customTitleRow || jsxRuntime.jsx(PageHeaderTitle, {
452
+ title: props.title,
453
+ subtitle: props.subtitle,
454
+ titleSize: "big"
455
+ }), jsxRuntime.jsx(ControlsContainter, {
456
+ tabControls: props.tabControls,
457
+ formControls: jsxRuntime.jsx(FormControlsContainer, {
458
+ children: !props.hideControls && props.formControls && jsxRuntime.jsx(Spacings__default["default"].Inline, {
459
+ alignItems: "flex-end",
460
+ children: props.formControls
461
+ })
462
+ })
463
+ })]
464
+ })
465
+ }), jsxRuntime.jsx(ContentWrapper, {
466
+ children: props.children
467
+ })]
468
+ });
469
+ };
470
+
471
+ TabularDetailPage.propTypes = {};
472
+ TabularDetailPage.displayName = 'TabularDetailPage';
473
+ TabularDetailPage.defaultProps = defaultProps$8; // Static export of pre-configured form control buttons to easily re-use
474
+ // them in the custom controls.
475
+
476
+ TabularDetailPage.FormPrimaryButton = FormPrimaryButton;
477
+ TabularDetailPage.FormSecondaryButton = FormSecondaryButton;
478
+ TabularDetailPage.FormDeleteButton = FormDeleteButton; // Static export of pre-configured page header title component to easily
479
+ // use as part of a custom title row
480
+
481
+ TabularDetailPage.PageHeaderTitle = PageHeaderTitle; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
482
+
483
+ TabularDetailPage.Intl = i18n.sharedMessages;
72
484
 
73
485
  var getConstraintForGridStyle = function getConstraintForGridStyle(size) {
74
486
  switch (size) {
@@ -103,20 +515,20 @@ var getModalContentStyles = function getModalContentStyles(props) {
103
515
  return baseStyles;
104
516
  };
105
517
 
106
- var _ref$8 = {
518
+ var _ref$6 = {
107
519
  name: "181loe0",
108
520
  styles: "display:flex;position:absolute;top:0;width:100%;height:100%;background-color:rgba(32, 62, 72, 0.5);opacity:1"
109
521
  } ;
110
522
 
111
523
  var getModalOverlayStyles = function getModalOverlayStyles() {
112
- return _ref$8;
524
+ return _ref$6;
113
525
  };
114
526
 
115
527
  var getDefaultParentSelector$1 = function getDefaultParentSelector() {
116
528
  return document.querySelector("#".concat(constants.PORTALS_CONTAINER_ID));
117
529
  };
118
530
 
119
- var defaultProps$8 = {
531
+ var defaultProps$7 = {
120
532
  size: 10,
121
533
  zIndex: 1000,
122
534
  getParentSelector: getDefaultParentSelector$1
@@ -128,17 +540,17 @@ var GridArea = _styled__default["default"]("div", {
128
540
  return props.name;
129
541
  }, ";" + ("" ));
130
542
 
131
- var _ref2$3 = {
543
+ var _ref2$2 = {
132
544
  name: "13udsys",
133
545
  styles: "height:100%"
134
546
  } ;
135
547
 
136
548
  var sizeStyles = function sizeStyles(props) {
137
- if (props.size === 'scale') return _ref2$3;
549
+ if (props.size === 'scale') return _ref2$2;
138
550
  return /*#__PURE__*/react.css("" , "" );
139
551
  };
140
552
 
141
- var _ref$7 = {
553
+ var _ref$5 = {
142
554
  name: "1187q51",
143
555
  styles: "display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;overflow:hidden"
144
556
  } ;
@@ -173,7 +585,7 @@ var DialogContainer = function DialogContainer(props) {
173
585
  name: "bottom"
174
586
  }), jsxRuntime.jsx(GridArea, {
175
587
  name: "main",
176
- css: _ref$7,
588
+ css: _ref$5,
177
589
  children: jsxRuntime.jsx(Card__default["default"] // 1. For the min-height: https://stackoverflow.com/questions/28636832/firefox-overflow-y-not-working-with-nested-flexbox/28639686#28639686
178
590
  // 2. For the scale size, we want the card to stretch to 100% height
179
591
  // 3. For the actual "> div" container with the content, we need to use normal pointer events so that clicking on it does not close the dialog.
@@ -192,16 +604,16 @@ var DialogContainer = function DialogContainer(props) {
192
604
 
193
605
  DialogContainer.propTypes = {};
194
606
  DialogContainer.displayName = 'DialogContainer';
195
- DialogContainer.defaultProps = defaultProps$8;
607
+ DialogContainer.defaultProps = defaultProps$7;
196
608
 
197
- var _ref$6 = {
609
+ var _ref$4 = {
198
610
  name: "o5s7gs",
199
611
  styles: "flex:0 1 auto;display:flex;flex-direction:column"
200
612
  } ;
201
613
 
202
614
  var DialogHeader = function DialogHeader(props) {
203
615
  return jsxRuntime.jsx("div", {
204
- css: _ref$6,
616
+ css: _ref$4,
205
617
  children: jsxRuntime.jsxs(Spacings__default["default"].Inline, {
206
618
  scale: "m",
207
619
  alignItems: "center",
@@ -249,16 +661,10 @@ var InfoDialog = function InfoDialog(props) {
249
661
  InfoDialog.propTypes = {};
250
662
  InfoDialog.displayName = 'InfoDialog';
251
663
 
252
- function filterDataAttributes(obj) {
253
- return omitBy__default["default"](obj, function (_value, key) {
254
- return !_startsWithInstanceProperty__default["default"](key).call(key, 'data-');
255
- });
256
- }
257
-
258
- function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
664
+ function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
259
665
 
260
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
261
- var defaultProps$7 = {
666
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$3(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
667
+ var defaultProps$6 = {
262
668
  isPrimaryButtonDisabled: false,
263
669
  dataAttributesPrimaryButton: {},
264
670
  dataAttributesSecondaryButton: {}
@@ -274,10 +680,10 @@ var DialogFooter = function DialogFooter(props) {
274
680
  scale: "m",
275
681
  alignItems: "center",
276
682
  justifyContent: "flex-end",
277
- children: [jsxRuntime.jsx(SecondaryButton__default["default"], _objectSpread$4({
683
+ children: [jsxRuntime.jsx(SecondaryButton__default["default"], _objectSpread$3({
278
684
  label: getFormattedLabel(props.labelSecondary, intl),
279
685
  onClick: props.onCancel
280
- }, filterDataAttributes(props.dataAttributesSecondaryButton))), jsxRuntime.jsx(PrimaryButton__default["default"], _objectSpread$4({
686
+ }, filterDataAttributes(props.dataAttributesSecondaryButton))), jsxRuntime.jsx(PrimaryButton__default["default"], _objectSpread$3({
281
687
  label: getFormattedLabel(props.labelPrimary, intl),
282
688
  onClick: props.onConfirm,
283
689
  isDisabled: props.isPrimaryButtonDisabled
@@ -287,9 +693,9 @@ var DialogFooter = function DialogFooter(props) {
287
693
 
288
694
  DialogFooter.propTypes = {};
289
695
  DialogFooter.displayName = 'DialogFooter';
290
- DialogFooter.defaultProps = defaultProps$7;
696
+ DialogFooter.defaultProps = defaultProps$6;
291
697
 
292
- var defaultProps$6 = {
698
+ var defaultProps$5 = {
293
699
  labelSecondary: i18n.sharedMessages.cancel,
294
700
  labelPrimary: i18n.sharedMessages.confirm
295
701
  };
@@ -321,12 +727,12 @@ var ConfirmationDialog = function ConfirmationDialog(props) {
321
727
 
322
728
  ConfirmationDialog.propTypes = {};
323
729
  ConfirmationDialog.displayName = 'ConfirmationDialog';
324
- ConfirmationDialog.defaultProps = defaultProps$6; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
730
+ ConfirmationDialog.defaultProps = defaultProps$5; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
325
731
  // The Intl messages can be used for button labels.
326
732
 
327
733
  ConfirmationDialog.Intl = i18n.sharedMessages;
328
734
 
329
- var defaultProps$5 = {
735
+ var defaultProps$4 = {
330
736
  labelSecondary: i18n.sharedMessages.cancel,
331
737
  labelPrimary: i18n.sharedMessages.save
332
738
  };
@@ -358,7 +764,7 @@ var FormDialog = function FormDialog(props) {
358
764
 
359
765
  FormDialog.propTypes = {};
360
766
  FormDialog.displayName = 'FormDialog';
361
- FormDialog.defaultProps = defaultProps$5; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
767
+ FormDialog.defaultProps = defaultProps$4; // This is a convenience proxy export to expose pre-defined Intl messages defined in the `@commercetools-frontend/i18n` package.
362
768
  // The Intl messages can be used for button labels.
363
769
 
364
770
  FormDialog.Intl = i18n.sharedMessages;
@@ -380,46 +786,32 @@ var getAfterOpenContainerAnimation = function getAfterOpenContainerAnimation() {
380
786
  return _ref4;
381
787
  };
382
788
 
383
- var _ref3$1 = {
789
+ var _ref3 = {
384
790
  name: "1d9ftqx",
385
791
  styles: "opacity:1!important"
386
792
  } ;
387
793
 
388
794
  var getAfterOpenOverlayAnimation = function getAfterOpenOverlayAnimation() {
389
- return _ref3$1;
795
+ return _ref3;
390
796
  };
391
797
 
392
- var _ref2$2 = {
798
+ var _ref2$1 = {
393
799
  name: "110wxen",
394
800
  styles: "transform:translate3d(30px, 0, 0)!important"
395
801
  } ;
396
802
 
397
803
  var getBeforeCloseContainerAnimation = function getBeforeCloseContainerAnimation() {
398
- return _ref2$2;
804
+ return _ref2$1;
399
805
  };
400
806
 
401
- var _ref$5 = {
807
+ var _ref$3 = {
402
808
  name: "728dx5",
403
809
  styles: "opacity:0!important"
404
810
  } ;
405
811
 
406
812
  var getBeforeCloseOverlayAnimation = function getBeforeCloseOverlayAnimation() {
407
- return _ref$5;
813
+ return _ref$3;
408
814
  };
409
- var ContentWrapper = _styled__default["default"]("div", {
410
- target: "e1jbmsa0"
411
- } )("flex:1;padding:", designSystem.customProperties.spacingM, ";overflow:auto;" + ("" ));
412
-
413
- var messages$2 = reactIntl.defineMessages({
414
- back: {
415
- id: 'Components.ModalPage.TopBar.Back',
416
- defaultMessage: 'Go Back'
417
- },
418
- close: {
419
- id: 'Components.ModalPage.TopBar.Close',
420
- defaultMessage: 'Close Modal Page'
421
- }
422
- });
423
815
 
424
816
  var LargeIconWrapper = _styled__default["default"]("span", {
425
817
  target: "edipjip0"
@@ -431,12 +823,12 @@ var LargeIconWrapper = _styled__default["default"]("span", {
431
823
  // does not recognize the object shape.
432
824
 
433
825
 
434
- var defaultProps$4 = {
826
+ var defaultProps$3 = {
435
827
  color: 'surface',
436
828
  previousPathLabel: messages$2.back
437
829
  };
438
830
 
439
- var _ref$4 = {
831
+ var _ref$2 = {
440
832
  name: "uvw8rn",
441
833
  styles: "display:flex;overflow:hidden;button:first-of-type svg{height:12px!important;width:12px!important;}"
442
834
  } ;
@@ -446,7 +838,7 @@ var ModalPageTopBar = function ModalPageTopBar(props) {
446
838
  return jsxRuntime.jsxs("div", {
447
839
  css: /*#__PURE__*/react.css("position:relative;display:flex;align-items:center;justify-content:space-between;padding:", designSystem.customProperties.spacingS, " ", designSystem.customProperties.spacingM, ";background-color:", props.color === 'neutral' ? designSystem.customProperties.colorNeutral95 : designSystem.customProperties.colorSurface, ";border-bottom:1px solid ", props.color === 'neutral' ? designSystem.customProperties.colorSurface : designSystem.customProperties.colorNeutral, ";& *+*{margin-left:", designSystem.customProperties.spacingS, ";}p{font-size:12px!important;}" + ("" ), "" ),
448
840
  children: [jsxRuntime.jsxs("div", {
449
- css: _ref$4,
841
+ css: _ref$2,
450
842
  children: [jsxRuntime.jsx(FlatButton__default["default"], {
451
843
  tone: "primary",
452
844
  label: typeof props.previousPathLabel === 'string' ? props.previousPathLabel : intl.formatMessage(props.previousPathLabel),
@@ -480,7 +872,7 @@ var ModalPageTopBar = function ModalPageTopBar(props) {
480
872
 
481
873
  ModalPageTopBar.propTypes = {};
482
874
  ModalPageTopBar.displayName = 'ModalPageTopBar';
483
- ModalPageTopBar.defaultProps = defaultProps$4;
875
+ ModalPageTopBar.defaultProps = defaultProps$3;
484
876
 
485
877
  var getDefaultParentSelector = function getDefaultParentSelector() {
486
878
  return document.querySelector("#".concat(constants.PORTALS_CONTAINER_ID));
@@ -489,7 +881,7 @@ var getDefaultParentSelector = function getDefaultParentSelector() {
489
881
  // does not recognize the object shape.
490
882
 
491
883
 
492
- var defaultProps$3 = {
884
+ var defaultProps$2 = {
493
885
  level: 1,
494
886
  baseZIndex: 1000,
495
887
  getParentSelector: getDefaultParentSelector,
@@ -570,89 +962,21 @@ var ModalPage = function ModalPage(props) {
570
962
 
571
963
  ModalPage.propTypes = {};
572
964
  ModalPage.displayName = 'ModalPage';
573
- ModalPage.defaultProps = defaultProps$3;
574
-
575
- var defaultProps$2 = {
576
- titleSize: 'small'
577
- };
578
-
579
- var SubtitleWrapper = _styled__default["default"]("div", {
580
- target: "e1vqgk5c0"
581
- } )("margin-top:", designSystem.customProperties.spacingM, ";" + ("" )); // eslint-disable-next-line react/display-name
582
-
583
-
584
- var renderTitle = function renderTitle(size, title) {
585
- switch (size) {
586
- case 'big':
587
- return jsxRuntime.jsx(Text__default["default"].Headline, {
588
- as: "h2",
589
- title: title,
590
- truncate: true,
591
- children: title
592
- });
593
-
594
- default:
595
- return jsxRuntime.jsx(Text__default["default"].Subheadline, {
596
- as: "h4",
597
- title: title,
598
- truncate: true,
599
- children: title
600
- });
601
- }
602
- };
603
-
604
- var renderSubtitle = function renderSubtitle(subtitle) {
605
- if (!subtitle) {
606
- return null;
607
- }
965
+ ModalPage.defaultProps = defaultProps$2;
608
966
 
609
- if ( /*#__PURE__*/react$1.isValidElement(subtitle)) {
610
- return jsxRuntime.jsx(SubtitleWrapper, {
611
- children: subtitle
612
- });
613
- }
614
-
615
- return jsxRuntime.jsx(SubtitleWrapper, {
616
- children: jsxRuntime.jsx(Text__default["default"].Body, {
617
- title: subtitle,
618
- truncate: true,
619
- children: subtitle
620
- })
621
- });
622
- };
623
-
624
- var _ref$3 = {
625
- name: "d3v9zr",
626
- styles: "overflow:hidden"
627
- } ;
628
-
629
- var ModalPageHeaderTitle = function ModalPageHeaderTitle(props) {
630
- // eslint-disable-next-line testing-library/render-result-naming-convention
631
- var renderedTitle = renderTitle(props.titleSize, props.title); // eslint-disable-next-line testing-library/render-result-naming-convention
632
-
633
- var renderedSubtitle = renderSubtitle(props.subtitle);
634
- return jsxRuntime.jsxs("div", {
635
- css: _ref$3,
636
- children: [renderedTitle, renderedSubtitle]
637
- });
638
- };
639
-
640
- ModalPageHeaderTitle.propTypes = {};
641
- ModalPageHeaderTitle.displayName = 'ModalPageHeaderTitle';
642
- ModalPageHeaderTitle.defaultProps = defaultProps$2;
643
-
644
- var ModalPageHeader = function ModalPageHeader(props) {
967
+ var PageHeader = function PageHeader(props) {
645
968
  return jsxRuntime.jsxs("div", {
646
969
  css: /*#__PURE__*/react.css("display:flex;align-items:flex-end;justify-content:space-between;margin:0 ", designSystem.customProperties.spacingM, ";padding:", designSystem.customProperties.spacingM, " 0;border-bottom:1px solid ", designSystem.customProperties.colorNeutral60, ";&>*+*{margin-left:", designSystem.customProperties.spacingM, ";}" + ("" ), "" ),
647
- children: [jsxRuntime.jsx(ModalPageHeaderTitle, {
970
+ children: [jsxRuntime.jsx(PageHeaderTitle, {
648
971
  title: props.title,
649
- subtitle: props.subtitle
972
+ subtitle: props.subtitle,
973
+ truncate: true
650
974
  }), props.children]
651
975
  });
652
976
  };
653
977
 
654
- ModalPageHeader.propTypes = {};
655
- ModalPageHeader.displayName = 'ModalPageHeader';
978
+ PageHeader.propTypes = {};
979
+ PageHeader.displayName = 'PageHeader';
656
980
 
657
981
  var InfoModalPage = function InfoModalPage(props) {
658
982
  return jsxRuntime.jsxs(ModalPage, {
@@ -667,7 +991,7 @@ var InfoModalPage = function InfoModalPage(props) {
667
991
  shouldDelayOnClose: props.shouldDelayOnClose,
668
992
  getParentSelector: props.getParentSelector,
669
993
  afterOpenStyles: props.afterOpenStyles,
670
- children: [jsxRuntime.jsx(ModalPageHeader, {
994
+ children: [jsxRuntime.jsx(PageHeader, {
671
995
  title: props.title,
672
996
  subtitle: props.subtitle
673
997
  }), jsxRuntime.jsx(ContentWrapper, {
@@ -679,70 +1003,6 @@ var InfoModalPage = function InfoModalPage(props) {
679
1003
  InfoModalPage.propTypes = {};
680
1004
  InfoModalPage.displayName = 'InfoModalPage';
681
1005
 
682
- function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
683
-
684
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$3(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
685
- var primaryDefaultProps = {
686
- label: i18n.sharedMessages.confirm,
687
- isDisabled: false,
688
- dataAttributes: {}
689
- };
690
-
691
- var useFormattedLabel = function useFormattedLabel(label) {
692
- var intl = reactIntl.useIntl();
693
- return typeof label === 'string' ? label : intl.formatMessage(label);
694
- };
695
-
696
- var FormPrimaryButton = function FormPrimaryButton(props) {
697
- var label = useFormattedLabel(props.label);
698
- return jsxRuntime.jsx(PrimaryButton__default["default"], _objectSpread$3({
699
- label: label,
700
- onClick: props.onClick,
701
- isDisabled: props.isDisabled
702
- }, filterDataAttributes(props.dataAttributes)));
703
- };
704
-
705
- FormPrimaryButton.propTypes = {};
706
- FormPrimaryButton.displayName = 'FormPrimaryButton';
707
- FormPrimaryButton.defaultProps = primaryDefaultProps;
708
- var secondaryDefaultProps = {
709
- label: i18n.sharedMessages.cancel,
710
- isDisabled: false,
711
- dataAttributes: {}
712
- };
713
-
714
- var FormSecondaryButton = function FormSecondaryButton(props) {
715
- var label = useFormattedLabel(props.label);
716
- return jsxRuntime.jsx(SecondaryButton__default["default"], _objectSpread$3({
717
- label: label,
718
- onClick: props.onClick,
719
- isDisabled: props.isDisabled
720
- }, filterDataAttributes(props.dataAttributes)));
721
- };
722
-
723
- FormSecondaryButton.propTypes = {};
724
- FormSecondaryButton.displayName = 'FormSecondaryButton';
725
- FormSecondaryButton.defaultProps = secondaryDefaultProps;
726
- var deleteDefaultProps = {
727
- label: i18n.sharedMessages.delete,
728
- isDisabled: false,
729
- dataAttributes: {}
730
- };
731
-
732
- var FormDeleteButton = function FormDeleteButton(props) {
733
- var label = useFormattedLabel(props.label);
734
- return jsxRuntime.jsx(IconButton__default["default"], _objectSpread$3({
735
- icon: jsxRuntime.jsx(icons.BinLinearIcon, {}),
736
- label: label,
737
- onClick: props.onClick,
738
- isDisabled: props.isDisabled
739
- }, filterDataAttributes(props.dataAttributes)));
740
- };
741
-
742
- FormDeleteButton.propTypes = {};
743
- FormDeleteButton.displayName = 'FormDeleteButton';
744
- FormDeleteButton.defaultProps = deleteDefaultProps;
745
-
746
1006
  var CustomFormModalPage = function CustomFormModalPage(props) {
747
1007
  return jsxRuntime.jsxs(ModalPage, {
748
1008
  level: props.level,
@@ -756,7 +1016,7 @@ var CustomFormModalPage = function CustomFormModalPage(props) {
756
1016
  getParentSelector: props.getParentSelector,
757
1017
  shouldDelayOnClose: props.shouldDelayOnClose,
758
1018
  afterOpenStyles: props.afterOpenStyles,
759
- children: [jsxRuntime.jsx(ModalPageHeader, {
1019
+ children: [jsxRuntime.jsx(PageHeader, {
760
1020
  title: props.title,
761
1021
  subtitle: props.subtitle,
762
1022
  children: !props.hideControls && props.formControls && jsxRuntime.jsx(Spacings__default["default"].Inline, {
@@ -827,21 +1087,6 @@ var defaultProps = {
827
1087
  hideControls: false
828
1088
  };
829
1089
 
830
- var _ref$2 = {
831
- name: "18uqayh",
832
- styles: "margin-bottom:16px"
833
- } ;
834
-
835
- var _ref2$1 = {
836
- name: "hkh81z",
837
- styles: "margin-top:8px"
838
- } ;
839
-
840
- var _ref3 = {
841
- name: "1nrstx4",
842
- styles: "display:flex;align-items:flex-end;justify-content:space-between"
843
- } ;
844
-
845
1090
  var TabularModalPage = function TabularModalPage(props) {
846
1091
  return jsxRuntime.jsxs(ModalPage, {
847
1092
  level: props.level,
@@ -856,24 +1101,21 @@ var TabularModalPage = function TabularModalPage(props) {
856
1101
  getParentSelector: props.getParentSelector,
857
1102
  shouldDelayOnClose: props.shouldDelayOnClose,
858
1103
  afterOpenStyles: props.afterOpenStyles,
859
- children: [jsxRuntime.jsx("div", {
860
- css: /*#__PURE__*/react.css("background-color:", designSystem.customProperties.colorNeutral95, ";padding:", designSystem.customProperties.spacingM, " ", designSystem.customProperties.spacingM, " 0;border-bottom:1px ", designSystem.customProperties.colorNeutral, " solid;" + ("" ), "" ),
1104
+ children: [jsxRuntime.jsx(TabularPageContainer, {
1105
+ color: "neutral",
861
1106
  children: jsxRuntime.jsxs(Spacings__default["default"].Stack, {
862
- children: [props.customTitleRow || jsxRuntime.jsx(ModalPageHeaderTitle, {
1107
+ children: [props.customTitleRow || jsxRuntime.jsx(PageHeaderTitle, {
863
1108
  title: props.title,
864
- subtitle: props.subtitle
865
- }), jsxRuntime.jsxs("div", {
866
- css: _ref3,
867
- children: [jsxRuntime.jsx("div", {
868
- css: _ref2$1,
869
- children: props.tabControls
870
- }), jsxRuntime.jsx("div", {
871
- css: _ref$2,
1109
+ subtitle: props.subtitle,
1110
+ truncate: true
1111
+ }), jsxRuntime.jsx(ControlsContainter, {
1112
+ tabControls: props.tabControls,
1113
+ formControls: jsxRuntime.jsx(FormControlsContainer, {
872
1114
  children: !props.hideControls && props.formControls && jsxRuntime.jsx(Spacings__default["default"].Inline, {
873
1115
  alignItems: "flex-end",
874
1116
  children: props.formControls
875
1117
  })
876
- })]
1118
+ })
877
1119
  })]
878
1120
  })
879
1121
  }), jsxRuntime.jsx(ContentWrapper, {
@@ -1142,6 +1384,9 @@ exports.PageNotFound = PageNotFound;
1142
1384
  exports.PageUnauthorized = PageUnauthorized;
1143
1385
  exports.PortalsContainer = PortalsContainer;
1144
1386
  exports.PublicPageLayout = PublicPageLayout;
1387
+ exports.TabHeader = TabHeader;
1388
+ exports.TabularDetailPage = TabularDetailPage;
1389
+ exports.TabularMainPage = TabularMainPage;
1145
1390
  exports.TabularModalPage = TabularModalPage;
1146
1391
  exports.useModalState = useModalState;
1147
1392
  exports.version = version;