@rdlabo/ionic-theme-ios27 0.1.0-beta.pr177.shaea4b7eeec994 → 0.2.1

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 (76) hide show
  1. package/node_modules/@rdlabo/ionic-theme-utils/LICENSE +21 -0
  2. package/node_modules/@rdlabo/ionic-theme-utils/README.md +28 -0
  3. package/node_modules/@rdlabo/ionic-theme-utils/dist/dom.d.ts +3 -0
  4. package/node_modules/@rdlabo/ionic-theme-utils/dist/dom.d.ts.map +1 -0
  5. package/node_modules/@rdlabo/ionic-theme-utils/dist/dom.js +13 -0
  6. package/node_modules/@rdlabo/ionic-theme-utils/dist/dom.js.map +1 -0
  7. package/node_modules/@rdlabo/ionic-theme-utils/dist/focus-controller.d.ts +6 -0
  8. package/node_modules/@rdlabo/ionic-theme-utils/dist/focus-controller.d.ts.map +1 -0
  9. package/node_modules/@rdlabo/ionic-theme-utils/dist/focus-controller.js +37 -0
  10. package/node_modules/@rdlabo/ionic-theme-utils/dist/focus-controller.js.map +1 -0
  11. package/node_modules/@rdlabo/ionic-theme-utils/dist/index.d.ts +13 -0
  12. package/node_modules/@rdlabo/ionic-theme-utils/dist/index.d.ts.map +1 -0
  13. package/node_modules/@rdlabo/ionic-theme-utils/dist/index.js +11 -0
  14. package/node_modules/@rdlabo/ionic-theme-utils/dist/index.js.map +1 -0
  15. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.enter.d.ts +3 -0
  16. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.enter.d.ts.map +1 -0
  17. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.enter.js +196 -0
  18. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.enter.js.map +1 -0
  19. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.leave.d.ts +3 -0
  20. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.leave.d.ts.map +1 -0
  21. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.leave.js +80 -0
  22. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.leave.js.map +1 -0
  23. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/callout-surface.d.ts +2 -0
  24. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/callout-surface.d.ts.map +1 -0
  25. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/callout-surface.js +45 -0
  26. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/callout-surface.js.map +1 -0
  27. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/popover-interface.d.ts +38 -0
  28. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/popover-interface.d.ts.map +1 -0
  29. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/popover-interface.js +2 -0
  30. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/popover-interface.js.map +1 -0
  31. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/utils.d.ts +38 -0
  32. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/utils.d.ts.map +1 -0
  33. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/utils.js +378 -0
  34. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/utils.js.map +1 -0
  35. package/node_modules/@rdlabo/ionic-theme-utils/dist/sheets-of-glass.d.ts +16 -0
  36. package/node_modules/@rdlabo/ionic-theme-utils/dist/sheets-of-glass.d.ts.map +1 -0
  37. package/node_modules/@rdlabo/ionic-theme-utils/dist/sheets-of-glass.js +2 -0
  38. package/node_modules/@rdlabo/ionic-theme-utils/dist/sheets-of-glass.js.map +1 -0
  39. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/interfaces.d.ts +41 -0
  40. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/interfaces.d.ts.map +1 -0
  41. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/interfaces.js +6 -0
  42. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/interfaces.js.map +1 -0
  43. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/utils.d.ts +12 -0
  44. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/utils.d.ts.map +1 -0
  45. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/utils.js +61 -0
  46. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/utils.js.map +1 -0
  47. package/node_modules/@rdlabo/ionic-theme-utils/dist/theme.d.ts +15 -0
  48. package/node_modules/@rdlabo/ionic-theme-utils/dist/theme.d.ts.map +1 -0
  49. package/node_modules/@rdlabo/ionic-theme-utils/dist/theme.js +49 -0
  50. package/node_modules/@rdlabo/ionic-theme-utils/dist/theme.js.map +1 -0
  51. package/node_modules/@rdlabo/ionic-theme-utils/dist/transition/ios.transition.d.ts +18 -0
  52. package/node_modules/@rdlabo/ionic-theme-utils/dist/transition/ios.transition.d.ts.map +1 -0
  53. package/node_modules/@rdlabo/ionic-theme-utils/dist/transition/ios.transition.js +412 -0
  54. package/node_modules/@rdlabo/ionic-theme-utils/dist/transition/ios.transition.js.map +1 -0
  55. package/node_modules/@rdlabo/ionic-theme-utils/package.json +64 -0
  56. package/node_modules/@rdlabo/ionic-theme-utils/src/dom.spec.ts +19 -0
  57. package/node_modules/@rdlabo/ionic-theme-utils/src/dom.ts +16 -0
  58. package/node_modules/@rdlabo/ionic-theme-utils/src/focus-controller.ts +38 -0
  59. package/node_modules/@rdlabo/ionic-theme-utils/src/index.ts +59 -0
  60. package/node_modules/@rdlabo/ionic-theme-utils/src/popover/animations/ios.enter.ts +259 -0
  61. package/node_modules/@rdlabo/ionic-theme-utils/src/popover/animations/ios.leave.ts +99 -0
  62. package/node_modules/@rdlabo/ionic-theme-utils/src/popover/callout-surface.ts +54 -0
  63. package/node_modules/@rdlabo/ionic-theme-utils/src/popover/popover-interface.ts +44 -0
  64. package/node_modules/@rdlabo/ionic-theme-utils/src/popover/utils.spec.ts +58 -0
  65. package/node_modules/@rdlabo/ionic-theme-utils/src/popover/utils.ts +698 -0
  66. package/node_modules/@rdlabo/ionic-theme-utils/src/sheets-of-glass.ts +17 -0
  67. package/node_modules/@rdlabo/ionic-theme-utils/src/styles/index.scss +1 -0
  68. package/node_modules/@rdlabo/ionic-theme-utils/src/styles/md-ion-list-inset.scss +20 -0
  69. package/node_modules/@rdlabo/ionic-theme-utils/src/styles/structured-list.scss +310 -0
  70. package/node_modules/@rdlabo/ionic-theme-utils/src/tab-bar-searchable/interfaces.ts +28 -0
  71. package/node_modules/@rdlabo/ionic-theme-utils/src/tab-bar-searchable/utils.spec.ts +56 -0
  72. package/node_modules/@rdlabo/ionic-theme-utils/src/tab-bar-searchable/utils.ts +75 -0
  73. package/node_modules/@rdlabo/ionic-theme-utils/src/theme.ts +51 -0
  74. package/node_modules/@rdlabo/ionic-theme-utils/src/transition/ios.transition.spec.ts +52 -0
  75. package/node_modules/@rdlabo/ionic-theme-utils/src/transition/ios.transition.ts +542 -0
  76. package/package.json +7 -4
@@ -0,0 +1,38 @@
1
+ import type { PopoverSize, PositionAlign, PositionReference, PositionSide, TriggerAction } from './popover-interface';
2
+ export declare const POPOVER_IOS_BODY_MARGIN = 8;
3
+ export interface ReferenceCoordinates {
4
+ top: number;
5
+ left: number;
6
+ width: number;
7
+ height: number;
8
+ }
9
+ interface PopoverPosition {
10
+ top: number;
11
+ left: number;
12
+ referenceCoordinates?: ReferenceCoordinates;
13
+ originX: string;
14
+ originY: string;
15
+ }
16
+ export interface PopoverStyles {
17
+ top: number;
18
+ left: number;
19
+ bottom?: number;
20
+ originX: string;
21
+ originY: string;
22
+ checkSafeAreaLeft: boolean;
23
+ checkSafeAreaRight: boolean;
24
+ addPopoverBottomClass: boolean;
25
+ }
26
+ export declare const getPopoverDimensions: (size: PopoverSize, contentEl: HTMLElement, triggerEl?: HTMLElement) => {
27
+ contentWidth: number;
28
+ contentHeight: number;
29
+ };
30
+ export declare const configureDismissInteraction: (triggerEl: HTMLElement, triggerAction: TriggerAction, popoverEl: HTMLIonPopoverElement, parentPopoverEl: HTMLIonPopoverElement) => () => void;
31
+ export declare const configureTriggerInteraction: (triggerEl: HTMLElement, triggerAction: TriggerAction, popoverEl: HTMLIonPopoverElement) => () => void;
32
+ export declare const getIndexOfItem: (items: HTMLIonItemElement[], item: HTMLElement | null) => number;
33
+ export declare const getNextItem: (items: HTMLIonItemElement[], currentItem: HTMLElement | null) => HTMLIonItemElement;
34
+ export declare const getPrevItem: (items: HTMLIonItemElement[], currentItem: HTMLElement | null) => HTMLIonItemElement;
35
+ export declare const getPopoverPosition: (isRTL: boolean, contentWidth: number, contentHeight: number, reference: PositionReference, side: PositionSide, align: PositionAlign, defaultPosition: PopoverPosition, triggerEl?: HTMLElement, event?: MouseEvent | CustomEvent) => PopoverPosition;
36
+ export declare const calculateWindowAdjustment: (side: PositionSide, coordTop: number, coordLeft: number, bodyPadding: number, bodyWidth: number, bodyHeight: number, contentWidth: number, contentHeight: number, safeAreaMargin: number, contentOriginX: string, contentOriginY: string, triggerCoordinates?: ReferenceCoordinates, eventElementRect?: DOMRect, isReplace?: boolean) => PopoverStyles;
37
+ export {};
38
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/popover/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGtH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAOzC,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,eAAe;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAOD,eAAO,MAAM,oBAAoB,GAAI,MAAM,WAAW,EAAE,WAAW,WAAW,EAAE,YAAY,WAAW;;;CActG,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,WAAW,EACtB,eAAe,aAAa,EAC5B,WAAW,qBAAqB,EAChC,iBAAiB,qBAAqB,eAyEvC,CAAC;AAOF,eAAO,MAAM,2BAA2B,GAAI,WAAW,WAAW,EAAE,eAAe,aAAa,EAAE,WAAW,qBAAqB,eA4HjI,CAAC;AAKF,eAAO,MAAM,cAAc,GAAI,OAAO,kBAAkB,EAAE,EAAE,MAAM,WAAW,GAAG,IAAI,WAMnF,CAAC;AAOF,eAAO,MAAM,WAAW,GAAI,OAAO,kBAAkB,EAAE,EAAE,aAAa,WAAW,GAAG,IAAI,uBAGvF,CAAC;AAOF,eAAO,MAAM,WAAW,GAAI,OAAO,kBAAkB,EAAE,EAAE,aAAa,WAAW,GAAG,IAAI,uBAGvF,CAAC;AAiBF,eAAO,MAAM,kBAAkB,GAC7B,OAAO,OAAO,EACd,cAAc,MAAM,EACpB,eAAe,MAAM,EACrB,WAAW,iBAAiB,EAC5B,MAAM,YAAY,EAClB,OAAO,aAAa,EACpB,iBAAiB,eAAe,EAChC,YAAY,WAAW,EACvB,QAAQ,UAAU,GAAG,WAAW,KAC/B,eAqFF,CAAC;AA6LF,eAAO,MAAM,yBAAyB,GACpC,MAAM,YAAY,EAClB,UAAU,MAAM,EAChB,WAAW,MAAM,EACjB,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,YAAY,MAAM,EAClB,cAAc,MAAM,EACpB,eAAe,MAAM,EACrB,gBAAgB,MAAM,EACtB,gBAAgB,MAAM,EACtB,gBAAgB,MAAM,EACtB,qBAAqB,oBAAoB,EACzC,mBAAmB,OAAO,EAC1B,YAAW,OAAe,KACzB,aAmFF,CAAC"}
@@ -0,0 +1,378 @@
1
+ import { getElementRoot, raf } from '../dom';
2
+ export const POPOVER_IOS_BODY_MARGIN = 8;
3
+ export const getPopoverDimensions = (size, contentEl, triggerEl) => {
4
+ const contentDimentions = contentEl.getBoundingClientRect();
5
+ const contentHeight = contentDimentions.height;
6
+ let contentWidth = contentDimentions.width;
7
+ if (size === 'cover' && triggerEl) {
8
+ const triggerDimensions = triggerEl.getBoundingClientRect();
9
+ contentWidth = triggerDimensions.width;
10
+ }
11
+ return {
12
+ contentWidth,
13
+ contentHeight,
14
+ };
15
+ };
16
+ export const configureDismissInteraction = (triggerEl, triggerAction, popoverEl, parentPopoverEl) => {
17
+ let dismissCallbacks = [];
18
+ const root = getElementRoot(parentPopoverEl);
19
+ const parentContentEl = root.querySelector('.popover-content');
20
+ switch (triggerAction) {
21
+ case 'hover':
22
+ dismissCallbacks = [
23
+ {
24
+ eventName: 'mouseenter',
25
+ callback: (ev) => {
26
+ const element = document.elementFromPoint(ev.clientX, ev.clientY);
27
+ if (element === triggerEl) {
28
+ return;
29
+ }
30
+ popoverEl.dismiss(undefined, undefined, false);
31
+ },
32
+ },
33
+ ];
34
+ break;
35
+ case 'context-menu':
36
+ case 'click':
37
+ default:
38
+ dismissCallbacks = [
39
+ {
40
+ eventName: 'click',
41
+ callback: (ev) => {
42
+ const target = ev.target;
43
+ const closestTrigger = target.closest('[data-ion-popover-trigger]');
44
+ if (closestTrigger === triggerEl) {
45
+ ev.stopPropagation();
46
+ return;
47
+ }
48
+ popoverEl.dismiss(undefined, undefined, false);
49
+ },
50
+ },
51
+ ];
52
+ break;
53
+ }
54
+ dismissCallbacks.forEach(({ eventName, callback }) => parentContentEl.addEventListener(eventName, callback));
55
+ return () => {
56
+ dismissCallbacks.forEach(({ eventName, callback }) => parentContentEl.removeEventListener(eventName, callback));
57
+ };
58
+ };
59
+ export const configureTriggerInteraction = (triggerEl, triggerAction, popoverEl) => {
60
+ let triggerCallbacks = [];
61
+ switch (triggerAction) {
62
+ case 'hover':
63
+ let hoverTimeout;
64
+ triggerCallbacks = [
65
+ {
66
+ eventName: 'mouseenter',
67
+ callback: async (ev) => {
68
+ ev.stopPropagation();
69
+ if (hoverTimeout) {
70
+ clearTimeout(hoverTimeout);
71
+ }
72
+ hoverTimeout = setTimeout(() => {
73
+ raf(() => {
74
+ popoverEl.presentFromTrigger(ev);
75
+ hoverTimeout = undefined;
76
+ });
77
+ }, 100);
78
+ },
79
+ },
80
+ {
81
+ eventName: 'mouseleave',
82
+ callback: (ev) => {
83
+ if (hoverTimeout) {
84
+ clearTimeout(hoverTimeout);
85
+ }
86
+ const target = ev.relatedTarget;
87
+ if (!target) {
88
+ return;
89
+ }
90
+ if (target.closest('ion-popover') !== popoverEl) {
91
+ popoverEl.dismiss(undefined, undefined, false);
92
+ }
93
+ },
94
+ },
95
+ {
96
+ eventName: 'click',
97
+ callback: (ev) => ev.stopPropagation(),
98
+ },
99
+ {
100
+ eventName: 'ionPopoverActivateTrigger',
101
+ callback: (ev) => popoverEl.presentFromTrigger(ev, true),
102
+ },
103
+ ];
104
+ break;
105
+ case 'context-menu':
106
+ triggerCallbacks = [
107
+ {
108
+ eventName: 'contextmenu',
109
+ callback: (ev) => {
110
+ ev.preventDefault();
111
+ popoverEl.presentFromTrigger(ev);
112
+ },
113
+ },
114
+ {
115
+ eventName: 'click',
116
+ callback: (ev) => ev.stopPropagation(),
117
+ },
118
+ {
119
+ eventName: 'ionPopoverActivateTrigger',
120
+ callback: (ev) => popoverEl.presentFromTrigger(ev, true),
121
+ },
122
+ ];
123
+ break;
124
+ case 'click':
125
+ default:
126
+ triggerCallbacks = [
127
+ {
128
+ eventName: 'click',
129
+ callback: (ev) => popoverEl.presentFromTrigger(ev),
130
+ },
131
+ {
132
+ eventName: 'ionPopoverActivateTrigger',
133
+ callback: (ev) => popoverEl.presentFromTrigger(ev, true),
134
+ },
135
+ ];
136
+ break;
137
+ }
138
+ triggerCallbacks.forEach(({ eventName, callback }) => triggerEl.addEventListener(eventName, callback));
139
+ triggerEl.setAttribute('data-ion-popover-trigger', 'true');
140
+ return () => {
141
+ triggerCallbacks.forEach(({ eventName, callback }) => triggerEl.removeEventListener(eventName, callback));
142
+ triggerEl.removeAttribute('data-ion-popover-trigger');
143
+ };
144
+ };
145
+ export const getIndexOfItem = (items, item) => {
146
+ if (!item || item.tagName !== 'ION-ITEM') {
147
+ return -1;
148
+ }
149
+ return items.findIndex((el) => el === item);
150
+ };
151
+ export const getNextItem = (items, currentItem) => {
152
+ const currentItemIndex = getIndexOfItem(items, currentItem);
153
+ return items[currentItemIndex + 1];
154
+ };
155
+ export const getPrevItem = (items, currentItem) => {
156
+ const currentItemIndex = getIndexOfItem(items, currentItem);
157
+ return items[currentItemIndex - 1];
158
+ };
159
+ const focusItem = (item) => {
160
+ const root = getElementRoot(item);
161
+ const button = root.querySelector('button');
162
+ if (button) {
163
+ raf(() => button.focus());
164
+ }
165
+ };
166
+ export const getPopoverPosition = (isRTL, contentWidth, contentHeight, reference, side, align, defaultPosition, triggerEl, event) => {
167
+ let referenceCoordinates = {
168
+ top: 0,
169
+ left: 0,
170
+ width: 0,
171
+ height: 0,
172
+ };
173
+ switch (reference) {
174
+ case 'event':
175
+ if (!event) {
176
+ return defaultPosition;
177
+ }
178
+ const mouseEv = event;
179
+ referenceCoordinates = {
180
+ top: mouseEv.clientY,
181
+ left: mouseEv.clientX,
182
+ width: 1,
183
+ height: 1,
184
+ };
185
+ break;
186
+ case 'trigger':
187
+ default:
188
+ const customEv = event;
189
+ const actualTriggerEl = (triggerEl || customEv?.detail?.ionShadowTarget || customEv?.target);
190
+ if (!actualTriggerEl) {
191
+ return defaultPosition;
192
+ }
193
+ const triggerBoundingBox = actualTriggerEl.getBoundingClientRect();
194
+ referenceCoordinates = {
195
+ top: triggerBoundingBox.top,
196
+ left: triggerBoundingBox.left,
197
+ width: triggerBoundingBox.width,
198
+ height: triggerBoundingBox.height,
199
+ };
200
+ break;
201
+ }
202
+ const coordinates = calculatePopoverSide(side, referenceCoordinates, contentWidth, contentHeight, isRTL);
203
+ const alignedCoordinates = calculatePopoverAlign(align, side, referenceCoordinates, contentWidth, contentHeight);
204
+ const top = coordinates.top + alignedCoordinates.top;
205
+ const left = coordinates.left + alignedCoordinates.left;
206
+ const { originX, originY } = calculatePopoverOrigin(side, align, isRTL);
207
+ return { top, left, referenceCoordinates, originX, originY };
208
+ };
209
+ const calculatePopoverOrigin = (side, align, isRTL) => {
210
+ switch (side) {
211
+ case 'top':
212
+ return { originX: getOriginXAlignment(align), originY: 'bottom' };
213
+ case 'bottom':
214
+ return { originX: getOriginXAlignment(align), originY: 'top' };
215
+ case 'left':
216
+ return { originX: 'right', originY: getOriginYAlignment(align) };
217
+ case 'right':
218
+ return { originX: 'left', originY: getOriginYAlignment(align) };
219
+ case 'start':
220
+ return { originX: isRTL ? 'left' : 'right', originY: getOriginYAlignment(align) };
221
+ case 'end':
222
+ return { originX: isRTL ? 'right' : 'left', originY: getOriginYAlignment(align) };
223
+ }
224
+ };
225
+ const getOriginXAlignment = (align) => {
226
+ switch (align) {
227
+ case 'start':
228
+ return 'left';
229
+ case 'center':
230
+ return 'center';
231
+ case 'end':
232
+ return 'right';
233
+ }
234
+ };
235
+ const getOriginYAlignment = (align) => {
236
+ switch (align) {
237
+ case 'start':
238
+ return 'top';
239
+ case 'center':
240
+ return 'center';
241
+ case 'end':
242
+ return 'bottom';
243
+ }
244
+ };
245
+ const calculatePopoverSide = (side, triggerBoundingBox, contentWidth, contentHeight, isRTL) => {
246
+ const sideLeft = {
247
+ top: triggerBoundingBox.top,
248
+ left: triggerBoundingBox.left - contentWidth,
249
+ };
250
+ const sideRight = {
251
+ top: triggerBoundingBox.top,
252
+ left: triggerBoundingBox.left + triggerBoundingBox.width,
253
+ };
254
+ switch (side) {
255
+ case 'top':
256
+ return {
257
+ top: triggerBoundingBox.top - contentHeight,
258
+ left: triggerBoundingBox.left,
259
+ };
260
+ case 'right':
261
+ return sideRight;
262
+ case 'bottom':
263
+ return {
264
+ top: triggerBoundingBox.top + triggerBoundingBox.height,
265
+ left: triggerBoundingBox.left,
266
+ };
267
+ case 'left':
268
+ return sideLeft;
269
+ case 'start':
270
+ return isRTL ? sideRight : sideLeft;
271
+ case 'end':
272
+ return isRTL ? sideLeft : sideRight;
273
+ }
274
+ };
275
+ const calculatePopoverAlign = (align, side, triggerBoundingBox, contentWidth, contentHeight) => {
276
+ switch (align) {
277
+ case 'center':
278
+ return calculatePopoverCenterAlign(side, triggerBoundingBox, contentWidth, contentHeight);
279
+ case 'end':
280
+ return calculatePopoverEndAlign(side, triggerBoundingBox, contentWidth, contentHeight);
281
+ case 'start':
282
+ default:
283
+ return { top: 0, left: 0 };
284
+ }
285
+ };
286
+ const calculatePopoverEndAlign = (side, triggerBoundingBox, contentWidth, contentHeight) => {
287
+ switch (side) {
288
+ case 'start':
289
+ case 'end':
290
+ case 'left':
291
+ case 'right':
292
+ return {
293
+ top: -(contentHeight - triggerBoundingBox.height),
294
+ left: 0,
295
+ };
296
+ case 'top':
297
+ case 'bottom':
298
+ default:
299
+ return {
300
+ top: 0,
301
+ left: -(contentWidth - triggerBoundingBox.width),
302
+ };
303
+ }
304
+ };
305
+ const calculatePopoverCenterAlign = (side, triggerBoundingBox, contentWidth, contentHeight) => {
306
+ switch (side) {
307
+ case 'start':
308
+ case 'end':
309
+ case 'left':
310
+ case 'right':
311
+ return {
312
+ top: -(contentHeight / 2 - triggerBoundingBox.height / 2),
313
+ left: 0,
314
+ };
315
+ case 'top':
316
+ case 'bottom':
317
+ default:
318
+ return {
319
+ top: 0,
320
+ left: -(contentWidth / 2 - triggerBoundingBox.width / 2),
321
+ };
322
+ }
323
+ };
324
+ export const calculateWindowAdjustment = (side, coordTop, coordLeft, bodyPadding, bodyWidth, bodyHeight, contentWidth, contentHeight, safeAreaMargin, contentOriginX, contentOriginY, triggerCoordinates, eventElementRect, isReplace = false) => {
325
+ const triggerTop = triggerCoordinates ? triggerCoordinates.top + triggerCoordinates.height : bodyHeight / 2 - contentHeight / 2;
326
+ const triggerHeight = triggerCoordinates ? triggerCoordinates.height : 0;
327
+ let left = coordLeft;
328
+ let top = !isReplace ? coordTop + POPOVER_IOS_BODY_MARGIN : coordTop - triggerHeight;
329
+ let bottom;
330
+ let originX = contentOriginX;
331
+ let originY = contentOriginY;
332
+ let checkSafeAreaLeft = false;
333
+ let checkSafeAreaRight = false;
334
+ let addPopoverBottomClass = false;
335
+ if (left < bodyPadding + safeAreaMargin) {
336
+ left = !eventElementRect ? bodyPadding : eventElementRect.left;
337
+ if (left === 0) {
338
+ left = safeAreaMargin;
339
+ }
340
+ checkSafeAreaLeft = true;
341
+ originX = 'left';
342
+ }
343
+ else if (contentWidth + bodyPadding + left + safeAreaMargin > bodyWidth) {
344
+ checkSafeAreaRight = true;
345
+ left = !eventElementRect ? bodyWidth - contentWidth - bodyPadding : eventElementRect.right - contentWidth;
346
+ if (left + contentWidth === bodyWidth) {
347
+ left = left - safeAreaMargin;
348
+ }
349
+ originX = 'right';
350
+ }
351
+ const compareTop = triggerCoordinates ? triggerCoordinates.top + triggerCoordinates.height / 2 : bodyHeight / 2 - contentHeight / 2;
352
+ if (compareTop > bodyHeight / 2 && (side === 'top' || side === 'bottom')) {
353
+ if (triggerTop - contentHeight > 0) {
354
+ if (!isReplace) {
355
+ top = Math.max(12, triggerTop - contentHeight - triggerHeight) - POPOVER_IOS_BODY_MARGIN;
356
+ }
357
+ else {
358
+ top = Math.max(12, triggerTop - contentHeight);
359
+ }
360
+ originY = 'bottom';
361
+ addPopoverBottomClass = true;
362
+ }
363
+ else {
364
+ bottom = bodyPadding;
365
+ }
366
+ }
367
+ return {
368
+ top,
369
+ left,
370
+ bottom,
371
+ originX,
372
+ originY,
373
+ checkSafeAreaLeft,
374
+ checkSafeAreaRight,
375
+ addPopoverBottomClass,
376
+ };
377
+ };
378
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/popover/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAK7C,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAsCzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAiB,EAAE,SAAsB,EAAE,SAAuB,EAAE,EAAE;IACzG,MAAM,iBAAiB,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;IAC5D,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC;IAC/C,IAAI,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC;IAE3C,IAAI,IAAI,KAAK,OAAO,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,iBAAiB,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAC5D,YAAY,GAAG,iBAAiB,CAAC,KAAK,CAAC;IACzC,CAAC;IAED,OAAO;QACL,YAAY;QACZ,aAAa;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,SAAsB,EACtB,aAA4B,EAC5B,SAAgC,EAChC,eAAsC,EACtC,EAAE;IACF,IAAI,gBAAgB,GAA0B,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAgB,CAAC;IAE9E,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,gBAAgB,GAAG;gBACjB;oBAQE,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,CAAC,EAAc,EAAE,EAAE;wBAS3B,MAAM,OAAO,GAAG,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAuB,CAAC;wBACxF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;4BAC1B,OAAO;wBACT,CAAC;wBAED,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;oBACjD,CAAC;iBACF;aACF,CAAC;YACF,MAAM;QACR,KAAK,cAAc,CAAC;QACpB,KAAK,OAAO,CAAC;QACb;YACE,gBAAgB,GAAG;gBACjB;oBACE,SAAS,EAAE,OAAO;oBAClB,QAAQ,EAAE,CAAC,EAAc,EAAE,EAAE;wBAK3B,MAAM,MAAM,GAAG,EAAE,CAAC,MAAqB,CAAC;wBACxC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;wBACpE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;4BAOjC,EAAE,CAAC,eAAe,EAAE,CAAC;4BACrB,OAAO;wBACT,CAAC;wBAED,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;oBACjD,CAAC;iBACF;aACF,CAAC;YACF,MAAM;IACV,CAAC;IAED,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7G,OAAO,GAAG,EAAE;QACV,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClH,CAAC,CAAC;AACJ,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,SAAsB,EAAE,aAA4B,EAAE,SAAgC,EAAE,EAAE;IACpI,IAAI,gBAAgB,GAA0B,EAAE,CAAC;IAOjD,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,OAAO;YACV,IAAI,YAAuD,CAAC;YAE5D,gBAAgB,GAAG;gBACjB;oBACE,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,KAAK,EAAE,EAAS,EAAE,EAAE;wBAC5B,EAAE,CAAC,eAAe,EAAE,CAAC;wBAErB,IAAI,YAAY,EAAE,CAAC;4BACjB,YAAY,CAAC,YAAY,CAAC,CAAC;wBAC7B,CAAC;wBAMD,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;4BAC7B,GAAG,CAAC,GAAG,EAAE;gCACP,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;gCACjC,YAAY,GAAG,SAAS,CAAC;4BAC3B,CAAC,CAAC,CAAC;wBACL,CAAC,EAAE,GAAG,CAAC,CAAC;oBACV,CAAC;iBACF;gBACD;oBACE,SAAS,EAAE,YAAY;oBACvB,QAAQ,EAAE,CAAC,EAAc,EAAE,EAAE;wBAC3B,IAAI,YAAY,EAAE,CAAC;4BACjB,YAAY,CAAC,YAAY,CAAC,CAAC;wBAC7B,CAAC;wBAOD,MAAM,MAAM,GAAG,EAAE,CAAC,aAAmC,CAAC;wBACtD,IAAI,CAAC,MAAM,EAAE,CAAC;4BACZ,OAAO;wBACT,CAAC;wBAED,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,CAAC;4BAChD,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;wBACjD,CAAC;oBACH,CAAC;iBACF;gBACD;oBAKE,SAAS,EAAE,OAAO;oBAClB,QAAQ,EAAE,CAAC,EAAS,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE;iBAC9C;gBACD;oBACE,SAAS,EAAE,2BAA2B;oBACtC,QAAQ,EAAE,CAAC,EAAS,EAAE,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC;iBAChE;aACF,CAAC;YAEF,MAAM;QACR,KAAK,cAAc;YACjB,gBAAgB,GAAG;gBACjB;oBACE,SAAS,EAAE,aAAa;oBACxB,QAAQ,EAAE,CAAC,EAAS,EAAE,EAAE;wBAKtB,EAAE,CAAC,cAAc,EAAE,CAAC;wBACpB,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;oBACnC,CAAC;iBACF;gBACD;oBACE,SAAS,EAAE,OAAO;oBAClB,QAAQ,EAAE,CAAC,EAAS,EAAE,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE;iBAC9C;gBACD;oBACE,SAAS,EAAE,2BAA2B;oBACtC,QAAQ,EAAE,CAAC,EAAS,EAAE,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC;iBAChE;aACF,CAAC;YAEF,MAAM;QACR,KAAK,OAAO,CAAC;QACb;YACE,gBAAgB,GAAG;gBACjB;oBAQE,SAAS,EAAE,OAAO;oBAClB,QAAQ,EAAE,CAAC,EAAS,EAAE,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,CAAC;iBAC1D;gBACD;oBACE,SAAS,EAAE,2BAA2B;oBACtC,QAAQ,EAAE,CAAC,EAAS,EAAE,EAAE,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC;iBAChE;aACF,CAAC;YACF,MAAM;IACV,CAAC;IAED,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACvG,SAAS,CAAC,YAAY,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IAE3D,OAAO,GAAG,EAAE;QACV,gBAAgB,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC1G,SAAS,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAA2B,EAAE,IAAwB,EAAE,EAAE;IACtF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;AAC9C,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAA2B,EAAE,WAA+B,EAAE,EAAE;IAC1F,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAA2B,EAAE,WAA+B,EAAE,EAAE;IAC1F,MAAM,gBAAgB,GAAG,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC;AAGF,MAAM,SAAS,GAAG,CAAC,IAAwB,EAAE,EAAE;IAC7C,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE5C,IAAI,MAAM,EAAE,CAAC;QACX,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,KAAc,EACd,YAAoB,EACpB,aAAqB,EACrB,SAA4B,EAC5B,IAAkB,EAClB,KAAoB,EACpB,eAAgC,EAChC,SAAuB,EACvB,KAAgC,EACf,EAAE;IACnB,IAAI,oBAAoB,GAAG;QACzB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;KACV,CAAC;IAOF,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,OAAO;YACV,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,eAAe,CAAC;YACzB,CAAC;YAED,MAAM,OAAO,GAAG,KAAmB,CAAC;YAEpC,oBAAoB,GAAG;gBACrB,GAAG,EAAE,OAAO,CAAC,OAAO;gBACpB,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACV,CAAC;YAEF,MAAM;QASR,KAAK,SAAS,CAAC;QACf;YACE,MAAM,QAAQ,GAAG,KAAoB,CAAC;YAWtC,MAAM,eAAe,GAAG,CAAC,SAAS,IAAI,QAAQ,EAAE,MAAM,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,CAAuB,CAAC;YACnH,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,OAAO,eAAe,CAAC;YACzB,CAAC;YACD,MAAM,kBAAkB,GAAG,eAAe,CAAC,qBAAqB,EAAE,CAAC;YACnE,oBAAoB,GAAG;gBACrB,GAAG,EAAE,kBAAkB,CAAC,GAAG;gBAC3B,IAAI,EAAE,kBAAkB,CAAC,IAAI;gBAC7B,KAAK,EAAE,kBAAkB,CAAC,KAAK;gBAC/B,MAAM,EAAE,kBAAkB,CAAC,MAAM;aAClC,CAAC;YAEF,MAAM;IACV,CAAC;IAOD,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAOzG,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAEjH,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,kBAAkB,CAAC,GAAG,CAAC;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;IAExD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAExE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC/D,CAAC,CAAC;AASF,MAAM,sBAAsB,GAAG,CAAC,IAAkB,EAAE,KAAoB,EAAE,KAAc,EAAE,EAAE;IAC1F,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACpE,KAAK,QAAQ;YACX,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACjE,KAAK,MAAM;YACT,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnE,KAAK,OAAO;YACV,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClE,KAAK,OAAO;YACV,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QACpF,KAAK,KAAK;YACR,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAoB,EAAE,EAAE;IACnD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,KAAoB,EAAE,EAAE;IACnD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,KAAK,CAAC;QACf,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,oBAAoB,GAAG,CAC3B,IAAkB,EAClB,kBAAwC,EACxC,YAAoB,EACpB,aAAqB,EACrB,KAAc,EACd,EAAE;IACF,MAAM,QAAQ,GAAG;QACf,GAAG,EAAE,kBAAkB,CAAC,GAAG;QAC3B,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,YAAY;KAC7C,CAAC;IACF,MAAM,SAAS,GAAG;QAChB,GAAG,EAAE,kBAAkB,CAAC,GAAG;QAC3B,IAAI,EAAE,kBAAkB,CAAC,IAAI,GAAG,kBAAkB,CAAC,KAAK;KACzD,CAAC;IAEF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO;gBACL,GAAG,EAAE,kBAAkB,CAAC,GAAG,GAAG,aAAa;gBAC3C,IAAI,EAAE,kBAAkB,CAAC,IAAI;aAC9B,CAAC;QACJ,KAAK,OAAO;YACV,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO;gBACL,GAAG,EAAE,kBAAkB,CAAC,GAAG,GAAG,kBAAkB,CAAC,MAAM;gBACvD,IAAI,EAAE,kBAAkB,CAAC,IAAI;aAC9B,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,QAAQ,CAAC;QAClB,KAAK,OAAO;YACV,OAAO,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtC,KAAK,KAAK;YACR,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACxC,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,qBAAqB,GAAG,CAC5B,KAAoB,EACpB,IAAkB,EAClB,kBAAwC,EACxC,YAAoB,EACpB,aAAqB,EACrB,EAAE;IACF,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,QAAQ;YACX,OAAO,2BAA2B,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAC5F,KAAK,KAAK;YACR,OAAO,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QACzF,KAAK,OAAO,CAAC;QACb;YACE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC,CAAC;AAWF,MAAM,wBAAwB,GAAG,CAC/B,IAAkB,EAClB,kBAAwC,EACxC,YAAoB,EACpB,aAAqB,EACrB,EAAE;IACF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO;gBACL,GAAG,EAAE,CAAC,CAAC,aAAa,GAAG,kBAAkB,CAAC,MAAM,CAAC;gBACjD,IAAI,EAAE,CAAC;aACR,CAAC;QACJ,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ,CAAC;QACd;YACE,OAAO;gBACL,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,CAAC,CAAC,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC;aACjD,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAWF,MAAM,2BAA2B,GAAG,CAClC,IAAkB,EAClB,kBAAwC,EACxC,YAAoB,EACpB,aAAqB,EACrB,EAAE;IACF,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,OAAO;gBACL,GAAG,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzD,IAAI,EAAE,CAAC;aACR,CAAC;QACJ,KAAK,KAAK,CAAC;QACX,KAAK,QAAQ,CAAC;QACd;YACE,OAAO;gBACL,GAAG,EAAE,CAAC;gBACN,IAAI,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAC;aACzD,CAAC;IACN,CAAC;AACH,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,IAAkB,EAClB,QAAgB,EAChB,SAAiB,EACjB,WAAmB,EACnB,SAAiB,EACjB,UAAkB,EAClB,YAAoB,EACpB,aAAqB,EACrB,cAAsB,EACtB,cAAsB,EACtB,cAAsB,EACtB,kBAAyC,EACzC,gBAA0B,EAC1B,YAAqB,KAAK,EACX,EAAE;IACjB,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;IAChI,MAAM,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,uBAAuB,CAAC,CAAC,CAAC,QAAQ,GAAG,aAAa,CAAC;IACrF,IAAI,MAAM,CAAC;IACX,IAAI,OAAO,GAAG,cAAc,CAAC;IAC7B,IAAI,OAAO,GAAG,cAAc,CAAC;IAC7B,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAC9B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,qBAAqB,GAAG,KAAK,CAAC;IAMlC,IAAI,IAAI,GAAG,WAAW,GAAG,cAAc,EAAE,CAAC;QACxC,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAC/D,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,IAAI,GAAG,cAAc,CAAC;QACxB,CAAC;QACD,iBAAiB,GAAG,IAAI,CAAC;QACzB,OAAO,GAAG,MAAM,CAAC;IAKnB,CAAC;SAAM,IAAI,YAAY,GAAG,WAAW,GAAG,IAAI,GAAG,cAAc,GAAG,SAAS,EAAE,CAAC;QAC1E,kBAAkB,GAAG,IAAI,CAAC;QAC1B,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,GAAG,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,GAAG,YAAY,CAAC;QAC1G,IAAI,IAAI,GAAG,YAAY,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,GAAG,IAAI,GAAG,cAAc,CAAC;QAC/B,CAAC;QACD,OAAO,GAAG,OAAO,CAAC;IACpB,CAAC;IASD,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;IACpI,IAAI,UAAU,GAAG,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QACzE,IAAI,UAAU,GAAG,aAAa,GAAG,CAAC,EAAE,CAAC;YAWnC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC,GAAG,uBAAuB,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,aAAa,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,GAAG,QAAQ,CAAC;YACnB,qBAAqB,GAAG,IAAI,CAAC;QAM/B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,WAAW,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO;QACL,GAAG;QACH,IAAI;QACJ,MAAM;QACN,OAAO;QACP,OAAO;QACP,iBAAiB;QACjB,kBAAkB;QAClB,qBAAqB;KACtB,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ export interface EffectScales {
2
+ small: string;
3
+ medium: string;
4
+ large: string;
5
+ xlarge: string;
6
+ }
7
+ export interface registeredEffect {
8
+ destroy: () => void;
9
+ }
10
+ export interface AnimationPosition {
11
+ minPositionX: number;
12
+ maxPositionX: number;
13
+ width: number;
14
+ positionY: number;
15
+ }
16
+ //# sourceMappingURL=sheets-of-glass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheets-of-glass.d.ts","sourceRoot":"","sources":["../src/sheets-of-glass.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sheets-of-glass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheets-of-glass.js","sourceRoot":"","sources":["../src/sheets-of-glass.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
1
+ export declare enum TabBarSearchableType {
2
+ Enter = "enter",
3
+ Leave = "leave"
4
+ }
5
+ export type TabBarSearchableFunction = (event: Event, type: TabBarSearchableType) => Promise<void>;
6
+ export interface SearchableEventCache {
7
+ elementSizes: ElementSizes;
8
+ colorSelected: string;
9
+ }
10
+ export interface ElementSizes {
11
+ tabBar: {
12
+ width: number;
13
+ height: number;
14
+ };
15
+ closeButton: {
16
+ width: number;
17
+ height: number;
18
+ };
19
+ fabButton: {
20
+ width: number;
21
+ height: number;
22
+ };
23
+ searchContainer: {
24
+ width: number;
25
+ height: number;
26
+ };
27
+ selectedTabButtonIcon: {
28
+ width: number;
29
+ height: number;
30
+ top: number;
31
+ left: number;
32
+ };
33
+ }
34
+ export interface ElementReferences {
35
+ searchContainer: HTMLElement;
36
+ closeButtons: HTMLElement;
37
+ selectedTabButton: HTMLElement;
38
+ selectedTabButtonIcon: HTMLElement;
39
+ closeButtonIcon: HTMLElement;
40
+ }
41
+ //# sourceMappingURL=interfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/tab-bar-searchable/interfaces.ts"],"names":[],"mappings":"AAAA,oBAAY,oBAAoB;IAC9B,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,wBAAwB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnG,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB;AAGD,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,eAAe,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,qBAAqB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,WAAW,CAAC;IAC7B,YAAY,EAAE,WAAW,CAAC;IAC1B,iBAAiB,EAAE,WAAW,CAAC;IAC/B,qBAAqB,EAAE,WAAW,CAAC;IACnC,eAAe,EAAE,WAAW,CAAC;CAC9B"}
@@ -0,0 +1,6 @@
1
+ export var TabBarSearchableType;
2
+ (function (TabBarSearchableType) {
3
+ TabBarSearchableType["Enter"] = "enter";
4
+ TabBarSearchableType["Leave"] = "leave";
5
+ })(TabBarSearchableType || (TabBarSearchableType = {}));
6
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/tab-bar-searchable/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,uCAAe,CAAA;IACf,uCAAe,CAAA;AACjB,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B"}
@@ -0,0 +1,12 @@
1
+ import { ElementReferences, ElementSizes } from './interfaces';
2
+ export declare const ANIMATION_DURATION = 400;
3
+ export declare const ANIMATION_DELAY_BASE = 140;
4
+ export declare const ANIMATION_DELAY_CLOSE_BUTTONS = 240;
5
+ export declare const ANIMATION_EASING = "cubic-bezier(0, 1, 0.22, 1)";
6
+ export declare const OPACITY_TRANSITION = "opacity 140ms ease";
7
+ export declare const throwErrorByFailedClickElement: (selector: string) => Error;
8
+ export declare const throwErrorByFailedExistElement: (selector: string) => Error;
9
+ export declare const getElement: (docs: HTMLElement, selector: string) => HTMLElement;
10
+ export declare const getElementReferences: (ionTabBar: HTMLElement, ionFooter: HTMLElement) => ElementReferences;
11
+ export declare const getElementSizes: (ionTabBar: HTMLElement, ionFabButton: HTMLElement, references: ElementReferences) => ElementSizes;
12
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tab-bar-searchable/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE/D,eAAO,MAAM,kBAAkB,MAAM,CAAC;AACtC,eAAO,MAAM,oBAAoB,MAAM,CAAC;AACxC,eAAO,MAAM,6BAA6B,MAAM,CAAC;AACjD,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAC9D,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD,eAAO,MAAM,8BAA8B,GAAI,UAAU,MAAM,KAAG,KAEjE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GAAI,UAAU,MAAM,KAAG,KAEjE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,WAAW,EAAE,UAAU,MAAM,KAAG,WAMhE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,WAAW,WAAW,EAAE,WAAW,WAAW,KAAG,iBA0BrF,CAAC;AAKF,eAAO,MAAM,eAAe,GAAI,WAAW,WAAW,EAAE,cAAc,WAAW,EAAE,YAAY,iBAAiB,KAAG,YAmBlH,CAAC"}
@@ -0,0 +1,61 @@
1
+ export const ANIMATION_DURATION = 400;
2
+ export const ANIMATION_DELAY_BASE = 140;
3
+ export const ANIMATION_DELAY_CLOSE_BUTTONS = 240;
4
+ export const ANIMATION_EASING = 'cubic-bezier(0, 1, 0.22, 1)';
5
+ export const OPACITY_TRANSITION = 'opacity 140ms ease';
6
+ export const throwErrorByFailedClickElement = (selector) => {
7
+ return new Error('Expected click element to be inside `' + selector + '`');
8
+ };
9
+ export const throwErrorByFailedExistElement = (selector) => {
10
+ return new Error('Expected element `' + selector + '` to exist');
11
+ };
12
+ export const getElement = (docs, selector) => {
13
+ const el = docs.querySelector(selector);
14
+ if (!el) {
15
+ throw throwErrorByFailedClickElement(selector);
16
+ }
17
+ return el;
18
+ };
19
+ export const getElementReferences = (ionTabBar, ionFooter) => {
20
+ const searchContainer = getElement(ionFooter, 'ion-searchbar .searchbar-input-container');
21
+ const closeButtons = getElement(ionFooter, 'ion-buttons[slot=start]');
22
+ const selectedTabButton = ionTabBar.querySelector('ion-tab-button.tab-selected');
23
+ const selectedTabButtonIcon = selectedTabButton?.querySelector('ion-icon');
24
+ const closeButtonIcon = closeButtons.querySelector('ion-icon');
25
+ if (!selectedTabButton) {
26
+ throw throwErrorByFailedExistElement('ion-tab-button.tab-selected');
27
+ }
28
+ if (!selectedTabButtonIcon) {
29
+ throw throwErrorByFailedExistElement('ion-tab-button.tab-selected ion-icon');
30
+ }
31
+ if (!closeButtonIcon) {
32
+ throw throwErrorByFailedExistElement('ion-buttons[slot=start] ion-button ion-icon');
33
+ }
34
+ return {
35
+ searchContainer,
36
+ closeButtons,
37
+ selectedTabButton,
38
+ selectedTabButtonIcon,
39
+ closeButtonIcon,
40
+ };
41
+ };
42
+ export const getElementSizes = (ionTabBar, ionFabButton, references) => {
43
+ const tabBarRect = ionTabBar.getBoundingClientRect();
44
+ const fabButtonRect = ionFabButton.getBoundingClientRect();
45
+ const closeButtonRect = references.closeButtons.getBoundingClientRect();
46
+ const searchContainerRect = references.searchContainer.getBoundingClientRect();
47
+ const selectedTabButtonIconRect = references.selectedTabButtonIcon.getBoundingClientRect();
48
+ return {
49
+ tabBar: { width: tabBarRect.width, height: tabBarRect.height },
50
+ closeButton: { width: closeButtonRect.width, height: closeButtonRect.height },
51
+ fabButton: { width: fabButtonRect.width, height: fabButtonRect.height },
52
+ searchContainer: { width: searchContainerRect.width, height: searchContainerRect.height },
53
+ selectedTabButtonIcon: {
54
+ width: selectedTabButtonIconRect.width,
55
+ height: selectedTabButtonIconRect.height,
56
+ top: selectedTabButtonIconRect.top,
57
+ left: selectedTabButtonIconRect.left,
58
+ },
59
+ };
60
+ };
61
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/tab-bar-searchable/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { IonicConfig } from '@ionic/core';
2
+ import type { AnimationPosition } from './sheets-of-glass';
3
+ export declare const cloneElement: (tagName: string, useCache?: boolean) => HTMLElement;
4
+ export declare const getStep: (targetX: number, position: AnimationPosition) => number;
5
+ export declare const changeSelectedElement: (target: HTMLElement, selected: HTMLElement, tagName: string, selectedClass: string) => void;
6
+ export declare class Config {
7
+ private values;
8
+ reset(config: IonicConfig): void;
9
+ get<T = unknown>(key: keyof IonicConfig, fallback?: T): T;
10
+ getBoolean(key: keyof IonicConfig, fallback?: boolean): boolean;
11
+ getNumber(key: keyof IonicConfig, fallback?: number): number;
12
+ set(key: keyof IonicConfig, value: unknown): void;
13
+ }
14
+ export declare const config: Config;
15
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,EAAE,WAAU,OAAc,KAAG,WAUxE,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,UAAU,iBAAiB,WAGnE,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,QAAQ,WAAW,EAAE,UAAU,WAAW,EAAE,SAAS,MAAM,EAAE,eAAe,MAAM,KAAG,IAK1H,CAAC;AAEF,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAyC;IACvD,KAAK,CAAC,MAAM,EAAE,WAAW;IAGzB,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC;IAIzD,UAAU,CAAC,GAAG,EAAE,MAAM,WAAW,EAAE,QAAQ,UAAQ,GAAG,OAAO;IAK7D,SAAS,CAAC,GAAG,EAAE,MAAM,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM;IAI5D,GAAG,CAAC,GAAG,EAAE,MAAM,WAAW,EAAE,KAAK,EAAE,OAAO;CAG3C;AAED,eAAO,MAAM,MAAM,QAA+B,CAAC"}