@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,384 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
+ /**
9
+ * Nobak Design System - Surface Lighting & Depth
10
+ *
11
+ * Creates professional depth through varied surface treatments and shadow layers.
12
+ * Each surface level combines multiple shadows for ambient depth and visual hierarchy.
13
+ *
14
+ * Philosophy:
15
+ * - Surfaces receive light differently based on position and purpose
16
+ * - Multiple layered shadows create realistic depth
17
+ * - Short shadows + long ambient shadows = professional look
18
+ * - Lighting adapts to context and function
19
+ */
20
+
21
+ import { colors } from "./colors";
22
+
23
+ /**
24
+ * Surface Treatments
25
+ * Different surface levels with varying shadow depth
26
+ */
27
+ export var lighting = {
28
+ /**
29
+ * TOP LIT - Bright surface, maximum contrast
30
+ * Use: Hero sections, primary cards, headers
31
+ */
32
+ topLit: {
33
+ surface: colors.gray[50],
34
+ // Bright surface
35
+ border: colors.gray[200],
36
+ // Soft edge
37
+ text: colors.gray[900],
38
+ // Maximum contrast
39
+ accent: colors.primary[500],
40
+ // Bold accent
41
+ shadow: 'rgba(0, 0, 0, 0.05)' // Minimal shadow
42
+ },
43
+ /**
44
+ * FRONT LIT - Primary surface treatment
45
+ * Use: Buttons, inputs, main controls
46
+ */
47
+ frontLit: {
48
+ surface: '#FFFFFF',
49
+ // Clean white surface
50
+ border: colors.gray[300],
51
+ // Defined edge
52
+ text: colors.gray[900],
53
+ // Strong contrast
54
+ accent: colors.primary[500],
55
+ // Primary accent
56
+ shadow: 'rgba(0, 0, 0, 0.08)' // Light shadow
57
+ },
58
+ /**
59
+ * SIDE LIT - Subtle surface
60
+ * Use: Secondary controls, metadata, labels
61
+ */
62
+ sideLit: {
63
+ surface: colors.gray[100],
64
+ // Subtle surface
65
+ border: colors.gray[300],
66
+ // Soft edge
67
+ text: colors.gray[700],
68
+ // Reduced contrast
69
+ accent: colors.gray[600],
70
+ // Muted accent
71
+ shadow: 'rgba(0, 0, 0, 0.04)' // Very light shadow
72
+ },
73
+ /**
74
+ * RECESSED - Inset surface, inverted colors
75
+ * Use: Display panels, data tables, dark mode sections
76
+ */
77
+ recessed: {
78
+ surface: colors.gray[900],
79
+ // Dark background
80
+ border: colors.gray[700],
81
+ // Dark edge
82
+ text: colors.gray[50],
83
+ // Light text (inverted)
84
+ accent: colors.blue[400],
85
+ // Cool accent
86
+ shadow: 'inset 0 2px 4px rgba(0, 0, 0, 0.3)',
87
+ // Inset shadow
88
+ glow: 'rgba(59, 130, 246, 0.3)' // Optional glow
89
+ },
90
+ /**
91
+ * ELEVATED - Raised surface with layered shadows
92
+ * Use: Prominent buttons, cards, important controls
93
+ */
94
+ elevated: {
95
+ surface: colors.gray[50],
96
+ // Light surface
97
+ border: colors.gray[400],
98
+ // Defined edge
99
+ text: colors.gray[900],
100
+ // High contrast
101
+ accent: colors.primary[600],
102
+ // Rich accent
103
+ shadow: '0 4px 6px rgba(0, 0, 0, 0.1)',
104
+ // Layered shadow
105
+ rimLight: colors.gray[100] // Subtle highlight
106
+ },
107
+ /**
108
+ * BACKLIT - Glowing surface
109
+ * Use: Active states, indicators, notifications, primary actions
110
+ */
111
+ backlit: {
112
+ surface: colors.primary[500],
113
+ // Bold surface
114
+ border: colors.primary[600],
115
+ // Defined edge
116
+ text: '#FFFFFF',
117
+ // High contrast
118
+ accent: '#FFFFFF',
119
+ // White accent
120
+ glow: 'rgba(255, 59, 45, 0.4)',
121
+ // Glow effect
122
+ shadow: '0 0 12px rgba(255, 59, 45, 0.3)' // Glow shadow
123
+ },
124
+ /**
125
+ * SHADOWED - De-emphasized surface
126
+ * Use: Footer, disabled states, background content
127
+ */
128
+ shadowed: {
129
+ surface: colors.gray[200],
130
+ // Muted surface
131
+ border: colors.gray[300],
132
+ // Subtle edge
133
+ text: colors.gray[600],
134
+ // Lower contrast
135
+ accent: colors.gray[500],
136
+ // Muted accent
137
+ shadow: 'none' // No shadow
138
+ },
139
+ /**
140
+ * GLOSSY - Translucent, glass-like surface
141
+ * Use: Premium features, overlays, modal backgrounds
142
+ */
143
+ glossy: {
144
+ surface: 'linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.7) 100%)',
145
+ border: 'rgba(255, 255, 255, 0.3)',
146
+ text: colors.gray[900],
147
+ accent: colors.primary[500],
148
+ shadow: '0 8px 32px rgba(0, 0, 0, 0.12)',
149
+ reflection: 'linear-gradient(180deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0) 50%)',
150
+ backdrop: 'blur(12px)'
151
+ },
152
+ /**
153
+ * MATTE - Non-reflective, textured surface
154
+ * Use: Professional tools, technical interfaces, subtle backgrounds
155
+ */
156
+ matte: {
157
+ surface: colors.gray[100],
158
+ border: colors.gray[400],
159
+ text: colors.gray[800],
160
+ accent: colors.gray[700],
161
+ shadow: '0 1px 2px rgba(0, 0, 0, 0.06)',
162
+ texture: 'repeating-linear-gradient(90deg, transparent 0px, rgba(0,0,0,0.02) 1px, transparent 2px)'
163
+ }
164
+ };
165
+
166
+ /**
167
+ * Component Contexts
168
+ * Pre-configured surface treatments for specific components
169
+ */
170
+ export var lightingContexts = {
171
+ /**
172
+ * HERO SECTION
173
+ * Bright, prominent surface
174
+ */
175
+ hero: {
176
+ background: lighting.topLit.surface,
177
+ text: lighting.topLit.text,
178
+ border: lighting.topLit.border,
179
+ shadow: lighting.topLit.shadow
180
+ },
181
+ /**
182
+ * PRIMARY BUTTON
183
+ * Elevated with strong shadow
184
+ */
185
+ buttonPrimary: {
186
+ "default": {
187
+ background: lighting.backlit.surface,
188
+ text: lighting.backlit.text,
189
+ border: lighting.backlit.border,
190
+ shadow: lighting.elevated.shadow
191
+ },
192
+ hover: {
193
+ background: colors.primary[600],
194
+ glow: lighting.backlit.glow,
195
+ shadow: lighting.backlit.shadow
196
+ },
197
+ active: {
198
+ background: colors.primary[700],
199
+ shadow: '0 1px 2px rgba(0, 0, 0, 0.2)' // Pressed in
200
+ }
201
+ },
202
+ /**
203
+ * SECONDARY BUTTON
204
+ * Front-lit, less prominent
205
+ */
206
+ buttonSecondary: {
207
+ "default": {
208
+ background: lighting.frontLit.surface,
209
+ text: lighting.frontLit.text,
210
+ border: lighting.frontLit.border,
211
+ shadow: lighting.frontLit.shadow
212
+ },
213
+ hover: {
214
+ background: colors.gray[50],
215
+ border: colors.gray[400]
216
+ }
217
+ },
218
+ /**
219
+ * INPUT FIELD
220
+ * Recessed - text entry area
221
+ */
222
+ input: {
223
+ "default": {
224
+ background: lighting.frontLit.surface,
225
+ text: lighting.frontLit.text,
226
+ border: lighting.sideLit.border,
227
+ shadow: 'inset 0 1px 2px rgba(0, 0, 0, 0.05)' // Slight recess
228
+ },
229
+ focus: {
230
+ border: lighting.backlit.surface,
231
+ shadow: "0 0 0 3px ".concat(lighting.backlit.glow) // Glow on focus
232
+ }
233
+ },
234
+ /**
235
+ * DATA TABLE
236
+ * Recessed display - like an LCD panel
237
+ */
238
+ table: {
239
+ background: lighting.recessed.surface,
240
+ text: lighting.recessed.text,
241
+ border: lighting.recessed.border,
242
+ shadow: lighting.recessed.shadow,
243
+ header: {
244
+ background: 'rgba(255, 255, 255, 0.05)',
245
+ // Subtle separation
246
+ text: lighting.recessed.accent
247
+ },
248
+ row: {
249
+ hover: 'rgba(255, 255, 255, 0.03)' // Subtle highlight
250
+ }
251
+ },
252
+ /**
253
+ * CARD
254
+ * Elevated surface - component in the stack
255
+ */
256
+ card: {
257
+ "default": {
258
+ background: lighting.frontLit.surface,
259
+ text: lighting.frontLit.text,
260
+ border: lighting.frontLit.border,
261
+ shadow: lighting.elevated.shadow
262
+ },
263
+ hover: {
264
+ shadow: '0 6px 12px rgba(0, 0, 0, 0.15)',
265
+ // Lift on hover
266
+ rimLight: lighting.elevated.rimLight
267
+ }
268
+ },
269
+ /**
270
+ * MODAL / DIALOG
271
+ * Floating, highly elevated
272
+ */
273
+ modal: {
274
+ background: lighting.frontLit.surface,
275
+ text: lighting.frontLit.text,
276
+ border: lighting.frontLit.border,
277
+ shadow: '0 20px 40px rgba(0, 0, 0, 0.25)',
278
+ // Strong elevation
279
+ backdrop: 'rgba(0, 0, 0, 0.5)' // Darkened background
280
+ },
281
+ /**
282
+ * NOTIFICATION / TOAST
283
+ * Backlit indicator - demands attention
284
+ */
285
+ notification: {
286
+ success: {
287
+ background: colors.green[500],
288
+ text: '#FFFFFF',
289
+ shadow: '0 4px 12px rgba(16, 185, 129, 0.3)',
290
+ glow: 'rgba(16, 185, 129, 0.2)'
291
+ },
292
+ error: {
293
+ background: colors.red[500],
294
+ text: '#FFFFFF',
295
+ shadow: '0 4px 12px rgba(239, 68, 68, 0.3)',
296
+ glow: 'rgba(239, 68, 68, 0.2)'
297
+ },
298
+ warning: {
299
+ background: colors.orange[500],
300
+ text: colors.gray[900],
301
+ shadow: '0 4px 12px rgba(255, 166, 117, 0.3)',
302
+ glow: 'rgba(255, 166, 117, 0.2)'
303
+ }
304
+ },
305
+ /**
306
+ * VU METER / PROGRESS
307
+ * Backlit indicator with glow
308
+ */
309
+ indicator: {
310
+ background: lighting.recessed.surface,
311
+ fill: lighting.backlit.surface,
312
+ glow: lighting.backlit.glow,
313
+ border: lighting.recessed.border
314
+ },
315
+ /**
316
+ * LABEL / METADATA
317
+ * Side-lit, de-emphasized
318
+ */
319
+ label: {
320
+ background: 'transparent',
321
+ text: lighting.sideLit.text,
322
+ accent: lighting.sideLit.accent
323
+ },
324
+ /**
325
+ * FOOTER
326
+ * Shadowed, bottom of stack
327
+ */
328
+ footer: {
329
+ background: lighting.shadowed.surface,
330
+ text: lighting.shadowed.text,
331
+ border: lighting.shadowed.border
332
+ },
333
+ /**
334
+ * GLASS PANEL
335
+ * Glossy, translucent overlay
336
+ */
337
+ glass: {
338
+ background: lighting.glossy.surface,
339
+ border: lighting.glossy.border,
340
+ text: lighting.glossy.text,
341
+ shadow: lighting.glossy.shadow,
342
+ backdrop: lighting.glossy.backdrop,
343
+ reflection: lighting.glossy.reflection
344
+ }
345
+ };
346
+
347
+ /**
348
+ * Helper: Apply lighting to component
349
+ *
350
+ * Usage:
351
+ * const buttonStyles = applyLighting('buttonPrimary', 'default');
352
+ */
353
+ export function applyLighting(context) {
354
+ var state = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
355
+ var contextStyles = lightingContexts[context];
356
+
357
+ // @ts-ignore - Dynamic key access
358
+ return _typeof(contextStyles) === 'object' && state in contextStyles ? contextStyles[state] : contextStyles;
359
+ }
360
+
361
+ /**
362
+ * CSS Custom Properties Generator
363
+ */
364
+ export var generateLightingCSSVariables = function generateLightingCSSVariables() {
365
+ var vars = {};
366
+
367
+ // Generate lighting level variables
368
+ Object.entries(lighting).forEach(function (_ref) {
369
+ var _ref2 = _slicedToArray(_ref, 2),
370
+ level = _ref2[0],
371
+ properties = _ref2[1];
372
+ Object.entries(properties).forEach(function (_ref3) {
373
+ var _ref4 = _slicedToArray(_ref3, 2),
374
+ property = _ref4[0],
375
+ value = _ref4[1];
376
+ vars["--lighting-".concat(level, "-").concat(property)] = value;
377
+ });
378
+ });
379
+ return vars;
380
+ };
381
+
382
+ /**
383
+ * Type Exports
384
+ */
@@ -0,0 +1,284 @@
1
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
7
+ /**
8
+ * Nobak Design System - Motion Tokens
9
+ *
10
+ * Snappy, purposeful animations
11
+ * Punk rock energy with Japanese restraint
12
+ */
13
+
14
+ export var motion = {
15
+ // Duration (in milliseconds)
16
+ duration: {
17
+ instant: '0ms',
18
+ fast: '150ms',
19
+ // Micro-interactions
20
+ normal: '250ms',
21
+ // Standard transitions
22
+ slow: '350ms',
23
+ // Complex animations
24
+ slower: '500ms',
25
+ // Page transitions
26
+ slowest: '750ms' // Dramatic reveals
27
+ },
28
+ // Easing Functions
29
+ easing: {
30
+ // Standard easing
31
+ linear: 'linear',
32
+ // Ease out (UI entering)
33
+ easeOut: 'cubic-bezier(0, 0, 0.2, 1)',
34
+ easeOutQuad: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',
35
+ easeOutCubic: 'cubic-bezier(0.215, 0.61, 0.355, 1)',
36
+ // Ease in (UI exiting)
37
+ easeIn: 'cubic-bezier(0.4, 0, 1, 1)',
38
+ easeInQuad: 'cubic-bezier(0.55, 0.085, 0.68, 0.53)',
39
+ easeInCubic: 'cubic-bezier(0.55, 0.055, 0.675, 0.19)',
40
+ // Ease in-out (State changes)
41
+ easeInOut: 'cubic-bezier(0.4, 0, 0.2, 1)',
42
+ easeInOutQuad: 'cubic-bezier(0.455, 0.03, 0.515, 0.955)',
43
+ easeInOutCubic: 'cubic-bezier(0.645, 0.045, 0.355, 1)',
44
+ // Bounce (Playful interactions)
45
+ bounce: 'cubic-bezier(0.68, -0.55, 0.265, 1.55)',
46
+ // Sharp (Punk rock snappy)
47
+ sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'
48
+ },
49
+ // Transition Presets
50
+ transition: {
51
+ // Default
52
+ "default": 'all 250ms cubic-bezier(0.4, 0, 0.2, 1)',
53
+ // Fast interactions
54
+ fast: 'all 150ms cubic-bezier(0, 0, 0.2, 1)',
55
+ // Slow animations
56
+ slow: 'all 350ms cubic-bezier(0.4, 0, 0.2, 1)',
57
+ // Color transitions
58
+ colors: 'color 250ms cubic-bezier(0.4, 0, 0.2, 1), background-color 250ms cubic-bezier(0.4, 0, 0.2, 1), border-color 250ms cubic-bezier(0.4, 0, 0.2, 1)',
59
+ // Opacity transitions
60
+ opacity: 'opacity 250ms cubic-bezier(0.4, 0, 0.2, 1)',
61
+ // Transform transitions
62
+ transform: 'transform 250ms cubic-bezier(0.4, 0, 0.2, 1)',
63
+ // Shadow transitions
64
+ shadow: 'box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1)',
65
+ // All properties
66
+ all: 'all 250ms cubic-bezier(0.4, 0, 0.2, 1)'
67
+ }
68
+ };
69
+
70
+ // Semantic Motion
71
+ export var semanticMotion = {
72
+ // Component animations
73
+ button: {
74
+ duration: motion.duration.fast,
75
+ easing: motion.easing.easeOut,
76
+ transition: "all ".concat(motion.duration.fast, " ").concat(motion.easing.easeOut)
77
+ },
78
+ input: {
79
+ duration: motion.duration.fast,
80
+ easing: motion.easing.easeOut,
81
+ transition: "border-color ".concat(motion.duration.fast, " ").concat(motion.easing.easeOut, ", box-shadow ").concat(motion.duration.fast, " ").concat(motion.easing.easeOut)
82
+ },
83
+ modal: {
84
+ duration: motion.duration.normal,
85
+ easing: motion.easing.easeInOut,
86
+ transition: "opacity ".concat(motion.duration.normal, " ").concat(motion.easing.easeInOut, ", transform ").concat(motion.duration.normal, " ").concat(motion.easing.easeInOut)
87
+ },
88
+ dropdown: {
89
+ duration: motion.duration.fast,
90
+ easing: motion.easing.easeOut,
91
+ transition: "opacity ".concat(motion.duration.fast, " ").concat(motion.easing.easeOut, ", transform ").concat(motion.duration.fast, " ").concat(motion.easing.easeOut)
92
+ },
93
+ tooltip: {
94
+ duration: motion.duration.fast,
95
+ easing: motion.easing.easeOut,
96
+ transition: "opacity ".concat(motion.duration.fast, " ").concat(motion.easing.easeOut)
97
+ },
98
+ // Page transitions
99
+ pageEnter: {
100
+ duration: motion.duration.slow,
101
+ easing: motion.easing.easeOut,
102
+ transition: "opacity ".concat(motion.duration.slow, " ").concat(motion.easing.easeOut, ", transform ").concat(motion.duration.slow, " ").concat(motion.easing.easeOut)
103
+ },
104
+ pageExit: {
105
+ duration: motion.duration.fast,
106
+ easing: motion.easing.easeIn,
107
+ transition: "opacity ".concat(motion.duration.fast, " ").concat(motion.easing.easeIn)
108
+ },
109
+ // Hover states
110
+ hover: {
111
+ duration: motion.duration.fast,
112
+ easing: motion.easing.easeOut,
113
+ transition: "all ".concat(motion.duration.fast, " ").concat(motion.easing.easeOut)
114
+ },
115
+ // Focus states
116
+ focus: {
117
+ duration: motion.duration.fast,
118
+ easing: motion.easing.sharp,
119
+ transition: "box-shadow ".concat(motion.duration.fast, " ").concat(motion.easing.sharp)
120
+ }
121
+ };
122
+
123
+ // Animation Keyframes
124
+ export var keyframes = {
125
+ // Fade animations
126
+ fadeIn: {
127
+ from: {
128
+ opacity: 0
129
+ },
130
+ to: {
131
+ opacity: 1
132
+ }
133
+ },
134
+ fadeOut: {
135
+ from: {
136
+ opacity: 1
137
+ },
138
+ to: {
139
+ opacity: 0
140
+ }
141
+ },
142
+ // Slide animations
143
+ slideInUp: {
144
+ from: {
145
+ transform: 'translateY(100%)',
146
+ opacity: 0
147
+ },
148
+ to: {
149
+ transform: 'translateY(0)',
150
+ opacity: 1
151
+ }
152
+ },
153
+ slideInDown: {
154
+ from: {
155
+ transform: 'translateY(-100%)',
156
+ opacity: 0
157
+ },
158
+ to: {
159
+ transform: 'translateY(0)',
160
+ opacity: 1
161
+ }
162
+ },
163
+ slideInLeft: {
164
+ from: {
165
+ transform: 'translateX(-100%)',
166
+ opacity: 0
167
+ },
168
+ to: {
169
+ transform: 'translateX(0)',
170
+ opacity: 1
171
+ }
172
+ },
173
+ slideInRight: {
174
+ from: {
175
+ transform: 'translateX(100%)',
176
+ opacity: 0
177
+ },
178
+ to: {
179
+ transform: 'translateX(0)',
180
+ opacity: 1
181
+ }
182
+ },
183
+ // Scale animations
184
+ scaleIn: {
185
+ from: {
186
+ transform: 'scale(0.95)',
187
+ opacity: 0
188
+ },
189
+ to: {
190
+ transform: 'scale(1)',
191
+ opacity: 1
192
+ }
193
+ },
194
+ scaleOut: {
195
+ from: {
196
+ transform: 'scale(1)',
197
+ opacity: 1
198
+ },
199
+ to: {
200
+ transform: 'scale(0.95)',
201
+ opacity: 0
202
+ }
203
+ },
204
+ // Spin animation
205
+ spin: {
206
+ from: {
207
+ transform: 'rotate(0deg)'
208
+ },
209
+ to: {
210
+ transform: 'rotate(360deg)'
211
+ }
212
+ },
213
+ // Pulse animation
214
+ pulse: {
215
+ '0%, 100%': {
216
+ opacity: 1
217
+ },
218
+ '50%': {
219
+ opacity: 0.5
220
+ }
221
+ },
222
+ // Bounce animation
223
+ bounce: {
224
+ '0%, 100%': {
225
+ transform: 'translateY(0)'
226
+ },
227
+ '50%': {
228
+ transform: 'translateY(-25%)'
229
+ }
230
+ }
231
+ };
232
+
233
+ // Type exports
234
+
235
+ // CSS Custom Properties Generator
236
+ export var generateMotionVariables = function generateMotionVariables() {
237
+ var vars = {};
238
+
239
+ // Durations
240
+ Object.entries(motion.duration).forEach(function (_ref) {
241
+ var _ref2 = _slicedToArray(_ref, 2),
242
+ key = _ref2[0],
243
+ value = _ref2[1];
244
+ vars["--duration-".concat(key)] = value;
245
+ });
246
+
247
+ // Easing
248
+ Object.entries(motion.easing).forEach(function (_ref3) {
249
+ var _ref4 = _slicedToArray(_ref3, 2),
250
+ key = _ref4[0],
251
+ value = _ref4[1];
252
+ vars["--easing-".concat(key)] = value;
253
+ });
254
+
255
+ // Transitions
256
+ Object.entries(motion.transition).forEach(function (_ref5) {
257
+ var _ref6 = _slicedToArray(_ref5, 2),
258
+ key = _ref6[0],
259
+ value = _ref6[1];
260
+ vars["--transition-".concat(key)] = value;
261
+ });
262
+ return vars;
263
+ };
264
+
265
+ // Tailwind Config Export
266
+ export var tailwindMotion = {
267
+ transitionDuration: {
268
+ instant: '0ms',
269
+ fast: '150ms',
270
+ DEFAULT: '250ms',
271
+ slow: '350ms',
272
+ slower: '500ms',
273
+ slowest: '750ms'
274
+ },
275
+ transitionTimingFunction: {
276
+ linear: 'linear',
277
+ "in": 'cubic-bezier(0.4, 0, 1, 1)',
278
+ out: 'cubic-bezier(0, 0, 0.2, 1)',
279
+ 'in-out': 'cubic-bezier(0.4, 0, 0.2, 1)',
280
+ bounce: 'cubic-bezier(0.68, -0.55, 0.265, 1.55)',
281
+ sharp: 'cubic-bezier(0.4, 0, 0.6, 1)'
282
+ },
283
+ keyframes: keyframes
284
+ };