@ui5/webcomponents 2.20.0-rc.1 → 2.20.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +20 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/AvatarGroup.js +2 -0
- package/dist/AvatarGroup.js.map +1 -1
- package/dist/AvatarGroupTemplate.js +8 -1
- package/dist/AvatarGroupTemplate.js.map +1 -1
- package/dist/ComboBox.d.ts +19 -0
- package/dist/ComboBox.js +58 -2
- package/dist/ComboBox.js.map +1 -1
- package/dist/ComboBoxItem.d.ts +23 -0
- package/dist/ComboBoxItem.js +4 -0
- package/dist/ComboBoxItem.js.map +1 -1
- package/dist/ListItem.js +1 -1
- package/dist/ListItem.js.map +1 -1
- package/dist/Slider.d.ts +13 -20
- package/dist/Slider.js +48 -74
- package/dist/Slider.js.map +1 -1
- package/dist/SliderHandle.d.ts +61 -0
- package/dist/SliderHandle.js +104 -0
- package/dist/SliderHandle.js.map +1 -0
- package/dist/SliderHandleTemplate.d.ts +2 -0
- package/dist/SliderHandleTemplate.js +7 -0
- package/dist/SliderHandleTemplate.js.map +1 -0
- package/dist/SliderScale.d.ts +138 -0
- package/dist/SliderScale.js +300 -0
- package/dist/SliderScale.js.map +1 -0
- package/dist/SliderScaleTemplate.d.ts +2 -0
- package/dist/SliderScaleTemplate.js +11 -0
- package/dist/SliderScaleTemplate.js.map +1 -0
- package/dist/SliderTemplate.d.ts +0 -2
- package/dist/SliderTemplate.js +16 -14
- package/dist/SliderTemplate.js.map +1 -1
- package/dist/SliderTooltip.js +0 -4
- package/dist/SliderTooltip.js.map +1 -1
- package/dist/Tab.js +1 -1
- package/dist/Tab.js.map +1 -1
- package/dist/TabContainer.js +1 -1
- package/dist/TabContainer.js.map +1 -1
- package/dist/TableDragAndDrop.js +1 -1
- package/dist/TableDragAndDrop.js.map +1 -1
- package/dist/Tokenizer.js +16 -4
- package/dist/Tokenizer.js.map +1 -1
- package/dist/bundle.esm.js +2 -0
- package/dist/bundle.esm.js.map +1 -1
- package/dist/css/themes/AvatarGroup.css +1 -1
- package/dist/css/themes/ColorPicker.css +1 -1
- package/dist/css/themes/Form.css +1 -1
- package/dist/css/themes/FormItemSpan.css +1 -1
- package/dist/css/themes/ProgressIndicator.css +1 -1
- package/dist/css/themes/Slider.css +1 -0
- package/dist/css/themes/SliderHandle.css +1 -0
- package/dist/css/themes/SliderScale.css +1 -0
- package/dist/css/themes/sap_fiori_3/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcb/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_fiori_3_hcw/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_dark/parameters-bundle.css +1 -1
- package/dist/css/themes/sap_horizon_hcb/parameters-bundle.css +1 -2
- package/dist/css/themes/sap_horizon_hcw/parameters-bundle.css +1 -2
- package/dist/custom-elements-internal.json +127 -28
- package/dist/custom-elements.json +124 -28
- package/dist/generated/assets/themes/sap_fiori_3/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_fiori_3_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_dark/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcb/parameters-bundle.css.json +1 -1
- package/dist/generated/assets/themes/sap_horizon_hcw/parameters-bundle.css.json +1 -1
- package/dist/generated/themes/AvatarGroup.css.d.ts +1 -1
- package/dist/generated/themes/AvatarGroup.css.js +1 -1
- package/dist/generated/themes/AvatarGroup.css.js.map +1 -1
- package/dist/generated/themes/ColorPicker.css.d.ts +1 -1
- package/dist/generated/themes/ColorPicker.css.js +1 -1
- package/dist/generated/themes/ColorPicker.css.js.map +1 -1
- package/dist/generated/themes/Form.css.d.ts +1 -1
- package/dist/generated/themes/Form.css.js +1 -1
- package/dist/generated/themes/Form.css.js.map +1 -1
- package/dist/generated/themes/FormItemSpan.css.d.ts +1 -1
- package/dist/generated/themes/FormItemSpan.css.js +1 -1
- package/dist/generated/themes/FormItemSpan.css.js.map +1 -1
- package/dist/generated/themes/ProgressIndicator.css.d.ts +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js +1 -1
- package/dist/generated/themes/ProgressIndicator.css.js.map +1 -1
- package/dist/generated/themes/Slider.css.d.ts +2 -0
- package/dist/generated/themes/Slider.css.js +8 -0
- package/dist/generated/themes/Slider.css.js.map +1 -0
- package/dist/generated/themes/SliderHandle.css.d.ts +2 -0
- package/dist/generated/themes/SliderHandle.css.js +8 -0
- package/dist/generated/themes/SliderHandle.css.js.map +1 -0
- package/dist/generated/themes/SliderScale.css.d.ts +2 -0
- package/dist/generated/themes/SliderScale.css.js +8 -0
- package/dist/generated/themes/SliderScale.css.js.map +1 -0
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_fiori_3_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js +1 -1
- package/dist/generated/themes/sap_horizon_dark/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js +1 -2
- package/dist/generated/themes/sap_horizon_hcb/parameters-bundle.css.js.map +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.d.ts +1 -1
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js +1 -2
- package/dist/generated/themes/sap_horizon_hcw/parameters-bundle.css.js.map +1 -1
- package/dist/vscode.html-custom-data.json +20 -5
- package/dist/web-types.json +42 -12
- package/package.json +9 -9
- package/src/AvatarGroupTemplate.tsx +8 -1
- package/src/SliderHandleTemplate.tsx +15 -0
- package/src/SliderScaleTemplate.tsx +32 -0
- package/src/SliderTemplate.tsx +85 -64
- package/src/themes/AvatarGroup.css +24 -0
- package/src/themes/ColorPicker.css +23 -27
- package/src/themes/FormItemSpan.css +1 -1
- package/src/themes/ProgressIndicator.css +1 -0
- package/src/themes/Slider.css +32 -0
- package/src/themes/SliderHandle.css +61 -0
- package/src/themes/SliderScale.css +149 -0
- package/src/themes/base/SliderHandle-parameters.css +3 -0
- package/src/themes/base/SliderScale-parameters.css +13 -0
- package/src/themes/sap_fiori_3/Slider-parameters.css +11 -0
- package/src/themes/sap_fiori_3/SliderHandle-parameters.css +5 -0
- package/src/themes/sap_fiori_3/SliderScale-parameters.css +13 -0
- package/src/themes/sap_fiori_3/parameters-bundle.css +2 -0
- package/src/themes/sap_fiori_3_dark/Slider-parameters.css +11 -0
- package/src/themes/sap_fiori_3_dark/SliderHandle-parameters.css +5 -0
- package/src/themes/sap_fiori_3_dark/SliderScale-parameters.css +13 -0
- package/src/themes/sap_fiori_3_dark/parameters-bundle.css +2 -0
- package/src/themes/sap_fiori_3_hcb/Slider-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcb/SliderHandle-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcb/SliderScale-parameters.css +14 -0
- package/src/themes/sap_fiori_3_hcb/parameters-bundle.css +2 -0
- package/src/themes/sap_fiori_3_hcw/Slider-parameters.css +11 -0
- package/src/themes/sap_fiori_3_hcw/SliderHandle-parameters.css +5 -0
- package/src/themes/sap_fiori_3_hcw/SliderScale-parameters.css +14 -0
- package/src/themes/sap_fiori_3_hcw/parameters-bundle.css +2 -0
- package/src/themes/sap_horizon/AvatarGroup-parameters.css +20 -3
- package/src/themes/sap_horizon/Slider-parameters.css +11 -0
- package/src/themes/sap_horizon/SliderHandle-parameters.css +5 -0
- package/src/themes/sap_horizon/SliderScale-parameters.css +10 -0
- package/src/themes/sap_horizon/parameters-bundle.css +3 -0
- package/src/themes/sap_horizon/rtl-parameters.css +4 -0
- package/src/themes/sap_horizon_dark/Slider-parameters.css +11 -0
- package/src/themes/sap_horizon_dark/SliderHandle-parameters.css +5 -0
- package/src/themes/sap_horizon_dark/SliderScale-parameters.css +10 -0
- package/src/themes/sap_horizon_dark/parameters-bundle.css +3 -0
- package/src/themes/sap_horizon_dark/rtl-parameters.css +6 -0
- package/src/themes/sap_horizon_hcb/Slider-parameters.css +11 -0
- package/src/themes/sap_horizon_hcb/SliderHandle-parameters.css +5 -0
- package/src/themes/sap_horizon_hcb/SliderScale-parameters.css +10 -0
- package/src/themes/sap_horizon_hcb/parameters-bundle.css +3 -1
- package/src/themes/sap_horizon_hcb/rtl-parameters.css +1 -0
- package/src/themes/sap_horizon_hcw/Slider-parameters.css +11 -0
- package/src/themes/sap_horizon_hcw/SliderHandle-parameters.css +5 -0
- package/src/themes/sap_horizon_hcw/SliderScale-parameters.css +10 -0
- package/src/themes/sap_horizon_hcw/parameters-bundle.css +3 -1
- package/src/themes/sap_horizon_hcw/rtl-parameters.css +1 -0
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
8
|
+
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
9
|
+
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
10
|
+
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
11
|
+
import SliderHandleTemplate from "./SliderHandleTemplate.js";
|
|
12
|
+
import styles from "./generated/themes/SliderHandle.css.js";
|
|
13
|
+
/**
|
|
14
|
+
* @class
|
|
15
|
+
* The <code>ui5-slider-handle</code> component represents the handle of the <code>ui5-slider</code> component.
|
|
16
|
+
*
|
|
17
|
+
* @constructor
|
|
18
|
+
* @extends UI5Element
|
|
19
|
+
* @since 2.19.0
|
|
20
|
+
* @private
|
|
21
|
+
*/
|
|
22
|
+
let SliderHandle = class SliderHandle extends UI5Element {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(...arguments);
|
|
25
|
+
/**
|
|
26
|
+
* Defines the value of the slider handle.
|
|
27
|
+
* <br><br>
|
|
28
|
+
* <b>Note:</b> The value should be between the <code>min</code> and <code>max</code> properties of the parent <code>ui5-slider</code>.
|
|
29
|
+
* @since 2.19.0
|
|
30
|
+
* @public
|
|
31
|
+
*/
|
|
32
|
+
this.value = 0;
|
|
33
|
+
/**
|
|
34
|
+
* Defines the minimum value of the slider handle.
|
|
35
|
+
* <br><br>
|
|
36
|
+
* <b>Note:</b> The value should be less than the <code>max</code> property of the parent <code>ui5-slider</code>.
|
|
37
|
+
* @since 2.19.0
|
|
38
|
+
* @public
|
|
39
|
+
*/
|
|
40
|
+
this.min = 0;
|
|
41
|
+
/**
|
|
42
|
+
* Defines the maximum value of the slider handle.
|
|
43
|
+
* <br><br>
|
|
44
|
+
* <b>Note:</b> The value should be greater than the <code>min</code> property of the parent <code>ui5-slider</code>.
|
|
45
|
+
* @since 2.19.0
|
|
46
|
+
* @public
|
|
47
|
+
*/
|
|
48
|
+
this.max = 100;
|
|
49
|
+
/**
|
|
50
|
+
* Defines whether the slider handle is disabled.
|
|
51
|
+
* <br><br>
|
|
52
|
+
* <b>Note:</b> A disabled slider handle cannot be interacted with.
|
|
53
|
+
* @since 2.19.0
|
|
54
|
+
* @public
|
|
55
|
+
*/
|
|
56
|
+
this.disabled = false;
|
|
57
|
+
/**
|
|
58
|
+
* Defines whether the slider handle is active.
|
|
59
|
+
* <br><br>
|
|
60
|
+
* <b>Note:</b> An active slider handle is currently being interacted with.
|
|
61
|
+
* @since 2.19.0
|
|
62
|
+
* @public
|
|
63
|
+
*/
|
|
64
|
+
this.active = false;
|
|
65
|
+
/**
|
|
66
|
+
* Defines the orientation of the slider handle.
|
|
67
|
+
*
|
|
68
|
+
* @private
|
|
69
|
+
*/
|
|
70
|
+
this.orientation = "Horizontal";
|
|
71
|
+
}
|
|
72
|
+
getFocusDomRef() {
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
__decorate([
|
|
77
|
+
property({ type: Number })
|
|
78
|
+
], SliderHandle.prototype, "value", void 0);
|
|
79
|
+
__decorate([
|
|
80
|
+
property({ type: Number })
|
|
81
|
+
], SliderHandle.prototype, "min", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
property({ type: Number })
|
|
84
|
+
], SliderHandle.prototype, "max", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
property({ type: Boolean })
|
|
87
|
+
], SliderHandle.prototype, "disabled", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
property({ type: Boolean })
|
|
90
|
+
], SliderHandle.prototype, "active", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
property()
|
|
93
|
+
], SliderHandle.prototype, "orientation", void 0);
|
|
94
|
+
SliderHandle = __decorate([
|
|
95
|
+
customElement({
|
|
96
|
+
tag: "ui5-slider-handle",
|
|
97
|
+
renderer: jsxRenderer,
|
|
98
|
+
template: SliderHandleTemplate,
|
|
99
|
+
styles,
|
|
100
|
+
})
|
|
101
|
+
], SliderHandle);
|
|
102
|
+
SliderHandle.define();
|
|
103
|
+
export default SliderHandle;
|
|
104
|
+
//# sourceMappingURL=SliderHandle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderHandle.js","sourceRoot":"","sources":["../src/SliderHandle.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,MAAM,MAAM,wCAAwC,CAAC;AAG5D;;;;;;;;GAQG;AAOH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAArC;;QACC;;;;;;WAMG;QAEH,UAAK,GAAG,CAAC,CAAC;QAEV;;;;;;WAMG;QAEH,QAAG,GAAG,CAAC,CAAC;QAER;;;;;;WAMG;QAEH,QAAG,GAAG,GAAG,CAAC;QAEV;;;;;;WAMG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAEjB;;;;;;WAMG;QAEH,WAAM,GAAG,KAAK,CAAC;QAEf;;;;WAIG;QAEH,gBAAW,GAAgC,YAAY,CAAC;IAKzD,CAAC;IAHA,cAAc;QACb,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AArDA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;2CACjB;AAUV;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCACnB;AAUR;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCACjB;AAUV;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CACX;AAUjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACb;AAQf;IADC,QAAQ,EAAE;iDAC6C;AAzDnD,YAAY;IANjB,aAAa,CAAC;QACd,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM;KACN,CAAC;GACI,YAAY,CA8DjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport SliderHandleTemplate from \"./SliderHandleTemplate.js\";\nimport styles from \"./generated/themes/SliderHandle.css.js\";\nimport type { SliderScaleOrientation } from \"./SliderScale.js\";\n\n/**\n * @class\n * The <code>ui5-slider-handle</code> component represents the handle of the <code>ui5-slider</code> component.\n *\n * @constructor\n * @extends UI5Element\n * @since 2.19.0\n * @private\n */\n@customElement({\n\ttag: \"ui5-slider-handle\",\n\trenderer: jsxRenderer,\n\ttemplate: SliderHandleTemplate,\n\tstyles,\n})\nclass SliderHandle extends UI5Element {\n\t/**\n\t * Defines the value of the slider handle.\n\t * <br><br>\n\t * <b>Note:</b> The value should be between the <code>min</code> and <code>max</code> properties of the parent <code>ui5-slider</code>.\n\t * @since 2.19.0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tvalue = 0;\n\n\t/**\n\t * Defines the minimum value of the slider handle.\n\t * <br><br>\n\t * <b>Note:</b> The value should be less than the <code>max</code> property of the parent <code>ui5-slider</code>.\n\t * @since 2.19.0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmin = 0;\n\n\t/**\n\t * Defines the maximum value of the slider handle.\n\t * <br><br>\n\t * <b>Note:</b> The value should be greater than the <code>min</code> property of the parent <code>ui5-slider</code>.\n\t * @since 2.19.0\n\t * @public\n\t */\n\t@property({ type: Number })\n\tmax = 100;\n\n\t/**\n\t * Defines whether the slider handle is disabled.\n\t * <br><br>\n\t * <b>Note:</b> A disabled slider handle cannot be interacted with.\n\t * @since 2.19.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisabled = false;\n\n\t/**\n\t * Defines whether the slider handle is active.\n\t * <br><br>\n\t * <b>Note:</b> An active slider handle is currently being interacted with.\n\t * @since 2.19.0\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tactive = false;\n\n\t/**\n\t * Defines the orientation of the slider handle.\n\t *\n\t * @private\n\t */\n\t@property()\n\torientation: `${SliderScaleOrientation}` = \"Horizontal\";\n\n\tgetFocusDomRef(): HTMLElement | undefined {\n\t\treturn this;\n\t}\n}\n\nSliderHandle.define();\n\nexport default SliderHandle;\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import directionArrows from "@ui5/webcomponents-icons/dist/direction-arrows.js";
|
|
3
|
+
import Icon from "./Icon.js";
|
|
4
|
+
export default function SliderHandleTemplate() {
|
|
5
|
+
return (_jsx("div", { class: "ui5-slider-handle-container", children: _jsx(Icon, { name: directionArrows, mode: "Decorative", part: "icon", "slider-icon": true }) }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=SliderHandleTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderHandleTemplate.js","sourceRoot":"","sources":["../src/SliderHandleTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,eAAe,MAAM,mDAAmD,CAAC;AAChF,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,OAAO,CACN,cAAK,KAAK,EAAC,6BAA6B,YACvC,KAAC,IAAI,IAAC,IAAI,EAAE,eAAe,EAC1B,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,MAAM,wBAEJ,GACH,CACN,CAAC;AACH,CAAC","sourcesContent":["import directionArrows from \"@ui5/webcomponents-icons/dist/direction-arrows.js\";\nimport Icon from \"./Icon.js\";\nimport type SliderHandle from \"./SliderHandle.js\";\n\nexport default function SliderHandleTemplate(this: SliderHandle) {\n\treturn (\n\t\t<div class=\"ui5-slider-handle-container\">\n\t\t\t<Icon name={directionArrows}\n\t\t\t\tmode=\"Decorative\"\n\t\t\t\tpart=\"icon\"\n\t\t\t\tslider-icon\n\t\t\t></Icon>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
|
+
import type { ResizeObserverCallback } from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
3
|
+
import type SliderHandle from "./SliderHandle.js";
|
|
4
|
+
type Tickmark = {
|
|
5
|
+
value: number;
|
|
6
|
+
label?: string;
|
|
7
|
+
};
|
|
8
|
+
declare enum SliderScaleOrientation {
|
|
9
|
+
/**
|
|
10
|
+
* Horizontal orientation
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
Horizontal = "Horizontal",
|
|
14
|
+
/**
|
|
15
|
+
* Vertical orientation
|
|
16
|
+
* @private
|
|
17
|
+
*/
|
|
18
|
+
Vertical = "Vertical"
|
|
19
|
+
}
|
|
20
|
+
declare class SliderScale extends UI5Element {
|
|
21
|
+
/**
|
|
22
|
+
* Defines the start value of the progress bar.
|
|
23
|
+
* @default 0
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
startValue: number;
|
|
27
|
+
/**
|
|
28
|
+
* Defines the end value of the progress bar.
|
|
29
|
+
* @default 100
|
|
30
|
+
* @private
|
|
31
|
+
*/
|
|
32
|
+
endValue: number;
|
|
33
|
+
/**
|
|
34
|
+
* Defines the minimum value of the scale.
|
|
35
|
+
* @default 0
|
|
36
|
+
* @private
|
|
37
|
+
*/
|
|
38
|
+
min: number;
|
|
39
|
+
/**
|
|
40
|
+
* Defines the maximum value of the scale.
|
|
41
|
+
* @default 100
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
max: number;
|
|
45
|
+
/**
|
|
46
|
+
* Defines the step value for tickmarks.
|
|
47
|
+
* @default 1
|
|
48
|
+
* @private
|
|
49
|
+
*/
|
|
50
|
+
step: number;
|
|
51
|
+
/**
|
|
52
|
+
* Determines whether tickmarks should be displayed.
|
|
53
|
+
* @default false
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
showTickmarks: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Defines the orientation of the scale.
|
|
59
|
+
* @default "Horizontal"
|
|
60
|
+
* @private
|
|
61
|
+
*/
|
|
62
|
+
orientation: `${SliderScaleOrientation}`;
|
|
63
|
+
/**
|
|
64
|
+
* Defines custom tickmarks to be displayed on the scale.
|
|
65
|
+
* @default []
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
tickmarks: Array<Tickmark>;
|
|
69
|
+
/**
|
|
70
|
+
* Defines the interval for displaying labels on tickmarks.
|
|
71
|
+
* @default 0
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
labelInterval: number;
|
|
75
|
+
/**
|
|
76
|
+
* @private
|
|
77
|
+
*/
|
|
78
|
+
_labelInterval: number;
|
|
79
|
+
_labelsOverlapping: boolean;
|
|
80
|
+
_hiddenTickmarks: boolean;
|
|
81
|
+
_resizeHandler: ResizeObserverCallback;
|
|
82
|
+
_notResized: boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Defines the component items.
|
|
85
|
+
* @public
|
|
86
|
+
*/
|
|
87
|
+
handles: Array<SliderHandle>;
|
|
88
|
+
static get MIN_LABEL_DISTANCE(): number;
|
|
89
|
+
static get MIN_SPACE_BETWEEN_TICKMARKS(): number;
|
|
90
|
+
constructor();
|
|
91
|
+
onEnterDOM(): void;
|
|
92
|
+
onExitDOM(): void;
|
|
93
|
+
onAfterRendering(): void;
|
|
94
|
+
/**
|
|
95
|
+
* Handle the responsiveness of the SliderScale's UI elements when resizing
|
|
96
|
+
* @private
|
|
97
|
+
*/
|
|
98
|
+
_handleResize(): void;
|
|
99
|
+
/**
|
|
100
|
+
* Calculates space between tickmarks
|
|
101
|
+
* @private
|
|
102
|
+
*/
|
|
103
|
+
_spaceBetweenTickmarks(): number;
|
|
104
|
+
get _tickmarksCount(): number;
|
|
105
|
+
get _visibleLabels(): {
|
|
106
|
+
value: number;
|
|
107
|
+
label: string;
|
|
108
|
+
isInRange: boolean;
|
|
109
|
+
position: number;
|
|
110
|
+
showLabel: boolean;
|
|
111
|
+
visible: boolean;
|
|
112
|
+
}[];
|
|
113
|
+
get _progressStyle(): {
|
|
114
|
+
top: string;
|
|
115
|
+
bottom: string;
|
|
116
|
+
height: string;
|
|
117
|
+
insetInlineStart?: undefined;
|
|
118
|
+
width?: undefined;
|
|
119
|
+
} | {
|
|
120
|
+
insetInlineStart: string;
|
|
121
|
+
width: string;
|
|
122
|
+
top?: undefined;
|
|
123
|
+
bottom?: undefined;
|
|
124
|
+
height?: undefined;
|
|
125
|
+
};
|
|
126
|
+
get _allTickmarks(): Tickmark[];
|
|
127
|
+
get _tickmarks(): {
|
|
128
|
+
value: number;
|
|
129
|
+
label: string;
|
|
130
|
+
isInRange: boolean;
|
|
131
|
+
position: number;
|
|
132
|
+
showLabel: boolean;
|
|
133
|
+
visible: boolean;
|
|
134
|
+
}[];
|
|
135
|
+
}
|
|
136
|
+
export default SliderScale;
|
|
137
|
+
export { SliderScaleOrientation };
|
|
138
|
+
export type { Tickmark };
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var SliderScale_1;
|
|
8
|
+
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
9
|
+
import slot from "@ui5/webcomponents-base/dist/decorators/slot.js";
|
|
10
|
+
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
11
|
+
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
12
|
+
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
13
|
+
import ResizeHandler from "@ui5/webcomponents-base/dist/delegate/ResizeHandler.js";
|
|
14
|
+
import SliderBase from "./SliderBase.js";
|
|
15
|
+
import SliderScaleTemplate from "./SliderScaleTemplate.js";
|
|
16
|
+
import SliderScaleCss from "./generated/themes/SliderScale.css.js";
|
|
17
|
+
var SliderScaleOrientation;
|
|
18
|
+
(function (SliderScaleOrientation) {
|
|
19
|
+
/**
|
|
20
|
+
* Horizontal orientation
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
SliderScaleOrientation["Horizontal"] = "Horizontal";
|
|
24
|
+
/**
|
|
25
|
+
* Vertical orientation
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
SliderScaleOrientation["Vertical"] = "Vertical";
|
|
29
|
+
})(SliderScaleOrientation || (SliderScaleOrientation = {}));
|
|
30
|
+
let SliderScale = SliderScale_1 = class SliderScale extends UI5Element {
|
|
31
|
+
static get MIN_LABEL_DISTANCE() {
|
|
32
|
+
return 16;
|
|
33
|
+
}
|
|
34
|
+
static get MIN_SPACE_BETWEEN_TICKMARKS() {
|
|
35
|
+
return 8;
|
|
36
|
+
}
|
|
37
|
+
constructor() {
|
|
38
|
+
super();
|
|
39
|
+
/**
|
|
40
|
+
* Defines the start value of the progress bar.
|
|
41
|
+
* @default 0
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
this.startValue = 0;
|
|
45
|
+
/**
|
|
46
|
+
* Defines the end value of the progress bar.
|
|
47
|
+
* @default 100
|
|
48
|
+
* @private
|
|
49
|
+
*/
|
|
50
|
+
this.endValue = 100;
|
|
51
|
+
/**
|
|
52
|
+
* Defines the minimum value of the scale.
|
|
53
|
+
* @default 0
|
|
54
|
+
* @private
|
|
55
|
+
*/
|
|
56
|
+
this.min = 0;
|
|
57
|
+
/**
|
|
58
|
+
* Defines the maximum value of the scale.
|
|
59
|
+
* @default 100
|
|
60
|
+
* @private
|
|
61
|
+
*/
|
|
62
|
+
this.max = 100;
|
|
63
|
+
/**
|
|
64
|
+
* Defines the step value for tickmarks.
|
|
65
|
+
* @default 1
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
this.step = 1;
|
|
69
|
+
/**
|
|
70
|
+
* Determines whether tickmarks should be displayed.
|
|
71
|
+
* @default false
|
|
72
|
+
* @private
|
|
73
|
+
*/
|
|
74
|
+
this.showTickmarks = false;
|
|
75
|
+
/**
|
|
76
|
+
* Defines the orientation of the scale.
|
|
77
|
+
* @default "Horizontal"
|
|
78
|
+
* @private
|
|
79
|
+
*/
|
|
80
|
+
this.orientation = "Horizontal";
|
|
81
|
+
/**
|
|
82
|
+
* Defines custom tickmarks to be displayed on the scale.
|
|
83
|
+
* @default []
|
|
84
|
+
* @private
|
|
85
|
+
*/
|
|
86
|
+
this.tickmarks = [];
|
|
87
|
+
/**
|
|
88
|
+
* Defines the interval for displaying labels on tickmarks.
|
|
89
|
+
* @default 0
|
|
90
|
+
* @private
|
|
91
|
+
*/
|
|
92
|
+
this.labelInterval = 0;
|
|
93
|
+
/**
|
|
94
|
+
* @private
|
|
95
|
+
*/
|
|
96
|
+
this._labelInterval = 1;
|
|
97
|
+
this._labelsOverlapping = false;
|
|
98
|
+
this._hiddenTickmarks = false;
|
|
99
|
+
this._notResized = true;
|
|
100
|
+
this._resizeHandler = this._handleResize.bind(this);
|
|
101
|
+
}
|
|
102
|
+
onEnterDOM() {
|
|
103
|
+
ResizeHandler.register(this, this._resizeHandler);
|
|
104
|
+
}
|
|
105
|
+
onExitDOM() {
|
|
106
|
+
ResizeHandler.deregister(this, this._resizeHandler);
|
|
107
|
+
}
|
|
108
|
+
onAfterRendering() {
|
|
109
|
+
if (this._notResized) {
|
|
110
|
+
this._handleResize();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Handle the responsiveness of the SliderScale's UI elements when resizing
|
|
115
|
+
* @private
|
|
116
|
+
*/
|
|
117
|
+
_handleResize() {
|
|
118
|
+
if (!this.showTickmarks) {
|
|
119
|
+
this._hiddenTickmarks = false;
|
|
120
|
+
this._labelsOverlapping = false;
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
// Mark resizing to avoid unnecessary calls to that function after rendering
|
|
124
|
+
this._notResized = false;
|
|
125
|
+
const containerSize = this.orientation === SliderScaleOrientation.Horizontal
|
|
126
|
+
? this.getBoundingClientRect().width
|
|
127
|
+
: this.getBoundingClientRect().height;
|
|
128
|
+
const tickmarksCount = this._tickmarksCount;
|
|
129
|
+
// Check if tickmarks should be hidden due to insufficient space
|
|
130
|
+
if (tickmarksCount > 1) {
|
|
131
|
+
const spaceBetweenTickmarks = containerSize / tickmarksCount;
|
|
132
|
+
this._hiddenTickmarks = spaceBetweenTickmarks < SliderScale_1.MIN_SPACE_BETWEEN_TICKMARKS;
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
this._hiddenTickmarks = false;
|
|
136
|
+
}
|
|
137
|
+
// Check if labels should be hidden due to insufficient space or overlapping
|
|
138
|
+
if (this.labelInterval <= 0 || this._hiddenTickmarks) {
|
|
139
|
+
this._labelsOverlapping = true;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
// Calculate if labels would overlap based on their estimated width
|
|
143
|
+
const visibleLabelCount = Math.ceil((tickmarksCount - 1) / this.labelInterval) + 1;
|
|
144
|
+
const estimatedLabelWidth = 32; // Estimated width in pixels for a label (2rem = ~32px)
|
|
145
|
+
const requiredWidth = visibleLabelCount * estimatedLabelWidth;
|
|
146
|
+
this._labelsOverlapping = containerSize < requiredWidth;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Calculates space between tickmarks
|
|
151
|
+
* @private
|
|
152
|
+
*/
|
|
153
|
+
_spaceBetweenTickmarks() {
|
|
154
|
+
const tickmarksCount = this._tickmarksCount;
|
|
155
|
+
if (tickmarksCount <= 1) {
|
|
156
|
+
return 0;
|
|
157
|
+
}
|
|
158
|
+
const containerSize = this.orientation === SliderScaleOrientation.Horizontal
|
|
159
|
+
? this.getBoundingClientRect().width
|
|
160
|
+
: this.getBoundingClientRect().height;
|
|
161
|
+
return containerSize / tickmarksCount;
|
|
162
|
+
}
|
|
163
|
+
get _tickmarksCount() {
|
|
164
|
+
if (this.step === 0) {
|
|
165
|
+
return 0;
|
|
166
|
+
}
|
|
167
|
+
return (this.max - this.min) / this.step;
|
|
168
|
+
}
|
|
169
|
+
get _visibleLabels() {
|
|
170
|
+
return this._tickmarks.filter(tick => tick.showLabel);
|
|
171
|
+
}
|
|
172
|
+
get _progressStyle() {
|
|
173
|
+
const range = this.max - this.min;
|
|
174
|
+
// Clamp startValue and endValue to be within min/max bounds
|
|
175
|
+
const clampedStartValue = Math.max(this.min, Math.min(this.startValue, this.max));
|
|
176
|
+
const clampedEndValue = Math.max(this.min, Math.min(this.endValue, this.max));
|
|
177
|
+
const start = ((clampedStartValue - this.min) / range) * 100;
|
|
178
|
+
const end = ((clampedEndValue - this.min) / range) * 100;
|
|
179
|
+
if (this.orientation === SliderScaleOrientation.Vertical) {
|
|
180
|
+
return {
|
|
181
|
+
top: "auto",
|
|
182
|
+
bottom: `${start}%`,
|
|
183
|
+
height: `${end - start}%`,
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
return {
|
|
187
|
+
insetInlineStart: `${start}%`,
|
|
188
|
+
width: `${end - start}%`,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
get _allTickmarks() {
|
|
192
|
+
// If custom tickmarks are provided, use them
|
|
193
|
+
if (this.tickmarks.length > 0) {
|
|
194
|
+
return this.tickmarks;
|
|
195
|
+
}
|
|
196
|
+
// Otherwise, generate tickmarks based on step
|
|
197
|
+
if (!this.showTickmarks) {
|
|
198
|
+
return [];
|
|
199
|
+
}
|
|
200
|
+
if (this.step === 0) {
|
|
201
|
+
return [];
|
|
202
|
+
}
|
|
203
|
+
const values = [];
|
|
204
|
+
for (let value = this.min; value <= this.max; value += this.step) {
|
|
205
|
+
values.push({ value });
|
|
206
|
+
}
|
|
207
|
+
return values;
|
|
208
|
+
}
|
|
209
|
+
get _tickmarks() {
|
|
210
|
+
const allTickmarks = this._allTickmarks;
|
|
211
|
+
const stepPrecision = SliderBase._getDecimalPrecisionOfNumber(this.step);
|
|
212
|
+
const formatLabelPrecision = stepPrecision > 0 ? stepPrecision : 0;
|
|
213
|
+
if (allTickmarks.length === 0) {
|
|
214
|
+
return [];
|
|
215
|
+
}
|
|
216
|
+
return allTickmarks.map((tm, index) => {
|
|
217
|
+
const value = tm.value;
|
|
218
|
+
const isFirstOrLast = index === 0 || index === allTickmarks.length - 1;
|
|
219
|
+
const position = ((value - this.min) / (this.max - this.min)) * 100;
|
|
220
|
+
// Determine if this tickmark should be visible
|
|
221
|
+
const shouldShowTickmark = this._hiddenTickmarks ? isFirstOrLast : true;
|
|
222
|
+
// Determine if the label should be visible
|
|
223
|
+
let showLabel = false;
|
|
224
|
+
if (shouldShowTickmark && !this._labelsOverlapping) {
|
|
225
|
+
if (this.labelInterval > 0) {
|
|
226
|
+
showLabel = index % this.labelInterval === 0;
|
|
227
|
+
}
|
|
228
|
+
else {
|
|
229
|
+
showLabel = true;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
else if (shouldShowTickmark && this._labelsOverlapping && this.labelInterval > 0) {
|
|
233
|
+
// When labels overlap, only show first and last
|
|
234
|
+
showLabel = isFirstOrLast;
|
|
235
|
+
}
|
|
236
|
+
return {
|
|
237
|
+
value,
|
|
238
|
+
label: tm.label || value.toFixed(formatLabelPrecision),
|
|
239
|
+
isInRange: value >= this.startValue && value <= this.endValue,
|
|
240
|
+
position,
|
|
241
|
+
showLabel,
|
|
242
|
+
visible: shouldShowTickmark,
|
|
243
|
+
};
|
|
244
|
+
}).filter(tick => tick.visible);
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
__decorate([
|
|
248
|
+
property({ type: Number })
|
|
249
|
+
], SliderScale.prototype, "startValue", void 0);
|
|
250
|
+
__decorate([
|
|
251
|
+
property({ type: Number })
|
|
252
|
+
], SliderScale.prototype, "endValue", void 0);
|
|
253
|
+
__decorate([
|
|
254
|
+
property({ type: Number })
|
|
255
|
+
], SliderScale.prototype, "min", void 0);
|
|
256
|
+
__decorate([
|
|
257
|
+
property({ type: Number })
|
|
258
|
+
], SliderScale.prototype, "max", void 0);
|
|
259
|
+
__decorate([
|
|
260
|
+
property({ type: Number })
|
|
261
|
+
], SliderScale.prototype, "step", void 0);
|
|
262
|
+
__decorate([
|
|
263
|
+
property({ type: Boolean })
|
|
264
|
+
], SliderScale.prototype, "showTickmarks", void 0);
|
|
265
|
+
__decorate([
|
|
266
|
+
property()
|
|
267
|
+
], SliderScale.prototype, "orientation", void 0);
|
|
268
|
+
__decorate([
|
|
269
|
+
property({ type: Array })
|
|
270
|
+
], SliderScale.prototype, "tickmarks", void 0);
|
|
271
|
+
__decorate([
|
|
272
|
+
property({ type: Number })
|
|
273
|
+
], SliderScale.prototype, "labelInterval", void 0);
|
|
274
|
+
__decorate([
|
|
275
|
+
property({ type: Number })
|
|
276
|
+
], SliderScale.prototype, "_labelInterval", void 0);
|
|
277
|
+
__decorate([
|
|
278
|
+
property({ type: Boolean })
|
|
279
|
+
], SliderScale.prototype, "_labelsOverlapping", void 0);
|
|
280
|
+
__decorate([
|
|
281
|
+
property({ type: Boolean })
|
|
282
|
+
], SliderScale.prototype, "_hiddenTickmarks", void 0);
|
|
283
|
+
__decorate([
|
|
284
|
+
slot({
|
|
285
|
+
type: HTMLElement,
|
|
286
|
+
"default": true,
|
|
287
|
+
})
|
|
288
|
+
], SliderScale.prototype, "handles", void 0);
|
|
289
|
+
SliderScale = SliderScale_1 = __decorate([
|
|
290
|
+
customElement({
|
|
291
|
+
tag: "ui5-slider-scale",
|
|
292
|
+
renderer: jsxRenderer,
|
|
293
|
+
styles: SliderScaleCss,
|
|
294
|
+
template: SliderScaleTemplate,
|
|
295
|
+
})
|
|
296
|
+
], SliderScale);
|
|
297
|
+
SliderScale.define();
|
|
298
|
+
export default SliderScale;
|
|
299
|
+
export { SliderScaleOrientation };
|
|
300
|
+
//# sourceMappingURL=SliderScale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderScale.js","sourceRoot":"","sources":["../src/SliderScale.ts"],"names":[],"mappings":"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","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport SliderBase from \"./SliderBase.js\";\nimport SliderScaleTemplate from \"./SliderScaleTemplate.js\";\n\nimport SliderScaleCss from \"./generated/themes/SliderScale.css.js\";\nimport type SliderHandle from \"./SliderHandle.js\";\n\ntype Tickmark = {\n\tvalue: number;\n\tlabel?: string;\n};\n\nenum SliderScaleOrientation {\n\t/**\n\t * Horizontal orientation\n\t * @public\n\t */\n\tHorizontal = \"Horizontal\",\n\n\t/**\n\t * Vertical orientation\n\t * @private\n\t */\n\tVertical = \"Vertical\",\n}\n\n@customElement({\n\ttag: \"ui5-slider-scale\",\n\trenderer: jsxRenderer,\n\tstyles: SliderScaleCss,\n\ttemplate: SliderScaleTemplate,\n})\nclass SliderScale extends UI5Element {\n\t/**\n\t * Defines the start value of the progress bar.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tstartValue = 0;\n\n\t/**\n\t * Defines the end value of the progress bar.\n\t * @default 100\n\t * @private\n\t */\n\t@property({ type: Number })\n\tendValue = 100;\n\n\t/**\n\t * Defines the minimum value of the scale.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tmin = 0;\n\n\t/**\n\t * Defines the maximum value of the scale.\n\t * @default 100\n\t * @private\n\t */\n\t@property({ type: Number })\n\tmax = 100;\n\n\t/**\n\t * Defines the step value for tickmarks.\n\t * @default 1\n\t * @private\n\t */\n\t@property({ type: Number })\n\tstep = 1;\n\n\t/**\n\t * Determines whether tickmarks should be displayed.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tshowTickmarks = false;\n\n\t/**\n\t * Defines the orientation of the scale.\n\t * @default \"Horizontal\"\n\t * @private\n\t */\n\t@property()\n\torientation: `${SliderScaleOrientation}` = \"Horizontal\";\n\n\t/**\n\t * Defines custom tickmarks to be displayed on the scale.\n\t * @default []\n\t * @private\n\t */\n\t@property({ type: Array })\n\ttickmarks: Array<Tickmark> = [];\n\n\t/**\n\t * Defines the interval for displaying labels on tickmarks.\n\t * @default 0\n\t * @private\n\t */\n\t@property({ type: Number })\n\tlabelInterval = 0;\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Number })\n\t_labelInterval = 1;\n\n\t@property({ type: Boolean })\n\t_labelsOverlapping = false;\n\n\t@property({ type: Boolean })\n\t_hiddenTickmarks = false;\n\n\t_resizeHandler: ResizeObserverCallback;\n\t_notResized = true;\n\n\t/**\n\t * Defines the component items.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\t\"default\": true,\n\t})\n\thandles!: Array<SliderHandle>;\n\n\tstatic get MIN_LABEL_DISTANCE() {\n\t\treturn 16;\n\t}\n\n\tstatic get MIN_SPACE_BETWEEN_TICKMARKS() {\n\t\treturn 8;\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\t\tthis._resizeHandler = this._handleResize.bind(this);\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._resizeHandler);\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this._resizeHandler);\n\t}\n\n\tonAfterRendering() {\n\t\tif (this._notResized) {\n\t\t\tthis._handleResize();\n\t\t}\n\t}\n\n\t/**\n\t * Handle the responsiveness of the SliderScale's UI elements when resizing\n\t * @private\n\t */\n\t_handleResize() {\n\t\tif (!this.showTickmarks) {\n\t\t\tthis._hiddenTickmarks = false;\n\t\t\tthis._labelsOverlapping = false;\n\t\t\treturn;\n\t\t}\n\n\t\t// Mark resizing to avoid unnecessary calls to that function after rendering\n\t\tthis._notResized = false;\n\n\t\tconst containerSize = this.orientation === SliderScaleOrientation.Horizontal\n\t\t\t? this.getBoundingClientRect().width\n\t\t\t: this.getBoundingClientRect().height;\n\n\t\tconst tickmarksCount = this._tickmarksCount;\n\n\t\t// Check if tickmarks should be hidden due to insufficient space\n\t\tif (tickmarksCount > 1) {\n\t\t\tconst spaceBetweenTickmarks = containerSize / tickmarksCount;\n\t\t\tthis._hiddenTickmarks = spaceBetweenTickmarks < SliderScale.MIN_SPACE_BETWEEN_TICKMARKS;\n\t\t} else {\n\t\t\tthis._hiddenTickmarks = false;\n\t\t}\n\n\t\t// Check if labels should be hidden due to insufficient space or overlapping\n\t\tif (this.labelInterval <= 0 || this._hiddenTickmarks) {\n\t\t\tthis._labelsOverlapping = true;\n\t\t} else {\n\t\t\t// Calculate if labels would overlap based on their estimated width\n\t\t\tconst visibleLabelCount = Math.ceil((tickmarksCount - 1) / this.labelInterval) + 1;\n\t\t\tconst estimatedLabelWidth = 32; // Estimated width in pixels for a label (2rem = ~32px)\n\t\t\tconst requiredWidth = visibleLabelCount * estimatedLabelWidth;\n\t\t\tthis._labelsOverlapping = containerSize < requiredWidth;\n\t\t}\n\t}\n\n\t/**\n\t * Calculates space between tickmarks\n\t * @private\n\t */\n\t_spaceBetweenTickmarks() {\n\t\tconst tickmarksCount = this._tickmarksCount;\n\t\tif (tickmarksCount <= 1) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst containerSize = this.orientation === SliderScaleOrientation.Horizontal\n\t\t\t? this.getBoundingClientRect().width\n\t\t\t: this.getBoundingClientRect().height;\n\n\t\treturn containerSize / tickmarksCount;\n\t}\n\n\tget _tickmarksCount() {\n\t\tif (this.step === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\treturn (this.max - this.min) / this.step;\n\t}\n\n\tget _visibleLabels() {\n\t\treturn this._tickmarks.filter(tick => tick.showLabel);\n\t}\n\n\tget _progressStyle() {\n\t\tconst range = this.max - this.min;\n\t\t// Clamp startValue and endValue to be within min/max bounds\n\t\tconst clampedStartValue = Math.max(this.min, Math.min(this.startValue, this.max));\n\t\tconst clampedEndValue = Math.max(this.min, Math.min(this.endValue, this.max));\n\n\t\tconst start = ((clampedStartValue - this.min) / range) * 100;\n\t\tconst end = ((clampedEndValue - this.min) / range) * 100;\n\n\t\tif (this.orientation === SliderScaleOrientation.Vertical) {\n\t\t\treturn {\n\t\t\t\ttop: \"auto\",\n\t\t\t\tbottom: `${start}%`,\n\t\t\t\theight: `${end - start}%`,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tinsetInlineStart: `${start}%`,\n\t\t\twidth: `${end - start}%`,\n\t\t};\n\t}\n\n\tget _allTickmarks() {\n\t\t// If custom tickmarks are provided, use them\n\t\tif (this.tickmarks.length > 0) {\n\t\t\treturn this.tickmarks;\n\t\t}\n\n\t\t// Otherwise, generate tickmarks based on step\n\t\tif (!this.showTickmarks) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif (this.step === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst values = [];\n\t\tfor (let value = this.min; value <= this.max; value += this.step) {\n\t\t\tvalues.push({ value });\n\t\t}\n\t\treturn values;\n\t}\n\n\tget _tickmarks() {\n\t\tconst allTickmarks = this._allTickmarks;\n\t\tconst stepPrecision = SliderBase._getDecimalPrecisionOfNumber(this.step);\n\t\tconst formatLabelPrecision = stepPrecision > 0 ? stepPrecision : 0;\n\n\t\tif (allTickmarks.length === 0) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn allTickmarks.map((tm, index) => {\n\t\t\tconst value = tm.value;\n\t\t\tconst isFirstOrLast = index === 0 || index === allTickmarks.length - 1;\n\t\t\tconst position = ((value - this.min) / (this.max - this.min)) * 100;\n\n\t\t\t// Determine if this tickmark should be visible\n\t\t\tconst shouldShowTickmark = this._hiddenTickmarks ? isFirstOrLast : true;\n\n\t\t\t// Determine if the label should be visible\n\t\t\tlet showLabel = false;\n\t\t\tif (shouldShowTickmark && !this._labelsOverlapping) {\n\t\t\t\tif (this.labelInterval > 0) {\n\t\t\t\t\tshowLabel = index % this.labelInterval === 0;\n\t\t\t\t} else {\n\t\t\t\t\tshowLabel = true;\n\t\t\t\t}\n\t\t\t} else if (shouldShowTickmark && this._labelsOverlapping && this.labelInterval > 0) {\n\t\t\t\t// When labels overlap, only show first and last\n\t\t\t\tshowLabel = isFirstOrLast;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tvalue,\n\t\t\t\tlabel: tm.label || value.toFixed(formatLabelPrecision),\n\t\t\t\tisInRange: value >= this.startValue && value <= this.endValue,\n\t\t\t\tposition,\n\t\t\t\tshowLabel,\n\t\t\t\tvisible: shouldShowTickmark,\n\t\t\t};\n\t\t}).filter(tick => tick.visible);\n\t}\n}\n\nSliderScale.define();\n\nexport default SliderScale;\nexport { SliderScaleOrientation };\nexport type { Tickmark };\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
export default function SliderScaleTemplate() {
|
|
3
|
+
return (_jsxs("div", { class: "ui5-slider-scale-root", part: "inner", children: [this._tickmarks.length > 0 && (_jsx("div", { class: "ui5-slider-scale-tickmarks-container", children: this._tickmarks.map(tick => (_jsx("div", { class: {
|
|
4
|
+
"ui5-slider-scale-tickmark": true,
|
|
5
|
+
"ui5-slider-scale-tickmark-in-range": tick.isInRange,
|
|
6
|
+
}, style: {
|
|
7
|
+
insetInlineStart: `${this.orientation === "Horizontal" ? tick.position : "50"}%`,
|
|
8
|
+
bottom: `${this.orientation === "Vertical" ? tick.position : "auto"}%`
|
|
9
|
+
}, children: tick.label && tick.showLabel && (_jsx("span", { class: "ui5-slider-scale-tickmark-label", children: tick.label })) }))) })), _jsx("div", { class: "ui5-slider-scale-progress", part: "progress", style: this._progressStyle }), _jsx("slot", {})] }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=SliderScaleTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderScaleTemplate.js","sourceRoot":"","sources":["../src/SliderScaleTemplate.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,OAAO,UAAU,mBAAmB;IAC1C,OAAO,CACN,eAAK,KAAK,EAAC,uBAAuB,EAAC,IAAI,EAAC,OAAO,aAC7C,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAC9B,cAAK,KAAK,EAAC,sCAAsC,YAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC5B,cACC,KAAK,EAAE;wBACN,2BAA2B,EAAE,IAAI;wBACjC,oCAAoC,EAAE,IAAI,CAAC,SAAS;qBACpD,EACD,KAAK,EAAE;wBACN,gBAAgB,EAAE,GAAG,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG;wBAChF,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,GAAG;qBACtE,YAEA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,CAChC,eAAM,KAAK,EAAC,iCAAiC,YAC3C,IAAI,CAAC,KAAK,GACL,CACP,GACI,CACN,CAAC,GACG,CACN,EACD,cAAK,KAAK,EAAC,2BAA2B,EAAC,IAAI,EAAC,UAAU,EAAC,KAAK,EAAE,IAAI,CAAC,cAAc,GAAQ,EACzF,gBAAa,IACR,CACN,CAAC;AACH,CAAC","sourcesContent":["import type SliderScale from \"./SliderScale.js\";\n\nexport default function SliderScaleTemplate(this: SliderScale) {\n\treturn (\n\t\t<div class=\"ui5-slider-scale-root\" part=\"inner\">\n\t\t\t{this._tickmarks.length > 0 && (\n\t\t\t\t<div class=\"ui5-slider-scale-tickmarks-container\">\n\t\t\t\t\t{this._tickmarks.map(tick => (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={{\n\t\t\t\t\t\t\t\t\"ui5-slider-scale-tickmark\": true,\n\t\t\t\t\t\t\t\t\"ui5-slider-scale-tickmark-in-range\": tick.isInRange,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\tinsetInlineStart: `${this.orientation === \"Horizontal\" ? tick.position : \"50\"}%`,\n\t\t\t\t\t\t\t\tbottom: `${this.orientation === \"Vertical\" ? tick.position : \"auto\"}%`\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{tick.label && tick.showLabel && (\n\t\t\t\t\t\t\t\t<span class=\"ui5-slider-scale-tickmark-label\">\n\t\t\t\t\t\t\t\t\t{tick.label}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t<div class=\"ui5-slider-scale-progress\" part=\"progress\" style={this._progressStyle}></div>\n\t\t\t<slot></slot>\n\t\t</div>\n\t);\n}\n"]}
|
package/dist/SliderTemplate.d.ts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
1
|
import type Slider from "./Slider.js";
|
|
2
2
|
export default function SliderTemplate(this: Slider): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
|
|
3
|
-
export declare function progressBar(this: Slider): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
|
|
4
|
-
export declare function handles(this: Slider): import("@ui5/webcomponents-base/jsx-runtime").JSX.Element;
|