@ev-core/aurelia-v1-sheet 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +161 -0
  2. package/dist/commonjs/au-drag.d.ts +30 -0
  3. package/dist/commonjs/au-drag.js +75 -0
  4. package/dist/commonjs/au-drag.js.map +1 -0
  5. package/dist/commonjs/elements/au-sheet-component.css +108 -0
  6. package/dist/commonjs/elements/au-sheet-component.d.ts +55 -0
  7. package/dist/commonjs/elements/au-sheet-component.html +27 -0
  8. package/dist/commonjs/elements/au-sheet-component.js +331 -0
  9. package/dist/commonjs/elements/au-sheet-component.js.map +1 -0
  10. package/dist/commonjs/index.d.ts +5 -0
  11. package/dist/commonjs/index.js +16 -0
  12. package/dist/commonjs/index.js.map +1 -0
  13. package/dist/commonjs/interfaces.d.ts +37 -0
  14. package/dist/commonjs/interfaces.js +4 -0
  15. package/dist/commonjs/interfaces.js.map +1 -0
  16. package/dist/commonjs/options.d.ts +3 -0
  17. package/dist/commonjs/options.js +22 -0
  18. package/dist/commonjs/options.js.map +1 -0
  19. package/dist/native-modules/au-drag.d.ts +30 -0
  20. package/dist/native-modules/au-drag.js +71 -0
  21. package/dist/native-modules/au-drag.js.map +1 -0
  22. package/dist/native-modules/elements/au-sheet-component.css +108 -0
  23. package/dist/native-modules/elements/au-sheet-component.d.ts +55 -0
  24. package/dist/native-modules/elements/au-sheet-component.html +27 -0
  25. package/dist/native-modules/elements/au-sheet-component.js +328 -0
  26. package/dist/native-modules/elements/au-sheet-component.js.map +1 -0
  27. package/dist/native-modules/index.d.ts +5 -0
  28. package/dist/native-modules/index.js +12 -0
  29. package/dist/native-modules/index.js.map +1 -0
  30. package/dist/native-modules/interfaces.d.ts +37 -0
  31. package/dist/native-modules/interfaces.js +3 -0
  32. package/dist/native-modules/interfaces.js.map +1 -0
  33. package/dist/native-modules/options.d.ts +3 -0
  34. package/dist/native-modules/options.js +18 -0
  35. package/dist/native-modules/options.js.map +1 -0
  36. package/package.json +62 -0
@@ -0,0 +1,331 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuSheetComponent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const aurelia_framework_1 = require("aurelia-framework");
6
+ const au_drag_1 = require("../au-drag");
7
+ const options_1 = require("../options");
8
+ require("./au-sheet-component.css");
9
+ const steps = [
10
+ { minDim: 200, dim: 40, dynamic: true },
11
+ { minDim: 200, dim: 100 }
12
+ ];
13
+ let AuSheetComponent = class AuSheetComponent {
14
+ constructor() {
15
+ this.isOpen = false;
16
+ this.steps = steps;
17
+ this.iosWorkaround = () => {
18
+ const vv = aurelia_framework_1.PLATFORM.global.visualViewport;
19
+ console.log("instan apple");
20
+ console.log(vv);
21
+ };
22
+ this.pusher = new aurelia_framework_1.PLATFORM.global.ResizeObserver(() => {
23
+ this.attachPadToElement();
24
+ });
25
+ }
26
+ attachPadToElement() {
27
+ if (!this.padElement) {
28
+ return;
29
+ }
30
+ if (!this.initialPad) {
31
+ this.initialPad = { width: this.padElement.style.width, height: this.padElement.style.height };
32
+ }
33
+ const cr = this.contentElement.getBoundingClientRect();
34
+ this.padElement.style.paddingBottom = `${cr.height}px`;
35
+ }
36
+ detachPadToElement() {
37
+ if (!this.padElement || !this.initialPad?.height) {
38
+ return;
39
+ }
40
+ this.padElement.style.paddingBottom = this.initialPad.height;
41
+ }
42
+ bind(context) {
43
+ this.buildOptions();
44
+ }
45
+ buildOptions() {
46
+ const opts = (0, options_1.getDefaultOptions)();
47
+ Object.assign(opts, this.options ?? {});
48
+ this.options = opts;
49
+ this.title = this.title ?? opts.title;
50
+ this.placement = this.placement ?? opts.placement;
51
+ this.zIndex = this.zIndex ?? opts.zIndex;
52
+ this.showFooter = this.showFooter === false ? false : opts.showFooter ?? false;
53
+ this.showDragHandle = this.showDragHandle === false ? false : opts.showDragHandle ?? false;
54
+ }
55
+ attached() {
56
+ const step = this.steps[0];
57
+ this.snap(step);
58
+ this.setupDragHandler();
59
+ this.setupBodyHandler();
60
+ this.sheetElement.style.zIndex = `${this.zIndex}`;
61
+ }
62
+ detached() {
63
+ this.stopListening();
64
+ }
65
+ overlayClick() {
66
+ if (this.options?.autoClose?.overlay) {
67
+ this.close();
68
+ }
69
+ }
70
+ async close() {
71
+ if (this.beforeClose) {
72
+ const canClose = await this.beforeClose(this);
73
+ if (canClose === false) {
74
+ return;
75
+ }
76
+ }
77
+ this.isOpen = false;
78
+ this.sheetElement.classList.remove('show');
79
+ this.stopListening();
80
+ this.detachPadToElement();
81
+ }
82
+ async open() {
83
+ if (this.beforeOpen) {
84
+ const canOpen = await this.beforeOpen(this);
85
+ if (canOpen === false) {
86
+ return;
87
+ }
88
+ }
89
+ this.startListening();
90
+ this.sheetElement.classList.add('show');
91
+ this.isOpen = true;
92
+ if (this.afterOpen) {
93
+ this.afterOpen(this);
94
+ }
95
+ }
96
+ startListening() {
97
+ this.dragHandler?.start();
98
+ this.bodyHandler?.start();
99
+ aurelia_framework_1.PLATFORM.global?.visualViewport?.addEventListener('resize', this.iosWorkaround);
100
+ this.pusher.observe(this.contentElement);
101
+ }
102
+ stopListening() {
103
+ this.dragHandler?.dispose();
104
+ this.bodyHandler?.dispose();
105
+ aurelia_framework_1.PLATFORM.global?.visualViewport?.removeEventListener('resize', this.iosWorkaround);
106
+ this.pusher.unobserve(this.contentElement);
107
+ }
108
+ setupBodyHandler() {
109
+ const element = this.bodyElement;
110
+ if (!element) {
111
+ return;
112
+ }
113
+ const handler = au_drag_1.DragEventHandler.create(element, { positionType: 'client', passiveListeners: false });
114
+ handler.onStart = (start, event, data) => {
115
+ const scrollTopLog = [element.scrollTop];
116
+ const positionLog = [];
117
+ return { scrollTopLog, positionLog };
118
+ };
119
+ handler.onMove = (position, startPosition, event, data) => {
120
+ const outOfBounds = element.scrollTop < 0 || element.scrollTop > element.clientHeight;
121
+ if (outOfBounds) {
122
+ event.preventDefault();
123
+ }
124
+ data?.positionLog.push(position);
125
+ data?.scrollTopLog.push(element.scrollTop);
126
+ const contentNotScrollable = element.clientHeight == element.scrollHeight;
127
+ if (contentNotScrollable) {
128
+ event.preventDefault();
129
+ }
130
+ };
131
+ handler.onEnd = (position, startPos, event, data) => {
132
+ if (data.positionLog.length < 3) {
133
+ return;
134
+ }
135
+ const startScrollTop = data.scrollTopLog[0];
136
+ const currentScrollTop = element.scrollTop;
137
+ const scrolled = startScrollTop !== currentScrollTop;
138
+ if (scrolled) {
139
+ return;
140
+ }
141
+ const firstPosition = data.positionLog[0];
142
+ const lastPosition = data.positionLog[data.positionLog.length - 1];
143
+ const posDelta = firstPosition.y - lastPosition.y;
144
+ const direction = posDelta > 0 ? 'expand' : 'shrink';
145
+ const step = this.findStep(direction);
146
+ if (element.scrollTop < 0) {
147
+ element.scrollTop = 0;
148
+ }
149
+ if (element.scrollTop > element.clientHeight) {
150
+ element.scrollTop = element.clientHeight;
151
+ }
152
+ if (step) {
153
+ this.snap(step);
154
+ }
155
+ };
156
+ this.bodyHandler = handler;
157
+ }
158
+ setupDragHandler() {
159
+ if (!this.dragHandleElement) {
160
+ return;
161
+ }
162
+ const handler = au_drag_1.DragEventHandler.create(this.dragHandleElement, { positionType: 'client', passiveListeners: false });
163
+ handler.onStart = (position, event) => {
164
+ const handle = this.findRelativePosition(this.dragHandleElement);
165
+ this.sheetElement.classList.add("dragging");
166
+ return { handle };
167
+ };
168
+ handler.onMove = (position, startPosition, event, data) => {
169
+ event.preventDefault();
170
+ const size = this.calculate(position, startPosition, data);
171
+ this.update(size);
172
+ };
173
+ handler.onEnd = (position, startPosition, data) => {
174
+ this.sheetElement.classList.remove("dragging");
175
+ const direction = this.findDirection(position, startPosition);
176
+ let step = this.findStep(direction);
177
+ if (!step) {
178
+ step = this.findClosestStep(this.currentSize);
179
+ }
180
+ this.snap(step);
181
+ };
182
+ this.dragHandler = handler;
183
+ }
184
+ findStep(direction) {
185
+ return direction === 'expand' ? this.findNextStep() : this.findPrevStep();
186
+ }
187
+ findDirection(position, startPosition) {
188
+ let direction;
189
+ switch (this.placement) {
190
+ case 'top':
191
+ break;
192
+ case 'right':
193
+ break;
194
+ case 'bottom':
195
+ direction = position.y > startPosition.y ? 'shrink' : 'expand';
196
+ break;
197
+ case 'left':
198
+ break;
199
+ }
200
+ return direction;
201
+ }
202
+ findRelativePosition(el) {
203
+ const dims = { h: 0, w: 0 };
204
+ if (el) {
205
+ dims.h = el.clientHeight + el.offsetTop;
206
+ dims.w = el.clientWidth + el.offsetLeft;
207
+ }
208
+ return dims;
209
+ }
210
+ calculate(current, start, data) {
211
+ const size = {};
212
+ if (this.placement == 'bottom') {
213
+ const innerHeight = window.innerHeight;
214
+ const handle = ((data?.handle?.h ?? 0) / 2) / innerHeight;
215
+ const delta = start.y - current.y;
216
+ const moveHeight = (delta / innerHeight) - handle;
217
+ const startHeight = 1 - (start.y / innerHeight);
218
+ size.h = (startHeight + moveHeight) * 100;
219
+ }
220
+ return size;
221
+ }
222
+ update(size, snap = false) {
223
+ switch (this.placement) {
224
+ case 'top':
225
+ case 'bottom':
226
+ this.contentElement.style.height = `${size.h}dvh`;
227
+ break;
228
+ case 'right':
229
+ case 'left':
230
+ this.contentElement.style.width = `${size.w}dvw`;
231
+ break;
232
+ }
233
+ this.currentSize = size;
234
+ }
235
+ findClosestStep(size) {
236
+ const dim = (this.placement === 'top' || this.placement === 'bottom') ? size.h : size.w;
237
+ return this.steps.reduce((prev, curr) => Math.abs(curr.dim - dim) < Math.abs(prev.dim - dim) ? curr : prev);
238
+ }
239
+ findPrevStep() {
240
+ let step;
241
+ const index = this.steps.indexOf(this.currentStep);
242
+ if (index > 0) {
243
+ step = this.steps[index - 1];
244
+ }
245
+ return step;
246
+ }
247
+ findNextStep() {
248
+ let step;
249
+ const index = this.steps.indexOf(this.currentStep);
250
+ if (index < this.steps.length - 1) {
251
+ step = this.steps[index + 1];
252
+ }
253
+ return step;
254
+ }
255
+ snap(step) {
256
+ switch (this.placement) {
257
+ case 'top':
258
+ case 'bottom':
259
+ console.log("dynamic: " + step.dynamic);
260
+ this.contentElement.style.minHeight = step.minDim ? `${step.minDim}px` : '';
261
+ this.contentElement.style.height = step.dynamic ? '' : `${step.dim}dvh`;
262
+ break;
263
+ case 'right':
264
+ case 'left':
265
+ this.contentElement.style.minWidth = step.minDim ? `${step.minDim}px` : '';
266
+ this.contentElement.style.width = `${step.dim}dvw`;
267
+ break;
268
+ }
269
+ this.currentStep = step;
270
+ }
271
+ };
272
+ exports.AuSheetComponent = AuSheetComponent;
273
+ tslib_1.__decorate([
274
+ aurelia_framework_1.bindable,
275
+ tslib_1.__metadata("design:type", Object)
276
+ ], AuSheetComponent.prototype, "options", void 0);
277
+ tslib_1.__decorate([
278
+ aurelia_framework_1.bindable,
279
+ tslib_1.__metadata("design:type", String)
280
+ ], AuSheetComponent.prototype, "title", void 0);
281
+ tslib_1.__decorate([
282
+ aurelia_framework_1.bindable,
283
+ tslib_1.__metadata("design:type", String)
284
+ ], AuSheetComponent.prototype, "placement", void 0);
285
+ tslib_1.__decorate([
286
+ aurelia_framework_1.bindable,
287
+ tslib_1.__metadata("design:type", Boolean)
288
+ ], AuSheetComponent.prototype, "showFooter", void 0);
289
+ tslib_1.__decorate([
290
+ aurelia_framework_1.bindable,
291
+ tslib_1.__metadata("design:type", Number)
292
+ ], AuSheetComponent.prototype, "zIndex", void 0);
293
+ tslib_1.__decorate([
294
+ aurelia_framework_1.bindable,
295
+ tslib_1.__metadata("design:type", Boolean)
296
+ ], AuSheetComponent.prototype, "showDragHandle", void 0);
297
+ tslib_1.__decorate([
298
+ aurelia_framework_1.bindable,
299
+ tslib_1.__metadata("design:type", HTMLElement)
300
+ ], AuSheetComponent.prototype, "padElement", void 0);
301
+ tslib_1.__decorate([
302
+ aurelia_framework_1.bindable,
303
+ tslib_1.__metadata("design:type", Boolean)
304
+ ], AuSheetComponent.prototype, "isOpen", void 0);
305
+ tslib_1.__decorate([
306
+ aurelia_framework_1.bindable,
307
+ tslib_1.__metadata("design:type", Function)
308
+ ], AuSheetComponent.prototype, "beforeClose", void 0);
309
+ tslib_1.__decorate([
310
+ aurelia_framework_1.bindable,
311
+ tslib_1.__metadata("design:type", Function)
312
+ ], AuSheetComponent.prototype, "afterClose", void 0);
313
+ tslib_1.__decorate([
314
+ aurelia_framework_1.bindable,
315
+ tslib_1.__metadata("design:type", Function)
316
+ ], AuSheetComponent.prototype, "beforeOpen", void 0);
317
+ tslib_1.__decorate([
318
+ aurelia_framework_1.bindable,
319
+ tslib_1.__metadata("design:type", Function)
320
+ ], AuSheetComponent.prototype, "afterOpen", void 0);
321
+ tslib_1.__decorate([
322
+ aurelia_framework_1.bindable,
323
+ tslib_1.__metadata("design:type", Object)
324
+ ], AuSheetComponent.prototype, "steps", void 0);
325
+ exports.AuSheetComponent = AuSheetComponent = tslib_1.__decorate([
326
+ (0, aurelia_framework_1.inject)(aurelia_framework_1.DOM.Element),
327
+ (0, aurelia_framework_1.customElement)('au-sheet'),
328
+ tslib_1.__metadata("design:paramtypes", [])
329
+ ], AuSheetComponent);
330
+
331
+ //# sourceMappingURL=au-sheet-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/elements/au-sheet-component.ts"],"names":[],"mappings":"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","file":"au-sheet-component.js","sourceRoot":"../../../src/"}
@@ -0,0 +1,5 @@
1
+ import { FrameworkConfiguration } from 'aurelia-framework';
2
+ import { IAuSheetOptions } from './interfaces';
3
+ export declare function configure(config: FrameworkConfiguration, cb?: (opts: IAuSheetOptions) => void): void;
4
+ export * from './interfaces';
5
+ export * from './options';
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.configure = configure;
4
+ const tslib_1 = require("tslib");
5
+ const aurelia_pal_1 = require("aurelia-pal");
6
+ const options_1 = require("./options");
7
+ function configure(config, cb) {
8
+ config.globalResources([
9
+ aurelia_pal_1.PLATFORM.moduleName('./elements/au-sheet-component')
10
+ ]);
11
+ (0, options_1.setOptions)(cb);
12
+ }
13
+ tslib_1.__exportStar(require("./interfaces"), exports);
14
+ tslib_1.__exportStar(require("./options"), exports);
15
+
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;AAMA,8BAMC;;AAXD,6CAAuC;AAEvC,uCAAuC;AAGvC,SAAgB,SAAS,CAAC,MAA8B,EAAE,EAAoC;IAC5F,MAAM,CAAC,eAAe,CAAC;QACrB,sBAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC;KACrD,CAAC,CAAC;IAEH,IAAA,oBAAU,EAAC,EAAE,CAAC,CAAC;AACjB,CAAC;AAED,uDAA6B;AAC7B,oDAA0B","file":"index.js","sourceRoot":"../../src/"}
@@ -0,0 +1,37 @@
1
+ export type Direction = 'expand' | 'shrink';
2
+ export type Placement = 'top' | 'bottom' | 'left' | 'right';
3
+ export interface IAuAutoClose {
4
+ overlay?: boolean;
5
+ }
6
+ export interface IAuSheetOptions {
7
+ title?: string;
8
+ placement?: Placement;
9
+ autoClose?: IAuAutoClose;
10
+ showFooter?: boolean;
11
+ zIndex?: number;
12
+ showDragHandle?: boolean;
13
+ }
14
+ export interface ISize {
15
+ w: number;
16
+ h: number;
17
+ }
18
+ export interface IDragData {
19
+ handle: ISize;
20
+ }
21
+ export interface IContentData {
22
+ positionLog: IPosition[];
23
+ scrollTopLog: number[];
24
+ }
25
+ export interface IStep {
26
+ minDim?: number;
27
+ dim: number;
28
+ dynamic?: boolean;
29
+ }
30
+ export interface IButtons {
31
+ cancelText: string;
32
+ confirmText: string;
33
+ }
34
+ export interface IPosition {
35
+ x: number;
36
+ y: number;
37
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+
4
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/interfaces.ts"],"names":[],"mappings":"","file":"interfaces.js","sourceRoot":"../../src/"}
@@ -0,0 +1,3 @@
1
+ import { IAuSheetOptions } from "./interfaces";
2
+ export declare function setOptions(cb?: (opts: IAuSheetOptions) => void): void;
3
+ export declare function getDefaultOptions(): any;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setOptions = setOptions;
4
+ exports.getDefaultOptions = getDefaultOptions;
5
+ const options = {
6
+ autoClose: {
7
+ overlay: false,
8
+ },
9
+ showFooter: false,
10
+ zIndex: 1000,
11
+ showDragHandle: true
12
+ };
13
+ function setOptions(cb) {
14
+ if (cb) {
15
+ cb(options);
16
+ }
17
+ }
18
+ function getDefaultOptions() {
19
+ return JSON.parse(JSON.stringify(options));
20
+ }
21
+
22
+ //# sourceMappingURL=options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/options.ts"],"names":[],"mappings":";;AAaA,gCAIC;AAED,8CAEC;AAnBD,MAAM,OAAO,GAAG;IACZ,SAAS,EAAE;QACP,OAAO,EAAE,KAAK;KAGjB;IACD,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,IAAI;IACZ,cAAc,EAAE,IAAI;CACJ,CAAC;AAErB,SAAgB,UAAU,CAAC,EAAoC;IAC3D,IAAI,EAAE,EAAE,CAAC;QACL,EAAE,CAAC,OAAO,CAAC,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAgB,iBAAiB;IAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC","file":"options.js","sourceRoot":"../../src/"}
@@ -0,0 +1,30 @@
1
+ import { IPosition } from "./interfaces";
2
+ type positionType = 'client' | 'page' | 'screen';
3
+ interface IAuDragConfig {
4
+ positionType: positionType;
5
+ passiveListeners: boolean;
6
+ }
7
+ export declare class DragEventHandler<T extends object> {
8
+ private readonly element;
9
+ static create<T extends object>(element: Element, config?: IAuDragConfig): DragEventHandler<T>;
10
+ private xKey;
11
+ private yKey;
12
+ private listenerOptions;
13
+ private isDragging;
14
+ startPosition: IPosition;
15
+ private _data;
16
+ getData(): T;
17
+ onStart: (startPosition: IPosition, event: MouseEvent | TouchEvent | Event, data?: T) => T | void;
18
+ onMove: (endPosition: IPosition, startPosition: IPosition, event: MouseEvent | TouchEvent | Event, data?: T) => T | void;
19
+ onEnd: (currentPosition: IPosition, startPosition: IPosition, event: MouseEvent | TouchEvent | Event, data?: T) => T | void;
20
+ setPositionType(type: positionType): void;
21
+ constructor(element: Element, config?: IAuDragConfig);
22
+ private startEvent;
23
+ private dragEvent;
24
+ private endEvent;
25
+ stop(): void;
26
+ private getPosition;
27
+ start(): void;
28
+ dispose(): void;
29
+ }
30
+ export {};
@@ -0,0 +1,71 @@
1
+ const startEvents = ['mousedown', 'touchstart'];
2
+ const moveEvents = ['mousemove', 'touchmove'];
3
+ const endEvents = ['mouseup', 'touchend'];
4
+ export class DragEventHandler {
5
+ static create(element, config) { return new DragEventHandler(element, config); }
6
+ getData() { return this._data; }
7
+ setPositionType(type) {
8
+ this.xKey = type + 'X';
9
+ this.yKey = type + 'Y';
10
+ }
11
+ constructor(element, config) {
12
+ this.element = element;
13
+ this.listenerOptions = { passive: true };
14
+ this.isDragging = false;
15
+ this._data = {};
16
+ this.startEvent = (event) => {
17
+ this.isDragging = true;
18
+ const pos = this.getPosition(event);
19
+ this.startPosition = pos;
20
+ const data = this.onStart?.(pos, event, this._data);
21
+ if (data) {
22
+ this._data = data;
23
+ }
24
+ };
25
+ this.dragEvent = (event) => {
26
+ if (this.isDragging) {
27
+ const pos = this.getPosition(event);
28
+ const data = this.onMove?.(pos, this.startPosition, event, this._data);
29
+ if (data) {
30
+ this._data = data;
31
+ }
32
+ }
33
+ };
34
+ this.endEvent = (event) => {
35
+ if (this.isDragging) {
36
+ this.isDragging = false;
37
+ const pos = this.getPosition(event);
38
+ const data = this.onEnd?.(pos, this.startPosition, event, this._data);
39
+ if (data) {
40
+ this._data = data;
41
+ }
42
+ }
43
+ };
44
+ if (!config) {
45
+ config = { positionType: 'client', passiveListeners: true };
46
+ }
47
+ this.setPositionType(config.positionType);
48
+ this.listenerOptions.passive = config.passiveListeners;
49
+ }
50
+ stop() { this.isDragging = false; }
51
+ getPosition(event) {
52
+ if ('touches' in event && event.touches.length > 0) {
53
+ return { x: event.touches[0][this.xKey], y: event.touches[0][this.yKey] };
54
+ }
55
+ else {
56
+ return { x: event[this.xKey], y: event[this.yKey] };
57
+ }
58
+ }
59
+ start() {
60
+ startEvents.forEach(event => { this.element.addEventListener(event, this.startEvent, this.listenerOptions); });
61
+ moveEvents.forEach(event => { document.addEventListener(event, this.dragEvent, this.listenerOptions); });
62
+ endEvents.forEach(event => { document.addEventListener(event, this.endEvent, this.listenerOptions); });
63
+ }
64
+ dispose() {
65
+ startEvents.forEach(event => { this.element.removeEventListener(event, this.startEvent); });
66
+ moveEvents.forEach(event => { document.removeEventListener(event, this.dragEvent); });
67
+ endEvents.forEach(event => { document.removeEventListener(event, this.endEvent); });
68
+ }
69
+ }
70
+
71
+ //# sourceMappingURL=au-drag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/au-drag.ts"],"names":[],"mappings":"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","file":"au-drag.js","sourceRoot":"../../src/"}
@@ -0,0 +1,108 @@
1
+ .au-sheet {
2
+ position: fixed;
3
+ top: 0;
4
+ left: 0;
5
+ width: 100dvw;
6
+ height: 100dvh;
7
+ display: flex;
8
+ opacity: 0;
9
+ pointer-events: none;
10
+ align-items: center;
11
+ flex-direction: column;
12
+ justify-content: flex-end;
13
+ transition: 0.1s linear;
14
+ }
15
+
16
+ .au-sheet.show {
17
+ opacity: 1;
18
+ pointer-events: auto;
19
+ }
20
+
21
+
22
+ .au-sheet .au-sheet-overlay {
23
+ position: fixed;
24
+ top: 0;
25
+ left: 0;
26
+ z-index: -1;
27
+ width: 100%;
28
+ height: 100%;
29
+ opacity: 0.2;
30
+ background: #000;
31
+ }
32
+
33
+ .au-sheet .au-sheet-title {
34
+ padding: 0 12px;
35
+ }
36
+
37
+ .au-sheet .au-sheet-content {
38
+ width: 100%;
39
+ position: relative;
40
+ background: #fff;
41
+ max-height: 100dvh;
42
+ max-width: 1150px;
43
+ /* padding: 10px; */
44
+ transform: translateY(100%);
45
+ border-radius: 12px 12px 0 0;
46
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.03);
47
+ transition: 0.3s ease;
48
+ display: flex;
49
+ flex-direction: column;
50
+ }
51
+
52
+ .au-sheet.show .au-sheet-content {
53
+ transform: translateY(0%);
54
+ }
55
+
56
+ .au-sheet.dragging .au-sheet-content {
57
+ transition: none;
58
+ }
59
+
60
+ .au-sheet.fullscreen .au-sheet-content {
61
+ border-radius: 0;
62
+ overflow-y: hidden;
63
+ }
64
+
65
+ .au-sheet .au-sheet-content {
66
+ display: flex;
67
+ justify-content: center;
68
+ }
69
+
70
+ .au-sheet-content .au-sheet-draghandle {
71
+ cursor: grab;
72
+ user-select: none;
73
+ padding: 12px;
74
+ }
75
+
76
+ .au-sheet-draghandle span {
77
+ margin: 0 auto;
78
+ height: 4px;
79
+ width: 40px;
80
+ display: block;
81
+ background: #C7D0E1;
82
+ border-radius: 50px;
83
+ }
84
+
85
+ .au-sheet-content .au-sheet-body {
86
+ height: 100%;
87
+ overflow-y: auto;
88
+ padding: 0 12px 12px 12px;
89
+ scrollbar-width: none;
90
+ overscroll-behavior: contain;
91
+ }
92
+
93
+ .au-sheet-content .au-sheet-body::-webkit-scrollbar {
94
+ width: 0;
95
+ }
96
+
97
+ .au-sheet-content .au-sheet-footer {
98
+ padding: 10px;
99
+ }
100
+
101
+ /* .au-sheet-content .au-sheet-body h2 {
102
+ font-size: 1.8rem;
103
+ }
104
+ .au-sheet-content .au-sheet-body p {
105
+ margin-top: 20px;
106
+ font-size: 1.05rem;
107
+ } */
108
+