@symbiote-native/clipboard 3.0.1 → 3.0.3

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 (61) hide show
  1. package/README.md +62 -28
  2. package/build/angular/clipboard-paste-button/index.d.ts +15 -0
  3. package/build/angular/clipboard-paste-button/index.js +119 -0
  4. package/build/core/clipboard-paste-button.d.ts +29 -0
  5. package/build/core/clipboard-paste-button.js +50 -0
  6. package/build/core/clipboard.d.ts +2 -0
  7. package/build/core/clipboard.js +6 -1
  8. package/build/core/index.d.ts +3 -2
  9. package/build/core/index.js +2 -1
  10. package/build/core/native-module.d.ts +1 -0
  11. package/build/core/types.d.ts +11 -0
  12. package/build/core/types.js +1 -4
  13. package/build/react/clipboard-paste-button.d.ts +4 -0
  14. package/build/react/clipboard-paste-button.js +7 -0
  15. package/build/react/index.d.ts +1 -0
  16. package/build/react/index.js +1 -0
  17. package/build/solid/clipboard-paste-button.d.ts +3 -0
  18. package/build/solid/clipboard-paste-button.js +10 -0
  19. package/build/solid/index.d.ts +1 -0
  20. package/build/solid/index.js +1 -0
  21. package/build/svelte/clipboard-paste-button.svelte +17 -0
  22. package/build/svelte/clipboard-paste-button.svelte.d.ts +4 -0
  23. package/build/svelte/index.d.ts +1 -0
  24. package/build/svelte/index.js +1 -0
  25. package/build/vue/clipboard-paste-button.d.ts +3 -0
  26. package/build/vue/clipboard-paste-button.js +15 -0
  27. package/build/vue/index.d.ts +1 -0
  28. package/build/vue/index.js +1 -0
  29. package/build-ngc/angular/clipboard-paste-button/index.d.ts +18 -0
  30. package/build-ngc/angular/clipboard-paste-button/index.js +58 -0
  31. package/build-ngc/angular/clipboard-paste-button/index.js.map +1 -0
  32. package/build-ngc/core/clipboard-paste-button.d.ts +29 -0
  33. package/build-ngc/core/clipboard-paste-button.js +51 -0
  34. package/build-ngc/core/clipboard-paste-button.js.map +1 -0
  35. package/build-ngc/core/clipboard.d.ts +2 -0
  36. package/build-ngc/core/clipboard.js +6 -1
  37. package/build-ngc/core/clipboard.js.map +1 -1
  38. package/build-ngc/core/index.d.ts +3 -2
  39. package/build-ngc/core/index.js +2 -1
  40. package/build-ngc/core/index.js.map +1 -1
  41. package/build-ngc/core/native-module.d.ts +1 -0
  42. package/build-ngc/core/native-module.js.map +1 -1
  43. package/build-ngc/core/types.d.ts +11 -0
  44. package/build-ngc/core/types.js +1 -4
  45. package/build-ngc/core/types.js.map +1 -1
  46. package/package.json +17 -19
  47. package/src/angular/clipboard-paste-button/index.ts +40 -0
  48. package/src/core/clipboard-paste-button.ts +113 -0
  49. package/src/core/clipboard.ts +7 -1
  50. package/src/core/index.ts +14 -0
  51. package/src/core/native-module.ts +2 -0
  52. package/src/core/types.ts +19 -4
  53. package/src/react/clipboard-paste-button.ts +12 -0
  54. package/src/react/index.ts +1 -0
  55. package/src/solid/clipboard-paste-button.ts +15 -0
  56. package/src/solid/index.ts +1 -0
  57. package/src/svelte/clipboard-paste-button.svelte +17 -0
  58. package/src/svelte/index.ts +1 -0
  59. package/src/svelte/svelte-compile.test-helper.ts +6 -0
  60. package/src/vue/clipboard-paste-button.ts +16 -0
  61. package/src/vue/index.ts +1 -0
@@ -6,4 +6,5 @@
6
6
  // existing thing) — see adapters/solid/src/primitives for the same convention.
7
7
 
8
8
  export { createClipboard } from './primitives/create-clipboard';
9
+ export { ClipboardPasteButton } from './clipboard-paste-button';
9
10
  export * from '../core';
@@ -0,0 +1,17 @@
1
+ <script lang="ts">
2
+ // The native view name is mixed-case, which a literal tag would parse as a component reference,
3
+ // so the tag is dynamic
4
+ import { hostProps } from '@symbiote-native/svelte/native-view-bridge';
5
+ import { renderClipboardPasteButton } from '../core/clipboard-paste-button';
6
+ import type { IClipboardPasteButtonProps } from '../core/clipboard-paste-button';
7
+
8
+ const props: IClipboardPasteButtonProps = $props();
9
+ const descriptor = $derived(renderClipboardPasteButton({ ...props }));
10
+ </script>
11
+
12
+ {#if descriptor}
13
+ <svelte:element
14
+ this={descriptor.type}
15
+ {@attach hostProps(descriptor.props)}
16
+ />
17
+ {/if}
@@ -5,4 +5,5 @@
5
5
  // adapters/svelte/src/runes (never `hooks/`/`composables/`, those are React's and Vue's terms).
6
6
 
7
7
  export { useClipboard } from './runes/use-clipboard.svelte';
8
+ export { default as ClipboardPasteButton } from './clipboard-paste-button.svelte';
8
9
  export * from '../core';
@@ -0,0 +1,6 @@
1
+ // Re-exports the existing harness instead of another copy
2
+ export {
3
+ createSvelteHarness,
4
+ loadComponent,
5
+ type ISvelteHarness,
6
+ } from '../../../sqlite/src/svelte/svelte-compile.test-helper';
@@ -0,0 +1,16 @@
1
+ import { defineComponent, type VNode } from '@vue/runtime-core';
2
+ import { descriptorToVue, normalizeVueAttrs } from '@symbiote-native/vue';
3
+ import { renderClipboardPasteButton } from '../core/clipboard-paste-button';
4
+
5
+ /** Vue twin of `expo-clipboard`'s `ClipboardPasteButton` (`UIPasteControl`), iOS only */
6
+ export const ClipboardPasteButton = defineComponent({
7
+ name: 'ClipboardPasteButton',
8
+ // Every attribute is a native view prop, so none falls through onto a wrapper element
9
+ inheritAttrs: false,
10
+ setup(_props, { attrs }) {
11
+ return (): VNode | null => {
12
+ const descriptor = renderClipboardPasteButton(normalizeVueAttrs(attrs));
13
+ return descriptor ? descriptorToVue(descriptor) : null;
14
+ };
15
+ },
16
+ });
package/src/vue/index.ts CHANGED
@@ -6,4 +6,5 @@
6
6
  // shape of @symbiote-native/sensors' useAccelerometer composable.
7
7
 
8
8
  export { useClipboard } from './composables/use-clipboard';
9
+ export { ClipboardPasteButton } from './clipboard-paste-button';
9
10
  export * from '../core';