@limetech/lime-elements 37.68.0 → 37.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +122 -0
  4. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js.map +1 -0
  5. package/dist/cjs/{limel-action-bar_4.cjs.entry.js → limel-action-bar_2.cjs.entry.js} +1 -115
  6. package/dist/cjs/limel-action-bar_2.cjs.entry.js.map +1 -0
  7. package/dist/cjs/{limel-breadcrumbs_5.cjs.entry.js → limel-breadcrumbs_7.cjs.entry.js} +3344 -407
  8. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js.map +1 -0
  9. package/dist/cjs/limel-card.cjs.entry.js +85 -0
  10. package/dist/cjs/limel-card.cjs.entry.js.map +1 -0
  11. package/dist/cjs/limel-dynamic-label_2.cjs.entry.js +91 -0
  12. package/dist/cjs/limel-dynamic-label_2.cjs.entry.js.map +1 -0
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/collection-manifest.json +1 -0
  15. package/dist/collection/components/card/card.css +202 -0
  16. package/dist/collection/components/card/card.js +282 -0
  17. package/dist/collection/components/card/card.js.map +1 -0
  18. package/dist/esm/lime-elements.js +1 -1
  19. package/dist/esm/limel-action-bar-item_2.entry.js +117 -0
  20. package/dist/esm/limel-action-bar-item_2.entry.js.map +1 -0
  21. package/dist/esm/{limel-action-bar_4.entry.js → limel-action-bar_2.entry.js} +2 -114
  22. package/dist/esm/limel-action-bar_2.entry.js.map +1 -0
  23. package/dist/esm/{limel-breadcrumbs_5.entry.js → limel-breadcrumbs_7.entry.js} +3333 -398
  24. package/dist/esm/limel-breadcrumbs_7.entry.js.map +1 -0
  25. package/dist/esm/limel-card.entry.js +81 -0
  26. package/dist/esm/limel-card.entry.js.map +1 -0
  27. package/dist/esm/limel-dynamic-label_2.entry.js +86 -0
  28. package/dist/esm/limel-dynamic-label_2.entry.js.map +1 -0
  29. package/dist/esm/loader.js +1 -1
  30. package/dist/lime-elements/lime-elements.esm.js +1 -1
  31. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  32. package/dist/lime-elements/p-18b068c9.entry.js +2 -0
  33. package/dist/lime-elements/p-18b068c9.entry.js.map +1 -0
  34. package/dist/lime-elements/p-7f9e0f52.entry.js +2 -0
  35. package/dist/lime-elements/p-7f9e0f52.entry.js.map +1 -0
  36. package/dist/lime-elements/p-97ae94e0.entry.js +266 -0
  37. package/dist/lime-elements/p-97ae94e0.entry.js.map +1 -0
  38. package/dist/lime-elements/p-9f8aa8e7.entry.js +2 -0
  39. package/dist/lime-elements/p-9f8aa8e7.entry.js.map +1 -0
  40. package/dist/lime-elements/p-a8e24972.entry.js +2 -0
  41. package/dist/lime-elements/p-a8e24972.entry.js.map +1 -0
  42. package/dist/types/components/card/card.d.ts +75 -0
  43. package/dist/types/components.d.ts +143 -4
  44. package/package.json +1 -1
  45. package/dist/cjs/component-864afce0.js +0 -2447
  46. package/dist/cjs/component-864afce0.js.map +0 -1
  47. package/dist/cjs/limel-action-bar_4.cjs.entry.js.map +0 -1
  48. package/dist/cjs/limel-breadcrumbs_5.cjs.entry.js.map +0 -1
  49. package/dist/cjs/limel-dynamic-label_4.cjs.entry.js +0 -600
  50. package/dist/cjs/limel-dynamic-label_4.cjs.entry.js.map +0 -1
  51. package/dist/esm/component-5e233629.js +0 -2439
  52. package/dist/esm/component-5e233629.js.map +0 -1
  53. package/dist/esm/limel-action-bar_4.entry.js.map +0 -1
  54. package/dist/esm/limel-breadcrumbs_5.entry.js.map +0 -1
  55. package/dist/esm/limel-dynamic-label_4.entry.js +0 -593
  56. package/dist/esm/limel-dynamic-label_4.entry.js.map +0 -1
  57. package/dist/lime-elements/p-589ba37a.entry.js +0 -2
  58. package/dist/lime-elements/p-589ba37a.entry.js.map +0 -1
  59. package/dist/lime-elements/p-b9b0853b.entry.js +0 -68
  60. package/dist/lime-elements/p-b9b0853b.entry.js.map +0 -1
  61. package/dist/lime-elements/p-bd261424.entry.js +0 -2
  62. package/dist/lime-elements/p-bd261424.entry.js.map +0 -1
  63. package/dist/lime-elements/p-d528606a.js +0 -200
  64. package/dist/lime-elements/p-d528606a.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import{r as e,h as i,H as t}from"./p-443111b3.js";import{g as r}from"./p-2f777fdb.js";const l="*{box-sizing:border-box;min-width:0}:host(limel-dynamic-label){--limel-dynamic-label-min-height:1.75rem;display:flex;gap:0.5rem;align-items:flex-start;border-radius:0.5rem;min-width:0}limel-icon{--limel-icon-svg-margin:0.125rem;border-radius:0.25rem;flex-shrink:0;width:var(--limel-dynamic-label-min-height);color:rgb(var(--contrast-900))}label{flex-grow:1;font-size:0.8125rem;line-height:normal;color:var(--mdc-theme-on-surface);padding-top:0.375rem}";const s=class{constructor(i){e(this,i);this.value=undefined;this.defaultLabel={};this.labels=[]}render(){var e,i;const t=this.labels.find((e=>e.value===this.value));return[this.renderIcon((e=t===null||t===void 0?void 0:t.icon)!==null&&e!==void 0?e:this.defaultLabel.icon),this.renderLabel((i=t===null||t===void 0?void 0:t.text)!==null&&i!==void 0?i:this.defaultLabel.text)]}renderIcon(e){const t=r(e);if(!t){return}let l;let s;if(typeof e==="object"){l=e.color;s=e.backgroundColor}const n={role:"presentation",name:t,style:{color:l,"background-color":s}};return i("limel-icon",Object.assign({},n))}renderLabel(e=""){return i("label",null,e)}};s.style=l;const n=":host(limel-helper-line){transition:opacity 0.2s ease;box-sizing:border-box;display:grid;min-width:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:0.6875rem;line-height:normal;color:rgb(var(--contrast-1200))}div{display:flex;justify-content:space-between;gap:0.75rem;overflow:hidden;padding:0 1rem}:host(limel-helper-line.invalid) .helper-text{color:var(--mdc-theme-error)}.counter{flex-shrink:0;margin-left:auto}.helper-text,.counter{padding-top:0.125rem}:host(limel-helper-line){transition:grid-template-rows var(--limel-h-l-grid-template-rows-transition-speed, 0.46s) cubic-bezier(1, 0.09, 0, 0.89);grid-template-rows:var(--limel-h-l-grid-template-rows, 1fr)}:host(limel-helper-line.hide){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}";const o=class{constructor(t){e(this,t);this.hasContent=()=>!!(this.maxLength>0||this.helperText&&this.helperText.length>0);this.renderHelperText=()=>{if(!this.helperText){return}return i("span",{class:"helper-text",id:this.helperTextId},this.helperText)};this.renderCharacterCounter=()=>{const e=`${this.length} / ${this.maxLength}`;if(!this.maxLength){return}return i("span",{class:"counter"},e)};this.helperText=undefined;this.length=undefined;this.maxLength=undefined;this.invalid=false;this.helperTextId=undefined}render(){return i(t,{tabIndex:-1,class:{invalid:this.invalid},style:!this.hasContent()?{display:"none"}:{},"aria-hidden":!this.hasContent()},i("div",null,this.renderHelperText(),this.renderCharacterCounter()))}};o.style=n;export{s as limel_dynamic_label,o as limel_helper_line};
2
+ //# sourceMappingURL=p-9f8aa8e7.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dynamicLabelCss","DynamicLabel","render","label","this","labels","find","l","value","renderIcon","_a","icon","defaultLabel","renderLabel","_b","text","iconName","getIconName","iconColor","iconBackgroundColor","color","backgroundColor","iconProps","role","name","style","h","Object","assign","helperLineCss","HelperLine","hasContent","maxLength","helperText","length","renderHelperText","class","id","helperTextId","renderCharacterCounter","counter","Host","tabIndex","invalid","display"],"sources":["./src/components/dynamic-label/dynamic-label.scss?tag=limel-dynamic-label&encapsulation=shadow","./src/components/dynamic-label/dynamic-label.tsx","./src/components/helper-line/helper-line.scss?tag=limel-helper-line&encapsulation=shadow","./src/components/helper-line/helper-line.tsx"],"sourcesContent":["* {\n box-sizing: border-box;\n min-width: 0;\n}\n\n:host(limel-dynamic-label) {\n --limel-dynamic-label-min-height: 1.75rem;\n display: flex;\n gap: 0.5rem;\n align-items: flex-start;\n border-radius: 0.5rem;\n min-width: 0;\n}\n\nlimel-icon {\n --limel-icon-svg-margin: 0.125rem;\n border-radius: 0.25rem;\n flex-shrink: 0;\n width: var(--limel-dynamic-label-min-height);\n color: rgb(\n var(--contrast-900)\n ); // The default `false` color. Will be overwritten by `Icon`\n}\n\nlabel {\n flex-grow: 1;\n font-size: 0.8125rem; // `13px`, Like Checkbox & Switch\n line-height: normal;\n color: var(--mdc-theme-on-surface);\n padding-top: 0.375rem;\n}\n","import { getIconName } from '../icon/get-icon-props';\nimport { Component, Prop, h } from '@stencil/core';\nimport { Label, LabelValue } from './label.types';\nimport { Icon } from '../../interface';\n\n/**\n * This components displays a different label depending on the current given\n * value. A label can consist of a text and an optional icon. If no matching\n * label is found among the given `labels`, the `defaultLabel` will be displayed.\n *\n * One use case of the component is to enhance the visualization of a `boolean`\n * field like a checkbox or switch in a `readonly` state.\n *\n * The reason we offer this component is that the default styling\n * of the Checkbox or Toggle switch in the `readonly` state may not always\n * provide the best way of _visualizing information_, potentially leading to\n * confusion and negatively affecting the end-users' experience.\n *\n * @exampleComponent limel-example-dynamic-label\n * @exampleComponent limel-example-dynamic-label-readonly-boolean\n * @beta\n */\n@Component({\n tag: 'limel-dynamic-label',\n shadow: true,\n styleUrl: 'dynamic-label.scss',\n})\nexport class DynamicLabel {\n /**\n * The current value of the component which is used to match with the given\n * `labels` to determine what label to display.\n *\n * If not matching label is found, the `defaultLabel` is displayed.\n */\n @Prop()\n public value: LabelValue;\n\n /**\n * The label to display when no matching value is found in the `labels`\n * array. This is a fallback label that ensures there's always a label\n * displayed for the component.\n */\n @Prop({ reflect: true })\n public defaultLabel: Omit<Label, 'value'> = {};\n\n /**\n * A list of available labels. Each label has a corresponding value that\n * will be matched with the current `value` of the component to determine\n * what label to display.\n */\n @Prop()\n public labels: Label[] = [];\n\n public render() {\n const label = this.labels.find((l) => l.value === this.value);\n\n return [\n this.renderIcon(label?.icon ?? this.defaultLabel.icon),\n this.renderLabel(label?.text ?? this.defaultLabel.text),\n ];\n }\n\n private renderIcon(icon?: string | Icon) {\n const iconName = getIconName(icon);\n if (!iconName) {\n return;\n }\n\n let iconColor: string | undefined;\n let iconBackgroundColor: string | undefined;\n\n if (typeof icon === 'object') {\n iconColor = icon.color;\n iconBackgroundColor = icon.backgroundColor;\n }\n\n const iconProps = {\n role: 'presentation',\n name: iconName,\n style: {\n color: iconColor,\n 'background-color': iconBackgroundColor,\n },\n };\n\n return <limel-icon {...iconProps} />;\n }\n\n private renderLabel(label: string = '') {\n return <label>{label}</label>;\n }\n}\n",":host(limel-helper-line) {\n transition: opacity 0.2s ease;\n\n box-sizing: border-box;\n display: grid;\n\n min-width: 0; // prevents overflowing, if component is placed in flex containers\n\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n font-size: 0.6875rem;\n line-height: normal;\n\n color: rgb(var(--contrast-1200));\n}\n\ndiv {\n display: flex;\n justify-content: space-between;\n gap: 0.75rem;\n overflow: hidden;\n padding: 0 1rem;\n}\n\n:host(limel-helper-line.invalid) {\n .helper-text {\n color: var(--mdc-theme-error);\n }\n}\n\n.counter {\n flex-shrink: 0;\n margin-left: auto;\n}\n\n.helper-text,\n.counter {\n padding-top: 0.125rem;\n}\n\n// This animates height of the helper line, from `0` to `auto`.\n// To get this animation effect, the consumer component should\n// add `hide` classed accordingly.\n:host(limel-helper-line) {\n transition: grid-template-rows\n var(--limel-h-l-grid-template-rows-transition-speed, 0.46s)\n cubic-bezier(1, 0.09, 0, 0.89);\n grid-template-rows: var(--limel-h-l-grid-template-rows, 1fr);\n}\n\n:host(limel-helper-line.hide) {\n --limel-h-l-grid-template-rows-transition-speed: 0.3s;\n --limel-h-l-grid-template-rows: 0fr;\n}\n// End: animating height\n","import { Component, Host, Prop, h } from '@stencil/core';\n\n/**\n * This is an internal and private component that many input fields\n * use to display a helper text, along with a character counter below the\n * input field.\n *\n * We created this to keep the visual styles the same everywhere\n * and to avoid importing styles separately.\n *\n * Also this enables us to open the helper line in limel-portal,\n * more easily without having to send the styles to the portal.\n *\n * @exampleComponent limel-example-helper-line\n * @exampleComponent limel-example-helper-line-invalid\n * @exampleComponent limel-example-helper-line-long-text\n * @exampleComponent limel-example-helper-line-long-text-no-counter\n * @exampleComponent limel-example-helper-line-character-counter\n * @exampleComponent limel-example-helper-line-empty\n * @exampleComponent limel-example-helper-line-animation\n * @private\n */\n@Component({\n tag: 'limel-helper-line',\n shadow: true,\n styleUrl: 'helper-line.scss',\n})\nexport class HelperLine {\n /**\n * The helper text that is displayed on the left side.\n */\n @Prop({ reflect: true })\n public helperText?: string;\n\n /**\n * Length of the current input value, coming from the parent component.\n * Used in the character counter section on the right side.\n */\n @Prop({ reflect: true })\n public length?: number;\n\n /**\n * Maximum length of the characters, defined on the parent component.\n * Used in the character counter section on the right side.\n */\n @Prop({ reflect: true })\n public maxLength?: number;\n\n /**\n * Turns `true`, when the parent component is invalid.\n * For example, when the parent component is `required` but is left empty.\n * Or when the input format is invalid.\n */\n @Prop({ reflect: true })\n public invalid?: boolean = false;\n\n /**\n * Used by `aria-controls` and `aria-describedby` in the parent component.\n */\n @Prop({ reflect: true })\n public helperTextId?: string;\n\n public render() {\n return (\n <Host\n tabIndex={-1}\n class={{\n invalid: this.invalid,\n }}\n style={!this.hasContent() ? { display: 'none' } : {}}\n aria-hidden={!this.hasContent()}\n >\n <div>\n {this.renderHelperText()}\n {this.renderCharacterCounter()}\n </div>\n </Host>\n );\n }\n\n private hasContent = () => {\n return !!(\n this.maxLength > 0 ||\n (this.helperText && this.helperText.length > 0)\n );\n };\n\n private renderHelperText = () => {\n if (!this.helperText) {\n return;\n }\n\n return (\n <span class=\"helper-text\" id={this.helperTextId}>\n {this.helperText}\n </span>\n );\n };\n\n private renderCharacterCounter = () => {\n const counter = `${this.length} / ${this.maxLength}`;\n\n if (!this.maxLength) {\n return;\n }\n\n return <span class=\"counter\">{counter}</span>;\n };\n}\n"],"mappings":"sFAAA,MAAMA,EAAkB,sc,MC2BXC,EAAY,M,gEAgBuB,G,YAQnB,E,CAElBC,S,QACH,MAAMC,EAAQC,KAAKC,OAAOC,MAAMC,GAAMA,EAAEC,QAAUJ,KAAKI,QAEvD,MAAO,CACHJ,KAAKK,YAAWC,EAAAP,IAAK,MAALA,SAAK,SAALA,EAAOQ,QAAI,MAAAD,SAAA,EAAAA,EAAIN,KAAKQ,aAAaD,MACjDP,KAAKS,aAAYC,EAAAX,IAAK,MAALA,SAAK,SAALA,EAAOY,QAAI,MAAAD,SAAA,EAAAA,EAAIV,KAAKQ,aAAaG,M,CAIlDN,WAAWE,GACf,MAAMK,EAAWC,EAAYN,GAC7B,IAAKK,EAAU,CACX,M,CAGJ,IAAIE,EACJ,IAAIC,EAEJ,UAAWR,IAAS,SAAU,CAC1BO,EAAYP,EAAKS,MACjBD,EAAsBR,EAAKU,e,CAG/B,MAAMC,EAAY,CACdC,KAAM,eACNC,KAAMR,EACNS,MAAO,CACHL,MAAOF,EACP,mBAAoBC,IAI5B,OAAOO,EAAA,aAAAC,OAAAC,OAAA,GAAgBN,G,CAGnBT,YAAYV,EAAgB,IAChC,OAAOuB,EAAA,aAAQvB,E,aCzFvB,MAAM0B,EAAgB,gzB,MC2BTC,EAAU,M,yBAqDX1B,KAAA2B,WAAa,OAEb3B,KAAK4B,UAAY,GAChB5B,KAAK6B,YAAc7B,KAAK6B,WAAWC,OAAS,GAI7C9B,KAAA+B,iBAAmB,KACvB,IAAK/B,KAAK6B,WAAY,CAClB,M,CAGJ,OACIP,EAAA,QAAMU,MAAM,cAAcC,GAAIjC,KAAKkC,cAC9BlC,KAAK6B,WACH,EAIP7B,KAAAmC,uBAAyB,KAC7B,MAAMC,EAAU,GAAGpC,KAAK8B,YAAY9B,KAAK4B,YAEzC,IAAK5B,KAAK4B,UAAW,CACjB,M,CAGJ,OAAON,EAAA,QAAMU,MAAM,WAAWI,EAAe,E,sFApDtB,M,4BAQpBtC,SACH,OACIwB,EAACe,EAAI,CACDC,UAAW,EACXN,MAAO,CACHO,QAASvC,KAAKuC,SAElBlB,OAAQrB,KAAK2B,aAAe,CAAEa,QAAS,QAAW,GAAE,eACtCxC,KAAK2B,cAEnBL,EAAA,WACKtB,KAAK+B,mBACL/B,KAAKmC,0B"}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,g as o}from"./p-443111b3.js";import{c as r}from"./p-3ccdc4a3.js";import{m as a,r as n}from"./p-869d6d77.js";import{g as s,a as l}from"./p-2f777fdb.js";const c='@charset "UTF-8";limel-action-bar-item{transition:opacity 0.2s ease-in-out;position:relative;display:flex;align-items:center}limel-action-bar-item:not([is-visible]){opacity:0;pointer-events:none}button{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:0.25rem;width:100%;min-width:var(--action-bar-item-height);max-width:var(--action-bar-item-max-width, 10rem);height:var(--action-bar-item-height);color:var(--limel-action-bar-item-text-color);border-radius:var(--action-bar-item-height);font-size:0.875rem;padding:0 0.25rem}button: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:var(--limel-action-bar-item-text-color);background-color:var(--action-bar-background-color)}button:not([disabled]):hover,button:not([disabled]):focus,button:not([disabled]):focus-visible{will-change:color, background-color, box-shadow, transform}button:not([disabled]):hover{transform:translate3d(0, -0.04rem, 0);color:var(--limel-action-bar-item-text-color);background-color:var(--action-bar-background-color);box-shadow:var(--button-shadow-hovered)}button: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);background-color:var(--action-bar-background-color);box-shadow:var(--button-shadow-inset-pressed)}button:not([disabled]):hover,button:not([disabled]):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button:not([disabled]):focus{outline:none}button:not([disabled]):focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button:has(.text){padding:0 0.5rem}button[disabled]{opacity:0.4}button.is-selected{color:var(--mdc-theme-primary) !important}button.is-selected:not(:hover){box-shadow:var(--button-shadow-inset)}.text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0 0.25rem}limel-icon{flex-shrink:0;width:calc(var(--action-bar-item-height) - 0.75rem);height:calc(var(--action-bar-item-height) - 0.75rem);color:var(--action-bar-item-icon-color, var(--limel-action-bar-item-text-color))}div[role=separator]{width:1px;height:1.5rem;border-radius:var(--action-bar-item-height);background-color:var(--limel-action-bar-item-text-color);opacity:0.2}@media (pointer: fine){div[role=separator]{margin-right:0.5rem;margin-left:0.5rem}}limel-menu{--notification-badge-background-color:rgb(var(--contrast-600));--notification-badge-text-color:rgb(var(--contrast-1200))}limel-menu[open] button{box-shadow:var(--button-shadow-inset)}button[slot=trigger]{animation:fade-in ease-out 0.25s;font-size:0.75rem;font-weight:bold;transform:translate3d(0, 0, 0)}@keyframes fade-in{0%{scale:0.8;opacity:0}100%{scale:1;opacity:1}}';const h=class{constructor(i){t(this,i);this.select=e(this,"select",7);this.handleClick=t=>{t.stopPropagation();this.select.emit(this.item)};this.item=undefined;this.isVisible=true;this.selected=false;this.tooltipId=r()}componentWillLoad(){a(this.host)}componentDidLoad(){this.triggerIconColorWarning()}disconnectedCallback(){n(this.host)}render(){if(!this.isItem(this.item)&&this.item.separator){return i("div",{role:"separator"})}return i("button",{id:this.tooltipId,type:"button",onClick:this.handleClick,disabled:this.isDisabled(),class:{"is-selected":this.isItem(this.item)&&this.item.selected}},this.renderIcon(),this.renderLabel(),this.renderTooltip())}isItem(t){return!("separator"in t)}isDisabled(){if(this.isItem(this.item)&&this.item.disabled){return true}if(!this.isVisible){return true}}renderIcon(){if(this.isItem(this.item)&&!this.item.icon){return}if("icon"in this.item){const t=s(this.item.icon);const e=l(this.item.icon,this.item.iconColor);return i("limel-icon",{name:t,style:{"--action-bar-item-icon-color":`${e}`}})}}renderLabel(){if(!this.isItem(this.item)||this.item.iconOnly){return}return i("span",{class:"text"},this.item.text)}renderTooltip(){if(!this.isItem(this.item)){return}if(this.item.text){return i("limel-tooltip",{elementId:this.tooltipId,label:this.item.text,helperLabel:this.item.commandText})}if(this.item.commandText){return i("limel-tooltip",{elementId:this.tooltipId,label:this.item.commandText})}}triggerIconColorWarning(){if(this.isItem(this.item)&&this.item.iconColor){console.warn("The `iconColor` prop is deprecated now! Use the new `Icon` interface and instead of `iconColor: 'color-name'` write `icon {name: 'icon-name', color: 'color-name'}`.")}}get host(){return o(this)}};h.style=c;const d=class{constructor(i){t(this,i);this.select=e(this,"select",7);this.countOverflowedItems=()=>`+${this.numberOfMenuItems}`;this.handleSelect=t=>{t.stopPropagation();this.select.emit(t.detail)};this.items=undefined;this.openDirection="bottom-end"}render(){return[i("limel-menu",{openDirection:this.openDirection,items:this.items,onSelect:this.handleSelect},i("button",{slot:"trigger"},this.countOverflowedItems()))]}get numberOfMenuItems(){return this.items.filter((t=>this.isMenuItem(t))).length}isMenuItem(t){return!("separator"in t)}};export{h as limel_action_bar_item,d as limel_action_bar_overflow_menu};
2
+ //# sourceMappingURL=p-a8e24972.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["actionBarItemCss","ActionBarButton","constructor","hostRef","this","handleClick","event","stopPropagation","select","emit","item","tooltipId","createRandomString","componentWillLoad","makeEnterClickable","host","componentDidLoad","triggerIconColorWarning","disconnectedCallback","removeEnterClickable","render","isItem","separator","h","role","id","type","onClick","disabled","isDisabled","class","selected","renderIcon","renderLabel","renderTooltip","isVisible","icon","name","getIconName","color","getIconColor","iconColor","style","iconOnly","text","elementId","label","helperLabel","commandText","console","warn","ActionBarOverflowMenu","countOverflowedItems","numberOfMenuItems","handleSelect","detail","openDirection","items","onSelect","slot","filter","isMenuItem","length"],"sources":["./src/components/action-bar/action-bar-item/action-bar-item.scss?tag=limel-action-bar-item","./src/components/action-bar/action-bar-item/action-bar-item.tsx","./src/components/action-bar/action-bar-item/action-bar-overflow-menu.tsx"],"sourcesContent":["@use '../../../style/mixins';\n@use '../../../style/functions';\n\nlimel-action-bar-item {\n transition: opacity 0.2s ease-in-out;\n position: relative;\n display: flex;\n align-items: center;\n\n &:not([is-visible]) {\n opacity: 0;\n pointer-events: none;\n }\n}\n\nbutton {\n all: unset;\n\n &:not([disabled]) {\n @include mixins.is-flat-inset-clickable(\n $color: var(--limel-action-bar-item-text-color),\n $color--hovered: var(--limel-action-bar-item-text-color),\n $background-color: var(--action-bar-background-color),\n $background-color--hovered: var(--action-bar-background-color),\n $background-color--inset: var(--action-bar-background-color)\n );\n @include mixins.visualize-keyboard-focus;\n }\n\n box-sizing: border-box;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.25rem;\n\n width: 100%;\n min-width: var(--action-bar-item-height);\n max-width: var(--action-bar-item-max-width, 10rem);\n height: var(--action-bar-item-height);\n color: var(--limel-action-bar-item-text-color);\n\n border-radius: var(--action-bar-item-height);\n font-size: functions.pxToRem(14);\n padding: 0 0.25rem;\n\n &:has(.text) {\n padding: 0 0.5rem;\n }\n\n &[disabled] {\n opacity: 0.4;\n }\n\n &.is-selected {\n &:not(:hover) {\n box-shadow: var(--button-shadow-inset);\n }\n color: var(--mdc-theme-primary) !important;\n }\n}\n\n.text {\n @include mixins.truncate-text();\n padding: 0 0.25rem;\n}\n\nlimel-icon {\n flex-shrink: 0;\n width: calc(var(--action-bar-item-height) - 0.75rem);\n height: calc(var(--action-bar-item-height) - 0.75rem);\n color: var(\n --action-bar-item-icon-color,\n var(--limel-action-bar-item-text-color)\n );\n}\n\ndiv[role='separator'] {\n width: 1px;\n height: 1.5rem;\n border-radius: var(--action-bar-item-height);\n background-color: var(--limel-action-bar-item-text-color);\n opacity: 0.2;\n\n @media (pointer: fine) {\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n }\n}\n\n// 👇 Overflow menu\n\nlimel-menu {\n --notification-badge-background-color: rgb(var(--contrast-600));\n --notification-badge-text-color: rgb(var(--contrast-1200));\n\n &[open] {\n button {\n box-shadow: var(--button-shadow-inset);\n }\n }\n}\n\nbutton[slot='trigger'] {\n animation: fade-in ease-out 0.25s;\n font-size: 0.75rem;\n font-weight: bold;\n transform: translate3d(0, 0, 0);\n}\n\n@keyframes fade-in {\n 0% {\n scale: 0.8;\n opacity: 0;\n }\n 100% {\n scale: 1;\n opacity: 1;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Prop,\n} from '@stencil/core';\nimport { ActionBarItem } from '../../action-bar/action-bar.types';\nimport { ListSeparator } from '../../list/list-item.types';\nimport { createRandomString } from '../../../util/random-string';\nimport {\n makeEnterClickable,\n removeEnterClickable,\n} from '../../../util/make-enter-clickable';\nimport { getIconColor, getIconName } from '../../icon/get-icon-props';\n\n/**\n * @private\n */\n@Component({\n tag: 'limel-action-bar-item',\n shadow: false,\n styleUrl: 'action-bar-item.scss',\n})\nexport class ActionBarButton {\n /**\n * Item that is placed in the action bar.\n */\n @Prop()\n public item!: ActionBarItem | ListSeparator;\n\n /**\n * Fired when a action bar item has been clicked.\n * @public\n */\n @Event()\n public select: EventEmitter<ActionBarItem | ListSeparator>;\n\n /**\n * When the item is displayed in the available width,\n * this will be `false`.\n */\n @Prop({ reflect: true })\n public isVisible: boolean = true;\n\n /**\n * When the item is selected, this will be `true`.\n */\n @Prop({ reflect: true })\n public selected: boolean = false;\n\n @Element()\n private host: HTMLLimelActionBarItemElement;\n\n /**\n * Used to attach the right tooltip to the right button\n */\n private tooltipId: string;\n\n constructor() {\n this.tooltipId = createRandomString();\n }\n\n public componentWillLoad() {\n makeEnterClickable(this.host);\n }\n\n public componentDidLoad() {\n this.triggerIconColorWarning();\n }\n\n public disconnectedCallback() {\n removeEnterClickable(this.host);\n }\n\n public render() {\n if (!this.isItem(this.item) && this.item.separator) {\n return <div role=\"separator\" />;\n }\n\n return (\n <button\n id={this.tooltipId}\n type=\"button\"\n onClick={this.handleClick}\n disabled={this.isDisabled()}\n class={{\n 'is-selected': this.isItem(this.item) && this.item.selected,\n }}\n >\n {this.renderIcon()}\n {this.renderLabel()}\n {this.renderTooltip()}\n </button>\n );\n }\n\n private handleClick = (event: MouseEvent) => {\n event.stopPropagation();\n this.select.emit(this.item);\n };\n\n private isItem(item: ActionBarItem | ListSeparator): item is ActionBarItem {\n return !('separator' in item);\n }\n\n private isDisabled() {\n if (this.isItem(this.item) && this.item.disabled) {\n return true;\n }\n\n if (!this.isVisible) {\n return true;\n }\n }\n\n private renderIcon() {\n if (this.isItem(this.item) && !this.item.icon) {\n return;\n }\n\n if ('icon' in this.item) {\n const name = getIconName(this.item.icon);\n const color = getIconColor(this.item.icon, this.item.iconColor);\n\n return (\n <limel-icon\n name={name}\n style={{\n '--action-bar-item-icon-color': `${color}`,\n }}\n />\n );\n }\n }\n\n private renderLabel() {\n if (!this.isItem(this.item) || this.item.iconOnly) {\n return;\n }\n\n return <span class=\"text\">{this.item.text}</span>;\n }\n\n private renderTooltip() {\n if (!this.isItem(this.item)) {\n return;\n }\n\n if (this.item.text) {\n return (\n <limel-tooltip\n elementId={this.tooltipId}\n label={this.item.text}\n helperLabel={this.item.commandText}\n />\n );\n }\n\n if (this.item.commandText) {\n return (\n <limel-tooltip\n elementId={this.tooltipId}\n label={this.item.commandText}\n />\n );\n }\n }\n\n private triggerIconColorWarning() {\n if (this.isItem(this.item) && this.item.iconColor) {\n /* eslint-disable-next-line no-console */\n console.warn(\n \"The `iconColor` prop is deprecated now! Use the new `Icon` interface and instead of `iconColor: 'color-name'` write `icon {name: 'icon-name', color: 'color-name'}`.\",\n );\n }\n }\n}\n","import { Component, Prop, h, Event, EventEmitter } from '@stencil/core';\nimport { ActionBarItem } from '../../action-bar/action-bar.types';\nimport { ListSeparator } from '../../list/list-item.types';\nimport { MenuItem, OpenDirection } from '../../menu/menu.types';\nimport { LimelMenuCustomEvent } from '../../../components';\n\n/**\n * @private\n */\n@Component({\n tag: 'limel-action-bar-overflow-menu',\n shadow: false,\n})\nexport class ActionBarOverflowMenu {\n /**\n * List of the items that should be rendered in the overflow menu.\n */\n @Prop()\n public items: Array<MenuItem | ListSeparator>;\n\n /**\n * Defines the location that the content of the overflow menu\n * appears, in relation to its trigger.\n * It defaults to `bottom-end`, since in normal scenarios\n * (for example when the action bar is not floating at the bottom of the screen)\n * this menu is the right-most item in the user interface of the component.\n */\n @Prop({ reflect: true })\n public openDirection: OpenDirection = 'bottom-end';\n\n /**\n * Fired when an item in the action bar overflow menu has been clicked.\n * @public\n */\n @Event()\n public select: EventEmitter<ActionBarItem>;\n\n public render() {\n return [\n <limel-menu\n openDirection={this.openDirection}\n items={this.items}\n onSelect={this.handleSelect}\n >\n <button slot=\"trigger\">{this.countOverflowedItems()}</button>\n </limel-menu>,\n ];\n }\n\n private countOverflowedItems = () => {\n return `+${this.numberOfMenuItems}`;\n };\n\n private handleSelect = (event: LimelMenuCustomEvent<MenuItem>) => {\n event.stopPropagation();\n this.select.emit(event.detail);\n };\n\n private get numberOfMenuItems() {\n return this.items.filter((item) => this.isMenuItem(item)).length;\n }\n\n private isMenuItem(item: MenuItem | ListSeparator): item is MenuItem {\n return !('separator' in item);\n }\n}\n"],"mappings":"mLAAA,MAAMA,EAAmB,y9F,MCyBZC,EAAe,MAmCxBC,YAAAC,G,yCAsCQC,KAAAC,YAAeC,IACnBA,EAAMC,kBACNH,KAAKI,OAAOC,KAAKL,KAAKM,KAAK,E,mCAxDH,K,cAMD,MAWvBN,KAAKO,UAAYC,G,CAGdC,oBACHC,EAAmBV,KAAKW,K,CAGrBC,mBACHZ,KAAKa,yB,CAGFC,uBACHC,EAAqBf,KAAKW,K,CAGvBK,SACH,IAAKhB,KAAKiB,OAAOjB,KAAKM,OAASN,KAAKM,KAAKY,UAAW,CAChD,OAAOC,EAAA,OAAKC,KAAK,a,CAGrB,OACID,EAAA,UACIE,GAAIrB,KAAKO,UACTe,KAAK,SACLC,QAASvB,KAAKC,YACduB,SAAUxB,KAAKyB,aACfC,MAAO,CACH,cAAe1B,KAAKiB,OAAOjB,KAAKM,OAASN,KAAKM,KAAKqB,WAGtD3B,KAAK4B,aACL5B,KAAK6B,cACL7B,KAAK8B,gB,CAUVb,OAAOX,GACX,QAAS,cAAeA,E,CAGpBmB,aACJ,GAAIzB,KAAKiB,OAAOjB,KAAKM,OAASN,KAAKM,KAAKkB,SAAU,CAC9C,OAAO,I,CAGX,IAAKxB,KAAK+B,UAAW,CACjB,OAAO,I,EAIPH,aACJ,GAAI5B,KAAKiB,OAAOjB,KAAKM,QAAUN,KAAKM,KAAK0B,KAAM,CAC3C,M,CAGJ,GAAI,SAAUhC,KAAKM,KAAM,CACrB,MAAM2B,EAAOC,EAAYlC,KAAKM,KAAK0B,MACnC,MAAMG,EAAQC,EAAapC,KAAKM,KAAK0B,KAAMhC,KAAKM,KAAK+B,WAErD,OACIlB,EAAA,cACIc,KAAMA,EACNK,MAAO,CACH,+BAAgC,GAAGH,M,EAO/CN,cACJ,IAAK7B,KAAKiB,OAAOjB,KAAKM,OAASN,KAAKM,KAAKiC,SAAU,CAC/C,M,CAGJ,OAAOpB,EAAA,QAAMO,MAAM,QAAQ1B,KAAKM,KAAKkC,K,CAGjCV,gBACJ,IAAK9B,KAAKiB,OAAOjB,KAAKM,MAAO,CACzB,M,CAGJ,GAAIN,KAAKM,KAAKkC,KAAM,CAChB,OACIrB,EAAA,iBACIsB,UAAWzC,KAAKO,UAChBmC,MAAO1C,KAAKM,KAAKkC,KACjBG,YAAa3C,KAAKM,KAAKsC,a,CAKnC,GAAI5C,KAAKM,KAAKsC,YAAa,CACvB,OACIzB,EAAA,iBACIsB,UAAWzC,KAAKO,UAChBmC,MAAO1C,KAAKM,KAAKsC,a,EAMzB/B,0BACJ,GAAIb,KAAKiB,OAAOjB,KAAKM,OAASN,KAAKM,KAAK+B,UAAW,CAE/CQ,QAAQC,KACJ,uK,8CCjKHC,EAAqB,M,wDAoCtB/C,KAAAgD,qBAAuB,IACpB,IAAIhD,KAAKiD,oBAGZjD,KAAAkD,aAAgBhD,IACpBA,EAAMC,kBACNH,KAAKI,OAAOC,KAAKH,EAAMiD,OAAO,E,wCA3BI,Y,CAS/BnC,SACH,MAAO,CACHG,EAAA,cACIiC,cAAepD,KAAKoD,cACpBC,MAAOrD,KAAKqD,MACZC,SAAUtD,KAAKkD,cAEf/B,EAAA,UAAQoC,KAAK,WAAWvD,KAAKgD,yB,CAc7BC,wBACR,OAAOjD,KAAKqD,MAAMG,QAAQlD,GAASN,KAAKyD,WAAWnD,KAAOoD,M,CAGtDD,WAAWnD,GACf,QAAS,cAAeA,E"}
@@ -0,0 +1,75 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import { Image } from '../../global/shared-types/image.types';
3
+ import { Icon } from '../../global/shared-types/icon.types';
4
+ import { ListSeparator } from '../../global/shared-types/separator.types';
5
+ import { ActionBarItem } from '../action-bar/action-bar.types';
6
+ /**
7
+ * Card is a component that displays content about a single topic,
8
+ * in a structured way. It can contain a header, and some supporting media such
9
+ * as an image or an icon, a body of text, or optional actions.
10
+ *
11
+ * @exampleComponent limel-example-card-basic
12
+ * @exampleComponent limel-example-card-image
13
+ * @exampleComponent limel-example-card-actions
14
+ * @exampleComponent limel-example-card-clickable
15
+ * @exampleComponent limel-example-card-orientation
16
+ * @exampleComponent limel-example-card-slot
17
+ * @exampleComponent limel-example-card-styling
18
+ * @beta
19
+ */
20
+ export declare class Card {
21
+ /**
22
+ * Heading of the card,
23
+ * to provide a short title about the context.
24
+ */
25
+ heading?: string;
26
+ /**
27
+ * Subheading of the card
28
+ * to provide a short description of the context.
29
+ */
30
+ subheading?: string;
31
+ /**
32
+ * A hero image to display in the card,
33
+ * to enrich the content with visual information.
34
+ */
35
+ image?: Image;
36
+ /**
37
+ * An icon, to display along with the heading and subheading.
38
+ */
39
+ icon?: string | Icon;
40
+ /**
41
+ * The content of the card.
42
+ * Supports markdown, to provide a rich text experience.
43
+ */
44
+ value?: string;
45
+ /**
46
+ * Actions to display in the card,
47
+ * to provide the user with options to interact with the content.
48
+ */
49
+ actions?: Array<ActionBarItem | ListSeparator>;
50
+ /**
51
+ * When true, improve the accessibility of the component and hints the user
52
+ * that the card can be interacted width.
53
+ */
54
+ clickable: boolean;
55
+ /**
56
+ * The orientation of the card,
57
+ * specially useful when the card has an image.
58
+ */
59
+ orientation: 'landscape' | 'portrait';
60
+ /**
61
+ * Fired when a action bar item has been clicked.
62
+ */
63
+ actionSelected: EventEmitter<ActionBarItem>;
64
+ render(): any;
65
+ private renderImage;
66
+ private renderHeader;
67
+ private renderIcon;
68
+ private renderHeading;
69
+ private renderSubheading;
70
+ private renderSlot;
71
+ private renderValue;
72
+ private handleActionSelect;
73
+ private renderActionBar;
74
+ }
75
+ //# sourceMappingURL=card.d.ts.map
@@ -12,10 +12,11 @@ import { BreadcrumbsItem } from "./components/breadcrumbs/breadcrumbs.types";
12
12
  import { Button } from "./components/button/button.types";
13
13
  import { CalloutType } from "./components/callout/callout.types";
14
14
  import { DateType, Languages } from "./components/date-picker/date.types";
15
+ import { Image } from "./global/shared-types/image.types";
16
+ import { Icon } from "./global/shared-types/icon.types";
17
+ import { ListSeparator as ListSeparator1 } from "./global/shared-types/separator.types";
15
18
  import { ChartItem } from "./components/chart/chart.types";
16
19
  import { Label, LabelValue } from "./components/dynamic-label/label.types";
17
- import { Icon } from "./global/shared-types/icon.types";
18
- import { Image } from "./global/shared-types/image.types";
19
20
  import { Link } from "./global/shared-types/link.types";
20
21
  import { Chip, ChipType } from "./components/chip-set/chip.types";
21
22
  import { MenuItem as MenuItem1 } from "./components";
@@ -54,10 +55,11 @@ export { BreadcrumbsItem } from "./components/breadcrumbs/breadcrumbs.types";
54
55
  export { Button } from "./components/button/button.types";
55
56
  export { CalloutType } from "./components/callout/callout.types";
56
57
  export { DateType, Languages } from "./components/date-picker/date.types";
58
+ export { Image } from "./global/shared-types/image.types";
59
+ export { Icon } from "./global/shared-types/icon.types";
60
+ export { ListSeparator as ListSeparator1 } from "./global/shared-types/separator.types";
57
61
  export { ChartItem } from "./components/chart/chart.types";
58
62
  export { Label, LabelValue } from "./components/dynamic-label/label.types";
59
- export { Icon } from "./global/shared-types/icon.types";
60
- export { Image } from "./global/shared-types/image.types";
61
63
  export { Link } from "./global/shared-types/link.types";
62
64
  export { Chip, ChipType } from "./components/chip-set/chip.types";
63
65
  export { MenuItem as MenuItem1 } from "./components";
@@ -351,6 +353,53 @@ export namespace Components {
351
353
  */
352
354
  "type"?: CalloutType;
353
355
  }
356
+ /**
357
+ * Card is a component that displays content about a single topic,
358
+ * in a structured way. It can contain a header, and some supporting media such
359
+ * as an image or an icon, a body of text, or optional actions.
360
+ * @exampleComponent limel-example-card-basic
361
+ * @exampleComponent limel-example-card-image
362
+ * @exampleComponent limel-example-card-actions
363
+ * @exampleComponent limel-example-card-clickable
364
+ * @exampleComponent limel-example-card-orientation
365
+ * @exampleComponent limel-example-card-slot
366
+ * @exampleComponent limel-example-card-styling
367
+ * @beta
368
+ */
369
+ interface LimelCard {
370
+ /**
371
+ * Actions to display in the card, to provide the user with options to interact with the content.
372
+ */
373
+ "actions"?: Array<ActionBarItem | ListSeparator1>;
374
+ /**
375
+ * When true, improve the accessibility of the component and hints the user that the card can be interacted width.
376
+ */
377
+ "clickable": boolean;
378
+ /**
379
+ * Heading of the card, to provide a short title about the context.
380
+ */
381
+ "heading"?: string;
382
+ /**
383
+ * An icon, to display along with the heading and subheading.
384
+ */
385
+ "icon"?: string | Icon;
386
+ /**
387
+ * A hero image to display in the card, to enrich the content with visual information.
388
+ */
389
+ "image"?: Image;
390
+ /**
391
+ * The orientation of the card, specially useful when the card has an image.
392
+ */
393
+ "orientation": 'landscape' | 'portrait';
394
+ /**
395
+ * Subheading of the card to provide a short description of the context.
396
+ */
397
+ "subheading"?: string;
398
+ /**
399
+ * The content of the card. Supports markdown, to provide a rich text experience.
400
+ */
401
+ "value"?: string;
402
+ }
354
403
  /**
355
404
  * A chart is a graphical representation of data, in which
356
405
  * visual symbols such as such bars, dots, lines, or slices, represent
@@ -2836,6 +2885,10 @@ export interface LimelButtonGroupCustomEvent<T> extends CustomEvent<T> {
2836
2885
  detail: T;
2837
2886
  target: HTMLLimelButtonGroupElement;
2838
2887
  }
2888
+ export interface LimelCardCustomEvent<T> extends CustomEvent<T> {
2889
+ detail: T;
2890
+ target: HTMLLimelCardElement;
2891
+ }
2839
2892
  export interface LimelCheckboxCustomEvent<T> extends CustomEvent<T> {
2840
2893
  detail: T;
2841
2894
  target: HTMLLimelCheckboxElement;
@@ -3166,6 +3219,25 @@ declare global {
3166
3219
  prototype: HTMLLimelCalloutElement;
3167
3220
  new (): HTMLLimelCalloutElement;
3168
3221
  };
3222
+ /**
3223
+ * Card is a component that displays content about a single topic,
3224
+ * in a structured way. It can contain a header, and some supporting media such
3225
+ * as an image or an icon, a body of text, or optional actions.
3226
+ * @exampleComponent limel-example-card-basic
3227
+ * @exampleComponent limel-example-card-image
3228
+ * @exampleComponent limel-example-card-actions
3229
+ * @exampleComponent limel-example-card-clickable
3230
+ * @exampleComponent limel-example-card-orientation
3231
+ * @exampleComponent limel-example-card-slot
3232
+ * @exampleComponent limel-example-card-styling
3233
+ * @beta
3234
+ */
3235
+ interface HTMLLimelCardElement extends Components.LimelCard, HTMLStencilElement {
3236
+ }
3237
+ var HTMLLimelCardElement: {
3238
+ prototype: HTMLLimelCardElement;
3239
+ new (): HTMLLimelCardElement;
3240
+ };
3169
3241
  /**
3170
3242
  * A chart is a graphical representation of data, in which
3171
3243
  * visual symbols such as such bars, dots, lines, or slices, represent
@@ -4393,6 +4465,7 @@ declare global {
4393
4465
  "limel-button": HTMLLimelButtonElement;
4394
4466
  "limel-button-group": HTMLLimelButtonGroupElement;
4395
4467
  "limel-callout": HTMLLimelCalloutElement;
4468
+ "limel-card": HTMLLimelCardElement;
4396
4469
  "limel-chart": HTMLLimelChartElement;
4397
4470
  "limel-checkbox": HTMLLimelCheckboxElement;
4398
4471
  "limel-chip": HTMLLimelChipElement;
@@ -4730,6 +4803,57 @@ declare namespace LocalJSX {
4730
4803
  */
4731
4804
  "type"?: CalloutType;
4732
4805
  }
4806
+ /**
4807
+ * Card is a component that displays content about a single topic,
4808
+ * in a structured way. It can contain a header, and some supporting media such
4809
+ * as an image or an icon, a body of text, or optional actions.
4810
+ * @exampleComponent limel-example-card-basic
4811
+ * @exampleComponent limel-example-card-image
4812
+ * @exampleComponent limel-example-card-actions
4813
+ * @exampleComponent limel-example-card-clickable
4814
+ * @exampleComponent limel-example-card-orientation
4815
+ * @exampleComponent limel-example-card-slot
4816
+ * @exampleComponent limel-example-card-styling
4817
+ * @beta
4818
+ */
4819
+ interface LimelCard {
4820
+ /**
4821
+ * Actions to display in the card, to provide the user with options to interact with the content.
4822
+ */
4823
+ "actions"?: Array<ActionBarItem | ListSeparator1>;
4824
+ /**
4825
+ * When true, improve the accessibility of the component and hints the user that the card can be interacted width.
4826
+ */
4827
+ "clickable"?: boolean;
4828
+ /**
4829
+ * Heading of the card, to provide a short title about the context.
4830
+ */
4831
+ "heading"?: string;
4832
+ /**
4833
+ * An icon, to display along with the heading and subheading.
4834
+ */
4835
+ "icon"?: string | Icon;
4836
+ /**
4837
+ * A hero image to display in the card, to enrich the content with visual information.
4838
+ */
4839
+ "image"?: Image;
4840
+ /**
4841
+ * Fired when a action bar item has been clicked.
4842
+ */
4843
+ "onActionSelected"?: (event: LimelCardCustomEvent<ActionBarItem>) => void;
4844
+ /**
4845
+ * The orientation of the card, specially useful when the card has an image.
4846
+ */
4847
+ "orientation"?: 'landscape' | 'portrait';
4848
+ /**
4849
+ * Subheading of the card to provide a short description of the context.
4850
+ */
4851
+ "subheading"?: string;
4852
+ /**
4853
+ * The content of the card. Supports markdown, to provide a rich text experience.
4854
+ */
4855
+ "value"?: string;
4856
+ }
4733
4857
  /**
4734
4858
  * A chart is a graphical representation of data, in which
4735
4859
  * visual symbols such as such bars, dots, lines, or slices, represent
@@ -7466,6 +7590,7 @@ declare namespace LocalJSX {
7466
7590
  "limel-button": LimelButton;
7467
7591
  "limel-button-group": LimelButtonGroup;
7468
7592
  "limel-callout": LimelCallout;
7593
+ "limel-card": LimelCard;
7469
7594
  "limel-chart": LimelChart;
7470
7595
  "limel-checkbox": LimelCheckbox;
7471
7596
  "limel-chip": LimelChip;
@@ -7666,6 +7791,20 @@ declare module "@stencil/core" {
7666
7791
  * @exampleComponent limel-example-callout-composite
7667
7792
  */
7668
7793
  "limel-callout": LocalJSX.LimelCallout & JSXBase.HTMLAttributes<HTMLLimelCalloutElement>;
7794
+ /**
7795
+ * Card is a component that displays content about a single topic,
7796
+ * in a structured way. It can contain a header, and some supporting media such
7797
+ * as an image or an icon, a body of text, or optional actions.
7798
+ * @exampleComponent limel-example-card-basic
7799
+ * @exampleComponent limel-example-card-image
7800
+ * @exampleComponent limel-example-card-actions
7801
+ * @exampleComponent limel-example-card-clickable
7802
+ * @exampleComponent limel-example-card-orientation
7803
+ * @exampleComponent limel-example-card-slot
7804
+ * @exampleComponent limel-example-card-styling
7805
+ * @beta
7806
+ */
7807
+ "limel-card": LocalJSX.LimelCard & JSXBase.HTMLAttributes<HTMLLimelCardElement>;
7669
7808
  /**
7670
7809
  * A chart is a graphical representation of data, in which
7671
7810
  * visual symbols such as such bars, dots, lines, or slices, represent
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-elements",
3
- "version": "37.68.0",
3
+ "version": "37.69.0",
4
4
  "description": "Lime Elements",
5
5
  "author": "Lime Technologies",
6
6
  "license": "Apache-2.0",