@blerp/design 1.3.16 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/cjs/Blerp/BlerpImageRow.js +176 -57
  2. package/dist/cjs/Blerp/BlerpSavePopup.js +44 -40
  3. package/dist/cjs/Blerp/BlerpTitleRow.js +36 -19
  4. package/dist/cjs/Blerp/BlerpTopRow.js +110 -44
  5. package/dist/cjs/Blerp.js +9 -16
  6. package/dist/cjs/BlerpAudioContextProvider.js +2 -2
  7. package/dist/cjs/BlerpListView.js +318 -168
  8. package/dist/cjs/BlerpListViewPremium.js +155 -130
  9. package/dist/cjs/BlerpListViewSkeleton.js +60 -13
  10. package/dist/cjs/BlerpSkeleton.js +32 -9
  11. package/dist/cjs/CollectionCard.js +139 -60
  12. package/dist/cjs/CollectionListViewPremium.js +368 -297
  13. package/dist/cjs/CollectionSkeleton.js +74 -13
  14. package/dist/cjs/Dropdown.js +272 -172
  15. package/dist/cjs/EllipsisLoader.js +66 -21
  16. package/dist/cjs/GroupCard.js +64 -57
  17. package/dist/cjs/Icons/Icons.js +288 -426
  18. package/dist/cjs/ImageEditor.js +247 -0
  19. package/dist/cjs/ImageUpload.js +226 -0
  20. package/dist/cjs/NewBlerp.js +354 -160
  21. package/dist/cjs/NewBlerpTest.js +10 -792
  22. package/dist/cjs/NewCollectionModal.js +294 -310
  23. package/dist/cjs/PremiumCollectionCard.js +191 -454
  24. package/dist/cjs/PurchaseModals/CheckoutModal.js +1 -1
  25. package/dist/cjs/PurchaseModals/PremiumBlerpCheckoutModal.js +1 -1
  26. package/dist/cjs/PurchaseModals/PremiumCollectionCheckoutModal.js +1 -1
  27. package/dist/cjs/PurchaseModals/PremiumSubscriptionCheckoutModal.js +1 -1
  28. package/dist/cjs/ReactionButtons.js +26 -13
  29. package/dist/cjs/SnackbarContextProvider.js +200 -116
  30. package/dist/cjs/Theme.js +217 -90
  31. package/dist/cjs/Toggle.js +86 -32
  32. package/dist/cjs/UserCard.js +13 -32
  33. package/dist/cjs/UserPage/LibraryControls.js +180 -93
  34. package/dist/cjs/UserPage/UserLibraryHeader.js +23 -14
  35. package/dist/cjs/UserPage/UserProfileHeader.js +120 -105
  36. package/dist/cjs/UsernameWithPopout.js +12 -8
  37. package/dist/cjs/colors.js +15 -8
  38. package/dist/cjs/helpers.js +131 -0
  39. package/dist/cjs/index.js +98 -52
  40. package/dist/cjs/neo-components/Autocomplete.js +280 -0
  41. package/dist/cjs/neo-components/BottomNavigation.js +120 -0
  42. package/dist/cjs/neo-components/Box.js +48 -0
  43. package/dist/cjs/neo-components/Button.js +206 -0
  44. package/dist/cjs/neo-components/CircularProgress.js +92 -0
  45. package/dist/cjs/neo-components/Container.js +75 -0
  46. package/dist/cjs/neo-components/Dialog.js +441 -0
  47. package/dist/cjs/neo-components/Fab.js +237 -0
  48. package/dist/cjs/neo-components/FormControls.js +1057 -0
  49. package/dist/cjs/neo-components/Grid.js +256 -0
  50. package/dist/cjs/neo-components/IconButton.js +111 -0
  51. package/dist/cjs/neo-components/Input.js +493 -0
  52. package/dist/cjs/neo-components/Layout.js +1213 -0
  53. package/dist/cjs/neo-components/Misc.js +858 -0
  54. package/dist/cjs/neo-components/Navigation.js +1578 -0
  55. package/dist/cjs/neo-components/Paper.js +256 -0
  56. package/dist/cjs/neo-components/Stack.js +194 -0
  57. package/dist/cjs/neo-components/Stepper.js +291 -0
  58. package/dist/cjs/neo-components/Text.js +290 -0
  59. package/dist/cjs/neo-components/ThemeProvider.js +731 -0
  60. package/dist/cjs/neo-components/ToggleButton.js +223 -0
  61. package/dist/cjs/neo-components/createTheme.js +306 -0
  62. package/dist/cjs/neo-components/withSx.js +164 -0
  63. package/dist/cjs/neo-utils/sxToStyle.js +508 -0
  64. package/dist/esm/Blerp/BlerpImageRow.js +166 -46
  65. package/dist/esm/Blerp/BlerpSavePopup.js +35 -27
  66. package/dist/esm/Blerp/BlerpTitleRow.js +32 -13
  67. package/dist/esm/Blerp/BlerpTopRow.js +85 -16
  68. package/dist/esm/Blerp.js +4 -12
  69. package/dist/esm/BlerpAudioContextProvider.js +1 -2
  70. package/dist/esm/BlerpListView.js +313 -160
  71. package/dist/esm/BlerpListViewPremium.js +135 -109
  72. package/dist/esm/BlerpListViewSkeleton.js +60 -11
  73. package/dist/esm/BlerpSkeleton.js +32 -7
  74. package/dist/esm/CollectionCard.js +118 -38
  75. package/dist/esm/CollectionListViewPremium.js +367 -294
  76. package/dist/esm/CollectionSkeleton.js +73 -11
  77. package/dist/esm/Dropdown.js +260 -161
  78. package/dist/esm/EllipsisLoader.js +63 -18
  79. package/dist/esm/GroupCard.js +54 -46
  80. package/dist/esm/Icons/Icons.js +226 -367
  81. package/dist/esm/ImageEditor.js +240 -0
  82. package/dist/esm/ImageUpload.js +217 -0
  83. package/dist/esm/NewBlerp.js +282 -79
  84. package/dist/esm/NewBlerpTest.js +11 -781
  85. package/dist/esm/NewCollectionModal.js +289 -304
  86. package/dist/esm/PremiumCollectionCard.js +192 -451
  87. package/dist/esm/PurchaseModals/CheckoutModal.js +1 -1
  88. package/dist/esm/PurchaseModals/PremiumBlerpCheckoutModal.js +1 -1
  89. package/dist/esm/PurchaseModals/PremiumCollectionCheckoutModal.js +1 -1
  90. package/dist/esm/PurchaseModals/PremiumSubscriptionCheckoutModal.js +1 -1
  91. package/dist/esm/ReactionButtons.js +23 -8
  92. package/dist/esm/SnackbarContextProvider.js +196 -110
  93. package/dist/esm/Theme.js +187 -66
  94. package/dist/esm/Toggle.js +84 -29
  95. package/dist/esm/UserCard.js +1 -20
  96. package/dist/esm/UserPage/LibraryControls.js +159 -65
  97. package/dist/esm/UserPage/UserLibraryHeader.js +18 -10
  98. package/dist/esm/UserPage/UserProfileHeader.js +100 -79
  99. package/dist/esm/UsernameWithPopout.js +7 -4
  100. package/dist/esm/colors.js +11 -9
  101. package/dist/esm/helpers.js +122 -0
  102. package/dist/esm/icons.js +1 -1
  103. package/dist/esm/index.js +39 -3
  104. package/dist/esm/neo-components/Autocomplete.js +269 -0
  105. package/dist/esm/neo-components/BottomNavigation.js +109 -0
  106. package/dist/esm/neo-components/Box.js +36 -0
  107. package/dist/esm/neo-components/Button.js +194 -0
  108. package/dist/esm/neo-components/CircularProgress.js +81 -0
  109. package/dist/esm/neo-components/Container.js +63 -0
  110. package/dist/esm/neo-components/Dialog.js +423 -0
  111. package/dist/esm/neo-components/Fab.js +225 -0
  112. package/dist/esm/neo-components/FormControls.js +1041 -0
  113. package/dist/esm/neo-components/Grid.js +244 -0
  114. package/dist/esm/neo-components/IconButton.js +99 -0
  115. package/dist/esm/neo-components/Input.js +478 -0
  116. package/dist/esm/neo-components/Layout.js +1179 -0
  117. package/dist/esm/neo-components/Misc.js +840 -0
  118. package/dist/esm/neo-components/Navigation.js +1556 -0
  119. package/dist/esm/neo-components/Paper.js +243 -0
  120. package/dist/esm/neo-components/Stack.js +182 -0
  121. package/dist/esm/neo-components/Stepper.js +278 -0
  122. package/dist/esm/neo-components/Text.js +277 -0
  123. package/dist/esm/neo-components/ThemeProvider.js +718 -0
  124. package/dist/esm/neo-components/ToggleButton.js +214 -0
  125. package/dist/esm/neo-components/createTheme.js +297 -0
  126. package/dist/esm/neo-components/withSx.js +153 -0
  127. package/dist/esm/neo-utils/sxToStyle.js +502 -0
  128. package/package.json +19 -15
@@ -0,0 +1,718 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import React, { useMemo, useEffect, useContext, createContext } from 'react';
3
+
4
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5
+
6
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7
+ /**
8
+ * Blerp Theme System
9
+ * Replaces MUI ThemeProvider with CSS variables and direct color access
10
+ */
11
+
12
+ const ThemeContext = /*#__PURE__*/createContext({
13
+ mode: "light",
14
+ colors: {},
15
+ palette: {}
16
+ });
17
+ const DEFAULT_EXTENSION_COLORS = {
18
+ extensionColor1: {
19
+ light: "#ffffff",
20
+ main: "#ffffff",
21
+ dark: "#ffffff"
22
+ },
23
+ extensionColor2: {
24
+ light: "#E8E9EC",
25
+ main: "#E8E9EC",
26
+ dark: "#E8E9EC"
27
+ },
28
+ extensionColor3: {
29
+ light: "#D1D4DA",
30
+ main: "#D1D4DA",
31
+ dark: "#D1D4DA"
32
+ },
33
+ extensionColor4: {
34
+ light: "#B7BBC4",
35
+ main: "#B7BBC4",
36
+ dark: "#B7BBC4"
37
+ },
38
+ extensionColor5: {
39
+ light: "#9CA1AC",
40
+ main: "#9CA1AC",
41
+ dark: "#9CA1AC"
42
+ },
43
+ extensionColor6: {
44
+ light: "#5C616C",
45
+ main: "#5C616C",
46
+ dark: "#5C616C"
47
+ },
48
+ extensionColor6_5: {
49
+ light: "#3D3F43",
50
+ main: "#3D3F43",
51
+ dark: "#3D3F43"
52
+ },
53
+ extensionColor7: {
54
+ light: "#2C2E32",
55
+ main: "#2C2E32",
56
+ dark: "#2C2E32"
57
+ },
58
+ extensionColor8: {
59
+ light: "#25272B",
60
+ main: "#25272B",
61
+ dark: "#25272B"
62
+ },
63
+ extensionColor9: {
64
+ light: "#1A1B1E",
65
+ main: "#1A1B1E",
66
+ dark: "#1A1B1E"
67
+ },
68
+ extensionColor10: {
69
+ light: "#141518",
70
+ main: "#141518",
71
+ dark: "#141518"
72
+ }
73
+ }; // Base colors from your colors.js
74
+
75
+ const baseColors = {
76
+ white: "#ffffff",
77
+ waxing: "#F3F3F3",
78
+ waxwing: "#F3F3F3",
79
+ grey1: "#F0F2F2",
80
+ grey1Dark: "#F0F2F2",
81
+ grey2: "#1A1E1F",
82
+ grey2Dark: "#1A1E1F",
83
+ grey2LightReal: "#E2E6E7",
84
+ darkerWhite: "#E2E6E7",
85
+ grey2DarkReal: "#E2E6E7",
86
+ grey3: "#2C2E32",
87
+ grey3Dark: "#2C2E32",
88
+ grey4: "#8A9193",
89
+ grey4Dark: "#8A9193",
90
+ grey5: "#676F70",
91
+ grey5Dark: "#676F70",
92
+ grey6: "#474D4F",
93
+ grey6Dark: "#474D4F",
94
+ grey6LightReal: "#E2E6E7",
95
+ grey7LightReal: "#E2E6E7",
96
+ grey7: "#2C3233",
97
+ grey7Dark: "#2C3233",
98
+ grey8: "#1A1E1F",
99
+ grey8Dark: "#1A1E1F",
100
+ grey9: "#000000",
101
+ grey9Dark: "#050908",
102
+ notBlack: "#121212",
103
+ notBlackDark: "#1A1E1F",
104
+ black: "#000000",
105
+ discordGrey: "#2C3034",
106
+ secondaryButtonDarkGrey: "#21000C",
107
+ secondaryButtonGrey: "#8A8587",
108
+ thirdButtonGrey: "#BEBEBC",
109
+ ibisRed: "#FE295C",
110
+ starling: "#3507B4",
111
+ seafoam: "#0FEBC5",
112
+ buntingBlue: "#27AAFF",
113
+ popnYellow: "#FFD400"
114
+ }; // Color definitions matching MUI palette structure
115
+
116
+ const themeColors = {
117
+ light: _objectSpread(_objectSpread({
118
+ // Brand colors
119
+ pandaPink: "#FE295C",
120
+ pandaTeal: "#FE295C",
121
+ pandaNewTeal: "#49bea0",
122
+ darkTeal: "#058063",
123
+ // Semantic colors (MUI palette structure)
124
+ primary: {
125
+ light: baseColors.ibisRed,
126
+ main: baseColors.ibisRed,
127
+ dark: "#DB0F3F",
128
+ contrastText: "#fff"
129
+ },
130
+ secondary: {
131
+ light: baseColors.notBlack,
132
+ main: baseColors.notBlack,
133
+ dark: baseColors.notBlack,
134
+ contrastText: "#000"
135
+ },
136
+ ibisRed: {
137
+ main: baseColors.ibisRed,
138
+ light: baseColors.ibisRed,
139
+ real: baseColors.ibisRed,
140
+ dark: "#DB0F3F",
141
+ contrastText: "#FFFFFF"
142
+ },
143
+ notBlack: {
144
+ light: baseColors.notBlack,
145
+ main: baseColors.notBlack,
146
+ dark: baseColors.notBlack,
147
+ override: baseColors.notBlack,
148
+ contrastText: "#fff"
149
+ },
150
+ whiteOverride: {
151
+ light: baseColors.white,
152
+ main: baseColors.white,
153
+ real: baseColors.white,
154
+ dark: baseColors.white,
155
+ override: baseColors.white,
156
+ contrastText: "#fff"
157
+ },
158
+ white: {
159
+ real: baseColors.white,
160
+ light: baseColors.white,
161
+ main: baseColors.white,
162
+ dark: baseColors.white,
163
+ override: baseColors.white,
164
+ contrastText: "#fff"
165
+ },
166
+ neutral: {
167
+ main: "#64748B",
168
+ contrastText: "#fff"
169
+ },
170
+ darkerWhite: {
171
+ light: baseColors.grey2LightReal,
172
+ main: baseColors.grey2DarkReal,
173
+ dark: baseColors.notBlackDark,
174
+ override: baseColors.grey2DarkReal
175
+ },
176
+ success: {
177
+ main: "#49bea0",
178
+ light: "#7AD4BE",
179
+ dark: "#058063",
180
+ contrastText: "#FFFFFF"
181
+ },
182
+ error: {
183
+ main: "#DD1243",
184
+ light: "#FF5A7F",
185
+ dark: "#A00D31",
186
+ contrastText: "#FFFFFF"
187
+ },
188
+ warning: {
189
+ main: "#ff785b",
190
+ light: "#FFA08C",
191
+ dark: "#CC5F49",
192
+ contrastText: "#21000C"
193
+ },
194
+ info: {
195
+ main: "#27AAFF",
196
+ light: "#6BC4FF",
197
+ dark: "#0077CC",
198
+ contrastText: "#FFFFFF"
199
+ },
200
+ seafoam: {
201
+ light: baseColors.seafoam,
202
+ main: baseColors.seafoam,
203
+ dark: baseColors.seafoam,
204
+ contrastText: "#fff"
205
+ },
206
+ buntingBlue: {
207
+ light: baseColors.buntingBlue,
208
+ main: baseColors.buntingBlue,
209
+ dark: baseColors.buntingBlue,
210
+ contrastText: "#fff"
211
+ },
212
+ starling: {
213
+ light: baseColors.starling,
214
+ main: baseColors.starling,
215
+ dark: baseColors.starling,
216
+ contrastText: "#fff"
217
+ },
218
+ popnYellow: {
219
+ main: baseColors.popnYellow
220
+ },
221
+ // Grey scale
222
+ waxwing: {
223
+ main: baseColors.waxing,
224
+ override: baseColors.waxing,
225
+ real: baseColors.grey1
226
+ },
227
+ grey1: {
228
+ main: baseColors.grey1,
229
+ override: baseColors.grey1,
230
+ real: baseColors.grey1
231
+ },
232
+ grey2: {
233
+ main: baseColors.grey2,
234
+ override: baseColors.grey2LightReal,
235
+ real: baseColors.grey2LightReal
236
+ },
237
+ grey3: {
238
+ main: baseColors.grey3,
239
+ override: baseColors.grey3,
240
+ real: "#E6E6E6"
241
+ },
242
+ grey4: {
243
+ main: baseColors.grey4,
244
+ override: baseColors.grey4,
245
+ real: baseColors.grey4
246
+ },
247
+ grey5: {
248
+ main: baseColors.grey5,
249
+ override: baseColors.grey5,
250
+ real: baseColors.grey5
251
+ },
252
+ grey6: {
253
+ main: baseColors.grey6LightReal,
254
+ override: baseColors.grey6,
255
+ real: baseColors.grey6
256
+ },
257
+ grey7: {
258
+ main: baseColors.grey7LightReal,
259
+ override: baseColors.grey7,
260
+ real: baseColors.grey7
261
+ },
262
+ grey8: {
263
+ main: baseColors.grey8,
264
+ override: baseColors.grey8,
265
+ real: baseColors.grey8
266
+ },
267
+ grey9: {
268
+ main: baseColors.grey9,
269
+ override: baseColors.grey9,
270
+ real: baseColors.grey9
271
+ }
272
+ }, DEFAULT_EXTENSION_COLORS), {}, {
273
+ // Backgrounds
274
+ flyoutBackground: "#FFFFFF",
275
+ lighterBackground: "#F8F8F8",
276
+ defaultBackground: "#F3F3F3",
277
+ invertFlyoutBackground: "#170D11",
278
+ darkBackground: "#666",
279
+ actionBackground: "#E6E6E6",
280
+ headerBackground: "#47463F",
281
+ // Text colors
282
+ whiteText: "#FFFFFF",
283
+ primaryText: "#FFFFFF",
284
+ bodyText: "#21000C",
285
+ darkText: "#21000C",
286
+ headerText: "#21000C",
287
+ activeText: "#21000C",
288
+ secondaryText: "#47463F",
289
+ secondarySubtitleText: "#707070",
290
+ disabledText: "#BEBEBC",
291
+ placeholderText: "#BFBFBA",
292
+ headerColor: "#170D11",
293
+ // Grays
294
+ lighterGray: "#BDBDBB",
295
+ lightGray: "#BEBEBC",
296
+ secondaryGray: "#706F6B",
297
+ biteGray: "#707070",
298
+ blastZone: "#E1E1E1",
299
+ // Icons
300
+ iconsActive: "#21000C",
301
+ iconsInActive: "#47463F",
302
+ // Status
303
+ orangeStatus: "#ff785b",
304
+ darkRedStatus: "#dd1243",
305
+ statusColor: "#DD1243",
306
+ // Borders
307
+ borderColor: "#bebeb9",
308
+ inputBorderColor: "#bebeb9",
309
+ // Focus/Interactive
310
+ focusState: "#27AAFF",
311
+ focusOutline: "#3580B1",
312
+ darkBlue: "#3580B1",
313
+ // Other
314
+ togglerBackground: "#A04949",
315
+ slidePurple: "#262261",
316
+ // Darkscale colors
317
+ darkscale1: {
318
+ main: "#FFFFFF",
319
+ light: "#FFFFFF",
320
+ dark: "#FFFFFF",
321
+ contrastText: "#141518"
322
+ },
323
+ darkscale2: {
324
+ main: "#E8E9EC",
325
+ light: "#E8E9EC",
326
+ dark: "#E8E9EC",
327
+ contrastText: "#141518"
328
+ },
329
+ darkscale3: {
330
+ main: "#D1D4DA",
331
+ light: "#D1D4DA",
332
+ dark: "#D1D4DA",
333
+ contrastText: "#141518"
334
+ },
335
+ darkscale4: {
336
+ main: "#B7BBC4",
337
+ light: "#B7BBC4",
338
+ dark: "#B7BBC4",
339
+ contrastText: "#141518"
340
+ },
341
+ darkscale5: {
342
+ main: "#9CA1AC",
343
+ light: "#9CA1AC",
344
+ dark: "#9CA1AC",
345
+ contrastText: "#141518"
346
+ },
347
+ darkscale6: {
348
+ main: "#5C616C",
349
+ light: "#5C616C",
350
+ dark: "#5C616C",
351
+ contrastText: "#FFFFFF"
352
+ },
353
+ darkscale7: {
354
+ main: "#2C2E32",
355
+ light: "#2C2E32",
356
+ dark: "#2C2E32",
357
+ contrastText: "#FFFFFF"
358
+ },
359
+ darkscale8: {
360
+ main: "#25272B",
361
+ light: "#25272B",
362
+ dark: "#25272B",
363
+ contrastText: "#FFFFFF"
364
+ },
365
+ darkscale9: {
366
+ main: "#1A1B1E",
367
+ light: "#1A1B1E",
368
+ dark: "#1A1B1E",
369
+ contrastText: "#FFFFFF"
370
+ },
371
+ darkscale10: {
372
+ main: "#141518",
373
+ light: "#141518",
374
+ dark: "#141518",
375
+ contrastText: "#FFFFFF"
376
+ }
377
+ }),
378
+ dark: _objectSpread(_objectSpread({
379
+ // Brand colors (same)
380
+ pandaPink: "#FE295C",
381
+ pandaTeal: "#FE295C",
382
+ pandaNewTeal: "#49bea0",
383
+ darkTeal: "#058063",
384
+ // Semantic colors
385
+ primary: {
386
+ light: baseColors.ibisRed,
387
+ main: baseColors.ibisRed,
388
+ dark: baseColors.ibisRed,
389
+ contrastText: "#fff"
390
+ },
391
+ secondary: {
392
+ light: baseColors.notBlack,
393
+ main: baseColors.notBlack,
394
+ dark: baseColors.notBlack,
395
+ contrastText: "#000"
396
+ },
397
+ ibisRed: {
398
+ main: baseColors.ibisRed,
399
+ light: baseColors.ibisRed,
400
+ dark: baseColors.ibisRed,
401
+ contrastText: "#FFFFFF"
402
+ },
403
+ notBlack: {
404
+ light: baseColors.waxwing,
405
+ main: baseColors.waxwing,
406
+ dark: baseColors.waxwing,
407
+ override: baseColors.notBlack,
408
+ contrastText: "#000"
409
+ },
410
+ whiteOverride: {
411
+ light: baseColors.white,
412
+ main: baseColors.white,
413
+ dark: baseColors.white,
414
+ override: baseColors.white,
415
+ contrastText: "#fff"
416
+ },
417
+ white: {
418
+ light: "#000000",
419
+ main: "#000000",
420
+ dark: "#000000",
421
+ override: baseColors.white,
422
+ contrastText: "#fff"
423
+ },
424
+ black: {
425
+ main: "#ffffff",
426
+ contrastText: "#000"
427
+ },
428
+ neutral: {
429
+ main: "#64748B",
430
+ contrastText: "#fff"
431
+ },
432
+ lighterBlack: {
433
+ light: baseColors.grey2LightReal,
434
+ main: baseColors.grey2DarkReal,
435
+ dark: baseColors.notBlackDark,
436
+ override: baseColors.grey2DarkReal
437
+ },
438
+ success: {
439
+ main: "#49bea0",
440
+ light: "#7AD4BE",
441
+ dark: "#058063",
442
+ contrastText: "#FFFFFF"
443
+ },
444
+ error: {
445
+ main: "#DD1243",
446
+ light: "#FF5A7F",
447
+ dark: "#A00D31",
448
+ contrastText: "#FFFFFF"
449
+ },
450
+ warning: {
451
+ main: "#ff785b",
452
+ light: "#FFA08C",
453
+ dark: "#CC5F49",
454
+ contrastText: "#21000C"
455
+ },
456
+ info: {
457
+ main: "#27AAFF",
458
+ light: "#6BC4FF",
459
+ dark: "#0077CC",
460
+ contrastText: "#FFFFFF"
461
+ },
462
+ seafoam: {
463
+ light: baseColors.seafoam,
464
+ main: baseColors.seafoam,
465
+ dark: baseColors.seafoam,
466
+ contrastText: "#fff"
467
+ },
468
+ buntingBlue: {
469
+ light: baseColors.buntingBlue,
470
+ main: baseColors.buntingBlue,
471
+ dark: baseColors.buntingBlue,
472
+ contrastText: "#fff"
473
+ },
474
+ starling: {
475
+ light: baseColors.starling,
476
+ main: baseColors.starling,
477
+ dark: baseColors.starling,
478
+ contrastText: "#fff"
479
+ },
480
+ popnYellow: {
481
+ main: baseColors.popnYellow
482
+ },
483
+ // Grey scale (inverted)
484
+ waxwing: {
485
+ main: baseColors.notBlack,
486
+ override: baseColors.waxwing,
487
+ real: baseColors.grey1
488
+ },
489
+ grey1: {
490
+ main: baseColors.grey9Dark,
491
+ override: baseColors.grey1Dark,
492
+ real: baseColors.grey1
493
+ },
494
+ grey2: {
495
+ main: baseColors.grey8Dark,
496
+ override: baseColors.grey2DarkReal,
497
+ real: baseColors.grey2
498
+ },
499
+ grey3: {
500
+ main: baseColors.grey7Dark,
501
+ override: baseColors.grey3Dark,
502
+ real: "#E6E6E6"
503
+ },
504
+ grey4: {
505
+ main: baseColors.grey6Dark,
506
+ override: baseColors.grey4Dark,
507
+ real: baseColors.grey4
508
+ },
509
+ grey5: {
510
+ main: baseColors.grey5Dark,
511
+ override: baseColors.grey5Dark,
512
+ real: baseColors.grey5
513
+ },
514
+ grey6: {
515
+ main: baseColors.grey4Dark,
516
+ override: baseColors.grey6Dark,
517
+ real: baseColors.grey6
518
+ },
519
+ grey7: {
520
+ main: baseColors.grey3Dark,
521
+ override: baseColors.grey7Dark,
522
+ real: baseColors.grey7
523
+ },
524
+ grey8: {
525
+ main: baseColors.grey2Dark,
526
+ override: baseColors.grey8Dark,
527
+ real: baseColors.grey8
528
+ },
529
+ grey9: {
530
+ main: baseColors.grey1Dark,
531
+ override: baseColors.grey9Dark,
532
+ real: baseColors.grey9
533
+ }
534
+ }, DEFAULT_EXTENSION_COLORS), {}, {
535
+ // Backgrounds (inverted)
536
+ flyoutBackground: "#170D11",
537
+ lighterBackground: "#21000C",
538
+ defaultBackground: "#47463F",
539
+ invertFlyoutBackground: "#FFFFFF",
540
+ darkBackground: "#666",
541
+ actionBackground: "#706F6B",
542
+ headerBackground: "#47463F",
543
+ // Text colors (inverted)
544
+ whiteText: "#FFFFFF",
545
+ primaryText: "#FFFFFF",
546
+ bodyText: "#FFFFFF",
547
+ darkText: "#FFFFFF",
548
+ headerText: "#21000C",
549
+ activeText: "#21000C",
550
+ secondaryText: "#BDBDBB",
551
+ secondarySubtitleText: "#707070",
552
+ disabledText: "#BEBEBC",
553
+ placeholderText: "#BFBFBA",
554
+ headerColor: "#FFF",
555
+ // Grays (same)
556
+ lighterGray: "#BDBDBB",
557
+ lightGray: "#BEBEBC",
558
+ secondaryGray: "#706F6B",
559
+ biteGray: "#707070",
560
+ blastZone: "#E1E1E1",
561
+ // Icons
562
+ iconsActive: "#21000C",
563
+ iconsInActive: "#706F6B",
564
+ // Status (same)
565
+ orangeStatus: "#ff785b",
566
+ darkRedStatus: "#dd1243",
567
+ statusColor: "#DD1243",
568
+ // Borders (same)
569
+ borderColor: "#bebeb9",
570
+ inputBorderColor: "#bebeb9",
571
+ // Focus/Interactive
572
+ focusState: "#27AAFF",
573
+ focusOutline: "#27AAFF",
574
+ darkBlue: "#27AAFF",
575
+ // Other
576
+ togglerBackground: "#A04949",
577
+ slidePurple: "#262261",
578
+ // Darkscale colors
579
+ darkscale1: {
580
+ main: "#FFFFFF",
581
+ light: "#FFFFFF",
582
+ dark: "#FFFFFF",
583
+ contrastText: "#141518"
584
+ },
585
+ darkscale2: {
586
+ main: "#E8E9EC",
587
+ light: "#E8E9EC",
588
+ dark: "#E8E9EC",
589
+ contrastText: "#141518"
590
+ },
591
+ darkscale3: {
592
+ main: "#D1D4DA",
593
+ light: "#D1D4DA",
594
+ dark: "#D1D4DA",
595
+ contrastText: "#141518"
596
+ },
597
+ darkscale4: {
598
+ main: "#B7BBC4",
599
+ light: "#B7BBC4",
600
+ dark: "#B7BBC4",
601
+ contrastText: "#141518"
602
+ },
603
+ darkscale5: {
604
+ main: "#9CA1AC",
605
+ light: "#9CA1AC",
606
+ dark: "#9CA1AC",
607
+ contrastText: "#141518"
608
+ },
609
+ darkscale6: {
610
+ main: "#5C616C",
611
+ light: "#5C616C",
612
+ dark: "#5C616C",
613
+ contrastText: "#FFFFFF"
614
+ },
615
+ darkscale7: {
616
+ main: "#2C2E32",
617
+ light: "#2C2E32",
618
+ dark: "#2C2E32",
619
+ contrastText: "#FFFFFF"
620
+ },
621
+ darkscale8: {
622
+ main: "#25272B",
623
+ light: "#25272B",
624
+ dark: "#25272B",
625
+ contrastText: "#FFFFFF"
626
+ },
627
+ darkscale9: {
628
+ main: "#1A1B1E",
629
+ light: "#1A1B1E",
630
+ dark: "#1A1B1E",
631
+ contrastText: "#FFFFFF"
632
+ },
633
+ darkscale10: {
634
+ main: "#141518",
635
+ light: "#141518",
636
+ dark: "#141518",
637
+ contrastText: "#FFFFFF"
638
+ }
639
+ })
640
+ };
641
+ /**
642
+ * Generate CSS variables from theme colors
643
+ */
644
+
645
+ function generateCSSVariables(colors) {
646
+ let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
647
+ const vars = {};
648
+
649
+ for (const [key, value] of Object.entries(colors)) {
650
+ const varName = prefix ? "".concat(prefix, "-").concat(key) : key;
651
+
652
+ if (typeof value === "object" && value !== null) {
653
+ Object.assign(vars, generateCSSVariables(value, varName));
654
+ } else {
655
+ const cssVarName = "--".concat(varName.replace(/([A-Z])/g, "-$1").toLowerCase());
656
+ vars[cssVarName] = value;
657
+ }
658
+ }
659
+
660
+ return vars;
661
+ }
662
+ /**
663
+ * Apply CSS variables to an element
664
+ */
665
+
666
+
667
+ function applyCSSVariables(element, colors) {
668
+ const vars = generateCSSVariables(colors);
669
+
670
+ for (const [varName, value] of Object.entries(vars)) {
671
+ element.style.setProperty(varName, value);
672
+ }
673
+ }
674
+ /**
675
+ * Root Theme Provider Component
676
+ * Use this at the top of your app
677
+ */
678
+
679
+
680
+ function ThemeProvider(_ref) {
681
+ let {
682
+ children,
683
+ mode = "light",
684
+ customColors = {}
685
+ } = _ref;
686
+ const colors = useMemo(() => _objectSpread(_objectSpread({}, themeColors[mode]), customColors), [mode, customColors]);
687
+ useEffect(() => {
688
+ applyCSSVariables(document.documentElement, colors);
689
+ document.documentElement.setAttribute("data-theme", mode);
690
+ }, [mode, colors]);
691
+ const contextValue = useMemo(() => ({
692
+ mode,
693
+ colors,
694
+ palette: colors
695
+ }), [mode, colors]);
696
+ return /*#__PURE__*/React.createElement(ThemeContext.Provider, {
697
+ value: contextValue
698
+ }, children);
699
+ }
700
+ /**
701
+ * Hook to access theme
702
+ */
703
+
704
+ function useTheme() {
705
+ const context = useContext(ThemeContext); // Return a default if outside of provider (prevents crashes)
706
+
707
+ if (!context || !context.colors || Object.keys(context.colors).length === 0) {
708
+ return {
709
+ mode: "light",
710
+ colors: themeColors.light,
711
+ palette: themeColors.light
712
+ };
713
+ }
714
+
715
+ return context;
716
+ }
717
+
718
+ export { DEFAULT_EXTENSION_COLORS, ThemeProvider, ThemeProvider as default, themeColors, useTheme };