@maggioli-design-system/mds-tab 6.3.1 → 6.3.3

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 (63) hide show
  1. package/dist/cjs/{index-a91d315b.js → index-2b0d567f.js} +22 -13
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/mds-tab.cjs.entry.js +67 -67
  4. package/dist/cjs/mds-tab.cjs.js +2 -2
  5. package/dist/collection/collection-manifest.json +1 -1
  6. package/dist/collection/common/aria.js +18 -18
  7. package/dist/collection/common/keyboard-manager.js +38 -38
  8. package/dist/collection/common/unit.js +7 -7
  9. package/dist/collection/components/mds-tab/mds-tab.css +7 -32
  10. package/dist/collection/components/mds-tab/mds-tab.js +107 -107
  11. package/dist/collection/components/mds-tab/meta/dictionary.js +4 -4
  12. package/dist/collection/components/mds-tab/test/mds-tab.e2e.js +7 -7
  13. package/dist/collection/components/mds-tab/test/mds-tab.stories.js +1 -1
  14. package/dist/collection/dictionary/autocomplete.js +56 -56
  15. package/dist/collection/dictionary/button.js +19 -19
  16. package/dist/collection/dictionary/color.js +14 -14
  17. package/dist/collection/dictionary/floating-ui.js +14 -14
  18. package/dist/collection/dictionary/input.js +31 -15
  19. package/dist/collection/dictionary/loading.js +2 -2
  20. package/dist/collection/dictionary/typography.js +46 -46
  21. package/dist/collection/dictionary/variant.js +54 -54
  22. package/dist/collection/fixtures/cities.js +107 -107
  23. package/dist/components/mds-tab.d.ts +2 -2
  24. package/dist/components/mds-tab.js +80 -80
  25. package/dist/documentation.json +2 -2
  26. package/dist/esm/{index-1dcfadc0.js → index-599ade1c.js} +22 -13
  27. package/dist/esm/loader.js +2 -2
  28. package/dist/esm/mds-tab.entry.js +67 -67
  29. package/dist/esm/mds-tab.js +3 -3
  30. package/dist/esm-es5/loader.js +1 -1
  31. package/dist/esm-es5/mds-tab.entry.js +1 -1
  32. package/dist/esm-es5/mds-tab.js +1 -1
  33. package/dist/mds-tab/mds-tab.esm.js +1 -1
  34. package/dist/mds-tab/mds-tab.js +15 -15
  35. package/dist/mds-tab/{p-9da58f9b.entry.js → p-46272cf0.entry.js} +1 -1
  36. package/dist/mds-tab/p-72bd3326.system.entry.js +1 -0
  37. package/{www/build/p-2ad39b4e.system.js → dist/mds-tab/p-d6316140.system.js} +1 -1
  38. package/dist/stats.json +30 -30
  39. package/dist/types/common/keyboard-manager.d.ts +9 -9
  40. package/dist/types/components/mds-tab/mds-tab.d.ts +17 -17
  41. package/dist/types/components/mds-tab/meta/event-detail.d.ts +1 -1
  42. package/dist/types/components/mds-tab/test/mds-tab.stories.d.ts +1 -1
  43. package/dist/types/dictionary/input.d.ts +2 -1
  44. package/dist/types/interface/input-value.d.ts +1 -1
  45. package/dist/types/stencil-public-runtime.d.ts +8 -0
  46. package/documentation.json +14 -4
  47. package/package.json +4 -4
  48. package/src/components/mds-tab/mds-tab.css +7 -9
  49. package/src/dictionary/input.ts +18 -0
  50. package/src/fixtures/icons.json +3 -0
  51. package/src/fixtures/iconsauce.json +3 -0
  52. package/www/build/mds-tab.esm.js +1 -1
  53. package/www/build/mds-tab.js +15 -15
  54. package/www/build/{p-9da58f9b.entry.js → p-46272cf0.entry.js} +1 -1
  55. package/www/build/p-72bd3326.system.entry.js +1 -0
  56. package/{dist/mds-tab/p-2ad39b4e.system.js → www/build/p-d6316140.system.js} +1 -1
  57. package/dist/mds-tab/p-5038bb66.system.entry.js +0 -1
  58. package/www/build/p-5038bb66.system.entry.js +0 -1
  59. /package/dist/esm-es5/{index-1dcfadc0.js → index-599ade1c.js} +0 -0
  60. /package/dist/mds-tab/{p-400b338e.js → p-48174b71.js} +0 -0
  61. /package/dist/mds-tab/{p-67e5503f.system.js → p-92eb61ef.system.js} +0 -0
  62. /package/www/build/{p-400b338e.js → p-48174b71.js} +0 -0
  63. /package/www/build/{p-67e5503f.system.js → p-92eb61ef.system.js} +0 -0
@@ -334,7 +334,11 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
334
334
  elm[memberName] = newValue;
335
335
  }
336
336
  }
337
- catch (e) { }
337
+ catch (e) {
338
+ /**
339
+ * in case someone tries to set a read-only property, e.g. "namespaceURI", we just ignore it
340
+ */
341
+ }
338
342
  }
339
343
  if (newValue == null || newValue === false) {
340
344
  if (newValue !== false || elm.getAttribute(memberName) === '') {
@@ -353,6 +357,11 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
353
357
  }
354
358
  };
355
359
  const parseClassListRegex = /\s/;
360
+ /**
361
+ * Parsed a string of classnames into an array
362
+ * @param value className string, e.g. "foo bar baz"
363
+ * @returns list of classes, e.g. ["foo", "bar", "baz"]
364
+ */
356
365
  const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
357
366
  const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
358
367
  // if the element passed in is a shadow root, which is a document fragment
@@ -1137,19 +1146,19 @@ const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
1137
1146
  return module[exportName];
1138
1147
  }
1139
1148
 
1140
- if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1141
- const processMod = importedModule => {
1142
- cmpModules.set(bundleId, importedModule);
1143
- return importedModule[exportName];
1144
- }
1145
- switch(bundleId) {
1146
-
1147
- case 'mds-tab.cjs':
1148
- return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1149
- /* webpackMode: "lazy" */
1150
- './mds-tab.cjs.entry.js')); }).then(processMod, consoleError);
1149
+ if (!hmrVersionId || !BUILD.hotModuleReplacement) {
1150
+ const processMod = importedModule => {
1151
+ cmpModules.set(bundleId, importedModule);
1152
+ return importedModule[exportName];
1153
+ }
1154
+ switch(bundleId) {
1155
+
1156
+ case 'mds-tab.cjs':
1157
+ return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1158
+ /* webpackMode: "lazy" */
1159
+ './mds-tab.cjs.entry.js')); }).then(processMod, consoleError);
1160
+ }
1151
1161
  }
1152
- }
1153
1162
  return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
1154
1163
  /* @vite-ignore */
1155
1164
  /* webpackInclude: /\.entry\.js$/ */
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-a91d315b.js');
5
+ const index = require('./index-2b0d567f.js');
6
6
 
7
7
  const defineCustomElements = (win, options) => {
8
8
  if (typeof window === 'undefined') return undefined;
@@ -2,76 +2,76 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-a91d315b.js');
5
+ const index = require('./index-2b0d567f.js');
6
6
 
7
- const mdsTabCss = "@tailwind components; .fixed{position:fixed}.absolute{position:absolute}.grid{display:grid}.contents{display:contents}.hidden{display:none}.auto-rows-min{grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content}.gap-1{gap:0.25rem}.gap-2{gap:0.5rem}.gap-6{gap:1.5rem}.rounded-lg{border-radius:0.5rem}.border{border-width:1px}.px-2{padding-left:0.5rem;padding-right:0.5rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host{--mds-tab-duration:.75s;--mds-tab-timing-function:cubic-bezier(1, 0, 0, 1);display:grid}.tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none;gap:0.5rem;padding:0.5rem;background-color:rgb(var(--theme-default-06-secondary-background));border-radius:0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;overflow:auto;scroll-behavior:smooth;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}.tabs::-webkit-scrollbar{display:none}.contents{--mds-tab-contents-height:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none;gap:1.5rem;-ms-flex-align:start;align-items:flex-start;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;height:var(--mds-tab-contents-height);overflow-x:auto;overflow-y:hidden;position:relative;scroll-behavior:smooth;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;-webkit-transition:height var(--mds-tab-duration) var(--mds-tab-timing-function);transition:height var(--mds-tab-duration) var(--mds-tab-timing-function)}::slotted([slot=\"content\"]){width:100%;min-width:100%;-webkit-animation-duration:var(--mds-tab-duration);animation-duration:var(--mds-tab-duration);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:var(--mds-tab-timing-function);animation-timing-function:var(--mds-tab-timing-function);-ms-flex-preferred-size:0;flex-basis:0;scroll-snap-align:start}:host([strategy=\"default\"]) ::slotted([slot=\"content\"]){left:0px;right:0px;top:0px;opacity:0;background-color:rgb(var(--label-blue-06));pointer-events:none;position:absolute}@media (min-width: 768px){.tablet\\:grid-cols-\\[1fr_2fr\\]{grid-template-columns:1fr 2fr}}";
7
+ const mdsTabCss = "@tailwind components; .fixed{position:fixed}.absolute{position:absolute}.grid{display:grid}.contents{display:contents}.hidden{display:none}.auto-rows-min{grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content}.rounded-lg{border-radius:0.5rem}.border{border-width:1px}.text{font-size:1rem}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}:host{--mds-tab-duration:.75s;--mds-tab-timing-function:cubic-bezier(1, 0, 0, 1);display:grid}.tabs{-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none;gap:0.5rem;padding:0.5rem;background-color:rgb(var(--theme-default-06-secondary-background));border-radius:0.75rem;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;overflow:auto;scroll-behavior:smooth;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory}.tabs::-webkit-scrollbar{display:none}.contents{--mds-tab-contents-height:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none;gap:1.5rem;-ms-flex-align:start;align-items:flex-start;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;height:var(--mds-tab-contents-height);overflow-x:auto;overflow-y:hidden;position:relative;scroll-behavior:smooth;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;-webkit-transition:height var(--mds-tab-duration) var(--mds-tab-timing-function);transition:height var(--mds-tab-duration) var(--mds-tab-timing-function)}::slotted([slot=\"content\"]){width:100%;min-width:100%;-webkit-animation-duration:var(--mds-tab-duration);animation-duration:var(--mds-tab-duration);-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:var(--mds-tab-timing-function);animation-timing-function:var(--mds-tab-timing-function);-ms-flex-preferred-size:0;flex-basis:0;scroll-snap-align:start}:host([strategy=\"default\"]) ::slotted([slot=\"content\"]){background-color:rgb(var(--label-blue-06));left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0}@media (min-width: 768px){.tablet\\:grid-cols-\\[1fr_2fr\\]{grid-template-columns:1fr 2fr}}";
8
8
 
9
9
  const MdsTab = class {
10
- constructor(hostRef) {
11
- index.registerInstance(this, hostRef);
12
- this.changedEvent = index.createEvent(this, "mdsTabChange", 7);
13
- this.currentItem = -1;
14
- this.queryContentItems = () => this.element.querySelectorAll('[slot=content]');
15
- this.scrollTabs = () => {
16
- const tabItem = this.tabItems[this.currentItem];
17
- this.tabs.scrollLeft = tabItem.offsetLeft - this.tabs.offsetLeft - (this.tabs.offsetWidth / 2) + (tabItem.offsetWidth / 2);
18
- };
19
- this.selectTabItem = (scrollItem) => {
20
- this.tabItems.forEach((item, key) => {
21
- if (key === scrollItem) {
22
- item.selected = true;
23
- this.changedEvent.emit({ id: key });
24
- this.currentItem = key;
25
- this.scrollTabs();
26
- }
27
- else {
28
- item.selected = false;
29
- }
30
- });
31
- };
32
- this.selectContentItem = () => {
33
- this.contentItems.forEach((item, index) => {
34
- item.classList.add('hidden');
35
- if (index === this.currentItem) {
36
- item.classList.remove('hidden');
37
- }
38
- });
39
- };
40
- }
41
- componentWillLoad() {
42
- this.tabItems = this.element.querySelectorAll('mds-tab-item');
43
- this.tabItems.forEach((item, key) => {
44
- if (!item.id) {
45
- item.id = `mds-tab-item-${key}`;
46
- }
47
- if (item.selected) {
48
- this.currentItem = key;
49
- }
50
- });
51
- }
52
- componentDidLoad() {
53
- var _a;
54
- this.tabs = (_a = this.element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.tabs');
55
- this.contentItems = this.queryContentItems();
56
- this.selectContentItem();
57
- }
58
- changeEventHandler(event) {
59
- // since the external developer can define a custom id
60
- // we must find the key from event.detail
61
- this.tabItems.forEach((item, key) => {
62
- if (item.id === event.detail) {
63
- this.selectTabItem(key);
64
- }
65
- else {
66
- item.selected = false;
67
- }
68
- });
69
- this.selectContentItem();
70
- }
71
- render() {
72
- return (index.h(index.Host, null, index.h("div", { class: "tabs", part: "tabs" }, index.h("slot", null)), index.h("div", { class: "contents", part: "contents" }, index.h("slot", { name: "content" }))));
73
- }
74
- get element() { return index.getElement(this); }
10
+ constructor(hostRef) {
11
+ index.registerInstance(this, hostRef);
12
+ this.changedEvent = index.createEvent(this, "mdsTabChange", 7);
13
+ this.currentItem = -1;
14
+ this.queryContentItems = () => this.element.querySelectorAll('[slot=content]');
15
+ this.scrollTabs = () => {
16
+ const tabItem = this.tabItems[this.currentItem];
17
+ this.tabs.scrollLeft = tabItem.offsetLeft - this.tabs.offsetLeft - (this.tabs.offsetWidth / 2) + (tabItem.offsetWidth / 2);
18
+ };
19
+ this.selectTabItem = (scrollItem) => {
20
+ this.tabItems.forEach((item, key) => {
21
+ if (key === scrollItem) {
22
+ item.selected = true;
23
+ this.changedEvent.emit({ id: key });
24
+ this.currentItem = key;
25
+ this.scrollTabs();
26
+ }
27
+ else {
28
+ item.selected = false;
29
+ }
30
+ });
31
+ };
32
+ this.selectContentItem = () => {
33
+ this.contentItems.forEach((item, index) => {
34
+ item.classList.add('hidden');
35
+ if (index === this.currentItem) {
36
+ item.classList.remove('hidden');
37
+ }
38
+ });
39
+ };
40
+ }
41
+ componentWillLoad() {
42
+ this.tabItems = this.element.querySelectorAll('mds-tab-item');
43
+ this.tabItems.forEach((item, key) => {
44
+ if (!item.id) {
45
+ item.id = `mds-tab-item-${key}`;
46
+ }
47
+ if (item.selected) {
48
+ this.currentItem = key;
49
+ }
50
+ });
51
+ }
52
+ componentDidLoad() {
53
+ var _a;
54
+ this.tabs = (_a = this.element.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.tabs');
55
+ this.contentItems = this.queryContentItems();
56
+ this.selectContentItem();
57
+ }
58
+ changeEventHandler(event) {
59
+ // since the external developer can define a custom id
60
+ // we must find the key from event.detail
61
+ this.tabItems.forEach((item, key) => {
62
+ if (item.id === event.detail) {
63
+ this.selectTabItem(key);
64
+ }
65
+ else {
66
+ item.selected = false;
67
+ }
68
+ });
69
+ this.selectContentItem();
70
+ }
71
+ render() {
72
+ return (index.h(index.Host, null, index.h("div", { class: "tabs", part: "tabs" }, index.h("slot", null)), index.h("div", { class: "contents", part: "contents" }, index.h("slot", { name: "content" }))));
73
+ }
74
+ get element() { return index.getElement(this); }
75
75
  };
76
76
  MdsTab.style = mdsTabCss;
77
77
 
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-a91d315b.js');
5
+ const index = require('./index-2b0d567f.js');
6
6
 
7
7
  /*
8
- Stencil Client Patch Browser v4.7.2 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v4.8.0 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
  const patchBrowser = () => {
11
11
  const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('mds-tab.cjs.js', document.baseURI).href));
@@ -4,7 +4,7 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.7.2",
7
+ "version": "4.8.0",
8
8
  "typescriptVersion": "5.2.2"
9
9
  },
10
10
  "collections": [],
@@ -1,29 +1,29 @@
1
1
  const hash = (s) => {
2
- let i, h;
3
- for (i = 0, h = 0; i < s.length; i++) {
4
- h = Math.imul(31, h) + s.charCodeAt(i) | 0;
5
- }
6
- return h.toString();
2
+ let i, h;
3
+ for (i = 0, h = 0; i < s.length; i++) {
4
+ h = Math.imul(31, h) + s.charCodeAt(i) | 0;
5
+ }
6
+ return h.toString();
7
7
  };
8
8
  const randomInt = (max) => Math.floor(Math.random() * max);
9
9
  const unslugName = (name) => {
10
- var _a, _b, _c;
11
- return (_c = (_b = (_a = name.split('/')) === null || _a === void 0 ? void 0 : _a.slice(-1).pop()) === null || _b === void 0 ? void 0 : _b.replace(/-/g, ' ')) !== null && _c !== void 0 ? _c : name;
10
+ var _a, _b, _c;
11
+ return (_c = (_b = (_a = name.split('/')) === null || _a === void 0 ? void 0 : _a.slice(-1).pop()) === null || _b === void 0 ? void 0 : _b.replace(/-/g, ' ')) !== null && _c !== void 0 ? _c : name;
12
12
  };
13
13
  const setAttributeIfEmpty = (element, attribute, value) => {
14
- var _a;
15
- if (element.hasAttribute(attribute)) {
16
- return (_a = element.getAttribute(attribute)) !== null && _a !== void 0 ? _a : '';
17
- }
18
- element.setAttribute(attribute, value);
19
- return value;
14
+ var _a;
15
+ if (element.hasAttribute(attribute)) {
16
+ return (_a = element.getAttribute(attribute)) !== null && _a !== void 0 ? _a : '';
17
+ }
18
+ element.setAttribute(attribute, value);
19
+ return value;
20
20
  };
21
21
  const hashValue = (value) => `${value}-${hash(value)}`;
22
22
  const hashRandomValue = (value) => {
23
- const randomValue = randomInt(1000000);
24
- if (value) {
25
- return `${value}-${hash(randomValue.toString())}`;
26
- }
27
- return hash(randomValue.toString());
23
+ const randomValue = randomInt(1000000);
24
+ if (value) {
25
+ return `${value}-${hash(randomValue.toString())}`;
26
+ }
27
+ return hash(randomValue.toString());
28
28
  };
29
29
  export { unslugName, setAttributeIfEmpty, hashRandomValue, hashValue, };
@@ -1,40 +1,40 @@
1
1
  export class KeyboardManager {
2
- constructor() {
3
- this.elements = [];
4
- this.handleClickBehaviorDispatchEvent = (event) => {
5
- if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {
6
- event.target.click();
7
- }
8
- };
9
- this.handleEscapeBehaviorDispatchEvent = (event) => {
10
- if (event.code === 'Escape' && this.escapeCallback) {
11
- this.escapeCallback();
12
- }
13
- };
14
- this.addElement = (el, name = 'element') => {
15
- this.elements[name] = el;
16
- };
17
- this.attachClickBehavior = (name = 'element') => {
18
- if (this.elements[name]) {
19
- this.elements[name].addEventListener('keydown', this.handleClickBehaviorDispatchEvent);
20
- }
21
- };
22
- this.detachClickBehavior = (name = 'element') => {
23
- if (this.elements[name]) {
24
- this.elements[name].removeEventListener('keydown', this.handleClickBehaviorDispatchEvent);
25
- }
26
- };
27
- this.attachEscapeBehavior = (callBack) => {
28
- this.escapeCallback = callBack;
29
- if (window !== undefined) {
30
- window.addEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
31
- }
32
- };
33
- this.detachEscapeBehavior = () => {
34
- this.escapeCallback = () => { return; };
35
- if (window !== undefined) {
36
- window.removeEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
37
- }
38
- };
39
- }
2
+ constructor() {
3
+ this.elements = [];
4
+ this.handleClickBehaviorDispatchEvent = (event) => {
5
+ if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {
6
+ event.target.click();
7
+ }
8
+ };
9
+ this.handleEscapeBehaviorDispatchEvent = (event) => {
10
+ if (event.code === 'Escape' && this.escapeCallback) {
11
+ this.escapeCallback();
12
+ }
13
+ };
14
+ this.addElement = (el, name = 'element') => {
15
+ this.elements[name] = el;
16
+ };
17
+ this.attachClickBehavior = (name = 'element') => {
18
+ if (this.elements[name]) {
19
+ this.elements[name].addEventListener('keydown', this.handleClickBehaviorDispatchEvent);
20
+ }
21
+ };
22
+ this.detachClickBehavior = (name = 'element') => {
23
+ if (this.elements[name]) {
24
+ this.elements[name].removeEventListener('keydown', this.handleClickBehaviorDispatchEvent);
25
+ }
26
+ };
27
+ this.attachEscapeBehavior = (callBack) => {
28
+ this.escapeCallback = callBack;
29
+ if (window !== undefined) {
30
+ window.addEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
31
+ }
32
+ };
33
+ this.detachEscapeBehavior = () => {
34
+ this.escapeCallback = () => { return; };
35
+ if (window !== undefined) {
36
+ window.removeEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
37
+ }
38
+ };
39
+ }
40
40
  }
@@ -1,10 +1,10 @@
1
1
  const cssDurationToMilliseconds = (duration, defaultValue = 1000) => {
2
- if (duration.includes('s')) {
3
- return Number(duration.replace('s', '')) * 1000;
4
- }
5
- if (duration.includes('ms')) {
6
- return Number(duration.replace('s', ''));
7
- }
8
- return defaultValue;
2
+ if (duration.includes('s')) {
3
+ return Number(duration.replace('s', '')) * 1000;
4
+ }
5
+ if (duration.includes('ms')) {
6
+ return Number(duration.replace('s', ''));
7
+ }
8
+ return defaultValue;
9
9
  };
10
10
  export { cssDurationToMilliseconds, };
@@ -23,18 +23,6 @@
23
23
 
24
24
  grid-auto-rows: min-content;
25
25
  }
26
- .gap-1{
27
-
28
- gap: 0.25rem;
29
- }
30
- .gap-2{
31
-
32
- gap: 0.5rem;
33
- }
34
- .gap-6{
35
-
36
- gap: 1.5rem;
37
- }
38
26
  .rounded-lg{
39
27
 
40
28
  border-radius: 0.5rem;
@@ -43,17 +31,9 @@
43
31
 
44
32
  border-width: 1px;
45
33
  }
46
- .px-2{
47
-
48
- padding-left: 0.5rem;
34
+ .text{
49
35
 
50
- padding-right: 0.5rem;
51
- }
52
- .py-6{
53
-
54
- padding-top: 1.5rem;
55
-
56
- padding-bottom: 1.5rem;
36
+ font-size: 1rem;
57
37
  }
58
38
  .shadow{
59
39
 
@@ -130,19 +110,14 @@
130
110
  scroll-snap-align: start;
131
111
  }
132
112
 
133
- :host( [strategy="default"] ) ::slotted( [slot="content"] ){
134
-
135
- left: 0px;
136
-
137
- right: 0px;
138
-
139
- top: 0px;
140
-
141
- opacity: 0;
142
-
113
+ :host( [strategy="default"] ) ::slotted( [slot="content"] ) {
143
114
  background-color: rgb(var(--label-blue-06));
115
+ left: 0;
116
+ opacity: 0;
144
117
  pointer-events: none;
145
118
  position: absolute;
119
+ right: 0;
120
+ top: 0;
146
121
  }
147
122
 
148
123
  @media (min-width: 768px){