@rdlabo/ionic-theme-ios27 0.1.0 → 0.2.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 (140) hide show
  1. package/README.md +10 -2
  2. package/dist/css/components/ion-button.css +1 -1
  3. package/dist/css/components/ion-fab.css +1 -1
  4. package/dist/css/components/ion-list.css +1 -1
  5. package/dist/css/components/ion-menu.css +1 -1
  6. package/dist/css/components/ion-searchbar.css +1 -1
  7. package/dist/css/components/ion-tabs.css +1 -1
  8. package/dist/css/components/ion-toolbar.css +1 -1
  9. package/dist/css/ionic-theme-ios27.css +1 -1
  10. package/dist/css/md-ion-list-inset.css +1 -1
  11. package/dist/css/utils/translucent.css +1 -1
  12. package/dist/index.d.ts +1 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -2
  15. package/dist/native/definitions.d.ts +19 -0
  16. package/dist/native/definitions.d.ts.map +1 -1
  17. package/dist/native/index.d.ts +4 -3
  18. package/dist/native/index.d.ts.map +1 -1
  19. package/dist/native/index.js +22 -9
  20. package/dist/native/lifecycle.d.ts +4 -0
  21. package/dist/native/lifecycle.d.ts.map +1 -0
  22. package/dist/native/lifecycle.js +34 -0
  23. package/dist/native/runtime.d.ts +2 -2
  24. package/dist/native/runtime.d.ts.map +1 -1
  25. package/dist/native/runtime.js +43 -4
  26. package/dist/tab-bar-searchable/animations/enter.d.ts +1 -1
  27. package/dist/tab-bar-searchable/animations/enter.d.ts.map +1 -1
  28. package/dist/tab-bar-searchable/animations/enter.js +1 -1
  29. package/dist/tab-bar-searchable/animations/leave.d.ts +1 -1
  30. package/dist/tab-bar-searchable/animations/leave.d.ts.map +1 -1
  31. package/dist/tab-bar-searchable/animations/leave.js +1 -1
  32. package/dist/tab-bar-searchable/index.d.ts +2 -2
  33. package/dist/tab-bar-searchable/index.d.ts.map +1 -1
  34. package/dist/tab-bar-searchable/index.js +2 -3
  35. package/dist/transition/ios.transition.d.ts +6 -1
  36. package/dist/transition/ios.transition.d.ts.map +1 -1
  37. package/dist/transition/ios.transition.js +10 -385
  38. package/docs/features.md +3 -1
  39. package/docs/native-ui-shell.md +113 -0
  40. package/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +28 -0
  41. package/node_modules/@rdlabo/ionic-theme-utils/LICENSE +21 -0
  42. package/node_modules/@rdlabo/ionic-theme-utils/README.md +28 -0
  43. package/node_modules/@rdlabo/ionic-theme-utils/dist/dom.d.ts +3 -0
  44. package/node_modules/@rdlabo/ionic-theme-utils/dist/dom.d.ts.map +1 -0
  45. package/node_modules/@rdlabo/ionic-theme-utils/dist/dom.js +13 -0
  46. package/node_modules/@rdlabo/ionic-theme-utils/dist/dom.js.map +1 -0
  47. package/node_modules/@rdlabo/ionic-theme-utils/dist/focus-controller.d.ts +6 -0
  48. package/node_modules/@rdlabo/ionic-theme-utils/dist/focus-controller.d.ts.map +1 -0
  49. package/node_modules/@rdlabo/ionic-theme-utils/dist/focus-controller.js +37 -0
  50. package/node_modules/@rdlabo/ionic-theme-utils/dist/focus-controller.js.map +1 -0
  51. package/node_modules/@rdlabo/ionic-theme-utils/dist/index.d.ts +13 -0
  52. package/node_modules/@rdlabo/ionic-theme-utils/dist/index.d.ts.map +1 -0
  53. package/node_modules/@rdlabo/ionic-theme-utils/dist/index.js +11 -0
  54. package/node_modules/@rdlabo/ionic-theme-utils/dist/index.js.map +1 -0
  55. package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/animations/ios.enter.d.ts +0 -1
  56. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.enter.d.ts.map +1 -0
  57. package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/animations/ios.enter.js +8 -5
  58. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.enter.js.map +1 -0
  59. package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/animations/ios.leave.d.ts.map +1 -1
  60. package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/animations/ios.leave.js +11 -5
  61. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/animations/ios.leave.js.map +1 -0
  62. package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/callout-surface.js +1 -0
  63. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/callout-surface.js.map +1 -0
  64. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/popover-interface.js +2 -0
  65. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/popover-interface.js.map +1 -0
  66. package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/utils.d.ts +1 -0
  67. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/utils.d.ts.map +1 -0
  68. package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/utils.js +3 -2
  69. package/node_modules/@rdlabo/ionic-theme-utils/dist/popover/utils.js.map +1 -0
  70. package/node_modules/@rdlabo/ionic-theme-utils/dist/sheets-of-glass.d.ts +16 -0
  71. package/node_modules/@rdlabo/ionic-theme-utils/dist/sheets-of-glass.d.ts.map +1 -0
  72. package/node_modules/@rdlabo/ionic-theme-utils/dist/sheets-of-glass.js +2 -0
  73. package/node_modules/@rdlabo/ionic-theme-utils/dist/sheets-of-glass.js.map +1 -0
  74. package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/tab-bar-searchable/interfaces.js +1 -0
  75. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/interfaces.js.map +1 -0
  76. package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/tab-bar-searchable/utils.js +1 -0
  77. package/node_modules/@rdlabo/ionic-theme-utils/dist/tab-bar-searchable/utils.js.map +1 -0
  78. package/node_modules/@rdlabo/ionic-theme-utils/dist/theme.d.ts +15 -0
  79. package/node_modules/@rdlabo/ionic-theme-utils/dist/theme.d.ts.map +1 -0
  80. package/node_modules/@rdlabo/ionic-theme-utils/dist/theme.js +49 -0
  81. package/node_modules/@rdlabo/ionic-theme-utils/dist/theme.js.map +1 -0
  82. package/node_modules/@rdlabo/ionic-theme-utils/dist/transition/ios.transition.d.ts +18 -0
  83. package/node_modules/@rdlabo/ionic-theme-utils/dist/transition/ios.transition.d.ts.map +1 -0
  84. package/node_modules/@rdlabo/ionic-theme-utils/dist/transition/ios.transition.js +412 -0
  85. package/node_modules/@rdlabo/ionic-theme-utils/dist/transition/ios.transition.js.map +1 -0
  86. package/node_modules/@rdlabo/ionic-theme-utils/package.json +64 -0
  87. package/node_modules/@rdlabo/ionic-theme-utils/src/dom.spec.ts +19 -0
  88. package/node_modules/@rdlabo/ionic-theme-utils/src/dom.ts +16 -0
  89. package/node_modules/@rdlabo/ionic-theme-utils/src/focus-controller.ts +38 -0
  90. package/node_modules/@rdlabo/ionic-theme-utils/src/index.ts +59 -0
  91. package/{src → node_modules/@rdlabo/ionic-theme-utils/src}/popover/animations/ios.enter.ts +7 -5
  92. package/{src → node_modules/@rdlabo/ionic-theme-utils/src}/popover/animations/ios.leave.ts +14 -5
  93. package/node_modules/@rdlabo/ionic-theme-utils/src/popover/utils.spec.ts +58 -0
  94. package/{src → node_modules/@rdlabo/ionic-theme-utils/src}/popover/utils.ts +4 -2
  95. package/node_modules/@rdlabo/ionic-theme-utils/src/sheets-of-glass.ts +17 -0
  96. package/node_modules/@rdlabo/ionic-theme-utils/src/styles/index.scss +1 -0
  97. package/node_modules/@rdlabo/ionic-theme-utils/src/styles/md-ion-list-inset.scss +20 -0
  98. package/node_modules/@rdlabo/ionic-theme-utils/src/styles/structured-list.scss +310 -0
  99. package/node_modules/@rdlabo/ionic-theme-utils/src/tab-bar-searchable/utils.spec.ts +56 -0
  100. package/node_modules/@rdlabo/ionic-theme-utils/src/theme.ts +51 -0
  101. package/node_modules/@rdlabo/ionic-theme-utils/src/transition/ios.transition.spec.ts +52 -0
  102. package/node_modules/@rdlabo/ionic-theme-utils/src/transition/ios.transition.ts +542 -0
  103. package/package.json +13 -5
  104. package/src/index.ts +4 -2
  105. package/src/native/definitions.ts +34 -0
  106. package/src/native/index.ts +38 -11
  107. package/src/native/lifecycle.ts +38 -0
  108. package/src/native/runtime.ts +49 -4
  109. package/src/styles/components/ion-button.scss +21 -10
  110. package/src/styles/components/ion-fab.scss +10 -4
  111. package/src/styles/components/ion-list.scss +12 -3
  112. package/src/styles/components/ion-menu.scss +17 -10
  113. package/src/styles/components/ion-searchbar.scss +1 -1
  114. package/src/styles/components/ion-tabs.scss +14 -10
  115. package/src/styles/components/ion-toolbar.scss +9 -10
  116. package/src/styles/md-ion-list-inset.scss +2 -2
  117. package/src/styles/utils/dark/ion-list.scss +1 -1
  118. package/src/styles/utils/translucent.scss +44 -0
  119. package/src/tab-bar-searchable/animations/enter.ts +1 -2
  120. package/src/tab-bar-searchable/animations/leave.ts +1 -2
  121. package/src/tab-bar-searchable/index.ts +12 -4
  122. package/src/transition/ios.transition.ts +14 -473
  123. package/dist/css/utils/structured-list.css +0 -1
  124. package/dist/popover/animations/ios.enter.d.ts.map +0 -1
  125. package/dist/popover/popover-interface.js +0 -1
  126. package/dist/popover/utils.d.ts.map +0 -1
  127. package/src/styles/utils/structured-list.scss +0 -223
  128. /package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/animations/ios.leave.d.ts +0 -0
  129. /package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/callout-surface.d.ts +0 -0
  130. /package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/callout-surface.d.ts.map +0 -0
  131. /package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/popover-interface.d.ts +0 -0
  132. /package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/popover/popover-interface.d.ts.map +0 -0
  133. /package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/tab-bar-searchable/interfaces.d.ts +0 -0
  134. /package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/tab-bar-searchable/interfaces.d.ts.map +0 -0
  135. /package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/tab-bar-searchable/utils.d.ts +0 -0
  136. /package/{dist → node_modules/@rdlabo/ionic-theme-utils/dist}/tab-bar-searchable/utils.d.ts.map +0 -0
  137. /package/{src → node_modules/@rdlabo/ionic-theme-utils/src}/popover/callout-surface.ts +0 -0
  138. /package/{src → node_modules/@rdlabo/ionic-theme-utils/src}/popover/popover-interface.ts +0 -0
  139. /package/{src → node_modules/@rdlabo/ionic-theme-utils/src}/tab-bar-searchable/interfaces.ts +0 -0
  140. /package/{src → node_modules/@rdlabo/ionic-theme-utils/src}/tab-bar-searchable/utils.ts +0 -0
@@ -1,223 +0,0 @@
1
- @use './group-heading';
2
-
3
- $groups: ion-item-group, ion-reorder-group, ion-accordion-group, ion-radio-group;
4
-
5
- // Derive neutral list colors from the application's Ionic medium palette.
6
- @mixin colors($supporting-opacity, $detail-opacity) {
7
- ion-item {
8
- --detail-icon-color: rgb(var(--ion-color-medium-rgb));
9
- --detail-icon-opacity: #{$detail-opacity};
10
- }
11
-
12
- &.list-inset {
13
- ion-list-header ion-label:not(.ion-color) {
14
- color: rgba(var(--ion-color-medium-rgb), $supporting-opacity);
15
- }
16
-
17
- ion-list-header ion-note:not(.ion-color),
18
- > ion-note:not(.ion-color) {
19
- --color: rgba(var(--ion-color-medium-rgb), #{$supporting-opacity});
20
- }
21
- }
22
- }
23
-
24
- @mixin support-text() {
25
- ion-item {
26
- &:has(ion-input.input-fill-outline),
27
- &:has(ion-textarea.textarea-fill-outline),
28
- &:has(ion-select:is([helpertext]:not([helpertext='']), [errortext]:not([errortext='']))),
29
- &:has(ion-input .input-bottom > :is(.helper-text:not(:empty), .error-text:not(:empty), .counter:not(:empty))),
30
- &:has(ion-textarea .textarea-bottom > :is(.helper-text:not(:empty), .error-text:not(:empty), .counter:not(:empty))) {
31
- --inner-border-width: 0;
32
- --inner-padding-bottom: 4px;
33
- }
34
-
35
- ion-input .input-bottom:not(:has(> :is(.helper-text:not(:empty), .error-text:not(:empty), .counter:not(:empty)))),
36
- ion-textarea .textarea-bottom:not(:has(> :is(.helper-text:not(:empty), .error-text:not(:empty), .counter:not(:empty)))) {
37
- display: none;
38
- }
39
- }
40
- }
41
-
42
- @mixin layout($outer-note-inset, $group-border-radius) {
43
- background: transparent;
44
-
45
- ion-list-header {
46
- display: flex;
47
- align-items: center;
48
-
49
- ion-label {
50
- font-size: 1rem;
51
- line-height: 1.29rem;
52
- font-weight: 600;
53
- margin: 8px 4px 4px;
54
-
55
- &:not(.ion-color) {
56
- color: var(--ion-color-medium-tint);
57
- }
58
- }
59
-
60
- ion-button {
61
- margin-top: 8px;
62
- }
63
-
64
- ion-note {
65
- font-size: 0.76rem;
66
- line-height: 1.06rem;
67
- font-weight: 400;
68
- margin: 8px 16px 4px 0;
69
-
70
- &:not(.ion-color) {
71
- --color: var(--ion-color-medium-tint);
72
- }
73
- }
74
- }
75
-
76
- ion-item-group.item-group-header {
77
- border-radius: $group-border-radius;
78
-
79
- > ion-item {
80
- --inner-padding-end: 0;
81
- --inner-border-width: 0;
82
-
83
- &::part(native) {
84
- padding-inline: 0;
85
- }
86
- }
87
-
88
- & > ion-item > ion-label {
89
- width: 100%;
90
- margin: 0;
91
- text-align: start;
92
- white-space: normal;
93
- padding: 16px 20px;
94
-
95
- /**
96
- * ion-header.header-collapse-condenseを使って、スクロールによってHeaderを変化させるトリック
97
- */
98
- ion-header.header-collapse-condense > ion-toolbar {
99
- --min-height: 0;
100
- visibility: hidden;
101
- }
102
-
103
- ion-icon {
104
- font-size: 2.82rem;
105
- border-radius: 20%;
106
- padding: 6px;
107
- vertical-align: top;
108
-
109
- &:not(.ion-color) {
110
- color: #ffffff;
111
- }
112
- }
113
-
114
- h2 {
115
- @include group-heading.typography;
116
- margin: 20px 0 8px;
117
- }
118
-
119
- ion-text {
120
- display: block;
121
- font-size: 1rem;
122
- line-height: 1.29rem;
123
-
124
- &:not(.ion-color) {
125
- color: var(--ion-color-step-500, var(--ion-text-color-step-500, #808080));
126
- }
127
- }
128
- }
129
- }
130
-
131
- > :is(#{$groups}) {
132
- display: block;
133
- border-radius: $group-border-radius;
134
- overflow: hidden;
135
-
136
- &:has(> .radio-group-top) {
137
- display: flex;
138
- flex-direction: column;
139
- border-radius: 0;
140
- overflow: visible;
141
-
142
- > .radio-group-top {
143
- order: 1;
144
- font-size: 0.9rem;
145
- padding-block-start: 8px;
146
- }
147
-
148
- > ion-item:first-of-type {
149
- --border-radius: #{$group-border-radius} #{$group-border-radius} 0 0;
150
- }
151
-
152
- > ion-item:last-of-type {
153
- --border-radius: 0 0 #{$group-border-radius} #{$group-border-radius};
154
- }
155
- }
156
-
157
- &:not(:first-of-type) {
158
- margin-top: 16px;
159
- }
160
-
161
- ion-item {
162
- &:has(> ion-label:not([slot])):has(> ion-note:not([slot])) {
163
- &::part(container) {
164
- flex-direction: column;
165
- justify-content: center;
166
- padding-top: 14px;
167
- padding-bottom: 14px;
168
- min-height: 64px;
169
- }
170
- & > ion-label,
171
- & > ion-note {
172
- width: auto;
173
- align-self: flex-start;
174
- }
175
- & > ion-label {
176
- margin: 0;
177
- font-weight: 500;
178
- font-size: 1rem;
179
- line-height: 1.29rem;
180
- }
181
- & > ion-note {
182
- font-size: 0.88rem;
183
- line-height: 1.18rem;
184
- }
185
- }
186
-
187
- ion-text[slot='end'] {
188
- padding-left: 8px;
189
- }
190
-
191
- &.item-disabled {
192
- --detail-icon-opacity: 0.1;
193
- opacity: 1;
194
-
195
- & > * {
196
- opacity: 0.4;
197
- }
198
- }
199
-
200
- ion-button[slot='end'] {
201
- &.ion-align-self-end {
202
- transform: translateY(-7px);
203
- }
204
- ion-icon[slot='icon-only'] {
205
- font-size: 1.2rem;
206
- transform: translateY(4px);
207
- }
208
- }
209
- }
210
- }
211
-
212
- & > ion-note {
213
- font-size: 0.76rem;
214
- line-height: 1.06rem;
215
- font-weight: 400;
216
- display: block;
217
- margin: 8px calc(var(--ion-safe-area-right, 0) + $outer-note-inset) 8px calc(var(--ion-safe-area-left, 0) + $outer-note-inset);
218
-
219
- &:not(.ion-color) {
220
- --color: var(--ion-color-medium-tint);
221
- }
222
- }
223
- }