@txstate-mws/svelte-components 0.0.63 → 0.0.67

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/actions/a11y.js +1 -0
  2. package/dist/actions/a11y.js.map +1 -0
  3. package/dist/actions/glue.js +5 -4
  4. package/dist/actions/glue.js.map +1 -0
  5. package/dist/actions/index.js +1 -0
  6. package/dist/actions/index.js.map +1 -0
  7. package/dist/actions/offset.js +4 -3
  8. package/dist/actions/offset.js.map +1 -0
  9. package/dist/actions/portal.js +1 -0
  10. package/dist/actions/portal.js.map +1 -0
  11. package/dist/actions/resize.js +4 -3
  12. package/dist/actions/resize.js.map +1 -0
  13. package/dist/actions/sticky.js +3 -2
  14. package/dist/actions/sticky.js.map +1 -0
  15. package/dist/actions/stickyfixed.js +3 -2
  16. package/dist/actions/stickyfixed.js.map +1 -0
  17. package/dist/components/CollapsingTable.svelte +2 -1
  18. package/dist/components/FocusLock.svelte +28 -19
  19. package/dist/components/Modal.svelte +2 -1
  20. package/dist/components/PopupMenu.svelte +27 -44
  21. package/dist/components/index.js +1 -0
  22. package/dist/components/index.js.map +1 -0
  23. package/dist/index.js +1 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/lib/bodyoffset.js +1 -0
  26. package/dist/lib/bodyoffset.js.map +1 -0
  27. package/dist/lib/deepstore.js +2 -1
  28. package/dist/lib/deepstore.js.map +1 -0
  29. package/dist/lib/derivedstore.js +2 -1
  30. package/dist/lib/derivedstore.js.map +1 -0
  31. package/dist/lib/index.js +1 -0
  32. package/dist/lib/index.js.map +1 -0
  33. package/dist/lib/repositioned.js +7 -6
  34. package/dist/lib/repositioned.js.map +1 -0
  35. package/dist/lib/safestore.js +2 -1
  36. package/dist/lib/safestore.js.map +1 -0
  37. package/dist/lib/substore.js +3 -2
  38. package/dist/lib/substore.js.map +1 -0
  39. package/dist/lib/util.js +1 -0
  40. package/dist/lib/util.js.map +1 -0
  41. package/dist/ts/components/CollapsingTable.svelte +2 -0
  42. package/dist/ts/components/FocusLock.svelte +19 -4
  43. package/dist/ts/components/Modal.svelte +2 -2
  44. package/dist/ts/tests/Modal/Modal.test.d.ts +1 -0
  45. package/dist/ts/tests/Modal/ModalTest.svelte +1 -1
  46. package/dist/types/CollapsingTable.js +1 -0
  47. package/dist/types/CollapsingTable.js.map +1 -0
  48. package/dist/types/PopupMenu.js +1 -0
  49. package/dist/types/PopupMenu.js.map +1 -0
  50. package/dist/types/index.js +1 -0
  51. package/dist/types/index.js.map +1 -0
  52. package/package.json +11 -16
@@ -28,3 +28,4 @@ function buttonify(node) {
28
28
  };
29
29
  }
30
30
  exports.buttonify = buttonify;
31
+ //# sourceMappingURL=a11y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a11y.js","sourceRoot":"","sources":["../../src/actions/a11y.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,SAAS,CAAE,IAAiB;IAC1C,SAAS,OAAO,CAAE,CAAgB;QAChC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACrB,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;gBACxD,CAAC,CAAC,cAAc,EAAE,CAAA;gBAClB,CAAC,CAAC,eAAe,EAAE,CAAA;gBACnB,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;aAC7C;SACF;IACH,CAAC;IAED,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzC,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC;QAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;IACxC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;IACnC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAA;IAE7B,OAAO;QACL,OAAO;YACL,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAC9C,CAAC;KACF,CAAA;AACH,CAAC;AArBD,8BAqBC"}
@@ -10,12 +10,12 @@ function glue(el, { target, align = 'auto', cover = false, store }) {
10
10
  }
11
11
  let halign;
12
12
  let valign;
13
- let sharedOffset = lib_1.sharedOffsetParent(el, target);
13
+ let sharedOffset = (0, lib_1.sharedOffsetParent)(el, target);
14
14
  function reposition(offset) {
15
15
  if (!target || !sharedOffset || !(el.offsetParent instanceof HTMLElement))
16
16
  return;
17
17
  let autoalign = align;
18
- const parentoffset = el.offsetParent === sharedOffset && target !== sharedOffset ? { top: 0, left: 0, bottom: 0, right: 0 } : lib_1.targetOffset(el.offsetParent, sharedOffset);
18
+ const parentoffset = el.offsetParent === sharedOffset && target !== sharedOffset ? { top: 0, left: 0, bottom: 0, right: 0 } : (0, lib_1.targetOffset)(el.offsetParent, sharedOffset);
19
19
  if (align === 'auto') {
20
20
  const rect = target.getBoundingClientRect();
21
21
  const leftright = window.innerWidth - rect.right > rect.left ? 'left' : 'right';
@@ -65,7 +65,7 @@ function glue(el, { target, align = 'auto', cover = false, store }) {
65
65
  }
66
66
  store === null || store === void 0 ? void 0 : store.update(v => (Object.assign(Object.assign({}, v), { valign, halign })));
67
67
  }
68
- const { destroy, update } = lib_1.watchForPositionChangeInContainer(target, sharedOffset, reposition);
68
+ const { destroy, update } = (0, lib_1.watchForPositionChangeInContainer)(target, sharedOffset, reposition);
69
69
  return {
70
70
  update({ target: utarget, align: ualign = 'auto', cover: ucover = false, store: ustore }) {
71
71
  align = ualign;
@@ -75,7 +75,7 @@ function glue(el, { target, align = 'auto', cover = false, store }) {
75
75
  store = ustore;
76
76
  }
77
77
  if (target !== utarget) {
78
- sharedOffset = lib_1.sharedOffsetParent(el, utarget);
78
+ sharedOffset = (0, lib_1.sharedOffsetParent)(el, utarget);
79
79
  target = utarget;
80
80
  update(target, sharedOffset, reposition);
81
81
  }
@@ -86,3 +86,4 @@ function glue(el, { target, align = 'auto', cover = false, store }) {
86
86
  };
87
87
  }
88
88
  exports.glue = glue;
89
+ //# sourceMappingURL=glue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glue.js","sourceRoot":"","sources":["../../src/actions/glue.ts"],"names":[],"mappings":"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"}
@@ -17,3 +17,4 @@ __exportStar(require("./portal"), exports);
17
17
  __exportStar(require("./resize"), exports);
18
18
  __exportStar(require("./sticky"), exports);
19
19
  __exportStar(require("./stickyfixed"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/actions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAsB;AACtB,yCAAsB;AACtB,2CAAwB;AACxB,2CAAwB;AACxB,2CAAwB;AACxB,2CAAwB;AACxB,gDAA6B"}
@@ -12,8 +12,8 @@ function offset(el, config) {
12
12
  config.store.update(v => (Object.assign(Object.assign({}, v), current)));
13
13
  el.dispatchEvent(new CustomEvent('offset', { detail: current }));
14
14
  }
15
- let resolvedchange = (config === null || config === void 0 ? void 0 : config.debounce) ? lib_1.debounced(lookforoffsetchange, config.debounce) : lookforoffsetchange;
16
- const { destroy, update } = lib_1.watchForPositionChange(el, resolvedchange);
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
17
  return {
18
18
  update(newConfig) {
19
19
  var _a;
@@ -23,7 +23,7 @@ function offset(el, config) {
23
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
24
  }
25
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) ? lib_1.debounced(lookforoffsetchange, newConfig.debounce) : lookforoffsetchange;
26
+ resolvedchange = (newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) ? (0, lib_1.debounced)(lookforoffsetchange, newConfig.debounce) : lookforoffsetchange;
27
27
  update(el, resolvedchange);
28
28
  }
29
29
  config = newConfig;
@@ -32,3 +32,4 @@ function offset(el, config) {
32
32
  };
33
33
  }
34
34
  exports.offset = offset;
35
+ //# sourceMappingURL=offset.js.map
@@ -0,0 +1 @@
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"}
@@ -20,3 +20,4 @@ function portal(el, target = document.body) {
20
20
  };
21
21
  }
22
22
  exports.portal = portal;
23
+ //# sourceMappingURL=portal.js.map
@@ -0,0 +1 @@
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,IAAI,CAAC,MAAM;YAAE,OAAM;QACnB,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QACtB,EAAE,CAAC,MAAM,GAAG,KAAK,CAAA;IACnB,CAAC;IACD,SAAS,OAAO;QACd,IAAI,EAAE,CAAC,aAAa,EAAE;YACpB,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;SACjC;IACH,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,CAAA;IACd,OAAO;QACL,MAAM;QACN,OAAO;KACR,CAAA;AACH,CAAC;AAhBD,wBAgBC"}
@@ -12,7 +12,7 @@ function resize(el, config) {
12
12
  let lastSize = {};
13
13
  function watch() {
14
14
  const current = { clientWidth: el.clientWidth, clientHeight: el.clientHeight, offsetWidth: el.offsetWidth, offsetHeight: el.offsetHeight };
15
- if (!fast_deep_equal_1.default(lastSize, current)) {
15
+ if (!(0, fast_deep_equal_1.default)(lastSize, current)) {
16
16
  lastSize = current;
17
17
  if (config === null || config === void 0 ? void 0 : config.store)
18
18
  config.store.set(current);
@@ -21,7 +21,7 @@ function resize(el, config) {
21
21
  }
22
22
  if (!ResizeObserver)
23
23
  return watch(); // support SSR
24
- let observer = new ResizeObserver((config === null || config === void 0 ? void 0 : config.debounce) ? lib_1.debounced(watch, config.debounce) : watch);
24
+ let observer = new ResizeObserver((config === null || config === void 0 ? void 0 : config.debounce) ? (0, lib_1.debounced)(watch, config.debounce) : watch);
25
25
  observer.observe(el);
26
26
  watch();
27
27
  return {
@@ -34,7 +34,7 @@ function resize(el, config) {
34
34
  }
35
35
  if (!!(newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) !== !!(config === null || config === void 0 ? void 0 : config.debounce)) {
36
36
  observer.disconnect();
37
- observer = new ResizeObserver((newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) ? lib_1.debounced(watch, newConfig.debounce) : watch);
37
+ observer = new ResizeObserver((newConfig === null || newConfig === void 0 ? void 0 : newConfig.debounce) ? (0, lib_1.debounced)(watch, newConfig.debounce) : watch);
38
38
  observer.observe(el);
39
39
  }
40
40
  config = newConfig;
@@ -45,3 +45,4 @@ function resize(el, config) {
45
45
  };
46
46
  }
47
47
  exports.resize = resize;
48
+ //# sourceMappingURL=resize.js.map
@@ -0,0 +1 @@
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"}
@@ -60,7 +60,7 @@ function sticky(el, config) {
60
60
  if (!(offsetParent instanceof HTMLElement))
61
61
  return;
62
62
  if (lastOffsetParent !== offsetParent) {
63
- offset[0] = lib_1.bodyOffset(offsetParent);
63
+ offset[0] = (0, lib_1.bodyOffset)(offsetParent);
64
64
  update(offsetParent, onpositionchange);
65
65
  lastOffsetParent = offsetParent;
66
66
  }
@@ -69,7 +69,7 @@ function sticky(el, config) {
69
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
70
  recalc(window.scrollY);
71
71
  }
72
- const { destroy, update } = lib_1.watchForPositionChange([el.offsetParent, config === null || config === void 0 ? void 0 : config.target], onpositionchange);
72
+ const { destroy, update } = (0, lib_1.watchForPositionChange)([el.offsetParent, config === null || config === void 0 ? void 0 : config.target], onpositionchange);
73
73
  window.addEventListener('scroll', onscroll, { passive: true });
74
74
  window.addEventListener('wheel', onwheel, { passive: false });
75
75
  function stickyUpdate(newConfig) {
@@ -90,3 +90,4 @@ function sticky(el, config) {
90
90
  };
91
91
  }
92
92
  exports.sticky = sticky;
93
+ //# sourceMappingURL=sticky.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sticky.js","sourceRoot":"","sources":["../../src/actions/sticky.ts"],"names":[],"mappings":"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"}
@@ -127,7 +127,7 @@ function stickyfixed(el, config) {
127
127
  if (!(offsetParent instanceof HTMLElement))
128
128
  return;
129
129
  if (lastOffsetParent !== offsetParent) {
130
- offset[0] = lib_1.bodyOffset(offsetParent);
130
+ offset[0] = (0, lib_1.bodyOffset)(offsetParent);
131
131
  update(offsetParent, onpositionchange);
132
132
  lastOffsetParent = offsetParent;
133
133
  }
@@ -142,7 +142,7 @@ function stickyfixed(el, config) {
142
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
143
  recalc(window.scrollY);
144
144
  }
145
- const { destroy, update } = lib_1.watchForPositionChange([el.offsetParent, config === null || config === void 0 ? void 0 : config.target], onpositionchange);
145
+ const { destroy, update } = (0, lib_1.watchForPositionChange)([el.offsetParent, config === null || config === void 0 ? void 0 : config.target], onpositionchange);
146
146
  window.addEventListener('scroll', onscroll, { passive: true });
147
147
  function stickyUpdate(newConfig) {
148
148
  var _a;
@@ -163,3 +163,4 @@ function stickyfixed(el, config) {
163
163
  };
164
164
  }
165
165
  exports.stickyfixed = stickyfixed;
166
+ //# sourceMappingURL=stickyfixed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stickyfixed.js","sourceRoot":"","sources":["../../src/actions/stickyfixed.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  <script>var _a;
2
2
  import { DeepStore, classes } from '../lib';
3
- ;
4
3
  import { derived } from 'svelte/store';
5
4
  import DefaultPopupMenu from './PopupMenu.svelte';
6
5
  import ScreenReaderOnly from './ScreenReaderOnly.svelte';
@@ -113,7 +112,9 @@ $: menubuttonelement = headers[$state.keepcolumns.length - 1];
113
112
  {#if slots.footer}<tfoot><slot name="footer" item={undefined} key={undefined} value={undefined}></slot></tfoot>{/if}
114
113
  </table>
115
114
  </div>
115
+ {#if $menuitems.length > 0}
116
116
  <svelte:component this={PopupMenu} {menuContainerClass} {menuClass} {menuItemClass} {menuItemHilitedClass} items={$menuitems} buttonelement={menubuttonelement} bind:selected></svelte:component>
117
+ {/if}
117
118
 
118
119
  <style>
119
120
  table { width: 100%; }
@@ -1,31 +1,25 @@
1
- <script context="module">"use strict";
2
- const FocusLockStack = [];
1
+ <script context="module">const FocusLockStack = [];
3
2
  </script>
4
3
 
5
- <script>var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
6
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7
- return new (P || (P = Promise))(function (resolve, reject) {
8
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
10
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11
- step((generator = generator.apply(thisArg, _arguments || [])).next());
12
- });
13
- };
14
- export let returnfocusto = undefined;
4
+ <script>export let returnfocusto = undefined;
5
+ export let initialfocus = undefined;
15
6
  export let hidefocus = true;
16
- export let hidefocuslabel = "focus is above dialog";
7
+ export let hidefocuslabel = "focus is above modal dialog, start tabbing";
17
8
  export let escapable = true;
18
9
  let className = '';
19
10
  export { className as class };
20
11
  import { onMount, onDestroy, createEventDispatcher, tick } from 'svelte';
21
12
  import { tabbable } from 'tabbable';
13
+ import { sleep } from 'txstate-utils';
22
14
  import { buttonify } from '../actions';
23
15
  import ScreenReaderOnly from './ScreenReaderOnly.svelte';
24
16
  const dispatch = createEventDispatcher();
25
17
  let lockelement;
26
18
  let abovelockelement;
27
19
  let active = true;
28
- onMount(() => {
20
+ if (initialfocus)
21
+ hidefocus = false;
22
+ onMount(async () => {
29
23
  const prevFocusLock = FocusLockStack.slice(-1)[0];
30
24
  if (prevFocusLock)
31
25
  prevFocusLock.pause();
@@ -36,13 +30,28 @@ onMount(() => {
36
30
  if (typeof returnfocusto === 'undefined') {
37
31
  returnfocusto = document.querySelector(':focus');
38
32
  }
39
- setInitialFocus();
33
+ await sleep(1);
34
+ if (initialfocus) {
35
+ const focusEl = lockelement.querySelector(initialfocus);
36
+ if (focusEl instanceof HTMLElement)
37
+ focusEl.focus();
38
+ }
39
+ else {
40
+ setInitialFocus();
41
+ }
40
42
  });
41
- onDestroy(() => __awaiter(void 0, void 0, void 0, function* () {
43
+ onDestroy(async () => {
42
44
  const wasactive = active;
43
- const focuswasinside = lockelement.matches(':focus-within');
45
+ let focuswasinside;
46
+ try {
47
+ focuswasinside = lockelement.matches(':focus-within');
48
+ }
49
+ catch (e) {
50
+ // browser doesn't support :focus-within
51
+ focuswasinside = true;
52
+ }
44
53
  active = false;
45
- yield tick();
54
+ await tick();
46
55
  if (returnfocusto && wasactive && focuswasinside) {
47
56
  returnfocusto.focus();
48
57
  }
@@ -50,7 +59,7 @@ onDestroy(() => __awaiter(void 0, void 0, void 0, function* () {
50
59
  const prevFocusLock = FocusLockStack.slice(-1)[0];
51
60
  if (prevFocusLock)
52
61
  prevFocusLock.unpause();
53
- }));
62
+ });
54
63
  const setInitialFocus = () => {
55
64
  const firstfocus = tabbable(lockelement)[0];
56
65
  if (firstfocus && firstfocus.focus) {
@@ -2,6 +2,7 @@
2
2
  export let hidefocus = true;
3
3
  export let hidefocuslabel = undefined;
4
4
  export let returnfocusto = undefined;
5
+ export let initialfocus = undefined;
5
6
  import FocusLock from './FocusLock.svelte';
6
7
  import { createEventDispatcher, onMount } from 'svelte';
7
8
  import { portal } from '../actions';
@@ -18,7 +19,7 @@ onMount(() => {
18
19
  </script>
19
20
 
20
21
  <div use:portal class="modal-backdrop" on:click={() => lockbackdrop || endmodal()}>
21
- <FocusLock class="modal-container" escapable={!lockbackdrop} on:escape={endmodal} {hidefocus} {hidefocuslabel} {returnfocusto} on:escape={() => lockbackdrop || endmodal()}>
22
+ <FocusLock class="modal-container" escapable={!lockbackdrop} on:escape={endmodal} {hidefocus} {hidefocuslabel} {returnfocusto} {initialfocus} on:escape={() => lockbackdrop || endmodal()}>
22
23
  <slot></slot>
23
24
  </FocusLock>
24
25
  </div>
@@ -1,18 +1,7 @@
1
- <script>var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- ;
11
- import { glue, portal } from '../actions';
1
+ <script>import { glue, portal } from '../actions';
12
2
  import { createEventDispatcher, onDestroy, tick } from 'svelte';
13
3
  import { randomid } from 'txstate-utils';
14
- ;
15
- import { DeepStore, SettableSubject } from '../lib';
4
+ import { DeepStore } from '../lib';
16
5
  import ScreenReaderOnly from './ScreenReaderOnly.svelte';
17
6
  const dispatch = createEventDispatcher();
18
7
  export let menushown = false;
@@ -40,34 +29,30 @@ let lastactive = items.length - 1;
40
29
  function hiddenItem(item) {
41
30
  return !!item && !showSelected && item.value === (selected === null || selected === void 0 ? void 0 : selected.value);
42
31
  }
43
- function reactToItems(..._) {
32
+ async function reactToItems(..._) {
44
33
  var _a;
45
- return __awaiter(this, void 0, void 0, function* () {
46
- firstactive = items.findIndex(itm => !itm.disabled && !hiddenItem(itm));
47
- lastactive = items.length - [...items].reverse().findIndex(itm => !itm.disabled && !hiddenItem(itm)) - 1;
48
- if (hilited && ((_a = items[hilited]) === null || _a === void 0 ? void 0 : _a.disabled))
49
- hilited = firstactive;
50
- });
34
+ firstactive = items.findIndex(itm => !itm.disabled && !hiddenItem(itm));
35
+ lastactive = items.length - [...items].reverse().findIndex(itm => !itm.disabled && !hiddenItem(itm)) - 1;
36
+ if (hilited && ((_a = items[hilited]) === null || _a === void 0 ? void 0 : _a.disabled))
37
+ hilited = firstactive;
51
38
  }
52
39
  $: reactToItems(items, selected);
53
- function reactToMenuShown(_) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- if (!buttonelement) {
56
- hilited = undefined;
57
- return;
58
- }
59
- yield tick();
60
- if (!menushown) {
61
- hilited = undefined;
62
- buttonelement.removeAttribute('aria-controls');
63
- buttonelement.setAttribute('aria-expanded', 'false');
64
- }
65
- else {
66
- buttonelement.setAttribute('aria-controls', menuid);
67
- buttonelement.setAttribute('aria-expanded', 'true');
68
- }
69
- buttonelement.focus();
70
- });
40
+ async function reactToMenuShown(_) {
41
+ if (!buttonelement) {
42
+ hilited = undefined;
43
+ return;
44
+ }
45
+ await tick();
46
+ if (!menushown) {
47
+ hilited = undefined;
48
+ buttonelement.removeAttribute('aria-controls');
49
+ buttonelement.setAttribute('aria-expanded', 'false');
50
+ }
51
+ else {
52
+ buttonelement.setAttribute('aria-controls', menuid);
53
+ buttonelement.setAttribute('aria-expanded', 'true');
54
+ }
55
+ buttonelement.focus();
71
56
  }
72
57
  $: reactToMenuShown(menushown);
73
58
  function move(idx) {
@@ -157,12 +142,10 @@ function onbuttonclick(e) {
157
142
  e.preventDefault();
158
143
  menushown = !menushown;
159
144
  }
160
- function onblur(e) {
161
- return __awaiter(this, void 0, void 0, function* () {
162
- // tabindex=-1 on our menu elements means e.relatedTarget will be set
163
- if (!(e.relatedTarget instanceof HTMLElement && (menuelement === null || menuelement === void 0 ? void 0 : menuelement.contains(e.relatedTarget))))
164
- menushown = false;
165
- });
145
+ async function onblur(e) {
146
+ // tabindex=-1 on our menu elements means e.relatedTarget will be set
147
+ if (!(e.relatedTarget instanceof HTMLElement && (menuelement === null || menuelement === void 0 ? void 0 : menuelement.contains(e.relatedTarget))))
148
+ menushown = false;
166
149
  }
167
150
  function cleanup(element) {
168
151
  if (element) {
@@ -16,3 +16,4 @@ var PopupMenu_svelte_1 = require("./PopupMenu.svelte");
16
16
  Object.defineProperty(exports, "PopupMenu", { enumerable: true, get: function () { return __importDefault(PopupMenu_svelte_1).default; } });
17
17
  var ScreenReaderOnly_svelte_1 = require("./ScreenReaderOnly.svelte");
18
18
  Object.defineProperty(exports, "ScreenReaderOnly", { enumerable: true, get: function () { return __importDefault(ScreenReaderOnly_svelte_1).default; } });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":";;;;;;AAAA,mEAAqE;AAA5D,0IAAA,OAAO,OAAmB;AACnC,uDAAyD;AAAhD,8HAAA,OAAO,OAAa;AAC7B,yEAA2E;AAAlE,gJAAA,OAAO,OAAsB;AACtC,+CAAiD;AAAxC,sHAAA,OAAO,OAAS;AACzB,uDAAyD;AAAhD,8HAAA,OAAO,OAAa;AAC7B,qEAAuE;AAA9D,4IAAA,OAAO,OAAoB"}
package/dist/index.js CHANGED
@@ -14,3 +14,4 @@ __exportStar(require("./components"), exports);
14
14
  __exportStar(require("./actions"), exports);
15
15
  __exportStar(require("./lib"), exports);
16
16
  __exportStar(require("./types"), exports);
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA4B;AAC5B,4CAAyB;AACzB,wCAAqB;AACrB,0CAAuB"}
@@ -73,3 +73,4 @@ function getTranslate(element) {
73
73
  z: 0
74
74
  };
75
75
  }
76
+ //# sourceMappingURL=bodyoffset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bodyoffset.js","sourceRoot":"","sources":["../../src/lib/bodyoffset.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ class DeepStore {
45
45
  set(value) {
46
46
  if (this.pause)
47
47
  return;
48
- if (!fast_deep_equal_1.default(value, this.value)) {
48
+ if (!(0, fast_deep_equal_1.default)(value, this.value)) {
49
49
  this.value = this.clone(value);
50
50
  for (const [id, run] of this.subscribers) {
51
51
  run(value);
@@ -77,3 +77,4 @@ class DeepStore {
77
77
  }
78
78
  }
79
79
  exports.DeepStore = DeepStore;
80
+ //# sourceMappingURL=deepstore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deepstore.js","sourceRoot":"","sources":["../../src/lib/deepstore.ts"],"names":[],"mappings":";;;;;;AACA,sEAAuC;AAcvC,SAAS,UAAU,CAAM,KAAoB;IAC3C,OAAO,CAAC,CAAE,KAAqB,CAAC,SAAS,CAAA;AAC3C,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,SAAS;IAOpB,YAAa,KAAoB;QAJvB,aAAQ,GAAmB,EAAE,CAAA;QAE/B,UAAK,GAAG,KAAK,CAAA;QAGnB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAA;QAC5B,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC1D;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;SAC/B;IACH,CAAC;IAED,KAAK,CAAE,KAAQ;QACb,OAAO,KAAK,CAAA;IACd,CAAC;IAED,GAAG,CAAE,KAAQ;QACX,IAAI,IAAI,CAAC,KAAK;YAAE,OAAM;QACtB,IAAI,CAAC,IAAA,yBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACjC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC9B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;gBACxC,GAAG,CAAC,KAAK,CAAC,CAAA;aACX;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;gBACjB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;aACnB;SACF;IACH,CAAC;IAED,MAAM,CAAE,OAAwB;QAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,SAAS,CAAE,GAAkB;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QACrC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAC7B,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACf,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAA;IAC9C,CAAC;IAES,OAAO,CAAE,EAAc;QAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,QAAQ;YAAE,EAAE,EAAE,CAAA;QACpC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAA;IAC1B,CAAC;CACF;AAxDD,8BAwDC"}
@@ -18,7 +18,7 @@ class DerivedStore extends deepstore_1.DeepStore {
18
18
  constructor(store, getter) {
19
19
  if (typeof getter === 'string') {
20
20
  const accessor = getter;
21
- getter = (parentValue) => txstate_utils_1.get(parentValue, accessor);
21
+ getter = (parentValue) => (0, txstate_utils_1.get)(parentValue, accessor);
22
22
  }
23
23
  super({});
24
24
  if (Array.isArray(store)) {
@@ -50,3 +50,4 @@ class DerivedStore extends deepstore_1.DeepStore {
50
50
  }
51
51
  }
52
52
  exports.DerivedStore = DerivedStore;
53
+ //# sourceMappingURL=derivedstore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivedstore.js","sourceRoot":"","sources":["../../src/lib/derivedstore.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AACtD,iDAAmC;AACnC,wCAA4C;AAE5C;;;;;;;;;GASG;AACH,MAAa,YAA4C,SAAQ,qBAAsB;IAIrF,YAAa,KAA8C,EAAE,MAA6E;QACxI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,MAAM,QAAQ,GAAG,MAAM,CAAA;YACvB,MAAM,GAAG,CAAC,WAAgB,EAAE,EAAE,CAAC,IAAA,mBAAG,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;SAC1D;QACD,KAAK,CAAC,EAAS,CAAC,CAAA;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,WAAM,CAAC,CAAA;YAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAI,WAAW,CAAA;gBACf,IAAI,KAAK,YAAY,qBAAS,EAAE;oBAC9B,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wBACnC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;wBAC1B,KAAK,CAAC,GAAG,CAAE,MAAyC,CAAC,MAAM,CAAC,CAAC,CAAA;oBAC/D,CAAC,CAAC,CAAA;iBACH;qBAAM;oBACL,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;wBACnC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;wBACb,KAAK,CAAC,GAAG,CAAE,MAAyC,CAAC,MAAM,CAAC,CAAC,CAAA;oBAC/D,CAAC,CAAC,CAAA;iBACH;gBACD,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;aAC1B;YACD,KAAK,CAAC,GAAG,CAAE,MAAyC,CAAC,MAAM,CAAC,CAAC,CAAA;SAC9D;aAAM;YACL,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACtC,KAAK,CAAC,GAAG,CAAE,MAAsC,CAAC,CAAC,CAAC,CAAC,CAAA;YACvD,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;SAC1B;IACH,CAAC;CACF;AAnCD,oCAmCC"}
package/dist/lib/index.js CHANGED
@@ -17,3 +17,4 @@ __exportStar(require("./repositioned"), exports);
17
17
  __exportStar(require("./safestore"), exports);
18
18
  __exportStar(require("./substore"), exports);
19
19
  __exportStar(require("./util"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA4B;AAC5B,8CAA2B;AAC3B,iDAA8B;AAC9B,iDAA8B;AAC9B,8CAA2B;AAC3B,6CAA0B;AAC1B,yCAAsB"}
@@ -24,7 +24,7 @@ function watchForMutations(cb) {
24
24
  characterData: true
25
25
  });
26
26
  }
27
- const id = txstate_utils_1.randomid();
27
+ const id = (0, txstate_utils_1.randomid)();
28
28
  observers.set(id, cb);
29
29
  cb();
30
30
  return {
@@ -40,10 +40,10 @@ function watchForMutations(cb) {
40
40
  exports.watchForMutations = watchForMutations;
41
41
  function watchForPositionChange(el, cb) {
42
42
  let lastoffsets = [];
43
- let els = txstate_utils_1.toArray(el).filter(txstate_utils_1.isNotNull);
43
+ let els = (0, txstate_utils_1.toArray)(el).filter(txstate_utils_1.isNotNull);
44
44
  function watch() {
45
45
  const offsets = els.map(bodyoffset_1.bodyOffset);
46
- if (offsets.some((offset, i) => !fast_deep_equal_1.default(offset, lastoffsets[i]))) {
46
+ if (offsets.some((offset, i) => !(0, fast_deep_equal_1.default)(offset, lastoffsets[i]))) {
47
47
  lastoffsets = offsets;
48
48
  Array.isArray(el) ? cb(offsets) : cb(offsets[0]);
49
49
  }
@@ -54,7 +54,7 @@ function watchForPositionChange(el, cb) {
54
54
  const changed = newEl !== el || newCb !== cb;
55
55
  if (changed) {
56
56
  el = newEl;
57
- els = txstate_utils_1.toArray(el).filter(txstate_utils_1.isNotNull);
57
+ els = (0, txstate_utils_1.toArray)(el).filter(txstate_utils_1.isNotNull);
58
58
  cb = newCb;
59
59
  watch();
60
60
  }
@@ -68,8 +68,8 @@ function watchForPositionChangeInContainer(el, container, cb) {
68
68
  function watch() {
69
69
  if (!el || !container)
70
70
  return;
71
- const offset = bodyoffset_1.targetOffset(el, container);
72
- if (!fast_deep_equal_1.default(offset, lastoffset)) {
71
+ const offset = (0, bodyoffset_1.targetOffset)(el, container);
72
+ if (!(0, fast_deep_equal_1.default)(offset, lastoffset)) {
73
73
  lastoffset = offset;
74
74
  cb(offset);
75
75
  }
@@ -89,3 +89,4 @@ function watchForPositionChangeInContainer(el, container, cb) {
89
89
  };
90
90
  }
91
91
  exports.watchForPositionChangeInContainer = watchForPositionChangeInContainer;
92
+ //# sourceMappingURL=repositioned.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repositioned.js","sourceRoot":"","sources":["../../src/lib/repositioned.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.SafeStore = void 0;
7
7
  const deepstore_1 = require("./deepstore");
8
8
  const rfdc_1 = __importDefault(require("rfdc"));
9
- const cloneDeep = rfdc_1.default();
9
+ const cloneDeep = (0, rfdc_1.default)();
10
10
  class SafeStore extends deepstore_1.DeepStore {
11
11
  clone(value) {
12
12
  return cloneDeep(value);
13
13
  }
14
14
  }
15
15
  exports.SafeStore = SafeStore;
16
+ //# sourceMappingURL=safestore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safestore.js","sourceRoot":"","sources":["../../src/lib/safestore.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAuC;AACvC,gDAAuB;AACvB,MAAM,SAAS,GAAG,IAAA,cAAI,GAAE,CAAA;AAExB,MAAa,SAAa,SAAQ,qBAAY;IAC5C,KAAK,CAAE,KAAQ;QACb,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;CACF;AAJD,8BAIC"}
@@ -21,8 +21,8 @@ class SubStore extends deepstore_1.DeepStore {
21
21
  constructor(store, getter, setter) {
22
22
  if (typeof getter === 'string') {
23
23
  const accessor = getter;
24
- getter = parentValue => txstate_utils_1.get(parentValue, accessor);
25
- setter = (newValue, parentValue) => txstate_utils_1.set(parentValue, accessor, newValue);
24
+ getter = parentValue => (0, txstate_utils_1.get)(parentValue, accessor);
25
+ setter = (newValue, parentValue) => (0, txstate_utils_1.set)(parentValue, accessor, newValue);
26
26
  }
27
27
  super({});
28
28
  this.parentStore = store;
@@ -43,3 +43,4 @@ class SubStore extends deepstore_1.DeepStore {
43
43
  }
44
44
  }
45
45
  exports.SubStore = SubStore;
46
+ //# sourceMappingURL=substore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"substore.js","sourceRoot":"","sources":["../../src/lib/substore.ts"],"names":[],"mappings":";;;AAAA,iDAAwC;AACxC,2CAAwD;AAExD;;;;;;;;;;;;;GAaG;AACH,MAAa,QAAoC,SAAQ,qBAAkB;IAMzE,YAAa,KAAkC,EAAE,MAA+C,EAAE,MAA0D;QAC1J,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,MAAM,QAAQ,GAAG,MAAM,CAAA;YACvB,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC,IAAA,mBAAG,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;YAClD,MAAM,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,CAAC,IAAA,mBAAG,EAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;SACzE;QACD,KAAK,CAAC,EAAS,CAAC,CAAA;QAChB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,MAAO,CAAA;QACrB,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YACtC,KAAK,CAAC,GAAG,CAAE,MAAc,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IAC3B,CAAC;IAED,GAAG,CAAE,KAAc;QACjB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,KAAK,CAAE,KAAc;;QACnB,6EAA6E;QAC7E,sDAAsD;QACtD,OAAO,MAAA,MAAA,MAAC,IAAI,CAAC,WAA8B,0CAAE,KAAK,mDAAG,KAAK,CAAC,mCAAI,KAAK,CAAA;IACtE,CAAC;CACF;AA9BD,4BA8BC"}
package/dist/lib/util.js CHANGED
@@ -13,3 +13,4 @@ function debounced(fn, timeout) {
13
13
  };
14
14
  }
15
15
  exports.debounced = debounced;
16
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/lib/util.ts"],"names":[],"mappings":";;;AAAA,SAAgB,OAAO,CAAE,GAAG,UAAkC;IAC5D,OAAO,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC7C,CAAC;AAFD,0BAEC;AAED,SAAgB,SAAS,CAAE,EAAY,EAAE,OAAe;IACtD,IAAI,KAAqB,CAAA;IACzB,OAAO,CAAC,GAAG,IAAW,EAAE,EAAE;QACxB,YAAY,CAAC,KAAK,CAAC,CAAA;QACnB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;IAChD,CAAC,CAAA;AACH,CAAC;AAND,8BAMC"}
@@ -112,7 +112,9 @@
112
112
  {#if slots.footer}<tfoot><slot name="footer" item={undefined} key={undefined} value={undefined}></slot></tfoot>{/if}
113
113
  </table>
114
114
  </div>
115
+ {#if $menuitems.length > 0}
115
116
  <svelte:component this={PopupMenu} {menuContainerClass} {menuClass} {menuItemClass} {menuItemHilitedClass} items={$menuitems} buttonelement={menubuttonelement} bind:selected></svelte:component>
117
+ {/if}
116
118
 
117
119
  <style>
118
120
  table { width: 100%; }
@@ -4,21 +4,24 @@
4
4
 
5
5
  <script lang="ts">
6
6
  export let returnfocusto: HTMLElement|null|undefined = undefined
7
+ export let initialfocus: string|undefined = undefined
7
8
  export let hidefocus = true
8
- export let hidefocuslabel = "focus is above dialog"
9
+ export let hidefocuslabel = "focus is above modal dialog, start tabbing"
9
10
  export let escapable = true
10
11
  let className = ''
11
12
  export { className as class }
12
13
 
13
14
  import { onMount, onDestroy, createEventDispatcher, tick } from 'svelte'
14
15
  import { tabbable } from 'tabbable'
16
+ import { sleep } from 'txstate-utils'
15
17
  import { buttonify } from '../actions'
16
18
  import ScreenReaderOnly from './ScreenReaderOnly.svelte'
17
19
  const dispatch = createEventDispatcher()
18
20
  let lockelement: HTMLElement
19
21
  let abovelockelement: HTMLElement
20
22
  let active = true
21
- onMount(() => {
23
+ if (initialfocus) hidefocus = false
24
+ onMount(async () => {
22
25
  const prevFocusLock = FocusLockStack.slice(-1)[0]
23
26
  if (prevFocusLock) prevFocusLock.pause()
24
27
  FocusLockStack.push({
@@ -28,11 +31,23 @@
28
31
  if (typeof returnfocusto === 'undefined') {
29
32
  returnfocusto = document.querySelector(':focus') as HTMLElement
30
33
  }
31
- setInitialFocus()
34
+ await sleep(1)
35
+ if (initialfocus) {
36
+ const focusEl = lockelement.querySelector(initialfocus)
37
+ if (focusEl instanceof HTMLElement) focusEl.focus()
38
+ } else {
39
+ setInitialFocus()
40
+ }
32
41
  })
33
42
  onDestroy(async () => {
34
43
  const wasactive = active
35
- const focuswasinside = lockelement.matches(':focus-within')
44
+ let focuswasinside
45
+ try {
46
+ focuswasinside = lockelement.matches(':focus-within')
47
+ } catch (e: any) {
48
+ // browser doesn't support :focus-within
49
+ focuswasinside = true
50
+ }
36
51
  active = false
37
52
  await tick()
38
53
  if (returnfocusto && wasactive && focuswasinside) {
@@ -3,10 +3,10 @@
3
3
  export let hidefocus = true
4
4
  export let hidefocuslabel: string|undefined = undefined
5
5
  export let returnfocusto: HTMLElement|undefined = undefined
6
+ export let initialfocus: string|undefined = undefined
6
7
  import FocusLock from './FocusLock.svelte'
7
8
  import { createEventDispatcher, onMount } from 'svelte'
8
9
  import { portal } from '../actions';
9
-
10
10
  const dispatch = createEventDispatcher()
11
11
  const endmodal = () => {
12
12
  dispatch('dismiss')
@@ -20,7 +20,7 @@
20
20
  </script>
21
21
 
22
22
  <div use:portal class="modal-backdrop" on:click={() => lockbackdrop || endmodal()}>
23
- <FocusLock class="modal-container" escapable={!lockbackdrop} on:escape={endmodal} {hidefocus} {hidefocuslabel} {returnfocusto} on:escape={() => lockbackdrop || endmodal()}>
23
+ <FocusLock class="modal-container" escapable={!lockbackdrop} on:escape={endmodal} {hidefocus} {hidefocuslabel} {returnfocusto} {initialfocus} on:escape={() => lockbackdrop || endmodal()}>
24
24
  <slot></slot>
25
25
  </FocusLock>
26
26
  </div>
@@ -0,0 +1 @@
1
+ import '@testing-library/jest-dom';
@@ -4,7 +4,7 @@
4
4
  </script>
5
5
 
6
6
  {#if shown}
7
- <Modal on:dismiss={() => shown = false}>
7
+ <Modal initialfocus='input[type="submit"]' on:dismiss={() => shown = false}>
8
8
  <form>
9
9
  <div class="formfield">
10
10
  <label for="firstname">First Name:</label><input id="firstname" type="text" name="firstname">
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CollapsingTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CollapsingTable.js","sourceRoot":"","sources":["../../src/types/CollapsingTable.ts"],"names":[],"mappings":""}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=PopupMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PopupMenu.js","sourceRoot":"","sources":["../../src/types/PopupMenu.ts"],"names":[],"mappings":""}
@@ -12,3 +12,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./CollapsingTable"), exports);
14
14
  __exportStar(require("./PopupMenu"), exports);
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiC;AACjC,8CAA2B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@txstate-mws/svelte-components",
3
- "version": "0.0.63",
3
+ "version": "0.0.67",
4
4
  "description": "Svelte components that are generically useful.",
5
5
  "main": "dist/index.js",
6
6
  "module": "esm/index.js",
@@ -30,26 +30,20 @@
30
30
  "@storybook/svelte": "^6.2.9",
31
31
  "@testing-library/jest-dom": "^5.11.9",
32
32
  "@testing-library/svelte": "^3.0.3",
33
- "@tsconfig/svelte": "^1.0.10",
34
- "@types/jest": "^26.0.20",
35
- "@types/node": "^15.3.1",
36
- "@typescript-eslint/eslint-plugin": "^4.14.1",
37
- "@typescript-eslint/parser": "^4.14.1",
38
- "babel-jest": "^26.6.3",
39
- "eslint": "^7.18.0",
40
- "eslint-config-standard-with-typescript": "^20.0.0",
41
- "eslint-plugin-import": "^2.22.0",
42
- "eslint-plugin-node": "^11.1.0",
43
- "eslint-plugin-promise": "^4.2.1",
33
+ "@tsconfig/svelte": "^2.0.1",
34
+ "@types/jest": "^27.0.3",
35
+ "@types/node": "^16.11.12",
36
+ "babel-jest": "^27.4.4",
37
+ "eslint-config-standard-with-typescript": "^21.0.1",
44
38
  "eslint-plugin-svelte3": "^3.0.0",
45
39
  "fs-extra": "^10.0.0",
46
40
  "glob": "^7.1.6",
47
- "jest": "^26.6.3",
41
+ "jest": "^27.4.4",
48
42
  "svelte": "^3.37.0",
49
- "svelte-check": "^1.1.31",
50
- "svelte-jester": "^1.3.0",
43
+ "svelte-check": "^2.2.10",
44
+ "svelte-jester": "^2.1.5",
51
45
  "svelte-preprocess": "^4.6.5",
52
- "ts-jest": "^26.5.0",
46
+ "ts-jest": "^27.1.1",
53
47
  "tslib": "^2.1.0",
54
48
  "typescript": "^4.1.3"
55
49
  },
@@ -70,6 +64,7 @@
70
64
  "ts",
71
65
  "svelte"
72
66
  ],
67
+ "testEnvironment": "jsdom",
73
68
  "setupFilesAfterEnv": [
74
69
  "@testing-library/jest-dom"
75
70
  ]