@limetech/lime-elements 37.2.2 → 37.2.4

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 (97) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/cjs/limel-breadcrumbs_3.cjs.entry.js +1 -1
  3. package/dist/cjs/limel-breadcrumbs_3.cjs.entry.js.map +1 -1
  4. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-button-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/limel-button.cjs.entry.js +8 -3
  7. package/dist/cjs/limel-button.cjs.entry.js.map +1 -1
  8. package/dist/cjs/limel-chip-set.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-chip-set.cjs.entry.js.map +1 -1
  10. package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-collapsible-section.cjs.entry.js.map +1 -1
  12. package/dist/cjs/limel-icon-button.cjs.entry.js +7 -2
  13. package/dist/cjs/limel-icon-button.cjs.entry.js.map +1 -1
  14. package/dist/cjs/limel-input-field_3.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-input-field_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-select.cjs.entry.js.map +1 -1
  18. package/dist/cjs/limel-split-button.cjs.entry.js +7 -2
  19. package/dist/cjs/limel-split-button.cjs.entry.js.map +1 -1
  20. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-switch.cjs.entry.js.map +1 -1
  22. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  23. package/dist/collection/components/breadcrumbs/breadcrumbs.js.map +1 -1
  24. package/dist/collection/components/button/button.css +3 -4
  25. package/dist/collection/components/button/button.js +8 -3
  26. package/dist/collection/components/button/button.js.map +1 -1
  27. package/dist/collection/components/button-group/button-group.css +1 -1
  28. package/dist/collection/components/chip-set/chip-set.css +3 -4
  29. package/dist/collection/components/collapsible-section/collapsible-section.css +0 -4
  30. package/dist/collection/components/icon-button/icon-button.css +18 -15
  31. package/dist/collection/components/icon-button/icon-button.js +7 -2
  32. package/dist/collection/components/icon-button/icon-button.js.map +1 -1
  33. package/dist/collection/components/input-field/input-field.css +1 -2
  34. package/dist/collection/components/select/select.css +1 -1
  35. package/dist/collection/components/split-button/split-button.css +0 -4
  36. package/dist/collection/components/split-button/split-button.js +6 -1
  37. package/dist/collection/components/split-button/split-button.js.map +1 -1
  38. package/dist/collection/components/switch/switch.css +2 -5
  39. package/dist/collection/style/internal/shared_input-select-picker.scss +0 -1
  40. package/dist/esm/limel-breadcrumbs_3.entry.js +1 -1
  41. package/dist/esm/limel-breadcrumbs_3.entry.js.map +1 -1
  42. package/dist/esm/limel-button-group.entry.js +1 -1
  43. package/dist/esm/limel-button-group.entry.js.map +1 -1
  44. package/dist/esm/limel-button.entry.js +9 -4
  45. package/dist/esm/limel-button.entry.js.map +1 -1
  46. package/dist/esm/limel-chip-set.entry.js +1 -1
  47. package/dist/esm/limel-chip-set.entry.js.map +1 -1
  48. package/dist/esm/limel-collapsible-section.entry.js +1 -1
  49. package/dist/esm/limel-collapsible-section.entry.js.map +1 -1
  50. package/dist/esm/limel-icon-button.entry.js +8 -3
  51. package/dist/esm/limel-icon-button.entry.js.map +1 -1
  52. package/dist/esm/limel-input-field_3.entry.js +1 -1
  53. package/dist/esm/limel-input-field_3.entry.js.map +1 -1
  54. package/dist/esm/limel-select.entry.js +1 -1
  55. package/dist/esm/limel-select.entry.js.map +1 -1
  56. package/dist/esm/limel-split-button.entry.js +7 -2
  57. package/dist/esm/limel-split-button.entry.js.map +1 -1
  58. package/dist/esm/limel-switch.entry.js +1 -1
  59. package/dist/esm/limel-switch.entry.js.map +1 -1
  60. package/dist/lime-elements/lime-elements.esm.js +1 -1
  61. package/dist/lime-elements/p-1291ed2c.entry.js +2 -0
  62. package/dist/lime-elements/p-1291ed2c.entry.js.map +1 -0
  63. package/dist/lime-elements/{p-fe2a3b79.entry.js → p-3074ae42.entry.js} +2 -2
  64. package/dist/lime-elements/{p-fe2a3b79.entry.js.map → p-3074ae42.entry.js.map} +1 -1
  65. package/dist/lime-elements/{p-e9f78225.entry.js → p-386d1c5a.entry.js} +2 -2
  66. package/dist/lime-elements/{p-e9f78225.entry.js.map → p-386d1c5a.entry.js.map} +1 -1
  67. package/dist/lime-elements/{p-60deff40.entry.js → p-4a8ac53b.entry.js} +2 -2
  68. package/dist/lime-elements/p-4a8ac53b.entry.js.map +1 -0
  69. package/dist/lime-elements/p-8be76471.entry.js +2 -0
  70. package/dist/lime-elements/p-8be76471.entry.js.map +1 -0
  71. package/dist/lime-elements/{p-a2b7eea7.entry.js → p-9928ba36.entry.js} +2 -2
  72. package/dist/lime-elements/p-9928ba36.entry.js.map +1 -0
  73. package/dist/lime-elements/p-af1eb67f.entry.js +2 -0
  74. package/dist/lime-elements/p-af1eb67f.entry.js.map +1 -0
  75. package/dist/lime-elements/p-b9922526.entry.js +2 -0
  76. package/dist/lime-elements/p-b9922526.entry.js.map +1 -0
  77. package/dist/lime-elements/{p-f4795ad3.entry.js → p-c022dd0d.entry.js} +2 -2
  78. package/dist/lime-elements/{p-f4795ad3.entry.js.map → p-c022dd0d.entry.js.map} +1 -1
  79. package/dist/lime-elements/p-d3f9a2f1.entry.js +2 -0
  80. package/dist/lime-elements/p-d3f9a2f1.entry.js.map +1 -0
  81. package/dist/lime-elements/style/internal/shared_input-select-picker.scss +0 -1
  82. package/dist/types/components/button/button.d.ts +1 -0
  83. package/dist/types/components/icon-button/icon-button.d.ts +1 -0
  84. package/dist/types/components/split-button/split-button.d.ts +1 -0
  85. package/package.json +7 -7
  86. package/dist/lime-elements/p-11f7f7d9.entry.js +0 -2
  87. package/dist/lime-elements/p-11f7f7d9.entry.js.map +0 -1
  88. package/dist/lime-elements/p-178a0b8a.entry.js +0 -2
  89. package/dist/lime-elements/p-178a0b8a.entry.js.map +0 -1
  90. package/dist/lime-elements/p-3480e5ff.entry.js +0 -2
  91. package/dist/lime-elements/p-3480e5ff.entry.js.map +0 -1
  92. package/dist/lime-elements/p-60deff40.entry.js.map +0 -1
  93. package/dist/lime-elements/p-a2b7eea7.entry.js.map +0 -1
  94. package/dist/lime-elements/p-d7ef9472.entry.js +0 -2
  95. package/dist/lime-elements/p-d7ef9472.entry.js.map +0 -1
  96. package/dist/lime-elements/p-f94723c3.entry.js +0 -2
  97. package/dist/lime-elements/p-f94723c3.entry.js.map +0 -1
@@ -59,10 +59,6 @@
59
59
  display: none;
60
60
  }
61
61
 
62
- :host([disabled]) {
63
- pointer-events: none;
64
- }
65
-
66
62
  :host([aria-expanded=true]) button,
67
63
  :host([aria-expanded]:not([aria-expanded=false])) button {
68
64
  box-shadow: var(--button-shadow-inset-pressed) !important;
@@ -70,10 +66,6 @@
70
66
 
71
67
  button {
72
68
  all: unset;
73
- transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
74
- cursor: pointer;
75
- color: var(--mdc-theme-on-surface);
76
- background-color: var(--icon-background-color, transparent);
77
69
  display: inline-flex;
78
70
  align-items: center;
79
71
  justify-content: center;
@@ -81,29 +73,40 @@ button {
81
73
  width: 2.25rem;
82
74
  border-radius: 50%;
83
75
  }
84
- button:hover {
76
+ button:not(:disabled) {
77
+ transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
78
+ cursor: pointer;
79
+ color: var(--mdc-theme-on-surface);
80
+ background-color: var(--icon-background-color, transparent);
81
+ }
82
+ button:not(:disabled):hover {
85
83
  color: var(--mdc-theme-on-surface);
86
84
  background-color: var(--lime-elevated-surface-background-color);
87
85
  box-shadow: var(--button-shadow-hovered);
88
86
  }
89
- button:active {
87
+ button:not(:disabled):active {
90
88
  box-shadow: var(--button-shadow-pressed);
91
89
  transform: translate3d(0, 0.08rem, 0);
92
90
  }
93
- button:focus {
91
+ button:not(:disabled):focus {
94
92
  outline: none;
95
93
  }
96
- button:focus-visible {
94
+ button:not(:disabled):focus-visible {
97
95
  outline: none;
98
96
  box-shadow: var(--shadow-depth-8-focused);
99
97
  }
100
- :host([elevated]) button:not(:hover):not(:active):not(:focus-visible) {
101
- box-shadow: var(--button-shadow-normal);
102
- }
103
98
  button:disabled {
99
+ cursor: not-allowed;
104
100
  color: var(--mdc-theme-text-disabled-on-background);
105
101
  }
106
102
 
103
+ :host([elevated]) button {
104
+ box-shadow: var(--button-shadow-normal);
105
+ }
106
+ :host([elevated]) button:disabled {
107
+ box-shadow: var(--button-shadow-normal);
108
+ }
109
+
107
110
  limel-icon {
108
111
  width: 1.25rem;
109
112
  }
@@ -1,4 +1,4 @@
1
- import { h } from '@stencil/core';
1
+ import { h, Host } from '@stencil/core';
2
2
  import { makeEnterClickable, removeEnterClickable, } from 'src/util/make-enter-clickable';
3
3
  import { createRandomString } from '../../util/random-string';
4
4
  /**
@@ -11,6 +11,11 @@ import { createRandomString } from '../../util/random-string';
11
11
  export class IconButton {
12
12
  constructor() {
13
13
  this.tooltipId = createRandomString();
14
+ this.filterClickWhenDisabled = (e) => {
15
+ if (this.disabled) {
16
+ e.preventDefault();
17
+ }
18
+ };
14
19
  this.icon = undefined;
15
20
  this.elevated = false;
16
21
  this.label = undefined;
@@ -39,7 +44,7 @@ export class IconButton {
39
44
  if (this.host.hasAttribute('tabindex')) {
40
45
  buttonAttributes.tabindex = this.host.getAttribute('tabindex');
41
46
  }
42
- return (h("button", Object.assign({ disabled: this.disabled, id: this.tooltipId }, buttonAttributes), h("limel-icon", { name: this.icon, badge: true }), this.renderTooltip(this.tooltipId)));
47
+ return (h(Host, { onClick: this.filterClickWhenDisabled }, h("button", Object.assign({ disabled: this.disabled, id: this.tooltipId }, buttonAttributes), h("limel-icon", { name: this.icon, badge: true }), this.renderTooltip(this.tooltipId))));
43
48
  }
44
49
  renderTooltip(tooltipId) {
45
50
  if (this.label) {
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EACH,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;;GAMG;AAMH,MAAM,OAAO,UAAU;;IA6CX,cAAS,GAAG,kBAAkB,EAAE,CAAC;;oBAjCvB,KAAK;;oBAYL,KAAK;;EAKhB,iBAAiB;IACpB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEM,iBAAiB;IACpB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClC,CAAC;EAEM,oBAAoB;IACvB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACpC,CAAC;EAEM,gBAAgB;IACnB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAIO,UAAU;IACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACvE,IAAI,CAAC,OAAO,EAAE;MACV,OAAO;KACV;EACL,CAAC;EAEM,MAAM;IACT,MAAM,gBAAgB,GAA0B,EAAE,CAAC;IAEnD,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;MACpC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KAClE;IAED,OAAO,CACH,4BACI,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,SAAS,IACd,gBAAgB;MAEpB,kBAAY,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAI;MAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAC9B,CACZ,CAAC;EACN,CAAC;EACO,aAAa,CAAC,SAAS;IAC3B,IAAI,IAAI,CAAC,KAAK,EAAE;MACZ,OAAO,qBAAe,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,CAAC;KACrE;EACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACJ","sourcesContent":["import { Component, Element, h, Prop } from '@stencil/core';\nimport {\n makeEnterClickable,\n removeEnterClickable,\n} from 'src/util/make-enter-clickable';\nimport { createRandomString } from '../../util/random-string';\n\n/**\n * @exampleComponent limel-example-icon-button-basic\n * @exampleComponent limel-example-icon-button-disabled\n * @exampleComponent limel-example-icon-button-elevated\n * @exampleComponent limel-example-icon-button-toggle-state\n * @exampleComponent limel-example-icon-button-composite\n */\n@Component({\n tag: 'limel-icon-button',\n shadow: true,\n styleUrl: 'icon-button.scss',\n})\nexport class IconButton {\n /**\n * The icon to display.\n */\n @Prop({ reflect: true })\n public icon: string;\n\n /**\n * Set to `true` to give the button our standard \"elevated\" look, lifting\n * it off the flat layout.\n */\n @Prop({ reflect: true })\n public elevated = false;\n\n /**\n * The text to show to screenreaders and other assistive tech.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Set to `true` to disable the button.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n @Element()\n private host: HTMLLimelIconButtonElement;\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentWillLoad() {\n makeEnterClickable(this.host);\n }\n\n public disconnectedCallback() {\n removeEnterClickable(this.host);\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n private tooltipId = createRandomString();\n\n private initialize() {\n const element = this.host.shadowRoot.querySelector('.mdc-icon-button');\n if (!element) {\n return;\n }\n }\n\n public render() {\n const buttonAttributes: { tabindex?: string } = {};\n\n if (this.host.hasAttribute('tabindex')) {\n buttonAttributes.tabindex = this.host.getAttribute('tabindex');\n }\n\n return (\n <button\n disabled={this.disabled}\n id={this.tooltipId}\n {...buttonAttributes}\n >\n <limel-icon name={this.icon} badge={true} />\n {this.renderTooltip(this.tooltipId)}\n </button>\n );\n }\n private renderTooltip(tooltipId) {\n if (this.label) {\n return <limel-tooltip elementId={tooltipId} label={this.label} />;\n }\n }\n}\n"]}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/icon-button/icon-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EACH,kBAAkB,EAClB,oBAAoB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;;GAMG;AAMH,MAAM,OAAO,UAAU;;IA6CX,cAAS,GAAG,kBAAkB,EAAE,CAAC;IAmCjC,4BAAuB,GAAG,CAAC,CAAC,EAAE,EAAE;MACpC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACf,CAAC,CAAC,cAAc,EAAE,CAAC;OACtB;IACL,CAAC,CAAC;;oBAxEgB,KAAK;;oBAYL,KAAK;;EAKhB,iBAAiB;IACpB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAEM,iBAAiB;IACpB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EAClC,CAAC;EAEM,oBAAoB;IACvB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACpC,CAAC;EAEM,gBAAgB;IACnB,IAAI,CAAC,UAAU,EAAE,CAAC;EACtB,CAAC;EAIO,UAAU;IACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACvE,IAAI,CAAC,OAAO,EAAE;MACV,OAAO;KACV;EACL,CAAC;EAEM,MAAM;IACT,MAAM,gBAAgB,GAA0B,EAAE,CAAC;IAEnD,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;MACpC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;KAClE;IAED,OAAO,CACH,EAAC,IAAI,IAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB;MACvC,4BACI,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,EAAE,EAAE,IAAI,CAAC,SAAS,IACd,gBAAgB;QAEpB,kBAAY,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAI;QAC3C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAC9B,CACN,CACV,CAAC;EACN,CAAC;EACO,aAAa,CAAC,SAAS;IAC3B,IAAI,IAAI,CAAC,KAAK,EAAE;MACZ,OAAO,qBAAe,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAI,CAAC;KACrE;EACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOJ","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core';\nimport {\n makeEnterClickable,\n removeEnterClickable,\n} from 'src/util/make-enter-clickable';\nimport { createRandomString } from '../../util/random-string';\n\n/**\n * @exampleComponent limel-example-icon-button-basic\n * @exampleComponent limel-example-icon-button-disabled\n * @exampleComponent limel-example-icon-button-elevated\n * @exampleComponent limel-example-icon-button-toggle-state\n * @exampleComponent limel-example-icon-button-composite\n */\n@Component({\n tag: 'limel-icon-button',\n shadow: true,\n styleUrl: 'icon-button.scss',\n})\nexport class IconButton {\n /**\n * The icon to display.\n */\n @Prop({ reflect: true })\n public icon: string;\n\n /**\n * Set to `true` to give the button our standard \"elevated\" look, lifting\n * it off the flat layout.\n */\n @Prop({ reflect: true })\n public elevated = false;\n\n /**\n * The text to show to screenreaders and other assistive tech.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Set to `true` to disable the button.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n @Element()\n private host: HTMLLimelIconButtonElement;\n\n public connectedCallback() {\n this.initialize();\n }\n\n public componentWillLoad() {\n makeEnterClickable(this.host);\n }\n\n public disconnectedCallback() {\n removeEnterClickable(this.host);\n }\n\n public componentDidLoad() {\n this.initialize();\n }\n\n private tooltipId = createRandomString();\n\n private initialize() {\n const element = this.host.shadowRoot.querySelector('.mdc-icon-button');\n if (!element) {\n return;\n }\n }\n\n public render() {\n const buttonAttributes: { tabindex?: string } = {};\n\n if (this.host.hasAttribute('tabindex')) {\n buttonAttributes.tabindex = this.host.getAttribute('tabindex');\n }\n\n return (\n <Host onClick={this.filterClickWhenDisabled}>\n <button\n disabled={this.disabled}\n id={this.tooltipId}\n {...buttonAttributes}\n >\n <limel-icon name={this.icon} badge={true} />\n {this.renderTooltip(this.tooltipId)}\n </button>\n </Host>\n );\n }\n private renderTooltip(tooltipId) {\n if (this.label) {\n return <limel-tooltip elementId={tooltipId} label={this.label} />;\n }\n }\n\n private filterClickWhenDisabled = (e) => {\n if (this.disabled) {\n e.preventDefault();\n }\n };\n}\n"]}
@@ -2037,7 +2037,6 @@
2037
2037
  }
2038
2038
  .mdc-text-field--disabled .lime-looks-like-input-value {
2039
2039
  cursor: not-allowed;
2040
- pointer-events: none;
2041
2040
  opacity: 0.4;
2042
2041
  }
2043
2042
 
@@ -2047,8 +2046,8 @@
2047
2046
 
2048
2047
  .lime-text-field--empty .mdc-text-field__icon--trailing, .lime-text-field--empty a.lime-trailing-icon-for-link {
2049
2048
  cursor: not-allowed;
2050
- pointer-events: none;
2051
2049
  opacity: 0.4;
2050
+ pointer-events: none;
2052
2051
  box-shadow: none !important;
2053
2052
  }
2054
2053
 
@@ -1698,8 +1698,8 @@
1698
1698
  }
1699
1699
  .limel-select.mdc-select--disabled .limel-select-trigger {
1700
1700
  cursor: not-allowed;
1701
- pointer-events: none;
1702
1701
  opacity: 0.4;
1702
+ box-shadow: var(--button-shadow-normal);
1703
1703
  }
1704
1704
  .limel-select.mdc-select--disabled .mdc-select__dropdown-icon svg {
1705
1705
  fill: rgb(var(--contrast-800));
@@ -64,10 +64,6 @@
64
64
  box-sizing: border-box;
65
65
  }
66
66
 
67
- :host([disabled]) {
68
- pointer-events: none;
69
- }
70
-
71
67
  limel-button {
72
68
  width: 100%;
73
69
  }
@@ -25,6 +25,11 @@ export class SplitButton {
25
25
  primary: this.primary,
26
26
  }, disabled: this.disabled, items: this.items, openDirection: "bottom" }, h("button", { class: "menu-trigger", slot: "trigger", disabled: this.disabled }, "\u22EE")));
27
27
  };
28
+ this.filterClickWhenDisabled = (e) => {
29
+ if (this.disabled) {
30
+ e.preventDefault();
31
+ }
32
+ };
28
33
  this.label = undefined;
29
34
  this.primary = false;
30
35
  this.icon = undefined;
@@ -34,7 +39,7 @@ export class SplitButton {
34
39
  render() {
35
40
  return (h(Host, { class: {
36
41
  'has-menu': !!this.items.length,
37
- } }, h("limel-button", { label: this.label, primary: this.primary, icon: this.icon, disabled: this.disabled }), this.renderMenu()));
42
+ }, onClick: this.filterClickWhenDisabled }, h("limel-button", { label: this.label, primary: this.primary, icon: this.icon, disabled: this.disabled }), this.renderMenu()));
38
43
  }
39
44
  static get is() { return "limel-split-button"; }
40
45
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"split-button.js","sourceRoot":"","sources":["../../../src/components/split-button/split-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI9E;;;;;;;;;;;;;;;GAeG;AAMH,MAAM,OAAO,WAAW;;IAuDZ,eAAU,GAAG,GAAG,EAAE;MACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACpB,OAAO;OACV;MAED,OAAO,CACH,kBACI,KAAK,EAAE;UACH,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,EACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAC,QAAQ;QAEtB,cACI,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,SAAS,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,aAGlB,CACA,CAChB,CAAC;IACN,CAAC,CAAC;;mBAnEe,KAAK;;oBAYJ,KAAK;iBAMyB,EAAE;;EAQlD,MAAM;IACF,OAAO,CACH,EAAC,IAAI,IACD,KAAK,EAAE;QACH,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;OAClC;MAED,oBACI,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACzB;MACD,IAAI,CAAC,UAAU,EAAE,CACf,CACV,CAAC;EACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BJ","sourcesContent":["import { Component, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { ListSeparator } from '../list/list-item.types';\nimport { MenuItem } from '../menu/menu.types';\n\n/**\n * A split button is a button with two components:\n * a button and a side-menu attached to it.\n *\n * Clicking on the button runs a default action,\n * and clicking on the arrow opens up a list of other possible actions.\n *\n * :::warning\n * - Never use a split button for navigation purposes, such as going to next page.\n * The button should only be used for performing commands!\n * - Never use this component instead of a Select or Menu component!\n * :::\n *\n * @exampleComponent limel-example-split-button-basic\n * @exampleComponent limel-example-split-button-repeat-default-command\n */\n@Component({\n tag: 'limel-split-button',\n styleUrl: 'split-button.scss',\n shadow: true,\n})\nexport class SplitButton {\n /**\n * The text to show on the default action part of the button.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Set to `true` to make the button primary.\n */\n @Prop({ reflect: true })\n public primary = false;\n\n /**\n * Set icon for the button\n */\n @Prop({ reflect: true })\n public icon: string;\n\n /**\n * Set to `true` to disable the button.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * A list of items and separators to show in the menu.\n */\n @Prop()\n public items: Array<MenuItem | ListSeparator> = [];\n\n /**\n * Is emitted when a menu item is selected.\n */\n @Event()\n public select: EventEmitter<MenuItem>;\n\n render() {\n return (\n <Host\n class={{\n 'has-menu': !!this.items.length,\n }}\n >\n <limel-button\n label={this.label}\n primary={this.primary}\n icon={this.icon}\n disabled={this.disabled}\n />\n {this.renderMenu()}\n </Host>\n );\n }\n\n private renderMenu = () => {\n if (!this.items.length) {\n return;\n }\n\n return (\n <limel-menu\n class={{\n primary: this.primary,\n }}\n disabled={this.disabled}\n items={this.items}\n openDirection=\"bottom\"\n >\n <button\n class=\"menu-trigger\"\n slot=\"trigger\"\n disabled={this.disabled}\n >\n ⋮\n </button>\n </limel-menu>\n );\n };\n}\n"]}
1
+ {"version":3,"file":"split-button.js","sourceRoot":"","sources":["../../../src/components/split-button/split-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAgB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI9E;;;;;;;;;;;;;;;GAeG;AAMH,MAAM,OAAO,WAAW;;IAwDZ,eAAU,GAAG,GAAG,EAAE;MACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACpB,OAAO;OACV;MAED,OAAO,CACH,kBACI,KAAK,EAAE;UACH,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,EACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAC,QAAQ;QAEtB,cACI,KAAK,EAAC,cAAc,EACpB,IAAI,EAAC,SAAS,EACd,QAAQ,EAAE,IAAI,CAAC,QAAQ,aAGlB,CACA,CAChB,CAAC;IACN,CAAC,CAAC;IAEM,4BAAuB,GAAG,CAAC,CAAC,EAAE,EAAE;MACpC,IAAI,IAAI,CAAC,QAAQ,EAAE;QACf,CAAC,CAAC,cAAc,EAAE,CAAC;OACtB;IACL,CAAC,CAAC;;mBA1Ee,KAAK;;oBAYJ,KAAK;iBAMyB,EAAE;;EAQlD,MAAM;IACF,OAAO,CACH,EAAC,IAAI,IACD,KAAK,EAAE;QACH,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;OAClC,EACD,OAAO,EAAE,IAAI,CAAC,uBAAuB;MAErC,oBACI,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,GACzB;MACD,IAAI,CAAC,UAAU,EAAE,CACf,CACV,CAAC;EACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCJ","sourcesContent":["import { Component, Event, EventEmitter, Host, h, Prop } from '@stencil/core';\nimport { ListSeparator } from '../list/list-item.types';\nimport { MenuItem } from '../menu/menu.types';\n\n/**\n * A split button is a button with two components:\n * a button and a side-menu attached to it.\n *\n * Clicking on the button runs a default action,\n * and clicking on the arrow opens up a list of other possible actions.\n *\n * :::warning\n * - Never use a split button for navigation purposes, such as going to next page.\n * The button should only be used for performing commands!\n * - Never use this component instead of a Select or Menu component!\n * :::\n *\n * @exampleComponent limel-example-split-button-basic\n * @exampleComponent limel-example-split-button-repeat-default-command\n */\n@Component({\n tag: 'limel-split-button',\n styleUrl: 'split-button.scss',\n shadow: true,\n})\nexport class SplitButton {\n /**\n * The text to show on the default action part of the button.\n */\n @Prop({ reflect: true })\n public label: string;\n\n /**\n * Set to `true` to make the button primary.\n */\n @Prop({ reflect: true })\n public primary = false;\n\n /**\n * Set icon for the button\n */\n @Prop({ reflect: true })\n public icon: string;\n\n /**\n * Set to `true` to disable the button.\n */\n @Prop({ reflect: true })\n public disabled = false;\n\n /**\n * A list of items and separators to show in the menu.\n */\n @Prop()\n public items: Array<MenuItem | ListSeparator> = [];\n\n /**\n * Is emitted when a menu item is selected.\n */\n @Event()\n public select: EventEmitter<MenuItem>;\n\n render() {\n return (\n <Host\n class={{\n 'has-menu': !!this.items.length,\n }}\n onClick={this.filterClickWhenDisabled}\n >\n <limel-button\n label={this.label}\n primary={this.primary}\n icon={this.icon}\n disabled={this.disabled}\n />\n {this.renderMenu()}\n </Host>\n );\n }\n\n private renderMenu = () => {\n if (!this.items.length) {\n return;\n }\n\n return (\n <limel-menu\n class={{\n primary: this.primary,\n }}\n disabled={this.disabled}\n items={this.items}\n openDirection=\"bottom\"\n >\n <button\n class=\"menu-trigger\"\n slot=\"trigger\"\n disabled={this.disabled}\n >\n ⋮\n </button>\n </limel-menu>\n );\n };\n\n private filterClickWhenDisabled = (e) => {\n if (this.disabled) {\n e.preventDefault();\n }\n };\n}\n"]}
@@ -835,12 +835,9 @@ label {
835
835
  /* @alternate */
836
836
  text-transform: var(--mdc-typography-body2-text-transform, inherit);
837
837
  color: var(--mdc-theme-on-surface);
838
- cursor: pointer;
839
838
  }
840
- label.disabled {
841
- cursor: not-allowed;
842
- pointer-events: none;
843
- opacity: 0.4;
839
+ label:not(.disabled) {
840
+ cursor: pointer;
844
841
  }
845
842
 
846
843
  label {
@@ -35,7 +35,6 @@ $cropped-label-hack--font-size: 0.875rem; //14px
35
35
 
36
36
  @mixin looks-disabled() {
37
37
  cursor: not-allowed;
38
- pointer-events: none;
39
38
  opacity: 0.4;
40
39
  }
41
40
 
@@ -40,7 +40,7 @@ const Breadcrumbs = class {
40
40
  this.renderAsLink = (item) => {
41
41
  const tooltipId = createRandomString();
42
42
  return [
43
- h("a", { role: "listitem", id: createRandomString(), class: "step", href: item.link.href, title: item.link.title }, this.renderIcon(item), this.renderLabel(item)),
43
+ h("a", { role: "listitem", id: tooltipId, class: "step", href: item.link.href, title: item.link.title }, this.renderIcon(item), this.renderLabel(item)),
44
44
  this.renderTooltip(item, tooltipId),
45
45
  ];
46
46
  };