@symbiote-native/svelte 1.0.0 → 3.0.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/README.md +11 -13
- package/build/components/{activity-indicator/activity-indicator-props.d.ts → activity-indicator-props.d.ts} +1 -1
- package/build/components/flat-list/index.svelte +9 -5
- package/build/components/{image-background/image-background-props.d.ts → image-background-props.d.ts} +1 -1
- package/build/components/index.d.ts +6 -24
- package/build/components/index.js +0 -18
- package/build/components/keyboard-avoiding-view/index.svelte +16 -7
- package/build/components/modal/index.svelte +7 -7
- package/build/components/pressable/pressable-props.d.ts +3 -0
- package/build/components/refresh-control-props.d.ts +1 -0
- package/build/components/text-props.d.ts +1 -0
- package/build/components/touchable-highlight/touchable-highlight-props.d.ts +2 -0
- package/build/components/touchable-native-feedback/touchable-native-feedback-props.d.ts +1 -0
- package/build/components/touchable-without-feedback/touchable-without-feedback-props.d.ts +3 -1
- package/build/components/virtualized-list/index.svelte +79 -257
- package/build/components/virtualized-list/virtualized-list-props.d.ts +2 -2
- package/build/components/virtualized-list/virtualized-list-props.js +24 -4
- package/build/create-portal/index.js +2 -2
- package/build/dom-shim/canonical-prop-names.d.ts +2 -0
- package/build/dom-shim/canonical-prop-names.js +323 -0
- package/build/dom-shim/document.js +1 -1
- package/build/dom-shim/element.d.ts +10 -3
- package/build/dom-shim/element.js +233 -31
- package/build/dom-shim/patch-globals.js +31 -5
- package/build/dom-shim/shim-node.d.ts +6 -0
- package/build/dom-shim/shim-node.js +48 -1
- package/build/dom-shim/style-cache.d.ts +1 -0
- package/build/dom-shim/style-cache.js +27 -0
- package/build/dom-shim/text.js +5 -4
- package/build/host-instance.d.ts +2 -3
- package/build/host-instance.js +9 -3
- package/build/index.d.ts +7 -4
- package/build/index.js +17 -5
- package/build/intrinsic-elements.d.ts +63 -0
- package/build/modules/animated/index.d.ts +30 -46
- package/build/modules/animated/index.js +24 -34
- package/build/modules/image/index.d.ts +3 -0
- package/build/modules/image/index.js +15 -0
- package/build/preprocessor/scoped-styles.js +1 -1
- package/build/register.d.ts +1 -1
- package/build/register.js +13 -31
- package/build/root-element.js +1 -1
- package/metro-css-parser.cjs +2 -1
- package/metro-svelte-transformer.cjs +1 -17
- package/package.json +8 -16
- package/build/components/RefreshControl.svelte +0 -40
- package/build/components/RefreshControl.svelte.d.ts +0 -5
- package/build/components/SafeAreaView.svelte +0 -34
- package/build/components/SafeAreaView.svelte.d.ts +0 -5
- package/build/components/Text.svelte +0 -34
- package/build/components/Text.svelte.d.ts +0 -5
- package/build/components/View.svelte +0 -43
- package/build/components/View.svelte.d.ts +0 -5
- package/build/components/activity-indicator/activity-indicator-platform.android.d.ts +0 -3
- package/build/components/activity-indicator/activity-indicator-platform.android.js +0 -5
- package/build/components/activity-indicator/activity-indicator-platform.d.ts +0 -1
- package/build/components/activity-indicator/activity-indicator-platform.ios.d.ts +0 -3
- package/build/components/activity-indicator/activity-indicator-platform.ios.js +0 -6
- package/build/components/activity-indicator/activity-indicator-platform.js +0 -5
- package/build/components/activity-indicator/index.svelte +0 -63
- package/build/components/activity-indicator/index.svelte.d.ts +0 -5
- package/build/components/button.svelte +0 -76
- package/build/components/button.svelte.d.ts +0 -5
- package/build/components/image/image-logic.d.ts +0 -2
- package/build/components/image/image-logic.js +0 -135
- package/build/components/image/index.d.ts +0 -3
- package/build/components/image/index.js +0 -10
- package/build/components/image/index.svelte +0 -66
- package/build/components/image/index.svelte.d.ts +0 -5
- package/build/components/image-background/index.svelte +0 -87
- package/build/components/image-background/index.svelte.d.ts +0 -5
- package/build/components/input-accessory-view/index.svelte +0 -51
- package/build/components/input-accessory-view/index.svelte.d.ts +0 -5
- package/build/components/pressable/index.svelte +0 -185
- package/build/components/pressable/index.svelte.d.ts +0 -9
- package/build/components/scroll-view/index.svelte +0 -331
- package/build/components/scroll-view/index.svelte.d.ts +0 -18
- package/build/components/scroll-view/scroll-view-platform-types.d.ts +0 -3
- package/build/components/scroll-view/scroll-view-platform.android.d.ts +0 -3
- package/build/components/scroll-view/scroll-view-platform.android.js +0 -3
- package/build/components/scroll-view/scroll-view-platform.d.ts +0 -1
- package/build/components/scroll-view/scroll-view-platform.ios.d.ts +0 -3
- package/build/components/scroll-view/scroll-view-platform.ios.js +0 -3
- package/build/components/scroll-view/scroll-view-platform.js +0 -4
- package/build/components/scroll-view/scroll-view-sticky-context.d.ts +0 -7
- package/build/components/scroll-view/scroll-view-sticky-context.js +0 -1
- package/build/components/scroll-view/sticky-header-props.d.ts +0 -10
- package/build/components/scroll-view/sticky-header-props.js +0 -1
- package/build/components/scroll-view/sticky-header.svelte +0 -287
- package/build/components/scroll-view/sticky-header.svelte.d.ts +0 -5
- package/build/components/switch/index.svelte +0 -134
- package/build/components/switch/index.svelte.d.ts +0 -5
- package/build/components/text-input/index.svelte +0 -372
- package/build/components/text-input/index.svelte.d.ts +0 -17
- package/build/components/touchable-highlight/index.svelte +0 -139
- package/build/components/touchable-highlight/index.svelte.d.ts +0 -5
- package/build/components/touchable-native-feedback/index.d.ts +0 -9
- package/build/components/touchable-native-feedback/index.js +0 -14
- package/build/components/touchable-native-feedback/touchable-native-feedback.svelte +0 -49
- package/build/components/touchable-native-feedback/touchable-native-feedback.svelte.d.ts +0 -5
- package/build/components/touchable-opacity/index.svelte +0 -181
- package/build/components/touchable-opacity/index.svelte.d.ts +0 -5
- package/build/components/touchable-without-feedback/index.svelte +0 -75
- package/build/components/touchable-without-feedback/index.svelte.d.ts +0 -5
- package/build/dom-shim/fold-host-bag.d.ts +0 -1
- package/build/dom-shim/fold-host-bag.js +0 -7
- package/build/modules/animated/animated-component-props.d.ts +0 -7
- package/build/modules/animated/animated-component-props.js +0 -1
- package/build/modules/animated/create-animated-component.d.ts +0 -5
- package/build/modules/animated/create-animated-component.js +0 -131
- package/build/preprocessor/lower-host-primitives.d.ts +0 -10
- package/build/preprocessor/lower-host-primitives.js +0 -455
- package/build/state-style.d.ts +0 -1
- package/build/state-style.js +0 -8
- /package/build/components/{activity-indicator/activity-indicator-props.js → activity-indicator-props.js} +0 -0
- /package/build/components/{image-background/image-background-props.js → image-background-props.js} +0 -0
- /package/build/{components/scroll-view/scroll-view-platform-types.js → intrinsic-elements.js} +0 -0
package/README.md
CHANGED
|
@@ -29,9 +29,9 @@ npm install @symbiote-native/svelte react-native svelte
|
|
|
29
29
|
|
|
30
30
|
`react-native` and `svelte` stay your app's own top-level dependencies — this package only
|
|
31
31
|
replaces the JS renderer that drives them. Every component is a `.svelte` SFC — there's no TSX
|
|
32
|
-
alternative the way Vue offers — so the Metro wiring below isn't optional.
|
|
33
|
-
|
|
34
|
-
rather than a generator:
|
|
32
|
+
alternative the way Vue offers — so the Metro wiring below isn't optional. `npx @symbiote-native/cli new`
|
|
33
|
+
sets this up for a new app; wiring it into an existing one still follows
|
|
34
|
+
[`examples/svelte`](../../examples/svelte) rather than a generator:
|
|
35
35
|
|
|
36
36
|
- `metro.config.js` — point `babelTransformerPath` at
|
|
37
37
|
`@symbiote-native/svelte/metro-svelte-transformer` (compiles `.svelte` on the way into the
|
|
@@ -59,22 +59,20 @@ import { name as appName } from './app.json';
|
|
|
59
59
|
createApp(App).mount(appName);
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
The app is ordinary Svelte 5 —
|
|
63
|
-
|
|
62
|
+
The app is ordinary Svelte 5 — the native primitives are plain intrinsic tags, no import needed.
|
|
63
|
+
A tap→increment counter, using runes:
|
|
64
64
|
|
|
65
65
|
```svelte
|
|
66
66
|
<script lang="ts">
|
|
67
|
-
import { View, Text, Pressable } from '@symbiote-native/svelte';
|
|
68
|
-
|
|
69
67
|
let count = $state(0);
|
|
70
68
|
</script>
|
|
71
69
|
|
|
72
|
-
<
|
|
73
|
-
<
|
|
74
|
-
<
|
|
75
|
-
<
|
|
76
|
-
</
|
|
77
|
-
</
|
|
70
|
+
<view style={{ padding: 24 }}>
|
|
71
|
+
<text>Taps: {count}</text>
|
|
72
|
+
<pressable onPress={() => count++}>
|
|
73
|
+
<text>Tap me</text>
|
|
74
|
+
</pressable>
|
|
75
|
+
</view>
|
|
78
76
|
```
|
|
79
77
|
|
|
80
78
|
The full canary is [`examples/svelte`](../../examples/svelte) — a stock RN 0.86 app whose
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IActivityIndicatorProps as IActivityIndicatorBaseProps } from '@symbiote-native/components';
|
|
2
|
-
import type { ISvelteClassValue } from '
|
|
2
|
+
import type { ISvelteClassValue } from '../class-value';
|
|
3
3
|
export type IActivityIndicatorProps = IActivityIndicatorBaseProps & {
|
|
4
4
|
class?: ISvelteClassValue;
|
|
5
5
|
};
|
|
@@ -90,6 +90,10 @@
|
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
+
const rowKeyForRow = $derived(
|
|
94
|
+
(row: IRow<ItemT>): string => rowKeyExtractor(row, props.keyExtractor),
|
|
95
|
+
);
|
|
96
|
+
|
|
93
97
|
const rowOnViewableItemsChanged = $derived.by(() => {
|
|
94
98
|
const onChanged = props.onViewableItemsChanged;
|
|
95
99
|
if (onChanged === undefined) return undefined;
|
|
@@ -173,17 +177,17 @@
|
|
|
173
177
|
index: number;
|
|
174
178
|
separators: ISeparators;
|
|
175
179
|
})}
|
|
176
|
-
<
|
|
180
|
+
<view p={{ style: rowStyle }}>
|
|
177
181
|
{#each row.items as rowItem, column (props.keyExtractor ? props.keyExtractor(rowItem, row.startIndex + column) : String(row.startIndex + column))}
|
|
178
|
-
<
|
|
182
|
+
<view p={{ style: { flex: 1 } }}>
|
|
179
183
|
{@render props.item({
|
|
180
184
|
item: rowItem,
|
|
181
185
|
index: row.startIndex + column,
|
|
182
186
|
separators,
|
|
183
187
|
})}
|
|
184
|
-
</
|
|
188
|
+
</view>
|
|
185
189
|
{/each}
|
|
186
|
-
</
|
|
190
|
+
</view>
|
|
187
191
|
{/snippet}
|
|
188
192
|
|
|
189
193
|
{#snippet rowSeparator(entryProps: ISeparatorProps<IRow<ItemT>>)}
|
|
@@ -251,7 +255,7 @@
|
|
|
251
255
|
header={props.header}
|
|
252
256
|
footer={props.footer}
|
|
253
257
|
empty={props.empty}
|
|
254
|
-
keyExtractor={
|
|
258
|
+
keyExtractor={rowKeyForRow}
|
|
255
259
|
getItemLayout={props.getItemLayout}
|
|
256
260
|
horizontal={props.horizontal}
|
|
257
261
|
inverted={props.inverted}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
2
|
import type { IStyleProp, IViewStyle } from '@symbiote-native/engine';
|
|
3
3
|
import type { IImageProps } from '@symbiote-native/components';
|
|
4
|
-
import type { ISvelteClassValue } from '
|
|
4
|
+
import type { ISvelteClassValue } from '../class-value';
|
|
5
5
|
export interface IImageBackgroundProps extends Omit<IImageProps, 'style'> {
|
|
6
6
|
style?: IStyleProp<IViewStyle>;
|
|
7
7
|
imageStyle?: IStyleProp<IViewStyle> | string;
|
|
@@ -1,45 +1,27 @@
|
|
|
1
|
-
export { default as View } from './View.svelte';
|
|
2
|
-
export { default as Text } from './Text.svelte';
|
|
3
1
|
export type { IViewProps } from './view-props';
|
|
4
2
|
export type { ITextProps } from './text-props';
|
|
5
|
-
export {
|
|
6
|
-
export type {
|
|
7
|
-
export {
|
|
8
|
-
export type { IImageProps, IImageStatics } from './image';
|
|
9
|
-
export { default as ImageBackground } from './image-background/index.svelte';
|
|
10
|
-
export type { IImageBackgroundProps } from './image-background/image-background-props';
|
|
11
|
-
export { default as InputAccessoryView } from './input-accessory-view/index.svelte';
|
|
3
|
+
export type { IActivityIndicatorProps } from './activity-indicator-props';
|
|
4
|
+
export type { IImageProps } from './image/image-props';
|
|
5
|
+
export type { IImageBackgroundProps } from './image-background-props';
|
|
12
6
|
export type { IInputAccessoryViewProps } from './input-accessory-view/input-accessory-view-props';
|
|
13
7
|
export { default as KeyboardAvoidingView } from './keyboard-avoiding-view/index.svelte';
|
|
14
8
|
export type { IKeyboardAvoidingViewProps, IKeyboardAvoidingBehavior, } from './keyboard-avoiding-view/keyboard-avoiding-view-props';
|
|
15
|
-
export { default as Switch } from './switch/index.svelte';
|
|
16
9
|
export type { ISwitchProps } from './switch/switch-props';
|
|
17
|
-
export {
|
|
10
|
+
export type { ISwitchChangeEvent } from '@symbiote-native/components';
|
|
18
11
|
export type { ITextInputProps } from './text-input/text-input-props';
|
|
19
|
-
export type { ITextInputHandle } from '@symbiote-native/components';
|
|
12
|
+
export type { ITextInputHandle, ITextInputChangeEvent, } from '@symbiote-native/components';
|
|
20
13
|
export { default as Modal } from './modal/index.svelte';
|
|
21
14
|
export type { IModalProps } from './modal/modal-props';
|
|
22
|
-
export { default as SafeAreaView } from './SafeAreaView.svelte';
|
|
23
15
|
export type { ISafeAreaViewProps } from './safe-area-view-props';
|
|
24
|
-
export { default as RefreshControl } from './RefreshControl.svelte';
|
|
25
16
|
export type { IRefreshControlProps } from './refresh-control-props';
|
|
26
|
-
export { default as Pressable } from './pressable/index.svelte';
|
|
27
17
|
export type { IPressableProps } from './pressable/pressable-props';
|
|
28
|
-
export { default as TouchableOpacity } from './touchable-opacity/index.svelte';
|
|
29
18
|
export type { ITouchableOpacityProps } from './touchable-opacity/touchable-opacity-props';
|
|
30
|
-
export { default as TouchableHighlight } from './touchable-highlight/index.svelte';
|
|
31
19
|
export type { ITouchableHighlightProps } from './touchable-highlight/touchable-highlight-props';
|
|
32
|
-
export { default as TouchableWithoutFeedback } from './touchable-without-feedback/index.svelte';
|
|
33
20
|
export type { ITouchableWithoutFeedbackProps } from './touchable-without-feedback/touchable-without-feedback-props';
|
|
34
|
-
export {
|
|
35
|
-
export type { ITouchableNativeFeedbackProps } from './touchable-native-feedback';
|
|
36
|
-
export { default as Button } from './button.svelte';
|
|
21
|
+
export type { ITouchableNativeFeedbackProps } from './touchable-native-feedback/touchable-native-feedback-props';
|
|
37
22
|
export type { IButtonProps } from './button-props';
|
|
38
|
-
export { default as ScrollView } from './scroll-view/index.svelte';
|
|
39
23
|
export type { IScrollViewProps } from './scroll-view/scroll-view-props';
|
|
40
24
|
export type { IScrollViewHandle } from '@symbiote-native/components';
|
|
41
|
-
export { default as ScrollViewStickyHeader } from './scroll-view/sticky-header.svelte';
|
|
42
|
-
export type { IStickyHeaderComponentProps } from './scroll-view/sticky-header-props';
|
|
43
25
|
export { default as VirtualizedList } from './virtualized-list/index.svelte';
|
|
44
26
|
export type { IVirtualizedListProps, IVirtualizedListHandle, } from './virtualized-list/virtualized-list-props';
|
|
45
27
|
export { default as FlatList } from './flat-list/index.svelte';
|
|
@@ -1,23 +1,5 @@
|
|
|
1
|
-
export { default as View } from './View.svelte';
|
|
2
|
-
export { default as Text } from './Text.svelte';
|
|
3
|
-
export { default as ActivityIndicator } from './activity-indicator/index.svelte';
|
|
4
|
-
export { Image } from './image/index.js';
|
|
5
|
-
export { default as ImageBackground } from './image-background/index.svelte';
|
|
6
|
-
export { default as InputAccessoryView } from './input-accessory-view/index.svelte';
|
|
7
1
|
export { default as KeyboardAvoidingView } from './keyboard-avoiding-view/index.svelte';
|
|
8
|
-
export { default as Switch } from './switch/index.svelte';
|
|
9
|
-
export { default as TextInput } from './text-input/index.svelte';
|
|
10
2
|
export { default as Modal } from './modal/index.svelte';
|
|
11
|
-
export { default as SafeAreaView } from './SafeAreaView.svelte';
|
|
12
|
-
export { default as RefreshControl } from './RefreshControl.svelte';
|
|
13
|
-
export { default as Pressable } from './pressable/index.svelte';
|
|
14
|
-
export { default as TouchableOpacity } from './touchable-opacity/index.svelte';
|
|
15
|
-
export { default as TouchableHighlight } from './touchable-highlight/index.svelte';
|
|
16
|
-
export { default as TouchableWithoutFeedback } from './touchable-without-feedback/index.svelte';
|
|
17
|
-
export { TouchableNativeFeedback } from './touchable-native-feedback/index.js';
|
|
18
|
-
export { default as Button } from './button.svelte';
|
|
19
|
-
export { default as ScrollView } from './scroll-view/index.svelte';
|
|
20
|
-
export { default as ScrollViewStickyHeader } from './scroll-view/sticky-header.svelte';
|
|
21
3
|
export { default as VirtualizedList } from './virtualized-list/index.svelte';
|
|
22
4
|
export { default as FlatList } from './flat-list/index.svelte';
|
|
23
5
|
export { default as VirtualizedSectionList } from './virtualized-section-list/index.svelte';
|
|
@@ -30,7 +30,9 @@
|
|
|
30
30
|
import type { ShimElement } from '../../dom-shim';
|
|
31
31
|
import {
|
|
32
32
|
computeInset,
|
|
33
|
+
configureKeyboardAvoidingAnimation,
|
|
33
34
|
keyboardAvoidingEventNamesFor,
|
|
35
|
+
readKeyboardAnimationTiming,
|
|
34
36
|
readPrefersCrossFadeTransitions,
|
|
35
37
|
readKeyboardFrame,
|
|
36
38
|
readLayoutFrame,
|
|
@@ -68,11 +70,18 @@
|
|
|
68
70
|
// was built: Svelte compiles a destructured prop into a live getter, so a `behavior` changed
|
|
69
71
|
// after mount reaches the math on the next event, and 'height' mode feeds back the inset
|
|
70
72
|
// CURRENTLY applied (RN's this.state.bottom) to cancel the shrink its own wrapper caused.
|
|
73
|
+
const previousInset = inset;
|
|
71
74
|
const next = computeInset(frame, keyboard, keyboardVerticalOffset, {
|
|
72
75
|
behavior,
|
|
73
|
-
previousInset
|
|
76
|
+
previousInset,
|
|
74
77
|
prefersCrossFadeTransitions,
|
|
75
78
|
});
|
|
79
|
+
// RN's `_updateBottomIfNecessary` skips the animation when the inset did not change.
|
|
80
|
+
if (next !== previousInset)
|
|
81
|
+
configureKeyboardAvoidingAnimation(
|
|
82
|
+
readKeyboardAnimationTiming(payload),
|
|
83
|
+
enabled,
|
|
84
|
+
);
|
|
76
85
|
dlog(`KeyboardAvoidingView show -> inset ${next}`);
|
|
77
86
|
inset = next;
|
|
78
87
|
}
|
|
@@ -146,13 +155,13 @@
|
|
|
146
155
|
</script>
|
|
147
156
|
|
|
148
157
|
{#if layout.kind === 'nested'}
|
|
149
|
-
<
|
|
150
|
-
<
|
|
158
|
+
<view p={wrapperBag} bind:this={hostShim}>
|
|
159
|
+
<view p={innerBag}>
|
|
151
160
|
{@render children?.()}
|
|
152
|
-
</
|
|
153
|
-
</
|
|
161
|
+
</view>
|
|
162
|
+
</view>
|
|
154
163
|
{:else}
|
|
155
|
-
<
|
|
164
|
+
<view p={wrapperBag} bind:this={hostShim}>
|
|
156
165
|
{@render children?.()}
|
|
157
|
-
</
|
|
166
|
+
</view>
|
|
158
167
|
{/if}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// after the DOM update, the same "one keep-alive frame survives" timing as React's
|
|
11
11
|
// useEffect / Vue's flush:'post' watch)
|
|
12
12
|
// - the descriptor bridge: renderModal() always paints the SAME fixed shape (one
|
|
13
|
-
//
|
|
13
|
+
// modal host wrapping one view container — only prop VALUES vary,
|
|
14
14
|
// never structure, per svelte-adapter-dom-shim skill §15), so rather than building a
|
|
15
15
|
// generic Descriptor->Svelte walker (there is none, and none is needed) this hand-authors
|
|
16
16
|
// the two literal host tags and reads renderModal()'s computed props off the fixed
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
if (!shouldRender) dlog('Modal hidden -> no node committed');
|
|
64
64
|
});
|
|
65
65
|
|
|
66
|
-
// Owns its host element (
|
|
66
|
+
// Owns its host element (modal), so it folds aria/role via `resolved` above; the
|
|
67
67
|
// resolved fields ride the host node via `...passthrough` — includes onShow/onDismiss/
|
|
68
68
|
// onRequestClose/onOrientationChange (real ViewConfig DirectEvents) and every accessibility*
|
|
69
69
|
// field, untouched, exactly like React's `...passthrough`.
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
passthrough,
|
|
101
101
|
});
|
|
102
102
|
|
|
103
|
-
// root =
|
|
103
|
+
// root = modal > [container]; the children snippet nests UNDER the container View,
|
|
104
104
|
// never as a direct sibling of the host (RN's modal content layout) — see render-modal.ts.
|
|
105
105
|
const [container] = descriptor.children;
|
|
106
106
|
const containerProps = typeof container === 'string' ? {} : container.props;
|
|
@@ -121,9 +121,9 @@
|
|
|
121
121
|
</script>
|
|
122
122
|
|
|
123
123
|
{#if shouldRender}
|
|
124
|
-
<
|
|
125
|
-
<
|
|
124
|
+
<modal p={root.hostBag} bind:this={hostShim}>
|
|
125
|
+
<view p={root.containerBag}>
|
|
126
126
|
{@render rawProps.children?.()}
|
|
127
|
-
</
|
|
128
|
-
</
|
|
127
|
+
</view>
|
|
128
|
+
</modal>
|
|
129
129
|
{/if}
|
|
@@ -11,8 +11,11 @@ export interface IPressableProps extends IAccessibilityProps, IAriaProps {
|
|
|
11
11
|
onLongPress?: IPressHandler;
|
|
12
12
|
delayLongPress?: number;
|
|
13
13
|
disabled?: boolean;
|
|
14
|
+
focusable?: boolean;
|
|
14
15
|
cancelable?: boolean;
|
|
16
|
+
blockNativeResponder?: boolean;
|
|
15
17
|
hitSlop?: IRectOffset;
|
|
18
|
+
testOnly_pressed?: boolean;
|
|
16
19
|
pressRetentionOffset?: IRectOffset;
|
|
17
20
|
unstable_pressDelay?: number;
|
|
18
21
|
android_ripple?: IPressableAndroidRippleConfig;
|
|
@@ -4,6 +4,7 @@ import type { IAccessibilityProps, IAriaProps } from '@symbiote-native/component
|
|
|
4
4
|
import type { ISvelteClassValue } from '../class-value';
|
|
5
5
|
export interface IRefreshControlProps extends IAccessibilityProps, IAriaProps {
|
|
6
6
|
refreshing: boolean;
|
|
7
|
+
id?: string;
|
|
7
8
|
onRefresh?: () => void | Promise<void>;
|
|
8
9
|
tintColor?: string;
|
|
9
10
|
title?: string;
|
|
@@ -14,6 +14,7 @@ export interface ITextProps extends IAccessibilityProps, IAriaProps {
|
|
|
14
14
|
numberOfLines?: number;
|
|
15
15
|
ellipsizeMode?: 'head' | 'middle' | 'tail' | 'clip';
|
|
16
16
|
selectable?: boolean;
|
|
17
|
+
disabled?: boolean;
|
|
17
18
|
adjustsFontSizeToFit?: boolean;
|
|
18
19
|
minimumFontScale?: number;
|
|
19
20
|
allowFontScaling?: boolean;
|
|
@@ -2,6 +2,8 @@ import type { ITouchableBaseProps } from '../touchable-base-props';
|
|
|
2
2
|
export interface ITouchableHighlightProps extends ITouchableBaseProps {
|
|
3
3
|
activeOpacity?: number;
|
|
4
4
|
underlayColor?: string;
|
|
5
|
+
touchSoundDisabled?: boolean;
|
|
6
|
+
testOnly_pressed?: boolean;
|
|
5
7
|
onShowUnderlay?: () => void;
|
|
6
8
|
onHideUnderlay?: () => void;
|
|
7
9
|
}
|