@rdlabo/ionic-theme-ios26 0.0.2 → 0.0.3

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 (123) hide show
  1. package/.cursor/rules/css-compilation.mdc +34 -0
  2. package/.cursor/rules/demo-application.mdc +39 -0
  3. package/.cursor/rules/development-workflow.mdc +41 -0
  4. package/.cursor/rules/project-role.mdc +21 -0
  5. package/.github/FUNDING.yml +15 -0
  6. package/.husky/pre-commit +1 -0
  7. package/.lintstagedrc.yml +6 -0
  8. package/.prettierignore +3 -0
  9. package/FEEDBACK.md +25 -0
  10. package/README.md +58 -87
  11. package/USING_ION_ITEM_GROUP.md +58 -0
  12. package/build-sass.js +25 -0
  13. package/demo/ .cursor/rules/angular-20.mdc +136 -0
  14. package/demo/.browserslistrc +15 -0
  15. package/demo/.editorconfig +16 -0
  16. package/demo/.vscode/extensions.json +5 -0
  17. package/demo/.vscode/settings.json +3 -0
  18. package/demo/angular.json +141 -0
  19. package/demo/capacitor.config.ts +9 -0
  20. package/demo/eslint.config.js +47 -0
  21. package/demo/ionic.config.json +7 -0
  22. package/demo/karma.conf.js +44 -0
  23. package/demo/package-lock.json +20001 -0
  24. package/demo/package.json +60 -0
  25. package/demo/src/app/album/album-page.component.html +24 -0
  26. package/demo/src/app/album/album-page.component.scss +31 -0
  27. package/demo/src/app/album/album-page.component.spec.ts +21 -0
  28. package/demo/src/app/album/album-page.component.ts +24 -0
  29. package/demo/src/app/app.component.html +3 -0
  30. package/demo/src/app/app.component.ts +16 -0
  31. package/demo/src/app/app.config.ts +17 -0
  32. package/demo/src/app/app.routes.ts +8 -0
  33. package/demo/src/app/health/health-page.component.html +17 -0
  34. package/demo/src/app/health/health-page.component.scss +0 -0
  35. package/demo/src/app/health/health-page.component.spec.ts +21 -0
  36. package/demo/src/app/health/health-page.component.ts +14 -0
  37. package/demo/src/app/index/index-page.component.html +41 -0
  38. package/demo/src/app/index/index-page.component.scss +0 -0
  39. package/demo/src/app/index/index-page.component.spec.ts +21 -0
  40. package/demo/src/app/index/index-page.component.ts +102 -0
  41. package/demo/src/app/index/index.routes.ts +25 -0
  42. package/demo/src/app/index/pages/action-sheet/action-sheet.page.html +33 -0
  43. package/demo/src/app/index/pages/action-sheet/action-sheet.page.scss +0 -0
  44. package/demo/src/app/index/pages/action-sheet/action-sheet.page.spec.ts +17 -0
  45. package/demo/src/app/index/pages/action-sheet/action-sheet.page.ts +75 -0
  46. package/demo/src/app/index/pages/action-sheet/action-sheet.util.ts +28 -0
  47. package/demo/src/app/index/pages/alert/alert.page.html +33 -0
  48. package/demo/src/app/index/pages/alert/alert.page.scss +0 -0
  49. package/demo/src/app/index/pages/alert/alert.page.spec.ts +17 -0
  50. package/demo/src/app/index/pages/alert/alert.page.ts +75 -0
  51. package/demo/src/app/index/pages/alert/alert.util.ts +21 -0
  52. package/demo/src/app/index/pages/button/button.page.html +90 -0
  53. package/demo/src/app/index/pages/button/button.page.scss +0 -0
  54. package/demo/src/app/index/pages/button/button.page.spec.ts +17 -0
  55. package/demo/src/app/index/pages/button/button.page.ts +53 -0
  56. package/demo/src/app/index/pages/checkbox/checkbox.page.html +66 -0
  57. package/demo/src/app/index/pages/checkbox/checkbox.page.scss +0 -0
  58. package/demo/src/app/index/pages/checkbox/checkbox.page.spec.ts +17 -0
  59. package/demo/src/app/index/pages/checkbox/checkbox.page.ts +47 -0
  60. package/demo/src/app/settings/settings-page.component.html +120 -0
  61. package/demo/src/app/settings/settings-page.component.scss +33 -0
  62. package/demo/src/app/settings/settings-page.component.spec.ts +21 -0
  63. package/demo/src/app/settings/settings-page.component.ts +55 -0
  64. package/demo/src/app/tabs/tabs.page.html +23 -0
  65. package/demo/src/app/tabs/tabs.page.scss +9 -0
  66. package/demo/src/app/tabs/tabs.page.spec.ts +26 -0
  67. package/demo/src/app/tabs/tabs.page.ts +28 -0
  68. package/demo/src/app/tabs/tabs.routes.ts +41 -0
  69. package/demo/src/assets/.gitkeep +0 -0
  70. package/demo/src/favicon.ico +0 -0
  71. package/demo/src/global.scss +47 -0
  72. package/demo/src/index.html +24 -0
  73. package/demo/src/main.ts +5 -0
  74. package/demo/src/theme/theme-ios26.scss +25 -0
  75. package/demo/src/theme/variables.scss +2 -0
  76. package/demo/tsconfig.app.json +14 -0
  77. package/demo/tsconfig.json +30 -0
  78. package/demo/tsconfig.spec.json +17 -0
  79. package/package.json +38 -11
  80. package/prettier.config.js +18 -0
  81. package/screenshots/ios26.png +0 -0
  82. package/screenshots/why-ion-list-inset.png +0 -0
  83. package/src/components/ion-action-sheet.scss +42 -0
  84. package/src/components/ion-alert.scss +31 -0
  85. package/src/components/ion-button.scss +111 -0
  86. package/src/components/ion-card.scss +3 -0
  87. package/src/components/ion-fab.scss +16 -0
  88. package/src/components/ion-list.scss +33 -0
  89. package/src/components/ion-modal.scss +6 -0
  90. package/src/components/ion-popover.scss +21 -0
  91. package/src/components/ion-searchbar.scss +37 -0
  92. package/src/components/ion-segment.scss +10 -0
  93. package/src/components/ion-tabs.scss +47 -0
  94. package/src/components/ion-toast.scss +3 -0
  95. package/src/components/ion-toggle.scss +47 -0
  96. package/src/components-dark/ion-button.scss +28 -0
  97. package/src/components-dark/theme-dark.scss +14 -0
  98. package/src/ionic-theme-dark-class.scss +6 -0
  99. package/src/ionic-theme-dark-system.scss +8 -0
  100. package/src/ionic-theme-ios26.scss +32 -0
  101. package/src/md-ion-list-inset.scss +19 -0
  102. package/src/utils/api.scss +20 -0
  103. package/src/utils/default-variables.scss +10 -0
  104. package/src/utils/theme-list-inset.scss +92 -0
  105. package/src/utils/translucent.scss +70 -0
  106. package/tsconfig.json +5 -0
  107. package/css/ion-list-inset.css +0 -247
  108. package/css/ion-list-inset.css.map +0 -1
  109. package/css/ionic-theme-ios26.css +0 -349
  110. package/css/ionic-theme-ios26.css.map +0 -1
  111. package/fesm2022/rdlabo-ionic-theme-ios26.mjs +0 -4
  112. package/fesm2022/rdlabo-ionic-theme-ios26.mjs.map +0 -1
  113. package/index.d.ts +0 -3
  114. package/src/assets/ion-list-inset.scss +0 -198
  115. package/src/assets/ios-design/ion-button.scss +0 -68
  116. package/src/assets/ios-design/ion-popover.scss +0 -23
  117. package/src/assets/ios-design/ion-searchbar.scss +0 -44
  118. package/src/assets/ios-design/ion-segment.scss +0 -12
  119. package/src/assets/ios-design/ion-tabs.scss +0 -60
  120. package/src/assets/ios-design/ion-toggle.scss +0 -8
  121. package/src/assets/ios-design/ios-design-dark.scss +0 -28
  122. package/src/assets/ios-design.scss +0 -110
  123. package/src/assets/ios-variables.scss +0 -38
@@ -0,0 +1,10 @@
1
+ ion-toolbar.ios {
2
+ ion-segment {
3
+ width: calc(100% - 24px);
4
+ border-radius: 16px;
5
+
6
+ ion-segment-button::part(indicator-background) {
7
+ border-radius: 16px;
8
+ }
9
+ }
10
+ }
@@ -0,0 +1,47 @@
1
+ @use '../utils/api';
2
+
3
+ ion-tab-bar.ios {
4
+ @include api.glass-background;
5
+ z-index: 2;
6
+
7
+ border-radius: 40px;
8
+
9
+ width: calc(100% - 56px - 16px - 16px - 4px - 16px);
10
+ max-width: 400px;
11
+ padding: 2px 2px;
12
+ bottom: var(--ios26-floating-safe-area-bottom);
13
+ left: calc(16px + var(--ion-safe-area-left, 0px));
14
+ position: absolute;
15
+ margin: auto;
16
+
17
+ transition: transform 100ms ease-out;
18
+ will-change: transform;
19
+ &:active {
20
+ transform: scale(1.02);
21
+ backdrop-filter: saturate(360%);
22
+ }
23
+
24
+ ion-tab-button {
25
+ & > ion-icon {
26
+ font-size: 30px;
27
+ }
28
+ background: rgba(var(--ios26-color-light-rgb), 0);
29
+ height: auto;
30
+ &::part(native) {
31
+ overflow: visible;
32
+ }
33
+
34
+ &.tab-selected {
35
+ &::part(native) {
36
+ backdrop-filter: blur(7px);
37
+ background: rgba(var(--ios26-color-tab-active-rgb), 0.1);
38
+ transition: background 0.2s ease;
39
+ border-radius: 32px;
40
+ }
41
+
42
+ &.ion-activated::part(native) {
43
+ background: rgba(var(--ios26-color-shadow-rgb), 0.02);
44
+ }
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,3 @@
1
+ ion-toast.ios {
2
+ --border-radius: 24px;
3
+ }
@@ -0,0 +1,47 @@
1
+ @use '../utils/api';
2
+
3
+ @keyframes activate-animation {
4
+ 0% {
5
+ transform: scale(0);
6
+ }
7
+ 100% {
8
+ transform: scale(1.2, 1.6);
9
+ }
10
+ }
11
+
12
+ @keyframes deactivate-animation {
13
+ 0% {
14
+ transform: scale(1.2, 1.6);
15
+ }
16
+ 100% {
17
+ transform: scale(0);
18
+ }
19
+ }
20
+
21
+ ion-toggle.ios {
22
+ --handle-width: 38px;
23
+ --handle-height: 24px;
24
+ --handle-max-width: none;
25
+ --handle-max-height: none;
26
+ --track-background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);
27
+ ::part(handle) {
28
+ transition: transform 0.3s ease;
29
+ }
30
+ &.toggle-activated::part(handle) {
31
+ transform: scale(1.2, 1.6) translateX(calc(38px * -0.1));
32
+ @include api.glass-background(0.1, 0.5px, 120%);
33
+ box-shadow:
34
+ inset 0 0 4px 0 rgba(var(--ios26-color-shadow-rgb), 0.2),
35
+ 0 0 6px 0 rgba(var(--ios26-color-shadow-rgb), 0.8);
36
+ }
37
+ &::part(track) {
38
+ overflow: visible;
39
+ width: 64px;
40
+ height: 28px;
41
+ transition: transform 0.3s ease;
42
+ }
43
+ &.toggle-checked.toggle-activated::part(track) {
44
+ transform-origin: left center;
45
+ transform: scaleX(0.926);
46
+ }
47
+ }
@@ -0,0 +1,28 @@
1
+ @use '../utils/api';
2
+
3
+ @mixin theme-dark-button {
4
+ &.ion-activated {
5
+ &::part(native) {
6
+ @include api.glass-background-dark-active;
7
+ }
8
+ ion-icon {
9
+ color: rgb(255, 255, 255) !important;
10
+ }
11
+ }
12
+ }
13
+
14
+ @mixin ion-button-dark {
15
+ ion-header.ios,
16
+ ion-footer.ios {
17
+ ion-buttons:not(.ios26-no-liquid-glass) ion-button:not(.ios26-no-liquid-glass),
18
+ ion-buttons:not(.ios26-no-liquid-glass) ion-back-button:not(.ios26-no-liquid-glass) {
19
+ @include theme-dark-button;
20
+ }
21
+ }
22
+
23
+ ion-buttons.ios.ios26-liquid-glass ion-button:not(.ios26-no-liquid-glass),
24
+ ion-buttons.ios.ios26-liquid-glass ion-back-button:not(.ios26-no-liquid-glass),
25
+ ion-button.ios.ios26-liquid-glass {
26
+ @include theme-dark-button;
27
+ }
28
+ }
@@ -0,0 +1,14 @@
1
+ @use '../components-dark/ion-button';
2
+
3
+ @mixin default-variables {
4
+ --ios26-color-dark-rgb: 255, 255, 255;
5
+ --ios26-color-light-rgb: 58, 58, 58;
6
+ --ios26-color-tab-active-rgb: 255, 255, 255;
7
+ --ios26-color-shadow-rgb: translarent;
8
+ --ios26-color-background-rgb: 0, 0, 0;
9
+ --ios26-color-edge-rgb: 64, 64, 64;
10
+ }
11
+
12
+ @mixin theme-dark {
13
+ @include ion-button.ion-button-dark;
14
+ }
@@ -0,0 +1,6 @@
1
+ @use 'components-dark/theme-dark';
2
+
3
+ .ion-palette-dark {
4
+ @include theme-dark.default-variables;
5
+ @include theme-dark.theme-dark;
6
+ }
@@ -0,0 +1,8 @@
1
+ @use 'components-dark/theme-dark';
2
+
3
+ @media (prefers-color-scheme: dark) {
4
+ :root {
5
+ @include theme-dark.default-variables;
6
+ }
7
+ @include theme-dark.theme-dark;
8
+ }
@@ -0,0 +1,32 @@
1
+ @use 'utils/default-variables';
2
+
3
+ @use 'utils/api';
4
+ @use 'utils/translucent';
5
+
6
+ @use 'components/ion-action-sheet';
7
+ @use 'components/ion-alert';
8
+ @use 'components/ion-button';
9
+ @use 'components/ion-card';
10
+ @use 'components/ion-fab';
11
+ @use 'components/ion-list';
12
+ @use 'components/ion-modal';
13
+ @use 'components/ion-popover';
14
+ @use 'components/ion-searchbar';
15
+ @use 'components/ion-segment';
16
+ @use 'components/ion-tabs';
17
+ @use 'components/ion-toast';
18
+ @use 'components/ion-toggle';
19
+
20
+ .ios {
21
+ /**
22
+ * iOS26から上下のセーフエリアいっぱいまでコンテンツを表示するようになったため、
23
+ * コンテンツのmarginとpaddingを調整します。なお、Angular CDK Scrollingにも対応しています。
24
+ */
25
+ .ion-page:not(:has(ion-footer)) cdk-virtual-scroll-viewport {
26
+ margin-bottom: calc(calc(56px + var(--ios26-floating-safe-area-bottom)) * -1);
27
+ padding-bottom: calc(56px + var(--ios26-floating-safe-area-bottom));
28
+ }
29
+ ion-content:not(:has(cdk-virtual-scroll-viewport)) {
30
+ --padding-bottom: calc(56px + var(--ios26-floating-safe-area-bottom));
31
+ }
32
+ }
@@ -0,0 +1,19 @@
1
+ @use 'utils/theme-list-inset';
2
+
3
+ ion-list.list-inset.md {
4
+ @include theme-list-inset.ion-list-inset();
5
+
6
+ ion-item-group > ion-item {
7
+ & > ion-input[labelplacement='floating'] {
8
+ transition: transform 0.2s ease;
9
+
10
+ &:not(.label-floating) {
11
+ transform: translateY(-7px);
12
+ }
13
+
14
+ &.label-floating {
15
+ transform: translateY(-4px);
16
+ }
17
+ }
18
+ }
19
+ }
@@ -0,0 +1,20 @@
1
+ @mixin glass-background($opacity: 0.4, $blur: 6px, $saturate: 180%) {
2
+ background: rgba(var(--ios26-color-light-rgb), $opacity);
3
+ backdrop-filter: blur($blur) saturate($saturate);
4
+ box-shadow:
5
+ inset 0 0 8px 0 rgba(var(--ios26-color-shadow-rgb), 0.2),
6
+ 0 0 12px 0 rgba(var(--ios26-color-shadow-rgb), 0.8);
7
+ border-top: 0.5px solid rgba(var(--ios26-color-edge-rgb), 1);
8
+ border-right: 0.5px solid rgba(var(--ios26-color-edge-rgb), 0.8);
9
+ border-bottom: 0.5px solid rgba(var(--ios26-color-edge-rgb), 1);
10
+ border-left: 0.5px solid rgba(var(--ios26-color-edge-rgb), 0.6);
11
+ transition: box-shadow 0.1s ease;
12
+ }
13
+
14
+ @mixin glass-background-dark-active($opacity: 0.25, $blur: 7px, $saturate: 180%) {
15
+ background: rgba(var(--ios26-color-tab-active-rgb), $opacity);
16
+ backdrop-filter: blur($blur) saturate($saturate);
17
+ box-shadow: inset 0 0 8px 0 rgba(var(--ios26-color-tab-active-rgb), 0.2);
18
+ border: 0.5px solid rgba(var(--ios26-color-tab-active-rgb), 0.7);
19
+ transition: box-shadow 0.1s ease;
20
+ }
@@ -0,0 +1,10 @@
1
+ :root {
2
+ --ios26-floating-safe-area-bottom: max(10px, var(--ion-safe-area-bottom, 0px));
3
+
4
+ --ios26-color-dark-rgb: 0, 0, 0;
5
+ --ios26-color-light-rgb: 255, 255, 255;
6
+ --ios26-color-tab-active-rgb: 16, 16, 16;
7
+ --ios26-color-shadow-rgb: 224, 224, 224;
8
+ --ios26-color-background-rgb: 255, 255, 255;
9
+ --ios26-color-edge-rgb: 255, 255, 255;
10
+ }
@@ -0,0 +1,92 @@
1
+ @mixin ion-list-inset() {
2
+ background: transparent;
3
+
4
+ ion-list-header {
5
+ display: flex;
6
+ align-items: center;
7
+
8
+ ion-label {
9
+ font-size: 0.9rem;
10
+ margin: 8px 4px 4px;
11
+ color: var(--ion-color-medium-tint);
12
+ }
13
+
14
+ ion-button {
15
+ margin-top: 8px;
16
+ }
17
+
18
+ ion-note {
19
+ font-size: 0.9rem;
20
+ margin: 8px 16px 4px 0;
21
+ }
22
+ }
23
+
24
+ // TODO: これはUtility Classにマイグレートする必要があります
25
+ ion-item-group.header-item-group {
26
+ & > ion-item > ion-label {
27
+ width: 100%;
28
+ text-align: center;
29
+ padding: 32px 16px 16px;
30
+
31
+ /**
32
+ * ion-header.header-collapse-condenseを使って、スクロールによってHeaderを変化させるトリック
33
+ */
34
+ ion-header.header-collapse-condense > ion-toolbar {
35
+ --min-height: 0;
36
+ visibility: hidden;
37
+ }
38
+
39
+ ion-icon {
40
+ font-size: 2.8rem;
41
+ color: #ffffff;
42
+ border-radius: 20%;
43
+ padding: 6px;
44
+ }
45
+
46
+ h2 {
47
+ font-size: 1.2rem;
48
+ font-weight: bold;
49
+ margin-top: 8px;
50
+ }
51
+
52
+ ion-text {
53
+ font-size: 0.9rem;
54
+ }
55
+ }
56
+ }
57
+
58
+ ion-item-group ion-item {
59
+ ion-text[slot='end'] {
60
+ padding-left: 8px;
61
+ }
62
+
63
+ &.item-disabled {
64
+ opacity: 1;
65
+
66
+ & > * {
67
+ opacity: 0.4;
68
+ }
69
+
70
+ &::part(detail-icon) {
71
+ opacity: 0.1;
72
+ }
73
+ }
74
+
75
+ ion-button[slot='end'] {
76
+ &.ion-align-self-end {
77
+ transform: translateY(-7px);
78
+ }
79
+ ion-icon[slot='icon-only'] {
80
+ font-size: 1.2rem !important;
81
+ transform: translateY(4px);
82
+ }
83
+ }
84
+ }
85
+
86
+ & > ion-note {
87
+ color: var(--ion-color-medium-tint);
88
+ font-size: 0.9rem;
89
+ display: block;
90
+ margin: 8px 16px 8px 20px;
91
+ }
92
+ }
@@ -0,0 +1,70 @@
1
+ @use 'api';
2
+
3
+ .ios {
4
+ ion-header.header-translucent,
5
+ ion-footer.footer-translucent {
6
+ .header-background,
7
+ .footer-background {
8
+ backdrop-filter: none;
9
+ }
10
+
11
+ ion-toolbar {
12
+ --border-width: 0;
13
+ --background: transparent;
14
+ /**
15
+ * TODO: Not expect work.
16
+ * https://github.com/ionic-team/ionic-framework/blob/3b80473f2fd5ad4da5a9f5d66f783a69909c8965/core/src/utils/transition/ios.transition.ts#L829C51-L829C60
17
+ * --opacity: 0;
18
+ */
19
+ .toolbar-background {
20
+ background: transparent !important;
21
+ }
22
+ ion-title {
23
+ filter: blur(0);
24
+ transform: translateY(0);
25
+ }
26
+ }
27
+ }
28
+
29
+ .header-collapse-main ion-toolbar.in-toolbar ion-title,
30
+ .header-collapse-main ion-toolbar.in-toolbar ion-buttons {
31
+ transition: all 0.5s ease-in-out;
32
+ }
33
+
34
+ .header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,
35
+ .header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse {
36
+ filter: blur(2px);
37
+ transform: translateY(8px);
38
+ }
39
+
40
+ ion-content::part(background)::before,
41
+ ion-content::part(background)::after {
42
+ content: '';
43
+ position: absolute;
44
+ width: 100%;
45
+ pointer-events: none;
46
+ z-index: 1;
47
+ }
48
+
49
+ .ion-page:has(ion-header.header-translucent) ion-content::part(background)::before {
50
+ z-index: 2;
51
+ top: 0;
52
+ height: calc(66px + var(--ion-safe-area-top));
53
+ box-shadow:
54
+ inset 0 0 0 0 rgba(var(--ios26-color-background-rgb), 0),
55
+ inset 0 calc(66px + var(--ion-safe-area-top)) 20px -20px rgba(var(--ios26-color-background-rgb), 1);
56
+ }
57
+
58
+ ion-content::part(background)::after {
59
+ z-index: 2;
60
+ bottom: 0;
61
+ height: calc(56px + var(--ios26-floating-safe-area-bottom));
62
+ box-shadow:
63
+ inset 0 0 0 0 rgba(var(--ios26-color-background-rgb), 0),
64
+ inset 0 calc(-50px - var(--ios26-floating-safe-area-bottom)) 40px -40px rgba(var(--ios26-color-background-rgb), 0.8);
65
+ }
66
+
67
+ .ion-page:has(ion-footer:not(.footer-translucent)) ion-content::part(background)::after {
68
+ content: none;
69
+ }
70
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "compilerOptions": {
3
+ "types": ["@ionic/core/dist/types/components"]
4
+ }
5
+ }
@@ -1,247 +0,0 @@
1
- ion-content[color=light] ion-list:not(.list-inset),
2
- .ion-list-inset ion-list:not(.list-inset),
3
- ion-accordion ion-list:not(.list-inset) {
4
- margin: 16px 0;
5
- padding: 0;
6
- }
7
- ion-content[color=light] ion-list:not(.list-inset) ion-item:last-child,
8
- .ion-list-inset ion-list:not(.list-inset) ion-item:last-child,
9
- ion-accordion ion-list:not(.list-inset) ion-item:last-child {
10
- --border-width: 0px;
11
- --show-full-highlight: 0;
12
- --inner-border-width: 0px;
13
- --show-inset-highlight: 0;
14
- }
15
- ion-content[color=light] ion-list.list-inset ion-item > ion-button[slot=end] > ion-icon[slot=icon-only],
16
- .ion-list-inset ion-list.list-inset ion-item > ion-button[slot=end] > ion-icon[slot=icon-only],
17
- ion-accordion ion-list.list-inset ion-item > ion-button[slot=end] > ion-icon[slot=icon-only] {
18
- font-size: 1.2rem !important;
19
- transform: translateY(4px);
20
- }
21
- ion-content[color=light] ion-list.list-inset ion-item ion-text[slot=end],
22
- .ion-list-inset ion-list.list-inset ion-item ion-text[slot=end],
23
- ion-accordion ion-list.list-inset ion-item ion-text[slot=end] {
24
- padding-left: 8px;
25
- }
26
- ion-content[color=light] ion-list.list-inset ion-item.item-disabled,
27
- .ion-list-inset ion-list.list-inset ion-item.item-disabled,
28
- ion-accordion ion-list.list-inset ion-item.item-disabled {
29
- opacity: 1;
30
- }
31
- ion-content[color=light] ion-list.list-inset ion-item.item-disabled > *,
32
- .ion-list-inset ion-list.list-inset ion-item.item-disabled > *,
33
- ion-accordion ion-list.list-inset ion-item.item-disabled > * {
34
- opacity: 0.4;
35
- }
36
- ion-content[color=light] ion-list.list-inset ion-item.item-disabled::part(detail-icon),
37
- .ion-list-inset ion-list.list-inset ion-item.item-disabled::part(detail-icon),
38
- ion-accordion ion-list.list-inset ion-item.item-disabled::part(detail-icon) {
39
- opacity: 0.1;
40
- }
41
- ion-content[color=light] ion-list.list-inset.ios ion-list-header ion-label,
42
- .ion-list-inset ion-list.list-inset.ios ion-list-header ion-label,
43
- ion-accordion ion-list.list-inset.ios ion-list-header ion-label {
44
- font-size: 1.1rem;
45
- }
46
- ion-content[color=light] ion-list.list-inset.md ion-list-header,
47
- .ion-list-inset ion-list.list-inset.md ion-list-header,
48
- ion-accordion ion-list.list-inset.md ion-list-header {
49
- font-weight: bold;
50
- margin-top: 16px;
51
- }
52
- ion-content[color=light] ion-list.list-inset.md ion-list-header ion-label,
53
- .ion-list-inset ion-list.list-inset.md ion-list-header ion-label,
54
- ion-accordion ion-list.list-inset.md ion-list-header ion-label {
55
- font-size: 1.1rem;
56
- }
57
- ion-content[color=light] ion-list.list-inset.list-inset,
58
- .ion-list-inset ion-list.list-inset.list-inset,
59
- ion-accordion ion-list.list-inset.list-inset {
60
- background: transparent;
61
- }
62
- ion-content[color=light] ion-list.list-inset.list-inset.md:not(:last-child),
63
- .ion-list-inset ion-list.list-inset.list-inset.md:not(:last-child),
64
- ion-accordion ion-list.list-inset.list-inset.md:not(:last-child) {
65
- margin-bottom: 0;
66
- }
67
- ion-content[color=light] ion-list.list-inset.list-inset ion-list-header,
68
- .ion-list-inset ion-list.list-inset.list-inset ion-list-header,
69
- ion-accordion ion-list.list-inset.list-inset ion-list-header {
70
- display: flex;
71
- align-items: center;
72
- }
73
- ion-content[color=light] ion-list.list-inset.list-inset ion-list-header.md,
74
- .ion-list-inset ion-list.list-inset.list-inset ion-list-header.md,
75
- ion-accordion ion-list.list-inset.list-inset ion-list-header.md {
76
- margin-top: 0;
77
- }
78
- ion-content[color=light] ion-list.list-inset.list-inset ion-list-header ion-label,
79
- .ion-list-inset ion-list.list-inset.list-inset ion-list-header ion-label,
80
- ion-accordion ion-list.list-inset.list-inset ion-list-header ion-label {
81
- font-size: 0.9rem;
82
- margin: 8px 4px 4px;
83
- color: var(--ion-color-medium-tint);
84
- }
85
- ion-content[color=light] ion-list.list-inset.list-inset ion-list-header ion-button,
86
- .ion-list-inset ion-list.list-inset.list-inset ion-list-header ion-button,
87
- ion-accordion ion-list.list-inset.list-inset ion-list-header ion-button {
88
- margin-top: 8px;
89
- }
90
- ion-content[color=light] ion-list.list-inset.list-inset ion-list-header ion-note,
91
- .ion-list-inset ion-list.list-inset.list-inset ion-list-header ion-note,
92
- ion-accordion ion-list.list-inset.list-inset ion-list-header ion-note {
93
- font-size: 0.9rem;
94
- margin: 8px 16px 4px 0;
95
- }
96
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group.ios,
97
- ion-content[color=light] ion-list.list-inset.list-inset ion-reorder-group.ios,
98
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group.ios,
99
- .ion-list-inset ion-list.list-inset.list-inset ion-reorder-group.ios,
100
- ion-accordion ion-list.list-inset.list-inset ion-item-group.ios,
101
- ion-accordion ion-list.list-inset.list-inset ion-reorder-group.ios {
102
- border-radius: 24px;
103
- overflow: hidden;
104
- }
105
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group.ios ion-item:first-child,
106
- ion-content[color=light] ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:first-child,
107
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group.ios ion-item:first-child,
108
- .ion-list-inset ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:first-child,
109
- ion-accordion ion-list.list-inset.list-inset ion-item-group.ios ion-item:first-child,
110
- ion-accordion ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:first-child {
111
- --padding-top: 4px;
112
- }
113
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group.ios ion-item:last-child,
114
- ion-content[color=light] ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:last-child,
115
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group.ios ion-item:last-child,
116
- .ion-list-inset ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:last-child,
117
- ion-accordion ion-list.list-inset.list-inset ion-item-group.ios ion-item:last-child,
118
- ion-accordion ion-list.list-inset.list-inset ion-reorder-group.ios ion-item:last-child {
119
- --padding-bottom: 4px;
120
- }
121
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > :is(ion-item, section.autocomplete):last-child,
122
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item-sliding:last-child ion-item,
123
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > :is(ion-item, section.autocomplete):last-child,
124
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item-sliding:last-child ion-item,
125
- ion-accordion ion-list.list-inset.list-inset ion-item-group > :is(ion-item, section.autocomplete):last-child,
126
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item-sliding:last-child ion-item {
127
- --border-width: 0 !important;
128
- --show-full-highlight: 0 !important;
129
- --inner-border-width: 0 !important;
130
- --show-inset-highlight: 0 !important;
131
- }
132
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group.not-first-child,
133
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group.not-first-child,
134
- ion-accordion ion-list.list-inset.list-inset ion-item-group.not-first-child {
135
- margin: 16px 0;
136
- }
137
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper,
138
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper,
139
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper {
140
- width: 100%;
141
- text-align: center;
142
- padding: 32px 16px 16px;
143
- }
144
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-icon,
145
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-icon,
146
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-icon {
147
- font-size: 2.8rem;
148
- }
149
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper h2,
150
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper h2,
151
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper h2 {
152
- font-size: 1rem;
153
- font-weight: bold;
154
- margin-top: 8px;
155
- }
156
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-text,
157
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-text,
158
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > div.item-title-wrapper ion-text {
159
- font-size: 0.9rem;
160
- }
161
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item.ios,
162
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item.ios,
163
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item.ios {
164
- --inner-padding-end: 0;
165
- }
166
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item.ios::part(native),
167
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item.ios::part(native),
168
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item.ios::part(native) {
169
- padding-right: 16px;
170
- }
171
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating],
172
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating],
173
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating] {
174
- transition: transform 0.2s ease;
175
- }
176
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating]:not(.label-floating),
177
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating]:not(.label-floating),
178
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating]:not(.label-floating) {
179
- transform: translateY(-7px);
180
- }
181
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating].label-floating,
182
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating].label-floating,
183
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.md[labelplacement=floating].label-floating {
184
- transform: translateY(-4px);
185
- }
186
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating],
187
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating],
188
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating] {
189
- transition: transform 0.2s ease;
190
- }
191
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating]:not(.label-floating),
192
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating]:not(.label-floating),
193
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item > ion-input.ios[labelplacement=floating]:not(.label-floating) {
194
- transform: translateY(-2px);
195
- }
196
- ion-content[color=light] ion-list.list-inset.list-inset ion-item-group > ion-item ion-button[slot=end].ion-align-self-end,
197
- .ion-list-inset ion-list.list-inset.list-inset ion-item-group > ion-item ion-button[slot=end].ion-align-self-end,
198
- ion-accordion ion-list.list-inset.list-inset ion-item-group > ion-item ion-button[slot=end].ion-align-self-end {
199
- transform: translateY(-7px);
200
- }
201
- ion-content[color=light] ion-list.list-inset.list-inset > ion-note,
202
- ion-content[color=light] ion-list.list-inset.list-inset ion-note.note,
203
- .ion-list-inset ion-list.list-inset.list-inset > ion-note,
204
- .ion-list-inset ion-list.list-inset.list-inset ion-note.note,
205
- ion-accordion ion-list.list-inset.list-inset > ion-note,
206
- ion-accordion ion-list.list-inset.list-inset ion-note.note {
207
- color: var(--ion-color-medium-tint);
208
- font-size: 0.9rem;
209
- display: block;
210
- margin: 8px 16px;
211
- }
212
- ion-content[color=light] ion-list.list-inset.list-inset ion-note.note,
213
- .ion-list-inset ion-list.list-inset.list-inset ion-note.note,
214
- ion-accordion ion-list.list-inset.list-inset ion-note.note {
215
- margin: 8px 0;
216
- }
217
-
218
- ion-content:not([color=light]) ion-list :not(ion-item-group) ion-item.ios:last-child {
219
- --border-width: 0px 0px 0.55px 0px;
220
- --inner-border-width: 0px;
221
- --show-inset-highlight: 0;
222
- --show-full-highlight: 1;
223
- }
224
- ion-content:not([color=light]) ion-list :not(ion-item-group) ion-item.md:last-child {
225
- --border-width: 0px 0px 1px 0px;
226
- --inner-border-width: 0;
227
- --show-full-highlight: 1;
228
- --show-inset-highlight: 0;
229
- }
230
- ion-content:not([color=light]) ion-list ion-item-group ion-item:last-child {
231
- --border-width: 0px;
232
- --show-full-highlight: 0;
233
- --inner-border-width: 0px;
234
- --show-inset-highlight: 0;
235
- }
236
- ion-content:not([color=light]) ion-list[slot=content] {
237
- padding: 0;
238
- margin: 0;
239
- }
240
- ion-content:not([color=light]) ion-list[slot=content] ion-item.ios:last-child {
241
- --border-width: 0;
242
- --inner-border-width: 0px;
243
- --show-inset-highlight: 0;
244
- --show-full-highlight: 0;
245
- }
246
-
247
- /*# sourceMappingURL=ion-list-inset.css.map */
@@ -1 +0,0 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/assets/ion-list-inset.scss"],"names":[],"mappings":"AAGE;AAAA;AAAA;EACE;EACA;;AAIA;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAIF;AAAA;AAAA;EACE;EACA;;AAIA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;;AAKN;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;EACE;EACA;;AACA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;EACE;;AAEA;AAAA;AAAA;EACE;;AAGF;AAAA;AAAA;EACE;EACA;;AACA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;EACA;EACA;;AAEF;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;EACA;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;AAAA;AAAA;EACE;;AAQA;AAAA;AAAA;EACE;EACA;EACA;;AACA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;EACA;EACA;;AAEF;AAAA;AAAA;EACE;;AAGJ;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;;AAGJ;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;;AAEF;AAAA;AAAA;EACE;;AAGJ;AAAA;AAAA;EACE;;AACA;AAAA;AAAA;EACE;;AAGJ;AAAA;AAAA;EACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;EACA;;AAGF;AAAA;AAAA;EACE;;;AAQJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;;AAIJ;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA","file":"ion-list-inset.css"}