@oscarpalmer/oui 0.37.0 → 0.39.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/dist/css/a11y.css +1 -0
- package/dist/css/badge.css +12 -8
- package/dist/css/button.css +111 -14
- package/dist/css/color-picker.css +859 -0
- package/dist/css/color.css +86 -87
- package/dist/css/combobox.css +105 -4
- package/dist/css/content.css +8 -6
- package/dist/css/floatable.css +3 -3
- package/dist/css/form.css +106 -6
- package/dist/css/icon.css +99 -0
- package/dist/css/listbox.css +5 -0
- package/dist/css/message.css +6 -3
- package/dist/css/mixins/badge.mixins.css +2 -0
- package/dist/css/mixins/button.mixins.css +3 -0
- package/dist/css/mixins/message.mixins.css +1 -0
- package/dist/css/mixins/misc.mixins.css +2 -0
- package/dist/css/mixins/shadow.mixins.css +1 -0
- package/dist/css/reset.css +3 -3
- package/dist/css/splitter.css +1 -1
- package/dist/css/tabs.css +115 -23
- package/dist/css/typography.css +90 -0
- package/dist/js/color-picker/constants.color-picker.d.mts +2 -0
- package/dist/js/color-picker/constants.color-picker.mjs +59 -0
- package/dist/js/color-picker/dom.color-picker.d.mts +8 -0
- package/dist/js/color-picker/dom.color-picker.mjs +191 -0
- package/dist/js/color-picker/event.color-picker.d.mts +9 -0
- package/dist/js/color-picker/event.color-picker.mjs +2 -0
- package/dist/js/color-picker/form.color-picker.d.mts +5 -0
- package/dist/js/color-picker/form.color-picker.mjs +24 -0
- package/dist/js/color-picker/index.d.mts +2 -0
- package/dist/js/color-picker/index.mjs +303 -0
- package/dist/js/color-picker/misc.color-picker.d.mts +2 -0
- package/dist/js/color-picker/misc.color-picker.mjs +2 -0
- package/dist/js/color-picker/models.color-picker.d.mts +2 -0
- package/dist/js/color-picker/models.color-picker.mjs +24 -0
- package/dist/js/color-picker/output.color-picker.d.mts +8 -0
- package/dist/js/color-picker/output.color-picker.mjs +233 -0
- package/dist/js/color-picker/state.color-picker.d.mts +8 -0
- package/dist/js/color-picker/state.color-picker.mjs +2 -0
- package/dist/js/combobox/constants.combobox.d.mts +1 -1
- package/dist/js/combobox/dom.combobox.d.mts +12 -13
- package/dist/js/combobox/dom.combobox.mjs +12 -5
- package/dist/js/combobox/event.combobox.d.mts +20 -21
- package/dist/js/combobox/event.combobox.mjs +1 -1
- package/dist/js/combobox/index.d.mts +1 -1
- package/dist/js/combobox/index.mjs +56 -2
- package/dist/js/combobox/misc.combobox.d.mts +1 -1
- package/dist/js/combobox/misc.combobox.mjs +1 -1
- package/dist/js/combobox/models.combobox.d.mts +12 -13
- package/dist/js/combobox/state.combobox.d.mts +8 -9
- package/dist/js/combobox/state.combobox.mjs +1 -1
- package/dist/js/constants.color-picker-B-gFjL8m.d.mts +364 -0
- package/dist/js/constants.combobox-8EMRmv09.d.mts +18 -0
- package/dist/js/constants.listbox-DGnX32kv.d.mts +8 -0
- package/dist/js/dialog.d.mts +2 -2
- package/dist/js/dialog.mjs +1 -1
- package/dist/js/{draggable-a6w0J1OD.d.mts → draggable-B5-70SZm.d.mts} +5 -4
- package/dist/js/event.color-picker-BEpq0Adu.mjs +485 -0
- package/dist/js/floatable/floatable.embedded.d.mts +1 -1
- package/dist/js/floatable/floatable.embedded.mjs +11 -8
- package/dist/js/floatable/floatable.standalone.d.mts +1 -1
- package/dist/js/{floatable.embedded-Bct4U5Dm.d.mts → floatable.embedded-DQYkXt8X.d.mts} +1 -1
- package/dist/js/focus-trap/focus-trap.embedded.d.mts +1 -1
- package/dist/js/focus-trap/focus-trap.standalone.d.mts +1 -1
- package/dist/js/{focus-trap.embedded-DR8NpZfr.d.mts → focus-trap.embedded-CjyFQYow.d.mts} +2 -2
- package/dist/js/{index-EfkUSals.d.mts → index-C5D3-oiI.d.mts} +41 -3
- package/dist/js/index.d.mts +8 -7
- package/dist/js/index.mjs +6 -3
- package/dist/js/internal/attributable.d.mts +2 -3
- package/dist/js/internal/draggable.d.mts +1 -1
- package/dist/js/internal/draggable.mjs +1 -1
- package/dist/js/internal/listbox/listbox.constants.d.mts +7 -10
- package/dist/js/internal/listbox/listbox.constants.mjs +15 -16
- package/dist/js/internal/listbox/listbox.data.d.mts +9 -10
- package/dist/js/internal/listbox/listbox.data.mjs +1 -1
- package/dist/js/internal/listbox/listbox.dom.d.mts +19 -20
- package/dist/js/internal/listbox/listbox.dom.mjs +1 -1
- package/dist/js/internal/listbox/listbox.event.d.mts +3 -4
- package/dist/js/internal/listbox/listbox.event.mjs +4 -4
- package/dist/js/internal/listbox/listbox.form.d.mts +4 -5
- package/dist/js/internal/listbox/listbox.form.mjs +16 -15
- package/dist/js/internal/listbox/listbox.misc.d.mts +10 -11
- package/dist/js/internal/listbox/listbox.misc.mjs +1 -1
- package/dist/js/internal/listbox/listbox.model.d.mts +1 -1
- package/dist/js/internal/listbox/listbox.state.d.mts +5 -6
- package/dist/js/internal/listbox/listbox.state.mjs +3 -3
- package/dist/js/internal/misc.d.mts +4 -4
- package/dist/js/internal/misc.mjs +9 -1
- package/dist/js/internal/navigable.d.mts +9 -10
- package/dist/js/internal/navigable.mjs +1 -0
- package/dist/js/listbox/constants.listbox.d.mts +1 -1
- package/dist/js/listbox/event.listbox.d.mts +6 -7
- package/dist/js/listbox/event.listbox.mjs +1 -1
- package/dist/js/listbox/index.d.mts +43 -5
- package/dist/js/listbox/index.mjs +56 -2
- package/dist/js/listbox/misc.listbox.d.mts +1 -1
- package/dist/js/listbox/misc.listbox.mjs +1 -1
- package/dist/js/listbox/state.listbox.d.mts +7 -8
- package/dist/js/listbox/state.listbox.mjs +1 -1
- package/dist/js/{listbox.data-BWd0PCy7.mjs → listbox.data-DQ7-x2uY.mjs} +8 -7
- package/dist/js/{listbox.model-CRReGOmu.d.mts → listbox.model-BHPA7GM4.d.mts} +3 -3
- package/dist/js/menu.mjs +1 -1
- package/dist/js/{misc.listbox-BI-XsTOf.mjs → misc.listbox-DKB-j0UK.mjs} +4 -5
- package/dist/js/{misc.listbox-gnoJhrTr.d.mts → misc.listbox-mZMuYOxg.d.mts} +1 -1
- package/dist/js/movable/movable.embedded.d.mts +1 -1
- package/dist/js/movable/movable.standalone.d.mts +1 -1
- package/dist/js/popover.d.mts +2 -2
- package/dist/js/popover.mjs +1 -1
- package/dist/js/resizable/resizable.embedded.d.mts +1 -1
- package/dist/js/resizable/resizable.embedded.mjs +1 -1
- package/dist/js/resizable/resizable.standalone.d.mts +1 -1
- package/dist/js/{resizable.embedded-3qoR0Bjm.d.mts → resizable.embedded-dvhdfQgt.d.mts} +1 -1
- package/dist/js/sortable/sortable.embedded.d.mts +1 -1
- package/dist/js/sortable/sortable.standalone.d.mts +1 -1
- package/dist/js/splitter.d.mts +2 -3
- package/dist/js/splitter.mjs +2 -2
- package/dist/js/{state.combobox-4xq0FPCF.mjs → state.combobox-BWDFHwoi.mjs} +9 -9
- package/dist/js/tabs.d.mts +4 -5
- package/dist/js/tabs.mjs +4 -7
- package/dist/js/tooltip.d.mts +1 -1
- package/package.json +24 -22
- package/dist/js/constants.combobox-DmRAMC64.d.mts +0 -26
- package/dist/js/constants.listbox-DRsXUxd3.d.mts +0 -14
- package/src/css/a11y.scss +0 -13
- package/src/css/badge.scss +0 -62
- package/src/css/button.scss +0 -50
- package/src/css/color.scss +0 -115
- package/src/css/combobox.scss +0 -252
- package/src/css/content.scss +0 -180
- package/src/css/flex.scss +0 -107
- package/src/css/floatable.scss +0 -152
- package/src/css/form.scss +0 -573
- package/src/css/listbox.scss +0 -120
- package/src/css/message.scss +0 -73
- package/src/css/mixins.scss +0 -419
- package/src/css/reset.scss +0 -392
- package/src/css/splitter.scss +0 -89
- package/src/css/table.scss +0 -107
- package/src/css/tabs.scss +0 -85
- package/src/js/combobox/constants.combobox.ts +0 -83
- package/src/js/combobox/dom.combobox.ts +0 -407
- package/src/js/combobox/event.combobox.ts +0 -365
- package/src/js/combobox/index.ts +0 -320
- package/src/js/combobox/misc.combobox.ts +0 -104
- package/src/js/combobox/models.combobox.ts +0 -54
- package/src/js/combobox/state.combobox.ts +0 -246
- package/src/js/dialog.ts +0 -255
- package/src/js/floatable/floatable.embedded.ts +0 -332
- package/src/js/floatable/floatable.standalone.ts +0 -6
- package/src/js/focus-trap/focus-trap.embedded.ts +0 -411
- package/src/js/focus-trap/focus-trap.standalone.ts +0 -1
- package/src/js/index.ts +0 -15
- package/src/js/internal/attributable.ts +0 -73
- package/src/js/internal/draggable.ts +0 -657
- package/src/js/internal/listbox/listbox.constants.ts +0 -25
- package/src/js/internal/listbox/listbox.data.ts +0 -287
- package/src/js/internal/listbox/listbox.dom.ts +0 -445
- package/src/js/internal/listbox/listbox.event.ts +0 -129
- package/src/js/internal/listbox/listbox.form.ts +0 -115
- package/src/js/internal/listbox/listbox.misc.ts +0 -135
- package/src/js/internal/listbox/listbox.model.ts +0 -169
- package/src/js/internal/listbox/listbox.state.ts +0 -82
- package/src/js/internal/misc.ts +0 -27
- package/src/js/internal/navigable.ts +0 -315
- package/src/js/l10n.ts +0 -192
- package/src/js/listbox/constants.listbox.ts +0 -61
- package/src/js/listbox/event.listbox.ts +0 -106
- package/src/js/listbox/index.ts +0 -302
- package/src/js/listbox/misc.listbox.ts +0 -70
- package/src/js/listbox/state.listbox.ts +0 -196
- package/src/js/menu.ts +0 -348
- package/src/js/movable/movable.embedded.ts +0 -318
- package/src/js/movable/movable.standalone.ts +0 -2
- package/src/js/popover.ts +0 -229
- package/src/js/resizable/resizable.embedded.ts +0 -413
- package/src/js/resizable/resizable.standalone.ts +0 -5
- package/src/js/sortable/sortable.embedded.ts +0 -527
- package/src/js/sortable/sortable.standalone.ts +0 -2
- package/src/js/splitter.ts +0 -583
- package/src/js/tabs.ts +0 -447
- package/src/js/toolbar.ts +0 -63
- package/src/js/tooltip.ts +0 -367
- /package/dist/css/{mixins.css → mixins/input.mixins.css} +0 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { COLOR_PICKER_ATTRIBUTE_COPY, COLOR_PICKER_ATTRIBUTE_WELL, COLOR_PICKER_ATTRIBUTE_WELL_KNOB, COLOR_PICKER_TAGNAME, colorPickerLocalizations } from "./constants.color-picker.mjs";
|
|
2
|
+
import { createColorPickerOutput } from "./output.color-picker.mjs";
|
|
3
|
+
import { createElement } from "@oscarpalmer/toretto/create";
|
|
4
|
+
//#region src/js/color-picker/dom.color-picker.ts
|
|
5
|
+
function createColorPickerAnchor(parameters) {
|
|
6
|
+
const { alpha, color, id, inline } = parameters;
|
|
7
|
+
const container = createElement("div", { attribute: { [`${COLOR_PICKER_TAGNAME}-anchor`]: "" } });
|
|
8
|
+
const input = createElement("input", {
|
|
9
|
+
attribute: {
|
|
10
|
+
[`${COLOR_PICKER_TAGNAME}-input`]: "",
|
|
11
|
+
autocomplete: "off",
|
|
12
|
+
autocorrect: "off",
|
|
13
|
+
form: "",
|
|
14
|
+
inputmode: "text",
|
|
15
|
+
placeholder: parameters.input.placeholder,
|
|
16
|
+
spellcheck: "false"
|
|
17
|
+
},
|
|
18
|
+
property: {
|
|
19
|
+
id,
|
|
20
|
+
type: "text",
|
|
21
|
+
value: alpha ? color.hexa : color.hex
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
let toggle;
|
|
25
|
+
if (!inline) toggle = createElement("button", {
|
|
26
|
+
aria: { label: "" },
|
|
27
|
+
attribute: {
|
|
28
|
+
[`${COLOR_PICKER_TAGNAME}-toggle`]: "",
|
|
29
|
+
popovertarget: `${id}_content`
|
|
30
|
+
},
|
|
31
|
+
property: { type: "button" }
|
|
32
|
+
});
|
|
33
|
+
let copy;
|
|
34
|
+
if (parameters.copy) copy = createColorPickerCopy(parameters, "hex");
|
|
35
|
+
container.append(input);
|
|
36
|
+
if (toggle != null) container.append(toggle);
|
|
37
|
+
if (copy != null) container.append(copy.button);
|
|
38
|
+
return {
|
|
39
|
+
container,
|
|
40
|
+
copy,
|
|
41
|
+
input,
|
|
42
|
+
toggle
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function createColorPickerContent(parameters) {
|
|
46
|
+
const { id, inline } = parameters;
|
|
47
|
+
const element = createElement("div", {
|
|
48
|
+
attribute: {
|
|
49
|
+
[`${COLOR_PICKER_TAGNAME}-content`]: "",
|
|
50
|
+
popover: inline ? void 0 : ""
|
|
51
|
+
},
|
|
52
|
+
property: { id: `${id}_content` }
|
|
53
|
+
});
|
|
54
|
+
const hue = createColorPickerHue(parameters);
|
|
55
|
+
const opacity = createColorPickerOpacity(parameters);
|
|
56
|
+
const well = createColorPickerWell(parameters);
|
|
57
|
+
let output;
|
|
58
|
+
element.append(well.element, hue.container);
|
|
59
|
+
if (opacity != null) element.append(opacity.container);
|
|
60
|
+
if (parameters.output !== "none") {
|
|
61
|
+
output = createColorPickerOutput(parameters, createColorPickerCopy(parameters));
|
|
62
|
+
if (output != null) element.append(output.container);
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
element,
|
|
66
|
+
hue,
|
|
67
|
+
opacity,
|
|
68
|
+
output,
|
|
69
|
+
well
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
function createColorPickerCopy(parameters, color) {
|
|
73
|
+
if (!parameters.copy) return;
|
|
74
|
+
return { button: createElement("button", {
|
|
75
|
+
attribute: { [COLOR_PICKER_ATTRIBUTE_COPY]: "" },
|
|
76
|
+
aria: { label: colorPickerLocalizations.defaults.copy },
|
|
77
|
+
data: { color },
|
|
78
|
+
property: {
|
|
79
|
+
textContent: colorPickerLocalizations.defaults.copy,
|
|
80
|
+
type: "button"
|
|
81
|
+
}
|
|
82
|
+
}) };
|
|
83
|
+
}
|
|
84
|
+
function createColorPickerHue(parameters) {
|
|
85
|
+
const { color, id } = parameters;
|
|
86
|
+
const container = createElement("div", { attribute: { [`${COLOR_PICKER_TAGNAME}-hue`]: "" } });
|
|
87
|
+
const label = createElement("label", {
|
|
88
|
+
attribute: { [`${COLOR_PICKER_TAGNAME}-hue-label`]: "" },
|
|
89
|
+
property: {
|
|
90
|
+
htmlFor: `${id}_hue`,
|
|
91
|
+
id: `${id}_hue_label`
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
const input = createElement("input", {
|
|
95
|
+
aria: { labelledby: `${id}_label ${label.id}` },
|
|
96
|
+
attribute: {
|
|
97
|
+
[`${COLOR_PICKER_TAGNAME}-hue-input`]: "",
|
|
98
|
+
form: "",
|
|
99
|
+
inputmode: "numeric",
|
|
100
|
+
max: 360,
|
|
101
|
+
min: 0
|
|
102
|
+
},
|
|
103
|
+
property: {
|
|
104
|
+
id: `${id}_hue`,
|
|
105
|
+
type: "range",
|
|
106
|
+
value: color.hsl.hue.toString()
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
const knob = createElement("span", {
|
|
110
|
+
aria: { hidden: true },
|
|
111
|
+
attribute: { [`${COLOR_PICKER_TAGNAME}-hue-knob`]: "" }
|
|
112
|
+
});
|
|
113
|
+
const track = createElement("div", {
|
|
114
|
+
aria: { hidden: true },
|
|
115
|
+
attribute: { [`${COLOR_PICKER_TAGNAME}-hue-track`]: "" }
|
|
116
|
+
});
|
|
117
|
+
track.append(knob);
|
|
118
|
+
container.append(label, input, track);
|
|
119
|
+
return {
|
|
120
|
+
container,
|
|
121
|
+
input,
|
|
122
|
+
knob,
|
|
123
|
+
label,
|
|
124
|
+
track
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
function createColorPickerOpacity(parameters) {
|
|
128
|
+
const { alpha, color, id } = parameters;
|
|
129
|
+
if (!alpha) return;
|
|
130
|
+
const container = createElement("div", { attribute: { [`${COLOR_PICKER_TAGNAME}-opacity`]: "" } });
|
|
131
|
+
const label = createElement("label", {
|
|
132
|
+
attribute: { [`${COLOR_PICKER_TAGNAME}-opacity-label`]: "" },
|
|
133
|
+
property: {
|
|
134
|
+
htmlFor: `${id}_opacity`,
|
|
135
|
+
id: `${id}_opacity_label`
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
const input = createElement("input", {
|
|
139
|
+
aria: { labelledby: `${id}_label ${label.id}` },
|
|
140
|
+
attribute: {
|
|
141
|
+
[`${COLOR_PICKER_TAGNAME}-opacity-input`]: "",
|
|
142
|
+
form: "",
|
|
143
|
+
max: 100,
|
|
144
|
+
min: 0
|
|
145
|
+
},
|
|
146
|
+
property: {
|
|
147
|
+
id: `${id}_opacity`,
|
|
148
|
+
type: "range",
|
|
149
|
+
value: color.alpha.toString()
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
const knob = createElement("span", {
|
|
153
|
+
aria: { hidden: true },
|
|
154
|
+
attribute: { [`${COLOR_PICKER_TAGNAME}-opacity-knob`]: "" }
|
|
155
|
+
});
|
|
156
|
+
const track = createElement("div", {
|
|
157
|
+
aria: { hidden: true },
|
|
158
|
+
attribute: { [`${COLOR_PICKER_TAGNAME}-opacity-track`]: "" }
|
|
159
|
+
});
|
|
160
|
+
track.append(knob);
|
|
161
|
+
container.append(label, input, track);
|
|
162
|
+
return {
|
|
163
|
+
container,
|
|
164
|
+
input,
|
|
165
|
+
label
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
function createColorPickerWell(parameters) {
|
|
169
|
+
const { id } = parameters;
|
|
170
|
+
const element = createElement("div", { attribute: { [COLOR_PICKER_ATTRIBUTE_WELL]: "" } });
|
|
171
|
+
const label = createElement("span", { property: {
|
|
172
|
+
id: `${id}_well_label`,
|
|
173
|
+
hidden: true
|
|
174
|
+
} });
|
|
175
|
+
const knob = createElement("span", {
|
|
176
|
+
aria: { labelledby: `${id}_label ${label.id}` },
|
|
177
|
+
attribute: { [COLOR_PICKER_ATTRIBUTE_WELL_KNOB]: "" },
|
|
178
|
+
property: {
|
|
179
|
+
role: "slider",
|
|
180
|
+
tabIndex: 0
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
element.append(label, knob);
|
|
184
|
+
return {
|
|
185
|
+
element,
|
|
186
|
+
knob,
|
|
187
|
+
label
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
//#endregion
|
|
191
|
+
export { createColorPickerAnchor, createColorPickerContent, createColorPickerHue, createColorPickerOpacity, createColorPickerWell };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { L as OuiColorPickerState, M as OuiColorPickerMovement } from "../constants.color-picker-B-gFjL8m.mjs";
|
|
2
|
+
//#region src/js/color-picker/event.color-picker.d.ts
|
|
3
|
+
export declare function onColorPickerHue(state: OuiColorPickerState): void;
|
|
4
|
+
export declare function onColorPickerInput(state: OuiColorPickerState): void;
|
|
5
|
+
export declare function onColorPickerOpacity(state: OuiColorPickerState): void;
|
|
6
|
+
export declare function onColorPickerOutputFormat(state: OuiColorPickerState): void;
|
|
7
|
+
export declare function onColorPickerOutputValue(event: Event, state: OuiColorPickerState): void;
|
|
8
|
+
export declare const colorPickerMovement: OuiColorPickerMovement;
|
|
9
|
+
//#endregion
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as onColorPickerOutputFormat, i as onColorPickerOpacity, n as onColorPickerHue, o as onColorPickerOutputValue, r as onColorPickerInput, t as colorPickerMovement } from "../event.color-picker-BEpq0Adu.mjs";
|
|
2
|
+
export { colorPickerMovement, onColorPickerHue, onColorPickerInput, onColorPickerOpacity, onColorPickerOutputFormat, onColorPickerOutputValue };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { L as OuiColorPickerState } from "../constants.color-picker-B-gFjL8m.mjs";
|
|
2
|
+
//#region src/js/color-picker/form.color-picker.d.ts
|
|
3
|
+
export declare function updateColorPickerForm(state: OuiColorPickerState, valid: boolean): void;
|
|
4
|
+
export declare function updateColorPickerValidity(state: OuiColorPickerState, valid: boolean): void;
|
|
5
|
+
//#endregion
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getLocalization, localize } from "../l10n.mjs";
|
|
2
|
+
import { OuiColorPickerEvent } from "./models.color-picker.mjs";
|
|
3
|
+
import { dispatch } from "@oscarpalmer/toretto/event";
|
|
4
|
+
//#region src/js/color-picker/form.color-picker.ts
|
|
5
|
+
function updateColorPickerForm(state, valid) {
|
|
6
|
+
const { color, host, internals, value } = state;
|
|
7
|
+
internals.setFormValue(valid ? value.current : "");
|
|
8
|
+
updateColorPickerValidity(state, valid);
|
|
9
|
+
dispatch(host, new OuiColorPickerEvent("oui:change", color.value, valid));
|
|
10
|
+
}
|
|
11
|
+
function updateColorPickerValidity(state, valid) {
|
|
12
|
+
const { anchor, host, internals, localizations } = state;
|
|
13
|
+
if (valid) {
|
|
14
|
+
internals.setValidity({});
|
|
15
|
+
internals.checkValidity();
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
const localization = getLocalization(localizations.global, host, "invalid", localizations.component);
|
|
19
|
+
const message = localization == null ? void 0 : localize(localization, {}, []);
|
|
20
|
+
internals.setValidity({ typeMismatch: true }, message, anchor.input);
|
|
21
|
+
internals.checkValidity();
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { updateColorPickerForm, updateColorPickerValidity };
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { COLOR_PICKER_TAGNAME, colorPickerLocalizations } from "./constants.color-picker.mjs";
|
|
2
|
+
import { OuiColorPickerEvent } from "./models.color-picker.mjs";
|
|
3
|
+
import { _ as attachColorPicker, b as detachColorPicker, d as setColorPickerLocalizations, f as setColorPickerRequired, g as updateColorPickerLocalizations, p as setColorPickerValue, r as onColorPickerInput, u as setColorPickerDisabled, x as initializeColorPicker } from "../event.color-picker-BEpq0Adu.mjs";
|
|
4
|
+
import "@oscarpalmer/atoms/color";
|
|
5
|
+
//#region src/js/color-picker/index.ts
|
|
6
|
+
var OuiColorPickerElement = class extends HTMLElement {
|
|
7
|
+
static formAssociated = true;
|
|
8
|
+
static observedAttributes = [
|
|
9
|
+
"disabled",
|
|
10
|
+
"required",
|
|
11
|
+
"value"
|
|
12
|
+
];
|
|
13
|
+
#internals;
|
|
14
|
+
#restored;
|
|
15
|
+
#state;
|
|
16
|
+
/**
|
|
17
|
+
* Is the color picker disabled?
|
|
18
|
+
*/
|
|
19
|
+
get disabled() {
|
|
20
|
+
return this.#state?.disabled ?? false;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Should the color picker be disabled?
|
|
24
|
+
*/
|
|
25
|
+
set disabled(value) {
|
|
26
|
+
if (this.#state != null && typeof value === "boolean" && value !== this.#state.disabled) setColorPickerDisabled(this.#state, "disabled", value);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Form element associated with the color picker
|
|
30
|
+
*/
|
|
31
|
+
get form() {
|
|
32
|
+
return this.#internals.form;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Color value as hexadecimal string
|
|
36
|
+
*/
|
|
37
|
+
get hex() {
|
|
38
|
+
return this.#state?.color.value.hex ?? "";
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Set color value from a hexadecimal string
|
|
42
|
+
*/
|
|
43
|
+
set hex(value) {
|
|
44
|
+
setColorPickerValue(this.#state, value, "hex");
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Color value as hexadecimal string with alpha channel
|
|
48
|
+
*/
|
|
49
|
+
get hexa() {
|
|
50
|
+
return this.#state?.color.value.hexa ?? "";
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Set color value from a hexadecimal string with alpha channel
|
|
54
|
+
*/
|
|
55
|
+
set hexa(value) {
|
|
56
|
+
setColorPickerValue(this.#state, value, "hexa");
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Color value as an _HSL_ color object
|
|
60
|
+
*/
|
|
61
|
+
get hsl() {
|
|
62
|
+
return this.#state?.color.value.hsl ?? {
|
|
63
|
+
hue: 0,
|
|
64
|
+
lightness: 0,
|
|
65
|
+
saturation: 0
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Set color value from an _HSL_ color object
|
|
70
|
+
*/
|
|
71
|
+
set hsl(value) {
|
|
72
|
+
setColorPickerValue(this.#state, value, "hsl");
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Color value as an _HSLA_ color object _(HSL with alpha channel)_
|
|
76
|
+
*/
|
|
77
|
+
get hsla() {
|
|
78
|
+
return this.#state?.color.value.hsla ?? {
|
|
79
|
+
hue: 0,
|
|
80
|
+
lightness: 0,
|
|
81
|
+
saturation: 0,
|
|
82
|
+
alpha: 100
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Set color value from an _HSLA_ color object _(HSL with alpha channel)_
|
|
87
|
+
*/
|
|
88
|
+
set hsla(value) {
|
|
89
|
+
setColorPickerValue(this.#state, value, "hsla");
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Color value as an _HWB_ color object
|
|
93
|
+
*/
|
|
94
|
+
get hwb() {
|
|
95
|
+
return this.#state?.color.value.hwb ?? {
|
|
96
|
+
hue: 0,
|
|
97
|
+
whiteness: 0,
|
|
98
|
+
blackness: 0
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Set color value from an _HWB_ color object
|
|
103
|
+
*/
|
|
104
|
+
set hwb(value) {
|
|
105
|
+
setColorPickerValue(this.#state, value, "hwb");
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Color value as an _HWBA_ color object _(HWB with alpha channel)_
|
|
109
|
+
*/
|
|
110
|
+
get hwba() {
|
|
111
|
+
return this.#state?.color.value.hwba ?? {
|
|
112
|
+
hue: 0,
|
|
113
|
+
whiteness: 0,
|
|
114
|
+
blackness: 0,
|
|
115
|
+
alpha: 100
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Set color value from an _HWBA_ color object _(HWB with alpha channel)_
|
|
120
|
+
*/
|
|
121
|
+
set hwba(value) {
|
|
122
|
+
setColorPickerValue(this.#state, value, "hwba");
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Text input value
|
|
126
|
+
*/
|
|
127
|
+
get input() {
|
|
128
|
+
return this.#state?.anchor.input.value ?? "";
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Label elements associated with the color picker
|
|
132
|
+
*/
|
|
133
|
+
get labels() {
|
|
134
|
+
return this.#internals.labels;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Is the color picker readonly?
|
|
138
|
+
*/
|
|
139
|
+
get readonly() {
|
|
140
|
+
return this.#state?.readonly ?? false;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Should the color picker be readonly?
|
|
144
|
+
*/
|
|
145
|
+
set readonly(value) {
|
|
146
|
+
if (this.#state != null && typeof value === "boolean" && value !== this.#state.readonly) setColorPickerDisabled(this.#state, "readonly", value);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Is the color picker required?
|
|
150
|
+
*/
|
|
151
|
+
get required() {
|
|
152
|
+
return this.#state?.required ?? false;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Should the color picker be required?
|
|
156
|
+
*/
|
|
157
|
+
set required(value) {
|
|
158
|
+
if (this.#state != null && typeof value === "boolean" && value !== this.#state.required) setColorPickerRequired(this.#state, value);
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Color value as an _RGB_ color object
|
|
162
|
+
*/
|
|
163
|
+
get rgb() {
|
|
164
|
+
return this.#state?.color.value.rgb ?? {
|
|
165
|
+
red: 0,
|
|
166
|
+
green: 0,
|
|
167
|
+
blue: 0
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Set color value from an _RGB_ color object
|
|
172
|
+
*/
|
|
173
|
+
set rgb(value) {
|
|
174
|
+
setColorPickerValue(this.#state, value, "rgb");
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Color value as an _RGBA_ color object _(RGB with alpha channel)_
|
|
178
|
+
*/
|
|
179
|
+
get rgba() {
|
|
180
|
+
return this.#state?.color.value.rgba ?? {
|
|
181
|
+
red: 0,
|
|
182
|
+
green: 0,
|
|
183
|
+
blue: 0,
|
|
184
|
+
alpha: 100
|
|
185
|
+
};
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Set color value from an _RGBA_ color object _(RGB with alpha channel)_
|
|
189
|
+
*/
|
|
190
|
+
set rgba(value) {
|
|
191
|
+
setColorPickerValue(this.#state, value, "rgba");
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Validation message for the color picker
|
|
195
|
+
*/
|
|
196
|
+
get validationMessage() {
|
|
197
|
+
return this.#internals.validationMessage;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Validity state for the color picker
|
|
201
|
+
*/
|
|
202
|
+
get validity() {
|
|
203
|
+
return this.#internals.validity;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Current color value
|
|
207
|
+
*/
|
|
208
|
+
get value() {
|
|
209
|
+
return this.#state?.value.current ?? "";
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Set color value from a string, _HSL(A)_, _HWB(A)_, or _RGB(A)_ color object
|
|
213
|
+
*/
|
|
214
|
+
set value(value) {
|
|
215
|
+
if (typeof value === "string") {
|
|
216
|
+
this.#state.anchor.input.value = value;
|
|
217
|
+
onColorPickerInput(this.#state);
|
|
218
|
+
} else setColorPickerValue(this.#state, value);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Can the color picker be validated?
|
|
222
|
+
*/
|
|
223
|
+
get willValidate() {
|
|
224
|
+
return this.#internals.willValidate;
|
|
225
|
+
}
|
|
226
|
+
constructor() {
|
|
227
|
+
super();
|
|
228
|
+
this.#internals = this.attachInternals();
|
|
229
|
+
}
|
|
230
|
+
attributeChangedCallback(name, _, value) {
|
|
231
|
+
if (this.#state == null) return;
|
|
232
|
+
switch (name) {
|
|
233
|
+
case "disabled":
|
|
234
|
+
this.disabled = value != null;
|
|
235
|
+
break;
|
|
236
|
+
case "required":
|
|
237
|
+
this.required = value != null;
|
|
238
|
+
break;
|
|
239
|
+
case "value": this.value = value ?? "";
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Check if the color picker is valid
|
|
244
|
+
*
|
|
245
|
+
* @returns `true` if the color picker is valid, otherwise `false`
|
|
246
|
+
*/
|
|
247
|
+
checkValidity() {
|
|
248
|
+
return this.#internals.checkValidity();
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Clear the color picker's value
|
|
252
|
+
*/
|
|
253
|
+
clear() {
|
|
254
|
+
this.value = "";
|
|
255
|
+
}
|
|
256
|
+
connectedCallback() {
|
|
257
|
+
if (this.#state == null) this.#initialize();
|
|
258
|
+
else attachColorPicker(this.#state);
|
|
259
|
+
}
|
|
260
|
+
disconnectedCallback() {
|
|
261
|
+
if (this.#state != null) detachColorPicker(this.#state);
|
|
262
|
+
}
|
|
263
|
+
formDisabledCallback(disabled) {
|
|
264
|
+
this.disabled = disabled;
|
|
265
|
+
}
|
|
266
|
+
formResetCallback() {
|
|
267
|
+
this.value = this.#state?.value.initial ?? "";
|
|
268
|
+
}
|
|
269
|
+
formStateRestoreCallback(state, reason) {
|
|
270
|
+
if (reason !== "restore" || typeof state !== "string" || this.#state == null) return;
|
|
271
|
+
if (this.#state == null) this.#restored = state;
|
|
272
|
+
else this.value = state;
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Check if the color picker is valid and report any validation errors
|
|
276
|
+
*
|
|
277
|
+
* @returns `true` if the color picker is valid, otherwise `false`
|
|
278
|
+
*/
|
|
279
|
+
reportValidity() {
|
|
280
|
+
return this.#internals.reportValidity();
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Set a custom validation message for the color picker
|
|
284
|
+
*
|
|
285
|
+
* @param message Validation message
|
|
286
|
+
*/
|
|
287
|
+
setCustomValidity(message) {
|
|
288
|
+
this.#internals.setValidity({ customError: message !== "" }, message, this);
|
|
289
|
+
}
|
|
290
|
+
setLocalizations(first, second) {
|
|
291
|
+
updateColorPickerLocalizations(colorPickerLocalizations, this.#state.localizations.component, first, second);
|
|
292
|
+
}
|
|
293
|
+
#initialize() {
|
|
294
|
+
this.#state = initializeColorPicker(this, this.#internals);
|
|
295
|
+
if (this.#restored != null) {
|
|
296
|
+
this.value = this.#restored;
|
|
297
|
+
this.#restored = void 0;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
customElements.define(COLOR_PICKER_TAGNAME, OuiColorPickerElement);
|
|
302
|
+
//#endregion
|
|
303
|
+
export { OuiColorPickerElement, OuiColorPickerEvent, setColorPickerLocalizations };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { G as setColorPickerLocalizations, H as getColorPickerOutput, J as setColorPickerValues, K as setColorPickerRequired, U as getColorPickerValueType, V as getColorPickerId, W as setColorPickerDisabled, X as updateColorPickerLocalizations, Y as updateColorPickerLabels, q as setColorPickerValue } from "../constants.color-picker-B-gFjL8m.mjs";
|
|
2
|
+
export { getColorPickerId, getColorPickerOutput, getColorPickerValueType, setColorPickerDisabled, setColorPickerLocalizations, setColorPickerRequired, setColorPickerValue, setColorPickerValues, updateColorPickerLabels, updateColorPickerLocalizations };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { c as getColorPickerOutput, d as setColorPickerLocalizations, f as setColorPickerRequired, g as updateColorPickerLocalizations, h as updateColorPickerLabels, l as getColorPickerValueType, m as setColorPickerValues, p as setColorPickerValue, s as getColorPickerId, u as setColorPickerDisabled } from "../event.color-picker-BEpq0Adu.mjs";
|
|
2
|
+
export { getColorPickerId, getColorPickerOutput, getColorPickerValueType, setColorPickerDisabled, setColorPickerLocalizations, setColorPickerRequired, setColorPickerValue, setColorPickerValues, updateColorPickerLabels, updateColorPickerLocalizations };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { A as OuiColorPickerEvent, C as OuiColorPickerContent, D as OuiColorPickerContentWell, E as OuiColorPickerContentOutput, F as OuiColorPickerOutputColorProperty, I as OuiColorPickerOutputType, L as OuiColorPickerState, M as OuiColorPickerMovement, N as OuiColorPickerMovementParameters, O as OuiColorPickerCopy, P as OuiColorPickerOutputColor, R as OuiColorPickerStateLocalizations, S as OuiColorPickerColor, T as OuiColorPickerContentOpacity, j as OuiColorPickerLocalizations, k as OuiColorPickerCreateParameters, w as OuiColorPickerContentHue, x as OuiColorPickerAnchor, z as OuiColorPickerValueType } from "../constants.color-picker-B-gFjL8m.mjs";
|
|
2
|
+
export { OuiColorPickerAnchor, OuiColorPickerColor, OuiColorPickerContent, OuiColorPickerContentHue, OuiColorPickerContentOpacity, OuiColorPickerContentOutput, OuiColorPickerContentWell, OuiColorPickerCopy, OuiColorPickerCreateParameters, OuiColorPickerEvent, OuiColorPickerLocalizations, OuiColorPickerMovement, OuiColorPickerMovementParameters, OuiColorPickerOutputColor, OuiColorPickerOutputColorProperty, OuiColorPickerOutputType, OuiColorPickerState, OuiColorPickerStateLocalizations, OuiColorPickerValueType };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
//#region src/js/color-picker/models.color-picker.ts
|
|
2
|
+
var OuiColorPickerEvent = class extends Event {
|
|
3
|
+
valid;
|
|
4
|
+
value;
|
|
5
|
+
constructor(type, color, valid) {
|
|
6
|
+
super(type, {
|
|
7
|
+
bubbles: true,
|
|
8
|
+
cancelable: true
|
|
9
|
+
});
|
|
10
|
+
this.valid = valid;
|
|
11
|
+
this.value = {
|
|
12
|
+
hex: color.hex,
|
|
13
|
+
hexa: color.hexa,
|
|
14
|
+
hsl: color.hsl,
|
|
15
|
+
hsla: color.hsla,
|
|
16
|
+
hwb: color.hwb,
|
|
17
|
+
hwba: color.hwba,
|
|
18
|
+
rgb: color.rgb,
|
|
19
|
+
rgba: color.rgba
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
//#endregion
|
|
24
|
+
export { OuiColorPickerEvent };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { E as OuiColorPickerContentOutput, L as OuiColorPickerState, O as OuiColorPickerCopy, P as OuiColorPickerOutputColor, k as OuiColorPickerCreateParameters } from "../constants.color-picker-B-gFjL8m.mjs";
|
|
2
|
+
//#region src/js/color-picker/output.color-picker.d.ts
|
|
3
|
+
export declare function createColorPickerOutput(parameters: OuiColorPickerCreateParameters, copy: OuiColorPickerCopy | undefined): OuiColorPickerContentOutput | undefined;
|
|
4
|
+
export declare function getColorPickerOutputFormat(state: OuiColorPickerState): OuiColorPickerOutputColor | undefined;
|
|
5
|
+
export declare function updateColorPickerOutputCopyLabel(state: OuiColorPickerState, button: HTMLButtonElement): void;
|
|
6
|
+
export declare function updateColorPickerOutputInputs(state: OuiColorPickerState): void;
|
|
7
|
+
export declare function updateColorPickerOutputLabels(state: OuiColorPickerState): void;
|
|
8
|
+
//#endregion
|