@sme.up/ketchup 11.0.0-SNAPSHOT-20241107085836 → 11.0.0-SNAPSHOT-20241107091530
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/{f-cell-ccde7158.js → f-cell-32c25f65.js} +4 -4
- package/dist/cjs/{f-cell-ccde7158.js.map → f-cell-32c25f65.js.map} +1 -1
- package/dist/cjs/{f-chip-dbe137ed.js → f-chip-3118b9ba.js} +2 -2
- package/dist/cjs/{f-chip-dbe137ed.js.map → f-chip-3118b9ba.js.map} +1 -1
- package/dist/cjs/{f-paginator-utils-4cf8ac1e.js → f-paginator-utils-3099b4b3.js} +2 -2
- package/dist/cjs/{f-paginator-utils-4cf8ac1e.js.map → f-paginator-utils-3099b4b3.js.map} +1 -1
- package/dist/cjs/{f-text-field-8b373b26.js → f-text-field-1ced2cfa.js} +2 -2
- package/dist/cjs/{f-text-field-8b373b26.js.map → f-text-field-1ced2cfa.js.map} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/kup-accordion.cjs.entry.js +1 -1
- package/dist/cjs/kup-activity-timeline.cjs.entry.js +2 -2
- package/dist/cjs/kup-autocomplete_28.cjs.entry.js +6 -6
- package/dist/cjs/kup-box.cjs.entry.js +6 -6
- package/dist/cjs/kup-calendar.cjs.entry.js +2 -2
- package/dist/cjs/kup-card-list.cjs.entry.js +1 -1
- package/dist/cjs/kup-cell.cjs.entry.js +4 -4
- package/dist/cjs/kup-dashboard.cjs.entry.js +2 -2
- package/dist/cjs/{kup-data-table-helper-bef7a94e.js → kup-data-table-helper-457ee6aa.js} +2 -2
- package/dist/cjs/{kup-data-table-helper-bef7a94e.js.map → kup-data-table-helper-457ee6aa.js.map} +1 -1
- package/dist/cjs/kup-drawer.cjs.entry.js +1 -1
- package/dist/cjs/kup-echart.cjs.entry.js +1 -1
- package/dist/cjs/kup-editor.cjs.entry.js +1 -1
- package/dist/cjs/kup-family-tree.cjs.entry.js +1 -1
- package/dist/cjs/kup-grid.cjs.entry.js +1 -1
- package/dist/cjs/kup-htm.cjs.entry.js +1 -1
- package/dist/cjs/kup-iframe.cjs.entry.js +1 -1
- package/dist/cjs/kup-image-list.cjs.entry.js +4 -4
- package/dist/cjs/kup-input-panel.cjs.entry.js +4 -4
- package/dist/cjs/kup-lazy.cjs.entry.js +1 -1
- package/dist/cjs/kup-magic-box.cjs.entry.js +1 -1
- package/dist/cjs/{kup-manager-6e414e08.js → kup-manager-65839aad.js} +3 -3
- package/dist/cjs/{kup-manager-6e414e08.js.map → kup-manager-65839aad.js.map} +1 -1
- package/dist/cjs/kup-nav-bar.cjs.entry.js +1 -1
- package/dist/cjs/kup-numeric-picker.cjs.entry.js +2 -2
- package/dist/cjs/kup-pdf.cjs.entry.js +1 -1
- package/dist/cjs/kup-photo-frame.cjs.entry.js +1 -1
- package/dist/cjs/kup-planner.cjs.entry.js +2 -2
- package/dist/cjs/kup-probe.cjs.entry.js +1 -1
- package/dist/cjs/kup-qlik.cjs.entry.js +1 -1
- package/dist/cjs/kup-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/kup-typography-list.cjs.entry.js +1 -1
- package/dist/cjs/kup-typography.cjs.entry.js +1 -1
- package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js +1 -1
- package/dist/collection/managers/kup-dynamic-position/kup-dynamic-position.js.map +1 -1
- package/dist/collection/managers/kup-interact/kup-interact.js +1 -1
- package/dist/collection/managers/kup-interact/kup-interact.js.map +1 -1
- package/dist/components/kup-manager.js +2 -2
- package/dist/components/kup-manager.js.map +1 -1
- package/dist/esm/{f-cell-e6b53a87.js → f-cell-678a99c3.js} +4 -4
- package/dist/esm/{f-cell-e6b53a87.js.map → f-cell-678a99c3.js.map} +1 -1
- package/dist/esm/{f-chip-ebf776f3.js → f-chip-b0b7b121.js} +2 -2
- package/dist/esm/{f-chip-ebf776f3.js.map → f-chip-b0b7b121.js.map} +1 -1
- package/dist/esm/{f-paginator-utils-2aac0d1a.js → f-paginator-utils-56f66406.js} +2 -2
- package/dist/esm/{f-paginator-utils-2aac0d1a.js.map → f-paginator-utils-56f66406.js.map} +1 -1
- package/dist/esm/{f-text-field-ca6c5386.js → f-text-field-73c20614.js} +2 -2
- package/dist/esm/{f-text-field-ca6c5386.js.map → f-text-field-73c20614.js.map} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/kup-accordion.entry.js +1 -1
- package/dist/esm/kup-activity-timeline.entry.js +2 -2
- package/dist/esm/kup-autocomplete_28.entry.js +6 -6
- package/dist/esm/kup-box.entry.js +6 -6
- package/dist/esm/kup-calendar.entry.js +2 -2
- package/dist/esm/kup-card-list.entry.js +1 -1
- package/dist/esm/kup-cell.entry.js +4 -4
- package/dist/esm/kup-dashboard.entry.js +2 -2
- package/dist/esm/{kup-data-table-helper-2ff0b12a.js → kup-data-table-helper-1333a2f8.js} +2 -2
- package/dist/esm/{kup-data-table-helper-2ff0b12a.js.map → kup-data-table-helper-1333a2f8.js.map} +1 -1
- package/dist/esm/kup-drawer.entry.js +1 -1
- package/dist/esm/kup-echart.entry.js +1 -1
- package/dist/esm/kup-editor.entry.js +1 -1
- package/dist/esm/kup-family-tree.entry.js +1 -1
- package/dist/esm/kup-grid.entry.js +1 -1
- package/dist/esm/kup-htm.entry.js +1 -1
- package/dist/esm/kup-iframe.entry.js +1 -1
- package/dist/esm/kup-image-list.entry.js +4 -4
- package/dist/esm/kup-input-panel.entry.js +4 -4
- package/dist/esm/kup-lazy.entry.js +1 -1
- package/dist/esm/kup-magic-box.entry.js +1 -1
- package/dist/esm/{kup-manager-1d6b8b1a.js → kup-manager-c6f89439.js} +3 -3
- package/dist/esm/{kup-manager-1d6b8b1a.js.map → kup-manager-c6f89439.js.map} +1 -1
- package/dist/esm/kup-nav-bar.entry.js +1 -1
- package/dist/esm/kup-numeric-picker.entry.js +2 -2
- package/dist/esm/kup-pdf.entry.js +1 -1
- package/dist/esm/kup-photo-frame.entry.js +1 -1
- package/dist/esm/kup-planner.entry.js +2 -2
- package/dist/esm/kup-probe.entry.js +1 -1
- package/dist/esm/kup-qlik.entry.js +1 -1
- package/dist/esm/kup-snackbar.entry.js +1 -1
- package/dist/esm/kup-typography-list.entry.js +1 -1
- package/dist/esm/kup-typography.entry.js +1 -1
- package/dist/ketchup/index.esm.js +1 -1
- package/dist/ketchup/ketchup.esm.js +1 -1
- package/dist/ketchup/{p-a3ace76e.entry.js → p-00286291.entry.js} +2 -2
- package/dist/ketchup/{p-cc901eb3.entry.js → p-07e7fade.entry.js} +2 -2
- package/dist/ketchup/{p-f607dc0d.entry.js → p-0efc24e7.entry.js} +2 -2
- package/dist/ketchup/p-197aa6ed.entry.js +2 -0
- package/dist/ketchup/{p-853e2b1d.entry.js.map → p-197aa6ed.entry.js.map} +1 -1
- package/dist/ketchup/{p-196f3059.entry.js → p-256ca361.entry.js} +2 -2
- package/dist/ketchup/{p-a16707d1.js → p-2b14f215.js} +2 -2
- package/dist/ketchup/{p-2389ccc1.entry.js → p-31d98241.entry.js} +2 -2
- package/dist/ketchup/{p-8e844b9d.entry.js → p-3e9957c1.entry.js} +2 -2
- package/dist/ketchup/{p-16e93198.entry.js → p-42ea84f3.entry.js} +2 -2
- package/dist/ketchup/{p-7d7b8718.js → p-49485bbf.js} +2 -2
- package/dist/ketchup/{p-13230e1f.entry.js → p-4d6644f0.entry.js} +2 -2
- package/dist/ketchup/{p-587e12b4.entry.js → p-5184497b.entry.js} +2 -2
- package/dist/ketchup/{p-67763e23.entry.js → p-634b3510.entry.js} +2 -2
- package/dist/ketchup/{p-d6243c07.entry.js → p-65780ddc.entry.js} +2 -2
- package/dist/ketchup/{p-7cdceaea.entry.js → p-69ada7f9.entry.js} +2 -2
- package/dist/ketchup/{p-23e745f1.entry.js → p-6e4b8f6d.entry.js} +2 -2
- package/dist/ketchup/{p-d5325eb6.entry.js → p-784120c9.entry.js} +2 -2
- package/dist/ketchup/{p-c4ae346f.entry.js → p-7f762e33.entry.js} +2 -2
- package/dist/ketchup/{p-fe31a004.js → p-9b0551b5.js} +2 -2
- package/dist/ketchup/{p-b0ca996f.entry.js → p-a3b1896e.entry.js} +2 -2
- package/dist/ketchup/{p-0b4f6874.entry.js → p-a496ba6a.entry.js} +2 -2
- package/dist/ketchup/{p-62596f5d.entry.js → p-b05c0af5.entry.js} +2 -2
- package/dist/ketchup/{p-9da57972.entry.js → p-b947f411.entry.js} +2 -2
- package/dist/ketchup/{p-deb86dcb.entry.js → p-d1fc3c35.entry.js} +2 -2
- package/dist/ketchup/{p-e9388650.js → p-d336255f.js} +2 -2
- package/dist/ketchup/{p-bbc10d85.entry.js → p-dd816cfe.entry.js} +2 -2
- package/dist/ketchup/{p-f59fb7d0.entry.js → p-ddc78c64.entry.js} +2 -2
- package/dist/ketchup/{p-18481eec.entry.js → p-dfaaabb5.entry.js} +2 -2
- package/dist/ketchup/{p-affd9a2c.entry.js → p-e34f8755.entry.js} +2 -2
- package/dist/ketchup/{p-192c022f.entry.js → p-e545ca7b.entry.js} +2 -2
- package/dist/ketchup/p-e9985f62.js +2 -0
- package/dist/ketchup/{p-e036c5cd.entry.js → p-ebdf1442.entry.js} +2 -2
- package/dist/ketchup/{p-8ab1203f.entry.js → p-f073ce49.entry.js} +2 -2
- package/dist/ketchup/{p-607b83f5.entry.js → p-f8fe5435.entry.js} +2 -2
- package/dist/ketchup/p-f98dc5f6.js +29 -0
- package/dist/ketchup/{p-86b6489e.js.map → p-f98dc5f6.js.map} +1 -1
- package/package.json +1 -1
- package/dist/ketchup/p-853e2b1d.entry.js +0 -2
- package/dist/ketchup/p-86b6489e.js +0 -29
- package/dist/ketchup/p-f3f54269.js +0 -2
- /package/dist/ketchup/{p-a3ace76e.entry.js.map → p-00286291.entry.js.map} +0 -0
- /package/dist/ketchup/{p-cc901eb3.entry.js.map → p-07e7fade.entry.js.map} +0 -0
- /package/dist/ketchup/{p-f607dc0d.entry.js.map → p-0efc24e7.entry.js.map} +0 -0
- /package/dist/ketchup/{p-196f3059.entry.js.map → p-256ca361.entry.js.map} +0 -0
- /package/dist/ketchup/{p-a16707d1.js.map → p-2b14f215.js.map} +0 -0
- /package/dist/ketchup/{p-2389ccc1.entry.js.map → p-31d98241.entry.js.map} +0 -0
- /package/dist/ketchup/{p-8e844b9d.entry.js.map → p-3e9957c1.entry.js.map} +0 -0
- /package/dist/ketchup/{p-16e93198.entry.js.map → p-42ea84f3.entry.js.map} +0 -0
- /package/dist/ketchup/{p-7d7b8718.js.map → p-49485bbf.js.map} +0 -0
- /package/dist/ketchup/{p-13230e1f.entry.js.map → p-4d6644f0.entry.js.map} +0 -0
- /package/dist/ketchup/{p-587e12b4.entry.js.map → p-5184497b.entry.js.map} +0 -0
- /package/dist/ketchup/{p-67763e23.entry.js.map → p-634b3510.entry.js.map} +0 -0
- /package/dist/ketchup/{p-d6243c07.entry.js.map → p-65780ddc.entry.js.map} +0 -0
- /package/dist/ketchup/{p-7cdceaea.entry.js.map → p-69ada7f9.entry.js.map} +0 -0
- /package/dist/ketchup/{p-23e745f1.entry.js.map → p-6e4b8f6d.entry.js.map} +0 -0
- /package/dist/ketchup/{p-d5325eb6.entry.js.map → p-784120c9.entry.js.map} +0 -0
- /package/dist/ketchup/{p-c4ae346f.entry.js.map → p-7f762e33.entry.js.map} +0 -0
- /package/dist/ketchup/{p-fe31a004.js.map → p-9b0551b5.js.map} +0 -0
- /package/dist/ketchup/{p-b0ca996f.entry.js.map → p-a3b1896e.entry.js.map} +0 -0
- /package/dist/ketchup/{p-0b4f6874.entry.js.map → p-a496ba6a.entry.js.map} +0 -0
- /package/dist/ketchup/{p-62596f5d.entry.js.map → p-b05c0af5.entry.js.map} +0 -0
- /package/dist/ketchup/{p-9da57972.entry.js.map → p-b947f411.entry.js.map} +0 -0
- /package/dist/ketchup/{p-deb86dcb.entry.js.map → p-d1fc3c35.entry.js.map} +0 -0
- /package/dist/ketchup/{p-e9388650.js.map → p-d336255f.js.map} +0 -0
- /package/dist/ketchup/{p-bbc10d85.entry.js.map → p-dd816cfe.entry.js.map} +0 -0
- /package/dist/ketchup/{p-f59fb7d0.entry.js.map → p-ddc78c64.entry.js.map} +0 -0
- /package/dist/ketchup/{p-18481eec.entry.js.map → p-dfaaabb5.entry.js.map} +0 -0
- /package/dist/ketchup/{p-affd9a2c.entry.js.map → p-e34f8755.entry.js.map} +0 -0
- /package/dist/ketchup/{p-192c022f.entry.js.map → p-e545ca7b.entry.js.map} +0 -0
- /package/dist/ketchup/{p-f3f54269.js.map → p-e9985f62.js.map} +0 -0
- /package/dist/ketchup/{p-e036c5cd.entry.js.map → p-ebdf1442.entry.js.map} +0 -0
- /package/dist/ketchup/{p-8ab1203f.entry.js.map → p-f073ce49.entry.js.map} +0 -0
- /package/dist/ketchup/{p-607b83f5.entry.js.map → p-f8fe5435.entry.js.map} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager = require('./kup-manager-
|
|
6
|
+
const kupManager = require('./kup-manager-65839aad.js');
|
|
7
7
|
const GenericVariables = require('./GenericVariables-1d52ba57.js');
|
|
8
8
|
require('./kup-dates-3fc9697c.js');
|
|
9
9
|
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager = require('./kup-manager-
|
|
6
|
+
const kupManager = require('./kup-manager-65839aad.js');
|
|
7
7
|
const GenericVariables = require('./GenericVariables-1d52ba57.js');
|
|
8
|
-
const fTextField = require('./f-text-field-
|
|
8
|
+
const fTextField = require('./f-text-field-1ced2cfa.js');
|
|
9
9
|
const fTextFieldMdc = require('./f-text-field-mdc-2a3c8c01.js');
|
|
10
10
|
require('./kup-dates-3fc9697c.js');
|
|
11
11
|
require('./f-image-8dbf27a2.js');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager = require('./kup-manager-
|
|
6
|
+
const kupManager = require('./kup-manager-65839aad.js');
|
|
7
7
|
const GenericVariables = require('./GenericVariables-1d52ba57.js');
|
|
8
8
|
const kupDates = require('./kup-dates-3fc9697c.js');
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager = require('./kup-manager-
|
|
6
|
+
const kupManager = require('./kup-manager-65839aad.js');
|
|
7
7
|
const GenericVariables = require('./GenericVariables-1d52ba57.js');
|
|
8
8
|
require('./kup-dates-3fc9697c.js');
|
|
9
9
|
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager$1 = require('./kup-manager-
|
|
6
|
+
const kupManager$1 = require('./kup-manager-65839aad.js');
|
|
7
7
|
const kupPlannerDeclarations = require('./kup-planner-declarations-7291d01c.js');
|
|
8
8
|
const GenericVariables = require('./GenericVariables-1d52ba57.js');
|
|
9
|
-
const fTextField = require('./f-text-field-
|
|
9
|
+
const fTextField = require('./f-text-field-1ced2cfa.js');
|
|
10
10
|
const fTextFieldMdc = require('./f-text-field-mdc-2a3c8c01.js');
|
|
11
11
|
require('./kup-dates-3fc9697c.js');
|
|
12
12
|
require('./f-image-8dbf27a2.js');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager = require('./kup-manager-
|
|
6
|
+
const kupManager = require('./kup-manager-65839aad.js');
|
|
7
7
|
const GenericVariables = require('./GenericVariables-1d52ba57.js');
|
|
8
8
|
require('./kup-dates-3fc9697c.js');
|
|
9
9
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager = require('./kup-manager-
|
|
6
|
+
const kupManager = require('./kup-manager-65839aad.js');
|
|
7
7
|
require('./kup-dates-3fc9697c.js');
|
|
8
8
|
|
|
9
9
|
const kupQlikCss = ".kup-body-compact-01{font-family:var(--kup-font-family);font-size:var(--kup-body-compact-01-font-size, 14px);line-height:18px;font-weight:400;letter-spacing:0.16px}.kup-body-01{font-family:var(--kup-font-family);font-size:var(--kup-body-01-font-size, 14px);line-height:20px;font-weight:400;letter-spacing:0.16px}.kup-code-01{font-family:var(--kup-font-family-monospace);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-label-01{font-family:var(--kup-font-family);font-size:12px;line-height:16px;font-weight:400;letter-spacing:0.32px}.kup-caption-02{font-family:var(--kup-font-family);font-size:12px;line-height:15px;font-weight:500;letter-spacing:1px}.kup-caption-01{font-family:var(--kup-font-family);font-size:10px;line-height:13px;font-weight:400;letter-spacing:1px}.kup-small-label-01{font-family:var(--kup-font-family);font-size:6px;line-height:9px;font-weight:400;letter-spacing:1px}.kup-heading-compact-01{font-family:var(--kup-font-family);font-size:14px;line-height:18px;font-weight:600;letter-spacing:0.16px}.kup-heading-01{font-family:var(--kup-font-family);font-size:14px;line-height:20px;font-weight:600;letter-spacing:0.16px}.kup-heading-02{font-family:var(--kup-font-family);font-size:16px;line-height:24px;font-weight:500;letter-spacing:0}.kup-heading-03{font-family:var(--kup-font-family);font-size:20px;line-height:28px;font-weight:400;letter-spacing:0}.kup-heading-04{font-family:var(--kup-font-family);font-size:28px;line-height:36px;font-weight:400;letter-spacing:0}.kup-heading-05{font-family:var(--kup-font-family);font-size:32px;line-height:40px;font-weight:300;letter-spacing:0}.kup-heading-06{font-family:var(--kup-font-family);font-size:42px;line-height:50px;font-weight:300;letter-spacing:0}.kup-heading-07{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:300;letter-spacing:0}.kup-heading-08{font-family:var(--kup-font-family);font-size:54px;line-height:64px;font-weight:600;letter-spacing:0}.kup-qlik-container-fluid{width:100%}.kup-qlik-container{width:100%}@media (min-width: 576px){.kup-qlik-container{width:576px}.kup-qlik-row>.qvobject{flex:0 0 auto;min-width:100px;margin:0px auto 5px auto}}@media (min-width: 768px){.kup-qlik-container{width:768px}.kup-qlik-row>.qvobject{flex:0 0 auto;min-width:100px;margin:0px auto 5px auto}}@media (min-width: 992px){.kup-qlik-container{width:992px}.kup-qlik-row>.qvobject{flex:0 0 auto;min-width:100px;margin:0px auto 5px auto}}@media (min-width: 1200px){.kup-qlik-container{width:1200px}.kup-qlik-row>.qvobject{flex:0 0 auto;min-width:100px;margin:0px auto 5px auto}}.kup-qlik-row{display:flex;display:ms-flexbox;flex-wrap:wrap;-ms-flex-wrap:wrap;margin-bottom:5px}.kup-qlik-row .size-M{height:var(--lyo_obj-height)}.kup-qlik-row .size-S{height:calc(var(--lyo_obj-height) / 2)}.kup-qlik-row .size-XS{height:calc(var(--lyo_obj-height) / 3)}.kup-qlik-row .size-L{height:calc(var(--lyo_obj-height) * 2)}.kup-qlik-row .size-XL{height:calc(var(--lyo_obj-height) * 3)}.kup-qlik-row .bordered{border:1px solid var(--kup-border-subtle, #969696)}.kup-qlik-row .width-1{width:8.3333%}.kup-qlik-row .width-2{width:16.6666%}.kup-qlik-row .width-3{width:25%}.kup-qlik-row .width-4{width:33.3333%}.kup-qlik-row .width-5{width:41.6666%}.kup-qlik-row .width-6{width:50%}.kup-qlik-row .width-7{width:58.3333%}.kup-qlik-row .width-8{width:66.6666%}.kup-qlik-row .width-9{width:75%}.kup-qlik-row .width-10{width:83.3333%}.kup-qlik-row .width-11{width:91.6666%}.kup-qlik-row .width-12{width:100%}";
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager = require('./kup-manager-
|
|
6
|
+
const kupManager = require('./kup-manager-65839aad.js');
|
|
7
7
|
const GenericVariables = require('./GenericVariables-1d52ba57.js');
|
|
8
8
|
const fButton = require('./f-button-54d0f017.js');
|
|
9
9
|
require('./kup-dates-3fc9697c.js');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager = require('./kup-manager-
|
|
6
|
+
const kupManager = require('./kup-manager-65839aad.js');
|
|
7
7
|
const fTypography = require('./f-typography-024bace8.js');
|
|
8
8
|
const GenericVariables = require('./GenericVariables-1d52ba57.js');
|
|
9
9
|
require('./kup-dates-3fc9697c.js');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-4e97f23f.js');
|
|
6
|
-
const kupManager = require('./kup-manager-
|
|
6
|
+
const kupManager = require('./kup-manager-65839aad.js');
|
|
7
7
|
const fTypography = require('./f-typography-024bace8.js');
|
|
8
8
|
const GenericVariables = require('./GenericVariables-1d52ba57.js');
|
|
9
9
|
const fImage = require('./f-image-8dbf27a2.js');
|
|
@@ -40,7 +40,7 @@ export class KupDynamicPosition {
|
|
|
40
40
|
if (this.anchorIsHTMLElement(anchorEl)) {
|
|
41
41
|
anchorEl.setAttribute(kupDynamicPositionAnchorAttribute, '');
|
|
42
42
|
}
|
|
43
|
-
el.style.zIndex = `calc(var(--kup-navbar-zindex) +
|
|
43
|
+
el.style.zIndex = `calc(var(--kup-navbar-zindex) + 10)`;
|
|
44
44
|
const originalPath = [];
|
|
45
45
|
if (detach) {
|
|
46
46
|
let currentEl = el;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kup-dynamic-position.js","sourceRoot":"","sources":["../../../src/managers/kup-dynamic-position/kup-dynamic-position.ts"],"names":[],"mappings":"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","sourcesContent":["import type { KupDom } from '../kup-manager/kup-manager-declarations';\nimport {\n kupDynamicPositionActiveClass,\n KupDynamicPositionAnchor,\n kupDynamicPositionAnchorAttribute,\n kupDynamicPositionAttribute,\n KupDynamicPositionElement,\n} from './kup-dynamic-position-declarations';\nimport { KupDynamicPositionPlacement } from './kup-dynamic-position-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/**\n * This class is used to dynamically reposition HTML elements.\n * @module KupDynamicPosition\n */\nexport class KupDynamicPosition {\n container: HTMLElement;\n managedElements: Set<KupDynamicPositionElement>;\n /**\n * Initializes KupDynamicPosition.\n */\n constructor() {\n this.container = document.createElement('div');\n this.container.setAttribute('kup-dynamic-position', '');\n document.body.appendChild(this.container);\n this.managedElements = new Set();\n }\n /**\n * Function used to check whether the anchor point is an HTMLElement or a set of coordinates.\n * @param {KupDynamicPositionAnchor} anchor - Anchor point.\n * @returns {anchor is HTMLElement} Returns true when the anchor point is an HTMLElement.\n */\n anchorIsHTMLElement(\n anchor: KupDynamicPositionAnchor\n ): anchor is HTMLElement {\n return (anchor as HTMLElement).tagName !== undefined;\n }\n /**\n * Watches the element eligible to dynamic positioning.\n * @param {KupDynamicPositionElement} el - Element to reposition.\n * @param {KupDynamicPositionAnchor} anchorEl - \"el\" position will be anchored to this element or to these coordinates.\n * @param {number} margin - \"el\" distance from its parent in pixels.\n * @param {KupDynamicPositionPlacement} placement - \"el\" placement.\n * @param {boolean} detach - When true, the function won't be recursive but it will be executed only once. \"el\" will be detached from its original parent and it will be appended to this.container.\n */\n register(\n el: KupDynamicPositionElement,\n anchorEl: KupDynamicPositionAnchor,\n margin?: number,\n placement?: KupDynamicPositionPlacement,\n detach?: boolean\n ): void {\n if (this.isRegistered(el)) {\n this.changeAnchor(el, anchorEl);\n return;\n }\n el.setAttribute(kupDynamicPositionAttribute, '');\n if (this.anchorIsHTMLElement(anchorEl)) {\n anchorEl.setAttribute(kupDynamicPositionAnchorAttribute, '');\n }\n el.style.zIndex = `calc(var(--kup-navbar-zindex) + 1)`;\n const originalPath: HTMLElement[] = [];\n if (detach) {\n let currentEl: unknown = el;\n while (currentEl && currentEl !== document.body) {\n currentEl = (currentEl as HTMLElement).parentNode\n ? (currentEl as HTMLElement).parentNode\n : (currentEl as ShadowRoot).host;\n originalPath.push(currentEl as HTMLElement);\n }\n el.style.position = 'absolute';\n this.container.appendChild(el);\n } else {\n el.style.position = 'fixed';\n }\n el.kupDynamicPosition = {\n anchor: anchorEl,\n detach: detach ? true : false,\n originalPath: originalPath,\n margin: margin ? margin : 0,\n placement: placement ? placement : KupDynamicPositionPlacement.AUTO,\n rAF: null,\n };\n const mutObserver: MutationObserver = new MutationObserver(function (\n mutations\n ) {\n const target: Node = mutations[0].target;\n if (\n (target as HTMLElement).classList.contains(\n kupDynamicPositionActiveClass\n )\n ) {\n requestAnimationFrame(function () {\n dom.ketchup.dynamicPosition.run(el);\n });\n }\n });\n mutObserver.observe(el, {\n attributes: true,\n attributeFilter: ['class'],\n });\n this.managedElements.add(el);\n }\n /**\n * Changes the anchor point of the given element.\n * @param {KupDynamicPositionElement} elements - Dynamically positioned element previously registered.\n * @param {KupDynamicPositionAnchor} anchorEl - New anchor point.\n */\n changeAnchor(\n el: KupDynamicPositionElement,\n anchorEl: KupDynamicPositionAnchor\n ): void {\n el.kupDynamicPosition.anchor = anchorEl;\n }\n /**\n * Removes the element from dynamic position management.\n * @param {KupDynamicPositionElement[]} elements - Elements to remove from the managed elements set.\n */\n unregister(elements: KupDynamicPositionElement[]): void {\n if (this.managedElements) {\n for (let index = 0; index < elements.length; index++) {\n this.managedElements.delete(elements[index]);\n }\n }\n }\n /**\n * Returns whether an element was previously registered or not.\n * @param {KupDynamicPositionElement} el - Element to test.\n * @returns {boolean} True if the element was registered.\n */\n isRegistered(el: KupDynamicPositionElement): boolean {\n return !this.managedElements ? false : this.managedElements.has(el);\n }\n /**\n * Starts the process of dynamically reposition the element (which must be firstly initialized through this.setup()).\n * @param {KupDynamicPositionElement} el - Element to reposition.\n */\n start(el: KupDynamicPositionElement): void {\n el.classList.add(kupDynamicPositionActiveClass);\n }\n /**\n * Ends the process of dynamically reposition the element.\n * @param {KupDynamicPositionElement} el - Element to reposition.\n */\n stop(el: KupDynamicPositionElement): void {\n el.classList.remove(kupDynamicPositionActiveClass);\n }\n /**\n * This function calculates where to place the element in order to correctly display it attached to its anchor point.\n * @param {KupDynamicPositionElement} el - Element to reposition.\n */\n run(el: KupDynamicPositionElement): void {\n if (!el.isConnected) {\n dom.ketchup.dynamicPosition.managedElements.delete(el);\n cancelAnimationFrame(el.kupDynamicPosition.rAF);\n return;\n }\n if (!el.classList.contains(kupDynamicPositionActiveClass)) {\n cancelAnimationFrame(el.kupDynamicPosition.rAF);\n return;\n }\n // Reset placement\n el.style.top = '';\n el.style.right = '';\n el.style.bottom = '';\n el.style.left = '';\n // Fixed position (usually from mouse events).\n // When anchor doesn't have the tagName property, anchor is considered as a set of coordinates.\n if (!this.anchorIsHTMLElement(el.kupDynamicPosition.anchor)) {\n const x: number = el.kupDynamicPosition.anchor.x;\n const y: number = el.kupDynamicPosition.anchor.y - 1;\n if (\n el.offsetWidth >\n window.innerWidth - el.kupDynamicPosition.anchor.x\n ) {\n el.style.left = x - el.offsetWidth + 'px';\n } else {\n el.style.left = x + 'px';\n }\n if (\n el.offsetHeight >\n window.innerHeight - el.kupDynamicPosition.anchor.y\n ) {\n el.style.top = y - el.offsetHeight + 'px';\n } else {\n el.style.top = y + 'px';\n }\n return;\n }\n const detached: boolean = !!el.kupDynamicPosition.detach;\n const offsetH: number = el.clientHeight;\n const offsetW: number = el.clientWidth;\n const rect: DOMRect = (\n el.kupDynamicPosition.anchor as HTMLElement\n ).getBoundingClientRect();\n const top: number = detached ? window.pageYOffset + rect.top : rect.top,\n left: number = detached\n ? window.pageXOffset + rect.left\n : rect.left,\n bottom: number = detached\n ? window.pageYOffset + rect.bottom\n : rect.bottom,\n right: number = detached\n ? window.pageXOffset + rect.right\n : rect.right;\n // Vertical position\n if (\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP_LEFT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP_RIGHT\n ) {\n el.style.bottom = `${\n window.innerHeight - top + el.kupDynamicPosition.margin\n }px`;\n } else if (\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM_LEFT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM_RIGHT\n ) {\n el.style.top = `${bottom - 1 + el.kupDynamicPosition.margin}px`;\n } else {\n if (\n offsetH < rect.top &&\n window.innerHeight - rect.bottom < offsetH\n ) {\n el.style.bottom = `${\n window.innerHeight - top + el.kupDynamicPosition.margin\n }px`;\n } else {\n el.style.top = `${bottom - 1 + el.kupDynamicPosition.margin}px`;\n }\n }\n // Horizontal position\n if (\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.LEFT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM_LEFT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP_LEFT\n ) {\n el.style.left = `${left}px`;\n } else if (\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.RIGHT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM_RIGHT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP_RIGHT\n ) {\n let scrollbarWidth: number =\n window.innerWidth - document.documentElement.offsetWidth;\n if (scrollbarWidth > 30) {\n scrollbarWidth = 0;\n }\n el.style.right = `${window.innerWidth - scrollbarWidth - right}px`;\n } else {\n if (\n offsetW < rect.right &&\n window.innerWidth - rect.left < offsetW\n ) {\n let scrollbarWidth: number =\n window.innerWidth - document.documentElement.offsetWidth;\n if (scrollbarWidth > 30) {\n scrollbarWidth = 0;\n }\n el.style.right = `${\n window.innerWidth - scrollbarWidth - right\n }px`;\n } else {\n el.style.left = `${left}px`;\n }\n }\n // Testing behavior: always anchored - 2024-09-25\n el.kupDynamicPosition.rAF = requestAnimationFrame(function () {\n dom.ketchup.dynamicPosition.run(el);\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"kup-dynamic-position.js","sourceRoot":"","sources":["../../../src/managers/kup-dynamic-position/kup-dynamic-position.ts"],"names":[],"mappings":"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","sourcesContent":["import type { KupDom } from '../kup-manager/kup-manager-declarations';\nimport {\n kupDynamicPositionActiveClass,\n KupDynamicPositionAnchor,\n kupDynamicPositionAnchorAttribute,\n kupDynamicPositionAttribute,\n KupDynamicPositionElement,\n} from './kup-dynamic-position-declarations';\nimport { KupDynamicPositionPlacement } from './kup-dynamic-position-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/**\n * This class is used to dynamically reposition HTML elements.\n * @module KupDynamicPosition\n */\nexport class KupDynamicPosition {\n container: HTMLElement;\n managedElements: Set<KupDynamicPositionElement>;\n /**\n * Initializes KupDynamicPosition.\n */\n constructor() {\n this.container = document.createElement('div');\n this.container.setAttribute('kup-dynamic-position', '');\n document.body.appendChild(this.container);\n this.managedElements = new Set();\n }\n /**\n * Function used to check whether the anchor point is an HTMLElement or a set of coordinates.\n * @param {KupDynamicPositionAnchor} anchor - Anchor point.\n * @returns {anchor is HTMLElement} Returns true when the anchor point is an HTMLElement.\n */\n anchorIsHTMLElement(\n anchor: KupDynamicPositionAnchor\n ): anchor is HTMLElement {\n return (anchor as HTMLElement).tagName !== undefined;\n }\n /**\n * Watches the element eligible to dynamic positioning.\n * @param {KupDynamicPositionElement} el - Element to reposition.\n * @param {KupDynamicPositionAnchor} anchorEl - \"el\" position will be anchored to this element or to these coordinates.\n * @param {number} margin - \"el\" distance from its parent in pixels.\n * @param {KupDynamicPositionPlacement} placement - \"el\" placement.\n * @param {boolean} detach - When true, the function won't be recursive but it will be executed only once. \"el\" will be detached from its original parent and it will be appended to this.container.\n */\n register(\n el: KupDynamicPositionElement,\n anchorEl: KupDynamicPositionAnchor,\n margin?: number,\n placement?: KupDynamicPositionPlacement,\n detach?: boolean\n ): void {\n if (this.isRegistered(el)) {\n this.changeAnchor(el, anchorEl);\n return;\n }\n el.setAttribute(kupDynamicPositionAttribute, '');\n if (this.anchorIsHTMLElement(anchorEl)) {\n anchorEl.setAttribute(kupDynamicPositionAnchorAttribute, '');\n }\n el.style.zIndex = `calc(var(--kup-navbar-zindex) + 10)`;\n const originalPath: HTMLElement[] = [];\n if (detach) {\n let currentEl: unknown = el;\n while (currentEl && currentEl !== document.body) {\n currentEl = (currentEl as HTMLElement).parentNode\n ? (currentEl as HTMLElement).parentNode\n : (currentEl as ShadowRoot).host;\n originalPath.push(currentEl as HTMLElement);\n }\n el.style.position = 'absolute';\n this.container.appendChild(el);\n } else {\n el.style.position = 'fixed';\n }\n el.kupDynamicPosition = {\n anchor: anchorEl,\n detach: detach ? true : false,\n originalPath: originalPath,\n margin: margin ? margin : 0,\n placement: placement ? placement : KupDynamicPositionPlacement.AUTO,\n rAF: null,\n };\n const mutObserver: MutationObserver = new MutationObserver(function (\n mutations\n ) {\n const target: Node = mutations[0].target;\n if (\n (target as HTMLElement).classList.contains(\n kupDynamicPositionActiveClass\n )\n ) {\n requestAnimationFrame(function () {\n dom.ketchup.dynamicPosition.run(el);\n });\n }\n });\n mutObserver.observe(el, {\n attributes: true,\n attributeFilter: ['class'],\n });\n this.managedElements.add(el);\n }\n /**\n * Changes the anchor point of the given element.\n * @param {KupDynamicPositionElement} elements - Dynamically positioned element previously registered.\n * @param {KupDynamicPositionAnchor} anchorEl - New anchor point.\n */\n changeAnchor(\n el: KupDynamicPositionElement,\n anchorEl: KupDynamicPositionAnchor\n ): void {\n el.kupDynamicPosition.anchor = anchorEl;\n }\n /**\n * Removes the element from dynamic position management.\n * @param {KupDynamicPositionElement[]} elements - Elements to remove from the managed elements set.\n */\n unregister(elements: KupDynamicPositionElement[]): void {\n if (this.managedElements) {\n for (let index = 0; index < elements.length; index++) {\n this.managedElements.delete(elements[index]);\n }\n }\n }\n /**\n * Returns whether an element was previously registered or not.\n * @param {KupDynamicPositionElement} el - Element to test.\n * @returns {boolean} True if the element was registered.\n */\n isRegistered(el: KupDynamicPositionElement): boolean {\n return !this.managedElements ? false : this.managedElements.has(el);\n }\n /**\n * Starts the process of dynamically reposition the element (which must be firstly initialized through this.setup()).\n * @param {KupDynamicPositionElement} el - Element to reposition.\n */\n start(el: KupDynamicPositionElement): void {\n el.classList.add(kupDynamicPositionActiveClass);\n }\n /**\n * Ends the process of dynamically reposition the element.\n * @param {KupDynamicPositionElement} el - Element to reposition.\n */\n stop(el: KupDynamicPositionElement): void {\n el.classList.remove(kupDynamicPositionActiveClass);\n }\n /**\n * This function calculates where to place the element in order to correctly display it attached to its anchor point.\n * @param {KupDynamicPositionElement} el - Element to reposition.\n */\n run(el: KupDynamicPositionElement): void {\n if (!el.isConnected) {\n dom.ketchup.dynamicPosition.managedElements.delete(el);\n cancelAnimationFrame(el.kupDynamicPosition.rAF);\n return;\n }\n if (!el.classList.contains(kupDynamicPositionActiveClass)) {\n cancelAnimationFrame(el.kupDynamicPosition.rAF);\n return;\n }\n // Reset placement\n el.style.top = '';\n el.style.right = '';\n el.style.bottom = '';\n el.style.left = '';\n // Fixed position (usually from mouse events).\n // When anchor doesn't have the tagName property, anchor is considered as a set of coordinates.\n if (!this.anchorIsHTMLElement(el.kupDynamicPosition.anchor)) {\n const x: number = el.kupDynamicPosition.anchor.x;\n const y: number = el.kupDynamicPosition.anchor.y - 1;\n if (\n el.offsetWidth >\n window.innerWidth - el.kupDynamicPosition.anchor.x\n ) {\n el.style.left = x - el.offsetWidth + 'px';\n } else {\n el.style.left = x + 'px';\n }\n if (\n el.offsetHeight >\n window.innerHeight - el.kupDynamicPosition.anchor.y\n ) {\n el.style.top = y - el.offsetHeight + 'px';\n } else {\n el.style.top = y + 'px';\n }\n return;\n }\n const detached: boolean = !!el.kupDynamicPosition.detach;\n const offsetH: number = el.clientHeight;\n const offsetW: number = el.clientWidth;\n const rect: DOMRect = (\n el.kupDynamicPosition.anchor as HTMLElement\n ).getBoundingClientRect();\n const top: number = detached ? window.pageYOffset + rect.top : rect.top,\n left: number = detached\n ? window.pageXOffset + rect.left\n : rect.left,\n bottom: number = detached\n ? window.pageYOffset + rect.bottom\n : rect.bottom,\n right: number = detached\n ? window.pageXOffset + rect.right\n : rect.right;\n // Vertical position\n if (\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP_LEFT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP_RIGHT\n ) {\n el.style.bottom = `${\n window.innerHeight - top + el.kupDynamicPosition.margin\n }px`;\n } else if (\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM_LEFT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM_RIGHT\n ) {\n el.style.top = `${bottom - 1 + el.kupDynamicPosition.margin}px`;\n } else {\n if (\n offsetH < rect.top &&\n window.innerHeight - rect.bottom < offsetH\n ) {\n el.style.bottom = `${\n window.innerHeight - top + el.kupDynamicPosition.margin\n }px`;\n } else {\n el.style.top = `${bottom - 1 + el.kupDynamicPosition.margin}px`;\n }\n }\n // Horizontal position\n if (\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.LEFT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM_LEFT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP_LEFT\n ) {\n el.style.left = `${left}px`;\n } else if (\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.RIGHT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.BOTTOM_RIGHT ||\n el.kupDynamicPosition.placement ===\n KupDynamicPositionPlacement.TOP_RIGHT\n ) {\n let scrollbarWidth: number =\n window.innerWidth - document.documentElement.offsetWidth;\n if (scrollbarWidth > 30) {\n scrollbarWidth = 0;\n }\n el.style.right = `${window.innerWidth - scrollbarWidth - right}px`;\n } else {\n if (\n offsetW < rect.right &&\n window.innerWidth - rect.left < offsetW\n ) {\n let scrollbarWidth: number =\n window.innerWidth - document.documentElement.offsetWidth;\n if (scrollbarWidth > 30) {\n scrollbarWidth = 0;\n }\n el.style.right = `${\n window.innerWidth - scrollbarWidth - right\n }px`;\n } else {\n el.style.left = `${left}px`;\n }\n }\n // Testing behavior: always anchored - 2024-09-25\n el.kupDynamicPosition.rAF = requestAnimationFrame(function () {\n dom.ketchup.dynamicPosition.run(el);\n });\n }\n}\n"]}
|
|
@@ -35,7 +35,7 @@ export class KupInteract {
|
|
|
35
35
|
this.container.appendChild(this.modalBackdrop);
|
|
36
36
|
document.body.appendChild(this.container);
|
|
37
37
|
this.managedElements = new Set();
|
|
38
|
-
this.zIndex = zIndex ? zIndex :
|
|
38
|
+
this.zIndex = zIndex ? zIndex : 905;
|
|
39
39
|
this.modalBackdrop.style.zIndex = (this.zIndex - 1).toString();
|
|
40
40
|
this.restrictContainer = restrictContainer ? restrictContainer : null;
|
|
41
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kup-interact.js","sourceRoot":"","sources":["../../../src/managers/kup-interact/kup-interact.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ResizeEvent } from '@interactjs/actions/resize/plugin';\nimport type { InteractEvent } from '@interactjs/core/InteractEvent';\nimport type { Interaction } from '@interactjs/core/Interaction';\nimport type { ActionMap } from '@interactjs/core/scope';\nimport type {\n DraggableOptions,\n DropEvent,\n DropzoneOptions,\n ListenersArg,\n Point,\n RectResolvable,\n ResizableOptions,\n} from '@interactjs/types/index';\nimport type { KupDom } from '../kup-manager/kup-manager-declarations';\nimport interact from 'interactjs';\nimport {\n kupDialogAttribute,\n kupDialogResizableClass,\n KupDragCallbacks,\n KupDragEffect,\n KupDragEventData,\n kupDraggableAttr,\n kupDraggableCellAttr,\n kupDraggableColumnAttr,\n KupDraggableElement,\n kupDraggableRowAttr,\n kupDragOverAttr,\n KupDropCallbacks,\n kupDropEvent,\n KupDropEventData,\n KupDropEventPayload,\n KupPointerEventTypes,\n KupResizeCallbacks,\n} from './kup-interact-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/**\n * This class handles elements as dialogs, making them resizable and movable.\n * @module KupInteract\n */\nexport class KupInteract {\n container: HTMLElement;\n defaultModalCb: (e: MouseEvent) => void = (e) => {\n e.stopPropagation();\n e.preventDefault();\n if (this.modalCb) {\n this.modalCb(e);\n this.modalCb = null;\n }\n };\n managedElements: Set<HTMLElement>;\n modalBackdrop: HTMLElement;\n modalCb: (e: MouseEvent) => unknown;\n restrictContainer: RectResolvable<\n [number, number, Interaction<keyof ActionMap>]\n >;\n zIndex: number;\n /**\n * Initializes KupInteract.\n * @param {number} zIndex - The starting z-index assigned to dialogs.\n * @param {RectResolvable<[number, number, Interaction<keyof ActionMap>]>} restrictContainer - The container setting the restriction's boundary.\n */\n constructor(\n zIndex?: number,\n restrictContainer?: RectResolvable<\n [number, number, Interaction<keyof ActionMap>]\n >\n ) {\n interact.dynamicDrop(true);\n if (this.isMobileDevice()) {\n interact.pointerMoveTolerance(100);\n }\n this.container = document.createElement('div');\n this.container.setAttribute('kup-interact', '');\n this.modalBackdrop = document.createElement('div');\n this.modalBackdrop.setAttribute('kup-modal-backdrop', '');\n this.modalBackdrop.style.zIndex = (zIndex - 1).toString();\n this.modalBackdrop.addEventListener('click', this.defaultModalCb);\n this.modalBackdrop.addEventListener('pointerdown', this.defaultModalCb);\n this.modalBackdrop.addEventListener('touchstart', this.defaultModalCb);\n this.container.appendChild(this.modalBackdrop);\n document.body.appendChild(this.container);\n this.managedElements = new Set();\n this.zIndex = zIndex ? zIndex : 1000;\n this.modalBackdrop.style.zIndex = (this.zIndex - 1).toString();\n this.restrictContainer = restrictContainer ? restrictContainer : null;\n }\n /**\n * Sets up a new draggable element.\n * @param {HTMLElement} el - The draggable element.\n * @param {Partial<DraggableOptions>} options - Options of the draggable element.\n * @param {KupDragEventData} eventData - Property used to transfer data for the drop event. The callback is used to return information of the starting item - such as cell, column and row info.\n * @param {KupDragEffect} effect - Visual effect of the drag action.\n * @param {KupDragCallbacks} callbacks - Additional callbacks to invoke.\n * @see https://interactjs.io/docs/action-options/ For more options\n */\n draggable(\n el: HTMLElement,\n options?: Partial<DraggableOptions>,\n eventData?: KupDragEventData,\n effect?: KupDragEffect,\n callbacks?: KupDragCallbacks\n ) {\n el.style.touchAction = 'none';\n el.style.userSelect = 'none';\n if (!options) {\n options = {};\n }\n if (effect === undefined || effect === null) {\n effect = KupDragEffect.MOVE;\n }\n options.listeners = {\n move(e: InteractEvent) {\n if (callbacks && callbacks.move) {\n callbacks.move(e);\n }\n if (effect.toLowerCase() !== KupDragEffect.NONE) {\n const draggable = e.target as KupDraggableElement;\n const ghostImage =\n draggable.kupDragDrop &&\n draggable.kupDragDrop.ghostImage\n ? draggable.kupDragDrop.ghostImage\n : e.target;\n let x = parseFloat(ghostImage.getAttribute('data-x')) || 0;\n let y = parseFloat(ghostImage.getAttribute('data-y')) || 0;\n x = x + e.dx;\n y = y + e.dy;\n ghostImage.style.transform = `translate(${x}px, ${y}px)`;\n ghostImage.setAttribute('data-x', x.toString());\n ghostImage.setAttribute('data-y', y.toString());\n }\n },\n start(e: InteractEvent) {\n if (callbacks && callbacks.start) {\n callbacks.start(e);\n }\n const draggable = e.target as KupDraggableElement;\n const draggableDetails =\n eventData && eventData.callback\n ? eventData.callback(e)\n : {};\n draggable.kupDragDrop = draggableDetails;\n draggable.setAttribute(kupDraggableAttr, '');\n if (draggableDetails.cell) {\n draggable.setAttribute(kupDraggableCellAttr, '');\n }\n if (draggableDetails.column) {\n draggable.setAttribute(kupDraggableColumnAttr, '');\n }\n if (draggableDetails.row) {\n draggable.setAttribute(kupDraggableRowAttr, '');\n }\n let ghostImage = null;\n switch (effect) {\n case KupDragEffect.BADGE:\n ghostImage = document.createElement('kup-badge');\n if (draggable.kupDragDrop.multiple) {\n ghostImage.text = draggable.kupDragDrop.selectedRows\n ? draggable.kupDragDrop.selectedRows.length.toString()\n : '0';\n } else {\n ghostImage.text = '1';\n }\n ghostImage.style.left =\n e.clientX - ghostImage.clientWidth / 2 + 'px';\n ghostImage.style.pointerEvents = 'none';\n ghostImage.style.position = 'fixed';\n ghostImage.style.top =\n e.clientY - ghostImage.clientHeight / 2 + 'px';\n ghostImage.style.transition = 'none';\n ghostImage.style.zIndex =\n 'calc(var(--kup-navbar-zindex) + 1)';\n dom.ketchup.interact.container.appendChild(ghostImage);\n draggable.kupDragDrop.ghostImage = ghostImage;\n break;\n case KupDragEffect.CLONE:\n ghostImage = draggable.cloneNode(true) as HTMLElement;\n ghostImage.id = '';\n ghostImage.style.cursor = 'grabbing';\n ghostImage.style.height = draggable.clientHeight + 'px';\n ghostImage.style.left =\n e.clientX - draggable.clientWidth / 2 + 'px';\n ghostImage.style.margin = '0';\n ghostImage.style.opacity = '0.75';\n ghostImage.style.position = 'fixed';\n ghostImage.style.top =\n e.clientY - draggable.clientHeight / 2 + 'px';\n ghostImage.style.transform = '';\n ghostImage.style.width = draggable.clientWidth + 'px';\n ghostImage.style.zIndex =\n 'calc(var(--kup-navbar-zindex) + 1)';\n draggable.parentElement.appendChild(ghostImage);\n draggable.kupDragDrop.ghostImage = ghostImage;\n break;\n }\n },\n end(e: InteractEvent) {\n if (callbacks && callbacks.end) {\n callbacks.end(e);\n }\n const draggable = e.target as KupDraggableElement;\n const ghostImage = draggable.kupDragDrop\n ? draggable.kupDragDrop.ghostImage\n : null;\n if (ghostImage) {\n ghostImage.setAttribute('style', '');\n ghostImage.remove();\n }\n draggable.removeAttribute(kupDraggableAttr);\n draggable.removeAttribute(kupDraggableCellAttr);\n draggable.removeAttribute(kupDraggableColumnAttr);\n draggable.removeAttribute(kupDraggableRowAttr);\n },\n };\n interact(el).draggable(options);\n this.managedElements.add(el);\n }\n /**\n * Sets up a new dropzone.\n * @param {HTMLElement} el - The dropzone element.\n * @param {DropzoneOptions} options - Options of the dropzone.\n * @param {KupDropEventData} eventData - Argument used to transfer data for the drop event. The callback is used to return information of the receiving item - such as cell, column and row info.\n * @param {KupDropCallbacks} callbacks - Additional callbacks to invoke.\n * @see https://interactjs.io/docs/action-options/ For more options\n */\n dropzone(\n el: HTMLElement,\n options?: DropzoneOptions,\n eventData?: KupDropEventData,\n callbacks?: KupDropCallbacks\n ) {\n if (!options) {\n options = {};\n }\n options.listeners = {\n drop(e: DropEvent) {\n if (callbacks && callbacks.drop) {\n callbacks.drop(e);\n }\n if (eventData) {\n const draggableDetails =\n (e.relatedTarget as KupDraggableElement).kupDragDrop ||\n {};\n const dropzoneDetails = eventData.callback\n ? eventData.callback()\n : {};\n const ketchupDropEvent =\n new CustomEvent<KupDropEventPayload>(kupDropEvent, {\n bubbles: true,\n cancelable: true,\n detail: {\n dataType: eventData.type,\n sourceElement: {\n id: draggableDetails.id\n ? draggableDetails.id\n : '',\n row: draggableDetails.row\n ? draggableDetails.row\n : null,\n selectedRows: draggableDetails.selectedRows\n ? draggableDetails.selectedRows\n : null,\n cell: draggableDetails.cell\n ? draggableDetails.cell\n : null,\n column: draggableDetails.column\n ? draggableDetails.column\n : null,\n },\n targetElement: {\n id: dropzoneDetails.id\n ? dropzoneDetails.id\n : '',\n row: dropzoneDetails.row\n ? dropzoneDetails.row\n : null,\n cell: dropzoneDetails.cell\n ? dropzoneDetails.cell\n : null,\n column: dropzoneDetails.column\n ? dropzoneDetails.column\n : null,\n },\n },\n });\n eventData.dispatcher.dispatchEvent(ketchupDropEvent);\n }\n (e.currentTarget as HTMLElement).removeAttribute(\n kupDragOverAttr\n );\n },\n enter(e: DropEvent) {\n if (callbacks && callbacks.enter) {\n callbacks.enter(e);\n }\n (e.currentTarget as HTMLElement).setAttribute(\n kupDragOverAttr,\n ''\n );\n },\n leave(e: DropEvent) {\n if (callbacks && callbacks.leave) {\n callbacks.leave(e);\n }\n (e.currentTarget as HTMLElement).removeAttribute(\n kupDragOverAttr\n );\n },\n };\n interact(el).dropzone(options);\n this.managedElements.add(el);\n }\n /**\n * Tests whether the current device is mobile or not.\n * @returns {boolean} Returns true when it's a mobile device\n */\n isMobileDevice(): boolean {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n );\n }\n /**\n * Sets up a new resizable element.\n * @param {HTMLElement} el - The resizable element.\n * @param {Partial<ResizableOptions>} options - Options of the resize action.\n * @param {KupResizeCallbacks} callbacks - Additional callbacks to invoke.\n * @param {boolean} moveOnResize - When true, the element will be moved when resizing in order to keep its position.\n * @param {boolean} autoResize - When true, the element will be automatically resized (usually the behavior is specified in a callback).\n * @see https://interactjs.io/docs/action-options/ For more options\n */\n resizable(\n el: HTMLElement,\n options?: Partial<ResizableOptions>,\n callbacks?: KupResizeCallbacks,\n moveOnResize?: boolean,\n autoResize?: boolean\n ) {\n if (!options || !options.edges) {\n options = {\n ...options,\n edges: {\n left: true,\n right: true,\n bottom: true,\n top: true,\n },\n };\n }\n options.listeners = {\n move(e: ResizeEvent) {\n if (callbacks && callbacks.move) {\n callbacks.move(e);\n }\n if (autoResize) {\n el.style.width = e.rect.width + 'px';\n el.style.height = e.rect.height + 'px';\n }\n if (moveOnResize) {\n const el = e.target as HTMLElement;\n const oldTransform = e.target.style.transform;\n let x = parseFloat(el.getAttribute('data-x')) || 0;\n let y = parseFloat(el.getAttribute('data-y')) || 0;\n x += e.deltaRect.left;\n y += e.deltaRect.top;\n el.style.transform = 'translate(' + x + 'px,' + y + 'px)';\n if (\n dom.ketchup.interact.isInViewport(\n el,\n oldTransform,\n e.delta\n )\n ) {\n el.setAttribute('data-x', x.toString());\n el.setAttribute('data-y', y.toString());\n }\n }\n },\n };\n interact(el).resizable(options);\n this.managedElements.add(el);\n }\n /**\n * Adds a new interact.js event listener to the given argument.\n * @param {HTMLElement} el - The element on which the event listener will be added.\n * @param {KupPointerEventTypes} event - Name of the event.\n * @param {KupResizeCallbacks} callback - Callback to invoke when the event fires.\n */\n on(el: HTMLElement, event: KupPointerEventTypes, callback: ListenersArg) {\n interact(el).on(event, callback);\n this.managedElements.add(el);\n }\n /**\n * This method checks whether the element is breaking the viewport boundaries.\n * @param {HTMLElement} el - Element to check.\n * @param {string} oldTransform - Previously set transform, used to rollback in case element breaks viewport boundaries.\n * @param {Point} delta - X and Y delta values of the last movement.\n */\n isInViewport(el: HTMLElement, oldTransform: string, delta: Point) {\n const style = window.getComputedStyle(el);\n const isFixed = !!(style.position === 'fixed');\n const rect = el.getBoundingClientRect();\n if (\n rect.left < 0 ||\n rect.top < 0 ||\n (isFixed && rect.right > window.innerWidth && delta.x >= 0) ||\n (isFixed && rect.bottom > window.innerHeight && delta.y >= 0)\n ) {\n el.style.transform = oldTransform;\n return false;\n }\n return true;\n }\n /**\n * This method gives the element dialog-like features, by activating moving on drag and, optionally, the resize.\n * @param {HTMLElement} el - Dialog element.\n * @param {HTMLElement} handleEl - Element that must be dragged in order to trigger movement. When not provided, dragging anywhere on \"el\" will move it.\n * @param {boolean} unresizable - When true, the dialog can't be resized.\n * @param {RectResolvable<[number, number, Interaction<keyof ActionMap>]>} restrictContainer - When present, it will set the constraint of \"el\": it can't be moved outside this container.\n */\n dialogify(\n el: HTMLElement,\n handleEl?: HTMLElement,\n unresizable?: boolean,\n restrictContainer?: RectResolvable<\n [number, number, Interaction<keyof ActionMap>]\n >\n ): void {\n el.setAttribute(kupDialogAttribute, '');\n el.style.zIndex = (this.zIndex++).toString();\n const callbacks = {\n start(e: InteractEvent) {\n const el = e.currentTarget as HTMLElement;\n el.style.zIndex = (dom.ketchup.interact.zIndex++).toString();\n },\n };\n this.draggable(\n el,\n {\n allowFrom: handleEl ? handleEl : null,\n modifiers: [\n interact.modifiers.restrictRect({\n restriction: restrictContainer\n ? restrictContainer\n : dom.ketchup.interact.restrictContainer,\n endOnly: true,\n }),\n ],\n },\n null,\n KupDragEffect.MOVE,\n callbacks\n );\n if (!unresizable) {\n el.classList.add(kupDialogResizableClass);\n this.resizable(\n el,\n {\n edges: {\n left: true,\n right: true,\n bottom: true,\n top: false,\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: { width: 100, height: 100 },\n }),\n ],\n },\n null,\n true,\n true\n );\n }\n }\n /**\n * Hides the modal's backdrop.\n */\n hideModalBackdrop(): void {\n this.modalBackdrop.classList.remove('visible');\n this.modalCb = null;\n }\n /**\n * Displays the modal's backdrop.\n */\n showModalBackdrop(\n cb?: (e: MouseEvent) => unknown,\n responsive = false\n ): void {\n this.modalBackdrop.classList.add('visible');\n if (responsive) {\n this.modalBackdrop.classList.add('responsive');\n }\n if (cb) {\n this.modalCb = cb;\n }\n }\n /**\n * Removes all event listeners from the elements in the array.\n * @param {HTMLElement[]} elements - Elements to handle.\n */\n unregister(elements: HTMLElement[]): void {\n if (this.managedElements) {\n for (let index = 0; index < elements.length; index++) {\n this.managedElements.delete(elements[index]);\n interact(elements[index]).unset();\n }\n }\n }\n /**\n * Checks whether an element is currently registered or not.\n * @param {HTMLElement} el - Element to test.\n * @returns {boolean} True if the element was registered.\n */\n isRegistered(el: HTMLElement): boolean {\n return !this.managedElements ? false : this.managedElements.has(el);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"kup-interact.js","sourceRoot":"","sources":["../../../src/managers/kup-interact/kup-interact.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ResizeEvent } from '@interactjs/actions/resize/plugin';\nimport type { InteractEvent } from '@interactjs/core/InteractEvent';\nimport type { Interaction } from '@interactjs/core/Interaction';\nimport type { ActionMap } from '@interactjs/core/scope';\nimport type {\n DraggableOptions,\n DropEvent,\n DropzoneOptions,\n ListenersArg,\n Point,\n RectResolvable,\n ResizableOptions,\n} from '@interactjs/types/index';\nimport type { KupDom } from '../kup-manager/kup-manager-declarations';\nimport interact from 'interactjs';\nimport {\n kupDialogAttribute,\n kupDialogResizableClass,\n KupDragCallbacks,\n KupDragEffect,\n KupDragEventData,\n kupDraggableAttr,\n kupDraggableCellAttr,\n kupDraggableColumnAttr,\n KupDraggableElement,\n kupDraggableRowAttr,\n kupDragOverAttr,\n KupDropCallbacks,\n kupDropEvent,\n KupDropEventData,\n KupDropEventPayload,\n KupPointerEventTypes,\n KupResizeCallbacks,\n} from './kup-interact-declarations';\n\nconst dom: KupDom = document.documentElement as KupDom;\n\n/**\n * This class handles elements as dialogs, making them resizable and movable.\n * @module KupInteract\n */\nexport class KupInteract {\n container: HTMLElement;\n defaultModalCb: (e: MouseEvent) => void = (e) => {\n e.stopPropagation();\n e.preventDefault();\n if (this.modalCb) {\n this.modalCb(e);\n this.modalCb = null;\n }\n };\n managedElements: Set<HTMLElement>;\n modalBackdrop: HTMLElement;\n modalCb: (e: MouseEvent) => unknown;\n restrictContainer: RectResolvable<\n [number, number, Interaction<keyof ActionMap>]\n >;\n zIndex: number;\n /**\n * Initializes KupInteract.\n * @param {number} zIndex - The starting z-index assigned to dialogs.\n * @param {RectResolvable<[number, number, Interaction<keyof ActionMap>]>} restrictContainer - The container setting the restriction's boundary.\n */\n constructor(\n zIndex?: number,\n restrictContainer?: RectResolvable<\n [number, number, Interaction<keyof ActionMap>]\n >\n ) {\n interact.dynamicDrop(true);\n if (this.isMobileDevice()) {\n interact.pointerMoveTolerance(100);\n }\n this.container = document.createElement('div');\n this.container.setAttribute('kup-interact', '');\n this.modalBackdrop = document.createElement('div');\n this.modalBackdrop.setAttribute('kup-modal-backdrop', '');\n this.modalBackdrop.style.zIndex = (zIndex - 1).toString();\n this.modalBackdrop.addEventListener('click', this.defaultModalCb);\n this.modalBackdrop.addEventListener('pointerdown', this.defaultModalCb);\n this.modalBackdrop.addEventListener('touchstart', this.defaultModalCb);\n this.container.appendChild(this.modalBackdrop);\n document.body.appendChild(this.container);\n this.managedElements = new Set();\n this.zIndex = zIndex ? zIndex : 905;\n this.modalBackdrop.style.zIndex = (this.zIndex - 1).toString();\n this.restrictContainer = restrictContainer ? restrictContainer : null;\n }\n /**\n * Sets up a new draggable element.\n * @param {HTMLElement} el - The draggable element.\n * @param {Partial<DraggableOptions>} options - Options of the draggable element.\n * @param {KupDragEventData} eventData - Property used to transfer data for the drop event. The callback is used to return information of the starting item - such as cell, column and row info.\n * @param {KupDragEffect} effect - Visual effect of the drag action.\n * @param {KupDragCallbacks} callbacks - Additional callbacks to invoke.\n * @see https://interactjs.io/docs/action-options/ For more options\n */\n draggable(\n el: HTMLElement,\n options?: Partial<DraggableOptions>,\n eventData?: KupDragEventData,\n effect?: KupDragEffect,\n callbacks?: KupDragCallbacks\n ) {\n el.style.touchAction = 'none';\n el.style.userSelect = 'none';\n if (!options) {\n options = {};\n }\n if (effect === undefined || effect === null) {\n effect = KupDragEffect.MOVE;\n }\n options.listeners = {\n move(e: InteractEvent) {\n if (callbacks && callbacks.move) {\n callbacks.move(e);\n }\n if (effect.toLowerCase() !== KupDragEffect.NONE) {\n const draggable = e.target as KupDraggableElement;\n const ghostImage =\n draggable.kupDragDrop &&\n draggable.kupDragDrop.ghostImage\n ? draggable.kupDragDrop.ghostImage\n : e.target;\n let x = parseFloat(ghostImage.getAttribute('data-x')) || 0;\n let y = parseFloat(ghostImage.getAttribute('data-y')) || 0;\n x = x + e.dx;\n y = y + e.dy;\n ghostImage.style.transform = `translate(${x}px, ${y}px)`;\n ghostImage.setAttribute('data-x', x.toString());\n ghostImage.setAttribute('data-y', y.toString());\n }\n },\n start(e: InteractEvent) {\n if (callbacks && callbacks.start) {\n callbacks.start(e);\n }\n const draggable = e.target as KupDraggableElement;\n const draggableDetails =\n eventData && eventData.callback\n ? eventData.callback(e)\n : {};\n draggable.kupDragDrop = draggableDetails;\n draggable.setAttribute(kupDraggableAttr, '');\n if (draggableDetails.cell) {\n draggable.setAttribute(kupDraggableCellAttr, '');\n }\n if (draggableDetails.column) {\n draggable.setAttribute(kupDraggableColumnAttr, '');\n }\n if (draggableDetails.row) {\n draggable.setAttribute(kupDraggableRowAttr, '');\n }\n let ghostImage = null;\n switch (effect) {\n case KupDragEffect.BADGE:\n ghostImage = document.createElement('kup-badge');\n if (draggable.kupDragDrop.multiple) {\n ghostImage.text = draggable.kupDragDrop.selectedRows\n ? draggable.kupDragDrop.selectedRows.length.toString()\n : '0';\n } else {\n ghostImage.text = '1';\n }\n ghostImage.style.left =\n e.clientX - ghostImage.clientWidth / 2 + 'px';\n ghostImage.style.pointerEvents = 'none';\n ghostImage.style.position = 'fixed';\n ghostImage.style.top =\n e.clientY - ghostImage.clientHeight / 2 + 'px';\n ghostImage.style.transition = 'none';\n ghostImage.style.zIndex =\n 'calc(var(--kup-navbar-zindex) + 1)';\n dom.ketchup.interact.container.appendChild(ghostImage);\n draggable.kupDragDrop.ghostImage = ghostImage;\n break;\n case KupDragEffect.CLONE:\n ghostImage = draggable.cloneNode(true) as HTMLElement;\n ghostImage.id = '';\n ghostImage.style.cursor = 'grabbing';\n ghostImage.style.height = draggable.clientHeight + 'px';\n ghostImage.style.left =\n e.clientX - draggable.clientWidth / 2 + 'px';\n ghostImage.style.margin = '0';\n ghostImage.style.opacity = '0.75';\n ghostImage.style.position = 'fixed';\n ghostImage.style.top =\n e.clientY - draggable.clientHeight / 2 + 'px';\n ghostImage.style.transform = '';\n ghostImage.style.width = draggable.clientWidth + 'px';\n ghostImage.style.zIndex =\n 'calc(var(--kup-navbar-zindex) + 1)';\n draggable.parentElement.appendChild(ghostImage);\n draggable.kupDragDrop.ghostImage = ghostImage;\n break;\n }\n },\n end(e: InteractEvent) {\n if (callbacks && callbacks.end) {\n callbacks.end(e);\n }\n const draggable = e.target as KupDraggableElement;\n const ghostImage = draggable.kupDragDrop\n ? draggable.kupDragDrop.ghostImage\n : null;\n if (ghostImage) {\n ghostImage.setAttribute('style', '');\n ghostImage.remove();\n }\n draggable.removeAttribute(kupDraggableAttr);\n draggable.removeAttribute(kupDraggableCellAttr);\n draggable.removeAttribute(kupDraggableColumnAttr);\n draggable.removeAttribute(kupDraggableRowAttr);\n },\n };\n interact(el).draggable(options);\n this.managedElements.add(el);\n }\n /**\n * Sets up a new dropzone.\n * @param {HTMLElement} el - The dropzone element.\n * @param {DropzoneOptions} options - Options of the dropzone.\n * @param {KupDropEventData} eventData - Argument used to transfer data for the drop event. The callback is used to return information of the receiving item - such as cell, column and row info.\n * @param {KupDropCallbacks} callbacks - Additional callbacks to invoke.\n * @see https://interactjs.io/docs/action-options/ For more options\n */\n dropzone(\n el: HTMLElement,\n options?: DropzoneOptions,\n eventData?: KupDropEventData,\n callbacks?: KupDropCallbacks\n ) {\n if (!options) {\n options = {};\n }\n options.listeners = {\n drop(e: DropEvent) {\n if (callbacks && callbacks.drop) {\n callbacks.drop(e);\n }\n if (eventData) {\n const draggableDetails =\n (e.relatedTarget as KupDraggableElement).kupDragDrop ||\n {};\n const dropzoneDetails = eventData.callback\n ? eventData.callback()\n : {};\n const ketchupDropEvent =\n new CustomEvent<KupDropEventPayload>(kupDropEvent, {\n bubbles: true,\n cancelable: true,\n detail: {\n dataType: eventData.type,\n sourceElement: {\n id: draggableDetails.id\n ? draggableDetails.id\n : '',\n row: draggableDetails.row\n ? draggableDetails.row\n : null,\n selectedRows: draggableDetails.selectedRows\n ? draggableDetails.selectedRows\n : null,\n cell: draggableDetails.cell\n ? draggableDetails.cell\n : null,\n column: draggableDetails.column\n ? draggableDetails.column\n : null,\n },\n targetElement: {\n id: dropzoneDetails.id\n ? dropzoneDetails.id\n : '',\n row: dropzoneDetails.row\n ? dropzoneDetails.row\n : null,\n cell: dropzoneDetails.cell\n ? dropzoneDetails.cell\n : null,\n column: dropzoneDetails.column\n ? dropzoneDetails.column\n : null,\n },\n },\n });\n eventData.dispatcher.dispatchEvent(ketchupDropEvent);\n }\n (e.currentTarget as HTMLElement).removeAttribute(\n kupDragOverAttr\n );\n },\n enter(e: DropEvent) {\n if (callbacks && callbacks.enter) {\n callbacks.enter(e);\n }\n (e.currentTarget as HTMLElement).setAttribute(\n kupDragOverAttr,\n ''\n );\n },\n leave(e: DropEvent) {\n if (callbacks && callbacks.leave) {\n callbacks.leave(e);\n }\n (e.currentTarget as HTMLElement).removeAttribute(\n kupDragOverAttr\n );\n },\n };\n interact(el).dropzone(options);\n this.managedElements.add(el);\n }\n /**\n * Tests whether the current device is mobile or not.\n * @returns {boolean} Returns true when it's a mobile device\n */\n isMobileDevice(): boolean {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n );\n }\n /**\n * Sets up a new resizable element.\n * @param {HTMLElement} el - The resizable element.\n * @param {Partial<ResizableOptions>} options - Options of the resize action.\n * @param {KupResizeCallbacks} callbacks - Additional callbacks to invoke.\n * @param {boolean} moveOnResize - When true, the element will be moved when resizing in order to keep its position.\n * @param {boolean} autoResize - When true, the element will be automatically resized (usually the behavior is specified in a callback).\n * @see https://interactjs.io/docs/action-options/ For more options\n */\n resizable(\n el: HTMLElement,\n options?: Partial<ResizableOptions>,\n callbacks?: KupResizeCallbacks,\n moveOnResize?: boolean,\n autoResize?: boolean\n ) {\n if (!options || !options.edges) {\n options = {\n ...options,\n edges: {\n left: true,\n right: true,\n bottom: true,\n top: true,\n },\n };\n }\n options.listeners = {\n move(e: ResizeEvent) {\n if (callbacks && callbacks.move) {\n callbacks.move(e);\n }\n if (autoResize) {\n el.style.width = e.rect.width + 'px';\n el.style.height = e.rect.height + 'px';\n }\n if (moveOnResize) {\n const el = e.target as HTMLElement;\n const oldTransform = e.target.style.transform;\n let x = parseFloat(el.getAttribute('data-x')) || 0;\n let y = parseFloat(el.getAttribute('data-y')) || 0;\n x += e.deltaRect.left;\n y += e.deltaRect.top;\n el.style.transform = 'translate(' + x + 'px,' + y + 'px)';\n if (\n dom.ketchup.interact.isInViewport(\n el,\n oldTransform,\n e.delta\n )\n ) {\n el.setAttribute('data-x', x.toString());\n el.setAttribute('data-y', y.toString());\n }\n }\n },\n };\n interact(el).resizable(options);\n this.managedElements.add(el);\n }\n /**\n * Adds a new interact.js event listener to the given argument.\n * @param {HTMLElement} el - The element on which the event listener will be added.\n * @param {KupPointerEventTypes} event - Name of the event.\n * @param {KupResizeCallbacks} callback - Callback to invoke when the event fires.\n */\n on(el: HTMLElement, event: KupPointerEventTypes, callback: ListenersArg) {\n interact(el).on(event, callback);\n this.managedElements.add(el);\n }\n /**\n * This method checks whether the element is breaking the viewport boundaries.\n * @param {HTMLElement} el - Element to check.\n * @param {string} oldTransform - Previously set transform, used to rollback in case element breaks viewport boundaries.\n * @param {Point} delta - X and Y delta values of the last movement.\n */\n isInViewport(el: HTMLElement, oldTransform: string, delta: Point) {\n const style = window.getComputedStyle(el);\n const isFixed = !!(style.position === 'fixed');\n const rect = el.getBoundingClientRect();\n if (\n rect.left < 0 ||\n rect.top < 0 ||\n (isFixed && rect.right > window.innerWidth && delta.x >= 0) ||\n (isFixed && rect.bottom > window.innerHeight && delta.y >= 0)\n ) {\n el.style.transform = oldTransform;\n return false;\n }\n return true;\n }\n /**\n * This method gives the element dialog-like features, by activating moving on drag and, optionally, the resize.\n * @param {HTMLElement} el - Dialog element.\n * @param {HTMLElement} handleEl - Element that must be dragged in order to trigger movement. When not provided, dragging anywhere on \"el\" will move it.\n * @param {boolean} unresizable - When true, the dialog can't be resized.\n * @param {RectResolvable<[number, number, Interaction<keyof ActionMap>]>} restrictContainer - When present, it will set the constraint of \"el\": it can't be moved outside this container.\n */\n dialogify(\n el: HTMLElement,\n handleEl?: HTMLElement,\n unresizable?: boolean,\n restrictContainer?: RectResolvable<\n [number, number, Interaction<keyof ActionMap>]\n >\n ): void {\n el.setAttribute(kupDialogAttribute, '');\n el.style.zIndex = (this.zIndex++).toString();\n const callbacks = {\n start(e: InteractEvent) {\n const el = e.currentTarget as HTMLElement;\n el.style.zIndex = (dom.ketchup.interact.zIndex++).toString();\n },\n };\n this.draggable(\n el,\n {\n allowFrom: handleEl ? handleEl : null,\n modifiers: [\n interact.modifiers.restrictRect({\n restriction: restrictContainer\n ? restrictContainer\n : dom.ketchup.interact.restrictContainer,\n endOnly: true,\n }),\n ],\n },\n null,\n KupDragEffect.MOVE,\n callbacks\n );\n if (!unresizable) {\n el.classList.add(kupDialogResizableClass);\n this.resizable(\n el,\n {\n edges: {\n left: true,\n right: true,\n bottom: true,\n top: false,\n },\n modifiers: [\n interact.modifiers.restrictSize({\n min: { width: 100, height: 100 },\n }),\n ],\n },\n null,\n true,\n true\n );\n }\n }\n /**\n * Hides the modal's backdrop.\n */\n hideModalBackdrop(): void {\n this.modalBackdrop.classList.remove('visible');\n this.modalCb = null;\n }\n /**\n * Displays the modal's backdrop.\n */\n showModalBackdrop(\n cb?: (e: MouseEvent) => unknown,\n responsive = false\n ): void {\n this.modalBackdrop.classList.add('visible');\n if (responsive) {\n this.modalBackdrop.classList.add('responsive');\n }\n if (cb) {\n this.modalCb = cb;\n }\n }\n /**\n * Removes all event listeners from the elements in the array.\n * @param {HTMLElement[]} elements - Elements to handle.\n */\n unregister(elements: HTMLElement[]): void {\n if (this.managedElements) {\n for (let index = 0; index < elements.length; index++) {\n this.managedElements.delete(elements[index]);\n interact(elements[index]).unset();\n }\n }\n }\n /**\n * Checks whether an element is currently registered or not.\n * @param {HTMLElement} el - Element to test.\n * @returns {boolean} True if the element was registered.\n */\n isRegistered(el: HTMLElement): boolean {\n return !this.managedElements ? false : this.managedElements.has(el);\n }\n}\n"]}
|
|
@@ -1074,7 +1074,7 @@ class KupDynamicPosition {
|
|
|
1074
1074
|
if (this.anchorIsHTMLElement(anchorEl)) {
|
|
1075
1075
|
anchorEl.setAttribute(kupDynamicPositionAnchorAttribute, '');
|
|
1076
1076
|
}
|
|
1077
|
-
el.style.zIndex = `calc(var(--kup-navbar-zindex) +
|
|
1077
|
+
el.style.zIndex = `calc(var(--kup-navbar-zindex) + 10)`;
|
|
1078
1078
|
const originalPath = [];
|
|
1079
1079
|
if (detach) {
|
|
1080
1080
|
let currentEl = el;
|
|
@@ -1367,7 +1367,7 @@ class KupInteract {
|
|
|
1367
1367
|
this.container.appendChild(this.modalBackdrop);
|
|
1368
1368
|
document.body.appendChild(this.container);
|
|
1369
1369
|
this.managedElements = new Set();
|
|
1370
|
-
this.zIndex = zIndex ? zIndex :
|
|
1370
|
+
this.zIndex = zIndex ? zIndex : 905;
|
|
1371
1371
|
this.modalBackdrop.style.zIndex = (this.zIndex - 1).toString();
|
|
1372
1372
|
this.restrictContainer = restrictContainer ? restrictContainer : null;
|
|
1373
1373
|
}
|