@rdlabo/ionic-theme-ios27 0.1.0-0 → 0.1.0-1

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 (85) hide show
  1. package/README.md +12 -10
  2. package/dist/css/components/ion-action-sheet.css +1 -1
  3. package/dist/css/components/ion-alert.css +1 -1
  4. package/dist/css/components/ion-button.css +1 -1
  5. package/dist/css/components/ion-card.css +1 -1
  6. package/dist/css/components/ion-content.css +1 -1
  7. package/dist/css/components/ion-datetime.css +1 -1
  8. package/dist/css/components/ion-fab.css +1 -1
  9. package/dist/css/components/ion-inputs.css +1 -1
  10. package/dist/css/components/ion-list.css +1 -1
  11. package/dist/css/components/ion-loading.css +1 -1
  12. package/dist/css/components/ion-menu.css +1 -1
  13. package/dist/css/components/ion-modal.css +1 -1
  14. package/dist/css/components/ion-popover.css +1 -1
  15. package/dist/css/components/ion-range.css +1 -1
  16. package/dist/css/components/ion-searchbar.css +1 -1
  17. package/dist/css/components/ion-segment.css +1 -1
  18. package/dist/css/components/ion-tabs.css +1 -1
  19. package/dist/css/components/ion-toast.css +1 -1
  20. package/dist/css/components/ion-toggle.css +1 -1
  21. package/dist/css/components/ion-toolbar.css +1 -1
  22. package/dist/css/ionic-theme-ios27-dark-always.css +1 -0
  23. package/dist/css/ionic-theme-ios27-dark-class.css +1 -0
  24. package/dist/css/ionic-theme-ios27-dark-system.css +1 -0
  25. package/dist/css/ionic-theme-ios27.css +1 -0
  26. package/dist/css/md-remove-ios-class-effect.css +1 -1
  27. package/dist/css/utils/translucent.css +1 -1
  28. package/dist/popover/animations/ios.enter.js +2 -2
  29. package/dist/popover/animations/ios.leave.js +2 -2
  30. package/dist/sheets-of-glass/index.js +2 -2
  31. package/dist/transition/ios.transition.d.ts.map +1 -1
  32. package/dist/transition/ios.transition.js +10 -9
  33. package/docs/eslint.md +1 -1
  34. package/docs/feedback.md +2 -2
  35. package/docs/ios-adaptive.md +90 -0
  36. package/docs/migration.md +6 -83
  37. package/docs/special-markup.md +5 -3
  38. package/docs/using-ion-item-group.md +2 -2
  39. package/package.json +2 -2
  40. package/src/popover/animations/ios.enter.ts +2 -2
  41. package/src/popover/animations/ios.leave.ts +2 -2
  42. package/src/sheets-of-glass/index.ts +2 -2
  43. package/src/styles/components/ion-action-sheet.scss +4 -4
  44. package/src/styles/components/ion-alert.scss +1 -1
  45. package/src/styles/components/ion-button.scss +25 -21
  46. package/src/styles/components/ion-card.scss +1 -1
  47. package/src/styles/components/ion-content.scss +10 -8
  48. package/src/styles/components/ion-datetime.scss +1 -1
  49. package/src/styles/components/ion-fab.scss +11 -9
  50. package/src/styles/components/ion-inputs.scss +2 -2
  51. package/src/styles/components/ion-list.scss +2 -2
  52. package/src/styles/components/ion-loading.scss +1 -1
  53. package/src/styles/components/ion-menu.scss +26 -21
  54. package/src/styles/components/ion-modal.scss +3 -3
  55. package/src/styles/components/ion-picker.scss +1 -1
  56. package/src/styles/components/ion-popover.scss +4 -3
  57. package/src/styles/components/ion-range.scss +2 -2
  58. package/src/styles/components/ion-searchbar.scss +6 -4
  59. package/src/styles/components/ion-segment.scss +8 -8
  60. package/src/styles/components/ion-tabs.scss +13 -13
  61. package/src/styles/components/ion-toast.scss +8 -7
  62. package/src/styles/components/ion-toggle.scss +4 -4
  63. package/src/styles/components/ion-toolbar.scss +13 -12
  64. package/src/styles/default-variables.scss +4 -3
  65. package/src/styles/md-remove-ios-class-effect.scss +2 -2
  66. package/src/styles/utils/api.scss +16 -16
  67. package/src/styles/utils/dark/ion-button.scss +8 -8
  68. package/src/styles/utils/dark/ion-fab.scss +1 -1
  69. package/src/styles/utils/dark/ion-segment.scss +3 -2
  70. package/src/styles/utils/dark/ion-tabs.scss +3 -2
  71. package/src/styles/utils/translucent.scss +21 -16
  72. package/src/transition/ios.transition.ts +12 -9
  73. package/dist/css/ionic-theme-ios26-dark-always.css +0 -1
  74. package/dist/css/ionic-theme-ios26-dark-class.css +0 -1
  75. package/dist/css/ionic-theme-ios26-dark-system.css +0 -1
  76. package/dist/css/ionic-theme-ios26.css +0 -1
  77. package/dist/docs.json +0 -234
  78. package/dist/focus-controller /index.d.ts +0 -6
  79. package/dist/focus-controller /index.d.ts.map +0 -1
  80. package/dist/focus-controller /index.js +0 -62
  81. package/docs/ios-18.md +0 -16
  82. /package/src/styles/{ionic-theme-ios26-dark-always.scss → ionic-theme-ios27-dark-always.scss} +0 -0
  83. /package/src/styles/{ionic-theme-ios26-dark-class.scss → ionic-theme-ios27-dark-class.scss} +0 -0
  84. /package/src/styles/{ionic-theme-ios26-dark-system.scss → ionic-theme-ios27-dark-system.scss} +0 -0
  85. /package/src/styles/{ionic-theme-ios26.scss → ionic-theme-ios27.scss} +0 -0
@@ -5,7 +5,7 @@
5
5
  @include api.glass-background-button-activated-dark;
6
6
  }
7
7
 
8
- ion-button:not(.ios26-disabled).button-clear {
8
+ ion-button:not(.ios-theme-disabled, .ios26-disabled).button-clear {
9
9
  &.ion-activated {
10
10
  color: rgb(var(--ion-text-color-rgb, 0, 0, 0));
11
11
  &.ion-color {
@@ -14,8 +14,8 @@
14
14
  }
15
15
  }
16
16
 
17
- ion-button:not(.ios26-disabled),
18
- ion-back-button:not(.ios26-disabled) {
17
+ ion-button:not(.ios-theme-disabled, .ios26-disabled),
18
+ ion-back-button:not(.ios-theme-disabled, .ios26-disabled) {
19
19
  &.ion-activated {
20
20
  --color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1);
21
21
 
@@ -28,10 +28,10 @@
28
28
 
29
29
  @mixin theme-dark-button($is-back-button: false) {
30
30
  &.ion-activated:not(.button-solid):not(.button-outline):not(.button-clear) {
31
- --background: rgba(var(--ios26-button-color-selected-rgb), 0.56);
31
+ --background: rgba(var(--ios-theme-button-color-selected-rgb, var(--ios26-button-color-selected-rgb)), 0.56);
32
32
  --color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1);
33
33
  @if not $is-back-button {
34
- --box-shadow: inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);
34
+ --box-shadow: inset 0 0 16px 0 rgba(var(--ios-theme-glass-box-shadow-color-rgb, var(--ios26-glass-box-shadow-color-rgb)), 0.55);
35
35
  }
36
36
  &.ion-color {
37
37
  --color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1);
@@ -46,13 +46,13 @@
46
46
  }
47
47
 
48
48
  @mixin ion-button {
49
- ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button, ion-button:not(.button-clear))) {
49
+ ion-buttons.ios:not(.ios-theme-disabled, .ios26-disabled):not(:has(ion-back-button, ion-button:not(.button-clear))) {
50
50
  @include theme-dark-buttons;
51
51
  }
52
- ion-button.ios:not(.ios26-disabled) {
52
+ ion-button.ios:not(.ios-theme-disabled, .ios26-disabled) {
53
53
  @include theme-dark-button;
54
54
  }
55
- ion-back-button.ios:not(.ios26-disabled) {
55
+ ion-back-button.ios:not(.ios-theme-disabled, .ios26-disabled) {
56
56
  @include theme-dark-button($is-back-button: true);
57
57
  }
58
58
  }
@@ -1,7 +1,7 @@
1
1
  @use '../api';
2
2
 
3
3
  @mixin ion-fab {
4
- ion-fab.ios:not(.ios26-disabled) {
4
+ ion-fab.ios:not(.ios-theme-disabled, .ios26-disabled) {
5
5
  ion-fab-button {
6
6
  &.ion-activated {
7
7
  &::part(native) {
@@ -1,10 +1,11 @@
1
1
  @mixin ion-segment {
2
- ion-segment.ios:not(.ios26-disabled) {
2
+ ion-segment.ios:not(.ios-theme-disabled, .ios26-disabled) {
3
3
  }
4
- ion-segment-button.ios:not(.ios26-disabled) {
4
+ ion-segment-button.ios:not(.ios-theme-disabled, .ios26-disabled) {
5
5
  &.ion-cloned-element {
6
6
  &::part(native) {
7
7
  --ios26-glass-border-color-rgb: 120, 120, 120;
8
+ --ios-theme-glass-border-color-rgb: var(--ios26-glass-border-color-rgb);
8
9
  box-shadow: inset 0 0 8px 0 rgba(255, 255, 255, 0.2);
9
10
  }
10
11
  }
@@ -1,9 +1,9 @@
1
1
  @use '../api';
2
2
 
3
3
  @mixin ion-tabs {
4
- ion-tab-bar.ios:not(.ios26-disabled) {
4
+ ion-tab-bar.ios:not(.ios-theme-disabled, .ios26-disabled) {
5
5
  }
6
- ion-tab-button.ios:not(.ios26-disabled) {
6
+ ion-tab-button.ios:not(.ios-theme-disabled, .ios26-disabled) {
7
7
  &.ion-activated {
8
8
  ion-label,
9
9
  ion-icon {
@@ -14,6 +14,7 @@
14
14
  &.ion-cloned-element {
15
15
  &::part(native) {
16
16
  --ios26-glass-border-color-rgb: 120, 120, 120;
17
+ --ios-theme-glass-border-color-rgb: var(--ios26-glass-border-color-rgb);
17
18
  box-shadow: inset 0 0 8px 0 rgba(255, 255, 255, 0.2);
18
19
  }
19
20
  }
@@ -1,7 +1,7 @@
1
1
  @use 'api';
2
2
 
3
- ion-header.ios:not(.ios26-disabled).header-translucent,
4
- ion-footer.ios:not(.ios26-disabled).footer-translucent {
3
+ ion-header.ios:not(.ios-theme-disabled, .ios26-disabled).header-translucent,
4
+ ion-footer.ios:not(.ios-theme-disabled, .ios26-disabled).footer-translucent {
5
5
  .header-background,
6
6
  .footer-background {
7
7
  backdrop-filter: none;
@@ -20,14 +20,17 @@ ion-footer.ios:not(.ios26-disabled).footer-translucent {
20
20
  }
21
21
  }
22
22
 
23
- ion-header.ios:not(.ios26-disabled).header-translucent:not(.header-collapse-condense) {
24
- &:has(> ion-toolbar.ios:not(.ios26-disabled) > *)::before {
23
+ ion-header.ios:not(.ios-theme-disabled, .ios26-disabled).header-translucent:not(.header-collapse-condense) {
24
+ &:has(> ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled) > *)::before {
25
25
  height: 100%;
26
- background: rgba(var(--ion-color-base-rgb, var(--ios26-content-box-shadow-rgb)), calc(0.2 * var(--opacity-scale, 1)));
26
+ background: rgba(
27
+ var(--ion-color-base-rgb, var(--ios-theme-content-box-shadow-rgb, var(--ios26-content-box-shadow-rgb))),
28
+ calc(0.2 * var(--opacity-scale, 1))
29
+ );
27
30
  backdrop-filter: blur(8px);
28
31
  }
29
32
 
30
- &:not(.ion-no-border) > ion-toolbar.ios:not(.ios26-disabled):has(> *):last-of-type {
33
+ &:not(.ion-no-border) > ion-toolbar.ios:not(.ios-theme-disabled, .ios26-disabled):has(> *):last-of-type {
31
34
  --border-width: 0 0 0.5px;
32
35
  --border-color: var(--ion-toolbar-border-color, rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.08));
33
36
  &::part(background) {
@@ -37,7 +40,7 @@ ion-header.ios:not(.ios26-disabled).header-translucent:not(.header-collapse-cond
37
40
  }
38
41
  }
39
42
 
40
- ion-header.ios:not(.ios26-disabled).header-collapse-main ion-toolbar.in-toolbar ion-title {
43
+ ion-header.ios:not(.ios-theme-disabled, .ios26-disabled).header-collapse-main ion-toolbar.in-toolbar ion-title {
41
44
  transition:
42
45
  opacity 0.5s ease-in-out,
43
46
  color 0.5s ease-in-out,
@@ -45,15 +48,17 @@ ion-header.ios:not(.ios26-disabled).header-collapse-main ion-toolbar.in-toolbar
45
48
  transform 0.5s ease-in-out;
46
49
  }
47
50
 
48
- ion-header.ios:not(.ios26-disabled).header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title {
51
+ ion-header.ios:not(.ios-theme-disabled, .ios26-disabled).header-collapse-condense-inactive:not(.header-collapse-condense)
52
+ ion-toolbar.in-toolbar
53
+ ion-title {
49
54
  color: transparent;
50
55
  text-shadow: 0 0 1px var(--ion-color-base, var(--ion-toolbar-color, var(--ion-text-color, #000)));
51
56
  transform: translateY(8px);
52
57
  }
53
58
 
54
- ion-header.ios:not(.ios26-disabled).header-translucent::before,
55
- ion-header.ios:not(.ios26-disabled).header-translucent::after,
56
- ion-content.ios:not(.ios26-disabled).content-fullscreen::part(background)::before {
59
+ ion-header.ios:not(.ios-theme-disabled, .ios26-disabled).header-translucent::before,
60
+ ion-header.ios:not(.ios-theme-disabled, .ios26-disabled).header-translucent::after,
61
+ ion-content.ios:not(.ios-theme-disabled, .ios26-disabled).content-fullscreen::part(background)::before {
57
62
  content: '';
58
63
  position: absolute;
59
64
  width: 100%;
@@ -61,7 +66,7 @@ ion-content.ios:not(.ios26-disabled).content-fullscreen::part(background)::befor
61
66
  z-index: 1;
62
67
  }
63
68
 
64
- ion-header.ios:not(.ios26-disabled).header-translucent::before {
69
+ ion-header.ios:not(.ios-theme-disabled, .ios26-disabled).header-translucent::before {
65
70
  /**
66
71
  * With safe-area effect, this is need.
67
72
  */
@@ -70,7 +75,7 @@ ion-header.ios:not(.ios26-disabled).header-translucent::before {
70
75
  height: var(--ion-safe-area-top);
71
76
  }
72
77
 
73
- ion-header.ios:not(.ios26-disabled).header-translucent::after {
78
+ ion-header.ios:not(.ios-theme-disabled, .ios26-disabled).header-translucent::after {
74
79
  z-index: 2;
75
80
  top: 0;
76
81
  height: 100%;
@@ -88,8 +93,8 @@ ion-header.ios:not(.ios26-disabled).header-translucent::after {
88
93
  height: var(--offset-top, 0px);
89
94
  background: linear-gradient(
90
95
  in oklab,
91
- rgba(var(--ios26-content-box-shadow-rgb), 0.5) 0%,
92
- rgba(var(--ios26-content-box-shadow-rgb), 0.2) 50%,
93
- rgba(var(--ios26-content-box-shadow-rgb), 0) 100%
96
+ rgba(var(--ios-theme-content-box-shadow-rgb, var(--ios26-content-box-shadow-rgb)), 0.5) 0%,
97
+ rgba(var(--ios-theme-content-box-shadow-rgb, var(--ios26-content-box-shadow-rgb)), 0.2) 50%,
98
+ rgba(var(--ios-theme-content-box-shadow-rgb, var(--ios26-content-box-shadow-rgb)), 0) 100%
94
99
  );
95
100
  }
@@ -24,14 +24,14 @@ const animateFixedBackButton = (
24
24
  otherPage?: HTMLElement,
25
25
  ) => {
26
26
  const button = page.querySelector<HTMLIonBackButtonElement>(
27
- ':scope > ion-header.header-translucent:not(.ios26-disabled) ion-back-button:not(.ios26-disabled)',
27
+ ':scope > ion-header.header-translucent:not(.ios-theme-disabled, .ios26-disabled) ion-back-button:not(.ios-theme-disabled, .ios26-disabled)',
28
28
  );
29
29
  if (!button || button.offsetWidth === 0) {
30
30
  return;
31
31
  }
32
32
 
33
33
  const otherButton = otherPage?.querySelector<HTMLIonBackButtonElement>(
34
- ':scope > ion-header.header-translucent:not(.ios26-disabled) ion-back-button:not(.ios26-disabled)',
34
+ ':scope > ion-header.header-translucent:not(.ios-theme-disabled, .ios26-disabled) ion-back-button:not(.ios-theme-disabled, .ios26-disabled)',
35
35
  );
36
36
  const persistent = !!otherButton && otherButton.offsetWidth > 0;
37
37
  const buttons = [button, ...(persistent ? [otherButton!] : [])].map((element) => ({
@@ -623,7 +623,7 @@ export const iosTransitionAnimation = (navEl: HTMLElement, opts: TransitionOptio
623
623
  .beforeRemoveClass('ion-page-invisible');
624
624
 
625
625
  const topPage = backDirection ? leavingEl : enteringEl;
626
- if (topPage?.querySelector(':scope > ion-header.header-translucent:not(.ios26-disabled)')) {
626
+ if (topPage?.querySelector(':scope > ion-header.header-translucent:not(.ios-theme-disabled, .ios26-disabled)')) {
627
627
  const shadow = topPage.style.boxShadow;
628
628
  rootAnimation.beforeAddWrite(() => {
629
629
  topPage.style.boxShadow = `${isRTL ? 4 : -4}px 0 24px rgba(0, 0, 0, 0.04)`;
@@ -640,7 +640,7 @@ export const iosTransitionAnimation = (navEl: HTMLElement, opts: TransitionOptio
640
640
  rootAnimation.addAnimation(navDecorAnimation);
641
641
  }
642
642
 
643
- if (enteringEl.querySelector(':scope > ion-header.header-translucent:not(.ios26-disabled)')) {
643
+ if (enteringEl.querySelector(':scope > ion-header.header-translucent:not(.ios-theme-disabled, .ios26-disabled)')) {
644
644
  enteringContentAnimation.addElement(enteringEl);
645
645
  } else if (!contentEl && enteringToolBarEls.length === 0 && headerEls.length === 0) {
646
646
  enteringContentAnimation.addElement(enteringEl.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs')!); // REVIEW
@@ -661,7 +661,7 @@ export const iosTransitionAnimation = (navEl: HTMLElement, opts: TransitionOptio
661
661
  enteringContentAnimation.beforeClearStyles([OPACITY]).fromTo('transform', `translateX(${OFF_RIGHT})`, `translateX(${CENTER})`);
662
662
  }
663
663
 
664
- if (contentEl && !enteringEl.querySelector(':scope > ion-header.header-translucent:not(.ios26-disabled)')) {
664
+ if (contentEl && !enteringEl.querySelector(':scope > ion-header.header-translucent:not(.ios-theme-disabled, .ios26-disabled)')) {
665
665
  const enteringTransitionEffectEl = shadow(contentEl).querySelector('.transition-effect');
666
666
  if (enteringTransitionEffectEl) {
667
667
  const enteringTransitionCoverEl = enteringTransitionEffectEl.querySelector('.transition-cover');
@@ -705,7 +705,7 @@ export const iosTransitionAnimation = (navEl: HTMLElement, opts: TransitionOptio
705
705
  const enteringContentHasLargeTitle = enteringEl.querySelector('ion-header.header-collapse-condense');
706
706
 
707
707
  enteringToolBarEls.forEach((enteringToolBarEl) => {
708
- if (enteringToolBarEl.closest('ion-header')?.matches('.header-translucent:not(.ios26-disabled)')) {
708
+ if (enteringToolBarEl.closest('ion-header')?.matches('.header-translucent:not(.ios-theme-disabled, .ios26-disabled)')) {
709
709
  return;
710
710
  }
711
711
  const enteringToolBar = createAnimation();
@@ -796,7 +796,7 @@ export const iosTransitionAnimation = (navEl: HTMLElement, opts: TransitionOptio
796
796
  const leavingToolBarEls = leavingEl.querySelectorAll(':scope > ion-header > ion-toolbar');
797
797
  const leavingHeaderEls = leavingEl.querySelectorAll(':scope > ion-header > *:not(ion-toolbar), :scope > ion-footer > *');
798
798
 
799
- if (leavingEl.querySelector(':scope > ion-header.header-translucent:not(.ios26-disabled)')) {
799
+ if (leavingEl.querySelector(':scope > ion-header.header-translucent:not(.ios-theme-disabled, .ios26-disabled)')) {
800
800
  leavingContent.addElement(leavingEl);
801
801
  } else if (!leavingContentEl && leavingToolBarEls.length === 0 && leavingHeaderEls.length === 0) {
802
802
  leavingContent.addElement(leavingEl.querySelector(':scope > .ion-page, :scope > ion-nav, :scope > ion-tabs')!); // REVIEW
@@ -824,7 +824,10 @@ export const iosTransitionAnimation = (navEl: HTMLElement, opts: TransitionOptio
824
824
  leavingContent.fromTo('transform', `translateX(${CENTER})`, `translateX(${OFF_LEFT})`).fromTo(OPACITY, 1, OFF_OPACITY);
825
825
  }
826
826
 
827
- if (leavingContentEl && !leavingEl.querySelector(':scope > ion-header.header-translucent:not(.ios26-disabled)')) {
827
+ if (
828
+ leavingContentEl &&
829
+ !leavingEl.querySelector(':scope > ion-header.header-translucent:not(.ios-theme-disabled, .ios26-disabled)')
830
+ ) {
828
831
  const leavingTransitionEffectEl = shadow(leavingContentEl).querySelector('.transition-effect');
829
832
 
830
833
  if (leavingTransitionEffectEl) {
@@ -856,7 +859,7 @@ export const iosTransitionAnimation = (navEl: HTMLElement, opts: TransitionOptio
856
859
  }
857
860
 
858
861
  leavingToolBarEls.forEach((leavingToolBarEl) => {
859
- if (leavingToolBarEl.closest('ion-header')?.matches('.header-translucent:not(.ios26-disabled)')) {
862
+ if (leavingToolBarEl.closest('ion-header')?.matches('.header-translucent:not(.ios-theme-disabled, .ios26-disabled)')) {
860
863
  return;
861
864
  }
862
865
  const leavingToolBar = createAnimation();
@@ -1 +0,0 @@
1
- :root{--ios26-glass-background-rgb: 62, 62, 62;--ios26-glass-box-shadow-color-rgb: 0, 0, 0 / 0;--ios26-glass-border-color-rgb: 68, 68, 68;--ios26-button-color-selected-rgb: 255, 255, 255;--ios26-content-box-shadow-rgb: 0, 0, 0}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))):has(.ion-activated){background:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).button-clear.ion-activated{color:rgb(var(--ion-text-color-rgb, 0, 0, 0))}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).button-clear.ion-activated.ion-color{color:rgb(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)))}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).ion-activated,ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-back-button:not(.ios26-disabled).ion-activated{--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1)}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).ion-activated.ion-color,ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-back-button:not(.ios26-disabled).ion-activated.ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear){--background: rgba(var(--ios26-button-color-selected-rgb), 0.56);--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1);--box-shadow: inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55)}ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear).ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear)::part(native){background-color:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear) ion-icon{color:#fff}ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear){--background: rgba(var(--ios26-button-color-selected-rgb), 0.56);--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1)}ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear).ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear)::part(native){background-color:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear) ion-icon{color:#fff}ion-fab.ios:not(.ios26-disabled) ion-fab-button.ion-activated::part(native){background-color:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}ion-fab.ios:not(.ios26-disabled) ion-fab-button.ion-activated{--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1)}ion-fab.ios:not(.ios26-disabled) ion-fab-button.ion-activated.ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}ion-tab-button.ios:not(.ios26-disabled).ion-activated ion-label,ion-tab-button.ios:not(.ios26-disabled).ion-activated ion-icon{filter:brightness(118%);opacity:.95}ion-tab-button.ios:not(.ios26-disabled).ion-cloned-element::part(native){--ios26-glass-border-color-rgb: 120, 120, 120;box-shadow:inset 0 0 8px 0 hsla(0,0%,100%,.2)}ion-segment-button.ios:not(.ios26-disabled).ion-cloned-element::part(native){--ios26-glass-border-color-rgb: 120, 120, 120;box-shadow:inset 0 0 8px 0 hsla(0,0%,100%,.2)}
@@ -1 +0,0 @@
1
- .ion-palette-dark{--ios26-glass-background-rgb: 62, 62, 62;--ios26-glass-box-shadow-color-rgb: 0, 0, 0 / 0;--ios26-glass-border-color-rgb: 68, 68, 68;--ios26-button-color-selected-rgb: 255, 255, 255;--ios26-content-box-shadow-rgb: 0, 0, 0}.ion-palette-dark ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))):has(.ion-activated){background:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ion-palette-dark ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).button-clear.ion-activated{color:rgb(var(--ion-text-color-rgb, 0, 0, 0))}.ion-palette-dark ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).button-clear.ion-activated.ion-color{color:rgb(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)))}.ion-palette-dark ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).ion-activated,.ion-palette-dark ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-back-button:not(.ios26-disabled).ion-activated{--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1)}.ion-palette-dark ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).ion-activated.ion-color,.ion-palette-dark ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-back-button:not(.ios26-disabled).ion-activated.ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}.ion-palette-dark ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear){--background: rgba(var(--ios26-button-color-selected-rgb), 0.56);--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1);--box-shadow: inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55)}.ion-palette-dark ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear).ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}.ion-palette-dark ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear)::part(native){background-color:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ion-palette-dark ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear) ion-icon{color:#fff}.ion-palette-dark ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear){--background: rgba(var(--ios26-button-color-selected-rgb), 0.56);--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1)}.ion-palette-dark ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear).ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}.ion-palette-dark ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear)::part(native){background-color:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ion-palette-dark ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear) ion-icon{color:#fff}.ion-palette-dark ion-fab.ios:not(.ios26-disabled) ion-fab-button.ion-activated::part(native){background-color:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ion-palette-dark ion-fab.ios:not(.ios26-disabled) ion-fab-button.ion-activated{--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1)}.ion-palette-dark ion-fab.ios:not(.ios26-disabled) ion-fab-button.ion-activated.ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}.ion-palette-dark ion-tab-button.ios:not(.ios26-disabled).ion-activated ion-label,.ion-palette-dark ion-tab-button.ios:not(.ios26-disabled).ion-activated ion-icon{filter:brightness(118%);opacity:.95}.ion-palette-dark ion-tab-button.ios:not(.ios26-disabled).ion-cloned-element::part(native){--ios26-glass-border-color-rgb: 120, 120, 120;box-shadow:inset 0 0 8px 0 hsla(0,0%,100%,.2)}.ion-palette-dark ion-segment-button.ios:not(.ios26-disabled).ion-cloned-element::part(native){--ios26-glass-border-color-rgb: 120, 120, 120;box-shadow:inset 0 0 8px 0 hsla(0,0%,100%,.2)}
@@ -1 +0,0 @@
1
- @media(prefers-color-scheme: dark){:root{--ios26-glass-background-rgb: 62, 62, 62;--ios26-glass-box-shadow-color-rgb: 0, 0, 0 / 0;--ios26-glass-border-color-rgb: 68, 68, 68;--ios26-button-color-selected-rgb: 255, 255, 255;--ios26-content-box-shadow-rgb: 0, 0, 0}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))):has(.ion-activated){background:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).button-clear.ion-activated{color:rgb(var(--ion-text-color-rgb, 0, 0, 0))}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).button-clear.ion-activated.ion-color{color:rgb(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)))}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).ion-activated,ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-back-button:not(.ios26-disabled).ion-activated{--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1)}ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-button:not(.ios26-disabled).ion-activated.ion-color,ion-buttons.ios:not(.ios26-disabled):not(:has(ion-back-button,ion-button:not(.button-clear))) ion-back-button:not(.ios26-disabled).ion-activated.ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear){--background: rgba(var(--ios26-button-color-selected-rgb), 0.56);--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1);--box-shadow: inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55)}ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear).ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear)::part(native){background-color:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}ion-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear) ion-icon{color:#fff}ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear){--background: rgba(var(--ios26-button-color-selected-rgb), 0.56);--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1)}ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear).ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear)::part(native){background-color:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}ion-back-button.ios:not(.ios26-disabled).ion-activated:not(.button-solid):not(.button-outline):not(.button-clear) ion-icon{color:#fff}ion-fab.ios:not(.ios26-disabled) ion-fab-button.ion-activated::part(native){background-color:rgba(var(--ios26-button-color-selected-rgb), 0.56);backdrop-filter:blur(7px) saturate(180%);box-shadow:inset 0 0 16px 0 rgba(var(--ios26-glass-box-shadow-color-rgb), 0.55);border-top:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-right:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.4);border-bottom:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.8);border-left:.8px solid rgba(var(--ios26-button-color-selected-rgb), 0.6);background-image:none;background-clip:border-box;background-origin:padding-box;-webkit-backface-visibility:hidden;backface-visibility:hidden}ion-fab.ios:not(.ios26-disabled) ion-fab-button.ion-activated{--color: rgba(var(--ion-text-color-rgb, 0, 0, 0), 1)}ion-fab.ios:not(.ios26-disabled) ion-fab-button.ion-activated.ion-color{--color: rgba(var(--ion-color-base-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 1)}ion-tab-button.ios:not(.ios26-disabled).ion-activated ion-label,ion-tab-button.ios:not(.ios26-disabled).ion-activated ion-icon{filter:brightness(118%);opacity:.95}ion-tab-button.ios:not(.ios26-disabled).ion-cloned-element::part(native){--ios26-glass-border-color-rgb: 120, 120, 120;box-shadow:inset 0 0 8px 0 hsla(0,0%,100%,.2)}ion-segment-button.ios:not(.ios26-disabled).ion-cloned-element::part(native){--ios26-glass-border-color-rgb: 120, 120, 120;box-shadow:inset 0 0 8px 0 hsla(0,0%,100%,.2)}}