@alegendstale/holly-components 2.0.3 → 2.0.4
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/components/absolute-container/absolute-container.js +79 -113
- package/dist/components/absolute-container/absolute-container.styles.js +20 -17
- package/dist/components/bottom-sheet/bottom-sheet.js +189 -319
- package/dist/components/bottom-sheet/bottom-sheet.styles.js +117 -114
- package/dist/components/canvas/canvas-base.d.ts +4 -1
- package/dist/components/canvas/canvas-base.d.ts.map +1 -1
- package/dist/components/canvas/canvas-base.js +51 -67
- package/dist/components/canvas/canvas-gradient.js +44 -69
- package/dist/components/canvas/canvas-image.js +112 -177
- package/dist/components/canvas/canvas-image.styles.js +23 -20
- package/dist/components/carousel-scroller/carousel-scroller.js +63 -87
- package/dist/components/carousel-scroller/carousel-scroller.styles.js +68 -65
- package/dist/components/color-palette/color-palette-utils.js +55 -104
- package/dist/components/color-palette/color-palette.js +250 -384
- package/dist/components/color-palette/color-palette.styles.js +92 -89
- package/dist/components/color-palette/component/color-palette-component.js +134 -188
- package/dist/components/color-palette/component/color-palette-component.styles.js +12 -9
- package/dist/components/color-palette/editor/color-palette-editor.js +413 -539
- package/dist/components/color-palette/editor/color-palette-editor.styles.js +149 -146
- package/dist/components/color-palette/editor/settings-item.js +32 -40
- package/dist/components/color-palette/editor/settings-item.styles.js +36 -33
- package/dist/components/color-palette/item/color-palette-item-edit.js +50 -84
- package/dist/components/color-palette/item/color-palette-item-edit.styles.js +53 -50
- package/dist/components/color-palette/item/color-palette-item.js +72 -107
- package/dist/components/color-palette/item/color-palette-item.styles.js +85 -82
- package/dist/components/color-palette/menu/color-palette-menu.js +162 -200
- package/dist/components/color-palette/menu/color-palette-menu.styles.js +51 -48
- package/dist/components/color-palette/menu/color-palette-reorder.js +76 -95
- package/dist/components/color-palette/menu/color-palette-reorder.styles.js +33 -30
- package/dist/components/draw-svg/draw-svg.js +35 -52
- package/dist/components/draw-svg/draw-svg.styles.js +41 -38
- package/dist/components/responsive-svg/responsive-svg.js +122 -174
- package/dist/components/responsive-svg/responsive-svg.styles.js +48 -45
- package/dist/components/tool-tip/tool-tip.d.ts +5 -1
- package/dist/components/tool-tip/tool-tip.d.ts.map +1 -1
- package/dist/components/tool-tip/tool-tip.js +64 -100
- package/dist/components/tool-tip/tool-tip.styles.js +60 -57
- package/dist/decorators/condCustomElement.js +8 -11
- package/dist/utils/EventEmitter.js +23 -23
- package/dist/utils/ResponsiveController.js +15 -18
- package/dist/utils/basicUtils.js +98 -146
- package/dist/utils/colorsea-wrapper.js +162 -166
- package/dist/utils/dragDropUtils.js +75 -119
- package/dist/utils/generateUtils.js +39 -73
- package/package.json +29 -60
- package/dist/components/absolute-container/absolute-container.stories.d.ts +0 -11
- package/dist/components/absolute-container/absolute-container.stories.d.ts.map +0 -1
- package/dist/components/absolute-container/absolute-container.stories.js +0 -64
- package/dist/components/absolute-container/index.d.ts +0 -2
- package/dist/components/absolute-container/index.d.ts.map +0 -1
- package/dist/components/absolute-container/index.js +0 -1
- package/dist/components/bottom-sheet/bottom-sheet.stories.d.ts +0 -17
- package/dist/components/bottom-sheet/bottom-sheet.stories.d.ts.map +0 -1
- package/dist/components/bottom-sheet/bottom-sheet.stories.js +0 -67
- package/dist/components/bottom-sheet/index.d.ts +0 -2
- package/dist/components/bottom-sheet/index.d.ts.map +0 -1
- package/dist/components/bottom-sheet/index.js +0 -1
- package/dist/components/canvas/canvas-base.stories.d.ts +0 -7
- package/dist/components/canvas/canvas-base.stories.d.ts.map +0 -1
- package/dist/components/canvas/canvas-base.stories.js +0 -24
- package/dist/components/canvas/canvas-gradient.stories.d.ts +0 -14
- package/dist/components/canvas/canvas-gradient.stories.d.ts.map +0 -1
- package/dist/components/canvas/canvas-gradient.stories.js +0 -46
- package/dist/components/canvas/canvas-image.stories.d.ts +0 -13
- package/dist/components/canvas/canvas-image.stories.d.ts.map +0 -1
- package/dist/components/canvas/canvas-image.stories.js +0 -49
- package/dist/components/canvas/index.d.ts +0 -3
- package/dist/components/canvas/index.d.ts.map +0 -1
- package/dist/components/canvas/index.js +0 -2
- package/dist/components/carousel-scroller/carousel-scroller.stories.d.ts +0 -13
- package/dist/components/carousel-scroller/carousel-scroller.stories.d.ts.map +0 -1
- package/dist/components/carousel-scroller/carousel-scroller.stories.js +0 -56
- package/dist/components/carousel-scroller/index.d.ts +0 -2
- package/dist/components/carousel-scroller/index.d.ts.map +0 -1
- package/dist/components/carousel-scroller/index.js +0 -1
- package/dist/components/color-palette/component/color-palette-component.stories.d.ts +0 -13
- package/dist/components/color-palette/component/color-palette-component.stories.d.ts.map +0 -1
- package/dist/components/color-palette/component/color-palette-component.stories.js +0 -75
- package/dist/components/color-palette/component/index.d.ts +0 -2
- package/dist/components/color-palette/component/index.d.ts.map +0 -1
- package/dist/components/color-palette/component/index.js +0 -1
- package/dist/components/color-palette/editor/color-palette-editor.stories.d.ts +0 -18
- package/dist/components/color-palette/editor/color-palette-editor.stories.d.ts.map +0 -1
- package/dist/components/color-palette/editor/color-palette-editor.stories.js +0 -67
- package/dist/components/color-palette/editor/index.d.ts +0 -2
- package/dist/components/color-palette/editor/index.d.ts.map +0 -1
- package/dist/components/color-palette/editor/index.js +0 -1
- package/dist/components/color-palette/index.d.ts +0 -6
- package/dist/components/color-palette/index.d.ts.map +0 -1
- package/dist/components/color-palette/index.js +0 -5
- package/dist/components/color-palette/item/index.d.ts +0 -3
- package/dist/components/color-palette/item/index.d.ts.map +0 -1
- package/dist/components/color-palette/item/index.js +0 -2
- package/dist/components/color-palette/menu/index.d.ts +0 -3
- package/dist/components/color-palette/menu/index.d.ts.map +0 -1
- package/dist/components/color-palette/menu/index.js +0 -2
- package/dist/components/color-palette/storybook/color-palette-invalid.stories.d.ts +0 -33
- package/dist/components/color-palette/storybook/color-palette-invalid.stories.d.ts.map +0 -1
- package/dist/components/color-palette/storybook/color-palette-invalid.stories.js +0 -62
- package/dist/components/color-palette/storybook/color-palette-valid.stories.d.ts +0 -52
- package/dist/components/color-palette/storybook/color-palette-valid.stories.d.ts.map +0 -1
- package/dist/components/color-palette/storybook/color-palette-valid.stories.js +0 -268
- package/dist/components/color-palette/storybook/color-palette.stories.d.ts +0 -27
- package/dist/components/color-palette/storybook/color-palette.stories.d.ts.map +0 -1
- package/dist/components/color-palette/storybook/color-palette.stories.js +0 -129
- package/dist/components/draw-svg/draw-svg.stories.d.ts +0 -7
- package/dist/components/draw-svg/draw-svg.stories.d.ts.map +0 -1
- package/dist/components/draw-svg/draw-svg.stories.js +0 -61
- package/dist/components/draw-svg/index.d.ts +0 -2
- package/dist/components/draw-svg/index.d.ts.map +0 -1
- package/dist/components/draw-svg/index.js +0 -1
- package/dist/components/responsive-svg/index.d.ts +0 -2
- package/dist/components/responsive-svg/index.d.ts.map +0 -1
- package/dist/components/responsive-svg/index.js +0 -1
- package/dist/components/responsive-svg/responsive-svg.stories.d.ts +0 -26
- package/dist/components/responsive-svg/responsive-svg.stories.d.ts.map +0 -1
- package/dist/components/responsive-svg/responsive-svg.stories.js +0 -194
- package/dist/components/tool-tip/index.d.ts +0 -2
- package/dist/components/tool-tip/index.d.ts.map +0 -1
- package/dist/components/tool-tip/index.js +0 -1
- package/dist/components/tool-tip/tool-tip.stories.d.ts +0 -16
- package/dist/components/tool-tip/tool-tip.stories.d.ts.map +0 -1
- package/dist/components/tool-tip/tool-tip.stories.js +0 -62
- package/dist/decorators/index.d.ts +0 -2
- package/dist/decorators/index.d.ts.map +0 -1
- package/dist/decorators/index.js +0 -1
- package/dist/index.d.ts +0 -11
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -10
- package/dist/utils/index.d.ts +0 -5
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/index.js +0 -4
- package/dist/utils/types.d.ts +0 -5
- package/dist/utils/types.d.ts.map +0 -1
- package/dist/utils/types.js +0 -1
|
@@ -1,322 +1,192 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { LitElement as c, html as g } from "lit";
|
|
2
|
+
import { query as p, property as h, customElement as u } from "lit/decorators.js";
|
|
3
|
+
import { EventEmitter as d } from "../../utils/EventEmitter.js";
|
|
4
|
+
import f from "./bottom-sheet.styles.js";
|
|
5
|
+
var m = Object.defineProperty, y = Object.getOwnPropertyDescriptor, r = (t, e, i, n) => {
|
|
6
|
+
for (var s = n > 1 ? void 0 : n ? y(e, i) : e, a = t.length - 1, l; a >= 0; a--)
|
|
7
|
+
(l = t[a]) && (s = (n ? l(e, i, s) : l(s)) || s);
|
|
8
|
+
return n && s && m(e, i, s), s;
|
|
6
9
|
};
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
disconnectedCallback() {
|
|
72
|
-
super.disconnectedCallback();
|
|
73
|
-
this.emitter.clear();
|
|
74
|
-
}
|
|
75
|
-
render() {
|
|
76
|
-
requestAnimationFrame(() => {
|
|
77
|
-
this.setDialog(this.open);
|
|
78
|
-
});
|
|
79
|
-
return html `
|
|
80
|
-
<dialog
|
|
81
|
-
@click=${(e) => {
|
|
82
|
-
// Prevents clicks from reaching elements underneath sheet
|
|
83
|
-
e.stopPropagation();
|
|
84
|
-
this.toggleSheet();
|
|
85
|
-
}}
|
|
86
|
-
>
|
|
87
|
-
<button
|
|
88
|
-
id="handle"
|
|
89
|
-
part="__handle"
|
|
90
|
-
@pointerdown=${this.pointerDown}
|
|
91
|
-
@pointermove=${this.pointerMove}
|
|
92
|
-
@pointerup=${this.pointerUp}
|
|
93
|
-
@click=${(e) => {
|
|
94
|
-
// Prevents clicks from reaching elements underneath sheet
|
|
95
|
-
e.stopPropagation();
|
|
96
|
-
}}
|
|
97
|
-
>
|
|
98
|
-
⸻
|
|
99
|
-
</button>
|
|
100
|
-
|
|
101
|
-
<div
|
|
102
|
-
id='content'
|
|
103
|
-
part="__content"
|
|
104
|
-
tabindex='0'
|
|
105
|
-
@touchstart=${this.touchDown}
|
|
106
|
-
@touchend=${this.touchUp}
|
|
107
|
-
@touchmove=${this.touchMove}
|
|
108
|
-
@scroll=${this.contentScroll}
|
|
109
|
-
@touchcancel=${(e) => {
|
|
110
|
-
console.warn('User Agent touchcancelled the event.', e.target);
|
|
111
|
-
}}
|
|
112
|
-
@dragstart=${(e) => {
|
|
113
|
-
// Prevent slot children from being dragged
|
|
114
|
-
e.preventDefault();
|
|
115
|
-
}}
|
|
116
|
-
@click=${(e) => {
|
|
117
|
-
// Prevents clicks from reaching elements underneath sheet
|
|
118
|
-
e.stopPropagation();
|
|
119
|
-
}}
|
|
120
|
-
>
|
|
121
|
-
<slot></slot>
|
|
122
|
-
</div>
|
|
123
|
-
</dialog>
|
|
10
|
+
let o = class extends c {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments), this.open = !1, this.nonmodal = !1, this.dragging = !1, this.scrolling = !1, this.snapPoints = [], this.defaultSnap = NaN, this.emitter = new d(), this.startY = 0, this.startHeight = 0, this.previousTouch = null, this.lastScrollTop = 0;
|
|
13
|
+
}
|
|
14
|
+
set height(t) {
|
|
15
|
+
const e = Math.min(Math.max(t, 0), 100);
|
|
16
|
+
this.emitter.emit("snapped", this.isSnapped(e), this.shadowRoot?.activeElement), isFinite(t) ? this.style.setProperty("--height", `${Math.round(e)}dvh`) : this.style.setProperty("--height", "fit-content");
|
|
17
|
+
}
|
|
18
|
+
get height() {
|
|
19
|
+
return parseInt(this.style.getPropertyValue("--height"));
|
|
20
|
+
}
|
|
21
|
+
connectedCallback() {
|
|
22
|
+
super.connectedCallback();
|
|
23
|
+
const t = this.snapPoints.length === 2 ? 0 : 1;
|
|
24
|
+
this.defaultSnap = this.snapPoints.length > 0 ? isNaN(this.defaultSnap) ? this.snapPoints[Math.round(this.snapPoints.length / 2) - t] : this.defaultSnap : NaN, this.emitter.on("snapped", this.onSnapped.bind(this)), requestAnimationFrame(() => {
|
|
25
|
+
this.showSheet(this.open);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
disconnectedCallback() {
|
|
29
|
+
super.disconnectedCallback(), this.emitter.clear();
|
|
30
|
+
}
|
|
31
|
+
render() {
|
|
32
|
+
return requestAnimationFrame(() => {
|
|
33
|
+
this.setDialog(this.open);
|
|
34
|
+
}), g`
|
|
35
|
+
<dialog
|
|
36
|
+
@click=${(t) => {
|
|
37
|
+
t.stopPropagation(), this.toggleSheet();
|
|
38
|
+
}}
|
|
39
|
+
>
|
|
40
|
+
<button
|
|
41
|
+
id="handle"
|
|
42
|
+
part="__handle"
|
|
43
|
+
@pointerdown=${this.pointerDown}
|
|
44
|
+
@pointermove=${this.pointerMove}
|
|
45
|
+
@pointerup=${this.pointerUp}
|
|
46
|
+
@click=${(t) => {
|
|
47
|
+
t.stopPropagation();
|
|
48
|
+
}}
|
|
49
|
+
>
|
|
50
|
+
⸻
|
|
51
|
+
</button>
|
|
52
|
+
|
|
53
|
+
<div
|
|
54
|
+
id='content'
|
|
55
|
+
part="__content"
|
|
56
|
+
tabindex='0'
|
|
57
|
+
@touchstart=${this.touchDown}
|
|
58
|
+
@touchend=${this.touchUp}
|
|
59
|
+
@touchmove=${this.touchMove}
|
|
60
|
+
@scroll=${this.contentScroll}
|
|
61
|
+
@touchcancel=${(t) => {
|
|
62
|
+
console.warn("User Agent touchcancelled the event.", t.target);
|
|
63
|
+
}}
|
|
64
|
+
@dragstart=${(t) => {
|
|
65
|
+
t.preventDefault();
|
|
66
|
+
}}
|
|
67
|
+
@click=${(t) => {
|
|
68
|
+
t.stopPropagation();
|
|
69
|
+
}}
|
|
70
|
+
>
|
|
71
|
+
<slot></slot>
|
|
72
|
+
</div>
|
|
73
|
+
</dialog>
|
|
124
74
|
`;
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
touchUp(e) {
|
|
243
|
-
if (!(e.target instanceof HTMLElement))
|
|
244
|
-
return;
|
|
245
|
-
this.previousTouch = null;
|
|
246
|
-
this.setSnap(this.height);
|
|
247
|
-
}
|
|
248
|
-
pointerDown(e) {
|
|
249
|
-
if (!(e.target instanceof HTMLElement))
|
|
250
|
-
return;
|
|
251
|
-
e.target.setPointerCapture(e.pointerId);
|
|
252
|
-
this.startY = e.pageY;
|
|
253
|
-
this.startHeight = this.height;
|
|
254
|
-
}
|
|
255
|
-
pointerMove(e) {
|
|
256
|
-
// Ensure target has pointer capture
|
|
257
|
-
if (!(e.target instanceof HTMLElement && e.target.hasPointerCapture(e.pointerId)))
|
|
258
|
-
return;
|
|
259
|
-
// Ensure only one pointer is being tracked
|
|
260
|
-
if (!e.isPrimary)
|
|
261
|
-
return;
|
|
262
|
-
// Prevents sheet drag from being interrupted
|
|
263
|
-
e.preventDefault();
|
|
264
|
-
let deltaY = this.startY - e.pageY;
|
|
265
|
-
const newHeight = this.startHeight + (deltaY / window.innerHeight) * 100;
|
|
266
|
-
if (e.target.id === 'handle') {
|
|
267
|
-
this.height = newHeight;
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
pointerUp(e) {
|
|
271
|
-
if (!(e.target instanceof HTMLElement))
|
|
272
|
-
return;
|
|
273
|
-
e.target.releasePointerCapture(e.pointerId);
|
|
274
|
-
this.setSnap(this.height);
|
|
275
|
-
}
|
|
276
|
-
onSnapped(snapped, activeElement) {
|
|
277
|
-
this.dragging = !snapped;
|
|
278
|
-
}
|
|
279
|
-
contentScroll(e) {
|
|
280
|
-
if (!(e.target instanceof HTMLElement && e.target.id === 'content'))
|
|
281
|
-
return;
|
|
282
|
-
const currentScrollTop = e.target.scrollTop;
|
|
283
|
-
this.scrolling = currentScrollTop !== this.lastScrollTop;
|
|
284
|
-
this.lastScrollTop = currentScrollTop;
|
|
285
|
-
if (currentScrollTop === 0)
|
|
286
|
-
this.scrolling = false;
|
|
287
|
-
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Find closest point index to target in array
|
|
78
|
+
*/
|
|
79
|
+
closestSnapPointIndex(t, e) {
|
|
80
|
+
return t.reduce((i, n, s) => Math.abs(n - e) < Math.abs(t[i] - e) ? s : i, 0);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Sets sheet height to the closest snap
|
|
84
|
+
* @param height percentage
|
|
85
|
+
*/
|
|
86
|
+
setSnap(t) {
|
|
87
|
+
if (this.snapPoints.length === 0) return;
|
|
88
|
+
const e = this.snapPoints[this.closestSnapPointIndex(this.snapPoints, t)];
|
|
89
|
+
e === this.snapPoints[0] && this.showSheet(!1), this.height = e;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* @returns Whether sheet is snapped to a snap point
|
|
93
|
+
*/
|
|
94
|
+
isSnapped(t) {
|
|
95
|
+
return this.snapPoints.some((e) => e === Math.round(t));
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Sets the display state of the sheet
|
|
99
|
+
*/
|
|
100
|
+
showSheet(t) {
|
|
101
|
+
this.open = t, this.height = isNaN(this.defaultSnap) ? 1 / 0 : this.defaultSnap, this.setOverscroll(t), this.setDialog(t);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Toggles the display state of the sheet
|
|
105
|
+
*/
|
|
106
|
+
toggleSheet() {
|
|
107
|
+
this.showSheet(!this.open);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Remove overscroll to prevent mobile browsers from refreshing during drag
|
|
111
|
+
*/
|
|
112
|
+
setOverscroll(t) {
|
|
113
|
+
const e = document.querySelector("html"), i = document.querySelector("body"), n = t ? "none" : "unset";
|
|
114
|
+
e && e.style.setProperty("overscroll-behavior-block", n), i && i.style.setProperty("overscroll-behavior-block", n);
|
|
115
|
+
}
|
|
116
|
+
setDialog(t) {
|
|
117
|
+
t && !this.dialog.open ? this.nonmodal ? this.dialog.show() : this.dialog.showModal() : t && this.dialog.open ? this.nonmodal && this.modalDialog ? (this.dialog.close(), this.dialog.show()) : !this.nonmodal && this.nonModalDialog && (this.dialog.close(), this.dialog.showModal()) : this.dialog.close();
|
|
118
|
+
}
|
|
119
|
+
touchDown(t) {
|
|
120
|
+
t.target instanceof HTMLElement && (this.startY = t.touches[0].pageY, this.startHeight = this.height);
|
|
121
|
+
}
|
|
122
|
+
touchMove(t) {
|
|
123
|
+
if (!(t.target instanceof HTMLElement)) return;
|
|
124
|
+
const e = t.touches[0];
|
|
125
|
+
let i = NaN;
|
|
126
|
+
this.previousTouch && (i = e.pageY - this.previousTouch.pageY), this.previousTouch = e;
|
|
127
|
+
let n = this.startY - t.touches[0].pageY;
|
|
128
|
+
const s = this.startHeight + n / window.innerHeight * 100;
|
|
129
|
+
!this.scrolling && this.dragging ? this.height = s : this.scrolling && this.dragging || this.scrolling && !this.dragging ? t.target.focus({ preventScroll: !0 }) : !this.scrolling && !this.dragging && (i >= 0 ? this.height = Math.min(s, this.defaultSnap || this.snapPoints[this.snapPoints.length - 1]) : t.target.focus({ preventScroll: !0 }));
|
|
130
|
+
}
|
|
131
|
+
touchUp(t) {
|
|
132
|
+
t.target instanceof HTMLElement && (this.previousTouch = null, this.setSnap(this.height));
|
|
133
|
+
}
|
|
134
|
+
pointerDown(t) {
|
|
135
|
+
t.target instanceof HTMLElement && (t.target.setPointerCapture(t.pointerId), this.startY = t.pageY, this.startHeight = this.height);
|
|
136
|
+
}
|
|
137
|
+
pointerMove(t) {
|
|
138
|
+
if (!(t.target instanceof HTMLElement && t.target.hasPointerCapture(t.pointerId)) || !t.isPrimary) return;
|
|
139
|
+
t.preventDefault();
|
|
140
|
+
let e = this.startY - t.pageY;
|
|
141
|
+
const i = this.startHeight + e / window.innerHeight * 100;
|
|
142
|
+
t.target.id === "handle" && (this.height = i);
|
|
143
|
+
}
|
|
144
|
+
pointerUp(t) {
|
|
145
|
+
t.target instanceof HTMLElement && (t.target.releasePointerCapture(t.pointerId), this.setSnap(this.height));
|
|
146
|
+
}
|
|
147
|
+
onSnapped(t, e) {
|
|
148
|
+
this.dragging = !t;
|
|
149
|
+
}
|
|
150
|
+
contentScroll(t) {
|
|
151
|
+
if (!(t.target instanceof HTMLElement && t.target.id === "content")) return;
|
|
152
|
+
const e = t.target.scrollTop;
|
|
153
|
+
this.scrolling = e !== this.lastScrollTop, this.lastScrollTop = e, e === 0 && (this.scrolling = !1);
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
o.styles = [f];
|
|
157
|
+
r([
|
|
158
|
+
p("dialog")
|
|
159
|
+
], o.prototype, "dialog", 2);
|
|
160
|
+
r([
|
|
161
|
+
p("dialog:not(:modal)")
|
|
162
|
+
], o.prototype, "nonModalDialog", 2);
|
|
163
|
+
r([
|
|
164
|
+
p("dialog:modal")
|
|
165
|
+
], o.prototype, "modalDialog", 2);
|
|
166
|
+
r([
|
|
167
|
+
h({ type: Boolean, reflect: !0 })
|
|
168
|
+
], o.prototype, "open", 2);
|
|
169
|
+
r([
|
|
170
|
+
h({ type: Boolean, reflect: !0 })
|
|
171
|
+
], o.prototype, "nonmodal", 2);
|
|
172
|
+
r([
|
|
173
|
+
h({ type: Boolean, reflect: !0 })
|
|
174
|
+
], o.prototype, "dragging", 2);
|
|
175
|
+
r([
|
|
176
|
+
h({ type: Boolean, reflect: !0 })
|
|
177
|
+
], o.prototype, "scrolling", 2);
|
|
178
|
+
r([
|
|
179
|
+
h({ type: Array })
|
|
180
|
+
], o.prototype, "snapPoints", 2);
|
|
181
|
+
r([
|
|
182
|
+
h({ type: Number })
|
|
183
|
+
], o.prototype, "defaultSnap", 2);
|
|
184
|
+
r([
|
|
185
|
+
h({ type: Number, reflect: !0 })
|
|
186
|
+
], o.prototype, "height", 1);
|
|
187
|
+
o = r([
|
|
188
|
+
u("bottom-sheet")
|
|
189
|
+
], o);
|
|
190
|
+
export {
|
|
191
|
+
o as BottomSheet
|
|
288
192
|
};
|
|
289
|
-
__decorate([
|
|
290
|
-
query('dialog')
|
|
291
|
-
], BottomSheet.prototype, "dialog", void 0);
|
|
292
|
-
__decorate([
|
|
293
|
-
query('dialog:not(:modal)')
|
|
294
|
-
], BottomSheet.prototype, "nonModalDialog", void 0);
|
|
295
|
-
__decorate([
|
|
296
|
-
query('dialog:modal')
|
|
297
|
-
], BottomSheet.prototype, "modalDialog", void 0);
|
|
298
|
-
__decorate([
|
|
299
|
-
property({ type: Boolean, reflect: true })
|
|
300
|
-
], BottomSheet.prototype, "open", void 0);
|
|
301
|
-
__decorate([
|
|
302
|
-
property({ type: Boolean, reflect: true })
|
|
303
|
-
], BottomSheet.prototype, "nonmodal", void 0);
|
|
304
|
-
__decorate([
|
|
305
|
-
property({ type: Boolean, reflect: true })
|
|
306
|
-
], BottomSheet.prototype, "dragging", void 0);
|
|
307
|
-
__decorate([
|
|
308
|
-
property({ type: Boolean, reflect: true })
|
|
309
|
-
], BottomSheet.prototype, "scrolling", void 0);
|
|
310
|
-
__decorate([
|
|
311
|
-
property({ type: Array })
|
|
312
|
-
], BottomSheet.prototype, "snapPoints", void 0);
|
|
313
|
-
__decorate([
|
|
314
|
-
property({ type: Number })
|
|
315
|
-
], BottomSheet.prototype, "defaultSnap", void 0);
|
|
316
|
-
__decorate([
|
|
317
|
-
property({ type: Number, reflect: true })
|
|
318
|
-
], BottomSheet.prototype, "height", null);
|
|
319
|
-
BottomSheet = __decorate([
|
|
320
|
-
customElement('bottom-sheet')
|
|
321
|
-
], BottomSheet);
|
|
322
|
-
export { BottomSheet };
|