@codyswann/lisa 1.47.0 → 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 (216) hide show
  1. package/all/copy-overwrite/.claude/rules/lisa.md +23 -10
  2. package/all/copy-overwrite/.claude/settings.json +10 -230
  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 -231
  26. package/typescript/copy-overwrite/.github/workflows/claude-ci-auto-fix.yml +1 -0
  27. package/typescript/copy-overwrite/.github/workflows/claude-code-review-response.yml +11 -10
  28. package/typescript/copy-overwrite/.github/workflows/claude-deploy-auto-fix.yml +1 -0
  29. package/typescript/copy-overwrite/.github/workflows/claude-nightly-code-complexity.yml +1 -0
  30. package/typescript/copy-overwrite/.github/workflows/claude-nightly-test-coverage.yml +1 -0
  31. package/typescript/copy-overwrite/.github/workflows/claude-nightly-test-improvement.yml +2 -0
  32. package/typescript/copy-overwrite/.github/workflows/claude.yml +1 -0
  33. package/typescript/copy-overwrite/eslint.typescript.ts +1 -1
  34. package/typescript/create-only/.github/workflows/ci.yml +1 -1
  35. package/typescript/deletions.json +12 -1
  36. package/typescript/package-lisa/package.lisa.json +1 -1
  37. package/all/copy-overwrite/.claude/agents/agent-architect.md +0 -310
  38. package/all/copy-overwrite/.claude/agents/architecture-specialist.md +0 -53
  39. package/all/copy-overwrite/.claude/agents/debug-specialist.md +0 -204
  40. package/all/copy-overwrite/.claude/agents/git-history-analyzer.md +0 -183
  41. package/all/copy-overwrite/.claude/agents/hooks-expert.md +0 -74
  42. package/all/copy-overwrite/.claude/agents/implementer.md +0 -54
  43. package/all/copy-overwrite/.claude/agents/learner.md +0 -44
  44. package/all/copy-overwrite/.claude/agents/performance-specialist.md +0 -95
  45. package/all/copy-overwrite/.claude/agents/product-specialist.md +0 -72
  46. package/all/copy-overwrite/.claude/agents/quality-specialist.md +0 -55
  47. package/all/copy-overwrite/.claude/agents/security-specialist.md +0 -58
  48. package/all/copy-overwrite/.claude/agents/skill-evaluator.md +0 -246
  49. package/all/copy-overwrite/.claude/agents/slash-command-architect.md +0 -87
  50. package/all/copy-overwrite/.claude/agents/test-specialist.md +0 -64
  51. package/all/copy-overwrite/.claude/agents/verification-specialist.md +0 -189
  52. package/all/copy-overwrite/.claude/agents/web-search-researcher.md +0 -112
  53. package/all/copy-overwrite/.claude/commands/git/commit-and-submit-pr.md +0 -7
  54. package/all/copy-overwrite/.claude/commands/git/commit-submit-pr-and-verify.md +0 -7
  55. package/all/copy-overwrite/.claude/commands/git/commit-submit-pr-deploy-and-verify.md +0 -7
  56. package/all/copy-overwrite/.claude/commands/git/commit.md +0 -7
  57. package/all/copy-overwrite/.claude/commands/git/prune.md +0 -6
  58. package/all/copy-overwrite/.claude/commands/git/submit-pr.md +0 -7
  59. package/all/copy-overwrite/.claude/commands/jira/create.md +0 -7
  60. package/all/copy-overwrite/.claude/commands/jira/sync.md +0 -7
  61. package/all/copy-overwrite/.claude/commands/jira/verify.md +0 -7
  62. package/all/copy-overwrite/.claude/commands/lisa/review-implementation.md +0 -7
  63. package/all/copy-overwrite/.claude/commands/plan/add-test-coverage.md +0 -7
  64. package/all/copy-overwrite/.claude/commands/plan/create.md +0 -6
  65. package/all/copy-overwrite/.claude/commands/plan/execute.md +0 -7
  66. package/all/copy-overwrite/.claude/commands/plan/fix-linter-error.md +0 -7
  67. package/all/copy-overwrite/.claude/commands/plan/local-code-review.md +0 -6
  68. package/all/copy-overwrite/.claude/commands/plan/lower-code-complexity.md +0 -6
  69. package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines-per-function.md +0 -7
  70. package/all/copy-overwrite/.claude/commands/plan/reduce-max-lines.md +0 -7
  71. package/all/copy-overwrite/.claude/commands/pull-request/review.md +0 -7
  72. package/all/copy-overwrite/.claude/commands/security/zap-scan.md +0 -6
  73. package/all/copy-overwrite/.claude/commands/sonarqube/check.md +0 -6
  74. package/all/copy-overwrite/.claude/commands/sonarqube/fix.md +0 -6
  75. package/all/copy-overwrite/.claude/commands/tasks/load.md +0 -7
  76. package/all/copy-overwrite/.claude/commands/tasks/sync.md +0 -7
  77. package/all/copy-overwrite/.claude/hooks/check-tired-boss.sh +0 -61
  78. package/all/copy-overwrite/.claude/hooks/debug-hook.sh +0 -47
  79. package/all/copy-overwrite/.claude/hooks/enforce-plan-rules.sh +0 -15
  80. package/all/copy-overwrite/.claude/hooks/notify-ntfy.sh +0 -183
  81. package/all/copy-overwrite/.claude/hooks/setup-jira-cli.sh +0 -52
  82. package/all/copy-overwrite/.claude/hooks/sync-tasks.sh +0 -107
  83. package/all/copy-overwrite/.claude/hooks/ticket-sync-reminder.sh +0 -23
  84. package/all/copy-overwrite/.claude/hooks/track-plan-sessions.sh +0 -164
  85. package/all/copy-overwrite/.claude/rules/coding-philosophy.md +0 -428
  86. package/all/copy-overwrite/.claude/rules/verfication.md +0 -541
  87. package/all/copy-overwrite/.claude/skills/agent-design-best-practices/SKILL.md +0 -219
  88. package/all/copy-overwrite/.claude/skills/git-commit/SKILL.md +0 -48
  89. package/all/copy-overwrite/.claude/skills/git-commit-and-submit-pr/SKILL.md +0 -8
  90. package/all/copy-overwrite/.claude/skills/git-commit-submit-pr-and-verify/SKILL.md +0 -7
  91. package/all/copy-overwrite/.claude/skills/git-commit-submit-pr-deploy-and-verify/SKILL.md +0 -7
  92. package/all/copy-overwrite/.claude/skills/git-prune/SKILL.md +0 -35
  93. package/all/copy-overwrite/.claude/skills/git-submit-pr/SKILL.md +0 -44
  94. package/all/copy-overwrite/.claude/skills/jira-create/SKILL.md +0 -41
  95. package/all/copy-overwrite/.claude/skills/jira-sync/SKILL.md +0 -63
  96. package/all/copy-overwrite/.claude/skills/jira-verify/SKILL.md +0 -29
  97. package/all/copy-overwrite/.claude/skills/lisa-review-implementation/SKILL.md +0 -209
  98. package/all/copy-overwrite/.claude/skills/plan-add-test-coverage/SKILL.md +0 -44
  99. package/all/copy-overwrite/.claude/skills/plan-execute/SKILL.md +0 -89
  100. package/all/copy-overwrite/.claude/skills/plan-fix-linter-error/SKILL.md +0 -45
  101. package/all/copy-overwrite/.claude/skills/plan-local-code-review/SKILL.md +0 -88
  102. package/all/copy-overwrite/.claude/skills/plan-lower-code-complexity/SKILL.md +0 -44
  103. package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines/SKILL.md +0 -45
  104. package/all/copy-overwrite/.claude/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  105. package/all/copy-overwrite/.claude/skills/pull-request-review/SKILL.md +0 -68
  106. package/all/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +0 -33
  107. package/all/copy-overwrite/.claude/skills/skill-creator/LICENSE.txt +0 -202
  108. package/all/copy-overwrite/.claude/skills/skill-creator/SKILL.md +0 -210
  109. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/__pycache__/quick_validate.cpython-312.pyc +0 -0
  110. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/init_skill.py +0 -305
  111. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/package_skill.py +0 -112
  112. package/all/copy-overwrite/.claude/skills/skill-creator/scripts/quick_validate.py +0 -67
  113. package/all/copy-overwrite/.claude/skills/sonarqube-check/SKILL.md +0 -11
  114. package/all/copy-overwrite/.claude/skills/sonarqube-fix/SKILL.md +0 -8
  115. package/all/copy-overwrite/.claude/skills/tasks-load/SKILL.md +0 -88
  116. package/all/copy-overwrite/.claude/skills/tasks-sync/SKILL.md +0 -108
  117. package/eslint-plugin-code-organization/README.md +0 -149
  118. package/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +0 -473
  119. package/eslint-plugin-code-organization/index.js +0 -28
  120. package/eslint-plugin-code-organization/package.json +0 -10
  121. package/eslint-plugin-code-organization/rules/enforce-statement-order.js +0 -162
  122. package/expo/copy-overwrite/.claude/agents/ops-specialist.md +0 -124
  123. package/expo/copy-overwrite/.claude/rules/expo-verification.md +0 -261
  124. package/expo/copy-overwrite/.claude/skills/apollo-client/SKILL.md +0 -238
  125. package/expo/copy-overwrite/.claude/skills/apollo-client/references/mutation-patterns.md +0 -360
  126. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/SKILL.md +0 -360
  127. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/atomic-levels.md +0 -417
  128. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/folder-structure.md +0 -257
  129. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/references/gluestack-mapping.md +0 -233
  130. package/expo/copy-overwrite/.claude/skills/atomic-design-gluestack/scripts/validate_atomic_structure.py +0 -329
  131. package/expo/copy-overwrite/.claude/skills/container-view-pattern/SKILL.md +0 -299
  132. package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/examples.md +0 -749
  133. package/expo/copy-overwrite/.claude/skills/container-view-pattern/references/patterns.md +0 -318
  134. package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/create_component.py +0 -200
  135. package/expo/copy-overwrite/.claude/skills/container-view-pattern/scripts/validate_component.py +0 -209
  136. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/SKILL.md +0 -268
  137. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/common-issues.md +0 -619
  138. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/file-extensions.md +0 -340
  139. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/references/platform-api.md +0 -276
  140. package/expo/copy-overwrite/.claude/skills/cross-platform-compatibility/scripts/validate_cross_platform.py +0 -416
  141. package/expo/copy-overwrite/.claude/skills/directory-structure/SKILL.md +0 -202
  142. package/expo/copy-overwrite/.claude/skills/directory-structure/scripts/validate_structure.py +0 -445
  143. package/expo/copy-overwrite/.claude/skills/expo-env-config/SKILL.md +0 -309
  144. package/expo/copy-overwrite/.claude/skills/expo-env-config/references/validation-patterns.md +0 -417
  145. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/SKILL.md +0 -431
  146. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/references/official-docs.md +0 -290
  147. package/expo/copy-overwrite/.claude/skills/expo-router-best-practices/scripts/generate-route.py +0 -171
  148. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/SKILL.md +0 -411
  149. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/color-tokens.md +0 -343
  150. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/component-mapping.md +0 -307
  151. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/references/spacing-scale.md +0 -300
  152. package/expo/copy-overwrite/.claude/skills/gluestack-nativewind/scripts/validate_styling.py +0 -315
  153. package/expo/copy-overwrite/.claude/skills/local-state/SKILL.md +0 -362
  154. package/expo/copy-overwrite/.claude/skills/local-state/references/async-storage.md +0 -505
  155. package/expo/copy-overwrite/.claude/skills/local-state/references/persistence-patterns.md +0 -711
  156. package/expo/copy-overwrite/.claude/skills/local-state/references/reactive-variables.md +0 -446
  157. package/expo/copy-overwrite/.claude/skills/ops-browser-uat/SKILL.md +0 -124
  158. package/expo/copy-overwrite/.claude/skills/ops-check-logs/SKILL.md +0 -211
  159. package/expo/copy-overwrite/.claude/skills/ops-db-ops/SKILL.md +0 -119
  160. package/expo/copy-overwrite/.claude/skills/ops-deploy/SKILL.md +0 -119
  161. package/expo/copy-overwrite/.claude/skills/ops-monitor-errors/SKILL.md +0 -99
  162. package/expo/copy-overwrite/.claude/skills/ops-performance/SKILL.md +0 -165
  163. package/expo/copy-overwrite/.claude/skills/ops-run-local/SKILL.md +0 -166
  164. package/expo/copy-overwrite/.claude/skills/ops-verify-health/SKILL.md +0 -101
  165. package/expo/copy-overwrite/.claude/skills/owasp-zap/SKILL.md +0 -56
  166. package/expo/copy-overwrite/.claude/skills/playwright-selectors/SKILL.md +0 -223
  167. package/expo/copy-overwrite/.claude/skills/testing-library/SKILL.md +0 -314
  168. package/expo/copy-overwrite/.claude/skills/testing-library/references/async-patterns.md +0 -420
  169. package/expo/copy-overwrite/.claude/skills/testing-library/references/expo-router-testing.md +0 -556
  170. package/expo/copy-overwrite/.claude/skills/testing-library/references/mocking-patterns.md +0 -590
  171. package/expo/copy-overwrite/.claude/skills/testing-library/references/query-priority.md +0 -291
  172. package/expo/copy-overwrite/eslint-plugin-component-structure/README.md +0 -234
  173. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/plugin-index.test.js +0 -89
  174. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/require-memo-in-view.test.js +0 -201
  175. package/expo/copy-overwrite/eslint-plugin-component-structure/__tests__/single-component-per-file.test.js +0 -294
  176. package/expo/copy-overwrite/eslint-plugin-component-structure/index.js +0 -37
  177. package/expo/copy-overwrite/eslint-plugin-component-structure/package.json +0 -10
  178. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/enforce-component-structure.js +0 -235
  179. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/no-return-in-view.js +0 -96
  180. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/require-memo-in-view.js +0 -183
  181. package/expo/copy-overwrite/eslint-plugin-component-structure/rules/single-component-per-file.js +0 -243
  182. package/expo/copy-overwrite/eslint-plugin-ui-standards/README.md +0 -192
  183. package/expo/copy-overwrite/eslint-plugin-ui-standards/index.js +0 -31
  184. package/expo/copy-overwrite/eslint-plugin-ui-standards/package.json +0 -10
  185. package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-classname-outside-ui.js +0 -56
  186. package/expo/copy-overwrite/eslint-plugin-ui-standards/rules/no-direct-rn-imports.js +0 -60
  187. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/SKILL.md +0 -176
  188. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/advanced-features.md +0 -527
  189. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/project-patterns.md +0 -483
  190. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/quick-start.md +0 -257
  191. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/resolvers-mutations.md +0 -413
  192. package/nestjs/copy-overwrite/.claude/skills/nestjs-graphql/references/types-scalars.md +0 -513
  193. package/nestjs/copy-overwrite/.claude/skills/nestjs-rules/SKILL.md +0 -536
  194. package/nestjs/copy-overwrite/.claude/skills/security-zap-scan/SKILL.md +0 -33
  195. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/SKILL.md +0 -275
  196. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/configuration-patterns.md +0 -487
  197. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/entity-patterns.md +0 -450
  198. package/nestjs/copy-overwrite/.claude/skills/typeorm-patterns/references/observability-patterns.md +0 -536
  199. package/rails/copy-overwrite/.claude/skills/action-controller-best-practices/SKILL.md +0 -374
  200. package/rails/copy-overwrite/.claude/skills/action-view-best-practices/SKILL.md +0 -335
  201. package/rails/copy-overwrite/.claude/skills/active-record-model-best-practices/SKILL.md +0 -166
  202. package/rails/copy-overwrite/.claude/skills/plan-add-test-coverage/SKILL.md +0 -45
  203. package/rails/copy-overwrite/.claude/skills/plan-fix-linter-error/SKILL.md +0 -45
  204. package/rails/copy-overwrite/.claude/skills/plan-lower-code-complexity/SKILL.md +0 -48
  205. package/rails/copy-overwrite/.claude/skills/plan-reduce-max-lines/SKILL.md +0 -46
  206. package/rails/copy-overwrite/.claude/skills/plan-reduce-max-lines-per-function/SKILL.md +0 -46
  207. package/typescript/copy-overwrite/.claude/hooks/format-on-edit.sh +0 -76
  208. package/typescript/copy-overwrite/.claude/hooks/install-pkgs.sh +0 -64
  209. package/typescript/copy-overwrite/.claude/hooks/lint-on-edit.sh +0 -105
  210. package/typescript/copy-overwrite/.claude/hooks/sg-scan-on-edit.sh +0 -68
  211. package/typescript/copy-overwrite/.claude/skills/jsdoc-best-practices/SKILL.md +0 -432
  212. package/typescript/copy-overwrite/eslint-plugin-code-organization/README.md +0 -149
  213. package/typescript/copy-overwrite/eslint-plugin-code-organization/__tests__/enforce-statement-order.test.js +0 -473
  214. package/typescript/copy-overwrite/eslint-plugin-code-organization/index.js +0 -28
  215. package/typescript/copy-overwrite/eslint-plugin-code-organization/package.json +0 -10
  216. 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
- ```