@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.
Files changed (147) hide show
  1. package/README.md +9 -5
  2. package/dist/components/absolute-container/absolute-container.d.ts +17 -3
  3. package/dist/components/absolute-container/absolute-container.d.ts.map +1 -1
  4. package/dist/components/absolute-container/absolute-container.js +22 -25
  5. package/dist/components/absolute-container/absolute-container.stories.d.ts +3 -1
  6. package/dist/components/absolute-container/absolute-container.stories.d.ts.map +1 -1
  7. package/dist/components/absolute-container/absolute-container.stories.js +35 -7
  8. package/dist/components/absolute-container/absolute-container.styles.d.ts +3 -0
  9. package/dist/components/absolute-container/absolute-container.styles.d.ts.map +1 -0
  10. package/dist/components/absolute-container/absolute-container.styles.js +18 -0
  11. package/dist/components/bottom-sheet/bottom-sheet.d.ts +25 -0
  12. package/dist/components/bottom-sheet/bottom-sheet.d.ts.map +1 -1
  13. package/dist/components/bottom-sheet/bottom-sheet.js +29 -127
  14. package/dist/components/bottom-sheet/bottom-sheet.stories.d.ts +5 -2
  15. package/dist/components/bottom-sheet/bottom-sheet.stories.d.ts.map +1 -1
  16. package/dist/components/bottom-sheet/bottom-sheet.stories.js +31 -7
  17. package/dist/components/bottom-sheet/bottom-sheet.styles.d.ts +3 -0
  18. package/dist/components/bottom-sheet/bottom-sheet.styles.d.ts.map +1 -0
  19. package/dist/components/bottom-sheet/bottom-sheet.styles.js +115 -0
  20. package/dist/components/canvas/canvas-base.d.ts +8 -1
  21. package/dist/components/canvas/canvas-base.d.ts.map +1 -1
  22. package/dist/components/canvas/canvas-base.js +14 -11
  23. package/dist/components/canvas/canvas-base.stories.d.ts +7 -0
  24. package/dist/components/canvas/canvas-base.stories.d.ts.map +1 -0
  25. package/dist/components/canvas/canvas-base.stories.js +24 -0
  26. package/dist/components/canvas/canvas-gradient.d.ts +10 -3
  27. package/dist/components/canvas/canvas-gradient.d.ts.map +1 -1
  28. package/dist/components/canvas/canvas-gradient.js +13 -9
  29. package/dist/components/canvas/canvas-gradient.stories.d.ts +14 -0
  30. package/dist/components/canvas/canvas-gradient.stories.d.ts.map +1 -0
  31. package/dist/components/canvas/canvas-gradient.stories.js +46 -0
  32. package/dist/components/canvas/canvas-image.d.ts +25 -16
  33. package/dist/components/canvas/canvas-image.d.ts.map +1 -1
  34. package/dist/components/canvas/canvas-image.js +84 -72
  35. package/dist/components/canvas/canvas-image.stories.d.ts +13 -0
  36. package/dist/components/canvas/canvas-image.stories.d.ts.map +1 -0
  37. package/dist/components/canvas/canvas-image.stories.js +49 -0
  38. package/dist/components/canvas/canvas-image.styles.d.ts +3 -0
  39. package/dist/components/canvas/canvas-image.styles.d.ts.map +1 -0
  40. package/dist/components/canvas/canvas-image.styles.js +21 -0
  41. package/dist/components/carousel-scroller/carousel-scroller.d.ts +23 -6
  42. package/dist/components/carousel-scroller/carousel-scroller.d.ts.map +1 -1
  43. package/dist/components/carousel-scroller/carousel-scroller.js +32 -80
  44. package/dist/components/carousel-scroller/carousel-scroller.stories.d.ts +4 -2
  45. package/dist/components/carousel-scroller/carousel-scroller.stories.d.ts.map +1 -1
  46. package/dist/components/carousel-scroller/carousel-scroller.stories.js +22 -6
  47. package/dist/components/carousel-scroller/carousel-scroller.styles.d.ts +3 -0
  48. package/dist/components/carousel-scroller/carousel-scroller.styles.d.ts.map +1 -0
  49. package/dist/components/carousel-scroller/carousel-scroller.styles.js +66 -0
  50. package/dist/components/color-palette/color-palette-utils.d.ts.map +1 -1
  51. package/dist/components/color-palette/color-palette.d.ts +53 -16
  52. package/dist/components/color-palette/color-palette.d.ts.map +1 -1
  53. package/dist/components/color-palette/color-palette.js +72 -126
  54. package/dist/components/color-palette/color-palette.styles.d.ts +3 -0
  55. package/dist/components/color-palette/color-palette.styles.d.ts.map +1 -0
  56. package/dist/components/color-palette/color-palette.styles.js +90 -0
  57. package/dist/components/color-palette/component/color-palette-component.d.ts +16 -2
  58. package/dist/components/color-palette/component/color-palette-component.d.ts.map +1 -1
  59. package/dist/components/color-palette/component/color-palette-component.js +18 -19
  60. package/dist/components/color-palette/component/color-palette-component.stories.d.ts +4 -2
  61. package/dist/components/color-palette/component/color-palette-component.stories.d.ts.map +1 -1
  62. package/dist/components/color-palette/component/color-palette-component.stories.js +34 -36
  63. package/dist/components/color-palette/component/color-palette-component.styles.d.ts +3 -0
  64. package/dist/components/color-palette/component/color-palette-component.styles.d.ts.map +1 -0
  65. package/dist/components/color-palette/component/color-palette-component.styles.js +10 -0
  66. package/dist/components/color-palette/editor/color-palette-editor.d.ts +28 -14
  67. package/dist/components/color-palette/editor/color-palette-editor.d.ts.map +1 -1
  68. package/dist/components/color-palette/editor/color-palette-editor.js +30 -216
  69. package/dist/components/color-palette/editor/color-palette-editor.stories.d.ts +9 -2
  70. package/dist/components/color-palette/editor/color-palette-editor.stories.d.ts.map +1 -1
  71. package/dist/components/color-palette/editor/color-palette-editor.stories.js +32 -4
  72. package/dist/components/color-palette/editor/color-palette-editor.styles.d.ts +3 -0
  73. package/dist/components/color-palette/editor/color-palette-editor.styles.d.ts.map +1 -0
  74. package/dist/components/color-palette/editor/color-palette-editor.styles.js +147 -0
  75. package/dist/components/color-palette/editor/settings-item.d.ts +20 -0
  76. package/dist/components/color-palette/editor/settings-item.d.ts.map +1 -0
  77. package/dist/components/color-palette/editor/settings-item.js +43 -0
  78. package/dist/components/color-palette/editor/settings-item.styles.d.ts +3 -0
  79. package/dist/components/color-palette/editor/settings-item.styles.d.ts.map +1 -0
  80. package/dist/components/color-palette/editor/settings-item.styles.js +34 -0
  81. package/dist/components/color-palette/item/color-palette-item-edit.d.ts +9 -2
  82. package/dist/components/color-palette/item/color-palette-item-edit.d.ts.map +1 -1
  83. package/dist/components/color-palette/item/color-palette-item-edit.js +12 -57
  84. package/dist/components/color-palette/item/color-palette-item-edit.styles.d.ts +3 -0
  85. package/dist/components/color-palette/item/color-palette-item-edit.styles.d.ts.map +1 -0
  86. package/dist/components/color-palette/item/color-palette-item-edit.styles.js +51 -0
  87. package/dist/components/color-palette/item/color-palette-item.d.ts +21 -2
  88. package/dist/components/color-palette/item/color-palette-item.d.ts.map +1 -1
  89. package/dist/components/color-palette/item/color-palette-item.js +23 -89
  90. package/dist/components/color-palette/item/color-palette-item.styles.d.ts +3 -0
  91. package/dist/components/color-palette/item/color-palette-item.styles.d.ts.map +1 -0
  92. package/dist/components/color-palette/item/color-palette-item.styles.js +83 -0
  93. package/dist/components/color-palette/menu/color-palette-menu.d.ts +15 -3
  94. package/dist/components/color-palette/menu/color-palette-menu.d.ts.map +1 -1
  95. package/dist/components/color-palette/menu/color-palette-menu.js +15 -54
  96. package/dist/components/color-palette/menu/color-palette-menu.styles.d.ts +3 -0
  97. package/dist/components/color-palette/menu/color-palette-menu.styles.d.ts.map +1 -0
  98. package/dist/components/color-palette/menu/color-palette-menu.styles.js +49 -0
  99. package/dist/components/color-palette/menu/color-palette-reorder.d.ts +8 -1
  100. package/dist/components/color-palette/menu/color-palette-reorder.d.ts.map +1 -1
  101. package/dist/components/color-palette/menu/color-palette-reorder.js +11 -36
  102. package/dist/components/color-palette/menu/color-palette-reorder.styles.d.ts +3 -0
  103. package/dist/components/color-palette/menu/color-palette-reorder.styles.d.ts.map +1 -0
  104. package/dist/components/color-palette/menu/color-palette-reorder.styles.js +31 -0
  105. package/dist/components/color-palette/storybook/color-palette-invalid.stories.d.ts +26 -8
  106. package/dist/components/color-palette/storybook/color-palette-invalid.stories.d.ts.map +1 -1
  107. package/dist/components/color-palette/storybook/color-palette-invalid.stories.js +10 -39
  108. package/dist/components/color-palette/storybook/color-palette-valid.stories.d.ts +26 -8
  109. package/dist/components/color-palette/storybook/color-palette-valid.stories.d.ts.map +1 -1
  110. package/dist/components/color-palette/storybook/color-palette-valid.stories.js +30 -58
  111. package/dist/components/color-palette/storybook/color-palette.stories.d.ts +18 -4
  112. package/dist/components/color-palette/storybook/color-palette.stories.d.ts.map +1 -1
  113. package/dist/components/color-palette/storybook/color-palette.stories.js +65 -14
  114. package/dist/components/draw-svg/draw-svg.d.ts +11 -0
  115. package/dist/components/draw-svg/draw-svg.d.ts.map +1 -1
  116. package/dist/components/draw-svg/draw-svg.js +15 -45
  117. package/dist/components/draw-svg/draw-svg.stories.d.ts +2 -14
  118. package/dist/components/draw-svg/draw-svg.stories.d.ts.map +1 -1
  119. package/dist/components/draw-svg/draw-svg.stories.js +21 -97
  120. package/dist/components/draw-svg/draw-svg.styles.d.ts +3 -0
  121. package/dist/components/draw-svg/draw-svg.styles.d.ts.map +1 -0
  122. package/dist/components/draw-svg/draw-svg.styles.js +39 -0
  123. package/dist/components/responsive-svg/responsive-svg.d.ts +35 -15
  124. package/dist/components/responsive-svg/responsive-svg.d.ts.map +1 -1
  125. package/dist/components/responsive-svg/responsive-svg.js +59 -97
  126. package/dist/components/responsive-svg/responsive-svg.stories.d.ts +5 -4
  127. package/dist/components/responsive-svg/responsive-svg.stories.d.ts.map +1 -1
  128. package/dist/components/responsive-svg/responsive-svg.stories.js +93 -109
  129. package/dist/components/responsive-svg/responsive-svg.styles.d.ts +3 -0
  130. package/dist/components/responsive-svg/responsive-svg.styles.d.ts.map +1 -0
  131. package/dist/components/responsive-svg/responsive-svg.styles.js +46 -0
  132. package/dist/components/tool-tip/tool-tip.d.ts +24 -9
  133. package/dist/components/tool-tip/tool-tip.d.ts.map +1 -1
  134. package/dist/components/tool-tip/tool-tip.js +49 -90
  135. package/dist/components/tool-tip/tool-tip.stories.d.ts +4 -1
  136. package/dist/components/tool-tip/tool-tip.stories.d.ts.map +1 -1
  137. package/dist/components/tool-tip/tool-tip.stories.js +35 -5
  138. package/dist/components/tool-tip/tool-tip.styles.d.ts +3 -0
  139. package/dist/components/tool-tip/tool-tip.styles.d.ts.map +1 -0
  140. package/dist/components/tool-tip/tool-tip.styles.js +58 -0
  141. package/package.json +23 -19
  142. package/dist/components/bottom-sheet/bottom-sheet.test.d.ts +0 -2
  143. package/dist/components/bottom-sheet/bottom-sheet.test.d.ts.map +0 -1
  144. package/dist/components/bottom-sheet/bottom-sheet.test.js +0 -15
  145. package/dist/components/tool-tip/Tooltip2.d.ts +0 -17
  146. package/dist/components/tool-tip/Tooltip2.d.ts.map +0 -1
  147. 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: HTMLCanvasElement;
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;AAG9C,KAAK,QAAQ,GAAG;IACf,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;CAClB,CAAC;AAEF,qBACa,UAAW,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,4BAMX;IAGF,MAAM,EAAG,iBAAiB,CAAC;IAE3B,SAAS,CAAC,OAAO,EAAG,wBAAwB,CAAC;IAEtC,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAgC;IAEtE,oBAAoB,IAAI,IAAI;IAK5B,MAAM;IAsBC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAWpD"}
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
- import { condCustomElement } from '../../decorators/condCustomElement.js';
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
- // Retrieves the hex from the mouse position
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
- condCustomElement('canvas-base')
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;AAIrC,qBACa,cAAe,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,4BAEX;IAGF,MAAM,EAAE,MAAM,EAAE,CAAM;IAGtB,MAAM,EAAE,MAAM,CAAK;IAGnB,KAAK,EAAE,MAAM,CAAK;IAGlB,SAAS,EAAE,SAAS,CAAoB;IAExC,SAAS,CAAC,OAAO,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAM3D;;OAEG;IACI,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"}
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
- import { condCustomElement } from '../../decorators/condCustomElement.js';
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
- condCustomElement('canvas-gradient')
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?: HTMLImageElement;
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
- private loading;
19
+ /** The canvas width. */
10
20
  width: number;
21
+ /** The canvas height. */
11
22
  height: number;
12
- protected firstUpdated(_changedProperties: PropertyValues): void;
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
- updateImage(imageURL: string, width: number, height: number): void;
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,EAAa,cAAc,EAAE,MAAM,KAAK,CAAC;AAEhD,OAAO,QAAsB,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,qBACa,WAAY,SAAQ,UAAU;IAC1C,MAAM,CAAC,MAAM,4BAgBX;IAGF,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAGzB,QAAQ,EAAE,MAAM,CAAM;IAGtB,SAAS,EAAE,OAAO,CAAS;IAE3B,OAAO,CAAC,OAAO,CAAiB;IAChC,KAAK,EAAE,MAAM,CAAK;IAClB,MAAM,EAAE,MAAM,CAAK;IAEnB,SAAS,CAAC,YAAY,CAAC,kBAAkB,EAAE,cAAc,GAAG,IAAI;IAOhE,MAAM;IAYN;;;;;OAKG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IA6BlE;;;;;OAKG;IACU,UAAU,CAAC,SAAS,SAAI,EAAE,OAAO,SAAK;IAqBnD;;;;;OAKG;IACU,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAuB7C;;OAEG;IACU,YAAY,CAAC,CAAC,SAAI,EAAE,CAAC,SAAI;IAStC;;OAEG;IACH,OAAO,CAAC,cAAc,CAQnB;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACd,UAAU,qBAAqB;QAC9B,cAAc,EAAE,WAAW,CAAC;KAC5B;CACD"}
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"}