@limetech/lime-elements 35.1.0-next.9 → 36.0.0-next.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 (70) hide show
  1. package/dist/cjs/lime-elements.cjs.js +1 -1
  2. package/dist/cjs/limel-chip-set.cjs.entry.js +8 -5
  3. package/dist/cjs/limel-color-picker-palette_2.cjs.entry.js +1 -1
  4. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-date-picker.cjs.entry.js +6 -3
  6. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +3 -9
  7. package/dist/cjs/limel-form.cjs.entry.js +3 -0
  8. package/dist/cjs/limel-icon-button.cjs.entry.js +2 -35
  9. package/dist/cjs/limel-list_3.cjs.entry.js +39 -9
  10. package/dist/cjs/limel-menu.cjs.entry.js +2 -2
  11. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  12. package/dist/cjs/limel-tooltip_2.cjs.entry.js +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/components/chip-set/chip-set.css +7 -0
  15. package/dist/collection/components/chip-set/chip-set.js +27 -4
  16. package/dist/collection/components/color-picker/color-picker.js +1 -1
  17. package/dist/collection/components/date-picker/date-picker.css +6 -1
  18. package/dist/collection/components/date-picker/date-picker.js +4 -4
  19. package/dist/collection/components/date-picker/pickers/MonthPicker.js +1 -3
  20. package/dist/collection/components/date-picker/pickers/QuarterPicker.js +1 -3
  21. package/dist/collection/components/date-picker/pickers/YearPicker.js +1 -3
  22. package/dist/collection/components/form/templates/common.js +3 -0
  23. package/dist/collection/components/icon-button/icon-button.css +21 -20
  24. package/dist/collection/components/icon-button/icon-button.js +2 -52
  25. package/dist/collection/components/list/list-renderer.js +2 -2
  26. package/dist/collection/components/menu/menu.js +6 -6
  27. package/dist/collection/components/picker/picker.js +1 -1
  28. package/dist/collection/components/popover/popover.js +23 -1
  29. package/dist/collection/components/portal/portal.js +39 -9
  30. package/dist/collection/components/tooltip/tooltip.js +1 -1
  31. package/dist/esm/lime-elements.js +1 -1
  32. package/dist/esm/limel-chip-set.entry.js +8 -5
  33. package/dist/esm/limel-color-picker-palette_2.entry.js +1 -1
  34. package/dist/esm/limel-color-picker.entry.js +1 -1
  35. package/dist/esm/limel-date-picker.entry.js +6 -3
  36. package/dist/esm/limel-flatpickr-adapter.entry.js +3 -9
  37. package/dist/esm/limel-form.entry.js +3 -0
  38. package/dist/esm/limel-icon-button.entry.js +2 -35
  39. package/dist/esm/limel-list_3.entry.js +39 -9
  40. package/dist/esm/limel-menu.entry.js +2 -2
  41. package/dist/esm/limel-picker.entry.js +1 -1
  42. package/dist/esm/limel-tooltip_2.entry.js +1 -1
  43. package/dist/esm/loader.js +1 -1
  44. package/dist/lime-elements/lime-elements.esm.js +1 -1
  45. package/dist/lime-elements/p-08251941.entry.js +1 -0
  46. package/dist/lime-elements/{p-2754e134.entry.js → p-22569fb6.entry.js} +1 -1
  47. package/dist/lime-elements/p-5ad60e14.entry.js +126 -0
  48. package/dist/lime-elements/p-64f068a8.entry.js +1 -0
  49. package/dist/lime-elements/p-6b1bc80f.entry.js +1 -0
  50. package/dist/lime-elements/p-75152d89.entry.js +1 -0
  51. package/dist/lime-elements/{p-6d50aa71.entry.js → p-7e571ec6.entry.js} +1 -1
  52. package/dist/lime-elements/p-87453b45.entry.js +1 -0
  53. package/dist/lime-elements/p-995bbd2a.entry.js +1 -0
  54. package/dist/lime-elements/p-f0e872b6.entry.js +16 -0
  55. package/dist/types/components/chip-set/chip-set.d.ts +7 -0
  56. package/dist/types/components/icon-button/icon-button.d.ts +0 -11
  57. package/dist/types/components/menu/menu.d.ts +2 -2
  58. package/dist/types/components/menu/menu.types.d.ts +1 -1
  59. package/dist/types/components/popover/popover.d.ts +5 -0
  60. package/dist/types/components/portal/portal.d.ts +2 -0
  61. package/dist/types/components.d.ts +18 -6
  62. package/package.json +1 -2
  63. package/dist/lime-elements/p-36ecbd03.entry.js +0 -1
  64. package/dist/lime-elements/p-4d5a874a.entry.js +0 -1
  65. package/dist/lime-elements/p-5908c21d.entry.js +0 -1
  66. package/dist/lime-elements/p-84f933f7.entry.js +0 -16
  67. package/dist/lime-elements/p-bd8c9384.entry.js +0 -1
  68. package/dist/lime-elements/p-e80dd2ff.entry.js +0 -1
  69. package/dist/lime-elements/p-e83dddcd.entry.js +0 -126
  70. package/dist/lime-elements/p-eb13837f.entry.js +0 -1
@@ -3,11 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-2a28697b.js');
6
- const component = require('./component-cf490570.js');
7
- require('./component-67144c1c.js');
8
- require('./ponyfill-98ca4766.js');
9
6
 
10
- const iconButtonCss = ".mdc-icon-button{font-size:24px;width:48px;height:48px;padding:12px}.mdc-icon-button.mdc-icon-button--reduced-size{width:40px;height:40px;padding:8px}.mdc-icon-button.mdc-icon-button--reduced-size.mdc-icon-button--touch{margin-top:4px;margin-bottom:4px;margin-right:4px;margin-left:4px}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mdc-icon-button:disabled{color:rgba(0, 0, 0, 0.38);color:var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38))}.mdc-icon-button svg,.mdc-icon-button img{width:24px;height:24px}.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:transparent;fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--touch{margin-top:0px;margin-bottom:0px}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity}.mdc-icon-button .mdc-icon-button__ripple::before,.mdc-icon-button .mdc-icon-button__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-icon-button .mdc-icon-button__ripple::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-icon-button .mdc-icon-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-icon-button.mdc-ripple-upgraded--unbounded .mdc-icon-button__ripple::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-icon-button.mdc-ripple-upgraded--foreground-activation .mdc-icon-button__ripple::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-icon-button.mdc-ripple-upgraded--foreground-deactivation .mdc-icon-button__ripple::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-icon-button .mdc-icon-button__ripple::before,.mdc-icon-button .mdc-icon-button__ripple::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::before,.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-icon-button .mdc-icon-button__ripple::before,.mdc-icon-button .mdc-icon-button__ripple::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-icon-button:hover .mdc-icon-button__ripple::before,.mdc-icon-button.mdc-ripple-surface--hover .mdc-icon-button__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__ripple::before,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-icon-button:not(.mdc-ripple-upgraded) .mdc-icon-button__ripple::after{transition:opacity 150ms linear}.mdc-icon-button:not(.mdc-ripple-upgraded):active .mdc-icon-button__ripple::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-icon-button .mdc-icon-button__ripple{pointer-events:none;z-index:1}@media (pointer: coarse){.mdc-icon-button:hover::before{opacity:0}}:host{display:inline-flex;align-items:center;justify-content:center}:host([hidden]){display:none}:host([disabled]){pointer-events:none}:host([elevated]) .mdc-icon-button{padding:0.5625rem}:host([elevated]) limel-icon{transition:background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;box-shadow:var(--button-shadow-normal)}:host([elevated]) limel-icon:hover{box-shadow:var(--button-shadow-hovered)}:host([elevated]) limel-icon:active{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.08rem, 0)}.mdc-icon-button:disabled{color:var(--mdc-theme-text-disabled-on-background)}.mdc-icon-button:focus-visible{box-shadow:var(--shadow-depth-8-focused);border-radius:50%}";
7
+ const iconButtonCss = ".mdc-icon-button{font-size:24px;width:48px;height:48px;padding:12px}.mdc-icon-button.mdc-icon-button--reduced-size{width:40px;height:40px;padding:8px}.mdc-icon-button.mdc-icon-button--reduced-size.mdc-icon-button--touch{margin-top:4px;margin-bottom:4px;margin-right:4px;margin-left:4px}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mdc-icon-button:disabled{color:rgba(0, 0, 0, 0.38);color:var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38))}.mdc-icon-button svg,.mdc-icon-button img{width:24px;height:24px}.mdc-icon-button{display:inline-block;position:relative;box-sizing:border-box;border:none;outline:none;background-color:transparent;fill:currentColor;color:inherit;text-decoration:none;cursor:pointer;user-select:none;overflow:visible}.mdc-icon-button .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%, -50%)}.mdc-icon-button:disabled{cursor:default;pointer-events:none}.mdc-icon-button--display-flex{align-items:center;display:inline-flex;justify-content:center}.mdc-icon-button__icon{display:inline-block}.mdc-icon-button__icon.mdc-icon-button__icon--on{display:none}.mdc-icon-button--touch{margin-top:0px;margin-bottom:0px}.mdc-icon-button--on .mdc-icon-button__icon{display:none}.mdc-icon-button--on .mdc-icon-button__icon.mdc-icon-button__icon--on{display:inline-block}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:rgba(0, 0, 0, 0);will-change:transform, opacity}.mdc-icon-button .mdc-icon-button__ripple::before,.mdc-icon-button .mdc-icon-button__ripple::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-icon-button .mdc-icon-button__ripple::before{transition:opacity 15ms linear, background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index, 1)}.mdc-icon-button .mdc-icon-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index, 0)}.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-icon-button.mdc-ripple-upgraded--unbounded .mdc-icon-button__ripple::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-icon-button.mdc-ripple-upgraded--foreground-activation .mdc-icon-button__ripple::after{animation:mdc-ripple-fg-radius-in 225ms forwards, mdc-ripple-fg-opacity-in 75ms forwards}.mdc-icon-button.mdc-ripple-upgraded--foreground-deactivation .mdc-icon-button__ripple::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-icon-button .mdc-icon-button__ripple::before,.mdc-icon-button .mdc-icon-button__ripple::after{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::before,.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::after{top:var(--mdc-ripple-top, calc(50% - 50%));left:var(--mdc-ripple-left, calc(50% - 50%));width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-icon-button.mdc-ripple-upgraded .mdc-icon-button__ripple::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-icon-button .mdc-icon-button__ripple::before,.mdc-icon-button .mdc-icon-button__ripple::after{background-color:#000;background-color:var(--mdc-ripple-color, #000)}.mdc-icon-button:hover .mdc-icon-button__ripple::before,.mdc-icon-button.mdc-ripple-surface--hover .mdc-icon-button__ripple::before{opacity:0.04;opacity:var(--mdc-ripple-hover-opacity, 0.04)}.mdc-icon-button.mdc-ripple-upgraded--background-focused .mdc-icon-button__ripple::before,.mdc-icon-button:not(.mdc-ripple-upgraded):focus .mdc-icon-button__ripple::before{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-focus-opacity, 0.12)}.mdc-icon-button:not(.mdc-ripple-upgraded) .mdc-icon-button__ripple::after{transition:opacity 150ms linear}.mdc-icon-button:not(.mdc-ripple-upgraded):active .mdc-icon-button__ripple::after{transition-duration:75ms;opacity:0.12;opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-icon-button .mdc-icon-button__ripple{pointer-events:none;z-index:1}:host([hidden]){display:none}:host([disabled]){pointer-events:none}.mdc-icon-button{transition:background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:2.25rem;width:2.25rem;padding:0.125rem;border-radius:50%;background-color:var(--icon-background-color, transparent)}.mdc-icon-button:hover{box-shadow:var(--button-shadow-hovered)}.mdc-icon-button:active{box-shadow:var(--button-shadow-pressed);transform:translate3d(0, 0.08rem, 0)}:host([elevated]) .mdc-icon-button:not(:hover):not(:active):not(:focus-visible){box-shadow:var(--button-shadow-normal)}.mdc-icon-button:disabled{color:var(--mdc-theme-text-disabled-on-background)}.mdc-icon-button:focus-visible{box-shadow:var(--shadow-depth-8-focused);border-radius:50%}limel-icon{width:1.25rem;height:1.25rem}";
11
8
 
12
9
  const IconButton = class {
13
10
  constructor(hostRef) {
@@ -21,23 +18,6 @@ const IconButton = class {
21
18
  * Set to `true` to disable the button.
22
19
  */
23
20
  this.disabled = false;
24
- this.removeFocusedStyleOnClick =
25
- this.removeFocusedStyleOnClick.bind(this);
26
- }
27
- /**
28
- * If the button is hidden or inside another element that is animating
29
- * while the button is instantiated, the hover-highlight may become
30
- * misaligned. If so, calling this method will make the button re-layout
31
- * the highlight.
32
- */
33
- async relayout() {
34
- if (this.mdcIconButtonRipple) {
35
- this.mdcIconButtonRipple.layout();
36
- }
37
- }
38
- removeFocusedStyleOnClick() {
39
- const mdcButton = this.host.shadowRoot.querySelector('.mdc-icon-button');
40
- mdcButton.classList.remove('mdc-ripple-upgraded--background-focused');
41
21
  }
42
22
  connectedCallback() {
43
23
  this.initialize();
@@ -50,26 +30,13 @@ const IconButton = class {
50
30
  if (!element) {
51
31
  return;
52
32
  }
53
- this.mdcIconButtonRipple = new component.MDCRipple(element);
54
- this.mdcIconButtonRipple.unbounded = true;
55
- this.host.addEventListener('click', this.removeFocusedStyleOnClick);
56
- }
57
- disconnectedCallback() {
58
- var _a;
59
- (_a = this.mdcIconButtonRipple) === null || _a === void 0 ? void 0 : _a.destroy();
60
- this.host.removeEventListener('click', this.removeFocusedStyleOnClick);
61
33
  }
62
34
  render() {
63
35
  const buttonAttributes = {};
64
36
  if (this.host.hasAttribute('tabindex')) {
65
37
  buttonAttributes.tabindex = this.host.getAttribute('tabindex');
66
38
  }
67
- const iconAttributes = {};
68
- if (this.elevated) {
69
- iconAttributes.badge = true;
70
- iconAttributes.size = 'small';
71
- }
72
- return (index.h("button", Object.assign({ class: "mdc-icon-button", disabled: this.disabled, "aria-label": this.label, title: this.label }, buttonAttributes), index.h("div", { class: "mdc-icon-button__ripple" }), index.h("limel-icon", Object.assign({ name: this.icon }, iconAttributes))));
39
+ return (index.h("button", Object.assign({ class: "mdc-icon-button", disabled: this.disabled, "aria-label": this.label, title: this.label }, buttonAttributes), index.h("limel-icon", { name: this.icon, badge: true })));
73
40
  }
74
41
  get host() { return index.getElement(this); }
75
42
  };
@@ -146,8 +146,8 @@ class ListRenderer {
146
146
  if (!actions || actions.length === 0) {
147
147
  return;
148
148
  }
149
- return (index.h("limel-menu", { class: "mdc-deprecated-list-item__meta", items: actions, openDirection: "left" },
150
- index.h("limel-icon", { slot: "trigger", name: "menu_2", size: "small" })));
149
+ return (index.h("limel-menu", { class: "mdc-deprecated-list-item__meta", items: actions, openDirection: "left-start" },
150
+ index.h("limel-icon-button", { class: "action-menu-trigger", slot: "trigger", icon: "menu_2" })));
151
151
  };
152
152
  this.renderVariantListItem = (config, item, index$1) => {
153
153
  let itemTemplate;
@@ -2297,7 +2297,7 @@ const Portal = class {
2297
2297
  /**
2298
2298
  * Decides which direction the portal content should open.
2299
2299
  */
2300
- this.openDirection = 'right';
2300
+ this.openDirection = 'bottom';
2301
2301
  /**
2302
2302
  * Position of the content.
2303
2303
  */
@@ -2453,12 +2453,8 @@ const Portal = class {
2453
2453
  this.popperInstance = null;
2454
2454
  }
2455
2455
  createPopperConfig() {
2456
- let placement = 'bottom-start';
2457
- let flipPlacement = 'top-start';
2458
- if (this.openDirection === 'left') {
2459
- placement = 'bottom-end';
2460
- flipPlacement = 'top-end';
2461
- }
2456
+ const placement = this.getPlacement(this.openDirection);
2457
+ const flipPlacement = this.getFlipPlacement(this.openDirection);
2462
2458
  return {
2463
2459
  strategy: this.position,
2464
2460
  placement: placement,
@@ -2472,6 +2468,40 @@ const Portal = class {
2472
2468
  ],
2473
2469
  };
2474
2470
  }
2471
+ getPlacement(direction) {
2472
+ const placements = {
2473
+ 'left-start': 'left-start',
2474
+ left: 'left',
2475
+ 'left-end': 'left-end',
2476
+ 'right-start': 'right-start',
2477
+ right: 'right',
2478
+ 'right-end': 'right-end',
2479
+ 'top-start': 'top-start',
2480
+ top: 'top',
2481
+ 'top-end': 'top-end',
2482
+ 'bottom-start': 'bottom-start',
2483
+ bottom: 'bottom',
2484
+ 'bottom-end': 'bottom-end',
2485
+ };
2486
+ return placements[direction];
2487
+ }
2488
+ getFlipPlacement(direction) {
2489
+ const flipPlacements = {
2490
+ 'left-start': 'right-start',
2491
+ left: 'right',
2492
+ 'left-end': 'right-end',
2493
+ 'right-start': 'left-start',
2494
+ right: 'left',
2495
+ 'right-end': 'left-end',
2496
+ 'top-start': 'bottom-start',
2497
+ top: 'bottom',
2498
+ 'top-end': 'bottom-end',
2499
+ 'bottom-start': 'top-start',
2500
+ bottom: 'top',
2501
+ 'bottom-end': 'top-end',
2502
+ };
2503
+ return flipPlacements[direction];
2504
+ }
2475
2505
  ensureContainerFitsInViewPort() {
2476
2506
  const viewHeight = Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0);
2477
2507
  const { top, bottom } = this.host.getBoundingClientRect();
@@ -27,9 +27,9 @@ const Menu = class {
27
27
  */
28
28
  this.disabled = false;
29
29
  /**
30
- * Decides if the menu should open right or left.
30
+ * Decides the menu's location in relation to its trigger
31
31
  */
32
- this.openDirection = 'right';
32
+ this.openDirection = 'bottom-start';
33
33
  /**
34
34
  * Sets the open state of the menu.
35
35
  */
@@ -320,7 +320,7 @@ const Picker = class {
320
320
  props.maxItems = 1;
321
321
  }
322
322
  return [
323
- index.h("limel-chip-set", Object.assign({ type: "input", label: this.label, helperText: this.helperText, leadingIcon: this.leadingIcon, value: this.chips, disabled: this.disabled, delimiter: this.renderDelimiter(), readonly: this.readonly, required: this.required, searchLabel: this.searchLabel, onInput: this.handleTextInput, onKeyDown: this.handleInputKeyDown, onChange: this.handleChange, onInteract: this.handleInteract, onStartEdit: this.handleInputFieldFocus, onStopEdit: this.handleStopEditAndBlur, emptyInputOnBlur: false, clearAllButton: this.multiple }, props)),
323
+ index.h("limel-chip-set", Object.assign({ type: "input", inputType: "search", label: this.label, helperText: this.helperText, leadingIcon: this.leadingIcon, value: this.chips, disabled: this.disabled, delimiter: this.renderDelimiter(), readonly: this.readonly, required: this.required, searchLabel: this.searchLabel, onInput: this.handleTextInput, onKeyDown: this.handleInputKeyDown, onChange: this.handleChange, onInteract: this.handleInteract, onStartEdit: this.handleInputFieldFocus, onStopEdit: this.handleStopEditAndBlur, emptyInputOnBlur: false, clearAllButton: this.multiple }, props)),
324
324
  this.renderDropdown(),
325
325
  ];
326
326
  }
@@ -38,7 +38,7 @@ const Tooltip = class {
38
38
  }
39
39
  render() {
40
40
  const tooltipZIndex = getComputedStyle(this.host).getPropertyValue('--tooltip-z-index');
41
- return (index.h("div", { class: "trigger-anchor" }, index.h("limel-portal", { visible: this.open, containerId: this.portalId, containerStyle: {
41
+ return (index.h("div", { class: "trigger-anchor" }, index.h("limel-portal", { openDirection: "bottom-start", visible: this.open, containerId: this.portalId, containerStyle: {
42
42
  'z-index': tooltipZIndex,
43
43
  'pointer-events': 'none',
44
44
  } }, index.h("limel-tooltip-content", { label: this.label, helperLabel: this.helperLabel, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open, id: this.tooltipId }))));
@@ -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([["limel-color-picker.cjs",[[1,"limel-color-picker",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"tooltipLabel":[513,"tooltip-label"],"required":[516],"readonly":[516],"isOpen":[32]}]]],["limel-picker.cjs",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"helperText":[513,"helper-text"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"badgeIcons":[516,"badge-icons"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-date-picker.cjs",[[1,"limel-date-picker",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"required":[516],"value":[16],"type":[513],"format":[513],"language":[513],"formattedValue":[32],"internalFormat":[32],"showPortal":[32]}]]],["limel-button-group.cjs",[[1,"limel-button-group",{"value":[16],"disabled":[516],"selectedButtonId":[32]}]]],["limel-select.cjs",[[1,"limel-select",{"disabled":[516],"readonly":[516],"invalid":[516],"required":[516],"label":[513],"helperText":[513,"helper-text"],"value":[16],"options":[16],"multiple":[4],"menuOpen":[32]}]]],["limel-tab-panel.cjs",[[1,"limel-tab-panel",{"tabs":[1040]}]]],["limel-file.cjs",[[1,"limel-file",{"value":[16],"label":[513],"required":[516],"disabled":[516],"readonly":[516],"accept":[513],"language":[1],"isDraggingOverDropZone":[32]}]]],["limel-menu.cjs",[[1,"limel-menu",{"items":[16],"disabled":[516],"openDirection":[513,"open-direction"],"open":[1540],"badgeIcons":[516,"badge-icons"],"gridLayout":[516,"grid-layout"]}]]],["limel-button.cjs",[[1,"limel-button",{"label":[513],"primary":[516],"outlined":[516],"icon":[513],"disabled":[516],"loading":[516]}]]],["limel-collapsible-section.cjs",[[1,"limel-collapsible-section",{"isOpen":[1540,"is-open"],"header":[513],"actions":[16]}]]],["limel-dialog.cjs",[[1,"limel-dialog",{"heading":[1],"fullscreen":[516],"open":[1540],"closingActions":[16]}]]],["limel-progress-flow.cjs",[[1,"limel-progress-flow",{"flowItems":[16],"disabled":[4],"readonly":[4]}]]],["limel-checkbox.cjs",[[1,"limel-checkbox",{"disabled":[516],"readonly":[516],"label":[513],"helperText":[513,"helper-text"],"checked":[516],"indeterminate":[516],"required":[516],"modified":[32]}]]],["limel-table.cjs",[[1,"limel-table",{"data":[16],"columns":[16],"mode":[1],"pageSize":[2,"page-size"],"totalRows":[2,"total-rows"],"sorting":[16],"activeRow":[1040],"movableColumns":[4,"movable-columns"],"loading":[4],"page":[2],"emptyMessage":[1,"empty-message"],"aggregates":[16],"selectable":[4],"selection":[16]}]]],["limel-banner.cjs",[[1,"limel-banner",{"message":[513],"icon":[513],"isOpen":[32],"open":[64],"close":[64]}]]],["limel-circular-progress.cjs",[[1,"limel-circular-progress",{"value":[2],"maxValue":[2,"max-value"],"suffix":[1],"displayPercentageColors":[4,"display-percentage-colors"],"size":[513]}]]],["limel-code-editor.cjs",[[1,"limel-code-editor",{"value":[1],"language":[1],"readonly":[4],"lineNumbers":[4,"line-numbers"],"colorScheme":[1,"color-scheme"],"random":[32]}]]],["limel-config.cjs",[[1,"limel-config",{"config":[16]}]]],["limel-flex-container.cjs",[[1,"limel-flex-container",{"direction":[513],"justify":[513],"align":[513],"reverse":[516]}]]],["limel-form.cjs",[[1,"limel-form",{"schema":[16],"value":[16],"disabled":[4],"propsFactory":[16],"transformErrors":[16],"errors":[16]}]]],["limel-grid.cjs",[[1,"limel-grid"]]],["limel-linear-progress.cjs",[[1,"limel-linear-progress",{"value":[2],"indeterminate":[4]}]]],["limel-slider.cjs",[[1,"limel-slider",{"disabled":[516],"readonly":[516],"factor":[514],"label":[513],"helperText":[513,"helper-text"],"unit":[513],"value":[514],"valuemax":[514],"valuemin":[514],"step":[514],"percentageClass":[32]}]]],["limel-snackbar.cjs",[[1,"limel-snackbar",{"message":[1],"timeout":[2],"actionText":[1,"action-text"],"dismissible":[4],"multiline":[4],"language":[1],"show":[64]}]]],["limel-switch.cjs",[[1,"limel-switch",{"label":[513],"disabled":[516],"readonly":[516],"value":[516],"fieldId":[32]}]]],["limel-tab-bar.cjs",[[1,"limel-tab-bar",{"tabs":[1040],"canScrollLeft":[32],"canScrollRight":[32]},[[9,"resize","handleWindowResize"]]]]],["limel-header.cjs",[[1,"limel-header",{"icon":[1],"heading":[1],"subheading":[1],"supportingText":[1,"supporting-text"]}]]],["limel-progress-flow-item.cjs",[[0,"limel-progress-flow-item",{"item":[16],"disabled":[4],"readonly":[4]}]]],["limel-flatpickr-adapter.cjs",[[1,"limel-flatpickr-adapter",{"value":[16],"type":[1],"format":[1],"isOpen":[4,"is-open"],"inputElement":[16],"language":[1]}]]],["limel-menu-list.cjs",[[1,"limel-menu-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}]]],["limel-popover-surface.cjs",[[1,"limel-popover-surface",{"contentCollection":[16]}]]],["limel-icon.cjs",[[1,"limel-icon",{"size":[513],"name":[513],"badge":[516]}]]],["limel-input-field.cjs",[[1,"limel-input-field",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"prefix":[513],"suffix":[513],"required":[516],"value":[513],"trailingIcon":[513,"trailing-icon"],"leadingIcon":[513,"leading-icon"],"pattern":[513],"type":[513],"formatNumber":[516,"format-number"],"step":[520],"max":[514],"min":[514],"maxlength":[514],"minlength":[514],"completions":[16],"showLink":[516,"show-link"],"isFocused":[32],"isModified":[32],"showCompletions":[32]}]]],["limel-color-picker-palette_2.cjs",[[1,"limel-color-picker-palette",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"required":[516]}],[1,"limel-popover",{"open":[4]}]]],["limel-badge.cjs",[[1,"limel-badge",{"label":[514]}]]],["limel-chip-set.cjs",[[1,"limel-chip-set",{"value":[16],"type":[513],"label":[513],"helperText":[513,"helper-text"],"disabled":[516],"readonly":[516],"maxItems":[514,"max-items"],"required":[516],"searchLabel":[513,"search-label"],"emptyInputOnBlur":[516,"empty-input-on-blur"],"clearAllButton":[4,"clear-all-button"],"leadingIcon":[513,"leading-icon"],"delimiter":[513],"language":[1],"editMode":[32],"textValue":[32],"blurred":[32],"inputChipIndexSelected":[32],"getEditMode":[64],"setFocus":[64],"emptyInput":[64]}]]],["limel-icon-button.cjs",[[1,"limel-icon-button",{"icon":[513],"elevated":[516],"label":[513],"disabled":[516],"relayout":[64]}]]],["limel-spinner.cjs",[[1,"limel-spinner",{"size":[513],"limeBranded":[4,"lime-branded"]}]]],["limel-list_3.cjs",[[1,"limel-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}],[1,"limel-menu-surface",{"open":[4],"allowClicksElement":[16]}],[1,"limel-portal",{"openDirection":[1,"open-direction"],"position":[1],"containerId":[1,"container-id"],"containerStyle":[16],"parent":[16],"inheritParentWidth":[4,"inherit-parent-width"],"visible":[4]}]]],["limel-tooltip_2.cjs",[[1,"limel-tooltip",{"elementId":[513,"element-id"],"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514],"open":[32]}],[1,"limel-tooltip-content",{"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514]}]]]], options);
17
+ return index.bootstrapLazy([["limel-color-picker.cjs",[[1,"limel-color-picker",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"tooltipLabel":[513,"tooltip-label"],"required":[516],"readonly":[516],"isOpen":[32]}]]],["limel-picker.cjs",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"helperText":[513,"helper-text"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"badgeIcons":[516,"badge-icons"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-date-picker.cjs",[[1,"limel-date-picker",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"required":[516],"value":[16],"type":[513],"format":[513],"language":[513],"formattedValue":[32],"internalFormat":[32],"showPortal":[32]}]]],["limel-button-group.cjs",[[1,"limel-button-group",{"value":[16],"disabled":[516],"selectedButtonId":[32]}]]],["limel-select.cjs",[[1,"limel-select",{"disabled":[516],"readonly":[516],"invalid":[516],"required":[516],"label":[513],"helperText":[513,"helper-text"],"value":[16],"options":[16],"multiple":[4],"menuOpen":[32]}]]],["limel-tab-panel.cjs",[[1,"limel-tab-panel",{"tabs":[1040]}]]],["limel-file.cjs",[[1,"limel-file",{"value":[16],"label":[513],"required":[516],"disabled":[516],"readonly":[516],"accept":[513],"language":[1],"isDraggingOverDropZone":[32]}]]],["limel-menu.cjs",[[1,"limel-menu",{"items":[16],"disabled":[516],"openDirection":[513,"open-direction"],"open":[1540],"badgeIcons":[516,"badge-icons"],"gridLayout":[516,"grid-layout"]}]]],["limel-button.cjs",[[1,"limel-button",{"label":[513],"primary":[516],"outlined":[516],"icon":[513],"disabled":[516],"loading":[516]}]]],["limel-collapsible-section.cjs",[[1,"limel-collapsible-section",{"isOpen":[1540,"is-open"],"header":[513],"actions":[16]}]]],["limel-dialog.cjs",[[1,"limel-dialog",{"heading":[1],"fullscreen":[516],"open":[1540],"closingActions":[16]}]]],["limel-progress-flow.cjs",[[1,"limel-progress-flow",{"flowItems":[16],"disabled":[4],"readonly":[4]}]]],["limel-checkbox.cjs",[[1,"limel-checkbox",{"disabled":[516],"readonly":[516],"label":[513],"helperText":[513,"helper-text"],"checked":[516],"indeterminate":[516],"required":[516],"modified":[32]}]]],["limel-table.cjs",[[1,"limel-table",{"data":[16],"columns":[16],"mode":[1],"pageSize":[2,"page-size"],"totalRows":[2,"total-rows"],"sorting":[16],"activeRow":[1040],"movableColumns":[4,"movable-columns"],"loading":[4],"page":[2],"emptyMessage":[1,"empty-message"],"aggregates":[16],"selectable":[4],"selection":[16]}]]],["limel-banner.cjs",[[1,"limel-banner",{"message":[513],"icon":[513],"isOpen":[32],"open":[64],"close":[64]}]]],["limel-circular-progress.cjs",[[1,"limel-circular-progress",{"value":[2],"maxValue":[2,"max-value"],"suffix":[1],"displayPercentageColors":[4,"display-percentage-colors"],"size":[513]}]]],["limel-code-editor.cjs",[[1,"limel-code-editor",{"value":[1],"language":[1],"readonly":[4],"lineNumbers":[4,"line-numbers"],"colorScheme":[1,"color-scheme"],"random":[32]}]]],["limel-config.cjs",[[1,"limel-config",{"config":[16]}]]],["limel-flex-container.cjs",[[1,"limel-flex-container",{"direction":[513],"justify":[513],"align":[513],"reverse":[516]}]]],["limel-form.cjs",[[1,"limel-form",{"schema":[16],"value":[16],"disabled":[4],"propsFactory":[16],"transformErrors":[16],"errors":[16]}]]],["limel-grid.cjs",[[1,"limel-grid"]]],["limel-linear-progress.cjs",[[1,"limel-linear-progress",{"value":[2],"indeterminate":[4]}]]],["limel-slider.cjs",[[1,"limel-slider",{"disabled":[516],"readonly":[516],"factor":[514],"label":[513],"helperText":[513,"helper-text"],"unit":[513],"value":[514],"valuemax":[514],"valuemin":[514],"step":[514],"percentageClass":[32]}]]],["limel-snackbar.cjs",[[1,"limel-snackbar",{"message":[1],"timeout":[2],"actionText":[1,"action-text"],"dismissible":[4],"multiline":[4],"language":[1],"show":[64]}]]],["limel-switch.cjs",[[1,"limel-switch",{"label":[513],"disabled":[516],"readonly":[516],"value":[516],"fieldId":[32]}]]],["limel-tab-bar.cjs",[[1,"limel-tab-bar",{"tabs":[1040],"canScrollLeft":[32],"canScrollRight":[32]},[[9,"resize","handleWindowResize"]]]]],["limel-header.cjs",[[1,"limel-header",{"icon":[1],"heading":[1],"subheading":[1],"supportingText":[1,"supporting-text"]}]]],["limel-progress-flow-item.cjs",[[0,"limel-progress-flow-item",{"item":[16],"disabled":[4],"readonly":[4]}]]],["limel-flatpickr-adapter.cjs",[[1,"limel-flatpickr-adapter",{"value":[16],"type":[1],"format":[1],"isOpen":[4,"is-open"],"inputElement":[16],"language":[1]}]]],["limel-menu-list.cjs",[[1,"limel-menu-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}]]],["limel-popover-surface.cjs",[[1,"limel-popover-surface",{"contentCollection":[16]}]]],["limel-icon.cjs",[[1,"limel-icon",{"size":[513],"name":[513],"badge":[516]}]]],["limel-input-field.cjs",[[1,"limel-input-field",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"prefix":[513],"suffix":[513],"required":[516],"value":[513],"trailingIcon":[513,"trailing-icon"],"leadingIcon":[513,"leading-icon"],"pattern":[513],"type":[513],"formatNumber":[516,"format-number"],"step":[520],"max":[514],"min":[514],"maxlength":[514],"minlength":[514],"completions":[16],"showLink":[516,"show-link"],"isFocused":[32],"isModified":[32],"showCompletions":[32]}]]],["limel-color-picker-palette_2.cjs",[[1,"limel-color-picker-palette",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"required":[516]}],[1,"limel-popover",{"open":[4],"openDirection":[513,"open-direction"]}]]],["limel-badge.cjs",[[1,"limel-badge",{"label":[514]}]]],["limel-chip-set.cjs",[[1,"limel-chip-set",{"value":[16],"type":[513],"label":[513],"helperText":[513,"helper-text"],"disabled":[516],"readonly":[516],"inputType":[513,"input-type"],"maxItems":[514,"max-items"],"required":[516],"searchLabel":[513,"search-label"],"emptyInputOnBlur":[516,"empty-input-on-blur"],"clearAllButton":[4,"clear-all-button"],"leadingIcon":[513,"leading-icon"],"delimiter":[513],"language":[1],"editMode":[32],"textValue":[32],"blurred":[32],"inputChipIndexSelected":[32],"getEditMode":[64],"setFocus":[64],"emptyInput":[64]}]]],["limel-icon-button.cjs",[[1,"limel-icon-button",{"icon":[513],"elevated":[516],"label":[513],"disabled":[516]}]]],["limel-spinner.cjs",[[1,"limel-spinner",{"size":[513],"limeBranded":[4,"lime-branded"]}]]],["limel-list_3.cjs",[[1,"limel-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}],[1,"limel-menu-surface",{"open":[4],"allowClicksElement":[16]}],[1,"limel-portal",{"openDirection":[1,"open-direction"],"position":[1],"containerId":[1,"container-id"],"containerStyle":[16],"parent":[16],"inheritParentWidth":[4,"inherit-parent-width"],"visible":[4]}]]],["limel-tooltip_2.cjs",[[1,"limel-tooltip",{"elementId":[513,"element-id"],"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514],"open":[32]}],[1,"limel-tooltip-content",{"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -2813,6 +2813,13 @@ limel-icon.mdc-chip__icon.mdc-chip__icon--leading {
2813
2813
  position: absolute;
2814
2814
  z-index: -100;
2815
2815
  }
2816
+ .mdc-text-field .mdc-text-field__input[type=search] {
2817
+ -webkit-appearance: textfield;
2818
+ background-color: transparent;
2819
+ }
2820
+ .mdc-text-field .mdc-text-field__input[type=search]::-webkit-search-cancel-button {
2821
+ display: none;
2822
+ }
2816
2823
 
2817
2824
  .mdc-text-field--disabled .mdc-chip {
2818
2825
  pointer-events: all;
@@ -12,6 +12,8 @@ const INPUT_FIELD_TABINDEX = 1;
12
12
  * @exampleComponent limel-example-chip-set-filter
13
13
  * @exampleComponent limel-example-chip-set-filter-badge
14
14
  * @exampleComponent limel-example-chip-set-input
15
+ * @exampleComponent limel-example-chip-set-input-type-text
16
+ * @exampleComponent limel-example-chip-set-input-type-search
15
17
  * @exampleComponent limel-example-chip-icon-color
16
18
  * @exampleComponent limel-example-chip-set-composite
17
19
  */
@@ -32,6 +34,11 @@ export class ChipSet {
32
34
  * the chip-set.
33
35
  */
34
36
  this.readonly = false;
37
+ /**
38
+ * For chip-sets of type `input`. Value to use for the `type` attribute on the
39
+ * input field inside the chip-set.
40
+ */
41
+ this.inputType = 'text';
35
42
  /**
36
43
  * True if the control requires a value
37
44
  */
@@ -221,7 +228,7 @@ export class ChipSet {
221
228
  'has-clear-all-button': this.clearAllButton,
222
229
  }, onClick: this.handleTextFieldFocus },
223
230
  this.value.map(this.renderInputChip),
224
- h("input", { tabIndex: INPUT_FIELD_TABINDEX, type: "text", id: "input-element", disabled: this.readonly || this.disabled, class: {
231
+ h("input", { tabIndex: INPUT_FIELD_TABINDEX, type: this.inputType, id: "input-element", disabled: this.readonly || this.disabled, class: {
225
232
  'mdc-text-field__input': true,
226
233
  hidden: this.inputHidden(),
227
234
  }, value: this.textValue, onBlur: this.handleInputBlur, onFocus: this.handleTextFieldFocus, onKeyDown: this.handleKeyDown, onInput: this.handleTextInput,
@@ -410,9 +417,7 @@ export class ChipSet {
410
417
  event.stopPropagation();
411
418
  this.removeChip(chip.id);
412
419
  };
413
- return (h("button", { class: "mdc-chip__icon mdc-chip__icon--trailing mdc-deprecated-chip-trailing-action", "aria-label": this.removeChipLabel, tabindex: "-1", innerHTML: svgData,
414
- // eslint-disable-next-line react/jsx-no-bind
415
- onClick: removeFunc }));
420
+ return (h("button", { class: "mdc-chip__icon mdc-chip__icon--trailing mdc-deprecated-chip-trailing-action", "aria-label": this.removeChipLabel, tabindex: "-1", innerHTML: svgData, onClick: removeFunc }));
416
421
  }
417
422
  renderClearAllChipsButton() {
418
423
  if (this.disabled || this.readonly || !this.clearAllButton) {
@@ -553,6 +558,24 @@ export class ChipSet {
553
558
  "reflect": true,
554
559
  "defaultValue": "false"
555
560
  },
561
+ "inputType": {
562
+ "type": "string",
563
+ "mutable": false,
564
+ "complexType": {
565
+ "original": "'search' | 'text'",
566
+ "resolved": "\"search\" | \"text\"",
567
+ "references": {}
568
+ },
569
+ "required": false,
570
+ "optional": false,
571
+ "docs": {
572
+ "tags": [],
573
+ "text": "For chip-sets of type `input`. Value to use for the `type` attribute on the\ninput field inside the chip-set."
574
+ },
575
+ "attribute": "input-type",
576
+ "reflect": true,
577
+ "defaultValue": "'text'"
578
+ },
556
579
  "maxItems": {
557
580
  "type": "number",
558
581
  "mutable": false,
@@ -26,7 +26,7 @@ export class ColorPicker {
26
26
  if (this.readonly) {
27
27
  return this.renderPickerTrigger();
28
28
  }
29
- return (h("limel-popover", { open: this.isOpen, onClose: this.onPopoverClose },
29
+ return (h("limel-popover", { open: this.isOpen, openDirection: "bottom-start", onClose: this.onPopoverClose },
30
30
  this.renderPickerTrigger(),
31
31
  h("limel-color-picker-palette", { value: this.value, label: this.label, helperText: this.helperText, onChange: this.handleChange, required: this.required })));
32
32
  };
@@ -1,6 +1,11 @@
1
1
  /**
2
2
  * @prop --dropdown-z-index: z-index of the dropdown menu.
3
3
  */
4
- div.container {
4
+ :host(limel-date-picker) {
5
5
  position: relative;
6
+ }
7
+
8
+ limel-input-field[disabled],
9
+ limel-input-field[readonly] {
10
+ pointer-events: none;
6
11
  }
@@ -110,14 +110,14 @@ export class DatePicker {
110
110
  inputProps.trailingIcon = 'clear_symbol';
111
111
  }
112
112
  if (this.useNative) {
113
- return (h("div", { class: "container" },
114
- h("limel-input-field", { disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, helperText: this.helperText, required: this.required, value: this.formattedValue, type: this.nativeType, onChange: this.nativeChangeHandler })));
113
+ return (h("limel-input-field", { disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, helperText: this.helperText, required: this.required, value: this.formattedValue, type: this.nativeType, onChange: this.nativeChangeHandler }));
115
114
  }
116
115
  const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
117
- return (h("div", { class: "container" },
116
+ return [
118
117
  h("limel-input-field", Object.assign({ disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, helperText: this.helperText, required: this.required, value: this.formattedValue, onFocus: this.showCalendar, onBlur: this.hideCalendar, onClick: this.onInputClick, onChange: this.handleInputElementChange, ref: (el) => (this.textField = el) }, inputProps)),
119
118
  h("limel-portal", { containerId: this.portalId, visible: this.showPortal, containerStyle: { 'z-index': dropdownZIndex } },
120
- h("limel-flatpickr-adapter", { format: this.internalFormat, language: this.language, type: this.type, value: this.value, ref: (el) => (this.datePickerCalendar = el), isOpen: this.showPortal, onChange: this.handleCalendarChange }))));
119
+ h("limel-flatpickr-adapter", { format: this.internalFormat, language: this.language, type: this.type, value: this.value, ref: (el) => (this.datePickerCalendar = el), isOpen: this.showPortal, onChange: this.handleCalendarChange })),
120
+ ];
121
121
  }
122
122
  onValueChange(newValue, oldValue) {
123
123
  if (newValue !== oldValue && newValue !== this.formattedValue) {
@@ -74,9 +74,7 @@ export class MonthPicker extends Picker {
74
74
  })));
75
75
  }
76
76
  renderMonth(month, fp) {
77
- return (h("div", { className: "datepicker-month",
78
- // eslint-disable-next-line react/jsx-no-bind
79
- onClick: () => {
77
+ return (h("div", { className: "datepicker-month", onClick: () => {
80
78
  const date = moment([fp.currentYear]).month(month).toDate();
81
79
  fp.setDate(date, true);
82
80
  fp.close();
@@ -78,9 +78,7 @@ export class QuarterPicker extends Picker {
78
78
  })));
79
79
  }
80
80
  renderQuarter(quarter, fp) {
81
- return (h("div", { className: "datepicker-quarter", id: `datepicker-quarter-${quarter}`,
82
- // eslint-disable-next-line react/jsx-no-bind
83
- onClick: () => {
81
+ return (h("div", { className: "datepicker-quarter", id: `datepicker-quarter-${quarter}`, onClick: () => {
84
82
  const date = moment([fp.currentYear])
85
83
  .quarter(quarter)
86
84
  .toDate();
@@ -106,9 +106,7 @@ export class YearPicker extends Picker {
106
106
  })));
107
107
  }
108
108
  renderYear(year, fp) {
109
- return (h("div", { className: "datepicker-year",
110
- // eslint-disable-next-line react/jsx-no-bind
111
- onClick: () => {
109
+ return (h("div", { className: "datepicker-year", onClick: () => {
112
110
  const date = moment(year).toDate();
113
111
  fp.setDate(date, true);
114
112
  fp.close();
@@ -41,6 +41,9 @@ export function findTitle(data, fieldSchema, formSchema) {
41
41
  if (!firstEntry) {
42
42
  return null;
43
43
  }
44
+ if (!subSchema.properties) {
45
+ return null;
46
+ }
44
47
  const [key, value] = firstEntry;
45
48
  return findTitle(value, subSchema.properties[key], formSchema);
46
49
  }
@@ -231,20 +231,9 @@
231
231
  z-index: 1;
232
232
  }
233
233
 
234
- @media (pointer: coarse) {
235
- .mdc-icon-button:hover::before {
236
- opacity: 0;
237
- }
238
- }
239
234
  /**
240
- * @prop --icon-background-color: Background color when attribute `elevated` is set to `true`.
235
+ * @prop --icon-background-color: Background color of the button.
241
236
  */
242
- :host {
243
- display: inline-flex;
244
- align-items: center;
245
- justify-content: center;
246
- }
247
-
248
237
  :host([hidden]) {
249
238
  display: none;
250
239
  }
@@ -253,25 +242,37 @@
253
242
  pointer-events: none;
254
243
  }
255
244
 
256
- :host([elevated]) .mdc-icon-button {
257
- padding: 0.5625rem;
258
- }
259
- :host([elevated]) limel-icon {
245
+ .mdc-icon-button {
260
246
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
261
- box-shadow: var(--button-shadow-normal);
247
+ display: inline-flex;
248
+ align-items: center;
249
+ justify-content: center;
250
+ box-sizing: border-box;
251
+ height: 2.25rem;
252
+ width: 2.25rem;
253
+ padding: 0.125rem;
254
+ border-radius: 50%;
255
+ background-color: var(--icon-background-color, transparent);
262
256
  }
263
- :host([elevated]) limel-icon:hover {
257
+ .mdc-icon-button:hover {
264
258
  box-shadow: var(--button-shadow-hovered);
265
259
  }
266
- :host([elevated]) limel-icon:active {
260
+ .mdc-icon-button:active {
267
261
  box-shadow: var(--button-shadow-pressed);
268
262
  transform: translate3d(0, 0.08rem, 0);
269
263
  }
270
-
264
+ :host([elevated]) .mdc-icon-button:not(:hover):not(:active):not(:focus-visible) {
265
+ box-shadow: var(--button-shadow-normal);
266
+ }
271
267
  .mdc-icon-button:disabled {
272
268
  color: var(--mdc-theme-text-disabled-on-background);
273
269
  }
274
270
  .mdc-icon-button:focus-visible {
275
271
  box-shadow: var(--shadow-depth-8-focused);
276
272
  border-radius: 50%;
273
+ }
274
+
275
+ limel-icon {
276
+ width: 1.25rem;
277
+ height: 1.25rem;
277
278
  }
@@ -1,5 +1,4 @@
1
- import { MDCRipple } from '@material/ripple';
2
- import { Component, Element, h, Method, Prop } from '@stencil/core';
1
+ import { Component, Element, h, Prop } from '@stencil/core';
3
2
  /**
4
3
  * @exampleComponent limel-example-icon-button-basic
5
4
  * @exampleComponent limel-example-icon-button-disabled
@@ -18,23 +17,6 @@ export class IconButton {
18
17
  * Set to `true` to disable the button.
19
18
  */
20
19
  this.disabled = false;
21
- this.removeFocusedStyleOnClick =
22
- this.removeFocusedStyleOnClick.bind(this);
23
- }
24
- /**
25
- * If the button is hidden or inside another element that is animating
26
- * while the button is instantiated, the hover-highlight may become
27
- * misaligned. If so, calling this method will make the button re-layout
28
- * the highlight.
29
- */
30
- async relayout() {
31
- if (this.mdcIconButtonRipple) {
32
- this.mdcIconButtonRipple.layout();
33
- }
34
- }
35
- removeFocusedStyleOnClick() {
36
- const mdcButton = this.host.shadowRoot.querySelector('.mdc-icon-button');
37
- mdcButton.classList.remove('mdc-ripple-upgraded--background-focused');
38
20
  }
39
21
  connectedCallback() {
40
22
  this.initialize();
@@ -47,28 +29,14 @@ export class IconButton {
47
29
  if (!element) {
48
30
  return;
49
31
  }
50
- this.mdcIconButtonRipple = new MDCRipple(element);
51
- this.mdcIconButtonRipple.unbounded = true;
52
- this.host.addEventListener('click', this.removeFocusedStyleOnClick);
53
- }
54
- disconnectedCallback() {
55
- var _a;
56
- (_a = this.mdcIconButtonRipple) === null || _a === void 0 ? void 0 : _a.destroy();
57
- this.host.removeEventListener('click', this.removeFocusedStyleOnClick);
58
32
  }
59
33
  render() {
60
34
  const buttonAttributes = {};
61
35
  if (this.host.hasAttribute('tabindex')) {
62
36
  buttonAttributes.tabindex = this.host.getAttribute('tabindex');
63
37
  }
64
- const iconAttributes = {};
65
- if (this.elevated) {
66
- iconAttributes.badge = true;
67
- iconAttributes.size = 'small';
68
- }
69
38
  return (h("button", Object.assign({ class: "mdc-icon-button", disabled: this.disabled, "aria-label": this.label, title: this.label }, buttonAttributes),
70
- h("div", { class: "mdc-icon-button__ripple" }),
71
- h("limel-icon", Object.assign({ name: this.icon }, iconAttributes))));
39
+ h("limel-icon", { name: this.icon, badge: true })));
72
40
  }
73
41
  static get is() { return "limel-icon-button"; }
74
42
  static get encapsulation() { return "shadow"; }
@@ -150,23 +118,5 @@ export class IconButton {
150
118
  "defaultValue": "false"
151
119
  }
152
120
  }; }
153
- static get methods() { return {
154
- "relayout": {
155
- "complexType": {
156
- "signature": "() => Promise<void>",
157
- "parameters": [],
158
- "references": {
159
- "Promise": {
160
- "location": "global"
161
- }
162
- },
163
- "return": "Promise<void>"
164
- },
165
- "docs": {
166
- "text": "If the button is hidden or inside another element that is animating\nwhile the button is instantiated, the hover-highlight may become\nmisaligned. If so, calling this method will make the button re-layout\nthe highlight.",
167
- "tags": []
168
- }
169
- }
170
- }; }
171
121
  static get elementRef() { return "host"; }
172
122
  }
@@ -123,8 +123,8 @@ export class ListRenderer {
123
123
  if (!actions || actions.length === 0) {
124
124
  return;
125
125
  }
126
- return (h("limel-menu", { class: "mdc-deprecated-list-item__meta", items: actions, openDirection: "left" },
127
- h("limel-icon", { slot: "trigger", name: "menu_2", size: "small" })));
126
+ return (h("limel-menu", { class: "mdc-deprecated-list-item__meta", items: actions, openDirection: "left-start" },
127
+ h("limel-icon-button", { class: "action-menu-trigger", slot: "trigger", icon: "menu_2" })));
128
128
  };
129
129
  this.renderVariantListItem = (config, item, index) => {
130
130
  let itemTemplate;
@@ -5,7 +5,7 @@ import { zipObject } from 'lodash-es';
5
5
  * @slot trigger - Element to use as a trigger for the menu.
6
6
  * @exampleComponent limel-example-menu-basic
7
7
  * @exampleComponent limel-example-menu-disabled
8
- * @exampleComponent limel-example-menu-open-left
8
+ * @exampleComponent limel-example-menu-open-direction
9
9
  * @exampleComponent limel-example-menu-icons
10
10
  * @exampleComponent limel-example-menu-badge-icons
11
11
  * @exampleComponent limel-example-menu-grid
@@ -24,9 +24,9 @@ export class Menu {
24
24
  */
25
25
  this.disabled = false;
26
26
  /**
27
- * Decides if the menu should open right or left.
27
+ * Decides the menu's location in relation to its trigger
28
28
  */
29
- this.openDirection = 'right';
29
+ this.openDirection = 'bottom-start';
30
30
  /**
31
31
  * Sets the open state of the menu.
32
32
  */
@@ -199,7 +199,7 @@ export class Menu {
199
199
  "mutable": false,
200
200
  "complexType": {
201
201
  "original": "OpenDirection",
202
- "resolved": "\"left\" | \"right\"",
202
+ "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
203
203
  "references": {
204
204
  "OpenDirection": {
205
205
  "location": "import",
@@ -211,11 +211,11 @@ export class Menu {
211
211
  "optional": false,
212
212
  "docs": {
213
213
  "tags": [],
214
- "text": "Decides if the menu should open right or left."
214
+ "text": "Decides the menu's location in relation to its trigger"
215
215
  },
216
216
  "attribute": "open-direction",
217
217
  "reflect": true,
218
- "defaultValue": "'right'"
218
+ "defaultValue": "'bottom-start'"
219
219
  },
220
220
  "open": {
221
221
  "type": "boolean",