@limetech/lime-elements 38.45.0 → 38.46.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 (121) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js +1 -3
  4. package/dist/cjs/limel-action-bar-item_2.cjs.entry.js.map +1 -1
  5. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +2 -8
  6. package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js.map +1 -1
  7. package/dist/cjs/limel-callout.cjs.entry.js +1 -4
  8. package/dist/cjs/limel-callout.cjs.entry.js.map +1 -1
  9. package/dist/cjs/limel-card.cjs.entry.js +54 -2
  10. package/dist/cjs/limel-card.cjs.entry.js.map +1 -1
  11. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -4
  12. package/dist/cjs/limel-chip_2.cjs.entry.js.map +1 -1
  13. package/dist/cjs/limel-file.cjs.entry.js +1 -4
  14. package/dist/cjs/limel-file.cjs.entry.js.map +1 -1
  15. package/dist/cjs/limel-header.cjs.entry.js +1 -4
  16. package/dist/cjs/limel-header.cjs.entry.js.map +1 -1
  17. package/dist/cjs/limel-help-content.cjs.entry.js +1 -4
  18. package/dist/cjs/limel-help-content.cjs.entry.js.map +1 -1
  19. package/dist/cjs/limel-help.cjs.entry.js +3 -5
  20. package/dist/cjs/limel-help.cjs.entry.js.map +1 -1
  21. package/dist/cjs/limel-markdown.cjs.entry.js +1 -3
  22. package/dist/cjs/limel-markdown.cjs.entry.js.map +1 -1
  23. package/dist/cjs/loader.cjs.js +1 -1
  24. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +2 -4
  25. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js.map +1 -1
  26. package/dist/collection/components/callout/callout.js +2 -5
  27. package/dist/collection/components/callout/callout.js.map +1 -1
  28. package/dist/collection/components/card/card.css +30 -1
  29. package/dist/collection/components/card/card.js +60 -1
  30. package/dist/collection/components/card/card.js.map +1 -1
  31. package/dist/collection/components/chip-set/chip-set.js +2 -5
  32. package/dist/collection/components/chip-set/chip-set.js.map +1 -1
  33. package/dist/collection/components/file/file.js +2 -5
  34. package/dist/collection/components/file/file.js.map +1 -1
  35. package/dist/collection/components/header/header.js +2 -5
  36. package/dist/collection/components/header/header.js.map +1 -1
  37. package/dist/collection/components/help/help-content.js +2 -5
  38. package/dist/collection/components/help/help-content.js.map +1 -1
  39. package/dist/collection/components/help/help.js +4 -6
  40. package/dist/collection/components/help/help.js.map +1 -1
  41. package/dist/collection/components/input-field/input-field.js +2 -6
  42. package/dist/collection/components/input-field/input-field.js.map +1 -1
  43. package/dist/collection/components/markdown/markdown.js +2 -4
  44. package/dist/collection/components/markdown/markdown.js.map +1 -1
  45. package/dist/collection/components/spinner/spinner.js +2 -4
  46. package/dist/collection/components/spinner/spinner.js.map +1 -1
  47. package/dist/esm/lime-elements.js +1 -1
  48. package/dist/esm/limel-action-bar-item_2.entry.js +2 -4
  49. package/dist/esm/limel-action-bar-item_2.entry.js.map +1 -1
  50. package/dist/esm/limel-breadcrumbs_7.entry.js +2 -8
  51. package/dist/esm/limel-breadcrumbs_7.entry.js.map +1 -1
  52. package/dist/esm/limel-callout.entry.js +2 -5
  53. package/dist/esm/limel-callout.entry.js.map +1 -1
  54. package/dist/esm/limel-card.entry.js +54 -2
  55. package/dist/esm/limel-card.entry.js.map +1 -1
  56. package/dist/esm/limel-chip_2.entry.js +1 -4
  57. package/dist/esm/limel-chip_2.entry.js.map +1 -1
  58. package/dist/esm/limel-file.entry.js +2 -5
  59. package/dist/esm/limel-file.entry.js.map +1 -1
  60. package/dist/esm/limel-header.entry.js +2 -5
  61. package/dist/esm/limel-header.entry.js.map +1 -1
  62. package/dist/esm/limel-help-content.entry.js +2 -5
  63. package/dist/esm/limel-help-content.entry.js.map +1 -1
  64. package/dist/esm/limel-help.entry.js +4 -6
  65. package/dist/esm/limel-help.entry.js.map +1 -1
  66. package/dist/esm/limel-markdown.entry.js +2 -4
  67. package/dist/esm/limel-markdown.entry.js.map +1 -1
  68. package/dist/esm/loader.js +1 -1
  69. package/dist/lime-elements/lime-elements.esm.js +1 -1
  70. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  71. package/dist/lime-elements/p-0c203c29.entry.js +2 -0
  72. package/dist/lime-elements/p-0c203c29.entry.js.map +1 -0
  73. package/dist/lime-elements/p-404af152.entry.js +2 -0
  74. package/dist/lime-elements/p-404af152.entry.js.map +1 -0
  75. package/dist/lime-elements/p-4709aaa8.entry.js +2 -0
  76. package/dist/lime-elements/p-4709aaa8.entry.js.map +1 -0
  77. package/dist/lime-elements/p-666aeb03.entry.js +2 -0
  78. package/dist/lime-elements/p-666aeb03.entry.js.map +1 -0
  79. package/dist/lime-elements/{p-26c56b38.entry.js → p-8f8e81a9.entry.js} +2 -2
  80. package/dist/lime-elements/p-8f8e81a9.entry.js.map +1 -0
  81. package/dist/lime-elements/{p-61270ddc.entry.js → p-b5e8a4af.entry.js} +3 -3
  82. package/dist/lime-elements/p-b5e8a4af.entry.js.map +1 -0
  83. package/dist/lime-elements/p-c3f85d29.entry.js +2 -0
  84. package/dist/lime-elements/p-c3f85d29.entry.js.map +1 -0
  85. package/dist/lime-elements/p-d3d4fe88.entry.js +2 -0
  86. package/dist/lime-elements/p-d3d4fe88.entry.js.map +1 -0
  87. package/dist/lime-elements/p-d759e826.entry.js +2 -0
  88. package/dist/lime-elements/p-d759e826.entry.js.map +1 -0
  89. package/dist/lime-elements/p-f3180d48.entry.js +2 -0
  90. package/dist/lime-elements/p-f3180d48.entry.js.map +1 -0
  91. package/dist/types/components/action-bar/action-bar-item/action-bar-overflow-menu.d.ts +1 -1
  92. package/dist/types/components/callout/callout.d.ts +1 -1
  93. package/dist/types/components/card/card.d.ts +9 -0
  94. package/dist/types/components/chip-set/chip-set.d.ts +1 -1
  95. package/dist/types/components/file/file.d.ts +1 -1
  96. package/dist/types/components/header/header.d.ts +1 -1
  97. package/dist/types/components/help/help-content.d.ts +1 -1
  98. package/dist/types/components/help/help.d.ts +1 -1
  99. package/dist/types/components/input-field/input-field.d.ts +1 -1
  100. package/dist/types/components/markdown/markdown.d.ts +1 -1
  101. package/dist/types/components/spinner/spinner.d.ts +1 -1
  102. package/dist/types/components.d.ts +4 -0
  103. package/package.json +1 -1
  104. package/dist/lime-elements/p-26c56b38.entry.js.map +0 -1
  105. package/dist/lime-elements/p-2a616374.entry.js +0 -2
  106. package/dist/lime-elements/p-2a616374.entry.js.map +0 -1
  107. package/dist/lime-elements/p-32611964.entry.js +0 -2
  108. package/dist/lime-elements/p-32611964.entry.js.map +0 -1
  109. package/dist/lime-elements/p-4d225689.entry.js +0 -2
  110. package/dist/lime-elements/p-4d225689.entry.js.map +0 -1
  111. package/dist/lime-elements/p-61270ddc.entry.js.map +0 -1
  112. package/dist/lime-elements/p-67b697b4.entry.js +0 -2
  113. package/dist/lime-elements/p-67b697b4.entry.js.map +0 -1
  114. package/dist/lime-elements/p-8535dc16.entry.js +0 -2
  115. package/dist/lime-elements/p-8535dc16.entry.js.map +0 -1
  116. package/dist/lime-elements/p-b076958e.entry.js +0 -2
  117. package/dist/lime-elements/p-b076958e.entry.js.map +0 -1
  118. package/dist/lime-elements/p-e22edc40.entry.js +0 -2
  119. package/dist/lime-elements/p-e22edc40.entry.js.map +0 -1
  120. package/dist/lime-elements/p-f8cbb607.entry.js +0 -2
  121. package/dist/lime-elements/p-f8cbb607.entry.js.map +0 -1
@@ -1 +0,0 @@
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","id","type","onClick","disabled","isDisabled","class","selected","renderIcon","renderLabel","renderTooltip","isVisible","icon","name","getIconName","color","getIconColor","iconColor","title","getIconTitle","style","iconOnly","text","elementId","label","getTooltipLabel","helperLabel","commandText","iconTitle","tooltipLabel","console","warn","ActionBarOverflowMenu","getOverflowTriggerContent","overFlowIcon","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: var(--limel-theme-default-font-size);\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(\n --lime-primary-color,\n var(--limel-theme-primary-color)\n ) !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\nhr {\n all: unset;\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-item/list-item.types';\nimport { createRandomString } from '../../../util/random-string';\nimport {\n makeEnterClickable,\n removeEnterClickable,\n} from '../../../util/make-enter-clickable';\nimport {\n getIconColor,\n getIconName,\n getIconTitle,\n} 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 readonly host: HTMLLimelActionBarItemElement;\n\n /**\n * Used to attach the right tooltip to the right button\n */\n private readonly 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 <hr />;\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 readonly 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\n const color = getIconColor(this.item.icon, this.item.iconColor);\n const title = getIconTitle(this.item.icon);\n\n return (\n <limel-icon\n name={name}\n aria-label={title}\n aria-hidden={title ? null : 'true'}\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 return (\n <limel-tooltip\n elementId={this.tooltipId}\n label={this.getTooltipLabel(this.item)}\n helperLabel={this.item.commandText}\n />\n );\n }\n\n private getTooltipLabel(item: ActionBarItem): string {\n const iconTitle = getIconTitle(item.icon);\n const tooltipLabel = item.text;\n\n if (iconTitle && tooltipLabel) {\n return `${iconTitle} ${tooltipLabel}`;\n }\n\n return tooltipLabel;\n }\n\n private triggerIconColorWarning() {\n if (this.isItem(this.item) && this.item.iconColor) {\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-item/list-item.types';\nimport { MenuItem, OpenDirection } from '../../menu/menu.types';\nimport { LimelMenuCustomEvent } from '../../../components';\nimport { Icon } from '../../../global/shared-types/icon.types';\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 * Icon to display in the overflow menu trigger.\n * If not provided, the number of items in the overflow menu will be displayed.\n */\n @Prop()\n public overFlowIcon?: Icon;\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\">\n {this.getOverflowTriggerContent()}\n </button>\n </limel-menu>,\n ];\n }\n\n private getOverflowTriggerContent = () => {\n if (this.overFlowIcon) {\n const { color, name, title } = this.overFlowIcon;\n\n return (\n <limel-icon\n style={{\n color: color,\n }}\n name={name}\n aria-label={title}\n />\n );\n }\n\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":"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"}