@txstate-mws/svelte-components 1.0.1 → 1.1.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/.eslintrc.cjs +37 -0
- package/README.md +33 -14
- package/docs/stores.md +1 -1
- package/package.json +24 -74
- package/playwright.config.js +112 -0
- package/src/app.html +14 -0
- package/src/global.d.ts +1 -0
- package/src/lib/actions/buttonify.ts +27 -0
- package/src/lib/actions/glue.ts +96 -0
- package/src/lib/actions/index.ts +7 -0
- package/src/lib/actions/offset.ts +43 -0
- package/src/lib/actions/portal.ts +13 -0
- package/src/lib/actions/resize.ts +72 -0
- package/src/lib/actions/sticky.ts +105 -0
- package/src/lib/actions/stickyfixed.ts +160 -0
- package/src/lib/components/Card.svelte +25 -0
- package/src/lib/components/CardLayout.svelte +188 -0
- package/{dist/ts → src/lib}/components/CollapsingTable.svelte +6 -5
- package/{dist/ts → src/lib}/components/ConditionalWrapper.svelte +0 -0
- package/{dist/ts → src/lib}/components/FocusLock.svelte +7 -6
- package/{dist/ts → src/lib}/components/Modal.svelte +5 -4
- package/src/lib/components/MultiSelect.svelte +174 -0
- package/{dist/ts → src/lib}/components/PopupMenu.svelte +22 -16
- package/{dist/ts → src/lib}/components/ScreenReaderOnly.svelte +2 -2
- package/src/lib/components/index.ts +9 -0
- package/src/lib/index.ts +4 -0
- package/src/lib/types/CardLayout.ts +14 -0
- package/src/lib/types/CollapsingTable.ts +8 -0
- package/src/lib/types/PopupMenu.ts +5 -0
- package/src/lib/types/index.ts +3 -0
- package/src/lib/util/bodyoffset.ts +77 -0
- package/src/lib/util/index.ts +3 -0
- package/src/lib/util/repositioned.ts +91 -0
- package/src/lib/util/util.ts +36 -0
- package/src/routes/__layout.svelte +125 -0
- package/src/routes/actions/index.svelte +1 -0
- package/src/routes/actions/offset.svelte +4 -0
- package/src/routes/actions/offsetdebounce.svelte +4 -0
- package/src/routes/actions/resize.svelte +4 -0
- package/src/routes/actions/resizedebounce.svelte +4 -0
- package/src/routes/actions/sticky.svelte +4 -0
- package/src/routes/cards/index.svelte +4 -0
- package/src/routes/cards/preserve.svelte +4 -0
- package/src/routes/collapsingtable/index.svelte +4 -0
- package/src/routes/collapsingtable/stickyheader.svelte +4 -0
- package/src/routes/index.svelte +2 -0
- package/src/routes/modal.svelte +4 -0
- package/src/routes/multiselect.svelte +4 -0
- package/src/routes/popupmenu/body.svelte +4 -0
- package/src/routes/popupmenu/complex.svelte +4 -0
- package/src/routes/popupmenu/empty.svelte +5 -0
- package/src/routes/popupmenu/index.svelte +4 -0
- package/src/routes/popupmenu/parent.svelte +4 -0
- package/src/routes/popupmenu/scrollable.svelte +27 -0
- package/src/routes/popupmenu/showselected.svelte +4 -0
- package/src/test/Cards.svelte +64 -0
- package/{dist/ts/tests/CollapsingTable → src/test}/CollapsingTableTest.svelte +2 -2
- package/{dist/ts/tests/Modal → src/test}/ModalTest.svelte +3 -3
- package/src/test/MultiSelectTest.svelte +26 -0
- package/{dist/ts/tests/Actions → src/test}/Offset.svelte +2 -4
- package/{dist/ts/tests/PopupMenu → src/test}/PopupMenuBody.svelte +1 -1
- package/{dist/ts/tests/PopupMenu → src/test}/PopupMenuButtonIsParent.svelte +2 -2
- package/{dist/ts/tests/PopupMenu → src/test}/PopupMenuComplex.svelte +2 -2
- package/{dist/ts/tests/PopupMenu → src/test}/PopupMenuSimple.svelte +2 -2
- package/{dist/ts/tests/Actions → src/test}/Resize.svelte +2 -4
- package/{dist/ts/tests/Actions → src/test}/Sticky.svelte +1 -1
- package/static/layout.css +263 -0
- package/svelte.config.js +15 -0
- package/tests/.eslintrc.cjs +19 -0
- package/tests/CardLayout.test.js +41 -0
- package/tests/CollapsingTable.test.js +37 -0
- package/tests/Modal.test.js +18 -0
- package/tests/MultiSelect.test.js +58 -0
- package/tests/PopupMenu.test.js +55 -0
- package/tests/common.js +4 -0
- package/tsconfig.json +31 -0
- package/LICENSE +0 -21
- package/dist/actions/buttonify.js +0 -31
- package/dist/actions/buttonify.js.map +0 -1
- package/dist/actions/glue.js +0 -87
- package/dist/actions/glue.js.map +0 -1
- package/dist/actions/index.js +0 -20
- package/dist/actions/index.js.map +0 -1
- package/dist/actions/offset.js +0 -35
- package/dist/actions/offset.js.map +0 -1
- package/dist/actions/portal.js +0 -19
- package/dist/actions/portal.js.map +0 -1
- package/dist/actions/resize.js +0 -48
- package/dist/actions/resize.js.map +0 -1
- package/dist/actions/sticky.js +0 -93
- package/dist/actions/sticky.js.map +0 -1
- package/dist/actions/stickyfixed.js +0 -166
- package/dist/actions/stickyfixed.js.map +0 -1
- package/dist/components/CollapsingTable.svelte +0 -147
- package/dist/components/ConditionalWrapper.svelte +0 -38
- package/dist/components/FocusLock.svelte +0 -105
- package/dist/components/Modal.svelte +0 -52
- package/dist/components/PopupMenu.svelte +0 -282
- package/dist/components/ScreenReaderOnly.svelte +0 -25
- package/dist/components/index.js +0 -19
- package/dist/components/index.js.map +0 -1
- package/dist/index.js +0 -17
- package/dist/index.js.map +0 -1
- package/dist/lib/activestore.js +0 -123
- package/dist/lib/activestore.js.map +0 -1
- package/dist/lib/bodyoffset.js +0 -76
- package/dist/lib/bodyoffset.js.map +0 -1
- package/dist/lib/convertedstore.js +0 -41
- package/dist/lib/convertedstore.js.map +0 -1
- package/dist/lib/derivedstore.js +0 -65
- package/dist/lib/derivedstore.js.map +0 -1
- package/dist/lib/index.js +0 -22
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/repositioned.js +0 -92
- package/dist/lib/repositioned.js.map +0 -1
- package/dist/lib/safestore.js +0 -16
- package/dist/lib/safestore.js.map +0 -1
- package/dist/lib/store.js +0 -27
- package/dist/lib/store.js.map +0 -1
- package/dist/lib/substore.js +0 -47
- package/dist/lib/substore.js.map +0 -1
- package/dist/lib/util.js +0 -16
- package/dist/lib/util.js.map +0 -1
- package/dist/ts/actions/buttonify.d.ts +0 -8
- package/dist/ts/actions/glue.d.ts +0 -16
- package/dist/ts/actions/index.d.ts +0 -7
- package/dist/ts/actions/offset.d.ts +0 -15
- package/dist/ts/actions/portal.d.ts +0 -4
- package/dist/ts/actions/resize.d.ts +0 -16
- package/dist/ts/actions/sticky.d.ts +0 -33
- package/dist/ts/actions/stickyfixed.d.ts +0 -25
- package/dist/ts/components/index.d.ts +0 -6
- package/dist/ts/index.d.ts +0 -4
- package/dist/ts/lib/activestore.d.ts +0 -60
- package/dist/ts/lib/bodyoffset.d.ts +0 -13
- package/dist/ts/lib/convertedstore.d.ts +0 -16
- package/dist/ts/lib/derivedstore.d.ts +0 -23
- package/dist/ts/lib/index.d.ts +0 -9
- package/dist/ts/lib/repositioned.d.ts +0 -13
- package/dist/ts/lib/safestore.d.ts +0 -4
- package/dist/ts/lib/store.d.ts +0 -16
- package/dist/ts/lib/substore.d.ts +0 -24
- package/dist/ts/lib/util.d.ts +0 -2
- package/dist/ts/tests/Actions/Actions.stories.d.ts +0 -1
- package/dist/ts/tests/CollapsingTable/CollapsingTable.stories.d.ts +0 -1
- package/dist/ts/tests/CollapsingTable/CollapsingTable.test.d.ts +0 -1
- package/dist/ts/tests/Modal/Modal.stories.d.ts +0 -1
- package/dist/ts/tests/Modal/Modal.test.d.ts +0 -1
- package/dist/ts/tests/PopupMenu/PopupMenu.stories.d.ts +0 -1
- package/dist/ts/tests/PopupMenu/PopupMenu.test.d.ts +0 -1
- package/dist/ts/tests/stores/deepstore.test.d.ts +0 -1
- package/dist/ts/types/CollapsingTable.d.ts +0 -8
- package/dist/ts/types/PopupMenu.d.ts +0 -5
- package/dist/ts/types/index.d.ts +0 -2
- package/dist/types/CollapsingTable.js +0 -3
- package/dist/types/CollapsingTable.js.map +0 -1
- package/dist/types/PopupMenu.js +0 -3
- package/dist/types/PopupMenu.js.map +0 -1
- package/dist/types/index.js +0 -15
- package/dist/types/index.js.map +0 -1
- package/esm/index.js +0 -1
- package/esm/package.json +0 -3
package/dist/actions/glue.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.glue = void 0;
|
|
4
|
-
const lib_1 = require("../lib");
|
|
5
|
-
let setBodyRelative = false;
|
|
6
|
-
function glue(el, { target, align = 'auto', cover = false, store }) {
|
|
7
|
-
if (!setBodyRelative) {
|
|
8
|
-
setBodyRelative = true;
|
|
9
|
-
document.body.style.position = 'relative';
|
|
10
|
-
}
|
|
11
|
-
let halign;
|
|
12
|
-
let valign;
|
|
13
|
-
let sharedOffset = (0, lib_1.sharedOffsetParent)(el, target);
|
|
14
|
-
function reposition(offset) {
|
|
15
|
-
if (!target || !sharedOffset || !(el.offsetParent instanceof HTMLElement))
|
|
16
|
-
return;
|
|
17
|
-
let autoalign = align;
|
|
18
|
-
const parentoffset = el.offsetParent === sharedOffset && target !== sharedOffset ? { top: 0, left: 0, bottom: 0, right: 0 } : (0, lib_1.targetOffset)(el.offsetParent, sharedOffset);
|
|
19
|
-
if (align === 'auto') {
|
|
20
|
-
const rect = target.getBoundingClientRect();
|
|
21
|
-
const leftright = window.innerWidth - rect.right > rect.left ? 'left' : 'right';
|
|
22
|
-
const topbottom = window.innerHeight - rect.bottom > rect.top ? 'bottom' : 'top';
|
|
23
|
-
autoalign = topbottom + leftright;
|
|
24
|
-
}
|
|
25
|
-
const targetHeight = target.offsetHeight;
|
|
26
|
-
if (autoalign === 'bottomleft') {
|
|
27
|
-
requestAnimationFrame(() => {
|
|
28
|
-
el.style.top = `${offset.top + (cover ? 0 : targetHeight) - parentoffset.top}px`;
|
|
29
|
-
el.style.left = `${offset.left - parentoffset.left}px`;
|
|
30
|
-
el.style.bottom = '';
|
|
31
|
-
el.style.right = '';
|
|
32
|
-
});
|
|
33
|
-
valign = 'bottom';
|
|
34
|
-
halign = 'left';
|
|
35
|
-
}
|
|
36
|
-
else if (autoalign === 'bottomright') {
|
|
37
|
-
requestAnimationFrame(() => {
|
|
38
|
-
el.style.top = `${offset.top + (cover ? 0 : targetHeight) - parentoffset.top}px`;
|
|
39
|
-
el.style.left = '';
|
|
40
|
-
el.style.bottom = '';
|
|
41
|
-
el.style.right = `${offset.right - parentoffset.right}px`;
|
|
42
|
-
});
|
|
43
|
-
valign = 'bottom';
|
|
44
|
-
halign = 'right';
|
|
45
|
-
}
|
|
46
|
-
else if (autoalign === 'topleft') {
|
|
47
|
-
requestAnimationFrame(() => {
|
|
48
|
-
el.style.top = '';
|
|
49
|
-
el.style.left = `${offset.left - parentoffset.left}px`;
|
|
50
|
-
el.style.bottom = `${offset.bottom + (cover ? 0 : targetHeight) - parentoffset.bottom}px`;
|
|
51
|
-
el.style.right = '';
|
|
52
|
-
});
|
|
53
|
-
valign = 'top';
|
|
54
|
-
halign = 'left';
|
|
55
|
-
}
|
|
56
|
-
else if (autoalign === 'topright') {
|
|
57
|
-
requestAnimationFrame(() => {
|
|
58
|
-
el.style.top = '';
|
|
59
|
-
el.style.left = '';
|
|
60
|
-
el.style.bottom = `${offset.bottom + (cover ? 0 : targetHeight) - parentoffset.bottom}px`;
|
|
61
|
-
el.style.right = `${offset.right - parentoffset.right}px`;
|
|
62
|
-
});
|
|
63
|
-
valign = 'top';
|
|
64
|
-
halign = 'right';
|
|
65
|
-
}
|
|
66
|
-
store === null || store === void 0 ? void 0 : store.update(v => (Object.assign(Object.assign({}, v), { valign, halign })));
|
|
67
|
-
}
|
|
68
|
-
const { destroy, update } = (0, lib_1.watchForPositionChangeInContainer)(target, sharedOffset, reposition);
|
|
69
|
-
return {
|
|
70
|
-
update({ target: utarget, align: ualign = 'auto', cover: ucover = false, store: ustore }) {
|
|
71
|
-
align = ualign;
|
|
72
|
-
cover = ucover;
|
|
73
|
-
if (ustore && ustore !== store) {
|
|
74
|
-
ustore.update(v => (Object.assign(Object.assign({}, v), { valign, halign })));
|
|
75
|
-
store = ustore;
|
|
76
|
-
}
|
|
77
|
-
if (target !== utarget) {
|
|
78
|
-
sharedOffset = (0, lib_1.sharedOffsetParent)(el, utarget);
|
|
79
|
-
target = utarget;
|
|
80
|
-
update(target, sharedOffset, reposition);
|
|
81
|
-
}
|
|
82
|
-
},
|
|
83
|
-
destroy
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
exports.glue = glue;
|
|
87
|
-
//# sourceMappingURL=glue.js.map
|
package/dist/actions/glue.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"glue.js","sourceRoot":"","sources":["../../src/actions/glue.ts"],"names":[],"mappings":"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"}
|
package/dist/actions/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
-
};
|
|
12
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
__exportStar(require("./buttonify"), exports);
|
|
14
|
-
__exportStar(require("./glue"), exports);
|
|
15
|
-
__exportStar(require("./offset"), exports);
|
|
16
|
-
__exportStar(require("./portal"), exports);
|
|
17
|
-
__exportStar(require("./resize"), exports);
|
|
18
|
-
__exportStar(require("./sticky"), exports);
|
|
19
|
-
__exportStar(require("./stickyfixed"), exports);
|
|
20
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA2B;AAC3B,yCAAsB;AACtB,2CAAwB;AACxB,2CAAwB;AACxB,2CAAwB;AACxB,2CAAwB;AACxB,gDAA6B"}
|
package/dist/actions/offset.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.offset = void 0;
|
|
4
|
-
const lib_1 = require("../lib");
|
|
5
|
-
function offset(el, config) {
|
|
6
|
-
if ((config === null || config === void 0 ? void 0 : config.debounce) === true)
|
|
7
|
-
config.debounce = 100;
|
|
8
|
-
let lastOffset = {};
|
|
9
|
-
function lookforoffsetchange(current) {
|
|
10
|
-
lastOffset = current;
|
|
11
|
-
if (config === null || config === void 0 ? void 0 : config.store)
|
|
12
|
-
config.store.update(v => (Object.assign(Object.assign({}, v), current)));
|
|
13
|
-
el.dispatchEvent(new CustomEvent('offset', { detail: current }));
|
|
14
|
-
}
|
|
15
|
-
let resolvedchange = (config === null || config === void 0 ? void 0 : config.debounce) ? (0, lib_1.debounced)(lookforoffsetchange, config.debounce) : lookforoffsetchange;
|
|
16
|
-
const { destroy, update } = (0, lib_1.watchForPositionChange)(el, resolvedchange);
|
|
17
|
-
return {
|
|
18
|
-
update(newConfig) {
|
|
19
|
-
var _a;
|
|
20
|
-
if ((newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) === true)
|
|
21
|
-
newConfig.debounce = 100;
|
|
22
|
-
if ((newConfig === null || newConfig === void 0 ? void 0 : newConfig.store) !== (config === null || config === void 0 ? void 0 : config.store)) {
|
|
23
|
-
(_a = newConfig === null || newConfig === void 0 ? void 0 : newConfig.store) === null || _a === void 0 ? void 0 : _a.update(v => (Object.assign(Object.assign({}, v), lastOffset)));
|
|
24
|
-
}
|
|
25
|
-
if ((newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) !== (config === null || config === void 0 ? void 0 : config.debounce)) {
|
|
26
|
-
resolvedchange = (newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) ? (0, lib_1.debounced)(lookforoffsetchange, newConfig.debounce) : lookforoffsetchange;
|
|
27
|
-
update(el, resolvedchange);
|
|
28
|
-
}
|
|
29
|
-
config = newConfig;
|
|
30
|
-
},
|
|
31
|
-
destroy
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
exports.offset = offset;
|
|
35
|
-
//# sourceMappingURL=offset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"offset.js","sourceRoot":"","sources":["../../src/actions/offset.ts"],"names":[],"mappings":";;;AAAA,gCAA2F;AAO3F,SAAgB,MAAM,CAAE,EAAe,EAAE,MAAqB;IAC5D,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAAK,IAAI;QAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAA;IACpD,IAAI,UAAU,GAAmB,EAAE,CAAA;IACnC,SAAS,mBAAmB,CAAE,OAAuB;QACnD,UAAU,GAAG,OAAO,CAAA;QACpB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK;YAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iCAAM,CAAC,GAAK,OAAO,EAAG,CAAC,CAAA;QACnE,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;IACD,IAAI,cAAc,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAA,eAAS,EAAC,mBAAmB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAA;IAE7G,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAA,4BAAsB,EAAC,EAAE,EAAE,cAAc,CAAC,CAAA;IAEtE,OAAO;QACL,MAAM,CAAE,SAAwB;;YAC9B,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,MAAK,IAAI;gBAAE,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAA;YAC1D,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,OAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,EAAE;gBACtC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,0CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iCAAM,CAAC,GAAK,UAAU,EAAG,CAAC,CAAA;aACzD;YACD,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,OAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,EAAE;gBAC5C,cAAc,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAA,eAAS,EAAC,mBAAmB,EAAE,SAAS,CAAC,QAAe,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAA;gBACtH,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,CAAA;aAC3B;YACD,MAAM,GAAG,SAAS,CAAA;QACpB,CAAC;QACD,OAAO;KACR,CAAA;AACH,CAAC;AA1BD,wBA0BC"}
|
package/dist/actions/portal.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.portal = void 0;
|
|
4
|
-
function portal(el, target = document.body) {
|
|
5
|
-
function update(target = document.body) {
|
|
6
|
-
target === null || target === void 0 ? void 0 : target.appendChild(el);
|
|
7
|
-
}
|
|
8
|
-
function destroy() {
|
|
9
|
-
var _a;
|
|
10
|
-
(_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(el);
|
|
11
|
-
}
|
|
12
|
-
update(target);
|
|
13
|
-
return {
|
|
14
|
-
update,
|
|
15
|
-
destroy
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
exports.portal = portal;
|
|
19
|
-
//# sourceMappingURL=portal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"portal.js","sourceRoot":"","sources":["../../src/actions/portal.ts"],"names":[],"mappings":";;;AAAA,SAAgB,MAAM,CAAE,EAAe,EAAE,SAA2B,QAAQ,CAAC,IAAI;IAC/E,SAAS,MAAM,CAAE,SAA2B,QAAQ,CAAC,IAAI;QACvD,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC,EAAE,CAAC,CAAA;IACzB,CAAC;IACD,SAAS,OAAO;;QACd,MAAA,EAAE,CAAC,aAAa,0CAAE,WAAW,CAAC,EAAE,CAAC,CAAA;IACnC,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,CAAA;IACd,OAAO;QACL,MAAM;QACN,OAAO;KACR,CAAA;AACH,CAAC;AAZD,wBAYC"}
|
package/dist/actions/resize.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.resize = void 0;
|
|
7
|
-
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
8
|
-
const lib_1 = require("../lib");
|
|
9
|
-
function resize(el, config) {
|
|
10
|
-
if ((config === null || config === void 0 ? void 0 : config.debounce) === true)
|
|
11
|
-
config.debounce = 100;
|
|
12
|
-
let lastSize = {};
|
|
13
|
-
function watch() {
|
|
14
|
-
const current = { clientWidth: el.clientWidth, clientHeight: el.clientHeight, offsetWidth: el.offsetWidth, offsetHeight: el.offsetHeight };
|
|
15
|
-
if (!(0, fast_deep_equal_1.default)(lastSize, current)) {
|
|
16
|
-
lastSize = current;
|
|
17
|
-
if (config === null || config === void 0 ? void 0 : config.store)
|
|
18
|
-
config.store.set(current);
|
|
19
|
-
el.dispatchEvent(new CustomEvent('resize', { detail: current }));
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
if (!ResizeObserver)
|
|
23
|
-
return watch(); // support SSR
|
|
24
|
-
let observer = new ResizeObserver((config === null || config === void 0 ? void 0 : config.debounce) ? (0, lib_1.debounced)(watch, config.debounce) : watch);
|
|
25
|
-
observer.observe(el);
|
|
26
|
-
watch();
|
|
27
|
-
return {
|
|
28
|
-
update(newConfig) {
|
|
29
|
-
var _a;
|
|
30
|
-
if ((newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) === true)
|
|
31
|
-
newConfig.debounce = 100;
|
|
32
|
-
if ((newConfig === null || newConfig === void 0 ? void 0 : newConfig.store) !== (config === null || config === void 0 ? void 0 : config.store)) {
|
|
33
|
-
(_a = newConfig === null || newConfig === void 0 ? void 0 : newConfig.store) === null || _a === void 0 ? void 0 : _a.set(lastSize);
|
|
34
|
-
}
|
|
35
|
-
if (!!(newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) !== !!(config === null || config === void 0 ? void 0 : config.debounce)) {
|
|
36
|
-
observer.disconnect();
|
|
37
|
-
observer = new ResizeObserver((newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) ? (0, lib_1.debounced)(watch, newConfig.debounce) : watch);
|
|
38
|
-
observer.observe(el);
|
|
39
|
-
}
|
|
40
|
-
config = newConfig;
|
|
41
|
-
},
|
|
42
|
-
destroy() {
|
|
43
|
-
observer.disconnect();
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
exports.resize = resize;
|
|
48
|
-
//# sourceMappingURL=resize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resize.js","sourceRoot":"","sources":["../../src/actions/resize.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAmC;AACnC,gCAAmD;AAcnD,SAAgB,MAAM,CAAE,EAAe,EAAE,MAAqB;IAC5D,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,MAAK,IAAI;QAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAA;IACpD,IAAI,QAAQ,GAAgB,EAAE,CAAA;IAC9B,SAAS,KAAK;QACZ,MAAM,OAAO,GAAG,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,CAAA;QAC1I,IAAI,CAAC,IAAA,yBAAK,EAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;YAC7B,QAAQ,GAAG,OAAO,CAAA;YAClB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;SACjE;IACH,CAAC;IAED,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,EAAE,CAAA,CAAC,cAAc;IAElD,IAAI,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAA,eAAS,EAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IAC/F,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACpB,KAAK,EAAE,CAAA;IAEP,OAAO;QACL,MAAM,CAAE,SAAwB;;YAC9B,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,MAAK,IAAI;gBAAE,SAAS,CAAC,QAAQ,GAAG,GAAG,CAAA;YAC1D,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,OAAK,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAA,EAAE;gBACtC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,0CAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;aAChC;YACD,IAAI,CAAC,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,KAAK,CAAC,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,CAAA,EAAE;gBAChD,QAAQ,CAAC,UAAU,EAAE,CAAA;gBACrB,QAAQ,GAAG,IAAI,cAAc,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAC,CAAC,CAAC,IAAA,eAAS,EAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;gBACjG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;aACrB;YACD,MAAM,GAAG,SAAS,CAAA;QACpB,CAAC;QACD,OAAO;YACL,QAAQ,CAAC,UAAU,EAAE,CAAA;QACvB,CAAC;KACF,CAAA;AACH,CAAC;AAnCD,wBAmCC"}
|
package/dist/actions/sticky.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.sticky = void 0;
|
|
4
|
-
const lib_1 = require("../lib");
|
|
5
|
-
let scrolled = false;
|
|
6
|
-
/**
|
|
7
|
-
* A robust implementation of stickyness based on `transform: translateY()`. Only use when
|
|
8
|
-
* `position: sticky` won't work for you. If `position: sticky` does work for you, use it,
|
|
9
|
-
* it performs better.
|
|
10
|
-
*
|
|
11
|
-
* Reasons `position: sticky` might not work:
|
|
12
|
-
* 1) it cannot work on a thead or tr, only td and th (and non-table elements)
|
|
13
|
-
* 2) it gets confused if any parent elements have an `overflow` set, even `overflow: hidden`
|
|
14
|
-
* 3) it always stays within the boundaries of the closest parent element that has a `position`
|
|
15
|
-
* * use:sticky accepts a `target` element as a parameter, defining the bounding container
|
|
16
|
-
*
|
|
17
|
-
* Note that if the element you place this on has other transforms, this is going to overwrite them.
|
|
18
|
-
*
|
|
19
|
-
* The main drawback to this approach is that it cannot do its work before scroll on mobile, only after,
|
|
20
|
-
* so on mobile you are going to see it visually lag a little during scrolling.
|
|
21
|
-
*
|
|
22
|
-
* You may also want to try use:stickyfixed. It is based on setting `position: fixed` when appropriate,
|
|
23
|
-
* and therefore animates better than this. However, it has a lot more work to do and is more
|
|
24
|
-
* fragile if your markup/CSS situation is very complex.
|
|
25
|
-
*/
|
|
26
|
-
function sticky(el, config) {
|
|
27
|
-
let floating;
|
|
28
|
-
let translateY;
|
|
29
|
-
let scrollstart = Number.MAX_SAFE_INTEGER;
|
|
30
|
-
let scrollend = Number.MAX_SAFE_INTEGER;
|
|
31
|
-
function recalc(scroll) {
|
|
32
|
-
var _a;
|
|
33
|
-
const newTranslateY = Math.max(Math.min(scroll, scrollend) - scrollstart, 0);
|
|
34
|
-
if (newTranslateY !== translateY) {
|
|
35
|
-
el.style.transform = `translateY(${newTranslateY}px)`;
|
|
36
|
-
translateY = newTranslateY;
|
|
37
|
-
floating = scroll >= scrollstart;
|
|
38
|
-
(_a = config === null || config === void 0 ? void 0 : config.store) === null || _a === void 0 ? void 0 : _a.update(v => (Object.assign(Object.assign({}, v), { translateY, floating })));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function onscroll(e) {
|
|
42
|
-
recalc(window.scrollY);
|
|
43
|
-
}
|
|
44
|
-
function onwheel(e) {
|
|
45
|
-
e.preventDefault();
|
|
46
|
-
const scroll = window.scrollY + e.deltaY;
|
|
47
|
-
recalc(scroll);
|
|
48
|
-
if (!scrolled) {
|
|
49
|
-
window.scrollTo({ top: scroll });
|
|
50
|
-
scrolled = true;
|
|
51
|
-
setTimeout(() => {
|
|
52
|
-
scrolled = false;
|
|
53
|
-
}, 0);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
let lastOffsetParent = el.offsetParent;
|
|
57
|
-
function onpositionchange(offset) {
|
|
58
|
-
var _a;
|
|
59
|
-
const offsetParent = el.offsetParent;
|
|
60
|
-
if (!(offsetParent instanceof HTMLElement))
|
|
61
|
-
return;
|
|
62
|
-
if (lastOffsetParent !== offsetParent) {
|
|
63
|
-
offset[0] = (0, lib_1.bodyOffset)(offsetParent);
|
|
64
|
-
update(offsetParent, onpositionchange);
|
|
65
|
-
lastOffsetParent = offsetParent;
|
|
66
|
-
}
|
|
67
|
-
scrollstart = offset[0].top + el.offsetTop;
|
|
68
|
-
const containeroffset = (config === null || config === void 0 ? void 0 : config.target) ? offset[1] : offset[0];
|
|
69
|
-
scrollend = Math.max(scrollstart, containeroffset.top + ((_a = config === null || config === void 0 ? void 0 : config.target) !== null && _a !== void 0 ? _a : offsetParent).clientHeight - el.offsetHeight);
|
|
70
|
-
recalc(window.scrollY);
|
|
71
|
-
}
|
|
72
|
-
const { destroy, update } = (0, lib_1.watchForPositionChange)([el.offsetParent, config === null || config === void 0 ? void 0 : config.target], onpositionchange);
|
|
73
|
-
window.addEventListener('scroll', onscroll, { passive: true });
|
|
74
|
-
window.addEventListener('wheel', onwheel, { passive: false });
|
|
75
|
-
function stickyUpdate(newConfig) {
|
|
76
|
-
var _a;
|
|
77
|
-
if ((newConfig === null || newConfig === void 0 ? void 0 : newConfig.store) !== (config === null || config === void 0 ? void 0 : config.store))
|
|
78
|
-
(_a = newConfig === null || newConfig === void 0 ? void 0 : newConfig.store) === null || _a === void 0 ? void 0 : _a.update(v => (Object.assign(Object.assign({}, v), { translateY, floating })));
|
|
79
|
-
config = newConfig;
|
|
80
|
-
update([el.offsetParent, config === null || config === void 0 ? void 0 : config.target], onpositionchange);
|
|
81
|
-
}
|
|
82
|
-
function stickyDestroy() {
|
|
83
|
-
window.removeEventListener('scroll', onscroll);
|
|
84
|
-
window.removeEventListener('wheel', onwheel);
|
|
85
|
-
destroy();
|
|
86
|
-
}
|
|
87
|
-
return {
|
|
88
|
-
update: stickyUpdate,
|
|
89
|
-
destroy: stickyDestroy
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
exports.sticky = sticky;
|
|
93
|
-
//# sourceMappingURL=sticky.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sticky.js","sourceRoot":"","sources":["../../src/actions/sticky.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,166 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.stickyfixed = void 0;
|
|
4
|
-
const lib_1 = require("../lib");
|
|
5
|
-
/**
|
|
6
|
-
* An implementation of stickyness based on `positon: fixed`. Only use when
|
|
7
|
-
* `position: sticky` won't work for you. If `position: sticky` does work for you, use it,
|
|
8
|
-
* it performs better.
|
|
9
|
-
*
|
|
10
|
-
* Reasons `position: sticky` might not work:
|
|
11
|
-
* 1) it cannot work on a thead or tr, only td and th (and non-table elements)
|
|
12
|
-
* 2) it gets confused if any parent elements have an `overflow` set, even `overflow: hidden`
|
|
13
|
-
* 3) it always stays within the boundaries of the closest parent element that has a `position`
|
|
14
|
-
* * use:sticky accepts a `target` element as a parameter, defining the bounding container
|
|
15
|
-
*
|
|
16
|
-
* Note that this implementation gets great animation performance at the cost of extra complexity.
|
|
17
|
-
* It does a lot of work like cloning the element you place it on, placing the cloned element next
|
|
18
|
-
* to yours in the DOM, setting widths to match between them, watching for mutations to keep them
|
|
19
|
-
* in sync, etc. Some of this work may get foiled if you have a complex html/css/js situation.
|
|
20
|
-
*
|
|
21
|
-
* You may also want to try use:sticky. It is based on setting `transform: translateY()` as appropriate,
|
|
22
|
-
* and is less fragile than this. However, it cannot do its work before the scroll on mobile, only after,
|
|
23
|
-
* so it will visually lag a bit on mobile.
|
|
24
|
-
*/
|
|
25
|
-
function stickyfixed(el, config) {
|
|
26
|
-
let floating;
|
|
27
|
-
let translateY;
|
|
28
|
-
let scrollstart = Number.MAX_SAFE_INTEGER;
|
|
29
|
-
let scrollend = Number.MAX_SAFE_INTEGER;
|
|
30
|
-
let spacer;
|
|
31
|
-
let elheight;
|
|
32
|
-
let left;
|
|
33
|
-
let top = 0;
|
|
34
|
-
function generatespacer(mutations) {
|
|
35
|
-
var _a;
|
|
36
|
-
if (mutations === null || mutations === void 0 ? void 0 : mutations.every(m => m.attributeName === 'style'))
|
|
37
|
-
return;
|
|
38
|
-
spacer === null || spacer === void 0 ? void 0 : spacer.remove();
|
|
39
|
-
spacer = el.cloneNode(true);
|
|
40
|
-
spacer.setAttribute('aria-hidden', 'true');
|
|
41
|
-
spacer.style.position = '';
|
|
42
|
-
spacer.style.top = '';
|
|
43
|
-
spacer.style.left = '';
|
|
44
|
-
spacer.style.width = '';
|
|
45
|
-
const tds = Array.from(spacer.querySelectorAll('td,th'));
|
|
46
|
-
for (const td of tds)
|
|
47
|
-
td.style.width = '';
|
|
48
|
-
if (floating)
|
|
49
|
-
(_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(spacer, el);
|
|
50
|
-
}
|
|
51
|
-
const mutationobserver = new MutationObserver(generatespacer);
|
|
52
|
-
mutationobserver.observe(el, {
|
|
53
|
-
subtree: true,
|
|
54
|
-
childList: true,
|
|
55
|
-
attributes: true,
|
|
56
|
-
characterData: true
|
|
57
|
-
});
|
|
58
|
-
generatespacer();
|
|
59
|
-
function adjustwidths() {
|
|
60
|
-
const tds = Array.from(el.querySelectorAll('td,th'));
|
|
61
|
-
if (floating) {
|
|
62
|
-
const spacertds = Array.from(spacer.querySelectorAll('td,th'));
|
|
63
|
-
const widths = spacertds.map(td => window.getComputedStyle(td).width);
|
|
64
|
-
const table = spacer.closest('table');
|
|
65
|
-
let extrawidth = 0;
|
|
66
|
-
if (table) {
|
|
67
|
-
const cell = el.querySelector('th:last-child,td:last-child');
|
|
68
|
-
if (cell) {
|
|
69
|
-
const tstyle = window.getComputedStyle(table);
|
|
70
|
-
extrawidth = tstyle.borderCollapse === 'collapse' ? parseInt(window.getComputedStyle(cell).borderRightWidth) : 0;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const width = `${parseInt(window.getComputedStyle(spacer).width) + extrawidth}px`;
|
|
74
|
-
elheight = spacer.offsetHeight;
|
|
75
|
-
for (let i = 0; i < tds.length; i++)
|
|
76
|
-
tds[i].style.width = widths[i];
|
|
77
|
-
el.style.width = width;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
for (const td of tds)
|
|
81
|
-
td.style.width = '';
|
|
82
|
-
el.style.width = '';
|
|
83
|
-
elheight = el.offsetHeight;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
const resizeobserver = new ResizeObserver(adjustwidths);
|
|
87
|
-
function recalc(scroll) {
|
|
88
|
-
var _a, _b;
|
|
89
|
-
const newTranslateY = Math.max(Math.min(scroll - 1, scrollend) - scrollstart, 0);
|
|
90
|
-
const newFloating = newTranslateY > 0;
|
|
91
|
-
const newTop = Math.max(Math.min(scrollend - scroll, 0), -2 * elheight);
|
|
92
|
-
if (newFloating !== floating) {
|
|
93
|
-
floating = newFloating;
|
|
94
|
-
if (floating) {
|
|
95
|
-
(_a = el.parentElement) === null || _a === void 0 ? void 0 : _a.insertBefore(spacer, el);
|
|
96
|
-
el.style.position = 'fixed';
|
|
97
|
-
el.style.top = `${Math.min(scrollend - scroll, 0)}px`;
|
|
98
|
-
el.style.left = `${left}px`;
|
|
99
|
-
resizeobserver.observe(spacer);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
el.style.position = '';
|
|
103
|
-
el.style.top = '';
|
|
104
|
-
el.style.left = '';
|
|
105
|
-
resizeobserver.disconnect();
|
|
106
|
-
spacer.remove();
|
|
107
|
-
}
|
|
108
|
-
adjustwidths();
|
|
109
|
-
}
|
|
110
|
-
if (newTranslateY !== translateY) {
|
|
111
|
-
translateY = newTranslateY;
|
|
112
|
-
(_b = config === null || config === void 0 ? void 0 : config.store) === null || _b === void 0 ? void 0 : _b.update(v => (Object.assign(Object.assign({}, v), { translateY, floating })));
|
|
113
|
-
}
|
|
114
|
-
if (top !== newTop) {
|
|
115
|
-
top = newTop;
|
|
116
|
-
if (floating)
|
|
117
|
-
el.style.top = `${top}px`;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
function onscroll(e) {
|
|
121
|
-
recalc(window.scrollY);
|
|
122
|
-
}
|
|
123
|
-
let lastOffsetParent = el.offsetParent;
|
|
124
|
-
function onpositionchange(offset) {
|
|
125
|
-
var _a, _b;
|
|
126
|
-
const offsetParent = el.offsetParent;
|
|
127
|
-
if (!(offsetParent instanceof HTMLElement))
|
|
128
|
-
return;
|
|
129
|
-
if (lastOffsetParent !== offsetParent) {
|
|
130
|
-
offset[0] = (0, lib_1.bodyOffset)(offsetParent);
|
|
131
|
-
update(offsetParent, onpositionchange);
|
|
132
|
-
lastOffsetParent = offsetParent;
|
|
133
|
-
}
|
|
134
|
-
const table = el.closest('table');
|
|
135
|
-
const borderspacing = (table ? parseInt(window.getComputedStyle(table).borderSpacing) : 0);
|
|
136
|
-
scrollstart = offset[0].top + el.offsetTop;
|
|
137
|
-
left = offset[0].left + (spacer.parentElement ? spacer.offsetLeft : el.offsetLeft);
|
|
138
|
-
if (el.tagName === 'TR') {
|
|
139
|
-
scrollstart -= borderspacing;
|
|
140
|
-
}
|
|
141
|
-
const containeroffset = (config === null || config === void 0 ? void 0 : config.target) ? (_a = offset[1]) !== null && _a !== void 0 ? _a : offset[0] : offset[0];
|
|
142
|
-
scrollend = Math.max(scrollstart, containeroffset.top + ((_b = config === null || config === void 0 ? void 0 : config.target) !== null && _b !== void 0 ? _b : offsetParent).clientHeight - el.offsetHeight);
|
|
143
|
-
recalc(window.scrollY);
|
|
144
|
-
}
|
|
145
|
-
const { destroy, update } = (0, lib_1.watchForPositionChange)([el.offsetParent, config === null || config === void 0 ? void 0 : config.target], onpositionchange);
|
|
146
|
-
window.addEventListener('scroll', onscroll, { passive: true });
|
|
147
|
-
function stickyUpdate(newConfig) {
|
|
148
|
-
var _a;
|
|
149
|
-
if ((newConfig === null || newConfig === void 0 ? void 0 : newConfig.store) !== (config === null || config === void 0 ? void 0 : config.store))
|
|
150
|
-
(_a = newConfig === null || newConfig === void 0 ? void 0 : newConfig.store) === null || _a === void 0 ? void 0 : _a.update(v => (Object.assign(Object.assign({}, v), { translateY, floating })));
|
|
151
|
-
config = newConfig;
|
|
152
|
-
update([el.offsetParent, config === null || config === void 0 ? void 0 : config.target], onpositionchange);
|
|
153
|
-
}
|
|
154
|
-
function stickyDestroy() {
|
|
155
|
-
resizeobserver.disconnect();
|
|
156
|
-
mutationobserver.disconnect();
|
|
157
|
-
window.removeEventListener('scroll', onscroll);
|
|
158
|
-
destroy();
|
|
159
|
-
}
|
|
160
|
-
return {
|
|
161
|
-
update: stickyUpdate,
|
|
162
|
-
destroy: stickyDestroy
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
exports.stickyfixed = stickyfixed;
|
|
166
|
-
//# sourceMappingURL=stickyfixed.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stickyfixed.js","sourceRoot":"","sources":["../../src/actions/stickyfixed.ts"],"names":[],"mappings":"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"}
|