@thednp/color-picker 1.0.0 → 2.0.0-alpha1
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/.eslintrc.cjs +199 -0
- package/.lgtm.yml +9 -0
- package/.prettierrc.json +15 -0
- package/.stylelintrc.json +236 -0
- package/LICENSE +0 -0
- package/README.md +63 -80
- package/compile.js +48 -0
- package/cypress/downloads/downloads.htm +0 -0
- package/cypress/e2e/color-palette.cy.ts +128 -0
- package/cypress/e2e/color-picker.cy.ts +920 -0
- package/cypress/fixtures/colorNamesFrench.js +3 -0
- package/cypress/fixtures/componentLabelsFrench.js +21 -0
- package/cypress/fixtures/format.js +3 -0
- package/cypress/fixtures/getCEMarkup.js +29 -0
- package/cypress/fixtures/getMarkup.js +28 -0
- package/cypress/fixtures/getRandomInt.js +6 -0
- package/cypress/fixtures/sampleWebcolors.js +18 -0
- package/cypress/fixtures/testSample.js +8 -0
- package/cypress/plugins/esbuild-istanbul.ts +50 -0
- package/cypress/plugins/tsCompile.ts +34 -0
- package/cypress/support/commands.ts +0 -0
- package/cypress/support/e2e.ts +21 -0
- package/cypress/test.html +23 -0
- package/cypress.config.ts +29 -0
- package/dist/css/color-picker.css +15 -39
- package/dist/css/color-picker.min.css +2 -2
- package/dist/css/color-picker.rtl.css +15 -39
- package/dist/css/color-picker.rtl.min.css +2 -2
- package/dist/js/color-picker.cjs +8 -0
- package/dist/js/color-picker.cjs.map +1 -0
- package/dist/js/color-picker.d.ts +278 -0
- package/dist/js/color-picker.js +5 -3583
- package/dist/js/color-picker.js.map +1 -0
- package/dist/js/color-picker.mjs +2631 -0
- package/dist/js/color-picker.mjs.map +1 -0
- package/dts.config.ts +15 -0
- package/package.json +64 -74
- package/src/scss/_variables.scss +0 -1
- package/src/scss/color-picker.rtl.scss +4 -0
- package/src/scss/color-picker.scss +75 -39
- package/src/ts/colorPalette.ts +89 -0
- package/src/{js/color-picker.js → ts/index.ts} +492 -502
- package/src/ts/interface/colorPickerLabels.ts +20 -0
- package/src/ts/interface/colorPickerOptions.ts +11 -0
- package/src/ts/interface/paletteOptions.ts +6 -0
- package/src/ts/util/colorNames.ts +21 -0
- package/src/{js/util/colorPickerLabels.js → ts/util/colorPickerLabels.ts} +4 -2
- package/src/ts/util/getColorControls.ts +90 -0
- package/src/{js/util/getColorForm.js → ts/util/getColorForm.ts} +28 -18
- package/src/{js/util/getColorMenu.js → ts/util/getColorMenu.ts} +21 -30
- package/src/ts/util/isValidJSON.ts +19 -0
- package/src/{js/util/setMarkup.js → ts/util/setMarkup.ts} +57 -48
- package/src/{js/util/vHidden.js → ts/util/vHidden.ts} +0 -0
- package/tsconfig.json +29 -0
- package/vite.config.ts +34 -0
- package/dist/js/color-esm.js +0 -1167
- package/dist/js/color-esm.min.js +0 -2
- package/dist/js/color-palette-esm.js +0 -1238
- package/dist/js/color-palette-esm.min.js +0 -2
- package/dist/js/color-palette.js +0 -1246
- package/dist/js/color-palette.min.js +0 -2
- package/dist/js/color-picker-element-esm.js +0 -3739
- package/dist/js/color-picker-element-esm.min.js +0 -2
- package/dist/js/color-picker-element.js +0 -3747
- package/dist/js/color-picker-element.min.js +0 -2
- package/dist/js/color-picker-esm.js +0 -3578
- package/dist/js/color-picker-esm.min.js +0 -2
- package/dist/js/color-picker.min.js +0 -2
- package/dist/js/color.js +0 -1175
- package/dist/js/color.min.js +0 -2
- package/src/js/color-palette.js +0 -75
- package/src/js/color-picker-element.js +0 -110
- package/src/js/color.js +0 -1107
- package/src/js/index.js +0 -3
- package/src/js/util/colorNames.js +0 -6
- package/src/js/util/getColorControls.js +0 -103
- package/src/js/util/isValidJSON.js +0 -13
- package/src/js/util/nonColors.js +0 -5
- package/src/js/util/roundPart.js +0 -9
- package/src/js/util/setCSSProperties.js +0 -12
- package/src/js/util/tabindex.js +0 -3
- package/src/js/util/toggleCEAttr.js +0 -70
- package/src/js/util/version.js +0 -6
- package/src/js/version.js +0 -6
- package/types/cp.d.ts +0 -544
- package/types/index.d.ts +0 -48
- package/types/source/source.ts +0 -5
- package/types/source/types.d.ts +0 -92
package/compile.js
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
// ColorPicker | Compile SCSS Script
|
2
|
+
// Build script to compile and minify the CSS file from SCSS folder
|
3
|
+
// Usage: npm run compile-scss
|
4
|
+
|
5
|
+
const fs = require("fs");
|
6
|
+
const writeFileSync = fs.writeFileSync;
|
7
|
+
const sass = require("sass");
|
8
|
+
const pkg = require("./package.json");
|
9
|
+
const year = new Date().getFullYear();
|
10
|
+
const args = {};
|
11
|
+
|
12
|
+
const ARGS = process.argv.slice(-1)[0].split(",");
|
13
|
+
ARGS.map((x) => {
|
14
|
+
const [name, value] = x.split(":");
|
15
|
+
args[name] = value;
|
16
|
+
});
|
17
|
+
|
18
|
+
const RTL = args.DIR === "rtl" ? "RTL " : "";
|
19
|
+
const banner =
|
20
|
+
args.MIN === "true"
|
21
|
+
? `/* ColorPicker ${RTL}v${pkg.version} | ${pkg.author} © ${year} | ${pkg.license}-License */`
|
22
|
+
: `/*!
|
23
|
+
* ColorPicker v${pkg.version} (${pkg.homepage})
|
24
|
+
* Copyright ${year} © ${pkg.author}
|
25
|
+
* Licensed under MIT (${pkg.license}/blob/main/LICENSE)
|
26
|
+
*/`;
|
27
|
+
|
28
|
+
const DIR = args.DIR === "rtl" ? ".rtl" : "";
|
29
|
+
const MIN = args.MIN === "true" ? ".min" : "";
|
30
|
+
const INPUTFILE = args.INPUTFILE
|
31
|
+
? args.INPUTFILE
|
32
|
+
: `./src/scss/color-picker${DIR}.scss`;
|
33
|
+
const OUTPUTFILE = args.OUTPUTFILE
|
34
|
+
? args.OUTPUTFILE
|
35
|
+
: `./dist/css/color-picker${DIR}${MIN}.css`;
|
36
|
+
const COMPRESS = args.MIN === "true" ? "compressed" : "expanded";
|
37
|
+
|
38
|
+
// Helper Functions
|
39
|
+
function compile(inputPath, writePath, compressType) {
|
40
|
+
const result = sass.compile(inputPath, {
|
41
|
+
style: compressType,
|
42
|
+
loadPaths: ["src/scss"],
|
43
|
+
});
|
44
|
+
writeFileSync(writePath, `${banner}\n` + result.css.toString());
|
45
|
+
console.log(`✅ Compiled ${inputPath} to ${writePath}.`);
|
46
|
+
}
|
47
|
+
|
48
|
+
compile(INPUTFILE, OUTPUTFILE, COMPRESS);
|
Binary file
|
@@ -0,0 +1,128 @@
|
|
1
|
+
/// <reference types="cypress" />
|
2
|
+
|
3
|
+
import Color from "@thednp/color";
|
4
|
+
import ColorPalette from "../../src/ts/colorPalette";
|
5
|
+
|
6
|
+
describe("ColorPalette Class Test", () => {
|
7
|
+
it("Test init with no parameter, use all default values", () => {
|
8
|
+
cy.wrap(new ColorPalette()).as("cpl")
|
9
|
+
.get("@cpl").should("be.instanceOf", ColorPalette)
|
10
|
+
.get("@cpl").its("hue").should("equal", 0)
|
11
|
+
.get("@cpl").its("hueSteps").should("equal", 12)
|
12
|
+
.get("@cpl").its("lightSteps").should("equal", 10)
|
13
|
+
.get("@cpl").its("colors").its("length").should("equal", 120);
|
14
|
+
});
|
15
|
+
|
16
|
+
it("Test init with 1 parameter, throws error", () => {
|
17
|
+
try {
|
18
|
+
new ColorPalette(0, undefined);
|
19
|
+
} catch (error) {
|
20
|
+
expect(error).to.be.instanceOf(TypeError);
|
21
|
+
expect(error).to.have.property(
|
22
|
+
"message",
|
23
|
+
'ColorPalette: the two minimum arguments must be numbers higher than 0.'
|
24
|
+
);
|
25
|
+
}
|
26
|
+
});
|
27
|
+
|
28
|
+
// it("Test init with 1 parameter, throws error", () => {
|
29
|
+
// try {
|
30
|
+
// // @ts-ignore
|
31
|
+
// new ColorPalette(0, 'a');
|
32
|
+
// } catch (error) {
|
33
|
+
// expect(error).to.be.instanceOf(TypeError);
|
34
|
+
// expect(error).to.have.property(
|
35
|
+
// "message",
|
36
|
+
// 'ColorPalette only accepts numbers.'
|
37
|
+
// );
|
38
|
+
// }
|
39
|
+
// });
|
40
|
+
|
41
|
+
it("Test init with 2 invalid parameters, throws error", () => {
|
42
|
+
try {
|
43
|
+
new ColorPalette(0, 5);
|
44
|
+
} catch (error) {
|
45
|
+
expect(error).to.be.instanceOf(TypeError);
|
46
|
+
expect(error).to.have.property(
|
47
|
+
"message",
|
48
|
+
'ColorPalette: the two minimum arguments must be numbers higher than 0.'
|
49
|
+
);
|
50
|
+
}
|
51
|
+
});
|
52
|
+
|
53
|
+
it("Test init with 2 valid parameters", () => {
|
54
|
+
// generated with new `ColorPalette(1, 5)`
|
55
|
+
const testSample = ["#330000", "#990000", "#ff0000", "#ff6666", "#ffcccc"];
|
56
|
+
|
57
|
+
cy.wrap(new ColorPalette(1, 5)).as("cpl")
|
58
|
+
.get("@cpl").its("hue").should("equal", 0)
|
59
|
+
.get("@cpl").its("hueSteps").should("equal", 1)
|
60
|
+
.get("@cpl").its("lightSteps").should("equal", 5)
|
61
|
+
.get("@cpl").its("saturation").should("equal", 100)
|
62
|
+
.get("@cpl").its("colors").its("length").should("equal", 5)
|
63
|
+
.get("@cpl").its("colors").then((colors) => {
|
64
|
+
// really test every color in the palette
|
65
|
+
colors.forEach((color: Color, i: number) => {
|
66
|
+
cy.log(`${color.ok}`)
|
67
|
+
expect(color).to.be.instanceOf(Color);
|
68
|
+
// expect(color.ok).to.be.true;
|
69
|
+
expect(color.toHexString()).to.equal(testSample[i]);
|
70
|
+
});
|
71
|
+
});
|
72
|
+
});
|
73
|
+
|
74
|
+
it("Test init with 14 lightSteps", () => {
|
75
|
+
// generated with `new ColorPalette(1, 14)`
|
76
|
+
const testSample = [
|
77
|
+
"#330000", "#550000", "#770000", "#990000", "#bb0000",
|
78
|
+
"#dd0000", "#ff0000", "#ff2222", "#ff4444", "#ff6666",
|
79
|
+
"#ff8888", "#ffaaaa", "#ffcccc", "#ffeeee",
|
80
|
+
];
|
81
|
+
|
82
|
+
cy.wrap(new ColorPalette(1, 14)).as("cpl")
|
83
|
+
.get("@cpl").its("hue").should("equal", 0)
|
84
|
+
.get("@cpl").its("hueSteps").should("equal", 1)
|
85
|
+
.get("@cpl").its("lightSteps").should("equal", 14)
|
86
|
+
.get("@cpl").its("colors").its("length").should("equal", 14)
|
87
|
+
.get("@cpl").its("colors").then((colors) => {
|
88
|
+
expect(colors.map((c: Color) => c.toHexString())).to.deep.equal(testSample);
|
89
|
+
});
|
90
|
+
});
|
91
|
+
|
92
|
+
it("Test init with 15 lightSteps", () => {
|
93
|
+
// generated with `new ColorPalette(1, 15)`
|
94
|
+
const testSample = [
|
95
|
+
"#110000", "#330000", "#550000", "#770000",
|
96
|
+
"#990000", "#bb0000", "#dd0000", "#ff0000",
|
97
|
+
"#ff2222", "#ff4444", "#ff6666", "#ff8888",
|
98
|
+
"#ffaaaa", "#ffcccc", "#ffeeee",
|
99
|
+
];
|
100
|
+
|
101
|
+
cy.wrap(new ColorPalette(1, 15)).as("cpl")
|
102
|
+
.get("@cpl").its("hue").should("equal", 0)
|
103
|
+
.get("@cpl").its("hueSteps").should("equal", 1)
|
104
|
+
.get("@cpl").its("lightSteps").should("equal", 15)
|
105
|
+
.get("@cpl").its("colors").its("length").should("equal", 15)
|
106
|
+
.get("@cpl").its("colors").then((colors) => {
|
107
|
+
expect(colors.map((c: Color) => c.toHexString())).to.deep.equal(testSample);
|
108
|
+
});
|
109
|
+
});
|
110
|
+
|
111
|
+
it("Test init with 3 valid parameters", () => {
|
112
|
+
// generated with `new ColorPalette(270, 1, 10)`
|
113
|
+
const testSample = [
|
114
|
+
"#240047", "#3b0075", "#5200a3", "#6900d1",
|
115
|
+
"#8000ff", "#962eff", "#ad5cff", "#c48aff",
|
116
|
+
"#dbb8ff", "#f2e6ff",
|
117
|
+
];
|
118
|
+
|
119
|
+
cy.wrap(new ColorPalette(270, 1, 10)).as("cpl")
|
120
|
+
.get("@cpl").its("hue").should("equal", 270)
|
121
|
+
.get("@cpl").its("hueSteps").should("equal", 1)
|
122
|
+
.get("@cpl").its("lightSteps").should("equal", 10)
|
123
|
+
.get("@cpl").its("colors").its("length").should("equal", 10)
|
124
|
+
.get("@cpl").its("colors").then((colors) => {
|
125
|
+
expect(colors.map((c: Color) => c.toHexString())).to.deep.equal(testSample);
|
126
|
+
});
|
127
|
+
});
|
128
|
+
});
|