@oxyhq/bloom 0.1.28 → 0.1.29

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 (104) hide show
  1. package/README.theme.md +26 -0
  2. package/lib/commonjs/assets.d.js +2 -0
  3. package/lib/commonjs/assets.d.js.map +1 -0
  4. package/lib/commonjs/avatar/Avatar.js +10 -3
  5. package/lib/commonjs/avatar/Avatar.js.map +1 -1
  6. package/lib/commonjs/avatar/index.js +5 -1
  7. package/lib/commonjs/avatar/index.js.map +1 -1
  8. package/lib/commonjs/bottom-sheet/index.js +3 -3
  9. package/lib/commonjs/bottom-sheet/index.js.map +1 -1
  10. package/lib/commonjs/context-menu/index.web.js +1 -1
  11. package/lib/commonjs/context-menu/index.web.js.map +1 -1
  12. package/lib/commonjs/icons/index.js +1 -16
  13. package/lib/commonjs/icons/index.js.map +1 -1
  14. package/lib/commonjs/index.js +0 -15
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/loading/Loading.js +5 -1
  17. package/lib/commonjs/loading/Loading.js.map +1 -1
  18. package/lib/commonjs/loading/SpinnerIcon.js +10 -2
  19. package/lib/commonjs/loading/SpinnerIcon.js.map +1 -1
  20. package/lib/commonjs/prompt-input/Textarea.web.js +1 -1
  21. package/lib/commonjs/prompt-input/Textarea.web.js.map +1 -1
  22. package/lib/commonjs/settings-list/SettingsList.js +27 -3
  23. package/lib/commonjs/settings-list/SettingsList.js.map +1 -1
  24. package/lib/commonjs/theme/adaptive-colors.js +6 -2
  25. package/lib/commonjs/theme/adaptive-colors.js.map +1 -1
  26. package/lib/commonjs/theme/color-presets.js +48 -1
  27. package/lib/commonjs/theme/color-presets.js.map +1 -1
  28. package/lib/module/assets.d.js +2 -0
  29. package/lib/module/assets.d.js.map +1 -0
  30. package/lib/module/avatar/Avatar.js +9 -3
  31. package/lib/module/avatar/Avatar.js.map +1 -1
  32. package/lib/module/avatar/index.js +4 -1
  33. package/lib/module/avatar/index.js.map +1 -1
  34. package/lib/module/bottom-sheet/index.js +3 -3
  35. package/lib/module/bottom-sheet/index.js.map +1 -1
  36. package/lib/module/context-menu/index.web.js +1 -1
  37. package/lib/module/context-menu/index.web.js.map +1 -1
  38. package/lib/module/icons/index.js +0 -1
  39. package/lib/module/icons/index.js.map +1 -1
  40. package/lib/module/index.js +0 -1
  41. package/lib/module/index.js.map +1 -1
  42. package/lib/module/loading/Loading.js +5 -1
  43. package/lib/module/loading/Loading.js.map +1 -1
  44. package/lib/module/loading/SpinnerIcon.js +10 -2
  45. package/lib/module/loading/SpinnerIcon.js.map +1 -1
  46. package/lib/module/prompt-input/Textarea.web.js +1 -1
  47. package/lib/module/prompt-input/Textarea.web.js.map +1 -1
  48. package/lib/module/settings-list/SettingsList.js +27 -3
  49. package/lib/module/settings-list/SettingsList.js.map +1 -1
  50. package/lib/module/theme/adaptive-colors.js +6 -2
  51. package/lib/module/theme/adaptive-colors.js.map +1 -1
  52. package/lib/module/theme/color-presets.js +48 -1
  53. package/lib/module/theme/color-presets.js.map +1 -1
  54. package/lib/typescript/commonjs/__tests__/SettingsList.test.d.ts +2 -0
  55. package/lib/typescript/commonjs/__tests__/SettingsList.test.d.ts.map +1 -0
  56. package/lib/typescript/commonjs/avatar/Avatar.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/avatar/index.d.ts +1 -1
  58. package/lib/typescript/commonjs/avatar/index.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/icons/index.d.ts +0 -1
  60. package/lib/typescript/commonjs/icons/index.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/index.d.ts +0 -1
  62. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/loading/Loading.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/loading/SpinnerIcon.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/settings-list/SettingsList.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/settings-list/types.d.ts +8 -0
  67. package/lib/typescript/commonjs/settings-list/types.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/theme/adaptive-colors.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/theme/color-presets.d.ts +1 -1
  70. package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
  71. package/lib/typescript/module/__tests__/SettingsList.test.d.ts +2 -0
  72. package/lib/typescript/module/__tests__/SettingsList.test.d.ts.map +1 -0
  73. package/lib/typescript/module/avatar/Avatar.d.ts.map +1 -1
  74. package/lib/typescript/module/avatar/index.d.ts +1 -1
  75. package/lib/typescript/module/avatar/index.d.ts.map +1 -1
  76. package/lib/typescript/module/icons/index.d.ts +0 -1
  77. package/lib/typescript/module/icons/index.d.ts.map +1 -1
  78. package/lib/typescript/module/index.d.ts +0 -1
  79. package/lib/typescript/module/index.d.ts.map +1 -1
  80. package/lib/typescript/module/loading/Loading.d.ts.map +1 -1
  81. package/lib/typescript/module/loading/SpinnerIcon.d.ts.map +1 -1
  82. package/lib/typescript/module/settings-list/SettingsList.d.ts.map +1 -1
  83. package/lib/typescript/module/settings-list/types.d.ts +8 -0
  84. package/lib/typescript/module/settings-list/types.d.ts.map +1 -1
  85. package/lib/typescript/module/theme/adaptive-colors.d.ts.map +1 -1
  86. package/lib/typescript/module/theme/color-presets.d.ts +1 -1
  87. package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
  88. package/package.json +1 -1
  89. package/src/__tests__/BloomThemeProvider.test.tsx +2 -2
  90. package/src/__tests__/SettingsList.test.tsx +76 -0
  91. package/src/assets.d.ts +26 -0
  92. package/src/avatar/Avatar.tsx +8 -2
  93. package/src/avatar/index.ts +4 -1
  94. package/src/bottom-sheet/index.tsx +3 -3
  95. package/src/context-menu/index.web.tsx +1 -1
  96. package/src/icons/index.ts +0 -1
  97. package/src/index.ts +0 -1
  98. package/src/loading/Loading.tsx +5 -1
  99. package/src/loading/SpinnerIcon.tsx +10 -2
  100. package/src/prompt-input/Textarea.web.tsx +1 -1
  101. package/src/settings-list/SettingsList.tsx +30 -3
  102. package/src/settings-list/types.ts +8 -0
  103. package/src/theme/adaptive-colors.ts +6 -2
  104. package/src/theme/color-presets.ts +50 -2
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAM/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA8P3C,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../../src/avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0C,MAAM,OAAO,CAAC;AAM/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAoQ3C,eAAO,MAAM,MAAM,yCAAwB,CAAC"}
@@ -3,5 +3,5 @@ export { AvatarPlaceholderProvider } from './placeholder-context';
3
3
  export type { AvatarPlaceholderConfig } from './placeholder-context';
4
4
  export type { AvatarProps, AvatarShape } from './types';
5
5
  /** Default avatar placeholder image — use as `fallbackSource` on Avatar or in AvatarPlaceholderProvider */
6
- export declare const defaultAvatarSource: any;
6
+ export declare const defaultAvatarSource: number;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAExD,2GAA2G;AAC3G,eAAO,MAAM,mBAAmB,KAAkC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,YAAY,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACrE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKxD,2GAA2G;AAC3G,eAAO,MAAM,mBAAmB,QAAgB,CAAC"}
@@ -152,5 +152,4 @@ export * from './Wrench';
152
152
  export * from './Zap';
153
153
  export type { Props } from './common';
154
154
  export { sizes, useCommonSVGProps } from './common';
155
- export { createSinglePathSVG, createMultiPathSVG } from './TEMPLATE';
156
155
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/icons/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,6 @@ export { useDelayedLoading } from './hooks/useDelayedLoading';
8
8
  export { useThrottledValue } from './hooks/useThrottledValue';
9
9
  export * as Icons from './icons';
10
10
  export { type Props as IconProps, sizes as iconSizes, useCommonSVGProps } from './icons/common';
11
- export { createSinglePathSVG, createMultiPathSVG } from './icons/TEMPLATE';
12
11
  export * from './portal';
13
12
  export * as Dialog from './dialog';
14
13
  export * as Prompt from './prompt';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,KAAK,IAAI,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,cAAc,UAAU,CAAC;AACzB,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,KAAK,IAAI,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGhG,cAAc,UAAU,CAAC;AACzB,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAGjC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAGzC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAMxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AAwPjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
1
+ {"version":3,"file":"Loading.d.ts","sourceRoot":"","sources":["../../../../src/loading/Loading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAMxD,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,SAAS,CAAC;AA4PjB,eAAO,MAAM,OAAO,0CAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAoCjE,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AA2ED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuBlD,CAAC"}
1
+ {"version":3,"file":"SpinnerIcon.d.ts","sourceRoot":"","sources":["../../../../src/loading/SpinnerIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AA4CjE,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AA2ED;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuBlD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsList.d.ts","sourceRoot":"","sources":["../../../../src/settings-list/SettingsList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAKpC,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAejB,eAAO,MAAM,gBAAgB,mDAyE3B,CAAC;AAIH,eAAO,MAAM,iBAAiB,oDA6C5B,CAAC;AAIH,eAAO,MAAM,mBAAmB,sDAY/B,CAAC"}
1
+ {"version":3,"file":"SettingsList.d.ts","sourceRoot":"","sources":["../../../../src/settings-list/SettingsList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AAKpC,OAAO,KAAK,EACV,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAejB,eAAO,MAAM,gBAAgB,mDAoG3B,CAAC;AAIH,eAAO,MAAM,iBAAiB,oDA6C5B,CAAC;AAIH,eAAO,MAAM,mBAAmB,sDAY/B,CAAC"}
@@ -18,6 +18,14 @@ export interface SettingsListItemProps {
18
18
  onPress?: () => void;
19
19
  /** Disabled state */
20
20
  disabled?: boolean;
21
+ /** Accessibility label override */
22
+ accessibilityLabel?: string;
23
+ /** Accessibility hint override */
24
+ accessibilityHint?: string;
25
+ /** Accessibility role override (defaults to button when pressable) */
26
+ accessibilityRole?: 'button' | 'link' | 'none';
27
+ /** Left inset to align text when no icon is provided */
28
+ leftInset?: number;
21
29
  }
22
30
  export interface SettingsListGroupProps {
23
31
  /** Optional section header text */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/settings-list/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qCAAqC;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/settings-list/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,gEAAgE;IAChE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kCAAkC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/C,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qCAAqC;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACvC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"adaptive-colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/adaptive-colors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAoF3C,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAItD"}
1
+ {"version":3,"file":"adaptive-colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/adaptive-colors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAwF3C,wBAAgB,iBAAiB,IAAI,WAAW,GAAG,IAAI,CAItD"}
@@ -1,4 +1,4 @@
1
- export type AppColorName = 'teal' | 'blue' | 'green' | 'amber' | 'red' | 'purple' | 'pink' | 'sky' | 'orange' | 'mint' | 'oxy';
1
+ export type AppColorName = 'teal' | 'blue' | 'green' | 'amber' | 'yellow' | 'red' | 'purple' | 'pink' | 'sky' | 'orange' | 'mint' | 'oxy';
2
2
  export interface AppColorPreset {
3
3
  name: AppColorName;
4
4
  hex: string;
@@ -1 +1 @@
1
- {"version":3,"file":"color-presets.d.ts","sourceRoot":"","sources":["../../../../src/theme/color-presets.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAE/H,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,EAAyF,CAAC;AAEpI,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAYzD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE3D;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,CAqgBlE,CAAC"}
1
+ {"version":3,"file":"color-presets.d.ts","sourceRoot":"","sources":["../../../../src/theme/color-presets.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAE1I,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,eAAe,EAAE,YAAY,EAA0G,CAAC;AAErJ,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAazD,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE3D;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,YAAY,EAAE,cAAc,CAojBlE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxyhq/bloom",
3
- "version": "0.1.28",
3
+ "version": "0.1.29",
4
4
  "description": "Bloom UI — Oxy ecosystem component library for React Native + Expo + Web",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -57,13 +57,13 @@ describe('BloomThemeProvider', () => {
57
57
  expect(getByTestId('isLight').props.children).toBe('false');
58
58
  });
59
59
 
60
- it('uses teal as default color preset', () => {
60
+ it('uses oxy as default color preset', () => {
61
61
  const { getByTestId } = render(
62
62
  <BloomThemeProvider>
63
63
  <BloomThemeDisplay />
64
64
  </BloomThemeProvider>,
65
65
  );
66
- expect(getByTestId('ctx-preset').props.children).toBe('teal');
66
+ expect(getByTestId('ctx-preset').props.children).toBe('oxy');
67
67
  });
68
68
 
69
69
  it('applies the specified color preset', () => {
@@ -0,0 +1,76 @@
1
+ jest.mock('react-native-svg', () => ({
2
+ __esModule: true,
3
+ default: 'Svg',
4
+ Path: 'Path',
5
+ }));
6
+
7
+ import React from 'react';
8
+ import { fireEvent, render } from '@testing-library/react-native';
9
+ import { StyleSheet } from 'react-native';
10
+
11
+ import { BloomThemeProvider } from '../theme/BloomThemeProvider';
12
+ import { SettingsListItem } from '../settings-list/SettingsList';
13
+
14
+ let consoleErrorSpy: jest.SpyInstance;
15
+
16
+ beforeAll(() => {
17
+ consoleErrorSpy = jest.spyOn(console, 'error').mockImplementation(() => {});
18
+ });
19
+
20
+ afterAll(() => {
21
+ consoleErrorSpy.mockRestore();
22
+ });
23
+
24
+ function renderWithTheme(ui: React.ReactElement) {
25
+ return render(
26
+ <BloomThemeProvider mode="light" colorPreset="teal">
27
+ {ui}
28
+ </BloomThemeProvider>,
29
+ );
30
+ }
31
+
32
+ describe('SettingsListItem', () => {
33
+ it('renders title and description', () => {
34
+ const { getByText } = renderWithTheme(
35
+ <SettingsListItem title="Title" description="Description" />,
36
+ );
37
+
38
+ expect(getByText('Title')).toBeTruthy();
39
+ expect(getByText('Description')).toBeTruthy();
40
+ });
41
+
42
+ it('calls onPress when pressed', () => {
43
+ const onPress = jest.fn();
44
+ const { getByText } = renderWithTheme(
45
+ <SettingsListItem title="Press me" onPress={onPress} />,
46
+ );
47
+
48
+ fireEvent.press(getByText('Press me'));
49
+ expect(onPress).toHaveBeenCalledTimes(1);
50
+ });
51
+
52
+ it('sets accessibility props when pressable', () => {
53
+ const { getByLabelText } = renderWithTheme(
54
+ <SettingsListItem
55
+ title="Accessible"
56
+ onPress={() => {}}
57
+ accessibilityLabel="Custom label"
58
+ accessibilityHint="Custom hint"
59
+ />,
60
+ );
61
+
62
+ const node = getByLabelText('Custom label');
63
+ expect(node.props.accessibilityRole).toBe('button');
64
+ expect(node.props.accessibilityLabel).toBe('Custom label');
65
+ expect(node.props.accessibilityHint).toBe('Custom hint');
66
+ });
67
+
68
+ it('respects left inset when provided', () => {
69
+ const { getByTestId } = renderWithTheme(
70
+ <SettingsListItem title="Inset" leftInset={32} />,
71
+ );
72
+
73
+ const content = getByTestId('settings-list-item-content');
74
+ expect(content.props['data-left-inset']).toBe(32);
75
+ });
76
+ });
@@ -0,0 +1,26 @@
1
+ /** Ambient module declarations for static image assets (Metro + web bundlers). */
2
+
3
+ declare module '*.jpg' {
4
+ const value: number; // Metro returns a numeric asset ID; web bundlers return a URL string at runtime
5
+ export default value;
6
+ }
7
+
8
+ declare module '*.jpeg' {
9
+ const value: number;
10
+ export default value;
11
+ }
12
+
13
+ declare module '*.png' {
14
+ const value: number;
15
+ export default value;
16
+ }
17
+
18
+ declare module '*.gif' {
19
+ const value: number;
20
+ export default value;
21
+ }
22
+
23
+ declare module '*.webp' {
24
+ const value: number;
25
+ export default value;
26
+ }
@@ -7,7 +7,8 @@ import { useAvatarPlaceholder } from './placeholder-context';
7
7
  import type { AvatarProps } from './types';
8
8
 
9
9
  // Built-in default avatar image — used when no source, fallbackSource, or placeholderIcon is provided
10
- const DEFAULT_AVATAR_IMAGE = require('./default-avatar.jpg');
10
+ // ESM static import works in both Metro (RN 0.72+) and web bundlers (Vite, webpack).
11
+ import DEFAULT_AVATAR_IMAGE from './default-avatar.jpg';
11
12
 
12
13
  // Squircle clip path normalized to 0–1 coordinate space (viewBox="0 0 1 1").
13
14
  const SQUIRCLE_PATH =
@@ -28,7 +29,12 @@ function getSvgModule(): SvgModuleType | null {
28
29
  if (!svgModuleResolved) {
29
30
  svgModuleResolved = true;
30
31
  try {
31
- svgModule = require('react-native-svg');
32
+ // Guard for ESM environments (Vite/browser) where require is not defined.
33
+ // In React Native (Metro), require is always available.
34
+ if (typeof require !== 'undefined') {
35
+ const moduleName = 'react-native-svg';
36
+ svgModule = require(moduleName);
37
+ }
32
38
  } catch {
33
39
  svgModule = null;
34
40
  }
@@ -3,5 +3,8 @@ export { AvatarPlaceholderProvider } from './placeholder-context';
3
3
  export type { AvatarPlaceholderConfig } from './placeholder-context';
4
4
  export type { AvatarProps, AvatarShape } from './types';
5
5
 
6
+ // ESM static import works in both Metro (RN 0.72+) and web bundlers (Vite, webpack).
7
+ import defaultAvatar from './default-avatar.jpg';
8
+
6
9
  /** Default avatar placeholder image — use as `fallbackSource` on Avatar or in AvatarPlaceholderProvider */
7
- export const defaultAvatarSource = require('./default-avatar.jpg');
10
+ export const defaultAvatarSource = defaultAvatar;
@@ -26,10 +26,10 @@ import { useTheme } from '../theme/use-theme';
26
26
  // Keyboard handler — only on native platforms. On web, keyboard events are handled by the browser.
27
27
  const noopKeyboardHandler = (_handlers: Record<string, (e: { height: number }) => void>, _deps: unknown[]) => {};
28
28
  let useKeyboardHandler: (handlers: Record<string, (e: { height: number }) => void>, deps: unknown[]) => void = noopKeyboardHandler;
29
- if (Platform.OS !== 'web') {
29
+ if (Platform.OS !== 'web' && typeof require !== 'undefined') {
30
30
  try {
31
- // eslint-disable-next-line @typescript-eslint/no-require-imports
32
- useKeyboardHandler = require('react-native-keyboard-controller').useKeyboardHandler;
31
+ const moduleName = 'react-native-keyboard-controller';
32
+ useKeyboardHandler = require(moduleName).useKeyboardHandler;
33
33
  } catch {
34
34
  // react-native-keyboard-controller not available
35
35
  }
@@ -152,7 +152,7 @@ export function Outer({ children, style }: OuterProps) {
152
152
  const { isOpen, close, position } = ctx;
153
153
 
154
154
  useEffect(() => {
155
- if (!isOpen) return;
155
+ if (!isOpen || typeof document === 'undefined') return;
156
156
 
157
157
  const handleKeyDown = (e: KeyboardEvent) => {
158
158
  if (e.key === 'Escape') {
@@ -152,4 +152,3 @@ export * from './Wrench';
152
152
  export * from './Zap';
153
153
  export type { Props } from './common';
154
154
  export { sizes, useCommonSVGProps } from './common';
155
- export { createSinglePathSVG, createMultiPathSVG } from './TEMPLATE';
package/src/index.ts CHANGED
@@ -15,7 +15,6 @@ export { useThrottledValue } from './hooks/useThrottledValue';
15
15
  // Icons
16
16
  export * as Icons from './icons';
17
17
  export { type Props as IconProps, sizes as iconSizes, useCommonSVGProps } from './icons/common';
18
- export { createSinglePathSVG, createMultiPathSVG } from './icons/TEMPLATE';
19
18
 
20
19
  // Core components
21
20
  export * from './portal';
@@ -27,7 +27,11 @@ function getReanimated(): ReanimatedType | null {
27
27
  if (!reanimatedResolved) {
28
28
  reanimatedResolved = true;
29
29
  try {
30
- reanimatedModule = require('react-native-reanimated');
30
+ // Guard for ESM environments (Vite/browser) where require is not defined.
31
+ if (typeof require !== 'undefined') {
32
+ const moduleName = 'react-native-reanimated';
33
+ reanimatedModule = require(moduleName);
34
+ }
31
35
  } catch {
32
36
  reanimatedModule = null;
33
37
  }
@@ -15,7 +15,11 @@ function getSvgModule(): SvgModuleType | null {
15
15
  if (!svgModuleResolved) {
16
16
  svgModuleResolved = true;
17
17
  try {
18
- svgModule = require('react-native-svg');
18
+ // Guard for ESM environments (Vite/browser) where require is not defined.
19
+ if (typeof require !== 'undefined') {
20
+ const moduleName = 'react-native-svg';
21
+ svgModule = require(moduleName);
22
+ }
19
23
  } catch {
20
24
  svgModule = null;
21
25
  }
@@ -27,7 +31,11 @@ function getReanimated(): ReanimatedType | null {
27
31
  if (!reanimatedResolved) {
28
32
  reanimatedResolved = true;
29
33
  try {
30
- reanimatedModule = require('react-native-reanimated');
34
+ // Guard for ESM environments (Vite/browser) where require is not defined.
35
+ if (typeof require !== 'undefined') {
36
+ const moduleName = 'react-native-reanimated';
37
+ reanimatedModule = require(moduleName);
38
+ }
31
39
  } catch {
32
40
  reanimatedModule = null;
33
41
  }
@@ -38,7 +38,7 @@ export function PromptInputTextarea({
38
38
 
39
39
  // Web-only: paste event listener for images
40
40
  useEffect(() => {
41
- if (!onImagePaste) return;
41
+ if (!onImagePaste || typeof document === 'undefined') return;
42
42
 
43
43
  const handlePaste = (e: ClipboardEvent) => {
44
44
  const activeElement = document.activeElement;
@@ -32,14 +32,28 @@ export const SettingsListItem = memo<SettingsListItemProps>(function SettingsLis
32
32
  destructive = false,
33
33
  onPress,
34
34
  disabled = false,
35
+ accessibilityLabel,
36
+ accessibilityHint,
37
+ accessibilityRole,
38
+ leftInset,
35
39
  }) {
36
40
  const theme = useTheme();
37
41
  const hasChevron = showChevron ?? Boolean(onPress);
38
42
  const titleColor = destructive ? theme.colors.error : theme.colors.text;
39
43
  const pressedOpacity = disabled ? 1 : 0.6;
40
44
 
45
+ const role = accessibilityRole ?? (onPress ? 'button' : 'none');
46
+ const label = accessibilityLabel ?? title;
47
+
41
48
  const content = (
42
- <View style={styles.itemContainer}>
49
+ <View
50
+ style={[
51
+ styles.itemContainer,
52
+ leftInset !== undefined ? { paddingLeft: leftInset } : undefined,
53
+ ]}
54
+ testID="settings-list-item-content"
55
+ data-left-inset={leftInset}
56
+ >
43
57
  {icon ? (
44
58
  <View style={styles.iconContainer}>{icon}</View>
45
59
  ) : null}
@@ -83,7 +97,11 @@ export const SettingsListItem = memo<SettingsListItemProps>(function SettingsLis
83
97
  <Pressable
84
98
  onPress={onPress}
85
99
  disabled={disabled}
86
- android_ripple={{ color: theme.colors.border }}
100
+ android_ripple={{ color: theme.colors.border }}
101
+ accessibilityRole={role}
102
+ accessibilityLabel={label}
103
+ accessibilityHint={accessibilityHint}
104
+ accessibilityState={disabled ? { disabled: true } : undefined}
87
105
  style={({ pressed }) => [
88
106
  disabled && styles.disabled,
89
107
  pressed && { opacity: pressedOpacity },
@@ -94,7 +112,16 @@ export const SettingsListItem = memo<SettingsListItemProps>(function SettingsLis
94
112
  );
95
113
  }
96
114
 
97
- return content;
115
+ return (
116
+ <View
117
+ accessibilityRole={role}
118
+ accessibilityLabel={label}
119
+ accessibilityHint={accessibilityHint}
120
+ accessibilityState={disabled ? { disabled: true } : undefined}
121
+ >
122
+ {content}
123
+ </View>
124
+ );
98
125
  });
99
126
 
100
127
  // ── SettingsListGroup ───────────────────────────────────────────
@@ -19,6 +19,14 @@ export interface SettingsListItemProps {
19
19
  onPress?: () => void;
20
20
  /** Disabled state */
21
21
  disabled?: boolean;
22
+ /** Accessibility label override */
23
+ accessibilityLabel?: string;
24
+ /** Accessibility hint override */
25
+ accessibilityHint?: string;
26
+ /** Accessibility role override (defaults to button when pressable) */
27
+ accessibilityRole?: 'button' | 'link' | 'none';
28
+ /** Left inset to align text when no icon is provided */
29
+ leftInset?: number;
22
30
  }
23
31
 
24
32
  export interface SettingsListGroupProps {
@@ -5,7 +5,9 @@ const c = (v: unknown): string => v as string;
5
5
 
6
6
  function getAndroidColors(): ThemeColors | null {
7
7
  try {
8
- const { Color } = require('expo-router');
8
+ if (typeof require === 'undefined') return null;
9
+ const moduleName = 'expo-router';
10
+ const { Color } = require(moduleName);
9
11
  const d = Color.android.dynamic;
10
12
  return {
11
13
  background: c(d.surface),
@@ -45,7 +47,9 @@ function getAndroidColors(): ThemeColors | null {
45
47
 
46
48
  function getIOSColors(): ThemeColors | null {
47
49
  try {
48
- const { Color } = require('expo-router');
50
+ if (typeof require === 'undefined') return null;
51
+ const moduleName = 'expo-router';
52
+ const { Color } = require(moduleName);
49
53
  const i = Color.ios;
50
54
  return {
51
55
  background: c(i.systemBackground),
@@ -1,4 +1,4 @@
1
- export type AppColorName = 'teal' | 'blue' | 'green' | 'amber' | 'red' | 'purple' | 'pink' | 'sky' | 'orange' | 'mint' | 'oxy';
1
+ export type AppColorName = 'teal' | 'blue' | 'green' | 'amber' | 'yellow' | 'red' | 'purple' | 'pink' | 'sky' | 'orange' | 'mint' | 'oxy';
2
2
 
3
3
  export interface AppColorPreset {
4
4
  name: AppColorName;
@@ -7,13 +7,14 @@ export interface AppColorPreset {
7
7
  dark: Record<string, string>;
8
8
  }
9
9
 
10
- export const APP_COLOR_NAMES: AppColorName[] = ['teal', 'blue', 'green', 'amber', 'red', 'purple', 'pink', 'sky', 'orange', 'mint'];
10
+ export const APP_COLOR_NAMES: AppColorName[] = ['teal', 'blue', 'green', 'amber', 'yellow', 'red', 'purple', 'pink', 'sky', 'orange', 'mint', 'oxy'];
11
11
 
12
12
  export const HEX_TO_APP_COLOR: Record<string, AppColorName> = {
13
13
  '#005c67': 'teal',
14
14
  '#1d9bf0': 'blue',
15
15
  '#10b981': 'green',
16
16
  '#f59e0b': 'amber',
17
+ '#ffc300': 'yellow',
17
18
  '#ef4444': 'red',
18
19
  '#8b5cf6': 'purple',
19
20
  '#ec4899': 'pink',
@@ -216,6 +217,53 @@ export const APP_COLOR_PRESETS: Record<AppColorName, AppColorPreset> = {
216
217
  },
217
218
  },
218
219
 
220
+ yellow: {
221
+ name: 'yellow',
222
+ hex: '#ffc300',
223
+ light: {
224
+ '--background': '0 0% 99%',
225
+ '--foreground': '0 0% 12%',
226
+ '--surface': '46 10% 97%',
227
+ '--surface-foreground': '0 0% 12%',
228
+ '--popover': '0 0% 100%',
229
+ '--popover-foreground': '0 0% 12%',
230
+ '--primary': '46 100% 50%',
231
+ '--primary-foreground': '0 0% 0%',
232
+ '--secondary': '46 8% 95%',
233
+ '--secondary-foreground': '0 0% 12%',
234
+ '--muted': '46 8% 95%',
235
+ '--muted-foreground': '46 5% 42%',
236
+ '--accent': '46 8% 95%',
237
+ '--accent-foreground': '0 0% 12%',
238
+ '--destructive': '0 84% 60%',
239
+ '--border': '46 8% 88%',
240
+ '--input': '46 8% 88%',
241
+ '--ring': '46 100% 50%',
242
+ '--sidebar': '46 10% 97%',
243
+ },
244
+ dark: {
245
+ '--background': '46 50% 5%',
246
+ '--foreground': '0 0% 93%',
247
+ '--surface': '46 20% 18%',
248
+ '--surface-foreground': '0 0% 93%',
249
+ '--popover': '46 20% 18%',
250
+ '--popover-foreground': '0 0% 93%',
251
+ '--primary': '46 100% 50%',
252
+ '--primary-foreground': '0 0% 0%',
253
+ '--secondary': '46 20% 18%',
254
+ '--secondary-foreground': '0 0% 93%',
255
+ '--muted': '46 18% 20%',
256
+ '--muted-foreground': '0 0% 70%',
257
+ '--accent': '46 18% 20%',
258
+ '--accent-foreground': '0 0% 93%',
259
+ '--destructive': '0 84% 60%',
260
+ '--border': '46 12% 20%',
261
+ '--input': '46 10% 23%',
262
+ '--ring': '46 100% 50%',
263
+ '--sidebar': '46 30% 8%',
264
+ },
265
+ },
266
+
219
267
  red: {
220
268
  name: 'red',
221
269
  hex: '#EF4444',