@alegendstale/holly-components 1.4.0 → 2.0.2
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/README.md +9 -5
- package/dist/components/absolute-container/absolute-container.d.ts +17 -3
- package/dist/components/absolute-container/absolute-container.d.ts.map +1 -1
- package/dist/components/absolute-container/absolute-container.js +22 -25
- package/dist/components/absolute-container/absolute-container.stories.d.ts +3 -1
- package/dist/components/absolute-container/absolute-container.stories.d.ts.map +1 -1
- package/dist/components/absolute-container/absolute-container.stories.js +35 -7
- package/dist/components/absolute-container/absolute-container.styles.d.ts +3 -0
- package/dist/components/absolute-container/absolute-container.styles.d.ts.map +1 -0
- package/dist/components/absolute-container/absolute-container.styles.js +18 -0
- package/dist/components/bottom-sheet/bottom-sheet.d.ts +25 -0
- package/dist/components/bottom-sheet/bottom-sheet.d.ts.map +1 -1
- package/dist/components/bottom-sheet/bottom-sheet.js +29 -127
- package/dist/components/bottom-sheet/bottom-sheet.stories.d.ts +5 -2
- package/dist/components/bottom-sheet/bottom-sheet.stories.d.ts.map +1 -1
- package/dist/components/bottom-sheet/bottom-sheet.stories.js +31 -7
- package/dist/components/bottom-sheet/bottom-sheet.styles.d.ts +3 -0
- package/dist/components/bottom-sheet/bottom-sheet.styles.d.ts.map +1 -0
- package/dist/components/bottom-sheet/bottom-sheet.styles.js +115 -0
- package/dist/components/canvas/canvas-base.d.ts +8 -1
- package/dist/components/canvas/canvas-base.d.ts.map +1 -1
- package/dist/components/canvas/canvas-base.js +14 -11
- package/dist/components/canvas/canvas-base.stories.d.ts +7 -0
- package/dist/components/canvas/canvas-base.stories.d.ts.map +1 -0
- package/dist/components/canvas/canvas-base.stories.js +24 -0
- package/dist/components/canvas/canvas-gradient.d.ts +10 -3
- package/dist/components/canvas/canvas-gradient.d.ts.map +1 -1
- package/dist/components/canvas/canvas-gradient.js +13 -9
- package/dist/components/canvas/canvas-gradient.stories.d.ts +14 -0
- package/dist/components/canvas/canvas-gradient.stories.d.ts.map +1 -0
- package/dist/components/canvas/canvas-gradient.stories.js +46 -0
- package/dist/components/canvas/canvas-image.d.ts +25 -16
- package/dist/components/canvas/canvas-image.d.ts.map +1 -1
- package/dist/components/canvas/canvas-image.js +84 -72
- package/dist/components/canvas/canvas-image.stories.d.ts +13 -0
- package/dist/components/canvas/canvas-image.stories.d.ts.map +1 -0
- package/dist/components/canvas/canvas-image.stories.js +49 -0
- package/dist/components/canvas/canvas-image.styles.d.ts +3 -0
- package/dist/components/canvas/canvas-image.styles.d.ts.map +1 -0
- package/dist/components/canvas/canvas-image.styles.js +21 -0
- package/dist/components/carousel-scroller/carousel-scroller.d.ts +23 -6
- package/dist/components/carousel-scroller/carousel-scroller.d.ts.map +1 -1
- package/dist/components/carousel-scroller/carousel-scroller.js +32 -80
- package/dist/components/carousel-scroller/carousel-scroller.stories.d.ts +4 -2
- package/dist/components/carousel-scroller/carousel-scroller.stories.d.ts.map +1 -1
- package/dist/components/carousel-scroller/carousel-scroller.stories.js +22 -6
- package/dist/components/carousel-scroller/carousel-scroller.styles.d.ts +3 -0
- package/dist/components/carousel-scroller/carousel-scroller.styles.d.ts.map +1 -0
- package/dist/components/carousel-scroller/carousel-scroller.styles.js +66 -0
- package/dist/components/color-palette/color-palette-utils.d.ts.map +1 -1
- package/dist/components/color-palette/color-palette.d.ts +53 -16
- package/dist/components/color-palette/color-palette.d.ts.map +1 -1
- package/dist/components/color-palette/color-palette.js +72 -126
- package/dist/components/color-palette/color-palette.styles.d.ts +3 -0
- package/dist/components/color-palette/color-palette.styles.d.ts.map +1 -0
- package/dist/components/color-palette/color-palette.styles.js +90 -0
- package/dist/components/color-palette/component/color-palette-component.d.ts +16 -2
- package/dist/components/color-palette/component/color-palette-component.d.ts.map +1 -1
- package/dist/components/color-palette/component/color-palette-component.js +18 -19
- package/dist/components/color-palette/component/color-palette-component.stories.d.ts +4 -2
- package/dist/components/color-palette/component/color-palette-component.stories.d.ts.map +1 -1
- package/dist/components/color-palette/component/color-palette-component.stories.js +34 -36
- package/dist/components/color-palette/component/color-palette-component.styles.d.ts +3 -0
- package/dist/components/color-palette/component/color-palette-component.styles.d.ts.map +1 -0
- package/dist/components/color-palette/component/color-palette-component.styles.js +10 -0
- package/dist/components/color-palette/editor/color-palette-editor.d.ts +28 -14
- package/dist/components/color-palette/editor/color-palette-editor.d.ts.map +1 -1
- package/dist/components/color-palette/editor/color-palette-editor.js +30 -216
- package/dist/components/color-palette/editor/color-palette-editor.stories.d.ts +9 -2
- package/dist/components/color-palette/editor/color-palette-editor.stories.d.ts.map +1 -1
- package/dist/components/color-palette/editor/color-palette-editor.stories.js +32 -4
- package/dist/components/color-palette/editor/color-palette-editor.styles.d.ts +3 -0
- package/dist/components/color-palette/editor/color-palette-editor.styles.d.ts.map +1 -0
- package/dist/components/color-palette/editor/color-palette-editor.styles.js +147 -0
- package/dist/components/color-palette/editor/settings-item.d.ts +20 -0
- package/dist/components/color-palette/editor/settings-item.d.ts.map +1 -0
- package/dist/components/color-palette/editor/settings-item.js +43 -0
- package/dist/components/color-palette/editor/settings-item.styles.d.ts +3 -0
- package/dist/components/color-palette/editor/settings-item.styles.d.ts.map +1 -0
- package/dist/components/color-palette/editor/settings-item.styles.js +34 -0
- package/dist/components/color-palette/item/color-palette-item-edit.d.ts +9 -2
- package/dist/components/color-palette/item/color-palette-item-edit.d.ts.map +1 -1
- package/dist/components/color-palette/item/color-palette-item-edit.js +12 -57
- package/dist/components/color-palette/item/color-palette-item-edit.styles.d.ts +3 -0
- package/dist/components/color-palette/item/color-palette-item-edit.styles.d.ts.map +1 -0
- package/dist/components/color-palette/item/color-palette-item-edit.styles.js +51 -0
- package/dist/components/color-palette/item/color-palette-item.d.ts +21 -2
- package/dist/components/color-palette/item/color-palette-item.d.ts.map +1 -1
- package/dist/components/color-palette/item/color-palette-item.js +23 -89
- package/dist/components/color-palette/item/color-palette-item.styles.d.ts +3 -0
- package/dist/components/color-palette/item/color-palette-item.styles.d.ts.map +1 -0
- package/dist/components/color-palette/item/color-palette-item.styles.js +83 -0
- package/dist/components/color-palette/menu/color-palette-menu.d.ts +15 -3
- package/dist/components/color-palette/menu/color-palette-menu.d.ts.map +1 -1
- package/dist/components/color-palette/menu/color-palette-menu.js +15 -54
- package/dist/components/color-palette/menu/color-palette-menu.styles.d.ts +3 -0
- package/dist/components/color-palette/menu/color-palette-menu.styles.d.ts.map +1 -0
- package/dist/components/color-palette/menu/color-palette-menu.styles.js +49 -0
- package/dist/components/color-palette/menu/color-palette-reorder.d.ts +8 -1
- package/dist/components/color-palette/menu/color-palette-reorder.d.ts.map +1 -1
- package/dist/components/color-palette/menu/color-palette-reorder.js +11 -36
- package/dist/components/color-palette/menu/color-palette-reorder.styles.d.ts +3 -0
- package/dist/components/color-palette/menu/color-palette-reorder.styles.d.ts.map +1 -0
- package/dist/components/color-palette/menu/color-palette-reorder.styles.js +31 -0
- package/dist/components/color-palette/storybook/color-palette-invalid.stories.d.ts +26 -8
- package/dist/components/color-palette/storybook/color-palette-invalid.stories.d.ts.map +1 -1
- package/dist/components/color-palette/storybook/color-palette-invalid.stories.js +10 -39
- package/dist/components/color-palette/storybook/color-palette-valid.stories.d.ts +26 -8
- package/dist/components/color-palette/storybook/color-palette-valid.stories.d.ts.map +1 -1
- package/dist/components/color-palette/storybook/color-palette-valid.stories.js +30 -58
- package/dist/components/color-palette/storybook/color-palette.stories.d.ts +18 -4
- package/dist/components/color-palette/storybook/color-palette.stories.d.ts.map +1 -1
- package/dist/components/color-palette/storybook/color-palette.stories.js +65 -14
- package/dist/components/draw-svg/draw-svg.d.ts +11 -0
- package/dist/components/draw-svg/draw-svg.d.ts.map +1 -1
- package/dist/components/draw-svg/draw-svg.js +15 -45
- package/dist/components/draw-svg/draw-svg.stories.d.ts +2 -14
- package/dist/components/draw-svg/draw-svg.stories.d.ts.map +1 -1
- package/dist/components/draw-svg/draw-svg.stories.js +21 -97
- package/dist/components/draw-svg/draw-svg.styles.d.ts +3 -0
- package/dist/components/draw-svg/draw-svg.styles.d.ts.map +1 -0
- package/dist/components/draw-svg/draw-svg.styles.js +39 -0
- package/dist/components/responsive-svg/responsive-svg.d.ts +35 -15
- package/dist/components/responsive-svg/responsive-svg.d.ts.map +1 -1
- package/dist/components/responsive-svg/responsive-svg.js +59 -97
- package/dist/components/responsive-svg/responsive-svg.stories.d.ts +5 -4
- package/dist/components/responsive-svg/responsive-svg.stories.d.ts.map +1 -1
- package/dist/components/responsive-svg/responsive-svg.stories.js +93 -109
- package/dist/components/responsive-svg/responsive-svg.styles.d.ts +3 -0
- package/dist/components/responsive-svg/responsive-svg.styles.d.ts.map +1 -0
- package/dist/components/responsive-svg/responsive-svg.styles.js +46 -0
- package/dist/components/tool-tip/tool-tip.d.ts +24 -9
- package/dist/components/tool-tip/tool-tip.d.ts.map +1 -1
- package/dist/components/tool-tip/tool-tip.js +49 -90
- package/dist/components/tool-tip/tool-tip.stories.d.ts +4 -1
- package/dist/components/tool-tip/tool-tip.stories.d.ts.map +1 -1
- package/dist/components/tool-tip/tool-tip.stories.js +35 -5
- package/dist/components/tool-tip/tool-tip.styles.d.ts +3 -0
- package/dist/components/tool-tip/tool-tip.styles.d.ts.map +1 -0
- package/dist/components/tool-tip/tool-tip.styles.js +58 -0
- package/package.json +23 -19
- package/dist/components/bottom-sheet/bottom-sheet.test.d.ts +0 -2
- package/dist/components/bottom-sheet/bottom-sheet.test.d.ts.map +0 -1
- package/dist/components/bottom-sheet/bottom-sheet.test.js +0 -15
- package/dist/components/tool-tip/Tooltip2.d.ts +0 -17
- package/dist/components/tool-tip/Tooltip2.d.ts.map +0 -1
- package/dist/components/tool-tip/Tooltip2.js +0 -104
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export default css `
|
|
3
|
+
:host {
|
|
4
|
+
contain: content;
|
|
5
|
+
overscroll-behavior-block: none;
|
|
6
|
+
--height: fit-content;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
:host([dragging]) dialog {
|
|
10
|
+
#content {
|
|
11
|
+
cursor: grabbing;
|
|
12
|
+
/* Important! Prevents mobile browsers from reclaiming PointerMove event on touch devices */
|
|
13
|
+
touch-action: none;
|
|
14
|
+
/* Prevent weird scrollbar movement on mobile when dragging */
|
|
15
|
+
overflow-y: hidden;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
:host(:not([dragging])) dialog {
|
|
20
|
+
/* Only animate if not dragging */
|
|
21
|
+
transition-property: overlay opacity display;
|
|
22
|
+
transition-duration: 0.25s;
|
|
23
|
+
transition-behavior: allow-discrete;
|
|
24
|
+
|
|
25
|
+
&::backdrop {
|
|
26
|
+
transition-property: overlay opacity display;
|
|
27
|
+
transition-duration: 0.25s;
|
|
28
|
+
transition-behavior: allow-discrete;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
#content {
|
|
32
|
+
/* Allow scroll */
|
|
33
|
+
touch-action: pan-y;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
dialog {
|
|
38
|
+
display: none;
|
|
39
|
+
opacity: 0;
|
|
40
|
+
translate: 0 var(--height);
|
|
41
|
+
|
|
42
|
+
height: var(--height);
|
|
43
|
+
min-height: 0;
|
|
44
|
+
max-height: 100%;
|
|
45
|
+
min-width: 100%;
|
|
46
|
+
max-width: 100%;
|
|
47
|
+
flex-direction: column;
|
|
48
|
+
box-sizing: border-box;
|
|
49
|
+
padding: 0;
|
|
50
|
+
border: 0;
|
|
51
|
+
background-color: light-dark(#d9d9d9, #1c1c1c);
|
|
52
|
+
/* Important! Removes default browser styling, allowing bottom to work */
|
|
53
|
+
inset: unset;
|
|
54
|
+
bottom: 0;
|
|
55
|
+
left: 0;
|
|
56
|
+
overflow-y: hidden;
|
|
57
|
+
|
|
58
|
+
/* Important! Prevents mobile browsers from reclaiming PointerMove event on touch devices */
|
|
59
|
+
touch-action: none;
|
|
60
|
+
/* Prevent weird scrollbar movement on mobile when dragging */
|
|
61
|
+
overflow-y: hidden;
|
|
62
|
+
|
|
63
|
+
&[open] {
|
|
64
|
+
display: flex;
|
|
65
|
+
opacity: 1;
|
|
66
|
+
translate: 0 0;
|
|
67
|
+
|
|
68
|
+
&::backdrop {
|
|
69
|
+
opacity: 0.8;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&::backdrop {
|
|
74
|
+
background: black;
|
|
75
|
+
opacity: 0;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@starting-style {
|
|
80
|
+
dialog[open] {
|
|
81
|
+
opacity: 0;
|
|
82
|
+
translate: 0 var(--height);
|
|
83
|
+
|
|
84
|
+
&::backdrop {
|
|
85
|
+
opacity: 0;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
#handle {
|
|
91
|
+
display: block;
|
|
92
|
+
position: sticky;
|
|
93
|
+
top: 0;
|
|
94
|
+
background: transparent;
|
|
95
|
+
border: 0;
|
|
96
|
+
cursor: grabbing;
|
|
97
|
+
min-height: 35px;
|
|
98
|
+
user-select: none;
|
|
99
|
+
touch-action: none;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
div {
|
|
103
|
+
/* display: contents; */
|
|
104
|
+
overflow-y: auto;
|
|
105
|
+
scrollbar-width: none;
|
|
106
|
+
box-sizing: border-box;
|
|
107
|
+
min-height: 100%;
|
|
108
|
+
min-width: 100%;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
::slotted(*) {
|
|
112
|
+
/* Prevent slotted items from taking pointer events */
|
|
113
|
+
/* pointer-events: none; */
|
|
114
|
+
}
|
|
115
|
+
`;
|
|
@@ -5,13 +5,20 @@ type EventMap = {
|
|
|
5
5
|
click: [hex: string];
|
|
6
6
|
move: [e: client];
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Utility component to help with creating canvases.
|
|
10
|
+
*/
|
|
8
11
|
export declare class CanvasBase extends LitElement {
|
|
9
12
|
static styles: import("lit").CSSResult[];
|
|
10
|
-
canvas
|
|
13
|
+
/** The canvas element. */
|
|
14
|
+
protected canvas: HTMLCanvasElement;
|
|
15
|
+
/** The canvas context. */
|
|
11
16
|
protected context: CanvasRenderingContext2D;
|
|
17
|
+
/** Public way to subscribe to events. */
|
|
12
18
|
emitter: EventEmitter<EventMap>;
|
|
13
19
|
disconnectedCallback(): void;
|
|
14
20
|
render(): import("lit-html").TemplateResult<1>;
|
|
21
|
+
/** Retrieves the hex from the mouse position. */
|
|
15
22
|
getCanvasHex(clientX: number, clientY: number): string;
|
|
16
23
|
}
|
|
17
24
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-base.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas-base.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas-base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,KAAK,QAAQ,GAAG;IACf,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,qBACa,UAAW,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,4BAMX;IAEF,0BAA0B;IAE1B,SAAS,CAAC,MAAM,EAAG,iBAAiB,CAAC;IAErC,0BAA0B;IAC1B,SAAS,CAAC,OAAO,EAAG,wBAAwB,CAAC;IAE7C,yCAAyC;IAClC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAgC;IAEtE,oBAAoB,IAAI,IAAI;IAK5B,MAAM;IAqBN,iDAAiD;IAC1C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAWpD"}
|
|
@@ -8,13 +8,23 @@ import colorsea from '../../utils/colorsea-wrapper.js';
|
|
|
8
8
|
import { EventEmitter } from '../../utils/EventEmitter.js';
|
|
9
9
|
import { ref } from 'lit/directives/ref.js';
|
|
10
10
|
import { LitElement, html, css } from 'lit';
|
|
11
|
-
import { query } from 'lit/decorators.js';
|
|
12
|
-
|
|
11
|
+
import { customElement, query } from 'lit/decorators.js';
|
|
12
|
+
/**
|
|
13
|
+
* Utility component to help with creating canvases.
|
|
14
|
+
*/
|
|
13
15
|
let CanvasBase = class CanvasBase extends LitElement {
|
|
14
16
|
constructor() {
|
|
15
17
|
super(...arguments);
|
|
18
|
+
/** Public way to subscribe to events. */
|
|
16
19
|
this.emitter = new EventEmitter();
|
|
17
20
|
}
|
|
21
|
+
static { this.styles = [
|
|
22
|
+
css `
|
|
23
|
+
:host {
|
|
24
|
+
display: block;
|
|
25
|
+
}
|
|
26
|
+
`
|
|
27
|
+
]; }
|
|
18
28
|
disconnectedCallback() {
|
|
19
29
|
super.disconnectedCallback();
|
|
20
30
|
this.emitter.clear();
|
|
@@ -39,7 +49,7 @@ let CanvasBase = class CanvasBase extends LitElement {
|
|
|
39
49
|
</canvas>
|
|
40
50
|
`;
|
|
41
51
|
}
|
|
42
|
-
|
|
52
|
+
/** Retrieves the hex from the mouse position. */
|
|
43
53
|
getCanvasHex(clientX, clientY) {
|
|
44
54
|
const canvasBounds = this.canvas.getBoundingClientRect();
|
|
45
55
|
let x = clientX - canvasBounds.left;
|
|
@@ -52,17 +62,10 @@ let CanvasBase = class CanvasBase extends LitElement {
|
|
|
52
62
|
return hex;
|
|
53
63
|
}
|
|
54
64
|
};
|
|
55
|
-
CanvasBase.styles = [
|
|
56
|
-
css `
|
|
57
|
-
:host {
|
|
58
|
-
display: block;
|
|
59
|
-
}
|
|
60
|
-
`
|
|
61
|
-
];
|
|
62
65
|
__decorate([
|
|
63
66
|
query('canvas')
|
|
64
67
|
], CanvasBase.prototype, "canvas", void 0);
|
|
65
68
|
CanvasBase = __decorate([
|
|
66
|
-
|
|
69
|
+
customElement('canvas-base')
|
|
67
70
|
], CanvasBase);
|
|
68
71
|
export { CanvasBase };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
declare const meta: Meta;
|
|
3
|
+
export default meta;
|
|
4
|
+
export type Props = {};
|
|
5
|
+
type Story = StoryObj<Props>;
|
|
6
|
+
export declare const Example: Story;
|
|
7
|
+
//# sourceMappingURL=canvas-base.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-base.stories.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas-base.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAS/E,QAAA,MAAM,IAAI,EAAE,IAKX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,MAAM,MAAM,KAAK,GAAG,EAAE,CAAC;AAEvB,KAAK,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAU7B,eAAO,MAAM,OAAO,EAAE,KAGrB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
const argTypes = {
|
|
3
|
+
canvas: { control: false },
|
|
4
|
+
context: { control: false },
|
|
5
|
+
emitter: { control: false }
|
|
6
|
+
};
|
|
7
|
+
const meta = {
|
|
8
|
+
title: 'Canvas/Base',
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
component: 'canvas-base',
|
|
11
|
+
argTypes,
|
|
12
|
+
};
|
|
13
|
+
export default meta;
|
|
14
|
+
const template = {
|
|
15
|
+
render: ({}) => {
|
|
16
|
+
return html `
|
|
17
|
+
<canvas-base></canvas-base>
|
|
18
|
+
`;
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
export const Example = {
|
|
22
|
+
...template,
|
|
23
|
+
args: {},
|
|
24
|
+
};
|
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
import { Direction } from '../color-palette/color-palette-utils.js';
|
|
2
2
|
import { CanvasBase } from './canvas-base.js';
|
|
3
3
|
import { PropertyValues } from 'lit';
|
|
4
|
+
/**
|
|
5
|
+
* Utility component to make creating and retrieving gradient colors easier based on canvas coordinates.
|
|
6
|
+
*
|
|
7
|
+
* @dependency canvas-base
|
|
8
|
+
*/
|
|
4
9
|
export declare class CanvasGradient extends CanvasBase {
|
|
5
10
|
static styles: import("lit").CSSResult[];
|
|
11
|
+
/** An array of the colors that will make the gradient. */
|
|
6
12
|
colors: string[];
|
|
13
|
+
/** The height of the gradient canvas. */
|
|
7
14
|
height: number;
|
|
15
|
+
/** The width of the gradient canvas. */
|
|
8
16
|
width: number;
|
|
17
|
+
/** The direction the gradient will face. (Column or Row) */
|
|
9
18
|
direction: Direction;
|
|
10
19
|
protected updated(_changedProperties: PropertyValues): void;
|
|
11
|
-
/**
|
|
12
|
-
* Creates a new gradient canvas
|
|
13
|
-
*/
|
|
20
|
+
/** Creates a new gradient canvas */
|
|
14
21
|
createGradient(colors: string[], height: number, width: number, direction: Direction): void;
|
|
15
22
|
}
|
|
16
23
|
declare global {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-gradient.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas-gradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"canvas-gradient.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas-gradient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAGrC;;;;GAIG;AACH,qBACa,cAAe,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,4BAA0B;IAEvC,0DAA0D;IAE1D,MAAM,EAAE,MAAM,EAAE,CAAM;IAEtB,yCAAyC;IAEzC,MAAM,EAAE,MAAM,CAAK;IAEnB,wCAAwC;IAExC,KAAK,EAAE,MAAM,CAAK;IAElB,4DAA4D;IAE5D,SAAS,EAAE,SAAS,CAAoB;IAExC,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAM3D,oCAAoC;IAC7B,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS;CAyB3F;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,iBAAiB,EAAE,cAAc,CAAC;KAClC;CACD"}
|
|
@@ -5,25 +5,32 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { Direction } from '../color-palette/color-palette-utils.js';
|
|
8
|
-
import { property } from 'lit/decorators.js';
|
|
8
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
9
9
|
import { CanvasBase } from './canvas-base.js';
|
|
10
10
|
import { isColorValid } from '../../utils/basicUtils.js';
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Utility component to make creating and retrieving gradient colors easier based on canvas coordinates.
|
|
13
|
+
*
|
|
14
|
+
* @dependency canvas-base
|
|
15
|
+
*/
|
|
12
16
|
let CanvasGradient = class CanvasGradient extends CanvasBase {
|
|
13
17
|
constructor() {
|
|
14
18
|
super(...arguments);
|
|
19
|
+
/** An array of the colors that will make the gradient. */
|
|
15
20
|
this.colors = [];
|
|
21
|
+
/** The height of the gradient canvas. */
|
|
16
22
|
this.height = 0;
|
|
23
|
+
/** The width of the gradient canvas. */
|
|
17
24
|
this.width = 0;
|
|
25
|
+
/** The direction the gradient will face. (Column or Row) */
|
|
18
26
|
this.direction = Direction.Column;
|
|
19
27
|
}
|
|
28
|
+
static { this.styles = [...CanvasBase.styles]; }
|
|
20
29
|
updated(_changedProperties) {
|
|
21
30
|
super.updated(_changedProperties);
|
|
22
31
|
this.createGradient(this.colors, this.height, this.width, this.direction);
|
|
23
32
|
}
|
|
24
|
-
/**
|
|
25
|
-
* Creates a new gradient canvas
|
|
26
|
-
*/
|
|
33
|
+
/** Creates a new gradient canvas */
|
|
27
34
|
createGradient(colors, height, width, direction) {
|
|
28
35
|
if (!this.context)
|
|
29
36
|
return;
|
|
@@ -46,9 +53,6 @@ let CanvasGradient = class CanvasGradient extends CanvasBase {
|
|
|
46
53
|
this.canvas.style.setProperty('--palette-column-flex-basis', (height / colors.length / 2).toString() + 'px');
|
|
47
54
|
}
|
|
48
55
|
};
|
|
49
|
-
CanvasGradient.styles = [
|
|
50
|
-
...CanvasBase.styles
|
|
51
|
-
];
|
|
52
56
|
__decorate([
|
|
53
57
|
property({ type: Array })
|
|
54
58
|
], CanvasGradient.prototype, "colors", void 0);
|
|
@@ -62,6 +66,6 @@ __decorate([
|
|
|
62
66
|
property({ type: String })
|
|
63
67
|
], CanvasGradient.prototype, "direction", void 0);
|
|
64
68
|
CanvasGradient = __decorate([
|
|
65
|
-
|
|
69
|
+
customElement('canvas-gradient')
|
|
66
70
|
], CanvasGradient);
|
|
67
71
|
export { CanvasGradient };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/web-components-vite';
|
|
2
|
+
import { Direction } from '../color-palette/color-palette-utils.js';
|
|
3
|
+
type DirectionType = `${Direction}`;
|
|
4
|
+
declare const meta: Meta;
|
|
5
|
+
export default meta;
|
|
6
|
+
export type Props = {
|
|
7
|
+
colors: string[];
|
|
8
|
+
height: number;
|
|
9
|
+
width: number;
|
|
10
|
+
direction: DirectionType;
|
|
11
|
+
};
|
|
12
|
+
type Story = StoryObj<Props>;
|
|
13
|
+
export declare const Example: Story;
|
|
14
|
+
//# sourceMappingURL=canvas-gradient.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"canvas-gradient.stories.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas-gradient.stories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,IAAI,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG/E,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,KAAK,aAAa,GAAG,GAAG,SAAS,EAAE,CAAC;AAapC,QAAA,MAAM,IAAI,EAAE,IAKX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,MAAM,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,CAAA;CACxB,CAAC;AAEF,KAAK,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAgB7B,eAAO,MAAM,OAAO,EAAE,KAWrB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
import CanvasBaseStory from './canvas-base.stories.js';
|
|
3
|
+
import { Direction } from '../color-palette/color-palette-utils.js';
|
|
4
|
+
const direction = Object.values(Direction);
|
|
5
|
+
const argTypes = {
|
|
6
|
+
...CanvasBaseStory.argTypes,
|
|
7
|
+
colors: { control: 'object' },
|
|
8
|
+
height: { control: 'number' },
|
|
9
|
+
width: { control: 'number' },
|
|
10
|
+
direction: {
|
|
11
|
+
control: 'select',
|
|
12
|
+
options: direction,
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const meta = {
|
|
16
|
+
title: 'Canvas/Gradient',
|
|
17
|
+
tags: ['autodocs'],
|
|
18
|
+
component: 'canvas-gradient',
|
|
19
|
+
argTypes,
|
|
20
|
+
};
|
|
21
|
+
export default meta;
|
|
22
|
+
const template = {
|
|
23
|
+
render: ({ colors, height, width, direction }) => {
|
|
24
|
+
return html `
|
|
25
|
+
<canvas-gradient
|
|
26
|
+
.colors=${colors}
|
|
27
|
+
height=${height}
|
|
28
|
+
width=${width}
|
|
29
|
+
direction=${direction}
|
|
30
|
+
>
|
|
31
|
+
</canvas-gradient>
|
|
32
|
+
`;
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
export const Example = {
|
|
36
|
+
...template,
|
|
37
|
+
args: {
|
|
38
|
+
colors: [
|
|
39
|
+
'#fff',
|
|
40
|
+
'#000'
|
|
41
|
+
],
|
|
42
|
+
height: 250,
|
|
43
|
+
width: 500,
|
|
44
|
+
direction: 'row'
|
|
45
|
+
},
|
|
46
|
+
};
|
|
@@ -1,49 +1,58 @@
|
|
|
1
1
|
import { PropertyValues } from 'lit';
|
|
2
2
|
import quantize from 'quantize';
|
|
3
3
|
import { CanvasBase } from './canvas-base.js';
|
|
4
|
+
declare const imageStatus: readonly ["idle", "loading", "success", "error"];
|
|
5
|
+
type ImageStatus = typeof imageStatus[number];
|
|
6
|
+
/**
|
|
7
|
+
* Utility component to make creating and retrieving image colors easier based on canvas coordinates.
|
|
8
|
+
*
|
|
9
|
+
* @dependency canvas-base
|
|
10
|
+
*/
|
|
4
11
|
export declare class CanvasImage extends CanvasBase {
|
|
5
12
|
static styles: import("lit").CSSResult[];
|
|
6
|
-
image
|
|
13
|
+
/** The image element. */
|
|
14
|
+
protected image?: HTMLImageElement;
|
|
15
|
+
/** The image URL. */
|
|
7
16
|
imageURL: string;
|
|
17
|
+
/** Whether to apply smoothing to the image generated by the canvas. */
|
|
8
18
|
smoothing: boolean;
|
|
9
|
-
|
|
19
|
+
/** The canvas width. */
|
|
10
20
|
width: number;
|
|
21
|
+
/** The canvas height. */
|
|
11
22
|
height: number;
|
|
12
|
-
|
|
23
|
+
/** @readonly Used to style the canvas based on its current state. */
|
|
24
|
+
protected status: ImageStatus;
|
|
25
|
+
protected updated(_changedProperties: PropertyValues): void;
|
|
26
|
+
get updateComplete(): Promise<boolean>;
|
|
13
27
|
render(): import("lit-html").TemplateResult<1>;
|
|
14
28
|
/**
|
|
15
29
|
* Updates & loads the canvas image.
|
|
16
30
|
* Attempts to preserve aspect ratio based on width.
|
|
17
|
-
* @param width The canvas width
|
|
18
|
-
* @param height The canvas height
|
|
19
31
|
*/
|
|
20
|
-
|
|
32
|
+
private _performDraw;
|
|
33
|
+
/** @internal Handle errors when the image fails to load. */
|
|
34
|
+
private _handleLoadError;
|
|
21
35
|
/**
|
|
22
|
-
* Gets the most frequent colors in an image
|
|
36
|
+
* Gets the most frequent colors in an image.
|
|
23
37
|
* @param numColors Number of colors to return
|
|
24
38
|
* @param quality Artificially reduce number of pixels (higher = less accurate but faster)
|
|
25
39
|
* @returns Most frequent colors
|
|
26
40
|
*/
|
|
27
41
|
getPalette(numColors?: number, quality?: number): Promise<quantize.RgbPixel[] | null>;
|
|
28
42
|
/**
|
|
29
|
-
* Creates an array of pixels from the image
|
|
43
|
+
* Creates an array of pixels from the image.
|
|
30
44
|
* Inspired by colorthief
|
|
31
45
|
* @param quality Artificially reduce number of pixels (higher = less accurate but faster)
|
|
32
|
-
* @returns
|
|
46
|
+
* @returns Array of pixels
|
|
33
47
|
*/
|
|
34
48
|
createPixelArray(quality: number): Promise<quantize.RgbPixel[] | null>;
|
|
35
|
-
/**
|
|
36
|
-
* Gets the image data from the canvas
|
|
37
|
-
*/
|
|
49
|
+
/** Gets the image data from the canvas. */
|
|
38
50
|
getImageData(x?: number, y?: number): Promise<ImageData>;
|
|
39
|
-
/**
|
|
40
|
-
* Waits for loading variable to equal true
|
|
41
|
-
*/
|
|
42
|
-
private waitForLoading;
|
|
43
51
|
}
|
|
44
52
|
declare global {
|
|
45
53
|
interface HTMLElementTagNameMap {
|
|
46
54
|
'canvas-image': CanvasImage;
|
|
47
55
|
}
|
|
48
56
|
}
|
|
57
|
+
export {};
|
|
49
58
|
//# sourceMappingURL=canvas-image.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-image.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas-image.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"canvas-image.d.ts","sourceRoot":"","sources":["../../../src/components/canvas/canvas-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,QAAsB,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,QAAA,MAAM,WAAW,kDAAmD,CAAC;AACrE,KAAK,WAAW,GAAG,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAE9C;;;;GAIG;AACH,qBACa,WAAY,SAAQ,UAAU;IAC1C,MAAM,CAAC,MAAM,4BAAkC;IAE/C,yBAAyB;IAEzB,SAAS,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEnC,qBAAqB;IAEd,QAAQ,EAAE,MAAM,CAAM;IAE7B,uEAAuE;IAEhE,SAAS,EAAE,OAAO,CAAS;IAElC,wBAAwB;IAEjB,KAAK,EAAE,MAAM,CAAK;IAEzB,yBAAyB;IAElB,MAAM,EAAE,MAAM,CAAK;IAE1B,qEAAqE;IAErE,SAAS,CAAC,MAAM,EAAE,WAAW,CAAU;IAEvC,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAY3D,IAAI,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAkBrC;IAED,MAAM;IAaN;;;OAGG;IACH,OAAO,CAAC,YAAY;IA0BpB,4DAA4D;IAC5D,OAAO,CAAC,gBAAgB;IAMxB;;;;;OAKG;IACU,UAAU,CAAC,SAAS,SAAI,EAAE,OAAO,SAAK;IAqBnD;;;;;OAKG;IACU,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAuB7C,2CAA2C;IAC9B,YAAY,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI;CAQtC;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,cAAc,EAAE,WAAW,CAAC;KAC5B;CACD"}
|