@symbiote-native/symbols 0.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/LICENSE +21 -0
- package/README.md +52 -0
- package/build/angular/index.d.ts +2 -0
- package/build/angular/index.js +3 -0
- package/build/angular/symbol-view.d.ts +22 -0
- package/build/angular/symbol-view.js +147 -0
- package/build/core/android/index.d.ts +11 -0
- package/build/core/android/index.js +10 -0
- package/build/core/android/symbols.json +4057 -0
- package/build/core/android/weights/bold/index.d.ts +3 -0
- package/build/core/android/weights/bold/index.js +6 -0
- package/build/core/android/weights/extraLight/index.d.ts +3 -0
- package/build/core/android/weights/extraLight/index.js +6 -0
- package/build/core/android/weights/light/index.d.ts +3 -0
- package/build/core/android/weights/light/index.js +6 -0
- package/build/core/android/weights/medium/index.d.ts +3 -0
- package/build/core/android/weights/medium/index.js +6 -0
- package/build/core/android/weights/regular/index.d.ts +3 -0
- package/build/core/android/weights/regular/index.js +6 -0
- package/build/core/android/weights/semiBold/index.d.ts +3 -0
- package/build/core/android/weights/semiBold/index.js +6 -0
- package/build/core/android/weights/thin/index.d.ts +3 -0
- package/build/core/android/weights/thin/index.js +6 -0
- package/build/core/index.d.ts +5 -0
- package/build/core/index.js +2 -0
- package/build/core/symbol-types.d.ts +95 -0
- package/build/core/symbol-types.js +1 -0
- package/build/core/symbols.d.ts +29 -0
- package/build/core/symbols.js +153 -0
- package/build/react/index.d.ts +3 -0
- package/build/react/index.js +3 -0
- package/build/react/symbol-view.d.ts +10 -0
- package/build/react/symbol-view.js +14 -0
- package/build/solid/index.d.ts +3 -0
- package/build/solid/index.js +3 -0
- package/build/solid/symbol-view.d.ts +11 -0
- package/build/solid/symbol-view.js +28 -0
- package/build/svelte/index.d.ts +3 -0
- package/build/svelte/index.js +3 -0
- package/build/svelte/symbol-props.d.ts +7 -0
- package/build/svelte/symbol-props.js +1 -0
- package/build/svelte/symbol-view.svelte +26 -0
- package/build/svelte/symbol-view.svelte.d.ts +4 -0
- package/build/vue/index.d.ts +3 -0
- package/build/vue/index.js +3 -0
- package/build/vue/symbol-view.d.ts +6 -0
- package/build/vue/symbol-view.js +26 -0
- package/build-ngc/angular/index.d.ts +2 -0
- package/build-ngc/angular/index.js +4 -0
- package/build-ngc/angular/index.js.map +1 -0
- package/build-ngc/angular/symbol-view.d.ts +25 -0
- package/build-ngc/angular/symbol-view.js +82 -0
- package/build-ngc/angular/symbol-view.js.map +1 -0
- package/build-ngc/core/android/index.d.ts +11 -0
- package/build-ngc/core/android/index.js +11 -0
- package/build-ngc/core/android/index.js.map +1 -0
- package/build-ngc/core/android/symbols.json +4057 -0
- package/build-ngc/core/android/weights/bold/index.d.ts +3 -0
- package/build-ngc/core/android/weights/bold/index.js +7 -0
- package/build-ngc/core/android/weights/bold/index.js.map +1 -0
- package/build-ngc/core/android/weights/extraLight/index.d.ts +3 -0
- package/build-ngc/core/android/weights/extraLight/index.js +7 -0
- package/build-ngc/core/android/weights/extraLight/index.js.map +1 -0
- package/build-ngc/core/android/weights/light/index.d.ts +3 -0
- package/build-ngc/core/android/weights/light/index.js +7 -0
- package/build-ngc/core/android/weights/light/index.js.map +1 -0
- package/build-ngc/core/android/weights/medium/index.d.ts +3 -0
- package/build-ngc/core/android/weights/medium/index.js +7 -0
- package/build-ngc/core/android/weights/medium/index.js.map +1 -0
- package/build-ngc/core/android/weights/regular/index.d.ts +3 -0
- package/build-ngc/core/android/weights/regular/index.js +7 -0
- package/build-ngc/core/android/weights/regular/index.js.map +1 -0
- package/build-ngc/core/android/weights/semiBold/index.d.ts +3 -0
- package/build-ngc/core/android/weights/semiBold/index.js +7 -0
- package/build-ngc/core/android/weights/semiBold/index.js.map +1 -0
- package/build-ngc/core/android/weights/thin/index.d.ts +3 -0
- package/build-ngc/core/android/weights/thin/index.js +7 -0
- package/build-ngc/core/android/weights/thin/index.js.map +1 -0
- package/build-ngc/core/index.d.ts +5 -0
- package/build-ngc/core/index.js +3 -0
- package/build-ngc/core/index.js.map +1 -0
- package/build-ngc/core/symbol-types.d.ts +95 -0
- package/build-ngc/core/symbol-types.js +2 -0
- package/build-ngc/core/symbol-types.js.map +1 -0
- package/build-ngc/core/symbols.d.ts +29 -0
- package/build-ngc/core/symbols.js +154 -0
- package/build-ngc/core/symbols.js.map +1 -0
- package/native-link.json +5 -0
- package/package.json +155 -0
- package/src/angular/index.ts +18 -0
- package/src/angular/symbol-view.ts +71 -0
- package/src/core/android/index.ts +15 -0
- package/src/core/android/symbols.json +4057 -0
- package/src/core/android/weights/bold/index.ts +8 -0
- package/src/core/android/weights/extraLight/index.ts +8 -0
- package/src/core/android/weights/light/index.ts +8 -0
- package/src/core/android/weights/medium/index.ts +8 -0
- package/src/core/android/weights/regular/index.ts +8 -0
- package/src/core/android/weights/semiBold/index.ts +8 -0
- package/src/core/android/weights/thin/index.ts +8 -0
- package/src/core/index.ts +25 -0
- package/src/core/symbol-types.ts +147 -0
- package/src/core/symbols.ts +192 -0
- package/src/react/index.ts +18 -0
- package/src/react/symbol-view.ts +33 -0
- package/src/solid/index.ts +18 -0
- package/src/solid/symbol-view.ts +53 -0
- package/src/svelte/index.ts +18 -0
- package/src/svelte/svelte-ambient.d.ts +6 -0
- package/src/svelte/svelte-compile.test-helper.ts +6 -0
- package/src/svelte/symbol-props.ts +10 -0
- package/src/svelte/symbol-view.svelte +26 -0
- package/src/vue/index.ts +18 -0
- package/src/vue/symbol-view.ts +45 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Fragment,
|
|
3
|
+
defineComponent,
|
|
4
|
+
h,
|
|
5
|
+
onBeforeUnmount,
|
|
6
|
+
onMounted,
|
|
7
|
+
ref,
|
|
8
|
+
type VNode,
|
|
9
|
+
} from '@vue/runtime-core';
|
|
10
|
+
import { descriptorToVue, normalizeVueAttrs } from '@symbiote-native/vue';
|
|
11
|
+
import type { IViewProps } from '@symbiote-native/vue';
|
|
12
|
+
import { renderSymbolView, watchSymbolFont } from '../core';
|
|
13
|
+
import type { ISymbolViewProps } from '../core';
|
|
14
|
+
|
|
15
|
+
// Поверхность View как у `ViewProps` в upstream, запасной вариант идёт слотом `fallback`
|
|
16
|
+
export type ISymbolViewVueProps = ISymbolViewProps &
|
|
17
|
+
Omit<IViewProps, keyof ISymbolViewProps>;
|
|
18
|
+
|
|
19
|
+
/** Vue twin of `expo-symbols`' `SymbolView`, the `fallback` slot paints without a symbol */
|
|
20
|
+
export const SymbolView = defineComponent({
|
|
21
|
+
name: 'SymbolView',
|
|
22
|
+
// Все атрибуты это пропсы нативного view, на обёртку ничего не должно просочиться
|
|
23
|
+
inheritAttrs: false,
|
|
24
|
+
setup(_props, { attrs, slots }) {
|
|
25
|
+
const isFontLoaded = ref(false);
|
|
26
|
+
let cancelWatch = (): void => {};
|
|
27
|
+
// Шрифт грузится один раз при монтировании, как в upstream
|
|
28
|
+
onMounted(() => {
|
|
29
|
+
cancelWatch = watchSymbolFont(normalizeVueAttrs(attrs), isLoaded => {
|
|
30
|
+
isFontLoaded.value = isLoaded;
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
onBeforeUnmount(() => cancelWatch());
|
|
34
|
+
|
|
35
|
+
return (): VNode => {
|
|
36
|
+
const descriptor = renderSymbolView(
|
|
37
|
+
normalizeVueAttrs(attrs),
|
|
38
|
+
isFontLoaded.value,
|
|
39
|
+
);
|
|
40
|
+
return descriptor
|
|
41
|
+
? descriptorToVue(descriptor)
|
|
42
|
+
: h(Fragment, slots.fallback?.() ?? []);
|
|
43
|
+
};
|
|
44
|
+
},
|
|
45
|
+
});
|