@limetech/lime-elements 34.0.2-next.9 → 34.1.0-next.12
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/dist/cjs/{_arrayIncludesWith-d69e30af.js → _arrayIncludesWith-36a6fafb.js} +7 -6
- package/dist/cjs/{_assignValue-493aac17.js → _assignValue-c9fc3712.js} +2 -2
- package/dist/cjs/{_defineProperty-c081d04c.js → _defineProperty-8351e789.js} +4 -3
- package/dist/cjs/eq-9a943b00.js +75 -0
- package/dist/cjs/{isArrayLike-2bebb99c.js → isArrayLike-ac53bdac.js} +1 -30
- package/dist/cjs/{isEqual-1ce0c121.js → isEqual-e3b9c27c.js} +21 -19
- package/dist/cjs/{eq-3b43a5ca.js → isObject-e28b7997.js} +0 -71
- package/dist/cjs/isObjectLike-3e3f0cba.js +31 -0
- package/dist/cjs/{isSymbol-4666002c.js → isSymbol-d22b2798.js} +3 -3
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-color-picker-palette_2.cjs.entry.js +188 -0
- package/dist/cjs/limel-color-picker.cjs.entry.js +51 -0
- package/dist/cjs/{limel-flatpickr-adapter_2.cjs.entry.js → limel-flatpickr-adapter.cjs.entry.js} +8 -801
- package/dist/cjs/limel-form.cjs.entry.js +23 -16
- package/dist/cjs/limel-input-field.cjs.entry.js +713 -0
- package/dist/cjs/limel-list_3.cjs.entry.js +2414 -0
- package/dist/cjs/limel-menu.cjs.entry.js +5 -4
- package/dist/cjs/limel-picker.cjs.entry.js +5 -1
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/limel-progress-flow.cjs.entry.js +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js +96 -13
- package/dist/cjs/limel-tab-bar.cjs.entry.js +7 -5
- package/dist/cjs/limel-table.cjs.entry.js +9 -7
- package/dist/cjs/{limel-tooltip.cjs.entry.js → limel-tooltip_2.cjs.entry.js} +16 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{pickBy-64252559.js → pickBy-88b0430a.js} +10 -10
- package/dist/cjs/toNumber-062ea29c.js +99 -0
- package/dist/cjs/{zipObject-2f430e94.js → zipObject-4050a45f.js} +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/color-picker/color-picker-palette.css +1231 -0
- package/dist/collection/components/color-picker/color-picker-palette.js +135 -0
- package/dist/collection/components/color-picker/color-picker.css +100 -0
- package/dist/collection/components/color-picker/color-picker.js +189 -0
- package/dist/collection/components/color-picker/swatches.js +29 -0
- package/dist/collection/components/form/form.css +4 -0
- package/dist/collection/components/form/form.js +23 -0
- package/dist/collection/components/form/templates/array-field-collapsible-item.js +1 -1
- package/dist/collection/components/form/templates/array-field.js +2 -2
- package/dist/collection/components/list/list.css +2 -1
- package/dist/collection/components/list/list.js +1 -0
- package/dist/collection/components/picker/picker.js +23 -1
- package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +7 -5
- package/dist/collection/components/progress-flow/progress-flow.css +0 -4
- package/dist/collection/components/slider/slider.js +96 -13
- package/dist/esm/{_arrayIncludesWith-3f5ce249.js → _arrayIncludesWith-b5d3fd9e.js} +5 -4
- package/dist/esm/{_assignValue-94fb6adc.js → _assignValue-08fe10bc.js} +2 -2
- package/dist/esm/{_defineProperty-cbf98a2a.js → _defineProperty-8c869077.js} +2 -1
- package/dist/esm/eq-c1c7f528.js +72 -0
- package/dist/esm/{isArrayLike-14db8f02.js → isArrayLike-dd37ba9a.js} +2 -30
- package/dist/esm/{isEqual-4d982635.js → isEqual-4f22635f.js} +5 -3
- package/dist/esm/{eq-f40dd1d6.js → isObject-c74e273c.js} +1 -70
- package/dist/esm/isObjectLike-38996507.js +29 -0
- package/dist/esm/{isSymbol-84252d8e.js → isSymbol-5bf20921.js} +2 -2
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-color-picker-palette_2.entry.js +183 -0
- package/dist/esm/limel-color-picker.entry.js +47 -0
- package/dist/esm/{limel-flatpickr-adapter_2.entry.js → limel-flatpickr-adapter.entry.js} +8 -800
- package/dist/esm/limel-form.entry.js +19 -12
- package/dist/esm/limel-input-field.entry.js +709 -0
- package/dist/esm/limel-list_3.entry.js +2408 -0
- package/dist/esm/limel-menu.entry.js +5 -4
- package/dist/esm/limel-picker.entry.js +5 -1
- package/dist/esm/limel-progress-flow-item.entry.js +1 -1
- package/dist/esm/limel-progress-flow.entry.js +1 -1
- package/dist/esm/limel-slider.entry.js +96 -13
- package/dist/esm/limel-tab-bar.entry.js +7 -5
- package/dist/esm/limel-table.entry.js +9 -7
- package/dist/esm/{limel-tooltip.entry.js → limel-tooltip_2.entry.js} +16 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{pickBy-c485c1b5.js → pickBy-8a849e46.js} +5 -5
- package/dist/esm/toNumber-a6ed64f0.js +97 -0
- package/dist/esm/{zipObject-53fcafb3.js → zipObject-22e88ce9.js} +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/p-090bc949.js +1 -0
- package/dist/lime-elements/p-13f0e4f4.entry.js +1 -0
- package/dist/lime-elements/{p-425a0596.js → p-1a64b531.js} +1 -1
- package/dist/lime-elements/p-1cf833c8.entry.js +16 -0
- package/dist/lime-elements/p-365098fe.js +1 -0
- package/dist/lime-elements/p-373cefb7.entry.js +1 -0
- package/dist/lime-elements/p-379955f4.js +1 -0
- package/dist/lime-elements/p-426d11b4.js +1 -0
- package/dist/lime-elements/p-440084ea.js +1 -0
- package/dist/lime-elements/p-468e940e.entry.js +16 -0
- package/dist/lime-elements/p-4bc5d3fc.entry.js +1 -0
- package/dist/lime-elements/p-50132e1d.entry.js +1 -0
- package/dist/lime-elements/p-511d71e0.entry.js +1 -0
- package/dist/lime-elements/p-58cbe99d.entry.js +1 -0
- package/dist/lime-elements/p-7f43b0c4.js +1 -0
- package/dist/lime-elements/p-81258617.entry.js +1 -0
- package/dist/lime-elements/p-858c6b82.js +1 -0
- package/dist/lime-elements/{p-d070f0e7.entry.js → p-a4c532a7.entry.js} +1 -1
- package/dist/lime-elements/{p-7ed4e81f.entry.js → p-bcafdb7a.entry.js} +2 -2
- package/dist/lime-elements/p-c93050d6.js +1 -0
- package/dist/lime-elements/p-d529bb7d.js +1 -0
- package/dist/lime-elements/p-eda23c05.js +1 -0
- package/dist/lime-elements/{p-ff0217b3.entry.js → p-f2c706b8.entry.js} +1 -1
- package/dist/lime-elements/p-f5a3e526.entry.js +1 -0
- package/dist/lime-elements/p-f83213b8.js +1 -0
- package/dist/lime-elements/{p-03c28bee.entry.js → p-fbe6100e.entry.js} +1 -1
- package/dist/types/components/color-picker/color-picker-palette.d.ts +32 -0
- package/dist/types/components/color-picker/color-picker.d.ts +54 -0
- package/dist/types/components/color-picker/swatches.d.ts +4 -0
- package/dist/types/components/form/form.d.ts +4 -0
- package/dist/types/components/form/templates/array-field-collapsible-item.d.ts +1 -1
- package/dist/types/components/picker/picker.d.ts +4 -0
- package/dist/types/components/slider/slider.d.ts +8 -0
- package/dist/types/components.d.ts +130 -0
- package/package.json +1 -1
- package/dist/cjs/limel-list_2.cjs.entry.js +0 -484
- package/dist/cjs/limel-popover.cjs.entry.js +0 -116
- package/dist/cjs/limel-portal.cjs.entry.js +0 -1935
- package/dist/cjs/limel-tooltip-content.cjs.entry.js +0 -22
- package/dist/esm/limel-list_2.entry.js +0 -479
- package/dist/esm/limel-popover.entry.js +0 -112
- package/dist/esm/limel-portal.entry.js +0 -1931
- package/dist/esm/limel-tooltip-content.entry.js +0 -18
- package/dist/lime-elements/p-227d2c5a.entry.js +0 -1
- package/dist/lime-elements/p-33f3e1db.entry.js +0 -16
- package/dist/lime-elements/p-3ce2d46a.js +0 -1
- package/dist/lime-elements/p-77afe6dd.entry.js +0 -1
- package/dist/lime-elements/p-7c4d91f5.js +0 -1
- package/dist/lime-elements/p-845e645a.entry.js +0 -1
- package/dist/lime-elements/p-8bbe3720.js +0 -1
- package/dist/lime-elements/p-8d1ab246.entry.js +0 -1
- package/dist/lime-elements/p-8e4ff107.js +0 -1
- package/dist/lime-elements/p-acfbf7ac.js +0 -1
- package/dist/lime-elements/p-bbc1bb01.entry.js +0 -1
- package/dist/lime-elements/p-c0765c9b.js +0 -1
- package/dist/lime-elements/p-e28a4246.entry.js +0 -1
- package/dist/lime-elements/p-e5738ec6.entry.js +0 -1
- package/dist/lime-elements/p-ee7355e7.js +0 -1
- package/dist/lime-elements/p-f4495f59.entry.js +0 -1
- package/dist/lime-elements/p-fbe32287.entry.js +0 -16
- package/dist/lime-elements/p-fc610f15.js +0 -1
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { Component, h, Prop, Event } from '@stencil/core';
|
|
2
|
+
import { brightnesses, colors, getColorName, getCssColor } from './swatches';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
6
|
+
export class Palette {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.renderSwatches = () => {
|
|
9
|
+
return colors.map((color) => {
|
|
10
|
+
return brightnesses.map(this.renderSwatch(color));
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
this.renderSwatch = (color) => (brightness) => {
|
|
14
|
+
const colorName = getColorName(color, brightness);
|
|
15
|
+
const classList = {
|
|
16
|
+
swatch: true,
|
|
17
|
+
[colorName]: true,
|
|
18
|
+
'swatch--selected': this.value === getCssColor(color, brightness),
|
|
19
|
+
};
|
|
20
|
+
return (h("div", { class: classList, onClick: this.handleClick(color, brightness), tabindex: "0" }));
|
|
21
|
+
};
|
|
22
|
+
this.handleChange = (event) => {
|
|
23
|
+
event.stopPropagation();
|
|
24
|
+
this.change.emit(event.detail);
|
|
25
|
+
};
|
|
26
|
+
this.handleClick = (color, brightness) => (event) => {
|
|
27
|
+
const value = getCssColor(color, brightness);
|
|
28
|
+
event.stopPropagation();
|
|
29
|
+
this.change.emit(value);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
render() {
|
|
33
|
+
const background = this.value ? { '--background': this.value } : {};
|
|
34
|
+
return [
|
|
35
|
+
h("div", { class: "color-picker-palette" }, this.renderSwatches()),
|
|
36
|
+
h("div", { class: "chosen-color-name" },
|
|
37
|
+
h("limel-input-field", { label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required }),
|
|
38
|
+
h("div", { class: "chosen-color-preview", style: background })),
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
static get is() { return "limel-color-picker-palette"; }
|
|
42
|
+
static get encapsulation() { return "shadow"; }
|
|
43
|
+
static get originalStyleUrls() { return {
|
|
44
|
+
"$": ["color-picker-palette.scss"]
|
|
45
|
+
}; }
|
|
46
|
+
static get styleUrls() { return {
|
|
47
|
+
"$": ["color-picker-palette.css"]
|
|
48
|
+
}; }
|
|
49
|
+
static get properties() { return {
|
|
50
|
+
"value": {
|
|
51
|
+
"type": "string",
|
|
52
|
+
"mutable": false,
|
|
53
|
+
"complexType": {
|
|
54
|
+
"original": "string",
|
|
55
|
+
"resolved": "string",
|
|
56
|
+
"references": {}
|
|
57
|
+
},
|
|
58
|
+
"required": false,
|
|
59
|
+
"optional": false,
|
|
60
|
+
"docs": {
|
|
61
|
+
"tags": [],
|
|
62
|
+
"text": "Color value that is manually typed by the user"
|
|
63
|
+
},
|
|
64
|
+
"attribute": "value",
|
|
65
|
+
"reflect": true
|
|
66
|
+
},
|
|
67
|
+
"label": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"mutable": false,
|
|
70
|
+
"complexType": {
|
|
71
|
+
"original": "string",
|
|
72
|
+
"resolved": "string",
|
|
73
|
+
"references": {}
|
|
74
|
+
},
|
|
75
|
+
"required": false,
|
|
76
|
+
"optional": false,
|
|
77
|
+
"docs": {
|
|
78
|
+
"tags": [],
|
|
79
|
+
"text": "Label of the input field"
|
|
80
|
+
},
|
|
81
|
+
"attribute": "label",
|
|
82
|
+
"reflect": true
|
|
83
|
+
},
|
|
84
|
+
"helperText": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"mutable": false,
|
|
87
|
+
"complexType": {
|
|
88
|
+
"original": "string",
|
|
89
|
+
"resolved": "string",
|
|
90
|
+
"references": {}
|
|
91
|
+
},
|
|
92
|
+
"required": false,
|
|
93
|
+
"optional": false,
|
|
94
|
+
"docs": {
|
|
95
|
+
"tags": [],
|
|
96
|
+
"text": "Helper text of the input field"
|
|
97
|
+
},
|
|
98
|
+
"attribute": "helper-text",
|
|
99
|
+
"reflect": true
|
|
100
|
+
},
|
|
101
|
+
"required": {
|
|
102
|
+
"type": "boolean",
|
|
103
|
+
"mutable": false,
|
|
104
|
+
"complexType": {
|
|
105
|
+
"original": "boolean",
|
|
106
|
+
"resolved": "boolean",
|
|
107
|
+
"references": {}
|
|
108
|
+
},
|
|
109
|
+
"required": false,
|
|
110
|
+
"optional": false,
|
|
111
|
+
"docs": {
|
|
112
|
+
"tags": [],
|
|
113
|
+
"text": "Set to `true` if a value is required"
|
|
114
|
+
},
|
|
115
|
+
"attribute": "required",
|
|
116
|
+
"reflect": true
|
|
117
|
+
}
|
|
118
|
+
}; }
|
|
119
|
+
static get events() { return [{
|
|
120
|
+
"method": "change",
|
|
121
|
+
"name": "change",
|
|
122
|
+
"bubbles": true,
|
|
123
|
+
"cancelable": true,
|
|
124
|
+
"composed": true,
|
|
125
|
+
"docs": {
|
|
126
|
+
"tags": [],
|
|
127
|
+
"text": "Emits chosen value to the parent component"
|
|
128
|
+
},
|
|
129
|
+
"complexType": {
|
|
130
|
+
"original": "string",
|
|
131
|
+
"resolved": "string",
|
|
132
|
+
"references": {}
|
|
133
|
+
}
|
|
134
|
+
}]; }
|
|
135
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is imported into every component!
|
|
3
|
+
*
|
|
4
|
+
* Nothing in this file may output any CSS
|
|
5
|
+
* without being explicitly called by outside code.
|
|
6
|
+
*/
|
|
7
|
+
.picker-trigger[style="--background:lime-blue;"]:after,
|
|
8
|
+
.chosen-color-preview[style="--background:lime-blue;"]:after {
|
|
9
|
+
background-color: var(--lime-blue);
|
|
10
|
+
}
|
|
11
|
+
.picker-trigger[style="--background:lime-orange;"]:after,
|
|
12
|
+
.chosen-color-preview[style="--background:lime-orange;"]:after {
|
|
13
|
+
background-color: var(--lime-orange);
|
|
14
|
+
}
|
|
15
|
+
.picker-trigger[style="--background:lime-green;"]:after,
|
|
16
|
+
.chosen-color-preview[style="--background:lime-green;"]:after {
|
|
17
|
+
background-color: var(--lime-green);
|
|
18
|
+
}
|
|
19
|
+
.picker-trigger[style="--background:lime-red;"]:after,
|
|
20
|
+
.chosen-color-preview[style="--background:lime-red;"]:after {
|
|
21
|
+
background-color: var(--lime-red);
|
|
22
|
+
}
|
|
23
|
+
.picker-trigger[style="--background:lime-dark-blue;"]:after,
|
|
24
|
+
.chosen-color-preview[style="--background:lime-dark-blue;"]:after {
|
|
25
|
+
background-color: var(--lime-dark-blue);
|
|
26
|
+
}
|
|
27
|
+
.picker-trigger[style="--background:lime-turquoise;"]:after,
|
|
28
|
+
.chosen-color-preview[style="--background:lime-turquoise;"]:after {
|
|
29
|
+
background-color: var(--lime-turquoise);
|
|
30
|
+
}
|
|
31
|
+
.picker-trigger[style="--background:lime-yellow;"]:after,
|
|
32
|
+
.chosen-color-preview[style="--background:lime-yellow;"]:after {
|
|
33
|
+
background-color: var(--lime-yellow);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
:host {
|
|
37
|
+
--popover-surface-width: 50rem;
|
|
38
|
+
--color-picker-default-background: url("data:image/svg+xml;charset=utf-8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' style='fill-rule:evenodd;'><path fill-opacity='0.1' d='M0 0h4v4H0zM4 4h4v4H4z'/></svg>");
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.color-picker {
|
|
42
|
+
display: grid;
|
|
43
|
+
gap: 0.5rem;
|
|
44
|
+
grid-template-columns: auto 1fr;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.chosen-color-preview,
|
|
48
|
+
.picker-trigger {
|
|
49
|
+
box-sizing: border-box;
|
|
50
|
+
position: relative;
|
|
51
|
+
isolation: isolate;
|
|
52
|
+
width: 3.5rem;
|
|
53
|
+
height: 3.5rem;
|
|
54
|
+
}
|
|
55
|
+
.chosen-color-preview:before, .chosen-color-preview:after,
|
|
56
|
+
.picker-trigger:before,
|
|
57
|
+
.picker-trigger:after {
|
|
58
|
+
content: "";
|
|
59
|
+
position: absolute;
|
|
60
|
+
inset: 0;
|
|
61
|
+
border-radius: inherit;
|
|
62
|
+
}
|
|
63
|
+
.chosen-color-preview:before,
|
|
64
|
+
.picker-trigger:before {
|
|
65
|
+
background: var(--color-picker-default-background);
|
|
66
|
+
background-size: 0.5rem;
|
|
67
|
+
z-index: 0;
|
|
68
|
+
}
|
|
69
|
+
.chosen-color-preview:after,
|
|
70
|
+
.picker-trigger:after {
|
|
71
|
+
background: var(--background);
|
|
72
|
+
z-index: 1;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.picker-trigger {
|
|
76
|
+
border-radius: 0.5rem;
|
|
77
|
+
cursor: pointer;
|
|
78
|
+
transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
79
|
+
box-shadow: var(--button-shadow-normal);
|
|
80
|
+
}
|
|
81
|
+
.picker-trigger:hover {
|
|
82
|
+
box-shadow: var(--button-shadow-hovered);
|
|
83
|
+
}
|
|
84
|
+
.picker-trigger:active {
|
|
85
|
+
box-shadow: var(--button-shadow-pressed);
|
|
86
|
+
transform: translate3d(0, 0.08rem, 0);
|
|
87
|
+
}
|
|
88
|
+
.picker-trigger:after {
|
|
89
|
+
box-shadow: 0 0 0 0.25rem rgb(var(--contrast-100)) inset;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
:host([readonly]) .picker-trigger:hover, :host([readonly]) .picker-trigger:active {
|
|
93
|
+
cursor: default;
|
|
94
|
+
box-shadow: var(--button-shadow-normal);
|
|
95
|
+
transform: none;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.chosen-color-input[readonly] {
|
|
99
|
+
transform: translateY(1rem);
|
|
100
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/* eslint-disable multiline-ternary */
|
|
2
|
+
import { Component, h, Prop, State, Event } from '@stencil/core';
|
|
3
|
+
/**
|
|
4
|
+
* This component enables you to select a swatch from out color palette, simply
|
|
5
|
+
* by clicking on it. You can then copy the css variable name of the chosen color
|
|
6
|
+
* and use it where desired.
|
|
7
|
+
*
|
|
8
|
+
* The color picker can also show you a preview of any valid color name or color value.
|
|
9
|
+
*
|
|
10
|
+
* :::note
|
|
11
|
+
* Make sure to read our [guidelines about usage of colors](/#/DesignGuidelines/color-system.md/) from our palette.
|
|
12
|
+
* :::
|
|
13
|
+
*
|
|
14
|
+
* @exampleComponent limel-example-color-picker
|
|
15
|
+
* @exampleComponent limel-example-color-picker-readonly
|
|
16
|
+
*/
|
|
17
|
+
export class ColorPicker {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.isOpen = false;
|
|
20
|
+
this.renderTooltip = () => {
|
|
21
|
+
if (!this.readonly && this.tooltipLabel) {
|
|
22
|
+
return (h("limel-tooltip", { label: this.tooltipLabel, elementId: "tooltip-button" }));
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
this.renderPickerPalette = () => {
|
|
26
|
+
if (this.readonly) {
|
|
27
|
+
return this.renderPickerTrigger();
|
|
28
|
+
}
|
|
29
|
+
return (h("limel-popover", { open: this.isOpen, onClose: this.onPopoverClose },
|
|
30
|
+
this.renderPickerTrigger(),
|
|
31
|
+
h("limel-color-picker-palette", { value: this.value, label: this.label, helperText: this.helperText, onChange: this.handleChange, required: this.required })));
|
|
32
|
+
};
|
|
33
|
+
this.renderPickerTrigger = () => {
|
|
34
|
+
const background = this.value ? { '--background': this.value } : {};
|
|
35
|
+
return (h("div", { class: "picker-trigger", slot: "trigger", style: background, role: "button", tabindex: "0", onClick: this.openPopover, id: "tooltip-button" }));
|
|
36
|
+
};
|
|
37
|
+
this.openPopover = (event) => {
|
|
38
|
+
event.stopPropagation();
|
|
39
|
+
this.isOpen = true;
|
|
40
|
+
};
|
|
41
|
+
this.onPopoverClose = (event) => {
|
|
42
|
+
event.stopPropagation();
|
|
43
|
+
this.isOpen = false;
|
|
44
|
+
};
|
|
45
|
+
this.handleChange = (event) => {
|
|
46
|
+
event.stopPropagation();
|
|
47
|
+
this.change.emit(event.detail);
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
render() {
|
|
51
|
+
return [
|
|
52
|
+
this.renderTooltip(),
|
|
53
|
+
h("div", { class: "color-picker" },
|
|
54
|
+
this.renderPickerPalette(),
|
|
55
|
+
h("limel-input-field", { label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required, readonly: this.readonly, class: "chosen-color-input" })),
|
|
56
|
+
];
|
|
57
|
+
}
|
|
58
|
+
static get is() { return "limel-color-picker"; }
|
|
59
|
+
static get encapsulation() { return "shadow"; }
|
|
60
|
+
static get originalStyleUrls() { return {
|
|
61
|
+
"$": ["color-picker.scss"]
|
|
62
|
+
}; }
|
|
63
|
+
static get styleUrls() { return {
|
|
64
|
+
"$": ["color-picker.css"]
|
|
65
|
+
}; }
|
|
66
|
+
static get properties() { return {
|
|
67
|
+
"value": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"mutable": false,
|
|
70
|
+
"complexType": {
|
|
71
|
+
"original": "string",
|
|
72
|
+
"resolved": "string",
|
|
73
|
+
"references": {}
|
|
74
|
+
},
|
|
75
|
+
"required": false,
|
|
76
|
+
"optional": false,
|
|
77
|
+
"docs": {
|
|
78
|
+
"tags": [],
|
|
79
|
+
"text": "Name or code of the chosen color"
|
|
80
|
+
},
|
|
81
|
+
"attribute": "value",
|
|
82
|
+
"reflect": true
|
|
83
|
+
},
|
|
84
|
+
"label": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"mutable": false,
|
|
87
|
+
"complexType": {
|
|
88
|
+
"original": "string",
|
|
89
|
+
"resolved": "string",
|
|
90
|
+
"references": {}
|
|
91
|
+
},
|
|
92
|
+
"required": false,
|
|
93
|
+
"optional": false,
|
|
94
|
+
"docs": {
|
|
95
|
+
"tags": [],
|
|
96
|
+
"text": "The label of the input field"
|
|
97
|
+
},
|
|
98
|
+
"attribute": "label",
|
|
99
|
+
"reflect": true
|
|
100
|
+
},
|
|
101
|
+
"helperText": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"mutable": false,
|
|
104
|
+
"complexType": {
|
|
105
|
+
"original": "string",
|
|
106
|
+
"resolved": "string",
|
|
107
|
+
"references": {}
|
|
108
|
+
},
|
|
109
|
+
"required": false,
|
|
110
|
+
"optional": false,
|
|
111
|
+
"docs": {
|
|
112
|
+
"tags": [],
|
|
113
|
+
"text": "Helper text of the input field"
|
|
114
|
+
},
|
|
115
|
+
"attribute": "helper-text",
|
|
116
|
+
"reflect": true
|
|
117
|
+
},
|
|
118
|
+
"tooltipLabel": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"mutable": false,
|
|
121
|
+
"complexType": {
|
|
122
|
+
"original": "string",
|
|
123
|
+
"resolved": "string",
|
|
124
|
+
"references": {}
|
|
125
|
+
},
|
|
126
|
+
"required": false,
|
|
127
|
+
"optional": false,
|
|
128
|
+
"docs": {
|
|
129
|
+
"tags": [],
|
|
130
|
+
"text": "Displayed as tooltips when picker is hovered."
|
|
131
|
+
},
|
|
132
|
+
"attribute": "tooltip-label",
|
|
133
|
+
"reflect": true
|
|
134
|
+
},
|
|
135
|
+
"required": {
|
|
136
|
+
"type": "boolean",
|
|
137
|
+
"mutable": false,
|
|
138
|
+
"complexType": {
|
|
139
|
+
"original": "boolean",
|
|
140
|
+
"resolved": "boolean",
|
|
141
|
+
"references": {}
|
|
142
|
+
},
|
|
143
|
+
"required": false,
|
|
144
|
+
"optional": false,
|
|
145
|
+
"docs": {
|
|
146
|
+
"tags": [],
|
|
147
|
+
"text": "Set to `true` if a value is required"
|
|
148
|
+
},
|
|
149
|
+
"attribute": "required",
|
|
150
|
+
"reflect": true
|
|
151
|
+
},
|
|
152
|
+
"readonly": {
|
|
153
|
+
"type": "boolean",
|
|
154
|
+
"mutable": false,
|
|
155
|
+
"complexType": {
|
|
156
|
+
"original": "boolean",
|
|
157
|
+
"resolved": "boolean",
|
|
158
|
+
"references": {}
|
|
159
|
+
},
|
|
160
|
+
"required": false,
|
|
161
|
+
"optional": false,
|
|
162
|
+
"docs": {
|
|
163
|
+
"tags": [],
|
|
164
|
+
"text": "Set to `true` if a value is readonly. This makes the component un-interactive."
|
|
165
|
+
},
|
|
166
|
+
"attribute": "readonly",
|
|
167
|
+
"reflect": true
|
|
168
|
+
}
|
|
169
|
+
}; }
|
|
170
|
+
static get states() { return {
|
|
171
|
+
"isOpen": {}
|
|
172
|
+
}; }
|
|
173
|
+
static get events() { return [{
|
|
174
|
+
"method": "change",
|
|
175
|
+
"name": "change",
|
|
176
|
+
"bubbles": true,
|
|
177
|
+
"cancelable": true,
|
|
178
|
+
"composed": true,
|
|
179
|
+
"docs": {
|
|
180
|
+
"tags": [],
|
|
181
|
+
"text": "Emits chosen value to the parent component"
|
|
182
|
+
},
|
|
183
|
+
"complexType": {
|
|
184
|
+
"original": "string",
|
|
185
|
+
"resolved": "string",
|
|
186
|
+
"references": {}
|
|
187
|
+
}
|
|
188
|
+
}]; }
|
|
189
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export const colors = [
|
|
2
|
+
'red',
|
|
3
|
+
'pink',
|
|
4
|
+
'magenta',
|
|
5
|
+
'purple',
|
|
6
|
+
'violet',
|
|
7
|
+
'indigo',
|
|
8
|
+
'blue',
|
|
9
|
+
'sky',
|
|
10
|
+
'cyan',
|
|
11
|
+
'teal',
|
|
12
|
+
'green',
|
|
13
|
+
'lime',
|
|
14
|
+
'grass',
|
|
15
|
+
'yellow',
|
|
16
|
+
'amber',
|
|
17
|
+
'orange',
|
|
18
|
+
'coral',
|
|
19
|
+
'brown',
|
|
20
|
+
'gray',
|
|
21
|
+
'glaucous',
|
|
22
|
+
];
|
|
23
|
+
export const brightnesses = ['lighter', 'light', 'default', 'dark', 'darker'];
|
|
24
|
+
export function getColorName(color, brightness) {
|
|
25
|
+
return `--color-${color}-${brightness}`;
|
|
26
|
+
}
|
|
27
|
+
export function getCssColor(color, brightness) {
|
|
28
|
+
return `rgb(var(${getColorName(color, brightness)}))`;
|
|
29
|
+
}
|
|
@@ -27,6 +27,10 @@ export class Form {
|
|
|
27
27
|
* The schema used to render the form
|
|
28
28
|
*/
|
|
29
29
|
this.schema = {};
|
|
30
|
+
/**
|
|
31
|
+
* Set to `true` to disable the whole form.
|
|
32
|
+
*/
|
|
33
|
+
this.disabled = false;
|
|
30
34
|
this.isValid = true;
|
|
31
35
|
this.handleChange = this.handleChange.bind(this);
|
|
32
36
|
}
|
|
@@ -73,6 +77,7 @@ export class Form {
|
|
|
73
77
|
FieldTemplate: FieldTemplate,
|
|
74
78
|
ArrayFieldTemplate: ArrayFieldTemplate,
|
|
75
79
|
ObjectFieldTemplate: ObjectFieldTemplate,
|
|
80
|
+
disabled: this.disabled,
|
|
76
81
|
formContext: {
|
|
77
82
|
schema: this.modifiedSchema,
|
|
78
83
|
rootValue: this.value,
|
|
@@ -174,6 +179,24 @@ export class Form {
|
|
|
174
179
|
"text": "Value of the form"
|
|
175
180
|
}
|
|
176
181
|
},
|
|
182
|
+
"disabled": {
|
|
183
|
+
"type": "boolean",
|
|
184
|
+
"mutable": false,
|
|
185
|
+
"complexType": {
|
|
186
|
+
"original": "boolean",
|
|
187
|
+
"resolved": "boolean",
|
|
188
|
+
"references": {}
|
|
189
|
+
},
|
|
190
|
+
"required": false,
|
|
191
|
+
"optional": false,
|
|
192
|
+
"docs": {
|
|
193
|
+
"tags": [],
|
|
194
|
+
"text": "Set to `true` to disable the whole form."
|
|
195
|
+
},
|
|
196
|
+
"attribute": "disabled",
|
|
197
|
+
"reflect": false,
|
|
198
|
+
"defaultValue": "false"
|
|
199
|
+
},
|
|
177
200
|
"propsFactory": {
|
|
178
201
|
"type": "unknown",
|
|
179
202
|
"mutable": false,
|
|
@@ -26,7 +26,7 @@ export class CollapsibleItemTemplate extends React.Component {
|
|
|
26
26
|
const { data, schema, formSchema } = this.props;
|
|
27
27
|
return React.createElement('limel-collapsible-section', {
|
|
28
28
|
header: findTitle(data, schema, formSchema) || 'New item',
|
|
29
|
-
|
|
29
|
+
class: 'limel-form-array-item--object',
|
|
30
30
|
ref: 'section',
|
|
31
31
|
'is-open': this.isOpen,
|
|
32
32
|
}, this.props.item.children);
|
|
@@ -18,9 +18,9 @@ export class ArrayFieldTemplate extends React.Component {
|
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
return React.createElement('limel-button', {
|
|
21
|
-
label: 'Add',
|
|
21
|
+
label: this.props.title || 'Add',
|
|
22
22
|
onClick: this.handleAddClick,
|
|
23
|
-
icon: '
|
|
23
|
+
icon: 'plus_math',
|
|
24
24
|
class: 'button-add-new',
|
|
25
25
|
});
|
|
26
26
|
}
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
* @prop --list-grid-item-min-width: Minimum width of items in a list that has `has-grid-layout` class. Defaults to `7.5rem`.
|
|
69
69
|
* @prop --list-grid-gap: Distance between items in a list that has `has-grid-layout` class. Defaults to `0.75rem`.
|
|
70
70
|
*/
|
|
71
|
-
:host {
|
|
71
|
+
:host(limel-list) {
|
|
72
72
|
display: block;
|
|
73
73
|
}
|
|
74
74
|
|
|
@@ -3061,6 +3061,7 @@ a.mdc-list-item {
|
|
|
3061
3061
|
border-radius: 0.375rem;
|
|
3062
3062
|
}
|
|
3063
3063
|
.mdc-deprecated-list .mdc-deprecated-list-item {
|
|
3064
|
+
box-sizing: border-box;
|
|
3064
3065
|
z-index: 0;
|
|
3065
3066
|
}
|
|
3066
3067
|
.mdc-deprecated-list .mdc-deprecated-list-item.mdc-deprecated-list-item--disabled {
|
|
@@ -53,6 +53,10 @@ export class Picker {
|
|
|
53
53
|
* scrolling.
|
|
54
54
|
*/
|
|
55
55
|
this.actionScrollBehavior = 'sticky';
|
|
56
|
+
/**
|
|
57
|
+
* Whether badge icons should be used in the result list or not
|
|
58
|
+
*/
|
|
59
|
+
this.badgeIcons = true;
|
|
56
60
|
this.textValue = '';
|
|
57
61
|
this.loading = false;
|
|
58
62
|
this.chips = [];
|
|
@@ -232,7 +236,7 @@ export class Picker {
|
|
|
232
236
|
const hasIcons = this.items.some((item) => {
|
|
233
237
|
return 'icon' in item && !!item.icon;
|
|
234
238
|
});
|
|
235
|
-
return (h("limel-list", { badgeIcons: hasIcons, onChange: this.handleListChange, onKeyDown: this.onListKeyDown, type: "selectable", items: this.items }));
|
|
239
|
+
return (h("limel-list", { badgeIcons: hasIcons && this.badgeIcons, onChange: this.handleListChange, onKeyDown: this.onListKeyDown, type: "selectable", items: this.items }));
|
|
236
240
|
}
|
|
237
241
|
onListKeyDown(event) {
|
|
238
242
|
const keyFound = [TAB, ESCAPE, ENTER].includes(event.key);
|
|
@@ -699,6 +703,24 @@ export class Picker {
|
|
|
699
703
|
"attribute": "action-scroll-behavior",
|
|
700
704
|
"reflect": false,
|
|
701
705
|
"defaultValue": "'sticky'"
|
|
706
|
+
},
|
|
707
|
+
"badgeIcons": {
|
|
708
|
+
"type": "boolean",
|
|
709
|
+
"mutable": false,
|
|
710
|
+
"complexType": {
|
|
711
|
+
"original": "boolean",
|
|
712
|
+
"resolved": "boolean",
|
|
713
|
+
"references": {}
|
|
714
|
+
},
|
|
715
|
+
"required": false,
|
|
716
|
+
"optional": false,
|
|
717
|
+
"docs": {
|
|
718
|
+
"tags": [],
|
|
719
|
+
"text": "Whether badge icons should be used in the result list or not"
|
|
720
|
+
},
|
|
721
|
+
"attribute": "badge-icons",
|
|
722
|
+
"reflect": true,
|
|
723
|
+
"defaultValue": "true"
|
|
702
724
|
}
|
|
703
725
|
}; }
|
|
704
726
|
static get states() { return {
|
|
@@ -49,7 +49,10 @@
|
|
|
49
49
|
content: "";
|
|
50
50
|
}
|
|
51
51
|
.flow-item.off-progress-item {
|
|
52
|
-
|
|
52
|
+
padding-left: 0.5rem;
|
|
53
|
+
}
|
|
54
|
+
.flow-item.first-off-progress-item {
|
|
55
|
+
padding-left: 1rem;
|
|
53
56
|
}
|
|
54
57
|
|
|
55
58
|
.step {
|
|
@@ -92,7 +95,6 @@
|
|
|
92
95
|
.off-progress-item .step {
|
|
93
96
|
border-radius: 0.25rem;
|
|
94
97
|
padding: 0 0.75rem;
|
|
95
|
-
margin-left: 0.5rem;
|
|
96
98
|
}
|
|
97
99
|
.off-progress-item .step .icon {
|
|
98
100
|
margin-left: 0;
|
|
@@ -116,8 +118,7 @@
|
|
|
116
118
|
height: var(--step-height);
|
|
117
119
|
position: absolute;
|
|
118
120
|
z-index: 1;
|
|
119
|
-
right:
|
|
120
|
-
transform: translateX(50%);
|
|
121
|
+
right: calc(var(--step-height) / 2 * -1);
|
|
121
122
|
overflow: hidden;
|
|
122
123
|
}
|
|
123
124
|
.divider:after {
|
|
@@ -173,7 +174,8 @@
|
|
|
173
174
|
.last .step:after {
|
|
174
175
|
right: 0.5rem;
|
|
175
176
|
}
|
|
176
|
-
|
|
177
|
+
|
|
178
|
+
.flow-item:not(.off-progress-item) .step.selected:after {
|
|
177
179
|
content: "";
|
|
178
180
|
}
|
|
179
181
|
|