@ukic/web-components 2.27.1 → 2.29.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 (85) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  3. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ic-alert.cjs.entry.js +9 -4
  5. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-text-field.cjs.entry.js +2 -1
  10. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-toast-region.cjs.entry.js +6 -0
  12. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/collection/components/ic-accordion/ic-accordion.css +6 -0
  15. package/dist/collection/components/ic-alert/ic-alert.css +9 -1
  16. package/dist/collection/components/ic-alert/ic-alert.js +27 -3
  17. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  18. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +114 -0
  19. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  20. package/dist/collection/components/ic-badge/ic-badge.css +5 -0
  21. package/dist/collection/components/ic-badge/ic-badge.js +1 -1
  22. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  23. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  24. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  25. package/dist/collection/components/ic-text-field/ic-text-field.js +20 -1
  26. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  27. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +7 -0
  28. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  29. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +47 -17
  30. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  31. package/dist/collection/components/ic-toast-region/ic-toast-region.js +6 -0
  32. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  33. package/dist/components/ic-accordion.js +1 -1
  34. package/dist/components/ic-accordion.js.map +1 -1
  35. package/dist/components/ic-alert2.js +11 -5
  36. package/dist/components/ic-alert2.js.map +1 -1
  37. package/dist/components/ic-badge.js +2 -2
  38. package/dist/components/ic-badge.js.map +1 -1
  39. package/dist/components/ic-dialog.js.map +1 -1
  40. package/dist/components/ic-text-field2.js +3 -1
  41. package/dist/components/ic-text-field2.js.map +1 -1
  42. package/dist/components/ic-toast-region.js +6 -0
  43. package/dist/components/ic-toast-region.js.map +1 -1
  44. package/dist/core/core.esm.js +1 -1
  45. package/dist/core/core.esm.js.map +1 -1
  46. package/dist/core/p-3969d3c0.entry.js +2 -0
  47. package/dist/core/p-3969d3c0.entry.js.map +1 -0
  48. package/dist/core/{p-9146a7f9.entry.js → p-4562904d.entry.js} +2 -2
  49. package/dist/core/p-4562904d.entry.js.map +1 -0
  50. package/dist/core/p-55b11f6f.entry.js.map +1 -1
  51. package/dist/core/p-78605899.entry.js +2 -0
  52. package/dist/core/p-78605899.entry.js.map +1 -0
  53. package/dist/core/p-9e15d0e1.entry.js +2 -0
  54. package/dist/core/p-9e15d0e1.entry.js.map +1 -0
  55. package/dist/core/{p-49e997c7.entry.js → p-b1879a44.entry.js} +2 -2
  56. package/dist/core/p-b1879a44.entry.js.map +1 -0
  57. package/dist/esm/core.js +1 -1
  58. package/dist/esm/ic-accordion.entry.js +1 -1
  59. package/dist/esm/ic-accordion.entry.js.map +1 -1
  60. package/dist/esm/ic-alert.entry.js +10 -5
  61. package/dist/esm/ic-alert.entry.js.map +1 -1
  62. package/dist/esm/ic-badge.entry.js +2 -2
  63. package/dist/esm/ic-badge.entry.js.map +1 -1
  64. package/dist/esm/ic-dialog.entry.js.map +1 -1
  65. package/dist/esm/ic-text-field.entry.js +2 -1
  66. package/dist/esm/ic-text-field.entry.js.map +1 -1
  67. package/dist/esm/ic-toast-region.entry.js +6 -0
  68. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  69. package/dist/esm/loader.js +1 -1
  70. package/dist/types/components/ic-alert/ic-alert.d.ts +5 -0
  71. package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -1
  72. package/dist/types/components/ic-text-field/ic-text-field.d.ts +4 -0
  73. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +1 -0
  74. package/dist/types/components.d.ts +18 -2
  75. package/hydrate/index.js +23 -8
  76. package/package.json +2 -2
  77. package/vscode-data.json +9 -1
  78. package/dist/core/p-1145e33c.entry.js +0 -2
  79. package/dist/core/p-1145e33c.entry.js.map +0 -1
  80. package/dist/core/p-49e997c7.entry.js.map +0 -1
  81. package/dist/core/p-9146a7f9.entry.js.map +0 -1
  82. package/dist/core/p-ad67c84f.entry.js +0 -2
  83. package/dist/core/p-ad67c84f.entry.js.map +0 -1
  84. package/dist/core/p-f735a277.entry.js +0 -2
  85. package/dist/core/p-f735a277.entry.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"names":["icBadgeCss","Badge","this","ariaLabel","setBadgeColour","colorRGBA","convertToRGBA","customColor","customColorRGBA","r","g","b","a","el","style","backgroundColor","getBadgeRGB","variant","rgbaStrToObj","getCssProperty","hexToRgba","getBadgeForeground","foregroundColour","getThemeForegroundColor","getTextLabel","maxNumber","Number","textLabel","setAccessibleLabel","parentEl","parentElement","defaultAriaLabel","isAccessibleLabelDefined","accessibleLabel","tagName","parentAriaLabel","ariaLabelPrefix","visible","undefined","isPropDefined","accessibleLabelHandler","customColorHandler","variantHandler","visibleHandler","componentWillLoad","_a","componentDidLoad","type","onComponentRequiredPropUndefined","prop","propName","showBadge","hideBadge","render","position","size","h","Host","class","id","role","name"],"sources":["src/components/ic-badge/ic-badge.css?tag=ic-badge&encapsulation=shadow","src/components/ic-badge/ic-badge.tsx"],"sourcesContent":["@media (prefers-reduced-motion: no-preference) {\n :host(.show) {\n animation: expand var(--ic-transition-duration-slow);\n }\n\n :host(.hide) {\n animation: shrink var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n display: flex;\n height: var(--ic-space-md);\n min-width: var(--ic-space-md);\n width: fit-content;\n border-radius: calc(2 * var(--ic-space-xxl));\n position: absolute;\n}\n\n:host(.neutral) {\n background-color: var(--ic-architectural-500);\n}\n\n:host(.light) {\n background-color: var(--ic-architectural-40);\n}\n\n:host(.info) {\n background-color: var(--ic-status-info);\n}\n\n:host(.warning) {\n background-color: var(--ic-status-warning-mid);\n}\n\n:host(.error) {\n background-color: var(--ic-status-error);\n}\n\n:host(.success) {\n background-color: var(--ic-status-success);\n}\n\n:host(.small) {\n height: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.large) {\n height: calc(var(--ic-space-md) + var(--ic-space-xxs));\n min-width: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n:host(.dot.default) {\n height: var(--ic-space-xs);\n width: var(--ic-space-xs);\n min-width: var(--ic-space-xs);\n}\n\n:host(.dot.small) {\n height: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n min-width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n}\n\n:host(.dot.large) {\n height: var(--ic-space-sm);\n width: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.foreground-dark) ::slotted(*) {\n fill: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ::slotted(*) {\n fill: white;\n}\n\n:host(.foreground-dark) ic-typography {\n color: var(--ic-color-primary-text);\n}\n\n:host(.foreground-light) ic-typography {\n color: white;\n}\n\n:host(.text) ic-typography {\n align-self: center;\n padding: 0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.text.small) ic-typography {\n padding: 0 0.2132rem;\n}\n\n:host(.text.large) ic-typography {\n padding: 0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.icon) ::slotted(svg) {\n width: var(--ic-space-sm);\n height: var(--ic-space-sm);\n padding: var(--ic-space-xxxs);\n}\n\n:host(.icon.small) ::slotted(svg) {\n width: var(--ic-space-xs);\n height: var(--ic-space-xs);\n}\n\n:host(.icon.large) ::slotted(svg) {\n width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n height: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\n:host(.far) {\n top: calc(-1 * var(--ic-space-xs));\n right: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.far.small),\n:host(.dot.far.large) {\n top: calc(-1 * var(--ic-space-xxs));\n right: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.dot.far),\n:host(.dot.far.small) {\n top: calc(-1 * var(--ic-space-xxxs));\n right: calc(-1 * var(--ic-space-xxxs));\n}\n\n:host(.near) {\n top: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n right: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n}\n\n:host(.dot.near) {\n top: calc(-1 * var(--ic-space-1px));\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.inline) {\n position: static;\n}\n\n:host(.hide) {\n visibility: hidden !important;\n transition: visibility var(--ic-transition-duration-slow);\n}\n\n@keyframes expand {\n from {\n opacity: 0;\n transform: scale(0);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes shrink {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n Method,\n Prop,\n Watch,\n h,\n} from \"@stencil/core\";\nimport {\n IcBadgePositions,\n IcBadgeTypes,\n IcBadgeVariants,\n} from \"./ic-badge.types\";\nimport {\n IcColorRGBA,\n IcSizes,\n IcThemeForeground,\n IcColor,\n} from \"../../utils/types\";\nimport {\n convertToRGBA,\n getCssProperty,\n getThemeForegroundColor,\n hexToRgba,\n isPropDefined,\n onComponentRequiredPropUndefined,\n rgbaStrToObj,\n} from \"../../utils/helpers\";\n\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\n@Component({\n tag: \"ic-badge\",\n styleUrl: \"ic-badge.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Badge {\n private ariaLabel: string = null;\n private customColorRGBA: IcColorRGBA;\n private foregroundColour: IcThemeForeground;\n private parentAriaLabel: string;\n\n @Element() el: HTMLIcBadgeElement;\n\n /**\n * The accessible label of the badge component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string;\n\n @Watch(\"accessibleLabel\")\n accessibleLabelHandler(): void {\n this.setAccessibleLabel();\n }\n\n /**\n * The custom badge colour. This will only style the badge component if variant=\"custom\".\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor = null;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n }\n\n /**\n * The maximum number shown on the badge appended with a +.\n * This will only be displayed if type=\"text\" and textLabel is not empty.\n */\n @Prop() maxNumber?: number;\n\n /**\n * The positioning of the badge in reference to the parent element.\n */\n @Prop() position?: IcBadgePositions = \"far\";\n\n /**\n * The size of the badge to be displayed.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * The text displayed in the badge. This will only be displayed if type=\"text\".\n */\n @Prop() textLabel?: string;\n\n /**\n * The type of badge to be displayed.\n */\n @Prop() type?: IcBadgeTypes = \"text\";\n\n /**\n * The variant of the badge to be displayed.\n */\n @Prop() variant?: IcBadgeVariants = \"neutral\";\n\n @Watch(\"variant\")\n variantHandler(): void {\n this.getBadgeForeground();\n }\n\n /**\n * If `true`, the badge will be displayed.\n */\n @Prop({ mutable: true }) visible: boolean = true;\n\n @Watch(\"visible\")\n visibleHandler(): void {\n this.setAccessibleLabel();\n }\n\n componentWillLoad(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n\n this.getBadgeForeground();\n\n const ariaLabel = this.el.parentElement?.ariaLabel;\n if (ariaLabel) this.parentAriaLabel = ariaLabel;\n this.setAccessibleLabel();\n }\n\n componentDidLoad(): void {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined(\n [{ prop: this.textLabel, propName: \"text-label\" }],\n \"Badge\"\n );\n }\n\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n @Method()\n async showBadge(): Promise<void> {\n this.visible = true;\n }\n\n /**\n * @deprecated This method should not be used anymore. Use visible prop to set badge visibility.\n */\n @Method()\n async hideBadge(): Promise<void> {\n this.visible = false;\n }\n\n private setBadgeColour = () => {\n const colorRGBA = convertToRGBA(this.customColor);\n\n if (colorRGBA) {\n this.customColorRGBA = colorRGBA;\n const { r, g, b, a } = colorRGBA;\n this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n }\n };\n\n private getBadgeRGB = () => {\n switch (this.variant) {\n case \"custom\":\n return this.customColorRGBA;\n case \"error\":\n case \"success\":\n case \"warning\":\n case \"info\": {\n return rgbaStrToObj(getCssProperty(`--ic-status-${this.variant}`));\n }\n case \"neutral\":\n case \"light\":\n return hexToRgba(\n getCssProperty(\n `--ic-architectural-${this.variant === \"neutral\" ? 500 : 40}`\n )\n );\n }\n };\n\n private getBadgeForeground = () => {\n const { r, g, b } = this.getBadgeRGB();\n this.foregroundColour = getThemeForegroundColor(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n };\n\n private getTextLabel = () =>\n this.maxNumber && Number(this.textLabel) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.textLabel;\n\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n private setAccessibleLabel = () => {\n const parentEl = this.el.parentElement;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.textLabel || \"with badge being displayed\";\n\n if (parentEl) {\n const { tagName } = parentEl;\n if (\n tagName !== \"IC-CARD\" &&\n (tagName !== \"IC-TAB\" || (tagName === \"IC-TAB\" && this.parentAriaLabel))\n ) {\n const ariaLabelPrefix = this.parentAriaLabel\n ? `${this.parentAriaLabel} ,`\n : \"\";\n parentEl.ariaLabel = this.visible\n ? `${ariaLabelPrefix} ${defaultAriaLabel}`\n : undefined;\n } else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n\n private isAccessibleLabelDefined = () =>\n isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n\n render() {\n const {\n ariaLabel,\n el,\n foregroundColour,\n getTextLabel,\n position,\n size,\n textLabel,\n type,\n variant,\n visible,\n } = this;\n\n return (\n <Host\n class={{\n [`${position}`]: true,\n [`${size}`]: true,\n [`${variant}`]: true,\n [`${type}`]: true,\n [`foreground-${foregroundColour}`]: foregroundColour !== null,\n [`${visible ? \"show\" : \"hide\"}`]: true,\n }}\n id={el.id || null}\n aria-label={ariaLabel}\n role=\"status\"\n >\n {type === \"icon\" && <slot name=\"badge-icon\"></slot>}\n {type === \"text\" && textLabel && (\n <ic-typography variant={size === \"small\" ? \"badge-small\" : \"badge\"}>\n {getTextLabel()}\n </ic-typography>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}