@limetech/lime-elements 34.0.2-next.7 → 34.1.0-next.10
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-code-editor.cjs.entry.js +4 -0
- 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 +25 -19
- 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-select.cjs.entry.js +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js +30 -3
- 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/code-editor/code-editor.js +4 -0
- package/dist/collection/components/color-picker/color-picker-palette.css +1202 -0
- package/dist/collection/components/color-picker/color-picker-palette.js +135 -0
- package/dist/collection/components/color-picker/color-picker.css +71 -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 +7 -3
- 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 +4 -5
- 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/select/select.css +2 -3
- package/dist/collection/components/slider/slider.js +30 -3
- 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-code-editor.entry.js +4 -0
- 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 +21 -15
- 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-select.entry.js +1 -1
- package/dist/esm/limel-slider.entry.js +30 -3
- 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-03c28bee.entry.js → p-23d59a30.entry.js} +1 -1
- package/dist/lime-elements/{p-3525d50c.entry.js → p-279b7599.entry.js} +1 -1
- package/dist/lime-elements/p-327788f3.entry.js +1 -0
- package/dist/lime-elements/p-365098fe.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-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-80622489.entry.js → p-bcafdb7a.entry.js} +2 -2
- package/dist/lime-elements/{p-1d7c7d5e.entry.js → p-c6b97214.entry.js} +1 -1
- package/dist/lime-elements/p-c93050d6.js +1 -0
- package/dist/lime-elements/p-cc154284.entry.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/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.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,71 @@
|
|
|
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
|
+
:host {
|
|
8
|
+
--popover-surface-width: 50rem;
|
|
9
|
+
--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>");
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.color-picker {
|
|
13
|
+
display: grid;
|
|
14
|
+
gap: 0.5rem;
|
|
15
|
+
grid-template-columns: auto 1fr;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.chosen-color-preview,
|
|
19
|
+
.picker-trigger {
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
position: relative;
|
|
22
|
+
isolation: isolate;
|
|
23
|
+
width: 3.5rem;
|
|
24
|
+
height: 3.5rem;
|
|
25
|
+
}
|
|
26
|
+
.chosen-color-preview:before, .chosen-color-preview:after,
|
|
27
|
+
.picker-trigger:before,
|
|
28
|
+
.picker-trigger:after {
|
|
29
|
+
content: "";
|
|
30
|
+
position: absolute;
|
|
31
|
+
inset: 0;
|
|
32
|
+
border-radius: inherit;
|
|
33
|
+
}
|
|
34
|
+
.chosen-color-preview:before,
|
|
35
|
+
.picker-trigger:before {
|
|
36
|
+
background: var(--color-picker-default-background);
|
|
37
|
+
background-size: 0.5rem;
|
|
38
|
+
z-index: 0;
|
|
39
|
+
}
|
|
40
|
+
.chosen-color-preview:after,
|
|
41
|
+
.picker-trigger:after {
|
|
42
|
+
background: var(--background);
|
|
43
|
+
z-index: 1;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.picker-trigger {
|
|
47
|
+
border-radius: 0.5rem;
|
|
48
|
+
cursor: pointer;
|
|
49
|
+
transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
50
|
+
box-shadow: var(--button-shadow-normal);
|
|
51
|
+
}
|
|
52
|
+
.picker-trigger:hover {
|
|
53
|
+
box-shadow: var(--button-shadow-hovered);
|
|
54
|
+
}
|
|
55
|
+
.picker-trigger:active {
|
|
56
|
+
box-shadow: var(--button-shadow-pressed);
|
|
57
|
+
transform: translate3d(0, 0.08rem, 0);
|
|
58
|
+
}
|
|
59
|
+
.picker-trigger:after {
|
|
60
|
+
box-shadow: 0 0 0 0.25rem rgb(var(--contrast-100)) inset;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
:host([readonly]) .picker-trigger:hover, :host([readonly]) .picker-trigger:active {
|
|
64
|
+
cursor: default;
|
|
65
|
+
box-shadow: var(--button-shadow-normal);
|
|
66
|
+
transform: none;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.chosen-color-input[readonly] {
|
|
70
|
+
transform: translateY(1rem);
|
|
71
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -418,6 +418,10 @@
|
|
|
418
418
|
flex-grow: 1;
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
+
.limel-form-array-item--object {
|
|
422
|
+
margin-bottom: 0.25rem;
|
|
423
|
+
}
|
|
424
|
+
|
|
421
425
|
.limel-form-layout--default {
|
|
422
426
|
--gap: 1rem;
|
|
423
427
|
display: grid;
|
|
@@ -495,13 +499,13 @@
|
|
|
495
499
|
grid-column: 1/-1;
|
|
496
500
|
}
|
|
497
501
|
|
|
498
|
-
.form-
|
|
499
|
-
.form-
|
|
502
|
+
.limel-form-layout--grid limel-checkbox,
|
|
503
|
+
.limel-form-layout--grid limel-switch {
|
|
500
504
|
margin-top: 0.5rem;
|
|
501
505
|
display: block;
|
|
502
506
|
min-height: calc( var(--min-height-of-one-row) - 0.9375rem );
|
|
503
507
|
}
|
|
504
|
-
.form-
|
|
508
|
+
.limel-form-layout--grid limel-switch {
|
|
505
509
|
margin-left: 0.5rem;
|
|
506
510
|
}
|
|
507
511
|
|
|
@@ -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,18 +18,17 @@ 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
|
}
|
|
27
27
|
renderItem(item, index) {
|
|
28
|
-
const key = `id_${index}`;
|
|
29
28
|
const { schema, formData, formContext } = this.props;
|
|
30
29
|
if (isObjectType(schema.items)) {
|
|
31
30
|
return React.createElement(CollapsibleItemTemplate, {
|
|
32
|
-
key: key,
|
|
31
|
+
key: item.key,
|
|
33
32
|
item: item,
|
|
34
33
|
data: formData[index],
|
|
35
34
|
schema: schema,
|
|
@@ -38,7 +37,7 @@ export class ArrayFieldTemplate extends React.Component {
|
|
|
38
37
|
});
|
|
39
38
|
}
|
|
40
39
|
return React.createElement(SimpleItemTemplate, {
|
|
41
|
-
key: key,
|
|
40
|
+
key: item.key,
|
|
42
41
|
item: item,
|
|
43
42
|
index: index,
|
|
44
43
|
});
|
|
@@ -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
|
|
|
@@ -1327,7 +1327,6 @@
|
|
|
1327
1327
|
:host {
|
|
1328
1328
|
display: block;
|
|
1329
1329
|
position: relative;
|
|
1330
|
-
height: 3.5rem;
|
|
1331
1330
|
}
|
|
1332
1331
|
|
|
1333
1332
|
:host([hidden]) {
|
|
@@ -1367,7 +1366,7 @@
|
|
|
1367
1366
|
}
|
|
1368
1367
|
|
|
1369
1368
|
.limel-select {
|
|
1370
|
-
height:
|
|
1369
|
+
height: 3.5rem;
|
|
1371
1370
|
width: 100%;
|
|
1372
1371
|
}
|
|
1373
1372
|
.limel-select:not(.limel-select--readonly) .limel-select-trigger {
|
|
@@ -1475,7 +1474,7 @@ select.limel-select__native-control {
|
|
|
1475
1474
|
border: 0;
|
|
1476
1475
|
}
|
|
1477
1476
|
|
|
1478
|
-
:host(.is-narrow) {
|
|
1477
|
+
:host(.is-narrow) .limel-select {
|
|
1479
1478
|
height: 2.25rem;
|
|
1480
1479
|
}
|
|
1481
1480
|
:host(.is-narrow) .limel-select .mdc-select__anchor {
|