@breadstone/mosaik-elements-foundation 0.0.136 → 0.0.137
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/Controls/Components/Buttons/Abstracts/ButtonBaseElement.d.ts +0 -4
- package/Controls/Components/Buttons/Abstracts/ButtonBaseElement.d.ts.map +1 -1
- package/Controls/Components/Buttons/Abstracts/ButtonBaseElement.js +0 -6
- package/Controls/Components/Buttons/Abstracts/ButtonBaseElement.js.map +1 -1
- package/Controls/Components/Forms/FormElement.d.ts.map +1 -1
- package/Controls/Components/Forms/FormElement.js +1 -2
- package/Controls/Components/Forms/FormElement.js.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElement.d.ts +1 -0
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElement.d.ts.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElement.js +14 -2
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElement.js.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElementTemplate.js +1 -1
- package/Controls/Components/Grouping/BannerGroup/BannerGroupElementTemplate.js.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/Themes/BannerGroupElement.Cosmopolitan.d.ts.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/Themes/BannerGroupElement.Cosmopolitan.js +13 -4
- package/Controls/Components/Grouping/BannerGroup/Themes/BannerGroupElement.Cosmopolitan.js.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/Themes/BannerGroupElement.Joy.d.ts.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/Themes/BannerGroupElement.Joy.js +13 -4
- package/Controls/Components/Grouping/BannerGroup/Themes/BannerGroupElement.Joy.js.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/Themes/BannerGroupElement.Retro.d.ts.map +1 -1
- package/Controls/Components/Grouping/BannerGroup/Themes/BannerGroupElement.Retro.js +13 -4
- package/Controls/Components/Grouping/BannerGroup/Themes/BannerGroupElement.Retro.js.map +1 -1
- package/Controls/Components/Inputs/Abstracts/InputBase.d.ts +0 -4
- package/Controls/Components/Inputs/Abstracts/InputBase.d.ts.map +1 -1
- package/Controls/Components/Inputs/Abstracts/InputBase.js +0 -6
- package/Controls/Components/Inputs/Abstracts/InputBase.js.map +1 -1
- package/Controls/Components/Inputs/FileUpload/FilePickerElement.d.ts +24 -2
- package/Controls/Components/Inputs/FileUpload/FilePickerElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/FileUpload/FilePickerElement.js +24 -2
- package/Controls/Components/Inputs/FileUpload/FilePickerElement.js.map +1 -1
- package/Controls/Components/Inputs/FileUpload/FileUploadElement.d.ts +26 -4
- package/Controls/Components/Inputs/FileUpload/FileUploadElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/FileUpload/FileUploadElement.js +29 -5
- package/Controls/Components/Inputs/FileUpload/FileUploadElement.js.map +1 -1
- package/Controls/Components/Inputs/FileUpload/FileUploadElementTemplate.js +2 -2
- package/Controls/Components/Inputs/FileUpload/FileUploadElementTemplate.js.map +1 -1
- package/Controls/Components/Inputs/FileUpload/FileUploadItemElement.d.ts +23 -1
- package/Controls/Components/Inputs/FileUpload/FileUploadItemElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/FileUpload/FileUploadItemElement.js +23 -1
- package/Controls/Components/Inputs/FileUpload/FileUploadItemElement.js.map +1 -1
- package/Controls/Components/Inputs/PinBox/PinBoxElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/PinBox/PinBoxElement.js +11 -6
- package/Controls/Components/Inputs/PinBox/PinBoxElement.js.map +1 -1
- package/Controls/Components/Inputs/SearchBox/SearchBoxElement.d.ts.map +1 -1
- package/Controls/Components/Inputs/SearchBox/SearchBoxElement.js +16 -1
- package/Controls/Components/Inputs/SearchBox/SearchBoxElement.js.map +1 -1
- package/Controls/Components/Layouts/Split/SplitElement.d.ts.map +1 -1
- package/Controls/Components/Layouts/Split/SplitElement.js +6 -1
- package/Controls/Components/Layouts/Split/SplitElement.js.map +1 -1
- package/Controls/Components/Layouts/Split/Themes/SplitElement.Cosmopolitan.js +1 -1
- package/Controls/Components/Layouts/Split/Themes/SplitElement.Joy.js +1 -1
- package/Controls/Components/Layouts/Split/Themes/SplitElement.Retro.js +1 -1
- package/Controls/Components/Primitives/DropZone/DropZoneElement.d.ts +53 -7
- package/Controls/Components/Primitives/DropZone/DropZoneElement.d.ts.map +1 -1
- package/Controls/Components/Primitives/DropZone/DropZoneElement.js +135 -28
- package/Controls/Components/Primitives/DropZone/DropZoneElement.js.map +1 -1
- package/Controls/Components/Primitives/DropZone/Events/IDropZoneDataEventDetail.d.ts +1 -1
- package/Controls/Components/Primitives/DropZone/Events/IDropZoneDataEventDetail.d.ts.map +1 -1
- package/Controls/Components/Primitives/DropZone/IDropZoneElementProps.d.ts.map +1 -1
- package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Cosmopolitan.d.ts.map +1 -1
- package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Cosmopolitan.js +124 -3
- package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Cosmopolitan.js.map +1 -1
- package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Joy.d.ts.map +1 -1
- package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Joy.js +160 -9
- package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Joy.js.map +1 -1
- package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Retro.d.ts.map +1 -1
- package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Retro.js +124 -3
- package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Retro.js.map +1 -1
- package/Controls/Types/DropZoneState.d.ts +20 -0
- package/Controls/Types/DropZoneState.d.ts.map +1 -0
- package/Controls/Types/DropZoneState.js +16 -0
- package/Controls/Types/DropZoneState.js.map +1 -0
- package/Routing/PathToRegexp.d.ts +1 -1
- package/custom-elements.json +43 -15
- package/package.json +3 -3
|
@@ -2,12 +2,35 @@ import { IEventEmitter } from '@breadstone/mosaik-elements';
|
|
|
2
2
|
import { CustomElement } from '../../Abstracts/CustomElement';
|
|
3
3
|
import type { IDropZoneDataTransferEventDetail } from './Events/IDropZoneDataEventDetail';
|
|
4
4
|
import type { IDropZoneElementProps } from './IDropZoneElementProps';
|
|
5
|
+
import { DropZoneState } from '../../../Types/DropZoneState';
|
|
5
6
|
declare const DropZoneElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Variantable").IVariantableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
+
* DropZoneElement - An interactive component that defines a target area for drag-and-drop operations.
|
|
9
|
+
*
|
|
10
|
+
* @description
|
|
11
|
+
* The DropZoneElement provides a designated area within the interface where users can drop draggable items.
|
|
12
|
+
* It is commonly used in applications that require file uploads, reordering of elements, or custom drag-and-drop
|
|
13
|
+
* interactions. By offering a clear and accessible drop target, this component helps improve usability and
|
|
14
|
+
* guides users through intuitive drag-and-drop workflows.
|
|
15
|
+
*
|
|
16
|
+
* DropZoneElement can be styled and configured to visually indicate when a draggable item is hovering over it,
|
|
17
|
+
* and it can emit events to notify the application when an item has been dropped. This makes it a flexible
|
|
18
|
+
* building block for implementing custom drag-and-drop experiences across web and application interfaces.
|
|
19
|
+
*
|
|
20
|
+
* @element mosaik-drop-zone
|
|
21
|
+
* @category Interaction
|
|
8
22
|
*
|
|
9
23
|
* @fires dataTransferred - Fired when data is transferred to the drop zone.
|
|
10
24
|
*
|
|
25
|
+
* @slot - The default slot for content displayed inside the drop zone.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```html
|
|
29
|
+
* <mosaik-drop-zone>
|
|
30
|
+
* <p>Drag files here to upload</p>
|
|
31
|
+
* </mosaik-drop-zone>
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
11
34
|
* @public
|
|
12
35
|
*/
|
|
13
36
|
export declare class DropZoneElement extends DropZoneElement_base implements IDropZoneElementProps {
|
|
@@ -19,7 +42,7 @@ export declare class DropZoneElement extends DropZoneElement_base implements IDr
|
|
|
19
42
|
private _dragEnterSubscription;
|
|
20
43
|
private _dragLeaveSubscription;
|
|
21
44
|
private _dropSubscription;
|
|
22
|
-
private
|
|
45
|
+
private _state;
|
|
23
46
|
/**
|
|
24
47
|
* @public
|
|
25
48
|
*/
|
|
@@ -34,14 +57,13 @@ export declare class DropZoneElement extends DropZoneElement_base implements IDr
|
|
|
34
57
|
*/
|
|
35
58
|
static get is(): string;
|
|
36
59
|
/**
|
|
37
|
-
*
|
|
60
|
+
* Gets or sets the `state` property.
|
|
38
61
|
*
|
|
39
|
-
* @public
|
|
40
62
|
* @readonly
|
|
41
63
|
* @attr
|
|
42
64
|
*/
|
|
43
|
-
get
|
|
44
|
-
private set
|
|
65
|
+
get state(): DropZoneState;
|
|
66
|
+
private set state(value);
|
|
45
67
|
/**
|
|
46
68
|
* Called when the data is transferred to the drop zone.
|
|
47
69
|
* Provides reference to `{@link IEventDetail}` as event detail.
|
|
@@ -66,7 +88,31 @@ export declare class DropZoneElement extends DropZoneElement_base implements IDr
|
|
|
66
88
|
/**
|
|
67
89
|
* @protected
|
|
68
90
|
*/
|
|
69
|
-
protected
|
|
91
|
+
protected onDrag(event: DragEvent): void;
|
|
92
|
+
/**
|
|
93
|
+
* @protected
|
|
94
|
+
*/
|
|
95
|
+
protected onDragOver(event: DragEvent): void;
|
|
96
|
+
/**
|
|
97
|
+
* @protected
|
|
98
|
+
*/
|
|
99
|
+
protected onDragStart(event: DragEvent): void;
|
|
100
|
+
/**
|
|
101
|
+
* @protected
|
|
102
|
+
*/
|
|
103
|
+
protected onDragEnd(event: DragEvent): void;
|
|
104
|
+
/**
|
|
105
|
+
* @protected
|
|
106
|
+
*/
|
|
107
|
+
protected onDragEnter(event: DragEvent): void;
|
|
108
|
+
/**
|
|
109
|
+
* @protected
|
|
110
|
+
*/
|
|
111
|
+
protected onDragLeave(event: DragEvent): void;
|
|
112
|
+
/**
|
|
113
|
+
* @protected
|
|
114
|
+
*/
|
|
115
|
+
protected onDrop(event: DragEvent): void;
|
|
70
116
|
}
|
|
71
117
|
/**
|
|
72
118
|
* @public
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropZoneElement.d.ts","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/DropZone/DropZoneElement.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4D,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMtH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;;
|
|
1
|
+
{"version":3,"file":"DropZoneElement.d.ts","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/DropZone/DropZoneElement.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4D,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAMtH,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,mCAAmC,CAAC;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAKrE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;;AAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAUa,eACT,SAAQ,oBACR,YAAW,qBAAqB;IAIhC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkD;IACnF,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,qBAAqB,CAAoC;IACjE,OAAO,CAAC,sBAAsB,CAAoC;IAClE,OAAO,CAAC,oBAAoB,CAAoC;IAChE,OAAO,CAAC,sBAAsB,CAAoC;IAClE,OAAO,CAAC,sBAAsB,CAAoC;IAClE,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,MAAM,CAAgB;IAM9B;;OAEG;;IAmBH;;;;;;;OAOG;IACH,WAAkB,EAAE,IAAI,MAAM,CAE7B;IAED;;;;;OAKG;IACH,IACW,KAAK,IAAI,aAAa,CAAwB;IACzD,OAAO,KAAK,KAAK,QAKhB;IAED;;;;;;;OAOG;IACH,IACW,eAAe,IAAI,aAAa,CAAC,gCAAgC,CAAC,CAE5E;IAMD;;;OAGG;IACa,iBAAiB,IAAI,IAAI;IAYzB,oBAAoB,IAAI,IAAI;IAY5C;;;;OAIG;IACH,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,gCAAgC,GAAG,IAAI;IAIzE;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAWxC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAe5C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAW7C;;OAEG;IACH,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAW3C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAqB7C;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAkB7C;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;CAkB3C;AAED;;GAEG;AACH,yBAAiB,eAAe,CAAC;IAC7B,KAAY,KAAK,GAAG,qBAAqB,CAAC;CAC7C;AAED;;GAEG;AACH,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,qBAAqB;QAC3B,kBAAkB,EAAE,eAAe,CAAC;KACvC;CACJ"}
|
|
@@ -21,12 +21,35 @@ import { dropZoneElementJoyStyle } from './Themes/DropZoneElement.Joy';
|
|
|
21
21
|
import { dropZoneElementRetroStyle } from './Themes/DropZoneElement.Retro';
|
|
22
22
|
import { dropZoneElementCosmopolitanStyle } from './Themes/DropZoneElement.Cosmopolitan';
|
|
23
23
|
import { Themeable } from '../../../Behaviors/Themeable';
|
|
24
|
+
import { DropZoneState } from '../../../Types/DropZoneState';
|
|
24
25
|
// #endregion
|
|
25
26
|
/**
|
|
26
|
-
*
|
|
27
|
+
* DropZoneElement - An interactive component that defines a target area for drag-and-drop operations.
|
|
28
|
+
*
|
|
29
|
+
* @description
|
|
30
|
+
* The DropZoneElement provides a designated area within the interface where users can drop draggable items.
|
|
31
|
+
* It is commonly used in applications that require file uploads, reordering of elements, or custom drag-and-drop
|
|
32
|
+
* interactions. By offering a clear and accessible drop target, this component helps improve usability and
|
|
33
|
+
* guides users through intuitive drag-and-drop workflows.
|
|
34
|
+
*
|
|
35
|
+
* DropZoneElement can be styled and configured to visually indicate when a draggable item is hovering over it,
|
|
36
|
+
* and it can emit events to notify the application when an item has been dropped. This makes it a flexible
|
|
37
|
+
* building block for implementing custom drag-and-drop experiences across web and application interfaces.
|
|
38
|
+
*
|
|
39
|
+
* @element mosaik-drop-zone
|
|
40
|
+
* @category Interaction
|
|
27
41
|
*
|
|
28
42
|
* @fires dataTransferred - Fired when data is transferred to the drop zone.
|
|
29
43
|
*
|
|
44
|
+
* @slot - The default slot for content displayed inside the drop zone.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```html
|
|
48
|
+
* <mosaik-drop-zone>
|
|
49
|
+
* <p>Drag files here to upload</p>
|
|
50
|
+
* </mosaik-drop-zone>
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
30
53
|
* @public
|
|
31
54
|
*/
|
|
32
55
|
let DropZoneElement = class DropZoneElement extends Themeable(Disableable(Appearanceable(Variantable(CustomElement)))) {
|
|
@@ -39,7 +62,7 @@ let DropZoneElement = class DropZoneElement extends Themeable(Disableable(Appear
|
|
|
39
62
|
_dragEnterSubscription;
|
|
40
63
|
_dragLeaveSubscription;
|
|
41
64
|
_dropSubscription;
|
|
42
|
-
|
|
65
|
+
_state;
|
|
43
66
|
// #endregion
|
|
44
67
|
// #region Ctor
|
|
45
68
|
/**
|
|
@@ -54,7 +77,7 @@ let DropZoneElement = class DropZoneElement extends Themeable(Disableable(Appear
|
|
|
54
77
|
this._dragEnterSubscription = null;
|
|
55
78
|
this._dragLeaveSubscription = null;
|
|
56
79
|
this._dropSubscription = null;
|
|
57
|
-
this.
|
|
80
|
+
this._state = 'none';
|
|
58
81
|
this._dataTransferred = new HTMLElementEventEmitter(this, 'dataTransferred');
|
|
59
82
|
}
|
|
60
83
|
// #endregion
|
|
@@ -71,19 +94,16 @@ let DropZoneElement = class DropZoneElement extends Themeable(Disableable(Appear
|
|
|
71
94
|
return 'mosaik-drop-zone';
|
|
72
95
|
}
|
|
73
96
|
/**
|
|
74
|
-
*
|
|
97
|
+
* Gets or sets the `state` property.
|
|
75
98
|
*
|
|
76
|
-
* @public
|
|
77
99
|
* @readonly
|
|
78
100
|
* @attr
|
|
79
101
|
*/
|
|
80
|
-
get
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
this._isDragging = value;
|
|
86
|
-
this.requestUpdate('isDragging');
|
|
102
|
+
get state() { return this._state; }
|
|
103
|
+
set state(value) {
|
|
104
|
+
if (this._state !== value) {
|
|
105
|
+
this._state = value;
|
|
106
|
+
this.requestUpdate('state');
|
|
87
107
|
}
|
|
88
108
|
}
|
|
89
109
|
/**
|
|
@@ -105,13 +125,13 @@ let DropZoneElement = class DropZoneElement extends Themeable(Disableable(Appear
|
|
|
105
125
|
*/
|
|
106
126
|
connectedCallback() {
|
|
107
127
|
super.connectedCallback();
|
|
108
|
-
this._dragSubscription = this.on('drag', (e) => this.
|
|
109
|
-
this._dragOverSubscription = this.on('dragover', (e) => this.
|
|
110
|
-
this._dragStartSubscription = this.on('dragstart', (e) => this.
|
|
111
|
-
this._dragEndSubscription = this.on('dragend', (e) => this.
|
|
112
|
-
this._dragEnterSubscription = this.on('dragenter', (e) => this.
|
|
113
|
-
this._dragLeaveSubscription = this.on('dragleave', (e) => this.
|
|
114
|
-
this._dropSubscription = this.on('drop', (e) => this.
|
|
128
|
+
this._dragSubscription = this.on('drag', (e) => this.onDrag(e));
|
|
129
|
+
this._dragOverSubscription = this.on('dragover', (e) => this.onDragOver(e));
|
|
130
|
+
this._dragStartSubscription = this.on('dragstart', (e) => this.onDragStart(e));
|
|
131
|
+
this._dragEndSubscription = this.on('dragend', (e) => this.onDragEnd(e));
|
|
132
|
+
this._dragEnterSubscription = this.on('dragenter', (e) => this.onDragEnter(e));
|
|
133
|
+
this._dragLeaveSubscription = this.on('dragleave', (e) => this.onDragLeave(e));
|
|
134
|
+
this._dropSubscription = this.on('drop', (e) => this.onDrop(e));
|
|
115
135
|
}
|
|
116
136
|
disconnectedCallback() {
|
|
117
137
|
super.disconnectedCallback();
|
|
@@ -134,22 +154,109 @@ let DropZoneElement = class DropZoneElement extends Themeable(Disableable(Appear
|
|
|
134
154
|
/**
|
|
135
155
|
* @protected
|
|
136
156
|
*/
|
|
137
|
-
|
|
157
|
+
onDrag(event) {
|
|
158
|
+
if (this.disabled) {
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
event.preventDefault();
|
|
162
|
+
event.stopPropagation();
|
|
163
|
+
this.state = event.type;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* @protected
|
|
167
|
+
*/
|
|
168
|
+
onDragOver(event) {
|
|
169
|
+
if (this.disabled) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
138
172
|
event.preventDefault();
|
|
139
173
|
event.stopPropagation();
|
|
174
|
+
if (event.dataTransfer) {
|
|
175
|
+
event.dataTransfer.dropEffect = event.dataTransfer.effectAllowed === 'move' ? 'move' : 'copy';
|
|
176
|
+
}
|
|
177
|
+
this.state = event.type;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* @protected
|
|
181
|
+
*/
|
|
182
|
+
onDragStart(event) {
|
|
140
183
|
if (this.disabled) {
|
|
141
|
-
|
|
184
|
+
return;
|
|
142
185
|
}
|
|
186
|
+
event.preventDefault();
|
|
187
|
+
event.stopPropagation();
|
|
188
|
+
this.state = event.type;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* @protected
|
|
192
|
+
*/
|
|
193
|
+
onDragEnd(event) {
|
|
194
|
+
if (this.disabled) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
event.preventDefault();
|
|
198
|
+
event.stopPropagation();
|
|
199
|
+
this.state = event.type;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* @protected
|
|
203
|
+
*/
|
|
204
|
+
onDragEnter(event) {
|
|
205
|
+
if (this.disabled) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
event.preventDefault();
|
|
209
|
+
event.stopPropagation();
|
|
210
|
+
// IMPORTANT: Drag events fire not only when entering or leaving the host as a whole,
|
|
211
|
+
// but also when moving between child elements inside the same host. Without this guard,
|
|
212
|
+
// every small movement inside the drop zone would incorrectly trigger a "leave"/"enter"
|
|
213
|
+
// state change, causing flickering and broken visual feedback. By explicitly checking
|
|
214
|
+
// whether the event path still includes the host element, we can differentiate between
|
|
215
|
+
// internal transitions (safe to ignore) and real exits/entries from the drop zone.
|
|
216
|
+
if (event.composedPath().includes(this)) {
|
|
217
|
+
this.state = 'dragenter';
|
|
218
|
+
}
|
|
219
|
+
this.state = event.type;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* @protected
|
|
223
|
+
*/
|
|
224
|
+
onDragLeave(event) {
|
|
225
|
+
if (this.disabled) {
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
event.preventDefault();
|
|
229
|
+
event.stopPropagation();
|
|
230
|
+
// IMPORTANT: Not all browsers provide reliable `relatedTarget` information for drag
|
|
231
|
+
// operations, especially when dragging external data (e.g. files from the OS). Using
|
|
232
|
+
// `composedPath()` ensures that we inspect the actual event propagation path through
|
|
233
|
+
// the DOM and Shadow DOM. This makes the drop zone detection more robust and avoids
|
|
234
|
+
// false positives when the user is still inside the component boundaries.
|
|
235
|
+
if (event.composedPath().includes(this)) {
|
|
236
|
+
this.state = event.type;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* @protected
|
|
241
|
+
*/
|
|
242
|
+
onDrop(event) {
|
|
243
|
+
if (this.disabled) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
event.preventDefault();
|
|
247
|
+
event.stopPropagation();
|
|
248
|
+
this.state = event.type;
|
|
249
|
+
this.onDataTransferred({ data: event.dataTransfer });
|
|
250
|
+
setTimeout(() => {
|
|
251
|
+
this.state = 'none';
|
|
252
|
+
}, 250);
|
|
143
253
|
}
|
|
144
254
|
};
|
|
145
255
|
__decorate([
|
|
146
|
-
Attribute({
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
__metadata("design:type", Boolean),
|
|
151
|
-
__metadata("design:paramtypes", [Boolean])
|
|
152
|
-
], DropZoneElement.prototype, "isDragging", null);
|
|
256
|
+
Attribute({ type: DropZoneState }),
|
|
257
|
+
__metadata("design:type", String),
|
|
258
|
+
__metadata("design:paramtypes", [String])
|
|
259
|
+
], DropZoneElement.prototype, "state", null);
|
|
153
260
|
__decorate([
|
|
154
261
|
Emit({ eventName: 'dataTransferred' }),
|
|
155
262
|
__metadata("design:type", Object),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropZoneElement.js","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/DropZone/DropZoneElement.ts"],"names":[],"mappings":"AAAA,kBAAkB;;;;;;;;;;AAElB,OAAO,EAAE,IAAI,EAAE,MAAM,6CAA6C,CAAC;AACnE,OAAO,EAAmC,uBAAuB,EAAiB,MAAM,6BAA6B,CAAC;AACtH,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"DropZoneElement.js","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/DropZone/DropZoneElement.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { DropZoneElement } from '../DropZoneElement';
|
|
|
6
6
|
* @public
|
|
7
7
|
*/
|
|
8
8
|
export interface IDropZoneDataTransferEventDetail extends IEventDetail<DropZoneElement> {
|
|
9
|
-
readonly data: DataTransfer;
|
|
9
|
+
readonly data: DataTransfer | null;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Represents the `IDropZoneDataTransferEvent` interface.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDropZoneDataEventDetail.d.ts","sourceRoot":"","sources":["../../../../../../src/Controls/Components/Primitives/DropZone/Events/IDropZoneDataEventDetail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D;;;;GAIG;AACH,MAAM,WAAW,gCAAiC,SAAQ,YAAY,CAAC,eAAe,CAAC;IAInF,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"IDropZoneDataEventDetail.d.ts","sourceRoot":"","sources":["../../../../../../src/Controls/Components/Primitives/DropZone/Events/IDropZoneDataEventDetail.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAI1D;;;;GAIG;AACH,MAAM,WAAW,gCAAiC,SAAQ,YAAY,CAAC,eAAe,CAAC;IAInF,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;CAItC;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA2B,SAAQ,WAAW,CAAC,gCAAgC,CAAC;IAI7F,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;CAIpC;AAED,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,mBAAmB;QACzB,eAAe,EAAE,0BAA0B,CAAC;KAC/C;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDropZoneElementProps.d.ts","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/DropZone/IDropZoneElementProps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAIxE;;;;GAIG;AAEH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"IDropZoneElementProps.d.ts","sourceRoot":"","sources":["../../../../../src/Controls/Components/Primitives/DropZone/IDropZoneElementProps.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAIxE;;;;GAIG;AAEH,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB;CAExG"}
|
package/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Cosmopolitan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropZoneElement.Cosmopolitan.d.ts","sourceRoot":"","sources":["../../../../../../src/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Cosmopolitan.ts"],"names":[],"mappings":"AASA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"DropZoneElement.Cosmopolitan.d.ts","sourceRoot":"","sources":["../../../../../../src/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Cosmopolitan.ts"],"names":[],"mappings":"AASA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,SAAS,CAiL5D"}
|
|
@@ -13,6 +13,11 @@ import { css } from '../../../../../Dom/Css';
|
|
|
13
13
|
export function dropZoneElementCosmopolitanStyle() {
|
|
14
14
|
return css `
|
|
15
15
|
:host {
|
|
16
|
+
--drop-zone-background-color: var(--cosmopolitan-scheme-background);
|
|
17
|
+
--drop-zone-border-color: var(--cosmopolitan-scheme-highlight);
|
|
18
|
+
--drop-zone-border-radius: var(--cosmopolitan-layout-radius);
|
|
19
|
+
--drop-zone-border-style: solid;
|
|
20
|
+
--drop-zone-border-width: var(--cosmopolitan-layout-thickness);
|
|
16
21
|
--drop-zone-font-family: unset;
|
|
17
22
|
--drop-zone-font-letter-spacing: unset;
|
|
18
23
|
--drop-zone-font-line-height: unset;
|
|
@@ -58,11 +63,127 @@ export function dropZoneElementCosmopolitanStyle() {
|
|
|
58
63
|
}
|
|
59
64
|
|
|
60
65
|
:host {
|
|
61
|
-
border-
|
|
66
|
+
border-color: var(--drop-zone-border-color);
|
|
67
|
+
border-radius: var(--drop-zone-border-radius);
|
|
68
|
+
border-style: var(--drop-zone-border-style);
|
|
69
|
+
border-width: var(--drop-zone-border-width);
|
|
70
|
+
--dz-surface: transparent;
|
|
71
|
+
--dz-accent: #5aa6ff;
|
|
72
|
+
--dz-border: var(--dz-accent);
|
|
73
|
+
--dz-radius: 14px;
|
|
74
|
+
--dz-pad: 1.25rem;
|
|
75
|
+
--dz-duration: .22s;
|
|
76
|
+
--dz-shadow: 0 8px 24px #00000047;
|
|
77
|
+
--dz-dash-size: 16px;
|
|
78
|
+
--dz-dash-thickness: 2px;
|
|
79
|
+
--dz-dash-offset: 0px;
|
|
62
80
|
}
|
|
63
81
|
|
|
64
|
-
|
|
65
|
-
|
|
82
|
+
@keyframes dz-dash-move {
|
|
83
|
+
to {
|
|
84
|
+
--dz-dash-offset: var(--dz-dash-size, 16px);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@keyframes dz-glow {
|
|
89
|
+
from {
|
|
90
|
+
box-shadow: 0 0 0 0 color-mix(in oklab, var(--dz-accent, #5aa6ff) 45%, transparent);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
to {
|
|
94
|
+
box-shadow: 0 0 0 8px color-mix(in oklab, var(--dz-accent, #5aa6ff) 0%, transparent);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
:host([disabled]:not([disabled="false"])) {
|
|
99
|
+
transition: opacity var(--dz-duration, .22s) ease, filter var(--dz-duration, .22s) ease, transform var(--dz-duration, .22s) ease;
|
|
100
|
+
opacity: .6;
|
|
101
|
+
filter: saturate(.75);
|
|
102
|
+
cursor: not-allowed;
|
|
103
|
+
pointer-events: none;
|
|
104
|
+
transform: scale(.998);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
:host([state="none"]) {
|
|
108
|
+
padding: var(--dz-pad);
|
|
109
|
+
border: var(--dz-dash-thickness) solid transparent;
|
|
110
|
+
background: linear-gradient(var(--dz-surface), var(--dz-surface)) padding-box, repeating-linear-gradient(90deg, var(--dz-border) 0 calc(var(--dz-dash-size) / 2), transparent calc(var(--dz-dash-size) / 2) var(--dz-dash-size)) border-box;
|
|
111
|
+
background-origin: padding-box, border-box;
|
|
112
|
+
background-clip: padding-box, border-box;
|
|
113
|
+
background-position: 0 0, var(--dz-dash-offset) 0;
|
|
114
|
+
background-size: auto, var(--dz-dash-size) var(--dz-dash-thickness);
|
|
115
|
+
transition: transform var(--dz-duration) ease, box-shadow var(--dz-duration) ease, background-color var(--dz-duration) ease, opacity var(--dz-duration) ease, filter var(--dz-duration) ease;
|
|
116
|
+
display: block;
|
|
117
|
+
position: relative;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
:host([state="drag"]) {
|
|
121
|
+
box-shadow: var(--dz-shadow);
|
|
122
|
+
transition: transform var(--dz-duration, .22s) ease, box-shadow var(--dz-duration, .22s) ease;
|
|
123
|
+
background: linear-gradient(var(--dz-surface, transparent), var(--dz-surface, transparent)) padding-box, repeating-linear-gradient(90deg, var(--dz-border) 0 calc(var(--dz-dash-size, 16px) / 2), transparent calc(var(--dz-dash-size, 16px) / 2) var(--dz-dash-size, 16px)) border-box;
|
|
124
|
+
background-origin: padding-box, border-box;
|
|
125
|
+
background-clip: padding-box, border-box;
|
|
126
|
+
background-position: 0 0, var(--dz-dash-offset) 0;
|
|
127
|
+
background-size: auto, var(--dz-dash-size, 16px) var(--dz-dash-thickness, 2px);
|
|
128
|
+
animation: .7s linear infinite dz-dash-move;
|
|
129
|
+
transform: scale(1.01);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
:host([state="dragover"]) {
|
|
133
|
+
transition: transform var(--dz-duration, .22s) ease;
|
|
134
|
+
background: linear-gradient(var(--dz-surface, transparent), var(--dz-surface, transparent)) padding-box, linear-gradient(var(--dz-accent, #5aa6ff), var(--dz-accent, #5aa6ff)) border-box;
|
|
135
|
+
background-origin: padding-box, border-box;
|
|
136
|
+
background-clip: padding-box, border-box;
|
|
137
|
+
animation: .5s linear infinite dz-dash-move, .9s ease-in-out infinite alternate dz-glow;
|
|
138
|
+
transform: scale(1.02);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
:host([state="dragstart"]) {
|
|
142
|
+
transition: transform var(--dz-duration, .22s) ease;
|
|
143
|
+
background: linear-gradient(var(--dz-surface, transparent), var(--dz-surface, transparent)) padding-box, repeating-linear-gradient(90deg, var(--dz-border) 0 calc(var(--dz-dash-size, 16px) / 2), transparent calc(var(--dz-dash-size, 16px) / 2) var(--dz-dash-size, 16px)) border-box;
|
|
144
|
+
background-origin: padding-box, border-box;
|
|
145
|
+
background-clip: padding-box, border-box;
|
|
146
|
+
background-position: 0 0, var(--dz-dash-offset) 0;
|
|
147
|
+
background-size: auto, var(--dz-dash-size, 16px) var(--dz-dash-thickness, 2px);
|
|
148
|
+
animation: .65s linear infinite dz-dash-move;
|
|
149
|
+
transform: scale(1.012);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
:host([state="dragend"]) {
|
|
153
|
+
opacity: .92;
|
|
154
|
+
transition: opacity var(--dz-duration, .22s) ease, transform var(--dz-duration, .22s) ease;
|
|
155
|
+
background: linear-gradient(var(--dz-surface, transparent), var(--dz-surface, transparent)) padding-box, linear-gradient(var(--dz-border), var(--dz-border)) border-box;
|
|
156
|
+
background-origin: padding-box, border-box;
|
|
157
|
+
background-clip: padding-box, border-box;
|
|
158
|
+
transform: scale(1);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
:host([state="dragenter"]) {
|
|
162
|
+
transition: transform var(--dz-duration, .22s) ease;
|
|
163
|
+
background: linear-gradient(var(--dz-surface, transparent), var(--dz-surface, transparent)) padding-box, linear-gradient(var(--dz-accent, #5aa6ff), var(--dz-accent, #5aa6ff)) border-box;
|
|
164
|
+
background-origin: padding-box, border-box;
|
|
165
|
+
background-clip: padding-box, border-box;
|
|
166
|
+
animation: .6s linear infinite dz-dash-move;
|
|
167
|
+
transform: scale(1.015);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
:host([state="dragleave"]) {
|
|
171
|
+
transition: transform var(--dz-duration, .22s) ease;
|
|
172
|
+
background: linear-gradient(var(--dz-surface, transparent), var(--dz-surface, transparent)) padding-box, repeating-linear-gradient(90deg, var(--dz-border) 0 calc(var(--dz-dash-size, 16px) / 2), transparent calc(var(--dz-dash-size, 16px) / 2) var(--dz-dash-size, 16px)) border-box;
|
|
173
|
+
background-origin: padding-box, border-box;
|
|
174
|
+
background-clip: padding-box, border-box;
|
|
175
|
+
background-position: 0 0, var(--dz-dash-offset) 0;
|
|
176
|
+
background-size: auto, var(--dz-dash-size, 16px) var(--dz-dash-thickness, 2px);
|
|
177
|
+
animation: .6s linear infinite dz-dash-move;
|
|
178
|
+
transform: scale(1.005);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
:host([state="drop"]) {
|
|
182
|
+
transition: transform var(--dz-duration, .22s) ease;
|
|
183
|
+
background: linear-gradient(var(--dz-surface, transparent), var(--dz-surface, transparent)) padding-box, linear-gradient(var(--dz-accent, #5aa6ff), var(--dz-accent, #5aa6ff)) border-box;
|
|
184
|
+
background-origin: padding-box, border-box;
|
|
185
|
+
background-clip: padding-box, border-box;
|
|
186
|
+
transform: scale(1.005);
|
|
66
187
|
}
|
|
67
188
|
|
|
68
189
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropZoneElement.Cosmopolitan.js","sourceRoot":"","sources":["../../../../../../src/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Cosmopolitan.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,mBAAmB;AACnB,yCAAyC;AACzC,qGAAqG;AACrG,oBAAoB;AACpB,iFAAiF;AAEjF,kBAAkB;AAElB,OAAO,EAAE,GAAG,EAAkB,MAAM,wBAAwB,CAAC;AAE7D,aAAa;AAEb;;GAEG;AACH,MAAM,UAAU,gCAAgC;IAC5C,OAAO,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"DropZoneElement.Cosmopolitan.js","sourceRoot":"","sources":["../../../../../../src/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Cosmopolitan.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,mBAAmB;AACnB,yCAAyC;AACzC,qGAAqG;AACrG,oBAAoB;AACpB,iFAAiF;AAEjF,kBAAkB;AAElB,OAAO,EAAE,GAAG,EAAkB,MAAM,wBAAwB,CAAC;AAE7D,aAAa;AAEb;;GAEG;AACH,MAAM,UAAU,gCAAgC;IAC5C,OAAO,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+KT,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DropZoneElement.Joy.d.ts","sourceRoot":"","sources":["../../../../../../src/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Joy.ts"],"names":[],"mappings":"AASA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,SAAS,
|
|
1
|
+
{"version":3,"file":"DropZoneElement.Joy.d.ts","sourceRoot":"","sources":["../../../../../../src/Controls/Components/Primitives/DropZone/Themes/DropZoneElement.Joy.ts"],"names":[],"mappings":"AASA,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,SAAS,CAqNnD"}
|