@blotoutio/providers-evo-search-sdk 1.51.0 → 1.51.2

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 (4) hide show
  1. package/index.cjs.js +125 -21
  2. package/index.js +125 -21
  3. package/index.mjs +125 -21
  4. package/package.json +1 -1
package/index.cjs.js CHANGED
@@ -4538,7 +4538,60 @@ const getDefaultConfig = () => {
4538
4538
  };
4539
4539
  const twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
4540
4540
 
4541
- class BTLucideIcon extends i {
4541
+ var _ElementWithStylesheet_sheet$1;
4542
+ const TWLitElement$1 = TW(i);
4543
+ /**
4544
+ * Base class for Lit elements that support custom CSS injection via the `css`
4545
+ * and `annotationCss` properties. Automatically manages an adopted stylesheet
4546
+ * that updates when either property changes.
4547
+ */
4548
+ let ElementWithStylesheet$1 = class ElementWithStylesheet extends TWLitElement$1 {
4549
+ constructor() {
4550
+ super(...arguments);
4551
+ _ElementWithStylesheet_sheet$1.set(this, null);
4552
+ }
4553
+ connectedCallback() {
4554
+ super.connectedCallback();
4555
+ this.updateAdoptedStylesheet();
4556
+ }
4557
+ updated(changedProperties) {
4558
+ super.updated(changedProperties);
4559
+ if (changedProperties.has('css') ||
4560
+ changedProperties.has('annotationCss')) {
4561
+ this.updateAdoptedStylesheet();
4562
+ }
4563
+ }
4564
+ updateAdoptedStylesheet() {
4565
+ var _a, _b;
4566
+ if (!this.shadowRoot) {
4567
+ return;
4568
+ }
4569
+ if (!__classPrivateFieldGet(this, _ElementWithStylesheet_sheet$1, "f")) {
4570
+ __classPrivateFieldSet(this, _ElementWithStylesheet_sheet$1, new CSSStyleSheet(), "f");
4571
+ this.shadowRoot.adoptedStyleSheets = [
4572
+ ...this.shadowRoot.adoptedStyleSheets,
4573
+ __classPrivateFieldGet(this, _ElementWithStylesheet_sheet$1, "f"),
4574
+ ];
4575
+ }
4576
+ try {
4577
+ __classPrivateFieldGet(this, _ElementWithStylesheet_sheet$1, "f").replaceSync(((_a = this.css) !== null && _a !== void 0 ? _a : '') + ((_b = this.annotationCss) !== null && _b !== void 0 ? _b : ''));
4578
+ }
4579
+ catch {
4580
+ // ignore malformed CSS to avoid runtime errors from user-supplied input
4581
+ }
4582
+ }
4583
+ };
4584
+ _ElementWithStylesheet_sheet$1 = new WeakMap();
4585
+ __decorate([
4586
+ n$1({ type: String }),
4587
+ __metadata("design:type", String)
4588
+ ], ElementWithStylesheet$1.prototype, "css", void 0);
4589
+ __decorate([
4590
+ n$1({ type: String }),
4591
+ __metadata("design:type", String)
4592
+ ], ElementWithStylesheet$1.prototype, "annotationCss", void 0);
4593
+
4594
+ class BTLucideIcon extends ElementWithStylesheet$1 {
4542
4595
  constructor() {
4543
4596
  super(...arguments);
4544
4597
  this.width = 24;
@@ -4553,6 +4606,12 @@ class BTLucideIcon extends i {
4553
4606
  * Default is empty string. Use to add custom styling (e.g. margin, padding) around the icon.
4554
4607
  */
4555
4608
  this.iconWrapperClass = '';
4609
+ /**
4610
+ * Value applied as `data-annotation` on the icon wrapper div.
4611
+ * Used by consent-banner annotation overlay to label the inner element without
4612
+ * leaking unrelated utility classes via `attr(class)`.
4613
+ */
4614
+ this.iconWrapperDataAnnotation = '';
4556
4615
  }
4557
4616
  render() {
4558
4617
  if (!this.name) {
@@ -4568,7 +4627,10 @@ class BTLucideIcon extends i {
4568
4627
  'stroke-linecap': this.strokeLinecap,
4569
4628
  'stroke-linejoin': this.strokeLinejoin,
4570
4629
  });
4571
- return b `<div class=${twMerge('icon-wrapper', this.iconWrapperClass)}>
4630
+ return b `<div
4631
+ class=${twMerge('icon-wrapper', this.iconWrapperClass)}
4632
+ data-annotation=${this.iconWrapperDataAnnotation || A}
4633
+ >
4572
4634
  ${iconElement}
4573
4635
  </div>`;
4574
4636
  }
@@ -4632,11 +4694,15 @@ __decorate([
4632
4694
  n$1({ type: String, attribute: 'icon-wrapper-class' }),
4633
4695
  __metadata("design:type", Object)
4634
4696
  ], BTLucideIcon.prototype, "iconWrapperClass", void 0);
4697
+ __decorate([
4698
+ n$1({ type: String, attribute: 'icon-wrapper-data-annotation' }),
4699
+ __metadata("design:type", Object)
4700
+ ], BTLucideIcon.prototype, "iconWrapperDataAnnotation", void 0);
4635
4701
  if (!customElements.get('bt-lucide-icon')) {
4636
4702
  customElements.define('bt-lucide-icon', BTLucideIcon);
4637
4703
  }
4638
4704
 
4639
- const TwLitElement$7 = TW(i);
4705
+ const TwLitElement$2 = TW(i);
4640
4706
  const carouselSizeVariants = cva('relative', {
4641
4707
  variants: {
4642
4708
  size: {
@@ -4651,7 +4717,7 @@ const carouselContentClasses = 'flex gap-2 overflow-x-auto whitespace-nowrap [-m
4651
4717
  const navButtonClasses = 'absolute top-1/2 -translate-y-1/2 z-10 w-8 h-8 rounded-full cursor-pointer flex items-center justify-center text-black bg-neutral-20 border border-neutral-40 opacity-0 transition-opacity duration-200 ease-in-out';
4652
4718
  const navButtonLeftClasses = 'left-2';
4653
4719
  const navButtonRightClasses = 'right-2';
4654
- class BTCarousel extends TwLitElement$7 {
4720
+ class BTCarousel extends TwLitElement$2 {
4655
4721
  constructor() {
4656
4722
  super(...arguments);
4657
4723
  this.selectable = false;
@@ -4835,7 +4901,7 @@ if (!customElements.get('bt-carousel')) {
4835
4901
  customElements.define('bt-carousel', BTCarousel);
4836
4902
  }
4837
4903
 
4838
- const TwLitElement$6 = TW(i);
4904
+ const TwLitElement$1 = TW(i);
4839
4905
  const pillVariants = cva('inline-flex items-center justify-center bg-white rounded-full border cursor-pointer select-none min-w-0 shrink-0 font-normal', {
4840
4906
  variants: {
4841
4907
  variant: {
@@ -4853,7 +4919,7 @@ const pillVariants = cva('inline-flex items-center justify-center bg-white round
4853
4919
  size: 'md',
4854
4920
  },
4855
4921
  });
4856
- class BTPill extends TwLitElement$6 {
4922
+ class BTPill extends TwLitElement$1 {
4857
4923
  constructor() {
4858
4924
  super(...arguments);
4859
4925
  this.selected = false;
@@ -4894,7 +4960,6 @@ if (!customElements.get('bt-pill')) {
4894
4960
  customElements.define('bt-pill', BTPill);
4895
4961
  }
4896
4962
 
4897
- const TwLitElement$5 = TW(i);
4898
4963
  const buttonVariants = cva('inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer', {
4899
4964
  variants: {
4900
4965
  variant: {
@@ -4917,10 +4982,11 @@ const buttonVariants = cva('inline-flex items-center justify-center gap-2 whites
4917
4982
  size: 'default',
4918
4983
  },
4919
4984
  });
4920
- class BTButton extends TwLitElement$5 {
4985
+ class BTButton extends ElementWithStylesheet$1 {
4921
4986
  constructor() {
4922
4987
  super(...arguments);
4923
4988
  this.buttonClass = '';
4989
+ this.buttonDataAnnotation = '';
4924
4990
  this.disabled = false;
4925
4991
  this.loading = false;
4926
4992
  }
@@ -4931,6 +4997,7 @@ class BTButton extends TwLitElement$5 {
4931
4997
  variant: this.variant,
4932
4998
  size: this.size,
4933
4999
  }), this.buttonClass)}
5000
+ data-annotation=${this.buttonDataAnnotation || A}
4934
5001
  ?disabled=${isDisabled}
4935
5002
  >
4936
5003
  ${this.loading
@@ -4954,6 +5021,10 @@ __decorate([
4954
5021
  n$1({ type: String, attribute: 'button-class' }),
4955
5022
  __metadata("design:type", Object)
4956
5023
  ], BTButton.prototype, "buttonClass", void 0);
5024
+ __decorate([
5025
+ n$1({ type: String, attribute: 'button-data-annotation' }),
5026
+ __metadata("design:type", Object)
5027
+ ], BTButton.prototype, "buttonDataAnnotation", void 0);
4957
5028
  __decorate([
4958
5029
  n$1({ type: Boolean }),
4959
5030
  __metadata("design:type", Object)
@@ -4966,8 +5037,8 @@ if (!customElements.get('bt-button')) {
4966
5037
  customElements.define('bt-button', BTButton);
4967
5038
  }
4968
5039
 
4969
- const TwLitElement$4 = TW(i);
4970
- class BTHelperText extends TwLitElement$4 {
5040
+ const TwLitElement = TW(i);
5041
+ class BTHelperText extends TwLitElement {
4971
5042
  render() {
4972
5043
  return b `<div class="text-[0.8rem] text-muted-foreground">
4973
5044
  <slot></slot>
@@ -4978,12 +5049,12 @@ if (!customElements.get('bt-helper-text')) {
4978
5049
  customElements.define('bt-helper-text', BTHelperText);
4979
5050
  }
4980
5051
 
4981
- const TwLitElement$3 = TW(i);
4982
5052
  const inputVariants = cva('flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40');
4983
- class BTInput extends TwLitElement$3 {
5053
+ class BTInput extends ElementWithStylesheet$1 {
4984
5054
  constructor() {
4985
5055
  super(...arguments);
4986
5056
  this.inputClass = '';
5057
+ this.inputDataAnnotation = '';
4987
5058
  this.type = 'text';
4988
5059
  this.placeholder = '';
4989
5060
  this.value = '';
@@ -4999,6 +5070,7 @@ class BTInput extends TwLitElement$3 {
4999
5070
  <slot name="label"></slot>
5000
5071
  <input
5001
5072
  class=${twMerge(inputVariants(), this.inputClass)}
5073
+ data-annotation=${this.inputDataAnnotation || A}
5002
5074
  .type=${(_a = this.type) !== null && _a !== void 0 ? _a : 'text'}
5003
5075
  .placeholder=${(_b = this.placeholder) !== null && _b !== void 0 ? _b : ''}
5004
5076
  .value=${(_c = this.value) !== null && _c !== void 0 ? _c : ''}
@@ -5012,9 +5084,13 @@ class BTInput extends TwLitElement$3 {
5012
5084
  }
5013
5085
  }
5014
5086
  __decorate([
5015
- n$1({ type: String }),
5087
+ n$1({ type: String, attribute: 'input-class' }),
5016
5088
  __metadata("design:type", Object)
5017
5089
  ], BTInput.prototype, "inputClass", void 0);
5090
+ __decorate([
5091
+ n$1({ type: String, attribute: 'input-data-annotation' }),
5092
+ __metadata("design:type", Object)
5093
+ ], BTInput.prototype, "inputDataAnnotation", void 0);
5018
5094
  __decorate([
5019
5095
  n$1({ type: String }),
5020
5096
  __metadata("design:type", Object)
@@ -5043,29 +5119,43 @@ if (!customElements.get('bt-input')) {
5043
5119
  customElements.define('bt-input', BTInput);
5044
5120
  }
5045
5121
 
5046
- const TwLitElement$2 = TW(i);
5047
- class BTLabel extends TwLitElement$2 {
5122
+ class BTLabel extends ElementWithStylesheet$1 {
5123
+ constructor() {
5124
+ super(...arguments);
5125
+ this.labelClass = '';
5126
+ this.labelDataAnnotation = '';
5127
+ }
5048
5128
  render() {
5049
5129
  return b `<label
5050
- class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
5130
+ class=${twMerge('text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70', this.labelClass)}
5131
+ data-annotation=${this.labelDataAnnotation || A}
5051
5132
  >
5052
5133
  <slot></slot>
5053
5134
  </label>`;
5054
5135
  }
5055
5136
  }
5137
+ __decorate([
5138
+ n$1({ type: String, attribute: 'label-class' }),
5139
+ __metadata("design:type", Object)
5140
+ ], BTLabel.prototype, "labelClass", void 0);
5141
+ __decorate([
5142
+ n$1({ type: String, attribute: 'label-data-annotation' }),
5143
+ __metadata("design:type", Object)
5144
+ ], BTLabel.prototype, "labelDataAnnotation", void 0);
5056
5145
  if (!customElements.get('bt-label')) {
5057
5146
  customElements.define('bt-label', BTLabel);
5058
5147
  }
5059
5148
 
5060
- const TwLitElement$1 = TW(i);
5061
- class BTCardWrapper extends TwLitElement$1 {
5149
+ class BTCardWrapper extends ElementWithStylesheet$1 {
5062
5150
  constructor() {
5063
5151
  super(...arguments);
5064
5152
  this.cardWrapperClass = '';
5153
+ this.cardWrapperDataAnnotation = '';
5065
5154
  }
5066
5155
  render() {
5067
5156
  return b `<div
5068
5157
  class=${twMerge('rounded-lg border border-border bg-card text-card-foreground shadow shadow-sm px-4 py-3', this.cardWrapperClass)}
5158
+ data-annotation=${this.cardWrapperDataAnnotation || A}
5069
5159
  >
5070
5160
  <slot></slot>
5071
5161
  </div>`;
@@ -5083,11 +5173,14 @@ __decorate([
5083
5173
  n$1({ type: String, attribute: 'card-wrapper-class' }),
5084
5174
  __metadata("design:type", Object)
5085
5175
  ], BTCardWrapper.prototype, "cardWrapperClass", void 0);
5176
+ __decorate([
5177
+ n$1({ type: String, attribute: 'card-wrapper-data-annotation' }),
5178
+ __metadata("design:type", Object)
5179
+ ], BTCardWrapper.prototype, "cardWrapperDataAnnotation", void 0);
5086
5180
  if (!customElements.get('bt-card-wrapper')) {
5087
5181
  customElements.define('bt-card-wrapper', BTCardWrapper);
5088
5182
  }
5089
5183
 
5090
- const TwLitElement = TW(i);
5091
5184
  /**
5092
5185
  * A toggle switch component that allows users to switch between checked and unchecked states.
5093
5186
  *
@@ -5099,12 +5192,14 @@ const TwLitElement = TW(i);
5099
5192
  * <bt-switch size="sm" disabled></bt-switch>
5100
5193
  * ```
5101
5194
  */
5102
- class BTSwitch extends TwLitElement {
5195
+ class BTSwitch extends ElementWithStylesheet$1 {
5103
5196
  constructor() {
5104
5197
  super(...arguments);
5105
5198
  this.checked = false;
5106
5199
  this.disabled = false;
5107
5200
  this.size = 'default';
5201
+ this.switchClass = '';
5202
+ this.switchDataAnnotation = '';
5108
5203
  this.toggle = () => {
5109
5204
  if (this.disabled)
5110
5205
  return;
@@ -5140,7 +5235,8 @@ class BTSwitch extends TwLitElement {
5140
5235
  aria-checked=${this.checked ? 'true' : 'false'}
5141
5236
  data-state=${state}
5142
5237
  data-disabled=${this.disabled ? 'true' : 'false'}
5143
- class="data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-[state=unchecked]:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50 cursor-pointer"
5238
+ class=${twMerge('data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-[state=unchecked]:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50 cursor-pointer', this.switchClass)}
5239
+ data-annotation=${this.switchDataAnnotation || A}
5144
5240
  @click=${this.onClick}
5145
5241
  @keydown=${this.onKeyDown}
5146
5242
  >
@@ -5174,6 +5270,14 @@ __decorate([
5174
5270
  }),
5175
5271
  __metadata("design:type", String)
5176
5272
  ], BTSwitch.prototype, "size", void 0);
5273
+ __decorate([
5274
+ n$1({ type: String, attribute: 'switch-class' }),
5275
+ __metadata("design:type", Object)
5276
+ ], BTSwitch.prototype, "switchClass", void 0);
5277
+ __decorate([
5278
+ n$1({ type: String, attribute: 'switch-data-annotation' }),
5279
+ __metadata("design:type", Object)
5280
+ ], BTSwitch.prototype, "switchDataAnnotation", void 0);
5177
5281
  if (!customElements.get('bt-switch')) {
5178
5282
  customElements.define('bt-switch', BTSwitch);
5179
5283
  }
package/index.js CHANGED
@@ -4539,7 +4539,60 @@ var ProvidersEvoSearchSdk = (function () {
4539
4539
  };
4540
4540
  const twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
4541
4541
 
4542
- class BTLucideIcon extends i {
4542
+ var _ElementWithStylesheet_sheet$1;
4543
+ const TWLitElement$1 = TW(i);
4544
+ /**
4545
+ * Base class for Lit elements that support custom CSS injection via the `css`
4546
+ * and `annotationCss` properties. Automatically manages an adopted stylesheet
4547
+ * that updates when either property changes.
4548
+ */
4549
+ let ElementWithStylesheet$1 = class ElementWithStylesheet extends TWLitElement$1 {
4550
+ constructor() {
4551
+ super(...arguments);
4552
+ _ElementWithStylesheet_sheet$1.set(this, null);
4553
+ }
4554
+ connectedCallback() {
4555
+ super.connectedCallback();
4556
+ this.updateAdoptedStylesheet();
4557
+ }
4558
+ updated(changedProperties) {
4559
+ super.updated(changedProperties);
4560
+ if (changedProperties.has('css') ||
4561
+ changedProperties.has('annotationCss')) {
4562
+ this.updateAdoptedStylesheet();
4563
+ }
4564
+ }
4565
+ updateAdoptedStylesheet() {
4566
+ var _a, _b;
4567
+ if (!this.shadowRoot) {
4568
+ return;
4569
+ }
4570
+ if (!__classPrivateFieldGet(this, _ElementWithStylesheet_sheet$1, "f")) {
4571
+ __classPrivateFieldSet(this, _ElementWithStylesheet_sheet$1, new CSSStyleSheet(), "f");
4572
+ this.shadowRoot.adoptedStyleSheets = [
4573
+ ...this.shadowRoot.adoptedStyleSheets,
4574
+ __classPrivateFieldGet(this, _ElementWithStylesheet_sheet$1, "f"),
4575
+ ];
4576
+ }
4577
+ try {
4578
+ __classPrivateFieldGet(this, _ElementWithStylesheet_sheet$1, "f").replaceSync(((_a = this.css) !== null && _a !== void 0 ? _a : '') + ((_b = this.annotationCss) !== null && _b !== void 0 ? _b : ''));
4579
+ }
4580
+ catch {
4581
+ // ignore malformed CSS to avoid runtime errors from user-supplied input
4582
+ }
4583
+ }
4584
+ };
4585
+ _ElementWithStylesheet_sheet$1 = new WeakMap();
4586
+ __decorate([
4587
+ n$1({ type: String }),
4588
+ __metadata("design:type", String)
4589
+ ], ElementWithStylesheet$1.prototype, "css", void 0);
4590
+ __decorate([
4591
+ n$1({ type: String }),
4592
+ __metadata("design:type", String)
4593
+ ], ElementWithStylesheet$1.prototype, "annotationCss", void 0);
4594
+
4595
+ class BTLucideIcon extends ElementWithStylesheet$1 {
4543
4596
  constructor() {
4544
4597
  super(...arguments);
4545
4598
  this.width = 24;
@@ -4554,6 +4607,12 @@ var ProvidersEvoSearchSdk = (function () {
4554
4607
  * Default is empty string. Use to add custom styling (e.g. margin, padding) around the icon.
4555
4608
  */
4556
4609
  this.iconWrapperClass = '';
4610
+ /**
4611
+ * Value applied as `data-annotation` on the icon wrapper div.
4612
+ * Used by consent-banner annotation overlay to label the inner element without
4613
+ * leaking unrelated utility classes via `attr(class)`.
4614
+ */
4615
+ this.iconWrapperDataAnnotation = '';
4557
4616
  }
4558
4617
  render() {
4559
4618
  if (!this.name) {
@@ -4569,7 +4628,10 @@ var ProvidersEvoSearchSdk = (function () {
4569
4628
  'stroke-linecap': this.strokeLinecap,
4570
4629
  'stroke-linejoin': this.strokeLinejoin,
4571
4630
  });
4572
- return b `<div class=${twMerge('icon-wrapper', this.iconWrapperClass)}>
4631
+ return b `<div
4632
+ class=${twMerge('icon-wrapper', this.iconWrapperClass)}
4633
+ data-annotation=${this.iconWrapperDataAnnotation || A}
4634
+ >
4573
4635
  ${iconElement}
4574
4636
  </div>`;
4575
4637
  }
@@ -4633,11 +4695,15 @@ var ProvidersEvoSearchSdk = (function () {
4633
4695
  n$1({ type: String, attribute: 'icon-wrapper-class' }),
4634
4696
  __metadata("design:type", Object)
4635
4697
  ], BTLucideIcon.prototype, "iconWrapperClass", void 0);
4698
+ __decorate([
4699
+ n$1({ type: String, attribute: 'icon-wrapper-data-annotation' }),
4700
+ __metadata("design:type", Object)
4701
+ ], BTLucideIcon.prototype, "iconWrapperDataAnnotation", void 0);
4636
4702
  if (!customElements.get('bt-lucide-icon')) {
4637
4703
  customElements.define('bt-lucide-icon', BTLucideIcon);
4638
4704
  }
4639
4705
 
4640
- const TwLitElement$7 = TW(i);
4706
+ const TwLitElement$2 = TW(i);
4641
4707
  const carouselSizeVariants = cva('relative', {
4642
4708
  variants: {
4643
4709
  size: {
@@ -4652,7 +4718,7 @@ var ProvidersEvoSearchSdk = (function () {
4652
4718
  const navButtonClasses = 'absolute top-1/2 -translate-y-1/2 z-10 w-8 h-8 rounded-full cursor-pointer flex items-center justify-center text-black bg-neutral-20 border border-neutral-40 opacity-0 transition-opacity duration-200 ease-in-out';
4653
4719
  const navButtonLeftClasses = 'left-2';
4654
4720
  const navButtonRightClasses = 'right-2';
4655
- class BTCarousel extends TwLitElement$7 {
4721
+ class BTCarousel extends TwLitElement$2 {
4656
4722
  constructor() {
4657
4723
  super(...arguments);
4658
4724
  this.selectable = false;
@@ -4836,7 +4902,7 @@ var ProvidersEvoSearchSdk = (function () {
4836
4902
  customElements.define('bt-carousel', BTCarousel);
4837
4903
  }
4838
4904
 
4839
- const TwLitElement$6 = TW(i);
4905
+ const TwLitElement$1 = TW(i);
4840
4906
  const pillVariants = cva('inline-flex items-center justify-center bg-white rounded-full border cursor-pointer select-none min-w-0 shrink-0 font-normal', {
4841
4907
  variants: {
4842
4908
  variant: {
@@ -4854,7 +4920,7 @@ var ProvidersEvoSearchSdk = (function () {
4854
4920
  size: 'md',
4855
4921
  },
4856
4922
  });
4857
- class BTPill extends TwLitElement$6 {
4923
+ class BTPill extends TwLitElement$1 {
4858
4924
  constructor() {
4859
4925
  super(...arguments);
4860
4926
  this.selected = false;
@@ -4895,7 +4961,6 @@ var ProvidersEvoSearchSdk = (function () {
4895
4961
  customElements.define('bt-pill', BTPill);
4896
4962
  }
4897
4963
 
4898
- const TwLitElement$5 = TW(i);
4899
4964
  const buttonVariants = cva('inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer', {
4900
4965
  variants: {
4901
4966
  variant: {
@@ -4918,10 +4983,11 @@ var ProvidersEvoSearchSdk = (function () {
4918
4983
  size: 'default',
4919
4984
  },
4920
4985
  });
4921
- class BTButton extends TwLitElement$5 {
4986
+ class BTButton extends ElementWithStylesheet$1 {
4922
4987
  constructor() {
4923
4988
  super(...arguments);
4924
4989
  this.buttonClass = '';
4990
+ this.buttonDataAnnotation = '';
4925
4991
  this.disabled = false;
4926
4992
  this.loading = false;
4927
4993
  }
@@ -4932,6 +4998,7 @@ var ProvidersEvoSearchSdk = (function () {
4932
4998
  variant: this.variant,
4933
4999
  size: this.size,
4934
5000
  }), this.buttonClass)}
5001
+ data-annotation=${this.buttonDataAnnotation || A}
4935
5002
  ?disabled=${isDisabled}
4936
5003
  >
4937
5004
  ${this.loading
@@ -4955,6 +5022,10 @@ var ProvidersEvoSearchSdk = (function () {
4955
5022
  n$1({ type: String, attribute: 'button-class' }),
4956
5023
  __metadata("design:type", Object)
4957
5024
  ], BTButton.prototype, "buttonClass", void 0);
5025
+ __decorate([
5026
+ n$1({ type: String, attribute: 'button-data-annotation' }),
5027
+ __metadata("design:type", Object)
5028
+ ], BTButton.prototype, "buttonDataAnnotation", void 0);
4958
5029
  __decorate([
4959
5030
  n$1({ type: Boolean }),
4960
5031
  __metadata("design:type", Object)
@@ -4967,8 +5038,8 @@ var ProvidersEvoSearchSdk = (function () {
4967
5038
  customElements.define('bt-button', BTButton);
4968
5039
  }
4969
5040
 
4970
- const TwLitElement$4 = TW(i);
4971
- class BTHelperText extends TwLitElement$4 {
5041
+ const TwLitElement = TW(i);
5042
+ class BTHelperText extends TwLitElement {
4972
5043
  render() {
4973
5044
  return b `<div class="text-[0.8rem] text-muted-foreground">
4974
5045
  <slot></slot>
@@ -4979,12 +5050,12 @@ var ProvidersEvoSearchSdk = (function () {
4979
5050
  customElements.define('bt-helper-text', BTHelperText);
4980
5051
  }
4981
5052
 
4982
- const TwLitElement$3 = TW(i);
4983
5053
  const inputVariants = cva('flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40');
4984
- class BTInput extends TwLitElement$3 {
5054
+ class BTInput extends ElementWithStylesheet$1 {
4985
5055
  constructor() {
4986
5056
  super(...arguments);
4987
5057
  this.inputClass = '';
5058
+ this.inputDataAnnotation = '';
4988
5059
  this.type = 'text';
4989
5060
  this.placeholder = '';
4990
5061
  this.value = '';
@@ -5000,6 +5071,7 @@ var ProvidersEvoSearchSdk = (function () {
5000
5071
  <slot name="label"></slot>
5001
5072
  <input
5002
5073
  class=${twMerge(inputVariants(), this.inputClass)}
5074
+ data-annotation=${this.inputDataAnnotation || A}
5003
5075
  .type=${(_a = this.type) !== null && _a !== void 0 ? _a : 'text'}
5004
5076
  .placeholder=${(_b = this.placeholder) !== null && _b !== void 0 ? _b : ''}
5005
5077
  .value=${(_c = this.value) !== null && _c !== void 0 ? _c : ''}
@@ -5013,9 +5085,13 @@ var ProvidersEvoSearchSdk = (function () {
5013
5085
  }
5014
5086
  }
5015
5087
  __decorate([
5016
- n$1({ type: String }),
5088
+ n$1({ type: String, attribute: 'input-class' }),
5017
5089
  __metadata("design:type", Object)
5018
5090
  ], BTInput.prototype, "inputClass", void 0);
5091
+ __decorate([
5092
+ n$1({ type: String, attribute: 'input-data-annotation' }),
5093
+ __metadata("design:type", Object)
5094
+ ], BTInput.prototype, "inputDataAnnotation", void 0);
5019
5095
  __decorate([
5020
5096
  n$1({ type: String }),
5021
5097
  __metadata("design:type", Object)
@@ -5044,29 +5120,43 @@ var ProvidersEvoSearchSdk = (function () {
5044
5120
  customElements.define('bt-input', BTInput);
5045
5121
  }
5046
5122
 
5047
- const TwLitElement$2 = TW(i);
5048
- class BTLabel extends TwLitElement$2 {
5123
+ class BTLabel extends ElementWithStylesheet$1 {
5124
+ constructor() {
5125
+ super(...arguments);
5126
+ this.labelClass = '';
5127
+ this.labelDataAnnotation = '';
5128
+ }
5049
5129
  render() {
5050
5130
  return b `<label
5051
- class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
5131
+ class=${twMerge('text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70', this.labelClass)}
5132
+ data-annotation=${this.labelDataAnnotation || A}
5052
5133
  >
5053
5134
  <slot></slot>
5054
5135
  </label>`;
5055
5136
  }
5056
5137
  }
5138
+ __decorate([
5139
+ n$1({ type: String, attribute: 'label-class' }),
5140
+ __metadata("design:type", Object)
5141
+ ], BTLabel.prototype, "labelClass", void 0);
5142
+ __decorate([
5143
+ n$1({ type: String, attribute: 'label-data-annotation' }),
5144
+ __metadata("design:type", Object)
5145
+ ], BTLabel.prototype, "labelDataAnnotation", void 0);
5057
5146
  if (!customElements.get('bt-label')) {
5058
5147
  customElements.define('bt-label', BTLabel);
5059
5148
  }
5060
5149
 
5061
- const TwLitElement$1 = TW(i);
5062
- class BTCardWrapper extends TwLitElement$1 {
5150
+ class BTCardWrapper extends ElementWithStylesheet$1 {
5063
5151
  constructor() {
5064
5152
  super(...arguments);
5065
5153
  this.cardWrapperClass = '';
5154
+ this.cardWrapperDataAnnotation = '';
5066
5155
  }
5067
5156
  render() {
5068
5157
  return b `<div
5069
5158
  class=${twMerge('rounded-lg border border-border bg-card text-card-foreground shadow shadow-sm px-4 py-3', this.cardWrapperClass)}
5159
+ data-annotation=${this.cardWrapperDataAnnotation || A}
5070
5160
  >
5071
5161
  <slot></slot>
5072
5162
  </div>`;
@@ -5084,11 +5174,14 @@ var ProvidersEvoSearchSdk = (function () {
5084
5174
  n$1({ type: String, attribute: 'card-wrapper-class' }),
5085
5175
  __metadata("design:type", Object)
5086
5176
  ], BTCardWrapper.prototype, "cardWrapperClass", void 0);
5177
+ __decorate([
5178
+ n$1({ type: String, attribute: 'card-wrapper-data-annotation' }),
5179
+ __metadata("design:type", Object)
5180
+ ], BTCardWrapper.prototype, "cardWrapperDataAnnotation", void 0);
5087
5181
  if (!customElements.get('bt-card-wrapper')) {
5088
5182
  customElements.define('bt-card-wrapper', BTCardWrapper);
5089
5183
  }
5090
5184
 
5091
- const TwLitElement = TW(i);
5092
5185
  /**
5093
5186
  * A toggle switch component that allows users to switch between checked and unchecked states.
5094
5187
  *
@@ -5100,12 +5193,14 @@ var ProvidersEvoSearchSdk = (function () {
5100
5193
  * <bt-switch size="sm" disabled></bt-switch>
5101
5194
  * ```
5102
5195
  */
5103
- class BTSwitch extends TwLitElement {
5196
+ class BTSwitch extends ElementWithStylesheet$1 {
5104
5197
  constructor() {
5105
5198
  super(...arguments);
5106
5199
  this.checked = false;
5107
5200
  this.disabled = false;
5108
5201
  this.size = 'default';
5202
+ this.switchClass = '';
5203
+ this.switchDataAnnotation = '';
5109
5204
  this.toggle = () => {
5110
5205
  if (this.disabled)
5111
5206
  return;
@@ -5141,7 +5236,8 @@ var ProvidersEvoSearchSdk = (function () {
5141
5236
  aria-checked=${this.checked ? 'true' : 'false'}
5142
5237
  data-state=${state}
5143
5238
  data-disabled=${this.disabled ? 'true' : 'false'}
5144
- class="data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-[state=unchecked]:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50 cursor-pointer"
5239
+ class=${twMerge('data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-[state=unchecked]:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50 cursor-pointer', this.switchClass)}
5240
+ data-annotation=${this.switchDataAnnotation || A}
5145
5241
  @click=${this.onClick}
5146
5242
  @keydown=${this.onKeyDown}
5147
5243
  >
@@ -5175,6 +5271,14 @@ var ProvidersEvoSearchSdk = (function () {
5175
5271
  }),
5176
5272
  __metadata("design:type", String)
5177
5273
  ], BTSwitch.prototype, "size", void 0);
5274
+ __decorate([
5275
+ n$1({ type: String, attribute: 'switch-class' }),
5276
+ __metadata("design:type", Object)
5277
+ ], BTSwitch.prototype, "switchClass", void 0);
5278
+ __decorate([
5279
+ n$1({ type: String, attribute: 'switch-data-annotation' }),
5280
+ __metadata("design:type", Object)
5281
+ ], BTSwitch.prototype, "switchDataAnnotation", void 0);
5178
5282
  if (!customElements.get('bt-switch')) {
5179
5283
  customElements.define('bt-switch', BTSwitch);
5180
5284
  }
package/index.mjs CHANGED
@@ -4536,7 +4536,60 @@ const getDefaultConfig = () => {
4536
4536
  };
4537
4537
  const twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);
4538
4538
 
4539
- class BTLucideIcon extends i {
4539
+ var _ElementWithStylesheet_sheet$1;
4540
+ const TWLitElement$1 = TW(i);
4541
+ /**
4542
+ * Base class for Lit elements that support custom CSS injection via the `css`
4543
+ * and `annotationCss` properties. Automatically manages an adopted stylesheet
4544
+ * that updates when either property changes.
4545
+ */
4546
+ let ElementWithStylesheet$1 = class ElementWithStylesheet extends TWLitElement$1 {
4547
+ constructor() {
4548
+ super(...arguments);
4549
+ _ElementWithStylesheet_sheet$1.set(this, null);
4550
+ }
4551
+ connectedCallback() {
4552
+ super.connectedCallback();
4553
+ this.updateAdoptedStylesheet();
4554
+ }
4555
+ updated(changedProperties) {
4556
+ super.updated(changedProperties);
4557
+ if (changedProperties.has('css') ||
4558
+ changedProperties.has('annotationCss')) {
4559
+ this.updateAdoptedStylesheet();
4560
+ }
4561
+ }
4562
+ updateAdoptedStylesheet() {
4563
+ var _a, _b;
4564
+ if (!this.shadowRoot) {
4565
+ return;
4566
+ }
4567
+ if (!__classPrivateFieldGet(this, _ElementWithStylesheet_sheet$1, "f")) {
4568
+ __classPrivateFieldSet(this, _ElementWithStylesheet_sheet$1, new CSSStyleSheet(), "f");
4569
+ this.shadowRoot.adoptedStyleSheets = [
4570
+ ...this.shadowRoot.adoptedStyleSheets,
4571
+ __classPrivateFieldGet(this, _ElementWithStylesheet_sheet$1, "f"),
4572
+ ];
4573
+ }
4574
+ try {
4575
+ __classPrivateFieldGet(this, _ElementWithStylesheet_sheet$1, "f").replaceSync(((_a = this.css) !== null && _a !== void 0 ? _a : '') + ((_b = this.annotationCss) !== null && _b !== void 0 ? _b : ''));
4576
+ }
4577
+ catch {
4578
+ // ignore malformed CSS to avoid runtime errors from user-supplied input
4579
+ }
4580
+ }
4581
+ };
4582
+ _ElementWithStylesheet_sheet$1 = new WeakMap();
4583
+ __decorate([
4584
+ n$1({ type: String }),
4585
+ __metadata("design:type", String)
4586
+ ], ElementWithStylesheet$1.prototype, "css", void 0);
4587
+ __decorate([
4588
+ n$1({ type: String }),
4589
+ __metadata("design:type", String)
4590
+ ], ElementWithStylesheet$1.prototype, "annotationCss", void 0);
4591
+
4592
+ class BTLucideIcon extends ElementWithStylesheet$1 {
4540
4593
  constructor() {
4541
4594
  super(...arguments);
4542
4595
  this.width = 24;
@@ -4551,6 +4604,12 @@ class BTLucideIcon extends i {
4551
4604
  * Default is empty string. Use to add custom styling (e.g. margin, padding) around the icon.
4552
4605
  */
4553
4606
  this.iconWrapperClass = '';
4607
+ /**
4608
+ * Value applied as `data-annotation` on the icon wrapper div.
4609
+ * Used by consent-banner annotation overlay to label the inner element without
4610
+ * leaking unrelated utility classes via `attr(class)`.
4611
+ */
4612
+ this.iconWrapperDataAnnotation = '';
4554
4613
  }
4555
4614
  render() {
4556
4615
  if (!this.name) {
@@ -4566,7 +4625,10 @@ class BTLucideIcon extends i {
4566
4625
  'stroke-linecap': this.strokeLinecap,
4567
4626
  'stroke-linejoin': this.strokeLinejoin,
4568
4627
  });
4569
- return b `<div class=${twMerge('icon-wrapper', this.iconWrapperClass)}>
4628
+ return b `<div
4629
+ class=${twMerge('icon-wrapper', this.iconWrapperClass)}
4630
+ data-annotation=${this.iconWrapperDataAnnotation || A}
4631
+ >
4570
4632
  ${iconElement}
4571
4633
  </div>`;
4572
4634
  }
@@ -4630,11 +4692,15 @@ __decorate([
4630
4692
  n$1({ type: String, attribute: 'icon-wrapper-class' }),
4631
4693
  __metadata("design:type", Object)
4632
4694
  ], BTLucideIcon.prototype, "iconWrapperClass", void 0);
4695
+ __decorate([
4696
+ n$1({ type: String, attribute: 'icon-wrapper-data-annotation' }),
4697
+ __metadata("design:type", Object)
4698
+ ], BTLucideIcon.prototype, "iconWrapperDataAnnotation", void 0);
4633
4699
  if (!customElements.get('bt-lucide-icon')) {
4634
4700
  customElements.define('bt-lucide-icon', BTLucideIcon);
4635
4701
  }
4636
4702
 
4637
- const TwLitElement$7 = TW(i);
4703
+ const TwLitElement$2 = TW(i);
4638
4704
  const carouselSizeVariants = cva('relative', {
4639
4705
  variants: {
4640
4706
  size: {
@@ -4649,7 +4715,7 @@ const carouselContentClasses = 'flex gap-2 overflow-x-auto whitespace-nowrap [-m
4649
4715
  const navButtonClasses = 'absolute top-1/2 -translate-y-1/2 z-10 w-8 h-8 rounded-full cursor-pointer flex items-center justify-center text-black bg-neutral-20 border border-neutral-40 opacity-0 transition-opacity duration-200 ease-in-out';
4650
4716
  const navButtonLeftClasses = 'left-2';
4651
4717
  const navButtonRightClasses = 'right-2';
4652
- class BTCarousel extends TwLitElement$7 {
4718
+ class BTCarousel extends TwLitElement$2 {
4653
4719
  constructor() {
4654
4720
  super(...arguments);
4655
4721
  this.selectable = false;
@@ -4833,7 +4899,7 @@ if (!customElements.get('bt-carousel')) {
4833
4899
  customElements.define('bt-carousel', BTCarousel);
4834
4900
  }
4835
4901
 
4836
- const TwLitElement$6 = TW(i);
4902
+ const TwLitElement$1 = TW(i);
4837
4903
  const pillVariants = cva('inline-flex items-center justify-center bg-white rounded-full border cursor-pointer select-none min-w-0 shrink-0 font-normal', {
4838
4904
  variants: {
4839
4905
  variant: {
@@ -4851,7 +4917,7 @@ const pillVariants = cva('inline-flex items-center justify-center bg-white round
4851
4917
  size: 'md',
4852
4918
  },
4853
4919
  });
4854
- class BTPill extends TwLitElement$6 {
4920
+ class BTPill extends TwLitElement$1 {
4855
4921
  constructor() {
4856
4922
  super(...arguments);
4857
4923
  this.selected = false;
@@ -4892,7 +4958,6 @@ if (!customElements.get('bt-pill')) {
4892
4958
  customElements.define('bt-pill', BTPill);
4893
4959
  }
4894
4960
 
4895
- const TwLitElement$5 = TW(i);
4896
4961
  const buttonVariants = cva('inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 cursor-pointer', {
4897
4962
  variants: {
4898
4963
  variant: {
@@ -4915,10 +4980,11 @@ const buttonVariants = cva('inline-flex items-center justify-center gap-2 whites
4915
4980
  size: 'default',
4916
4981
  },
4917
4982
  });
4918
- class BTButton extends TwLitElement$5 {
4983
+ class BTButton extends ElementWithStylesheet$1 {
4919
4984
  constructor() {
4920
4985
  super(...arguments);
4921
4986
  this.buttonClass = '';
4987
+ this.buttonDataAnnotation = '';
4922
4988
  this.disabled = false;
4923
4989
  this.loading = false;
4924
4990
  }
@@ -4929,6 +4995,7 @@ class BTButton extends TwLitElement$5 {
4929
4995
  variant: this.variant,
4930
4996
  size: this.size,
4931
4997
  }), this.buttonClass)}
4998
+ data-annotation=${this.buttonDataAnnotation || A}
4932
4999
  ?disabled=${isDisabled}
4933
5000
  >
4934
5001
  ${this.loading
@@ -4952,6 +5019,10 @@ __decorate([
4952
5019
  n$1({ type: String, attribute: 'button-class' }),
4953
5020
  __metadata("design:type", Object)
4954
5021
  ], BTButton.prototype, "buttonClass", void 0);
5022
+ __decorate([
5023
+ n$1({ type: String, attribute: 'button-data-annotation' }),
5024
+ __metadata("design:type", Object)
5025
+ ], BTButton.prototype, "buttonDataAnnotation", void 0);
4955
5026
  __decorate([
4956
5027
  n$1({ type: Boolean }),
4957
5028
  __metadata("design:type", Object)
@@ -4964,8 +5035,8 @@ if (!customElements.get('bt-button')) {
4964
5035
  customElements.define('bt-button', BTButton);
4965
5036
  }
4966
5037
 
4967
- const TwLitElement$4 = TW(i);
4968
- class BTHelperText extends TwLitElement$4 {
5038
+ const TwLitElement = TW(i);
5039
+ class BTHelperText extends TwLitElement {
4969
5040
  render() {
4970
5041
  return b `<div class="text-[0.8rem] text-muted-foreground">
4971
5042
  <slot></slot>
@@ -4976,12 +5047,12 @@ if (!customElements.get('bt-helper-text')) {
4976
5047
  customElements.define('bt-helper-text', BTHelperText);
4977
5048
  }
4978
5049
 
4979
- const TwLitElement$3 = TW(i);
4980
5050
  const inputVariants = cva('flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40');
4981
- class BTInput extends TwLitElement$3 {
5051
+ class BTInput extends ElementWithStylesheet$1 {
4982
5052
  constructor() {
4983
5053
  super(...arguments);
4984
5054
  this.inputClass = '';
5055
+ this.inputDataAnnotation = '';
4985
5056
  this.type = 'text';
4986
5057
  this.placeholder = '';
4987
5058
  this.value = '';
@@ -4997,6 +5068,7 @@ class BTInput extends TwLitElement$3 {
4997
5068
  <slot name="label"></slot>
4998
5069
  <input
4999
5070
  class=${twMerge(inputVariants(), this.inputClass)}
5071
+ data-annotation=${this.inputDataAnnotation || A}
5000
5072
  .type=${(_a = this.type) !== null && _a !== void 0 ? _a : 'text'}
5001
5073
  .placeholder=${(_b = this.placeholder) !== null && _b !== void 0 ? _b : ''}
5002
5074
  .value=${(_c = this.value) !== null && _c !== void 0 ? _c : ''}
@@ -5010,9 +5082,13 @@ class BTInput extends TwLitElement$3 {
5010
5082
  }
5011
5083
  }
5012
5084
  __decorate([
5013
- n$1({ type: String }),
5085
+ n$1({ type: String, attribute: 'input-class' }),
5014
5086
  __metadata("design:type", Object)
5015
5087
  ], BTInput.prototype, "inputClass", void 0);
5088
+ __decorate([
5089
+ n$1({ type: String, attribute: 'input-data-annotation' }),
5090
+ __metadata("design:type", Object)
5091
+ ], BTInput.prototype, "inputDataAnnotation", void 0);
5016
5092
  __decorate([
5017
5093
  n$1({ type: String }),
5018
5094
  __metadata("design:type", Object)
@@ -5041,29 +5117,43 @@ if (!customElements.get('bt-input')) {
5041
5117
  customElements.define('bt-input', BTInput);
5042
5118
  }
5043
5119
 
5044
- const TwLitElement$2 = TW(i);
5045
- class BTLabel extends TwLitElement$2 {
5120
+ class BTLabel extends ElementWithStylesheet$1 {
5121
+ constructor() {
5122
+ super(...arguments);
5123
+ this.labelClass = '';
5124
+ this.labelDataAnnotation = '';
5125
+ }
5046
5126
  render() {
5047
5127
  return b `<label
5048
- class="text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
5128
+ class=${twMerge('text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70', this.labelClass)}
5129
+ data-annotation=${this.labelDataAnnotation || A}
5049
5130
  >
5050
5131
  <slot></slot>
5051
5132
  </label>`;
5052
5133
  }
5053
5134
  }
5135
+ __decorate([
5136
+ n$1({ type: String, attribute: 'label-class' }),
5137
+ __metadata("design:type", Object)
5138
+ ], BTLabel.prototype, "labelClass", void 0);
5139
+ __decorate([
5140
+ n$1({ type: String, attribute: 'label-data-annotation' }),
5141
+ __metadata("design:type", Object)
5142
+ ], BTLabel.prototype, "labelDataAnnotation", void 0);
5054
5143
  if (!customElements.get('bt-label')) {
5055
5144
  customElements.define('bt-label', BTLabel);
5056
5145
  }
5057
5146
 
5058
- const TwLitElement$1 = TW(i);
5059
- class BTCardWrapper extends TwLitElement$1 {
5147
+ class BTCardWrapper extends ElementWithStylesheet$1 {
5060
5148
  constructor() {
5061
5149
  super(...arguments);
5062
5150
  this.cardWrapperClass = '';
5151
+ this.cardWrapperDataAnnotation = '';
5063
5152
  }
5064
5153
  render() {
5065
5154
  return b `<div
5066
5155
  class=${twMerge('rounded-lg border border-border bg-card text-card-foreground shadow shadow-sm px-4 py-3', this.cardWrapperClass)}
5156
+ data-annotation=${this.cardWrapperDataAnnotation || A}
5067
5157
  >
5068
5158
  <slot></slot>
5069
5159
  </div>`;
@@ -5081,11 +5171,14 @@ __decorate([
5081
5171
  n$1({ type: String, attribute: 'card-wrapper-class' }),
5082
5172
  __metadata("design:type", Object)
5083
5173
  ], BTCardWrapper.prototype, "cardWrapperClass", void 0);
5174
+ __decorate([
5175
+ n$1({ type: String, attribute: 'card-wrapper-data-annotation' }),
5176
+ __metadata("design:type", Object)
5177
+ ], BTCardWrapper.prototype, "cardWrapperDataAnnotation", void 0);
5084
5178
  if (!customElements.get('bt-card-wrapper')) {
5085
5179
  customElements.define('bt-card-wrapper', BTCardWrapper);
5086
5180
  }
5087
5181
 
5088
- const TwLitElement = TW(i);
5089
5182
  /**
5090
5183
  * A toggle switch component that allows users to switch between checked and unchecked states.
5091
5184
  *
@@ -5097,12 +5190,14 @@ const TwLitElement = TW(i);
5097
5190
  * <bt-switch size="sm" disabled></bt-switch>
5098
5191
  * ```
5099
5192
  */
5100
- class BTSwitch extends TwLitElement {
5193
+ class BTSwitch extends ElementWithStylesheet$1 {
5101
5194
  constructor() {
5102
5195
  super(...arguments);
5103
5196
  this.checked = false;
5104
5197
  this.disabled = false;
5105
5198
  this.size = 'default';
5199
+ this.switchClass = '';
5200
+ this.switchDataAnnotation = '';
5106
5201
  this.toggle = () => {
5107
5202
  if (this.disabled)
5108
5203
  return;
@@ -5138,7 +5233,8 @@ class BTSwitch extends TwLitElement {
5138
5233
  aria-checked=${this.checked ? 'true' : 'false'}
5139
5234
  data-state=${state}
5140
5235
  data-disabled=${this.disabled ? 'true' : 'false'}
5141
- class="data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-[state=unchecked]:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50 cursor-pointer"
5236
+ class=${twMerge('data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 dark:data-[state=unchecked]:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-50 cursor-pointer', this.switchClass)}
5237
+ data-annotation=${this.switchDataAnnotation || A}
5142
5238
  @click=${this.onClick}
5143
5239
  @keydown=${this.onKeyDown}
5144
5240
  >
@@ -5172,6 +5268,14 @@ __decorate([
5172
5268
  }),
5173
5269
  __metadata("design:type", String)
5174
5270
  ], BTSwitch.prototype, "size", void 0);
5271
+ __decorate([
5272
+ n$1({ type: String, attribute: 'switch-class' }),
5273
+ __metadata("design:type", Object)
5274
+ ], BTSwitch.prototype, "switchClass", void 0);
5275
+ __decorate([
5276
+ n$1({ type: String, attribute: 'switch-data-annotation' }),
5277
+ __metadata("design:type", Object)
5278
+ ], BTSwitch.prototype, "switchDataAnnotation", void 0);
5175
5279
  if (!customElements.get('bt-switch')) {
5176
5280
  customElements.define('bt-switch', BTSwitch);
5177
5281
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blotoutio/providers-evo-search-sdk",
3
- "version": "1.51.0",
3
+ "version": "1.51.2",
4
4
  "description": "Evo Search SDK for EdgeTag",
5
5
  "author": "Blotout",
6
6
  "license": "MIT",