@maggioli-design-system/mds-paginator-item 2.1.1 → 2.3.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.
Files changed (92) hide show
  1. package/dist/cjs/{index-3ffc30c3.js → index-969219be.js} +2 -0
  2. package/dist/cjs/loader.cjs.js +3 -3
  3. package/dist/cjs/mds-paginator-item.cjs.entry.js +60 -5
  4. package/dist/cjs/mds-paginator-item.cjs.js +3 -3
  5. package/dist/collection/collection-manifest.json +1 -1
  6. package/dist/collection/common/aria.js +4 -2
  7. package/dist/collection/common/keyboard-manager.js +40 -0
  8. package/dist/collection/components/mds-paginator-item/mds-paginator-item.css +37 -25
  9. package/dist/collection/components/mds-paginator-item/mds-paginator-item.js +26 -10
  10. package/dist/collection/dictionary/typography.js +5 -1
  11. package/dist/components/mds-paginator-item.js +61 -6
  12. package/dist/documentation.d.ts +148 -0
  13. package/dist/documentation.json +157 -0
  14. package/dist/esm/{index-d196ebae.js → index-43abfe8a.js} +2 -1
  15. package/dist/esm/loader.js +4 -4
  16. package/dist/esm/mds-paginator-item.entry.js +60 -5
  17. package/dist/esm/mds-paginator-item.js +4 -4
  18. package/dist/esm-es5/index-43abfe8a.js +2 -0
  19. package/dist/esm-es5/loader.js +1 -1
  20. package/dist/esm-es5/mds-paginator-item.entry.js +1 -1
  21. package/dist/esm-es5/mds-paginator-item.js +1 -1
  22. package/dist/mds-paginator-item/mds-paginator-item.esm.js +1 -1
  23. package/dist/mds-paginator-item/mds-paginator-item.js +1 -1
  24. package/dist/mds-paginator-item/p-545e4388.system.js +2 -0
  25. package/dist/mds-paginator-item/p-a07f2745.entry.js +1 -0
  26. package/dist/mds-paginator-item/p-cd35cb31.js +2 -0
  27. package/dist/mds-paginator-item/p-d8314fea.system.js +1 -0
  28. package/dist/mds-paginator-item/p-fda89125.system.entry.js +1 -0
  29. package/dist/stats.json +69 -66
  30. package/dist/types/common/keyboard-manager.d.ts +11 -0
  31. package/dist/types/components.d.ts +8 -8
  32. package/dist/types/dictionary/typography.d.ts +2 -1
  33. package/dist/types/interface/input-value.d.ts +1 -1
  34. package/dist/types/{types → type}/typography.d.ts +1 -0
  35. package/documentation.json +171 -0
  36. package/package.json +10 -4
  37. package/readme.md +5 -5
  38. package/src/common/aria.ts +2 -2
  39. package/src/common/keyboard-manager.ts +46 -0
  40. package/src/components/mds-paginator-item/mds-paginator-item.css +18 -5
  41. package/src/components/mds-paginator-item/mds-paginator-item.tsx +27 -10
  42. package/src/components/mds-paginator-item/readme.md +5 -5
  43. package/src/components.d.ts +8 -8
  44. package/src/dictionary/typography.ts +9 -3
  45. package/src/fixtures/icons.json +2 -0
  46. package/src/interface/input-value.ts +1 -1
  47. package/src/tailwind/components.css +1 -0
  48. package/src/{types → type}/typography.ts +4 -0
  49. package/www/build/mds-paginator-item.esm.js +1 -1
  50. package/www/build/mds-paginator-item.js +1 -1
  51. package/www/build/p-545e4388.system.js +2 -0
  52. package/www/build/p-a07f2745.entry.js +1 -0
  53. package/www/build/p-cd35cb31.js +2 -0
  54. package/www/build/p-d8314fea.system.js +1 -0
  55. package/www/build/p-fda89125.system.entry.js +1 -0
  56. package/dist/esm-es5/index-d196ebae.js +0 -2
  57. package/dist/mds-paginator-item/p-308f54f9.entry.js +0 -1
  58. package/dist/mds-paginator-item/p-3174ae8b.js +0 -2
  59. package/dist/mds-paginator-item/p-711f7cb4.system.js +0 -1
  60. package/dist/mds-paginator-item/p-8a518aac.system.entry.js +0 -1
  61. package/dist/mds-paginator-item/p-bad78d87.system.js +0 -2
  62. package/dist/types/components/mds-paginator-item/mds-paginator-item.d.ts +0 -15
  63. package/www/build/p-308f54f9.entry.js +0 -1
  64. package/www/build/p-3174ae8b.js +0 -2
  65. package/www/build/p-711f7cb4.system.js +0 -1
  66. package/www/build/p-8a518aac.system.entry.js +0 -1
  67. package/www/build/p-bad78d87.system.js +0 -2
  68. /package/dist/collection/{types → type}/autocomplete.js +0 -0
  69. /package/dist/collection/{types → type}/button.js +0 -0
  70. /package/dist/collection/{types → type}/floating-ui.js +0 -0
  71. /package/dist/collection/{types → type}/form-rel.js +0 -0
  72. /package/dist/collection/{types → type}/input-text-type.js +0 -0
  73. /package/dist/collection/{types → type}/input-value-type.js +0 -0
  74. /package/dist/collection/{types → type}/loading.js +0 -0
  75. /package/dist/collection/{types → type}/typography.js +0 -0
  76. /package/dist/collection/{types → type}/variant.js +0 -0
  77. /package/dist/types/{types → type}/autocomplete.d.ts +0 -0
  78. /package/dist/types/{types → type}/button.d.ts +0 -0
  79. /package/dist/types/{types → type}/floating-ui.d.ts +0 -0
  80. /package/dist/types/{types → type}/form-rel.d.ts +0 -0
  81. /package/dist/types/{types → type}/input-text-type.d.ts +0 -0
  82. /package/dist/types/{types → type}/input-value-type.d.ts +0 -0
  83. /package/dist/types/{types → type}/loading.d.ts +0 -0
  84. /package/dist/types/{types → type}/variant.d.ts +0 -0
  85. /package/src/{types → type}/autocomplete.ts +0 -0
  86. /package/src/{types → type}/button.ts +0 -0
  87. /package/src/{types → type}/floating-ui.ts +0 -0
  88. /package/src/{types → type}/form-rel.ts +0 -0
  89. /package/src/{types → type}/input-text-type.ts +0 -0
  90. /package/src/{types → type}/input-value-type.ts +0 -0
  91. /package/src/{types → type}/loading.ts +0 -0
  92. /package/src/{types → type}/variant.ts +0 -0
@@ -205,6 +205,7 @@ const parsePropertyValue = (propValue, propType) => {
205
205
  // so no need to change to a different type
206
206
  return propValue;
207
207
  };
208
+ const getElement = (ref) => (getHostRef(ref).$hostElement$ );
208
209
  /**
209
210
  * Helper function to create & dispatch a custom Event on a provided target
210
211
  * @param elm the target of the Event
@@ -1345,6 +1346,7 @@ const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1345
1346
 
1346
1347
  exports.Host = Host;
1347
1348
  exports.bootstrapLazy = bootstrapLazy;
1349
+ exports.getElement = getElement;
1348
1350
  exports.h = h;
1349
1351
  exports.promiseResolve = promiseResolve;
1350
1352
  exports.registerInstance = registerInstance;
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3ffc30c3.js');
5
+ const index = require('./index-969219be.js');
6
6
 
7
7
  /*
8
- Stencil Client Patch Esm v2.22.2 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Esm v2.22.3 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
  const patchEsm = () => {
11
11
  return index.promiseResolve();
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["mds-paginator-item.cjs",[[1,"mds-paginator-item",{"icon":[1],"active":[516],"disabled":[516]}]]]], options);
17
+ return index.bootstrapLazy([["mds-paginator-item.cjs",[[1,"mds-paginator-item",{"icon":[513],"selected":[516],"disabled":[516]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -2,24 +2,79 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3ffc30c3.js');
5
+ const index = require('./index-969219be.js');
6
6
 
7
- function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
7
+ class KeyboardManager {
8
+ constructor() {
9
+ this.elements = [];
10
+ this.handleClickBehaviorDispatchEvent = (event) => {
11
+ if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {
12
+ event.target.click();
13
+ }
14
+ };
15
+ this.handleEscapeBehaviorDispatchEvent = (event) => {
16
+ if (event.code === 'Escape' && this.escapeCallback) {
17
+ this.escapeCallback();
18
+ }
19
+ };
20
+ this.addElement = (el, name = 'element') => {
21
+ this.elements[name] = el;
22
+ };
23
+ this.attachClickBehavior = (name = 'element') => {
24
+ if (this.elements[name]) {
25
+ this.elements[name].addEventListener('keydown', this.handleClickBehaviorDispatchEvent);
26
+ }
27
+ };
28
+ this.detachClickBehavior = (name = 'element') => {
29
+ if (this.elements[name]) {
30
+ this.elements[name].removeEventListener('keydown', this.handleClickBehaviorDispatchEvent);
31
+ }
32
+ };
33
+ this.attachEscapeBehavior = (callBack) => {
34
+ this.escapeCallback = callBack;
35
+ if (typeof window !== undefined) {
36
+ window.addEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
37
+ }
38
+ };
39
+ this.detachEscapeBehavior = () => {
40
+ this.escapeCallback = () => { return; };
41
+ if (typeof window !== undefined) {
42
+ window.removeEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
43
+ }
44
+ };
45
+ }
46
+ }
8
47
 
9
- const mdsPaginatorItemCss = ".fixed{position:fixed}.absolute{position:absolute}.border{border-width:1px}.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-paginator-item-background-disabled:rgb(var(--tone-neutral-09));--mds-paginator-item-background-hover:rgb(var(--tone-neutral-08));--mds-paginator-item-background-selected:rgb(var(--brand-maggioli-03));--mds-paginator-item-background:rgb(var(--tone-neutral-09));--mds-paginator-item-color-disabled:rgb(var(--tone-neutral-06));--mds-paginator-item-color-hover:rgb(var(--tone-neutral-02));--mds-paginator-item-color-selected:rgb(var(--tone-neutral));--mds-paginator-item-color:rgb(var(--tone-neutral-02));--mds-paginator-item-radius:200px;--mds-paginator-item-shadow-disabled:none;--mds-paginator-item-shadow-hover:none;--mds-paginator-item-shadow-selected:0 0 1px 1px rgba(0, 0, 0, 0.06), 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--mds-paginator-item-shadow:none;--mds-paginator-item-size:2.25rem;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-negative:0;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-left:0.75rem;padding-right:0.75rem;-webkit-transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:150ms;transition-duration:150ms;background-color:var(--mds-paginator-item-background);border-radius:var(--mds-paginator-item-radius);-webkit-box-shadow:var(--mds-paginator-item-shadow);box-shadow:var(--mds-paginator-item-shadow);color:var(--mds-paginator-item-color);height:var(--mds-paginator-item-size);min-width:var(--mds-paginator-item-size)}:host(:hover){background-color:var(--mds-paginator-item-background-hover);-webkit-box-shadow:var(--mds-paginator-item-shadow-hover);box-shadow:var(--mds-paginator-item-shadow-hover);color:var(--mds-paginator-item-color-hover);fill:var(--mds-paginator-item-color-hover)}:host([active]){pointer-events:none;background-color:var(--mds-paginator-item-background-selected);-webkit-box-shadow:var(--mds-paginator-item-shadow-selected);box-shadow:var(--mds-paginator-item-shadow-selected);color:var(--mds-paginator-item-color-selected);fill:var(--mds-paginator-item-color-selected)}:host([disabled]){pointer-events:none;background-color:var(--mds-paginator-item-background-disabled);-webkit-box-shadow:var(--mds-paginator-item-shadow-disabled);box-shadow:var(--mds-paginator-item-shadow-disabled);color:var(--mds-paginator-item-color-disabled);fill:var(--mds-paginator-item-color-disabled)}.icon{padding-left:0px;padding-right:0px}";
48
+ const mdsPaginatorItemCss = "@tailwind components; .fixed{position:fixed}.absolute{position:absolute}.border{border-width:1px}.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-paginator-item-background-disabled:rgb(var(--tone-neutral-09));--mds-paginator-item-background-hover:rgb(var(--tone-neutral-08));--mds-paginator-item-background-selected:rgb(var(--brand-maggioli-03));--mds-paginator-item-background:transparent;--mds-paginator-item-color-disabled:rgb(var(--tone-neutral-06));--mds-paginator-item-color-hover:rgb(var(--tone-neutral-02));--mds-paginator-item-color-selected:rgb(var(--tone-neutral));--mds-paginator-item-color:rgb(var(--tone-neutral-02));--mds-paginator-item-radius:200px;--mds-paginator-item-shadow-disabled:none;--mds-paginator-item-shadow-hover:none;--mds-paginator-item-shadow-selected:0 0 1px 1px rgba(0, 0, 0, 0.06), 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--mds-paginator-item-shadow:none;--mds-paginator-item-size:2.25rem;outline-offset:var(--magma-outline-blur-offset);outline:var(--magma-outline-blur);-webkit-transition-property:background-color, border-color, color, fill, outline, outline-offset, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, outline, outline-offset, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, outline, outline-offset, transform;transition-property:background-color, border-color, box-shadow, color, fill, outline, outline-offset, transform, -webkit-box-shadow, -webkit-transform;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-negative:0;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-left:0.75rem;padding-right:0.75rem;-webkit-transition-duration:200ms;transition-duration:200ms;-webkit-transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-timing-function:cubic-bezier(0, 0, 0.2, 1);background-color:var(--mds-paginator-item-background);border-radius:var(--mds-paginator-item-radius);-webkit-box-shadow:var(--mds-paginator-item-shadow);box-shadow:var(--mds-paginator-item-shadow);color:var(--mds-paginator-item-color);height:var(--mds-paginator-item-size);min-width:var(--mds-paginator-item-size);-webkit-transition-property:background-color, color, outline, outline-offset, -webkit-box-shadow;transition-property:background-color, color, outline, outline-offset, -webkit-box-shadow;transition-property:background-color, box-shadow, color, outline, outline-offset;transition-property:background-color, box-shadow, color, outline, outline-offset, -webkit-box-shadow}:host(:focus-visible){--magma-outline-blur-offset:var(--magma-outline-focus-offset);--magma-outline-blur:var(--magma-outline-focus)}:host(:hover){background-color:var(--mds-paginator-item-background-hover);-webkit-box-shadow:var(--mds-paginator-item-shadow-hover);box-shadow:var(--mds-paginator-item-shadow-hover);color:var(--mds-paginator-item-color-hover);fill:var(--mds-paginator-item-color-hover)}:host([icon]){padding:0px}:host([selected]){pointer-events:none;background-color:var(--mds-paginator-item-background-selected);-webkit-box-shadow:var(--mds-paginator-item-shadow-selected);box-shadow:var(--mds-paginator-item-shadow-selected);color:var(--mds-paginator-item-color-selected);fill:var(--mds-paginator-item-color-selected)}:host([disabled]){pointer-events:none;background-color:var(--mds-paginator-item-background-disabled);-webkit-box-shadow:var(--mds-paginator-item-shadow-disabled);box-shadow:var(--mds-paginator-item-shadow-disabled);color:var(--mds-paginator-item-color-disabled);fill:var(--mds-paginator-item-color-disabled)}.icon{padding-left:0px;padding-right:0px}";
10
49
 
11
50
  const MdsPaginatorItem = class {
12
51
  constructor(hostRef) {
13
52
  index.registerInstance(this, hostRef);
53
+ this.km = new KeyboardManager();
54
+ this.componentDidLoad = () => {
55
+ this.km.addElement(this.host);
56
+ this.km.attachClickBehavior();
57
+ };
58
+ this.componentDidUpdate = () => {
59
+ if (!this.disabled && !this.selected) {
60
+ this.km.attachClickBehavior();
61
+ return;
62
+ }
63
+ this.km.detachClickBehavior();
64
+ };
65
+ this.disconnectedCallback = () => {
66
+ this.km.detachClickBehavior();
67
+ };
14
68
  this.icon = undefined;
15
- this.active = undefined;
69
+ this.selected = undefined;
16
70
  this.disabled = undefined;
17
71
  }
18
72
  render() {
19
- return (index.h(index.Host, { class: clsx(this.active && 'active', this.disabled && 'disabled', this.icon && 'icon') }, this.icon !== undefined
73
+ return (index.h(index.Host, { tabindex: "0" }, this.icon !== undefined
20
74
  ? index.h("mds-icon", { name: this.icon })
21
75
  : index.h("mds-text", { class: "text", typography: "detail" }, index.h("slot", null))));
22
76
  }
77
+ get host() { return index.getElement(this); }
23
78
  };
24
79
  MdsPaginatorItem.style = mdsPaginatorItemCss;
25
80
 
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3ffc30c3.js');
5
+ const index = require('./index-969219be.js');
6
6
 
7
7
  /*
8
- Stencil Client Patch Browser v2.22.2 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v2.22.3 | 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-paginator-item.cjs.js', document.baseURI).href));
@@ -17,7 +17,7 @@ const patchBrowser = () => {
17
17
  };
18
18
 
19
19
  patchBrowser().then(options => {
20
- return index.bootstrapLazy([["mds-paginator-item.cjs",[[1,"mds-paginator-item",{"icon":[1],"active":[516],"disabled":[516]}]]]], options);
20
+ return index.bootstrapLazy([["mds-paginator-item.cjs",[[1,"mds-paginator-item",{"icon":[513],"selected":[516],"disabled":[516]}]]]], options);
21
21
  });
22
22
 
23
23
  exports.setNonce = index.setNonce;
@@ -4,7 +4,7 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "2.22.2",
7
+ "version": "2.22.3",
8
8
  "typescriptVersion": "4.9.4"
9
9
  },
10
10
  "collections": [],
@@ -6,11 +6,13 @@ const hash = (s) => {
6
6
  return h.toString();
7
7
  };
8
8
  const unslugName = (name) => {
9
- return name.split('/').slice(-1).pop().replace(/-/g, ' ');
9
+ var _a, _b, _c;
10
+ 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
11
  };
11
12
  const setAttributeIfEmpty = (element, attribute, value) => {
13
+ var _a;
12
14
  if (element.hasAttribute(attribute)) {
13
- return element.getAttribute(attribute);
15
+ return (_a = element.getAttribute(attribute)) !== null && _a !== void 0 ? _a : '';
14
16
  }
15
17
  element.setAttribute(attribute, value);
16
18
  return value;
@@ -0,0 +1,40 @@
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 (typeof window !== undefined) {
30
+ window.addEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
31
+ }
32
+ };
33
+ this.detachEscapeBehavior = () => {
34
+ this.escapeCallback = () => { return; };
35
+ if (typeof window !== undefined) {
36
+ window.removeEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
37
+ }
38
+ };
39
+ }
40
+ }
@@ -1,19 +1,17 @@
1
- .fixed {
1
+ @tailwind components;
2
+ .fixed{
2
3
 
3
4
  position: fixed;
4
5
  }
5
-
6
- .absolute {
6
+ .absolute{
7
7
 
8
8
  position: absolute;
9
9
  }
10
-
11
- .border {
10
+ .border{
12
11
 
13
12
  border-width: 1px;
14
13
  }
15
-
16
- .shadow {
14
+ .shadow{
17
15
 
18
16
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
19
17
 
@@ -44,7 +42,7 @@
44
42
  --mds-paginator-item-background-disabled: rgb(var(--tone-neutral-09));
45
43
  --mds-paginator-item-background-hover: rgb(var(--tone-neutral-08));
46
44
  --mds-paginator-item-background-selected: rgb(var(--brand-maggioli-03));
47
- --mds-paginator-item-background: rgb(var(--tone-neutral-09));
45
+ --mds-paginator-item-background: transparent;
48
46
  --mds-paginator-item-color-disabled: rgb(var(--tone-neutral-06));
49
47
  --mds-paginator-item-color-hover: rgb(var(--tone-neutral-02));
50
48
  --mds-paginator-item-color-selected: rgb(var(--tone-neutral));
@@ -55,20 +53,23 @@
55
53
  --mds-paginator-item-shadow-selected: 0 0 1px 1px rgba(0, 0, 0, 0.06), 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
56
54
  --mds-paginator-item-shadow: none;
57
55
  --mds-paginator-item-size: 2.25rem;
58
- box-sizing: border-box;
59
- display: inline-flex;
60
- flex-shrink: 0;
61
- cursor: pointer;
62
- -webkit-user-select: none;
63
- -moz-user-select: none;
64
- user-select: none;
65
- align-items: center;
66
- justify-content: center;
67
- padding-left: 0.75rem;
68
- padding-right: 0.75rem;
69
- transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
70
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
71
- transition-duration: 150ms;
56
+
57
+ outline-offset: var(--magma-outline-blur-offset);
58
+ outline: var(--magma-outline-blur);
59
+ transition-property: background-color, border-color, box-shadow, color, fill, outline, outline-offset, transform;
60
+ box-sizing: border-box;
61
+ display: inline-flex;
62
+ flex-shrink: 0;
63
+ cursor: pointer;
64
+ -webkit-user-select: none;
65
+ -moz-user-select: none;
66
+ user-select: none;
67
+ align-items: center;
68
+ justify-content: center;
69
+ padding-left: 0.75rem;
70
+ padding-right: 0.75rem;
71
+ transition-duration: 200ms;
72
+ transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
72
73
 
73
74
  background-color: var(--mds-paginator-item-background);
74
75
  border-radius: var(--mds-paginator-item-radius);
@@ -76,8 +77,14 @@
76
77
  color: var(--mds-paginator-item-color);
77
78
  height: var(--mds-paginator-item-size);
78
79
  min-width: var(--mds-paginator-item-size);
80
+ transition-property: background-color, box-shadow, color, outline, outline-offset;
79
81
  }
80
82
 
83
+ :host( :focus-visible ) {
84
+ --magma-outline-blur-offset: var(--magma-outline-focus-offset);
85
+ --magma-outline-blur: var(--magma-outline-focus);
86
+ }
87
+
81
88
  :host( :hover ) {
82
89
  background-color: var(--mds-paginator-item-background-hover);
83
90
  box-shadow: var(--mds-paginator-item-shadow-hover);
@@ -85,7 +92,12 @@
85
92
  fill: var(--mds-paginator-item-color-hover);
86
93
  }
87
94
 
88
- :host ( [active]) {
95
+ :host( [icon] ){
96
+
97
+ padding: 0px;
98
+ }
99
+
100
+ :host( [selected] ){
89
101
 
90
102
  pointer-events: none;
91
103
 
@@ -95,7 +107,7 @@
95
107
  fill: var(--mds-paginator-item-color-selected);
96
108
  }
97
109
 
98
- :host ( [disabled]) {
110
+ :host( [disabled] ){
99
111
 
100
112
  pointer-events: none;
101
113
 
@@ -105,7 +117,7 @@
105
117
  fill: var(--mds-paginator-item-color-disabled);
106
118
  }
107
119
 
108
- .icon {
120
+ .icon{
109
121
 
110
122
  padding-left: 0px;
111
123
 
@@ -1,13 +1,28 @@
1
1
  import { Host, h } from '@stencil/core';
2
- import clsx from 'clsx';
2
+ import { KeyboardManager } from '@common/keyboard-manager';
3
3
  export class MdsPaginatorItem {
4
4
  constructor() {
5
+ this.km = new KeyboardManager();
6
+ this.componentDidLoad = () => {
7
+ this.km.addElement(this.host);
8
+ this.km.attachClickBehavior();
9
+ };
10
+ this.componentDidUpdate = () => {
11
+ if (!this.disabled && !this.selected) {
12
+ this.km.attachClickBehavior();
13
+ return;
14
+ }
15
+ this.km.detachClickBehavior();
16
+ };
17
+ this.disconnectedCallback = () => {
18
+ this.km.detachClickBehavior();
19
+ };
5
20
  this.icon = undefined;
6
- this.active = undefined;
21
+ this.selected = undefined;
7
22
  this.disabled = undefined;
8
23
  }
9
24
  render() {
10
- return (h(Host, { class: clsx(this.active && 'active', this.disabled && 'disabled', this.icon && 'icon') }, this.icon !== undefined
25
+ return (h(Host, { tabindex: "0" }, this.icon !== undefined
11
26
  ? h("mds-icon", { name: this.icon })
12
27
  : h("mds-text", { class: "text", typography: "detail" }, h("slot", null))));
13
28
  }
@@ -30,7 +45,7 @@ export class MdsPaginatorItem {
30
45
  "mutable": false,
31
46
  "complexType": {
32
47
  "original": "string",
33
- "resolved": "string",
48
+ "resolved": "string | undefined",
34
49
  "references": {}
35
50
  },
36
51
  "required": false,
@@ -40,23 +55,23 @@ export class MdsPaginatorItem {
40
55
  "text": "Specifies the icon used inside the paginator item"
41
56
  },
42
57
  "attribute": "icon",
43
- "reflect": false
58
+ "reflect": true
44
59
  },
45
- "active": {
60
+ "selected": {
46
61
  "type": "boolean",
47
62
  "mutable": false,
48
63
  "complexType": {
49
64
  "original": "boolean",
50
- "resolved": "boolean",
65
+ "resolved": "boolean | undefined",
51
66
  "references": {}
52
67
  },
53
68
  "required": false,
54
69
  "optional": true,
55
70
  "docs": {
56
71
  "tags": [],
57
- "text": "Specifies if the item is active or not, is handled from the parent paginator"
72
+ "text": "Specifies if the item is selected or not, is handled from the parent paginator"
58
73
  },
59
- "attribute": "active",
74
+ "attribute": "selected",
60
75
  "reflect": true
61
76
  },
62
77
  "disabled": {
@@ -64,7 +79,7 @@ export class MdsPaginatorItem {
64
79
  "mutable": false,
65
80
  "complexType": {
66
81
  "original": "boolean",
67
- "resolved": "boolean",
82
+ "resolved": "boolean | undefined",
68
83
  "references": {}
69
84
  },
70
85
  "required": false,
@@ -78,4 +93,5 @@ export class MdsPaginatorItem {
78
93
  }
79
94
  };
80
95
  }
96
+ static get elementRef() { return "host"; }
81
97
  }
@@ -21,6 +21,10 @@ const typographyVariationsDictionary = [
21
21
  'read',
22
22
  'code',
23
23
  ];
24
+ const typographyReadingVariationsDictionary = [
25
+ 'info',
26
+ 'read',
27
+ ];
24
28
  const typographyMonoDictionary = [
25
29
  'snippet',
26
30
  'hack',
@@ -56,4 +60,4 @@ const typographyTooltipDictionary = [
56
60
  'detail',
57
61
  'tip',
58
62
  ];
59
- export { typographyDictionary, typographyVariationsDictionary, typographyMonoDictionary, typographyTitleDictionary, typographyInfoDictionary, typographyReadDictionary, typographySmallerDictionary, typographyTooltipDictionary, };
63
+ export { typographyDictionary, typographyInfoDictionary, typographyReadingVariationsDictionary, typographyMonoDictionary, typographyReadDictionary, typographySmallerDictionary, typographyTitleDictionary, typographyTooltipDictionary, typographyVariationsDictionary, };
@@ -1,27 +1,82 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
 
3
- function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
3
+ class KeyboardManager {
4
+ constructor() {
5
+ this.elements = [];
6
+ this.handleClickBehaviorDispatchEvent = (event) => {
7
+ if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {
8
+ event.target.click();
9
+ }
10
+ };
11
+ this.handleEscapeBehaviorDispatchEvent = (event) => {
12
+ if (event.code === 'Escape' && this.escapeCallback) {
13
+ this.escapeCallback();
14
+ }
15
+ };
16
+ this.addElement = (el, name = 'element') => {
17
+ this.elements[name] = el;
18
+ };
19
+ this.attachClickBehavior = (name = 'element') => {
20
+ if (this.elements[name]) {
21
+ this.elements[name].addEventListener('keydown', this.handleClickBehaviorDispatchEvent);
22
+ }
23
+ };
24
+ this.detachClickBehavior = (name = 'element') => {
25
+ if (this.elements[name]) {
26
+ this.elements[name].removeEventListener('keydown', this.handleClickBehaviorDispatchEvent);
27
+ }
28
+ };
29
+ this.attachEscapeBehavior = (callBack) => {
30
+ this.escapeCallback = callBack;
31
+ if (typeof window !== undefined) {
32
+ window.addEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
33
+ }
34
+ };
35
+ this.detachEscapeBehavior = () => {
36
+ this.escapeCallback = () => { return; };
37
+ if (typeof window !== undefined) {
38
+ window.removeEventListener('keydown', this.handleEscapeBehaviorDispatchEvent.bind(this));
39
+ }
40
+ };
41
+ }
42
+ }
4
43
 
5
- const mdsPaginatorItemCss = ".fixed{position:fixed}.absolute{position:absolute}.border{border-width:1px}.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-paginator-item-background-disabled:rgb(var(--tone-neutral-09));--mds-paginator-item-background-hover:rgb(var(--tone-neutral-08));--mds-paginator-item-background-selected:rgb(var(--brand-maggioli-03));--mds-paginator-item-background:rgb(var(--tone-neutral-09));--mds-paginator-item-color-disabled:rgb(var(--tone-neutral-06));--mds-paginator-item-color-hover:rgb(var(--tone-neutral-02));--mds-paginator-item-color-selected:rgb(var(--tone-neutral));--mds-paginator-item-color:rgb(var(--tone-neutral-02));--mds-paginator-item-radius:200px;--mds-paginator-item-shadow-disabled:none;--mds-paginator-item-shadow-hover:none;--mds-paginator-item-shadow-selected:0 0 1px 1px rgba(0, 0, 0, 0.06), 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--mds-paginator-item-shadow:none;--mds-paginator-item-size:2.25rem;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-negative:0;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-left:0.75rem;padding-right:0.75rem;-webkit-transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;-webkit-transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-transition-duration:150ms;transition-duration:150ms;background-color:var(--mds-paginator-item-background);border-radius:var(--mds-paginator-item-radius);-webkit-box-shadow:var(--mds-paginator-item-shadow);box-shadow:var(--mds-paginator-item-shadow);color:var(--mds-paginator-item-color);height:var(--mds-paginator-item-size);min-width:var(--mds-paginator-item-size)}:host(:hover){background-color:var(--mds-paginator-item-background-hover);-webkit-box-shadow:var(--mds-paginator-item-shadow-hover);box-shadow:var(--mds-paginator-item-shadow-hover);color:var(--mds-paginator-item-color-hover);fill:var(--mds-paginator-item-color-hover)}:host([active]){pointer-events:none;background-color:var(--mds-paginator-item-background-selected);-webkit-box-shadow:var(--mds-paginator-item-shadow-selected);box-shadow:var(--mds-paginator-item-shadow-selected);color:var(--mds-paginator-item-color-selected);fill:var(--mds-paginator-item-color-selected)}:host([disabled]){pointer-events:none;background-color:var(--mds-paginator-item-background-disabled);-webkit-box-shadow:var(--mds-paginator-item-shadow-disabled);box-shadow:var(--mds-paginator-item-shadow-disabled);color:var(--mds-paginator-item-color-disabled);fill:var(--mds-paginator-item-color-disabled)}.icon{padding-left:0px;padding-right:0px}";
44
+ const mdsPaginatorItemCss = "@tailwind components; .fixed{position:fixed}.absolute{position:absolute}.border{border-width:1px}.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-paginator-item-background-disabled:rgb(var(--tone-neutral-09));--mds-paginator-item-background-hover:rgb(var(--tone-neutral-08));--mds-paginator-item-background-selected:rgb(var(--brand-maggioli-03));--mds-paginator-item-background:transparent;--mds-paginator-item-color-disabled:rgb(var(--tone-neutral-06));--mds-paginator-item-color-hover:rgb(var(--tone-neutral-02));--mds-paginator-item-color-selected:rgb(var(--tone-neutral));--mds-paginator-item-color:rgb(var(--tone-neutral-02));--mds-paginator-item-radius:200px;--mds-paginator-item-shadow-disabled:none;--mds-paginator-item-shadow-hover:none;--mds-paginator-item-shadow-selected:0 0 1px 1px rgba(0, 0, 0, 0.06), 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);--mds-paginator-item-shadow:none;--mds-paginator-item-size:2.25rem;outline-offset:var(--magma-outline-blur-offset);outline:var(--magma-outline-blur);-webkit-transition-property:background-color, border-color, color, fill, outline, outline-offset, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, color, fill, outline, outline-offset, -webkit-box-shadow, -webkit-transform;transition-property:background-color, border-color, box-shadow, color, fill, outline, outline-offset, transform;transition-property:background-color, border-color, box-shadow, color, fill, outline, outline-offset, transform, -webkit-box-shadow, -webkit-transform;-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-negative:0;flex-shrink:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding-left:0.75rem;padding-right:0.75rem;-webkit-transition-duration:200ms;transition-duration:200ms;-webkit-transition-timing-function:cubic-bezier(0, 0, 0.2, 1);transition-timing-function:cubic-bezier(0, 0, 0.2, 1);background-color:var(--mds-paginator-item-background);border-radius:var(--mds-paginator-item-radius);-webkit-box-shadow:var(--mds-paginator-item-shadow);box-shadow:var(--mds-paginator-item-shadow);color:var(--mds-paginator-item-color);height:var(--mds-paginator-item-size);min-width:var(--mds-paginator-item-size);-webkit-transition-property:background-color, color, outline, outline-offset, -webkit-box-shadow;transition-property:background-color, color, outline, outline-offset, -webkit-box-shadow;transition-property:background-color, box-shadow, color, outline, outline-offset;transition-property:background-color, box-shadow, color, outline, outline-offset, -webkit-box-shadow}:host(:focus-visible){--magma-outline-blur-offset:var(--magma-outline-focus-offset);--magma-outline-blur:var(--magma-outline-focus)}:host(:hover){background-color:var(--mds-paginator-item-background-hover);-webkit-box-shadow:var(--mds-paginator-item-shadow-hover);box-shadow:var(--mds-paginator-item-shadow-hover);color:var(--mds-paginator-item-color-hover);fill:var(--mds-paginator-item-color-hover)}:host([icon]){padding:0px}:host([selected]){pointer-events:none;background-color:var(--mds-paginator-item-background-selected);-webkit-box-shadow:var(--mds-paginator-item-shadow-selected);box-shadow:var(--mds-paginator-item-shadow-selected);color:var(--mds-paginator-item-color-selected);fill:var(--mds-paginator-item-color-selected)}:host([disabled]){pointer-events:none;background-color:var(--mds-paginator-item-background-disabled);-webkit-box-shadow:var(--mds-paginator-item-shadow-disabled);box-shadow:var(--mds-paginator-item-shadow-disabled);color:var(--mds-paginator-item-color-disabled);fill:var(--mds-paginator-item-color-disabled)}.icon{padding-left:0px;padding-right:0px}";
6
45
 
7
46
  const MdsPaginatorItem$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
47
  constructor() {
9
48
  super();
10
49
  this.__registerHost();
11
50
  this.__attachShadow();
51
+ this.km = new KeyboardManager();
52
+ this.componentDidLoad = () => {
53
+ this.km.addElement(this.host);
54
+ this.km.attachClickBehavior();
55
+ };
56
+ this.componentDidUpdate = () => {
57
+ if (!this.disabled && !this.selected) {
58
+ this.km.attachClickBehavior();
59
+ return;
60
+ }
61
+ this.km.detachClickBehavior();
62
+ };
63
+ this.disconnectedCallback = () => {
64
+ this.km.detachClickBehavior();
65
+ };
12
66
  this.icon = undefined;
13
- this.active = undefined;
67
+ this.selected = undefined;
14
68
  this.disabled = undefined;
15
69
  }
16
70
  render() {
17
- return (h(Host, { class: clsx(this.active && 'active', this.disabled && 'disabled', this.icon && 'icon') }, this.icon !== undefined
71
+ return (h(Host, { tabindex: "0" }, this.icon !== undefined
18
72
  ? h("mds-icon", { name: this.icon })
19
73
  : h("mds-text", { class: "text", typography: "detail" }, h("slot", null))));
20
74
  }
75
+ get host() { return this; }
21
76
  static get style() { return mdsPaginatorItemCss; }
22
77
  }, [1, "mds-paginator-item", {
23
- "icon": [1],
24
- "active": [516],
78
+ "icon": [513],
79
+ "selected": [516],
25
80
  "disabled": [516]
26
81
  }]);
27
82
  function defineCustomElement$1() {