bromcom-ui 2.8.1 → 2.9.0-rc.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 (172) hide show
  1. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  2. package/dist/bromcom-ui/{p-4899fba4.entry.js → p-0906c9b4.entry.js} +1 -1
  3. package/dist/bromcom-ui/{p-e7028542.entry.js → p-0ee4e283.entry.js} +1 -1
  4. package/dist/bromcom-ui/{p-4dac52f8.entry.js → p-0fdbbbe8.entry.js} +1 -1
  5. package/dist/bromcom-ui/p-14378828.entry.js +5 -0
  6. package/dist/bromcom-ui/{p-251bfa4c.entry.js → p-15fa3329.entry.js} +1 -1
  7. package/dist/bromcom-ui/{p-9c9babdd.entry.js → p-1c5a2111.entry.js} +1 -1
  8. package/dist/bromcom-ui/{p-e0618f5d.entry.js → p-20ac20d4.entry.js} +1 -1
  9. package/dist/bromcom-ui/p-24aefda6.js +1 -1
  10. package/dist/bromcom-ui/p-2cb4a196.entry.js +5 -0
  11. package/dist/bromcom-ui/p-2ea24a6e.js +1 -1
  12. package/dist/bromcom-ui/{p-0ee1ff83.entry.js → p-344a4674.entry.js} +1 -1
  13. package/dist/bromcom-ui/p-3ad545f0.entry.js +5 -0
  14. package/dist/bromcom-ui/{p-90894817.entry.js → p-40a5e4fc.entry.js} +1 -1
  15. package/dist/bromcom-ui/p-440afdfa.entry.js +5 -0
  16. package/dist/bromcom-ui/{p-94293d46.entry.js → p-4b34b3f9.entry.js} +1 -1
  17. package/dist/bromcom-ui/{p-a3aa9b2a.entry.js → p-55001c80.entry.js} +1 -1
  18. package/dist/bromcom-ui/{p-625af6e2.entry.js → p-5f288af5.entry.js} +1 -1
  19. package/dist/bromcom-ui/{p-274465b7.entry.js → p-70b428e8.entry.js} +1 -1
  20. package/dist/bromcom-ui/p-89b21290.entry.js +5 -0
  21. package/dist/bromcom-ui/p-8d0ca8c2.js +1 -1
  22. package/dist/bromcom-ui/{p-e82340a2.entry.js → p-9b10d955.entry.js} +1 -1
  23. package/dist/bromcom-ui/{p-47b69111.entry.js → p-9c7e9b5d.entry.js} +1 -1
  24. package/dist/bromcom-ui/p-a0a3fd94.entry.js +5 -0
  25. package/dist/bromcom-ui/{p-f4f4e410.entry.js → p-a2046742.entry.js} +1 -1
  26. package/dist/bromcom-ui/p-a429e85b.js +1 -1
  27. package/dist/bromcom-ui/p-a97ee69d.entry.js +19 -0
  28. package/dist/bromcom-ui/{p-2fc1ab9a.entry.js → p-ab55def1.entry.js} +1 -1
  29. package/dist/bromcom-ui/p-b60bcecf.js +1 -1
  30. package/dist/bromcom-ui/{p-a8a4460a.entry.js → p-c9b10de5.entry.js} +1 -1
  31. package/dist/bromcom-ui/{p-160ef457.entry.js → p-cad8f786.entry.js} +1 -1
  32. package/dist/bromcom-ui/{p-140b10d1.entry.js → p-e008411a.entry.js} +1 -1
  33. package/dist/bromcom-ui/p-e0f440b4.js +1 -1
  34. package/dist/bromcom-ui/{p-c15e0e77.entry.js → p-e3cafc0d.entry.js} +1 -1
  35. package/dist/bromcom-ui/{p-0d693b8b.entry.js → p-e606c42b.entry.js} +1 -1
  36. package/dist/bromcom-ui/{p-86b8672d.entry.js → p-e66821e5.entry.js} +1 -1
  37. package/dist/cjs/{bcm-634604e3.js → bcm-ab921827.js} +4 -4
  38. package/dist/cjs/bcm-alert.cjs.entry.js +2 -2
  39. package/dist/cjs/{bcm-colorful_2.cjs.entry.js → bcm-avatar_15.cjs.entry.js} +6232 -149
  40. package/dist/cjs/bcm-button-group.cjs.entry.js +5 -5
  41. package/dist/cjs/bcm-card.cjs.entry.js +3 -3
  42. package/dist/cjs/bcm-checkbox-group.cjs.entry.js +416 -0
  43. package/dist/cjs/bcm-checkbox-lite_9.cjs.entry.js +4 -4
  44. package/dist/cjs/bcm-checkbox_2.cjs.entry.js +193 -0
  45. package/dist/cjs/bcm-color-input.cjs.entry.js +2 -2
  46. package/dist/cjs/bcm-date-picker.cjs.entry.js +2 -2
  47. package/dist/cjs/bcm-datetime-picker.cjs.entry.js +7 -7
  48. package/dist/cjs/bcm-drawer.cjs.entry.js +4 -4
  49. package/dist/cjs/bcm-dropdown.cjs.entry.js +4 -4
  50. package/dist/cjs/bcm-expansion-panel.cjs.entry.js +2 -2
  51. package/dist/cjs/bcm-form-2.cjs.entry.js +4 -3
  52. package/dist/cjs/bcm-item.cjs.entry.js +2 -2
  53. package/dist/cjs/bcm-items.cjs.entry.js +2 -2
  54. package/dist/cjs/bcm-link.cjs.entry.js +3 -3
  55. package/dist/cjs/bcm-menu.cjs.entry.js +4 -4
  56. package/dist/cjs/bcm-modal-2-footer.cjs.entry.js +2 -2
  57. package/dist/cjs/bcm-modal-2-header.cjs.entry.js +2 -2
  58. package/dist/cjs/bcm-modal-2.cjs.entry.js +3 -3
  59. package/dist/cjs/bcm-modal.cjs.entry.js +5 -5
  60. package/dist/cjs/bcm-popconfirm-box.cjs.entry.js +3 -3
  61. package/dist/cjs/bcm-popconfirm.cjs.entry.js +3 -3
  62. package/dist/cjs/bcm-popover.cjs.entry.js +5 -5
  63. package/dist/cjs/bcm-progress.cjs.entry.js +2 -2
  64. package/dist/cjs/bcm-radio-group.cjs.entry.js +6 -6
  65. package/dist/cjs/bcm-radio.cjs.entry.js +9 -9
  66. package/dist/cjs/bcm-range.cjs.entry.js +4 -4
  67. package/dist/cjs/bcm-select.cjs.entry.js +2 -2
  68. package/dist/cjs/bcm-stepper.cjs.entry.js +4 -4
  69. package/dist/cjs/bcm-switch.cjs.entry.js +7 -7
  70. package/dist/cjs/bcm-tab-group.cjs.entry.js +3 -3
  71. package/dist/cjs/bcm-tab-item-header.cjs.entry.js +6 -6
  72. package/dist/cjs/bcm-tab-item.cjs.entry.js +2 -2
  73. package/dist/cjs/bcm-tag.cjs.entry.js +12 -12
  74. package/dist/cjs/bcm-text.cjs.entry.js +3 -3
  75. package/dist/cjs/bcm-textarea.cjs.entry.js +5 -5
  76. package/dist/cjs/bcm-time-picker.cjs.entry.js +2 -2
  77. package/dist/cjs/bcm-toast.cjs.entry.js +9 -9
  78. package/dist/cjs/bromcom-ui.cjs.js +1 -1
  79. package/dist/cjs/{floating-ui-74eb26d6.js → floating-ui-c9fc2202.js} +2 -2
  80. package/dist/cjs/{input-template-4617f909.js → input-template-1441e468.js} +5 -5
  81. package/dist/cjs/{label-template-cc69bc21.js → label-template-4d5f99a5.js} +3 -3
  82. package/dist/cjs/loader.cjs.js +1 -1
  83. package/dist/cjs/old-bcm-popover-box.cjs.entry.js +4 -4
  84. package/dist/cjs/old-bcm-popover.cjs.entry.js +3 -3
  85. package/dist/cjs/{popover-placement-3c8f3a72.js → popover-placement-ccb40073.js} +1 -1
  86. package/dist/cjs/{slot-template-3e59d7d8.js → slot-template-d70ea082.js} +1 -1
  87. package/dist/cjs/{string-helper-45cffee0.js → string-helper-d681e5c7.js} +2 -2
  88. package/dist/cjs/{tooltip-helper-2e8b879b.js → tooltip-helper-235b26ea.js} +6 -6
  89. package/dist/collection/collection-manifest.json +1 -0
  90. package/dist/collection/components/atoms/chip/chip-group.js +292 -0
  91. package/dist/collection/components/atoms/chip/chip.js +107 -26
  92. package/dist/collection/components/organism/form/form.js +1 -0
  93. package/dist/collection/components/organism/form-2/bcm-form-components.js +1 -0
  94. package/dist/collection/components/organism/list/list.css +3 -0
  95. package/dist/components/bcm-chip-group.d.ts +11 -0
  96. package/dist/components/bcm-chip-group.js +174 -0
  97. package/dist/components/bcm-chip.js +1 -100
  98. package/dist/components/bcm-form-2.js +1 -0
  99. package/dist/components/bcm-form.js +1 -0
  100. package/dist/components/bcm-list.js +1 -1702
  101. package/dist/{esm/bcm-chip.entry.js → components/chip.js} +110 -33
  102. package/dist/components/index.d.ts +1 -0
  103. package/dist/components/index.js +1 -0
  104. package/dist/{esm/bcm-list.entry.js → components/list.js} +136 -31
  105. package/dist/esm/bcm-9f50af9c.js +1 -1
  106. package/dist/esm/{bcm-colorful_2.entry.js → bcm-avatar_15.entry.js} +6219 -149
  107. package/dist/esm/bcm-button-group.entry.js +1 -1
  108. package/dist/esm/bcm-checkbox-group.entry.js +412 -0
  109. package/dist/esm/bcm-checkbox-lite_9.entry.js +1 -1
  110. package/dist/esm/bcm-checkbox_2.entry.js +188 -0
  111. package/dist/esm/bcm-date-picker.entry.js +1 -1
  112. package/dist/esm/bcm-datetime-picker.entry.js +1 -1
  113. package/dist/esm/bcm-drawer.entry.js +1 -1
  114. package/dist/esm/bcm-dropdown.entry.js +1 -1
  115. package/dist/esm/bcm-form-2.entry.js +2 -1
  116. package/dist/esm/bcm-item.entry.js +1 -1
  117. package/dist/esm/bcm-link.entry.js +1 -1
  118. package/dist/esm/bcm-modal-2.entry.js +1 -1
  119. package/dist/esm/bcm-modal.entry.js +1 -1
  120. package/dist/esm/bcm-popconfirm.entry.js +1 -1
  121. package/dist/esm/bcm-popover.entry.js +1 -1
  122. package/dist/esm/bcm-progress.entry.js +1 -1
  123. package/dist/esm/bcm-radio-group.entry.js +1 -1
  124. package/dist/esm/bcm-radio.entry.js +1 -1
  125. package/dist/esm/bcm-range.entry.js +1 -1
  126. package/dist/esm/bcm-stepper.entry.js +1 -1
  127. package/dist/esm/bcm-switch.entry.js +1 -1
  128. package/dist/esm/bcm-tab-group.entry.js +1 -1
  129. package/dist/esm/bcm-tab-item-header.entry.js +1 -1
  130. package/dist/esm/bcm-tag.entry.js +1 -1
  131. package/dist/esm/bcm-textarea.entry.js +1 -1
  132. package/dist/esm/bcm-time-picker.entry.js +1 -1
  133. package/dist/esm/bcm-toast.entry.js +1 -1
  134. package/dist/esm/bromcom-ui.js +1 -1
  135. package/dist/esm/floating-ui-e7341329.js +1 -1
  136. package/dist/esm/input-template-e1df6efd.js +1 -1
  137. package/dist/esm/label-template-d74fe788.js +1 -1
  138. package/dist/esm/loader.js +1 -1
  139. package/dist/esm/old-bcm-popover.entry.js +1 -1
  140. package/dist/esm/string-helper-6bd24967.js +1 -1
  141. package/dist/esm/tooltip-helper-10b64c23.js +1 -1
  142. package/dist/types/components/atoms/chip/chip-group.d.ts +22 -0
  143. package/dist/types/components/atoms/chip/chip.d.ts +18 -13
  144. package/dist/types/components.d.ts +47 -4
  145. package/package.json +1 -1
  146. package/dist/bromcom-ui/p-111c4b6a.entry.js +0 -5
  147. package/dist/bromcom-ui/p-121eca04.entry.js +0 -5
  148. package/dist/bromcom-ui/p-1eabd5dc.js +0 -10
  149. package/dist/bromcom-ui/p-55837df1.entry.js +0 -5
  150. package/dist/bromcom-ui/p-8c62e1ca.entry.js +0 -5
  151. package/dist/bromcom-ui/p-9d23288e.entry.js +0 -5
  152. package/dist/bromcom-ui/p-b4f40047.entry.js +0 -5
  153. package/dist/bromcom-ui/p-b5ba17a4.entry.js +0 -13
  154. package/dist/bromcom-ui/p-b85bdadc.entry.js +0 -5
  155. package/dist/bromcom-ui/p-cbb3c1f0.entry.js +0 -5
  156. package/dist/bromcom-ui/p-d155cf69.entry.js +0 -5
  157. package/dist/bromcom-ui/p-f3d550ed.entry.js +0 -5
  158. package/dist/bromcom-ui/p-fdc8effc.entry.js +0 -5
  159. package/dist/cjs/bcm-avatar_2.cjs.entry.js +0 -139
  160. package/dist/cjs/bcm-button_7.cjs.entry.js +0 -1521
  161. package/dist/cjs/bcm-chip.cjs.entry.js +0 -74
  162. package/dist/cjs/bcm-input.cjs.entry.js +0 -370
  163. package/dist/cjs/bcm-list.cjs.entry.js +0 -1607
  164. package/dist/cjs/bcm-rc-overflow_2.cjs.entry.js +0 -2443
  165. package/dist/cjs/bcm-typography.cjs.entry.js +0 -21
  166. package/dist/cjs/index-906fb4e5.js +0 -540
  167. package/dist/esm/bcm-avatar_2.entry.js +0 -134
  168. package/dist/esm/bcm-button_7.entry.js +0 -1511
  169. package/dist/esm/bcm-input.entry.js +0 -366
  170. package/dist/esm/bcm-rc-overflow_2.entry.js +0 -2438
  171. package/dist/esm/bcm-typography.entry.js +0 -17
  172. package/dist/esm/index-6310a048.js +0 -537
@@ -1,134 +0,0 @@
1
- /*!
2
- * Built with Stencil
3
- * Copyright (c) Bromcom.
4
- */
5
- import { r as registerInstance, h, H as Host, g as getElement } from './index-39133086.js';
6
- import { C as ColorHelper } from './color-helper-e8ce23d7.js';
7
- import './datetime-helper-df25808a.js';
8
- import { G as Generate } from './generate-a39b1045.js';
9
- import { N as NumberHelper } from './number-helper-fa8e8000.js';
10
- import './string-helper-6bd24967.js';
11
- import './validators-dd70be40.js';
12
- import './element-dragger-89bb52fd.js';
13
- import { a as Bcm } from './bcm-9f50af9c.js';
14
- import { c as classnames } from './index-ed9652af.js';
15
- import { S as SlotTemplate } from './slot-template-5b2db362.js';
16
- import './colors-1d7854ea.js';
17
- import './utils-57652744.js';
18
- import './colors-44c95e7e.js';
19
- import './_commonjsHelpers-3016b722.js';
20
-
21
- const avatarCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); .size-1{font-size:12px;line-height:20px}.size-2{font-size:14px;line-height:22px}.size-3{font-size:16px;line-height:24px}.size-4{font-size:20px;line-height:28px}.size-5{font-size:24px;line-height:32px}.size-6{font-size:30px;line-height:38px}.size-7{font-size:38px;line-height:46px}.size-8{font-size:46px;line-height:54px}.size-9{font-size:56px;line-height:64px}.weight-regular{font-weight:400}.weight-semibold{font-weight:500}.input-size-large{height:40px}.input-size-medium{height:32px}.input-size-small{height:24px}.resize-none textarea{resize:none}.resize-vertical textarea{resize:vertical}.resize-auto textarea{height:auto;resize:none}.textarea-size-large{padding:4px 0 0 4px;min-height:40px}.textarea-size-large .bcm-input-element{min-height:calc((40px - 8px) + 2px)}.textarea-size-large .input-clear-button{height:calc( 40px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-medium{padding:4px 0 0 4px;min-height:32px}.textarea-size-medium .bcm-input-element{min-height:calc((32px - 8px) + 2px)}.textarea-size-medium .input-clear-button{height:calc( 32px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-small{padding:0px 0 0 4px;min-height:24px}.textarea-size-small .bcm-input-element{min-height:calc((24px - 8px) + 2px)}.textarea-size-small .input-clear-button{height:calc( 24px - 16px );top:8px;padding:0;margin-right:8px}*{box-sizing:border-box}.bcm-avatar{--bcm-avatar-color:var(--bcm-new-ds-color-slate-600);--bcm-avatar-background-color:var(--bcm-new-ds-color-slate-100);--prefix-height:40px;--prefix-font-size:font-size(2);font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:nowrap;background-color:var(--bcm-avatar-background-color);color:var(--bcm-avatar-color);text-transform:uppercase}.bcm-avatar.hidden{display:none}.bcm-avatar img{width:100%;height:100%}.bcm-avatar__shape-ellipse,.bcm-avatar__shape-ellipse>img{border-radius:100px}.bcm-avatar__shape-square,.bcm-avatar__shape-square>img{border-radius:4px}.bcm-avatar__shape-ellipse .bcm-badge{top:0px;right:0px}.bcm-avatar__shape-square .bcm-badge{top:-2px;right:-2px}.bcm-avatar__size-small{font-size:10px;line-height:calc(10px + 8px);height:24px;width:24px}.bcm-avatar__size-medium{font-size:12px;line-height:calc(12px + 8px);height:32px;width:32px}.bcm-avatar__size-large{font-size:14px;line-height:calc(14px + 8px);height:40px;width:40px}.bcm-avatar__size-custom{font-size:var(--bcm-avatar-font-size);line-height:calc(var(--bcm-avatar-font-size) + 8px);height:var(--bcm-avatar-height);width:var(--bcm-avatar-height)}.bcm-avatar__status{position:relative}.bcm-avatar__status .bcm-badge{position:absolute}";
22
-
23
- const BcmAvatar = class {
24
- constructor(hostRef) {
25
- registerInstance(this, hostRef);
26
- this._id = Generate.UID();
27
- this.hidden = false;
28
- this.image = undefined;
29
- this.name = undefined;
30
- this.alt = undefined;
31
- this.shape = Bcm.Shape.ellipse;
32
- this.size = Bcm.Size.medium;
33
- this.color = undefined;
34
- this.status = undefined;
35
- this.isFallback = false;
36
- }
37
- componentWillLoad() {
38
- this.name = this.name && this.name.trim() || '';
39
- }
40
- handleError() {
41
- this.isFallback = true;
42
- }
43
- getCustomSizes(customSize) {
44
- return Math.round(parseInt(customSize) / 3);
45
- }
46
- getFirstLetters(name) {
47
- const splitted = name.split(' ');
48
- if (splitted.length === 1)
49
- return splitted[0].substring(0, 2);
50
- return splitted[0].charAt(0) + splitted[splitted.length - 1].charAt(0);
51
- }
52
- setStyleVariables() {
53
- const { size } = this;
54
- let { color } = this;
55
- !color && (color = 'slate');
56
- let height = NumberHelper.toNumber(size);
57
- let fontSize = Math.round(parseInt(height) / 3);
58
- const prefix = `--bcm-avatar`;
59
- return {
60
- [`${prefix}-color`]: ColorHelper.dsColor(`${color}-600`),
61
- [`${prefix}-background-color`]: ColorHelper.dsColor(`${color}-100`),
62
- [`${prefix}-height`]: `${height}px`,
63
- [`${prefix}-font-size`]: `${fontSize}px`
64
- };
65
- }
66
- render() {
67
- const { image, name, alt, hidden, shape, size, status } = this;
68
- const isCustom = !Object.keys(Bcm.BaseSize).includes(size);
69
- const hostClasses = classnames('bcm-avatar', `bcm-avatar__shape-${shape}`, `bcm-avatar__size-${isCustom ? 'custom' : size}`, {
70
- 'hidden': hidden,
71
- 'bcm-avatar__status': !!status
72
- });
73
- const GetIcon = () => h("bcm-icon", { icon: "fas fa-user" });
74
- return (h(Host, { class: hostClasses, style: this.setStyleVariables() }, h("span", { hidden: true }, h("slot", null)), this.isFallback ? (this.name ? this.getFirstLetters(this.name) : GetIcon())
75
- : image
76
- ? h("img", { onError: () => this.handleError(), src: image, alt: alt })
77
- : name ? this.getFirstLetters(name)
78
- : GetIcon(), status && h("bcm-badge", { status: status })));
79
- }
80
- get el() { return getElement(this); }
81
- };
82
- BcmAvatar.style = avatarCss;
83
-
84
- const badgeCss = "@import url(\"https://fonts.googleapis.com/css?family=Roboto:400,500\");@import url(\"https://fonts.googleapis.com/css2?family=Inter:wght@200;400;500;600&display=swap\"); .size-1{font-size:12px;line-height:20px}.size-2{font-size:14px;line-height:22px}.size-3{font-size:16px;line-height:24px}.size-4{font-size:20px;line-height:28px}.size-5{font-size:24px;line-height:32px}.size-6{font-size:30px;line-height:38px}.size-7{font-size:38px;line-height:46px}.size-8{font-size:46px;line-height:54px}.size-9{font-size:56px;line-height:64px}.weight-regular{font-weight:400}.weight-semibold{font-weight:500}.input-size-large{height:40px}.input-size-medium{height:32px}.input-size-small{height:24px}.resize-none textarea{resize:none}.resize-vertical textarea{resize:vertical}.resize-auto textarea{height:auto;resize:none}.textarea-size-large{padding:4px 0 0 4px;min-height:40px}.textarea-size-large .bcm-input-element{min-height:calc((40px - 8px) + 2px)}.textarea-size-large .input-clear-button{height:calc( 40px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-medium{padding:4px 0 0 4px;min-height:32px}.textarea-size-medium .bcm-input-element{min-height:calc((32px - 8px) + 2px)}.textarea-size-medium .input-clear-button{height:calc( 32px - 16px );top:8px;padding:0;margin-right:8px}.textarea-size-small{padding:0px 0 0 4px;min-height:24px}.textarea-size-small .bcm-input-element{min-height:calc((24px - 8px) + 2px)}.textarea-size-small .input-clear-button{height:calc( 24px - 16px );top:8px;padding:0;margin-right:8px}*{box-sizing:border-box}.bcm-badge{--bcm-badge-color:var(--bcm-new-ds-color-white);--bcm-badge-background-color:var(--bcm-new-ds-color-slate-400);--bcm-badge-spacing:4px;font-family:\"Inter\", sans-serif;font-size:14px;line-height:calc(14px + 8px);font-weight:400;box-sizing:border-box;display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:nowrap;gap:4px}.bcm-badge.hidden{display:none}.bcm-badge span:empty{display:none}.bcm-badge__dot{color:var(--bcm-badge-color);background-color:var(--bcm-badge-background-color);display:inline-block;border-radius:100px;position:relative}.bcm-badge__dot-text{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:nowrap;padding:0 var(--bcm-badge-spacing);z-index:2;color:var(--bcm-badge-color)}.bcm-badge__dot-size-small{font-size:10px;line-height:calc(10px + 8px);min-width:6px;min-height:6px}.bcm-badge__dot-size-small .bcm-badge__dot-text{min-width:calc(10px + 8px)}.bcm-badge__dot-size-medium{font-size:12px;line-height:calc(12px + 8px);min-width:8px;min-height:8px}.bcm-badge__dot-size-medium .bcm-badge__dot-text{min-width:calc(12px + 8px)}.bcm-badge__dot-size-large{font-size:14px;line-height:calc(14px + 8px);min-width:10px;min-height:10px}.bcm-badge__dot-size-large .bcm-badge__dot-text{min-width:calc(14px + 8px)}.bcm-badge__dot-blink{position:relative;z-index:1}.bcm-badge__dot-blink:after{content:\"\";position:absolute;z-index:-1;top:0;left:0;background:var(--bcm-badge-background-color);border-radius:100px;opacity:0.7;box-shadow:0 0 0 0 rgba(0, 0, 0, 0);transform:scale(1);width:100%;height:100%}.bcm-badge__dot:after{background-color:var(--bcm-badge-background-color);animation:badge-pulse 2s infinite}@keyframes badge-pulse{0%{transform:scale(0.95);box-shadow:0 0 0 0 var(--bcm-badge-background-color)}70%{transform:scale(1);box-shadow:0 0 0 10px rgba(0, 0, 0, 0)}100%{transform:scale(0.95);box-shadow:0 0 0 0 rgba(0, 0, 0, 0)}}";
85
-
86
- const BcmBadge = class {
87
- constructor(hostRef) {
88
- registerInstance(this, hostRef);
89
- this._id = Generate.UID();
90
- this.hidden = false;
91
- this.blink = false;
92
- this.value = undefined;
93
- this.color = undefined;
94
- this.size = Bcm.Size.medium;
95
- this.status = undefined;
96
- this._slot = undefined;
97
- }
98
- setStyleVariables() {
99
- const { status, value } = this;
100
- let { color } = this;
101
- const statusColors = {
102
- 'info': 'blue',
103
- 'error': 'red',
104
- 'warning': 'amber',
105
- 'success': 'emerald',
106
- 'default': 'slate'
107
- };
108
- !!status && (color = statusColors[status]);
109
- !color && (color = 'slate');
110
- const prefix = `--bcm-badge`;
111
- const spacing = !!value && value.length > 1 ? '8' : '4';
112
- return {
113
- [`${prefix}-color`]: ColorHelper.reverseColor(ColorHelper.dsColor(`${color}`)),
114
- [`${prefix}-background-color`]: ColorHelper.dsColor(`${color}`),
115
- [`${prefix}-spacing`]: `${spacing}px`
116
- };
117
- }
118
- render() {
119
- let { blink, value, size, _slot, hidden } = this;
120
- const dotClass = classnames('bcm-badge__dot', 'bcm-badge__dot-size-' + size,
121
- // 'size-2',
122
- {
123
- 'bcm-badge__dot-blink': blink
124
- });
125
- const hostClasses = classnames('bcm-badge', {
126
- hidden
127
- });
128
- return (h(Host, { class: hostClasses, style: this.setStyleVariables() }, h("span", { hidden: true }, h("slot", null)), h("div", { class: dotClass }, !!value && h("span", { class: "bcm-badge__dot-text" }, value)), h(SlotTemplate, { value: _slot })));
129
- }
130
- get el() { return getElement(this); }
131
- };
132
- BcmBadge.style = badgeCss;
133
-
134
- export { BcmAvatar as bcm_avatar, BcmBadge as bcm_badge };