@limetech/lime-elements 37.2.8 → 37.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/dist/cjs/{component-6c4222b7.js → component-cba208a8.js} +137 -18
- package/dist/cjs/component-cba208a8.js.map +1 -0
- package/dist/cjs/{get-icon-props-d74b10c9.js → get-icon-props-50be7440.js} +1 -19
- package/dist/cjs/get-icon-props-50be7440.js.map +1 -0
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-breadcrumbs_3.cjs.entry.js +3 -4
- package/dist/cjs/limel-breadcrumbs_3.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-chip_2.cjs.entry.js +608 -0
- package/dist/cjs/limel-chip_2.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
- package/dist/cjs/limel-collapsible-section.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js +1 -1
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-color-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-file.cjs.entry.js +1 -1
- package/dist/cjs/limel-form.cjs.entry.js +1 -1
- package/dist/cjs/limel-form.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-header.cjs.entry.js +1 -1
- package/dist/cjs/limel-header.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-helper-line.cjs.entry.js +1 -1
- package/dist/cjs/limel-helper-line.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-input-field_3.cjs.entry.js +4 -5
- package/dist/cjs/limel-input-field_3.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
- package/dist/cjs/limel-progress-flow.cjs.entry.js +2 -2
- package/dist/cjs/limel-progress-flow.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-select.cjs.entry.js +2 -2
- package/dist/cjs/limel-select.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/chip/chip.css +3 -0
- package/dist/collection/components/chip/chip.js +41 -14
- package/dist/collection/components/chip/chip.js.map +1 -1
- package/dist/collection/components/chip-set/chip-set.css +42 -734
- package/dist/collection/components/chip-set/chip-set.js +83 -108
- package/dist/collection/components/chip-set/chip-set.js.map +1 -1
- package/dist/collection/components/chip-set/chip.types.js.map +1 -1
- package/dist/collection/components/collapsible-section/collapsible-section.css +1 -2
- package/dist/collection/components/color-picker/color-picker-palette.css +71 -4
- package/dist/collection/components/color-picker/color-picker.css +71 -4
- package/dist/collection/components/form/form.css +1 -2
- package/dist/collection/components/header/header.js +1 -0
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/helper-line/helper-line.css +1 -0
- package/dist/collection/components/input-field/input-field.css +24 -5
- package/dist/collection/components/list/list.css +2 -5
- package/dist/collection/components/menu-list/menu-list.css +2 -5
- package/dist/collection/components/progress-flow/progress-flow.css +1 -1
- package/dist/collection/components/select/select.css +9 -19
- package/dist/collection/components/select/select.js +0 -1
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/slider/slider.css +12 -9
- package/dist/collection/style/internal/shared_input-select-picker.scss +11 -2
- package/dist/esm/{component-703e23db.js → component-db286494.js} +121 -2
- package/dist/esm/component-db286494.js.map +1 -0
- package/dist/esm/{get-icon-props-f581151a.js → get-icon-props-0b65f85e.js} +2 -19
- package/dist/esm/get-icon-props-0b65f85e.js.map +1 -0
- package/dist/esm/{keycodes-22fb659d.js → keycodes-bf11a644.js} +2 -2
- package/dist/esm/{keycodes-22fb659d.js.map → keycodes-bf11a644.js.map} +1 -1
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-action-bar-item_2.entry.js +1 -1
- package/dist/esm/limel-breadcrumbs_3.entry.js +4 -5
- package/dist/esm/limel-breadcrumbs_3.entry.js.map +1 -1
- package/dist/esm/limel-chip_2.entry.js +603 -0
- package/dist/esm/limel-chip_2.entry.js.map +1 -0
- package/dist/esm/limel-collapsible-section.entry.js +1 -1
- package/dist/esm/limel-collapsible-section.entry.js.map +1 -1
- package/dist/esm/limel-color-picker-palette.entry.js +1 -1
- package/dist/esm/limel-color-picker-palette.entry.js.map +1 -1
- package/dist/esm/limel-color-picker.entry.js +1 -1
- package/dist/esm/limel-color-picker.entry.js.map +1 -1
- package/dist/esm/limel-file.entry.js +1 -1
- package/dist/esm/limel-form.entry.js +1 -1
- package/dist/esm/limel-form.entry.js.map +1 -1
- package/dist/esm/limel-header.entry.js +1 -1
- package/dist/esm/limel-header.entry.js.map +1 -1
- package/dist/esm/limel-helper-line.entry.js +1 -1
- package/dist/esm/limel-helper-line.entry.js.map +1 -1
- package/dist/esm/limel-input-field_3.entry.js +5 -6
- package/dist/esm/limel-input-field_3.entry.js.map +1 -1
- package/dist/esm/limel-picker.entry.js +2 -2
- package/dist/esm/limel-popover_2.entry.js +1 -1
- package/dist/esm/limel-progress-flow-item.entry.js +1 -1
- package/dist/esm/limel-progress-flow.entry.js +2 -2
- package/dist/esm/limel-progress-flow.entry.js.map +1 -1
- package/dist/esm/limel-select.entry.js +3 -3
- package/dist/esm/limel-select.entry.js.map +1 -1
- package/dist/esm/limel-slider.entry.js +1 -1
- package/dist/esm/limel-slider.entry.js.map +1 -1
- package/dist/esm/limel-tab-bar.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js.map +1 -1
- package/dist/lime-elements/{p-4a8ac53b.entry.js → p-00064897.entry.js} +4 -4
- package/dist/lime-elements/{p-4a8ac53b.entry.js.map → p-00064897.entry.js.map} +1 -1
- package/dist/lime-elements/p-027b500e.entry.js +2 -0
- package/dist/lime-elements/p-027b500e.entry.js.map +1 -0
- package/dist/lime-elements/{p-79fa180b.entry.js → p-0345e5c9.entry.js} +4 -4
- package/dist/lime-elements/{p-79fa180b.entry.js.map → p-0345e5c9.entry.js.map} +1 -1
- package/dist/lime-elements/p-104120ab.entry.js +2 -0
- package/dist/lime-elements/p-104120ab.entry.js.map +1 -0
- package/dist/lime-elements/p-27330d1d.entry.js +2 -0
- package/dist/lime-elements/p-27330d1d.entry.js.map +1 -0
- package/dist/lime-elements/{p-854343a1.entry.js → p-27d64a5a.entry.js} +2 -2
- package/dist/lime-elements/p-2f777fdb.js +2 -0
- package/dist/lime-elements/p-2f777fdb.js.map +1 -0
- package/dist/lime-elements/{p-554cdf9e.entry.js → p-5903e050.entry.js} +2 -2
- package/dist/lime-elements/{p-554cdf9e.entry.js.map → p-5903e050.entry.js.map} +1 -1
- package/dist/lime-elements/p-68cb9574.entry.js +2 -0
- package/dist/lime-elements/p-68cb9574.entry.js.map +1 -0
- package/dist/lime-elements/{p-af53d049.entry.js → p-71282352.entry.js} +2 -2
- package/dist/lime-elements/{p-af53d049.entry.js.map → p-71282352.entry.js.map} +1 -1
- package/dist/lime-elements/{p-60063e02.entry.js → p-870d72f1.entry.js} +2 -2
- package/dist/lime-elements/{p-60063e02.entry.js.map → p-870d72f1.entry.js.map} +1 -1
- package/dist/lime-elements/p-8d13a44f.entry.js +2 -0
- package/dist/lime-elements/{p-f613f943.entry.js.map → p-8d13a44f.entry.js.map} +1 -1
- package/dist/lime-elements/p-a1d841db.entry.js +2 -0
- package/dist/lime-elements/p-a1d841db.entry.js.map +1 -0
- package/dist/lime-elements/{p-acd589ef.entry.js → p-b03c1b71.entry.js} +2 -2
- package/dist/lime-elements/{p-85a770a4.entry.js → p-b51fd0c7.entry.js} +2 -2
- package/dist/lime-elements/{p-e53b7ccf.entry.js → p-b89d2cc3.entry.js} +2 -2
- package/dist/lime-elements/{p-c022dd0d.entry.js → p-d9ad1ebe.entry.js} +3 -3
- package/dist/lime-elements/{p-c022dd0d.entry.js.map → p-d9ad1ebe.entry.js.map} +1 -1
- package/dist/lime-elements/p-dfa06174.entry.js +2 -0
- package/dist/lime-elements/p-dfa06174.entry.js.map +1 -0
- package/dist/lime-elements/{p-93c6d561.js → p-e03dfe70.js} +2 -2
- package/dist/lime-elements/{p-38151879.js → p-f764b655.js} +32 -10
- package/dist/lime-elements/p-f764b655.js.map +1 -0
- package/dist/lime-elements/{p-bbe3ce51.entry.js → p-fdae60a1.entry.js} +2 -2
- package/dist/lime-elements/style/internal/shared_input-select-picker.scss +11 -2
- package/dist/types/components/chip/chip.d.ts +17 -4
- package/dist/types/components/chip-set/chip-set.d.ts +15 -15
- package/dist/types/components/chip-set/chip.types.d.ts +7 -1
- package/dist/types/components/header/header.d.ts +1 -0
- package/dist/types/components/select/select.d.ts +0 -1
- package/dist/types/components.d.ts +22 -12
- package/package.json +6 -6
- package/dist/cjs/component-6c4222b7.js.map +0 -1
- package/dist/cjs/get-icon-props-d74b10c9.js.map +0 -1
- package/dist/cjs/keyboard-9477d3a8.js +0 -133
- package/dist/cjs/keyboard-9477d3a8.js.map +0 -1
- package/dist/cjs/limel-chip-set.cjs.entry.js +0 -2095
- package/dist/cjs/limel-chip-set.cjs.entry.js.map +0 -1
- package/dist/cjs/limel-chip.cjs.entry.js +0 -105
- package/dist/cjs/limel-chip.cjs.entry.js.map +0 -1
- package/dist/esm/component-703e23db.js.map +0 -1
- package/dist/esm/get-icon-props-f581151a.js.map +0 -1
- package/dist/esm/keyboard-4b9e12e3.js +0 -129
- package/dist/esm/keyboard-4b9e12e3.js.map +0 -1
- package/dist/esm/limel-chip-set.entry.js +0 -2091
- package/dist/esm/limel-chip-set.entry.js.map +0 -1
- package/dist/esm/limel-chip.entry.js +0 -101
- package/dist/esm/limel-chip.entry.js.map +0 -1
- package/dist/lime-elements/p-1291ed2c.entry.js +0 -2
- package/dist/lime-elements/p-1291ed2c.entry.js.map +0 -1
- package/dist/lime-elements/p-38151879.js.map +0 -1
- package/dist/lime-elements/p-48aa89a6.entry.js +0 -2
- package/dist/lime-elements/p-48aa89a6.entry.js.map +0 -1
- package/dist/lime-elements/p-4d92b6fb.js +0 -2
- package/dist/lime-elements/p-4d92b6fb.js.map +0 -1
- package/dist/lime-elements/p-5240b8a3.entry.js +0 -2
- package/dist/lime-elements/p-5240b8a3.entry.js.map +0 -1
- package/dist/lime-elements/p-6e219bb4.js +0 -24
- package/dist/lime-elements/p-6e219bb4.js.map +0 -1
- package/dist/lime-elements/p-711c8538.entry.js +0 -2
- package/dist/lime-elements/p-711c8538.entry.js.map +0 -1
- package/dist/lime-elements/p-8a9d91cf.entry.js +0 -222
- package/dist/lime-elements/p-8a9d91cf.entry.js.map +0 -1
- package/dist/lime-elements/p-bccf626e.entry.js +0 -2
- package/dist/lime-elements/p-bccf626e.entry.js.map +0 -1
- package/dist/lime-elements/p-e0f37631.entry.js +0 -2
- package/dist/lime-elements/p-e0f37631.entry.js.map +0 -1
- package/dist/lime-elements/p-f613f943.entry.js +0 -2
- /package/dist/lime-elements/{p-854343a1.entry.js.map → p-27d64a5a.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-acd589ef.entry.js.map → p-b03c1b71.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-85a770a4.entry.js.map → p-b51fd0c7.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-e53b7ccf.entry.js.map → p-b89d2cc3.entry.js.map} +0 -0
- /package/dist/lime-elements/{p-93c6d561.js.map → p-e03dfe70.js.map} +0 -0
- /package/dist/lime-elements/{p-bbe3ce51.entry.js.map → p-fdae60a1.entry.js.map} +0 -0
|
@@ -52,6 +52,72 @@
|
|
|
52
52
|
* 2. the CSS variables of `--kompendium-example-font-family`
|
|
53
53
|
* in the `<style>` tag of `index.html`.
|
|
54
54
|
*/
|
|
55
|
+
/*
|
|
56
|
+
* This file is imported into every component!
|
|
57
|
+
*
|
|
58
|
+
* Nothing in this file may output any CSS
|
|
59
|
+
* without being explicitly called by outside code.
|
|
60
|
+
*/
|
|
61
|
+
/*
|
|
62
|
+
* This file is imported into every component that uses MDC!
|
|
63
|
+
*
|
|
64
|
+
* Anything in this file that generates CSS output on its own,
|
|
65
|
+
* without being explicitly used, will output that CSS in every
|
|
66
|
+
* single component, increasing the size of the production build.
|
|
67
|
+
* Avoid that unless there's very good reason for it!
|
|
68
|
+
*/
|
|
69
|
+
/*
|
|
70
|
+
* This file is imported into every component that uses MDC!
|
|
71
|
+
*
|
|
72
|
+
* Anything in this file that generates CSS output on its own,
|
|
73
|
+
* without being explicitly used, will output that CSS in every
|
|
74
|
+
* single component, increasing the size of the production build.
|
|
75
|
+
* Avoid that unless there's very good reason for it!
|
|
76
|
+
*/
|
|
77
|
+
:host {
|
|
78
|
+
--mdc-theme-primary: var(
|
|
79
|
+
--lime-primary-color,
|
|
80
|
+
rgb(var(--color-teal-default))
|
|
81
|
+
);
|
|
82
|
+
--mdc-theme-secondary: var(
|
|
83
|
+
--lime-secondary-color,
|
|
84
|
+
rgb(var(--contrast-1100))
|
|
85
|
+
);
|
|
86
|
+
--mdc-theme-on-primary: var(
|
|
87
|
+
--lime-on-primary-color,
|
|
88
|
+
rgb(var(--contrast-100))
|
|
89
|
+
);
|
|
90
|
+
--mdc-theme-on-secondary: var(
|
|
91
|
+
--lime-on-secondary-color,
|
|
92
|
+
rgb(var(--contrast-100))
|
|
93
|
+
);
|
|
94
|
+
--mdc-theme-text-disabled-on-background: var(
|
|
95
|
+
--lime-text-disabled-on-background-color,
|
|
96
|
+
rgba(var(--contrast-1700), 0.38)
|
|
97
|
+
);
|
|
98
|
+
--mdc-theme-text-primary-on-background: var(
|
|
99
|
+
--lime-text-primary-on-background-color,
|
|
100
|
+
rgba(var(--contrast-1700), 0.87)
|
|
101
|
+
);
|
|
102
|
+
--mdc-theme-text-secondary-on-background: var(
|
|
103
|
+
--lime-text-secondary-on-background-color,
|
|
104
|
+
rgba(var(--contrast-1700), 0.54)
|
|
105
|
+
);
|
|
106
|
+
--mdc-theme-error: var(
|
|
107
|
+
--lime-error-background-color,
|
|
108
|
+
rgb(var(--color-red-dark))
|
|
109
|
+
);
|
|
110
|
+
--lime-error-text-color: rgb(var(--color-red-darker));
|
|
111
|
+
--mdc-theme-surface: var(
|
|
112
|
+
--lime-surface-background-color,
|
|
113
|
+
rgb(var(--contrast-100))
|
|
114
|
+
);
|
|
115
|
+
--mdc-theme-on-surface: var(
|
|
116
|
+
--lime-on-surface-color,
|
|
117
|
+
rgb(var(--contrast-1500))
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
|
|
55
121
|
.picker-trigger[style="--background:lime-magenta;"]:after,
|
|
56
122
|
.chosen-color-preview[style="--background:lime-magenta;"]:after {
|
|
57
123
|
background-color: var(--lime-magenta);
|
|
@@ -90,13 +156,14 @@
|
|
|
90
156
|
}
|
|
91
157
|
|
|
92
158
|
:host {
|
|
159
|
+
position: relative;
|
|
93
160
|
--popover-surface-width: 50rem;
|
|
94
161
|
--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='rgba(186,186,192,0.16)' d='M0 0h4v4H0zM4 4h4v4H4z'/></svg>");
|
|
95
162
|
}
|
|
96
163
|
|
|
97
164
|
.color-picker {
|
|
98
165
|
display: grid;
|
|
99
|
-
gap: 0.
|
|
166
|
+
gap: 0.25rem;
|
|
100
167
|
grid-template-columns: auto 1fr;
|
|
101
168
|
}
|
|
102
169
|
|
|
@@ -134,8 +201,8 @@
|
|
|
134
201
|
box-sizing: border-box;
|
|
135
202
|
position: relative;
|
|
136
203
|
isolation: isolate;
|
|
137
|
-
width:
|
|
138
|
-
height:
|
|
204
|
+
width: 2.5rem;
|
|
205
|
+
height: 2.5rem;
|
|
139
206
|
}
|
|
140
207
|
.chosen-color-preview:before, .chosen-color-preview:after,
|
|
141
208
|
.picker-trigger:before,
|
|
@@ -164,5 +231,5 @@
|
|
|
164
231
|
}
|
|
165
232
|
|
|
166
233
|
.chosen-color-input[readonly] {
|
|
167
|
-
transform: translateY(
|
|
234
|
+
transform: translateX(calc( 2.5rem / 4 * -1 )) translateY(calc(2.5rem / 4));
|
|
168
235
|
}
|
|
@@ -448,7 +448,7 @@ limel-code-editor {
|
|
|
448
448
|
}
|
|
449
449
|
|
|
450
450
|
.limel-form-layout--grid {
|
|
451
|
-
--min-height-of-one-row:
|
|
451
|
+
--min-height-of-one-row: 2.5rem;
|
|
452
452
|
display: grid;
|
|
453
453
|
column-gap: var(--form-column-gap, 1rem);
|
|
454
454
|
row-gap: var(--form-row-gap, 1rem);
|
|
@@ -522,7 +522,6 @@ limel-code-editor {
|
|
|
522
522
|
min-height: var(--min-height-of-one-row);
|
|
523
523
|
}
|
|
524
524
|
.limel-form-layout--grid limel-checkbox {
|
|
525
|
-
margin-top: 0.5rem;
|
|
526
525
|
display: block;
|
|
527
526
|
}
|
|
528
527
|
.limel-form-layout--grid limel-switch {
|
|
@@ -41,6 +41,7 @@ import { getIconName } from '../icon/get-icon-props';
|
|
|
41
41
|
* :::
|
|
42
42
|
*
|
|
43
43
|
* @exampleComponent limel-example-header
|
|
44
|
+
* @exampleComponent limel-example-header-slot-actions
|
|
44
45
|
* @exampleComponent limel-example-header-colors
|
|
45
46
|
* @exampleComponent limel-example-header-responsive
|
|
46
47
|
* @exampleComponent limel-example-header-narrow
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/components/header/header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/components/header/header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAMH,MAAM,OAAO,MAAM;;;;;;6BA8BqB,GAAG;;EAEhC,MAAM;IACT,OAAO;MACH,WAAK,KAAK,EAAC,aAAa;QACnB,IAAI,CAAC,UAAU,EAAE;QAClB,WAAK,KAAK,EAAC,UAAU;UACjB,UAAI,KAAK,EAAC,SAAS,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,IAClC,IAAI,CAAC,OAAO,CACZ;UACL,UAAI,KAAK,EAAC,YAAY,EAAC,KAAK,EAAE,IAAI,CAAC,UAAU;YACxC,IAAI,CAAC,UAAU;YACf,IAAI,CAAC,oBAAoB,EAAE,CAC3B,CACH,CACJ;MACN,YAAM,IAAI,EAAC,SAAS;QAChB,eAAQ,CACL;KACV,CAAC;EACN,CAAC;EAEO,UAAU;IACd,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpC,IAAI,CAAC,IAAI,EAAE;MACP,OAAO;KACV;IAED,OAAO,kBAAY,KAAK,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAI,CAAC;EAChE,CAAC;EAEO,oBAAoB;IACxB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;MACtB,OAAO;KACV;IAED,OAAO,CACH,YAAM,KAAK,EAAC,6BAA6B;MACpC,IAAI,CAAC,uBAAuB,EAAE;MAC9B,IAAI,CAAC,cAAc,CACjB,CACV,CAAC;EACN,CAAC;EAEO,uBAAuB;IAC3B,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;MACzB,OAAO;KACV;IAED,OAAO,gBAAO,IAAI,CAAC,iBAAiB,CAAQ,CAAC;EACjD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\nimport { Icon } from '../../interface';\nimport { getIconName } from '../icon/get-icon-props';\n\n/**\n * A header is the top most visual element in a component, page, card, or a view.\n *\n * ## Usage\n * A header is the first thing that clarifies a context for users.\n * Due to their positions in the UI hierarchy, headers are the most\n * prominent elements of a user interface; and because of that, they carry both\n * vital information and fundamental controls for the area of the interface\n * they represent.\n *\n * For example, when a header is placed on top of a card, it should quickly\n * explain the card to the user. When placed on top of a modal, it should easily\n * clarify what the modal is about. When displayed on top of a fullscreen view,\n * it should indicate where in the system users are, and what part of the app\n * they are looking at.\n *\n *\n * ## Layout\n * The vital information in a header is usually manifested in form of an icon,\n * and a heading. A subheading also could be added to provide supplementary\n * information. There is also a third place for displaying supplementary information\n * or \"supporting text\", which will be rendered as a part of the subheading.\n * Along with this information, headers can also include actions, controls, or\n * menus.\n *\n * :::important\n * Such actions or menus must affect the entire section of the interface\n * which the header is representing. For example, a _Delete_ button on a card\n * header must delete that entire card and its respective contents all together,\n * not for example a selected item which is visible in the content of that card.\n * :::\n *\n *\n * :::warning\n * Do not user background color on icons in the headers. It is much better and\n * much easier for the eye if your icon itself has a color.\n * Background colors behind icons make them look like \"call to action\" buttons\n * and take a lot of attention from users.\n * :::\n *\n * @exampleComponent limel-example-header\n * @exampleComponent limel-example-header-slot-actions\n * @exampleComponent limel-example-header-colors\n * @exampleComponent limel-example-header-responsive\n * @exampleComponent limel-example-header-narrow\n * @slot actions - Content (actions) to be put inside the far right surface of\n * the header\n * @slot [no name] - DEPRECATED. The `actions` slot used to be unnamed. This\n * behavior has been deprecated, and support will be dropped in a future\n * version. Please add `slot=\"actions\"` to your elements to ensure your code\n * will continue to work with future versions of Lime Elements.\n */\n@Component({\n tag: 'limel-header',\n shadow: true,\n styleUrl: 'header.scss',\n})\nexport class Header {\n /**\n * Icon to display\n */\n @Prop()\n public icon?: string | Icon;\n\n /**\n * Title to display\n */\n @Prop()\n public heading?: string;\n\n /**\n * Subheading to display\n */\n @Prop()\n public subheading?: string;\n\n /**\n * An extra string of text to display along with with the Subheading\n */\n @Prop()\n public supportingText?: string;\n\n /**\n * The visual divider that separates the `subheading` and the `supportingText`.\n * It must be a single character such as `-` or `,`.\n */\n @Prop()\n public subheadingDivider?: string = '·';\n\n public render() {\n return [\n <div class=\"information\">\n {this.renderIcon()}\n <div class=\"headings\">\n <h1 class=\"heading\" title={this.heading}>\n {this.heading}\n </h1>\n <h2 class=\"subheading\" title={this.subheading}>\n {this.subheading}\n {this.renderSupportingText()}\n </h2>\n </div>\n </div>,\n <slot name=\"actions\">\n <slot />\n </slot>,\n ];\n }\n\n private renderIcon() {\n const icon = getIconName(this.icon);\n\n if (!icon) {\n return;\n }\n\n return <limel-icon class=\"icon\" badge={true} name={icon} />;\n }\n\n private renderSupportingText() {\n if (!this.supportingText) {\n return;\n }\n\n return (\n <span class=\"subheading__supporting-text\">\n {this.renderSubheadingDivider()}\n {this.supportingText}\n </span>\n );\n }\n\n private renderSubheadingDivider() {\n if (!this.subheadingDivider) {\n return;\n }\n\n return <span>{this.subheadingDivider}</span>;\n }\n}\n"]}
|
|
@@ -1936,7 +1936,7 @@
|
|
|
1936
1936
|
}
|
|
1937
1937
|
.mdc-text-field.mdc-text-field--disabled.lime-text-field--readonly.mdc-text-field--with-trailing-icon .mdc-text-field__icon--trailing limel-icon, .mdc-text-field.mdc-text-field--disabled.lime-text-field--readonly.mdc-text-field--with-trailing-icon a.lime-trailing-icon-for-link limel-icon {
|
|
1938
1938
|
width: 1.5rem;
|
|
1939
|
-
margin-right: 0.
|
|
1939
|
+
margin-right: 0.25rem;
|
|
1940
1940
|
}
|
|
1941
1941
|
.mdc-text-field.mdc-text-field--disabled.lime-text-field--readonly.mdc-text-field--with-trailing-icon:hover .mdc-text-field__icon--trailing:hover, .mdc-text-field.mdc-text-field--disabled.lime-text-field--readonly.mdc-text-field--with-trailing-icon:hover a.lime-trailing-icon-for-link:hover {
|
|
1942
1942
|
box-shadow: var(--button-shadow-hovered);
|
|
@@ -2019,6 +2019,13 @@
|
|
|
2019
2019
|
color: rgba(var(--contrast-1400), 0.5);
|
|
2020
2020
|
}
|
|
2021
2021
|
|
|
2022
|
+
.mdc-floating-label--float-above {
|
|
2023
|
+
transform: translateY(-1.6875rem) scale(0.75) !important;
|
|
2024
|
+
}
|
|
2025
|
+
.mdc-text-field--with-leading-icon .mdc-floating-label--float-above {
|
|
2026
|
+
transform: translateY(-1.5625rem) translateX(-1.25rem) scale(0.75) !important;
|
|
2027
|
+
}
|
|
2028
|
+
|
|
2022
2029
|
.lime-empty-value-for-readonly {
|
|
2023
2030
|
z-index: 1;
|
|
2024
2031
|
position: absolute;
|
|
@@ -2040,10 +2047,6 @@
|
|
|
2040
2047
|
opacity: 0.4;
|
|
2041
2048
|
}
|
|
2042
2049
|
|
|
2043
|
-
.mdc-text-field--with-trailing-icon .mdc-text-field__icon--trailing, .mdc-text-field--with-trailing-icon a.lime-trailing-icon-for-link {
|
|
2044
|
-
margin-right: 0.5rem;
|
|
2045
|
-
}
|
|
2046
|
-
|
|
2047
2050
|
.lime-text-field--empty .mdc-text-field__icon--trailing, .lime-text-field--empty a.lime-trailing-icon-for-link {
|
|
2048
2051
|
cursor: not-allowed;
|
|
2049
2052
|
opacity: 0.4;
|
|
@@ -2199,4 +2202,20 @@ input.mdc-text-field__input::-webkit-search-cancel-button:active {
|
|
|
2199
2202
|
|
|
2200
2203
|
:host([type=textarea]) .mdc-text-field.lime-text-field--readonly .mdc-text-field__resizer {
|
|
2201
2204
|
pointer-events: all;
|
|
2205
|
+
}
|
|
2206
|
+
|
|
2207
|
+
.mdc-text-field.mdc-text-field--outlined {
|
|
2208
|
+
height: 2.5rem;
|
|
2209
|
+
}
|
|
2210
|
+
|
|
2211
|
+
.mdc-text-field--with-trailing-icon .mdc-text-field__icon--trailing, .mdc-text-field--with-trailing-icon a.lime-trailing-icon-for-link {
|
|
2212
|
+
padding: 0.25rem;
|
|
2213
|
+
margin-right: 0.25rem;
|
|
2214
|
+
}
|
|
2215
|
+
|
|
2216
|
+
.mdc-text-field--outlined.mdc-text-field--with-leading-icon .mdc-text-field__icon--leading {
|
|
2217
|
+
margin-left: 0.25rem;
|
|
2218
|
+
}
|
|
2219
|
+
.mdc-text-field--outlined.mdc-text-field--with-leading-icon .mdc-floating-label {
|
|
2220
|
+
left: 1.5rem;
|
|
2202
2221
|
}
|
|
@@ -4426,6 +4426,7 @@ a.mdc-list-item {
|
|
|
4426
4426
|
transition: background-color 0.2s ease;
|
|
4427
4427
|
box-sizing: border-box;
|
|
4428
4428
|
z-index: 0;
|
|
4429
|
+
min-height: 2.5rem;
|
|
4429
4430
|
}
|
|
4430
4431
|
.mdc-deprecated-list .mdc-deprecated-list-item:not(.mdc-deprecated-list-item--disabled):hover {
|
|
4431
4432
|
background-color: rgb(var(--contrast-300));
|
|
@@ -4494,9 +4495,6 @@ a.mdc-list-item {
|
|
|
4494
4495
|
padding-top: 0.5rem;
|
|
4495
4496
|
padding-bottom: 0.5rem;
|
|
4496
4497
|
}
|
|
4497
|
-
.mdc-deprecated-list.mdc-deprecated-list--two-line .mdc-deprecated-list-item__primary-text {
|
|
4498
|
-
margin-bottom: 0.25rem;
|
|
4499
|
-
}
|
|
4500
4498
|
.mdc-deprecated-list .mdc-deprecated-list-item__secondary-text,
|
|
4501
4499
|
.mdc-deprecated-list .mdc-deprecated-list-item__primary-text,
|
|
4502
4500
|
.mdc-deprecated-list .mdc-deprecated-list-item__command-text {
|
|
@@ -5970,12 +5968,11 @@ a.mdc-list-item {
|
|
|
5970
5968
|
}
|
|
5971
5969
|
|
|
5972
5970
|
:host {
|
|
5973
|
-
--line-height-of-secondary-text:
|
|
5971
|
+
--line-height-of-secondary-text: 1rem;
|
|
5974
5972
|
}
|
|
5975
5973
|
|
|
5976
5974
|
.mdc-deprecated-list-item {
|
|
5977
5975
|
height: auto !important;
|
|
5978
|
-
min-height: 3rem;
|
|
5979
5976
|
}
|
|
5980
5977
|
.mdc-deprecated-list-item .mdc-deprecated-list-item__secondary-text {
|
|
5981
5978
|
line-height: var(--line-height-of-secondary-text);
|
|
@@ -4500,6 +4500,7 @@ a.mdc-list-item {
|
|
|
4500
4500
|
transition: background-color 0.2s ease;
|
|
4501
4501
|
box-sizing: border-box;
|
|
4502
4502
|
z-index: 0;
|
|
4503
|
+
min-height: 2.5rem;
|
|
4503
4504
|
}
|
|
4504
4505
|
.mdc-deprecated-list .mdc-deprecated-list-item:not(.mdc-deprecated-list-item--disabled):hover {
|
|
4505
4506
|
background-color: rgb(var(--contrast-300));
|
|
@@ -4568,9 +4569,6 @@ a.mdc-list-item {
|
|
|
4568
4569
|
padding-top: 0.5rem;
|
|
4569
4570
|
padding-bottom: 0.5rem;
|
|
4570
4571
|
}
|
|
4571
|
-
.mdc-deprecated-list.mdc-deprecated-list--two-line .mdc-deprecated-list-item__primary-text {
|
|
4572
|
-
margin-bottom: 0.25rem;
|
|
4573
|
-
}
|
|
4574
4572
|
.mdc-deprecated-list .mdc-deprecated-list-item__secondary-text,
|
|
4575
4573
|
.mdc-deprecated-list .mdc-deprecated-list-item__primary-text,
|
|
4576
4574
|
.mdc-deprecated-list .mdc-deprecated-list-item__command-text {
|
|
@@ -6044,12 +6042,11 @@ a.mdc-list-item {
|
|
|
6044
6042
|
}
|
|
6045
6043
|
|
|
6046
6044
|
:host {
|
|
6047
|
-
--line-height-of-secondary-text:
|
|
6045
|
+
--line-height-of-secondary-text: 1rem;
|
|
6048
6046
|
}
|
|
6049
6047
|
|
|
6050
6048
|
.mdc-deprecated-list-item {
|
|
6051
6049
|
height: auto !important;
|
|
6052
|
-
min-height: 3rem;
|
|
6053
6050
|
}
|
|
6054
6051
|
.mdc-deprecated-list-item .mdc-deprecated-list-item__secondary-text {
|
|
6055
6052
|
line-height: var(--line-height-of-secondary-text);
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* @prop --progress-flow-icon-color--inactive: Color of the optional icons used in each step. Only affects inactive steps, defaults to text colors for inactive, active, or passed step.
|
|
22
22
|
*/
|
|
23
23
|
:host {
|
|
24
|
-
--step-height:
|
|
24
|
+
--step-height: 2rem;
|
|
25
25
|
--selected-indicator-right: -0.5rem;
|
|
26
26
|
--max-text-width: 10rem;
|
|
27
27
|
isolation: isolate;
|
|
@@ -1643,10 +1643,12 @@
|
|
|
1643
1643
|
outline: none;
|
|
1644
1644
|
align-self: center;
|
|
1645
1645
|
min-width: 0;
|
|
1646
|
+
padding: 0 0.25rem 0 1rem;
|
|
1646
1647
|
}
|
|
1647
1648
|
|
|
1648
1649
|
.limel-select__selected-option__icon {
|
|
1649
1650
|
margin-right: 0.5rem;
|
|
1651
|
+
margin-left: -0.5rem;
|
|
1650
1652
|
flex-shrink: 0;
|
|
1651
1653
|
}
|
|
1652
1654
|
|
|
@@ -1672,9 +1674,13 @@
|
|
|
1672
1674
|
.limel-select:not(.limel-select--readonly) .limel-select-trigger {
|
|
1673
1675
|
background-color: rgba(var(--contrast-100), 0.8);
|
|
1674
1676
|
}
|
|
1677
|
+
.limel-select .mdc-select__anchor {
|
|
1678
|
+
height: 2.25rem;
|
|
1679
|
+
padding-left: 0rem;
|
|
1680
|
+
}
|
|
1675
1681
|
.limel-select .limel-select-trigger {
|
|
1676
1682
|
border: none;
|
|
1677
|
-
height:
|
|
1683
|
+
height: 2.5rem;
|
|
1678
1684
|
display: inline-flex;
|
|
1679
1685
|
align-items: center;
|
|
1680
1686
|
border-radius: 0.3125rem;
|
|
@@ -1687,13 +1693,14 @@
|
|
|
1687
1693
|
}
|
|
1688
1694
|
.limel-select .limel-select-trigger .mdc-floating-label.mdc-floating-label--float-above {
|
|
1689
1695
|
font-size: 0.875rem;
|
|
1690
|
-
transform: translateY(-
|
|
1696
|
+
transform: translateY(-1.6875rem) scale(0.75);
|
|
1691
1697
|
}
|
|
1692
1698
|
.limel-select .limel-select-trigger,
|
|
1693
1699
|
.limel-select .limel-select__selected-option {
|
|
1694
1700
|
width: 100%;
|
|
1695
1701
|
}
|
|
1696
1702
|
.limel-select .mdc-select__dropdown-icon {
|
|
1703
|
+
margin-right: 0.25rem;
|
|
1697
1704
|
margin-left: 0.25rem;
|
|
1698
1705
|
}
|
|
1699
1706
|
.limel-select.mdc-select--disabled .limel-select-trigger {
|
|
@@ -1772,23 +1779,6 @@ select.limel-select__native-control {
|
|
|
1772
1779
|
border: 0;
|
|
1773
1780
|
}
|
|
1774
1781
|
|
|
1775
|
-
:host(.is-narrow) .limel-select .mdc-select__anchor {
|
|
1776
|
-
height: 2.25rem;
|
|
1777
|
-
padding-left: 0rem;
|
|
1778
|
-
}
|
|
1779
|
-
:host(.is-narrow) .limel-select .mdc-select__dropdown-icon {
|
|
1780
|
-
margin-right: 0.25rem;
|
|
1781
|
-
}
|
|
1782
|
-
:host(.is-narrow) .mdc-floating-label.mdc-floating-label--float-above {
|
|
1783
|
-
top: 1.75rem;
|
|
1784
|
-
}
|
|
1785
|
-
:host(.is-narrow) .limel-select__selected-option {
|
|
1786
|
-
padding: 0 0.25rem 0 1rem;
|
|
1787
|
-
}
|
|
1788
|
-
:host(.is-narrow) .limel-select__selected-option__icon {
|
|
1789
|
-
margin-left: -0.5rem;
|
|
1790
|
-
}
|
|
1791
|
-
|
|
1792
1782
|
.limel-select.mdc-select.limel-select--readonly .limel-select-trigger {
|
|
1793
1783
|
cursor: default;
|
|
1794
1784
|
opacity: 1;
|
|
@@ -13,7 +13,6 @@ import { SelectTemplate, triggerIconColorWarning } from './select.template';
|
|
|
13
13
|
* @exampleComponent limel-example-select-with-empty-option
|
|
14
14
|
* @exampleComponent limel-example-select-preselected
|
|
15
15
|
* @exampleComponent limel-example-select-change-options
|
|
16
|
-
* @exampleComponent limel-example-select-narrow
|
|
17
16
|
* @exampleComponent limel-example-select-dialog
|
|
18
17
|
*/
|
|
19
18
|
export class Select {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ListItem } from '../list/list-item.types';\nimport { Option } from '../select/option.types';\nimport { MDCFloatingLabel } from '@material/floating-label';\nimport { MDCSelectHelperText } from '@material/select/helper-text';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { isMobileDevice } from '../../util/device';\nimport {\n ENTER,\n ENTER_KEY_CODE,\n SPACE,\n SPACE_KEY_CODE,\n} from '../../util/keycodes';\nimport { isMultiple } from '../../util/multiple';\nimport { createRandomString } from '../../util/random-string';\nimport { SelectTemplate, triggerIconColorWarning } from './select.template';\n\n/**\n * @exampleComponent limel-example-select\n * @exampleComponent limel-example-select-with-icons\n * @exampleComponent limel-example-select-multiple\n * @exampleComponent limel-example-select-with-empty-option\n * @exampleComponent limel-example-select-preselected\n * @exampleComponent limel-example-select-change-options\n * @exampleComponent limel-example-select-narrow\n * @exampleComponent limel-example-select-dialog\n */\n@Component({\n tag: 'limel-select',\n shadow: true,\n styleUrl: 'select.scss',\n})\nexport class Select {\n /**\n * Set to `true` to make the field disabled.\n * and visually shows that the `select` component is editable but disabled.\n * This tells the users that if certain requirements are met,\n * the component may become interactable.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * Set to `true` to make the field read-only.\n * This visualizes the component slightly differently.\n * But shows no visual sign indicating that the component is disabled\n * or can ever become interactable.\n */\n @Prop({ reflect: true })\n public readonly = false;\n\n /**\n * Set to `true` to indicate that the current value of the select is\n * invalid.\n */\n @Prop({ reflect: true })\n public invalid: boolean;\n\n /**\n * True if the control requires a value.\n */\n @Prop({ reflect: true })\n public required = false;\n\n /**\n * Text to display next to the select.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Optional helper text to display below the input field when it has focus.\n */\n @Prop({ reflect: true })\n public helperText: string;\n\n /**\n * Currently selected value or values.\n * If `multiple` is `true`, this must be an array. Otherwise it must be a\n * single value.\n */\n @Prop()\n public value: Option | Option[];\n\n /**\n * List of options.\n */\n @Prop()\n public options: Option[] = [];\n\n /**\n * Set to `true` to allow multiple values to be selected.\n */\n @Prop()\n public multiple: boolean = false;\n\n /**\n * Emitted when the value is changed.\n */\n @Event()\n private change: EventEmitter<Option | Option[]>;\n\n @Element()\n private host: HTMLLimelSelectElement;\n\n @State()\n private menuOpen: boolean = false;\n\n private hasChanged: boolean = false;\n private checkValid: boolean = false;\n private mdcSelectHelperText: MDCSelectHelperText;\n private mdcFloatingLabel: MDCFloatingLabel;\n private isMobileDevice: boolean;\n private portalId: string;\n\n constructor() {\n this.handleMenuChange = this.handleMenuChange.bind(this);\n this.handleNativeChange = this.handleNativeChange.bind(this);\n this.handleMenuTriggerKeyPress =\n this.handleMenuTriggerKeyPress.bind(this);\n this.openMenu = this.openMenu.bind(this);\n this.closeMenu = this.closeMenu.bind(this);\n\n this.portalId = createRandomString();\n }\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentWillLoad() {\n this.isMobileDevice = isMobileDevice();\n\n // It should not be possible to render the native select for consumers, but we still want to make it testable.\n // We can set this attribute in tests to force rendering of the native select\n if (this.host.hasAttribute('data-native')) {\n this.isMobileDevice = true;\n }\n }\n\n public componentDidLoad() {\n this.initialize();\n triggerIconColorWarning(this.options);\n }\n\n private initialize() {\n let element: HTMLElement;\n element = this.host.shadowRoot.querySelector('.mdc-floating-label');\n if (!element) {\n return;\n }\n\n this.mdcFloatingLabel = new MDCFloatingLabel(element);\n\n element = this.host.shadowRoot.querySelector('.mdc-select-helper-text');\n if (element) {\n this.mdcSelectHelperText = new MDCSelectHelperText(element);\n }\n }\n\n public disconnectedCallback() {\n if (this.mdcFloatingLabel) {\n this.mdcFloatingLabel.destroy();\n }\n\n if (this.mdcSelectHelperText) {\n this.mdcSelectHelperText.destroy();\n }\n }\n\n public componentDidUpdate() {\n if (this.menuOpen) {\n this.setMenuFocus();\n }\n }\n\n public render() {\n const dropdownZIndex = getComputedStyle(this.host).getPropertyValue(\n '--dropdown-z-index',\n );\n\n return (\n <SelectTemplate\n id={this.portalId}\n disabled={this.disabled || this.readonly}\n readonly={this.readonly}\n required={this.required}\n invalid={this.invalid}\n label={this.label}\n helperText={this.helperText}\n value={this.value}\n options={this.options}\n onMenuChange={this.handleMenuChange}\n onNativeChange={this.handleNativeChange}\n onTriggerPress={this.handleMenuTriggerKeyPress}\n multiple={this.multiple}\n isOpen={this.menuOpen}\n open={this.openMenu}\n close={this.closeMenu}\n checkValid={this.checkValid}\n native={this.isMobileDevice}\n dropdownZIndex={dropdownZIndex}\n />\n );\n }\n\n @Watch('menuOpen')\n protected watchOpen(newValue: boolean, oldValue: boolean) {\n if (this.checkValid) {\n return;\n }\n\n // Menu was closed for the first time\n if (!newValue && oldValue) {\n this.checkValid = true;\n }\n }\n\n private setMenuFocus() {\n if (this.isMobileDevice) {\n return;\n }\n\n setTimeout(() => {\n const list: HTMLElement = document.querySelector(\n `#${this.portalId} limel-menu-surface limel-list`,\n );\n const firstItem: HTMLElement =\n list?.shadowRoot?.querySelector('[tabindex]');\n\n if (firstItem) {\n firstItem.focus();\n }\n });\n }\n\n private setTriggerFocus() {\n const trigger: HTMLElement = this.host.shadowRoot.querySelector(\n '.limel-select-trigger',\n );\n trigger.focus();\n }\n\n private handleMenuChange(\n event: CustomEvent<Array<ListItem<Option>> | ListItem<Option>>,\n ) {\n event.stopPropagation();\n\n if (isMultiple(event.detail)) {\n const listItems: ListItem[] = event.detail;\n const options: Option[] = listItems.map((item) => item.value);\n this.change.emit(options);\n\n return;\n }\n\n if (!event.detail.selected) {\n return;\n }\n\n const listItem: ListItem = event.detail;\n const option: Option = listItem.value;\n if (option.disabled) {\n return;\n }\n\n this.change.emit(option);\n this.menuOpen = false;\n this.setTriggerFocus();\n }\n\n private openMenu() {\n if (this.emitFirstChangeEvent()) {\n this.hasChanged = true;\n this.change.emit(this.options[0]);\n }\n\n this.menuOpen = true;\n }\n\n private emitFirstChangeEvent() {\n return !this.hasChanged && this.isMobileDevice && !this.value;\n }\n\n private closeMenu() {\n this.menuOpen = false;\n this.setTriggerFocus();\n }\n\n private handleMenuTriggerKeyPress(event: KeyboardEvent) {\n const isEnter = event.key === ENTER || event.keyCode === ENTER_KEY_CODE;\n const isSpace = event.key === SPACE || event.keyCode === SPACE_KEY_CODE;\n\n if (!this.menuOpen && (isSpace || isEnter)) {\n event.stopPropagation();\n event.preventDefault();\n this.menuOpen = true;\n }\n }\n\n private handleNativeChange(event: Event) {\n event.stopPropagation();\n\n const element: HTMLSelectElement = this.host.shadowRoot.querySelector(\n 'select.limel-select__native-control',\n );\n const options = Array.apply(null, element.options) // eslint-disable-line prefer-spread\n .filter((optionElement: HTMLOptionElement) => {\n return !!optionElement.selected;\n })\n .map((optionElement: HTMLOptionElement) => {\n return this.options.find(\n (o) => o.value === optionElement.value,\n );\n });\n\n if (this.multiple) {\n this.change.emit(options);\n\n return;\n }\n\n this.change.emit(options[0]);\n this.menuOpen = false;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../src/components/select/select.tsx"],"names":[],"mappings":"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","sourcesContent":["import { ListItem } from '../list/list-item.types';\nimport { Option } from '../select/option.types';\nimport { MDCFloatingLabel } from '@material/floating-label';\nimport { MDCSelectHelperText } from '@material/select/helper-text';\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { isMobileDevice } from '../../util/device';\nimport {\n ENTER,\n ENTER_KEY_CODE,\n SPACE,\n SPACE_KEY_CODE,\n} from '../../util/keycodes';\nimport { isMultiple } from '../../util/multiple';\nimport { createRandomString } from '../../util/random-string';\nimport { SelectTemplate, triggerIconColorWarning } from './select.template';\n\n/**\n * @exampleComponent limel-example-select\n * @exampleComponent limel-example-select-with-icons\n * @exampleComponent limel-example-select-multiple\n * @exampleComponent limel-example-select-with-empty-option\n * @exampleComponent limel-example-select-preselected\n * @exampleComponent limel-example-select-change-options\n * @exampleComponent limel-example-select-dialog\n */\n@Component({\n tag: 'limel-select',\n shadow: true,\n styleUrl: 'select.scss',\n})\nexport class Select {\n /**\n * Set to `true` to make the field disabled.\n * and visually shows that the `select` component is editable but disabled.\n * This tells the users that if certain requirements are met,\n * the component may become interactable.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * Set to `true` to make the field read-only.\n * This visualizes the component slightly differently.\n * But shows no visual sign indicating that the component is disabled\n * or can ever become interactable.\n */\n @Prop({ reflect: true })\n public readonly = false;\n\n /**\n * Set to `true` to indicate that the current value of the select is\n * invalid.\n */\n @Prop({ reflect: true })\n public invalid: boolean;\n\n /**\n * True if the control requires a value.\n */\n @Prop({ reflect: true })\n public required = false;\n\n /**\n * Text to display next to the select.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Optional helper text to display below the input field when it has focus.\n */\n @Prop({ reflect: true })\n public helperText: string;\n\n /**\n * Currently selected value or values.\n * If `multiple` is `true`, this must be an array. Otherwise it must be a\n * single value.\n */\n @Prop()\n public value: Option | Option[];\n\n /**\n * List of options.\n */\n @Prop()\n public options: Option[] = [];\n\n /**\n * Set to `true` to allow multiple values to be selected.\n */\n @Prop()\n public multiple: boolean = false;\n\n /**\n * Emitted when the value is changed.\n */\n @Event()\n private change: EventEmitter<Option | Option[]>;\n\n @Element()\n private host: HTMLLimelSelectElement;\n\n @State()\n private menuOpen: boolean = false;\n\n private hasChanged: boolean = false;\n private checkValid: boolean = false;\n private mdcSelectHelperText: MDCSelectHelperText;\n private mdcFloatingLabel: MDCFloatingLabel;\n private isMobileDevice: boolean;\n private portalId: string;\n\n constructor() {\n this.handleMenuChange = this.handleMenuChange.bind(this);\n this.handleNativeChange = this.handleNativeChange.bind(this);\n this.handleMenuTriggerKeyPress =\n this.handleMenuTriggerKeyPress.bind(this);\n this.openMenu = this.openMenu.bind(this);\n this.closeMenu = this.closeMenu.bind(this);\n\n this.portalId = createRandomString();\n }\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentWillLoad() {\n this.isMobileDevice = isMobileDevice();\n\n // It should not be possible to render the native select for consumers, but we still want to make it testable.\n // We can set this attribute in tests to force rendering of the native select\n if (this.host.hasAttribute('data-native')) {\n this.isMobileDevice = true;\n }\n }\n\n public componentDidLoad() {\n this.initialize();\n triggerIconColorWarning(this.options);\n }\n\n private initialize() {\n let element: HTMLElement;\n element = this.host.shadowRoot.querySelector('.mdc-floating-label');\n if (!element) {\n return;\n }\n\n this.mdcFloatingLabel = new MDCFloatingLabel(element);\n\n element = this.host.shadowRoot.querySelector('.mdc-select-helper-text');\n if (element) {\n this.mdcSelectHelperText = new MDCSelectHelperText(element);\n }\n }\n\n public disconnectedCallback() {\n if (this.mdcFloatingLabel) {\n this.mdcFloatingLabel.destroy();\n }\n\n if (this.mdcSelectHelperText) {\n this.mdcSelectHelperText.destroy();\n }\n }\n\n public componentDidUpdate() {\n if (this.menuOpen) {\n this.setMenuFocus();\n }\n }\n\n public render() {\n const dropdownZIndex = getComputedStyle(this.host).getPropertyValue(\n '--dropdown-z-index',\n );\n\n return (\n <SelectTemplate\n id={this.portalId}\n disabled={this.disabled || this.readonly}\n readonly={this.readonly}\n required={this.required}\n invalid={this.invalid}\n label={this.label}\n helperText={this.helperText}\n value={this.value}\n options={this.options}\n onMenuChange={this.handleMenuChange}\n onNativeChange={this.handleNativeChange}\n onTriggerPress={this.handleMenuTriggerKeyPress}\n multiple={this.multiple}\n isOpen={this.menuOpen}\n open={this.openMenu}\n close={this.closeMenu}\n checkValid={this.checkValid}\n native={this.isMobileDevice}\n dropdownZIndex={dropdownZIndex}\n />\n );\n }\n\n @Watch('menuOpen')\n protected watchOpen(newValue: boolean, oldValue: boolean) {\n if (this.checkValid) {\n return;\n }\n\n // Menu was closed for the first time\n if (!newValue && oldValue) {\n this.checkValid = true;\n }\n }\n\n private setMenuFocus() {\n if (this.isMobileDevice) {\n return;\n }\n\n setTimeout(() => {\n const list: HTMLElement = document.querySelector(\n `#${this.portalId} limel-menu-surface limel-list`,\n );\n const firstItem: HTMLElement =\n list?.shadowRoot?.querySelector('[tabindex]');\n\n if (firstItem) {\n firstItem.focus();\n }\n });\n }\n\n private setTriggerFocus() {\n const trigger: HTMLElement = this.host.shadowRoot.querySelector(\n '.limel-select-trigger',\n );\n trigger.focus();\n }\n\n private handleMenuChange(\n event: CustomEvent<Array<ListItem<Option>> | ListItem<Option>>,\n ) {\n event.stopPropagation();\n\n if (isMultiple(event.detail)) {\n const listItems: ListItem[] = event.detail;\n const options: Option[] = listItems.map((item) => item.value);\n this.change.emit(options);\n\n return;\n }\n\n if (!event.detail.selected) {\n return;\n }\n\n const listItem: ListItem = event.detail;\n const option: Option = listItem.value;\n if (option.disabled) {\n return;\n }\n\n this.change.emit(option);\n this.menuOpen = false;\n this.setTriggerFocus();\n }\n\n private openMenu() {\n if (this.emitFirstChangeEvent()) {\n this.hasChanged = true;\n this.change.emit(this.options[0]);\n }\n\n this.menuOpen = true;\n }\n\n private emitFirstChangeEvent() {\n return !this.hasChanged && this.isMobileDevice && !this.value;\n }\n\n private closeMenu() {\n this.menuOpen = false;\n this.setTriggerFocus();\n }\n\n private handleMenuTriggerKeyPress(event: KeyboardEvent) {\n const isEnter = event.key === ENTER || event.keyCode === ENTER_KEY_CODE;\n const isSpace = event.key === SPACE || event.keyCode === SPACE_KEY_CODE;\n\n if (!this.menuOpen && (isSpace || isEnter)) {\n event.stopPropagation();\n event.preventDefault();\n this.menuOpen = true;\n }\n }\n\n private handleNativeChange(event: Event) {\n event.stopPropagation();\n\n const element: HTMLSelectElement = this.host.shadowRoot.querySelector(\n 'select.limel-select__native-control',\n );\n const options = Array.apply(null, element.options) // eslint-disable-line prefer-spread\n .filter((optionElement: HTMLOptionElement) => {\n return !!optionElement.selected;\n })\n .map((optionElement: HTMLOptionElement) => {\n return this.options.find(\n (o) => o.value === optionElement.value,\n );\n });\n\n if (this.multiple) {\n this.change.emit(options);\n\n return;\n }\n\n this.change.emit(options[0]);\n this.menuOpen = false;\n }\n}\n"]}
|
|
@@ -629,7 +629,11 @@
|
|
|
629
629
|
position: relative;
|
|
630
630
|
display: flex;
|
|
631
631
|
flex-direction: column;
|
|
632
|
-
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
.mdc-slider {
|
|
635
|
+
height: 2.5rem;
|
|
636
|
+
margin: 0 0.75rem;
|
|
633
637
|
}
|
|
634
638
|
|
|
635
639
|
.mdc-floating-label,
|
|
@@ -639,7 +643,7 @@
|
|
|
639
643
|
|
|
640
644
|
.slider__label {
|
|
641
645
|
padding-left: 1.25rem;
|
|
642
|
-
top: 0.
|
|
646
|
+
top: 0.75rem;
|
|
643
647
|
color: rgba(var(--contrast-1200), 1);
|
|
644
648
|
}
|
|
645
649
|
:host(limel-slider.disabled:not(.readonly)) .slider__label {
|
|
@@ -650,23 +654,19 @@
|
|
|
650
654
|
display: flex;
|
|
651
655
|
order: 2;
|
|
652
656
|
justify-content: space-between;
|
|
653
|
-
width: calc(100% - 1.5rem);
|
|
654
657
|
margin: 0 auto;
|
|
655
|
-
margin-top: -
|
|
658
|
+
margin-top: -0.75rem;
|
|
659
|
+
width: 100%;
|
|
656
660
|
}
|
|
657
661
|
|
|
658
662
|
.slider__content-min-label,
|
|
659
663
|
.slider__content-max-label {
|
|
664
|
+
line-height: 1;
|
|
660
665
|
transition: opacity 0.2s ease;
|
|
661
666
|
opacity: 0.7;
|
|
662
667
|
font-size: 0.75rem;
|
|
663
|
-
top: 1.25rem;
|
|
664
668
|
color: rgba(var(--contrast-1200), 1);
|
|
665
669
|
}
|
|
666
|
-
.slider:hover .slider__content-min-label,
|
|
667
|
-
.slider:hover .slider__content-max-label {
|
|
668
|
-
opacity: 1;
|
|
669
|
-
}
|
|
670
670
|
|
|
671
671
|
.mdc-slider__track:before, .mdc-slider__track:after {
|
|
672
672
|
content: "";
|
|
@@ -887,6 +887,9 @@
|
|
|
887
887
|
right: -1.75rem;
|
|
888
888
|
}
|
|
889
889
|
|
|
890
|
+
.mdc-slider .mdc-slider__thumb {
|
|
891
|
+
top: -0.25rem;
|
|
892
|
+
}
|
|
890
893
|
.mdc-slider .mdc-slider__value-indicator-container {
|
|
891
894
|
z-index: 1;
|
|
892
895
|
}
|
|
@@ -25,7 +25,7 @@ $input-text-leading-icon-color: rgb(var(--contrast-900));
|
|
|
25
25
|
$input-text-color-disabled: rgba(var(--contrast-1400), 0.5);
|
|
26
26
|
$helper-text-color: $label-color;
|
|
27
27
|
|
|
28
|
-
$height-of-mdc-text-field:
|
|
28
|
+
$height-of-mdc-text-field: 2.5rem; //This is written directly in `rem`, becurse the variable used to calculate things elsewhere
|
|
29
29
|
$height-of-mdc-helper-text-block: 0.9375rem;
|
|
30
30
|
|
|
31
31
|
$mdc-chip-background-color: rgb(var(--contrast-100));
|
|
@@ -119,6 +119,15 @@ $cropped-label-hack--font-size: 0.875rem; //14px
|
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
121
|
}
|
|
122
|
+
|
|
123
|
+
.mdc-floating-label--float-above {
|
|
124
|
+
transform: translateY(#{functions.pxToRem(-27)}) scale(0.75) !important;
|
|
125
|
+
|
|
126
|
+
.mdc-text-field--with-leading-icon & {
|
|
127
|
+
transform: translateY(#{functions.pxToRem(-25)})
|
|
128
|
+
translateX(#{functions.pxToRem(-20)}) scale(0.75) !important;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
122
131
|
}
|
|
123
132
|
|
|
124
133
|
@mixin outlined-style-overrides {
|
|
@@ -325,7 +334,7 @@ $cropped-label-hack--font-size: 0.875rem; //14px
|
|
|
325
334
|
|
|
326
335
|
limel-icon {
|
|
327
336
|
width: 1.5rem;
|
|
328
|
-
margin-right: 0.
|
|
337
|
+
margin-right: 0.25rem;
|
|
329
338
|
}
|
|
330
339
|
}
|
|
331
340
|
|