@limetech/lime-elements 38.1.1 → 38.1.2

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 (139) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +1 -1
  3. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js.map +1 -1
  4. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +4 -4
  5. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js.map +1 -1
  6. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-button-group.cjs.entry.js.map +1 -1
  8. package/dist/cjs/limel-button.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-button.cjs.entry.js.map +1 -1
  10. package/dist/cjs/limel-chip_2.cjs.entry.js +2 -2
  11. package/dist/cjs/limel-chip_2.cjs.entry.js.map +1 -1
  12. package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-code-editor.cjs.entry.js.map +1 -1
  14. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-color-picker-palette.cjs.entry.js.map +1 -1
  16. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-color-picker.cjs.entry.js.map +1 -1
  18. package/dist/cjs/limel-dock-button.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-dock-button.cjs.entry.js.map +1 -1
  20. package/dist/cjs/limel-dock.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-dock.cjs.entry.js.map +1 -1
  22. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
  23. package/dist/cjs/limel-file-viewer.cjs.entry.js.map +1 -1
  24. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  25. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js.map +1 -1
  26. package/dist/cjs/limel-help.cjs.entry.js +1 -1
  27. package/dist/cjs/limel-help.cjs.entry.js.map +1 -1
  28. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  29. package/dist/cjs/limel-icon-button.cjs.entry.js.map +1 -1
  30. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-select.cjs.entry.js.map +1 -1
  32. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  33. package/dist/cjs/limel-split-button.cjs.entry.js.map +1 -1
  34. package/dist/cjs/limel-table.cjs.entry.js +1 -1
  35. package/dist/cjs/limel-table.cjs.entry.js.map +1 -1
  36. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.css +1 -1
  37. package/dist/collection/components/breadcrumbs/breadcrumbs.css +1 -1
  38. package/dist/collection/components/button/button.css +1 -1
  39. package/dist/collection/components/button-group/button-group.css +1 -1
  40. package/dist/collection/components/chip/chip.css +2 -2
  41. package/dist/collection/components/chip-set/chip-set.css +1 -1
  42. package/dist/collection/components/code-editor/code-editor.css +1 -1
  43. package/dist/collection/components/color-picker/color-picker-palette.css +1 -1
  44. package/dist/collection/components/color-picker/color-picker.css +1 -1
  45. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.css +3 -3
  46. package/dist/collection/components/dock/dock-button/dock-button.css +1 -1
  47. package/dist/collection/components/dock/dock.css +1 -1
  48. package/dist/collection/components/file-viewer/file-viewer.css +1 -1
  49. package/dist/collection/components/help/help.css +1 -1
  50. package/dist/collection/components/icon-button/icon-button.css +1 -1
  51. package/dist/collection/components/input-field/input-field.css +1 -1
  52. package/dist/collection/components/list/list.css +1 -1
  53. package/dist/collection/components/menu-list/menu-list.css +1 -1
  54. package/dist/collection/components/select/select.css +1 -1
  55. package/dist/collection/components/split-button/split-button.css +1 -1
  56. package/dist/collection/components/table/table.css +1 -1
  57. package/dist/collection/style/mixins.scss +1 -8
  58. package/dist/esm/limel-action-bar-item_2.entry.js +1 -1
  59. package/dist/esm/limel-action-bar-item_2.entry.js.map +1 -1
  60. package/dist/esm/limel-breadcrumbs_7.entry.js +4 -4
  61. package/dist/esm/limel-breadcrumbs_7.entry.js.map +1 -1
  62. package/dist/esm/limel-button-group.entry.js +1 -1
  63. package/dist/esm/limel-button-group.entry.js.map +1 -1
  64. package/dist/esm/limel-button.entry.js +1 -1
  65. package/dist/esm/limel-button.entry.js.map +1 -1
  66. package/dist/esm/limel-chip_2.entry.js +2 -2
  67. package/dist/esm/limel-chip_2.entry.js.map +1 -1
  68. package/dist/esm/limel-code-editor.entry.js +1 -1
  69. package/dist/esm/limel-code-editor.entry.js.map +1 -1
  70. package/dist/esm/limel-color-picker-palette.entry.js +1 -1
  71. package/dist/esm/limel-color-picker-palette.entry.js.map +1 -1
  72. package/dist/esm/limel-color-picker.entry.js +1 -1
  73. package/dist/esm/limel-color-picker.entry.js.map +1 -1
  74. package/dist/esm/limel-dock-button.entry.js +1 -1
  75. package/dist/esm/limel-dock-button.entry.js.map +1 -1
  76. package/dist/esm/limel-dock.entry.js +1 -1
  77. package/dist/esm/limel-dock.entry.js.map +1 -1
  78. package/dist/esm/limel-file-viewer.entry.js +1 -1
  79. package/dist/esm/limel-file-viewer.entry.js.map +1 -1
  80. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  81. package/dist/esm/limel-flatpickr-adapter.entry.js.map +1 -1
  82. package/dist/esm/limel-help.entry.js +1 -1
  83. package/dist/esm/limel-help.entry.js.map +1 -1
  84. package/dist/esm/limel-icon-button.entry.js +1 -1
  85. package/dist/esm/limel-icon-button.entry.js.map +1 -1
  86. package/dist/esm/limel-select.entry.js +1 -1
  87. package/dist/esm/limel-select.entry.js.map +1 -1
  88. package/dist/esm/limel-split-button.entry.js +1 -1
  89. package/dist/esm/limel-split-button.entry.js.map +1 -1
  90. package/dist/esm/limel-table.entry.js +1 -1
  91. package/dist/esm/limel-table.entry.js.map +1 -1
  92. package/dist/lime-elements/lime-elements.esm.js +1 -1
  93. package/dist/lime-elements/{p-8dab08f0.entry.js → p-180675a5.entry.js} +2 -2
  94. package/dist/lime-elements/{p-8dab08f0.entry.js.map → p-180675a5.entry.js.map} +1 -1
  95. package/dist/lime-elements/p-211456f2.entry.js +2 -0
  96. package/dist/lime-elements/{p-56941588.entry.js.map → p-211456f2.entry.js.map} +1 -1
  97. package/dist/lime-elements/{p-f5a64ca4.entry.js → p-28c76ae8.entry.js} +2 -2
  98. package/dist/lime-elements/{p-f5a64ca4.entry.js.map → p-28c76ae8.entry.js.map} +1 -1
  99. package/dist/lime-elements/p-375eabba.entry.js +2 -0
  100. package/dist/lime-elements/{p-29d07118.entry.js.map → p-375eabba.entry.js.map} +1 -1
  101. package/dist/lime-elements/{p-a2e98824.entry.js → p-48269a17.entry.js} +2 -2
  102. package/dist/lime-elements/{p-a2e98824.entry.js.map → p-48269a17.entry.js.map} +1 -1
  103. package/dist/lime-elements/p-5a543b0b.entry.js +2 -0
  104. package/dist/lime-elements/{p-ddc35d44.entry.js.map → p-5a543b0b.entry.js.map} +1 -1
  105. package/dist/lime-elements/p-6500050d.entry.js +2 -0
  106. package/dist/lime-elements/{p-00590bcd.entry.js.map → p-6500050d.entry.js.map} +1 -1
  107. package/dist/lime-elements/p-8579a166.entry.js +2 -0
  108. package/dist/lime-elements/{p-a60e27ec.entry.js.map → p-8579a166.entry.js.map} +1 -1
  109. package/dist/lime-elements/p-8f1b76df.entry.js +2 -0
  110. package/dist/lime-elements/{p-5614ae39.entry.js.map → p-8f1b76df.entry.js.map} +1 -1
  111. package/dist/lime-elements/{p-b434149a.entry.js → p-9c5f2c45.entry.js} +2 -2
  112. package/dist/lime-elements/{p-b434149a.entry.js.map → p-9c5f2c45.entry.js.map} +1 -1
  113. package/dist/lime-elements/p-a2eee29e.entry.js +2 -0
  114. package/dist/lime-elements/{p-ec44102f.entry.js.map → p-a2eee29e.entry.js.map} +1 -1
  115. package/dist/lime-elements/p-b78a9a5c.entry.js +2 -0
  116. package/dist/lime-elements/{p-2244f9cf.entry.js.map → p-b78a9a5c.entry.js.map} +1 -1
  117. package/dist/lime-elements/{p-8bebeb6b.entry.js → p-dc6846e1.entry.js} +2 -2
  118. package/dist/lime-elements/{p-8bebeb6b.entry.js.map → p-dc6846e1.entry.js.map} +1 -1
  119. package/dist/lime-elements/{p-0f735cdc.entry.js → p-fc8f59db.entry.js} +4 -4
  120. package/dist/lime-elements/{p-0f735cdc.entry.js.map → p-fc8f59db.entry.js.map} +1 -1
  121. package/dist/lime-elements/p-fd0ea2e9.entry.js +2 -0
  122. package/dist/lime-elements/{p-303961f2.entry.js.map → p-fd0ea2e9.entry.js.map} +1 -1
  123. package/dist/lime-elements/{p-25fcb5b7.entry.js → p-fd8e4614.entry.js} +2 -2
  124. package/dist/lime-elements/{p-25fcb5b7.entry.js.map → p-fd8e4614.entry.js.map} +1 -1
  125. package/dist/lime-elements/p-fda881a3.entry.js +2 -0
  126. package/dist/lime-elements/{p-a897d1b5.entry.js.map → p-fda881a3.entry.js.map} +1 -1
  127. package/dist/lime-elements/style/mixins.scss +1 -8
  128. package/dist/scss/mixins.scss +1 -8
  129. package/package.json +1 -1
  130. package/dist/lime-elements/p-00590bcd.entry.js +0 -2
  131. package/dist/lime-elements/p-2244f9cf.entry.js +0 -2
  132. package/dist/lime-elements/p-29d07118.entry.js +0 -2
  133. package/dist/lime-elements/p-303961f2.entry.js +0 -2
  134. package/dist/lime-elements/p-5614ae39.entry.js +0 -2
  135. package/dist/lime-elements/p-56941588.entry.js +0 -2
  136. package/dist/lime-elements/p-a60e27ec.entry.js +0 -2
  137. package/dist/lime-elements/p-a897d1b5.entry.js +0 -2
  138. package/dist/lime-elements/p-ddc35d44.entry.js +0 -2
  139. package/dist/lime-elements/p-ec44102f.entry.js +0 -2
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as i,H as r}from"./p-443111b3.js";const o='@charset "UTF-8";:host(limel-split-button.has-menu){--button-padding-right:2rem}:host(limel-split-button){display:inline-flex;isolation:isolate}:host(limel-split-button) *{box-sizing:border-box}limel-button{width:100%}limel-menu{display:flex;justify-content:flex-end;position:relative;z-index:1;padding:0.125rem;margin-left:calc(var(--button-padding-right) * -1);width:var(--button-padding-right)}limel-menu:before{transition:background-color 0.5s ease;content:"";position:absolute;inset:0.375rem auto 0.375rem 0.6875rem;width:1px;background-color:currentColor;opacity:0.2}limel-menu:not([disabled]){color:var(--mdc-theme-primary, rgb(var(--color-teal-default)))}limel-menu:not([disabled]).primary{color:var(--mdc-theme-on-primary, rgb(var(--color-white)))}limel-menu[disabled]{color:rgba(var(--contrast-1600), 0.37)}limel-menu:hover:before,limel-menu:focus-within:before{background-color:transparent}.menu-trigger{all:unset;text-align:center;font-weight:bold;border-radius:0.125rem;height:100%;width:1rem}.menu-trigger:not(:disabled){transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:"inherit";background-color:transparent;cursor:pointer}.menu-trigger:not(:disabled):hover,.menu-trigger:not(:disabled):focus,.menu-trigger:not(:disabled):focus-visible{will-change:color, background-color, box-shadow, transform}.menu-trigger:not(:disabled):hover{transform:translate3d(0, 0.01rem, 0);color:"inherit";background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--button-shadow-hovered)}.menu-trigger:not(:disabled):active{--limel-clickable-transform-timing-function:cubic-bezier(\n 0.83,\n -0.15,\n 0.49,\n 1.16\n );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}.menu-trigger:not(:disabled):hover,.menu-trigger:not(:disabled):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}.menu-trigger:not(:disabled):focus{outline:none}.menu-trigger:not(:disabled):focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}.menu-trigger:not(:disabled):focus-visible,.menu-trigger:not(:disabled):hover{background-color:rgb(var(--color-white), 0.1)}.menu-trigger[aria-expanded]:not([aria-expanded=false]){box-shadow:var(--button-shadow-inset-pressed)}.menu-trigger:before{content:"";position:absolute;inset:-0.25rem;z-index:-1}';const s=class{constructor(r){e(this,r);this.select=t(this,"select",7);this.renderMenu=()=>{if(!this.items.length){return}return i("limel-menu",{class:{primary:this.primary},disabled:this.disabled||this.loading,items:this.items,openDirection:"bottom"},i("button",{class:"menu-trigger",slot:"trigger",disabled:this.disabled},"⋮"))};this.filterClickWhenDisabled=e=>{if(this.disabled){e.preventDefault()}};this.label=undefined;this.primary=false;this.icon=undefined;this.disabled=false;this.loading=false;this.loadingFailed=false;this.items=[]}render(){return i(r,{class:{"has-menu":!!this.items.length},onClick:this.filterClickWhenDisabled},i("limel-button",{label:this.label,primary:this.primary,icon:this.icon,disabled:this.disabled,loading:this.loading,loadingFailed:this.loadingFailed}),this.renderMenu())}static get delegatesFocus(){return true}};s.style=o;export{s as limel_split_button};
2
+ //# sourceMappingURL=p-211456f2.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["splitButtonCss","SplitButton","this","renderMenu","items","length","h","class","primary","disabled","loading","openDirection","slot","filterClickWhenDisabled","e","preventDefault","render","Host","onClick","label","icon","loadingFailed"],"sources":["./src/components/split-button/split-button.scss?tag=limel-split-button&encapsulation=shadow","./src/components/split-button/split-button.tsx"],"sourcesContent":["@use '../../style/mixins';\n\n:host(limel-split-button.has-menu) {\n --button-padding-right: 2rem;\n}\n\n:host(limel-split-button) {\n display: inline-flex;\n isolation: isolate;\n\n * {\n box-sizing: border-box;\n }\n}\n\nlimel-button {\n width: 100%;\n}\n\n$distance-around-trigger: 0.125rem;\n\nlimel-menu {\n display: flex;\n justify-content: flex-end;\n position: relative;\n z-index: 1;\n\n padding: $distance-around-trigger;\n margin-left: calc(var(--button-padding-right) * -1);\n width: var(--button-padding-right);\n\n &:before {\n transition: background-color 0.5s ease;\n content: '';\n position: absolute;\n inset: 0.375rem auto 0.375rem 0.6875rem;\n width: 1px;\n background-color: currentColor;\n\n opacity: 0.2;\n }\n\n &:not([disabled]) {\n color: var(\n --mdc-theme-primary,\n rgb(var(--color-teal-default))\n ); // similar to limel-button text\n\n &.primary {\n color: var(\n --mdc-theme-on-primary,\n rgb(var(--color-white))\n ); // similar to limel-button text\n }\n }\n\n &[disabled] {\n color: rgba(var(--contrast-1600), 0.37); // similar to limel-button text\n }\n\n &:hover,\n &:focus-within {\n &:before {\n background-color: transparent;\n }\n }\n}\n\n.menu-trigger {\n all: unset;\n\n text-align: center;\n font-weight: bold;\n\n border-radius: 0.125rem;\n height: 100%;\n width: 1rem;\n\n &:not(:disabled) {\n @include mixins.is-flat-clickable(\n $color: 'inherit',\n $color--hovered: 'inherit'\n );\n @include mixins.visualize-keyboard-focus();\n cursor: pointer;\n\n &:focus-visible,\n &:hover {\n background-color: rgb(var(--color-white), 0.1);\n }\n }\n\n &[aria-expanded]:not([aria-expanded='false']) {\n box-shadow: var(--button-shadow-inset-pressed);\n }\n\n &:before {\n // prevents unintentionally activating the default action,\n // by clicking on the edge of menu trigger,\n // which would be activating the default onClick action\n // on `limel-button`.\n content: '';\n position: absolute;\n inset: -$distance-around-trigger * 2;\n z-index: -1;\n }\n}\n","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-loading\n * @exampleComponent limel-example-split-button-repeat-default-command\n */\n@Component({\n tag: 'limel-split-button',\n shadow: { delegatesFocus: true },\n styleUrl: 'split-button.scss',\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 * Set to `true` to put the button in the `loading` state.\n * This also disables the button.\n */\n @Prop({ reflect: true })\n public loading = false;\n\n /**\n * Set to `true` to indicate failure instead of success when the button is\n * no longer in the `loading` state.\n */\n @Prop({ reflect: true })\n public loadingFailed = 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 loading={this.loading}\n loadingFailed={this.loadingFailed}\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 || this.loading}\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"],"mappings":"yDAAA,MAAMA,EAAiB,6mF,MC0BVC,EAAW,M,wDAwEZC,KAAAC,WAAa,KACjB,IAAKD,KAAKE,MAAMC,OAAQ,CACpB,M,CAGJ,OACIC,EAAA,cACIC,MAAO,CACHC,QAASN,KAAKM,SAElBC,SAAUP,KAAKO,UAAYP,KAAKQ,QAChCN,MAAOF,KAAKE,MACZO,cAAc,UAEdL,EAAA,UACIC,MAAM,eACNK,KAAK,UACLH,SAAUP,KAAKO,UAAQ,KAIlB,EAIbP,KAAAW,wBAA2BC,IAC/B,GAAIZ,KAAKO,SAAU,CACfK,EAAEC,gB,qCAxFO,M,kCAYC,M,aAOD,M,mBAOM,M,WAMyB,E,CAQhDC,SACI,OACIV,EAACW,EAAI,CACDV,MAAO,CACH,aAAcL,KAAKE,MAAMC,QAE7Ba,QAAShB,KAAKW,yBAEdP,EAAA,gBACIa,MAAOjB,KAAKiB,MACZX,QAASN,KAAKM,QACdY,KAAMlB,KAAKkB,KACXX,SAAUP,KAAKO,SACfC,QAASR,KAAKQ,QACdW,cAAenB,KAAKmB,gBAEvBnB,KAAKC,a"}
1
+ {"version":3,"names":["splitButtonCss","SplitButton","this","renderMenu","items","length","h","class","primary","disabled","loading","openDirection","slot","filterClickWhenDisabled","e","preventDefault","render","Host","onClick","label","icon","loadingFailed"],"sources":["./src/components/split-button/split-button.scss?tag=limel-split-button&encapsulation=shadow","./src/components/split-button/split-button.tsx"],"sourcesContent":["@use '../../style/mixins';\n\n:host(limel-split-button.has-menu) {\n --button-padding-right: 2rem;\n}\n\n:host(limel-split-button) {\n display: inline-flex;\n isolation: isolate;\n\n * {\n box-sizing: border-box;\n }\n}\n\nlimel-button {\n width: 100%;\n}\n\n$distance-around-trigger: 0.125rem;\n\nlimel-menu {\n display: flex;\n justify-content: flex-end;\n position: relative;\n z-index: 1;\n\n padding: $distance-around-trigger;\n margin-left: calc(var(--button-padding-right) * -1);\n width: var(--button-padding-right);\n\n &:before {\n transition: background-color 0.5s ease;\n content: '';\n position: absolute;\n inset: 0.375rem auto 0.375rem 0.6875rem;\n width: 1px;\n background-color: currentColor;\n\n opacity: 0.2;\n }\n\n &:not([disabled]) {\n color: var(\n --mdc-theme-primary,\n rgb(var(--color-teal-default))\n ); // similar to limel-button text\n\n &.primary {\n color: var(\n --mdc-theme-on-primary,\n rgb(var(--color-white))\n ); // similar to limel-button text\n }\n }\n\n &[disabled] {\n color: rgba(var(--contrast-1600), 0.37); // similar to limel-button text\n }\n\n &:hover,\n &:focus-within {\n &:before {\n background-color: transparent;\n }\n }\n}\n\n.menu-trigger {\n all: unset;\n\n text-align: center;\n font-weight: bold;\n\n border-radius: 0.125rem;\n height: 100%;\n width: 1rem;\n\n &:not(:disabled) {\n @include mixins.is-flat-clickable(\n $color: 'inherit',\n $color--hovered: 'inherit'\n );\n @include mixins.visualize-keyboard-focus();\n cursor: pointer;\n\n &:focus-visible,\n &:hover {\n background-color: rgb(var(--color-white), 0.1);\n }\n }\n\n &[aria-expanded]:not([aria-expanded='false']) {\n box-shadow: var(--button-shadow-inset-pressed);\n }\n\n &:before {\n // prevents unintentionally activating the default action,\n // by clicking on the edge of menu trigger,\n // which would be activating the default onClick action\n // on `limel-button`.\n content: '';\n position: absolute;\n inset: -$distance-around-trigger * 2;\n z-index: -1;\n }\n}\n","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-loading\n * @exampleComponent limel-example-split-button-repeat-default-command\n */\n@Component({\n tag: 'limel-split-button',\n shadow: { delegatesFocus: true },\n styleUrl: 'split-button.scss',\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 * Set to `true` to put the button in the `loading` state.\n * This also disables the button.\n */\n @Prop({ reflect: true })\n public loading = false;\n\n /**\n * Set to `true` to indicate failure instead of success when the button is\n * no longer in the `loading` state.\n */\n @Prop({ reflect: true })\n public loadingFailed = 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 loading={this.loading}\n loadingFailed={this.loadingFailed}\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 || this.loading}\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"],"mappings":"yDAAA,MAAMA,EAAiB,ojF,MC0BVC,EAAW,M,wDAwEZC,KAAAC,WAAa,KACjB,IAAKD,KAAKE,MAAMC,OAAQ,CACpB,M,CAGJ,OACIC,EAAA,cACIC,MAAO,CACHC,QAASN,KAAKM,SAElBC,SAAUP,KAAKO,UAAYP,KAAKQ,QAChCN,MAAOF,KAAKE,MACZO,cAAc,UAEdL,EAAA,UACIC,MAAM,eACNK,KAAK,UACLH,SAAUP,KAAKO,UAAQ,KAIlB,EAIbP,KAAAW,wBAA2BC,IAC/B,GAAIZ,KAAKO,SAAU,CACfK,EAAEC,gB,qCAxFO,M,kCAYC,M,aAOD,M,mBAOM,M,WAMyB,E,CAQhDC,SACI,OACIV,EAACW,EAAI,CACDV,MAAO,CACH,aAAcL,KAAKE,MAAMC,QAE7Ba,QAAShB,KAAKW,yBAEdP,EAAA,gBACIa,MAAOjB,KAAKiB,MACZX,QAASN,KAAKM,QACdY,KAAMlB,KAAKkB,KACXX,SAAUP,KAAKO,SACfC,QAASR,KAAKQ,QACdW,cAAenB,KAAKmB,gBAEvBnB,KAAKC,a"}