@nobak/design-system 1.0.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 (304) hide show
  1. package/LICENSE +73 -0
  2. package/README.md +142 -0
  3. package/lib/assets/icons.js +67 -0
  4. package/lib/components/AccountOverview/AccountOverview.js +122 -0
  5. package/lib/components/AdminPanel.js +58 -0
  6. package/lib/components/AssetExchange/AssetExchange.js +189 -0
  7. package/lib/components/AuthenticationFlow.js +216 -0
  8. package/lib/components/ConversationInterface/ConversationInterface.js +232 -0
  9. package/lib/components/DevFooter.js +38 -0
  10. package/lib/components/DevMenu.js +35 -0
  11. package/lib/components/DevSidebar.js +28 -0
  12. package/lib/components/DigitalDisplay.js +83 -0
  13. package/lib/components/Footer.js +45 -0
  14. package/lib/components/HeroContainer.js +10 -0
  15. package/lib/components/IntentRecognition/IntentRecognition.js +174 -0
  16. package/lib/components/Logo.js +259 -0
  17. package/lib/components/MenuBar.js +56 -0
  18. package/lib/components/NetworkSettings.js +223 -0
  19. package/lib/components/RecoverySetup/RecoverySetup.js +354 -0
  20. package/lib/components/RisingSun.js +122 -0
  21. package/lib/components/Symbol.js +226 -0
  22. package/lib/components/TransactionComposer/TransactionComposer.js +258 -0
  23. package/lib/components/TransactionConfirmation.js +184 -0
  24. package/lib/components/WalletMenu.js +33 -0
  25. package/lib/components/console/code/CodeBlock.js +150 -0
  26. package/lib/components/console/code/index.js +9 -0
  27. package/lib/components/console/data/DataTable.js +245 -0
  28. package/lib/components/console/data/MetricCard.js +79 -0
  29. package/lib/components/console/data/index.js +11 -0
  30. package/lib/components/console/documentation/index.js +10 -0
  31. package/lib/components/console/forms/APIKeyGenerator.js +261 -0
  32. package/lib/components/console/forms/SearchBar.js +210 -0
  33. package/lib/components/console/forms/index.js +10 -0
  34. package/lib/components/console/index.js +29 -0
  35. package/lib/components/console/layout/ConsoleCard.js +82 -0
  36. package/lib/components/console/layout/ConsoleLayout.js +86 -0
  37. package/lib/components/console/layout/index.js +10 -0
  38. package/lib/components/console/monitoring/StatusIndicator.js +128 -0
  39. package/lib/components/console/monitoring/index.js +9 -0
  40. package/lib/components/console/navigation/DevFooter.js +38 -0
  41. package/lib/components/console/navigation/DevMenu.js +35 -0
  42. package/lib/components/console/navigation/DevSidebar.js +28 -0
  43. package/lib/components/console/navigation/index.js +11 -0
  44. package/lib/components/console/settings/index.js +10 -0
  45. package/lib/components/index.js +12 -0
  46. package/lib/design/ColorPicker.stories.js +9 -0
  47. package/lib/design/HSLTool-V1.js +345 -0
  48. package/lib/design/HSLTool-V2.js +475 -0
  49. package/lib/design/HSLTool-V3.js +543 -0
  50. package/lib/design/HSLTool-V4.js +1139 -0
  51. package/lib/design/HSLTool.js +374 -0
  52. package/lib/design/OKLCHColorPicker.stories.js +24 -0
  53. package/lib/design/OKLCHTool.js +1014 -0
  54. package/lib/index.js +4 -0
  55. package/lib/shared/components/Avatar/Avatar.js +18 -0
  56. package/lib/shared/components/Avatar/index.js +1 -0
  57. package/lib/shared/components/Badge/Badge.js +34 -0
  58. package/lib/shared/components/Badge/index.js +1 -0
  59. package/lib/shared/components/Breadcrumb/Breadcrumb.js +13 -0
  60. package/lib/shared/components/Breadcrumb/index.js +1 -0
  61. package/lib/shared/components/Button/Button.js +184 -0
  62. package/lib/shared/components/Button/index.js +1 -0
  63. package/lib/shared/components/Calendar/Calendar.js +155 -0
  64. package/lib/shared/components/Calendar/CalendarDay.js +251 -0
  65. package/lib/shared/components/Calendar/CalendarHeader.js +88 -0
  66. package/lib/shared/components/Calendar/CalendarMonth.js +106 -0
  67. package/lib/shared/components/Calendar/CalendarWeek.js +267 -0
  68. package/lib/shared/components/Calendar/constants.js +73 -0
  69. package/lib/shared/components/Calendar/index.js +3 -0
  70. package/lib/shared/components/Calendar/types.d.js +0 -0
  71. package/lib/shared/components/Cartel/Cartel.js +44 -0
  72. package/lib/shared/components/Cartel/index.js +1 -0
  73. package/lib/shared/components/Cell/Cell.js +105 -0
  74. package/lib/shared/components/Cell/index.js +1 -0
  75. package/lib/shared/components/Checkbox/Checkbox.js +27 -0
  76. package/lib/shared/components/Checkbox/index.js +1 -0
  77. package/lib/shared/components/Clock/Clock.js +6 -0
  78. package/lib/shared/components/Clock/index.js +1 -0
  79. package/lib/shared/components/ColorChecker/ColorChecker.js +89 -0
  80. package/lib/shared/components/ColorChecker/index.js +2 -0
  81. package/lib/shared/components/ColorChecker/utils.js +159 -0
  82. package/lib/shared/components/Command/Command.js +95 -0
  83. package/lib/shared/components/Command/index.js +1 -0
  84. package/lib/shared/components/Container/Container.js +18 -0
  85. package/lib/shared/components/Container/index.js +1 -0
  86. package/lib/shared/components/Cover/Cover.js +17 -0
  87. package/lib/shared/components/Cover/index.js +1 -0
  88. package/lib/shared/components/DatePicker/DatePicker.js +52 -0
  89. package/lib/shared/components/DatePicker/components/Calendar.js +125 -0
  90. package/lib/shared/components/DatePicker/components/CalendarDay.js +23 -0
  91. package/lib/shared/components/DatePicker/components/DateWrapper.js +15 -0
  92. package/lib/shared/components/DatePicker/components/index.js +2 -0
  93. package/lib/shared/components/DatePicker/index.js +1 -0
  94. package/lib/shared/components/DateTime/DateTime.js +51 -0
  95. package/lib/shared/components/DateTime/index.js +1 -0
  96. package/lib/shared/components/Debug/Debug.js +12 -0
  97. package/lib/shared/components/Debug/index.js +1 -0
  98. package/lib/shared/components/Disclosure/Disclosure.js +31 -0
  99. package/lib/shared/components/Disclosure/index.js +1 -0
  100. package/lib/shared/components/Dropdown/Dropdown.js +91 -0
  101. package/lib/shared/components/Dropdown/index.js +1 -0
  102. package/lib/shared/components/EmptyState/EmptyState.js +40 -0
  103. package/lib/shared/components/EmptyState/index.js +1 -0
  104. package/lib/shared/components/Form/Form.js +41 -0
  105. package/lib/shared/components/Form/components/DynamicForm.js +66 -0
  106. package/lib/shared/components/Form/components/StepperForm.js +266 -0
  107. package/lib/shared/components/Form/components/index.js +2 -0
  108. package/lib/shared/components/Form/context/Form.js +164 -0
  109. package/lib/shared/components/Form/context/index.js +1 -0
  110. package/lib/shared/components/Form/index.js +1 -0
  111. package/lib/shared/components/Form/types.d.js +1 -0
  112. package/lib/shared/components/Form/utils/index.js +31 -0
  113. package/lib/shared/components/GroupItems/GroupItems.js +17 -0
  114. package/lib/shared/components/GroupItems/index.js +1 -0
  115. package/lib/shared/components/Header/Header.js +26 -0
  116. package/lib/shared/components/Header/index.js +1 -0
  117. package/lib/shared/components/Heading/Heading.js +5 -0
  118. package/lib/shared/components/Heading/index.js +1 -0
  119. package/lib/shared/components/Icon/Icon.js +28 -0
  120. package/lib/shared/components/Icon/index.js +1 -0
  121. package/lib/shared/components/Identicons/Identicons.js +6 -0
  122. package/lib/shared/components/Identicons/index.d.js +0 -0
  123. package/lib/shared/components/Identicons/index.js +1 -0
  124. package/lib/shared/components/Image/Image.js +22 -0
  125. package/lib/shared/components/Image/index.js +1 -0
  126. package/lib/shared/components/Input/Input.js +201 -0
  127. package/lib/shared/components/Input/components/CheckBoxInput.js +81 -0
  128. package/lib/shared/components/Input/components/DateInput.js +89 -0
  129. package/lib/shared/components/Input/components/DefaultInput.js +102 -0
  130. package/lib/shared/components/Input/components/FileReaderInput.js +88 -0
  131. package/lib/shared/components/Input/components/NumberInput.js +141 -0
  132. package/lib/shared/components/Input/components/PickerInput.js +122 -0
  133. package/lib/shared/components/Input/components/RCInput.js +112 -0
  134. package/lib/shared/components/Input/components/Radiobox/RadioboxBasic.js +56 -0
  135. package/lib/shared/components/Input/components/Radiobox/RadioboxCard.js +27 -0
  136. package/lib/shared/components/Input/components/Radiobox/RadioboxFull.js +44 -0
  137. package/lib/shared/components/Input/components/Radiobox/index.js +3 -0
  138. package/lib/shared/components/Input/components/RadioboxInput.js +102 -0
  139. package/lib/shared/components/Input/components/SelectInput.js +70 -0
  140. package/lib/shared/components/Input/components/TextAreaInput.js +67 -0
  141. package/lib/shared/components/Input/components/TextInput.js +139 -0
  142. package/lib/shared/components/Input/components/TimeInput.js +37 -0
  143. package/lib/shared/components/Input/components/UploadFileInput.js +123 -0
  144. package/lib/shared/components/Input/components/index.js +13 -0
  145. package/lib/shared/components/Input/components/types.d.js +0 -0
  146. package/lib/shared/components/Input/index.js +1 -0
  147. package/lib/shared/components/Input/types.d.js +0 -0
  148. package/lib/shared/components/Layout/Layout.js +13 -0
  149. package/lib/shared/components/Layout/index.js +1 -0
  150. package/lib/shared/components/List/List.js +30 -0
  151. package/lib/shared/components/List/index.js +1 -0
  152. package/lib/shared/components/Loader/Loader.js +27 -0
  153. package/lib/shared/components/Loader/index.js +1 -0
  154. package/lib/shared/components/Modal/Modal.js +102 -0
  155. package/lib/shared/components/Modal/index.js +1 -0
  156. package/lib/shared/components/Notification/Notification.js +39 -0
  157. package/lib/shared/components/Notification/index.js +1 -0
  158. package/lib/shared/components/Person/Person.js +81 -0
  159. package/lib/shared/components/Person/index.js +1 -0
  160. package/lib/shared/components/Popover/Popover.js +39 -0
  161. package/lib/shared/components/Popover/index.js +1 -0
  162. package/lib/shared/components/QRCode/QRCode.js +329 -0
  163. package/lib/shared/components/QRCode/index.js +1 -0
  164. package/lib/shared/components/RadioGroup/RadioGroup.js +35 -0
  165. package/lib/shared/components/RadioGroup/components/DefaultGroup.js +71 -0
  166. package/lib/shared/components/RadioGroup/components/VerticalGroup.js +83 -0
  167. package/lib/shared/components/RadioGroup/components/index.js +2 -0
  168. package/lib/shared/components/RadioGroup/index.js +1 -0
  169. package/lib/shared/components/Search/Search.js +12 -0
  170. package/lib/shared/components/Search/index.js +1 -0
  171. package/lib/shared/components/Select/Select.js +90 -0
  172. package/lib/shared/components/Select/index.js +1 -0
  173. package/lib/shared/components/Sidebar/Sidebar.js +42 -0
  174. package/lib/shared/components/Sidebar/index.js +1 -0
  175. package/lib/shared/components/SlideOver/SlideOver.js +81 -0
  176. package/lib/shared/components/SlideOver/index.js +1 -0
  177. package/lib/shared/components/Slider/Slider.js +80 -0
  178. package/lib/shared/components/Slider/index.js +1 -0
  179. package/lib/shared/components/Stepper/Stepper.js +32 -0
  180. package/lib/shared/components/Stepper/index.js +1 -0
  181. package/lib/shared/components/Steps/Steps.js +53 -0
  182. package/lib/shared/components/Steps/index.js +1 -0
  183. package/lib/shared/components/Switch/Switch.js +26 -0
  184. package/lib/shared/components/Switch/index.js +1 -0
  185. package/lib/shared/components/Tab/Tab.js +59 -0
  186. package/lib/shared/components/Tab/index.js +1 -0
  187. package/lib/shared/components/Table/Table.js +47 -0
  188. package/lib/shared/components/Table/index.js +1 -0
  189. package/lib/shared/components/Text/Text.js +11 -0
  190. package/lib/shared/components/Text/index.js +1 -0
  191. package/lib/shared/components/TextList/TextList.js +15 -0
  192. package/lib/shared/components/TextList/index.js +1 -0
  193. package/lib/shared/components/TimePicker/TimePicker.js +161 -0
  194. package/lib/shared/components/TimePicker/index.js +1 -0
  195. package/lib/shared/components/Tooltip/Tooltip.js +13 -0
  196. package/lib/shared/components/Tooltip/index.js +1 -0
  197. package/lib/shared/components/Uploader/Uploader.js +63 -0
  198. package/lib/shared/components/Uploader/index.js +1 -0
  199. package/lib/shared/components/Video/Video.js +20 -0
  200. package/lib/shared/components/Video/index.js +1 -0
  201. package/lib/shared/components/index.d.js +0 -0
  202. package/lib/shared/components/index.js +50 -0
  203. package/lib/shared/elements/Color/ColorPallet.js +20 -0
  204. package/lib/shared/elements/Color/index.js +1 -0
  205. package/lib/shared/elements/Text.js +37 -0
  206. package/lib/shared/elements/index.js +1 -0
  207. package/lib/shared/helpers/FakeLink.js +8 -0
  208. package/lib/shared/helpers/constants.js +359 -0
  209. package/lib/shared/helpers/index.js +2 -0
  210. package/lib/shared/helpers/isEqual.js +56 -0
  211. package/lib/shared/index.d.js +0 -0
  212. package/lib/shared/index.js +1 -0
  213. package/lib/shared/stories/components/Avatar.stories.js +17 -0
  214. package/lib/shared/stories/components/Badge.stories.dev.js +37 -0
  215. package/lib/shared/stories/components/Button.stories.js +553 -0
  216. package/lib/shared/stories/components/Calendar.stories.js +62 -0
  217. package/lib/shared/stories/components/Cartel.stories.js +32 -0
  218. package/lib/shared/stories/components/Checkbox.stories.js +15 -0
  219. package/lib/shared/stories/components/ColorChecker.stories.dev.js +16 -0
  220. package/lib/shared/stories/components/DateTime.stories.js +27 -0
  221. package/lib/shared/stories/components/Disclosure.stories.js +30 -0
  222. package/lib/shared/stories/components/Dropdown.stories.js +39 -0
  223. package/lib/shared/stories/components/Form/Default.stories.js +201 -0
  224. package/lib/shared/stories/components/Form/DummyForm.stories.js +48 -0
  225. package/lib/shared/stories/components/Form/DynamicForm.stories.js +155 -0
  226. package/lib/shared/stories/components/Form/StepperForm.stories.js +138 -0
  227. package/lib/shared/stories/components/Form/ValidateForm.stories.js +70 -0
  228. package/lib/shared/stories/components/Form/Validation.stories.js +184 -0
  229. package/lib/shared/stories/components/GroupItems.stories.js +23 -0
  230. package/lib/shared/stories/components/Header.stories.js +29 -0
  231. package/lib/shared/stories/components/Heading.stories.js +27 -0
  232. package/lib/shared/stories/components/Icon.stories.js +22 -0
  233. package/lib/shared/stories/components/Image.stories.js +23 -0
  234. package/lib/shared/stories/components/Input/Checkbox.stories.js +45 -0
  235. package/lib/shared/stories/components/Input/DatePicker.stories.js +23 -0
  236. package/lib/shared/stories/components/Input/Defaut.stories.js +24 -0
  237. package/lib/shared/stories/components/Input/Number.stories.js +24 -0
  238. package/lib/shared/stories/components/Input/RCI.stories.js +59 -0
  239. package/lib/shared/stories/components/Input/Radiobox.stories.dev.js +28 -0
  240. package/lib/shared/stories/components/Input/Select.stories.dev.js +27 -0
  241. package/lib/shared/stories/components/Input/SelectMultiple.stories.dev.js +510 -0
  242. package/lib/shared/stories/components/Input/Textarea.stories.js +24 -0
  243. package/lib/shared/stories/components/List.stories.js +34 -0
  244. package/lib/shared/stories/components/Loader.stories.js +15 -0
  245. package/lib/shared/stories/components/Modal.stories.js +50 -0
  246. package/lib/shared/stories/components/Notification.stories.js +22 -0
  247. package/lib/shared/stories/components/Person.stories.js +41 -0
  248. package/lib/shared/stories/components/Picker.stories.js +15 -0
  249. package/lib/shared/stories/components/Popover.stories.js +36 -0
  250. package/lib/shared/stories/components/QRCode.stories.js +20 -0
  251. package/lib/shared/stories/components/RadioGroup.stories.js +56 -0
  252. package/lib/shared/stories/components/Select.stories.js +50 -0
  253. package/lib/shared/stories/components/Sidebar.stories.js +35 -0
  254. package/lib/shared/stories/components/Slider.stories.dev.js +48 -0
  255. package/lib/shared/stories/components/Stepper/Stepper.stories.js +38 -0
  256. package/lib/shared/stories/components/Steps.stories.js +15 -0
  257. package/lib/shared/stories/components/Switch.stories.js +15 -0
  258. package/lib/shared/stories/components/Tab.stories.js +15 -0
  259. package/lib/shared/stories/components/Table.stories.js +95 -0
  260. package/lib/shared/stories/components/TextList.stories.js +23 -0
  261. package/lib/shared/stories/components/Tooltip.stories.dev.js +40 -0
  262. package/lib/shared/stories/elements/Color.stories.js +269 -0
  263. package/lib/shared/stories/elements/Text.stories.js +45 -0
  264. package/lib/shared/types/index.js +1 -0
  265. package/lib/stories/Foundation/BrandIdentity.prod.stories.js +510 -0
  266. package/lib/stories/Foundation/Logo.stories.js +19 -0
  267. package/lib/stories/Foundation/RisingSun.stories.js +16 -0
  268. package/lib/stories/Foundation/Shadows.stories.js +601 -0
  269. package/lib/stories/Foundation/Symbol.stories.js +18 -0
  270. package/lib/stories/HeroContainer.stories.js +18 -0
  271. package/lib/styles/accessibilityTokens.js +72 -0
  272. package/lib/styles/borderWidth.js +10 -0
  273. package/lib/styles/colors.js +303 -0
  274. package/lib/styles/elevation.js +240 -0
  275. package/lib/styles/icons.js +218 -0
  276. package/lib/styles/index.js +29 -0
  277. package/lib/styles/motion.js +668 -0
  278. package/lib/styles/opacity.js +10 -0
  279. package/lib/styles/radius.js +11 -0
  280. package/lib/styles/sizing.js +35 -0
  281. package/lib/styles/space.js +24 -0
  282. package/lib/styles/theme/darkTheme.js +471 -0
  283. package/lib/styles/theme/index.js +44 -0
  284. package/lib/styles/theme/lightTheme.js +480 -0
  285. package/lib/styles/theme/themeTypes.js +1 -0
  286. package/lib/styles/theme/themeUtils.js +63 -0
  287. package/lib/styles/typography-advanced.js +510 -0
  288. package/lib/styles/typography.js +1419 -0
  289. package/lib/styles/zIndex.js +19 -0
  290. package/lib/tokens/borders.js +161 -0
  291. package/lib/tokens/colors.js +426 -0
  292. package/lib/tokens/components.js +499 -0
  293. package/lib/tokens/index.js +84 -0
  294. package/lib/tokens/lighting.js +384 -0
  295. package/lib/tokens/motion.js +284 -0
  296. package/lib/tokens/semantic.js +367 -0
  297. package/lib/tokens/shadows.js +114 -0
  298. package/lib/tokens/spacing.js +189 -0
  299. package/lib/tokens/typography.js +268 -0
  300. package/package.json +176 -0
  301. package/styles/generated-tokens.css +677 -0
  302. package/styles/index.css +2 -0
  303. package/styles/main.css +610 -0
  304. package/tailwind.config.js +64 -0
@@ -0,0 +1,82 @@
1
+ /**
2
+ * ConsoleCard
3
+ *
4
+ * Reusable card component for the Nobak Developer Console.
5
+ * Provides consistent styling and structure for content sections.
6
+ *
7
+ * @example
8
+ * <ConsoleCard
9
+ * title="API Usage"
10
+ * subtitle="Last 30 days"
11
+ * actions={<Button icon="refresh" />}
12
+ * footer="Updated 2 minutes ago"
13
+ * >
14
+ * <UsageChart />
15
+ * </ConsoleCard>
16
+ */
17
+
18
+ import React from 'react';
19
+ import clsx from 'clsx';
20
+ export var ConsoleCard = function ConsoleCard(_ref) {
21
+ var title = _ref.title,
22
+ subtitle = _ref.subtitle,
23
+ actions = _ref.actions,
24
+ children = _ref.children,
25
+ footer = _ref.footer,
26
+ _ref$variant = _ref.variant,
27
+ variant = _ref$variant === void 0 ? 'default' : _ref$variant,
28
+ _ref$loading = _ref.loading,
29
+ loading = _ref$loading === void 0 ? false : _ref$loading,
30
+ _ref$error = _ref.error,
31
+ error = _ref$error === void 0 ? false : _ref$error,
32
+ errorMessage = _ref.errorMessage,
33
+ className = _ref.className,
34
+ _ref$padding = _ref.padding,
35
+ padding = _ref$padding === void 0 ? 'medium' : _ref$padding;
36
+ var cardClasses = clsx('console-card', 'rounded-lg', 'transition-all', 'duration-200', {
37
+ // Variants
38
+ 'bg-white border border-gray-200 shadow-sm hover:shadow-md': variant === 'default',
39
+ 'bg-white border border-gray-200 shadow-lg': variant === 'elevated',
40
+ 'bg-transparent border-2 border-gray-300': variant === 'outlined',
41
+ 'bg-gray-50': variant === 'flat',
42
+ // States
43
+ 'opacity-60 pointer-events-none': loading,
44
+ 'border-red-300 bg-red-50': error
45
+ }, className);
46
+ var contentClasses = clsx('console-card__content', {
47
+ 'p-0': padding === 'none',
48
+ 'p-3': padding === 'small',
49
+ 'p-6': padding === 'medium',
50
+ 'p-8': padding === 'large'
51
+ });
52
+ return /*#__PURE__*/React.createElement("div", {
53
+ className: cardClasses
54
+ }, (title || subtitle || actions) && /*#__PURE__*/React.createElement("div", {
55
+ className: "console-card__header flex items-start justify-between p-6 pb-4 border-b border-gray-100"
56
+ }, /*#__PURE__*/React.createElement("div", {
57
+ className: "flex-1"
58
+ }, title && /*#__PURE__*/React.createElement("h3", {
59
+ className: "text-lg font-semibold text-gray-900 mb-1"
60
+ }, title), subtitle && /*#__PURE__*/React.createElement("p", {
61
+ className: "text-sm text-gray-600"
62
+ }, subtitle)), actions && /*#__PURE__*/React.createElement("div", {
63
+ className: "console-card__actions ml-4"
64
+ }, actions)), /*#__PURE__*/React.createElement("div", {
65
+ className: contentClasses
66
+ }, loading && /*#__PURE__*/React.createElement("div", {
67
+ className: "flex items-center justify-center py-8"
68
+ }, /*#__PURE__*/React.createElement("div", {
69
+ className: "animate-spin rounded-full h-8 w-8 border-b-2 border-primary-500"
70
+ })), error && errorMessage && /*#__PURE__*/React.createElement("div", {
71
+ className: "bg-red-100 border border-red-300 text-red-700 px-4 py-3 rounded mb-4"
72
+ }, /*#__PURE__*/React.createElement("p", {
73
+ className: "font-medium"
74
+ }, "Error"), /*#__PURE__*/React.createElement("p", {
75
+ className: "text-sm"
76
+ }, errorMessage)), !loading && children), footer && /*#__PURE__*/React.createElement("div", {
77
+ className: "console-card__footer px-6 py-4 bg-gray-50 border-t border-gray-100 rounded-b-lg"
78
+ }, /*#__PURE__*/React.createElement("div", {
79
+ className: "text-sm text-gray-600"
80
+ }, footer)));
81
+ };
82
+ ConsoleCard.displayName = 'ConsoleCard';
@@ -0,0 +1,86 @@
1
+ /**
2
+ * ConsoleLayout
3
+ *
4
+ * Main layout wrapper for all Nobak Developer Console pages.
5
+ * Provides consistent structure with navigation, sidebar, and content area.
6
+ *
7
+ * @example
8
+ * <ConsoleLayout
9
+ * title="API Keys"
10
+ * breadcrumbs={['Dashboard', 'Security', 'API Keys']}
11
+ * actions={<Button text="Create New Key" />}
12
+ * sidebar={<DevSidebar items={sidebarItems} />}
13
+ * >
14
+ * <APIKeysContent />
15
+ * </ConsoleLayout>
16
+ */
17
+
18
+ import React from 'react';
19
+ import clsx from 'clsx';
20
+ export var ConsoleLayout = function ConsoleLayout(_ref) {
21
+ var title = _ref.title,
22
+ subtitle = _ref.subtitle,
23
+ breadcrumbs = _ref.breadcrumbs,
24
+ actions = _ref.actions,
25
+ navigation = _ref.navigation,
26
+ sidebar = _ref.sidebar,
27
+ children = _ref.children,
28
+ footer = _ref.footer,
29
+ _ref$showSidebar = _ref.showSidebar,
30
+ showSidebar = _ref$showSidebar === void 0 ? true : _ref$showSidebar,
31
+ _ref$fullWidth = _ref.fullWidth,
32
+ fullWidth = _ref$fullWidth === void 0 ? false : _ref$fullWidth,
33
+ className = _ref.className;
34
+ return /*#__PURE__*/React.createElement("div", {
35
+ className: clsx('console-layout', 'min-h-screen', 'bg-gray-50', className)
36
+ }, navigation && /*#__PURE__*/React.createElement("div", {
37
+ className: "console-layout__navigation sticky top-0 z-50 bg-white border-b border-gray-200"
38
+ }, navigation), /*#__PURE__*/React.createElement("div", {
39
+ className: "console-layout__container flex"
40
+ }, showSidebar && sidebar && /*#__PURE__*/React.createElement("aside", {
41
+ className: "console-layout__sidebar hidden lg:block w-64 bg-white border-r border-gray-200 min-h-screen"
42
+ }, sidebar), /*#__PURE__*/React.createElement("main", {
43
+ className: "console-layout__main flex-1"
44
+ }, /*#__PURE__*/React.createElement("div", {
45
+ className: "console-layout__header bg-white border-b border-gray-200 px-8 py-6"
46
+ }, /*#__PURE__*/React.createElement("div", {
47
+ className: clsx({
48
+ 'max-w-7xl mx-auto': !fullWidth
49
+ })
50
+ }, breadcrumbs && breadcrumbs.length > 0 && /*#__PURE__*/React.createElement("nav", {
51
+ className: "console-layout__breadcrumbs mb-4"
52
+ }, /*#__PURE__*/React.createElement("ol", {
53
+ className: "flex items-center space-x-2 text-sm"
54
+ }, breadcrumbs.map(function (crumb, index) {
55
+ return /*#__PURE__*/React.createElement("li", {
56
+ key: index,
57
+ className: "flex items-center"
58
+ }, index > 0 && /*#__PURE__*/React.createElement("span", {
59
+ className: "text-gray-400 mx-2"
60
+ }, "/"), crumb.href ? /*#__PURE__*/React.createElement("a", {
61
+ href: crumb.href,
62
+ className: "text-gray-600 hover:text-gray-900 transition-colors"
63
+ }, crumb.label) : /*#__PURE__*/React.createElement("span", {
64
+ className: "text-gray-900 font-medium"
65
+ }, crumb.label));
66
+ }))), /*#__PURE__*/React.createElement("div", {
67
+ className: "flex items-start justify-between"
68
+ }, /*#__PURE__*/React.createElement("div", {
69
+ className: "flex-1"
70
+ }, /*#__PURE__*/React.createElement("h1", {
71
+ className: "text-3xl font-bold text-gray-900 mb-2"
72
+ }, title), subtitle && /*#__PURE__*/React.createElement("p", {
73
+ className: "text-gray-600"
74
+ }, subtitle)), actions && /*#__PURE__*/React.createElement("div", {
75
+ className: "console-layout__actions ml-6"
76
+ }, actions)))), /*#__PURE__*/React.createElement("div", {
77
+ className: "console-layout__content px-8 py-8"
78
+ }, /*#__PURE__*/React.createElement("div", {
79
+ className: clsx({
80
+ 'max-w-7xl mx-auto': !fullWidth
81
+ })
82
+ }, children)), footer && /*#__PURE__*/React.createElement("div", {
83
+ className: "console-layout__footer border-t border-gray-200 bg-white"
84
+ }, footer))));
85
+ };
86
+ ConsoleLayout.displayName = 'ConsoleLayout';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Console Layout Components
3
+ *
4
+ * Core layout components for the Nobak Developer Console
5
+ */
6
+
7
+ export { ConsoleLayout } from "./ConsoleLayout";
8
+ export { ConsoleCard } from "./ConsoleCard";
9
+
10
+ // export { ConsoleDashboard } from './ConsoleDashboard';
@@ -0,0 +1,128 @@
1
+ /**
2
+ * StatusIndicator
3
+ *
4
+ * Display API/service status with visual indicators.
5
+ * Shows operational status, uptime, and incident information.
6
+ *
7
+ * @example
8
+ * <StatusIndicator
9
+ * status="operational"
10
+ * label="API Status"
11
+ * uptime="99.9%"
12
+ * />
13
+ */
14
+
15
+ import React from 'react';
16
+ import clsx from 'clsx';
17
+ var statusConfig = {
18
+ operational: {
19
+ color: 'text-green-700',
20
+ bgColor: 'bg-green-50',
21
+ borderColor: 'border-green-200',
22
+ label: 'Operational',
23
+ icon: '✓'
24
+ },
25
+ degraded: {
26
+ color: 'text-yellow-700',
27
+ bgColor: 'bg-yellow-50',
28
+ borderColor: 'border-yellow-200',
29
+ label: 'Degraded Performance',
30
+ icon: '⚠'
31
+ },
32
+ partial: {
33
+ color: 'text-orange-700',
34
+ bgColor: 'bg-orange-50',
35
+ borderColor: 'border-orange-200',
36
+ label: 'Partial Outage',
37
+ icon: '⚠'
38
+ },
39
+ down: {
40
+ color: 'text-red-700',
41
+ bgColor: 'bg-red-50',
42
+ borderColor: 'border-red-200',
43
+ label: 'Major Outage',
44
+ icon: '✕'
45
+ },
46
+ maintenance: {
47
+ color: 'text-blue-700',
48
+ bgColor: 'bg-blue-50',
49
+ borderColor: 'border-blue-200',
50
+ label: 'Scheduled Maintenance',
51
+ icon: ': '
52
+ }
53
+ };
54
+ export var StatusIndicator = function StatusIndicator(_ref) {
55
+ var status = _ref.status,
56
+ label = _ref.label,
57
+ uptime = _ref.uptime,
58
+ lastUpdated = _ref.lastUpdated,
59
+ _ref$detailed = _ref.detailed,
60
+ detailed = _ref$detailed === void 0 ? false : _ref$detailed,
61
+ _ref$size = _ref.size,
62
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
63
+ className = _ref.className,
64
+ onClick = _ref.onClick;
65
+ var config = statusConfig[status];
66
+ var containerClasses = clsx('status-indicator', 'inline-flex', 'items-center', 'gap-2', 'rounded-lg', 'border', config.bgColor, config.borderColor, {
67
+ 'px-2 py-1 text-xs': size === 'small',
68
+ 'px-3 py-2 text-sm': size === 'medium',
69
+ 'px-4 py-3 text-base': size === 'large',
70
+ 'cursor-pointer hover:shadow-md transition-shadow': onClick
71
+ }, className);
72
+ var dotClasses = clsx('status-indicator__dot', 'rounded-full', {
73
+ 'w-2 h-2': size === 'small',
74
+ 'w-3 h-3': size === 'medium',
75
+ 'w-4 h-4': size === 'large',
76
+ 'bg-green-500 animate-pulse': status === 'operational',
77
+ 'bg-yellow-500': status === 'degraded',
78
+ 'bg-orange-500': status === 'partial',
79
+ 'bg-red-500 animate-pulse': status === 'down',
80
+ 'bg-blue-500': status === 'maintenance'
81
+ });
82
+ if (!detailed) {
83
+ // Compact view
84
+ return /*#__PURE__*/React.createElement("div", {
85
+ className: containerClasses,
86
+ onClick: onClick
87
+ }, /*#__PURE__*/React.createElement("div", {
88
+ className: dotClasses
89
+ }), /*#__PURE__*/React.createElement("span", {
90
+ className: clsx('font-medium', config.color)
91
+ }, label || config.label));
92
+ }
93
+
94
+ // Detailed view
95
+ return /*#__PURE__*/React.createElement("div", {
96
+ className: clsx('status-indicator-detailed', 'bg-white', 'rounded-lg', 'border', 'border-gray-200', 'p-6', 'shadow-sm', {
97
+ 'cursor-pointer hover:shadow-md transition-shadow': onClick
98
+ }, className),
99
+ onClick: onClick
100
+ }, /*#__PURE__*/React.createElement("div", {
101
+ className: "flex items-center justify-between mb-4"
102
+ }, /*#__PURE__*/React.createElement("div", {
103
+ className: "flex items-center gap-3"
104
+ }, /*#__PURE__*/React.createElement("div", {
105
+ className: dotClasses
106
+ }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h3", {
107
+ className: "text-lg font-semibold text-gray-900"
108
+ }, label || 'System Status'), /*#__PURE__*/React.createElement("p", {
109
+ className: clsx('text-sm font-medium', config.color)
110
+ }, config.label))), /*#__PURE__*/React.createElement("div", {
111
+ className: "text-3xl"
112
+ }, config.icon)), (uptime || lastUpdated) && /*#__PURE__*/React.createElement("div", {
113
+ className: "grid grid-cols-2 gap-4 pt-4 border-t border-gray-100"
114
+ }, uptime && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", {
115
+ className: "text-xs text-gray-600 uppercase tracking-wide mb-1"
116
+ }, "Uptime"), /*#__PURE__*/React.createElement("p", {
117
+ className: "text-2xl font-bold text-gray-900"
118
+ }, uptime)), lastUpdated && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", {
119
+ className: "text-xs text-gray-600 uppercase tracking-wide mb-1"
120
+ }, "Last Updated"), /*#__PURE__*/React.createElement("p", {
121
+ className: "text-sm text-gray-700"
122
+ }, lastUpdated))), onClick && /*#__PURE__*/React.createElement("div", {
123
+ className: "mt-4 pt-4 border-t border-gray-100"
124
+ }, /*#__PURE__*/React.createElement("button", {
125
+ className: "text-sm text-primary-600 hover:text-primary-700 font-medium"
126
+ }, "View Status Page \u2192")));
127
+ };
128
+ StatusIndicator.displayName = 'StatusIndicator';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Console Monitoring Components
3
+ *
4
+ * Monitoring and status components
5
+ */
6
+
7
+ export { StatusIndicator } from "./StatusIndicator";
8
+
9
+ // export { ErrorBoundary } from './ErrorBoundary';
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { Button } from "../../../shared";
3
+ var DevFooter = function DevFooter(_ref) {
4
+ var children = _ref.children,
5
+ Link = _ref.component,
6
+ docs_url = _ref.docs_url,
7
+ main_url = _ref.main_url;
8
+ return /*#__PURE__*/React.createElement("div", {
9
+ className: "flex justify-center"
10
+ }, /*#__PURE__*/React.createElement("div", {
11
+ className: "flex justify-between items-center py-8 w-full max-w-screen-xl"
12
+ }, /*#__PURE__*/React.createElement("div", {
13
+ className: "flex items-center"
14
+ }, /*#__PURE__*/React.createElement(Button, {
15
+ text: "Nobak",
16
+ type: "link",
17
+ component: Link,
18
+ variant: "basic",
19
+ to: main_url,
20
+ customCss: "text-primary-800"
21
+ })), /*#__PURE__*/React.createElement("div", {
22
+ className: "flex space-x-6 items-center"
23
+ }, /*#__PURE__*/React.createElement(Button, {
24
+ text: "API Documentation",
25
+ type: "link",
26
+ component: Link,
27
+ variant: "basic",
28
+ to: docs_url,
29
+ customCss: "text-primary-1200"
30
+ }), /*#__PURE__*/React.createElement(Button, {
31
+ type: "anchor",
32
+ to: "/faq",
33
+ text: "FAQ",
34
+ variant: "basic",
35
+ customCss: "text-primary-1200"
36
+ }))));
37
+ };
38
+ export { DevFooter };
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import { Logo } from "../..";
3
+ import { Button } from "../../../shared";
4
+ var DevMenu = function DevMenu(_ref) {
5
+ var menuItems = _ref.menuItems,
6
+ Link = _ref.component;
7
+ return /*#__PURE__*/React.createElement("div", {
8
+ className: "flex justify-center bg-primary-400"
9
+ }, /*#__PURE__*/React.createElement("div", {
10
+ className: "flex justify-between items-center p-4 w-full max-w-screen-xl"
11
+ }, /*#__PURE__*/React.createElement(Link, {
12
+ to: "/"
13
+ }, /*#__PURE__*/React.createElement("div", {
14
+ className: "flex items-center"
15
+ }, /*#__PURE__*/React.createElement(Logo, {
16
+ type: "Isologo",
17
+ size: "small"
18
+ }), /*#__PURE__*/React.createElement("div", {
19
+ className: "ml-2 text-p1-bold"
20
+ }, "Developers"))), /*#__PURE__*/React.createElement("div", {
21
+ className: "flex space-x-6 items-center"
22
+ }, menuItems.map(function (item, index) {
23
+ return /*#__PURE__*/React.createElement(Button, {
24
+ key: index,
25
+ text: item.label,
26
+ variant: "basic",
27
+ type: "link",
28
+ to: item.to,
29
+ component: item.component || Link,
30
+ size: "small",
31
+ active: item.isActive
32
+ });
33
+ }))));
34
+ };
35
+ export { DevMenu };
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { Button } from "../../../shared";
3
+ var DevSidebar = function DevSidebar(_ref) {
4
+ var sidebarItems = _ref.sidebarItems,
5
+ Link = _ref.component;
6
+ console.log('sidebarItems', sidebarItems);
7
+ return /*#__PURE__*/React.createElement("div", {
8
+ className: "sticky top-0 z-10"
9
+ }, /*#__PURE__*/React.createElement("div", {
10
+ className: "w-64 flex flex-col justify-between p-4"
11
+ }, /*#__PURE__*/React.createElement("div", {
12
+ className: "mt-8 flex-1"
13
+ }, /*#__PURE__*/React.createElement("div", {
14
+ className: "flex flex-col space-y-4 pl-2 pr-2 pt-2"
15
+ }, sidebarItems.map(function (item, index) {
16
+ return /*#__PURE__*/React.createElement(Button, {
17
+ key: index,
18
+ text: item.label,
19
+ variant: "air",
20
+ size: "small",
21
+ type: "link",
22
+ component: Link,
23
+ to: item.to,
24
+ active: item.isActive
25
+ });
26
+ })))));
27
+ };
28
+ export { DevSidebar };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Console Navigation Components
3
+ *
4
+ * Navigation components for the Nobak Developer Console
5
+ */
6
+
7
+ export { DevMenu } from "./DevMenu";
8
+ export { DevSidebar } from "./DevSidebar";
9
+ export { DevFooter } from "./DevFooter";
10
+
11
+ // export { Breadcrumbs } from './Breadcrumbs';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Console Settings Components
3
+ *
4
+ * Settings and configuration components
5
+ */
6
+
7
+ // Export settings components here
8
+ // export { SettingsPanel } from './SettingsPanel';
9
+ // export { TeamManagement } from './TeamManagement';
10
+ // export { BillingDashboard } from './BillingDashboard';
@@ -0,0 +1,12 @@
1
+ export { RisingSun } from "./RisingSun";
2
+ export { MenuBar } from "./MenuBar";
3
+ export { DevMenu } from "./DevMenu";
4
+ export { Logo } from "./Logo";
5
+ export { Footer } from "./Footer";
6
+ export { DevFooter } from "./DevFooter";
7
+ export { AdminPanel } from "./AdminPanel";
8
+ export { HeroContainer } from "./HeroContainer";
9
+ export { DevSidebar } from "./DevSidebar";
10
+ export { WalletMenu } from "./WalletMenu";
11
+ export { DigitalDisplay } from "./DigitalDisplay";
12
+ export { Symbol } from "./Symbol";
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { HSLTool } from "./HSLTool-V4";
3
+ export default {
4
+ title: 'Tools / Color Picker',
5
+ component: HSLTool
6
+ };
7
+ export var HSLToolStory = function HSLToolStory() {
8
+ return /*#__PURE__*/React.createElement(HSLTool, null);
9
+ };