@codyswann/lisa 1.47.1 → 1.48.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.
Files changed (210) hide show
  1. package/all/copy-overwrite/.claude/rules/lisa.md +23 -10
  2. package/all/copy-overwrite/.claude/settings.json +10 -252
  3. package/all/deletions.json +67 -1
  4. package/cdk/copy-overwrite/.claude/settings.json +80 -0
  5. package/cdk/create-only/.github/workflows/ci.yml +1 -1
  6. package/cdk/create-only/.github/workflows/deploy.yml +1 -1
  7. package/dist/core/lisa.d.ts +14 -0
  8. package/dist/core/lisa.d.ts.map +1 -1
  9. package/dist/core/lisa.js +47 -0
  10. package/dist/core/lisa.js.map +1 -1
  11. package/expo/copy-overwrite/.claude/settings.json +80 -0
  12. package/expo/copy-overwrite/eslint.expo.ts +2 -2
  13. package/expo/create-only/.github/workflows/ci.yml +1 -1
  14. package/expo/create-only/.github/workflows/deploy.yml +1 -1
  15. package/expo/deletions.json +33 -0
  16. package/expo/package-lisa/package.lisa.json +2 -2
  17. package/nestjs/copy-overwrite/.claude/settings.json +80 -0
  18. package/nestjs/create-only/.github/workflows/ci.yml +1 -1
  19. package/nestjs/create-only/.github/workflows/deploy.yml +1 -1
  20. package/nestjs/deletions.json +8 -0
  21. package/package.json +8 -4
  22. package/rails/copy-overwrite/.claude/settings.json +80 -0
  23. package/rails/create-only/.github/workflows/ci.yml +1 -1
  24. package/rails/deletions.json +11 -1
  25. package/typescript/copy-overwrite/.claude/settings.json +13 -253
  26. package/typescript/copy-overwrite/eslint.typescript.ts +1 -1
  27. package/typescript/create-only/.github/workflows/ci.yml +1 -1
  28. package/typescript/deletions.json +12 -1
  29. package/typescript/package-lisa/package.lisa.json +1 -1
  30. package/all/copy-overwrite/.claude/agents/agent-architect.md +0 -310
  31. package/all/copy-overwrite/.claude/agents/architecture-specialist.md +0 -53
  32. package/all/copy-overwrite/.claude/agents/debug-specialist.md +0 -204
  33. package/all/copy-overwrite/.claude/agents/git-history-analyzer.md +0 -183
  34. package/all/copy-overwrite/.claude/agents/hooks-expert.md +0 -74
  35. package/all/copy-overwrite/.claude/agents/implementer.md +0 -54
  36. package/all/copy-overwrite/.claude/agents/learner.md +0 -44
  37. package/all/copy-overwrite/.claude/agents/performance-specialist.md +0 -95
  38. package/all/copy-overwrite/.claude/agents/product-specialist.md +0 -72
  39. package/all/copy-overwrite/.claude/agents/quality-specialist.md +0 -55
  40. package/all/copy-overwrite/.claude/agents/security-specialist.md +0 -58
  41. package/all/copy-overwrite/.claude/agents/skill-evaluator.md +0 -246
  42. package/all/copy-overwrite/.claude/agents/slash-command-architect.md +0 -87
  43. package/all/copy-overwrite/.claude/agents/test-specialist.md +0 -64
  44. package/all/copy-overwrite/.claude/agents/verification-specialist.md +0 -189
  45. package/all/copy-overwrite/.claude/agents/web-search-researcher.md +0 -112
  46. package/all/copy-overwrite/.claude/commands/git/commit-and-submit-pr.md +0 -7
  47. package/all/copy-overwrite/.claude/commands/git/commit-submit-pr-and-verify.md +0 -7
  48. package/all/copy-overwrite/.claude/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  49. package/all/copy-overwrite/.claude/commands/git/commit.md +0 -7
  50. package/all/copy-overwrite/.claude/commands/git/prune.md +0 -6
  51. package/all/copy-overwrite/.claude/commands/git/submit-pr.md +0 -7
  52. package/all/copy-overwrite/.claude/commands/jira/create.md +0 -7
  53. package/all/copy-overwrite/.claude/commands/jira/sync.md +0 -7
  54. package/all/copy-overwrite/.claude/commands/jira/verify.md +0 -7
  55. package/all/copy-overwrite/.claude/commands/lisa/review-implementation.md +0 -7
  56. package/all/copy-overwrite/.claude/commands/plan/add-test-coverage.md +0 -7
  57. package/all/copy-overwrite/.claude/commands/plan/create.md +0 -6
  58. package/all/copy-overwrite/.claude/commands/plan/execute.md +0 -7
  59. package/all/copy-overwrite/.claude/commands/plan/fix-linter-error.md +0 -7
  60. package/all/copy-overwrite/.claude/commands/plan/local-code-review.md +0 -6
  61. package/all/copy-overwrite/.claude/commands/plan/lower-code-complexity.md +0 -6
  62. package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines-per-function.md +0 -7
  63. package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines.md +0 -7
  64. package/all/copy-overwrite/.claude/commands/pull-request/review.md +0 -7
  65. package/all/copy-overwrite/.claude/commands/security/zap-scan.md +0 -6
  66. package/all/copy-overwrite/.claude/commands/sonarqube/check.md +0 -6
  67. package/all/copy-overwrite/.claude/commands/sonarqube/fix.md +0 -6
  68. package/all/copy-overwrite/.claude/commands/tasks/load.md +0 -7
  69. package/all/copy-overwrite/.claude/commands/tasks/sync.md +0 -7
  70. package/all/copy-overwrite/.claude/hooks/check-tired-boss.sh +0 -61
  71. package/all/copy-overwrite/.claude/hooks/debug-hook.sh +0 -47
  72. package/all/copy-overwrite/.claude/hooks/enforce-plan-rules.sh +0 -15
  73. package/all/copy-overwrite/.claude/hooks/notify-ntfy.sh +0 -183
  74. package/all/copy-overwrite/.claude/hooks/setup-jira-cli.sh +0 -52
  75. package/all/copy-overwrite/.claude/hooks/sync-tasks.sh +0 -107
  76. package/all/copy-overwrite/.claude/hooks/ticket-sync-reminder.sh +0 -23
  77. package/all/copy-overwrite/.claude/hooks/track-plan-sessions.sh +0 -164
  78. package/all/copy-overwrite/.claude/hooks/verify-completion.sh +0 -77
  79. package/all/copy-overwrite/.claude/rules/coding-philosophy.md +0 -428
  80. package/all/copy-overwrite/.claude/rules/verfication.md +0 -596
  81. package/all/copy-overwrite/.claude/skills/agent-design-best-practices/SKILL.md +0 -219
  82. package/all/copy-overwrite/.claude/skills/git-commit/SKILL.md +0 -48
  83. package/all/copy-overwrite/.claude/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  84. package/all/copy-overwrite/.claude/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  85. package/all/copy-overwrite/.claude/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  86. package/all/copy-overwrite/.claude/skills/git-prune/SKILL.md +0 -35
  87. package/all/copy-overwrite/.claude/skills/git-submit-pr/SKILL.md +0 -44
  88. package/all/copy-overwrite/.claude/skills/jira-create/SKILL.md +0 -41
  89. package/all/copy-overwrite/.claude/skills/jira-sync/SKILL.md +0 -63
  90. package/all/copy-overwrite/.claude/skills/jira-verify/SKILL.md +0 -29
  91. package/all/copy-overwrite/.claude/skills/lisa-review-implementation/SKILL.md +0 -209
  92. package/all/copy-overwrite/.claude/skills/plan-add-test-coverage/SKILL.md +0 -44
  93. package/all/copy-overwrite/.claude/skills/plan-execute/SKILL.md +0 -89
  94. package/all/copy-overwrite/.claude/skills/plan-fix-linter-error/SKILL.md +0 -45
  95. package/all/copy-overwrite/.claude/skills/plan-local-code-review/SKILL.md +0 -88
  96. package/all/copy-overwrite/.claude/skills/plan-lower-code-complexity/SKILL.md +0 -44
  97. package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines/SKILL.md +0 -45
  98. package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  99. package/all/copy-overwrite/.claude/skills/pull-request-review/SKILL.md +0 -68
  100. package/all/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +0 -33
  101. package/all/copy-overwrite/.claude/skills/skill-creator/LICENSE.txt +0 -202
  102. package/all/copy-overwrite/.claude/skills/skill-creator/SKILL.md +0 -210
  103. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
  104. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/init_skill.py +0 -305
  105. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/package_skill.py +0 -112
  106. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/quick_validate.py +0 -67
  107. package/all/copy-overwrite/.claude/skills/sonarqube-check/SKILL.md +0 -11
  108. package/all/copy-overwrite/.claude/skills/sonarqube-fix/SKILL.md +0 -8
  109. package/all/copy-overwrite/.claude/skills/tasks-load/SKILL.md +0 -88
  110. package/all/copy-overwrite/.claude/skills/tasks-sync/SKILL.md +0 -108
  111. package/eslint-plugin-code-organization/README.md +0 -149
  112. package/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +0 -473
  113. package/eslint-plugin-code-organization/index.js +0 -28
  114. package/eslint-plugin-code-organization/package.json +0 -10
  115. package/eslint-plugin-code-organization/rules/enforce-statement-order.js +0 -162
  116. package/expo/copy-overwrite/.claude/agents/ops-specialist.md +0 -124
  117. package/expo/copy-overwrite/.claude/rules/expo-verification.md +0 -261
  118. package/expo/copy-overwrite/.claude/skills/apollo-client/SKILL.md +0 -238
  119. package/expo/copy-overwrite/.claude/skills/apollo-client/references/mutation-patterns.md +0 -360
  120. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/SKILL.md +0 -360
  121. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/atomic-levels.md +0 -417
  122. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/folder-structure.md +0 -257
  123. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/gluestack-mapping.md +0 -233
  124. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +0 -329
  125. package/expo/copy-overwrite/.claude/skills/container-view-pattern/SKILL.md +0 -299
  126. package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/examples.md +0 -749
  127. package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/patterns.md +0 -318
  128. package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/create_component.py +0 -200
  129. package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/validate_component.py +0 -209
  130. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/SKILL.md +0 -268
  131. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/common-issues.md +0 -619
  132. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/file-extensions.md +0 -340
  133. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/platform-api.md +0 -276
  134. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +0 -416
  135. package/expo/copy-overwrite/.claude/skills/directory-structure/SKILL.md +0 -202
  136. package/expo/copy-overwrite/.claude/skills/directory-structure/scripts/validate_structure.py +0 -445
  137. package/expo/copy-overwrite/.claude/skills/expo-env-config/SKILL.md +0 -309
  138. package/expo/copy-overwrite/.claude/skills/expo-env-config/references/validation-patterns.md +0 -417
  139. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/SKILL.md +0 -431
  140. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/references/official-docs.md +0 -290
  141. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/scripts/generate-route.py +0 -171
  142. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/SKILL.md +0 -411
  143. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/color-tokens.md +0 -343
  144. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/component-mapping.md +0 -307
  145. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/spacing-scale.md +0 -300
  146. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/scripts/validate_styling.py +0 -315
  147. package/expo/copy-overwrite/.claude/skills/local-state/SKILL.md +0 -362
  148. package/expo/copy-overwrite/.claude/skills/local-state/references/async-storage.md +0 -505
  149. package/expo/copy-overwrite/.claude/skills/local-state/references/persistence-patterns.md +0 -711
  150. package/expo/copy-overwrite/.claude/skills/local-state/references/reactive-variables.md +0 -446
  151. package/expo/copy-overwrite/.claude/skills/ops-browser-uat/SKILL.md +0 -124
  152. package/expo/copy-overwrite/.claude/skills/ops-check-logs/SKILL.md +0 -211
  153. package/expo/copy-overwrite/.claude/skills/ops-db-ops/SKILL.md +0 -119
  154. package/expo/copy-overwrite/.claude/skills/ops-deploy/SKILL.md +0 -119
  155. package/expo/copy-overwrite/.claude/skills/ops-monitor-errors/SKILL.md +0 -99
  156. package/expo/copy-overwrite/.claude/skills/ops-performance/SKILL.md +0 -165
  157. package/expo/copy-overwrite/.claude/skills/ops-run-local/SKILL.md +0 -166
  158. package/expo/copy-overwrite/.claude/skills/ops-verify-health/SKILL.md +0 -101
  159. package/expo/copy-overwrite/.claude/skills/owasp-zap/SKILL.md +0 -56
  160. package/expo/copy-overwrite/.claude/skills/playwright-selectors/SKILL.md +0 -223
  161. package/expo/copy-overwrite/.claude/skills/testing-library/SKILL.md +0 -314
  162. package/expo/copy-overwrite/.claude/skills/testing-library/references/async-patterns.md +0 -420
  163. package/expo/copy-overwrite/.claude/skills/testing-library/references/expo-router-testing.md +0 -556
  164. package/expo/copy-overwrite/.claude/skills/testing-library/references/mocking-patterns.md +0 -590
  165. package/expo/copy-overwrite/.claude/skills/testing-library/references/query-priority.md +0 -291
  166. package/expo/copy-overwrite/eslint-plugin-component-structure/README.md +0 -234
  167. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/plugin-index.test.js +0 -89
  168. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/require-memo-in-view.test.js +0 -201
  169. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/single-component-per-file.test.js +0 -294
  170. package/expo/copy-overwrite/eslint-plugin-component-structure/index.js +0 -37
  171. package/expo/copy-overwrite/eslint-plugin-component-structure/package.json +0 -10
  172. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/enforce-component-structure.js +0 -235
  173. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/no-return-in-view.js +0 -96
  174. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/require-memo-in-view.js +0 -183
  175. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/single-component-per-file.js +0 -243
  176. package/expo/copy-overwrite/eslint-plugin-ui-standards/README.md +0 -192
  177. package/expo/copy-overwrite/eslint-plugin-ui-standards/index.js +0 -31
  178. package/expo/copy-overwrite/eslint-plugin-ui-standards/package.json +0 -10
  179. package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-classname-outside-ui.js +0 -56
  180. package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-direct-rn-imports.js +0 -60
  181. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/SKILL.md +0 -176
  182. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/advanced-features.md +0 -527
  183. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/project-patterns.md +0 -483
  184. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/quick-start.md +0 -257
  185. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/resolvers-mutations.md +0 -413
  186. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/types-scalars.md +0 -513
  187. package/nestjs/copy-overwrite/.claude/skills/nestjs-rules/SKILL.md +0 -536
  188. package/nestjs/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +0 -33
  189. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/SKILL.md +0 -275
  190. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/configuration-patterns.md +0 -487
  191. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/entity-patterns.md +0 -450
  192. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/observability-patterns.md +0 -536
  193. package/rails/copy-overwrite/.claude/skills/action-controller-best-practices/SKILL.md +0 -374
  194. package/rails/copy-overwrite/.claude/skills/action-view-best-practices/SKILL.md +0 -335
  195. package/rails/copy-overwrite/.claude/skills/active-record-model-best-practices/SKILL.md +0 -166
  196. package/rails/copy-overwrite/.claude/skills/plan-add-test-coverage/SKILL.md +0 -45
  197. package/rails/copy-overwrite/.claude/skills/plan-fix-linter-error/SKILL.md +0 -45
  198. package/rails/copy-overwrite/.claude/skills/plan-lower-code-complexity/SKILL.md +0 -48
  199. package/rails/copy-overwrite/.claude/skills/plan-reduce-max-lines/SKILL.md +0 -46
  200. package/rails/copy-overwrite/.claude/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  201. package/typescript/copy-overwrite/.claude/hooks/format-on-edit.sh +0 -76
  202. package/typescript/copy-overwrite/.claude/hooks/install-pkgs.sh +0 -64
  203. package/typescript/copy-overwrite/.claude/hooks/lint-on-edit.sh +0 -81
  204. package/typescript/copy-overwrite/.claude/hooks/sg-scan-on-edit.sh +0 -68
  205. package/typescript/copy-overwrite/.claude/skills/jsdoc-best-practices/SKILL.md +0 -432
  206. package/typescript/copy-overwrite/eslint-plugin-code-organization/README.md +0 -149
  207. package/typescript/copy-overwrite/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +0 -473
  208. package/typescript/copy-overwrite/eslint-plugin-code-organization/index.js +0 -28
  209. package/typescript/copy-overwrite/eslint-plugin-code-organization/package.json +0 -10
  210. package/typescript/copy-overwrite/eslint-plugin-code-organization/rules/enforce-statement-order.js +0 -162
@@ -1,343 +0,0 @@
1
- # Color Tokens Reference
2
-
3
- This reference provides the complete semantic color token system for Gluestack UI v3.
4
-
5
- ## Token Scale
6
-
7
- All color tokens follow the 0-950 scale:
8
-
9
- ```
10
- 0 → 50 → 100 → 200 → 300 → 400 → 500 → 600 → 700 → 800 → 900 → 950
11
- ```
12
-
13
- Lower values are lighter, higher values are darker.
14
-
15
- ## Semantic Color Categories
16
-
17
- ### Primary (Brand Identity)
18
-
19
- Use for main brand elements, key interactive components, and primary actions.
20
-
21
- | Token | Usage |
22
- | ------------- | -------------------------------- |
23
- | `primary-0` | Lightest tint, subtle highlights |
24
- | `primary-50` | Very light backgrounds |
25
- | `primary-100` | Light hover states |
26
- | `primary-200` | Light borders |
27
- | `primary-300` | Muted elements |
28
- | `primary-400` | Subdued text/icons |
29
- | `primary-500` | **Default** - buttons, links |
30
- | `primary-600` | Hover states for primary-500 |
31
- | `primary-700` | Active/pressed states |
32
- | `primary-800` | Dark variant |
33
- | `primary-900` | Very dark variant |
34
- | `primary-950` | Darkest shade |
35
-
36
- ```tsx
37
- <Button className="bg-primary-500 hover:bg-primary-600 active:bg-primary-700">
38
- <ButtonText className="text-typography-0">Primary Action</ButtonText>
39
- </Button>
40
- ```
41
-
42
- ### Secondary (Supporting Elements)
43
-
44
- Use for secondary actions, alternative buttons, and supporting UI.
45
-
46
- | Token | Common Usage |
47
- | --------------- | ----------------- |
48
- | `secondary-100` | Light backgrounds |
49
- | `secondary-200` | Borders, dividers |
50
- | `secondary-500` | Secondary buttons |
51
- | `secondary-600` | Hover states |
52
-
53
- ```tsx
54
- <Button className="bg-secondary-500">
55
- <ButtonText>Secondary Action</ButtonText>
56
- </Button>
57
- ```
58
-
59
- ### Tertiary (Accent)
60
-
61
- Use for tertiary accents and warm tones.
62
-
63
- | Token | Common Usage |
64
- | -------------- | ---------------- |
65
- | `tertiary-400` | Accents |
66
- | `tertiary-500` | Tertiary buttons |
67
-
68
- ### Error (Destructive/Validation)
69
-
70
- Use for errors, validation failures, and destructive actions.
71
-
72
- | Token | Common Usage |
73
- | ----------- | ------------------------------- |
74
- | `error-50` | Light error backgrounds |
75
- | `error-100` | Error container backgrounds |
76
- | `error-400` | Error icons (light mode) |
77
- | `error-500` | **Default** - error text, icons |
78
- | `error-600` | Error text (dark mode) |
79
- | `error-700` | Dark error elements |
80
-
81
- ```tsx
82
- // Error message
83
- <Text className="text-error-500">This field is required</Text>
84
-
85
- // Error background
86
- <Box className="bg-error-50 border border-error-200 p-4">
87
- <Text className="text-error-700">Error occurred</Text>
88
- </Box>
89
-
90
- // Destructive button
91
- <Button action="negative">
92
- <ButtonText>Delete</ButtonText>
93
- </Button>
94
- ```
95
-
96
- ### Success (Positive/Confirmation)
97
-
98
- Use for success states, confirmations, and positive feedback.
99
-
100
- | Token | Common Usage |
101
- | ------------- | --------------------------------- |
102
- | `success-50` | Light success backgrounds |
103
- | `success-100` | Success container backgrounds |
104
- | `success-500` | **Default** - success text, icons |
105
- | `success-600` | Success text emphasis |
106
- | `success-700` | Dark success elements |
107
-
108
- ```tsx
109
- // Success message
110
- <Text className="text-success-600">Changes saved successfully</Text>
111
-
112
- // Success background
113
- <Box className="bg-success-50 border border-success-200 p-4">
114
- <Text className="text-success-700">Operation completed</Text>
115
- </Box>
116
- ```
117
-
118
- ### Warning (Caution/Attention)
119
-
120
- Use for warnings, caution states, and attention-required elements.
121
-
122
- | Token | Common Usage |
123
- | ------------- | ----------------------------- |
124
- | `warning-50` | Light warning backgrounds |
125
- | `warning-100` | Warning container backgrounds |
126
- | `warning-400` | Warning icons |
127
- | `warning-500` | **Default** - warning text |
128
- | `warning-600` | Warning text emphasis |
129
- | `warning-700` | Dark warning elements |
130
-
131
- ```tsx
132
- // Warning message
133
- <Text className="text-warning-600">Please review before proceeding</Text>
134
-
135
- // Warning background
136
- <Box className="bg-warning-50 border border-warning-300 p-4">
137
- <Text className="text-warning-700">Action required</Text>
138
- </Box>
139
- ```
140
-
141
- ### Info (Informational)
142
-
143
- Use for informational content, tips, and neutral highlights.
144
-
145
- | Token | Common Usage |
146
- | ---------- | ------------------------------ |
147
- | `info-50` | Light info backgrounds |
148
- | `info-100` | Info container backgrounds |
149
- | `info-500` | **Default** - info text, icons |
150
- | `info-600` | Info text emphasis |
151
- | `info-700` | Dark info elements |
152
-
153
- ```tsx
154
- // Info message
155
- <Text className="text-info-600">Tip: You can also use keyboard shortcuts</Text>
156
-
157
- // Info background
158
- <Box className="bg-info-50 border border-info-200 p-4">
159
- <Text className="text-info-700">Learn more about this feature</Text>
160
- </Box>
161
- ```
162
-
163
- ### Typography (Text Colors)
164
-
165
- Use for all text content. The scale provides contrast levels.
166
-
167
- | Token | Usage |
168
- | ---------------- | ------------------------------------ |
169
- | `typography-0` | White text (on dark backgrounds) |
170
- | `typography-50` | Very light text |
171
- | `typography-100` | Light placeholder text |
172
- | `typography-200` | Disabled text |
173
- | `typography-300` | Tertiary text |
174
- | `typography-400` | Quaternary text |
175
- | `typography-500` | Secondary text, captions |
176
- | `typography-600` | Muted body text |
177
- | `typography-700` | Body text |
178
- | `typography-800` | Emphasized text |
179
- | `typography-900` | **Default** - headings, primary text |
180
- | `typography-950` | Maximum contrast text |
181
-
182
- ```tsx
183
- // Primary heading
184
- <Heading className="text-typography-900">Page Title</Heading>
185
-
186
- // Body text
187
- <Text className="text-typography-700">Regular paragraph text</Text>
188
-
189
- // Secondary/muted text
190
- <Text className="text-typography-500">Last updated 2 hours ago</Text>
191
-
192
- // White text on dark background
193
- <Box className="bg-primary-500">
194
- <Text className="text-typography-0">Button label</Text>
195
- </Box>
196
- ```
197
-
198
- ### Outline (Borders)
199
-
200
- Use for borders, dividers, and outlines.
201
-
202
- | Token | Usage |
203
- | ------------- | ---------------------------------- |
204
- | `outline-0` | White borders |
205
- | `outline-50` | Very subtle borders |
206
- | `outline-100` | Light dividers |
207
- | `outline-200` | **Default** - input borders, cards |
208
- | `outline-300` | Emphasized borders |
209
- | `outline-400` | Focus rings (muted) |
210
- | `outline-500` | Strong borders |
211
- | `outline-600` | Dark borders |
212
- | `outline-700` | Very dark borders |
213
-
214
- ```tsx
215
- // Card with border
216
- <Box className="border border-outline-200 rounded-lg p-4">
217
- <Text>Card content</Text>
218
- </Box>
219
-
220
- // Input field
221
- <Input className="border border-outline-300 focus:border-primary-500" />
222
-
223
- // Divider
224
- <Box className="h-px bg-outline-100 my-4" />
225
- ```
226
-
227
- ### Background (Surface Colors)
228
-
229
- Use for component and page backgrounds.
230
-
231
- | Token | Usage |
232
- | ---------------- | ---------------------------------------------- |
233
- | `background-0` | **Default** - white, main content (light mode) |
234
- | `background-50` | Elevated surfaces, cards |
235
- | `background-100` | Subtle backgrounds |
236
- | `background-200` | Muted sections |
237
- | `background-300` | Disabled states |
238
- | `background-400` | Hover states (dark) |
239
- | `background-500` | Mid-tone |
240
- | `background-600` | Dark surfaces |
241
- | `background-700` | Darker surfaces |
242
- | `background-800` | Very dark surfaces |
243
- | `background-900` | Near-black |
244
- | `background-950` | **Default** - main content (dark mode) |
245
-
246
- ```tsx
247
- // Light mode page
248
- <Box className="bg-background-0 min-h-screen">
249
- <Box className="bg-background-50 p-4 rounded-lg">
250
- Card content
251
- </Box>
252
- </Box>
253
-
254
- // Dark mode page
255
- <Box className="bg-background-950 min-h-screen">
256
- <Box className="bg-background-900 p-4 rounded-lg">
257
- Card content
258
- </Box>
259
- </Box>
260
- ```
261
-
262
- ## Special Background Tokens
263
-
264
- State-specific background tokens for semantic meaning:
265
-
266
- | Token | Usage |
267
- | ----------------------- | ------------------------ |
268
- | `bg-background-error` | Error state container |
269
- | `bg-background-warning` | Warning state container |
270
- | `bg-background-success` | Success state container |
271
- | `bg-background-info` | Info state container |
272
- | `bg-background-muted` | Muted/disabled container |
273
-
274
- ```tsx
275
- // Error state
276
- <Box className="bg-background-error p-4 rounded-lg">
277
- <Text className="text-error-700">Error message</Text>
278
- </Box>
279
-
280
- // Muted/disabled
281
- <Box className="bg-background-muted p-4 rounded-lg opacity-50">
282
- <Text className="text-typography-500">Disabled content</Text>
283
- </Box>
284
- ```
285
-
286
- ## Indicator Tokens
287
-
288
- Use for focus rings and status indicators:
289
-
290
- | Token | Usage |
291
- | ------------------------ | ----------------------- |
292
- | `ring-indicator-primary` | Primary focus indicator |
293
- | `ring-indicator-info` | Info focus indicator |
294
- | `ring-indicator-error` | Error focus indicator |
295
-
296
- ## Dark Mode Mapping
297
-
298
- Use `dark:` prefix for dark mode variants:
299
-
300
- ```tsx
301
- // Text that adapts to dark mode
302
- <Text className="text-typography-900 dark:text-typography-0">
303
- Adaptive text
304
- </Text>
305
-
306
- // Background that adapts
307
- <Box className="bg-background-0 dark:bg-background-950">
308
- <Text className="text-typography-900 dark:text-typography-0">
309
- Content
310
- </Text>
311
- </Box>
312
-
313
- // Border that adapts
314
- <Box className="border border-outline-200 dark:border-outline-700">
315
- Content
316
- </Box>
317
- ```
318
-
319
- ## Common Light/Dark Mode Pairs
320
-
321
- | Light Mode | Dark Mode | Usage |
322
- | ---------------- | ---------------- | --------------- |
323
- | `background-0` | `background-950` | Page background |
324
- | `background-50` | `background-900` | Card background |
325
- | `typography-900` | `typography-0` | Primary text |
326
- | `typography-700` | `typography-200` | Body text |
327
- | `typography-500` | `typography-400` | Secondary text |
328
- | `outline-200` | `outline-700` | Borders |
329
- | `outline-100` | `outline-800` | Dividers |
330
-
331
- ## Prohibited Raw Color Usage
332
-
333
- Never use raw Tailwind colors. Map to semantic tokens:
334
-
335
- | Raw Color | Semantic Token |
336
- | ----------------------------- | ------------------------------------------- |
337
- | `red-*` | `error-*` |
338
- | `green-*` | `success-*` |
339
- | `yellow-*`, `amber-*` | `warning-*` |
340
- | `blue-*`, `cyan-*` | `info-*` or `primary-*` |
341
- | `gray-*`, `slate-*`, `zinc-*` | `typography-*`, `outline-*`, `background-*` |
342
- | `white` | `typography-0` or `background-0` |
343
- | `black` | `typography-950` or `background-950` |
@@ -1,307 +0,0 @@
1
- # Component Mapping Reference
2
-
3
- This reference provides the complete mapping from React Native primitives to Gluestack UI v3 equivalents.
4
-
5
- ## Core Layout Components
6
-
7
- | React Native | Gluestack | Import Path |
8
- | ---------------------- | ------------------------------ | ---------------------------------------- |
9
- | `View` | `Box` | `@/components/ui/box` |
10
- | `ScrollView` | `ScrollView` | `@/components/ui/scroll-view` |
11
- | `SafeAreaView` | Use `useSafeAreaInsets()` hook | `react-native-safe-area-context` |
12
- | `KeyboardAvoidingView` | `KeyboardAvoidingView` | `@/components/ui/keyboard-avoiding-view` |
13
-
14
- ## Text Components
15
-
16
- | React Native | Gluestack | Import Path |
17
- | ---------------- | --------- | ------------------------- |
18
- | `Text` | `Text` | `@/components/ui/text` |
19
- | `Text` (heading) | `Heading` | `@/components/ui/heading` |
20
-
21
- ## Interactive Components
22
-
23
- | React Native | Gluestack | Import Path |
24
- | -------------------------- | ----------------------- | --------------------------- |
25
- | `TouchableOpacity` | `Pressable` | `@/components/ui/pressable` |
26
- | `TouchableHighlight` | `Pressable` | `@/components/ui/pressable` |
27
- | `TouchableWithoutFeedback` | `Pressable` | `@/components/ui/pressable` |
28
- | `Button` | `Button` + `ButtonText` | `@/components/ui/button` |
29
- | `Switch` | `Switch` | `@/components/ui/switch` |
30
-
31
- ## Form Components
32
-
33
- | React Native | Gluestack | Import Path |
34
- | ----------------------- | ---------------------------- | -------------------------- |
35
- | `TextInput` | `Input` + `InputField` | `@/components/ui/input` |
36
- | `TextInput` (multiline) | `Textarea` + `TextareaInput` | `@/components/ui/textarea` |
37
- | N/A | `Select` | `@/components/ui/select` |
38
- | N/A | `Checkbox` | `@/components/ui/checkbox` |
39
- | N/A | `Radio` | `@/components/ui/radio` |
40
- | N/A | `Slider` | `@/components/ui/slider` |
41
-
42
- ## Media Components
43
-
44
- | React Native | Gluestack | Import Path |
45
- | ------------ | --------- | ------------------------ |
46
- | `Image` | `Image` | `@/components/ui/image` |
47
- | N/A | `Avatar` | `@/components/ui/avatar` |
48
- | N/A | `Icon` | `@/components/ui/icon` |
49
-
50
- ## List Components
51
-
52
- | React Native | Recommended | Import Path |
53
- | ----------------- | ------------------------- | --------------------- |
54
- | `FlatList` | `FlashList` | `@shopify/flash-list` |
55
- | `SectionList` | `FlashList` with sections | `@shopify/flash-list` |
56
- | `VirtualizedList` | `FlashList` | `@shopify/flash-list` |
57
-
58
- ## Feedback Components
59
-
60
- | React Native | Gluestack | Import Path |
61
- | ------------------- | ------------- | ------------------------------ |
62
- | `ActivityIndicator` | `Spinner` | `@/components/ui/spinner` |
63
- | `Modal` | `Modal` | `@/components/ui/modal` |
64
- | `Alert.alert()` | `AlertDialog` | `@/components/ui/alert-dialog` |
65
- | N/A | `Toast` | `@/components/ui/toast` |
66
- | N/A | `Progress` | `@/components/ui/progress` |
67
-
68
- ## Navigation Components
69
-
70
- | React Native | Gluestack | Import Path |
71
- | ------------ | ------------- | ----------------------------- |
72
- | N/A | `Menu` | `@/components/ui/menu` |
73
- | N/A | `Actionsheet` | `@/components/ui/actionsheet` |
74
- | N/A | `Popover` | `@/components/ui/popover` |
75
- | N/A | `Tooltip` | `@/components/ui/tooltip` |
76
-
77
- ## Overlay Components
78
-
79
- | React Native | Gluestack | Import Path |
80
- | ------------ | ---------- | -------------------------- |
81
- | `Modal` | `Modal` | `@/components/ui/modal` |
82
- | N/A | `Drawer` | `@/components/ui/drawer` |
83
- | N/A | `Backdrop` | Part of overlay components |
84
-
85
- ## Display Components
86
-
87
- | React Native | Gluestack | Import Path |
88
- | ------------ | ----------- | --------------------------- |
89
- | N/A | `Badge` | `@/components/ui/badge` |
90
- | N/A | `Card` | `@/components/ui/card` |
91
- | N/A | `Divider` | `@/components/ui/divider` |
92
- | N/A | `Accordion` | `@/components/ui/accordion` |
93
-
94
- ## Gluestack Sub-Component Patterns
95
-
96
- ### Button
97
-
98
- ```tsx
99
- import { Button, ButtonText, ButtonIcon, ButtonSpinner } from "@/components/ui/button";
100
-
101
- <Button action="primary" size="md" variant="solid">
102
- <ButtonText>Submit</ButtonText>
103
- </Button>
104
-
105
- <Button action="secondary" isDisabled>
106
- <ButtonSpinner />
107
- <ButtonText>Loading...</ButtonText>
108
- </Button>
109
-
110
- <Button>
111
- <ButtonText>Next</ButtonText>
112
- <ButtonIcon as={ChevronRightIcon} />
113
- </Button>
114
- ```
115
-
116
- ### Input
117
-
118
- ```tsx
119
- import { Input, InputField, InputSlot, InputIcon } from "@/components/ui/input";
120
-
121
- <Input variant="outline" size="md">
122
- <InputField placeholder="Enter email" />
123
- </Input>
124
-
125
- <Input>
126
- <InputSlot>
127
- <InputIcon as={SearchIcon} />
128
- </InputSlot>
129
- <InputField placeholder="Search..." />
130
- </Input>
131
-
132
- <Input isInvalid>
133
- <InputField />
134
- <InputSlot>
135
- <InputIcon as={AlertCircleIcon} className="text-error-500" />
136
- </InputSlot>
137
- </Input>
138
- ```
139
-
140
- ### Select
141
-
142
- ```tsx
143
- import {
144
- Select,
145
- SelectTrigger,
146
- SelectInput,
147
- SelectIcon,
148
- SelectPortal,
149
- SelectBackdrop,
150
- SelectContent,
151
- SelectDragIndicator,
152
- SelectDragIndicatorWrapper,
153
- SelectItem,
154
- } from "@/components/ui/select";
155
-
156
- <Select>
157
- <SelectTrigger variant="outline" size="md">
158
- <SelectInput placeholder="Select option" />
159
- <SelectIcon as={ChevronDownIcon} />
160
- </SelectTrigger>
161
- <SelectPortal>
162
- <SelectBackdrop />
163
- <SelectContent>
164
- <SelectDragIndicatorWrapper>
165
- <SelectDragIndicator />
166
- </SelectDragIndicatorWrapper>
167
- <SelectItem label="Option 1" value="1" />
168
- <SelectItem label="Option 2" value="2" />
169
- </SelectContent>
170
- </SelectPortal>
171
- </Select>;
172
- ```
173
-
174
- ### Modal
175
-
176
- ```tsx
177
- import {
178
- Modal,
179
- ModalBackdrop,
180
- ModalContent,
181
- ModalHeader,
182
- ModalCloseButton,
183
- ModalBody,
184
- ModalFooter,
185
- } from "@/components/ui/modal";
186
-
187
- <Modal isOpen={showModal} onClose={handleClose}>
188
- <ModalBackdrop />
189
- <ModalContent>
190
- <ModalHeader>
191
- <Heading size="lg">Title</Heading>
192
- <ModalCloseButton>
193
- <Icon as={CloseIcon} />
194
- </ModalCloseButton>
195
- </ModalHeader>
196
- <ModalBody>
197
- <Text>Modal content here</Text>
198
- </ModalBody>
199
- <ModalFooter>
200
- <Button onPress={handleClose}>
201
- <ButtonText>Close</ButtonText>
202
- </Button>
203
- </ModalFooter>
204
- </ModalContent>
205
- </Modal>;
206
- ```
207
-
208
- ### Avatar
209
-
210
- ```tsx
211
- import {
212
- Avatar,
213
- AvatarFallbackText,
214
- AvatarImage,
215
- AvatarBadge,
216
- } from "@/components/ui/avatar";
217
-
218
- <Avatar size="md">
219
- <AvatarFallbackText>JD</AvatarFallbackText>
220
- <AvatarImage source={{ uri: imageUrl }} />
221
- <AvatarBadge />
222
- </Avatar>;
223
- ```
224
-
225
- ### Checkbox
226
-
227
- ```tsx
228
- import {
229
- Checkbox,
230
- CheckboxIndicator,
231
- CheckboxIcon,
232
- CheckboxLabel,
233
- } from "@/components/ui/checkbox";
234
-
235
- <Checkbox value="terms" isChecked={isChecked} onChange={setIsChecked}>
236
- <CheckboxIndicator>
237
- <CheckboxIcon as={CheckIcon} />
238
- </CheckboxIndicator>
239
- <CheckboxLabel>Accept terms</CheckboxLabel>
240
- </Checkbox>;
241
- ```
242
-
243
- ### Toast
244
-
245
- ```tsx
246
- import {
247
- useToast,
248
- Toast,
249
- ToastTitle,
250
- ToastDescription,
251
- } from "@/components/ui/toast";
252
-
253
- const toast = useToast();
254
-
255
- toast.show({
256
- placement: "top",
257
- render: ({ id }) => (
258
- <Toast nativeID={id} action="success">
259
- <ToastTitle>Success!</ToastTitle>
260
- <ToastDescription>Your changes have been saved.</ToastDescription>
261
- </Toast>
262
- ),
263
- });
264
- ```
265
-
266
- ## Component Variants
267
-
268
- ### Button Variants
269
-
270
- | Prop | Values |
271
- | --------- | ---------------------------------------------- |
272
- | `action` | `primary`, `secondary`, `positive`, `negative` |
273
- | `variant` | `solid`, `outline`, `link` |
274
- | `size` | `xs`, `sm`, `md`, `lg`, `xl` |
275
-
276
- ### Input Variants
277
-
278
- | Prop | Values |
279
- | --------- | ---------------------------------- |
280
- | `variant` | `outline`, `underlined`, `rounded` |
281
- | `size` | `sm`, `md`, `lg`, `xl` |
282
-
283
- ### Text/Heading Sizes
284
-
285
- | Component | Sizes |
286
- | --------- | ---------------------------------------------------------------------- |
287
- | `Text` | `2xs`, `xs`, `sm`, `md`, `lg`, `xl`, `2xl`, `3xl`, `4xl`, `5xl`, `6xl` |
288
- | `Heading` | `xs`, `sm`, `md`, `lg`, `xl`, `2xl`, `3xl`, `4xl`, `5xl` |
289
-
290
- ## When to Keep React Native Primitives
291
-
292
- Use React Native primitives only when:
293
-
294
- 1. **Platform-specific native behavior** - Deep native integration required
295
- 2. **Third-party library requirements** - Library expects RN primitives
296
- 3. **Performance-critical rendering** - Measured wrapper overhead (rare)
297
- 4. **Animated components** - Using `Animated.View`, `Animated.Text`, etc.
298
-
299
- ```tsx
300
- // Acceptable: Animated primitives
301
- import Animated from "react-native-reanimated";
302
-
303
- const AnimatedBox = Animated.createAnimatedComponent(Box);
304
-
305
- // Acceptable: Platform-specific requirement
306
- import { Platform, PermissionsAndroid } from "react-native";
307
- ```