@ionic/core 8.8.4-dev.11777335998.1378bc9b → 8.8.4-dev.11777393099.1a6ea277

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 (93) hide show
  1. package/components/ion-avatar.js +1 -1
  2. package/components/ion-badge.js +1 -1
  3. package/components/ion-button.js +1 -1
  4. package/components/ion-chip.js +1 -1
  5. package/components/ion-datetime.js +1 -1
  6. package/components/ion-input-password-toggle.js +1 -1
  7. package/components/ion-item-option.js +1 -1
  8. package/components/ion-item-sliding.js +1 -1
  9. package/components/ion-item.js +1 -1
  10. package/components/ion-range.js +1 -1
  11. package/components/ion-segment-button.js +1 -1
  12. package/components/ion-select-modal.js +1 -1
  13. package/components/ion-select-popover.js +1 -1
  14. package/components/ion-select.js +1 -1
  15. package/components/ion-tab-button.js +1 -1
  16. package/components/ion-toggle.js +1 -1
  17. package/components/{p-DlcGfxmY.js → p-BAJR2rtd.js} +1 -1
  18. package/components/p-CnwZE7CW.js +4 -0
  19. package/{dist/ionic/p-9ffb291e.entry.js → components/p-DAeMHNER.js} +1 -1
  20. package/components/{p-Bnc6bYhk.js → p-DbmwH3zj.js} +1 -1
  21. package/css/ionic/bundle.ionic.css +1 -1
  22. package/css/ionic/bundle.ionic.css.map +1 -1
  23. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  24. package/dist/cjs/ion-button_2.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  26. package/dist/cjs/ion-item-option_3.cjs.entry.js +219 -14
  27. package/dist/cjs/ion-item_8.cjs.entry.js +1 -1
  28. package/dist/cjs/ion-range.cjs.entry.js +1 -1
  29. package/dist/cjs/ion-segment_2.cjs.entry.js +1 -1
  30. package/dist/cjs/ion-select_3.cjs.entry.js +9 -10
  31. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  32. package/dist/cjs/ion-toggle.cjs.entry.js +8 -20
  33. package/dist/cjs/ionic.cjs.js +1 -1
  34. package/dist/cjs/loader.cjs.js +1 -1
  35. package/dist/collection/components/avatar/avatar.ionic.css +0 -24
  36. package/dist/collection/components/badge/badge.ionic.css +0 -12
  37. package/dist/collection/components/button/button.ionic.css +0 -13
  38. package/dist/collection/components/chip/chip.ionic.css +2 -4
  39. package/dist/collection/components/item/item.ionic.css +1 -2
  40. package/dist/collection/components/item-option/item-option.ionic.css +0 -12
  41. package/dist/collection/components/item-sliding/item-sliding.js +214 -13
  42. package/dist/collection/components/range/range.ionic.css +1 -2
  43. package/dist/collection/components/segment-button/segment-button.ionic.css +0 -4
  44. package/dist/collection/components/select/select.ionic.css +0 -2
  45. package/dist/collection/components/select/select.js +8 -9
  46. package/dist/collection/components/tab-button/tab-button.ionic.css +0 -4
  47. package/dist/collection/components/toggle/toggle.ionic.css +0 -2
  48. package/dist/collection/components/toggle/toggle.js +5 -17
  49. package/dist/docs.json +13 -5
  50. package/dist/esm/ion-avatar_3.entry.js +2 -2
  51. package/dist/esm/ion-button_2.entry.js +1 -1
  52. package/dist/esm/ion-chip.entry.js +1 -1
  53. package/dist/esm/ion-item-option_3.entry.js +219 -14
  54. package/dist/esm/ion-item_8.entry.js +1 -1
  55. package/dist/esm/ion-range.entry.js +1 -1
  56. package/dist/esm/ion-segment_2.entry.js +1 -1
  57. package/dist/esm/ion-select_3.entry.js +9 -10
  58. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  59. package/dist/esm/ion-toggle.entry.js +6 -18
  60. package/dist/esm/ionic.js +1 -1
  61. package/dist/esm/loader.js +1 -1
  62. package/dist/ionic/ionic.esm.js +1 -1
  63. package/dist/ionic/p-07d3388f.entry.js +4 -0
  64. package/dist/ionic/p-092e92b0.entry.js +4 -0
  65. package/dist/ionic/p-139d02eb.entry.js +4 -0
  66. package/dist/ionic/{p-7d741511.entry.js → p-1855fcb6.entry.js} +1 -1
  67. package/dist/ionic/{p-e17b1f5c.entry.js → p-228b6a9c.entry.js} +1 -1
  68. package/dist/ionic/p-4610e447.entry.js +4 -0
  69. package/dist/ionic/p-7959826e.entry.js +4 -0
  70. package/dist/ionic/p-bc5713f7.entry.js +4 -0
  71. package/dist/ionic/p-d954cd19.entry.js +4 -0
  72. package/dist/ionic/p-f061fcb7.entry.js +4 -0
  73. package/dist/types/components/item-sliding/item-sliding.d.ts +17 -2
  74. package/hydrate/index.js +243 -20681
  75. package/hydrate/index.mjs +243 -20681
  76. package/package.json +2 -4
  77. package/components/p-BniBSDph.js +0 -4
  78. package/components/p-C9Vtk1ky.js +0 -4
  79. package/components/p-CPltryAp.js +0 -4
  80. package/css/fonts/Phosphor.woff +0 -0
  81. package/css/fonts/Phosphor.woff2 +0 -0
  82. package/dist/cjs/icon-DIgTx6sk.js +0 -20640
  83. package/dist/collection/utils/icon.js +0 -45
  84. package/dist/esm/icon-CUSZuv-W.js +0 -20638
  85. package/dist/ionic/p-0c84feb8.entry.js +0 -4
  86. package/dist/ionic/p-29791358.entry.js +0 -4
  87. package/dist/ionic/p-52c1797d.entry.js +0 -4
  88. package/dist/ionic/p-74437abe.entry.js +0 -4
  89. package/dist/ionic/p-79646994.entry.js +0 -4
  90. package/dist/ionic/p-DcGyUwGo.js +0 -4
  91. package/dist/ionic/p-b779bfb0.entry.js +0 -4
  92. package/dist/ionic/p-e6202363.entry.js +0 -4
  93. package/dist/types/utils/icon.d.ts +0 -26
@@ -9,6 +9,18 @@ import { watchForOptions } from "../../utils/watch-options";
9
9
  import { getIonTheme } from "../../global/ionic-global";
10
10
  const SWIPE_MARGIN = 30;
11
11
  const ELASTIC_FACTOR = 0.55;
12
+ const IONIC_SNAP_OPEN_RATIO = 0.4;
13
+ const IONIC_EXPAND_TRIGGER = 80;
14
+ const IONIC_VELOCITY_THRESHOLD = 0.4;
15
+ const IONIC_ACTION_BASE_WIDTH = 64;
16
+ const IONIC_OPEN_TRANSITION = '250ms cubic-bezier(0.25, 1, 0.5, 1)';
17
+ const IONIC_SNAPBACK_TRANSITION = '300ms cubic-bezier(0.34, 1.4, 0.64, 1)';
18
+ const IONIC_CONFIRM_EASE_IN = '150ms ease-in';
19
+ const IONIC_CONFIRM_SNAPBACK = '480ms cubic-bezier(0.34, 1.4, 0.64, 1)';
20
+ const IONIC_CONFIRM_PAUSE = 900;
21
+ const IONIC_EXPAND_RESISTANCE_FACTOR = 0.95;
22
+ /** Expandable, non-disabled option (matches item-option expandable class). */
23
+ const EXPANDABLE_OPTION_SELECTOR = 'ion-item-option.item-option-expandable:not(.item-option-disabled)';
12
24
  let openSlidingItem;
13
25
  /**
14
26
  * @virtualProp {"ios" | "md"} mode - The mode determines the platform behaviors of the component.
@@ -25,12 +37,17 @@ export class ItemSliding {
25
37
  this.optsDirty = true;
26
38
  this.contentEl = null;
27
39
  this.initialContentScrollY = true;
40
+ this.leftExpandableBaseWidth = IONIC_ACTION_BASE_WIDTH;
41
+ this.rightExpandableBaseWidth = IONIC_ACTION_BASE_WIDTH;
28
42
  this.state = 2 /* SlidingState.Disabled */;
29
43
  /**
30
44
  * If `true`, the user cannot interact with the sliding item.
31
45
  */
32
46
  this.disabled = false;
33
47
  }
48
+ isIonicTheme() {
49
+ return getIonTheme(this) === 'ionic';
50
+ }
34
51
  disabledChanged() {
35
52
  if (this.gesture) {
36
53
  this.gesture.enable(!this.disabled);
@@ -248,8 +265,8 @@ export class ItemSliding {
248
265
  return maxWidth + SWIPE_MARGIN;
249
266
  }
250
267
  /**
251
- * Animate the item through a full swipe sequence: off-screen → trigger action → return.
252
- * This is used when an expandable option is swiped beyond the threshold.
268
+ * Native (ios/md) full swipe: off-screen → fire swipe → return.
269
+ * Ionic theme uses `animateIonicFullSwipe` instead (see `onEndIonic`).
253
270
  */
254
271
  async animateFullSwipe(direction) {
255
272
  const abortController = new AbortController();
@@ -301,6 +318,128 @@ export class ItemSliding {
301
318
  }
302
319
  }
303
320
  }
321
+ queryExpandableOption(options) {
322
+ var _a;
323
+ return (_a = options === null || options === void 0 ? void 0 : options.querySelector(EXPANDABLE_OPTION_SELECTOR)) !== null && _a !== void 0 ? _a : undefined;
324
+ }
325
+ getExpandableOption(direction) {
326
+ return this.queryExpandableOption(direction === 'end' ? this.rightOptions : this.leftOptions);
327
+ }
328
+ getOpenDirectionFromAmount(openAmount) {
329
+ if (openAmount > 0) {
330
+ return 'end';
331
+ }
332
+ if (openAmount < 0) {
333
+ return 'start';
334
+ }
335
+ return undefined;
336
+ }
337
+ getOptionsWidthForDirection(direction) {
338
+ return direction === 'end' ? this.optsWidthRightSide : this.optsWidthLeftSide;
339
+ }
340
+ getExpandableBaseWidth(direction) {
341
+ return direction === 'end' ? this.rightExpandableBaseWidth : this.leftExpandableBaseWidth;
342
+ }
343
+ setIonicExpandableWidth(direction, width, animate, easing) {
344
+ const expandableOption = this.getExpandableOption(direction);
345
+ if (!expandableOption) {
346
+ return;
347
+ }
348
+ const style = expandableOption.style;
349
+ style.transition = animate ? `width ${easing !== null && easing !== void 0 ? easing : IONIC_OPEN_TRANSITION}` : 'none';
350
+ const baseWidth = this.getExpandableBaseWidth(direction);
351
+ style.width = `${Math.max(baseWidth, width)}px`;
352
+ }
353
+ resetIonicExpandableOptions() {
354
+ [this.leftOptions, this.rightOptions].forEach((options) => {
355
+ const expandableOption = this.queryExpandableOption(options);
356
+ if (!expandableOption) {
357
+ return;
358
+ }
359
+ expandableOption.style.transition = '';
360
+ expandableOption.style.width = '';
361
+ });
362
+ }
363
+ updateIonicExpandableFromOpenAmount(openAmount, isFinal, previousOpenAmount) {
364
+ if ((this.state & 128 /* SlidingState.AnimatingFullSwipe */) !== 0) {
365
+ return;
366
+ }
367
+ const direction = this.getOpenDirectionFromAmount(openAmount);
368
+ if (direction === undefined) {
369
+ const previousDirection = this.getOpenDirectionFromAmount(previousOpenAmount);
370
+ if (previousDirection === undefined) {
371
+ this.resetIonicExpandableOptions();
372
+ return;
373
+ }
374
+ this.setIonicExpandableWidth(previousDirection, this.getExpandableBaseWidth(previousDirection), isFinal, IONIC_SNAPBACK_TRANSITION);
375
+ return;
376
+ }
377
+ const baseWidth = this.getExpandableBaseWidth(direction);
378
+ const optionsWidth = this.getOptionsWidthForDirection(direction);
379
+ const extraWidth = Math.max(0, Math.abs(openAmount) - optionsWidth);
380
+ const resistedExtraWidth = isFinal ? extraWidth : extraWidth * IONIC_EXPAND_RESISTANCE_FACTOR;
381
+ const targetWidth = baseWidth + resistedExtraWidth;
382
+ const easing = openAmount === 0 ? IONIC_SNAPBACK_TRANSITION : IONIC_OPEN_TRANSITION;
383
+ this.setIonicExpandableWidth(direction, targetWidth, isFinal, easing);
384
+ }
385
+ async animateIonicFullSwipe(direction) {
386
+ const abortController = new AbortController();
387
+ this.animationAbortController = abortController;
388
+ const { signal } = abortController;
389
+ const expandableOption = this.getExpandableOption(direction);
390
+ const options = direction === 'end' ? this.rightOptions : this.leftOptions;
391
+ if (this.gesture) {
392
+ this.gesture.enable(false);
393
+ }
394
+ try {
395
+ this.state =
396
+ direction === 'end'
397
+ ? 8 /* SlidingState.End */ | 128 /* SlidingState.AnimatingFullSwipe */
398
+ : 16 /* SlidingState.Start */ | 128 /* SlidingState.AnimatingFullSwipe */;
399
+ if (!this.item) {
400
+ return;
401
+ }
402
+ const itemWidth = this.el.offsetWidth || window.innerWidth;
403
+ const baseWidth = this.getExpandableBaseWidth(direction);
404
+ const expandableTargetWidth = Math.max(baseWidth, itemWidth - 16);
405
+ const offScreenPosition = direction === 'end' ? itemWidth : -itemWidth;
406
+ if (expandableOption) {
407
+ expandableOption.style.transition = `width ${IONIC_CONFIRM_EASE_IN}`;
408
+ expandableOption.style.width = `${expandableTargetWidth}px`;
409
+ }
410
+ this.item.style.transition = `transform ${IONIC_CONFIRM_EASE_IN}`;
411
+ this.item.style.transform = `translate3d(${-offScreenPosition}px, 0, 0)`;
412
+ await this.delay(150, signal);
413
+ options === null || options === void 0 ? void 0 : options.fireSwipeEvent();
414
+ await this.delay(IONIC_CONFIRM_PAUSE, signal);
415
+ if (expandableOption) {
416
+ expandableOption.style.transition = `width ${IONIC_CONFIRM_SNAPBACK}`;
417
+ expandableOption.style.width = `${baseWidth}px`;
418
+ }
419
+ this.item.style.transition = `transform ${IONIC_CONFIRM_SNAPBACK}`;
420
+ this.item.style.transform = 'translate3d(0, 0, 0)';
421
+ await this.delay(480, signal);
422
+ }
423
+ catch (_a) {
424
+ // Animation was aborted. finally handles cleanup.
425
+ }
426
+ finally {
427
+ this.animationAbortController = undefined;
428
+ if (this.item) {
429
+ this.item.style.transition = '';
430
+ this.item.style.transform = '';
431
+ }
432
+ this.resetIonicExpandableOptions();
433
+ this.openAmount = 0;
434
+ this.state = 2 /* SlidingState.Disabled */;
435
+ if (openSlidingItem === this.el) {
436
+ openSlidingItem = undefined;
437
+ }
438
+ if (this.gesture) {
439
+ this.gesture.enable(!this.disabled);
440
+ }
441
+ }
442
+ }
304
443
  async updateOptions() {
305
444
  var _a;
306
445
  const options = this.el.querySelectorAll('ion-item-options');
@@ -403,10 +542,21 @@ export class ItemSliding {
403
542
  this.setOpenAmount(openAmount, false);
404
543
  }
405
544
  onEnd(gesture) {
545
+ this.restoreContentScrollAfterSlide();
546
+ if (this.isIonicTheme()) {
547
+ this.onEndIonic(gesture);
548
+ }
549
+ else {
550
+ this.onEndNative(gesture);
551
+ }
552
+ }
553
+ restoreContentScrollAfterSlide() {
406
554
  const { contentEl, initialContentScrollY } = this;
407
555
  if (contentEl) {
408
556
  resetContentScrollY(contentEl, initialContentScrollY);
409
557
  }
558
+ }
559
+ onEndNative(gesture) {
410
560
  // Check for full swipe conditions with expandable options
411
561
  const rawSwipeDistance = Math.abs(gesture.deltaX);
412
562
  const direction = gesture.deltaX < 0 ? 'end' : 'start';
@@ -443,17 +593,64 @@ export class ItemSliding {
443
593
  this.leftOptions.fireSwipeEvent();
444
594
  }
445
595
  }
596
+ onEndIonic(gesture) {
597
+ const velocity = gesture.velocityX;
598
+ const velocityX = velocity * 1000;
599
+ const activeDirection = this.getOpenDirectionFromAmount(this.openAmount);
600
+ if (activeDirection === undefined) {
601
+ this.setOpenAmount(0, true);
602
+ return;
603
+ }
604
+ const optionsWidth = this.getOptionsWidthForDirection(activeDirection);
605
+ const extraWidth = Math.max(0, Math.abs(this.openAmount) - optionsWidth);
606
+ const hasExpandable = this.hasExpandableOptions(activeDirection === 'end' ? this.rightOptions : this.leftOptions);
607
+ const wasRevealed = Math.abs(this.initialOpenAmount) >= optionsWidth;
608
+ if (hasExpandable &&
609
+ (extraWidth >= IONIC_EXPAND_TRIGGER || (wasRevealed && velocityX < Math.abs(IONIC_VELOCITY_THRESHOLD * 1000)))) {
610
+ this.animateIonicFullSwipe(activeDirection).catch(() => {
611
+ if (this.gesture) {
612
+ this.gesture.enable(!this.disabled);
613
+ }
614
+ });
615
+ return;
616
+ }
617
+ const closeDirection = activeDirection === 'end'
618
+ ? velocityX > IONIC_VELOCITY_THRESHOLD * 1000
619
+ : velocityX < -IONIC_VELOCITY_THRESHOLD * 1000;
620
+ if (closeDirection) {
621
+ this.setOpenAmount(0, true);
622
+ return;
623
+ }
624
+ const openThreshold = optionsWidth * IONIC_SNAP_OPEN_RATIO;
625
+ const shouldSnapOpen = Math.abs(this.openAmount) > openThreshold;
626
+ const restingPoint = shouldSnapOpen
627
+ ? activeDirection === 'end'
628
+ ? this.optsWidthRightSide
629
+ : -this.optsWidthLeftSide
630
+ : 0;
631
+ this.setOpenAmount(restingPoint, true);
632
+ }
446
633
  calculateOptsWidth() {
447
634
  this.optsWidthRightSide = 0;
448
635
  if (this.rightOptions) {
449
636
  this.rightOptions.style.display = 'flex';
450
637
  this.optsWidthRightSide = this.rightOptions.offsetWidth;
638
+ const rightExpandable = this.queryExpandableOption(this.rightOptions);
639
+ if (rightExpandable) {
640
+ rightExpandable.style.width = '';
641
+ this.rightExpandableBaseWidth = Math.max(IONIC_ACTION_BASE_WIDTH, rightExpandable.getBoundingClientRect().width);
642
+ }
451
643
  this.rightOptions.style.display = '';
452
644
  }
453
645
  this.optsWidthLeftSide = 0;
454
646
  if (this.leftOptions) {
455
647
  this.leftOptions.style.display = 'flex';
456
648
  this.optsWidthLeftSide = this.leftOptions.offsetWidth;
649
+ const leftExpandable = this.queryExpandableOption(this.leftOptions);
650
+ if (leftExpandable) {
651
+ leftExpandable.style.width = '';
652
+ this.leftExpandableBaseWidth = Math.max(IONIC_ACTION_BASE_WIDTH, leftExpandable.getBoundingClientRect().width);
653
+ }
457
654
  this.leftOptions.style.display = '';
458
655
  }
459
656
  this.optsDirty = false;
@@ -468,21 +665,21 @@ export class ItemSliding {
468
665
  }
469
666
  const { el } = this;
470
667
  const style = this.item.style;
668
+ const previousOpenAmount = this.openAmount;
471
669
  this.openAmount = openAmount;
670
+ if (this.isIonicTheme()) {
671
+ this.updateIonicExpandableFromOpenAmount(openAmount, isFinal, previousOpenAmount);
672
+ }
472
673
  if (isFinal) {
473
674
  style.transition = '';
474
675
  }
475
676
  if (openAmount > 0) {
476
- this.state =
477
- openAmount >= this.optsWidthRightSide + SWIPE_MARGIN
478
- ? 8 /* SlidingState.End */ | 32 /* SlidingState.SwipeEnd */
479
- : 8 /* SlidingState.End */;
677
+ const fullSwipe = !this.isIonicTheme() && openAmount >= this.optsWidthRightSide + SWIPE_MARGIN;
678
+ this.state = fullSwipe ? 8 /* SlidingState.End */ | 32 /* SlidingState.SwipeEnd */ : 8 /* SlidingState.End */;
480
679
  }
481
680
  else if (openAmount < 0) {
482
- this.state =
483
- openAmount <= -this.optsWidthLeftSide - SWIPE_MARGIN
484
- ? 16 /* SlidingState.Start */ | 64 /* SlidingState.SwipeStart */
485
- : 16 /* SlidingState.Start */;
681
+ const fullSwipe = !this.isIonicTheme() && openAmount <= -this.optsWidthLeftSide - SWIPE_MARGIN;
682
+ this.state = fullSwipe ? 16 /* SlidingState.Start */ | 64 /* SlidingState.SwipeStart */ : 16 /* SlidingState.Start */;
486
683
  }
487
684
  else {
488
685
  /**
@@ -531,7 +728,7 @@ export class ItemSliding {
531
728
  }
532
729
  render() {
533
730
  const theme = getIonTheme(this);
534
- return (h(Host, { key: 'c945f30d9f7deb90d22064d4059e2b08f35614be', class: {
731
+ return (h(Host, { key: '7b360e8bf19b76aefa220c4f17af80b8d48caf3f', class: {
535
732
  [theme]: true,
536
733
  'item-sliding-active-slide': this.state !== 2 /* SlidingState.Disabled */,
537
734
  'item-sliding-active-options-end': (this.state & 8 /* SlidingState.End */) !== 0,
@@ -543,12 +740,16 @@ export class ItemSliding {
543
740
  static get is() { return "ion-item-sliding"; }
544
741
  static get originalStyleUrls() {
545
742
  return {
546
- "$": ["item-sliding.scss"]
743
+ "ios": ["item-sliding.scss"],
744
+ "md": ["item-sliding.scss"],
745
+ "ionic": ["item-sliding.scss"]
547
746
  };
548
747
  }
549
748
  static get styleUrls() {
550
749
  return {
551
- "$": ["item-sliding.css"]
750
+ "ios": ["item-sliding.css"],
751
+ "md": ["item-sliding.css"],
752
+ "ionic": ["item-sliding.css"]
552
753
  };
553
754
  }
554
755
  static get properties() {
@@ -379,8 +379,7 @@
379
379
  background: var(--ion-color-base);
380
380
  }
381
381
 
382
- ::slotted(ion-icon[slot]),
383
- ::slotted(i.ph[slot]) {
382
+ ::slotted(ion-icon[slot]) {
384
383
  font-size: var(--token-font-size-600, 1.5rem);
385
384
  }
386
385
 
@@ -315,10 +315,6 @@
315
315
  height: var(--token-scale-600, 24px);
316
316
  }
317
317
 
318
- ::slotted(i.ph) {
319
- font-size: var(--token-scale-600, 24px);
320
- }
321
-
322
318
  :host(.segment-button-checked) ::slotted(*) {
323
319
  color: var(--color-checked);
324
320
  }
@@ -717,8 +717,6 @@ button {
717
717
  ::slotted(ion-icon) {
718
718
  width: var(--token-scale-400, 16px);
719
719
  height: var(--token-scale-400, 16px);
720
- font-size: var(--token-scale-400, 16px);
721
- line-height: 1;
722
720
  }
723
721
 
724
722
  .select-icon {
@@ -5,7 +5,6 @@ import caretDownRegular from "@phosphor-icons/core/assets/regular/caret-down.svg
5
5
  import { Build, Host, h, forceUpdate } from "@stencil/core";
6
6
  import { compareOptions, createNotchController, isOptionSelected, checkInvalidState } from "../../utils/forms/index";
7
7
  import { focusVisibleElement, renderHiddenInput, inheritAttributes } from "../../utils/helpers";
8
- import { renderIcon } from "../../utils/icon";
9
8
  import { printIonWarning } from "../../utils/logging/index";
10
9
  import { actionSheetController, alertController, popoverController, modalController } from "../../utils/overlays";
11
10
  import { isRTL } from "../../utils/rtl/index";
@@ -754,12 +753,12 @@ export class Select {
754
753
  * next to the select text.
755
754
  */
756
755
  renderSelectIcon() {
757
- const theme = getIonTheme(this);
758
756
  const { isExpanded, selectExpandedIcon, selectCollapsedIcon } = this;
759
- const icon = isExpanded ? selectExpandedIcon : selectCollapsedIcon;
760
- // Use the font glyph for the default ionic icon; null forces SVG for custom icons.
761
- const ionicIconClass = icon === caretDownRegular ? 'ph-caret-down' : null;
762
- return renderIcon(theme, ionicIconClass, icon, { class: { 'select-icon': true }, part: 'icon' });
757
+ let icon = selectCollapsedIcon;
758
+ if (isExpanded) {
759
+ icon = selectExpandedIcon;
760
+ }
761
+ return h("ion-icon", { class: "select-icon", part: "icon", "aria-hidden": "true", icon: icon });
763
762
  }
764
763
  get ariaLabel() {
765
764
  var _a;
@@ -918,7 +917,7 @@ export class Select {
918
917
  * TODO(FW-5592): Remove hasStartEndSlots condition
919
918
  */
920
919
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
921
- return (h(Host, { key: 'adff24eefb2530bedad439d4fc487e8bc14ea6e9', onClick: this.onClick, class: createColorClasses(this.color, {
920
+ return (h(Host, { key: 'd8f7abd11c8f6e5ebea306f69ed5ae5a115efa97', onClick: this.onClick, class: createColorClasses(this.color, {
922
921
  [theme]: true,
923
922
  'in-item': inItem,
924
923
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -937,7 +936,7 @@ export class Select {
937
936
  [`select-shape-${shape}`]: shape !== undefined,
938
937
  [`select-label-placement-${labelPlacement}`]: true,
939
938
  [`select-size-${size}`]: size !== undefined,
940
- }) }, h("label", { key: 'ae2d8ab47f377909857ccd082e0f4aaa5504fa8b', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: 'd908a934f21c145f178c3e39eb7ec076caec752a', class: "select-wrapper-inner", part: "inner" },
939
+ }) }, h("label", { key: '443499f6c4501df171d4f16756f2e55e57512c0c', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '66e6cf63163b68b1ca85979e5c49a349632dfc54', class: "select-wrapper-inner", part: "inner" },
941
940
  /**
942
941
  * For the ionic theme, we render the outline container here
943
942
  * instead of higher up, so it can be positioned relative to
@@ -947,7 +946,7 @@ export class Select {
947
946
  * <label> element, ensuring that clicking the label text
948
947
  * focuses the select.
949
948
  */
950
- theme === 'ionic' && fill === 'outline' && h("div", { key: '039d4719fd7e9f63574f3f98680a4df1d2bb4991', class: "select-outline" }), h("slot", { key: 'd227aea2b1c9d8318b8ccabeb8aef3fab72fd108', name: "start" }), h("div", { key: '5dbb3fd5b5e1ba443fe7589fead79a1e4cb35042', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'abfe8949dfe755e5477b2578f1c97159568c3502', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '55dce3ef686cc1e6d9b049978e0a62dbead1a087', class: "select-highlight" })), this.renderBottomContent()));
949
+ theme === 'ionic' && fill === 'outline' && h("div", { key: 'a9f7d6bde570f4e2261617cdc2529cd835297865', class: "select-outline" }), h("slot", { key: 'f5516f6749c85dc3ed8f9ee04e748f1aad0d815c', name: "start" }), h("div", { key: '86fa4152f415a5ab72ed1a95899212fc1914b81c', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '3333af6835b20a97450372ca78a4aa77adf39d1c', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'e0e782845ed0c35c139dbddcc3f9880aec12cf58', class: "select-highlight" })), this.renderBottomContent()));
951
950
  }
952
951
  static get is() { return "ion-select"; }
953
952
  static get encapsulation() { return "shadow"; }
@@ -280,10 +280,6 @@ ion-ripple-effect {
280
280
  height: var(--token-scale-600, 24px);
281
281
  }
282
282
 
283
- ::slotted(i.ph) {
284
- font-size: var(--token-scale-600, 24px);
285
- }
286
-
287
283
  :host(.tab-button-shape-soft) {
288
284
  border-radius: var(--token-border-radius-200, var(--token-scale-200, 8px));
289
285
  }
@@ -464,8 +464,6 @@ input {
464
464
  .toggle-inner .toggle-switch-icon {
465
465
  width: var(--token-scale-400, 16px);
466
466
  height: var(--token-scale-400, 16px);
467
- font-size: var(--token-scale-400, 16px);
468
- line-height: 1;
469
467
  }
470
468
 
471
469
  /**
@@ -6,7 +6,6 @@ import minusRegular from "@phosphor-icons/core/assets/regular/minus.svg";
6
6
  import { Build, Host, h } from "@stencil/core";
7
7
  import { checkInvalidState } from "../../utils/forms/index";
8
8
  import { renderHiddenInput, inheritAriaAttributes } from "../../utils/helpers";
9
- import { renderIcon } from "../../utils/icon";
10
9
  import { hapticSelection } from "../../utils/native/haptic";
11
10
  import { isPlatform } from "../../utils/platform";
12
11
  import { isRTL } from "../../utils/rtl/index";
@@ -280,18 +279,8 @@ export class Toggle {
280
279
  return config.get('toggleUncheckedIcon', defaultIcon);
281
280
  }
282
281
  renderOnOffSwitchLabels(checked) {
283
- var _a;
284
- const theme = getIonTheme(this);
285
282
  const icon = this.getSwitchLabelIcon(checked);
286
- // Map the ionic-theme default SVGs to their Phosphor class names.
287
- // Pass null when a custom icon is configured so the SVG is always used.
288
- const phosphorMap = {
289
- [checkRegular]: 'ph-check',
290
- [minusRegular]: 'ph-minus',
291
- };
292
- const ionicIconClass = (_a = phosphorMap[icon]) !== null && _a !== void 0 ? _a : null;
293
- return renderIcon(theme, ionicIconClass, icon, {
294
- class: {
283
+ return (h("ion-icon", { class: {
295
284
  'toggle-switch-icon': true,
296
285
  'toggle-switch-icon-checked': checked,
297
286
  /**
@@ -305,8 +294,7 @@ export class Toggle {
305
294
  * checked icon is being used.
306
295
  */
307
296
  'toggle-switch-icon-checked-default': checked && icon === this.toggleDefaultCheckedIcon,
308
- },
309
- });
297
+ }, icon: icon, "aria-hidden": "true" }));
310
298
  }
311
299
  renderToggleControl() {
312
300
  const theme = getIonTheme(this);
@@ -350,7 +338,7 @@ export class Toggle {
350
338
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
351
339
  const isIonicTheme = theme === 'ionic';
352
340
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
353
- return (h(Host, { key: 'a154d3fa47c535d0d59485d0da7f22eb964a5be8', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
341
+ return (h(Host, { key: 'b12951146a79d3839e6263e91e747398a0fa901d', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
354
342
  [theme]: true,
355
343
  'in-item': hostContext('ion-item', el),
356
344
  'toggle-activated': activated,
@@ -362,10 +350,10 @@ export class Toggle {
362
350
  [`toggle-${rtl}`]: true,
363
351
  'ion-activatable': isIonicTheme,
364
352
  'ion-focusable': isIonicTheme,
365
- }) }, h("label", { key: '45012ad7e1e4ac7aab5b9943d646c9f8b2dae943', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: '1b74d48d55d895858e7e3bc74d603c535fd78a59', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), h("div", { key: 'b941871b523ce9894f5e4c7e233a7c4886414439', class: {
353
+ }) }, h("label", { key: 'cf1d27243bf9bdd5bafaf6d86b76beb311b5e01c', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: 'b3eb0f146836f5994c15bf1fd67a79f72b9414f7', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), h("div", { key: '56ddcfd6452f30fd6b38d0fd85be3ec966aa120b', class: {
366
354
  'label-text-wrapper': true,
367
355
  'label-text-wrapper-hidden': !hasLabel,
368
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: 'a9120feb48329d0b9878ada8efcfdd2a1c5ace0b' }), this.renderHintText()), h("div", { key: 'f8fa6a43375c32122ca7768f1b4b5c45fc99a371', class: "native-wrapper" }, this.renderToggleControl()))));
356
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '706e5b667ee242fb1afb3e4afa613f9798fbe25b' }), this.renderHintText()), h("div", { key: '255ccd7d60f7d78b4eba8d380b303a72093e9d16', class: "native-wrapper" }, this.renderToggleControl()))));
369
357
  }
370
358
  static get is() { return "ion-toggle"; }
371
359
  static get encapsulation() { return "shadow"; }
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-04-28T00:29:05",
2
+ "timestamp": "2026-04-28T16:20:38",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.43.0",
@@ -38973,7 +38973,8 @@
38973
38973
  "ion-action-sheet",
38974
38974
  "ion-alert",
38975
38975
  "ion-select-modal",
38976
- "ion-modal"
38976
+ "ion-modal",
38977
+ "ion-icon"
38977
38978
  ],
38978
38979
  "dependencyGraph": {
38979
38980
  "ion-select": [
@@ -38982,7 +38983,8 @@
38982
38983
  "ion-action-sheet",
38983
38984
  "ion-alert",
38984
38985
  "ion-select-modal",
38985
- "ion-modal"
38986
+ "ion-modal",
38987
+ "ion-icon"
38986
38988
  ],
38987
38989
  "ion-select-popover": [
38988
38990
  "ion-item",
@@ -45675,8 +45677,14 @@
45675
45677
  ],
45676
45678
  "states": [],
45677
45679
  "dependents": [],
45678
- "dependencies": [],
45679
- "dependencyGraph": {}
45680
+ "dependencies": [
45681
+ "ion-icon"
45682
+ ],
45683
+ "dependencyGraph": {
45684
+ "ion-toggle": [
45685
+ "ion-icon"
45686
+ ]
45687
+ }
45680
45688
  },
45681
45689
  {
45682
45690
  "filePath": "src/components/toolbar/toolbar.tsx",
@@ -5,7 +5,7 @@ import { r as registerInstance, h, d as Host, g as getElement } from './index-Om
5
5
  import { c as getIonTheme } from './ionic-global-CAZb-5i-.js';
6
6
  import { h as hostContext, c as createColorClasses } from './theme-DaJxRxSQ.js';
7
7
 
8
- const avatarIonicCss = () => `:host{border-radius:var(--border-radius);display:block;position:relative}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--padding-top:var(--token-space-0, var(--token-scale-0, 0px));--padding-bottom:var(--token-space-0, var(--token-scale-0, 0px));font-size:var(--token-font-size-450, 1.125rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-700, var(--token-scale-700, 28px));text-decoration:none;text-transform:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:var(--token-bg-neutral-subtle-default, var(--token-primitives-neutral-200, #eae9e9));color:var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262))}:host(:not(.avatar-image)){-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.avatar-xxsmall){--padding-end:var(--token-space-050, var(--token-scale-050, 2px));--padding-start:var(--token-space-050, var(--token-scale-050, 2px));font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(.avatar-xsmall){--padding-end:var(--token-space-050, var(--token-scale-050, 2px));--padding-start:var(--token-space-050, var(--token-scale-050, 2px));font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;width:var(--token-scale-600, 24px);height:var(--token-scale-600, 24px)}:host(.avatar-small){--padding-end:var(--token-space-150, var(--token-scale-150, 6px));--padding-start:var(--token-space-150, var(--token-scale-150, 6px));font-size:var(--token-font-size-400, 1rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none;width:var(--token-scale-800, 32px);height:var(--token-scale-800, 32px)}:host(.avatar-medium){--padding-end:var(--token-space-200, var(--token-scale-200, 8px));--padding-start:var(--token-space-200, var(--token-scale-200, 8px));width:var(--token-scale-1000, 40px);height:var(--token-scale-1000, 40px)}:host(.avatar-large){--padding-end:var(--token-space-250, var(--token-scale-250, 10px));--padding-start:var(--token-space-250, var(--token-scale-250, 10px));font-size:var(--token-font-size-500, 1.25rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-700, var(--token-scale-700, 28px));text-decoration:none;text-transform:none;width:var(--token-scale-1200, 48px);height:var(--token-scale-1200, 48px)}:host(.avatar-xlarge){--padding-end:var(--token-space-300, var(--token-scale-300, 12px));--padding-start:var(--token-space-300, var(--token-scale-300, 12px));font-size:var(--token-font-size-550, 1.375rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-700, var(--token-scale-700, 28px));text-decoration:none;text-transform:none;width:var(--token-scale-1400, 56px);height:var(--token-scale-1400, 56px)}:host(.avatar-xxsmall.avatar-soft),:host(.avatar-xsmall.avatar-soft),:host(.avatar-small.avatar-soft){--border-radius:var(--token-soft-2xs, var(--token-border-radius-100, var(--token-scale-100, 4px)))}:host(.avatar-medium.avatar-soft){--border-radius:var(--token-soft-xs, var(--token-border-radius-200, var(--token-scale-200, 8px)))}:host(.avatar-large.avatar-soft),:host(.avatar-xlarge.avatar-soft){--border-radius:var(--token-soft-md, var(--token-border-radius-400, var(--token-scale-400, 16px)))}:host(.avatar-xxsmall.avatar-round),:host(.avatar-xsmall.avatar-round),:host(.avatar-small.avatar-round){--border-radius:var(--token-round-2xs, var(--token-border-radius-full, 999px))}:host(.avatar-medium.avatar-round){--border-radius:var(--token-round-xs, var(--token-border-radius-full, 999px))}:host(.avatar-large.avatar-round),:host(.avatar-xlarge.avatar-round){--border-radius:var(--token-round-md, var(--token-border-radius-full, 999px))}:host(.avatar-xxsmall.avatar-rectangular),:host(.avatar-xsmall.avatar-rectangular),:host(.avatar-small.avatar-rectangular){--border-radius:var(--token-rectangular-2xs, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host(.avatar-medium.avatar-rectangular){--border-radius:var(--token-rectangular-xs, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host(.avatar-large.avatar-rectangular),:host(.avatar-xlarge.avatar-rectangular){--border-radius:var(--token-rectangular-md, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host(.avatar-icon){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host(.avatar-xxsmall) ::slotted(ion-icon){width:var(--token-scale-300, 12px);height:var(--token-scale-300, 12px)}:host(.avatar-xxsmall) ::slotted(i.ph){font-size:var(--token-scale-300, 12px)}:host(.avatar-xsmall) ::slotted(ion-icon){width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(.avatar-xsmall) ::slotted(i.ph){font-size:var(--token-scale-400, 16px)}:host(.avatar-small) ::slotted(ion-icon){width:var(--token-scale-500, 20px);height:var(--token-scale-500, 20px)}:host(.avatar-small) ::slotted(i.ph){font-size:var(--token-scale-500, 20px)}:host(.avatar-medium) ::slotted(ion-icon){width:var(--token-scale-600, 24px);height:var(--token-scale-600, 24px)}:host(.avatar-medium) ::slotted(i.ph){font-size:var(--token-scale-600, 24px)}:host(.avatar-large) ::slotted(ion-icon){width:var(--token-scale-700, 28px);height:var(--token-scale-700, 28px)}:host(.avatar-large) ::slotted(i.ph){font-size:var(--token-scale-700, 28px)}:host(.avatar-xlarge) ::slotted(ion-icon){width:var(--token-scale-800, 32px);height:var(--token-scale-800, 32px)}:host(.avatar-xlarge) ::slotted(i.ph){font-size:var(--token-scale-800, 32px)}:host ::slotted(ion-badge.badge-vertical-top:empty){-webkit-transform:translate(var(--token-scale-050, 2px), calc(var(--token-scale-050, 2px) * -1));transform:translate(var(--token-scale-050, 2px), calc(var(--token-scale-050, 2px) * -1))}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-top:empty){-webkit-transform:translate(var(--token-scale-100, 4px), calc(var(--token-scale-100, 4px) * -1));transform:translate(var(--token-scale-100, 4px), calc(var(--token-scale-100, 4px) * -1))}:host ::slotted(ion-badge.badge-vertical-bottom:empty){-webkit-transform:translate(0, var(--token-scale-100, 4px));transform:translate(0, var(--token-scale-100, 4px))}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-bottom:empty){-webkit-transform:translate(var(--token-scale-100, 4px), var(--token-scale-100, 4px));transform:translate(var(--token-scale-100, 4px), var(--token-scale-100, 4px))}:host ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){-webkit-transform:translate(50%, 50%);transform:translate(50%, 50%)}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){bottom:var(--token-scale-100, 4px);-webkit-transform:translate(100%, 100%);transform:translate(100%, 100%)}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){inset-inline-end:var(--token-scale-100, 4px)}:host(.avatar-xsmall) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){bottom:calc(var(--token-scale-050, 2px) * -1)}:host(.avatar-xsmall) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){inset-inline-end:calc(var(--token-scale-050, 2px) * -1)}:host(.avatar-small) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)),:host(.avatar-medium) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)),:host(.avatar-large) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){bottom:var(--token-scale-050, 2px)}:host(.avatar-small) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)),:host(.avatar-medium) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)),:host(.avatar-large) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){inset-inline-end:var(--token-scale-050, 2px)}:host(.avatar-xlarge) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){bottom:var(--token-scale-150, 6px)}:host(.avatar-xlarge) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){inset-inline-end:var(--token-scale-150, 6px)}:host ::slotted(ion-badge.badge-vertical-top:not(:empty)){-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-050, 2px)}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:0}:host(.avatar-xsmall) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-100, 4px)}:host(.avatar-xsmall) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:calc(var(--token-scale-050, 2px) * -1)}:host(.avatar-small) ::slotted(ion-badge.badge-vertical-top:not(:empty)),:host(.avatar-medium) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-150, 6px)}:host(.avatar-small) ::slotted(ion-badge.badge-vertical-top:not(:empty)),:host(.avatar-medium) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:0}:host(.avatar-large) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-150, 6px)}:host(.avatar-large) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:var(--token-scale-050, 2px)}:host(.avatar-xlarge) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-150, 6px)}:host(.avatar-xlarge) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:var(--token-scale-150, 6px)}:host(.avatar-disabled)::after{border-radius:var(--border-radius);right:0;left:0;top:0;bottom:0;position:absolute;background-color:var(--token-state-disabled, rgba(255, 255, 255, 0.6));content:"";pointer-events:none}`;
8
+ const avatarIonicCss = () => `:host{border-radius:var(--border-radius);display:block;position:relative}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--padding-top:var(--token-space-0, var(--token-scale-0, 0px));--padding-bottom:var(--token-space-0, var(--token-scale-0, 0px));font-size:var(--token-font-size-450, 1.125rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-700, var(--token-scale-700, 28px));text-decoration:none;text-transform:none;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background:var(--token-bg-neutral-subtle-default, var(--token-primitives-neutral-200, #eae9e9));color:var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262))}:host(:not(.avatar-image)){-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom)}:host(.avatar-xxsmall){--padding-end:var(--token-space-050, var(--token-scale-050, 2px));--padding-start:var(--token-space-050, var(--token-scale-050, 2px));font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(.avatar-xsmall){--padding-end:var(--token-space-050, var(--token-scale-050, 2px));--padding-start:var(--token-space-050, var(--token-scale-050, 2px));font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;width:var(--token-scale-600, 24px);height:var(--token-scale-600, 24px)}:host(.avatar-small){--padding-end:var(--token-space-150, var(--token-scale-150, 6px));--padding-start:var(--token-space-150, var(--token-scale-150, 6px));font-size:var(--token-font-size-400, 1rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none;width:var(--token-scale-800, 32px);height:var(--token-scale-800, 32px)}:host(.avatar-medium){--padding-end:var(--token-space-200, var(--token-scale-200, 8px));--padding-start:var(--token-space-200, var(--token-scale-200, 8px));width:var(--token-scale-1000, 40px);height:var(--token-scale-1000, 40px)}:host(.avatar-large){--padding-end:var(--token-space-250, var(--token-scale-250, 10px));--padding-start:var(--token-space-250, var(--token-scale-250, 10px));font-size:var(--token-font-size-500, 1.25rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-700, var(--token-scale-700, 28px));text-decoration:none;text-transform:none;width:var(--token-scale-1200, 48px);height:var(--token-scale-1200, 48px)}:host(.avatar-xlarge){--padding-end:var(--token-space-300, var(--token-scale-300, 12px));--padding-start:var(--token-space-300, var(--token-scale-300, 12px));font-size:var(--token-font-size-550, 1.375rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-700, var(--token-scale-700, 28px));text-decoration:none;text-transform:none;width:var(--token-scale-1400, 56px);height:var(--token-scale-1400, 56px)}:host(.avatar-xxsmall.avatar-soft),:host(.avatar-xsmall.avatar-soft),:host(.avatar-small.avatar-soft){--border-radius:var(--token-soft-2xs, var(--token-border-radius-100, var(--token-scale-100, 4px)))}:host(.avatar-medium.avatar-soft){--border-radius:var(--token-soft-xs, var(--token-border-radius-200, var(--token-scale-200, 8px)))}:host(.avatar-large.avatar-soft),:host(.avatar-xlarge.avatar-soft){--border-radius:var(--token-soft-md, var(--token-border-radius-400, var(--token-scale-400, 16px)))}:host(.avatar-xxsmall.avatar-round),:host(.avatar-xsmall.avatar-round),:host(.avatar-small.avatar-round){--border-radius:var(--token-round-2xs, var(--token-border-radius-full, 999px))}:host(.avatar-medium.avatar-round){--border-radius:var(--token-round-xs, var(--token-border-radius-full, 999px))}:host(.avatar-large.avatar-round),:host(.avatar-xlarge.avatar-round){--border-radius:var(--token-round-md, var(--token-border-radius-full, 999px))}:host(.avatar-xxsmall.avatar-rectangular),:host(.avatar-xsmall.avatar-rectangular),:host(.avatar-small.avatar-rectangular){--border-radius:var(--token-rectangular-2xs, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host(.avatar-medium.avatar-rectangular){--border-radius:var(--token-rectangular-xs, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host(.avatar-large.avatar-rectangular),:host(.avatar-xlarge.avatar-rectangular){--border-radius:var(--token-rectangular-md, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host(.avatar-icon){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host(.avatar-xxsmall) ::slotted(ion-icon){width:var(--token-scale-300, 12px);height:var(--token-scale-300, 12px)}:host(.avatar-xsmall) ::slotted(ion-icon){width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(.avatar-small) ::slotted(ion-icon){width:var(--token-scale-500, 20px);height:var(--token-scale-500, 20px)}:host(.avatar-medium) ::slotted(ion-icon){width:var(--token-scale-600, 24px);height:var(--token-scale-600, 24px)}:host(.avatar-large) ::slotted(ion-icon){width:var(--token-scale-700, 28px);height:var(--token-scale-700, 28px)}:host(.avatar-xlarge) ::slotted(ion-icon){width:var(--token-scale-800, 32px);height:var(--token-scale-800, 32px)}:host ::slotted(ion-badge.badge-vertical-top:empty){-webkit-transform:translate(var(--token-scale-050, 2px), calc(var(--token-scale-050, 2px) * -1));transform:translate(var(--token-scale-050, 2px), calc(var(--token-scale-050, 2px) * -1))}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-top:empty){-webkit-transform:translate(var(--token-scale-100, 4px), calc(var(--token-scale-100, 4px) * -1));transform:translate(var(--token-scale-100, 4px), calc(var(--token-scale-100, 4px) * -1))}:host ::slotted(ion-badge.badge-vertical-bottom:empty){-webkit-transform:translate(0, var(--token-scale-100, 4px));transform:translate(0, var(--token-scale-100, 4px))}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-bottom:empty){-webkit-transform:translate(var(--token-scale-100, 4px), var(--token-scale-100, 4px));transform:translate(var(--token-scale-100, 4px), var(--token-scale-100, 4px))}:host ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){-webkit-transform:translate(50%, 50%);transform:translate(50%, 50%)}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){bottom:var(--token-scale-100, 4px);-webkit-transform:translate(100%, 100%);transform:translate(100%, 100%)}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){inset-inline-end:var(--token-scale-100, 4px)}:host(.avatar-xsmall) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){bottom:calc(var(--token-scale-050, 2px) * -1)}:host(.avatar-xsmall) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){inset-inline-end:calc(var(--token-scale-050, 2px) * -1)}:host(.avatar-small) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)),:host(.avatar-medium) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)),:host(.avatar-large) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){bottom:var(--token-scale-050, 2px)}:host(.avatar-small) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)),:host(.avatar-medium) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)),:host(.avatar-large) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){inset-inline-end:var(--token-scale-050, 2px)}:host(.avatar-xlarge) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){bottom:var(--token-scale-150, 6px)}:host(.avatar-xlarge) ::slotted(ion-badge.badge-vertical-bottom:not(:empty)){inset-inline-end:var(--token-scale-150, 6px)}:host ::slotted(ion-badge.badge-vertical-top:not(:empty)){-webkit-transform:translate(50%, -50%);transform:translate(50%, -50%)}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-050, 2px)}:host(.avatar-xxsmall) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:0}:host(.avatar-xsmall) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-100, 4px)}:host(.avatar-xsmall) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:calc(var(--token-scale-050, 2px) * -1)}:host(.avatar-small) ::slotted(ion-badge.badge-vertical-top:not(:empty)),:host(.avatar-medium) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-150, 6px)}:host(.avatar-small) ::slotted(ion-badge.badge-vertical-top:not(:empty)),:host(.avatar-medium) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:0}:host(.avatar-large) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-150, 6px)}:host(.avatar-large) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:var(--token-scale-050, 2px)}:host(.avatar-xlarge) ::slotted(ion-badge.badge-vertical-top:not(:empty)){top:var(--token-scale-150, 6px)}:host(.avatar-xlarge) ::slotted(ion-badge.badge-vertical-top:not(:empty)){inset-inline-end:var(--token-scale-150, 6px)}:host(.avatar-disabled)::after{border-radius:var(--border-radius);right:0;left:0;top:0;bottom:0;position:absolute;background-color:var(--token-state-disabled, rgba(255, 255, 255, 0.6));content:"";pointer-events:none}`;
9
9
 
10
10
  const avatarIosCss = () => `:host{border-radius:var(--border-radius);display:block;position:relative}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}`;
11
11
 
@@ -71,7 +71,7 @@ Avatar.style = {
71
71
  md: avatarMdCss()
72
72
  };
73
73
 
74
- const badgeIonicCss = () => `:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;background:var(--background);color:var(--color);text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host([vertical]:not(.in-tab-button)){position:absolute}:host([vertical]:not(.in-tab-button)){inset-inline-end:0}:host(:not(.in-tab-button)[vertical].badge-vertical-top){top:0}:host(:not(.in-tab-button)[vertical].badge-vertical-bottom){bottom:0}:host{--padding-start:var(--token-space-200, var(--token-scale-200, 8px));--padding-end:var(--token-space-200, var(--token-scale-200, 8px));--padding-top:var(--token-space-0, var(--token-scale-0, 0px));--padding-bottom:var(--token-space-0, var(--token-scale-0, 0px));font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--token-scale-250, 10px)}:host(.badge-bold){--background:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--color:var(--ion-color-primary-contrast, var(--token-text-inverse, var(--token-primitives-base-white, #ffffff)))}:host(.badge-bold.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.badge-subtle){--background:var(--ion-color-primary-subtle, var(--token-bg-primary-subtle-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc))));--color:var(--ion-color-primary-subtle-contrast, var(--token-text-primary, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))))}:host(.badge-subtle.ion-color){background:var(--ion-color-subtle-base);color:var(--ion-color-subtle-contrast)}:host(.badge-soft){border-radius:var(--token-soft-xs, var(--token-border-radius-200, var(--token-scale-200, 8px)))}:host(.badge-small.badge-soft){border-radius:var(--token-soft-2xs, var(--token-border-radius-100, var(--token-scale-100, 4px)))}:host(.badge-round){border-radius:var(--token-round-sm, var(--token-border-radius-full, 999px))}:host(.badge-rectangular){border-radius:var(--token-rectangular-sm, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host(.badge-small){--padding-start:var(--token-space-050, var(--token-scale-050, 2px));--padding-end:var(--token-space-050, var(--token-scale-050, 2px));min-width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(.badge-small) ::slotted(ion-icon){width:var(--token-scale-300, 12px);height:var(--token-scale-300, 12px)}:host(.badge-small) ::slotted(i.ph){font-size:var(--token-scale-300, 12px)}:host(.badge-medium),:host(.badge-large){--padding-start:var(--token-space-100, var(--token-scale-100, 4px));--padding-end:var(--token-space-100, var(--token-scale-100, 4px));font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none;min-width:var(--token-scale-600, 24px);height:var(--token-scale-600, 24px)}:host(.badge-medium) ::slotted(ion-icon),:host(.badge-large) ::slotted(ion-icon){width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(.badge-medium) ::slotted(i.ph),:host(.badge-large) ::slotted(i.ph){font-size:var(--token-scale-400, 16px)}:host(:empty){--padding-start:0;--padding-end:0}:host([vertical]:not(:empty)){--padding-start:var(--token-scale-100, 4px);--padding-end:var(--token-scale-100, 4px);--padding-top:var(--token-scale-100, 4px);--padding-bottom:var(--token-scale-100, 4px)}:host(.badge-small:empty){min-width:var(--token-scale-200, 8px);height:var(--token-scale-200, 8px)}:host(.badge-medium:empty){min-width:var(--token-scale-300, 12px);height:var(--token-scale-300, 12px)}:host(.badge-large:empty){min-width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host([vertical].in-tab-button){position:relative}:host([vertical]) ::slotted(ion-icon){top:50%;position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host([vertical]) ::slotted(ion-icon){inset-inline-start:50%}:host(:not(:empty).in-button){--padding-start:var(--token-scale-050, 2px);--padding-end:var(--token-scale-050, 2px);font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-1, 1%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;min-width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(:not(:empty).in-button) ::slotted(ion-icon){width:var(--token-scale-300, 12px);height:var(--token-scale-300, 12px)}:host(:not(:empty).in-button) ::slotted(i.ph){font-size:var(--token-scale-300, 12px)}`;
74
+ const badgeIonicCss = () => `:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;background:var(--background);color:var(--color);text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host([vertical]:not(.in-tab-button)){position:absolute}:host([vertical]:not(.in-tab-button)){inset-inline-end:0}:host(:not(.in-tab-button)[vertical].badge-vertical-top){top:0}:host(:not(.in-tab-button)[vertical].badge-vertical-bottom){bottom:0}:host{--padding-start:var(--token-space-200, var(--token-scale-200, 8px));--padding-end:var(--token-space-200, var(--token-scale-200, 8px));--padding-top:var(--token-space-0, var(--token-scale-0, 0px));--padding-bottom:var(--token-space-0, var(--token-scale-0, 0px));font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:var(--token-scale-250, 10px)}:host(.badge-bold){--background:var(--ion-color-primary, var(--token-bg-primary-base-default, var(--token-semantics-primary-base, var(--token-semantics-primary-700, var(--token-primitives-blue-700, #105cef)))));--color:var(--ion-color-primary-contrast, var(--token-text-inverse, var(--token-primitives-base-white, #ffffff)))}:host(.badge-bold.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.badge-subtle){--background:var(--ion-color-primary-subtle, var(--token-bg-primary-subtle-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc))));--color:var(--ion-color-primary-subtle-contrast, var(--token-text-primary, var(--token-semantics-primary-900, var(--token-primitives-blue-900, #0d4bc3))))}:host(.badge-subtle.ion-color){background:var(--ion-color-subtle-base);color:var(--ion-color-subtle-contrast)}:host(.badge-soft){border-radius:var(--token-soft-xs, var(--token-border-radius-200, var(--token-scale-200, 8px)))}:host(.badge-small.badge-soft){border-radius:var(--token-soft-2xs, var(--token-border-radius-100, var(--token-scale-100, 4px)))}:host(.badge-round){border-radius:var(--token-round-sm, var(--token-border-radius-full, 999px))}:host(.badge-rectangular){border-radius:var(--token-rectangular-sm, var(--token-border-radius-0, var(--token-scale-0, 0px)))}:host(.badge-small){--padding-start:var(--token-space-050, var(--token-scale-050, 2px));--padding-end:var(--token-space-050, var(--token-scale-050, 2px));min-width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(.badge-small) ::slotted(ion-icon){width:var(--token-scale-300, 12px);height:var(--token-scale-300, 12px)}:host(.badge-medium),:host(.badge-large){--padding-start:var(--token-space-100, var(--token-scale-100, 4px));--padding-end:var(--token-space-100, var(--token-scale-100, 4px));font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none;min-width:var(--token-scale-600, 24px);height:var(--token-scale-600, 24px)}:host(.badge-medium) ::slotted(ion-icon),:host(.badge-large) ::slotted(ion-icon){width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(:empty){--padding-start:0;--padding-end:0}:host([vertical]:not(:empty)){--padding-start:var(--token-scale-100, 4px);--padding-end:var(--token-scale-100, 4px);--padding-top:var(--token-scale-100, 4px);--padding-bottom:var(--token-scale-100, 4px)}:host(.badge-small:empty){min-width:var(--token-scale-200, 8px);height:var(--token-scale-200, 8px)}:host(.badge-medium:empty){min-width:var(--token-scale-300, 12px);height:var(--token-scale-300, 12px)}:host(.badge-large:empty){min-width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host([vertical].in-tab-button){position:relative}:host([vertical]) ::slotted(ion-icon){top:50%;position:absolute;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host([vertical]) ::slotted(ion-icon){inset-inline-start:50%}:host(:not(:empty).in-button){--padding-start:var(--token-scale-050, 2px);--padding-end:var(--token-scale-050, 2px);font-size:var(--token-font-size-300, 0.75rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-1, 1%);line-height:var(--token-font-line-height-500, var(--token-scale-500, 20px));text-decoration:none;text-transform:none;min-width:var(--token-scale-400, 16px);height:var(--token-scale-400, 16px)}:host(:not(:empty).in-button) ::slotted(ion-icon){width:var(--token-scale-300, 12px);height:var(--token-scale-300, 12px)}`;
75
75
 
76
76
  const badgeIosCss = () => `:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;background:var(--background);color:var(--color);text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host([vertical]:not(.in-tab-button)){position:absolute}:host([vertical]:not(.in-tab-button)){inset-inline-end:0}:host(:not(.in-tab-button)[vertical].badge-vertical-top){top:0}:host(:not(.in-tab-button)[vertical].badge-vertical-bottom){bottom:0}:host{--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);min-width:10px;font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host([vertical]:not(.in-button):not(.in-tab-button)),:host(:empty){--padding-start:0;--padding-end:0;--padding-bottom:0;--padding-top:0;border-radius:999px;width:10px;height:10px;font-size:0.5rem;line-height:10px}:host(:not(:empty).in-button){min-width:16px;height:16px;font-size:0.75rem;line-height:20px}:host(:not(:empty).in-button) ::slotted(ion-icon){width:12px;height:12px}:host{border-radius:10px;font-size:max(13px, 0.8125rem)}:host([vertical].in-tab-button){position:relative;min-width:8px}:host([vertical].in-tab-button) ::slotted(ion-icon){top:50%;position:absolute;width:12px;height:12px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}:host([vertical].in-tab-button) ::slotted(ion-icon){inset-inline-start:50%}`;
77
77