@helpwave/hightide-native 0.1.1 → 0.3.0
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/package.json +2 -2
- package/src/components/chat/ChatAttachmentMessageBubble.tsx +3 -0
- package/src/components/chat/ChatConversationRow.tsx +127 -27
- package/src/components/chat/ChatQuickReplyChip.tsx +7 -1
- package/src/components/chat/ChatThreadHeader.tsx +88 -48
- package/src/components/list/ListActionItem.tsx +60 -11
- package/src/components/list/ListItem.tsx +47 -21
- package/src/components/list/ListItemAccessory.tsx +34 -0
- package/src/components/list/ListItemTextContent.tsx +53 -0
- package/src/components/list/ListNavigationItem.tsx +60 -16
- package/src/components/list/index.ts +2 -0
- package/src/components/user-interaction/Button.tsx +6 -15
- package/src/components/user-interaction/IconButton.tsx +5 -7
- package/src/components/user-interaction/MultiSelect.tsx +72 -46
- package/src/components/user-interaction/Select.tsx +5 -1
- package/src/components/user-interaction/ThemedPressable.tsx +9 -4
- package/src/components/visualization-and-display/Chip.tsx +12 -5
- package/src/components/visualization-and-display/ThemedIcon.tsx +12 -8
- package/src/components/visualization-and-display/ThemedText.tsx +6 -2
- package/src/global-contexts/HightideProvider.tsx +9 -17
- package/src/global-contexts/content-theme/ContentThemeContext.ts +5 -2
- package/src/global-contexts/content-theme/ContentThemeProvider.tsx +64 -10
- package/src/global-contexts/theme/ThemeProvider.tsx +9 -4
- package/src/theme/adapters/index.ts +1 -4
- package/src/theme/adapters/style-adapter-utils.ts +433 -0
- package/src/theme/resolvers/avatar.ts +9 -10
- package/src/theme/resolvers/button.ts +6 -7
- package/src/theme/resolvers/card.ts +3 -2
- package/src/theme/resolvers/chat/attachment-message-bubble.ts +25 -37
- package/src/theme/resolvers/chat/conversation-list.ts +5 -4
- package/src/theme/resolvers/chat/conversation-row.ts +114 -14
- package/src/theme/resolvers/chat/date-divider.ts +4 -4
- package/src/theme/resolvers/chat/message-bubble.ts +9 -10
- package/src/theme/resolvers/chat/message-composer.ts +5 -6
- package/src/theme/resolvers/chat/message-list.ts +3 -2
- package/src/theme/resolvers/chat/quick-reply-chip.ts +12 -20
- package/src/theme/resolvers/chat/system-line.ts +5 -6
- package/src/theme/resolvers/chat/thread-header.ts +60 -12
- package/src/theme/resolvers/checkbox.ts +6 -6
- package/src/theme/resolvers/chip.ts +9 -4
- package/src/theme/resolvers/divider.ts +3 -3
- package/src/theme/resolvers/iconButton.ts +5 -10
- package/src/theme/resolvers/input.ts +12 -7
- package/src/theme/resolvers/listItem.ts +19 -16
- package/src/theme/resolvers/multiSelect.ts +23 -16
- package/src/theme/resolvers/searchBar.ts +14 -7
- package/src/theme/resolvers/select.ts +22 -15
- package/src/theme/resolvers/switch.ts +5 -4
- package/src/theme/resolvers/themedPressable.ts +10 -5
- package/src/theme/themes/createHightideTheme.ts +13 -4
- package/src/theme/types/components/chat.ts +63 -3
- package/src/theme/types/components/chip.ts +4 -0
- package/src/theme/types/components/iconButton.ts +1 -7
- package/src/theme/types/components/listItem.ts +5 -0
- package/src/theme/types/components/multiSelect.ts +1 -0
- package/src/theme/types/components/select.ts +1 -0
- package/src/theme/types/components/themedPressable.ts +4 -0
- package/src/theme/types/layout.ts +13 -7
- package/src/theme/types/semantics.ts +2 -1
- package/src/theme/types/theme.ts +40 -12
- package/src/theme/types/typography.ts +9 -4
- package/src/theme/adapters/container-adapter.ts +0 -323
- package/src/theme/adapters/defined.ts +0 -11
- package/src/theme/adapters/icon-style-adapter.ts +0 -10
- package/src/theme/adapters/text-style-adapter.ts +0 -16
|
@@ -2,7 +2,6 @@ import type {
|
|
|
2
2
|
SwitchState as DesignSwitchState,
|
|
3
3
|
SwitchStateValue
|
|
4
4
|
} from '@helpwave/hightide-design/component-token-resolvers'
|
|
5
|
-
import { toContainerStyle } from '../adapters/container-adapter'
|
|
6
5
|
import type {
|
|
7
6
|
SwitchContainerStyle,
|
|
8
7
|
SwitchState,
|
|
@@ -15,6 +14,8 @@ import {
|
|
|
15
14
|
type ComponentThemeResolver
|
|
16
15
|
} from '../types/resolver'
|
|
17
16
|
|
|
17
|
+
import { StyleAdapterUtils } from '../adapters'
|
|
18
|
+
|
|
18
19
|
const toDesignSwitchState = (state: SwitchState = {}): DesignSwitchState => {
|
|
19
20
|
const active = new Set<SwitchStateValue>()
|
|
20
21
|
|
|
@@ -59,13 +60,13 @@ export const toSwitchThemeResolvers: ComponentThemeResolver<SwitchThemeResolvers
|
|
|
59
60
|
|
|
60
61
|
return {
|
|
61
62
|
container: createStyleResolver((state: SwitchState): SwitchContainerStyle => (
|
|
62
|
-
|
|
63
|
+
StyleAdapterUtils.container(resolve(state).container)
|
|
63
64
|
)),
|
|
64
65
|
track: createStyleResolver((state: SwitchState): SwitchTrackStyle => (
|
|
65
|
-
|
|
66
|
+
StyleAdapterUtils.container(resolve(state).track)
|
|
66
67
|
)),
|
|
67
68
|
thumb: createStyleResolver((state: SwitchState): SwitchThumbStyle => (
|
|
68
|
-
|
|
69
|
+
StyleAdapterUtils.container(resolve(state).thumb)
|
|
69
70
|
)),
|
|
70
71
|
}
|
|
71
72
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { toContainerStyle } from '../adapters/container-adapter'
|
|
2
|
-
import { toTextStyle } from '../adapters/text-style-adapter'
|
|
3
1
|
import type {
|
|
2
|
+
ThemedPressableIconStyle,
|
|
4
3
|
ThemedPressableState,
|
|
5
4
|
ThemedPressableStyle,
|
|
6
5
|
ThemedPressableTextStyle,
|
|
@@ -8,10 +7,13 @@ import type {
|
|
|
8
7
|
} from '../types/components/themedPressable'
|
|
9
8
|
import {
|
|
10
9
|
createStyleResolver,
|
|
10
|
+
createValueResolver,
|
|
11
11
|
toPressableInteractionState,
|
|
12
12
|
type ComponentThemeResolver
|
|
13
13
|
} from '../types/resolver'
|
|
14
14
|
|
|
15
|
+
import { StyleAdapterUtils } from '../adapters'
|
|
16
|
+
|
|
15
17
|
export const toThemedPressableThemeResolvers: ComponentThemeResolver<ThemedPressableThemeResolvers> = ({
|
|
16
18
|
themeTokens,
|
|
17
19
|
semanticTokens,
|
|
@@ -32,14 +34,14 @@ export const toThemedPressableThemeResolvers: ComponentThemeResolver<ThemedPress
|
|
|
32
34
|
|
|
33
35
|
return {
|
|
34
36
|
container: createStyleResolver((state: ThemedPressableState): ThemedPressableStyle => ({
|
|
35
|
-
...
|
|
37
|
+
...StyleAdapterUtils.container(resolve(state).container),
|
|
36
38
|
alignSelf: 'flex-start',
|
|
37
39
|
})),
|
|
38
40
|
stateLayer: createStyleResolver((state: ThemedPressableState): ThemedPressableStyle => {
|
|
39
41
|
const tokens = resolve(state)
|
|
40
42
|
|
|
41
43
|
return {
|
|
42
|
-
...
|
|
44
|
+
...StyleAdapterUtils.container(tokens.stateLayer),
|
|
43
45
|
position: 'absolute',
|
|
44
46
|
top: 0,
|
|
45
47
|
right: 0,
|
|
@@ -47,8 +49,11 @@ export const toThemedPressableThemeResolvers: ComponentThemeResolver<ThemedPress
|
|
|
47
49
|
left: 0,
|
|
48
50
|
}
|
|
49
51
|
}),
|
|
52
|
+
icon: createValueResolver((state: ThemedPressableState): ThemedPressableIconStyle => (
|
|
53
|
+
StyleAdapterUtils.icon(resolve(state).icon)
|
|
54
|
+
)),
|
|
50
55
|
text: createStyleResolver((state: ThemedPressableState): ThemedPressableTextStyle => (
|
|
51
|
-
|
|
56
|
+
StyleAdapterUtils.text(resolve(state).text)
|
|
52
57
|
)),
|
|
53
58
|
}
|
|
54
59
|
}
|
|
@@ -58,6 +58,7 @@ const resolveElementLayouts = (themeTokens: ThemeTokens): ElementLayoutTokens =>
|
|
|
58
58
|
})
|
|
59
59
|
|
|
60
60
|
const bindSemantics = (themeTokens: ThemeTokens): HightideThemeSemantics => ({
|
|
61
|
+
...resolveElementLayouts(themeTokens),
|
|
61
62
|
coloringColorVariant: (parameter) => hightideSemanticTokenResolvers.coloringColorVariant({
|
|
62
63
|
themeTokens,
|
|
63
64
|
...parameter,
|
|
@@ -114,19 +115,27 @@ const bindSemantics = (themeTokens: ThemeTokens): HightideThemeSemantics => ({
|
|
|
114
115
|
|
|
115
116
|
export const createHightideTheme = (themeTokens: ThemeTokens): HightideTheme => ({
|
|
116
117
|
colors: themeTokens.color,
|
|
117
|
-
|
|
118
|
+
fontFamilies: themeTokens.fontFamilies,
|
|
119
|
+
fontWeights: themeTokens.fontWeights,
|
|
120
|
+
fontSizing: themeTokens.fontSizing,
|
|
118
121
|
typography: themeTokens.typography,
|
|
119
122
|
icongraphy: themeTokens.icongraphy,
|
|
123
|
+
size: themeTokens.size,
|
|
120
124
|
spacing: themeTokens.spacing,
|
|
121
|
-
|
|
122
|
-
borderRadius: themeTokens.
|
|
123
|
-
|
|
125
|
+
padding: themeTokens.padding,
|
|
126
|
+
borderRadius: themeTokens.borderRadius,
|
|
127
|
+
borderWidth: themeTokens.borderWidth,
|
|
128
|
+
elevation: themeTokens.elevation,
|
|
124
129
|
shadow: {
|
|
125
130
|
raised: themeTokens.elevation.level1,
|
|
126
131
|
container: themeTokens.elevation.level2,
|
|
127
132
|
popover: themeTokens.elevation.level3,
|
|
128
133
|
dialog: themeTokens.elevation.level4,
|
|
129
134
|
},
|
|
135
|
+
motion: themeTokens.motion,
|
|
136
|
+
focusOutline: themeTokens.focusOutline,
|
|
137
|
+
config: themeTokens.config,
|
|
138
|
+
semantics: bindSemantics(themeTokens),
|
|
130
139
|
components: {
|
|
131
140
|
button: toButtonThemeResolvers({
|
|
132
141
|
themeTokens,
|
|
@@ -24,12 +24,15 @@ export type ChatConversationRowState = InteractionState & {
|
|
|
24
24
|
isSelected?: boolean,
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export type
|
|
27
|
+
export type ChatConversationRowContentContainerStyle = ViewStyle
|
|
28
|
+
export type ChatConversationRowHeaderRowStyle = ViewStyle
|
|
29
|
+
export type ChatConversationRowMessageRowStyle = ViewStyle
|
|
28
30
|
export type ChatConversationRowTitleStyle = TextStyle
|
|
29
31
|
export type ChatConversationRowTimestampStyle = TextStyle
|
|
30
32
|
export type ChatConversationRowPreviewStyle = TextStyle
|
|
31
33
|
export type ChatConversationRowUnreadBadgeStyle = ViewStyle
|
|
32
34
|
export type ChatConversationRowUnreadBadgeTextStyle = TextStyle
|
|
35
|
+
export type ChatConversationRowSentIndicatorStyle = IconStyle
|
|
33
36
|
|
|
34
37
|
export type ChatConversationListStyle = ViewStyle
|
|
35
38
|
export type ChatConversationListHeaderStyle = ViewStyle
|
|
@@ -61,6 +64,7 @@ export type ChatAttachmentMessageBubbleState = {
|
|
|
61
64
|
export type PressableContainerStyle = ViewStyle
|
|
62
65
|
export type PressableStateLayerStyle = ViewStyle
|
|
63
66
|
export type PressableTextStyle = TextStyle
|
|
67
|
+
export type PressableIconStyle = IconStyle
|
|
64
68
|
|
|
65
69
|
export type PressableState = ThemedPressableState
|
|
66
70
|
|
|
@@ -91,13 +95,40 @@ export type ChatMessageComposerStyle = ViewStyle
|
|
|
91
95
|
export type ChatMessageComposerInputStyle = ViewStyle & TextStyle
|
|
92
96
|
|
|
93
97
|
export type ChatConversationRowThemeResolvers = {
|
|
94
|
-
|
|
98
|
+
pressable: StyleResolverFunction<
|
|
99
|
+
ChatConversationRowState,
|
|
100
|
+
{
|
|
101
|
+
container: StyleResolverFunction<
|
|
102
|
+
PressableState,
|
|
103
|
+
PressableContainerStyle
|
|
104
|
+
>,
|
|
105
|
+
stateLayer: StyleResolverFunction<
|
|
106
|
+
PressableState,
|
|
107
|
+
PressableStateLayerStyle
|
|
108
|
+
>,
|
|
109
|
+
text: StyleResolverFunction<
|
|
110
|
+
PressableState,
|
|
111
|
+
PressableTextStyle
|
|
112
|
+
>,
|
|
113
|
+
icon: StyleResolverFunction<
|
|
114
|
+
PressableState,
|
|
115
|
+
PressableIconStyle
|
|
116
|
+
>,
|
|
117
|
+
}
|
|
118
|
+
>,
|
|
119
|
+
contentContainer: StyleResolverFunction<ChatConversationRowState, ChatConversationRowContentContainerStyle>,
|
|
120
|
+
headerRow: StyleResolverFunction<ChatConversationRowState, ChatConversationRowHeaderRowStyle>,
|
|
121
|
+
messageRow: StyleResolverFunction<ChatConversationRowState, ChatConversationRowMessageRowStyle>,
|
|
95
122
|
title: StyleResolverFunction<ChatConversationRowState, ChatConversationRowTitleStyle>,
|
|
96
123
|
timestamp: StyleResolverFunction<ChatConversationRowState, ChatConversationRowTimestampStyle>,
|
|
97
124
|
preview: StyleResolverFunction<ChatConversationRowState, ChatConversationRowPreviewStyle>,
|
|
98
125
|
unreadBadge: StyleResolverFunction<Record<string, never>, ChatConversationRowUnreadBadgeStyle>,
|
|
99
126
|
unreadBadgeText: StyleResolverFunction<Record<string, never>, ChatConversationRowUnreadBadgeTextStyle>,
|
|
100
|
-
sentIndicator: StyleResolverFunction<Record<string, never>,
|
|
127
|
+
sentIndicator: StyleResolverFunction<Record<string, never>, ChatConversationRowSentIndicatorStyle>,
|
|
128
|
+
avatar: StyleResolverFunction<
|
|
129
|
+
AvatarState,
|
|
130
|
+
AvatarThemeResolvers
|
|
131
|
+
>,
|
|
101
132
|
}
|
|
102
133
|
|
|
103
134
|
export type ChatConversationListThemeResolvers = {
|
|
@@ -115,6 +146,27 @@ export type ChatThreadHeaderThemeResolvers = {
|
|
|
115
146
|
AvatarState,
|
|
116
147
|
AvatarThemeResolvers
|
|
117
148
|
>,
|
|
149
|
+
pressable: StyleResolverFunction<
|
|
150
|
+
Record<string, never>,
|
|
151
|
+
{
|
|
152
|
+
container: StyleResolverFunction<
|
|
153
|
+
PressableState,
|
|
154
|
+
PressableContainerStyle
|
|
155
|
+
>,
|
|
156
|
+
stateLayer: StyleResolverFunction<
|
|
157
|
+
PressableState,
|
|
158
|
+
PressableStateLayerStyle
|
|
159
|
+
>,
|
|
160
|
+
text: StyleResolverFunction<
|
|
161
|
+
PressableState,
|
|
162
|
+
PressableTextStyle
|
|
163
|
+
>,
|
|
164
|
+
icon: StyleResolverFunction<
|
|
165
|
+
PressableState,
|
|
166
|
+
PressableIconStyle
|
|
167
|
+
>,
|
|
168
|
+
}
|
|
169
|
+
>,
|
|
118
170
|
}
|
|
119
171
|
|
|
120
172
|
export type ChatMessageListThemeResolvers = {
|
|
@@ -158,6 +210,10 @@ export type ChatAttachmentMessageBubbleThemeResolvers = {
|
|
|
158
210
|
PressableState,
|
|
159
211
|
PressableTextStyle
|
|
160
212
|
>,
|
|
213
|
+
icon: StyleResolverFunction<
|
|
214
|
+
PressableState,
|
|
215
|
+
PressableIconStyle
|
|
216
|
+
>,
|
|
161
217
|
}
|
|
162
218
|
>,
|
|
163
219
|
fileIconContainer: StyleResolverFunction<ChatAttachmentMessageBubbleState, ChatAttachmentMessageBubbleFileIconContainerStyle>,
|
|
@@ -195,6 +251,10 @@ export type ChatQuickReplyChipThemeResolvers = {
|
|
|
195
251
|
PressableState,
|
|
196
252
|
PressableTextStyle
|
|
197
253
|
>,
|
|
254
|
+
icon: StyleResolverFunction<
|
|
255
|
+
PressableState,
|
|
256
|
+
PressableIconStyle
|
|
257
|
+
>,
|
|
198
258
|
}
|
|
199
259
|
>,
|
|
200
260
|
}
|
|
@@ -7,6 +7,7 @@ import type { ColorPairToken } from '@helpwave/hightide-design/theme-tokens'
|
|
|
7
7
|
import type { ChipVariant, ComponentSize } from '@helpwave/hightide-design/semantic-token-resolvers'
|
|
8
8
|
|
|
9
9
|
import type { StyleResolverFunction } from '../resolver'
|
|
10
|
+
import type { IconStyle } from '../../../icons'
|
|
10
11
|
|
|
11
12
|
export type ChipState = {
|
|
12
13
|
size?: ComponentSize,
|
|
@@ -18,7 +19,10 @@ export type ChipStyle = ViewStyle
|
|
|
18
19
|
|
|
19
20
|
export type ChipTextStyle = TextStyle
|
|
20
21
|
|
|
22
|
+
export type ChipIconStyle = IconStyle
|
|
23
|
+
|
|
21
24
|
export type ChipThemeResolvers = {
|
|
22
25
|
chip: StyleResolverFunction<ChipState, ChipStyle>,
|
|
26
|
+
icon: StyleResolverFunction<ChipState, ChipIconStyle>,
|
|
23
27
|
text: StyleResolverFunction<ChipState, ChipTextStyle>,
|
|
24
28
|
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
TextStyle,
|
|
3
|
-
ViewStyle
|
|
4
|
-
} from 'react-native'
|
|
1
|
+
import type { ViewStyle } from 'react-native'
|
|
5
2
|
|
|
6
3
|
import type { ColorPairToken } from '@helpwave/hightide-design/theme-tokens'
|
|
7
4
|
import type {
|
|
@@ -25,11 +22,8 @@ export type IconButtonStyle = ViewStyle
|
|
|
25
22
|
|
|
26
23
|
export type IconButtonIconStyle = IconStyle
|
|
27
24
|
|
|
28
|
-
export type IconButtonTextStyle = TextStyle
|
|
29
|
-
|
|
30
25
|
export type IconButtonThemeResolvers = {
|
|
31
26
|
container: StyleResolverFunction<IconButtonState, IconButtonStyle>,
|
|
32
27
|
stateLayer: StyleResolverFunction<IconButtonState, IconButtonStyle>,
|
|
33
28
|
icon: StyleResolverFunction<IconButtonState, IconButtonIconStyle>,
|
|
34
|
-
text: StyleResolverFunction<IconButtonState, IconButtonTextStyle>,
|
|
35
29
|
}
|
|
@@ -52,6 +52,8 @@ export type ListActionItemTrailingItemContainerStyle = ViewStyle
|
|
|
52
52
|
|
|
53
53
|
export type ListActionItemTitleStyle = TextStyle
|
|
54
54
|
|
|
55
|
+
export type ListActionItemDescriptionStyle = TextStyle
|
|
56
|
+
|
|
55
57
|
export type ListActionItemIconStyle = IconStyle
|
|
56
58
|
|
|
57
59
|
export type ListActionItemThemeResolvers = {
|
|
@@ -60,6 +62,7 @@ export type ListActionItemThemeResolvers = {
|
|
|
60
62
|
content: StyleResolverFunction<ListActionItemState, ListActionItemContentStyle>,
|
|
61
63
|
trailingItemContainer: StyleResolverFunction<ListActionItemState, ListActionItemTrailingItemContainerStyle>,
|
|
62
64
|
titleText: StyleResolverFunction<ListActionItemState, ListActionItemTitleStyle>,
|
|
65
|
+
descriptionText: StyleResolverFunction<ListActionItemState, ListActionItemDescriptionStyle>,
|
|
63
66
|
icon: StyleResolverFunction<ListActionItemState, ListActionItemIconStyle>,
|
|
64
67
|
}
|
|
65
68
|
|
|
@@ -75,6 +78,8 @@ export type ListNavigationItemTrailingItemContainerStyle = ListActionItemTrailin
|
|
|
75
78
|
|
|
76
79
|
export type ListNavigationItemTitleStyle = ListActionItemTitleStyle
|
|
77
80
|
|
|
81
|
+
export type ListNavigationItemDescriptionStyle = ListActionItemDescriptionStyle
|
|
82
|
+
|
|
78
83
|
export type ListNavigationItemIconStyle = ListActionItemIconStyle
|
|
79
84
|
|
|
80
85
|
export type ListNavigationItemThemeResolvers = ListActionItemThemeResolvers
|
|
@@ -37,6 +37,7 @@ export type MultiSelectCheckboxIconStyle = IconStyle
|
|
|
37
37
|
|
|
38
38
|
export type MultiSelectThemeResolvers = {
|
|
39
39
|
trigger: StyleResolverFunction<MultiSelectState, MultiSelectTriggerStyle>,
|
|
40
|
+
stateLayer: StyleResolverFunction<MultiSelectState, MultiSelectTriggerStyle>,
|
|
40
41
|
triggerText: StyleResolverFunction<MultiSelectState, SelectTriggerTextStyle>,
|
|
41
42
|
overlay: SimpleStyleResolver<SelectOverlayStyle>,
|
|
42
43
|
menu: StyleResolverFunction<SelectMenuState, SelectMenuStyle>,
|
|
@@ -48,6 +48,7 @@ export type SelectEmptyTextStyle = TextStyle
|
|
|
48
48
|
|
|
49
49
|
export type SelectThemeResolvers = {
|
|
50
50
|
trigger: StyleResolverFunction<SelectState, SelectTriggerStyle>,
|
|
51
|
+
stateLayer: StyleResolverFunction<SelectState, SelectTriggerStyle>,
|
|
51
52
|
triggerText: StyleResolverFunction<SelectState, SelectTriggerTextStyle>,
|
|
52
53
|
icon: StyleResolverFunction<SelectState, SelectIconStyle>,
|
|
53
54
|
overlay: SimpleStyleResolver<SelectOverlayStyle>,
|
|
@@ -11,6 +11,7 @@ import type {
|
|
|
11
11
|
InteractionState,
|
|
12
12
|
StyleResolverFunction
|
|
13
13
|
} from '../resolver'
|
|
14
|
+
import type { IconStyle } from '../../../icons'
|
|
14
15
|
|
|
15
16
|
export type ThemedPressableState = InteractionState & {
|
|
16
17
|
size?: ComponentSize,
|
|
@@ -24,8 +25,11 @@ export type ThemedPressableStyle = ViewStyle
|
|
|
24
25
|
|
|
25
26
|
export type ThemedPressableTextStyle = TextStyle
|
|
26
27
|
|
|
28
|
+
export type ThemedPressableIconStyle = IconStyle
|
|
29
|
+
|
|
27
30
|
export type ThemedPressableThemeResolvers = {
|
|
28
31
|
container: StyleResolverFunction<ThemedPressableState, ThemedPressableStyle>,
|
|
29
32
|
stateLayer: StyleResolverFunction<ThemedPressableState, ThemedPressableStyle>,
|
|
33
|
+
icon: StyleResolverFunction<ThemedPressableState, ThemedPressableIconStyle>,
|
|
30
34
|
text: StyleResolverFunction<ThemedPressableState, ThemedPressableTextStyle>,
|
|
31
35
|
}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
|
|
3
|
-
} from '@helpwave/hightide-design/semantic-token-resolvers'
|
|
4
|
-
import type {
|
|
2
|
+
ThemeBorderRadiusTokens,
|
|
5
3
|
ThemeBorderWidthTokens,
|
|
6
4
|
ThemeElevationTokens,
|
|
7
|
-
|
|
5
|
+
ThemeMotionTokens,
|
|
6
|
+
ThemePaddingTokens,
|
|
7
|
+
ThemeSizeTokens,
|
|
8
8
|
ThemeSpacingTokens
|
|
9
9
|
} from '@helpwave/hightide-design/theme-tokens'
|
|
10
10
|
|
|
11
|
+
export type HightideSize = ThemeSizeTokens
|
|
12
|
+
|
|
11
13
|
export type HightideSpacing = ThemeSpacingTokens
|
|
12
14
|
|
|
13
|
-
export type
|
|
15
|
+
export type HightidePadding = ThemePaddingTokens
|
|
16
|
+
|
|
17
|
+
export type HightideBorderRadius = ThemeBorderRadiusTokens
|
|
18
|
+
|
|
19
|
+
export type HightideBorderWidth = ThemeBorderWidthTokens
|
|
14
20
|
|
|
15
|
-
export type
|
|
21
|
+
export type HightideElevation = ThemeElevationTokens
|
|
16
22
|
|
|
17
|
-
export type
|
|
23
|
+
export type HightideMotion = ThemeMotionTokens
|
|
18
24
|
|
|
19
25
|
export type HightideShadowToken = ThemeElevationTokens[keyof ThemeElevationTokens]
|
|
20
26
|
|
|
@@ -7,6 +7,7 @@ import type {
|
|
|
7
7
|
ColoringToken,
|
|
8
8
|
ContainerLayoutToken,
|
|
9
9
|
ControlElementLayoutToken,
|
|
10
|
+
ElementLayoutTokens,
|
|
10
11
|
InputColoringTokens,
|
|
11
12
|
InsideControlElementLayoutToken,
|
|
12
13
|
PressableColoringTokens,
|
|
@@ -69,4 +70,4 @@ export type HightideThemeSemantics = {
|
|
|
69
70
|
asDescription: BoundSemanticResolver<{
|
|
70
71
|
color: HexColorToken,
|
|
71
72
|
}, HexColorToken>,
|
|
72
|
-
}
|
|
73
|
+
} & ElementLayoutTokens
|
package/src/theme/types/theme.ts
CHANGED
|
@@ -1,39 +1,67 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {
|
|
2
|
+
OutlineToken,
|
|
3
|
+
ThemeColorTokens,
|
|
4
|
+
ThemeConfigTokens
|
|
5
|
+
} from '@helpwave/hightide-design/theme-tokens'
|
|
2
6
|
|
|
3
7
|
import type { HightideComponentThemes } from './components/hightide'
|
|
4
8
|
import type { HightideIcongraphy } from './icongraphy'
|
|
5
9
|
import type {
|
|
6
|
-
HightideBorder,
|
|
7
10
|
HightideBorderRadius,
|
|
8
|
-
|
|
11
|
+
HightideBorderWidth,
|
|
12
|
+
HightideElevation,
|
|
13
|
+
HightideMotion,
|
|
14
|
+
HightidePadding,
|
|
9
15
|
HightideShadow,
|
|
16
|
+
HightideSize,
|
|
10
17
|
HightideSpacing
|
|
11
18
|
} from './layout'
|
|
12
19
|
import type { HightideThemeSemantics } from './semantics'
|
|
13
|
-
import type {
|
|
20
|
+
import type {
|
|
21
|
+
HightideFontFamilies,
|
|
22
|
+
HightideFontSizing,
|
|
23
|
+
HightideFontWeights,
|
|
24
|
+
HightideTypography
|
|
25
|
+
} from './typography'
|
|
14
26
|
|
|
15
27
|
export type Theme = {
|
|
16
28
|
colors: Record<string, unknown>,
|
|
17
|
-
|
|
18
|
-
|
|
29
|
+
fontFamilies: Record<string, unknown>,
|
|
30
|
+
fontWeights: Record<string, unknown>,
|
|
31
|
+
fontSizing: Record<string, unknown>,
|
|
19
32
|
typography: Record<string, unknown>,
|
|
20
33
|
icongraphy: Record<string, unknown>,
|
|
34
|
+
size: Record<string, unknown>,
|
|
21
35
|
spacing: Record<string, unknown>,
|
|
22
|
-
|
|
36
|
+
padding: Record<string, unknown>,
|
|
23
37
|
borderRadius: Record<string, unknown>,
|
|
24
|
-
|
|
38
|
+
borderWidth: Record<string, unknown>,
|
|
39
|
+
elevation: Record<string, unknown>,
|
|
25
40
|
shadow: Record<string, unknown>,
|
|
41
|
+
motion: Record<string, unknown>,
|
|
42
|
+
focusOutline: Record<string, unknown>,
|
|
43
|
+
config: Record<string, unknown>,
|
|
44
|
+
semantics: Record<string, unknown>,
|
|
45
|
+
components: Record<string, unknown>,
|
|
26
46
|
}
|
|
27
47
|
|
|
28
48
|
export type HightideTheme = Theme & {
|
|
29
49
|
colors: ThemeColorTokens & Theme['colors'],
|
|
30
|
-
|
|
31
|
-
|
|
50
|
+
fontFamilies: HightideFontFamilies & Theme['fontFamilies'],
|
|
51
|
+
fontWeights: HightideFontWeights & Theme['fontWeights'],
|
|
52
|
+
fontSizing: HightideFontSizing & Theme['fontSizing'],
|
|
32
53
|
typography: HightideTypography & Theme['typography'],
|
|
33
54
|
icongraphy: HightideIcongraphy & Theme['icongraphy'],
|
|
55
|
+
size: HightideSize & Theme['size'],
|
|
34
56
|
spacing: HightideSpacing & Theme['spacing'],
|
|
35
|
-
|
|
57
|
+
padding: HightidePadding & Theme['padding'],
|
|
36
58
|
borderRadius: HightideBorderRadius & Theme['borderRadius'],
|
|
37
|
-
|
|
59
|
+
borderWidth: HightideBorderWidth & Theme['borderWidth'],
|
|
60
|
+
elevation: HightideElevation & Theme['elevation'],
|
|
38
61
|
shadow: HightideShadow & Theme['shadow'],
|
|
62
|
+
motion: HightideMotion & Theme['motion'],
|
|
63
|
+
focusOutline: OutlineToken & Theme['focusOutline'],
|
|
64
|
+
config: ThemeConfigTokens & Theme['config'],
|
|
65
|
+
semantics: HightideThemeSemantics & Theme['semantics'],
|
|
66
|
+
components: HightideComponentThemes & Theme['components'],
|
|
39
67
|
}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import type {
|
|
2
|
-
|
|
2
|
+
ThemeFontFamilyTokens,
|
|
3
|
+
ThemeFontSizingTokens,
|
|
4
|
+
ThemeFontWeightTokens,
|
|
3
5
|
ThemeTypographySize,
|
|
6
|
+
ThemeTypographyTokens,
|
|
4
7
|
TypographyStyleToken
|
|
5
8
|
} from '@helpwave/hightide-design/theme-tokens'
|
|
6
9
|
|
|
7
10
|
export type TextStyle = TypographyStyleToken
|
|
8
11
|
|
|
9
|
-
export type
|
|
12
|
+
export type HightideFontFamilies = ThemeFontFamilyTokens
|
|
10
13
|
|
|
11
|
-
export type
|
|
14
|
+
export type HightideFontWeights = ThemeFontWeightTokens
|
|
12
15
|
|
|
13
|
-
export type
|
|
16
|
+
export type HightideFontSizing = ThemeFontSizingTokens
|
|
17
|
+
|
|
18
|
+
export type HightideTypography = ThemeTypographyTokens
|
|
14
19
|
|
|
15
20
|
export type TypographySizes = ThemeTypographySize
|
|
16
21
|
|