@flipdish/ui-library 0.12.4 → 0.13.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.
Files changed (105) hide show
  1. package/README.md +108 -6
  2. package/dist/native/components/atoms/AppStoreButton/index.d.ts +12 -0
  3. package/dist/native/components/atoms/Avatar/Avatar.styles.d.ts +39 -0
  4. package/dist/native/components/atoms/Avatar/Avatar.styles.d.ts.map +1 -0
  5. package/dist/native/components/atoms/Avatar/Avatar.styles.js +11 -0
  6. package/dist/native/components/atoms/Avatar/Avatar.styles.js.map +1 -0
  7. package/dist/native/components/atoms/Avatar/index.d.ts +19 -0
  8. package/dist/native/components/atoms/Avatar/index.d.ts.map +1 -0
  9. package/dist/native/components/atoms/Avatar/index.js +18 -0
  10. package/dist/native/components/atoms/Avatar/index.js.map +1 -0
  11. package/dist/native/components/atoms/BackgroundPattern/index.d.ts +12 -0
  12. package/dist/native/components/atoms/Badge/index.d.ts +12 -0
  13. package/dist/native/components/atoms/Button/index.d.ts +12 -0
  14. package/dist/native/components/atoms/Checkbox/index.d.ts +12 -0
  15. package/dist/native/components/atoms/CloseButton/index.d.ts +12 -0
  16. package/dist/native/components/atoms/Divider/index.d.ts +12 -0
  17. package/dist/native/components/atoms/Dot/index.d.ts +12 -0
  18. package/dist/native/components/atoms/FeaturedIcon/index.d.ts +12 -0
  19. package/dist/native/components/atoms/FileTrigger/index.d.ts +12 -0
  20. package/dist/native/components/atoms/FlipdishLogo/index.d.ts +12 -0
  21. package/dist/native/components/atoms/Illustration/index.d.ts +12 -0
  22. package/dist/native/components/atoms/Input/index.d.ts +12 -0
  23. package/dist/native/components/atoms/LoadingIndicator/index.d.ts +12 -0
  24. package/dist/native/components/atoms/ProgressBar/index.d.ts +12 -0
  25. package/dist/native/components/atoms/QRCode/index.d.ts +12 -0
  26. package/dist/native/components/atoms/RadioButton/index.d.ts +12 -0
  27. package/dist/native/components/atoms/RatingBadge/index.d.ts +12 -0
  28. package/dist/native/components/atoms/RatingStars/index.d.ts +12 -0
  29. package/dist/native/components/atoms/Skeleton/index.d.ts +12 -0
  30. package/dist/native/components/atoms/Slider/index.d.ts +12 -0
  31. package/dist/native/components/atoms/SocialButton/index.d.ts +12 -0
  32. package/dist/native/components/atoms/Toggle/index.d.ts +12 -0
  33. package/dist/native/components/atoms/Tooltip/index.d.ts +12 -0
  34. package/dist/native/components/atoms/UtilityButton/index.d.ts +12 -0
  35. package/dist/native/components/molecules/Alert/index.d.ts +12 -0
  36. package/dist/native/components/molecules/BadgeGroup/index.d.ts +12 -0
  37. package/dist/native/components/molecules/Breadcrumbs/index.d.ts +12 -0
  38. package/dist/native/components/molecules/ButtonGroup/index.d.ts +12 -0
  39. package/dist/native/components/molecules/Carousel/index.d.ts +12 -0
  40. package/dist/native/components/molecules/CodeSnippet/index.d.ts +12 -0
  41. package/dist/native/components/molecules/ContentDivider/index.d.ts +12 -0
  42. package/dist/native/components/molecules/CreditCard/index.d.ts +12 -0
  43. package/dist/native/components/molecules/Dropdown/index.d.ts +12 -0
  44. package/dist/native/components/molecules/EmptyState/index.d.ts +12 -0
  45. package/dist/native/components/molecules/Modal/index.d.ts +12 -0
  46. package/dist/native/components/molecules/Notification/index.d.ts +12 -0
  47. package/dist/native/components/molecules/Pagination/index.d.ts +12 -0
  48. package/dist/native/components/molecules/ProgressSteps/index.d.ts +12 -0
  49. package/dist/native/components/molecules/RadioGroup/index.d.ts +12 -0
  50. package/dist/native/components/molecules/SectionFooter/index.d.ts +12 -0
  51. package/dist/native/components/molecules/SectionHeader/index.d.ts +12 -0
  52. package/dist/native/components/molecules/Select/index.d.ts +12 -0
  53. package/dist/native/components/molecules/Tabs/index.d.ts +12 -0
  54. package/dist/native/components/molecules/Tags/index.d.ts +12 -0
  55. package/dist/native/components/molecules/TextArea/index.d.ts +12 -0
  56. package/dist/native/components/molecules/VerificationCodeInput/index.d.ts +12 -0
  57. package/dist/native/components/organisms/ActivityFeed/index.d.ts +12 -0
  58. package/dist/native/components/organisms/Calendar/index.d.ts +12 -0
  59. package/dist/native/components/organisms/Charts/index.d.ts +12 -0
  60. package/dist/native/components/organisms/ColorPicker/index.d.ts +12 -0
  61. package/dist/native/components/organisms/CommandMenu/index.d.ts +12 -0
  62. package/dist/native/components/organisms/DatePicker/index.d.ts +12 -0
  63. package/dist/native/components/organisms/FileUpload/index.d.ts +12 -0
  64. package/dist/native/components/organisms/FilterBar/index.d.ts +12 -0
  65. package/dist/native/components/organisms/GradientPicker/index.d.ts +12 -0
  66. package/dist/native/components/organisms/HeaderNavigation/index.d.ts +12 -0
  67. package/dist/native/components/organisms/ImagePicker/index.d.ts +12 -0
  68. package/dist/native/components/organisms/Messaging/index.d.ts +12 -0
  69. package/dist/native/components/organisms/PageHeader/index.d.ts +12 -0
  70. package/dist/native/components/organisms/SidebarNavigation/index.d.ts +12 -0
  71. package/dist/native/components/organisms/SlideoutMenu/index.d.ts +12 -0
  72. package/dist/native/components/organisms/Table/index.d.ts +12 -0
  73. package/dist/native/components/organisms/TextEditor/index.d.ts +12 -0
  74. package/dist/native/components/organisms/TreeView/index.d.ts +12 -0
  75. package/dist/native/components/organisms/VideoPlayer/index.d.ts +12 -0
  76. package/dist/native/components/templates/NotFoundPage/index.d.ts +12 -0
  77. package/dist/native/components/templates/PageLayout/index.d.ts +12 -0
  78. package/dist/native/hooks/useAriaDisclosureAttrs/index.d.ts +12 -0
  79. package/dist/native/hooks/useBreakpoints/index.d.ts +12 -0
  80. package/dist/native/hooks/useClipboard/index.d.ts +12 -0
  81. package/dist/native/hooks/useResizeObserver/index.d.ts +12 -0
  82. package/dist/native/providers/ErrorBoundary/index.d.ts +12 -0
  83. package/dist/native/providers/PortalContainer/index.d.ts +12 -0
  84. package/dist/native/providers/RouteProvider/index.d.ts +12 -0
  85. package/dist/native/providers/ThemeProvider/index.d.ts +12 -0
  86. package/dist/native/providers/UIProvider/index.d.ts +12 -0
  87. package/dist/native/utilities/cssScopeUtils/index.d.ts +12 -0
  88. package/dist/native/utilities/cx/index.d.ts +22 -0
  89. package/dist/native/utilities/cx/index.d.ts.map +1 -0
  90. package/dist/native/utilities/cx/index.js +38 -0
  91. package/dist/native/utilities/cx/index.js.map +1 -0
  92. package/dist/native/utilities/isReactComponent/index.d.ts +24 -0
  93. package/dist/native/utilities/isReactComponent/index.d.ts.map +1 -0
  94. package/dist/native/utilities/isReactComponent/index.js +35 -0
  95. package/dist/native/utilities/isReactComponent/index.js.map +1 -0
  96. package/dist/native/utilities/localStorageUtils/index.d.ts +12 -0
  97. package/dist/native/utilities/renderUtils/index.d.ts +12 -0
  98. package/dist/native/utilities/sessionStorageUtils/index.d.ts +12 -0
  99. package/dist/native/utilities/testIdUtils/index.d.ts +57 -0
  100. package/dist/native/utilities/testIdUtils/index.d.ts.map +1 -0
  101. package/dist/native/utilities/testIdUtils/index.js +58 -0
  102. package/dist/native/utilities/testIdUtils/index.js.map +1 -0
  103. package/dist/styles.css +10 -0
  104. package/dist/styles.native.css +41 -0
  105. package/package.json +50 -5
package/README.md CHANGED
@@ -41,12 +41,23 @@ For the full setup walkthrough (Vite config, CSS entry, providers, first compone
41
41
 
42
42
  **React Native:**
43
43
 
44
- | Package | Version |
45
- | --------------------------------- | ---------- |
46
- | `react-native` | `>=0.79.0` |
47
- | `nativewind` | `^4.1.0` |
48
- | `@react-native-aria/interactions` | `>=0.2.7` |
49
- | `@react-native-aria/focus` | `>=0.2.7` |
44
+ | Package | Version |
45
+ | --------------------------------- | ------------------ |
46
+ | `react-native` | `>=0.81.0` |
47
+ | `nativewind` | `^5.0.0-preview.4` |
48
+ | `react-native-css` | `^3.0.7` |
49
+ | `lightningcss` | `>=1.27.0 <1.30.2` |
50
+ | `@expo/metro-config` | `>=54.0.0` |
51
+ | `@react-native-aria/interactions` | `>=0.2.7` |
52
+ | `@react-native-aria/focus` | `>=0.2.7` |
53
+
54
+ > **`lightningcss` must be pinned to `1.30.1`.** NativeWind v5 + `react-native-css` can hit a `failed to deserialize` error on versions `>=1.30.2` (see the [NativeWind installation guide](https://www.nativewind.dev/v5/getting-started/installation)). This only affects _your_ app's install — a library's own version pin can't propagate to consumers — so add this to your app's `package.json`:
55
+ >
56
+ > ```json
57
+ > { "overrides": { "lightningcss": "1.30.1" } }
58
+ > ```
59
+ >
60
+ > (`pnpm` projects: nest this under a top-level `"pnpm"` key instead — `{ "pnpm": { "overrides": { "lightningcss": "1.30.1" } } }`.)
50
61
 
51
62
  ### Component-specific peer dependencies
52
63
 
@@ -77,6 +88,97 @@ Import the library's shared runtime from your CSS entry **in this exact layer or
77
88
  @import "tailwindcss/utilities.css" layer(utilities);
78
89
  ```
79
90
 
91
+ ## React Native
92
+
93
+ Components are **web-first and opt in per component**. A component is available on React
94
+ Native only once it has a `.native.tsx` implementation; the rest are web-only and are
95
+ deliberately not resolvable from an RN app.
96
+
97
+ For the full Expo walkthrough (Metro config, NativeWind CSS entry, TypeScript, first
98
+ component), see [Getting Started → Installation (React
99
+ Native)](https://flipdishbytes.github.io/flipdish-design-system/?path=/docs/getting-started-installation-react-native--docs).
100
+ The summary below covers the essentials.
101
+
102
+ **Available on React Native today:** `Avatar`, plus the `cx`, `testIdUtils` and
103
+ `isReactComponent` utilities.
104
+
105
+ Import paths are identical across platforms — Metro picks the native build via the
106
+ `react-native` [export condition](https://metrobundler.dev/docs/package-exports):
107
+
108
+ ```tsx
109
+ // Resolves to the web build under Vite/webpack, the native build under Metro.
110
+ import { Avatar } from "@flipdish/ui-library/components/atoms/Avatar";
111
+ ```
112
+
113
+ > `react-native >= 0.81` is load-bearing, not just a version floor. Every public subpath of
114
+ > this package is exposed through a wildcard `exports` map, and Metro only consults
115
+ > `exports` with Package Exports enabled — the default from Metro 0.82 / RN 0.79 onward. On
116
+ > anything older, no subpath of this package resolves at all.
117
+
118
+ ### Tailwind setup (NativeWind)
119
+
120
+ Use the **`styles.native`** entry, not `styles`. The web runtime declares Tailwind plugins,
121
+ `::-webkit-scrollbar` utilities and `html`/`input` resets that don't apply under NativeWind,
122
+ and its `@source` scans the web build output for classes.
123
+
124
+ In your app's `global.css` — the file you import from your root component and point
125
+ [`withNativewind`](https://www.nativewind.dev/v5/api/with-nativewind) at in `metro.config.js`:
126
+
127
+ ```css
128
+ @import "tailwindcss/theme.css" layer(theme);
129
+ @import "@flipdish/ui-tokens/css" layer(theme);
130
+ @import "tailwindcss/preflight.css" layer(base);
131
+
132
+ /* NativeWind's own theme variables — required by its Metro transformer. */
133
+ @import "nativewind/theme";
134
+
135
+ @import "@flipdish/ui-library/styles.native";
136
+ @import "tailwindcss/utilities.css";
137
+ ```
138
+
139
+ `styles.native` contributes exactly one thing: `@source "./native"`, which tells Tailwind to
140
+ scan this package's React Native build output so the class strings inside `Avatar` (and every
141
+ component that follows) generate utilities. Without it those components render unstyled —
142
+ Tailwind ignores `node_modules` unless a source is declared explicitly.
143
+
144
+ Dark mode follows the device colour scheme via NativeWind's `useColorScheme`. (The web
145
+ runtime instead remaps `dark:` onto `[data-theme="dark"]`, which has no RN equivalent.)
146
+
147
+ > The `@source` mechanism mirrors what `./styles` already does on web, where it's proven in
148
+ > production. The exact **import order above** is modelled on NativeWind v5's documented
149
+ > install and has not yet been executed against a real Expo app — confirm it during the
150
+ > pre-publish verification described below.
151
+
152
+ ### TypeScript setup
153
+
154
+ Add the `react-native` condition to your app's `tsconfig.json` so TypeScript resolves the
155
+ same files Metro does:
156
+
157
+ ```jsonc
158
+ {
159
+ "compilerOptions": {
160
+ "moduleResolution": "bundler", // or "node16" / "nodenext"
161
+ "customConditions": ["react-native"],
162
+ },
163
+ }
164
+ ```
165
+
166
+ Without it you get the **web** type definitions — `Avatar` would appear to accept `src`,
167
+ `initials` and `badge`, none of which the native implementation supports.
168
+
169
+ ### Importing a component that isn't available yet
170
+
171
+ Both TypeScript and Metro reject it, so the mistake can't reach a device:
172
+
173
+ ```text
174
+ error TS2305: Module '"@flipdish/ui-library/components/atoms/Button"'
175
+ has no exported member 'Button'.
176
+ ```
177
+
178
+ ```text
179
+ Unable to resolve module .../dist/native/components/atoms/Button/index.js
180
+ ```
181
+
80
182
  ## Scoping Tailwind CSS to a subtree
81
183
 
82
184
  When your app doesn't own the whole page — a widget, an embed, a Storybook preview, a multi-tenant host, or a micro-frontend — its Tailwind v4 output (utilities **and** Preflight resets) can leak into or clash with the surrounding CSS. The fix is to scope every emitted selector under a single mount element.
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `AppStoreButton` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/AppStoreButton` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `AppStoreButton` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,39 @@
1
+ export declare const styles: {
2
+ xs: {
3
+ root: string;
4
+ rootWithBorder: string;
5
+ initials: string;
6
+ icon: string;
7
+ };
8
+ sm: {
9
+ root: string;
10
+ rootWithBorder: string;
11
+ initials: string;
12
+ icon: string;
13
+ };
14
+ md: {
15
+ root: string;
16
+ rootWithBorder: string;
17
+ initials: string;
18
+ icon: string;
19
+ };
20
+ lg: {
21
+ root: string;
22
+ rootWithBorder: string;
23
+ initials: string;
24
+ icon: string;
25
+ };
26
+ xl: {
27
+ root: string;
28
+ rootWithBorder: string;
29
+ initials: string;
30
+ icon: string;
31
+ };
32
+ '2xl': {
33
+ root: string;
34
+ rootWithBorder: string;
35
+ initials: string;
36
+ icon: string;
37
+ };
38
+ };
39
+ //# sourceMappingURL=Avatar.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/Avatar/Avatar.styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOlB,CAAC"}
@@ -0,0 +1,11 @@
1
+ const styles = {
2
+ xs: { root: 'size-6', rootWithBorder: 'p-px', initials: 'text-xs font-semibold', icon: 'size-4' },
3
+ sm: { root: 'size-8', rootWithBorder: 'p-px', initials: 'text-sm font-semibold', icon: 'size-5' },
4
+ md: { root: 'size-10', rootWithBorder: 'p-px', initials: 'text-md font-semibold', icon: 'size-6' },
5
+ lg: { root: 'size-12', rootWithBorder: 'p-[1.5px]', initials: 'text-lg font-semibold', icon: 'size-7' },
6
+ xl: { root: 'size-14', rootWithBorder: 'p-0.5', initials: 'text-xl font-semibold', icon: 'size-8' },
7
+ '2xl': { root: 'size-16', rootWithBorder: 'p-0.5', initials: 'text-display-xs font-semibold', icon: 'size-8' },
8
+ };
9
+
10
+ export { styles };
11
+ //# sourceMappingURL=Avatar.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar.styles.js","sources":["../../../../../../src/components/atoms/Avatar/Avatar.styles.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAO,MAAM,MAAM,GAAG;AACpB,IAAA,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;AACjG,IAAA,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;AACjG,IAAA,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;AAClG,IAAA,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;AACvG,IAAA,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE;AACnG,IAAA,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,+BAA+B,EAAE,IAAI,EAAE,QAAQ,EAAE;;;;;"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * React Native pilot for `Avatar` — deliberately minimal. Renders a plain
3
+ * solid-colour circle (no initials, image, border, or badge slots yet) to
4
+ * verify that `@flipdish/ui-tokens`' colour and border-radius tokens resolve
5
+ * correctly through NativeWind on-device.
6
+ */
7
+ export interface AvatarProps {
8
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
9
+ className?: string;
10
+ /** Overrides the generated `testID` (defaults to `fd-avatar`). */
11
+ 'data-testid'?: string;
12
+ }
13
+ /**
14
+ * Minimal React Native `Avatar` — a solid-coloured, fully rounded circle.
15
+ *
16
+ * @summary displays a user or entity as a plain coloured circle (React Native)
17
+ */
18
+ export declare const Avatar: ({ size, className, "data-testid": dataTestId }: AvatarProps) => import("react").JSX.Element;
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/atoms/Avatar/index.native.tsx"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,gDAAuD,WAAW,gCAIxF,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { cx } from '../../../utilities/cx/index.js';
3
+ import { useResolvedTestId } from '../../../utilities/testIdUtils/index.js';
4
+ import { View } from 'react-native';
5
+ import { styles } from './Avatar.styles.js';
6
+
7
+ /**
8
+ * Minimal React Native `Avatar` — a solid-coloured, fully rounded circle.
9
+ *
10
+ * @summary displays a user or entity as a plain coloured circle (React Native)
11
+ */
12
+ const Avatar = ({ size = 'md', className, 'data-testid': dataTestId }) => {
13
+ const avatarTestId = useResolvedTestId({ testId: dataTestId, segment: 'avatar', rootName: 'avatar' });
14
+ return jsx(View, { testID: avatarTestId, className: cx('shrink-0 rounded-full bg-tertiary', styles[size].root, className) });
15
+ };
16
+
17
+ export { Avatar };
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/atoms/Avatar/index.native.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;AAkBA;;;;AAIG;AACI,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAe,KAAI;AAC3F,IAAA,MAAM,YAAY,GAAG,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErG,OAAOA,GAAA,CAAC,IAAI,EAAA,EAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA,CAAI;AACzH;;;;"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `BackgroundPattern` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/BackgroundPattern` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `BackgroundPattern` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Badge` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Badge` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Badge` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Button` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Button` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Button` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Checkbox` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Checkbox` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Checkbox` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `CloseButton` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/CloseButton` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `CloseButton` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Divider` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Divider` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Divider` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Dot` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Dot` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Dot` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `FeaturedIcon` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/FeaturedIcon` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `FeaturedIcon` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `FileTrigger` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/FileTrigger` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `FileTrigger` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `FlipdishLogo` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/FlipdishLogo` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `FlipdishLogo` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Illustration` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Illustration` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Illustration` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Input` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Input` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Input` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `LoadingIndicator` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/LoadingIndicator` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `LoadingIndicator` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `ProgressBar` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/ProgressBar` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `ProgressBar` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `QRCode` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/QRCode` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `QRCode` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `RadioButton` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/RadioButton` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `RadioButton` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `RatingBadge` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/RatingBadge` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `RatingBadge` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `RatingStars` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/RatingStars` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `RatingStars` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Skeleton` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Skeleton` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Skeleton` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Slider` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Slider` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Slider` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `SocialButton` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/SocialButton` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `SocialButton` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Toggle` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Toggle` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Toggle` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Tooltip` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/Tooltip` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Tooltip` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `UtilityButton` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/atoms/UtilityButton` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `UtilityButton` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Alert` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/molecules/Alert` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Alert` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `BadgeGroup` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/molecules/BadgeGroup` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `BadgeGroup` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `Breadcrumbs` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/molecules/Breadcrumbs` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `Breadcrumbs` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * `ButtonGroup` has no React Native implementation.
3
+ *
4
+ * This is a generated types-only stub (scripts/emit-native-stubs.mjs). It exists so
5
+ * that importing `@flipdish/ui-library/components/molecules/ButtonGroup` from React Native fails at
6
+ * compile time rather than resolving to the web build's types. There is no
7
+ * matching `index.js`, so Metro cannot bundle this module either.
8
+ *
9
+ * To make `ButtonGroup` available on React Native, add an `index.native.tsx` beside
10
+ * its `index.tsx` — the build picks it up automatically and this stub disappears.
11
+ */
12
+ export declare const __NO_REACT_NATIVE_IMPLEMENTATION__: never;