bromcom-ui-next 0.1.3 → 0.1.4

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 (200) hide show
  1. package/dist/bromcom-ui/bromcom-ui.esm.js +1 -1
  2. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
  3. package/dist/bromcom-ui/global/global.js +14 -15
  4. package/dist/bromcom-ui/p-04f6d730.entry.js +2 -0
  5. package/dist/bromcom-ui/p-04f6d730.entry.js.map +1 -0
  6. package/dist/bromcom-ui/{p-b36f4f44.js → p-12360e4c.js} +1 -1
  7. package/dist/bromcom-ui/p-15fe392b.js +3 -0
  8. package/dist/bromcom-ui/p-15fe392b.js.map +1 -0
  9. package/dist/bromcom-ui/p-1b11150b.entry.js +2 -0
  10. package/dist/bromcom-ui/{p-6430a887.entry.js.map → p-1b11150b.entry.js.map} +1 -1
  11. package/dist/bromcom-ui/p-1d86c1cf.entry.js +2 -0
  12. package/dist/bromcom-ui/p-1d86c1cf.entry.js.map +1 -0
  13. package/dist/bromcom-ui/p-31354aaa.js +2 -0
  14. package/dist/bromcom-ui/p-31354aaa.js.map +1 -0
  15. package/dist/bromcom-ui/p-3b607038.entry.js +2 -0
  16. package/dist/bromcom-ui/p-3b607038.entry.js.map +1 -0
  17. package/dist/bromcom-ui/p-5d0838e9.entry.js +2 -0
  18. package/dist/bromcom-ui/{p-bde58312.entry.js.map → p-5d0838e9.entry.js.map} +1 -1
  19. package/dist/bromcom-ui/p-729a870f.js +2 -0
  20. package/dist/bromcom-ui/p-729a870f.js.map +1 -0
  21. package/dist/bromcom-ui/p-a590f793.entry.js +2 -0
  22. package/dist/bromcom-ui/p-a590f793.entry.js.map +1 -0
  23. package/dist/bromcom-ui/p-cd437280.entry.js +2 -0
  24. package/dist/bromcom-ui/p-cd437280.entry.js.map +1 -0
  25. package/dist/bromcom-ui/{p-dcc13a55.entry.js → p-dcea8d62.entry.js} +2 -2
  26. package/dist/bromcom-ui/{p-3805363a.entry.js → p-ebed10d5.entry.js} +2 -2
  27. package/dist/cjs/app-globals-29edfda4.js +39 -0
  28. package/dist/cjs/app-globals-29edfda4.js.map +1 -0
  29. package/dist/cjs/bcm-accordion-group.cjs.entry.js +3 -3
  30. package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +1 -1
  31. package/dist/cjs/bcm-accordion.cjs.entry.js +7 -7
  32. package/dist/cjs/bcm-accordion.cjs.entry.js.map +1 -1
  33. package/dist/cjs/bcm-alert.cjs.entry.js +1 -1
  34. package/dist/cjs/bcm-avatar_4.cjs.entry.js +577 -0
  35. package/dist/cjs/bcm-avatar_4.cjs.entry.js.map +1 -0
  36. package/dist/cjs/bcm-chip.cjs.entry.js +4 -4
  37. package/dist/cjs/bcm-chip.cjs.entry.js.map +1 -1
  38. package/dist/cjs/bcm-divider.cjs.entry.js +81 -0
  39. package/dist/cjs/bcm-divider.cjs.entry.js.map +1 -0
  40. package/dist/cjs/bcm-input.cjs.entry.js +313 -0
  41. package/dist/cjs/bcm-input.cjs.entry.js.map +1 -0
  42. package/dist/cjs/bcm-text.cjs.entry.js +3 -3
  43. package/dist/cjs/bcm-text.cjs.entry.js.map +1 -1
  44. package/dist/cjs/bcm-textarea.cjs.entry.js +316 -0
  45. package/dist/cjs/bcm-textarea.cjs.entry.js.map +1 -0
  46. package/dist/cjs/bromcom-ui.cjs.js +3 -3
  47. package/dist/cjs/{index-c36002ae.js → index-4795c073.js} +13 -4
  48. package/dist/cjs/index-4795c073.js.map +1 -0
  49. package/dist/{components/p-b36f4f44.js → cjs/index-5a88e57b.js} +5 -3
  50. package/dist/cjs/{index-a4eea4bb.js.map → index-5a88e57b.js.map} +1 -1
  51. package/dist/cjs/loader.cjs.js +3 -3
  52. package/dist/cjs/validation-messages-c36e5c31.js +134 -0
  53. package/dist/cjs/validation-messages-c36e5c31.js.map +1 -0
  54. package/dist/collection/collection-manifest.json +5 -1
  55. package/dist/collection/components/accordion/accordion.component.js +5 -5
  56. package/dist/collection/components/accordion/accordion.component.js.map +1 -1
  57. package/dist/collection/components/accordion/accordion.css +1 -1
  58. package/dist/collection/components/accordion-group/accordion-group.component.js +1 -1
  59. package/dist/collection/components/accordion-group/accordion-group.component.js.map +1 -1
  60. package/dist/collection/components/accordion-group/accordion-group.css +1 -1
  61. package/dist/collection/components/avatar/avatar.component.js.map +1 -1
  62. package/dist/collection/components/avatar/avatar.css +1 -1
  63. package/dist/collection/components/badge/badge.component.js +373 -0
  64. package/dist/collection/components/badge/badge.component.js.map +1 -0
  65. package/dist/collection/components/badge/badge.css +1 -0
  66. package/dist/collection/components/basic-badge/basic-badge.component.js +236 -0
  67. package/dist/collection/components/basic-badge/basic-badge.component.js.map +1 -0
  68. package/dist/collection/components/basic-badge/basic-badge.css +1 -0
  69. package/dist/collection/components/button/button.component.js +2 -2
  70. package/dist/collection/components/button/button.css +1 -1
  71. package/dist/collection/components/chip/chip.component.js +2 -2
  72. package/dist/collection/components/chip/chip.component.js.map +1 -1
  73. package/dist/collection/components/chip/chip.css +1 -1
  74. package/dist/collection/components/divider/divider.component.js +190 -0
  75. package/dist/collection/components/divider/divider.component.js.map +1 -0
  76. package/dist/collection/components/divider/divider.css +1 -0
  77. package/dist/collection/components/input/input.component.js +209 -24
  78. package/dist/collection/components/input/input.component.js.map +1 -1
  79. package/dist/collection/components/input/input.css +1 -1
  80. package/dist/collection/components/input/types.js +10 -1
  81. package/dist/collection/components/input/types.js.map +1 -1
  82. package/dist/collection/components/text/text.component.js +1 -1
  83. package/dist/collection/components/textarea/textarea.component.js +1013 -0
  84. package/dist/collection/components/textarea/textarea.component.js.map +1 -0
  85. package/dist/collection/components/textarea/textarea.css +2 -0
  86. package/dist/collection/components/textarea/types.js +2 -0
  87. package/dist/collection/components/textarea/types.js.map +1 -0
  88. package/dist/collection/global/global.js +14 -15
  89. package/dist/collection/utils/i18n.js +29 -0
  90. package/dist/collection/utils/i18n.js.map +1 -0
  91. package/dist/collection/utils/slot/check-slot-content.js +15 -0
  92. package/dist/collection/utils/slot/check-slot-content.js.map +1 -0
  93. package/dist/collection/utils/validation-messages.js +17 -0
  94. package/dist/collection/utils/validation-messages.js.map +1 -0
  95. package/dist/components/bcm-accordion-group.js +3 -3
  96. package/dist/components/bcm-accordion-group.js.map +1 -1
  97. package/dist/components/bcm-accordion.js +7 -7
  98. package/dist/components/bcm-accordion.js.map +1 -1
  99. package/dist/components/bcm-alert.js +1 -1
  100. package/dist/components/bcm-avatar.js +13 -7
  101. package/dist/components/bcm-avatar.js.map +1 -1
  102. package/dist/components/bcm-badge.d.ts +11 -0
  103. package/dist/components/bcm-badge.js +8 -0
  104. package/dist/components/bcm-badge.js.map +1 -0
  105. package/dist/components/bcm-basic-badge.d.ts +11 -0
  106. package/dist/components/bcm-basic-badge.js +113 -0
  107. package/dist/components/bcm-basic-badge.js.map +1 -0
  108. package/dist/components/bcm-button.js +4 -4
  109. package/dist/components/bcm-button.js.map +1 -1
  110. package/dist/components/bcm-chip.js +4 -4
  111. package/dist/components/bcm-chip.js.map +1 -1
  112. package/dist/components/bcm-divider.d.ts +11 -0
  113. package/dist/components/bcm-divider.js +100 -0
  114. package/dist/components/bcm-divider.js.map +1 -0
  115. package/dist/components/bcm-input.js +168 -105
  116. package/dist/components/bcm-input.js.map +1 -1
  117. package/dist/components/bcm-text.js +3 -3
  118. package/dist/components/bcm-text.js.map +1 -1
  119. package/dist/components/bcm-textarea.d.ts +11 -0
  120. package/dist/components/bcm-textarea.js +369 -0
  121. package/dist/components/bcm-textarea.js.map +1 -0
  122. package/dist/components/index.js +12 -16
  123. package/dist/components/index.js.map +1 -1
  124. package/dist/{esm/index-f0e9d579.js → components/p-12360e4c.js} +3 -3
  125. package/dist/components/{p-b36f4f44.js.map → p-12360e4c.js.map} +1 -1
  126. package/dist/components/{p-8ded2c73.js → p-13582168.js} +10 -2
  127. package/dist/components/p-13582168.js.map +1 -0
  128. package/dist/components/p-31354aaa.js +129 -0
  129. package/dist/components/p-31354aaa.js.map +1 -0
  130. package/dist/components/p-39637e05.js +145 -0
  131. package/dist/components/p-39637e05.js.map +1 -0
  132. package/dist/esm/app-globals-bfa07b76.js +37 -0
  133. package/dist/esm/app-globals-bfa07b76.js.map +1 -0
  134. package/dist/esm/bcm-accordion-group.entry.js +3 -3
  135. package/dist/esm/bcm-accordion-group.entry.js.map +1 -1
  136. package/dist/esm/bcm-accordion.entry.js +7 -7
  137. package/dist/esm/bcm-accordion.entry.js.map +1 -1
  138. package/dist/esm/bcm-alert.entry.js +1 -1
  139. package/dist/esm/bcm-avatar_4.entry.js +570 -0
  140. package/dist/esm/bcm-avatar_4.entry.js.map +1 -0
  141. package/dist/esm/bcm-chip.entry.js +4 -4
  142. package/dist/esm/bcm-chip.entry.js.map +1 -1
  143. package/dist/esm/bcm-divider.entry.js +77 -0
  144. package/dist/esm/bcm-divider.entry.js.map +1 -0
  145. package/dist/esm/bcm-input.entry.js +309 -0
  146. package/dist/esm/bcm-input.entry.js.map +1 -0
  147. package/dist/esm/bcm-text.entry.js +3 -3
  148. package/dist/esm/bcm-text.entry.js.map +1 -1
  149. package/dist/esm/bcm-textarea.entry.js +312 -0
  150. package/dist/esm/bcm-textarea.entry.js.map +1 -0
  151. package/dist/esm/bromcom-ui.js +4 -4
  152. package/dist/{cjs/index-a4eea4bb.js → esm/index-097075ad.js} +3 -5
  153. package/dist/esm/{index-f0e9d579.js.map → index-097075ad.js.map} +1 -1
  154. package/dist/esm/{index-e23ee9b0.js → index-27cc1bac.js} +13 -4
  155. package/dist/esm/index-27cc1bac.js.map +1 -0
  156. package/dist/esm/loader.js +4 -4
  157. package/dist/esm/validation-messages-a29d53be.js +129 -0
  158. package/dist/esm/validation-messages-a29d53be.js.map +1 -0
  159. package/dist/types/components/badge/badge.component.d.ts +87 -0
  160. package/dist/types/components/basic-badge/basic-badge.component.d.ts +54 -0
  161. package/dist/types/components/divider/divider.component.d.ts +40 -0
  162. package/dist/types/components/input/input.component.d.ts +19 -0
  163. package/dist/types/components/input/types.d.ts +10 -0
  164. package/dist/types/components/textarea/textarea.component.d.ts +85 -0
  165. package/dist/types/components/textarea/types.d.ts +7 -0
  166. package/dist/types/components.d.ts +643 -0
  167. package/dist/types/utils/i18n.d.ts +8 -0
  168. package/dist/types/utils/slot/check-slot-content.d.ts +7 -0
  169. package/dist/types/utils/validation-messages.d.ts +11 -0
  170. package/package.json +1 -1
  171. package/dist/bromcom-ui/p-047e562f.entry.js +0 -2
  172. package/dist/bromcom-ui/p-047e562f.entry.js.map +0 -1
  173. package/dist/bromcom-ui/p-40643b53.js +0 -2
  174. package/dist/bromcom-ui/p-40643b53.js.map +0 -1
  175. package/dist/bromcom-ui/p-61c030c5.js +0 -3
  176. package/dist/bromcom-ui/p-61c030c5.js.map +0 -1
  177. package/dist/bromcom-ui/p-6430a887.entry.js +0 -2
  178. package/dist/bromcom-ui/p-9e94d920.entry.js +0 -2
  179. package/dist/bromcom-ui/p-9e94d920.entry.js.map +0 -1
  180. package/dist/bromcom-ui/p-bde58312.entry.js +0 -2
  181. package/dist/bromcom-ui/p-e7732b0c.entry.js +0 -2
  182. package/dist/bromcom-ui/p-e7732b0c.entry.js.map +0 -1
  183. package/dist/cjs/app-globals-e8faea0d.js +0 -43
  184. package/dist/cjs/app-globals-e8faea0d.js.map +0 -1
  185. package/dist/cjs/bcm-avatar.cjs.entry.js +0 -89
  186. package/dist/cjs/bcm-avatar.cjs.entry.js.map +0 -1
  187. package/dist/cjs/bcm-button_2.cjs.entry.js +0 -549
  188. package/dist/cjs/bcm-button_2.cjs.entry.js.map +0 -1
  189. package/dist/cjs/index-c36002ae.js.map +0 -1
  190. package/dist/components/p-8ded2c73.js.map +0 -1
  191. package/dist/esm/app-globals-f781c325.js +0 -41
  192. package/dist/esm/app-globals-f781c325.js.map +0 -1
  193. package/dist/esm/bcm-avatar.entry.js +0 -85
  194. package/dist/esm/bcm-avatar.entry.js.map +0 -1
  195. package/dist/esm/bcm-button_2.entry.js +0 -544
  196. package/dist/esm/bcm-button_2.entry.js.map +0 -1
  197. package/dist/esm/index-e23ee9b0.js.map +0 -1
  198. /package/dist/bromcom-ui/{p-b36f4f44.js.map → p-12360e4c.js.map} +0 -0
  199. /package/dist/bromcom-ui/{p-dcc13a55.entry.js.map → p-dcea8d62.entry.js.map} +0 -0
  200. /package/dist/bromcom-ui/{p-3805363a.entry.js.map → p-ebed10d5.entry.js.map} +0 -0
@@ -1,85 +0,0 @@
1
- import { r as registerInstance, h } from './index-e23ee9b0.js';
2
- import { c as cs } from './index-f0e9d579.js';
3
-
4
- const avatarCss = ":host{--bcm-avatar-bg:var(--bcm-ui-color-background-default-default);--bcm-avatar-text:var(--bcm-ui-color-text-default);--bcm-avatar-radius:50%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.-right-0\\.5{right:-.125rem}.-top-0\\.5{top:-.125rem}.right-0{right:0}.top-0{top:0}.inline-flex{display:inline-flex}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.w-10{width:2.5rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.items-center{align-items:center}.justify-center{justify-content:center}.rounded-\\[--bcm-ui-radius\\]{border-radius:var(--bcm-ui-radius)}.rounded-full{border-radius:9999px}.bg-\\[--bcm-avatar-bg\\]{background-color:var(--bcm-avatar-bg)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.text-\\[--bcm-avatar-text\\]{color:var(--bcm-avatar-text)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";
5
- const BcmAvatarStyle0 = avatarCss;
6
-
7
- const BcmAvatar = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
10
- /** Shape of the avatar (ellipse/square) */
11
- this.shape = 'ellipse';
12
- /** Size of the avatar */
13
- this.size = 'medium';
14
- /** Fallback icon class */
15
- this.icon = 'fas fa-user';
16
- /** Status indicator animation */
17
- this.blink = false;
18
- this.isFallback = false;
19
- }
20
- getFirstLetters(name) {
21
- const words = name.split(' ');
22
- const initials = words.map(word => word.charAt(0).toUpperCase()).join('');
23
- return initials.substring(0, 2);
24
- }
25
- render() {
26
- const baseClass = cs('bcm-avatar bcm-ui-element bcm-ui-content-display', 'uppercase font-medium', 'inline-flex items-center justify-center', 'bg-[--bcm-avatar-bg] text-[--bcm-avatar-text]', {
27
- 'shape-ellipse rounded-full': this.shape === 'ellipse',
28
- 'shape-square rounded-[--bcm-ui-radius]': this.shape === 'square',
29
- 'size-small text-size-4 w-6 h-6': this.size === 'small',
30
- 'size-medium text-size-5 w-8 h-8': this.size === 'medium',
31
- 'size-large text-size-6 w-10 h-10': this.size === 'large',
32
- });
33
- const badgeClass = cs('badge', {
34
- 'top-0 right-0': this.shape === 'ellipse',
35
- '-top-0.5 -right-0.5': this.shape === 'square',
36
- });
37
- const imageClass = cs('image w-full h-full', {
38
- 'rounded-full': this.shape === 'ellipse',
39
- 'rounded-[--bcm-ui-radius]': this.shape === 'square',
40
- });
41
- let style = {};
42
- if (this.color) {
43
- const isColorTone = this.color.includes('-');
44
- const _color = isColorTone ? this.color.split('-')[0] : this.color;
45
- const bgColor = `var(--bcm-ui-color-background-palette-${_color}-default)`;
46
- const textColor = `var(--bcm-ui-color-text-palette-${_color}`;
47
- style = {
48
- '--bcm-avatar-bg': bgColor,
49
- '--bcm-avatar-text': textColor,
50
- };
51
- }
52
- const customSize = !Object.keys(['small', 'medium', 'large']).includes(this.size)
53
- ? {
54
- width: `${this.size}px`,
55
- height: `${this.size}px`,
56
- fontSize: `${+this.size / 2}px`,
57
- }
58
- : {};
59
- const RenderContent = () => {
60
- if (this.isFallback) {
61
- if (this.name) {
62
- return this.getFirstLetters(this.name);
63
- }
64
- else {
65
- return h("i", { class: this.icon });
66
- }
67
- }
68
- else if (this.image) {
69
- return h("img", { class: imageClass, onError: () => (this.isFallback = true), src: this.image, alt: this.alt, "aria-label": this.alt || this.name || 'Avatar' });
70
- }
71
- else if (this.name) {
72
- return this.getFirstLetters(this.name);
73
- }
74
- else {
75
- return h("i", { class: this.icon });
76
- }
77
- };
78
- return (h("div", { role: "img", "aria-label": this.alt || this.name || 'Avatar', class: baseClass, style: Object.assign(Object.assign({}, style), customSize) }, h(RenderContent, null), this.status && h("bcm-badge", { class: badgeClass, status: this.status, blink: this.blink, "aria-hidden": "true" }), h("slot", null)));
79
- }
80
- };
81
- BcmAvatar.style = BcmAvatarStyle0;
82
-
83
- export { BcmAvatar as bcm_avatar };
84
-
85
- //# sourceMappingURL=bcm-avatar.entry.js.map
@@ -1 +0,0 @@
1
- {"file":"bcm-avatar.entry.js","mappings":";;;AAAA,MAAM,SAAS,GAAG,46CAA46C,CAAC;AAC/7C,wBAAe,SAAS;;MCQX,SAAS;IALtB;;;QAgBE,UAAK,GAAgB,SAAS,CAAC;;QAI/B,SAAI,GAAe,QAAQ,CAAC;;QAQ5B,SAAI,GAAW,aAAa,CAAC;;QAQ7B,UAAK,GAAG,KAAK,CAAC;QAML,eAAU,GAAY,KAAK,CAAC;KA+EtC;IA7ES,eAAe,CAAC,IAAY;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACjC;IAED,MAAM;QACJ,MAAM,SAAS,GAAG,EAAE,CAClB,kDAAkD,EAClD,uBAAuB,EACvB,yCAAyC,EACzC,+CAA+C,EAC/C;YACE,4BAA4B,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS;YACtD,wCAAwC,EAAE,IAAI,CAAC,KAAK,KAAK,QAAQ;YACjE,gCAAgC,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;YACvD,iCAAiC,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ;YACzD,kCAAkC,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO;SAC1D,CACF,CAAC;QAEF,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE;YAC7B,eAAe,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS;YACzC,qBAAqB,EAAE,IAAI,CAAC,KAAK,KAAK,QAAQ;SAC/C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,EAAE,CAAC,qBAAqB,EAAE;YAC3C,cAAc,EAAE,IAAI,CAAC,KAAK,KAAK,SAAS;YACxC,2BAA2B,EAAE,IAAI,CAAC,KAAK,KAAK,QAAQ;SACrD,CAAC,CAAC;QAEH,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAEnE,MAAM,OAAO,GAAG,yCAAyC,MAAM,WAAW,CAAC;YAC3E,MAAM,SAAS,GAAG,mCAAmC,MAAM,EAAE,CAAC;YAC9D,KAAK,GAAG;gBACN,iBAAiB,EAAE,OAAO;gBAC1B,mBAAmB,EAAE,SAAS;aAC/B,CAAC;SACH;QAED,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;cAC7E;gBACE,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI;gBACvB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI;gBACxB,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI;aAChC;cACD,EAAE,CAAC;QAEP,MAAM,aAAa,GAAG;YACpB,IAAI,IAAI,CAAC,UAAU,EAAE;gBACnB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACxC;qBAAM;oBACL,OAAO,SAAG,KAAK,EAAE,IAAI,CAAC,IAAI,GAAM,CAAC;iBAClC;aACF;iBAAM,IAAI,IAAI,CAAC,KAAK,EAAE;gBACrB,OAAO,WAAK,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,gBAAc,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,GAAI,CAAC;aAC3J;iBAAM,IAAI,IAAI,CAAC,IAAI,EAAE;gBACpB,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACxC;iBAAM;gBACL,OAAO,SAAG,KAAK,EAAE,IAAI,CAAC,IAAI,GAAM,CAAC;aAClC;SACF,CAAC;QAEF,QACE,WAAK,IAAI,EAAC,KAAK,gBAAa,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,kCAAO,KAAK,GAAK,UAAU,KAC/G,EAAC,aAAa,OAAG,EAChB,IAAI,CAAC,MAAM,IAAI,iBAAW,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,iBAAc,MAAM,GAAa,EACrH,eAAa,CACT,EACN;KACH;;;;;;","names":[],"sources":["src/components/avatar/avatar.css?tag=bcm-avatar&encapsulation=shadow","src/components/avatar/avatar.component.tsx"],"sourcesContent":[":host {\n --bcm-avatar-bg: var(--bcm-ui-color-background-default-default);\n --bcm-avatar-text: var(--bcm-ui-color-text-default);\n --bcm-avatar-radius: 50%;\n}\n","import { Component, Prop, State, h } from '@stencil/core';\nimport cs from 'classnames';\nimport { AvatarShape, AvatarSize, AvatarStatus } from './types';\n\n@Component({\n tag: 'bcm-avatar',\n styleUrl: 'avatar.css',\n shadow: true,\n})\nexport class BcmAvatar {\n /** Source URL for avatar image */\n @Prop()\n image: string;\n\n /** Alternative text for image */\n @Prop()\n alt: string;\n\n /** Shape of the avatar (ellipse/square) */\n @Prop()\n shape: AvatarShape = 'ellipse';\n\n /** Size of the avatar */\n @Prop()\n size: AvatarSize = 'medium';\n\n /** Custom background color */\n @Prop()\n color: string;\n\n /** Fallback icon class */\n @Prop()\n icon: string = 'fas fa-user';\n\n /** Status indicator type */\n @Prop()\n status: AvatarStatus;\n\n /** Status indicator animation */\n @Prop()\n blink = false;\n\n /** Display name (used for initials) */\n @Prop()\n name: string;\n\n @State() isFallback: boolean = false;\n\n private getFirstLetters(name: string): string {\n const words = name.split(' ');\n const initials = words.map(word => word.charAt(0).toUpperCase()).join('');\n return initials.substring(0, 2);\n }\n\n render() {\n const baseClass = cs(\n 'bcm-avatar bcm-ui-element bcm-ui-content-display',\n 'uppercase font-medium',\n 'inline-flex items-center justify-center',\n 'bg-[--bcm-avatar-bg] text-[--bcm-avatar-text]',\n {\n 'shape-ellipse rounded-full': this.shape === 'ellipse',\n 'shape-square rounded-[--bcm-ui-radius]': this.shape === 'square',\n 'size-small text-size-4 w-6 h-6': this.size === 'small',\n 'size-medium text-size-5 w-8 h-8': this.size === 'medium',\n 'size-large text-size-6 w-10 h-10': this.size === 'large',\n },\n );\n\n const badgeClass = cs('badge', {\n 'top-0 right-0': this.shape === 'ellipse',\n '-top-0.5 -right-0.5': this.shape === 'square',\n });\n\n const imageClass = cs('image w-full h-full', {\n 'rounded-full': this.shape === 'ellipse',\n 'rounded-[--bcm-ui-radius]': this.shape === 'square',\n });\n\n let style = {};\n\n if (this.color) {\n const isColorTone = this.color.includes('-');\n const _color = isColorTone ? this.color.split('-')[0] : this.color;\n\n const bgColor = `var(--bcm-ui-color-background-palette-${_color}-default)`;\n const textColor = `var(--bcm-ui-color-text-palette-${_color}`;\n style = {\n '--bcm-avatar-bg': bgColor,\n '--bcm-avatar-text': textColor,\n };\n }\n\n const customSize = !Object.keys(['small', 'medium', 'large']).includes(this.size)\n ? {\n width: `${this.size}px`,\n height: `${this.size}px`,\n fontSize: `${+this.size / 2}px`,\n }\n : {};\n\n const RenderContent = () => {\n if (this.isFallback) {\n if (this.name) {\n return this.getFirstLetters(this.name);\n } else {\n return <i class={this.icon}></i>;\n }\n } else if (this.image) {\n return <img class={imageClass} onError={() => (this.isFallback = true)} src={this.image} alt={this.alt} aria-label={this.alt || this.name || 'Avatar'} />;\n } else if (this.name) {\n return this.getFirstLetters(this.name);\n } else {\n return <i class={this.icon}></i>;\n }\n };\n\n return (\n <div role=\"img\" aria-label={this.alt || this.name || 'Avatar'} class={baseClass} style={{ ...style, ...customSize }}>\n <RenderContent />\n {this.status && <bcm-badge class={badgeClass} status={this.status} blink={this.blink} aria-hidden=\"true\"></bcm-badge>}\n <slot></slot>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,544 +0,0 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-e23ee9b0.js';
2
- import { c as ce } from './index-f3b17e60.js';
3
- import { c as cs } from './index-f0e9d579.js';
4
-
5
- const variantOptions = {
6
- save: {
7
- text: 'Save',
8
- status: 'success',
9
- icon: 'far fa-save',
10
- iconPosition: 'prefix',
11
- kind: 'primary',
12
- },
13
- ok: {
14
- text: 'Ok',
15
- status: 'success',
16
- icon: 'far fa-check',
17
- iconPosition: 'prefix',
18
- },
19
- new: {
20
- text: 'New',
21
- status: 'success',
22
- icon: 'far fa-plus',
23
- iconPosition: 'prefix',
24
- },
25
- add: {
26
- text: 'Add',
27
- status: 'success',
28
- icon: 'far fa-plus',
29
- iconPosition: 'prefix',
30
- },
31
- create: {
32
- text: 'Create',
33
- status: 'success',
34
- icon: 'far fa-plus',
35
- iconPosition: 'prefix',
36
- },
37
- prev: {
38
- text: 'Prev',
39
- status: 'default',
40
- icon: 'far fa-arrow-left',
41
- iconPosition: 'prefix',
42
- },
43
- next: {
44
- text: 'Next',
45
- status: 'default',
46
- icon: 'far fa-arrow-right',
47
- iconPosition: 'suffix',
48
- },
49
- apply: {
50
- text: 'Apply',
51
- status: 'default',
52
- icon: 'far fa-check-circle',
53
- iconPosition: 'prefix',
54
- },
55
- submit: {
56
- text: 'Submit',
57
- status: 'default',
58
- icon: 'far fa-save',
59
- iconPosition: 'prefix',
60
- },
61
- send: {
62
- text: 'Send',
63
- status: 'success',
64
- icon: 'far fa-paper-plane',
65
- iconPosition: 'prefix',
66
- },
67
- delete: {
68
- text: 'Delete',
69
- status: 'error',
70
- icon: 'far fa-trash',
71
- iconPosition: 'prefix',
72
- },
73
- cancel: {
74
- text: 'Cancel',
75
- status: 'error',
76
- icon: 'far fa-times',
77
- iconPosition: 'prefix',
78
- },
79
- decline: {
80
- text: 'Decline',
81
- status: 'error',
82
- icon: 'far fa-ban',
83
- iconPosition: 'prefix',
84
- },
85
- close: {
86
- text: 'Close',
87
- status: 'error',
88
- icon: 'far fa-times-circle',
89
- iconPosition: 'prefix',
90
- },
91
- archive: {
92
- text: 'Archive',
93
- status: 'error',
94
- icon: 'far fa-folder-open',
95
- iconPosition: 'prefix',
96
- },
97
- remove: {
98
- text: 'Remove',
99
- status: 'error',
100
- icon: 'far fa-minus-circle',
101
- iconPosition: 'prefix',
102
- },
103
- edit: {
104
- text: 'Edit',
105
- status: 'default',
106
- icon: 'far fa-edit',
107
- iconPosition: 'prefix',
108
- },
109
- export: {
110
- text: 'Export',
111
- status: 'default',
112
- icon: 'far fa-sign-out',
113
- iconPosition: 'prefix',
114
- },
115
- import: {
116
- text: 'Import',
117
- status: 'default',
118
- icon: 'far fa-sign-in',
119
- iconPosition: 'prefix',
120
- },
121
- filter: {
122
- text: 'Filter',
123
- status: 'default',
124
- icon: 'far fa-filter',
125
- iconPosition: 'prefix',
126
- },
127
- update: {
128
- text: 'Update',
129
- status: 'default',
130
- icon: 'far fa-sync',
131
- iconPosition: 'prefix',
132
- },
133
- reset: {
134
- text: 'Reset',
135
- status: 'default',
136
- icon: 'far fa-sync',
137
- iconPosition: 'prefix',
138
- },
139
- download: {
140
- text: 'Download',
141
- status: 'default',
142
- icon: 'far fa-download',
143
- iconPosition: 'prefix',
144
- },
145
- };
146
-
147
- const buttonCss = ":host{display:inline-block}:host([full-width]){width:100%}.inline-flex{display:inline-flex}.min-h-10{min-height:2.5rem}.min-h-6{min-height:1.5rem}.min-h-8{min-height:2rem}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.appearance-none{appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--bcm-button-border\\]{border-color:var(--bcm-button-border)}.bg-\\[--bcm-button-bg\\]{background-color:var(--bcm-button-bg)}.bg-\\[--bcm-ui-color-background-disabled-default\\]{background-color:var(--bcm-ui-color-background-disabled-default)}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-px{padding-bottom:1px;padding-top:1px}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.leading-none{line-height:1}.text-\\[--bcm-button-text\\]{color:var(--bcm-button-text)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.outline-0{outline-width:0}.hover\\:bg-\\[--bcm-button-bg-hover\\]:hover{background-color:var(--bcm-button-bg-hover)}.focus-visible\\:ring:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\\:bg-\\[--bcm-button-bg-active\\]:active{background-color:var(--bcm-button-bg-active)}";
148
- const BcmButtonStyle0 = buttonCss;
149
-
150
- const BcmButton = class {
151
- constructor(hostRef) {
152
- registerInstance(this, hostRef);
153
- this.bcmClick = createEvent(this, "bcmClick", 1);
154
- this.bcmFocus = createEvent(this, "bcmFocus", 1);
155
- this.bcmBlur = createEvent(this, "bcmBlur", 1);
156
- /** Defines the main visual style of the button */
157
- this.kind = 'primary';
158
- /** Controls the button size */
159
- this.size = 'medium';
160
- /** Defines the button's status/state color */
161
- this.status = 'default';
162
- /** Icon placement (prefix/suffix) */
163
- this.iconPosition = 'prefix';
164
- /** Icon-only button mode */
165
- this.iconOnly = false;
166
- /** Full width button */
167
- this.fullWidth = false;
168
- /** HTML button type */
169
- this.type = 'button';
170
- /** Loading state */
171
- this.loading = false;
172
- /** Disabled state */
173
- this.disabled = false;
174
- /** Active state */
175
- this.active = false;
176
- this.handleClick = (event) => {
177
- if (!this.disabled && !this.loading) {
178
- this.bcmClick.emit(event);
179
- }
180
- };
181
- this.handleFocus = (event) => {
182
- this.bcmFocus.emit(event);
183
- };
184
- this.handleBlur = (event) => {
185
- this.bcmBlur.emit(event);
186
- };
187
- this.buttonClass = ce({
188
- base: 'bcm-button appearance-none inline-flex items-center justify-center border border-solid rounded outline-0',
189
- variants: {
190
- size: {
191
- small: 'text-size-4 py-px px-2 min-h-6',
192
- medium: 'text-size-5 py-0.5 px-3 min-h-8',
193
- large: 'text-size-6 py-1 px-3 min-h-10',
194
- },
195
- kind: {
196
- primary: 'kind-primary',
197
- ghost: 'kind-ghost',
198
- text: 'kind-text',
199
- outline: 'kind-outline',
200
- },
201
- fullWidth: {
202
- true: 'full-width w-full',
203
- },
204
- disabled: {
205
- true: 'disabled cursor-not-allowed bg-[--bcm-ui-color-background-disabled-default] text-color-disabled border-color-disabled',
206
- false: [
207
- 'cursor-pointer',
208
- 'bg-[--bcm-button-bg] text-[--bcm-button-text] border-[--bcm-button-border]',
209
- 'hover:bg-[--bcm-button-bg-hover]',
210
- 'active:bg-[--bcm-button-bg-active]',
211
- 'focus-visible:ring',
212
- ],
213
- },
214
- loading: {
215
- true: '',
216
- },
217
- },
218
- defaultVariants: {
219
- size: 'medium',
220
- kind: 'primary',
221
- fullWidth: false,
222
- disabled: false,
223
- loading: false,
224
- },
225
- }, {
226
- twMerge: false,
227
- });
228
- }
229
- get buttonText() {
230
- return this.text || (this.variant ? variantOptions[this.variant].text : '');
231
- }
232
- get buttonIcon() {
233
- if (this.variant && variantOptions[this.variant].icon) {
234
- return {
235
- icon: variantOptions[this.variant].icon,
236
- position: variantOptions[this.variant].iconPosition || 'prefix',
237
- };
238
- }
239
- return {
240
- icon: this.icon,
241
- position: this.iconPosition,
242
- };
243
- }
244
- get buttonStatus() {
245
- return this.variant ? variantOptions[this.variant].status : this.status;
246
- }
247
- get buttonStyles() {
248
- const status = this.buttonStatus === 'default' ? 'primary' : this.buttonStatus;
249
- const kindStyleMap = {
250
- primary: {
251
- '--bcm-button-bg': `var(--bcm-ui-color-background-${status}-default)`,
252
- '--bcm-button-bg-hover': `var(--bcm-ui-color-background-${status}-hover)`,
253
- '--bcm-button-bg-active': `var(--bcm-ui-color-background-${status}-active)`,
254
- '--bcm-button-border': 'transparent',
255
- '--bcm-button-text': 'var(--bcm-ui-color-text-base)',
256
- },
257
- outline: {
258
- '--bcm-button-bg': 'var(--bcm-ui-color-background-default-default)',
259
- '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',
260
- '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',
261
- '--bcm-button-border': `var(--bcm-ui-color-border-${this.buttonStatus})`,
262
- '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,
263
- },
264
- ghost: {
265
- '--bcm-button-bg': 'transparent',
266
- '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',
267
- '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',
268
- '--bcm-button-border': 'transparent',
269
- '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,
270
- },
271
- text: {
272
- '--bcm-button-bg': 'transparent',
273
- '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',
274
- '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',
275
- '--bcm-button-border': 'transparent',
276
- '--bcm-button-text': `var(--bcm-ui-color-text-${status})`,
277
- },
278
- };
279
- return kindStyleMap[this.kind];
280
- }
281
- render() {
282
- const { icon, position } = this.buttonIcon;
283
- return (h(Host, { key: '72bb1d2567880894e0c4c7667670e267faa9a6dd' }, h("button", { key: 'a1101e3c0846c6bf1c7059a8992b0b46fce74f8b', type: this.type, disabled: this.disabled || this.loading, "aria-label": this.label, "aria-expanded": this.expanded, "aria-controls": this.controls, "aria-disabled": this.disabled, onClick: this.handleClick, onFocus: this.handleFocus, onBlur: this.handleBlur, style: this.buttonStyles, class: this.buttonClass({
284
- size: this.size,
285
- kind: this.kind,
286
- fullWidth: this.fullWidth,
287
- disabled: this.disabled,
288
- loading: this.loading,
289
- }) }, this.loading && h("slot", { key: 'c8a58aac8903477638cec974e32cdcd728e1ee8d', name: "loading" }), h("span", { key: '9690dfa5a312885da070ff90036b898c06f69621' }, h("slot", { key: '66eed1efbf522aec86d32ddbf0e9e8e68cbbb592', name: "prefix" }, position === 'prefix' && icon && h("i", { key: 'b0f91818830bd7e74d3d5cb6f957fa05f15b29a5', class: ' leading-none ' + icon }))), h("slot", { key: '7dbb0221b6119d61bc94c67355659e99a5bc75f5' }, this.buttonText), h("span", { key: 'd7547cc65575eef30ee8816b40de4485b0286b83' }, h("slot", { key: '32bd079256e6ca4a74572a726d459a3cb691a3ed', name: "suffix" }, position === 'suffix' && icon && h("i", { key: '66c307ec0637537986cb454f5cf718afc5715529', class: ' leading-none ' + icon }))))));
290
- }
291
- };
292
- BcmButton.style = BcmButtonStyle0;
293
-
294
- const byteToHex = [];
295
- for (let i = 0; i < 256; ++i) {
296
- byteToHex.push((i + 0x100).toString(16).slice(1));
297
- }
298
- function unsafeStringify(arr, offset = 0) {
299
- return (byteToHex[arr[offset + 0]] +
300
- byteToHex[arr[offset + 1]] +
301
- byteToHex[arr[offset + 2]] +
302
- byteToHex[arr[offset + 3]] +
303
- '-' +
304
- byteToHex[arr[offset + 4]] +
305
- byteToHex[arr[offset + 5]] +
306
- '-' +
307
- byteToHex[arr[offset + 6]] +
308
- byteToHex[arr[offset + 7]] +
309
- '-' +
310
- byteToHex[arr[offset + 8]] +
311
- byteToHex[arr[offset + 9]] +
312
- '-' +
313
- byteToHex[arr[offset + 10]] +
314
- byteToHex[arr[offset + 11]] +
315
- byteToHex[arr[offset + 12]] +
316
- byteToHex[arr[offset + 13]] +
317
- byteToHex[arr[offset + 14]] +
318
- byteToHex[arr[offset + 15]]).toLowerCase();
319
- }
320
-
321
- let getRandomValues;
322
- const rnds8 = new Uint8Array(16);
323
- function rng() {
324
- if (!getRandomValues) {
325
- if (typeof crypto === 'undefined' || !crypto.getRandomValues) {
326
- throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
327
- }
328
- getRandomValues = crypto.getRandomValues.bind(crypto);
329
- }
330
- return getRandomValues(rnds8);
331
- }
332
-
333
- const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
334
- const native = { randomUUID };
335
-
336
- function v4(options, buf, offset) {
337
- if (native.randomUUID && !buf && !options) {
338
- return native.randomUUID();
339
- }
340
- options = options || {};
341
- const rnds = options.random ?? options.rng?.() ?? rng();
342
- if (rnds.length < 16) {
343
- throw new Error('Random bytes length must be >= 16');
344
- }
345
- rnds[6] = (rnds[6] & 0x0f) | 0x40;
346
- rnds[8] = (rnds[8] & 0x3f) | 0x80;
347
- if (buf) {
348
- offset = offset || 0;
349
- if (offset < 0 || offset + 16 > buf.length) {
350
- throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
351
- }
352
- for (let i = 0; i < 16; ++i) {
353
- buf[offset + i] = rnds[i];
354
- }
355
- return buf;
356
- }
357
- return unsafeStringify(rnds);
358
- }
359
-
360
- /**
361
- * Generates a unique identifier with an optional prefix.
362
- * @param prefix - Optional prefix for the generated ID (default: 'bcm')
363
- * @returns A unique string ID in the format "prefix-uuid"
364
- * @example
365
- * const id = generateId('button'); // -> "button-123e4567-e89b..."
366
- * const defaultId = generateId(); // -> "bcm-123e4567-e89b..."
367
- */
368
- const generateId = (prefix = 'bcm') => {
369
- if (!prefix) {
370
- throw new Error('Prefix cannot be empty');
371
- }
372
- return `${prefix}-${v4()}`;
373
- };
374
-
375
- const inputCss = ".visible{visibility:visible}.collapse{visibility:collapse}.relative{position:relative}.block{display:block}.table{display:table}.contents{display:contents}.hidden{display:none}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.underline{text-decoration-line:underline}.outline{outline-style:solid}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid oklch(.928 .006 264.531);box-sizing:border-box}:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Inter,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:oklch(.707 .022 261.325);opacity:1}input::placeholder,textarea::placeholder{color:oklch(.707 .022 261.325);opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:host{display:inline-block}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.static{position:static}.flex{display:flex}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-8{height:2rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.cursor-not-allowed{cursor:not-allowed}.appearance-none{appearance:none}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.text-ellipsis{text-overflow:ellipsis}.rounded{border-radius:.25rem}.border-0{border-width:0}.border-solid{border-style:solid}.border-\\[--bcm-ui-color-border-default\\]{border-color:var(--bcm-ui-color-border-default)}.bg-\\[--bcm-ui-color-background-base-default\\]{background-color:var(--bcm-ui-color-background-base-default)}.bg-transparent{background-color:transparent}.px-3{padding-left:.75rem;padding-right:.75rem}.font-sans{font-family:Inter,sans-serif}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-medium{font-weight:500}.text-\\[--bcm-ui-color-text-default\\]{color:var(--bcm-ui-color-text-default)}.text-color-caption{color:var(--bcm-ui-color-text-caption)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-error{color:var(--bcm-ui-color-text-error)}.text-color-info{color:var(--bcm-ui-color-text-info)}.text-color-label{color:var(--bcm-ui-color-text-label)}.text-color-success{color:var(--bcm-ui-color-text-success)}.text-color-warning{color:var(--bcm-ui-color-text-warning)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-0{outline-width:0}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.placeholder\\:font-normal::placeholder{font-weight:400}.placeholder\\:text-\\[--bcm-ui-color-text-placeholder\\]::placeholder{color:var(--bcm-ui-color-text-placeholder)}";
376
- const BcmInputStyle0 = inputCss;
377
-
378
- const BcmInput = class {
379
- constructor(hostRef) {
380
- registerInstance(this, hostRef);
381
- this.bcmInput = createEvent(this, "bcmInput", 1);
382
- this.bcmChange = createEvent(this, "bcmChange", 1);
383
- this.bcmFocus = createEvent(this, "bcmFocus", 1);
384
- this.bcmBlur = createEvent(this, "bcmBlur", 1);
385
- this.bcmKeyDown = createEvent(this, "bcmKeyDown", 1);
386
- this.bcmKeyUp = createEvent(this, "bcmKeyUp", 1);
387
- this.isFocused = false;
388
- /** Input value */
389
- this.value = '';
390
- /** Input id */
391
- this._id = generateId('input');
392
- /** Controls the input size */
393
- this.size = 'medium';
394
- /** Defines the input's status/state */
395
- this.status = 'default';
396
- /** Full width input */
397
- this.fullWidth = false;
398
- /** HTML input type */
399
- this.type = 'text';
400
- /** Whether the input is disabled */
401
- this.disabled = false;
402
- /** Whether the input is readonly */
403
- this.readonly = false;
404
- /** Whether the input is required */
405
- this.required = false;
406
- this.onInput = (event) => {
407
- const input = event.target;
408
- this.value = input.value;
409
- this.bcmInput.emit(event);
410
- };
411
- this.onChange = (event) => {
412
- this.bcmChange.emit(event);
413
- };
414
- this.onFocus = (event) => {
415
- this.isFocused = true;
416
- this.bcmFocus.emit(event);
417
- };
418
- this.onBlur = (event) => {
419
- this.isFocused = false;
420
- this.bcmBlur.emit(event);
421
- };
422
- this.onKeyDown = (event) => {
423
- this.bcmKeyDown.emit(event);
424
- };
425
- this.onKeyUp = (event) => {
426
- this.bcmKeyUp.emit(event);
427
- };
428
- this.styleClass = ce({
429
- slots: {
430
- base: [
431
- 'bcm-input bcm-input__container',
432
- 'bg-[--bcm-ui-color-background-base-default] border-[--bcm-ui-color-border-default]',
433
- 'border border-solid rounded',
434
- 'flex items-center justify-between gap-2',
435
- // 'px-3',
436
- ],
437
- inputClass: [
438
- 'input',
439
- 'w-full flex-1',
440
- 'border-0 outline-0 bg-transparent',
441
- 'appearance-none text-ellipsis',
442
- 'text-[--bcm-ui-color-text-default] placeholder:text-[--bcm-ui-color-text-placeholder] placeholder:font-normal',
443
- 'font-sans antialiased font-medium',
444
- ],
445
- },
446
- variants: {
447
- size: {
448
- small: {
449
- base: '',
450
- inputClass: 'text-size-4 px-3 h-6',
451
- },
452
- medium: {
453
- base: '',
454
- inputClass: 'text-size-5 px-3 h-8',
455
- },
456
- large: {
457
- base: '',
458
- inputClass: 'text-size-6 px-3 h-10',
459
- },
460
- },
461
- fullWidth: {
462
- true: 'full-width w-full',
463
- },
464
- disabled: {
465
- true: 'disabled cursor-not-allowed',
466
- false: '',
467
- },
468
- focused: {
469
- true: {
470
- base: 'ring',
471
- },
472
- },
473
- },
474
- defaultVariants: {
475
- size: 'medium',
476
- fullWidth: false,
477
- disabled: false,
478
- focused: false,
479
- },
480
- }, {
481
- twMerge: false,
482
- });
483
- }
484
- handleValueChange(newValue) {
485
- if (this.inputRef) {
486
- this.inputRef.value = newValue;
487
- }
488
- }
489
- async setFocus() {
490
- var _a;
491
- (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.focus();
492
- }
493
- async setBlur() {
494
- var _a;
495
- (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.blur();
496
- }
497
- async select() {
498
- var _a;
499
- (_a = this.inputRef) === null || _a === void 0 ? void 0 : _a.select();
500
- }
501
- // private inputStyles = {
502
- // '--bcm-input-bg': `var(--bcm-ui-color-background-${this.status}-default)`,
503
- // '--bcm-button-bg-hover': `var(--bcm-ui-color-background-${this.status}-hover)`,
504
- // '--bcm-button-bg-active': `var(--bcm-ui-color-background-${this.status}-active)`,
505
- // '--bcm-button-border': 'transparent',
506
- // '--bcm-button-text': 'var(--bcm-ui-color-text-base)',
507
- // };
508
- render() {
509
- const inputId = this._id + '-input' || this.name;
510
- const { base, inputClass } = this.styleClass({
511
- size: this.size,
512
- fullWidth: this.fullWidth,
513
- disabled: this.disabled,
514
- focused: this.isFocused,
515
- });
516
- return (h("div", { key: '4e8b381764b3bf96ccd8e8506286d0e88e989a30', class: "bcm-ui-element" }, this.label && (h("label", { key: 'dc213a515a6596e388b4a60c23c498f8bdd22247', class: cs('input-label font-medium', {
517
- 'text-color-label': !this.disabled,
518
- 'text-color-disabled': this.disabled,
519
- }, {
520
- 'text-size-3': this.size === 'small',
521
- 'text-size-4': this.size === 'medium',
522
- 'text-size-5': this.size === 'large',
523
- }), htmlFor: inputId }, h("slot", { key: '513585e5000edf7f7f9e3ff73241b7203e3433a3', name: "label" }, this.label), this.required && h("span", { key: '5ffc16ce50aa435033518ce1b7a2e616150f99ca' }, "*"))), h("div", { key: '3a9d0bdbc9d1d6949a05088c889d7feb2fa6d64b', class: base() }, h("slot", { key: '3d10c90faeb1ee767de8f5261551c8bd62652856', name: "prefix" }), this.prefixIcon && h("bcm-icon", { key: 'e4e01b842c49cac8da1f2ac2e37a80311caa32d3', class: "prefix-icon", "icon-name": this.prefixIcon }), h("input", { key: '17d404e0e63f2b89ad1be1a564c0a462e76bbd72', ref: el => (this.inputRef = el), id: inputId, class: inputClass(), type: this.type, name: this.name, disabled: this.disabled, readonly: this.readonly, required: this.required, placeholder: this.placeholder, autocomplete: this.autocomplete, minlength: this.minLength, maxlength: this.maxLength, min: this.min, max: this.max, step: this.step, pattern: this.pattern, "aria-invalid": this.status === 'error', "aria-required": this.required, "aria-labelledby": this.labelledby, "aria-describedby": this.describedby, value: this.value, onInput: this.onInput, onChange: this.onChange, onFocus: this.onFocus, onBlur: this.onBlur, onKeyDown: this.onKeyDown, onKeyUp: this.onKeyUp }), this.suffixIcon && h("bcm-icon", { key: '293c7b2d1853bb86c7733d70201817b5c809f645', class: "suffix-icon", "icon-name": this.suffixIcon }), h("slot", { key: '0ccd4968dbeeff480e452c23fb10913df8436dc6', name: "suffix" })), (this.captionText || this.errorMessage) && (h("div", { key: '30f7cd413c012c755dd0297d252afacf1405c1fb', class: cs('input-caption-text font-regular', {
524
- 'text-color-caption': !this.disabled && this.status === 'default',
525
- 'text-color-error': !this.disabled && this.status === 'error',
526
- 'text-color-success': !this.disabled && this.status === 'success',
527
- 'text-color-warning': !this.disabled && this.status === 'warning',
528
- 'text-color-info': !this.disabled && this.status === 'info',
529
- 'text-color-disabled': this.disabled,
530
- }, {
531
- 'text-size-3': this.size === 'small',
532
- 'text-size-4': this.size === 'medium',
533
- 'text-size-5': this.size === 'large',
534
- }) }, this.status === 'error' ? this.errorMessage : this.captionText))));
535
- }
536
- static get watchers() { return {
537
- "value": ["handleValueChange"]
538
- }; }
539
- };
540
- BcmInput.style = BcmInputStyle0;
541
-
542
- export { BcmButton as bcm_button, BcmInput as bcm_input };
543
-
544
- //# sourceMappingURL=bcm-button_2.entry.js.map