@dnb/eufemia 10.38.0 → 10.39.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.
- package/CHANGELOG.md +23 -0
- package/cjs/components/button/Button.d.ts +1 -0
- package/cjs/components/button/Button.js +5 -2
- package/cjs/components/button/Button.js.map +1 -1
- package/cjs/components/modal/Modal.js +1 -1
- package/cjs/components/modal/Modal.js.map +1 -1
- package/cjs/components/modal/types.d.ts +4 -0
- package/cjs/components/modal/types.js.map +1 -1
- package/cjs/components/table/Table.d.ts +6 -3
- package/cjs/components/table/Table.js +6 -2
- package/cjs/components/table/Table.js.map +1 -1
- package/cjs/components/table/TableClickableHead.d.ts +22 -0
- package/cjs/components/table/TableClickableHead.js +116 -0
- package/cjs/components/table/TableClickableHead.js.map +1 -0
- package/cjs/components/table/TableDocs.js +6 -6
- package/cjs/components/table/TableDocs.js.map +1 -1
- package/cjs/components/table/TableTr.d.ts +12 -12
- package/cjs/components/table/TableTr.js +13 -6
- package/cjs/components/table/TableTr.js.map +1 -1
- package/cjs/components/table/style/dnb-table.css +61 -61
- package/cjs/components/table/style/dnb-table.min.css +1 -1
- package/cjs/components/table/style/dnb-table.scss +1 -1
- package/cjs/components/table/style/table-accordion.scss +28 -36
- package/cjs/components/table/style/table-td.scss +1 -1
- package/cjs/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
- package/cjs/components/table/table-accordion/TableAccordionHead.js +45 -74
- package/cjs/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/cjs/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
- package/cjs/components/table/table-navigation/TableNavigationHead.js +56 -0
- package/cjs/components/table/table-navigation/TableNavigationHead.js.map +1 -0
- package/cjs/extensions/forms/Field/Number/Number.d.ts +3 -1
- package/cjs/extensions/forms/Field/Number/Number.js +6 -2
- package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
- package/cjs/extensions/forms/Field/Number/NumberDocs.js +10 -0
- package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js +1 -1
- package/cjs/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/cjs/extensions/payment-card/utils/cardProducts.js +7 -7
- package/cjs/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/cjs/shared/Eufemia.d.ts +1 -1
- package/cjs/shared/Eufemia.js +2 -2
- package/cjs/shared/Eufemia.js.map +1 -1
- package/cjs/shared/locales/en-GB.d.ts +1 -0
- package/cjs/shared/locales/en-GB.js +2 -1
- package/cjs/shared/locales/en-GB.js.map +1 -1
- package/cjs/shared/locales/en-US.d.ts +1 -0
- package/cjs/shared/locales/index.d.ts +2 -0
- package/cjs/shared/locales/nb-NO.d.ts +1 -0
- package/cjs/shared/locales/nb-NO.js +2 -1
- package/cjs/shared/locales/nb-NO.js.map +1 -1
- package/cjs/style/core/scopes.scss +1 -1
- package/cjs/style/dnb-ui-basis.css +1 -1
- package/cjs/style/dnb-ui-basis.min.css +1 -1
- package/cjs/style/dnb-ui-body.css +1 -1
- package/cjs/style/dnb-ui-body.min.css +1 -1
- package/cjs/style/dnb-ui-components.css +61 -61
- package/cjs/style/dnb-ui-components.min.css +1 -1
- package/cjs/style/dnb-ui-core.css +1 -1
- package/cjs/style/dnb-ui-core.min.css +1 -1
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +61 -61
- package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +61 -61
- package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/cjs/style/themes/theme-ui/ui-theme-components.css +61 -61
- package/cjs/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/components/button/Button.d.ts +1 -0
- package/components/button/Button.js +5 -2
- package/components/button/Button.js.map +1 -1
- package/components/modal/Modal.js +1 -1
- package/components/modal/Modal.js.map +1 -1
- package/components/modal/types.d.ts +4 -0
- package/components/modal/types.js.map +1 -1
- package/components/table/Table.d.ts +6 -3
- package/components/table/Table.js +6 -2
- package/components/table/Table.js.map +1 -1
- package/components/table/TableClickableHead.d.ts +22 -0
- package/components/table/TableClickableHead.js +103 -0
- package/components/table/TableClickableHead.js.map +1 -0
- package/components/table/TableDocs.js +6 -6
- package/components/table/TableDocs.js.map +1 -1
- package/components/table/TableTr.d.ts +12 -12
- package/components/table/TableTr.js +13 -6
- package/components/table/TableTr.js.map +1 -1
- package/components/table/style/dnb-table.css +61 -61
- package/components/table/style/dnb-table.min.css +1 -1
- package/components/table/style/dnb-table.scss +1 -1
- package/components/table/style/table-accordion.scss +28 -36
- package/components/table/style/table-td.scss +1 -1
- package/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
- package/components/table/table-accordion/TableAccordionHead.js +44 -72
- package/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
- package/components/table/table-navigation/TableNavigationHead.js +48 -0
- package/components/table/table-navigation/TableNavigationHead.js.map +1 -0
- package/es/components/button/Button.d.ts +1 -0
- package/es/components/button/Button.js +5 -2
- package/es/components/button/Button.js.map +1 -1
- package/es/components/modal/Modal.js +1 -1
- package/es/components/modal/Modal.js.map +1 -1
- package/es/components/modal/types.d.ts +4 -0
- package/es/components/modal/types.js.map +1 -1
- package/es/components/table/Table.d.ts +6 -3
- package/es/components/table/Table.js +6 -2
- package/es/components/table/Table.js.map +1 -1
- package/es/components/table/TableClickableHead.d.ts +22 -0
- package/es/components/table/TableClickableHead.js +101 -0
- package/es/components/table/TableClickableHead.js.map +1 -0
- package/es/components/table/TableDocs.js +6 -6
- package/es/components/table/TableDocs.js.map +1 -1
- package/es/components/table/TableTr.d.ts +12 -12
- package/es/components/table/TableTr.js +13 -6
- package/es/components/table/TableTr.js.map +1 -1
- package/es/components/table/style/dnb-table.css +61 -61
- package/es/components/table/style/dnb-table.min.css +1 -1
- package/es/components/table/style/dnb-table.scss +1 -1
- package/es/components/table/style/table-accordion.scss +28 -36
- package/es/components/table/style/table-td.scss +1 -1
- package/es/components/table/table-accordion/TableAccordionHead.d.ts +0 -1
- package/es/components/table/table-accordion/TableAccordionHead.js +44 -71
- package/es/components/table/table-accordion/TableAccordionHead.js.map +1 -1
- package/es/components/table/table-navigation/TableNavigationHead.d.ts +4 -0
- package/es/components/table/table-navigation/TableNavigationHead.js +48 -0
- package/es/components/table/table-navigation/TableNavigationHead.js.map +1 -0
- package/es/extensions/forms/Field/Number/Number.d.ts +3 -1
- package/es/extensions/forms/Field/Number/Number.js +6 -2
- package/es/extensions/forms/Field/Number/Number.js.map +1 -1
- package/es/extensions/forms/Field/Number/NumberDocs.js +10 -0
- package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js +1 -1
- package/es/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/es/extensions/payment-card/utils/cardProducts.js +7 -7
- package/es/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/es/shared/Eufemia.d.ts +1 -1
- package/es/shared/Eufemia.js +2 -2
- package/es/shared/Eufemia.js.map +1 -1
- package/es/shared/locales/en-GB.d.ts +1 -0
- package/es/shared/locales/en-GB.js +2 -1
- package/es/shared/locales/en-GB.js.map +1 -1
- package/es/shared/locales/en-US.d.ts +1 -0
- package/es/shared/locales/index.d.ts +2 -0
- package/es/shared/locales/nb-NO.d.ts +1 -0
- package/es/shared/locales/nb-NO.js +2 -1
- package/es/shared/locales/nb-NO.js.map +1 -1
- package/es/style/core/scopes.scss +1 -1
- package/es/style/dnb-ui-basis.css +1 -1
- package/es/style/dnb-ui-basis.min.css +1 -1
- package/es/style/dnb-ui-body.css +1 -1
- package/es/style/dnb-ui-body.min.css +1 -1
- package/es/style/dnb-ui-components.css +61 -61
- package/es/style/dnb-ui-components.min.css +1 -1
- package/es/style/dnb-ui-core.css +1 -1
- package/es/style/dnb-ui-core.min.css +1 -1
- package/es/style/themes/theme-eiendom/eiendom-theme-components.css +61 -61
- package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/es/style/themes/theme-sbanken/sbanken-theme-components.css +61 -61
- package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/es/style/themes/theme-ui/ui-theme-components.css +61 -61
- package/es/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +1 -1
- package/esm/dnb-ui-elements.min.mjs +1 -1
- package/esm/dnb-ui-extensions.min.mjs +2 -2
- package/esm/dnb-ui-lib.min.mjs +1 -1
- package/extensions/forms/Field/Number/Number.d.ts +3 -1
- package/extensions/forms/Field/Number/Number.js +6 -2
- package/extensions/forms/Field/Number/Number.js.map +1 -1
- package/extensions/forms/Field/Number/NumberDocs.js +10 -0
- package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
- package/extensions/forms/hooks/DataValueDocs.js +1 -1
- package/extensions/forms/hooks/DataValueDocs.js.map +1 -1
- package/extensions/payment-card/utils/cardProducts.js +7 -7
- package/extensions/payment-card/utils/cardProducts.js.map +1 -1
- package/package.json +1 -1
- package/shared/Eufemia.d.ts +1 -1
- package/shared/Eufemia.js +2 -2
- package/shared/Eufemia.js.map +1 -1
- package/shared/locales/en-GB.d.ts +1 -0
- package/shared/locales/en-GB.js +2 -1
- package/shared/locales/en-GB.js.map +1 -1
- package/shared/locales/en-US.d.ts +1 -0
- package/shared/locales/index.d.ts +2 -0
- package/shared/locales/nb-NO.d.ts +1 -0
- package/shared/locales/nb-NO.js +2 -1
- package/shared/locales/nb-NO.js.map +1 -1
- package/style/core/scopes.scss +1 -1
- package/style/dnb-ui-basis.css +1 -1
- package/style/dnb-ui-basis.min.css +1 -1
- package/style/dnb-ui-body.css +1 -1
- package/style/dnb-ui-body.min.css +1 -1
- package/style/dnb-ui-components.css +61 -61
- package/style/dnb-ui-components.min.css +1 -1
- package/style/dnb-ui-core.css +1 -1
- package/style/dnb-ui-core.min.css +1 -1
- package/style/themes/theme-eiendom/eiendom-theme-components.css +61 -61
- package/style/themes/theme-eiendom/eiendom-theme-components.min.css +1 -1
- package/style/themes/theme-sbanken/sbanken-theme-components.css +61 -61
- package/style/themes/theme-sbanken/sbanken-theme-components.min.css +1 -1
- package/style/themes/theme-ui/ui-theme-components.css +61 -61
- package/style/themes/theme-ui/ui-theme-components.min.css +1 -1
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +1 -1
- package/umd/dnb-ui-elements.min.js +1 -1
- package/umd/dnb-ui-extensions.min.js +2 -2
- package/umd/dnb-ui-lib.min.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
All notable changes to @dnb/eufemia will be documented in this file. See
|
|
4
4
|
[Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [10.39.0](https://github.com/dnbexperience/eufemia/compare/v10.38.0...v10.39.0) (2024-07-05)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :bug: Bug Fixes
|
|
10
|
+
|
|
11
|
+
* deprecate `class` prop in Button, Drawer, Dialog and Modal components ([#3745](https://github.com/dnbexperience/eufemia/issues/3745)) ([2aea682](https://github.com/dnbexperience/eufemia/commit/2aea682d39f220826a1c9da7c364e16cd798860b)), closes [#3634](https://github.com/dnbexperience/eufemia/issues/3634)
|
|
12
|
+
* **Forms:** update `emptyValue` documentation and type to reflect how it's used internally ([#3729](https://github.com/dnbexperience/eufemia/issues/3729)) ([ff755e7](https://github.com/dnbexperience/eufemia/commit/ff755e70a27d6c798be7dd63d9cda3fe64100904))
|
|
13
|
+
* **PaymentCard:** change SBanken to Sbanken ([#3747](https://github.com/dnbexperience/eufemia/issues/3747)) ([bfe8a9d](https://github.com/dnbexperience/eufemia/commit/bfe8a9d5ff5f7496de2b4937cf499367ede9384f))
|
|
14
|
+
* **PaymentCard:** set sbanken MC code to P103 ([#3746](https://github.com/dnbexperience/eufemia/issues/3746)) ([1e97a41](https://github.com/dnbexperience/eufemia/commit/1e97a41da548e892a78e8c8edffdaec3bb654117))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### :memo: Documentation
|
|
18
|
+
|
|
19
|
+
* **Field.Number:** add `allowNegative` demo/example ([#3754](https://github.com/dnbexperience/eufemia/issues/3754)) ([d6d3dbd](https://github.com/dnbexperience/eufemia/commit/d6d3dbd4397880d854b2109440038ff359cc990e))
|
|
20
|
+
* **Field.Number:** fix `percent` demo/example ([#3755](https://github.com/dnbexperience/eufemia/issues/3755)) ([c1a0839](https://github.com/dnbexperience/eufemia/commit/c1a083927e571c8b1d751673046ddc94f127a3be))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### :sparkles: Features
|
|
24
|
+
|
|
25
|
+
* **Field.Number:** add `allowNegative` mask prop ([#3753](https://github.com/dnbexperience/eufemia/issues/3753)) ([9dc1358](https://github.com/dnbexperience/eufemia/commit/9dc1358eea68e6bdc095a4cd4291ec2914566d44))
|
|
26
|
+
* **Field.Number:** add `disallowLeadingZeroes` prop ([#3756](https://github.com/dnbexperience/eufemia/issues/3756)) ([d49cad9](https://github.com/dnbexperience/eufemia/commit/d49cad9f428102b86fd06de3976d46c51cb47fda))
|
|
27
|
+
* **Table:** add navigation mode ([#3752](https://github.com/dnbexperience/eufemia/issues/3752)) ([b3a6db9](https://github.com/dnbexperience/eufemia/commit/b3a6db91c10591db061ec8bbac16d5cf6a987866))
|
|
28
|
+
|
|
6
29
|
## [10.38.0](https://github.com/dnbexperience/eufemia/compare/v10.37.0...v10.38.0) (2024-06-26)
|
|
7
30
|
|
|
8
31
|
|
|
@@ -19,7 +19,7 @@ var _Anchor = _interopRequireWildcard(require("../anchor/Anchor"));
|
|
|
19
19
|
var _icons = require("../../icons");
|
|
20
20
|
var _Tooltip = _interopRequireDefault(require("../tooltip/Tooltip"));
|
|
21
21
|
var _span, _span2, _span3;
|
|
22
|
-
const _excluded = ["className", "variant", "size", "title", "custom_content", "tooltip", "status", "status_state", "status_props", "status_no_animation", "globalStatus", "id", "disabled", "text", "icon", "icon_position", "icon_size", "wrap", "bounding", "stretch", "skeleton", "element", "inner_ref", "innerRef"];
|
|
22
|
+
const _excluded = ["class", "className", "variant", "size", "title", "custom_content", "tooltip", "status", "status_state", "status_props", "status_no_animation", "globalStatus", "id", "disabled", "text", "icon", "icon_position", "icon_size", "wrap", "bounding", "stretch", "skeleton", "element", "inner_ref", "innerRef"];
|
|
23
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
25
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -71,6 +71,7 @@ class Button extends _react.default.PureComponent {
|
|
|
71
71
|
skeleton: (_this$context = this.context) === null || _this$context === void 0 ? void 0 : _this$context.skeleton
|
|
72
72
|
}, (0, _filterValidProps.pickFormElementProps)((_this$context2 = this.context) === null || _this$context2 === void 0 ? void 0 : _this$context2.FormRow), (0, _filterValidProps.pickFormElementProps)((_this$context3 = this.context) === null || _this$context3 === void 0 ? void 0 : _this$context3.formElement), this.context.Button);
|
|
73
73
|
const {
|
|
74
|
+
class: classProp,
|
|
74
75
|
className,
|
|
75
76
|
variant,
|
|
76
77
|
size,
|
|
@@ -139,7 +140,7 @@ class Button extends _react.default.PureComponent {
|
|
|
139
140
|
icon = _icons.launch;
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
|
-
const classes = (0, _classnames.default)(`dnb-button dnb-button--${usedVariant || 'primary'}`, (text || content || custom_content) && 'dnb-button--has-text', (0, _SkeletonHelper.createSkeletonClass)(variant === 'tertiary' ? 'font' : 'shape', skeleton, this.context), (0, _SpacingHelper.createSpacingClasses)(props), className, (props.href || props.to) && '', icon && `dnb-button--icon-position-${icon_position} dnb-button--has-icon` + (iconSize ? ` dnb-button--icon-size-${iconSize}` : ""), usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`, ((_this$context4 = this.context) === null || _this$context4 === void 0 ? void 0 : (_this$context4$theme = _this$context4.theme) === null || _this$context4$theme === void 0 ? void 0 : _this$context4$theme.darkBackground) && `dnb-button--on-dark-background`, (0, _componentHelper.isTrue)(stretch) && 'dnb-button--stretch', wrap && 'dnb-button--wrap', status && `dnb-button__status--${status_state}`, Element === _Anchor.default && 'dnb-anchor--no-style');
|
|
143
|
+
const classes = (0, _classnames.default)(`dnb-button dnb-button--${usedVariant || 'primary'}`, (text || content || custom_content) && 'dnb-button--has-text', (0, _SkeletonHelper.createSkeletonClass)(variant === 'tertiary' ? 'font' : 'shape', skeleton, this.context), (0, _SpacingHelper.createSpacingClasses)(props), classProp, className, (props.href || props.to) && '', icon && `dnb-button--icon-position-${icon_position} dnb-button--has-icon` + (iconSize ? ` dnb-button--icon-size-${iconSize}` : ""), usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`, ((_this$context4 = this.context) === null || _this$context4 === void 0 ? void 0 : (_this$context4$theme = _this$context4.theme) === null || _this$context4$theme === void 0 ? void 0 : _this$context4$theme.darkBackground) && `dnb-button--on-dark-background`, (0, _componentHelper.isTrue)(stretch) && 'dnb-button--stretch', wrap && 'dnb-button--wrap', status && `dnb-button__status--${status_state}`, Element === _Anchor.default && 'dnb-anchor--no-style');
|
|
143
144
|
const params = _objectSpread({
|
|
144
145
|
className: classes,
|
|
145
146
|
title,
|
|
@@ -213,6 +214,7 @@ process.env.NODE_ENV !== "production" ? Button.propTypes = _objectSpread(_object
|
|
|
213
214
|
disabled: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
|
|
214
215
|
inner_ref: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),
|
|
215
216
|
className: _propTypes.default.string,
|
|
217
|
+
class: _propTypes.default.string,
|
|
216
218
|
innerRef: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.func]),
|
|
217
219
|
children: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func, _propTypes.default.node]),
|
|
218
220
|
element: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.node])
|
|
@@ -247,6 +249,7 @@ Button.defaultProps = {
|
|
|
247
249
|
globalStatus: null,
|
|
248
250
|
inner_ref: null,
|
|
249
251
|
className: null,
|
|
252
|
+
class: null,
|
|
250
253
|
innerRef: null,
|
|
251
254
|
children: null,
|
|
252
255
|
element: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_Context","_componentHelper","_SpacingHelper","_SkeletonHelper","_filterValidProps","_IconPrimary","_FormStatus","_Anchor","_interopRequireWildcard","_icons","_Tooltip","_span","_span2","_span3","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","buttonVariantPropType","variant","PropTypes","oneOf","exports","Button","React","PureComponent","getContent","props","processChildren","constructor","event","afterContent","dispatchCustomElementEvent","isValidElement","setState","_id","id","status","tooltip","makeUniqueId","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","_this$context4","_this$context4$theme","extendPropsWithContextInClassComponent","defaultProps","skeleton","context","pickFormElementProps","FormRow","formElement","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","showStatus","getStatusState","usedVariant","usedSize","iconSize","content","warn","isIconOnly","Boolean","Element","href","to","Anchor","omitClass","opensNewTab","launch","classes","classnames","createSkeletonClass","createSpacingClasses","theme","darkBackground","isTrue","params","on_click","onClick","onClickHandler","type","skeletonDOMAttributes","validateDOMAttributes","createElement","Fragment","ref","Content","show","label","text_id","no_animation","targetElement","Context","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","shape","message","rel","children","spacingPropTypes","pickIcon","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n onClickHandler = (event) => {\n const afterContent = dispatchCustomElementEvent(this, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n this.context?.theme?.darkBackground &&\n `dnb-button--on-dark-background`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (this.props.on_click || this.props.onClick) {\n params.onClick = this.onClickHandler\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.node,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n\n className: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n}\n\nfunction Content({\n title,\n content,\n custom_content,\n icon,\n icon_size,\n bounding,\n skeleton,\n isIconOnly,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n ‌\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n ‌\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon, 'dnb-button__icon') || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.node,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nContent.defaultProps = {\n custom_content: null,\n title: null,\n content: null,\n icon: null,\n icon_size: 'default',\n bounding: null,\n skeleton: null,\n isIconOnly: null,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Button.js","names":["_react","_interopRequireDefault","require","_propTypes","_classnames","_Context","_componentHelper","_SpacingHelper","_SkeletonHelper","_filterValidProps","_IconPrimary","_FormStatus","_Anchor","_interopRequireWildcard","_icons","_Tooltip","_span","_span2","_span3","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","buttonVariantPropType","variant","PropTypes","oneOf","exports","Button","React","PureComponent","getContent","props","processChildren","constructor","event","afterContent","dispatchCustomElementEvent","isValidElement","setState","_id","id","status","tooltip","makeUniqueId","_ref","createRef","state","componentDidMount","innerRef","current","inner_ref","render","_this$context","_this$context2","_this$context3","_this$context4","_this$context4$theme","extendPropsWithContextInClassComponent","defaultProps","skeleton","context","pickFormElementProps","FormRow","formElement","class","classProp","className","size","title","custom_content","status_state","status_props","status_no_animation","globalStatus","disabled","text","_text","icon","_icon","icon_position","icon_size","wrap","bounding","stretch","element","attributes","showStatus","getStatusState","usedVariant","usedSize","iconSize","content","warn","isIconOnly","Boolean","Element","href","to","Anchor","omitClass","opensNewTab","launch","classes","classnames","createSkeletonClass","createSpacingClasses","theme","darkBackground","isTrue","params","on_click","onClick","onClickHandler","type","skeletonDOMAttributes","validateDOMAttributes","createElement","Fragment","ref","Content","show","label","text_id","no_animation","targetElement","Context","process","env","NODE_ENV","propTypes","oneOfType","string","node","func","number","bool","shape","message","rel","children","spacingPropTypes","pickIcon","array","_formElement","_supportsSpacingProps"],"sources":["../../../../src/components/button/Button.js"],"sourcesContent":["/**\n * Web Button Component\n *\n * This is a legacy component.\n * For referencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport classnames from 'classnames'\nimport Context from '../../shared/Context'\nimport {\n warn,\n makeUniqueId,\n isTrue,\n extendPropsWithContextInClassComponent,\n validateDOMAttributes,\n processChildren,\n getStatusState,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport {\n spacingPropTypes,\n createSpacingClasses,\n} from '../space/SpacingHelper'\nimport {\n skeletonDOMAttributes,\n createSkeletonClass,\n} from '../skeleton/SkeletonHelper'\nimport { pickFormElementProps } from '../../shared/helpers/filterValidProps'\nimport IconPrimary from '../icon-primary/IconPrimary'\nimport FormStatus from '../form-status/FormStatus'\nimport Anchor, { pickIcon, opensNewTab } from '../anchor/Anchor'\nimport { launch } from '../../icons'\nimport Tooltip from '../tooltip/Tooltip'\n\nexport const buttonVariantPropType = {\n variant: PropTypes.oneOf([\n 'primary',\n 'secondary',\n 'tertiary',\n 'signal',\n\n /**\n * For internal use only (as of now)\n */\n 'unstyled',\n ]),\n}\n\n/**\n * The button component should be used as the call-to-action in a form, or as a user interaction mechanism. Generally speaking, a button should not be used when a link would do the trick. Exceptions are made at times when it is used as a navigation element in the action-nav element.\n */\nexport default class Button extends React.PureComponent {\n static contextType = Context\n\n static getContent(props) {\n return processChildren(props)\n }\n\n constructor(props) {\n super(props)\n\n this._id =\n props.id || ((props.status || props.tooltip) && makeUniqueId()) // cause we need an id anyway\n this._ref = React.createRef()\n\n this.state = { afterContent: null }\n }\n\n componentDidMount() {\n if (this.props.innerRef) {\n typeof this.props.innerRef === 'function'\n ? this.props.innerRef(this._ref.current)\n : (this.props.innerRef.current = this._ref.current)\n }\n if (this.props.inner_ref) {\n typeof this.props.innerRef === 'function'\n ? this.props.inner_ref(this._ref.current)\n : (this.props.inner_ref.current = this._ref.current)\n }\n }\n\n onClickHandler = (event) => {\n const afterContent = dispatchCustomElementEvent(this, 'on_click', {\n event,\n })\n if (afterContent && React.isValidElement(afterContent)) {\n this.setState({\n afterContent,\n })\n }\n }\n\n render() {\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Button.defaultProps,\n { skeleton: this.context?.skeleton },\n // Deprecated – can be removed in v11\n pickFormElementProps(this.context?.FormRow),\n pickFormElementProps(this.context?.formElement),\n this.context.Button\n )\n\n const {\n class: classProp, // @deprecated – can be removed in v11\n className,\n variant,\n size,\n title,\n custom_content,\n tooltip,\n status,\n status_state,\n status_props,\n status_no_animation,\n globalStatus,\n id, // eslint-disable-line\n disabled,\n text: _text, // eslint-disable-line\n icon: _icon, // eslint-disable-line\n icon_position,\n icon_size,\n wrap,\n bounding, // eslint-disable-line\n stretch,\n skeleton,\n element,\n inner_ref, // eslint-disable-line\n innerRef, // eslint-disable-line\n ...attributes\n } = props\n\n const showStatus = getStatusState(status)\n\n let { text, icon } = props\n let usedVariant = variant\n let usedSize = size\n let iconSize = icon_size\n const content = Button.getContent(this.props)\n\n if (\n variant === 'tertiary' &&\n (text || content) &&\n !icon &&\n icon !== false\n ) {\n warn(\n `Icon required: A Tertiary Button requires an icon to be WCAG compliant in most cases, because variant tertiary has no underline.\n(Override this warning using icon={false}, or consider using one of the other variants)`\n )\n }\n\n // if only has Icon, then resize it and define it as secondary\n const isIconOnly = Boolean(!text && !content && icon)\n if (isIconOnly) {\n if (!usedVariant) {\n usedVariant = 'secondary'\n }\n if (!iconSize && (usedSize === 'default' || usedSize === 'large')) {\n iconSize = 'medium'\n }\n if (!usedSize) {\n usedSize = 'medium'\n }\n } else if (content) {\n if (!usedVariant) {\n usedVariant = 'primary'\n }\n if (!usedSize) {\n usedSize = 'default'\n }\n }\n if (!iconSize && variant === 'tertiary' && icon_position === 'top') {\n iconSize = 'medium'\n }\n\n const Element = element\n ? element\n : props.href || props.to\n ? Anchor\n : 'button'\n if (Element === Anchor) {\n attributes.omitClass = true\n if (opensNewTab(props.target, props.href) && !icon) {\n icon = launch\n }\n }\n\n const classes = classnames(\n 'dnb-button',\n `dnb-button--${usedVariant || 'primary'}`,\n usedSize && usedSize !== 'default' && `dnb-button--size-${usedSize}`,\n this.context?.theme?.darkBackground &&\n `dnb-button--on-dark-background`,\n icon && `dnb-button--icon-position-${icon_position}`,\n isTrue(stretch) && 'dnb-button--stretch',\n icon && iconSize && `dnb-button--icon-size-${iconSize}`,\n (text || content || custom_content) && 'dnb-button--has-text',\n icon && 'dnb-button--has-icon',\n wrap && 'dnb-button--wrap',\n status && `dnb-button__status--${status_state}`,\n createSkeletonClass(\n variant === 'tertiary' ? 'font' : 'shape',\n skeleton,\n this.context\n ),\n createSpacingClasses(props),\n classProp, // @deprecated – can be removed in v11\n className,\n props.href || props.to ? '' : null, // dnb-anchor--no-underline dnb-anchor--no-hover\n Element === Anchor && 'dnb-anchor--no-style'\n )\n\n const params = {\n className: classes,\n title,\n id: this._id,\n disabled: isTrue(disabled),\n ...attributes,\n }\n\n if (this.props.on_click || this.props.onClick) {\n params.onClick = this.onClickHandler\n }\n\n if (Element !== Anchor && !params.type) {\n params.type = params.type === '' ? undefined : 'button'\n }\n\n skeletonDOMAttributes(params, skeleton, this.context)\n\n // also used for code markup simulation\n validateDOMAttributes(this.props, params)\n\n return (\n <>\n <Element ref={this._ref} {...params}>\n <Content\n {...this.props}\n icon={icon}\n icon_size={iconSize}\n content={text || content}\n custom_content={custom_content}\n isIconOnly={isIconOnly}\n skeleton={isTrue(skeleton)}\n />\n </Element>\n\n {this.state.afterContent}\n\n <FormStatus\n show={showStatus}\n id={this._id + '-form-status'}\n globalStatus={globalStatus}\n label={text}\n text={status}\n state={status_state}\n text_id={this._id + '-status'} // used for \"aria-describedby\"\n no_animation={status_no_animation}\n skeleton={skeleton}\n {...status_props}\n />\n\n {tooltip && this._ref && (\n <Tooltip\n id={this._id + '-tooltip'}\n targetElement={this._ref}\n tooltip={tooltip}\n />\n )}\n </>\n )\n }\n}\n\nButton.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n type: PropTypes.string,\n title: PropTypes.node,\n variant: buttonVariantPropType.variant,\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_position: PropTypes.oneOf(['left', 'right', 'top']),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n tooltip: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n status: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n PropTypes.func,\n PropTypes.node,\n ]),\n status_state: PropTypes.string,\n status_props: PropTypes.object,\n status_no_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n globalStatus: PropTypes.shape({\n id: PropTypes.string,\n message: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n }),\n id: PropTypes.string,\n href: PropTypes.string,\n target: PropTypes.string,\n rel: PropTypes.string,\n to: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.object,\n PropTypes.func,\n ]),\n custom_content: PropTypes.node,\n wrap: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n stretch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n disabled: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n inner_ref: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n className: PropTypes.string,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: PropTypes.string,\n innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.func]),\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n ]),\n element: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.object,\n PropTypes.node,\n ]),\n\n ...spacingPropTypes,\n\n on_click: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n}\n\nButton.defaultProps = {\n type: null, // set the type because of the anchor/href situation – can be made more smart in future\n text: null,\n variant: null,\n size: null,\n title: null,\n icon: null,\n icon_position: 'right',\n icon_size: null,\n href: null,\n target: null,\n rel: null,\n to: null,\n id: null,\n custom_content: null,\n wrap: null,\n bounding: null,\n stretch: null,\n skeleton: null,\n disabled: null,\n tooltip: null,\n status: null,\n status_state: 'error',\n status_props: null,\n status_no_animation: null,\n globalStatus: null,\n inner_ref: null,\n\n className: null,\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class: null,\n innerRef: null,\n children: null,\n element: null,\n\n on_click: null,\n}\n\nfunction Content({\n title,\n content,\n custom_content,\n icon,\n icon_size,\n bounding,\n skeleton,\n isIconOnly,\n}) {\n return (\n <>\n {isTrue(bounding) && (\n <span key=\"button-bounding\" className=\"dnb-button__bounding\" />\n )}\n\n {custom_content && (\n <React.Fragment key=\"button-custom-content\">\n {custom_content}\n </React.Fragment>\n )}\n\n {content && (\n <>\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n ‌\n </span>\n <span\n key=\"button-text\"\n className=\"dnb-button__text dnb-skeleton--show-font\"\n >\n {content}\n </span>\n </>\n )}\n\n {\n // on empty text, use a zero-width non-joiner\n // so the icon button gets vertical aligned\n // we need the dnb-button__text for alignment\n !content && icon && (\n <span\n key=\"button-alignment\"\n className=\"dnb-button__alignment\"\n aria-hidden\n >\n ‌\n </span>\n )\n }\n\n {icon &&\n (pickIcon(icon, 'dnb-button__icon') || (\n <IconPrimary\n key=\"button-icon\"\n className=\"dnb-button__icon\"\n icon={icon}\n size={icon_size}\n aria-hidden={isIconOnly && !title ? null : true}\n skeleton={skeleton}\n />\n ))}\n </>\n )\n}\n\nContent.propTypes = {\n title: PropTypes.node,\n custom_content: PropTypes.node,\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.array,\n PropTypes.node,\n ]),\n icon: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.func,\n ]),\n icon_size: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n bounding: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skeleton: PropTypes.bool,\n isIconOnly: PropTypes.bool,\n}\n\nContent.defaultProps = {\n custom_content: null,\n title: null,\n content: null,\n icon: null,\n icon_size: 'default',\n bounding: null,\n skeleton: null,\n isIconOnly: null,\n}\n\nButton._formElement = true\nButton._supportsSpacingProps = true\n"],"mappings":"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"}
|
|
@@ -361,7 +361,7 @@ class Modal extends _react.default.PureComponent {
|
|
|
361
361
|
title: title,
|
|
362
362
|
onClick: this.toggleOpenClose,
|
|
363
363
|
innerRef: this._triggerRef,
|
|
364
|
-
className: (0, _classnames.default)('dnb-modal__trigger', (0, _SpacingHelper.createSpacingClasses)(props), triggerAttributes.className)
|
|
364
|
+
className: (0, _classnames.default)('dnb-modal__trigger', (0, _SpacingHelper.createSpacingClasses)(props), triggerAttributes.className, triggerAttributes.class)
|
|
365
365
|
})), modalActive && modal_content && _react.default.createElement(_ModalRoot.default, _extends({}, rest, {
|
|
366
366
|
id: this._id,
|
|
367
367
|
root_id: root_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["_react","_interopRequireDefault","require","_classnames","_Suffix","_Context","_componentHelper","_SpacingHelper","_HelpButtonInstance","_helpers","_ModalInner","_ModalHeader","_ModalHeaderBar","_CloseButton","_ModalRoot","_withCamelCaseProps","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ANIMATION_DURATION","exports","Modal","React","PureComponent","getContent","props","modal_content","processChildren","getDerivedStateFromProps","state","window","animation_duration","no_animation","open_state","_open_state","hide","isTrue","modalActive","constructor","_this","this","preventAutoFocus","event","showModal","preventDefault","toggleNow","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","ifIsLatest","triggeredBy","prevent_close","id","dispatchCustomElementEvent","close","list","getListOfModalRoots","last","getModalRoot","makeUniqueId","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","componentDidUpdate","prevProps","document","documentElement","warn","modalId","render","visualTestsPropsOverride","extendPropsWithContextInClassComponent","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","omit_trigger_button","trigger","trigger_attributes","rest","children","freeze","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","HelpButtonInstance","text","createElement","Fragment","onClick","innerRef","className","classnames","createSpacingClasses","SuffixContext","Consumer","OriginalComponent","Context","ModalHeaderBar","ModalHeader","ModalInner","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","_default","classWithCamelCaseProps"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n preventAutoFocus: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n\n state = {\n hide: false,\n modalActive: false,\n preventAutoFocus: true,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n open_state: null,\n direct_dom_return: false,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (typeof window !== 'undefined' && window['IS_TEST']) {\n state.animation_duration = 0\n state.no_animation = true\n } else {\n state.animation_duration = props.animation_duration\n state.no_animation = props.no_animation\n }\n\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(state.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(state.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.state\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay } = this.props\n const { no_animation } = this.state\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive, preventAutoFocus, animation_duration } =\n this.state\n const { close_modal, open_state } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n this.setActiveState(this._id)\n } else if (modalActive === false && !preventAutoFocus) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(\n () => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n },\n parseFloat(String(animation_duration)) / 3\n )\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n\n if (preventAutoFocus) {\n this.setState({ preventAutoFocus: false })\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }\n ) => {\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n const visualTestsPropsOverride =\n typeof window !== 'undefined' && window['IS_TEST']\n ? {\n animation_duration: 0,\n no_animation: true,\n }\n : {}\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal,\n visualTestsPropsOverride\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n\n id, // eslint-disable-line\n open_state, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.className\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["_react","_interopRequireDefault","require","_classnames","_Suffix","_Context","_componentHelper","_SpacingHelper","_HelpButtonInstance","_helpers","_ModalInner","_ModalHeader","_ModalHeaderBar","_CloseButton","_ModalRoot","_withCamelCaseProps","_excluded","obj","__esModule","default","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","ANIMATION_DURATION","exports","Modal","React","PureComponent","getContent","props","modal_content","processChildren","getDerivedStateFromProps","state","window","animation_duration","no_animation","open_state","_open_state","hide","isTrue","modalActive","constructor","_this","this","preventAutoFocus","event","showModal","preventDefault","toggleNow","timeoutDuration","parseFloat","isInTransition","doItNow","setState","handleSideEffects","_closeTimeout","setTimeout","waitBeforeOpen","open_delay","delay","_openTimeout","clearTimeout","open_modal","fn","_onUnmount","close_modal","toggleOpenClose","setActiveState","_id","_this$_triggerRef","focus","elem","setAttribute","preventScroll","Promise","resolve","removeAttribute","_triggerRef","current","activeElement","HTMLElement","then","e","removeActiveState","ifIsLatest","triggeredBy","prevent_close","id","dispatchCustomElementEvent","close","list","getListOfModalRoots","last","getModalRoot","makeUniqueId","createRef","componentDidMount","openBasedOnStateUpdate","componentWillUnmount","componentDidUpdate","prevProps","document","documentElement","warn","modalId","render","visualTestsPropsOverride","extendPropsWithContextInClassComponent","defaultProps","context","getTranslation","root_id","content_id","disabled","labelled_by","focus_selector","header_content","bar_content","bypass_invalidation_selectors","omit_trigger_button","trigger","trigger_attributes","rest","children","freeze","suffixProps","triggerAttributes","hidden","variant","icon_position","fallbackTitle","title","translation","HelpButton","TriggerButton","HelpButtonInstance","text","createElement","Fragment","onClick","innerRef","className","classnames","createSpacingClasses","class","SuffixContext","Consumer","OriginalComponent","Context","ModalHeaderBar","ModalHeader","ModalInner","spacing","dialog_title","close_title","hide_close_button","close_button_attributes","prevent_core_style","no_animation_on_mobile","fullscreen","min_width","max_width","align_content","container_placement","direct_dom_return","on_open","on_close","on_close_prevent","overlay_class","content_class","_default","classWithCamelCaseProps"],"sources":["../../../../src/components/modal/Modal.tsx"],"sourcesContent":["/**\n * Web Modal Component\n *\n */\n\nimport React from 'react'\nimport classnames from 'classnames'\nimport { SuffixContext } from '../../shared/helpers/Suffix'\nimport Context, { ContextProps } from '../../shared/Context'\nimport {\n warn,\n isTrue,\n makeUniqueId,\n extendPropsWithContextInClassComponent,\n processChildren,\n dispatchCustomElementEvent,\n} from '../../shared/component-helper'\nimport { createSpacingClasses } from '../space/SpacingHelper'\nimport HelpButtonInstance from '../help-button/HelpButtonInstance'\nimport { getListOfModalRoots, getModalRoot } from './helpers'\nimport ModalInner from './parts/ModalInner'\nimport { ModalProps } from './types'\n\nimport ModalHeader from './parts/ModalHeader'\nimport ModalHeaderBar from './parts/ModalHeaderBar'\nimport { ScrollViewAllProps } from '../../fragments/scroll-view/ScrollView'\nimport CloseButton from './parts/CloseButton'\nimport ModalRoot from './ModalRoot'\nimport type { SpacingProps } from '../../shared/types'\nimport {\n classWithCamelCaseProps,\n ToCamelCasePartial,\n} from '../../shared/helpers/withCamelCaseProps'\nimport type { ButtonProps } from '../button/Button'\n\nexport const ANIMATION_DURATION = 300\n\ninterface ModalState {\n hide: boolean\n modalActive: boolean\n preventAutoFocus: boolean\n}\n\nexport type ModalPropTypes = ModalProps &\n SpacingProps &\n Omit<ScrollViewAllProps, 'children'>\n\nclass Modal extends React.PureComponent<\n ModalPropTypes & ToCamelCasePartial<ModalPropTypes>,\n ModalState\n> {\n static contextType = Context\n\n context!: ContextProps\n\n static Bar = ModalHeaderBar\n static Header = ModalHeader\n static Content = ModalInner\n\n static getContent(props) {\n if (typeof props.modal_content === 'string') {\n return props.modal_content\n } else if (typeof props.modal_content === 'function') {\n return props.modal_content(props)\n }\n return processChildren(props)\n }\n\n _id: string\n _triggerRef: React.RefObject<any>\n _onUnmount: Array<() => void>\n _openTimeout: NodeJS.Timeout\n _closeTimeout: NodeJS.Timeout\n _sideEffectsTimeout: NodeJS.Timeout\n _tryToOpenTimeout: NodeJS.Timeout\n activeElement: Element\n isInTransition: boolean\n\n state = {\n hide: false,\n modalActive: false,\n preventAutoFocus: true,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n }\n\n static defaultProps = {\n id: null,\n focus_selector: null,\n labelled_by: null,\n title: null,\n disabled: null,\n spacing: true,\n open_delay: null,\n content_id: null,\n dialog_title: 'Vindu',\n close_title: 'Lukk', // Close Modal Window\n hide_close_button: false,\n close_button_attributes: null,\n prevent_close: false,\n prevent_core_style: false,\n animation_duration: ANIMATION_DURATION,\n no_animation: false,\n no_animation_on_mobile: false,\n fullscreen: 'auto',\n min_width: null,\n max_width: null,\n align_content: 'left',\n container_placement: null,\n open_state: null,\n direct_dom_return: false,\n root_id: 'root',\n omit_trigger_button: false,\n\n className: null,\n children: null,\n\n on_open: null,\n on_close: null,\n on_close_prevent: null,\n open_modal: null,\n close_modal: null,\n\n trigger: null,\n trigger_attributes: null,\n\n overlay_class: null,\n content_class: null,\n\n modal_content: null,\n header_content: null,\n bar_content: null,\n }\n\n static getDerivedStateFromProps(props, state) {\n if (typeof window !== 'undefined' && window['IS_TEST']) {\n state.animation_duration = 0\n state.no_animation = true\n } else {\n state.animation_duration = props.animation_duration\n state.no_animation = props.no_animation\n }\n\n if (props.open_state !== state._open_state) {\n switch (props.open_state) {\n case 'opened':\n case true:\n state.hide = false\n if (isTrue(state.no_animation)) {\n state.modalActive = true\n }\n break\n case 'closed':\n case false:\n state.hide = true\n if (isTrue(state.no_animation)) {\n state.modalActive = false\n }\n break\n }\n }\n state._open_state = props.open_state\n\n return state\n }\n\n constructor(props) {\n super(props)\n this._id = props.id || makeUniqueId('modal-')\n\n this._triggerRef = React.createRef()\n\n this._onUnmount = []\n }\n\n componentDidMount() {\n this.openBasedOnStateUpdate()\n }\n\n componentWillUnmount() {\n clearTimeout(this._openTimeout)\n clearTimeout(this._closeTimeout)\n\n this.removeActiveState()\n\n this._onUnmount.forEach((fn) => {\n if (typeof fn === 'function') {\n fn()\n }\n })\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps !== this.props) {\n this.openBasedOnStateUpdate()\n }\n }\n\n openBasedOnStateUpdate() {\n const { hide } = this.state\n const { open_state } = this.props\n\n if (!this.activeElement && typeof document !== 'undefined') {\n this.activeElement = document.activeElement\n }\n\n if (!hide && (open_state === 'opened' || open_state === true)) {\n this.toggleOpenClose(null, true)\n } else if (hide && (open_state === 'closed' || open_state === false)) {\n this.toggleOpenClose(null, false)\n }\n }\n\n toggleOpenClose = (event = null, showModal = null) => {\n if (event && event.preventDefault) {\n event.preventDefault()\n }\n\n const toggleNow = () => {\n const {\n animation_duration = ANIMATION_DURATION,\n no_animation = false,\n } = this.state\n const timeoutDuration =\n typeof animation_duration === 'string'\n ? parseFloat(animation_duration)\n : animation_duration\n\n const modalActive =\n typeof showModal === 'boolean'\n ? showModal\n : !this.state.modalActive\n\n this.isInTransition = true\n\n const doItNow = () => {\n this.setState(\n {\n hide: false,\n modalActive,\n },\n () => {\n this.isInTransition = false\n this.handleSideEffects()\n }\n )\n }\n\n if (modalActive === false && !isTrue(no_animation)) {\n this.setState({\n hide: true,\n })\n\n this._closeTimeout = setTimeout(doItNow, timeoutDuration) // delay because of the animation\n } else {\n doItNow()\n }\n }\n\n const waitBeforeOpen = () => {\n const { open_delay } = this.props\n const { no_animation } = this.state\n const delay =\n typeof open_delay === 'string'\n ? parseFloat(open_delay)\n : open_delay\n if (delay > 0 && !isTrue(no_animation)) {\n this._openTimeout = setTimeout(toggleNow, delay) // custom delay\n } else {\n toggleNow()\n }\n }\n\n clearTimeout(this._closeTimeout)\n clearTimeout(this._openTimeout)\n\n const { open_modal } = this.props\n if (typeof open_modal === 'function') {\n const fn = open_modal(waitBeforeOpen, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n } else {\n waitBeforeOpen()\n }\n }\n\n handleSideEffects = () => {\n const { modalActive, preventAutoFocus, animation_duration } =\n this.state\n const { close_modal, open_state } = this.props\n\n if (modalActive) {\n if (typeof close_modal === 'function') {\n const fn = close_modal(() => {\n this.toggleOpenClose(null, false)\n }, this)\n if (fn) {\n this._onUnmount.push(fn)\n }\n }\n this.setActiveState(this._id)\n } else if (modalActive === false && !preventAutoFocus) {\n const focus = (elem: HTMLElement) => {\n // So we can omit showing a Tooltip on the trigger button\n elem.setAttribute('data-autofocus', 'true')\n elem.focus({ preventScroll: true })\n\n return new Promise<void>((resolve) => {\n setTimeout(\n () => {\n elem?.removeAttribute('data-autofocus')\n resolve()\n },\n parseFloat(String(animation_duration)) / 3\n )\n })\n }\n\n if (this._triggerRef?.current) {\n focus(this._triggerRef.current)\n }\n\n // because the open_state was set to opened, we force\n if (\n (open_state === 'opened' || open_state === true) &&\n this.activeElement instanceof HTMLElement\n ) {\n try {\n focus(this.activeElement).then(() => {\n this.activeElement = null\n })\n } catch (e) {\n //\n }\n }\n\n this.removeActiveState()\n }\n\n if (preventAutoFocus) {\n this.setState({ preventAutoFocus: false })\n }\n }\n\n open = (e: Event) => {\n this.toggleOpenClose(e, true)\n }\n\n close = (\n event: Event,\n { ifIsLatest, triggeredBy = null } = { ifIsLatest: true }\n ) => {\n const { prevent_close = false } = this.props\n\n if (isTrue(prevent_close)) {\n const id = this._id\n dispatchCustomElementEvent(this, 'on_close_prevent', {\n id,\n event,\n triggeredBy,\n close: (e) => {\n this.toggleOpenClose(e, false)\n },\n })\n } else {\n if (ifIsLatest) {\n const list = getListOfModalRoots()\n if (list.length > 1) {\n const last = getModalRoot(-1)\n if (last !== this) {\n return // stop here\n }\n }\n }\n\n this.toggleOpenClose(event, false)\n }\n }\n\n removeActiveState() {\n const last = getModalRoot(-1)\n\n // If this instance is not the last one,\n // make the current one to as the active one\n if (last?._id && last._id !== this._id) {\n return this.setActiveState(last._id)\n }\n\n try {\n document.documentElement.removeAttribute('data-dnb-modal-active')\n } catch (e) {\n warn('Modal: Error on remove \"data-dnb-modal-active\"', e)\n }\n }\n\n /**\n * Prevent scrolling on the background\n * But checks if this instance was the last one or not\n *\n * @param {string} modalId Will remove the attribute if false is given\n */\n setActiveState(modalId: string) {\n if (!modalId) {\n warn('Modal: A valid modalId is required')\n }\n // prevent scrolling on the background\n if (typeof document !== 'undefined') {\n try {\n document.documentElement.setAttribute(\n 'data-dnb-modal-active',\n modalId\n )\n } catch (e) {\n warn('Modal: Error on set \"data-dnb-modal-active\"', e)\n }\n }\n }\n\n render() {\n const visualTestsPropsOverride =\n typeof window !== 'undefined' && window['IS_TEST']\n ? {\n animation_duration: 0,\n no_animation: true,\n }\n : {}\n\n // use only the props from context, who are available here anyway\n const props = extendPropsWithContextInClassComponent(\n this.props,\n Modal.defaultProps,\n this.context.getTranslation(this.props).Modal,\n this.context.Modal,\n visualTestsPropsOverride\n )\n\n const {\n root_id = 'root',\n content_id = null,\n disabled = null,\n labelled_by = null,\n focus_selector = null,\n header_content = null,\n bar_content = null,\n bypass_invalidation_selectors = null,\n\n id, // eslint-disable-line\n open_state, // eslint-disable-line\n open_delay, // eslint-disable-line\n\n omit_trigger_button = false,\n trigger = null,\n trigger_attributes = null,\n ...rest\n } = props\n\n const { hide, modalActive } = this.state\n const modal_content = Modal.getContent(\n typeof this.props.children === 'function'\n ? Object.freeze({ ...this.props, close: this.close })\n : this.props\n )\n\n const render = (suffixProps) => {\n const triggerAttributes = {\n hidden: false,\n variant: 'secondary',\n icon_position: 'left',\n ...trigger_attributes,\n } as ButtonProps\n\n if (isTrue(disabled)) {\n triggerAttributes.disabled = true\n }\n\n if (triggerAttributes.id) {\n this._id = triggerAttributes.id\n }\n\n let fallbackTitle: string\n if (triggerAttributes.title) {\n fallbackTitle = triggerAttributes.title\n }\n // in case the modal is used in suffix and no title is given\n // suffixProps.label is also available, so we could use that too\n else if (suffixProps) {\n fallbackTitle = this.context.translation.HelpButton.title\n }\n\n const TriggerButton = trigger\n ? (trigger as React.FC)\n : HelpButtonInstance\n\n const title = (\n !triggerAttributes.text ? rest.title || fallbackTitle : null\n ) as string\n\n return (\n <>\n {TriggerButton && !isTrue(omit_trigger_button) && (\n <TriggerButton\n {...triggerAttributes}\n id={this._id}\n title={title}\n onClick={this.toggleOpenClose}\n innerRef={this._triggerRef}\n className={classnames(\n 'dnb-modal__trigger',\n createSpacingClasses(props),\n triggerAttributes.className,\n\n // @deprecated – can be removed in v11\n triggerAttributes.class\n )}\n />\n )}\n\n {modalActive && modal_content && (\n <ModalRoot\n {...rest}\n id={this._id}\n root_id={root_id}\n content_id={content_id || `dnb-modal-${this._id}`}\n labelled_by={labelled_by}\n focus_selector={focus_selector}\n modal_content={modal_content}\n header_content={header_content}\n bar_content={bar_content}\n bypass_invalidation_selectors={bypass_invalidation_selectors}\n close={this.close}\n hide={hide}\n title={rest.title || fallbackTitle}\n />\n )}\n </>\n )\n }\n\n return <SuffixContext.Consumer>{render}</SuffixContext.Consumer>\n }\n}\n\nexport { CloseButton, Modal as OriginalComponent }\n\nexport default classWithCamelCaseProps(Modal)\n"],"mappings":";;;;;;;;;;;;;;AAKA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,gBAAA,GAAAJ,OAAA;AAQA,IAAAK,cAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AAGA,IAAAS,YAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,eAAA,GAAAX,sBAAA,CAAAC,OAAA;AAEA,IAAAW,YAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,UAAA,GAAAb,sBAAA,CAAAC,OAAA;AAEA,IAAAa,mBAAA,GAAAb,OAAA;AAGgD,MAAAc,SAAA;AAAA,SAAAf,uBAAAgB,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,SAAA,IAAAA,QAAA,GAAAC,MAAA,CAAAC,MAAA,GAAAD,MAAA,CAAAC,MAAA,CAAAC,IAAA,eAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAI,GAAA,IAAAD,MAAA,QAAAP,MAAA,CAAAS,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAJ,MAAA,EAAAC,GAAA,KAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,gBAAAL,MAAA,YAAAJ,QAAA,CAAAa,KAAA,OAAAP,SAAA;AAAA,SAAAQ,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAhB,MAAA,CAAAgB,IAAA,CAAAF,MAAA,OAAAd,MAAA,CAAAiB,qBAAA,QAAAC,OAAA,GAAAlB,MAAA,CAAAiB,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAApB,MAAA,CAAAqB,wBAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAE,UAAA,OAAAN,IAAA,CAAAO,IAAA,CAAAX,KAAA,CAAAI,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAArB,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAS,OAAA,CAAAb,MAAA,CAAAO,MAAA,OAAAkB,OAAA,WAAAjB,GAAA,IAAAkB,eAAA,CAAAvB,MAAA,EAAAK,GAAA,EAAAD,MAAA,CAAAC,GAAA,SAAAR,MAAA,CAAA2B,yBAAA,GAAA3B,MAAA,CAAA4B,gBAAA,CAAAzB,MAAA,EAAAH,MAAA,CAAA2B,yBAAA,CAAApB,MAAA,KAAAM,OAAA,CAAAb,MAAA,CAAAO,MAAA,GAAAkB,OAAA,WAAAjB,GAAA,IAAAR,MAAA,CAAA6B,cAAA,CAAA1B,MAAA,EAAAK,GAAA,EAAAR,MAAA,CAAAqB,wBAAA,CAAAd,MAAA,EAAAC,GAAA,iBAAAL,MAAA;AAAA,SAAA2B,yBAAAvB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,GAAA6B,6BAAA,CAAAzB,MAAA,EAAAwB,QAAA,OAAAvB,GAAA,EAAAJ,CAAA,MAAAJ,MAAA,CAAAiB,qBAAA,QAAAgB,gBAAA,GAAAjC,MAAA,CAAAiB,qBAAA,CAAAV,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA6B,gBAAA,CAAA3B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAAyB,gBAAA,CAAA7B,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,uBAAAR,MAAA,CAAAS,SAAA,CAAA0B,oBAAA,CAAAxB,IAAA,CAAAJ,MAAA,EAAAC,GAAA,aAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,cAAAL,MAAA;AAAA,SAAA6B,8BAAAzB,MAAA,EAAAwB,QAAA,QAAAxB,MAAA,yBAAAJ,MAAA,WAAAiC,UAAA,GAAApC,MAAA,CAAAgB,IAAA,CAAAT,MAAA,OAAAC,GAAA,EAAAJ,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAgC,UAAA,CAAA9B,MAAA,EAAAF,CAAA,MAAAI,GAAA,GAAA4B,UAAA,CAAAhC,CAAA,OAAA2B,QAAA,CAAAG,OAAA,CAAA1B,GAAA,kBAAAL,MAAA,CAAAK,GAAA,IAAAD,MAAA,CAAAC,GAAA,YAAAL,MAAA;AAAA,SAAAuB,gBAAA9B,GAAA,EAAAY,GAAA,EAAA6B,KAAA,IAAA7B,GAAA,GAAA8B,cAAA,CAAA9B,GAAA,OAAAA,GAAA,IAAAZ,GAAA,IAAAI,MAAA,CAAA6B,cAAA,CAAAjC,GAAA,EAAAY,GAAA,IAAA6B,KAAA,EAAAA,KAAA,EAAAf,UAAA,QAAAiB,YAAA,QAAAC,QAAA,oBAAA5C,GAAA,CAAAY,GAAA,IAAA6B,KAAA,WAAAzC,GAAA;AAAA,SAAA0C,eAAAG,GAAA,QAAAjC,GAAA,GAAAkC,YAAA,CAAAD,GAAA,2BAAAjC,GAAA,gBAAAA,GAAA,GAAAmC,MAAA,CAAAnC,GAAA;AAAA,SAAAkC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAnC,IAAA,CAAAiC,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAGzC,MAAMS,kBAAkB,GAAG,GAAG;AAAAC,OAAA,CAAAD,kBAAA,GAAAA,kBAAA;AAYrC,MAAME,KAAK,SAASC,cAAK,CAACC,aAAa,CAGrC;EASA,OAAOC,UAAUA,CAACC,KAAK,EAAE;IACvB,IAAI,OAAOA,KAAK,CAACC,aAAa,KAAK,QAAQ,EAAE;MAC3C,OAAOD,KAAK,CAACC,aAAa;IAC5B,CAAC,MAAM,IAAI,OAAOD,KAAK,CAACC,aAAa,KAAK,UAAU,EAAE;MACpD,OAAOD,KAAK,CAACC,aAAa,CAACD,KAAK,CAAC;IACnC;IACA,OAAO,IAAAE,gCAAe,EAACF,KAAK,CAAC;EAC/B;EAoEA,OAAOG,wBAAwBA,CAACH,KAAK,EAAEI,KAAK,EAAE;IAC5C,IAAI,OAAOC,MAAM,KAAK,WAAW,IAAIA,MAAM,CAAC,SAAS,CAAC,EAAE;MACtDD,KAAK,CAACE,kBAAkB,GAAG,CAAC;MAC5BF,KAAK,CAACG,YAAY,GAAG,IAAI;IAC3B,CAAC,MAAM;MACLH,KAAK,CAACE,kBAAkB,GAAGN,KAAK,CAACM,kBAAkB;MACnDF,KAAK,CAACG,YAAY,GAAGP,KAAK,CAACO,YAAY;IACzC;IAEA,IAAIP,KAAK,CAACQ,UAAU,KAAKJ,KAAK,CAACK,WAAW,EAAE;MAC1C,QAAQT,KAAK,CAACQ,UAAU;QACtB,KAAK,QAAQ;QACb,KAAK,IAAI;UACPJ,KAAK,CAACM,IAAI,GAAG,KAAK;UAClB,IAAI,IAAAC,uBAAM,EAACP,KAAK,CAACG,YAAY,CAAC,EAAE;YAC9BH,KAAK,CAACQ,WAAW,GAAG,IAAI;UAC1B;UACA;QACF,KAAK,QAAQ;QACb,KAAK,KAAK;UACRR,KAAK,CAACM,IAAI,GAAG,IAAI;UACjB,IAAI,IAAAC,uBAAM,EAACP,KAAK,CAACG,YAAY,CAAC,EAAE;YAC9BH,KAAK,CAACQ,WAAW,GAAG,KAAK;UAC3B;UACA;MACJ;IACF;IACAR,KAAK,CAACK,WAAW,GAAGT,KAAK,CAACQ,UAAU;IAEpC,OAAOJ,KAAK;EACd;EAEAS,WAAWA,CAACb,KAAK,EAAE;IAAA,IAAAc,KAAA;IACjB,KAAK,CAACd,KAAK,CAAC;IAAAc,KAAA,GAAAC,IAAA;IAAAhD,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,gBAzFN;MACN2C,IAAI,EAAE,KAAK;MACXE,WAAW,EAAE,KAAK;MAClBI,gBAAgB,EAAE,IAAI;MACtBV,kBAAkB,EAAEZ,kBAAkB;MACtCa,YAAY,EAAE;IAChB,CAAC;IAAAxC,eAAA,0BAiIiB,YAAoC;MAAA,IAAnCkD,KAAK,GAAAvE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4C,SAAA,GAAA5C,SAAA,MAAG,IAAI;MAAA,IAAEwE,SAAS,GAAAxE,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4C,SAAA,GAAA5C,SAAA,MAAG,IAAI;MAC/C,IAAIuE,KAAK,IAAIA,KAAK,CAACE,cAAc,EAAE;QACjCF,KAAK,CAACE,cAAc,CAAC,CAAC;MACxB;MAEA,MAAMC,SAAS,GAAGA,CAAA,KAAM;QACtB,MAAM;UACJd,kBAAkB,GAAGZ,kBAAkB;UACvCa,YAAY,GAAG;QACjB,CAAC,GAAGO,KAAI,CAACV,KAAK;QACd,MAAMiB,eAAe,GACnB,OAAOf,kBAAkB,KAAK,QAAQ,GAClCgB,UAAU,CAAChB,kBAAkB,CAAC,GAC9BA,kBAAkB;QAExB,MAAMM,WAAW,GACf,OAAOM,SAAS,KAAK,SAAS,GAC1BA,SAAS,GACT,CAACJ,KAAI,CAACV,KAAK,CAACQ,WAAW;QAE7BE,KAAI,CAACS,cAAc,GAAG,IAAI;QAE1B,MAAMC,OAAO,GAAGA,CAAA,KAAM;UACpBV,KAAI,CAACW,QAAQ,CACX;YACEf,IAAI,EAAE,KAAK;YACXE;UACF,CAAC,EACD,MAAM;YACJE,KAAI,CAACS,cAAc,GAAG,KAAK;YAC3BT,KAAI,CAACY,iBAAiB,CAAC,CAAC;UAC1B,CACF,CAAC;QACH,CAAC;QAED,IAAId,WAAW,KAAK,KAAK,IAAI,CAAC,IAAAD,uBAAM,EAACJ,YAAY,CAAC,EAAE;UAClDO,KAAI,CAACW,QAAQ,CAAC;YACZf,IAAI,EAAE;UACR,CAAC,CAAC;UAEFI,KAAI,CAACa,aAAa,GAAGC,UAAU,CAACJ,OAAO,EAAEH,eAAe,CAAC;QAC3D,CAAC,MAAM;UACLG,OAAO,CAAC,CAAC;QACX;MACF,CAAC;MAED,MAAMK,cAAc,GAAGA,CAAA,KAAM;QAC3B,MAAM;UAAEC;QAAW,CAAC,GAAGhB,KAAI,CAACd,KAAK;QACjC,MAAM;UAAEO;QAAa,CAAC,GAAGO,KAAI,CAACV,KAAK;QACnC,MAAM2B,KAAK,GACT,OAAOD,UAAU,KAAK,QAAQ,GAC1BR,UAAU,CAACQ,UAAU,CAAC,GACtBA,UAAU;QAChB,IAAIC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAApB,uBAAM,EAACJ,YAAY,CAAC,EAAE;UACtCO,KAAI,CAACkB,YAAY,GAAGJ,UAAU,CAACR,SAAS,EAAEW,KAAK,CAAC;QAClD,CAAC,MAAM;UACLX,SAAS,CAAC,CAAC;QACb;MACF,CAAC;MAEDa,YAAY,CAACnB,KAAI,CAACa,aAAa,CAAC;MAChCM,YAAY,CAACnB,KAAI,CAACkB,YAAY,CAAC;MAE/B,MAAM;QAAEE;MAAW,CAAC,GAAGpB,KAAI,CAACd,KAAK;MACjC,IAAI,OAAOkC,UAAU,KAAK,UAAU,EAAE;QACpC,MAAMC,EAAE,GAAGD,UAAU,CAACL,cAAc,EAAEf,KAAI,CAAC;QAC3C,IAAIqB,EAAE,EAAE;UACNrB,KAAI,CAACsB,UAAU,CAACxE,IAAI,CAACuE,EAAE,CAAC;QAC1B;MACF,CAAC,MAAM;QACLN,cAAc,CAAC,CAAC;MAClB;IACF,CAAC;IAAA9D,eAAA,4BAEmB,MAAM;MACxB,MAAM;QAAE6C,WAAW;QAAEI,gBAAgB;QAAEV;MAAmB,CAAC,GACzD,IAAI,CAACF,KAAK;MACZ,MAAM;QAAEiC,WAAW;QAAE7B;MAAW,CAAC,GAAG,IAAI,CAACR,KAAK;MAE9C,IAAIY,WAAW,EAAE;QACf,IAAI,OAAOyB,WAAW,KAAK,UAAU,EAAE;UACrC,MAAMF,EAAE,GAAGE,WAAW,CAAC,MAAM;YAC3B,IAAI,CAACC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;UACnC,CAAC,EAAE,IAAI,CAAC;UACR,IAAIH,EAAE,EAAE;YACN,IAAI,CAACC,UAAU,CAACxE,IAAI,CAACuE,EAAE,CAAC;UAC1B;QACF;QACA,IAAI,CAACI,cAAc,CAAC,IAAI,CAACC,GAAG,CAAC;MAC/B,CAAC,MAAM,IAAI5B,WAAW,KAAK,KAAK,IAAI,CAACI,gBAAgB,EAAE;QAAA,IAAAyB,iBAAA;QACrD,MAAMC,KAAK,GAAIC,IAAiB,IAAK;UAEnCA,IAAI,CAACC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC;UAC3CD,IAAI,CAACD,KAAK,CAAC;YAAEG,aAAa,EAAE;UAAK,CAAC,CAAC;UAEnC,OAAO,IAAIC,OAAO,CAAQC,OAAO,IAAK;YACpCnB,UAAU,CACR,MAAM;cACJe,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEK,eAAe,CAAC,gBAAgB,CAAC;cACvCD,OAAO,CAAC,CAAC;YACX,CAAC,EACDzB,UAAU,CAACtC,MAAM,CAACsB,kBAAkB,CAAC,CAAC,GAAG,CAC3C,CAAC;UACH,CAAC,CAAC;QACJ,CAAC;QAED,KAAAmC,iBAAA,GAAI,IAAI,CAACQ,WAAW,cAAAR,iBAAA,eAAhBA,iBAAA,CAAkBS,OAAO,EAAE;UAC7BR,KAAK,CAAC,IAAI,CAACO,WAAW,CAACC,OAAO,CAAC;QACjC;QAGA,IACE,CAAC1C,UAAU,KAAK,QAAQ,IAAIA,UAAU,KAAK,IAAI,KAC/C,IAAI,CAAC2C,aAAa,YAAYC,WAAW,EACzC;UACA,IAAI;YACFV,KAAK,CAAC,IAAI,CAACS,aAAa,CAAC,CAACE,IAAI,CAAC,MAAM;cACnC,IAAI,CAACF,aAAa,GAAG,IAAI;YAC3B,CAAC,CAAC;UACJ,CAAC,CAAC,OAAOG,CAAC,EAAE,CAEZ;QACF;QAEA,IAAI,CAACC,iBAAiB,CAAC,CAAC;MAC1B;MAEA,IAAIvC,gBAAgB,EAAE;QACpB,IAAI,CAACS,QAAQ,CAAC;UAAET,gBAAgB,EAAE;QAAM,CAAC,CAAC;MAC5C;IACF,CAAC;IAAAjD,eAAA,eAEOuF,CAAQ,IAAK;MACnB,IAAI,CAAChB,eAAe,CAACgB,CAAC,EAAE,IAAI,CAAC;IAC/B,CAAC;IAAAvF,eAAA,gBAEO,UACNkD,KAAY,EAET;MAAA,IADH;QAAEuC,UAAU;QAAEC,WAAW,GAAG;MAAK,CAAC,GAAA/G,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAA4C,SAAA,GAAA5C,SAAA,MAAG;QAAE8G,UAAU,EAAE;MAAK,CAAC;MAEzD,MAAM;QAAEE,aAAa,GAAG;MAAM,CAAC,GAAG5C,KAAI,CAACd,KAAK;MAE5C,IAAI,IAAAW,uBAAM,EAAC+C,aAAa,CAAC,EAAE;QACzB,MAAMC,EAAE,GAAG7C,KAAI,CAAC0B,GAAG;QACnB,IAAAoB,2CAA0B,EAAC9C,KAAI,EAAE,kBAAkB,EAAE;UACnD6C,EAAE;UACF1C,KAAK;UACLwC,WAAW;UACXI,KAAK,EAAGP,CAAC,IAAK;YACZxC,KAAI,CAACwB,eAAe,CAACgB,CAAC,EAAE,KAAK,CAAC;UAChC;QACF,CAAC,CAAC;MACJ,CAAC,MAAM;QACL,IAAIE,UAAU,EAAE;UACd,MAAMM,IAAI,GAAG,IAAAC,4BAAmB,EAAC,CAAC;UAClC,IAAID,IAAI,CAACnH,MAAM,GAAG,CAAC,EAAE;YACnB,MAAMqH,IAAI,GAAG,IAAAC,qBAAY,EAAC,CAAC,CAAC,CAAC;YAC7B,IAAID,IAAI,KAAKlD,KAAI,EAAE;cACjB;YACF;UACF;QACF;QAEAA,KAAI,CAACwB,eAAe,CAACrB,KAAK,EAAE,KAAK,CAAC;MACpC;IACF,CAAC;IAlNC,IAAI,CAACuB,GAAG,GAAGxC,KAAK,CAAC2D,EAAE,IAAI,IAAAO,6BAAY,EAAC,QAAQ,CAAC;IAE7C,IAAI,CAACjB,WAAW,GAAGpD,cAAK,CAACsE,SAAS,CAAC,CAAC;IAEpC,IAAI,CAAC/B,UAAU,GAAG,EAAE;EACtB;EAEAgC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACC,sBAAsB,CAAC,CAAC;EAC/B;EAEAC,oBAAoBA,CAAA,EAAG;IACrBrC,YAAY,CAAC,IAAI,CAACD,YAAY,CAAC;IAC/BC,YAAY,CAAC,IAAI,CAACN,aAAa,CAAC;IAEhC,IAAI,CAAC4B,iBAAiB,CAAC,CAAC;IAExB,IAAI,CAACnB,UAAU,CAACtE,OAAO,CAAEqE,EAAE,IAAK;MAC9B,IAAI,OAAOA,EAAE,KAAK,UAAU,EAAE;QAC5BA,EAAE,CAAC,CAAC;MACN;IACF,CAAC,CAAC;EACJ;EAEAoC,kBAAkBA,CAACC,SAAS,EAAE;IAC5B,IAAIA,SAAS,KAAK,IAAI,CAACxE,KAAK,EAAE;MAC5B,IAAI,CAACqE,sBAAsB,CAAC,CAAC;IAC/B;EACF;EAEAA,sBAAsBA,CAAA,EAAG;IACvB,MAAM;MAAE3D;IAAK,CAAC,GAAG,IAAI,CAACN,KAAK;IAC3B,MAAM;MAAEI;IAAW,CAAC,GAAG,IAAI,CAACR,KAAK;IAEjC,IAAI,CAAC,IAAI,CAACmD,aAAa,IAAI,OAAOsB,QAAQ,KAAK,WAAW,EAAE;MAC1D,IAAI,CAACtB,aAAa,GAAGsB,QAAQ,CAACtB,aAAa;IAC7C;IAEA,IAAI,CAACzC,IAAI,KAAKF,UAAU,KAAK,QAAQ,IAAIA,UAAU,KAAK,IAAI,CAAC,EAAE;MAC7D,IAAI,CAAC8B,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;IAClC,CAAC,MAAM,IAAI5B,IAAI,KAAKF,UAAU,KAAK,QAAQ,IAAIA,UAAU,KAAK,KAAK,CAAC,EAAE;MACpE,IAAI,CAAC8B,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC;IACnC;EACF;EAyKAiB,iBAAiBA,CAAA,EAAG;IAClB,MAAMS,IAAI,GAAG,IAAAC,qBAAY,EAAC,CAAC,CAAC,CAAC;IAI7B,IAAID,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAExB,GAAG,IAAIwB,IAAI,CAACxB,GAAG,KAAK,IAAI,CAACA,GAAG,EAAE;MACtC,OAAO,IAAI,CAACD,cAAc,CAACyB,IAAI,CAACxB,GAAG,CAAC;IACtC;IAEA,IAAI;MACFiC,QAAQ,CAACC,eAAe,CAAC1B,eAAe,CAAC,uBAAuB,CAAC;IACnE,CAAC,CAAC,OAAOM,CAAC,EAAE;MACV,IAAAqB,qBAAI,EAAC,gDAAgD,EAAErB,CAAC,CAAC;IAC3D;EACF;EAQAf,cAAcA,CAACqC,OAAe,EAAE;IAC9B,IAAI,CAACA,OAAO,EAAE;MACZ,IAAAD,qBAAI,EAAC,oCAAoC,CAAC;IAC5C;IAEA,IAAI,OAAOF,QAAQ,KAAK,WAAW,EAAE;MACnC,IAAI;QACFA,QAAQ,CAACC,eAAe,CAAC9B,YAAY,CACnC,uBAAuB,EACvBgC,OACF,CAAC;MACH,CAAC,CAAC,OAAOtB,CAAC,EAAE;QACV,IAAAqB,qBAAI,EAAC,6CAA6C,EAAErB,CAAC,CAAC;MACxD;IACF;EACF;EAEAuB,MAAMA,CAAA,EAAG;IACP,MAAMC,wBAAwB,GAC5B,OAAOzE,MAAM,KAAK,WAAW,IAAIA,MAAM,CAAC,SAAS,CAAC,GAC9C;MACEC,kBAAkB,EAAE,CAAC;MACrBC,YAAY,EAAE;IAChB,CAAC,GACD,CAAC,CAAC;IAGR,MAAMP,KAAK,GAAG,IAAA+E,uDAAsC,EAClD,IAAI,CAAC/E,KAAK,EACVJ,KAAK,CAACoF,YAAY,EAClB,IAAI,CAACC,OAAO,CAACC,cAAc,CAAC,IAAI,CAAClF,KAAK,CAAC,CAACJ,KAAK,EAC7C,IAAI,CAACqF,OAAO,CAACrF,KAAK,EAClBkF,wBACF,CAAC;IAED,MAAM;QACJK,OAAO,GAAG,MAAM;QAChBC,UAAU,GAAG,IAAI;QACjBC,QAAQ,GAAG,IAAI;QACfC,WAAW,GAAG,IAAI;QAClBC,cAAc,GAAG,IAAI;QACrBC,cAAc,GAAG,IAAI;QACrBC,WAAW,GAAG,IAAI;QAClBC,6BAA6B,GAAG,IAAI;QAEpC/B,EAAE;QACFnD,UAAU;QACVsB,UAAU;QAEV6D,mBAAmB,GAAG,KAAK;QAC3BC,OAAO,GAAG,IAAI;QACdC,kBAAkB,GAAG;MAEvB,CAAC,GAAG7F,KAAK;MADJ8F,IAAI,GAAA3H,wBAAA,CACL6B,KAAK,EAAAhE,SAAA;IAET,MAAM;MAAE0E,IAAI;MAAEE;IAAY,CAAC,GAAG,IAAI,CAACR,KAAK;IACxC,MAAMH,aAAa,GAAGL,KAAK,CAACG,UAAU,CACpC,OAAO,IAAI,CAACC,KAAK,CAAC+F,QAAQ,KAAK,UAAU,GACrC1J,MAAM,CAAC2J,MAAM,CAAAnI,aAAA,CAAAA,aAAA,KAAM,IAAI,CAACmC,KAAK;MAAE6D,KAAK,EAAE,IAAI,CAACA;IAAK,EAAE,CAAC,GACnD,IAAI,CAAC7D,KACX,CAAC;IAED,MAAM6E,MAAM,GAAIoB,WAAW,IAAK;MAC9B,MAAMC,iBAAiB,GAAArI,aAAA;QACrBsI,MAAM,EAAE,KAAK;QACbC,OAAO,EAAE,WAAW;QACpBC,aAAa,EAAE;MAAM,GAClBR,kBAAkB,CACP;MAEhB,IAAI,IAAAlF,uBAAM,EAAC0E,QAAQ,CAAC,EAAE;QACpBa,iBAAiB,CAACb,QAAQ,GAAG,IAAI;MACnC;MAEA,IAAIa,iBAAiB,CAACvC,EAAE,EAAE;QACxB,IAAI,CAACnB,GAAG,GAAG0D,iBAAiB,CAACvC,EAAE;MACjC;MAEA,IAAI2C,aAAqB;MACzB,IAAIJ,iBAAiB,CAACK,KAAK,EAAE;QAC3BD,aAAa,GAAGJ,iBAAiB,CAACK,KAAK;MACzC,CAAC,MAGI,IAAIN,WAAW,EAAE;QACpBK,aAAa,GAAG,IAAI,CAACrB,OAAO,CAACuB,WAAW,CAACC,UAAU,CAACF,KAAK;MAC3D;MAEA,MAAMG,aAAa,GAAGd,OAAO,GACxBA,OAAO,GACRe,2BAAkB;MAEtB,MAAMJ,KAAK,GACT,CAACL,iBAAiB,CAACU,IAAI,GAAGd,IAAI,CAACS,KAAK,IAAID,aAAa,GAAG,IAC/C;MAEX,OACEtL,MAAA,CAAAmB,OAAA,CAAA0K,aAAA,CAAA7L,MAAA,CAAAmB,OAAA,CAAA2K,QAAA,QACGJ,aAAa,IAAI,CAAC,IAAA/F,uBAAM,EAACgF,mBAAmB,CAAC,IAC5C3K,MAAA,CAAAmB,OAAA,CAAA0K,aAAA,CAACH,aAAa,EAAAtK,QAAA,KACR8J,iBAAiB;QACrBvC,EAAE,EAAE,IAAI,CAACnB,GAAI;QACb+D,KAAK,EAAEA,KAAM;QACbQ,OAAO,EAAE,IAAI,CAACzE,eAAgB;QAC9B0E,QAAQ,EAAE,IAAI,CAAC/D,WAAY;QAC3BgE,SAAS,EAAE,IAAAC,mBAAU,EACnB,oBAAoB,EACpB,IAAAC,mCAAoB,EAACnH,KAAK,CAAC,EAC3BkG,iBAAiB,CAACe,SAAS,EAG3Bf,iBAAiB,CAACkB,KACpB;MAAE,EACH,CACF,EAEAxG,WAAW,IAAIX,aAAa,IAC3BjF,MAAA,CAAAmB,OAAA,CAAA0K,aAAA,CAAC/K,UAAA,CAAAK,OAAS,EAAAC,QAAA,KACJ0J,IAAI;QACRnC,EAAE,EAAE,IAAI,CAACnB,GAAI;QACb2C,OAAO,EAAEA,OAAQ;QACjBC,UAAU,EAAEA,UAAU,IAAK,aAAY,IAAI,CAAC5C,GAAI,EAAE;QAClD8C,WAAW,EAAEA,WAAY;QACzBC,cAAc,EAAEA,cAAe;QAC/BtF,aAAa,EAAEA,aAAc;QAC7BuF,cAAc,EAAEA,cAAe;QAC/BC,WAAW,EAAEA,WAAY;QACzBC,6BAA6B,EAAEA,6BAA8B;QAC7D7B,KAAK,EAAE,IAAI,CAACA,KAAM;QAClBnD,IAAI,EAAEA,IAAK;QACX6F,KAAK,EAAET,IAAI,CAACS,KAAK,IAAID;MAAc,EACpC,CAEH,CAAC;IAEP,CAAC;IAED,OAAOtL,MAAA,CAAAmB,OAAA,CAAA0K,aAAA,CAACzL,OAAA,CAAAiM,aAAa,CAACC,QAAQ,QAAEzC,MAA+B,CAAC;EAClE;AACF;AAAClF,OAAA,CAAA4H,iBAAA,GAAA3H,KAAA;AAAA7B,eAAA,CA9eK6B,KAAK,iBAIY4H,gBAAO;AAAAzJ,eAAA,CAJxB6B,KAAK,SAQI6H,uBAAc;AAAA1J,eAAA,CARvB6B,KAAK,YASO8H,oBAAW;AAAA3J,eAAA,CATvB6B,KAAK,aAUQ+H,mBAAU;AAAA5J,eAAA,CAVvB6B,KAAK,kBAuCa;EACpB+D,EAAE,EAAE,IAAI;EACR4B,cAAc,EAAE,IAAI;EACpBD,WAAW,EAAE,IAAI;EACjBiB,KAAK,EAAE,IAAI;EACXlB,QAAQ,EAAE,IAAI;EACduC,OAAO,EAAE,IAAI;EACb9F,UAAU,EAAE,IAAI;EAChBsD,UAAU,EAAE,IAAI;EAChByC,YAAY,EAAE,OAAO;EACrBC,WAAW,EAAE,MAAM;EACnBC,iBAAiB,EAAE,KAAK;EACxBC,uBAAuB,EAAE,IAAI;EAC7BtE,aAAa,EAAE,KAAK;EACpBuE,kBAAkB,EAAE,KAAK;EACzB3H,kBAAkB,EAAEZ,kBAAkB;EACtCa,YAAY,EAAE,KAAK;EACnB2H,sBAAsB,EAAE,KAAK;EAC7BC,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,MAAM;EACrBC,mBAAmB,EAAE,IAAI;EACzB/H,UAAU,EAAE,IAAI;EAChBgI,iBAAiB,EAAE,KAAK;EACxBrD,OAAO,EAAE,MAAM;EACfQ,mBAAmB,EAAE,KAAK;EAE1BsB,SAAS,EAAE,IAAI;EACflB,QAAQ,EAAE,IAAI;EAEd0C,OAAO,EAAE,IAAI;EACbC,QAAQ,EAAE,IAAI;EACdC,gBAAgB,EAAE,IAAI;EACtBzG,UAAU,EAAE,IAAI;EAChBG,WAAW,EAAE,IAAI;EAEjBuD,OAAO,EAAE,IAAI;EACbC,kBAAkB,EAAE,IAAI;EAExB+C,aAAa,EAAE,IAAI;EACnBC,aAAa,EAAE,IAAI;EAEnB5I,aAAa,EAAE,IAAI;EACnBuF,cAAc,EAAE,IAAI;EACpBC,WAAW,EAAE;AACf,CAAC;AAAA,IAAAqD,QAAA,GA6ZY,IAAAC,2CAAuB,EAACnJ,KAAK,CAAC;AAAAD,OAAA,CAAAxD,OAAA,GAAA2M,QAAA"}
|
|
@@ -199,6 +199,10 @@ export interface ModalContentProps {
|
|
|
199
199
|
* Give the content wrapper a custom class name (maps to `dnb-modal__content`).
|
|
200
200
|
*/
|
|
201
201
|
content_class?: string;
|
|
202
|
+
/**
|
|
203
|
+
* @deprecated – use className instead. Will be removed in v11.
|
|
204
|
+
*/
|
|
205
|
+
class?: string;
|
|
202
206
|
/**
|
|
203
207
|
* Give the page overlay a custom class name (maps to `dnb-modal__overlay`).
|
|
204
208
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/modal/types.ts"],"sourcesContent":["import * as React from 'react'\nimport type { CloseButtonProps } from './parts/CloseButton'\nimport type { ButtonProps } from '../button/Button'\nimport type { ModalRootProps } from './ModalRoot'\n\nexport type ReactChildType = React.ReactNode | ((...args: any[]) => any)\n\nexport type ModalFullscreen = 'auto' | boolean\nexport type ModalAlignContent = 'left' | 'center' | 'centered' | 'right'\nexport type ModalContainerPlacement = 'left' | 'right' | 'top' | 'bottom'\nexport type ModalOpenState = 'opened' | 'closed' | boolean\nexport type ModalTriggerVariant =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'signal'\nexport type ModalTriggerIconPosition = 'left' | 'right'\nexport type ModalContentMinWidth = string | number\nexport type ModalContentMaxWidth = string | number\n\nexport interface ModalProps extends ModalRootProps {\n /**\n * The id used internal in the modal/drawer root element. Defaults to `root`, so the element id will be `dnb-modal-root`.\n */\n id?: string\n\n /**\n * Will disable the trigger button.\n */\n disabled?: boolean\n\n /**\n * Forces the modal/drawer to delay the opening. The delay is given in `ms`.\n */\n open_delay?: string | number\n\n /**\n * If set to `true` (boolean or string), then the user can't close the modal/drawer.\n */\n prevent_close?: boolean\n\n /**\n * Duration of animation open/close in ms. Defaults to 300ms.\n */\n animation_duration?: string | number\n\n /**\n * If set to `true`, no open/close animation will be shown. Defaults to false.\n */\n no_animation?: boolean\n\n /**\n * Use this prop to control the open/close state by setting either: `opened` / `closed` or `true` / `false`.\n */\n open_state?: ModalOpenState\n\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n children?: ReactChildType\n\n /**\n * Omits default showing trigger button\n */\n omit_trigger_button?: boolean\n\n /**\n * This event gets triggered once the modal shows up. Returns the modal id: `{ id }`.\n */\n on_open?: ({ id }: { id?: string }) => void\n\n /**\n * This event gets triggered once the modal gets closed. Returns the modal id: `{ id, event, triggeredBy }`.\n */\n on_close?: ({\n id,\n event,\n triggeredBy,\n }: {\n id?: string\n event?: Event\n triggeredBy?: string\n }) => void\n\n /**\n * This event gets triggered once the user tries to close the modal, but `prevent_close` is set to \"true\". Returns a callback `close` you can call to trigger the close mechanism. More details below. Returns the modal id: `{ id, event, close: Method, triggeredBy }`\n */\n on_close_prevent?: ({\n id,\n event,\n triggeredBy,\n close,\n }: {\n id?: string\n event?: Event\n triggeredBy?: string\n close?: (...args: any[]) => any\n }) => void\n\n /**\n * Set a function to call the callback function, once the modal/drawer should open: `open_modal={(open) => open()}`\n */\n open_modal?: (open?: (e: Event) => void, elem?: any) => () => void | void\n\n /**\n * Set a function to call the callback function, once the modal/drawer should close: `close_modal={(close) => close()}`\n */\n close_modal?: (\n close?: (...args: any[]) => void,\n elem?: any\n ) => () => void | void\n\n /**\n * Provide a custom trigger component. Like trigger={<Anchor href=\"/\" />}. It will set the focus on it when the modal/drawer gets closed.\n */\n trigger?: ReactChildType\n\n /**\n * Send along custom HTML attributes or properties to the trigger button.\n */\n trigger_attributes?: TriggerAttributes\n\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n modal_content?: ReactChildType\n\n /**\n * If true, the drawer will not open in a new DOM but directly in current DOM. Defaults to `false`.\n */\n direct_dom_return?: boolean\n\n /**\n * To get the inner content Element, pass in your own React ref\n */\n content_ref?: React.RefObject<HTMLElement>\n\n /**\n * To get the scroll Element, pass in your own React ref\n */\n scroll_ref?: React.RefObject<HTMLElement>\n}\n\nexport interface ModalContentProps {\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n modal_content?: ReactChildType\n\n /**\n * The content which will appear in the bar, above the header, and side-by-side the close button.\n */\n bar_content?: ReactChildType\n\n /**\n * The content which will appear in the header of the modal/drawer the modal/drawer.\n */\n header_content?: ReactChildType\n hide?: boolean\n\n /**\n * The id used internal for the trigger button and modal component.\n */\n id?: string\n\n /**\n * The id used internal in the modal/drawer root element. Defaults to `root`, so the element id will be `dnb-modal-root`.\n */\n root_id?: string\n\n /**\n * The ID of the trigger component, describing the modal/drawer content. Defaults to the internal `trigger`, so make sure you define the trigger title.\n */\n labelled_by?: string\n\n /**\n * The Modal handles the first focus – automatically. How ever, you can defined a custom focus selector the will be used instead `focus_selector=\".css-selector\"`.\n */\n focus_selector?: string\n\n /**\n * Defines an unique identifier to a modal. Use it in case you have to refer in some way to the modal/drawer content wrapper.\n */\n content_id?: string\n\n /**\n * The modal/drawer title. Displays on the very top of the content.\n */\n title?: React.ReactNode\n\n /**\n * The aria label of the dialog when no labelled_by and no title is given. Defaults to `Vindu`.\n */\n dialog_title?: string\n\n /**\n * If boolean, the close button will not be shown.\n */\n hide_close_button?: boolean\n\n /**\n * Define any valid Eufemia Button property or HTML attribute inside an object.\n */\n close_button_attributes?: CloseButtonProps\n\n /**\n * If set to `false` then the modal/drawer content will be shown without any spacing. Defaults to `true`.\n */\n spacing?: boolean\n\n /**\n * By default the modal/drawer content gets added the core style class `dnb-core-style`. Use `false` to disable this behavior.\n */\n prevent_core_style?: boolean\n animation_duration?: string | number\n\n /**\n * Disable clicking the background overlay to close the modal\n */\n prevent_overlay_close?: boolean\n\n /**\n * If set to `true`, no open/close animation will be shown. Defaults to false.\n */\n no_animation?: boolean\n\n /**\n * Same as `no_animation`, but gets triggered only if the viewport width is less than `40em`. Defaults to false.\n */\n no_animation_on_mobile?: boolean\n\n /**\n * The minimum Modal content width, defined by a CSS width value like `50vw` (50% of the viewport). Be careful on using fixed `min_width` so you don't break responsiveness. Defaults to `30rem` (average width is set to `60vw`).\n */\n min_width?: ModalContentMinWidth\n\n /**\n * The maximum Modal content width, defined by a CSS width value like `20rem`. Defaults to `60rem` (average width is set to `60vw`).\n */\n max_width?: ModalContentMaxWidth\n\n /**\n * If set to `true` then the modal/drawer content will be shown as fullscreen, without showing the original content behind. Can be set to `false` to omit the auto fullscreen. Defaults to `auto`.\n */\n fullscreen?: ModalFullscreen\n\n /**\n * Define the inner horizontal alignment of the content. Can be set to `left`, `center`, `right` and `centered`. If `centered`, then the content will also be centered vertically. Defaults to `left`.\n */\n align_content?: 'right' | 'left' | 'centered' | 'center'\n\n /**\n * For `drawer` mode only. Defines the placement on what side the Drawer should be opened. Can be set to `left`, `right`, `top` and `bottom`. Defaults to `right`.\n */\n container_placement?: 'left' | 'right' | 'top' | 'bottom'\n\n /**\n * Give the content wrapper a custom class name (maps to `dnb-modal__content`).\n */\n content_class?: string\n\n /**\n * Give the page overlay a custom class name (maps to `dnb-modal__overlay`).\n */\n overlay_class?: string\n\n /**\n * Define an array with HTML class selectors (`['.element-selector']`) which should not get invalidated when the modal opens/closes. Use this in order to let some parts of your site still be accessible by screen readers.\n */\n bypass_invalidation_selectors?: Array<string>\n\n /**\n * For internal usage\n * Will close the modal\n */\n close?: (...args: any[]) => any\n\n /**\n * Give the inner Dialog or Drawer component a className (only works with mode)\n */\n className?: string\n\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n children?: ReactChildType\n\n /**\n * The displayed text for the 'close' button. Defaults to `Lukk`.\n */\n close_title?: string\n\n /**\n * Internal\n */\n dialog_role?: 'dialog' | 'alertdialog' | 'region'\n content_ref?: React.RefObject<HTMLElement>\n scroll_ref?: React.RefObject<HTMLElement>\n}\n\nexport type TriggerAttributes = ButtonProps\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../src/components/modal/types.ts"],"sourcesContent":["import * as React from 'react'\nimport type { CloseButtonProps } from './parts/CloseButton'\nimport type { ButtonProps } from '../button/Button'\nimport type { ModalRootProps } from './ModalRoot'\n\nexport type ReactChildType = React.ReactNode | ((...args: any[]) => any)\n\nexport type ModalFullscreen = 'auto' | boolean\nexport type ModalAlignContent = 'left' | 'center' | 'centered' | 'right'\nexport type ModalContainerPlacement = 'left' | 'right' | 'top' | 'bottom'\nexport type ModalOpenState = 'opened' | 'closed' | boolean\nexport type ModalTriggerVariant =\n | 'primary'\n | 'secondary'\n | 'tertiary'\n | 'signal'\nexport type ModalTriggerIconPosition = 'left' | 'right'\nexport type ModalContentMinWidth = string | number\nexport type ModalContentMaxWidth = string | number\n\nexport interface ModalProps extends ModalRootProps {\n /**\n * The id used internal in the modal/drawer root element. Defaults to `root`, so the element id will be `dnb-modal-root`.\n */\n id?: string\n\n /**\n * Will disable the trigger button.\n */\n disabled?: boolean\n\n /**\n * Forces the modal/drawer to delay the opening. The delay is given in `ms`.\n */\n open_delay?: string | number\n\n /**\n * If set to `true` (boolean or string), then the user can't close the modal/drawer.\n */\n prevent_close?: boolean\n\n /**\n * Duration of animation open/close in ms. Defaults to 300ms.\n */\n animation_duration?: string | number\n\n /**\n * If set to `true`, no open/close animation will be shown. Defaults to false.\n */\n no_animation?: boolean\n\n /**\n * Use this prop to control the open/close state by setting either: `opened` / `closed` or `true` / `false`.\n */\n open_state?: ModalOpenState\n\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n children?: ReactChildType\n\n /**\n * Omits default showing trigger button\n */\n omit_trigger_button?: boolean\n\n /**\n * This event gets triggered once the modal shows up. Returns the modal id: `{ id }`.\n */\n on_open?: ({ id }: { id?: string }) => void\n\n /**\n * This event gets triggered once the modal gets closed. Returns the modal id: `{ id, event, triggeredBy }`.\n */\n on_close?: ({\n id,\n event,\n triggeredBy,\n }: {\n id?: string\n event?: Event\n triggeredBy?: string\n }) => void\n\n /**\n * This event gets triggered once the user tries to close the modal, but `prevent_close` is set to \"true\". Returns a callback `close` you can call to trigger the close mechanism. More details below. Returns the modal id: `{ id, event, close: Method, triggeredBy }`\n */\n on_close_prevent?: ({\n id,\n event,\n triggeredBy,\n close,\n }: {\n id?: string\n event?: Event\n triggeredBy?: string\n close?: (...args: any[]) => any\n }) => void\n\n /**\n * Set a function to call the callback function, once the modal/drawer should open: `open_modal={(open) => open()}`\n */\n open_modal?: (open?: (e: Event) => void, elem?: any) => () => void | void\n\n /**\n * Set a function to call the callback function, once the modal/drawer should close: `close_modal={(close) => close()}`\n */\n close_modal?: (\n close?: (...args: any[]) => void,\n elem?: any\n ) => () => void | void\n\n /**\n * Provide a custom trigger component. Like trigger={<Anchor href=\"/\" />}. It will set the focus on it when the modal/drawer gets closed.\n */\n trigger?: ReactChildType\n\n /**\n * Send along custom HTML attributes or properties to the trigger button.\n */\n trigger_attributes?: TriggerAttributes\n\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n modal_content?: ReactChildType\n\n /**\n * If true, the drawer will not open in a new DOM but directly in current DOM. Defaults to `false`.\n */\n direct_dom_return?: boolean\n\n /**\n * To get the inner content Element, pass in your own React ref\n */\n content_ref?: React.RefObject<HTMLElement>\n\n /**\n * To get the scroll Element, pass in your own React ref\n */\n scroll_ref?: React.RefObject<HTMLElement>\n}\n\nexport interface ModalContentProps {\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n modal_content?: ReactChildType\n\n /**\n * The content which will appear in the bar, above the header, and side-by-side the close button.\n */\n bar_content?: ReactChildType\n\n /**\n * The content which will appear in the header of the modal/drawer the modal/drawer.\n */\n header_content?: ReactChildType\n hide?: boolean\n\n /**\n * The id used internal for the trigger button and modal component.\n */\n id?: string\n\n /**\n * The id used internal in the modal/drawer root element. Defaults to `root`, so the element id will be `dnb-modal-root`.\n */\n root_id?: string\n\n /**\n * The ID of the trigger component, describing the modal/drawer content. Defaults to the internal `trigger`, so make sure you define the trigger title.\n */\n labelled_by?: string\n\n /**\n * The Modal handles the first focus – automatically. How ever, you can defined a custom focus selector the will be used instead `focus_selector=\".css-selector\"`.\n */\n focus_selector?: string\n\n /**\n * Defines an unique identifier to a modal. Use it in case you have to refer in some way to the modal/drawer content wrapper.\n */\n content_id?: string\n\n /**\n * The modal/drawer title. Displays on the very top of the content.\n */\n title?: React.ReactNode\n\n /**\n * The aria label of the dialog when no labelled_by and no title is given. Defaults to `Vindu`.\n */\n dialog_title?: string\n\n /**\n * If boolean, the close button will not be shown.\n */\n hide_close_button?: boolean\n\n /**\n * Define any valid Eufemia Button property or HTML attribute inside an object.\n */\n close_button_attributes?: CloseButtonProps\n\n /**\n * If set to `false` then the modal/drawer content will be shown without any spacing. Defaults to `true`.\n */\n spacing?: boolean\n\n /**\n * By default the modal/drawer content gets added the core style class `dnb-core-style`. Use `false` to disable this behavior.\n */\n prevent_core_style?: boolean\n animation_duration?: string | number\n\n /**\n * Disable clicking the background overlay to close the modal\n */\n prevent_overlay_close?: boolean\n\n /**\n * If set to `true`, no open/close animation will be shown. Defaults to false.\n */\n no_animation?: boolean\n\n /**\n * Same as `no_animation`, but gets triggered only if the viewport width is less than `40em`. Defaults to false.\n */\n no_animation_on_mobile?: boolean\n\n /**\n * The minimum Modal content width, defined by a CSS width value like `50vw` (50% of the viewport). Be careful on using fixed `min_width` so you don't break responsiveness. Defaults to `30rem` (average width is set to `60vw`).\n */\n min_width?: ModalContentMinWidth\n\n /**\n * The maximum Modal content width, defined by a CSS width value like `20rem`. Defaults to `60rem` (average width is set to `60vw`).\n */\n max_width?: ModalContentMaxWidth\n\n /**\n * If set to `true` then the modal/drawer content will be shown as fullscreen, without showing the original content behind. Can be set to `false` to omit the auto fullscreen. Defaults to `auto`.\n */\n fullscreen?: ModalFullscreen\n\n /**\n * Define the inner horizontal alignment of the content. Can be set to `left`, `center`, `right` and `centered`. If `centered`, then the content will also be centered vertically. Defaults to `left`.\n */\n align_content?: 'right' | 'left' | 'centered' | 'center'\n\n /**\n * For `drawer` mode only. Defines the placement on what side the Drawer should be opened. Can be set to `left`, `right`, `top` and `bottom`. Defaults to `right`.\n */\n container_placement?: 'left' | 'right' | 'top' | 'bottom'\n\n /**\n * Give the content wrapper a custom class name (maps to `dnb-modal__content`).\n */\n content_class?: string\n\n /**\n * @deprecated – use className instead. Will be removed in v11.\n */\n class?: string\n\n /**\n * Give the page overlay a custom class name (maps to `dnb-modal__overlay`).\n */\n overlay_class?: string\n\n /**\n * Define an array with HTML class selectors (`['.element-selector']`) which should not get invalidated when the modal opens/closes. Use this in order to let some parts of your site still be accessible by screen readers.\n */\n bypass_invalidation_selectors?: Array<string>\n\n /**\n * For internal usage\n * Will close the modal\n */\n close?: (...args: any[]) => any\n\n /**\n * Give the inner Dialog or Drawer component a className (only works with mode)\n */\n className?: string\n\n /**\n * The content which will appear when triggering the modal/drawer.\n */\n children?: ReactChildType\n\n /**\n * The displayed text for the 'close' button. Defaults to `Lukk`.\n */\n close_title?: string\n\n /**\n * Internal\n */\n dialog_role?: 'dialog' | 'alertdialog' | 'region'\n content_ref?: React.RefObject<HTMLElement>\n scroll_ref?: React.RefObject<HTMLElement>\n}\n\nexport type TriggerAttributes = ButtonProps\n"],"mappings":""}
|
|
@@ -40,12 +40,15 @@ export type TableProps = {
|
|
|
40
40
|
*/
|
|
41
41
|
outline?: boolean;
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
44
|
-
|
|
43
|
+
* Defines how the Table should look. Use `accordion` for an accordion-like table. Use `navigation` for a navigation table.
|
|
44
|
+
*/
|
|
45
|
+
mode?: 'accordion' | 'navigation';
|
|
46
|
+
/**
|
|
47
|
+
* @deprecated – use mode="accordion" instead. Will be removed in v11.
|
|
45
48
|
*/
|
|
46
49
|
accordion?: boolean;
|
|
47
50
|
/**
|
|
48
|
-
* Defines where the chevron will be placed.
|
|
51
|
+
* Defines where the chevron will be placed, should only be used together with mode="accordion".
|
|
49
52
|
* Default: 'start'
|
|
50
53
|
*/
|
|
51
54
|
accordionChevronPlacement?: 'start' | 'end';
|
|
@@ -22,7 +22,7 @@ var _TableScrollView = _interopRequireDefault(require("./TableScrollView"));
|
|
|
22
22
|
var _TableContext = require("./TableContext");
|
|
23
23
|
var _TableStickyHeader = require("./TableStickyHeader");
|
|
24
24
|
var _TableTr = require("./TableTr");
|
|
25
|
-
const _excluded = ["className", "children", "size", "skeleton", "variant", "sticky", "stickyOffset", "fixed", "border", "outline", "accordion", "accordionChevronPlacement", "collapseAllHandleRef"];
|
|
25
|
+
const _excluded = ["className", "children", "size", "skeleton", "variant", "sticky", "stickyOffset", "fixed", "border", "outline", "accordion", "mode", "accordionChevronPlacement", "collapseAllHandleRef"];
|
|
26
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
27
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
28
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -56,6 +56,7 @@ const Table = componentProps => {
|
|
|
56
56
|
border,
|
|
57
57
|
outline,
|
|
58
58
|
accordion,
|
|
59
|
+
mode,
|
|
59
60
|
accordionChevronPlacement,
|
|
60
61
|
collapseAllHandleRef
|
|
61
62
|
} = allProps,
|
|
@@ -90,7 +91,10 @@ const Table = componentProps => {
|
|
|
90
91
|
allProps: _objectSpread(_objectSpread({}, allProps), context.getTranslation(componentProps).Table)
|
|
91
92
|
}
|
|
92
93
|
}, _react.default.createElement("table", _extends({
|
|
93
|
-
className: (0, _classnames.default)('dnb-table', spacingClasses, skeletonClasses, className, variant && `dnb-table__variant--${variant}`, size && `dnb-table__size--${size}`, sticky && 'dnb-table--sticky', fixed && 'dnb-table--fixed', border && 'dnb-table--border', outline && 'dnb-table--outline', accordion && 'dnb-table--accordion'
|
|
94
|
+
className: (0, _classnames.default)('dnb-table', spacingClasses, skeletonClasses, className, variant && `dnb-table__variant--${variant}`, size && `dnb-table__size--${size}`, sticky && 'dnb-table--sticky', fixed && 'dnb-table--fixed', border && 'dnb-table--border', outline && 'dnb-table--outline', accordion && 'dnb-table--accordion', {
|
|
95
|
+
'accordion': 'dnb-table--accordion',
|
|
96
|
+
'navigation': 'dnb-table--navigation'
|
|
97
|
+
}[mode]),
|
|
94
98
|
ref: elementRef
|
|
95
99
|
}, props), children)));
|
|
96
100
|
};
|