@mgdis/mg-components 6.9.0 → 6.10.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.
- package/dist/cjs/events.utils-D5SAtkpQ.js +28 -0
- package/dist/cjs/events.utils-D5SAtkpQ.js.map +1 -0
- package/dist/cjs/index-CATFkm3O.js +4 -0
- package/dist/cjs/{index-CTU2m-sy.js → index-CfIlskRh.js} +20 -6
- package/dist/cjs/{index-CTU2m-sy.js.map → index-CfIlskRh.js.map} +1 -1
- package/dist/cjs/index.es-BCLy9yYb.js +250 -0
- package/dist/cjs/index.es-BCLy9yYb.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mg-action-more_37.cjs.entry.js +382 -373
- package/dist/cjs/mg-action-more_37.cjs.entry.js.map +1 -1
- package/dist/cjs/mg-alert.cjs.entry.js +7 -7
- package/dist/cjs/mg-components.cjs.js +1 -1
- package/dist/cjs/mg-input-combobox.cjs.entry.js +774 -0
- package/dist/cjs/mg-input-combobox.cjs.entry.js.map +1 -0
- package/dist/cjs/mg-input-combobox.entry.cjs.js.map +1 -0
- package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js +16 -14
- package/dist/cjs/mg-input-rich-text-editor.cjs.entry.js.map +1 -1
- package/dist/cjs/mg-input-rich-text-editor.entry.cjs.js.map +1 -1
- package/dist/cjs/mg-loader.cjs.entry.js +5 -5
- package/dist/cjs/mg-progress.cjs.entry.js +11 -11
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/atoms/mg-button/mg-button.js +3 -2
- package/dist/collection/components/atoms/mg-button/mg-button.js.map +1 -1
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js +47 -57
- package/dist/collection/components/atoms/mg-tooltip/mg-tooltip.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js +2 -0
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.js.map +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js +1443 -0
- package/dist/collection/components/molecules/inputs/mg-input-combobox/mg-input-combobox.js.map +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-date/mg-input-date.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js +2 -2
- package/dist/collection/components/molecules/inputs/mg-input-numeric/mg-input-numeric.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-password/mg-input-password.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-radio/mg-input-radio.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/editor/editor.scss +1 -0
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js +3 -3
- package/dist/collection/components/molecules/inputs/mg-input-rich-text-editor/mg-input-rich-text-editor.js.map +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-select/mg-input-select.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-text/mg-input-text.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-textarea/mg-input-textarea.js +1 -1
- package/dist/collection/components/molecules/inputs/mg-input-toggle/mg-input-toggle.js +1 -1
- package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js +2 -2
- package/dist/collection/components/molecules/menus/mg-menu/mg-menu.js.map +1 -1
- package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js +3 -3
- package/dist/collection/components/molecules/menus/mg-menu-item/mg-menu-item.js.map +1 -1
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js +2 -2
- package/dist/collection/components/molecules/mg-action-more/mg-action-more.js.map +1 -1
- package/dist/collection/components/molecules/mg-alert/mg-alert.js +1 -1
- package/dist/collection/components/molecules/mg-details/mg-details.js +1 -1
- package/dist/collection/components/molecules/mg-form/mg-form.js +1 -1
- package/dist/collection/components/molecules/mg-illustrated-message/mg-illustrated-message.js +1 -1
- package/dist/collection/components/molecules/mg-loader/mg-loader.js +1 -1
- package/dist/collection/components/molecules/mg-message/mg-message.js +2 -2
- package/dist/collection/components/molecules/mg-modal/mg-modal.js +2 -2
- package/dist/collection/components/molecules/mg-pagination/mg-pagination.js +3 -3
- package/dist/collection/components/molecules/mg-panel/mg-panel.js +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover-content/mg-popover-content.js +1 -1
- package/dist/collection/components/molecules/mg-popover/mg-popover.js +55 -81
- package/dist/collection/components/molecules/mg-popover/mg-popover.js.map +1 -1
- package/dist/collection/components/molecules/mg-progress/mg-progress.js +1 -1
- package/dist/collection/components/molecules/mg-skip-links/mg-skip-links.js +1 -1
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js +6 -5
- package/dist/collection/components/molecules/mg-tabs/mg-tabs.js.map +1 -1
- package/dist/collection/locales/en/messages.json +8 -1
- package/dist/collection/locales/fr/messages.json +8 -1
- package/dist/collection/utils/behaviors.utils.js +3 -3
- package/dist/collection/utils/behaviors.utils.js.map +1 -1
- package/dist/collection/utils/events.utils.js +22 -0
- package/dist/collection/utils/events.utils.js.map +1 -0
- package/dist/collection/utils/floating-ui.utils.js +46 -2
- package/dist/collection/utils/floating-ui.utils.js.map +1 -1
- package/dist/components/events.utils.js +26 -0
- package/dist/components/events.utils.js.map +1 -0
- package/dist/components/floating-ui.utils.js +47 -3
- package/dist/components/floating-ui.utils.js.map +1 -1
- package/dist/components/index.es.js +136 -43
- package/dist/components/index.es.js.map +1 -1
- package/dist/components/index2.js +18 -4
- package/dist/components/index2.js.map +1 -1
- package/dist/components/mg-action-more.js +8 -8
- package/dist/components/mg-action-more.js.map +1 -1
- package/dist/components/mg-alert.js +6 -6
- package/dist/components/mg-badge2.js +6 -6
- package/dist/components/mg-button2.js +9 -8
- package/dist/components/mg-button2.js.map +1 -1
- package/dist/components/mg-character-left2.js +4 -4
- package/dist/components/mg-details.js +4 -4
- package/dist/components/mg-details.js.map +1 -1
- package/dist/components/mg-form.js +8 -8
- package/dist/components/mg-icon2.js +6 -6
- package/dist/components/mg-illustrated-message.js +6 -6
- package/dist/components/mg-input-checkbox.js +9 -9
- package/dist/components/mg-input-combobox.d.ts +11 -0
- package/dist/components/mg-input-combobox.js +897 -0
- package/dist/components/mg-input-combobox.js.map +1 -0
- package/dist/components/mg-input-date.js +18 -18
- package/dist/components/mg-input-date.js.map +1 -1
- package/dist/components/mg-input-numeric.js +16 -16
- package/dist/components/mg-input-numeric.js.map +1 -1
- package/dist/components/mg-input-password.js +5 -5
- package/dist/components/mg-input-password.js.map +1 -1
- package/dist/components/mg-input-radio.js +8 -8
- package/dist/components/mg-input-rich-text-editor.js +15 -13
- package/dist/components/mg-input-rich-text-editor.js.map +1 -1
- package/dist/components/mg-input-select2.js +9 -9
- package/dist/components/mg-input-select2.js.map +1 -1
- package/dist/components/mg-input-text2.js +11 -11
- package/dist/components/mg-input-text2.js.map +1 -1
- package/dist/components/mg-input-textarea.js +9 -9
- package/dist/components/mg-input-textarea.js.map +1 -1
- package/dist/components/mg-input-title2.js +4 -4
- package/dist/components/mg-input-toggle.js +7 -7
- package/dist/components/mg-input2.js +8 -8
- package/dist/components/mg-item-more2.js +12 -12
- package/dist/components/mg-item-more2.js.map +1 -1
- package/dist/components/mg-loader.js +1 -70
- package/dist/components/mg-loader.js.map +1 -1
- package/dist/components/mg-loader2.js +75 -0
- package/dist/components/mg-loader2.js.map +1 -0
- package/dist/components/mg-menu-item2.js +13 -13
- package/dist/components/mg-menu-item2.js.map +1 -1
- package/dist/components/mg-message2.js +6 -6
- package/dist/components/mg-modal.js +10 -10
- package/dist/components/mg-pagination2.js +9 -9
- package/dist/components/mg-panel.js +10 -10
- package/dist/components/mg-popover-content2.js +5 -5
- package/dist/components/mg-popover-content2.js.map +1 -1
- package/dist/components/mg-popover2.js +60 -86
- package/dist/components/mg-popover2.js.map +1 -1
- package/dist/components/mg-progress.js +11 -11
- package/dist/components/mg-skip-links.js +3 -3
- package/dist/components/mg-table.js +6 -6
- package/dist/components/mg-tabs.js +18 -17
- package/dist/components/mg-tabs.js.map +1 -1
- package/dist/components/mg-tag.js +4 -4
- package/dist/components/mg-tooltip-content2.js +1 -1
- package/dist/components/mg-tooltip-content2.js.map +1 -1
- package/dist/components/mg-tooltip2.js +56 -66
- package/dist/components/mg-tooltip2.js.map +1 -1
- package/dist/esm/events.utils-yMGqY8YG.js +26 -0
- package/dist/esm/events.utils-yMGqY8YG.js.map +1 -0
- package/dist/esm/index-CAuxALt5.js +4 -0
- package/dist/esm/{index-SQlkEaXW.js → index-DmsGewMC.js} +20 -6
- package/dist/esm/{index-SQlkEaXW.js.map → index-DmsGewMC.js.map} +1 -1
- package/dist/esm/index.es-rLV3KFPd.js +223 -0
- package/dist/esm/index.es-rLV3KFPd.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mg-action-more_37.entry.js +383 -374
- package/dist/esm/mg-action-more_37.entry.js.map +1 -1
- package/dist/esm/mg-alert.entry.js +7 -7
- package/dist/esm/mg-components.js +1 -1
- package/dist/esm/mg-input-combobox.entry.js +772 -0
- package/dist/esm/mg-input-combobox.entry.js.map +1 -0
- package/dist/esm/mg-input-rich-text-editor.entry.js +17 -15
- package/dist/esm/mg-input-rich-text-editor.entry.js.map +1 -1
- package/dist/esm/{mg-input.conf-BtkqaBXm.js → mg-input.conf-CNgv8hc5.js} +3 -3
- package/dist/esm/{mg-input.conf-BtkqaBXm.js.map → mg-input.conf-CNgv8hc5.js.map} +1 -1
- package/dist/esm/mg-loader.entry.js +5 -5
- package/dist/esm/mg-progress.entry.js +11 -11
- package/dist/mg-components/locales/en/messages.json +8 -1
- package/dist/mg-components/locales/fr/messages.json +8 -1
- package/dist/mg-components/mg-components.esm.js +1 -1
- package/dist/mg-components/mg-input-combobox.entry.esm.js.map +1 -0
- package/dist/mg-components/mg-input-rich-text-editor.entry.esm.js.map +1 -1
- package/dist/mg-components/p-0f761c6c.entry.js +2 -0
- package/dist/mg-components/p-0f761c6c.entry.js.map +1 -0
- package/dist/mg-components/{p-650d6986.entry.js → p-73099ed7.entry.js} +3 -3
- package/dist/mg-components/p-73099ed7.entry.js.map +1 -0
- package/dist/mg-components/p-88f77de2.entry.js +2 -0
- package/dist/mg-components/{p-680948e3.entry.js.map → p-88f77de2.entry.js.map} +1 -1
- package/dist/mg-components/p-CNgv8hc5.js +2 -0
- package/dist/mg-components/{p-BtkqaBXm.js.map → p-CNgv8hc5.js.map} +1 -1
- package/dist/mg-components/p-DK9teKTo.js +2 -0
- package/dist/mg-components/{p-CqGbLOnN.js.map → p-DK9teKTo.js.map} +1 -1
- package/dist/mg-components/{p-583b3769.entry.js → p-ad66e7b3.entry.js} +2 -2
- package/dist/mg-components/p-cdbe689e.entry.js +2 -0
- package/dist/mg-components/{p-9acc6504.entry.js.map → p-cdbe689e.entry.js.map} +1 -1
- package/dist/mg-components/p-d3a868f0.entry.js +2 -0
- package/dist/mg-components/p-d3a868f0.entry.js.map +1 -0
- package/dist/mg-components/p-rLV3KFPd.js +2 -0
- package/dist/mg-components/p-rLV3KFPd.js.map +1 -0
- package/dist/mg-components/p-yMGqY8YG.js +2 -0
- package/dist/mg-components/p-yMGqY8YG.js.map +1 -0
- package/dist/types/components/atoms/mg-tooltip/mg-tooltip.d.ts +6 -5
- package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.conf.d.ts +24 -0
- package/dist/types/components/molecules/inputs/mg-input-combobox/mg-input-combobox.d.ts +340 -0
- package/dist/types/components/molecules/mg-popover/mg-popover.d.ts +5 -9
- package/dist/types/components.d.ts +247 -2
- package/dist/types/utils/events.utils.d.ts +4 -0
- package/dist/types/utils/floating-ui.utils.d.ts +9 -1
- package/ide/intellij/web-types.json +400 -1
- package/ide/vscode/html-custom-data.json +332 -0
- package/package.json +12 -12
- package/dist/cjs/index.es-jXqiN1uw.js +0 -152
- package/dist/cjs/index.es-jXqiN1uw.js.map +0 -1
- package/dist/esm/index.es-DDBtzymI.js +0 -130
- package/dist/esm/index.es-DDBtzymI.js.map +0 -1
- package/dist/mg-components/p-650d6986.entry.js.map +0 -1
- package/dist/mg-components/p-680948e3.entry.js +0 -2
- package/dist/mg-components/p-9acc6504.entry.js +0 -2
- package/dist/mg-components/p-BtkqaBXm.js +0 -2
- package/dist/mg-components/p-CqGbLOnN.js +0 -2
- package/dist/mg-components/p-DDBtzymI.js +0 -2
- package/dist/mg-components/p-DDBtzymI.js.map +0 -1
- package/dist/mg-components/p-c0fb6f62.entry.js +0 -2
- package/dist/mg-components/p-c0fb6f62.entry.js.map +0 -1
- /package/dist/mg-components/{p-583b3769.entry.js.map → p-ad66e7b3.entry.js.map} +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keyboard keys
|
|
3
|
+
*/
|
|
4
|
+
export const Keys = {
|
|
5
|
+
TAB: 'Tab',
|
|
6
|
+
ENTER: 'Enter',
|
|
7
|
+
DOWN: 'Down',
|
|
8
|
+
UP: 'Up',
|
|
9
|
+
LEFT: 'Left',
|
|
10
|
+
RIGHT: 'Right',
|
|
11
|
+
ARROWDOWN: 'ArrowDown',
|
|
12
|
+
ARROWUP: 'ArrowUp',
|
|
13
|
+
ARROWRIGHT: 'ArrowRight',
|
|
14
|
+
ARROWLEFT: 'ArrowLeft',
|
|
15
|
+
HOME: 'Home',
|
|
16
|
+
END: 'End',
|
|
17
|
+
ESC: 'Esc',
|
|
18
|
+
ESCAPE: 'Escape',
|
|
19
|
+
NUMPADENTER: 'NumpadEnter',
|
|
20
|
+
SPACE: 'Space',
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=events.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.utils.js","sourceRoot":"","sources":["../../src/utils/events.utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,IAAI,GAAyC;IACxD,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;CACf,CAAC","sourcesContent":["/**\n * Keyboard keys\n */\nexport const Keys: Record<string, KeyboardEvent['key']> = {\n TAB: 'Tab',\n ENTER: 'Enter',\n DOWN: 'Down',\n UP: 'Up',\n LEFT: 'Left',\n RIGHT: 'Right',\n ARROWDOWN: 'ArrowDown',\n ARROWUP: 'ArrowUp',\n ARROWRIGHT: 'ArrowRight',\n ARROWLEFT: 'ArrowLeft',\n HOME: 'Home',\n END: 'End',\n ESC: 'Esc',\n ESCAPE: 'Escape',\n NUMPADENTER: 'NumpadEnter',\n SPACE: 'Space',\n};\n"]}
|
|
@@ -19,12 +19,56 @@ export const placements = [
|
|
|
19
19
|
'left-start',
|
|
20
20
|
'left-end',
|
|
21
21
|
];
|
|
22
|
+
// Alignments constants
|
|
23
|
+
export const alignments = ['start', null, 'end'];
|
|
22
24
|
/**
|
|
23
25
|
* FloatingUI Placement type guard
|
|
24
26
|
* @param placement - value to check
|
|
25
27
|
* @returns truthy if placement is valid
|
|
26
28
|
*/
|
|
27
29
|
export const isFloatingUIPlacement = (placement) => placements.filter(p => !p.includes('auto')).includes(placement);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Round value by device pixel ratio
|
|
32
|
+
* @param value - value to round
|
|
33
|
+
* @returns rounded value
|
|
34
|
+
*/
|
|
35
|
+
const roundByDPR = (value) => {
|
|
36
|
+
const dpr = window.devicePixelRatio || 1;
|
|
37
|
+
return Math.round(value * dpr) / dpr;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Get translation for tooltip
|
|
41
|
+
* @param x - x-axis value
|
|
42
|
+
* @param y - y-axis value
|
|
43
|
+
* @returns translation string
|
|
44
|
+
*/
|
|
45
|
+
export const getTransformation = (x, y) => {
|
|
46
|
+
const tooltipX = isNaN(x) ? 0 : roundByDPR(x);
|
|
47
|
+
const tooltipY = isNaN(y) ? 0 : roundByDPR(y);
|
|
48
|
+
// No translation needed
|
|
49
|
+
if (tooltipX === 0 && tooltipY === 0)
|
|
50
|
+
return '';
|
|
51
|
+
// Only one axis needs translation
|
|
52
|
+
if (tooltipX === 0)
|
|
53
|
+
return `translateY(${tooltipY}px)`;
|
|
54
|
+
if (tooltipY === 0)
|
|
55
|
+
return `translateX(${tooltipX}px)`;
|
|
56
|
+
// Both axes need translation
|
|
57
|
+
return `translate(${tooltipX}px,${tooltipY}px)`;
|
|
58
|
+
};
|
|
59
|
+
// https://floating-ui.com/docs/arrow
|
|
60
|
+
// Unlike the floating element, which has both coordinates defined at all times, the arrow only has one defined.
|
|
61
|
+
// Due to this, either x or y will be undefined, depending on the side of placement.
|
|
62
|
+
// The above code uses `isNaN` to check for null and undefined simultaneously.
|
|
63
|
+
// Don't remove `isNaN`, because either value can be falsy (0), causing a bug!
|
|
64
|
+
export const numberToPx = (number) => {
|
|
65
|
+
if (number !== null && !isNaN(number)) {
|
|
66
|
+
if (number === 0)
|
|
67
|
+
return '0';
|
|
68
|
+
else
|
|
69
|
+
return `${number}px`;
|
|
70
|
+
}
|
|
71
|
+
else
|
|
72
|
+
return '';
|
|
73
|
+
};
|
|
30
74
|
//# sourceMappingURL=floating-ui.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floating-ui.utils.js","sourceRoot":"","sources":["../../src/utils/floating-ui.utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,KAAK;IACR,MAAM;IACN,YAAY;IACZ,UAAU;IACV,WAAW;IACX,SAAS;IACT,cAAc;IACd,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,UAAU;CACF,CAAC;AAOX;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAA0B,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAE5I,
|
|
1
|
+
{"version":3,"file":"floating-ui.utils.js","sourceRoot":"","sources":["../../src/utils/floating-ui.utils.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,KAAK;IACR,MAAM;IACN,YAAY;IACZ,UAAU;IACV,WAAW;IACX,SAAS;IACT,cAAc;IACd,YAAY;IACZ,aAAa;IACb,WAAW;IACX,YAAY;IACZ,UAAU;CACF,CAAC;AAOX,uBAAuB;AACvB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAU,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAA0B,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAE5I;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;IACnC,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AACvC,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAE,CAAS,EAAU,EAAE;IAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAE9C,wBAAwB;IACxB,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,kCAAkC;IAClC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,cAAc,QAAQ,KAAK,CAAC;IACvD,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,cAAc,QAAQ,KAAK,CAAC;IAEvD,6BAA6B;IAC7B,OAAO,aAAa,QAAQ,MAAM,QAAQ,KAAK,CAAC;AAClD,CAAC,CAAC;AAEF,qCAAqC;AACrC,gHAAgH;AAChH,oFAAoF;AACpF,8EAA8E;AAC9E,8EAA8E;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAc,EAAU,EAAE;IACnD,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;;YACxB,OAAO,GAAG,MAAM,IAAI,CAAC;IAC5B,CAAC;;QAAM,OAAO,EAAE,CAAC;AACnB,CAAC,CAAC","sourcesContent":["import { type Placement } from '@floating-ui/dom';\n\n/**\n * List of all possibles sides\n */\nexport const sides = ['top', 'right', 'bottom', 'left'] as const;\n\n/**\n * List of all possibles placements\n */\nexport const placements = [\n ...sides,\n 'auto',\n 'auto-start',\n 'auto-end',\n 'top-start',\n 'top-end',\n 'bottom-start',\n 'bottom-end',\n 'right-start',\n 'right-end',\n 'left-start',\n 'left-end',\n] as const;\n\n/**\n * Define placement type\n */\nexport type ExtendedPlacement = Placement | (typeof placements)[number];\n\n// Alignments constants\nexport const alignments = ['start', null, 'end'] as const;\n\n/**\n * FloatingUI Placement type guard\n * @param placement - value to check\n * @returns truthy if placement is valid\n */\nexport const isFloatingUIPlacement = (placement): placement is Placement => placements.filter(p => !p.includes('auto')).includes(placement);\n\n/**\n * Round value by device pixel ratio\n * @param value - value to round\n * @returns rounded value\n */\nconst roundByDPR = (value: number) => {\n const dpr = window.devicePixelRatio || 1;\n return Math.round(value * dpr) / dpr;\n};\n\n/**\n * Get translation for tooltip\n * @param x - x-axis value\n * @param y - y-axis value\n * @returns translation string\n */\nexport const getTransformation = (x: number, y: number): string => {\n const tooltipX = isNaN(x) ? 0 : roundByDPR(x);\n const tooltipY = isNaN(y) ? 0 : roundByDPR(y);\n\n // No translation needed\n if (tooltipX === 0 && tooltipY === 0) return '';\n\n // Only one axis needs translation\n if (tooltipX === 0) return `translateY(${tooltipY}px)`;\n if (tooltipY === 0) return `translateX(${tooltipX}px)`;\n\n // Both axes need translation\n return `translate(${tooltipX}px,${tooltipY}px)`;\n};\n\n// https://floating-ui.com/docs/arrow\n// Unlike the floating element, which has both coordinates defined at all times, the arrow only has one defined.\n// Due to this, either x or y will be undefined, depending on the side of placement.\n// The above code uses `isNaN` to check for null and undefined simultaneously.\n// Don't remove `isNaN`, because either value can be falsy (0), causing a bug!\nexport const numberToPx = (number: number): string => {\n if (number !== null && !isNaN(number)) {\n if (number === 0) return '0';\n else return `${number}px`;\n } else return '';\n};\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keyboard keys
|
|
3
|
+
*/
|
|
4
|
+
const Keys = {
|
|
5
|
+
TAB: 'Tab',
|
|
6
|
+
ENTER: 'Enter',
|
|
7
|
+
DOWN: 'Down',
|
|
8
|
+
UP: 'Up',
|
|
9
|
+
LEFT: 'Left',
|
|
10
|
+
RIGHT: 'Right',
|
|
11
|
+
ARROWDOWN: 'ArrowDown',
|
|
12
|
+
ARROWUP: 'ArrowUp',
|
|
13
|
+
ARROWRIGHT: 'ArrowRight',
|
|
14
|
+
ARROWLEFT: 'ArrowLeft',
|
|
15
|
+
HOME: 'Home',
|
|
16
|
+
END: 'End',
|
|
17
|
+
ESC: 'Esc',
|
|
18
|
+
ESCAPE: 'Escape',
|
|
19
|
+
NUMPADENTER: 'NumpadEnter',
|
|
20
|
+
SPACE: 'Space',
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export { Keys as K };
|
|
24
|
+
//# sourceMappingURL=events.utils.js.map
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=events.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"events.utils.js","mappings":"AAAA;;AAEG;AACU,MAAA,IAAI,GAAyC;AACxD,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,EAAE,EAAE,IAAI;AACR,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,SAAS,EAAE,WAAW;AACtB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,GAAG,EAAE,KAAK;AACV,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,KAAK,EAAE,OAAO;;;;;","names":[],"sources":["src/utils/events.utils.ts"],"sourcesContent":["/**\n * Keyboard keys\n */\nexport const Keys: Record<string, KeyboardEvent['key']> = {\n TAB: 'Tab',\n ENTER: 'Enter',\n DOWN: 'Down',\n UP: 'Up',\n LEFT: 'Left',\n RIGHT: 'Right',\n ARROWDOWN: 'ArrowDown',\n ARROWUP: 'ArrowUp',\n ARROWRIGHT: 'ArrowRight',\n ARROWLEFT: 'ArrowLeft',\n HOME: 'Home',\n END: 'End',\n ESC: 'Esc',\n ESCAPE: 'Escape',\n NUMPADENTER: 'NumpadEnter',\n SPACE: 'Space',\n};\n"],"version":3}
|
|
@@ -1662,16 +1662,60 @@ const placements = [
|
|
|
1662
1662
|
'left-start',
|
|
1663
1663
|
'left-end',
|
|
1664
1664
|
];
|
|
1665
|
+
// Alignments constants
|
|
1666
|
+
const alignments = ['start', null, 'end'];
|
|
1665
1667
|
/**
|
|
1666
1668
|
* FloatingUI Placement type guard
|
|
1667
1669
|
* @param placement - value to check
|
|
1668
1670
|
* @returns truthy if placement is valid
|
|
1669
1671
|
*/
|
|
1670
1672
|
const isFloatingUIPlacement = (placement) => placements.filter(p => !p.includes('auto')).includes(placement);
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
+
/**
|
|
1674
|
+
* Round value by device pixel ratio
|
|
1675
|
+
* @param value - value to round
|
|
1676
|
+
* @returns rounded value
|
|
1677
|
+
*/
|
|
1678
|
+
const roundByDPR = (value) => {
|
|
1679
|
+
const dpr = window.devicePixelRatio || 1;
|
|
1680
|
+
return Math.round(value * dpr) / dpr;
|
|
1681
|
+
};
|
|
1682
|
+
/**
|
|
1683
|
+
* Get translation for tooltip
|
|
1684
|
+
* @param x - x-axis value
|
|
1685
|
+
* @param y - y-axis value
|
|
1686
|
+
* @returns translation string
|
|
1687
|
+
*/
|
|
1688
|
+
const getTransformation = (x, y) => {
|
|
1689
|
+
const tooltipX = isNaN(x) ? 0 : roundByDPR(x);
|
|
1690
|
+
const tooltipY = isNaN(y) ? 0 : roundByDPR(y);
|
|
1691
|
+
// No translation needed
|
|
1692
|
+
if (tooltipX === 0 && tooltipY === 0)
|
|
1693
|
+
return '';
|
|
1694
|
+
// Only one axis needs translation
|
|
1695
|
+
if (tooltipX === 0)
|
|
1696
|
+
return `translateY(${tooltipY}px)`;
|
|
1697
|
+
if (tooltipY === 0)
|
|
1698
|
+
return `translateX(${tooltipX}px)`;
|
|
1699
|
+
// Both axes need translation
|
|
1700
|
+
return `translate(${tooltipX}px,${tooltipY}px)`;
|
|
1701
|
+
};
|
|
1702
|
+
// https://floating-ui.com/docs/arrow
|
|
1703
|
+
// Unlike the floating element, which has both coordinates defined at all times, the arrow only has one defined.
|
|
1704
|
+
// Due to this, either x or y will be undefined, depending on the side of placement.
|
|
1705
|
+
// The above code uses `isNaN` to check for null and undefined simultaneously.
|
|
1706
|
+
// Don't remove `isNaN`, because either value can be falsy (0), causing a bug!
|
|
1707
|
+
const numberToPx = (number) => {
|
|
1708
|
+
if (number !== null && !isNaN(number)) {
|
|
1709
|
+
if (number === 0)
|
|
1710
|
+
return '0';
|
|
1711
|
+
else
|
|
1712
|
+
return `${number}px`;
|
|
1713
|
+
}
|
|
1714
|
+
else
|
|
1715
|
+
return '';
|
|
1716
|
+
};
|
|
1673
1717
|
|
|
1674
|
-
export { alignments as a, autoUpdate as b, computePosition as c, shift as d, arrow as e, flip as f, isFloatingUIPlacement as i, limitShift as l, offset as o, sides as s };
|
|
1718
|
+
export { alignments as a, autoUpdate as b, computePosition as c, shift as d, arrow as e, flip as f, getTransformation as g, isFloatingUIPlacement as i, limitShift as l, numberToPx as n, offset as o, sides as s };
|
|
1675
1719
|
//# sourceMappingURL=floating-ui.utils.js.map
|
|
1676
1720
|
|
|
1677
1721
|
//# sourceMappingURL=floating-ui.utils.js.map
|