@rdlabo/ionic-theme-ios27 1.2.1 → 2.0.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.
- package/README.md +24 -280
- package/dist/css/components/ion-toolbar.css +1 -1
- package/dist/css/ionic-theme-ios27.css +1 -1
- package/dist/css/vertical-bars.css +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/layout/index.d.ts +18 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +26 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/segment/index.js +3 -3
- package/dist/segment/index.js.map +1 -1
- package/dist/sheets-of-glass/index.js +7 -7
- package/dist/sheets-of-glass/index.js.map +1 -1
- package/dist/tab-bar-searchable/dismiss-button.js +53 -3
- package/dist/tab-bar-searchable/dismiss-button.js.map +1 -1
- package/dist/tab-bar-searchable/index.js +18 -3
- package/dist/tab-bar-searchable/index.js.map +1 -1
- package/dist/transition/ios.transition.d.ts.map +1 -1
- package/dist/transition/ios.transition.js +7 -4
- package/dist/transition/ios.transition.js.map +1 -1
- package/dist/transition/native-ui.d.ts +6 -0
- package/dist/transition/native-ui.d.ts.map +1 -0
- package/dist/{native-integration/index.js → transition/native-ui.js} +16 -30
- package/dist/transition/native-ui.js.map +1 -0
- package/docs/adaptive-themes.md +161 -0
- package/docs/add-native-ui.md +53 -0
- package/docs/animation.md +19 -3
- package/docs/eslint.md +3 -1
- package/docs/features.md +9 -5
- package/docs/iphone-duo.md +62 -35
- package/docs/migration.md +17 -26
- package/docs/setup.md +92 -0
- package/docs/special-markup.md +41 -10
- package/docs/using-ion-item-group.md +2 -2
- package/docs/vertical-bars-layout.md +67 -0
- package/package.json +12 -42
- package/src/index.ts +3 -1
- package/src/layout/index.ts +29 -0
- package/src/segment/index.ts +3 -3
- package/src/sheets-of-glass/index.ts +7 -7
- package/src/styles/components/ion-toolbar.scss +1 -1
- package/src/styles/vertical-bars.scss +15 -18
- package/src/tab-bar-searchable/dismiss-button.ts +73 -4
- package/src/tab-bar-searchable/index.ts +20 -3
- package/src/transition/ios.transition.ts +7 -4
- package/src/{native-integration/index.ts → transition/native-ui.ts} +17 -46
- package/Package.swift +0 -21
- package/dist/_virtual/_rolldown/runtime.js +0 -13
- package/dist/native/components/index.d.ts +0 -19
- package/dist/native/components/index.d.ts.map +0 -1
- package/dist/native/components/index.js +0 -40
- package/dist/native/components/index.js.map +0 -1
- package/dist/native/components/ion-back-button.d.ts +0 -9
- package/dist/native/components/ion-back-button.d.ts.map +0 -1
- package/dist/native/components/ion-back-button.js +0 -20
- package/dist/native/components/ion-back-button.js.map +0 -1
- package/dist/native/components/ion-button.d.ts +0 -10
- package/dist/native/components/ion-button.d.ts.map +0 -1
- package/dist/native/components/ion-button.js +0 -23
- package/dist/native/components/ion-button.js.map +0 -1
- package/dist/native/components/ion-buttons.d.ts +0 -11
- package/dist/native/components/ion-buttons.d.ts.map +0 -1
- package/dist/native/components/ion-buttons.js +0 -30
- package/dist/native/components/ion-buttons.js.map +0 -1
- package/dist/native/components/ion-fab.d.ts +0 -10
- package/dist/native/components/ion-fab.d.ts.map +0 -1
- package/dist/native/components/ion-fab.js +0 -132
- package/dist/native/components/ion-fab.js.map +0 -1
- package/dist/native/components/ion-menu-button.d.ts +0 -13
- package/dist/native/components/ion-menu-button.d.ts.map +0 -1
- package/dist/native/components/ion-menu-button.js +0 -31
- package/dist/native/components/ion-menu-button.js.map +0 -1
- package/dist/native/components/ion-segment.d.ts +0 -11
- package/dist/native/components/ion-segment.d.ts.map +0 -1
- package/dist/native/components/ion-segment.js +0 -30
- package/dist/native/components/ion-segment.js.map +0 -1
- package/dist/native/components/ion-tab-bar.d.ts +0 -11
- package/dist/native/components/ion-tab-bar.d.ts.map +0 -1
- package/dist/native/components/ion-tab-bar.js +0 -50
- package/dist/native/components/ion-tab-bar.js.map +0 -1
- package/dist/native/components/searchable-tabs.d.ts +0 -20
- package/dist/native/components/searchable-tabs.d.ts.map +0 -1
- package/dist/native/components/searchable-tabs.js +0 -383
- package/dist/native/components/searchable-tabs.js.map +0 -1
- package/dist/native/definitions.d.ts +0 -152
- package/dist/native/definitions.d.ts.map +0 -1
- package/dist/native/definitions.js +0 -0
- package/dist/native/foldable/fold-state.d.ts +0 -5
- package/dist/native/foldable/fold-state.d.ts.map +0 -1
- package/dist/native/foldable/fold-state.js +0 -14
- package/dist/native/foldable/fold-state.js.map +0 -1
- package/dist/native/foldable/types.d.ts +0 -12
- package/dist/native/foldable/types.d.ts.map +0 -1
- package/dist/native/foldable/types.js +0 -0
- package/dist/native/index.d.ts +0 -11
- package/dist/native/index.d.ts.map +0 -1
- package/dist/native/index.js +0 -242
- package/dist/native/index.js.map +0 -1
- package/dist/native/prehide.d.ts +0 -7
- package/dist/native/prehide.d.ts.map +0 -1
- package/dist/native/prehide.js +0 -230
- package/dist/native/prehide.js.map +0 -1
- package/dist/native/runtime.d.ts +0 -5
- package/dist/native/runtime.d.ts.map +0 -1
- package/dist/native/runtime.js +0 -640
- package/dist/native/runtime.js.map +0 -1
- package/dist/native/shared/candidate.d.ts +0 -21
- package/dist/native/shared/candidate.d.ts.map +0 -1
- package/dist/native/shared/candidate.js +0 -98
- package/dist/native/shared/candidate.js.map +0 -1
- package/dist/native/shared/crossfade.d.ts +0 -10
- package/dist/native/shared/crossfade.d.ts.map +0 -1
- package/dist/native/shared/crossfade.js +0 -50
- package/dist/native/shared/crossfade.js.map +0 -1
- package/dist/native/shared/dom.d.ts +0 -46
- package/dist/native/shared/dom.d.ts.map +0 -1
- package/dist/native/shared/dom.js +0 -172
- package/dist/native/shared/dom.js.map +0 -1
- package/dist/native/shared/events.d.ts +0 -11
- package/dist/native/shared/events.d.ts.map +0 -1
- package/dist/native/shared/events.js +0 -13
- package/dist/native/shared/events.js.map +0 -1
- package/dist/native/shared/icons.d.ts +0 -8
- package/dist/native/shared/icons.d.ts.map +0 -1
- package/dist/native/shared/icons.js +0 -61
- package/dist/native/shared/icons.js.map +0 -1
- package/dist/native/shared/modal.d.ts +0 -10
- package/dist/native/shared/modal.d.ts.map +0 -1
- package/dist/native/shared/modal.js +0 -160
- package/dist/native/shared/modal.js.map +0 -1
- package/dist/native/vertical-bars-web-search.d.ts +0 -9
- package/dist/native/vertical-bars-web-search.d.ts.map +0 -1
- package/dist/native/vertical-bars-web-search.js +0 -84
- package/dist/native/vertical-bars-web-search.js.map +0 -1
- package/dist/native/vertical-bars-web.d.ts +0 -5
- package/dist/native/vertical-bars-web.d.ts.map +0 -1
- package/dist/native/vertical-bars-web.js +0 -341
- package/dist/native/vertical-bars-web.js.map +0 -1
- package/dist/native-integration/index.d.ts +0 -23
- package/dist/native-integration/index.d.ts.map +0 -1
- package/dist/native-integration/index.js.map +0 -1
- package/dist/native-integration/transition.d.ts +0 -5
- package/dist/native-integration/transition.d.ts.map +0 -1
- package/dist/native-integration/transition.js +0 -16
- package/dist/native-integration/transition.js.map +0 -1
- package/dist/vertical-bars.d.ts +0 -5
- package/dist/vertical-bars.js +0 -4
- package/docs/e2e-testing.md +0 -51
- package/docs/feedback.md +0 -65
- package/docs/iphone-duo-with-original-theme.md +0 -158
- package/docs/native-ui-shell.md +0 -285
- package/docs/vertical-bars.md +0 -285
- package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellButton.swift +0 -71
- package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellButtons.swift +0 -24
- package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellComponents.swift +0 -18
- package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellFab.swift +0 -83
- package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellSearchController.swift +0 -432
- package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellSegment.swift +0 -91
- package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellTabBar.swift +0 -221
- package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift +0 -437
- package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalSearch.swift +0 -118
- package/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +0 -396
- package/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellCrossfade.swift +0 -35
- package/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellHost.swift +0 -8
- package/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellRendering.swift +0 -27
- package/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift +0 -135
- package/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift +0 -650
- package/src/native/components/index.ts +0 -53
- package/src/native/components/ion-back-button.ts +0 -19
- package/src/native/components/ion-button.ts +0 -24
- package/src/native/components/ion-buttons.ts +0 -38
- package/src/native/components/ion-fab.ts +0 -151
- package/src/native/components/ion-menu-button.ts +0 -24
- package/src/native/components/ion-segment.ts +0 -27
- package/src/native/components/ion-tab-bar.ts +0 -50
- package/src/native/components/searchable-tabs.ts +0 -459
- package/src/native/definitions.ts +0 -191
- package/src/native/foldable/fold-state.ts +0 -9
- package/src/native/foldable/types.ts +0 -4
- package/src/native/index.ts +0 -281
- package/src/native/prehide.ts +0 -265
- package/src/native/runtime.ts +0 -781
- package/src/native/shared/candidate.ts +0 -150
- package/src/native/shared/crossfade.ts +0 -50
- package/src/native/shared/dom.ts +0 -286
- package/src/native/shared/events.ts +0 -8
- package/src/native/shared/icons.ts +0 -57
- package/src/native/shared/modal.ts +0 -157
- package/src/native/vertical-bars-web-search.ts +0 -80
- package/src/native/vertical-bars-web.ts +0 -411
- package/src/native-integration/transition.ts +0 -15
- package/src/vertical-bars.ts +0 -11
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import Foundation
|
|
2
|
-
import CoreGraphics
|
|
3
|
-
|
|
4
|
-
enum ShellComponent: String, Decodable {
|
|
5
|
-
case button = "ion-button", buttons = "ion-buttons"
|
|
6
|
-
case backButton = "ion-back-button", menuButton = "ion-menu-button"
|
|
7
|
-
case tabBar = "ion-tab-bar", segment = "ion-segment", fab = "ion-fab"
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
struct ShellSnapshot: Decodable {
|
|
11
|
-
let revision: Int
|
|
12
|
-
let transitionDuration: Double?
|
|
13
|
-
let viewportWidth: Double
|
|
14
|
-
let verticalBarFrame: ShellFrame?
|
|
15
|
-
let verticalBarEdge: String?
|
|
16
|
-
let controls: [ShellControl]
|
|
17
|
-
|
|
18
|
-
var isValid: Bool {
|
|
19
|
-
revision >= 0 && (transitionDuration.map { $0.isFinite && $0 >= 0 && $0 <= 500 } ?? true) && viewportWidth.isFinite && viewportWidth > 0 && controls.count <= 100 &&
|
|
20
|
-
(verticalBarFrame.map { $0.isValid } ?? true) &&
|
|
21
|
-
(verticalBarEdge == nil || verticalBarEdge == "left" || verticalBarEdge == "right") &&
|
|
22
|
-
Set(controls.map(\.id)).count == controls.count && controls.allSatisfy(\.isValid)
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Frames and content decode from the same flat wire object. Keeping them separate
|
|
27
|
-
// lets FABs compare artwork without treating movement or visibility as new content.
|
|
28
|
-
struct ShellFrame: Decodable, Equatable {
|
|
29
|
-
let x: Double
|
|
30
|
-
let y: Double
|
|
31
|
-
let width: Double
|
|
32
|
-
let height: Double
|
|
33
|
-
var rect: CGRect { CGRect(x: x, y: y, width: width, height: height) }
|
|
34
|
-
var isValid: Bool { [x, y, width, height].allSatisfy(\.isFinite) && width > 0 && height > 0 }
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
struct ShellControl: Decodable, Equatable {
|
|
38
|
-
enum Placement: String, Decodable { case verticalBars = "vertical-bars" }
|
|
39
|
-
enum ToolbarSlot: String, Decodable { case start, end }
|
|
40
|
-
let id: String
|
|
41
|
-
let kind: ShellComponent
|
|
42
|
-
let placement: Placement?
|
|
43
|
-
let toolbarSlot: ToolbarSlot?
|
|
44
|
-
let frame: ShellFrame
|
|
45
|
-
let items: [ShellItem]
|
|
46
|
-
let dark: Bool
|
|
47
|
-
let rtl: Bool
|
|
48
|
-
let tabBarAnchor: ShellTabBar.Anchor?
|
|
49
|
-
let search: ShellSearch?
|
|
50
|
-
|
|
51
|
-
private enum CodingKeys: String, CodingKey { case id, kind, placement, toolbarSlot, items, dark, rtl, tabBarAnchor, search }
|
|
52
|
-
|
|
53
|
-
init(from decoder: Decoder) throws {
|
|
54
|
-
let values = try decoder.container(keyedBy: CodingKeys.self)
|
|
55
|
-
id = try values.decode(String.self, forKey: .id)
|
|
56
|
-
kind = try values.decode(ShellComponent.self, forKey: .kind)
|
|
57
|
-
placement = try values.decodeIfPresent(Placement.self, forKey: .placement)
|
|
58
|
-
toolbarSlot = try values.decodeIfPresent(ToolbarSlot.self, forKey: .toolbarSlot)
|
|
59
|
-
frame = try ShellFrame(from: decoder)
|
|
60
|
-
items = try values.decode([ShellItem].self, forKey: .items)
|
|
61
|
-
dark = try values.decode(Bool.self, forKey: .dark)
|
|
62
|
-
rtl = try values.decode(Bool.self, forKey: .rtl)
|
|
63
|
-
tabBarAnchor = try values.decodeIfPresent(ShellTabBar.Anchor.self, forKey: .tabBarAnchor)
|
|
64
|
-
search = try values.decodeIfPresent(ShellSearch.self, forKey: .search)
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
var isValid: Bool {
|
|
68
|
-
ShellComponents.supported.contains(kind) && !id.isEmpty && frame.isValid && !items.isEmpty && items.count <= 30 &&
|
|
69
|
-
(!ShellButton.kinds.contains(kind) || items.count == 1) &&
|
|
70
|
-
(toolbarSlot == nil || (placement == .verticalBars && [.button, .buttons, .menuButton].contains(kind))) &&
|
|
71
|
-
Set(items.map(\.id)).count == items.count && items.allSatisfy(\.isValid) &&
|
|
72
|
-
(tabBarAnchor.map { kind == .tabBar && $0.isValid } ?? true) &&
|
|
73
|
-
(search.map { kind == .tabBar && $0.isValid } ?? true)
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
struct ShellItem: Decodable, Equatable {
|
|
78
|
-
let frame: ShellFrame
|
|
79
|
-
let content: ShellItemContent
|
|
80
|
-
let visible: Bool?
|
|
81
|
-
var id: String { content.id }
|
|
82
|
-
|
|
83
|
-
private enum CodingKeys: String, CodingKey { case visible }
|
|
84
|
-
|
|
85
|
-
init(from decoder: Decoder) throws {
|
|
86
|
-
frame = try ShellFrame(from: decoder)
|
|
87
|
-
content = try ShellItemContent(from: decoder)
|
|
88
|
-
visible = try decoder.container(keyedBy: CodingKeys.self).decodeIfPresent(Bool.self, forKey: .visible)
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
var isValid: Bool { frame.isValid && content.isValid }
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
struct ShellBadge: Decodable, Equatable {
|
|
95
|
-
let value: String
|
|
96
|
-
let color: String
|
|
97
|
-
let textColor: String
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
struct ShellItemContent: Decodable, Equatable {
|
|
101
|
-
enum IconPosition: String, Decodable { case leading, trailing, top }
|
|
102
|
-
enum ButtonFill: String, Decodable { case clear, solid, outline }
|
|
103
|
-
let id: String
|
|
104
|
-
var label: String
|
|
105
|
-
let accessibilityLabel: String
|
|
106
|
-
let disabled: Bool
|
|
107
|
-
let selected: Bool
|
|
108
|
-
let fontSize: Double
|
|
109
|
-
let fontWeight: Double
|
|
110
|
-
let color: String
|
|
111
|
-
let buttonFill: ButtonFill?
|
|
112
|
-
let backgroundColor: String?
|
|
113
|
-
let borderColor: String?
|
|
114
|
-
let borderWidth: CGFloat?
|
|
115
|
-
let badge: ShellBadge?
|
|
116
|
-
var icon: String?
|
|
117
|
-
var iconWidth: Double?
|
|
118
|
-
var iconHeight: Double?
|
|
119
|
-
let iconPosition: IconPosition?
|
|
120
|
-
let imagePadding: Double?
|
|
121
|
-
let contentInsetLeading: Double?
|
|
122
|
-
let contentInsetTrailing: Double?
|
|
123
|
-
let iconTemplate: Bool?
|
|
124
|
-
let closeIcon: String?
|
|
125
|
-
let closeIconWidth: Double?
|
|
126
|
-
let closeIconHeight: Double?
|
|
127
|
-
let iconTransition: Double?
|
|
128
|
-
|
|
129
|
-
var isValid: Bool {
|
|
130
|
-
!id.isEmpty && fontSize.isFinite && fontSize >= 0 && fontWeight.isFinite &&
|
|
131
|
-
[iconWidth, iconHeight, closeIconWidth, closeIconHeight].compactMap { $0 }.allSatisfy { $0.isFinite && $0 > 0 } &&
|
|
132
|
-
[imagePadding, contentInsetLeading, contentInsetTrailing].compactMap { $0 }.allSatisfy { $0.isFinite } &&
|
|
133
|
-
(iconTransition.map { $0.isFinite && $0 >= 0 } ?? true)
|
|
134
|
-
}
|
|
135
|
-
}
|