bromcom-ui-next 0.1.7 → 0.1.8

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 (119) 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 +10 -0
  4. package/dist/bromcom-ui/p-0d273bac.entry.js +2 -0
  5. package/dist/bromcom-ui/{p-f2d8aa70.entry.js.map → p-0d273bac.entry.js.map} +1 -1
  6. package/dist/bromcom-ui/p-1bf71c9b.entry.js +2 -0
  7. package/dist/bromcom-ui/{p-7d8ad3dd.entry.js.map → p-1bf71c9b.entry.js.map} +1 -1
  8. package/dist/bromcom-ui/p-a1aae3ef.entry.js +2 -0
  9. package/dist/bromcom-ui/p-a1aae3ef.entry.js.map +1 -0
  10. package/dist/bromcom-ui/p-a3dbbeaf.entry.js +2 -0
  11. package/dist/bromcom-ui/{p-c2b3945e.entry.js.map → p-a3dbbeaf.entry.js.map} +1 -1
  12. package/dist/bromcom-ui/p-b1b493ab.entry.js +2 -0
  13. package/dist/bromcom-ui/p-b1b493ab.entry.js.map +1 -0
  14. package/dist/bromcom-ui/p-c427ffee.entry.js +2 -0
  15. package/dist/bromcom-ui/{p-15829c47.entry.js.map → p-c427ffee.entry.js.map} +1 -1
  16. package/dist/bromcom-ui/p-cee68279.entry.js +2 -0
  17. package/dist/bromcom-ui/{p-4b7294a3.entry.js.map → p-cee68279.entry.js.map} +1 -1
  18. package/dist/bromcom-ui/p-ddf64315.js +2 -0
  19. package/dist/bromcom-ui/p-ddf64315.js.map +1 -0
  20. package/dist/bromcom-ui/p-e7e8305f.entry.js +2 -0
  21. package/dist/bromcom-ui/p-e7e8305f.entry.js.map +1 -0
  22. package/dist/cjs/{app-globals-29edfda4.js → app-globals-e0eef2e9.js} +9 -1
  23. package/dist/cjs/app-globals-e0eef2e9.js.map +1 -0
  24. package/dist/cjs/bcm-accordion-group.cjs.entry.js +1 -1
  25. package/dist/cjs/bcm-accordion-group.cjs.entry.js.map +1 -1
  26. package/dist/cjs/bcm-avatar_4.cjs.entry.js +23 -10
  27. package/dist/cjs/bcm-avatar_4.cjs.entry.js.map +1 -1
  28. package/dist/cjs/bcm-checkbox.cjs.entry.js +3 -3
  29. package/dist/cjs/bcm-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/bcm-chip.cjs.entry.js +1 -1
  31. package/dist/cjs/bcm-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/bcm-input.cjs.entry.js +21 -20
  33. package/dist/cjs/bcm-input.cjs.entry.js.map +1 -1
  34. package/dist/cjs/bcm-radio.cjs.entry.js +1 -1
  35. package/dist/cjs/bcm-radio.cjs.entry.js.map +1 -1
  36. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +1 -1
  37. package/dist/cjs/bcm-tabs-trigger.cjs.entry.js.map +1 -1
  38. package/dist/cjs/bcm-text.cjs.entry.js +1 -1
  39. package/dist/cjs/bcm-text.cjs.entry.js.map +1 -1
  40. package/dist/cjs/bromcom-ui.cjs.js +2 -2
  41. package/dist/cjs/loader.cjs.js +2 -2
  42. package/dist/collection/components/accordion-group/accordion-group.css +1 -1
  43. package/dist/collection/components/basic-badge/basic-badge.component.js +3 -3
  44. package/dist/collection/components/basic-badge/basic-badge.component.js.map +1 -1
  45. package/dist/collection/components/button/button.component.js +19 -6
  46. package/dist/collection/components/button/button.component.js.map +1 -1
  47. package/dist/collection/components/button/button.css +1 -1
  48. package/dist/collection/components/checkbox/checkbox.component.js +2 -2
  49. package/dist/collection/components/checkbox/checkbox.component.js.map +1 -1
  50. package/dist/collection/components/checkbox/checkbox.css +1 -1
  51. package/dist/collection/components/chip/chip.css +1 -1
  52. package/dist/collection/components/input/input.component.js +22 -10
  53. package/dist/collection/components/input/input.component.js.map +1 -1
  54. package/dist/collection/components/input/input.css +1 -1
  55. package/dist/collection/components/radio/radio.css +1 -1
  56. package/dist/collection/components/tabs/tabs-trigger.css +1 -1
  57. package/dist/collection/components/text/text.css +1 -1
  58. package/dist/collection/global/global.js +10 -0
  59. package/dist/components/bcm-accordion-group.js +1 -1
  60. package/dist/components/bcm-accordion-group.js.map +1 -1
  61. package/dist/components/bcm-basic-badge.js +3 -3
  62. package/dist/components/bcm-basic-badge.js.map +1 -1
  63. package/dist/components/bcm-button.js +1 -1
  64. package/dist/components/bcm-checkbox.js +3 -3
  65. package/dist/components/bcm-checkbox.js.map +1 -1
  66. package/dist/components/bcm-chip.js +1 -1
  67. package/dist/components/bcm-chip.js.map +1 -1
  68. package/dist/components/bcm-dropdown.js +1 -1
  69. package/dist/components/bcm-input.js +22 -20
  70. package/dist/components/bcm-input.js.map +1 -1
  71. package/dist/components/bcm-pop-confirm.js +1 -1
  72. package/dist/components/bcm-radio.js +1 -1
  73. package/dist/components/bcm-radio.js.map +1 -1
  74. package/dist/components/bcm-tabs-trigger.js +1 -1
  75. package/dist/components/bcm-tabs-trigger.js.map +1 -1
  76. package/dist/components/bcm-text.js +1 -1
  77. package/dist/components/bcm-text.js.map +1 -1
  78. package/dist/components/index.js +8 -0
  79. package/dist/components/index.js.map +1 -1
  80. package/dist/components/{p-e6567774.js → p-434bf03a.js} +21 -8
  81. package/dist/components/p-434bf03a.js.map +1 -0
  82. package/dist/esm/{app-globals-bfa07b76.js → app-globals-f7994f55.js} +9 -1
  83. package/dist/esm/app-globals-f7994f55.js.map +1 -0
  84. package/dist/esm/bcm-accordion-group.entry.js +1 -1
  85. package/dist/esm/bcm-accordion-group.entry.js.map +1 -1
  86. package/dist/esm/bcm-avatar_4.entry.js +23 -10
  87. package/dist/esm/bcm-avatar_4.entry.js.map +1 -1
  88. package/dist/esm/bcm-checkbox.entry.js +3 -3
  89. package/dist/esm/bcm-checkbox.entry.js.map +1 -1
  90. package/dist/esm/bcm-chip.entry.js +1 -1
  91. package/dist/esm/bcm-chip.entry.js.map +1 -1
  92. package/dist/esm/bcm-input.entry.js +21 -20
  93. package/dist/esm/bcm-input.entry.js.map +1 -1
  94. package/dist/esm/bcm-radio.entry.js +1 -1
  95. package/dist/esm/bcm-radio.entry.js.map +1 -1
  96. package/dist/esm/bcm-tabs-trigger.entry.js +1 -1
  97. package/dist/esm/bcm-tabs-trigger.entry.js.map +1 -1
  98. package/dist/esm/bcm-text.entry.js +1 -1
  99. package/dist/esm/bcm-text.entry.js.map +1 -1
  100. package/dist/esm/bromcom-ui.js +2 -2
  101. package/dist/esm/loader.js +2 -2
  102. package/dist/types/components/input/input.component.d.ts +4 -0
  103. package/package.json +1 -1
  104. package/dist/bromcom-ui/p-15829c47.entry.js +0 -2
  105. package/dist/bromcom-ui/p-4b7294a3.entry.js +0 -2
  106. package/dist/bromcom-ui/p-729a870f.js +0 -2
  107. package/dist/bromcom-ui/p-729a870f.js.map +0 -1
  108. package/dist/bromcom-ui/p-7d8ad3dd.entry.js +0 -2
  109. package/dist/bromcom-ui/p-a29e61a4.entry.js +0 -2
  110. package/dist/bromcom-ui/p-a29e61a4.entry.js.map +0 -1
  111. package/dist/bromcom-ui/p-ae16edd3.entry.js +0 -2
  112. package/dist/bromcom-ui/p-ae16edd3.entry.js.map +0 -1
  113. package/dist/bromcom-ui/p-c2b3945e.entry.js +0 -2
  114. package/dist/bromcom-ui/p-e6025578.entry.js +0 -2
  115. package/dist/bromcom-ui/p-e6025578.entry.js.map +0 -1
  116. package/dist/bromcom-ui/p-f2d8aa70.entry.js +0 -2
  117. package/dist/cjs/app-globals-29edfda4.js.map +0 -1
  118. package/dist/components/p-e6567774.js.map +0 -1
  119. package/dist/esm/app-globals-bfa07b76.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["variantTagMap","display","heading1","heading2","title1","title2","title3","body","bodyAccent","helper","caption","label","placeholder","link","info","infoAccent","textCss","BcmTextStyle0","BcmText","constructor","hostRef","this","variant","size","variantClassMap","small","medium","large","getTextClass","variantClasses","render","Tag","variantClass","h","key","class","cs","part","text"],"sources":["src/components/text/text.utils.ts","src/components/text/text.scss?tag=bcm-text&encapsulation=shadow","src/components/text/text.component.tsx"],"sourcesContent":["import { TextVariant, TextTag } from './text.types';\n\nexport const variantTagMap: Record<TextVariant, TextTag> = {\n display: 'h1',\n heading1: 'h2',\n heading2: 'h3',\n title1: 'h4',\n title2: 'h5',\n title3: 'h6',\n body: 'p',\n bodyAccent: 'p',\n helper: 'p',\n caption: 'p',\n label: 'label',\n placeholder: 'p',\n link: 'a',\n info: 'p',\n infoAccent: 'p',\n};\n",null,"import { Component, h, Prop } from '@stencil/core';\nimport cs from 'classnames';\nimport { TextVariant, TextSize } from './text.types';\nimport { variantTagMap } from './text.utils';\n\n@Component({\n tag: 'bcm-text',\n styleUrl: 'text.scss',\n shadow: true,\n})\nexport class BcmText {\n /** Text content */\n @Prop()\n text: string;\n\n /** Text variant */\n @Prop()\n variant: TextVariant = 'body';\n\n /** Text size */\n @Prop()\n size: TextSize = 'medium';\n\n private readonly variantClassMap = {\n display: 'font-semibold text-size-12 text-color-header',\n heading1: 'font-semibold text-size-7 text-color-header',\n heading2: 'font-semibold text-size-6 text-color-header',\n title1: {\n small: 'font-semibold text-size-5 text-color-header',\n medium: 'font-semibold text-size-6 text-color-header',\n large: 'font-semibold text-size-7 text-color-header',\n },\n title2: {\n small: 'font-semibold text-size-4 text-color-default',\n medium: 'font-semibold text-size-5 text-color-default',\n large: 'font-semibold text-size-6 text-color-default',\n },\n title3: {\n small: 'font-semibold text-size-3 text-color-disabled',\n medium: 'font-semibold text-size-4 text-color-disabled',\n large: 'font-semibold text-size-5 text-color-disabled',\n },\n body: {\n small: 'font-regular text-size-4 text-color-default',\n medium: 'font-regular text-size-5 text-color-default',\n large: 'font-regular text-size-6 text-color-default',\n },\n bodyAccent: {\n small: 'font-medium text-size-4 text-color-default',\n medium: 'font-medium text-size-5 text-color-default',\n large: 'font-medium text-size-6 text-color-default',\n },\n helper: {\n small: 'font-regular text-size-4 text-color-helper',\n medium: 'font-regular text-size-5 text-color-helper',\n large: 'font-regular text-size-6 text-color-helper',\n },\n caption: {\n small: 'font-regular text-size-3 text-color-caption',\n medium: 'font-regular text-size-4 text-color-caption',\n large: 'font-regular text-size-5 text-color-caption',\n },\n link: {\n small: 'font-medium text-size-4 underline text-color-primary',\n medium: 'font-medium text-size-5 underline text-color-primary',\n large: 'font-medium text-size-6 underline text-color-primary',\n },\n label: {\n small: 'font-medium text-size-3 text-color-label',\n medium: 'font-medium text-size-4 text-color-label',\n large: 'font-medium text-size-5 text-color-label',\n },\n placeholder: {\n small: 'font-regular text-size-4 text-color-placeholder',\n medium: 'font-regular text-size-5 text-color-placeholder',\n large: 'font-regular text-size-6 text-color-placeholder',\n },\n info: {\n small: 'font-regular text-size-3 text-color-default',\n medium: 'font-regular text-size-4 text-color-default',\n large: 'font-regular text-size-5 text-color-default',\n },\n infoAccent: {\n small: 'font-medium text-size-3 text-color-header',\n medium: 'font-medium text-size-4 text-color-header',\n large: 'font-medium text-size-5 text-color-header',\n },\n } as const;\n\n private getTextClass = (variant: TextVariant, size: TextSize): string => {\n const variantClasses = this.variantClassMap[variant];\n\n if (typeof variantClasses === 'string') {\n return variantClasses;\n }\n\n return variantClasses[size];\n };\n\n render() {\n const Tag = variantTagMap[this.variant];\n const variantClass = this.getTextClass(this.variant, this.size);\n\n return (\n <Tag class={cs('bcm-text appearance-none m-0 p-0', variantClass)} part=\"text\">\n <slot>{this.text}</slot>\n </Tag>\n );\n }\n}\n"],"mappings":"+EAEO,MAAMA,EAA8C,CACzDC,QAAS,KACTC,SAAU,KACVC,SAAU,KACVC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,KAAM,IACNC,WAAY,IACZC,OAAQ,IACRC,QAAS,IACTC,MAAO,QACPC,YAAa,IACbC,KAAM,IACNC,KAAM,IACNC,WAAY,KCjBd,MAAMC,EAAU,m6CAChB,MAAAC,EAAeD,E,MCSFE,EAAO,MALpB,WAAAC,CAAAC,G,UAYEC,KAAAC,QAAuB,OAIvBD,KAAAE,KAAiB,SAEAF,KAAAG,gBAAkB,CACjCvB,QAAS,+CACTC,SAAU,8CACVC,SAAU,8CACVC,OAAQ,CACNqB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETtB,OAAQ,CACNoB,MAAO,+CACPC,OAAQ,+CACRC,MAAO,gDAETrB,OAAQ,CACNmB,MAAO,gDACPC,OAAQ,gDACRC,MAAO,iDAETpB,KAAM,CACJkB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETnB,WAAY,CACViB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETlB,OAAQ,CACNgB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETjB,QAAS,CACPe,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETd,KAAM,CACJY,MAAO,uDACPC,OAAQ,uDACRC,MAAO,wDAEThB,MAAO,CACLc,MAAO,2CACPC,OAAQ,2CACRC,MAAO,4CAETf,YAAa,CACXa,MAAO,kDACPC,OAAQ,kDACRC,MAAO,mDAETb,KAAM,CACJW,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETZ,WAAY,CACVU,MAAO,4CACPC,OAAQ,4CACRC,MAAO,8CAIHN,KAAAO,aAAe,CAACN,EAAsBC,KAC5C,MAAMM,EAAiBR,KAAKG,gBAAgBF,GAE5C,UAAWO,IAAmB,SAAU,CACtC,OAAOA,C,CAGT,OAAOA,EAAeN,EAAK,C,CAG7B,MAAAO,GACE,MAAMC,EAAM/B,EAAcqB,KAAKC,SAC/B,MAAMU,EAAeX,KAAKO,aAAaP,KAAKC,QAASD,KAAKE,MAE1D,OACEU,EAACF,EAAG,CAAAG,IAAA,2CAACC,MAAOC,EAAG,mCAAoCJ,GAAeK,KAAK,QACrEJ,EAAA,QAAAC,IAAA,4CAAOb,KAAKiB,M","ignoreList":[]}
1
+ {"version":3,"names":["variantTagMap","display","heading1","heading2","title1","title2","title3","body","bodyAccent","helper","caption","label","placeholder","link","info","infoAccent","textCss","BcmTextStyle0","BcmText","constructor","hostRef","this","variant","size","variantClassMap","small","medium","large","getTextClass","variantClasses","render","Tag","variantClass","h","key","class","cs","part","text"],"sources":["src/components/text/text.utils.ts","src/components/text/text.scss?tag=bcm-text&encapsulation=shadow","src/components/text/text.component.tsx"],"sourcesContent":["import { TextVariant, TextTag } from './text.types';\n\nexport const variantTagMap: Record<TextVariant, TextTag> = {\n display: 'h1',\n heading1: 'h2',\n heading2: 'h3',\n title1: 'h4',\n title2: 'h5',\n title3: 'h6',\n body: 'p',\n bodyAccent: 'p',\n helper: 'p',\n caption: 'p',\n label: 'label',\n placeholder: 'p',\n link: 'a',\n info: 'p',\n infoAccent: 'p',\n};\n",null,"import { Component, h, Prop } from '@stencil/core';\nimport cs from 'classnames';\nimport { TextVariant, TextSize } from './text.types';\nimport { variantTagMap } from './text.utils';\n\n@Component({\n tag: 'bcm-text',\n styleUrl: 'text.scss',\n shadow: true,\n})\nexport class BcmText {\n /** Text content */\n @Prop()\n text: string;\n\n /** Text variant */\n @Prop()\n variant: TextVariant = 'body';\n\n /** Text size */\n @Prop()\n size: TextSize = 'medium';\n\n private readonly variantClassMap = {\n display: 'font-semibold text-size-12 text-color-header',\n heading1: 'font-semibold text-size-7 text-color-header',\n heading2: 'font-semibold text-size-6 text-color-header',\n title1: {\n small: 'font-semibold text-size-5 text-color-header',\n medium: 'font-semibold text-size-6 text-color-header',\n large: 'font-semibold text-size-7 text-color-header',\n },\n title2: {\n small: 'font-semibold text-size-4 text-color-default',\n medium: 'font-semibold text-size-5 text-color-default',\n large: 'font-semibold text-size-6 text-color-default',\n },\n title3: {\n small: 'font-semibold text-size-3 text-color-disabled',\n medium: 'font-semibold text-size-4 text-color-disabled',\n large: 'font-semibold text-size-5 text-color-disabled',\n },\n body: {\n small: 'font-regular text-size-4 text-color-default',\n medium: 'font-regular text-size-5 text-color-default',\n large: 'font-regular text-size-6 text-color-default',\n },\n bodyAccent: {\n small: 'font-medium text-size-4 text-color-default',\n medium: 'font-medium text-size-5 text-color-default',\n large: 'font-medium text-size-6 text-color-default',\n },\n helper: {\n small: 'font-regular text-size-4 text-color-helper',\n medium: 'font-regular text-size-5 text-color-helper',\n large: 'font-regular text-size-6 text-color-helper',\n },\n caption: {\n small: 'font-regular text-size-3 text-color-caption',\n medium: 'font-regular text-size-4 text-color-caption',\n large: 'font-regular text-size-5 text-color-caption',\n },\n link: {\n small: 'font-medium text-size-4 underline text-color-primary',\n medium: 'font-medium text-size-5 underline text-color-primary',\n large: 'font-medium text-size-6 underline text-color-primary',\n },\n label: {\n small: 'font-medium text-size-3 text-color-label',\n medium: 'font-medium text-size-4 text-color-label',\n large: 'font-medium text-size-5 text-color-label',\n },\n placeholder: {\n small: 'font-regular text-size-4 text-color-placeholder',\n medium: 'font-regular text-size-5 text-color-placeholder',\n large: 'font-regular text-size-6 text-color-placeholder',\n },\n info: {\n small: 'font-regular text-size-3 text-color-default',\n medium: 'font-regular text-size-4 text-color-default',\n large: 'font-regular text-size-5 text-color-default',\n },\n infoAccent: {\n small: 'font-medium text-size-3 text-color-header',\n medium: 'font-medium text-size-4 text-color-header',\n large: 'font-medium text-size-5 text-color-header',\n },\n } as const;\n\n private getTextClass = (variant: TextVariant, size: TextSize): string => {\n const variantClasses = this.variantClassMap[variant];\n\n if (typeof variantClasses === 'string') {\n return variantClasses;\n }\n\n return variantClasses[size];\n };\n\n render() {\n const Tag = variantTagMap[this.variant];\n const variantClass = this.getTextClass(this.variant, this.size);\n\n return (\n <Tag class={cs('bcm-text appearance-none m-0 p-0', variantClass)} part=\"text\">\n <slot>{this.text}</slot>\n </Tag>\n );\n }\n}\n"],"mappings":"+EAEO,MAAMA,EAA8C,CACzDC,QAAS,KACTC,SAAU,KACVC,SAAU,KACVC,OAAQ,KACRC,OAAQ,KACRC,OAAQ,KACRC,KAAM,IACNC,WAAY,IACZC,OAAQ,IACRC,QAAS,IACTC,MAAO,QACPC,YAAa,IACbC,KAAM,IACNC,KAAM,IACNC,WAAY,KCjBd,MAAMC,EAAU,27CAChB,MAAAC,EAAeD,E,MCSFE,EAAO,MALpB,WAAAC,CAAAC,G,UAYEC,KAAAC,QAAuB,OAIvBD,KAAAE,KAAiB,SAEAF,KAAAG,gBAAkB,CACjCvB,QAAS,+CACTC,SAAU,8CACVC,SAAU,8CACVC,OAAQ,CACNqB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETtB,OAAQ,CACNoB,MAAO,+CACPC,OAAQ,+CACRC,MAAO,gDAETrB,OAAQ,CACNmB,MAAO,gDACPC,OAAQ,gDACRC,MAAO,iDAETpB,KAAM,CACJkB,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETnB,WAAY,CACViB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETlB,OAAQ,CACNgB,MAAO,6CACPC,OAAQ,6CACRC,MAAO,8CAETjB,QAAS,CACPe,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETd,KAAM,CACJY,MAAO,uDACPC,OAAQ,uDACRC,MAAO,wDAEThB,MAAO,CACLc,MAAO,2CACPC,OAAQ,2CACRC,MAAO,4CAETf,YAAa,CACXa,MAAO,kDACPC,OAAQ,kDACRC,MAAO,mDAETb,KAAM,CACJW,MAAO,8CACPC,OAAQ,8CACRC,MAAO,+CAETZ,WAAY,CACVU,MAAO,4CACPC,OAAQ,4CACRC,MAAO,8CAIHN,KAAAO,aAAe,CAACN,EAAsBC,KAC5C,MAAMM,EAAiBR,KAAKG,gBAAgBF,GAE5C,UAAWO,IAAmB,SAAU,CACtC,OAAOA,C,CAGT,OAAOA,EAAeN,EAAK,C,CAG7B,MAAAO,GACE,MAAMC,EAAM/B,EAAcqB,KAAKC,SAC/B,MAAMU,EAAeX,KAAKO,aAAaP,KAAKC,QAASD,KAAKE,MAE1D,OACEU,EAACF,EAAG,CAAAG,IAAA,2CAACC,MAAOC,EAAG,mCAAoCJ,GAAeK,KAAK,QACrEJ,EAAA,QAAAC,IAAA,4CAAOb,KAAKiB,M","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c,h as r}from"./p-c9b736d9.js";import{c as t}from"./p-5fcf77f9.js";const i={info:"blue",error:"red",warning:"amber",success:"green"};const o=":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:Inter,sans-serif}.static{position:static}.flex{display:flex}.min-w-max{min-width:max-content}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.items-center{align-items:center}.justify-center{justify-content: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:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);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)}";const a=o;const b=class{constructor(r){e(this,r);this.bcmDismiss=c(this,"bcmDismiss",1);this.size="medium";this.kind="filled";this.status="default";this.dismissible=false;this.disabled=false;this.chipClass=t({base:["chip bcm-ui-element font-normal flex items-center justify-center px-2 gap-1 min-w-max border","bg-[--bcm-chip-bg] text-[--bcm-chip-text] rounded-[--bcm-chip-radius] border-[--bcm-chip-border]","hover:bg-[--bcm-chip-hover-bg] active:bg-[--bcm-chip-active-bg]"],variants:{size:{small:"small py-px text-size-3",medium:"medium py-0.5 text-size-4",large:"large py-1 text-size-5"},kind:{filled:"filled border-transparent",outlined:"outlined",text:"text border-none"},disabled:{true:"cursor-not-allowed"}}},{twMerge:false})}get chipStyle(){let e=this.color;if(this.disabled){return{"--bcm-chip-bg":"var(--bcm-ui-color-background-disabled-default)","--bcm-chip-text":"var(--bcm-ui-color-text-disabled)","--bcm-chip-border":"var(--bcm-ui-color-border-disabled)","--bcm-chip-hover-bg":"var(--bcm-ui-color-background-disabled-default)","--bcm-chip-active-bg":"var(--bcm-ui-color-background-disabled-default)"}}if(this.status!=="default"){e=i[this.status]}const c={filled:{"--bcm-chip-bg":`var(--bcm-ui-color-background-palette-${e}-default)`,"--bcm-chip-text":`var(--bcm-ui-color-text-palette-${e})`,"--bcm-chip-border":`var(--bcm-ui-color-border-${e})`,"--bcm-chip-hover-bg":`var(--bcm-ui-color-background-palette-${e}-hover)`,"--bcm-chip-active-bg":`var(--bcm-ui-color-background-palette-${e}-active)`},outlined:{"--bcm-chip-bg":"transparent","--bcm-chip-text":`var(--bcm-ui-color-text-palette-${e})`,"--bcm-chip-border":`var(--bcm-ui-color-border-${e})`,"--bcm-chip-hover-bg":`var(--bcm-ui-color-background-palette-${e}-hover)`,"--bcm-chip-active-bg":`var(--bcm-ui-color-background-palette-${e}-active)`},text:{"--bcm-chip-bg":"transparent","--bcm-chip-text":`var(--bcm-ui-color-text-palette-${e})`,"--bcm-chip-border":"transparent","--bcm-chip-hover-bg":`var(--bcm-ui-color-background-palette-${e}-hover)`,"--bcm-chip-active-bg":`var(--bcm-ui-color-background-palette-${e}-active)`}};const r={filled:{"--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)"},outlined:{"--bcm-chip-bg":"transparent","--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)"},text:{"--bcm-chip-bg":"transparent","--bcm-chip-text":"var(--bcm-ui-color-text-default)","--bcm-chip-border":"transparent","--bcm-chip-hover-bg":"var(--bcm-ui-color-background-default-hover)","--bcm-chip-active-bg":"var(--bcm-ui-color-background-default-active)"}};return e?c[this.kind]:r[this.kind]}handleDismiss(){if(!this.disabled){this.bcmDismiss.emit()}}render(){return r("div",{key:"77ad31933acb6e0f5574f3590b2274f61b20caed",style:this.chipStyle,class:this.chipClass({size:this.size,kind:this.kind,disabled:this.disabled}),role:"button","aria-disabled":this.disabled?"true":"false"},r("slot",{key:"781811b794a2d89c0ac609e934d6393094c541e8"}),this.dismissible&&r("bcm-icon",{key:"08e55b19802624566ae6323c1102257cba784420",onClick:()=>this.handleDismiss(),class:"cursor-pointer","icon-name":"fa-regular fa-xmark","aria-label":"Dismiss chip"}))}};b.style=a;export{b as bcm_chip};
2
+ //# sourceMappingURL=p-cee68279.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["STATUS_COLORS","info","error","warning","success","chipCss","BcmChipStyle0","BcmChip","constructor","hostRef","this","size","kind","status","dismissible","disabled","chipClass","tv","base","variants","small","medium","large","filled","outlined","text","true","twMerge","chipStyle","_color","color","styles","defaultStyles","handleDismiss","bcmDismiss","emit","render","h","key","style","class","role","onClick"],"sources":["src/components/chip/types.ts","src/components/chip/chip.css?tag=bcm-chip&encapsulation=shadow","src/components/chip/chip.component.tsx"],"sourcesContent":["export type ChipSize = 'small' | 'medium' | 'large';\nexport type ChipKind = 'filled' | 'outlined' | 'text';\nexport type ChipStatus = 'info' | 'error' | 'warning' | 'success' | 'default';\n\nexport const STATUS_COLORS = {\n info: 'blue',\n error: 'red',\n warning: 'amber',\n success: 'green',\n} as const;\n",":host {\n display: inline-block;\n --bcm-chip-bg: var(--bcm-ui-color-background-default-default);\n --bcm-chip-text: var(--bcm-ui-color-text-default);\n --bcm-chip-border: var(--bcm-ui-color-border-default);\n --bcm-chip-hover-bg: var(--bcm-ui-color-background-default-hover);\n --bcm-chip-active-bg: var(--bcm-ui-color-background-default-active);\n --bcm-chip-radius: 6px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { ChipKind, ChipSize, ChipStatus, STATUS_COLORS } from './types';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmChip\n * @description A versatile chip component that can be used to display compact pieces of information, filters, or actions.\n * Supports different sizes, styles (filled, outlined, text), statuses, and can be dismissible.\n *\n * @example\n * <bcm-chip size=\"medium\" kind=\"filled\" status=\"success\">\n * Success Chip\n * </bcm-chip>\n *\n * @example Dismissible chip\n * <bcm-chip dismissible={true} onDismiss={() => handleDismiss()}>\n * Dismissible Chip\n * </bcm-chip>\n *\n * @prop {ChipSize} size - Defines the size of the chip: 'small' | 'medium' | 'large'\n * @prop {ChipKind} kind - Defines the visual style: 'filled' | 'outlined' | 'text'\n * @prop {ChipStatus} status - Defines the status color: 'info' | 'error' | 'warning' | 'success' | 'default'\n * @prop {boolean} dismissible - Whether the chip can be dismissed\n * @prop {boolean} disabled - Whether the chip is disabled\n * @prop {string} color - Custom color override for the chip\n *\n * @event {EventEmitter<void>} dismiss - Emitted when the dismiss button is clicked\n *\n * @csspart chip - The root chip element\n * @csspart dismiss-icon - The dismiss button icon\n */\n\n@Component({\n tag: 'bcm-chip',\n styleUrl: 'chip.css',\n shadow: true,\n})\nexport class BcmChip implements ComponentInterface {\n /** Chip size variant */\n @Prop()\n size?: ChipSize = 'medium';\n\n /** Chip style variant */\n @Prop()\n kind?: ChipKind = 'filled';\n\n /** Chip status */\n @Prop()\n status?: ChipStatus = 'default';\n\n /** Whether chip can be dismissed */\n @Prop()\n dismissible?: boolean = false;\n\n /** Whether chip is disabled */\n @Prop()\n disabled?: boolean = false;\n\n /** Chip color variant */\n @Prop()\n color?: string;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmDismiss: EventEmitter<void>;\n\n private chipClass = tv(\n {\n base: [\n 'chip bcm-ui-element font-normal flex items-center justify-center px-2 gap-1 min-w-max border',\n 'bg-[--bcm-chip-bg] text-[--bcm-chip-text] rounded-[--bcm-chip-radius] border-[--bcm-chip-border]',\n 'hover:bg-[--bcm-chip-hover-bg] active:bg-[--bcm-chip-active-bg]',\n ],\n variants: {\n size: {\n small: 'small py-px text-size-3',\n medium: 'medium py-0.5 text-size-4',\n large: 'large py-1 text-size-5',\n },\n kind: {\n filled: 'filled border-transparent',\n outlined: 'outlined',\n text: 'text border-none',\n },\n disabled: {\n true: 'cursor-not-allowed',\n },\n },\n },\n { twMerge: false },\n );\n\n private get chipStyle() {\n let _color = this.color;\n\n if (this.disabled) {\n return {\n '--bcm-chip-bg': 'var(--bcm-ui-color-background-disabled-default)',\n '--bcm-chip-text': 'var(--bcm-ui-color-text-disabled)',\n '--bcm-chip-border': 'var(--bcm-ui-color-border-disabled)',\n '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-disabled-default)',\n '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-disabled-default)',\n };\n }\n\n if (this.status !== 'default') {\n _color = STATUS_COLORS[this.status];\n }\n\n const styles = {\n filled: {\n '--bcm-chip-bg': `var(--bcm-ui-color-background-palette-${_color}-default)`,\n '--bcm-chip-text': `var(--bcm-ui-color-text-palette-${_color})`,\n '--bcm-chip-border': `var(--bcm-ui-color-border-${_color})`,\n '--bcm-chip-hover-bg': `var(--bcm-ui-color-background-palette-${_color}-hover)`,\n '--bcm-chip-active-bg': `var(--bcm-ui-color-background-palette-${_color}-active)`,\n },\n outlined: {\n '--bcm-chip-bg': 'transparent',\n '--bcm-chip-text': `var(--bcm-ui-color-text-palette-${_color})`,\n '--bcm-chip-border': `var(--bcm-ui-color-border-${_color})`,\n '--bcm-chip-hover-bg': `var(--bcm-ui-color-background-palette-${_color}-hover)`,\n '--bcm-chip-active-bg': `var(--bcm-ui-color-background-palette-${_color}-active)`,\n },\n text: {\n '--bcm-chip-bg': 'transparent',\n '--bcm-chip-text': `var(--bcm-ui-color-text-palette-${_color})`,\n '--bcm-chip-border': 'transparent',\n '--bcm-chip-hover-bg': `var(--bcm-ui-color-background-palette-${_color}-hover)`,\n '--bcm-chip-active-bg': `var(--bcm-ui-color-background-palette-${_color}-active)`,\n },\n };\n\n const defaultStyles = {\n filled: {\n '--bcm-chip-bg': 'var(--bcm-ui-color-background-default-default)',\n '--bcm-chip-text': 'var(--bcm-ui-color-text-default)',\n '--bcm-chip-border': 'var(--bcm-ui-color-border-default)',\n '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-default-active)',\n },\n outlined: {\n '--bcm-chip-bg': 'transparent',\n '--bcm-chip-text': 'var(--bcm-ui-color-text-default)',\n '--bcm-chip-border': 'var(--bcm-ui-color-border-default)',\n '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-default-active)',\n },\n text: {\n '--bcm-chip-bg': 'transparent',\n '--bcm-chip-text': 'var(--bcm-ui-color-text-default)',\n '--bcm-chip-border': 'transparent',\n '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-default-active)',\n },\n };\n\n return _color ? styles[this.kind] : defaultStyles[this.kind];\n }\n\n private handleDismiss() {\n if (!this.disabled) {\n this.bcmDismiss.emit();\n }\n }\n\n render() {\n return (\n <div\n style={this.chipStyle}\n class={this.chipClass({ size: this.size, kind: this.kind, disabled: this.disabled })}\n role=\"button\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n ><slot></slot>\n {this.dismissible && <bcm-icon onClick={() => this.handleDismiss()} class=\"cursor-pointer\" icon-name=\"fa-regular fa-xmark\" aria-label=\"Dismiss chip\"></bcm-icon>}\n </div>\n );\n }\n}\n"],"mappings":"iFAIO,MAAMA,EAAgB,CAC3BC,KAAM,OACNC,MAAO,MACPC,QAAS,QACTC,QAAS,SCRX,MAAMC,EAAU,i4DAChB,MAAAC,EAAeD,E,MCoCFE,EAAO,MALpB,WAAAC,CAAAC,G,iDAQEC,KAAAC,KAAkB,SAIlBD,KAAAE,KAAkB,SAIlBF,KAAAG,OAAsB,UAItBH,KAAAI,YAAwB,MAIxBJ,KAAAK,SAAqB,MAabL,KAAAM,UAAYC,EAClB,CACEC,KAAM,CACJ,+FACA,mGACA,mEAEFC,SAAU,CACRR,KAAM,CACJS,MAAO,0BACPC,OAAQ,4BACRC,MAAO,0BAETV,KAAM,CACJW,OAAQ,4BACRC,SAAU,WACVC,KAAM,oBAERV,SAAU,CACRW,KAAM,wBAIZ,CAAEC,QAAS,O,CAGb,aAAYC,GACV,IAAIC,EAASnB,KAAKoB,MAElB,GAAIpB,KAAKK,SAAU,CACjB,MAAO,CACL,gBAAiB,kDACjB,kBAAmB,oCACnB,oBAAqB,sCACrB,sBAAuB,kDACvB,uBAAwB,kD,CAI5B,GAAIL,KAAKG,SAAW,UAAW,CAC7BgB,EAAS7B,EAAcU,KAAKG,O,CAG9B,MAAMkB,EAAS,CACbR,OAAQ,CACN,gBAAiB,yCAAyCM,aAC1D,kBAAmB,mCAAmCA,KACtD,oBAAqB,6BAA6BA,KAClD,sBAAuB,yCAAyCA,WAChE,uBAAwB,yCAAyCA,aAEnEL,SAAU,CACR,gBAAiB,cACjB,kBAAmB,mCAAmCK,KACtD,oBAAqB,6BAA6BA,KAClD,sBAAuB,yCAAyCA,WAChE,uBAAwB,yCAAyCA,aAEnEJ,KAAM,CACJ,gBAAiB,cACjB,kBAAmB,mCAAmCI,KACtD,oBAAqB,cACrB,sBAAuB,yCAAyCA,WAChE,uBAAwB,yCAAyCA,cAIrE,MAAMG,EAAgB,CACpBT,OAAQ,CACN,gBAAiB,iDACjB,kBAAmB,mCACnB,oBAAqB,qCACrB,sBAAuB,+CACvB,uBAAwB,iDAE1BC,SAAU,CACR,gBAAiB,cACjB,kBAAmB,mCACnB,oBAAqB,qCACrB,sBAAuB,+CACvB,uBAAwB,iDAE1BC,KAAM,CACJ,gBAAiB,cACjB,kBAAmB,mCACnB,oBAAqB,cACrB,sBAAuB,+CACvB,uBAAwB,kDAI5B,OAAOI,EAASE,EAAOrB,KAAKE,MAAQoB,EAActB,KAAKE,K,CAGjD,aAAAqB,GACN,IAAKvB,KAAKK,SAAU,CAClBL,KAAKwB,WAAWC,M,EAIpB,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAO7B,KAAKkB,UACZY,MAAO9B,KAAKM,UAAU,CAAEL,KAAMD,KAAKC,KAAMC,KAAMF,KAAKE,KAAMG,SAAUL,KAAKK,WACzE0B,KAAK,SAAQ,gBACE/B,KAAKK,SAAW,OAAS,SACzCsB,EAAA,QAAAC,IAAA,6CACE5B,KAAKI,aAAeuB,EAAA,YAAAC,IAAA,2CAAUI,QAAS,IAAMhC,KAAKuB,gBAAiBO,MAAM,iBAAgB,YAAW,sBAAqB,aAAY,iB","ignoreList":[]}
1
+ {"version":3,"names":["STATUS_COLORS","info","error","warning","success","chipCss","BcmChipStyle0","BcmChip","constructor","hostRef","this","size","kind","status","dismissible","disabled","chipClass","tv","base","variants","small","medium","large","filled","outlined","text","true","twMerge","chipStyle","_color","color","styles","defaultStyles","handleDismiss","bcmDismiss","emit","render","h","key","style","class","role","onClick"],"sources":["src/components/chip/types.ts","src/components/chip/chip.css?tag=bcm-chip&encapsulation=shadow","src/components/chip/chip.component.tsx"],"sourcesContent":["export type ChipSize = 'small' | 'medium' | 'large';\nexport type ChipKind = 'filled' | 'outlined' | 'text';\nexport type ChipStatus = 'info' | 'error' | 'warning' | 'success' | 'default';\n\nexport const STATUS_COLORS = {\n info: 'blue',\n error: 'red',\n warning: 'amber',\n success: 'green',\n} as const;\n",":host {\n display: inline-block;\n --bcm-chip-bg: var(--bcm-ui-color-background-default-default);\n --bcm-chip-text: var(--bcm-ui-color-text-default);\n --bcm-chip-border: var(--bcm-ui-color-border-default);\n --bcm-chip-hover-bg: var(--bcm-ui-color-background-default-hover);\n --bcm-chip-active-bg: var(--bcm-ui-color-background-default-active);\n --bcm-chip-radius: 6px;\n}\n","import { Component, ComponentInterface, h, Prop, Event, EventEmitter } from '@stencil/core';\nimport { ChipKind, ChipSize, ChipStatus, STATUS_COLORS } from './types';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmChip\n * @description A versatile chip component that can be used to display compact pieces of information, filters, or actions.\n * Supports different sizes, styles (filled, outlined, text), statuses, and can be dismissible.\n *\n * @example\n * <bcm-chip size=\"medium\" kind=\"filled\" status=\"success\">\n * Success Chip\n * </bcm-chip>\n *\n * @example Dismissible chip\n * <bcm-chip dismissible={true} onDismiss={() => handleDismiss()}>\n * Dismissible Chip\n * </bcm-chip>\n *\n * @prop {ChipSize} size - Defines the size of the chip: 'small' | 'medium' | 'large'\n * @prop {ChipKind} kind - Defines the visual style: 'filled' | 'outlined' | 'text'\n * @prop {ChipStatus} status - Defines the status color: 'info' | 'error' | 'warning' | 'success' | 'default'\n * @prop {boolean} dismissible - Whether the chip can be dismissed\n * @prop {boolean} disabled - Whether the chip is disabled\n * @prop {string} color - Custom color override for the chip\n *\n * @event {EventEmitter<void>} dismiss - Emitted when the dismiss button is clicked\n *\n * @csspart chip - The root chip element\n * @csspart dismiss-icon - The dismiss button icon\n */\n\n@Component({\n tag: 'bcm-chip',\n styleUrl: 'chip.css',\n shadow: true,\n})\nexport class BcmChip implements ComponentInterface {\n /** Chip size variant */\n @Prop()\n size?: ChipSize = 'medium';\n\n /** Chip style variant */\n @Prop()\n kind?: ChipKind = 'filled';\n\n /** Chip status */\n @Prop()\n status?: ChipStatus = 'default';\n\n /** Whether chip can be dismissed */\n @Prop()\n dismissible?: boolean = false;\n\n /** Whether chip is disabled */\n @Prop()\n disabled?: boolean = false;\n\n /** Chip color variant */\n @Prop()\n color?: string;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmDismiss: EventEmitter<void>;\n\n private chipClass = tv(\n {\n base: [\n 'chip bcm-ui-element font-normal flex items-center justify-center px-2 gap-1 min-w-max border',\n 'bg-[--bcm-chip-bg] text-[--bcm-chip-text] rounded-[--bcm-chip-radius] border-[--bcm-chip-border]',\n 'hover:bg-[--bcm-chip-hover-bg] active:bg-[--bcm-chip-active-bg]',\n ],\n variants: {\n size: {\n small: 'small py-px text-size-3',\n medium: 'medium py-0.5 text-size-4',\n large: 'large py-1 text-size-5',\n },\n kind: {\n filled: 'filled border-transparent',\n outlined: 'outlined',\n text: 'text border-none',\n },\n disabled: {\n true: 'cursor-not-allowed',\n },\n },\n },\n { twMerge: false },\n );\n\n private get chipStyle() {\n let _color = this.color;\n\n if (this.disabled) {\n return {\n '--bcm-chip-bg': 'var(--bcm-ui-color-background-disabled-default)',\n '--bcm-chip-text': 'var(--bcm-ui-color-text-disabled)',\n '--bcm-chip-border': 'var(--bcm-ui-color-border-disabled)',\n '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-disabled-default)',\n '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-disabled-default)',\n };\n }\n\n if (this.status !== 'default') {\n _color = STATUS_COLORS[this.status];\n }\n\n const styles = {\n filled: {\n '--bcm-chip-bg': `var(--bcm-ui-color-background-palette-${_color}-default)`,\n '--bcm-chip-text': `var(--bcm-ui-color-text-palette-${_color})`,\n '--bcm-chip-border': `var(--bcm-ui-color-border-${_color})`,\n '--bcm-chip-hover-bg': `var(--bcm-ui-color-background-palette-${_color}-hover)`,\n '--bcm-chip-active-bg': `var(--bcm-ui-color-background-palette-${_color}-active)`,\n },\n outlined: {\n '--bcm-chip-bg': 'transparent',\n '--bcm-chip-text': `var(--bcm-ui-color-text-palette-${_color})`,\n '--bcm-chip-border': `var(--bcm-ui-color-border-${_color})`,\n '--bcm-chip-hover-bg': `var(--bcm-ui-color-background-palette-${_color}-hover)`,\n '--bcm-chip-active-bg': `var(--bcm-ui-color-background-palette-${_color}-active)`,\n },\n text: {\n '--bcm-chip-bg': 'transparent',\n '--bcm-chip-text': `var(--bcm-ui-color-text-palette-${_color})`,\n '--bcm-chip-border': 'transparent',\n '--bcm-chip-hover-bg': `var(--bcm-ui-color-background-palette-${_color}-hover)`,\n '--bcm-chip-active-bg': `var(--bcm-ui-color-background-palette-${_color}-active)`,\n },\n };\n\n const defaultStyles = {\n filled: {\n '--bcm-chip-bg': 'var(--bcm-ui-color-background-default-default)',\n '--bcm-chip-text': 'var(--bcm-ui-color-text-default)',\n '--bcm-chip-border': 'var(--bcm-ui-color-border-default)',\n '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-default-active)',\n },\n outlined: {\n '--bcm-chip-bg': 'transparent',\n '--bcm-chip-text': 'var(--bcm-ui-color-text-default)',\n '--bcm-chip-border': 'var(--bcm-ui-color-border-default)',\n '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-default-active)',\n },\n text: {\n '--bcm-chip-bg': 'transparent',\n '--bcm-chip-text': 'var(--bcm-ui-color-text-default)',\n '--bcm-chip-border': 'transparent',\n '--bcm-chip-hover-bg': 'var(--bcm-ui-color-background-default-hover)',\n '--bcm-chip-active-bg': 'var(--bcm-ui-color-background-default-active)',\n },\n };\n\n return _color ? styles[this.kind] : defaultStyles[this.kind];\n }\n\n private handleDismiss() {\n if (!this.disabled) {\n this.bcmDismiss.emit();\n }\n }\n\n render() {\n return (\n <div\n style={this.chipStyle}\n class={this.chipClass({ size: this.size, kind: this.kind, disabled: this.disabled })}\n role=\"button\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n ><slot></slot>\n {this.dismissible && <bcm-icon onClick={() => this.handleDismiss()} class=\"cursor-pointer\" icon-name=\"fa-regular fa-xmark\" aria-label=\"Dismiss chip\"></bcm-icon>}\n </div>\n );\n }\n}\n"],"mappings":"iFAIO,MAAMA,EAAgB,CAC3BC,KAAM,OACNC,MAAO,MACPC,QAAS,QACTC,QAAS,SCRX,MAAMC,EAAU,y5DAChB,MAAAC,EAAeD,E,MCoCFE,EAAO,MALpB,WAAAC,CAAAC,G,iDAQEC,KAAAC,KAAkB,SAIlBD,KAAAE,KAAkB,SAIlBF,KAAAG,OAAsB,UAItBH,KAAAI,YAAwB,MAIxBJ,KAAAK,SAAqB,MAabL,KAAAM,UAAYC,EAClB,CACEC,KAAM,CACJ,+FACA,mGACA,mEAEFC,SAAU,CACRR,KAAM,CACJS,MAAO,0BACPC,OAAQ,4BACRC,MAAO,0BAETV,KAAM,CACJW,OAAQ,4BACRC,SAAU,WACVC,KAAM,oBAERV,SAAU,CACRW,KAAM,wBAIZ,CAAEC,QAAS,O,CAGb,aAAYC,GACV,IAAIC,EAASnB,KAAKoB,MAElB,GAAIpB,KAAKK,SAAU,CACjB,MAAO,CACL,gBAAiB,kDACjB,kBAAmB,oCACnB,oBAAqB,sCACrB,sBAAuB,kDACvB,uBAAwB,kD,CAI5B,GAAIL,KAAKG,SAAW,UAAW,CAC7BgB,EAAS7B,EAAcU,KAAKG,O,CAG9B,MAAMkB,EAAS,CACbR,OAAQ,CACN,gBAAiB,yCAAyCM,aAC1D,kBAAmB,mCAAmCA,KACtD,oBAAqB,6BAA6BA,KAClD,sBAAuB,yCAAyCA,WAChE,uBAAwB,yCAAyCA,aAEnEL,SAAU,CACR,gBAAiB,cACjB,kBAAmB,mCAAmCK,KACtD,oBAAqB,6BAA6BA,KAClD,sBAAuB,yCAAyCA,WAChE,uBAAwB,yCAAyCA,aAEnEJ,KAAM,CACJ,gBAAiB,cACjB,kBAAmB,mCAAmCI,KACtD,oBAAqB,cACrB,sBAAuB,yCAAyCA,WAChE,uBAAwB,yCAAyCA,cAIrE,MAAMG,EAAgB,CACpBT,OAAQ,CACN,gBAAiB,iDACjB,kBAAmB,mCACnB,oBAAqB,qCACrB,sBAAuB,+CACvB,uBAAwB,iDAE1BC,SAAU,CACR,gBAAiB,cACjB,kBAAmB,mCACnB,oBAAqB,qCACrB,sBAAuB,+CACvB,uBAAwB,iDAE1BC,KAAM,CACJ,gBAAiB,cACjB,kBAAmB,mCACnB,oBAAqB,cACrB,sBAAuB,+CACvB,uBAAwB,kDAI5B,OAAOI,EAASE,EAAOrB,KAAKE,MAAQoB,EAActB,KAAKE,K,CAGjD,aAAAqB,GACN,IAAKvB,KAAKK,SAAU,CAClBL,KAAKwB,WAAWC,M,EAIpB,MAAAC,GACE,OACEC,EAAA,OAAAC,IAAA,2CACEC,MAAO7B,KAAKkB,UACZY,MAAO9B,KAAKM,UAAU,CAAEL,KAAMD,KAAKC,KAAMC,KAAMF,KAAKE,KAAMG,SAAUL,KAAKK,WACzE0B,KAAK,SAAQ,gBACE/B,KAAKK,SAAW,OAAS,SACzCsB,EAAA,QAAAC,IAAA,6CACE5B,KAAKI,aAAeuB,EAAA,YAAAC,IAAA,2CAAUI,QAAS,IAAMhC,KAAKuB,gBAAiBO,MAAM,iBAAgB,YAAW,sBAAqB,aAAY,iB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ function t(t){const e=document.head;const n=document.createElement("script");Object.keys(t).forEach((e=>{n[e]=t[e]}));e.appendChild(n)}t({src:"https://kit.fontawesome.com/5e86bea963.js",crossOrigin:"anonymous"});const e="https://designsystem.bromcomcloud.com/fontawesome/6/css/all.min.css";customElements.define("bcm-icon",class extends HTMLElement{constructor(){super();const t=this.attachShadow({mode:"open"});t.innerHTML=`\n <link rel="stylesheet" href="${e}"/>\n <i></i>\n `}static get observedAttributes(){return["name","icon-name"]}attributeChangedCallback(t,e,n){if((t==="name"||t==="icon-name")&&e!==n){this.icon=n}}get icon(){return this.getAttribute("name")||this.getAttribute("icon-name")}set icon(t){this.shadowRoot.querySelector("i").className=`${t}`}connectedCallback(){this.style.display="inline-block";this.icon=this.icon}});const n=()=>{};const s=n;export{s as g};
2
+ //# sourceMappingURL=p-ddf64315.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["addHeadScript","obj","head","document","script","createElement","Object","keys","forEach","key","appendChild","FA_GLOBAL_CSS","constructor","shadow","this","attachShadow","mode","innerHTML","observedAttributes","attributeChangedCallback","name","oldValue","newValue","icon","shadowRoot","querySelector","className","connectedCallback","globalScripts","appGlobalScript"],"sources":["src/global/global.js","@stencil/core/internal/app-globals"],"sourcesContent":["function addHeadScript(obj) {\n const head = document.head;\n const script = document.createElement('script');\n Object.keys(obj).forEach(key => {\n script[key] = obj[key];\n });\n head.appendChild(script);\n}\n\naddHeadScript({ src: 'https://kit.fontawesome.com/5e86bea963.js', crossOrigin: 'anonymous' });\n\nconst FA_GLOBAL_CSS = 'https://designsystem.bromcomcloud.com/fontawesome/6/css/all.min.css';\n\ncustomElements.define(\n 'bcm-icon',\n class extends HTMLElement {\n constructor() {\n super();\n const shadow = this.attachShadow({ mode: 'open' });\n shadow.innerHTML = `\n <link rel=\"stylesheet\" href=\"${FA_GLOBAL_CSS}\"/>\n <i></i>\n `;\n }\n\n static get observedAttributes() {\n return ['name', 'icon-name'];\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n if ((name === 'name' || name === 'icon-name') && oldValue !== newValue) {\n this.icon = newValue;\n }\n }\n\n get icon() {\n return this.getAttribute('name') || this.getAttribute('icon-name');\n }\n\n set icon(icon) {\n this.shadowRoot.querySelector('i').className = `${icon}`;\n }\n\n connectedCallback() {\n this.style.display = 'inline-block';\n this.icon = this.icon;\n }\n },\n);\n","import appGlobalScript from '/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/global/global.js';\nexport const globalScripts = appGlobalScript;\n"],"mappings":"AAAA,SAASA,EAAcC,GACnB,MAAMC,EAAOC,SAASD,KACtB,MAAME,EAASD,SAASE,cAAc,UACtCC,OAAOC,KAAKN,GAAKO,SAAQC,IACrBL,EAAOK,GAAOR,EAAIQ,EAAA,IAEtBP,EAAKQ,YAAYN,EACrB,C,6EAEA,MAAMO,EAAgB,sE,2DAElB,WAAAC,G,QAEI,MAAMC,EAAMC,KAAAC,aAAA,CAAAC,KAAA,SACZH,EAAAI,UAAA,0CACRN,+BAGA,CACI,6BAAWO,GACP,MAAO,CAAC,OAAQ,YACxB,CACI,wBAAAC,CAAAC,EAAAC,EAAAC,GACJ,IAAAF,IAAA,QAAAA,IAAA,cAAAC,IAAAC,EAAA,C,WAEA,CACA,CACI,QAAAC,G,gEAEJ,CACI,QAAIA,CAAKA,GACLT,KAAKU,WAAWC,cAAA,KAAAC,UAAA,GAAAH,GACxB,CACI,iBAAAI,G,kCAEIb,KAAKS,KAAAT,KAAAS,IACb,I,eCnCY,MAACK,EAAgBC,S","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as r,g as i}from"./p-c9b736d9.js";import{c as o}from"./p-5fcf77f9.js";import{c as s}from"./p-12360e4c.js";import{g as a}from"./p-ba2410ef.js";import{s as l,g as n,d as c}from"./p-13a245f6.js";const h=(e,t)=>{var r;const i=(r=e.shadowRoot)===null||r===void 0?void 0:r.querySelector(`slot[name="${t}"]`);if(!i)return false;const o=i.assignedNodes();return o.length>0};const d='.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}.mt-1{margin-top:.25rem}.flex{display:flex}.h-10{height:2.5rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-full{height:100%}.w-6{width:1.5rem}.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-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.text-ellipsis{text-overflow:ellipsis}.rounded{border-radius:var(--bcm-ui-border-radius-default,6px)}.border-0{border-width:0}.border-solid{border-style:solid}.border-\\[--bcm-ui-color-border-default\\]{border-color:var(--bcm-ui-color-border-default)}.border-\\[--bcm-ui-color-border-error\\]{border-color:var(--bcm-ui-color-border-error)}.border-\\[--bcm-ui-color-border-info\\]{border-color:var(--bcm-ui-color-border-info)}.border-\\[--bcm-ui-color-border-success\\]{border-color:var(--bcm-ui-color-border-success)}.border-\\[--bcm-ui-color-border-warning\\]{border-color:var(--bcm-ui-color-border-warning)}.bg-\\[--bcm-ui-color-background-base-default\\]{background-color:var(--bcm-ui-color-background-base-default)}.bg-transparent{background-color:transparent}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.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-caption\\]{color:var(--bcm-ui-color-text-caption)}.text-\\[--bcm-ui-color-text-default\\]{color:var(--bcm-ui-color-text-default)}.text-\\[--bcm-ui-color-text-disabled\\]{color:var(--bcm-ui-color-text-disabled)}.text-\\[--bcm-ui-color-text-error\\]{color:var(--bcm-ui-color-text-error)}.text-\\[--bcm-ui-color-text-info\\]{color:var(--bcm-ui-color-text-info)}.text-\\[--bcm-ui-color-text-success\\]{color:var(--bcm-ui-color-text-success)}.text-\\[--bcm-ui-color-text-warning\\]{color:var(--bcm-ui-color-text-warning)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.text-color-label{color:var(--bcm-ui-color-text-label)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);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}.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)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.placeholder\\:font-normal::placeholder{font-weight:400}.placeholder\\:text-\\[--bcm-ui-color-text-placeholder\\]::placeholder{color:var(--bcm-ui-color-text-placeholder)}.hover\\:border-\\[--bcm-ui-color-border-error\\]:hover{border-color:var(--bcm-ui-color-border-error)}.hover\\:border-\\[--bcm-ui-color-border-info\\]:hover{border-color:var(--bcm-ui-color-border-info)}.hover\\:border-\\[--bcm-ui-color-border-primary\\]:hover{border-color:var(--bcm-ui-color-border-primary)}.hover\\:border-\\[--bcm-ui-color-border-success\\]:hover{border-color:var(--bcm-ui-color-border-success)}.hover\\:border-\\[--bcm-ui-color-border-warning\\]:hover{border-color:var(--bcm-ui-color-border-warning)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-error\\]:has(:focus){border-color:var(--bcm-ui-color-border-error)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-info\\]:has(:focus){border-color:var(--bcm-ui-color-border-info)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-primary\\]:has(:focus){border-color:var(--bcm-ui-color-border-primary)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-success\\]:has(:focus){border-color:var(--bcm-ui-color-border-success)}.has-\\[\\:focus\\]\\:border-\\[--bcm-ui-color-border-warning\\]:has(:focus){border-color:var(--bcm-ui-color-border-warning)}';const b=d;const u=class{constructor(i){e(this,i);this.bcmInput=t(this,"bcmInput",1);this.bcmChange=t(this,"bcmChange",1);this.bcmFocus=t(this,"bcmFocus",1);this.bcmBlur=t(this,"bcmBlur",1);this.bcmKeyDown=t(this,"bcmKeyDown",1);this.bcmKeyUp=t(this,"bcmKeyUp",1);this.isFocused=false;this.isValid=true;this.internalStatus="default";this.isPasswordVisible=false;this.value="";this._id=a("input");this.size="medium";this.status="default";this.fullWidth=false;this.type="text";this.disabled=false;this.readonly=false;this.required=false;this.useNativeValidation=true;this.onInput=e=>{const t=e.target;this.value=t.value;this.bcmInput.emit(e);this.validateInput()};this.onChange=e=>{this.bcmChange.emit(e)};this.onFocus=e=>{this.isFocused=true;this.bcmFocus.emit(e)};this.onBlur=e=>{this.isFocused=false;this.bcmBlur.emit(e);this.validateInput()};this.onKeyDown=e=>{this.bcmKeyDown.emit(e)};this.onKeyUp=e=>{this.bcmKeyUp.emit(e)};this.styleClass=o({slots:{base:["bcm-input bcm-input__container","bg-[--bcm-ui-color-background-base-default]","border border-solid rounded","flex items-center justify-between","transition-colors duration-200","px-2"],inputClass:["input","w-full flex-1","border-0 outline-0 bg-transparent","appearance-none text-ellipsis","text-[--bcm-ui-color-text-default] placeholder:text-[--bcm-ui-color-text-placeholder] placeholder:font-normal","font-sans antialiased font-medium","px-1"]},variants:{size:{small:{base:"",inputClass:"text-size-4 h-6"},medium:{base:"",inputClass:"text-size-5 h-8"},large:{base:"",inputClass:"text-size-6 h-10"}},status:{default:{base:["border-[--bcm-ui-color-border-default]","hover:border-[--bcm-ui-color-border-primary]","has-[:focus]:border-[--bcm-ui-color-border-primary]"]},error:{base:["border-[--bcm-ui-color-border-error]","hover:border-[--bcm-ui-color-border-error]","has-[:focus]:border-[--bcm-ui-color-border-error]"]},success:{base:["border-[--bcm-ui-color-border-success]","hover:border-[--bcm-ui-color-border-success]","has-[:focus]:border-[--bcm-ui-color-border-success]"]},warning:{base:["border-[--bcm-ui-color-border-warning]","hover:border-[--bcm-ui-color-border-warning]","has-[:focus]:border-[--bcm-ui-color-border-warning]"]},info:{base:["border-[--bcm-ui-color-border-info]","hover:border-[--bcm-ui-color-border-info]","has-[:focus]:border-[--bcm-ui-color-border-info]"]}},fullWidth:{true:"full-width w-full"},disabled:{true:"disabled cursor-not-allowed",false:""},focused:{true:{base:""}}},defaultVariants:{size:"medium",status:"default",fullWidth:false,disabled:false,focused:false}},{twMerge:false});this.togglePasswordVisibility=()=>{this.isPasswordVisible=!this.isPasswordVisible;this.inputRef.type=this.isPasswordVisible?"text":"password"};this.PasswordToggleButton=()=>{var e;if(this.type!=="password"||this.disabled||this.readonly||((e=this.value)===null||e===void 0?void 0:e.length)===0)return null;return r("button",{class:"appearance-none flex items-center w-6 h-full justify-center",onClick:this.togglePasswordVisibility,type:"button"},r("bcm-icon",{name:this.isPasswordVisible?"fa-eye-slash fa-regular":"fa-regular fa-eye",size:this.iconSize}))};this.iconSize={small:14,medium:16,large:18}[this.size]}handleValueChange(e){if(this.inputRef){this.inputRef.value=e}}watchStatus(e){this.internalStatus=e}watchErrorMessage(e){this.internalErrorMessage=e}async setFocus(){var e;(e=this.inputRef)===null||e===void 0?void 0:e.focus()}async setBlur(){var e;(e=this.inputRef)===null||e===void 0?void 0:e.blur()}async select(){var e;(e=this.inputRef)===null||e===void 0?void 0:e.select()}async setLocale(e,t){l(e,t);if(!this.isValid){this.validateInput()}}componentWillLoad(){l("en",c);this.internalStatus=this.status;this.internalErrorMessage=this.errorMessage}validateInput(){if(!this.inputRef)return;this.isValid=true;this.validationMessage="";const e=this.inputRef.value;if(this.required&&!e){this.isValid=false;this.validationMessage=n("required");this.internalStatus="error";this.internalErrorMessage=this.validationMessage;return}else if(this.minLength&&e.length<this.minLength){this.isValid=false;this.validationMessage=n("minlength",{min:this.minLength})}else if(this.maxLength&&e.length>this.maxLength){this.isValid=false;this.validationMessage=n("maxlength",{max:this.maxLength})}else if(this.pattern&&!new RegExp(this.pattern).test(e)){this.isValid=false;this.validationMessage=n("pattern")}else if(this.type==="email"&&e&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e)){this.isValid=false;this.validationMessage=n("email")}else if(this.type==="number"&&e){const t=parseFloat(e);if(this.min!==undefined&&t<this.min){this.isValid=false;this.validationMessage=n("min",{min:this.min})}else if(this.max!==undefined&&t>this.max){this.isValid=false;this.validationMessage=n("max",{max:this.max})}}this.internalStatus=this.isValid?"default":"error";this.internalErrorMessage=this.validationMessage}hasSlotContent(e){return h(this.el,e)}getDefaultIconForType(){return}render(){const e=this._id+"-input"||this.name;const{base:t,inputClass:i}=this.styleClass({size:this.size,status:this.internalStatus,fullWidth:this.fullWidth,disabled:this.disabled,focused:this.isFocused});return r("div",{key:"9a3781baf249407a61a8d2f4b77a7138004515b2",class:"bcm-ui-element"},this.label&&r("label",{key:"b1d6575a78bf6fec8b2dd9ccb91a6f40e13390c8",class:s("input-label font-medium",{"text-color-label":!this.disabled,"text-color-disabled":this.disabled},{"text-size-3":this.size==="small","text-size-4":this.size==="medium","text-size-5":this.size==="large"}),htmlFor:e},r("slot",{key:"82f4e178764f66383e0103a8521e66164f5fbbd1",name:"label"},this.label),this.required&&r("span",{key:"473e4695ca4674a673057f7826c535e37912e435"},"*")),r("div",{key:"38b0f8a03d58ad7786ad8a16cfba753b5e61d428",class:t()},(this.hasSlotContent("prefix")||this.prefixIcon||this.getDefaultIconForType())&&r("div",{key:"664798966076f0a7f6e95bd8074d5a2f7cb8d4d5",class:"flex items-center gap-2 px-2"},(this.prefixIcon||this.getDefaultIconForType())&&r("bcm-icon",{key:"1e45bf50ebc511dd2b2f8d46d58996bbc280d652",class:"prefix-icon","icon-name":this.prefixIcon||this.getDefaultIconForType(),size:this.iconSize}),r("slot",{key:"383afe644aea0129cbb3287f89af8e7d7d202113",name:"prefix"})),r("input",{key:"b1b7ed8238d492855fb2f4c0fa20289845ae30cc",ref:e=>this.inputRef=e,id:e,class:i(),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.hasSlotContent("suffix")||this.suffixIcon)&&r("div",{key:"6a238ee35be66890d4afed5226ad760ecadf01d3",class:"flex items-center gap-2 px-2"},r("slot",{key:"f54dffe3dee3a0c36cb404478645bec177238dd5",name:"suffix"}),this.suffixIcon&&r("bcm-icon",{key:"c61a18b2f63696ed45430b2521e2823fc3b950c3",class:"suffix-icon","icon-name":this.suffixIcon,size:this.iconSize})),this.PasswordToggleButton()),(this.captionText||this.internalErrorMessage||this.validationMessage)&&r("div",{key:"b8bda1b35acb92f6b6d479c8ca26474ad3c67f76",class:s("input-caption-text font-regular mt-1",{"text-[--bcm-ui-color-text-caption]":!this.disabled&&this.internalStatus==="default","text-[--bcm-ui-color-text-error]":!this.disabled&&(this.internalStatus==="error"||!this.isValid),"text-[--bcm-ui-color-text-success]":!this.disabled&&this.internalStatus==="success","text-[--bcm-ui-color-text-warning]":!this.disabled&&this.internalStatus==="warning","text-[--bcm-ui-color-text-info]":!this.disabled&&this.internalStatus==="info","text-[--bcm-ui-color-text-disabled]":this.disabled},{"text-size-3":this.size==="small","text-size-4":this.size==="medium","text-size-5":this.size==="large"})},!this.isValid?this.validationMessage:this.internalStatus==="error"?this.internalErrorMessage:this.captionText))}get el(){return i(this)}static get watchers(){return{value:["handleValueChange"],status:["watchStatus"],errorMessage:["watchErrorMessage"]}}};u.style=b;export{u as bcm_input};
2
+ //# sourceMappingURL=p-e7e8305f.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["checkSlotContent","element","slotName","slot","_a","shadowRoot","querySelector","assignedNodes","length","inputCss","BcmInputStyle0","BcmInput","constructor","hostRef","this","isFocused","isValid","internalStatus","isPasswordVisible","value","_id","generateId","size","status","fullWidth","type","disabled","readonly","required","useNativeValidation","onInput","event","input","target","bcmInput","emit","validateInput","onChange","bcmChange","onFocus","bcmFocus","onBlur","bcmBlur","onKeyDown","bcmKeyDown","onKeyUp","bcmKeyUp","styleClass","tv","slots","base","inputClass","variants","small","medium","large","default","error","success","warning","info","true","false","focused","defaultVariants","twMerge","togglePasswordVisibility","inputRef","PasswordToggleButton","h","class","onClick","name","iconSize","handleValueChange","newValue","watchStatus","watchErrorMessage","internalErrorMessage","setFocus","focus","setBlur","blur","select","setLocale","locale","messages","setValidationMessages","componentWillLoad","defaultValidationMessages","errorMessage","validationMessage","getValidationMessage","minLength","min","maxLength","max","pattern","RegExp","test","numValue","parseFloat","undefined","hasSlotContent","el","getDefaultIconForType","render","inputId","key","label","classNames","htmlFor","prefixIcon","ref","id","placeholder","autocomplete","minlength","maxlength","step","labelledby","describedby","suffixIcon","captionText"],"sources":["src/utils/slot/check-slot-content.ts","src/components/input/input.scss?tag=bcm-input&encapsulation=shadow","src/components/input/input.component.tsx"],"sourcesContent":["/**\n * Checks if a named slot has any content\n * @param element - The host element (component instance)\n * @param slotName - Name of the slot to check\n * @returns boolean indicating if the slot has any assigned nodes\n */\nexport const checkSlotContent = (element: HTMLElement, slotName: string): boolean => {\n const slot = element.shadowRoot?.querySelector(`slot[name=\"${slotName}\"]`) as HTMLSlotElement;\n if (!slot) return false;\n\n const assignedNodes = slot.assignedNodes();\n return assignedNodes.length > 0;\n};\n",":host {\n display: inline-block;\n}\n","import { Component, Prop, h, Event, EventEmitter, Method, State, Watch, Element } from '@stencil/core';\nimport { InputSize, InputStatus, InputType } from './types';\nimport { tv } from 'tailwind-variants';\nimport classNames from 'classnames';\nimport { generateId } from '../../utils/id/generate-id';\nimport { checkSlotContent } from '../../utils/slot/check-slot-content';\nimport { getValidationMessage, setValidationMessages, defaultValidationMessages } from '../../utils/validation-messages';\n\n@Component({\n tag: 'bcm-input',\n styleUrl: 'input.scss',\n shadow: true,\n})\nexport class BcmInput {\n @Element() el: HTMLElement;\n private inputRef: HTMLInputElement;\n\n @State() isFocused = false;\n @State() validationMessage: string;\n @State() isValid = true;\n @State() internalStatus: InputStatus = 'default';\n @State() internalErrorMessage: string;\n @State() isPasswordVisible = false;\n\n /** Input value */\n @Prop({ mutable: true, reflect: true })\n value: string = '';\n\n /** Input placeholder text */\n @Prop()\n placeholder?: string;\n\n /** Input name */\n @Prop()\n name?: string;\n\n /** Input id */\n @Prop({ attribute: 'id', reflect: true })\n _id?: string = generateId('input');\n\n /** Controls the input size */\n @Prop()\n size: InputSize = 'medium';\n\n /** Defines the input's status/state */\n @Prop()\n status: InputStatus = 'default';\n\n /** Full width input */\n @Prop({ attribute: 'full-width', reflect: true })\n fullWidth = false;\n\n /** HTML input type */\n @Prop()\n type: InputType = 'text';\n\n /** Whether the input is disabled */\n @Prop()\n disabled = false;\n\n /** Whether the input is readonly */\n @Prop()\n readonly = false;\n\n /** Whether the input is required */\n @Prop()\n required = false;\n\n /** Input autocomplete attribute */\n @Prop()\n autocomplete?: string;\n\n /** Min length for text input */\n @Prop()\n minLength?: number;\n\n /** Max length for text input */\n @Prop()\n maxLength?: number;\n\n /** Min value for number input */\n @Prop()\n min?: number;\n\n /** Max value for number input */\n @Prop()\n max?: number;\n\n /** Step value for number input */\n @Prop()\n step?: number;\n\n /** Pattern for validation */\n @Prop()\n pattern?: string;\n\n /** Input label for accessibility */\n @Prop()\n label?: string;\n\n /** Error message to display */\n @Prop()\n errorMessage?: string;\n\n /** Caption text to display below input */\n @Prop()\n captionText?: string;\n\n /** ID of associated label element */\n @Prop()\n labelledby?: string;\n\n /** ID of associated caption/error text element */\n @Prop()\n describedby?: string;\n\n /** Prefix icon class name */\n @Prop()\n prefixIcon?: string;\n\n /** Suffix icon class name */\n @Prop()\n suffixIcon?: string;\n\n /** Whether to use native form validation\n * If false, component will handle validation internally\n */\n @Prop()\n useNativeValidation = true;\n\n /** Custom validation function */\n @Prop()\n validator?: (value: string) => string | undefined;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmInput: EventEmitter<InputEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmChange: EventEmitter<Event>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmFocus: EventEmitter<FocusEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmBlur: EventEmitter<FocusEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmKeyDown: EventEmitter<KeyboardEvent>;\n\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n })\n bcmKeyUp: EventEmitter<KeyboardEvent>;\n\n @Watch('value')\n handleValueChange(newValue: string) {\n if (this.inputRef) {\n this.inputRef.value = newValue;\n }\n }\n\n @Watch('status')\n watchStatus(newValue: InputStatus) {\n this.internalStatus = newValue;\n }\n\n @Watch('errorMessage')\n watchErrorMessage(newValue: string) {\n this.internalErrorMessage = newValue;\n }\n\n @Method()\n async setFocus() {\n this.inputRef?.focus();\n }\n\n @Method()\n async setBlur() {\n this.inputRef?.blur();\n }\n\n @Method()\n async select() {\n this.inputRef?.select();\n }\n\n /** Sets locale and messages for all inputs */\n @Method()\n async setLocale(locale: string, messages: Record<string, string>) {\n // Set messages and update validation immediately\n setValidationMessages(locale, messages);\n\n // Mevcut validasyon mesajını güncelle\n if (!this.isValid) {\n this.validateInput();\n }\n }\n\n componentWillLoad() {\n // I18n için default mesajları set et\n setValidationMessages('en', defaultValidationMessages);\n this.internalStatus = this.status;\n this.internalErrorMessage = this.errorMessage;\n }\n\n private validateInput(): void {\n if (!this.inputRef) return;\n\n // Reset validation state\n this.isValid = true;\n this.validationMessage = '';\n\n const value = this.inputRef.value;\n\n // Required check\n if (this.required && !value) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('required');\n this.internalStatus = 'error';\n this.internalErrorMessage = this.validationMessage;\n return;\n }\n\n // Minimum length check\n else if (this.minLength && value.length < this.minLength) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('minlength', { min: this.minLength });\n }\n // Maximum length check\n else if (this.maxLength && value.length > this.maxLength) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('maxlength', { max: this.maxLength });\n }\n // Pattern check\n else if (this.pattern && !new RegExp(this.pattern).test(value)) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('pattern');\n }\n // Email check\n else if (this.type === 'email' && value && !/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value)) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('email');\n }\n // Number range check\n else if (this.type === 'number' && value) {\n const numValue = parseFloat(value);\n if (this.min !== undefined && numValue < this.min) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('min', { min: this.min });\n } else if (this.max !== undefined && numValue > this.max) {\n this.isValid = false;\n this.validationMessage = getValidationMessage('max', { max: this.max });\n }\n }\n\n // Update component state\n this.internalStatus = this.isValid ? 'default' : 'error';\n this.internalErrorMessage = this.validationMessage;\n }\n\n private onInput = (event: InputEvent) => {\n const input = event.target as HTMLInputElement;\n this.value = input.value;\n this.bcmInput.emit(event);\n this.validateInput();\n };\n\n private onChange = (event: Event) => {\n this.bcmChange.emit(event);\n };\n\n private onFocus = (event: FocusEvent) => {\n this.isFocused = true;\n this.bcmFocus.emit(event);\n };\n\n private onBlur = (event: FocusEvent) => {\n this.isFocused = false;\n this.bcmBlur.emit(event);\n this.validateInput();\n };\n\n private onKeyDown = (event: KeyboardEvent) => {\n this.bcmKeyDown.emit(event);\n };\n\n private onKeyUp = (event: KeyboardEvent) => {\n this.bcmKeyUp.emit(event);\n };\n\n private hasSlotContent(slotName: string): boolean {\n return checkSlotContent(this.el, slotName);\n }\n\n private styleClass = tv(\n {\n slots: {\n base: [\n 'bcm-input bcm-input__container',\n 'bg-[--bcm-ui-color-background-base-default]',\n 'border border-solid rounded',\n 'flex items-center justify-between',\n 'transition-colors duration-200',\n 'px-2',\n ],\n inputClass: [\n 'input',\n 'w-full flex-1',\n 'border-0 outline-0 bg-transparent',\n 'appearance-none text-ellipsis',\n 'text-[--bcm-ui-color-text-default] placeholder:text-[--bcm-ui-color-text-placeholder] placeholder:font-normal',\n 'font-sans antialiased font-medium',\n 'px-1',\n ],\n },\n variants: {\n size: {\n small: {\n base: '',\n inputClass: 'text-size-4 h-6',\n },\n medium: {\n base: '',\n inputClass: 'text-size-5 h-8',\n },\n large: {\n base: '',\n inputClass: 'text-size-6 h-10',\n },\n },\n status: {\n default: {\n base: ['border-[--bcm-ui-color-border-default]', 'hover:border-[--bcm-ui-color-border-primary]', 'has-[:focus]:border-[--bcm-ui-color-border-primary]'],\n },\n error: {\n base: ['border-[--bcm-ui-color-border-error]', 'hover:border-[--bcm-ui-color-border-error]', 'has-[:focus]:border-[--bcm-ui-color-border-error]'],\n },\n success: {\n base: ['border-[--bcm-ui-color-border-success]', 'hover:border-[--bcm-ui-color-border-success]', 'has-[:focus]:border-[--bcm-ui-color-border-success]'],\n },\n warning: {\n base: ['border-[--bcm-ui-color-border-warning]', 'hover:border-[--bcm-ui-color-border-warning]', 'has-[:focus]:border-[--bcm-ui-color-border-warning]'],\n },\n info: {\n base: ['border-[--bcm-ui-color-border-info]', 'hover:border-[--bcm-ui-color-border-info]', 'has-[:focus]:border-[--bcm-ui-color-border-info]'],\n },\n },\n fullWidth: {\n true: 'full-width w-full',\n },\n disabled: {\n true: 'disabled cursor-not-allowed',\n false: '',\n },\n focused: {\n true: {\n base: '',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n status: 'default',\n fullWidth: false,\n disabled: false,\n focused: false,\n },\n },\n {\n twMerge: false,\n },\n );\n\n private getDefaultIconForType(): string | undefined {\n return; // TODO: Will be implemented later\n // return defaultIcons[this.type as keyof typeof defaultIcons];\n }\n\n private togglePasswordVisibility = () => {\n this.isPasswordVisible = !this.isPasswordVisible;\n this.inputRef.type = this.isPasswordVisible ? 'text' : 'password';\n };\n\n private PasswordToggleButton = () => {\n if (this.type !== 'password' || this.disabled || this.readonly || this.value?.length === 0) return null;\n return (\n <button class=\"appearance-none flex items-center w-6 h-full justify-center\" onClick={this.togglePasswordVisibility} type=\"button\">\n <bcm-icon name={this.isPasswordVisible ? 'fa-eye-slash fa-regular' : 'fa-regular fa-eye'} size={this.iconSize}></bcm-icon>\n </button>\n );\n };\n\n private iconSize = {\n small: 14,\n medium: 16,\n large: 18,\n }[this.size];\n\n render() {\n const inputId = this._id + '-input' || this.name;\n\n const { base, inputClass } = this.styleClass({\n size: this.size,\n status: this.internalStatus,\n fullWidth: this.fullWidth,\n disabled: this.disabled,\n focused: this.isFocused,\n });\n\n return (\n <div class=\"bcm-ui-element\">\n {this.label && (\n <label\n class={classNames(\n 'input-label font-medium',\n {\n 'text-color-label': !this.disabled,\n 'text-color-disabled': this.disabled,\n },\n {\n 'text-size-3': this.size === 'small',\n 'text-size-4': this.size === 'medium',\n 'text-size-5': this.size === 'large',\n },\n )}\n htmlFor={inputId}\n >\n <slot name=\"label\">{this.label}</slot>\n {this.required && <span>*</span>}\n </label>\n )}\n\n <div class={base()}>\n {(this.hasSlotContent('prefix') || this.prefixIcon || this.getDefaultIconForType()) && (\n <div class=\"flex items-center gap-2 px-2\">\n {(this.prefixIcon || this.getDefaultIconForType()) && (\n <bcm-icon class=\"prefix-icon\" icon-name={this.prefixIcon || this.getDefaultIconForType()} size={this.iconSize}></bcm-icon>\n )}\n <slot name=\"prefix\"></slot>\n </div>\n )}\n <input\n ref={el => (this.inputRef = el)}\n id={inputId}\n class={inputClass()}\n type={this.type}\n name={this.name}\n disabled={this.disabled}\n readonly={this.readonly}\n required={this.required}\n placeholder={this.placeholder}\n autocomplete={this.autocomplete}\n minlength={this.minLength}\n maxlength={this.maxLength}\n min={this.min}\n max={this.max}\n step={this.step}\n pattern={this.pattern}\n aria-invalid={this.status === 'error'}\n aria-required={this.required}\n aria-labelledby={this.labelledby}\n aria-describedby={this.describedby}\n value={this.value}\n onInput={this.onInput}\n onChange={this.onChange}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeyDown={this.onKeyDown}\n onKeyUp={this.onKeyUp}\n />\n {(this.hasSlotContent('suffix') || this.suffixIcon) && (\n <div class=\"flex items-center gap-2 px-2\">\n <slot name=\"suffix\"></slot>\n {this.suffixIcon && <bcm-icon class=\"suffix-icon\" icon-name={this.suffixIcon} size={this.iconSize}></bcm-icon>}\n </div>\n )}\n {/* {this.type === 'password' && this.value?.length > 0 && !this.disabled && ( \n // <bcm-icon\n // class=\"password-toggle-icon cursor-pointer\"\n // icon-name={this.isPasswordVisible ? 'fa-regular fa-eye-slash' : 'fa-regular fa-eye'}\n // size={iconSize}\n // onClick={this.togglePasswordVisibility}\n // ></bcm-icon>\n // )}*/}\n {this.PasswordToggleButton()}\n </div>\n {(this.captionText || this.internalErrorMessage || this.validationMessage) && (\n <div\n class={classNames(\n 'input-caption-text font-regular mt-1',\n {\n 'text-[--bcm-ui-color-text-caption]': !this.disabled && this.internalStatus === 'default',\n 'text-[--bcm-ui-color-text-error]': !this.disabled && (this.internalStatus === 'error' || !this.isValid),\n 'text-[--bcm-ui-color-text-success]': !this.disabled && this.internalStatus === 'success',\n 'text-[--bcm-ui-color-text-warning]': !this.disabled && this.internalStatus === 'warning',\n 'text-[--bcm-ui-color-text-info]': !this.disabled && this.internalStatus === 'info',\n 'text-[--bcm-ui-color-text-disabled]': this.disabled,\n },\n {\n 'text-size-3': this.size === 'small',\n 'text-size-4': this.size === 'medium',\n 'text-size-5': this.size === 'large',\n },\n )}\n >\n {!this.isValid ? this.validationMessage : this.internalStatus === 'error' ? this.internalErrorMessage : this.captionText}\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -19,6 +19,14 @@ customElements.define('bcm-icon', class extends HTMLElement {
19
19
  <i></i>
20
20
  `;
21
21
  }
22
+ static get observedAttributes() {
23
+ return ['name', 'icon-name'];
24
+ }
25
+ attributeChangedCallback(name, oldValue, newValue) {
26
+ if ((name === 'name' || name === 'icon-name') && oldValue !== newValue) {
27
+ this.icon = newValue;
28
+ }
29
+ }
22
30
  get icon() {
23
31
  return this.getAttribute('name') || this.getAttribute('icon-name');
24
32
  }
@@ -36,4 +44,4 @@ const globalScripts = globalFn;
36
44
 
37
45
  exports.globalScripts = globalScripts;
38
46
 
39
- //# sourceMappingURL=app-globals-29edfda4.js.map
47
+ //# sourceMappingURL=app-globals-e0eef2e9.js.map
@@ -0,0 +1 @@
1
+ {"file":"app-globals-e0eef2e9.js","mappings":";;AAAA,SAAS,aAAa,CAAC,GAAG,EAAE;AAC5B,IAAI,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC1B,IAAI,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC;AAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG;AAChC,QAAQ,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAC1B;AACA,IAAI,IAAI,CAAC,WAAW,CAAC;AACrB;;AAEA,MAAM,aAAa,GAAG,qEAAqE,CAAC;;AAE5F,IAAI,WAAW,GAAG;;AAElB,QAAQ,MAAM,MAAM;AACpB,QAAQ;AACR;AACA;AACA,MAAM,CAAC,CAAC;AACR,KAAK;AACL,IAAI,WAAW;AACf,QAAQ,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACrC,KAAK;AACL,IAAI;AACJ;;AAEA,SAAS;AACT,KAAK;AACL,IAAI;;AAEJ,KAAK;AACL,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE;AACnB,QAAQ,IAAI,CAAC,UAAU,CAAC;AACxB,KAAK;AACL,IAAI;;AAEJ,QAAQ,IAAI,CAAC;AACb,KAAK;AACL,CAAC,CAAC,CAAC;;;ACpCS,MAAC,aAAa,GAAGA;;;;","names":["appGlobalScript"],"sources":["src/global/global.js","@stencil/core/internal/app-globals"],"sourcesContent":["function addHeadScript(obj) {\n const head = document.head;\n const script = document.createElement('script');\n Object.keys(obj).forEach(key => {\n script[key] = obj[key];\n });\n head.appendChild(script);\n}\n\naddHeadScript({ src: 'https://kit.fontawesome.com/5e86bea963.js', crossOrigin: 'anonymous' });\n\nconst FA_GLOBAL_CSS = 'https://designsystem.bromcomcloud.com/fontawesome/6/css/all.min.css';\n\ncustomElements.define(\n 'bcm-icon',\n class extends HTMLElement {\n constructor() {\n super();\n const shadow = this.attachShadow({ mode: 'open' });\n shadow.innerHTML = `\n <link rel=\"stylesheet\" href=\"${FA_GLOBAL_CSS}\"/>\n <i></i>\n `;\n }\n\n static get observedAttributes() {\n return ['name', 'icon-name'];\n }\n\n attributeChangedCallback(name, oldValue, newValue) {\n if ((name === 'name' || name === 'icon-name') && oldValue !== newValue) {\n this.icon = newValue;\n }\n }\n\n get icon() {\n return this.getAttribute('name') || this.getAttribute('icon-name');\n }\n\n set icon(icon) {\n this.shadowRoot.querySelector('i').className = `${icon}`;\n }\n\n connectedCallback() {\n this.style.display = 'inline-block';\n this.icon = this.icon;\n }\n },\n);\n","import appGlobalScript from '/Users/muratpolatozkan/works/bromcom/bromcom-ui-v2/src/global/global.js';\nexport const globalScripts = appGlobalScript;\n"],"version":3}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-9a2c5938.js');
6
6
 
7
- const accordionGroupCss = ".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:Inter,sans-serif}.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-solid{border-style:solid}.border-\\[--bcm-accordion-border\\]{border-color:var(--bcm-accordion-border)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);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)}";
7
+ const accordionGroupCss = ".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:Inter,sans-serif}.collapse{visibility:collapse}.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-solid{border-style:solid}.border-\\[--bcm-accordion-border\\]{border-color:var(--bcm-accordion-border)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);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)}";
8
8
  const BcmAccordionGroupStyle0 = accordionGroupCss;
9
9
 
10
10
  const BcmAccordionGroup = class {
@@ -1 +1 @@
1
- {"file":"bcm-accordion-group.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,iBAAiB,GAAG,u9BAAu9B,CAAC;AACl/B,gCAAe,iBAAiB;;MCmEnB,iBAAiB;IAL9B;;;;QAUY,UAAK,GAAY,KAAK,CAAC;;QAGtB,mBAAc,GAA8B,EAAE,CAAC;;;;QAoDhD,qBAAgB,GAAG;YACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,gBAAgB,EAAE,CAAC;;YAExB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;aAC/D;SACJ,CAAC;KAuCL;;;;;IApFG,MAAM,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC5D,OAAO;SACV;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KACrE;;;;IAMD,MAAM,WAAW;QACb,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KACvE;;;;IAMD,MAAM,gBAAgB;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5D;IAED,iBAAiB;QACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;IAGO,gBAAgB;QACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI;YAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACrB,CAAC,CAAC;KACN;;;;IAkBD,qBAAqB,CAAC,KAA4C;QAC9D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI;gBAC5B,IAAI,IAAI,KAAK,MAAM,EAAE;oBACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACnB;gBACD,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;aACtD,CAAC,CAAC;SACN;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAC9B,QAAQ;YACR,OAAO,EAAE,MAAM;YACf,aAAa;YACb,aAAa,EAAE,aAAa,CAAC,MAAM;SACtC,CAAC,CAAC;KACN;IAED,MAAM;QACF,QACIA,kEACI,KAAK,EAAC,0HAA0H,EAChI,IAAI,EAAC,OAAO,gBACD,iBAAiB,IAE5BA,mEAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAS,CAChD,EACR;KACL;;;;;;;","names":["h"],"sources":["src/components/accordion-group/accordion-group.css?tag=bcm-accordion-group&encapsulation=shadow","src/components/accordion-group/accordion-group.component.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n --bcm-accordion-border: var(--bcm-ui-color-border-default);\n --bcm-accordion-radius: 6px;\n}\n","\nimport { Component, ComponentInterface, h, Element, Prop, Listen, State, Event, EventEmitter, Method } from '@stencil/core';\nimport { AccordionChangeEventType } from '../accordion/types';\nimport { AccordionGroupChangeEventType } from './types';\n\n/**\n* @component BcmAccordionGroup\n* @description A container component that manages a group of accordions. Provides single/multiple expansion \n* modes and methods for controlling all accordions simultaneously. Uses shadow DOM for style encapsulation.\n*\n* @example Basic usage - Single expansion mode\n* <bcm-accordion-group>\n* <bcm-accordion>\n* <div slot=\"title\">Section 1</div>\n* <div>Content 1</div>\n* </bcm-accordion>\n* <bcm-accordion>\n* <div slot=\"title\">Section 2</div>\n* <div>Content 2</div>\n* </bcm-accordion>\n* </bcm-accordion-group>\n*\n* @example Multiple expansion mode\n* <bcm-accordion-group multi={true}>\n* <bcm-accordion>...</bcm-accordion>\n* <bcm-accordion>...</bcm-accordion>\n* </bcm-accordion-group>\n* \n* @example Event handling\n* // Listen to accordion group changes\n* const accordionGroup = document.querySelector('bcm-accordion-group');\n* accordionGroup.addEventListener('bcmAccordionGroupChange', (event) => {\n* const { expanded, changed, expandedItems, expandedCount } = event.detail;\n* console.log('Accordion expanded state:', expanded);\n* console.log('Changed accordion:', changed);\n* console.log('Currently expanded accordions:', expandedItems);\n* console.log('Number of expanded accordions:', expandedCount);\n* });\n* \n* // Using methods\n* await accordionGroup.expandAll(); // Expands all accordions (only in multi mode)\n* await accordionGroup.collapseAll(); // Collapses all accordions\n* const expanded = await accordionGroup.getExpandedItems(); // Gets expanded accordions\n*\n* @prop {boolean} multi - Controls whether multiple accordions can be expanded simultaneously (default: false)\n*\n* @slot default - Container slot for bcm-accordion components\n*\n* @event {EventEmitter<AccordionGroupChangeEventType>} bcmAccordionGroupChange - Emitted when any accordion's state changes\n* @eventProperty {boolean} expanded - Current expanded state of the changed accordion\n* @eventProperty {HTMLElement} changed - The accordion element that triggered the change\n* @eventProperty {HTMLElement[]} expandedItems - Array of currently expanded accordion elements\n* @eventProperty {number} expandedCount - Number of currently expanded accordions\n*\n* @method expandAll() - Expands all accordions (only available in multi mode)\n* @method collapseAll() - Collapses all accordions\n* @method getExpandedItems() - Returns array of currently expanded accordions\n*\n* @csspart container - The accordion group container element\n*\n* @css {string} --bcm-accordion-border - Border color of the accordion group\n* @css {string} --bcm-accordion-radius - Border radius of the accordion group\n*/\n@Component({\n tag: 'bcm-accordion-group',\n styleUrl: 'accordion-group.css',\n shadow: true,\n})\nexport class BcmAccordionGroup implements ComponentInterface {\n /** Reference to the host element */\n @Element() host: HTMLElement;\n\n /** Controls whether multiple accordions can be expanded simultaneously */\n @Prop() multi: boolean = false;\n\n /** Array of accordion elements within the group */\n @State() accordionItems: HTMLBcmAccordionElement[] = [];\n\n /** Event emitted when any accordion's expanded state changes */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n }) bcmAccordionGroupChange: EventEmitter<AccordionGroupChangeEventType>;\n\n /**\n * Expands all accordions in the group\n * Only available when multi=true\n */\n @Method()\n async expandAll(): Promise<void> {\n if (!this.multi) {\n console.warn('expandAll is only available when multi=true');\n return;\n }\n await Promise.all(this.accordionItems.map(item => item.expand()));\n }\n\n /**\n * Collapses all accordions in the group\n */\n @Method()\n async collapseAll(): Promise<void> {\n await Promise.all(this.accordionItems.map(item => item.collapse()));\n }\n\n /**\n * Returns an array of currently expanded accordion elements\n */\n @Method()\n async getExpandedItems(): Promise<HTMLBcmAccordionElement[]> {\n return this.accordionItems.filter(item => item.expanded);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n\n private setGroupBehavior(): void {\n this.accordionItems.forEach(item => {\n item.group = true;\n });\n }\n\n /**\n * Updates the accordion items array when slot content changes\n */\n private handleSlotChange = () => {\n this.accordionItems = Array.from(this.host.querySelectorAll('bcm-accordion'));\n this.setGroupBehavior();\n // Validate accordion items\n if (this.accordionItems.length === 0) {\n console.warn('No accordion items found in accordion group');\n }\n };\n\n /**\n * Handles state changes of individual accordions\n */\n @Listen('bcmAccordionChange', { capture: true })\n handleAccordionChange(event: CustomEvent<AccordionChangeEventType>) {\n this.handleSlotChange();\n const { expanded, source } = event?.detail;\n\n if (!this.multi) {\n this.accordionItems.forEach(item => {\n if (item !== source) {\n item.collapse();\n }\n item.expanded = item === source ? expanded : false;\n });\n }\n\n const expandedItems = this.accordionItems.filter(item => item.expanded);\n this.bcmAccordionGroupChange.emit({\n expanded,\n changed: source,\n expandedItems,\n expandedCount: expandedItems.length,\n });\n }\n\n render() {\n return (\n <div\n class=\"flex flex-col bcm-ui-element w-full border border-solid border-[--bcm-accordion-border] rounded-[--bcm-accordion-radius]\"\n role=\"group\"\n aria-label=\"Accordion group\"\n >\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n );\n }\n}"],"version":3}
1
+ {"file":"bcm-accordion-group.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,iBAAiB,GAAG,+7BAA+7B,CAAC;AAC19B,gCAAe,iBAAiB;;MCmEnB,iBAAiB;IAL9B;;;;QAUY,UAAK,GAAY,KAAK,CAAC;;QAGtB,mBAAc,GAA8B,EAAE,CAAC;;;;QAoDhD,qBAAgB,GAAG;YACvB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;YAC9E,IAAI,CAAC,gBAAgB,EAAE,CAAC;;YAExB,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;aAC/D;SACJ,CAAC;KAuCL;;;;;IApFG,MAAM,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC5D,OAAO;SACV;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KACrE;;;;IAMD,MAAM,WAAW;QACb,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;KACvE;;;;IAMD,MAAM,gBAAgB;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;KAC5D;IAED,iBAAiB;QACb,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;IAGO,gBAAgB;QACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI;YAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;SACrB,CAAC,CAAC;KACN;;;;IAkBD,qBAAqB,CAAC,KAA4C;QAC9D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI;gBAC5B,IAAI,IAAI,KAAK,MAAM,EAAE;oBACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;iBACnB;gBACD,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;aACtD,CAAC,CAAC;SACN;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC;YAC9B,QAAQ;YACR,OAAO,EAAE,MAAM;YACf,aAAa;YACb,aAAa,EAAE,aAAa,CAAC,MAAM;SACtC,CAAC,CAAC;KACN;IAED,MAAM;QACF,QACIA,kEACI,KAAK,EAAC,0HAA0H,EAChI,IAAI,EAAC,OAAO,gBACD,iBAAiB,IAE5BA,mEAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAS,CAChD,EACR;KACL;;;;;;;","names":["h"],"sources":["src/components/accordion-group/accordion-group.css?tag=bcm-accordion-group&encapsulation=shadow","src/components/accordion-group/accordion-group.component.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n --bcm-accordion-border: var(--bcm-ui-color-border-default);\n --bcm-accordion-radius: 6px;\n}\n","\nimport { Component, ComponentInterface, h, Element, Prop, Listen, State, Event, EventEmitter, Method } from '@stencil/core';\nimport { AccordionChangeEventType } from '../accordion/types';\nimport { AccordionGroupChangeEventType } from './types';\n\n/**\n* @component BcmAccordionGroup\n* @description A container component that manages a group of accordions. Provides single/multiple expansion \n* modes and methods for controlling all accordions simultaneously. Uses shadow DOM for style encapsulation.\n*\n* @example Basic usage - Single expansion mode\n* <bcm-accordion-group>\n* <bcm-accordion>\n* <div slot=\"title\">Section 1</div>\n* <div>Content 1</div>\n* </bcm-accordion>\n* <bcm-accordion>\n* <div slot=\"title\">Section 2</div>\n* <div>Content 2</div>\n* </bcm-accordion>\n* </bcm-accordion-group>\n*\n* @example Multiple expansion mode\n* <bcm-accordion-group multi={true}>\n* <bcm-accordion>...</bcm-accordion>\n* <bcm-accordion>...</bcm-accordion>\n* </bcm-accordion-group>\n* \n* @example Event handling\n* // Listen to accordion group changes\n* const accordionGroup = document.querySelector('bcm-accordion-group');\n* accordionGroup.addEventListener('bcmAccordionGroupChange', (event) => {\n* const { expanded, changed, expandedItems, expandedCount } = event.detail;\n* console.log('Accordion expanded state:', expanded);\n* console.log('Changed accordion:', changed);\n* console.log('Currently expanded accordions:', expandedItems);\n* console.log('Number of expanded accordions:', expandedCount);\n* });\n* \n* // Using methods\n* await accordionGroup.expandAll(); // Expands all accordions (only in multi mode)\n* await accordionGroup.collapseAll(); // Collapses all accordions\n* const expanded = await accordionGroup.getExpandedItems(); // Gets expanded accordions\n*\n* @prop {boolean} multi - Controls whether multiple accordions can be expanded simultaneously (default: false)\n*\n* @slot default - Container slot for bcm-accordion components\n*\n* @event {EventEmitter<AccordionGroupChangeEventType>} bcmAccordionGroupChange - Emitted when any accordion's state changes\n* @eventProperty {boolean} expanded - Current expanded state of the changed accordion\n* @eventProperty {HTMLElement} changed - The accordion element that triggered the change\n* @eventProperty {HTMLElement[]} expandedItems - Array of currently expanded accordion elements\n* @eventProperty {number} expandedCount - Number of currently expanded accordions\n*\n* @method expandAll() - Expands all accordions (only available in multi mode)\n* @method collapseAll() - Collapses all accordions\n* @method getExpandedItems() - Returns array of currently expanded accordions\n*\n* @csspart container - The accordion group container element\n*\n* @css {string} --bcm-accordion-border - Border color of the accordion group\n* @css {string} --bcm-accordion-radius - Border radius of the accordion group\n*/\n@Component({\n tag: 'bcm-accordion-group',\n styleUrl: 'accordion-group.css',\n shadow: true,\n})\nexport class BcmAccordionGroup implements ComponentInterface {\n /** Reference to the host element */\n @Element() host: HTMLElement;\n\n /** Controls whether multiple accordions can be expanded simultaneously */\n @Prop() multi: boolean = false;\n\n /** Array of accordion elements within the group */\n @State() accordionItems: HTMLBcmAccordionElement[] = [];\n\n /** Event emitted when any accordion's expanded state changes */\n @Event({\n composed: false,\n bubbles: false,\n cancelable: true,\n }) bcmAccordionGroupChange: EventEmitter<AccordionGroupChangeEventType>;\n\n /**\n * Expands all accordions in the group\n * Only available when multi=true\n */\n @Method()\n async expandAll(): Promise<void> {\n if (!this.multi) {\n console.warn('expandAll is only available when multi=true');\n return;\n }\n await Promise.all(this.accordionItems.map(item => item.expand()));\n }\n\n /**\n * Collapses all accordions in the group\n */\n @Method()\n async collapseAll(): Promise<void> {\n await Promise.all(this.accordionItems.map(item => item.collapse()));\n }\n\n /**\n * Returns an array of currently expanded accordion elements\n */\n @Method()\n async getExpandedItems(): Promise<HTMLBcmAccordionElement[]> {\n return this.accordionItems.filter(item => item.expanded);\n }\n\n componentWillLoad() {\n this.handleSlotChange();\n }\n\n\n private setGroupBehavior(): void {\n this.accordionItems.forEach(item => {\n item.group = true;\n });\n }\n\n /**\n * Updates the accordion items array when slot content changes\n */\n private handleSlotChange = () => {\n this.accordionItems = Array.from(this.host.querySelectorAll('bcm-accordion'));\n this.setGroupBehavior();\n // Validate accordion items\n if (this.accordionItems.length === 0) {\n console.warn('No accordion items found in accordion group');\n }\n };\n\n /**\n * Handles state changes of individual accordions\n */\n @Listen('bcmAccordionChange', { capture: true })\n handleAccordionChange(event: CustomEvent<AccordionChangeEventType>) {\n this.handleSlotChange();\n const { expanded, source } = event?.detail;\n\n if (!this.multi) {\n this.accordionItems.forEach(item => {\n if (item !== source) {\n item.collapse();\n }\n item.expanded = item === source ? expanded : false;\n });\n }\n\n const expandedItems = this.accordionItems.filter(item => item.expanded);\n this.bcmAccordionGroupChange.emit({\n expanded,\n changed: source,\n expandedItems,\n expandedCount: expandedItems.length,\n });\n }\n\n render() {\n return (\n <div\n class=\"flex flex-col bcm-ui-element w-full border border-solid border-[--bcm-accordion-border] rounded-[--bcm-accordion-radius]\"\n role=\"group\"\n aria-label=\"Accordion group\"\n >\n <slot onSlotchange={this.handleSlotChange}></slot>\n </div>\n );\n }\n}"],"version":3}
@@ -265,17 +265,17 @@ const BasicBadge = class {
265
265
  get badgeStyle() {
266
266
  if (!this.color)
267
267
  return {};
268
- const variantType = this.soft ? 'soft' : 'vivid';
268
+ const variantType = this.soft ? 'palette' : 'vivid';
269
269
  return {
270
270
  '--bcm-badge-bg': `var(--bcm-ui-color-background-${variantType}-${this.color}-default)`,
271
271
  '--bcm-badge-text': this.soft ? `var(--bcm-ui-color-text-palette-${this.color})` : 'var(--bcm-ui-color-text-base)',
272
272
  };
273
273
  }
274
274
  render() {
275
- return (index.h("span", { key: '17d82a67aaf2793bbd922c901bbfb05b91abea35', part: "base", role: "status", "aria-live": "polite", style: this.badgeStyle, class: this.classes({
275
+ return (index.h("span", { key: '808cd1e3672a57596174767ce793244024a3f6c3', part: "base", role: "status", "aria-live": "polite", style: this.badgeStyle, class: this.classes({
276
276
  size: this.size,
277
277
  variant: this.variant,
278
- }) }, this.variant === 'text' && (index.h("span", { key: '5b4fffd0979dec737d0209f8268467c19a5dd795', class: "badge-content" }, index.h("slot", { key: 'a554c64e657079ba933ead458c76a894f236b533' })))));
278
+ }) }, this.variant === 'text' && (index.h("span", { key: 'c3b5d31649cf6177173401cafcb8c520d4cf9745', class: "badge-content" }, index.h("slot", { key: 'a6a902a3a2a9c2effa1fc7e0ef4267ab17b6b2ef' })))));
279
279
  }
280
280
  };
281
281
  BasicBadge.style = BcmBasicBadgeStyle0;
@@ -422,7 +422,7 @@ const variantOptions = {
422
422
  },
423
423
  };
424
424
 
425
- const buttonCss = ".relative{position:relative}:host{display:inline-block;position:relative}:host([full-width]){width:100%}:host([position=first]) .bcm-button{border-bottom-right-radius:0;border-top-right-radius:0}:host([position=middle]) .bcm-button{border-radius:0}:host([position=last]) .bcm-button{border-bottom-left-radius:0;border-top-left-radius:0}:host([position=first].orientation-vertical) .bcm-button{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--bcm-ui-border-radius,4px);border-top-right-radius:var(--bcm-ui-border-radius,4px)}:host([position=middle].orientation-vertical) .bcm-button{border-radius:0}:host([position=last].orientation-vertical) .bcm-button{border-bottom-left-radius:var(--bcm-ui-border-radius,4px);border-bottom-right-radius:var(--bcm-ui-border-radius,4px);border-top-left-radius:0;border-top-right-radius:0}.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:var(--bcm-ui-border-radius-default,6px)}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--bcm-button-border\\]{border-color:var(--bcm-button-border)}.border-color-disabled{border-color:var(--bcm-ui-color-border-disabled)}.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:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);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)}.flex{display:flex}.max-h-\\[--dropdown-box-max-height\\]{max-height:var(--dropdown-box-max-height)}.min-w-\\[--dropdown-box-min-weight\\]{min-width:var(--dropdown-box-min-weight)}.max-w-\\[--dropdown-box-max-weight\\]{max-width:var(--dropdown-box-max-weight)}.flex-col{flex-direction:column}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-\\[--dropdown-box-background-color\\]{background-color:var(--dropdown-box-background-color)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}.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:Inter,sans-serif}.absolute{position:absolute}.z-\\[9999\\]{z-index:9999}.mx-auto{margin-left:auto;margin-right:auto}.hidden{display:none}.size-6{height:1.5rem;width:1.5rem}.h-2{height:.5rem}.w-4{width:1rem}.max-w-64{max-width:16rem}.max-w-80{max-width:20rem}.max-w-96{max-width:24rem}.flex-1{flex:1 1 0%}.flex-row{flex-direction:row}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-pretty{text-wrap:pretty}.rounded-\\[--popover-radius\\]{border-radius:var(--popover-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--popover-bg\\]{background-color:var(--popover-bg)}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.font-sans{font-family:Inter,sans-serif}.text-size-7{font-size:var(--bcm-ui-font-size-7,20px);line-height:var(--bcm-ui-line-height-7,28px)}.text-size-inherit{font-size:inherit;line-height:inherit}.font-semibold{font-weight:600}.\\!text-color-header{color:var(--bcm-ui-color-text-header)!important}.text-\\[--text-color\\]{color:var(--text-color)}.shadow,.shadow-2{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2{--tw-shadow:var(--bcm-ui-box-shadow-2);--tw-shadow-colored:var(--bcm-ui-box-shadow-2)}.hover\\:bg-gray-100:hover{background-color:oklch(.967 .003 264.542)}";
425
+ const buttonCss = ".relative{position:relative}:host{display:inline-block;position:relative}:host([full-width]){width:100%}:host([position=first]) .bcm-button{border-bottom-right-radius:0;border-top-right-radius:0}:host([position=middle]) .bcm-button{border-radius:0}:host([position=last]) .bcm-button{border-bottom-left-radius:0;border-top-left-radius:0}:host([position=first].orientation-vertical) .bcm-button{border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:var(--bcm-ui-border-radius,4px);border-top-right-radius:var(--bcm-ui-border-radius,4px)}:host([position=middle].orientation-vertical) .bcm-button{border-radius:0}:host([position=last].orientation-vertical) .bcm-button{border-bottom-left-radius:var(--bcm-ui-border-radius,4px);border-bottom-right-radius:var(--bcm-ui-border-radius,4px);border-top-left-radius:0;border-top-right-radius:0}.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:var(--bcm-ui-border-radius-default,6px)}.border{border-width:1px}.border-solid{border-style:solid}.border-\\[--bcm-final-border-color\\]{border-color:var(--bcm-final-border-color)}.border-color-disabled{border-color:var(--bcm-ui-color-border-disabled)}.bg-\\[--bcm-final-bg-color\\]{background-color:var(--bcm-final-bg-color)}.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-final-text-color\\]{color:var(--bcm-final-text-color)}.text-color-disabled{color:var(--bcm-ui-color-text-disabled)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);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-final-hover-bg-color\\]:hover{background-color:var(--bcm-final-hover-bg-color)}.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-final-active-bg-color\\]:active{background-color:var(--bcm-final-active-bg-color)}.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:Inter,sans-serif}.absolute{position:absolute}.z-\\[9999\\]{z-index:9999}.mx-auto{margin-left:auto;margin-right:auto}.flex{display:flex}.hidden{display:none}.size-6{height:1.5rem;width:1.5rem}.h-2{height:.5rem}.w-4{width:1rem}.max-w-64{max-width:16rem}.max-w-80{max-width:20rem}.max-w-96{max-width:24rem}.flex-1{flex:1 1 0%}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-2\\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.text-pretty{text-wrap:pretty}.rounded-\\[--popover-radius\\]{border-radius:var(--popover-radius)}.rounded-full{border-radius:var(--bcm-ui-border-radius-full,9999px)}.bg-\\[--popover-bg\\]{background-color:var(--popover-bg)}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.font-sans{font-family:Inter,sans-serif}.text-size-7{font-size:var(--bcm-ui-font-size-7,20px);line-height:var(--bcm-ui-line-height-7,28px)}.text-size-inherit{font-size:inherit;line-height:inherit}.font-semibold{font-weight:600}.\\!text-color-header{color:var(--bcm-ui-color-text-header)!important}.text-\\[--text-color\\]{color:var(--text-color)}.shadow,.shadow-2{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2{--tw-shadow:var(--bcm-ui-box-shadow-2);--tw-shadow-colored:var(--bcm-ui-box-shadow-2)}.hover\\:bg-gray-100:hover{background-color:oklch(.967 .003 264.542)}.max-h-\\[--dropdown-box-max-height\\]{max-height:var(--dropdown-box-max-height)}.min-w-\\[--dropdown-box-min-weight\\]{min-width:var(--dropdown-box-min-weight)}.max-w-\\[--dropdown-box-max-weight\\]{max-width:var(--dropdown-box-max-weight)}.rounded-lg{border-radius:var(--bcm-ui-border-radius-lg,8px)}.bg-\\[--dropdown-box-background-color\\]{background-color:var(--dropdown-box-background-color)}.py-1\\.5{padding-bottom:.375rem;padding-top:.375rem}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}";
426
426
  const BcmButtonStyle0 = buttonCss;
427
427
 
428
428
  const BcmButton = class {
@@ -483,9 +483,9 @@ const BcmButton = class {
483
483
  true: 'disabled cursor-not-allowed bg-[--bcm-ui-color-background-disabled-default] text-color-disabled border-color-disabled',
484
484
  false: [
485
485
  'cursor-pointer',
486
- 'bg-[--bcm-button-bg] text-[--bcm-button-text] border-[--bcm-button-border]',
487
- 'hover:bg-[--bcm-button-bg-hover]',
488
- 'active:bg-[--bcm-button-bg-active]',
486
+ 'bg-[--bcm-final-bg-color] text-[--bcm-final-text-color] border-[--bcm-final-border-color]',
487
+ 'hover:bg-[--bcm-final-hover-bg-color]',
488
+ 'active:bg-[--bcm-final-active-bg-color]',
489
489
  'focus-visible:ring',
490
490
  ],
491
491
  },
@@ -529,6 +529,7 @@ const BcmButton = class {
529
529
  }
530
530
  get buttonStyles() {
531
531
  const status = this.buttonStatus === 'default' ? 'primary' : this.buttonStatus;
532
+ // These are the internal default styles based on component props (kind, status)
532
533
  const kindStyleMap = {
533
534
  primary: {
534
535
  '--bcm-button-bg': `var(--bcm-ui-color-background-${status}-default)`,
@@ -559,18 +560,30 @@ const BcmButton = class {
559
560
  '--bcm-button-text': `var(--bcm-ui-color-text-${status})`,
560
561
  },
561
562
  };
562
- return kindStyleMap[this.kind];
563
+ const internalDefaultStyles = kindStyleMap[this.kind];
564
+ // These are the "final" CSS custom properties used by the component's styling.
565
+ // They use the "--bcm-button-custom-..." token if provided by the user,
566
+ // otherwise, they fall back to the internal "--bcm-button-..." style defined above.
567
+ const finalEffectiveStyles = {
568
+ '--bcm-final-text-color': `var(--bcm-button-custom-text-color, ${internalDefaultStyles['--bcm-button-text']})`,
569
+ '--bcm-final-border-color': `var(--bcm-button-custom-border-color, ${internalDefaultStyles['--bcm-button-border']})`,
570
+ '--bcm-final-bg-color': `var(--bcm-button-custom-bg-color, ${internalDefaultStyles['--bcm-button-bg']})`,
571
+ '--bcm-final-hover-bg-color': `var(--bcm-button-custom-hover-bg-color, ${internalDefaultStyles['--bcm-button-bg-hover']})`,
572
+ '--bcm-final-active-bg-color': `var(--bcm-button-custom-active-bg-color, ${internalDefaultStyles['--bcm-button-bg-active']})`,
573
+ };
574
+ // return kindStyleMap[this.kind];
575
+ return Object.assign(Object.assign({}, internalDefaultStyles), finalEffectiveStyles);
563
576
  }
564
577
  render() {
565
578
  const { icon, position } = this.buttonIcon;
566
- return (index.h(index.Host, { key: '3983c85df11a13f852af55310ba15a4099fe1f54' }, index.h("button", { key: 'a01a152f16e5a97197f17517d6cc225aacf1f7e0', 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({
579
+ return (index.h(index.Host, { key: '434cab012a2f174ca6b21f7484104ed9952daf38' }, index.h("button", { key: 'bf000fa02d836d0142e3f335b806c20afe10726b', 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({
567
580
  size: this.size,
568
581
  kind: this.kind,
569
582
  fullWidth: this.fullWidth,
570
583
  disabled: this.disabled,
571
584
  loading: this.loading,
572
585
  position: this.position,
573
- }) }, this.loading && index.h("slot", { key: '161b90eebdc8157163aaeda1ce542fe87c60db78', name: "loading" }), index.h("span", { key: '6c63908979e465eea1cc358bf4c87f0710891d41' }, index.h("slot", { key: 'c2931b0dfff2ff00730addc734cb0f24b24ea4ba', name: "prefix" }, position === 'prefix' && icon && index.h("i", { key: 'cab571f159ae0b6d87862acc4b187fd42189d574', class: ' leading-none ' + icon }))), index.h("slot", { key: '387a3f7452b7cfc5ad6484743ad3a02aa0d8427e' }, this.buttonText), index.h("span", { key: '19db4a9fe4b85df6fd85ebad6eac2d7c82313820' }, index.h("slot", { key: '4f1169aed2c8e446b267139ece8b5db01d9f1da3', name: "suffix" }, position === 'suffix' && icon && index.h("i", { key: '67355ba68078bc921d99ebb7d3b8d5bc7c0f2776', class: ' leading-none ' + icon }))))));
586
+ }) }, this.loading && index.h("slot", { key: 'c95198f7776c10c7b380c8f2c3c73a05517a72c8', name: "loading" }), index.h("span", { key: '3433ff03ba933966cab816a8f9882c51b647549d' }, index.h("slot", { key: 'd1027e43b007789d1da57ace2b2f2da585434604', name: "prefix" }, position === 'prefix' && icon && index.h("i", { key: '0be135da5ee717f885f56298e9886112ad44767f', class: ' leading-none ' + icon }))), index.h("slot", { key: '13dc3c513cc364615e15c7074729219a251c8756' }, this.buttonText), index.h("span", { key: '5dab9df786eec4ed2554df88ffbfea8c6a324c1f' }, index.h("slot", { key: 'ca80a898105d9d310fea2b34f9b6c9fe282a7eb0', name: "suffix" }, position === 'suffix' && icon && index.h("i", { key: '57d3a187cf7af1d6ebc289c472579aa973fc6c86', class: ' leading-none ' + icon }))))));
574
587
  }
575
588
  };
576
589
  BcmButton.style = BcmButtonStyle0;