@dnb/eufemia 9.28.0 → 9.29.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 +17 -0
- package/cjs/components/dialog/style/dnb-dialog.css +9 -6
- package/cjs/components/dialog/style/dnb-dialog.min.css +1 -1
- package/cjs/components/drawer/style/_drawer.scss +4 -3
- package/cjs/components/drawer/style/dnb-drawer.css +17 -10
- package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
- package/cjs/components/form-row/FormRowHelpers.d.ts +1 -1
- package/cjs/components/lib.d.ts +1 -89
- package/cjs/components/modal/style/_modal.scss +0 -1
- package/cjs/components/modal/style/dnb-modal.css +9 -6
- package/cjs/components/modal/style/dnb-modal.min.css +1 -1
- package/cjs/components/skeleton/SkeletonHelper.d.ts +2 -1
- package/cjs/components/slider/Slider.d.ts +6 -144
- package/cjs/components/slider/Slider.js +5 -595
- package/cjs/components/slider/SliderHelpers.d.ts +23 -0
- package/cjs/components/slider/SliderHelpers.js +239 -0
- package/cjs/components/slider/SliderInstance.d.ts +6 -0
- package/cjs/components/slider/SliderInstance.js +190 -0
- package/cjs/components/slider/SliderProvider.d.ts +4 -0
- package/cjs/components/slider/SliderProvider.js +264 -0
- package/cjs/components/slider/SliderThumb.d.ts +2 -0
- package/cjs/components/slider/SliderThumb.js +137 -0
- package/cjs/components/slider/SliderTrack.d.ts +6 -0
- package/cjs/components/slider/SliderTrack.js +131 -0
- package/cjs/components/slider/hooks/useSliderEvents.d.ts +11 -0
- package/cjs/components/slider/hooks/useSliderEvents.js +146 -0
- package/cjs/components/slider/hooks/useSliderProps.d.ts +1 -0
- package/cjs/components/slider/hooks/useSliderProps.js +16 -0
- package/cjs/components/slider/style/_slider.scss +19 -48
- package/cjs/components/slider/style/dnb-slider.css +30 -60
- package/cjs/components/slider/style/dnb-slider.min.css +1 -1
- package/cjs/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
- package/cjs/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
- package/cjs/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
- package/cjs/components/slider/types.d.ts +75 -0
- package/cjs/components/slider/types.js +1 -0
- package/cjs/elements/Anchor.d.ts +44 -105
- package/cjs/elements/Anchor.js +48 -138
- package/cjs/elements/Element.d.ts +23 -40
- package/cjs/elements/Element.js +48 -122
- package/cjs/elements/Link.d.ts +18 -1
- package/cjs/elements/lib.d.ts +36 -2
- package/cjs/shared/Context.d.ts +2 -0
- package/cjs/shared/Eufemia.js +1 -1
- package/cjs/shared/helpers/Suffix.d.ts +2 -1
- package/cjs/shared/helpers/Suffix.js +5 -2
- package/cjs/shared/helpers/withCamelCaseProps.d.ts +1 -1
- package/cjs/shared/helpers/withSnakeCaseProps.d.ts +40 -0
- package/cjs/shared/helpers/withSnakeCaseProps.js +168 -0
- package/cjs/shared/locales/en-GB.d.ts +3 -3
- package/cjs/shared/locales/en-GB.js +3 -3
- package/cjs/shared/locales/en-US.d.ts +3 -3
- package/cjs/shared/locales/index.d.ts +6 -6
- package/cjs/shared/locales/nb-NO.d.ts +3 -3
- package/cjs/shared/locales/nb-NO.js +3 -3
- package/cjs/style/dnb-ui-components.css +39 -66
- package/cjs/style/dnb-ui-components.min.css +3 -3
- package/cjs/style/dnb-ui-elements.css +44 -28
- package/cjs/style/dnb-ui-elements.min.css +1 -1
- package/cjs/style/dnb-ui-tags.css +63 -40
- package/cjs/style/dnb-ui-tags.min.css +1 -1
- package/cjs/style/elements/_anchor-mixins.scss +6 -3
- package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.css +40 -40
- package/cjs/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
- package/cjs/style/themes/theme-ui/dnb-theme-ui.css +44 -44
- package/cjs/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
- package/components/dialog/style/dnb-dialog.css +9 -6
- package/components/dialog/style/dnb-dialog.min.css +1 -1
- package/components/drawer/style/_drawer.scss +4 -3
- package/components/drawer/style/dnb-drawer.css +17 -10
- package/components/drawer/style/dnb-drawer.min.css +1 -1
- package/components/form-row/FormRowHelpers.d.ts +1 -1
- package/components/lib.d.ts +1 -89
- package/components/modal/style/_modal.scss +0 -1
- package/components/modal/style/dnb-modal.css +9 -6
- package/components/modal/style/dnb-modal.min.css +1 -1
- package/components/skeleton/SkeletonHelper.d.ts +2 -1
- package/components/slider/Slider.d.ts +6 -144
- package/components/slider/Slider.js +5 -528
- package/components/slider/SliderHelpers.d.ts +23 -0
- package/components/slider/SliderHelpers.js +152 -0
- package/components/slider/SliderInstance.d.ts +6 -0
- package/components/slider/SliderInstance.js +162 -0
- package/components/slider/SliderProvider.d.ts +4 -0
- package/components/slider/SliderProvider.js +199 -0
- package/components/slider/SliderThumb.d.ts +2 -0
- package/components/slider/SliderThumb.js +109 -0
- package/components/slider/SliderTrack.d.ts +6 -0
- package/components/slider/SliderTrack.js +104 -0
- package/components/slider/hooks/useSliderEvents.d.ts +11 -0
- package/components/slider/hooks/useSliderEvents.js +132 -0
- package/components/slider/hooks/useSliderProps.d.ts +1 -0
- package/components/slider/hooks/useSliderProps.js +5 -0
- package/components/slider/style/_slider.scss +19 -48
- package/components/slider/style/dnb-slider.css +30 -60
- package/components/slider/style/dnb-slider.min.css +1 -1
- package/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
- package/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
- package/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
- package/components/slider/types.d.ts +75 -0
- package/components/slider/types.js +1 -0
- package/elements/Anchor.d.ts +44 -105
- package/elements/Anchor.js +51 -113
- package/elements/Element.d.ts +23 -40
- package/elements/Element.js +44 -92
- package/elements/Link.d.ts +18 -1
- package/elements/lib.d.ts +36 -2
- package/es/components/dialog/style/dnb-dialog.css +9 -6
- package/es/components/dialog/style/dnb-dialog.min.css +1 -1
- package/es/components/drawer/style/_drawer.scss +4 -3
- package/es/components/drawer/style/dnb-drawer.css +17 -10
- package/es/components/drawer/style/dnb-drawer.min.css +1 -1
- package/es/components/form-row/FormRowHelpers.d.ts +1 -1
- package/es/components/lib.d.ts +1 -89
- package/es/components/modal/style/_modal.scss +0 -1
- package/es/components/modal/style/dnb-modal.css +9 -6
- package/es/components/modal/style/dnb-modal.min.css +1 -1
- package/es/components/skeleton/SkeletonHelper.d.ts +2 -1
- package/es/components/slider/Slider.d.ts +6 -144
- package/es/components/slider/Slider.js +5 -484
- package/es/components/slider/SliderHelpers.d.ts +23 -0
- package/es/components/slider/SliderHelpers.js +124 -0
- package/es/components/slider/SliderInstance.d.ts +6 -0
- package/es/components/slider/SliderInstance.js +167 -0
- package/es/components/slider/SliderProvider.d.ts +4 -0
- package/es/components/slider/SliderProvider.js +178 -0
- package/es/components/slider/SliderThumb.d.ts +2 -0
- package/es/components/slider/SliderThumb.js +100 -0
- package/es/components/slider/SliderTrack.d.ts +6 -0
- package/es/components/slider/SliderTrack.js +99 -0
- package/es/components/slider/hooks/useSliderEvents.d.ts +11 -0
- package/es/components/slider/hooks/useSliderEvents.js +129 -0
- package/es/components/slider/hooks/useSliderProps.d.ts +1 -0
- package/es/components/slider/hooks/useSliderProps.js +5 -0
- package/es/components/slider/style/_slider.scss +19 -48
- package/es/components/slider/style/dnb-slider.css +30 -60
- package/es/components/slider/style/dnb-slider.min.css +1 -1
- package/es/components/slider/style/themes/dnb-slider-theme-ui.css +0 -16
- package/es/components/slider/style/themes/dnb-slider-theme-ui.min.css +1 -1
- package/es/components/slider/style/themes/dnb-slider-theme-ui.scss +0 -17
- package/es/components/slider/types.d.ts +75 -0
- package/es/components/slider/types.js +1 -0
- package/es/elements/Anchor.d.ts +44 -105
- package/es/elements/Anchor.js +49 -80
- package/es/elements/Element.d.ts +23 -40
- package/es/elements/Element.js +44 -61
- package/es/elements/Link.d.ts +18 -1
- package/es/elements/lib.d.ts +36 -2
- package/es/shared/Context.d.ts +2 -0
- package/es/shared/Eufemia.js +1 -1
- package/es/shared/helpers/Suffix.d.ts +2 -1
- package/es/shared/helpers/Suffix.js +5 -3
- package/es/shared/helpers/withCamelCaseProps.d.ts +1 -1
- package/es/shared/helpers/withSnakeCaseProps.d.ts +40 -0
- package/es/shared/helpers/withSnakeCaseProps.js +72 -0
- package/es/shared/locales/en-GB.d.ts +3 -3
- package/es/shared/locales/en-GB.js +3 -3
- package/es/shared/locales/en-US.d.ts +3 -3
- package/es/shared/locales/index.d.ts +6 -6
- package/es/shared/locales/nb-NO.d.ts +3 -3
- package/es/shared/locales/nb-NO.js +3 -3
- package/es/style/dnb-ui-components.css +39 -66
- package/es/style/dnb-ui-components.min.css +3 -3
- package/es/style/dnb-ui-elements.css +44 -28
- package/es/style/dnb-ui-elements.min.css +1 -1
- package/es/style/dnb-ui-tags.css +63 -40
- package/es/style/dnb-ui-tags.min.css +1 -1
- package/es/style/elements/_anchor-mixins.scss +6 -3
- package/es/style/themes/theme-eiendom/dnb-theme-eiendom.css +40 -40
- package/es/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
- package/es/style/themes/theme-ui/dnb-theme-ui.css +44 -44
- package/es/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
- package/esm/dnb-ui-basis.min.mjs +1 -1
- package/esm/dnb-ui-components.min.mjs +3 -3
- package/esm/dnb-ui-elements.min.mjs +9 -10
- package/esm/dnb-ui-extensions.min.mjs +4 -4
- package/esm/dnb-ui-lib.min.mjs +3 -3
- package/esm/dnb-ui-web-components.min.mjs +3 -3
- package/package.json +1 -1
- package/shared/Context.d.ts +2 -0
- package/shared/Eufemia.js +1 -1
- package/shared/helpers/Suffix.d.ts +2 -1
- package/shared/helpers/Suffix.js +4 -2
- package/shared/helpers/withCamelCaseProps.d.ts +1 -1
- package/shared/helpers/withSnakeCaseProps.d.ts +40 -0
- package/shared/helpers/withSnakeCaseProps.js +115 -0
- package/shared/locales/en-GB.d.ts +3 -3
- package/shared/locales/en-GB.js +3 -3
- package/shared/locales/en-US.d.ts +3 -3
- package/shared/locales/index.d.ts +6 -6
- package/shared/locales/nb-NO.d.ts +3 -3
- package/shared/locales/nb-NO.js +3 -3
- package/style/dnb-ui-components.css +39 -66
- package/style/dnb-ui-components.min.css +3 -3
- package/style/dnb-ui-elements.css +44 -28
- package/style/dnb-ui-elements.min.css +1 -1
- package/style/dnb-ui-tags.css +63 -40
- package/style/dnb-ui-tags.min.css +1 -1
- package/style/elements/_anchor-mixins.scss +6 -3
- package/style/themes/theme-eiendom/dnb-theme-eiendom.css +40 -40
- package/style/themes/theme-eiendom/dnb-theme-eiendom.min.css +2 -2
- package/style/themes/theme-ui/dnb-theme-ui.css +44 -44
- package/style/themes/theme-ui/dnb-theme-ui.min.css +2 -2
- package/umd/dnb-ui-basis.min.js +1 -1
- package/umd/dnb-ui-components.min.js +5 -5
- package/umd/dnb-ui-elements.min.js +20 -21
- package/umd/dnb-ui-extensions.min.js +3 -3
- package/umd/dnb-ui-lib.min.js +4 -4
- package/umd/dnb-ui-web-components.min.js +3 -3
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.symbol.description.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.array.iterator.js");
|
|
10
|
+
|
|
11
|
+
require("core-js/modules/es.string.iterator.js");
|
|
12
|
+
|
|
13
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
14
|
+
|
|
15
|
+
require("core-js/modules/es.array.slice.js");
|
|
16
|
+
|
|
17
|
+
require("core-js/modules/es.function.name.js");
|
|
18
|
+
|
|
19
|
+
require("core-js/modules/es.array.from.js");
|
|
20
|
+
|
|
21
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
22
|
+
|
|
23
|
+
require("core-js/modules/es.object.keys.js");
|
|
24
|
+
|
|
25
|
+
require("core-js/modules/es.array.index-of.js");
|
|
26
|
+
|
|
27
|
+
Object.defineProperty(exports, "__esModule", {
|
|
28
|
+
value: true
|
|
29
|
+
});
|
|
30
|
+
exports.SliderContext = void 0;
|
|
31
|
+
exports.SliderProvider = SliderProvider;
|
|
32
|
+
|
|
33
|
+
require("core-js/modules/es.array.reverse.js");
|
|
34
|
+
|
|
35
|
+
require("core-js/modules/es.object.to-string.js");
|
|
36
|
+
|
|
37
|
+
var _react = _interopRequireDefault(require("react"));
|
|
38
|
+
|
|
39
|
+
var _FormRowHelpers = require("../../components/form-row/FormRowHelpers");
|
|
40
|
+
|
|
41
|
+
var _hooks = require("../../shared/hooks");
|
|
42
|
+
|
|
43
|
+
var _componentHelper = require("../../shared/component-helper");
|
|
44
|
+
|
|
45
|
+
var _Context = _interopRequireDefault(require("../../shared/Context"));
|
|
46
|
+
|
|
47
|
+
var _SliderHelpers = require("./SliderHelpers");
|
|
48
|
+
|
|
49
|
+
var _withSnakeCaseProps = require("../../shared/helpers/withSnakeCaseProps");
|
|
50
|
+
|
|
51
|
+
var _excluded = ["step", "label", "labelDirection", "labelSrOnly", "status", "statusState", "statusProps", "statusNoAnimation", "globalStatusId", "stretch", "suffix", "thumbTitle", "subtractTitle", "addTitle", "hideButtons", "numberFormat", "skeleton", "max", "min", "disabled", "className", "id", "onInit", "onChange", "onDragStart", "onDragEnd", "vertical", "reverse", "value", "children"];
|
|
52
|
+
|
|
53
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
54
|
+
|
|
55
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
56
|
+
|
|
57
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
58
|
+
|
|
59
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
60
|
+
|
|
61
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
62
|
+
|
|
63
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
64
|
+
|
|
65
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
66
|
+
|
|
67
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
68
|
+
|
|
69
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
70
|
+
|
|
71
|
+
var defaultProps = {
|
|
72
|
+
statusState: 'error',
|
|
73
|
+
addTitle: '+',
|
|
74
|
+
subtractTitle: '−',
|
|
75
|
+
min: 0,
|
|
76
|
+
max: 100,
|
|
77
|
+
value: -1
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
var SliderContext = _react.default.createContext(null);
|
|
81
|
+
|
|
82
|
+
exports.SliderContext = SliderContext;
|
|
83
|
+
|
|
84
|
+
function SliderProvider(localProps) {
|
|
85
|
+
var context = _react.default.useContext(_Context.default);
|
|
86
|
+
|
|
87
|
+
var allProps = (0, _withSnakeCaseProps.convertSnakeCaseProps)((0, _hooks.usePropsWithContext)(localProps, defaultProps, {
|
|
88
|
+
skeleton: context === null || context === void 0 ? void 0 : context.skeleton
|
|
89
|
+
}, context === null || context === void 0 ? void 0 : context.getTranslation(localProps).Slider, (0, _FormRowHelpers.includeValidProps)(context === null || context === void 0 ? void 0 : context.FormRow, {
|
|
90
|
+
vertical: null
|
|
91
|
+
}), context === null || context === void 0 ? void 0 : context.Slider));
|
|
92
|
+
|
|
93
|
+
var _React$useState = _react.default.useState(_componentHelper.makeUniqueId),
|
|
94
|
+
_React$useState2 = _slicedToArray(_React$useState, 1),
|
|
95
|
+
_id = _React$useState2[0];
|
|
96
|
+
|
|
97
|
+
if (!allProps.id) {
|
|
98
|
+
allProps.id = _id;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
var step = allProps.step,
|
|
102
|
+
label = allProps.label,
|
|
103
|
+
labelDirection = allProps.labelDirection,
|
|
104
|
+
labelSrOnly = allProps.labelSrOnly,
|
|
105
|
+
status = allProps.status,
|
|
106
|
+
statusState = allProps.statusState,
|
|
107
|
+
statusProps = allProps.statusProps,
|
|
108
|
+
statusNoAnimation = allProps.statusNoAnimation,
|
|
109
|
+
globalStatusId = allProps.globalStatusId,
|
|
110
|
+
stretch = allProps.stretch,
|
|
111
|
+
suffix = allProps.suffix,
|
|
112
|
+
title = allProps.thumbTitle,
|
|
113
|
+
subtractTitle = allProps.subtractTitle,
|
|
114
|
+
addTitle = allProps.addTitle,
|
|
115
|
+
hideButtons = allProps.hideButtons,
|
|
116
|
+
numberFormat = allProps.numberFormat,
|
|
117
|
+
skeleton = allProps.skeleton,
|
|
118
|
+
max = allProps.max,
|
|
119
|
+
min = allProps.min,
|
|
120
|
+
disabled = allProps.disabled,
|
|
121
|
+
className = allProps.className,
|
|
122
|
+
id = allProps.id,
|
|
123
|
+
onInit = allProps.onInit,
|
|
124
|
+
onChange = allProps.onChange,
|
|
125
|
+
onDragStart = allProps.onDragStart,
|
|
126
|
+
onDragEnd = allProps.onDragEnd,
|
|
127
|
+
_vertical = allProps.vertical,
|
|
128
|
+
_reverse = allProps.reverse,
|
|
129
|
+
_value = allProps.value,
|
|
130
|
+
_children = allProps.children,
|
|
131
|
+
attributes = _objectWithoutProperties(allProps, _excluded);
|
|
132
|
+
|
|
133
|
+
var _React$useState3 = _react.default.useState(_value),
|
|
134
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
135
|
+
value = _React$useState4[0],
|
|
136
|
+
setValue = _React$useState4[1];
|
|
137
|
+
|
|
138
|
+
var _React$useState5 = _react.default.useState('initial'),
|
|
139
|
+
_React$useState6 = _slicedToArray(_React$useState5, 2),
|
|
140
|
+
thumbState = _React$useState6[0],
|
|
141
|
+
setThumbState = _React$useState6[1];
|
|
142
|
+
|
|
143
|
+
var thumbIndex = _react.default.useRef(-1);
|
|
144
|
+
|
|
145
|
+
var _React$useState7 = _react.default.useState((0, _componentHelper.isTrue)(_vertical)),
|
|
146
|
+
_React$useState8 = _slicedToArray(_React$useState7, 1),
|
|
147
|
+
isVertical = _React$useState8[0];
|
|
148
|
+
|
|
149
|
+
var _React$useState9 = _react.default.useState(isVertical ? !(0, _componentHelper.isTrue)(_reverse) : (0, _componentHelper.isTrue)(_reverse)),
|
|
150
|
+
_React$useState10 = _slicedToArray(_React$useState9, 1),
|
|
151
|
+
isReverse = _React$useState10[0];
|
|
152
|
+
|
|
153
|
+
var isMulti = Array.isArray(value);
|
|
154
|
+
|
|
155
|
+
var setThumbIndex = function setThumbIndex(index) {
|
|
156
|
+
if (!isNaN(index)) {
|
|
157
|
+
thumbIndex.current = index;
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
if (allProps.use_scrollwheel) {
|
|
162
|
+
(0, _componentHelper.warn)('use_scrollwheel is not supported anymore!');
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
var getAndUpdateCurrentIndex = function getAndUpdateCurrentIndex(currentValue) {
|
|
166
|
+
var currentIndex = null;
|
|
167
|
+
|
|
168
|
+
if (thumbIndex.current > -1) {
|
|
169
|
+
currentIndex = thumbIndex.current;
|
|
170
|
+
} else {
|
|
171
|
+
currentIndex = (0, _SliderHelpers.closestIndex)(currentValue, value);
|
|
172
|
+
setThumbIndex(currentIndex);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return currentIndex;
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
var emitChange = function emitChange(event, rawValue) {
|
|
179
|
+
if (disabled || (0, _componentHelper.isTrue)(skeleton)) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
var currentValue = (0, _SliderHelpers.roundValue)(rawValue, step);
|
|
184
|
+
|
|
185
|
+
if (currentValue > -1 && rawValue !== value) {
|
|
186
|
+
var newValue = currentValue;
|
|
187
|
+
|
|
188
|
+
if (isMulti) {
|
|
189
|
+
var currentIndex = getAndUpdateCurrentIndex(currentValue);
|
|
190
|
+
newValue = (0, _SliderHelpers.getUpdatedValues)(value, currentIndex, currentValue);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
if (typeof onChange === 'function') {
|
|
194
|
+
var obj = {
|
|
195
|
+
value: newValue,
|
|
196
|
+
rawValue: rawValue,
|
|
197
|
+
raw_value: rawValue,
|
|
198
|
+
event: event,
|
|
199
|
+
number: null
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
if (numberFormat) {
|
|
203
|
+
obj.number = (0, _SliderHelpers.formatNumber)(currentValue, numberFormat);
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
(0, _componentHelper.dispatchCustomElementEvent)(allProps, 'onChange', obj);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
setValue(newValue);
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
_react.default.useEffect(function () {
|
|
214
|
+
if (isMulti) {
|
|
215
|
+
var hasChanged = _value.some(function (val, i) {
|
|
216
|
+
return val !== value[i];
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
if (hasChanged) {
|
|
220
|
+
setValue(_value);
|
|
221
|
+
}
|
|
222
|
+
} else {
|
|
223
|
+
setValue(_value);
|
|
224
|
+
}
|
|
225
|
+
}, [_value, isMulti]);
|
|
226
|
+
|
|
227
|
+
var trackRef = _react.default.useRef();
|
|
228
|
+
|
|
229
|
+
var jumpedTimeout = _react.default.useRef();
|
|
230
|
+
|
|
231
|
+
var setJumpedState = function setJumpedState() {
|
|
232
|
+
setThumbState('jumped');
|
|
233
|
+
clearTimeout(jumpedTimeout.current);
|
|
234
|
+
jumpedTimeout.current = setTimeout(function () {
|
|
235
|
+
return setThumbState('normal');
|
|
236
|
+
}, 100);
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
var showStatus = (0, _componentHelper.getStatusState)(status);
|
|
240
|
+
var showButtons = !isMulti && !(0, _componentHelper.isTrue)(hideButtons);
|
|
241
|
+
var values = isMulti ? value : [value];
|
|
242
|
+
return _react.default.createElement(SliderContext.Provider, {
|
|
243
|
+
value: {
|
|
244
|
+
isMulti: isMulti,
|
|
245
|
+
isReverse: isReverse,
|
|
246
|
+
isVertical: isVertical,
|
|
247
|
+
value: value,
|
|
248
|
+
values: values,
|
|
249
|
+
setValue: setValue,
|
|
250
|
+
attributes: attributes,
|
|
251
|
+
showStatus: showStatus,
|
|
252
|
+
showButtons: showButtons,
|
|
253
|
+
thumbState: thumbState,
|
|
254
|
+
setThumbState: setThumbState,
|
|
255
|
+
thumbIndex: thumbIndex,
|
|
256
|
+
setThumbIndex: setThumbIndex,
|
|
257
|
+
emitChange: emitChange,
|
|
258
|
+
allProps: allProps,
|
|
259
|
+
trackRef: trackRef,
|
|
260
|
+
setJumpedState: setJumpedState,
|
|
261
|
+
jumpedTimeout: jumpedTimeout
|
|
262
|
+
}
|
|
263
|
+
}, localProps.children);
|
|
264
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.keys.js");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.symbol.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.array.filter.js");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
+
|
|
11
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
12
|
+
|
|
13
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
14
|
+
|
|
15
|
+
require("core-js/modules/es.object.assign.js");
|
|
16
|
+
|
|
17
|
+
Object.defineProperty(exports, "__esModule", {
|
|
18
|
+
value: true
|
|
19
|
+
});
|
|
20
|
+
exports.SliderThumb = SliderThumb;
|
|
21
|
+
|
|
22
|
+
require("core-js/modules/es.array.iterator.js");
|
|
23
|
+
|
|
24
|
+
require("core-js/modules/es.object.to-string.js");
|
|
25
|
+
|
|
26
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
27
|
+
|
|
28
|
+
require("core-js/modules/es.array.map.js");
|
|
29
|
+
|
|
30
|
+
var _react = _interopRequireDefault(require("react"));
|
|
31
|
+
|
|
32
|
+
var _componentHelper = require("../../shared/component-helper");
|
|
33
|
+
|
|
34
|
+
var _Button = _interopRequireDefault(require("../button/Button"));
|
|
35
|
+
|
|
36
|
+
var _useSliderEvents2 = require("./hooks/useSliderEvents");
|
|
37
|
+
|
|
38
|
+
var _useSliderProps2 = require("./hooks/useSliderProps");
|
|
39
|
+
|
|
40
|
+
var _SliderHelpers = require("./SliderHelpers");
|
|
41
|
+
|
|
42
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
43
|
+
|
|
44
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
45
|
+
|
|
46
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
47
|
+
|
|
48
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
49
|
+
|
|
50
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
51
|
+
|
|
52
|
+
function SliderThumb() {
|
|
53
|
+
var _useSliderProps = (0, _useSliderProps2.useSliderProps)(),
|
|
54
|
+
values = _useSliderProps.values,
|
|
55
|
+
thumbIndex = _useSliderProps.thumbIndex,
|
|
56
|
+
isVertical = _useSliderProps.isVertical,
|
|
57
|
+
showStatus = _useSliderProps.showStatus,
|
|
58
|
+
attributes = _useSliderProps.attributes,
|
|
59
|
+
allProps = _useSliderProps.allProps;
|
|
60
|
+
|
|
61
|
+
var id = allProps.id,
|
|
62
|
+
label = allProps.label,
|
|
63
|
+
min = allProps.min,
|
|
64
|
+
max = allProps.max,
|
|
65
|
+
step = allProps.step,
|
|
66
|
+
skeleton = allProps.skeleton,
|
|
67
|
+
disabled = allProps.disabled,
|
|
68
|
+
suffix = allProps.suffix,
|
|
69
|
+
numberFormat = allProps.numberFormat;
|
|
70
|
+
|
|
71
|
+
var _useSliderEvents = (0, _useSliderEvents2.useSliderEvents)(),
|
|
72
|
+
onThumbMouseDownHandler = _useSliderEvents.onThumbMouseDownHandler,
|
|
73
|
+
onThumbMouseUpHandler = _useSliderEvents.onThumbMouseUpHandler,
|
|
74
|
+
onThumbBlurHandler = _useSliderEvents.onThumbBlurHandler,
|
|
75
|
+
onThumbFocusHandler = _useSliderEvents.onThumbFocusHandler,
|
|
76
|
+
onHelperChangeHandler = _useSliderEvents.onHelperChangeHandler,
|
|
77
|
+
onHelperFocusHandler = _useSliderEvents.onHelperFocusHandler;
|
|
78
|
+
|
|
79
|
+
var thumbParams = _objectSpread({
|
|
80
|
+
onBlur: onThumbBlurHandler,
|
|
81
|
+
onFocus: onThumbFocusHandler
|
|
82
|
+
}, attributes);
|
|
83
|
+
|
|
84
|
+
var helperParams = {};
|
|
85
|
+
|
|
86
|
+
if (label) {
|
|
87
|
+
helperParams['aria-labelledby'] = (0, _componentHelper.combineLabelledBy)(helperParams, label ? id + '-label' : null);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (showStatus || suffix) {
|
|
91
|
+
helperParams['aria-describedby'] = (0, _componentHelper.combineDescribedBy)(helperParams, showStatus ? id + '-status' : null, suffix ? id + '-suffix' : null);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
(0, _componentHelper.validateDOMAttributes)(null, helperParams);
|
|
95
|
+
(0, _componentHelper.validateDOMAttributes)(allProps, thumbParams);
|
|
96
|
+
return _react.default.createElement(_react.default.Fragment, null, values.map(function (value, i) {
|
|
97
|
+
var index = thumbIndex.current;
|
|
98
|
+
var percent = (0, _SliderHelpers.clamp)((value - min) * 100 / (max - min));
|
|
99
|
+
|
|
100
|
+
var style = _defineProperty({
|
|
101
|
+
zIndex: index === i ? 4 : 3
|
|
102
|
+
}, "".concat(isVertical ? 'top' : 'left'), "".concat(percent, "%"));
|
|
103
|
+
|
|
104
|
+
var humanNumber = (0, _SliderHelpers.getHumanNumber)(value, numberFormat);
|
|
105
|
+
return _react.default.createElement(_react.default.Fragment, {
|
|
106
|
+
key: i
|
|
107
|
+
}, _react.default.createElement("span", {
|
|
108
|
+
className: "dnb-slider__thumb",
|
|
109
|
+
style: style
|
|
110
|
+
}, _react.default.createElement("input", _extends({
|
|
111
|
+
type: "range",
|
|
112
|
+
className: "dnb-slider__button-helper",
|
|
113
|
+
min: min,
|
|
114
|
+
max: max,
|
|
115
|
+
step: step,
|
|
116
|
+
value: value,
|
|
117
|
+
disabled: disabled,
|
|
118
|
+
onChange: onHelperChangeHandler,
|
|
119
|
+
onFocus: onHelperFocusHandler,
|
|
120
|
+
"aria-valuemin": min,
|
|
121
|
+
"aria-valuemax": max,
|
|
122
|
+
"aria-valuenow": value,
|
|
123
|
+
"aria-valuetext": humanNumber ? humanNumber : undefined,
|
|
124
|
+
"aria-orientation": isVertical ? 'vertical' : 'horizontal',
|
|
125
|
+
"data-index": i
|
|
126
|
+
}, helperParams)), _react.default.createElement(_Button.default, _extends({
|
|
127
|
+
element: "span",
|
|
128
|
+
type: "",
|
|
129
|
+
variant: "secondary",
|
|
130
|
+
disabled: disabled,
|
|
131
|
+
skeleton: skeleton,
|
|
132
|
+
"data-index": i,
|
|
133
|
+
onMouseDown: onThumbMouseDownHandler,
|
|
134
|
+
onMouseUp: onThumbMouseUpHandler
|
|
135
|
+
}, thumbParams))));
|
|
136
|
+
}));
|
|
137
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare function SliderMainTrack({ children, }: {
|
|
3
|
+
children: React.ReactNode | React.ReactNode[];
|
|
4
|
+
}): JSX.Element;
|
|
5
|
+
export declare function SliderTrackBefore(): JSX.Element;
|
|
6
|
+
export declare function SliderTrackAfter(): JSX.Element;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SliderMainTrack = SliderMainTrack;
|
|
7
|
+
exports.SliderTrackAfter = SliderTrackAfter;
|
|
8
|
+
exports.SliderTrackBefore = SliderTrackBefore;
|
|
9
|
+
|
|
10
|
+
require("core-js/modules/es.array.iterator.js");
|
|
11
|
+
|
|
12
|
+
require("core-js/modules/es.object.to-string.js");
|
|
13
|
+
|
|
14
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
15
|
+
|
|
16
|
+
require("core-js/modules/es.array.sort.js");
|
|
17
|
+
|
|
18
|
+
require("core-js/modules/es.array.reverse.js");
|
|
19
|
+
|
|
20
|
+
require("core-js/modules/es.object.assign.js");
|
|
21
|
+
|
|
22
|
+
var _react = _interopRequireDefault(require("react"));
|
|
23
|
+
|
|
24
|
+
var _componentHelper = require("../../shared/component-helper");
|
|
25
|
+
|
|
26
|
+
var _useSliderEvents2 = require("./hooks/useSliderEvents");
|
|
27
|
+
|
|
28
|
+
var _useSliderProps3 = require("./hooks/useSliderProps");
|
|
29
|
+
|
|
30
|
+
var _SliderHelpers = require("./SliderHelpers");
|
|
31
|
+
|
|
32
|
+
var _span;
|
|
33
|
+
|
|
34
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
35
|
+
|
|
36
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
37
|
+
|
|
38
|
+
function SliderMainTrack(_ref) {
|
|
39
|
+
var children = _ref.children;
|
|
40
|
+
|
|
41
|
+
var _useSliderProps = (0, _useSliderProps3.useSliderProps)(),
|
|
42
|
+
isMulti = _useSliderProps.isMulti,
|
|
43
|
+
value = _useSliderProps.value,
|
|
44
|
+
allProps = _useSliderProps.allProps,
|
|
45
|
+
trackRef = _useSliderProps.trackRef,
|
|
46
|
+
jumpedTimeout = _useSliderProps.jumpedTimeout,
|
|
47
|
+
thumbState = _useSliderProps.thumbState;
|
|
48
|
+
|
|
49
|
+
var id = allProps.id,
|
|
50
|
+
numberFormat = allProps.numberFormat,
|
|
51
|
+
onInit = allProps.onInit;
|
|
52
|
+
|
|
53
|
+
var _useSliderEvents = (0, _useSliderEvents2.useSliderEvents)(),
|
|
54
|
+
onTrackClickHandler = _useSliderEvents.onTrackClickHandler,
|
|
55
|
+
onThumbMouseDownHandler = _useSliderEvents.onThumbMouseDownHandler,
|
|
56
|
+
removeEvents = _useSliderEvents.removeEvents;
|
|
57
|
+
|
|
58
|
+
_react.default.useEffect(function () {
|
|
59
|
+
if (typeof onInit === 'function' && !isMulti) {
|
|
60
|
+
var obj = {
|
|
61
|
+
value: value,
|
|
62
|
+
number: null
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
if (numberFormat) {
|
|
66
|
+
obj.number = (0, _SliderHelpers.formatNumber)(value, numberFormat);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
(0, _componentHelper.dispatchCustomElementEvent)(allProps, 'onInit', obj);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return function () {
|
|
73
|
+
removeEvents();
|
|
74
|
+
clearTimeout(jumpedTimeout.current);
|
|
75
|
+
};
|
|
76
|
+
}, []);
|
|
77
|
+
|
|
78
|
+
var trackParams = {
|
|
79
|
+
className: 'dnb-slider__track' + (thumbState ? " dnb-slider__state--".concat(thumbState) : ""),
|
|
80
|
+
onTouchStart: onTrackClickHandler,
|
|
81
|
+
onTouchStartCapture: onThumbMouseDownHandler,
|
|
82
|
+
onMouseDown: onTrackClickHandler,
|
|
83
|
+
onMouseDownCapture: onThumbMouseDownHandler
|
|
84
|
+
};
|
|
85
|
+
(0, _componentHelper.validateDOMAttributes)(null, trackParams);
|
|
86
|
+
return _react.default.createElement("span", _extends({
|
|
87
|
+
id: id,
|
|
88
|
+
ref: trackRef
|
|
89
|
+
}, trackParams), children);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
var trackObj = [['right', 'left'], ['bottom', 'top']];
|
|
93
|
+
|
|
94
|
+
function SliderTrackBefore() {
|
|
95
|
+
var _useSliderProps2 = (0, _useSliderProps3.useSliderProps)(),
|
|
96
|
+
origValues = _useSliderProps2.values,
|
|
97
|
+
isVertical = _useSliderProps2.isVertical,
|
|
98
|
+
thumbIndex = _useSliderProps2.thumbIndex,
|
|
99
|
+
_useSliderProps2$allP = _useSliderProps2.allProps,
|
|
100
|
+
min = _useSliderProps2$allP.min,
|
|
101
|
+
max = _useSliderProps2$allP.max;
|
|
102
|
+
|
|
103
|
+
var values = origValues.sort(function (a, b) {
|
|
104
|
+
return a - b;
|
|
105
|
+
});
|
|
106
|
+
var isBetween = values.length >= 2;
|
|
107
|
+
|
|
108
|
+
if (isBetween && values[0] > values[values.length - 1]) {
|
|
109
|
+
values.reverse();
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
var index = thumbIndex.current;
|
|
113
|
+
var upperValue = values[isBetween ? 0 : index > -1 ? index : 0];
|
|
114
|
+
var upperPercent = isBetween ? (0, _SliderHelpers.clamp)((upperValue - min) * 100 / (max - min)) : 0;
|
|
115
|
+
var lowerValue = values[isBetween ? values.length - 1 : index > -1 ? index : 0];
|
|
116
|
+
var lowerPercent = 100 - (0, _SliderHelpers.clamp)((lowerValue - min) * 100 / (max - min));
|
|
117
|
+
var units = [trackObj[isVertical ? 1 : 0][0], trackObj[isVertical ? 1 : 0][1]];
|
|
118
|
+
var style = {};
|
|
119
|
+
style[units[0]] = "".concat(lowerPercent, "%");
|
|
120
|
+
style[units[1]] = "".concat(upperPercent, "%");
|
|
121
|
+
return _react.default.createElement("span", {
|
|
122
|
+
className: "dnb-slider__line dnb-slider__line__before",
|
|
123
|
+
style: style
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function SliderTrackAfter() {
|
|
128
|
+
return _span || (_span = _react.default.createElement("span", {
|
|
129
|
+
className: "dnb-slider__line dnb-slider__line__after"
|
|
130
|
+
}));
|
|
131
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare function useSliderEvents(): {
|
|
3
|
+
onThumbMouseDownHandler: (event: React.SyntheticEvent) => void;
|
|
4
|
+
onThumbMouseUpHandler: () => void;
|
|
5
|
+
onTrackClickHandler: (event: MouseEvent | TouchEvent) => void;
|
|
6
|
+
onThumbFocusHandler: () => void;
|
|
7
|
+
onThumbBlurHandler: () => void;
|
|
8
|
+
onHelperChangeHandler: (event: React.FormEvent<HTMLInputElement>) => void;
|
|
9
|
+
onHelperFocusHandler: (event: React.FormEvent<HTMLInputElement>) => void;
|
|
10
|
+
removeEvents: () => void;
|
|
11
|
+
};
|