bromcom-ui-next 0.1.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 (169) hide show
  1. package/LICENSE +21 -0
  2. package/dist/bromcom-ui/bromcom-ui.css +1 -0
  3. package/dist/bromcom-ui/bromcom-ui.esm.js +2 -0
  4. package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -0
  5. package/dist/bromcom-ui/global/global.js +40 -0
  6. package/dist/bromcom-ui/index.esm.js +2 -0
  7. package/dist/bromcom-ui/index.esm.js.map +1 -0
  8. package/dist/bromcom-ui/p-27c997d8.js +3 -0
  9. package/dist/bromcom-ui/p-27c997d8.js.map +1 -0
  10. package/dist/bromcom-ui/p-341d46a8.entry.js +2 -0
  11. package/dist/bromcom-ui/p-341d46a8.entry.js.map +1 -0
  12. package/dist/bromcom-ui/p-40643b53.js +2 -0
  13. package/dist/bromcom-ui/p-40643b53.js.map +1 -0
  14. package/dist/bromcom-ui/p-5fcf77f9.js +2 -0
  15. package/dist/bromcom-ui/p-5fcf77f9.js.map +1 -0
  16. package/dist/bromcom-ui/p-997f314c.entry.js +2 -0
  17. package/dist/bromcom-ui/p-997f314c.entry.js.map +1 -0
  18. package/dist/bromcom-ui/p-b36f4f44.js +7 -0
  19. package/dist/bromcom-ui/p-b36f4f44.js.map +1 -0
  20. package/dist/bromcom-ui/p-dcb9df00.entry.js +2 -0
  21. package/dist/bromcom-ui/p-dcb9df00.entry.js.map +1 -0
  22. package/dist/bromcom-ui/p-f0c61f8c.entry.js +2 -0
  23. package/dist/bromcom-ui/p-f0c61f8c.entry.js.map +1 -0
  24. package/dist/cjs/app-globals-e8faea0d.js +43 -0
  25. package/dist/cjs/app-globals-e8faea0d.js.map +1 -0
  26. package/dist/cjs/bcm-accordion_4.cjs.entry.js +623 -0
  27. package/dist/cjs/bcm-accordion_4.cjs.entry.js.map +1 -0
  28. package/dist/cjs/bcm-alert.cjs.entry.js +99 -0
  29. package/dist/cjs/bcm-alert.cjs.entry.js.map +1 -0
  30. package/dist/cjs/bcm-avatar.cjs.entry.js +89 -0
  31. package/dist/cjs/bcm-avatar.cjs.entry.js.map +1 -0
  32. package/dist/cjs/bcm-text.cjs.entry.js +119 -0
  33. package/dist/cjs/bcm-text.cjs.entry.js.map +1 -0
  34. package/dist/cjs/bromcom-ui.cjs.js +27 -0
  35. package/dist/cjs/bromcom-ui.cjs.js.map +1 -0
  36. package/dist/cjs/index-310db2a6.js +2584 -0
  37. package/dist/cjs/index-310db2a6.js.map +1 -0
  38. package/dist/cjs/index-638f2d15.js +1441 -0
  39. package/dist/cjs/index-638f2d15.js.map +1 -0
  40. package/dist/cjs/index-a4eea4bb.js +84 -0
  41. package/dist/cjs/index-a4eea4bb.js.map +1 -0
  42. package/dist/cjs/index.cjs.js +4 -0
  43. package/dist/cjs/index.cjs.js.map +1 -0
  44. package/dist/cjs/loader.cjs.js +17 -0
  45. package/dist/cjs/loader.cjs.js.map +1 -0
  46. package/dist/collection/collection-manifest.json +18 -0
  47. package/dist/collection/components/accordion/accordion.component.js +399 -0
  48. package/dist/collection/components/accordion/accordion.component.js.map +1 -0
  49. package/dist/collection/components/accordion/accordion.css +1 -0
  50. package/dist/collection/components/accordion/types.js +2 -0
  51. package/dist/collection/components/accordion/types.js.map +1 -0
  52. package/dist/collection/components/accordion-group/accordion-group.component.js +269 -0
  53. package/dist/collection/components/accordion-group/accordion-group.component.js.map +1 -0
  54. package/dist/collection/components/accordion-group/accordion-group.css +1 -0
  55. package/dist/collection/components/accordion-group/types.js +2 -0
  56. package/dist/collection/components/accordion-group/types.js.map +1 -0
  57. package/dist/collection/components/alert/alert.component.js +241 -0
  58. package/dist/collection/components/alert/alert.component.js.map +1 -0
  59. package/dist/collection/components/alert/alert.css +1 -0
  60. package/dist/collection/components/alert/types.js +2 -0
  61. package/dist/collection/components/alert/types.js.map +1 -0
  62. package/dist/collection/components/avatar/avatar.component.js +290 -0
  63. package/dist/collection/components/avatar/avatar.component.js.map +1 -0
  64. package/dist/collection/components/avatar/avatar.css +1 -0
  65. package/dist/collection/components/avatar/types.js +2 -0
  66. package/dist/collection/components/avatar/types.js.map +1 -0
  67. package/dist/collection/components/button/button.component.js +628 -0
  68. package/dist/collection/components/button/button.component.js.map +1 -0
  69. package/dist/collection/components/button/button.css +1 -0
  70. package/dist/collection/components/button/types.js +142 -0
  71. package/dist/collection/components/button/types.js.map +1 -0
  72. package/dist/collection/components/chip/chip.component.js +308 -0
  73. package/dist/collection/components/chip/chip.component.js.map +1 -0
  74. package/dist/collection/components/chip/chip.css +1 -0
  75. package/dist/collection/components/chip/types.js +7 -0
  76. package/dist/collection/components/chip/types.js.map +1 -0
  77. package/dist/collection/components/text/text.component.js +176 -0
  78. package/dist/collection/components/text/text.component.js.map +1 -0
  79. package/dist/collection/components/text/text.css +1 -0
  80. package/dist/collection/components/text/text.types.js +2 -0
  81. package/dist/collection/components/text/text.types.js.map +1 -0
  82. package/dist/collection/components/text/text.utils.js +18 -0
  83. package/dist/collection/components/text/text.utils.js.map +1 -0
  84. package/dist/collection/global/global.js +40 -0
  85. package/dist/collection/index.js +2 -0
  86. package/dist/collection/index.js.map +1 -0
  87. package/dist/collection/styles/theme-variables.js +355 -0
  88. package/dist/collection/styles/theme-variables.js.map +1 -0
  89. package/dist/components/bcm-accordion-group.d.ts +11 -0
  90. package/dist/components/bcm-accordion-group.js +113 -0
  91. package/dist/components/bcm-accordion-group.js.map +1 -0
  92. package/dist/components/bcm-accordion.d.ts +11 -0
  93. package/dist/components/bcm-accordion.js +152 -0
  94. package/dist/components/bcm-accordion.js.map +1 -0
  95. package/dist/components/bcm-alert.d.ts +11 -0
  96. package/dist/components/bcm-alert.js +120 -0
  97. package/dist/components/bcm-alert.js.map +1 -0
  98. package/dist/components/bcm-avatar.d.ts +11 -0
  99. package/dist/components/bcm-avatar.js +115 -0
  100. package/dist/components/bcm-avatar.js.map +1 -0
  101. package/dist/components/bcm-button.d.ts +11 -0
  102. package/dist/components/bcm-button.js +334 -0
  103. package/dist/components/bcm-button.js.map +1 -0
  104. package/dist/components/bcm-chip.d.ts +11 -0
  105. package/dist/components/bcm-chip.js +152 -0
  106. package/dist/components/bcm-chip.js.map +1 -0
  107. package/dist/components/bcm-text.d.ts +11 -0
  108. package/dist/components/bcm-text.js +138 -0
  109. package/dist/components/bcm-text.js.map +1 -0
  110. package/dist/components/index.d.ts +33 -0
  111. package/dist/components/index.js +38 -0
  112. package/dist/components/index.js.map +1 -0
  113. package/dist/components/p-0adcc84f.js +1222 -0
  114. package/dist/components/p-0adcc84f.js.map +1 -0
  115. package/dist/components/p-5fcf77f9.js +2582 -0
  116. package/dist/components/p-5fcf77f9.js.map +1 -0
  117. package/dist/components/p-b36f4f44.js +82 -0
  118. package/dist/components/p-b36f4f44.js.map +1 -0
  119. package/dist/esm/app-globals-f781c325.js +41 -0
  120. package/dist/esm/app-globals-f781c325.js.map +1 -0
  121. package/dist/esm/bcm-accordion_4.entry.js +616 -0
  122. package/dist/esm/bcm-accordion_4.entry.js.map +1 -0
  123. package/dist/esm/bcm-alert.entry.js +95 -0
  124. package/dist/esm/bcm-alert.entry.js.map +1 -0
  125. package/dist/esm/bcm-avatar.entry.js +85 -0
  126. package/dist/esm/bcm-avatar.entry.js.map +1 -0
  127. package/dist/esm/bcm-text.entry.js +115 -0
  128. package/dist/esm/bcm-text.entry.js.map +1 -0
  129. package/dist/esm/bromcom-ui.js +22 -0
  130. package/dist/esm/bromcom-ui.js.map +1 -0
  131. package/dist/esm/index-ce2fac11.js +1412 -0
  132. package/dist/esm/index-ce2fac11.js.map +1 -0
  133. package/dist/esm/index-f0e9d579.js +82 -0
  134. package/dist/esm/index-f0e9d579.js.map +1 -0
  135. package/dist/esm/index-f3b17e60.js +2582 -0
  136. package/dist/esm/index-f3b17e60.js.map +1 -0
  137. package/dist/esm/index.js +3 -0
  138. package/dist/esm/index.js.map +1 -0
  139. package/dist/esm/loader.js +13 -0
  140. package/dist/esm/loader.js.map +1 -0
  141. package/dist/index.cjs.js +1 -0
  142. package/dist/index.js +1 -0
  143. package/dist/types/components/accordion/accordion.component.d.ts +137 -0
  144. package/dist/types/components/accordion/types.d.ts +16 -0
  145. package/dist/types/components/accordion-group/accordion-group.component.d.ts +95 -0
  146. package/dist/types/components/accordion-group/types.d.ts +13 -0
  147. package/dist/types/components/alert/alert.component.d.ts +28 -0
  148. package/dist/types/components/alert/types.d.ts +3 -0
  149. package/dist/types/components/avatar/avatar.component.d.ts +24 -0
  150. package/dist/types/components/avatar/types.d.ts +3 -0
  151. package/dist/types/components/button/button.component.d.ts +52 -0
  152. package/dist/types/components/button/types.d.ts +15 -0
  153. package/dist/types/components/chip/chip.component.d.ts +48 -0
  154. package/dist/types/components/chip/types.d.ts +9 -0
  155. package/dist/types/components/text/text.component.d.ts +12 -0
  156. package/dist/types/components/text/text.types.d.ts +3 -0
  157. package/dist/types/components/text/text.utils.d.ts +2 -0
  158. package/dist/types/components.d.ts +1116 -0
  159. package/dist/types/index.d.ts +10 -0
  160. package/dist/types/stencil-public-runtime.d.ts +1680 -0
  161. package/dist/types/styles/theme-variables.d.ts +384 -0
  162. package/loader/cdn.js +1 -0
  163. package/loader/index.cjs.js +1 -0
  164. package/loader/index.d.ts +24 -0
  165. package/loader/index.es2017.js +1 -0
  166. package/loader/index.js +2 -0
  167. package/loader/package.json +11 -0
  168. package/package.json +49 -0
  169. package/readme.md +170 -0
@@ -0,0 +1,623 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-638f2d15.js');
6
+ const index$1 = require('./index-310db2a6.js');
7
+
8
+ const accordionCss = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border:0 solid oklch(.928 .006 264.531);box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){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::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}.block{display:block}.flex{display:flex}.border{border-width:1px}:host{--bcm-accordion-bg:var(--bcm-ui-color-background-basic-panel);--bcm-accordion-content-bg:var(--bcm-ui-color-background-basic-base);--bcm-accordion-text:var(--bcm-ui-color-text-header);--bcm-accordion-border:var(--bcm-ui-color-border-default);--bcm-accordion-radius:6px;--bcm-accordion-footer-bg:var(--bcm-ui-color-background-default-default);display:block;width:100%}:host(:not([group])) .accordion-container{border:1px solid var(--bcm-accordion-border);border-radius:var(--bcm-accordion-radius)}:host([group]) .accordion-container{border-bottom:1px solid var(--bcm-accordion-border);border-radius:0}:host([group]:last-of-type) .accordion-container{border-bottom:none}:host([group]:first-of-type) .accordion-container{border-top-left-radius:var(--bcm-accordion-radius);border-top-right-radius:var(--bcm-accordion-radius)}:host([group]:last-of-type) .accordion-footer{border-bottom-left-radius:var(--bcm-accordion-radius);border-bottom-right-radius:var(--bcm-accordion-radius)}:host(:not([group])) .accordion-footer{border-bottom-left-radius:var(--bcm-accordion-radius);border-bottom-right-radius:var(--bcm-accordion-radius)}::slotted([slot=title]){align-items:center;display:flex;flex-direction:row;gap:10px}::slotted([slot=actions]){align-items:center;display:flex;flex-direction:row;gap:12px}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.collapse{visibility:collapse}.static{position:static}.hidden{display:none}.w-full{width:100%}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{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))}.rotate-180{--tw-rotate:180deg}.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))}.cursor-pointer{cursor:pointer}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.overflow-hidden{overflow:hidden}.rounded-\\[--bcm-accordion-radius\\]{border-radius:var(--bcm-accordion-radius)}.bg-\\[--bcm-accordion-bg\\]{background-color:var(--bcm-accordion-bg)}.bg-\\[--bcm-accordion-footer-bg\\]{background-color:var(--bcm-accordion-footer-bg)}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-6{font-size:var(--bcm-ui-font-size-6,18px);line-height:var(--bcm-ui-line-height-6,24px)}.font-normal{font-weight:400}.font-semibold{font-weight:600}.text-\\[--bcm-accordion-text\\]{color:var(--bcm-accordion-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)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}";
9
+ const BcmAccordionStyle0 = accordionCss;
10
+
11
+ const BcmAccordion = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.bcmAccordionChange = index.createEvent(this, "bcmAccordionChange", 1);
15
+ /**
16
+ * Controls whether the accordion is expanded or collapsed.
17
+ * @prop
18
+ * @defaultValue false
19
+ */
20
+ this.expanded = false;
21
+ /**
22
+ * Indicates if the accordion is part of a group.
23
+ * Used for group behavior coordination.
24
+ * @prop
25
+ * @defaultValue false
26
+ */
27
+ this.group = false;
28
+ /**
29
+ * Tracks whether footer content is present.
30
+ * @state
31
+ */
32
+ this.hasFooterContent = false;
33
+ /**
34
+ * Handles changes to the footer slot content.
35
+ * @private
36
+ * @param e - Slot change event
37
+ */
38
+ this.handleFooterSlotChange = (e) => {
39
+ const slot = e.target;
40
+ const assignedNodes = slot.assignedNodes();
41
+ this.hasFooterContent = assignedNodes.length > 0;
42
+ };
43
+ this.accordionClass = index$1.ce({
44
+ slots: {
45
+ container: 'accordion-container flex flex-col bcm-ui-element w-full cursor-pointer',
46
+ header: 'accordion-header flex flex-row justify-between gap-2 p-4 w-full flex-nowrap rounded-[--bcm-accordion-radius] bg-[--bcm-accordion-bg] text-[--bcm-accordion-text] font-semibold text-size-6',
47
+ content: 'accordion-content overflow-hidden transition-all duration-300 ease-in-out bg-color-basic-base',
48
+ footer: 'accordion-footer flex flex-row w-full flex-nowrap bg-[--bcm-accordion-footer-bg] text-[--bcm-accordion-text] px-4 py-2 gap-2 text-size-4 font-normal',
49
+ icon: 'accordion-icon cursor-pointer transform transition-transform duration-300',
50
+ rightSection: 'accordion-right-section flex flex-row gap-2.5 items-center',
51
+ },
52
+ variants: {
53
+ hasFooterContent: {
54
+ false: { footer: 'hidden' },
55
+ true: { footer: 'flex' },
56
+ },
57
+ expanded: {
58
+ true: { icon: 'rotate-180' },
59
+ false: {
60
+ icon: 'rotate-0',
61
+ content: '',
62
+ },
63
+ },
64
+ },
65
+ }, {
66
+ twMerge: false,
67
+ });
68
+ }
69
+ /**
70
+ * Toggles the accordion's expanded state.
71
+ * @method
72
+ * @returns Promise<void>
73
+ */
74
+ async toggle() {
75
+ this.expanded = !this.expanded;
76
+ this.updateAccordion();
77
+ }
78
+ /**
79
+ * Expands the accordion if it's not already expanded.
80
+ * @method
81
+ * @returns Promise<void>
82
+ */
83
+ async expand() {
84
+ if (!this.expanded) {
85
+ this.expanded = true;
86
+ this.updateAccordion();
87
+ }
88
+ }
89
+ /**
90
+ * Collapses the accordion if it's currently expanded.
91
+ * @method
92
+ * @returns Promise<void>
93
+ */
94
+ async collapse() {
95
+ if (this.expanded) {
96
+ this.expanded = false;
97
+ this.updateAccordion();
98
+ }
99
+ }
100
+ /**
101
+ * Updates the accordion's content height and emits change event.
102
+ * @private
103
+ */
104
+ updateAccordion() {
105
+ if (this.contentEl) {
106
+ this.contentEl.style.maxHeight = this.expanded ? `${this.contentEl.scrollHeight}px` : '0px';
107
+ }
108
+ this.bcmAccordionChange.emit({ expanded: this.expanded, source: this.host });
109
+ }
110
+ render() {
111
+ const { container, header, content, footer, icon, rightSection } = this.accordionClass({
112
+ hasFooterContent: this.hasFooterContent || !!this.hintText,
113
+ expanded: this.expanded,
114
+ });
115
+ return (index.h("div", { key: 'baabe245a91069be586c8cd7ae7c680044721f30', class: container() }, index.h("header", { key: 'ea2bbd19cbda4f37546229af19ff4fe466b01c89', class: header(), role: "button", tabindex: "0", "aria-expanded": this.expanded.toString(), "aria-controls": "accordion-content", onKeyDown: e => {
116
+ if (e.key === 'Enter' || e.key === ' ') {
117
+ e.preventDefault();
118
+ this.toggle();
119
+ }
120
+ }, onClick: () => this.toggle() }, index.h("slot", { key: '6c9da162b412373185a516fb7cf06a7fb6455da6', name: "title" }, this.headerTitle), index.h("div", { key: '8116d820b3d9f3e373ed6ba07a588fa70db138ec', class: rightSection() }, index.h("slot", { key: 'b0b265147afd2514f4468e2c5940c008c2dbb37b', name: "actions" }), index.h("bcm-icon", { key: '6ef20624568ddd875adaa27d970a264548604b23', name: "fa-regular fa-chevron-down", class: icon() }))), index.h("div", { key: 'bf4f4756850428828360881cf191decf50986577', class: content(), style: { maxHeight: this.expanded ? 'auto' : '0px' }, ref: el => (this.contentEl = el) }, index.h("div", { key: 'e048a317ff8c4cadb48a1d34b188f272e516fabb', class: "px-4 py-2" }, index.h("slot", { key: 'ae33481fe6fc4e739e8faf7764498f81033cd398' })), index.h("footer", { key: 'd5a79e93058d1382c7ac31db5216563ad526d89b', class: footer() }, index.h("slot", { key: '987bbb480b47d7ef973127c64a592bfda7ca51e2', name: "footer", onSlotchange: this.handleFooterSlotChange }, this.hintText)))));
121
+ }
122
+ get host() { return index.getElement(this); }
123
+ };
124
+ BcmAccordion.style = BcmAccordionStyle0;
125
+
126
+ const accordionGroupCss = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border:0 solid oklch(.928 .006 264.531);box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){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::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}.block{display:block}:host{--bcm-accordion-border:var(--bcm-ui-color-border-default);--bcm-accordion-radius:6px;display:block;width:100%}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.collapse{visibility:collapse}.static{position:static}.flex{display:flex}.w-full{width:100%}.flex-col{flex-direction:column}.rounded-\\[--bcm-accordion-radius\\]{border-radius:var(--bcm-accordion-radius)}.border{border-width:1px}.border-\\[--bcm-accordion-border\\]{border-color:var(--bcm-accordion-border)}.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)}.filter{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)}";
127
+ const BcmAccordionGroupStyle0 = accordionGroupCss;
128
+
129
+ const BcmAccordionGroup = class {
130
+ constructor(hostRef) {
131
+ index.registerInstance(this, hostRef);
132
+ this.bcmAccordionGroupChange = index.createEvent(this, "bcmAccordionGroupChange", 1);
133
+ /** Controls whether multiple accordions can be expanded simultaneously */
134
+ this.multi = false;
135
+ /** Array of accordion elements within the group */
136
+ this.accordionItems = [];
137
+ /**
138
+ * Updates the accordion items array when slot content changes
139
+ */
140
+ this.handleSlotChange = () => {
141
+ this.accordionItems = Array.from(this.host.querySelectorAll('bcm-accordion'));
142
+ this.setGroupBehavior();
143
+ // Validate accordion items
144
+ if (this.accordionItems.length === 0) {
145
+ console.warn('No accordion items found in accordion group');
146
+ }
147
+ };
148
+ }
149
+ /**
150
+ * Expands all accordions in the group
151
+ * Only available when multi=true
152
+ */
153
+ async expandAll() {
154
+ if (!this.multi) {
155
+ console.warn('expandAll is only available when multi=true');
156
+ return;
157
+ }
158
+ await Promise.all(this.accordionItems.map(item => item.expand()));
159
+ }
160
+ /**
161
+ * Collapses all accordions in the group
162
+ */
163
+ async collapseAll() {
164
+ await Promise.all(this.accordionItems.map(item => item.collapse()));
165
+ }
166
+ /**
167
+ * Returns an array of currently expanded accordion elements
168
+ */
169
+ async getExpandedItems() {
170
+ return this.accordionItems.filter(item => item.expanded);
171
+ }
172
+ componentWillLoad() {
173
+ this.handleSlotChange();
174
+ }
175
+ setGroupBehavior() {
176
+ this.accordionItems.forEach(item => {
177
+ item.group = true;
178
+ });
179
+ }
180
+ /**
181
+ * Handles state changes of individual accordions
182
+ */
183
+ handleAccordionChange(event) {
184
+ this.handleSlotChange();
185
+ const { expanded, source } = event === null || event === void 0 ? void 0 : event.detail;
186
+ if (!this.multi) {
187
+ this.accordionItems.forEach(item => {
188
+ if (item !== source) {
189
+ item.collapse();
190
+ }
191
+ item.expanded = item === source ? expanded : false;
192
+ });
193
+ }
194
+ const expandedItems = this.accordionItems.filter(item => item.expanded);
195
+ this.bcmAccordionGroupChange.emit({
196
+ expanded,
197
+ changed: source,
198
+ expandedItems,
199
+ expandedCount: expandedItems.length,
200
+ });
201
+ }
202
+ render() {
203
+ return (index.h("div", { key: '258e722af4cf7958d94f83c7bce7cd623b15f8fc', class: "flex flex-col bcm-ui-element w-full border border-[--bcm-accordion-border] rounded-[--bcm-accordion-radius]", role: "group", "aria-label": "Accordion group" }, index.h("slot", { key: 'e35cc8fe810e49f678b6af6962a4fbe09ae7f59e', onSlotchange: this.handleSlotChange })));
204
+ }
205
+ get host() { return index.getElement(this); }
206
+ };
207
+ BcmAccordionGroup.style = BcmAccordionGroupStyle0;
208
+
209
+ const variantOptions = {
210
+ save: {
211
+ text: 'Save',
212
+ status: 'success',
213
+ icon: 'far fa-save',
214
+ iconPosition: 'prefix',
215
+ kind: 'primary',
216
+ },
217
+ ok: {
218
+ text: 'Ok',
219
+ status: 'success',
220
+ icon: 'far fa-check',
221
+ iconPosition: 'prefix',
222
+ },
223
+ new: {
224
+ text: 'New',
225
+ status: 'success',
226
+ icon: 'far fa-plus',
227
+ iconPosition: 'prefix',
228
+ },
229
+ add: {
230
+ text: 'Add',
231
+ status: 'success',
232
+ icon: 'far fa-plus',
233
+ iconPosition: 'prefix',
234
+ },
235
+ create: {
236
+ text: 'Create',
237
+ status: 'success',
238
+ icon: 'far fa-plus',
239
+ iconPosition: 'prefix',
240
+ },
241
+ prev: {
242
+ text: 'Prev',
243
+ status: 'default',
244
+ icon: 'far fa-arrow-left',
245
+ iconPosition: 'prefix',
246
+ },
247
+ next: {
248
+ text: 'Next',
249
+ status: 'default',
250
+ icon: 'far fa-arrow-right',
251
+ iconPosition: 'suffix',
252
+ },
253
+ apply: {
254
+ text: 'Apply',
255
+ status: 'default',
256
+ icon: 'far fa-check-circle',
257
+ iconPosition: 'prefix',
258
+ },
259
+ submit: {
260
+ text: 'Submit',
261
+ status: 'default',
262
+ icon: 'far fa-save',
263
+ iconPosition: 'prefix',
264
+ },
265
+ send: {
266
+ text: 'Send',
267
+ status: 'success',
268
+ icon: 'far fa-paper-plane',
269
+ iconPosition: 'prefix',
270
+ },
271
+ delete: {
272
+ text: 'Delete',
273
+ status: 'error',
274
+ icon: 'far fa-trash',
275
+ iconPosition: 'prefix',
276
+ },
277
+ cancel: {
278
+ text: 'Cancel',
279
+ status: 'error',
280
+ icon: 'far fa-times',
281
+ iconPosition: 'prefix',
282
+ },
283
+ decline: {
284
+ text: 'Decline',
285
+ status: 'error',
286
+ icon: 'far fa-ban',
287
+ iconPosition: 'prefix',
288
+ },
289
+ close: {
290
+ text: 'Close',
291
+ status: 'error',
292
+ icon: 'far fa-times-circle',
293
+ iconPosition: 'prefix',
294
+ },
295
+ archive: {
296
+ text: 'Archive',
297
+ status: 'error',
298
+ icon: 'far fa-folder-open',
299
+ iconPosition: 'prefix',
300
+ },
301
+ remove: {
302
+ text: 'Remove',
303
+ status: 'error',
304
+ icon: 'far fa-minus-circle',
305
+ iconPosition: 'prefix',
306
+ },
307
+ edit: {
308
+ text: 'Edit',
309
+ status: 'default',
310
+ icon: 'far fa-edit',
311
+ iconPosition: 'prefix',
312
+ },
313
+ export: {
314
+ text: 'Export',
315
+ status: 'default',
316
+ icon: 'far fa-sign-out',
317
+ iconPosition: 'prefix',
318
+ },
319
+ import: {
320
+ text: 'Import',
321
+ status: 'default',
322
+ icon: 'far fa-sign-in',
323
+ iconPosition: 'prefix',
324
+ },
325
+ filter: {
326
+ text: 'Filter',
327
+ status: 'default',
328
+ icon: 'far fa-filter',
329
+ iconPosition: 'prefix',
330
+ },
331
+ update: {
332
+ text: 'Update',
333
+ status: 'default',
334
+ icon: 'far fa-sync',
335
+ iconPosition: 'prefix',
336
+ },
337
+ reset: {
338
+ text: 'Reset',
339
+ status: 'default',
340
+ icon: 'far fa-sync',
341
+ iconPosition: 'prefix',
342
+ },
343
+ download: {
344
+ text: 'Download',
345
+ status: 'default',
346
+ icon: 'far fa-download',
347
+ iconPosition: 'prefix',
348
+ },
349
+ };
350
+
351
+ const buttonCss = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border:0 solid oklch(.928 .006 264.531);box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){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::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}:host([full-width]){width:100%}.static{position:static}.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-\\[--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}.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(3px + 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)}";
352
+ const BcmButtonStyle0 = buttonCss;
353
+
354
+ const BcmButton = class {
355
+ constructor(hostRef) {
356
+ index.registerInstance(this, hostRef);
357
+ this.bcmClick = index.createEvent(this, "bcmClick", 1);
358
+ this.bcmFocus = index.createEvent(this, "bcmFocus", 1);
359
+ this.bcmBlur = index.createEvent(this, "bcmBlur", 1);
360
+ /** Defines the main visual style of the button */
361
+ this.kind = 'primary';
362
+ /** Controls the button size */
363
+ this.size = 'medium';
364
+ /** Defines the button's status/state color */
365
+ this.status = 'default';
366
+ /** Icon placement (prefix/suffix) */
367
+ this.iconPosition = 'prefix';
368
+ /** Icon-only button mode */
369
+ this.iconOnly = false;
370
+ /** Full width button */
371
+ this.fullWidth = false;
372
+ /** HTML button type */
373
+ this.type = 'button';
374
+ /** Loading state */
375
+ this.loading = false;
376
+ /** Disabled state */
377
+ this.disabled = false;
378
+ /** Active state */
379
+ this.active = false;
380
+ this.handleClick = (event) => {
381
+ if (!this.disabled && !this.loading) {
382
+ this.bcmClick.emit(event);
383
+ }
384
+ };
385
+ this.handleFocus = (event) => {
386
+ this.bcmFocus.emit(event);
387
+ };
388
+ this.handleBlur = (event) => {
389
+ this.bcmBlur.emit(event);
390
+ };
391
+ this.buttonClass = index$1.ce({
392
+ base: 'bcm-button appearance-none inline-flex items-center justify-center border rounded',
393
+ variants: {
394
+ size: {
395
+ small: 'text-size-4 py-px px-2 min-h-6',
396
+ medium: 'text-size-5 py-0.5 px-3 min-h-8',
397
+ large: 'text-size-6 py-1 px-3 min-h-10',
398
+ },
399
+ kind: {
400
+ primary: 'kind-primary',
401
+ ghost: 'kind-ghost',
402
+ text: 'kind-text',
403
+ outline: 'kind-outline',
404
+ },
405
+ fullWidth: {
406
+ true: 'full-width w-full',
407
+ },
408
+ disabled: {
409
+ true: 'disabled cursor-not-allowed bg-[--bcm-ui-color-background-disabled-default] text-color-disabled border-color-disabled',
410
+ false: [
411
+ 'cursor-pointer',
412
+ 'bg-[--bcm-button-bg] text-[--bcm-button-text] border-[--bcm-button-border]',
413
+ 'hover:bg-[--bcm-button-bg-hover]',
414
+ 'active:bg-[--bcm-button-bg-active]',
415
+ 'focus-visible:ring',
416
+ ],
417
+ },
418
+ loading: {
419
+ true: '',
420
+ },
421
+ },
422
+ defaultVariants: {
423
+ size: 'medium',
424
+ kind: 'primary',
425
+ fullWidth: false,
426
+ disabled: false,
427
+ loading: false,
428
+ },
429
+ }, {
430
+ twMerge: false,
431
+ });
432
+ }
433
+ get buttonText() {
434
+ return this.text || (this.variant ? variantOptions[this.variant].text : '');
435
+ }
436
+ get buttonIcon() {
437
+ if (this.variant && variantOptions[this.variant].icon) {
438
+ return {
439
+ icon: variantOptions[this.variant].icon,
440
+ position: variantOptions[this.variant].iconPosition || 'prefix',
441
+ };
442
+ }
443
+ return {
444
+ icon: this.icon,
445
+ position: this.iconPosition,
446
+ };
447
+ }
448
+ get buttonStatus() {
449
+ return this.variant ? variantOptions[this.variant].status : this.status;
450
+ }
451
+ get buttonStyles() {
452
+ const status = this.buttonStatus === 'default' ? 'primary' : this.buttonStatus;
453
+ const kindStyleMap = {
454
+ primary: {
455
+ '--bcm-button-bg': `var(--bcm-ui-color-background-${status}-default)`,
456
+ '--bcm-button-bg-hover': `var(--bcm-ui-color-background-${status}-hover)`,
457
+ '--bcm-button-bg-active': `var(--bcm-ui-color-background-${status}-active)`,
458
+ '--bcm-button-border': 'transparent',
459
+ '--bcm-button-text': 'var(--bcm-ui-color-text-base)',
460
+ },
461
+ outline: {
462
+ '--bcm-button-bg': 'var(--bcm-ui-color-background-default-default)',
463
+ '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',
464
+ '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',
465
+ '--bcm-button-border': `var(--bcm-ui-color-border-${this.buttonStatus})`,
466
+ '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,
467
+ },
468
+ ghost: {
469
+ '--bcm-button-bg': 'transparent',
470
+ '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',
471
+ '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',
472
+ '--bcm-button-border': 'transparent',
473
+ '--bcm-button-text': `var(--bcm-ui-color-text-${this.buttonStatus})`,
474
+ },
475
+ text: {
476
+ '--bcm-button-bg': 'transparent',
477
+ '--bcm-button-bg-hover': 'var(--bcm-ui-color-background-default-hover)',
478
+ '--bcm-button-bg-active': 'var(--bcm-ui-color-background-default-active)',
479
+ '--bcm-button-border': 'transparent',
480
+ '--bcm-button-text': `var(--bcm-ui-color-text-${status})`,
481
+ },
482
+ };
483
+ return kindStyleMap[this.kind];
484
+ }
485
+ render() {
486
+ const { icon, position } = this.buttonIcon;
487
+ return (index.h(index.Host, { key: '271947a40a1f166d146ea106530b76744b06650a' }, index.h("button", { key: '10407570f7bbf2a5293714d040aae3f9404f2be5', 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({
488
+ size: this.size,
489
+ kind: this.kind,
490
+ fullWidth: this.fullWidth,
491
+ disabled: this.disabled,
492
+ loading: this.loading,
493
+ }) }, this.loading && index.h("slot", { key: '551abf095e2594ad1e7a8723c14342528cc5bc0c', name: "loading" }), index.h("span", { key: '36ff02f068fd14ee868977ce819f9dce3c6c881e' }, index.h("slot", { key: '6e87ba2465b6ef1fa4349640d7b9c10ed7d9b662', name: "prefix" }, position === 'prefix' && icon && index.h("i", { key: '51062786f476b57af571db5ecb974a35af565a5a', class: ' leading-none ' + icon }))), index.h("slot", { key: 'a32959e426991f1a117632426688eb997b1e4c27' }, this.buttonText), index.h("span", { key: 'b6b98cbf6708cef4f4f1fa4f652ab2f680071a45' }, index.h("slot", { key: 'e2f919eaa52fab225fe625776f03abf526a784b9', name: "suffix" }, position === 'suffix' && icon && index.h("i", { key: '52b4885d3485aa282cbc1a48d773941d535e1c3c', class: ' leading-none ' + icon }))))));
494
+ }
495
+ };
496
+ BcmButton.style = BcmButtonStyle0;
497
+
498
+ const STATUS_COLORS = {
499
+ info: 'blue',
500
+ error: 'red',
501
+ warning: 'amber',
502
+ success: 'green',
503
+ };
504
+
505
+ const chipCss = "*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;border:0 solid oklch(.928 .006 264.531);box-sizing:border-box}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(147,197,253,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/:after,:before{--tw-content:\"\"}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){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::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{--bcm-chip-bg:var(--bcm-ui-color-background-default-default);--bcm-chip-text:var(--bcm-ui-color-text-default);--bcm-chip-border:var(--bcm-ui-color-border-default);--bcm-chip-hover-bg:var(--bcm-ui-color-background-default-hover);--bcm-chip-active-bg:var(--bcm-ui-color-background-default-active);--bcm-chip-radius:6px;display:inline-block}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.static{position:static}.flex{display:flex}.w-full{width:100%}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.gap-1{gap:.25rem}.rounded-\\[--bcm-chip-radius\\]{border-radius:var(--bcm-chip-radius)}.border{border-width:1px}.border-none{border-style:none}.border-\\[--bcm-chip-border\\]{border-color:var(--bcm-chip-border)}.border-transparent{border-color:transparent}.bg-\\[--bcm-chip-bg\\]{background-color:var(--bcm-chip-bg)}.px-2{padding-left:.5rem;padding-right:.5rem}.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-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)}.font-normal{font-weight:400}.text-\\[--bcm-chip-text\\]{color:var(--bcm-chip-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)}.hover\\:bg-\\[--bcm-chip-hover-bg\\]:hover{background-color:var(--bcm-chip-hover-bg)}.active\\:bg-\\[--bcm-chip-active-bg\\]:active{background-color:var(--bcm-chip-active-bg)}";
506
+ const BcmChipStyle0 = chipCss;
507
+
508
+ const BcmChip = class {
509
+ constructor(hostRef) {
510
+ index.registerInstance(this, hostRef);
511
+ this.bcmDismiss = index.createEvent(this, "bcmDismiss", 1);
512
+ /** Chip size variant */
513
+ this.size = 'medium';
514
+ /** Chip style variant */
515
+ this.kind = 'filled';
516
+ /** Chip status */
517
+ this.status = 'default';
518
+ /** Whether chip can be dismissed */
519
+ this.dismissible = false;
520
+ /** Whether chip is disabled */
521
+ this.disabled = false;
522
+ this.chipClass = index$1.ce({
523
+ base: [
524
+ 'chip bcm-ui-element font-normal flex items-center px-2 gap-1 w-full border',
525
+ 'bg-[--bcm-chip-bg] text-[--bcm-chip-text] rounded-[--bcm-chip-radius] border-[--bcm-chip-border]',
526
+ 'hover:bg-[--bcm-chip-hover-bg] active:bg-[--bcm-chip-active-bg]',
527
+ ],
528
+ variants: {
529
+ size: {
530
+ small: 'small py-px text-size-3',
531
+ medium: 'medium py-0.5 text-size-4',
532
+ large: 'large py-1 text-size-5',
533
+ },
534
+ kind: {
535
+ filled: 'filled border-transparent',
536
+ outlined: 'outlined',
537
+ text: 'text border-none',
538
+ },
539
+ disabled: {
540
+ true: 'cursor-not-allowed',
541
+ },
542
+ },
543
+ }, { twMerge: false });
544
+ }
545
+ get chipStyle() {
546
+ let _color = this.color;
547
+ if (this.disabled) {
548
+ return {
549
+ '--bcm-chip-bg': 'var(--bcm-ui-color-background-disabled-default)',
550
+ '--bcm-chip-text': 'var(--bcm-ui-color-text-disabled)',
551
+ '--bcm-chip-border': 'var(--bcm-ui-color-border-disabled)',
552
+ '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-disabled-default)',
553
+ '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-disabled-default)',
554
+ };
555
+ }
556
+ if (this.status !== 'default') {
557
+ _color = STATUS_COLORS[this.status];
558
+ }
559
+ const styles = {
560
+ filled: {
561
+ '--bcm-chip-bg': `var(--bcm-ui-color-background-palette-${_color}-default)`,
562
+ '--bcm-chip-text': `var(--bcm-ui-color-text-palette-${_color})`,
563
+ '--bcm-chip-border': `var(--bcm-ui-color-border-${_color})`,
564
+ '--bcm-chip-hover-bg': `var(--bcm-ui-color-background-palette-${_color}-hover)`,
565
+ '--bcm-chip-active-bg': `var(--bcm-ui-color-background-palette-${_color}-active)`,
566
+ },
567
+ outlined: {
568
+ '--bcm-chip-bg': 'transparent',
569
+ '--bcm-chip-text': `var(--bcm-ui-color-text-palette-${_color})`,
570
+ '--bcm-chip-border': `var(--bcm-ui-color-border-${_color})`,
571
+ '--bcm-chip-hover-bg': `var(--bcm-ui-color-background-palette-${_color}-hover)`,
572
+ '--bcm-chip-active-bg': `var(--bcm-ui-color-background-palette-${_color}-active)`,
573
+ },
574
+ text: {
575
+ '--bcm-chip-bg': 'transparent',
576
+ '--bcm-chip-text': `var(--bcm-ui-color-text-palette-${_color})`,
577
+ '--bcm-chip-border': 'transparent',
578
+ '--bcm-chip-hover-bg': `var(--bcm-ui-color-background-palette-${_color}-hover)`,
579
+ '--bcm-chip-active-bg': `var(--bcm-ui-color-background-palette-${_color}-active)`,
580
+ },
581
+ };
582
+ const defaultStyles = {
583
+ filled: {
584
+ '--bcm-chip-bg': 'var(--bcm-ui-color-background-default-default)',
585
+ '--bcm-chip-text': 'var(--bcm-ui-color-text-default)',
586
+ '--bcm-chip-border': 'var(--bcm-ui-color-border-default)',
587
+ '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-default-hover)',
588
+ '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-default-active)',
589
+ },
590
+ outlined: {
591
+ '--bcm-chip-bg': 'transparent',
592
+ '--bcm-chip-text': 'var(--bcm-ui-color-text-default)',
593
+ '--bcm-chip-border': 'var(--bcm-ui-color-border-default)',
594
+ '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-default-hover)',
595
+ '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-default-active)',
596
+ },
597
+ text: {
598
+ '--bcm-chip-bg': 'transparent',
599
+ '--bcm-chip-text': 'var(--bcm-ui-color-text-default)',
600
+ '--bcm-chip-border': 'transparent',
601
+ '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-default-hover)',
602
+ '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-default-active)',
603
+ },
604
+ };
605
+ return _color ? styles[this.kind] : defaultStyles[this.kind];
606
+ }
607
+ handleDismiss() {
608
+ if (!this.disabled) {
609
+ this.bcmDismiss.emit();
610
+ }
611
+ }
612
+ render() {
613
+ return (index.h("div", { key: 'd97766e4a430a04a202265b4f17314d7e662e95f', style: this.chipStyle, class: this.chipClass({ size: this.size, kind: this.kind, disabled: this.disabled }), role: "button", "aria-disabled": this.disabled ? 'true' : 'false' }, index.h("slot", { key: 'b45f672427a1f1eea7dc221eff479a35a94b3ae8' }), this.dismissible && index.h("bcm-icon", { key: '5f1d802772e67dfc352142ff6c29a91ee78106b4', onClick: () => this.handleDismiss(), class: "cursor-pointer", "icon-name": "fa-regular fa-xmark", "aria-label": "Dismiss chip" })));
614
+ }
615
+ };
616
+ BcmChip.style = BcmChipStyle0;
617
+
618
+ exports.bcm_accordion = BcmAccordion;
619
+ exports.bcm_accordion_group = BcmAccordionGroup;
620
+ exports.bcm_button = BcmButton;
621
+ exports.bcm_chip = BcmChip;
622
+
623
+ //# sourceMappingURL=bcm-accordion_4.cjs.entry.js.map