@nordmanai/nif 0.0.0-stage → 0.2.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 (398) hide show
  1. package/README.md +79 -2
  2. package/bin/nif.mjs +196 -0
  3. package/dist/index.d.ts +124 -0
  4. package/dist/index.js +12961 -0
  5. package/dist/styles.css +2 -0
  6. package/dist/tokens.css +72 -0
  7. package/dist/ui/components/nm-ai/nm-ai.d.ts +222 -0
  8. package/dist/ui/components/nm-avatar/nm-avatar.d.ts +12 -0
  9. package/dist/ui/components/nm-bar-overflow/nm-bar-overflow.d.ts +15 -0
  10. package/dist/ui/components/nm-bar-overflow/use-bar-overflow.d.ts +7 -0
  11. package/dist/ui/components/nm-brand-logo/nm-brand-logo.d.ts +10 -0
  12. package/dist/ui/components/nm-breadcrumb/nm-breadcrumb.d.ts +11 -0
  13. package/dist/ui/components/nm-button/nm-button.d.ts +19 -0
  14. package/dist/ui/components/nm-button-group/nm-button-group.d.ts +17 -0
  15. package/dist/ui/components/nm-calendar/nm-calendar.d.ts +3 -0
  16. package/dist/ui/components/nm-card/nm-card.d.ts +34 -0
  17. package/dist/ui/components/nm-chatbox/nm-chatbox-icon.d.ts +7 -0
  18. package/dist/ui/components/nm-chatbox/nm-chatbox.d.ts +19 -0
  19. package/dist/ui/components/nm-checkbox/nm-checkbox.d.ts +2 -0
  20. package/dist/ui/components/nm-chip/nm-chip.d.ts +38 -0
  21. package/dist/ui/components/nm-code-block/nm-code-block.d.ts +55 -0
  22. package/dist/ui/components/nm-collection/nm-collection-bar.d.ts +16 -0
  23. package/dist/ui/components/nm-collection/nm-collection-grid.d.ts +9 -0
  24. package/dist/ui/components/nm-collection/nm-collection-query.d.ts +18 -0
  25. package/dist/ui/components/nm-collection/nm-collection-row-menu.d.ts +7 -0
  26. package/dist/ui/components/nm-collection/nm-collection-table.d.ts +13 -0
  27. package/dist/ui/components/nm-collection/nm-collection-tile-actions.d.ts +7 -0
  28. package/dist/ui/components/nm-collection/nm-collection-title.d.ts +10 -0
  29. package/dist/ui/components/nm-collection/use-collection-scroll-reveal.d.ts +3 -0
  30. package/dist/ui/components/nm-color-picker/nm-color-picker.d.ts +15 -0
  31. package/dist/ui/components/nm-combobox/nm-combobox.d.ts +26 -0
  32. package/dist/ui/components/nm-command/nm-command.d.ts +37 -0
  33. package/dist/ui/components/nm-composer/nm-composer.d.ts +33 -0
  34. package/dist/ui/components/nm-context-menu/nm-context-menu.d.ts +9 -0
  35. package/dist/ui/components/nm-date-picker/nm-date-picker.d.ts +35 -0
  36. package/dist/ui/components/nm-dialog/nm-dialog.d.ts +13 -0
  37. package/dist/ui/components/nm-dropdown/nm-dropdown-item.d.ts +26 -0
  38. package/dist/ui/components/nm-dropdown/nm-dropdown-options.d.ts +12 -0
  39. package/dist/ui/components/nm-dropdown/nm-dropdown-panel.d.ts +16 -0
  40. package/dist/ui/components/nm-dropdown/nm-dropdown-placement.d.ts +55 -0
  41. package/dist/ui/components/nm-dropdown/nm-dropdown.d.ts +31 -0
  42. package/dist/ui/components/nm-dropdown-menu/nm-dropdown-menu.d.ts +30 -0
  43. package/dist/ui/components/nm-field/nm-field.d.ts +52 -0
  44. package/dist/ui/components/nm-form-field/nm-form-field.d.ts +18 -0
  45. package/dist/ui/components/nm-gallery/nm-gallery.d.ts +8 -0
  46. package/dist/ui/components/nm-hover-card/nm-hover-card.d.ts +5 -0
  47. package/dist/ui/components/nm-icon/nm-icon.d.ts +7 -0
  48. package/dist/ui/components/nm-icon/nm-lucide.d.ts +7 -0
  49. package/dist/ui/components/nm-icon-border/nm-icon-border.d.ts +21 -0
  50. package/dist/ui/components/nm-input/nm-input.d.ts +5 -0
  51. package/dist/ui/components/nm-input-group/nm-input-group.d.ts +9 -0
  52. package/dist/ui/components/nm-label/nm-label.d.ts +2 -0
  53. package/dist/ui/components/nm-list-item/nm-list-item.d.ts +23 -0
  54. package/dist/ui/components/nm-menubar/nm-menubar.d.ts +9 -0
  55. package/dist/ui/components/nm-message/nm-message-actions.d.ts +7 -0
  56. package/dist/ui/components/nm-message/nm-message-meta.d.ts +10 -0
  57. package/dist/ui/components/nm-message/nm-text-shimmer.d.ts +4 -0
  58. package/dist/ui/components/nm-message/nm-trace.d.ts +58 -0
  59. package/dist/ui/components/nm-modal/nm-modal.d.ts +35 -0
  60. package/dist/ui/components/nm-native-select/nm-native-select.d.ts +5 -0
  61. package/dist/ui/components/nm-panel/nm-panel.d.ts +14 -0
  62. package/dist/ui/components/nm-panel-bar/nm-panel-bar.d.ts +17 -0
  63. package/dist/ui/components/nm-popover/nm-popover.d.ts +8 -0
  64. package/dist/ui/components/nm-progress/nm-progress.d.ts +3 -0
  65. package/dist/ui/components/nm-prose/nm-prose.d.ts +6 -0
  66. package/dist/ui/components/nm-questionnaire/nm-questionnaire.d.ts +17 -0
  67. package/dist/ui/components/nm-radio-group/nm-radio-group.d.ts +4 -0
  68. package/dist/ui/components/nm-rail-icon/nm-rail-icon.d.ts +6 -0
  69. package/dist/ui/components/nm-resize-handle/nm-resize-handle.d.ts +18 -0
  70. package/dist/ui/components/nm-segmented/nm-segmented.d.ts +20 -0
  71. package/dist/ui/components/nm-select/nm-select.d.ts +22 -0
  72. package/dist/ui/components/nm-separator/nm-separator.d.ts +2 -0
  73. package/dist/ui/components/nm-side-panel/nm-side-panel.d.ts +33 -0
  74. package/dist/ui/components/nm-slider/nm-slider.d.ts +6 -0
  75. package/dist/ui/components/nm-small-icon-button/nm-small-icon-button.d.ts +21 -0
  76. package/dist/ui/components/nm-status-bar/nm-status-bar.d.ts +8 -0
  77. package/dist/ui/components/nm-switch/nm-switch.d.ts +2 -0
  78. package/dist/ui/components/nm-table/nm-table.d.ts +38 -0
  79. package/dist/ui/components/nm-tabs/nm-tabs.d.ts +9 -0
  80. package/dist/ui/components/nm-textarea/nm-textarea.d.ts +2 -0
  81. package/dist/ui/components/nm-toggle/nm-toggle.d.ts +9 -0
  82. package/dist/ui/components/nm-toolbar/nm-toolbar.d.ts +21 -0
  83. package/dist/ui/components/nm-tooltip/nm-tooltip.d.ts +5 -0
  84. package/dist/ui/components/nm-top-bar/nm-top-bar.d.ts +12 -0
  85. package/dist/ui/components/nordman-icon-button/nordman-icon-button.d.ts +29 -0
  86. package/dist/ui/components/nordman-login/nordman-login.d.ts +36 -0
  87. package/dist/ui/components/nordman-login-field/nordman-login-field.d.ts +13 -0
  88. package/dist/ui/components/nordman-login-forgot/nordman-login-forgot.d.ts +9 -0
  89. package/dist/ui/components/nordman-login-google/nordman-login-google.d.ts +6 -0
  90. package/dist/ui/components/nordman-login-hero/nordman-login-hero.d.ts +6 -0
  91. package/dist/ui/components/nordman-login-register/nordman-login-register.d.ts +11 -0
  92. package/dist/ui/components/nordman-login-reset/nordman-login-reset.d.ts +9 -0
  93. package/dist/ui/components/nordman-login-reveal/nordman-login-reveal.d.ts +6 -0
  94. package/dist/ui/components/nordman-login-sign-in/nordman-login-sign-in.d.ts +11 -0
  95. package/dist/ui/components/nordman-toggle/nordman-toggle.d.ts +12 -0
  96. package/dist/ui/config/nm-ai.d.ts +44 -0
  97. package/dist/ui/config/nm-app-panel.d.ts +36 -0
  98. package/dist/ui/config/nm-appearance.d.ts +100 -0
  99. package/dist/ui/config/nm-bar-overflow.d.ts +9 -0
  100. package/dist/ui/config/nm-button.d.ts +31 -0
  101. package/dist/ui/config/nm-chatbox-icons.d.ts +42 -0
  102. package/dist/ui/config/nm-chatbox.d.ts +40 -0
  103. package/dist/ui/config/nm-collection.d.ts +88 -0
  104. package/dist/ui/config/nm-composer.d.ts +42 -0
  105. package/dist/ui/config/nm-dropdown.d.ts +56 -0
  106. package/dist/ui/config/nm-fade.d.ts +6 -0
  107. package/dist/ui/config/nm-field.d.ts +38 -0
  108. package/dist/ui/config/nm-header-icons.d.ts +15 -0
  109. package/dist/ui/config/nm-icon-border.d.ts +3 -0
  110. package/dist/ui/config/nm-icon-button.d.ts +26 -0
  111. package/dist/ui/config/nm-icons.d.ts +371 -0
  112. package/dist/ui/config/nm-list-item.d.ts +14 -0
  113. package/dist/ui/config/nm-message.d.ts +87 -0
  114. package/dist/ui/config/nm-modal.d.ts +67 -0
  115. package/dist/ui/config/nm-panel-bar.d.ts +9 -0
  116. package/dist/ui/config/nm-questionnaire.d.ts +57 -0
  117. package/dist/ui/config/nm-radius.d.ts +49 -0
  118. package/dist/ui/config/nm-rail-icons.d.ts +14 -0
  119. package/dist/ui/config/nm-rail.d.ts +5 -0
  120. package/dist/ui/config/nm-segmented.d.ts +17 -0
  121. package/dist/ui/config/nm-side-panel.d.ts +33 -0
  122. package/dist/ui/config/nm-site-palette.d.ts +30 -0
  123. package/dist/ui/config/nm-small-icon-button.d.ts +12 -0
  124. package/dist/ui/config/nm-tabs.d.ts +8 -0
  125. package/dist/ui/config/nm-top-bar.d.ts +4 -0
  126. package/dist/ui/config/nordman-chrome.d.ts +12 -0
  127. package/dist/ui/config/nordman-login.d.ts +23 -0
  128. package/dist/ui/content/nm-modal.d.ts +1 -0
  129. package/dist/ui/content/nordman-login.d.ts +38 -0
  130. package/dist/ui/kit-logger.d.ts +1 -0
  131. package/dist/ui/lib/appearance/appearanceState.d.ts +28 -0
  132. package/dist/ui/lib/appearance/applyAppearance.d.ts +5 -0
  133. package/dist/ui/lib/appearance/cloudOrbAppearance.d.ts +4 -0
  134. package/dist/ui/lib/appearance/color.d.ts +13 -0
  135. package/dist/ui/lib/appearance/deriveTokens.d.ts +6 -0
  136. package/dist/ui/lib/appearance/index.d.ts +6 -0
  137. package/dist/ui/lib/appearance/markTokens.d.ts +2 -0
  138. package/dist/ui/lib/appearance/readLayoutMetrics.d.ts +4 -0
  139. package/dist/ui/lib/bar-overflow.d.ts +13 -0
  140. package/dist/ui/lib/logger.d.ts +8 -0
  141. package/dist/ui/lib/menu-motion.d.ts +72 -0
  142. package/dist/ui/lib/nm-class.d.ts +2 -0
  143. package/dist/ui/lib/nordman-ui-locale.d.ts +9 -0
  144. package/interface/app-panel/code.svg +5 -0
  145. package/interface/app-panel/console.svg +5 -0
  146. package/interface/app-panel/copy.svg +5 -0
  147. package/interface/app-panel/ellipsis.svg +7 -0
  148. package/interface/app-panel/message.svg +5 -0
  149. package/interface/app-panel/network.svg +10 -0
  150. package/interface/app-panel/play.svg +5 -0
  151. package/interface/app-panel/plus.svg +5 -0
  152. package/interface/chatbox/app.svg +5 -0
  153. package/interface/chatbox/audio-lines.svg +5 -0
  154. package/interface/chatbox/check.svg +5 -0
  155. package/interface/chatbox/globe.svg +5 -0
  156. package/interface/chatbox/integration.svg +5 -0
  157. package/interface/chatbox/mic.svg +5 -0
  158. package/interface/chatbox/paperclip.svg +5 -0
  159. package/interface/chatbox/pointer.svg +5 -0
  160. package/interface/chatbox/send.svg +5 -0
  161. package/interface/chatbox/settings.svg +5 -0
  162. package/interface/chatbox/spreadsheet.svg +5 -0
  163. package/interface/chatbox/x.svg +5 -0
  164. package/interface/collection/audio.svg +5 -0
  165. package/interface/collection/download.svg +5 -0
  166. package/interface/collection/expand.svg +5 -0
  167. package/interface/collection/grid.svg +10 -0
  168. package/interface/collection/image.svg +5 -0
  169. package/interface/collection/spreadsheet.svg +5 -0
  170. package/interface/collection/video.svg +5 -0
  171. package/interface/header/app.svg +5 -0
  172. package/interface/header/bot.svg +5 -0
  173. package/interface/header/chat.svg +10 -0
  174. package/interface/header/folder.svg +5 -0
  175. package/interface/header/layers.svg +10 -0
  176. package/interface/header/panel.svg +5 -0
  177. package/interface/header/play.svg +3 -0
  178. package/interface/header/schedule.svg +8 -0
  179. package/interface/header/search.svg +5 -0
  180. package/interface/header/settings.svg +5 -0
  181. package/interface/header/users.svg +5 -0
  182. package/interface/message/chevron.svg +5 -0
  183. package/interface/message/copy.svg +5 -0
  184. package/interface/message/fork.svg +5 -0
  185. package/interface/message/refresh.svg +5 -0
  186. package/interface/message/volume.svg +5 -0
  187. package/interface/rail/app.svg +5 -0
  188. package/interface/rail/bot.svg +5 -0
  189. package/interface/rail/chats.svg +5 -0
  190. package/interface/rail/folder.svg +5 -0
  191. package/interface/rail/library.svg +5 -0
  192. package/interface/rail/plus-sm.svg +5 -0
  193. package/interface/rail/plus.svg +5 -0
  194. package/interface/rail/search.svg +5 -0
  195. package/interface/rail/settings.svg +8 -0
  196. package/interface/rail/spreadsheet.svg +5 -0
  197. package/package.json +79 -4
  198. package/registry/index.json +1634 -0
  199. package/registry/tokens.css +72 -0
  200. package/registry/ui/components/nm-ai/nm-ai.css +358 -0
  201. package/registry/ui/components/nm-ai/nm-ai.tsx +632 -0
  202. package/registry/ui/components/nm-app-panel/nm-app-panel.css +169 -0
  203. package/registry/ui/components/nm-ask/nm-ask.css +277 -0
  204. package/registry/ui/components/nm-avatar/nm-avatar.css +85 -0
  205. package/registry/ui/components/nm-avatar/nm-avatar.tsx +30 -0
  206. package/registry/ui/components/nm-bar-overflow/nm-bar-overflow.css +43 -0
  207. package/registry/ui/components/nm-bar-overflow/nm-bar-overflow.tsx +61 -0
  208. package/registry/ui/components/nm-bar-overflow/use-bar-overflow.ts +92 -0
  209. package/registry/ui/components/nm-brand-logo/nm-brand-logo.css +20 -0
  210. package/registry/ui/components/nm-brand-logo/nm-brand-logo.tsx +21 -0
  211. package/registry/ui/components/nm-breadcrumb/nm-breadcrumb.css +57 -0
  212. package/registry/ui/components/nm-breadcrumb/nm-breadcrumb.tsx +42 -0
  213. package/registry/ui/components/nm-button/nm-button.css +110 -0
  214. package/registry/ui/components/nm-button/nm-button.tsx +58 -0
  215. package/registry/ui/components/nm-button-group/nm-button-group.css +87 -0
  216. package/registry/ui/components/nm-button-group/nm-button-group.tsx +32 -0
  217. package/registry/ui/components/nm-calendar/nm-calendar.css +178 -0
  218. package/registry/ui/components/nm-calendar/nm-calendar.tsx +43 -0
  219. package/registry/ui/components/nm-card/nm-card.css +130 -0
  220. package/registry/ui/components/nm-card/nm-card.tsx +83 -0
  221. package/registry/ui/components/nm-chatbox/nm-chatbox-icon.tsx +39 -0
  222. package/registry/ui/components/nm-chatbox/nm-chatbox.css +682 -0
  223. package/registry/ui/components/nm-chatbox/nm-chatbox.tsx +101 -0
  224. package/registry/ui/components/nm-checkbox/nm-checkbox.css +61 -0
  225. package/registry/ui/components/nm-checkbox/nm-checkbox.tsx +14 -0
  226. package/registry/ui/components/nm-chip/nm-chip.css +112 -0
  227. package/registry/ui/components/nm-chip/nm-chip.tsx +86 -0
  228. package/registry/ui/components/nm-code-block/nm-code-block.css +240 -0
  229. package/registry/ui/components/nm-code-block/nm-code-block.tsx +196 -0
  230. package/registry/ui/components/nm-collection/nm-collection-bar.tsx +65 -0
  231. package/registry/ui/components/nm-collection/nm-collection-grid.tsx +69 -0
  232. package/registry/ui/components/nm-collection/nm-collection-query.tsx +99 -0
  233. package/registry/ui/components/nm-collection/nm-collection-row-menu.tsx +55 -0
  234. package/registry/ui/components/nm-collection/nm-collection-table.tsx +99 -0
  235. package/registry/ui/components/nm-collection/nm-collection-tile-actions.tsx +50 -0
  236. package/registry/ui/components/nm-collection/nm-collection-title.tsx +25 -0
  237. package/registry/ui/components/nm-collection/nm-collection.css +353 -0
  238. package/registry/ui/components/nm-collection/use-collection-scroll-reveal.ts +38 -0
  239. package/registry/ui/components/nm-color-picker/nm-color-picker.css +67 -0
  240. package/registry/ui/components/nm-color-picker/nm-color-picker.tsx +79 -0
  241. package/registry/ui/components/nm-combobox/nm-combobox.css +72 -0
  242. package/registry/ui/components/nm-combobox/nm-combobox.tsx +80 -0
  243. package/registry/ui/components/nm-command/nm-command.css +190 -0
  244. package/registry/ui/components/nm-command/nm-command.tsx +125 -0
  245. package/registry/ui/components/nm-composer/nm-composer.css +178 -0
  246. package/registry/ui/components/nm-composer/nm-composer.tsx +151 -0
  247. package/registry/ui/components/nm-context-menu/nm-context-menu.tsx +25 -0
  248. package/registry/ui/components/nm-date-picker/nm-date-picker.css +140 -0
  249. package/registry/ui/components/nm-date-picker/nm-date-picker.tsx +153 -0
  250. package/registry/ui/components/nm-dialog/nm-dialog.css +84 -0
  251. package/registry/ui/components/nm-dialog/nm-dialog.tsx +40 -0
  252. package/registry/ui/components/nm-dropdown/nm-dropdown-item.ts +68 -0
  253. package/registry/ui/components/nm-dropdown/nm-dropdown-options.tsx +242 -0
  254. package/registry/ui/components/nm-dropdown/nm-dropdown-panel.tsx +171 -0
  255. package/registry/ui/components/nm-dropdown/nm-dropdown-placement.ts +157 -0
  256. package/registry/ui/components/nm-dropdown/nm-dropdown.css +312 -0
  257. package/registry/ui/components/nm-dropdown/nm-dropdown.tsx +412 -0
  258. package/registry/ui/components/nm-dropdown-menu/nm-dropdown-menu.css +145 -0
  259. package/registry/ui/components/nm-dropdown-menu/nm-dropdown-menu.tsx +118 -0
  260. package/registry/ui/components/nm-field/nm-field.css +356 -0
  261. package/registry/ui/components/nm-field/nm-field.tsx +355 -0
  262. package/registry/ui/components/nm-form-field/nm-form-field.css +103 -0
  263. package/registry/ui/components/nm-form-field/nm-form-field.tsx +71 -0
  264. package/registry/ui/components/nm-gallery/nm-gallery.css +66 -0
  265. package/registry/ui/components/nm-gallery/nm-gallery.tsx +31 -0
  266. package/registry/ui/components/nm-hover-card/nm-hover-card.css +26 -0
  267. package/registry/ui/components/nm-hover-card/nm-hover-card.tsx +28 -0
  268. package/registry/ui/components/nm-icon/nm-icon.css +6 -0
  269. package/registry/ui/components/nm-icon/nm-icon.tsx +69 -0
  270. package/registry/ui/components/nm-icon/nm-lucide.tsx +180 -0
  271. package/registry/ui/components/nm-icon-border/nm-icon-border.tsx +56 -0
  272. package/registry/ui/components/nm-input/nm-input.css +75 -0
  273. package/registry/ui/components/nm-input/nm-input.tsx +7 -0
  274. package/registry/ui/components/nm-input-group/nm-input-group.css +66 -0
  275. package/registry/ui/components/nm-input-group/nm-input-group.tsx +20 -0
  276. package/registry/ui/components/nm-label/nm-label.css +11 -0
  277. package/registry/ui/components/nm-label/nm-label.tsx +6 -0
  278. package/registry/ui/components/nm-list-item/nm-list-item.css +177 -0
  279. package/registry/ui/components/nm-list-item/nm-list-item.tsx +112 -0
  280. package/registry/ui/components/nm-menubar/nm-menubar.css +32 -0
  281. package/registry/ui/components/nm-menubar/nm-menubar.tsx +19 -0
  282. package/registry/ui/components/nm-message/nm-message-actions.tsx +24 -0
  283. package/registry/ui/components/nm-message/nm-message-meta.tsx +49 -0
  284. package/registry/ui/components/nm-message/nm-message.css +686 -0
  285. package/registry/ui/components/nm-message/nm-text-shimmer.tsx +6 -0
  286. package/registry/ui/components/nm-message/nm-trace.tsx +219 -0
  287. package/registry/ui/components/nm-modal/nm-modal.css +763 -0
  288. package/registry/ui/components/nm-modal/nm-modal.tsx +497 -0
  289. package/registry/ui/components/nm-native-select/nm-native-select.css +47 -0
  290. package/registry/ui/components/nm-native-select/nm-native-select.tsx +23 -0
  291. package/registry/ui/components/nm-panel/nm-panel.css +73 -0
  292. package/registry/ui/components/nm-panel/nm-panel.tsx +35 -0
  293. package/registry/ui/components/nm-panel-bar/nm-panel-bar.css +20 -0
  294. package/registry/ui/components/nm-panel-bar/nm-panel-bar.tsx +48 -0
  295. package/registry/ui/components/nm-popover/nm-popover.css +43 -0
  296. package/registry/ui/components/nm-popover/nm-popover.tsx +40 -0
  297. package/registry/ui/components/nm-progress/nm-progress.css +21 -0
  298. package/registry/ui/components/nm-progress/nm-progress.tsx +14 -0
  299. package/registry/ui/components/nm-prose/nm-prose.css +81 -0
  300. package/registry/ui/components/nm-prose/nm-prose.tsx +10 -0
  301. package/registry/ui/components/nm-questionnaire/nm-questionnaire.css +182 -0
  302. package/registry/ui/components/nm-questionnaire/nm-questionnaire.tsx +221 -0
  303. package/registry/ui/components/nm-radio-group/nm-radio-group.css +48 -0
  304. package/registry/ui/components/nm-radio-group/nm-radio-group.tsx +15 -0
  305. package/registry/ui/components/nm-rail-icon/nm-rail-icon.css +6 -0
  306. package/registry/ui/components/nm-rail-icon/nm-rail-icon.tsx +28 -0
  307. package/registry/ui/components/nm-resize-handle/nm-resize-handle.css +45 -0
  308. package/registry/ui/components/nm-resize-handle/nm-resize-handle.tsx +102 -0
  309. package/registry/ui/components/nm-segmented/nm-segmented.css +104 -0
  310. package/registry/ui/components/nm-segmented/nm-segmented.tsx +77 -0
  311. package/registry/ui/components/nm-select/nm-select.css +78 -0
  312. package/registry/ui/components/nm-select/nm-select.tsx +64 -0
  313. package/registry/ui/components/nm-separator/nm-separator.css +14 -0
  314. package/registry/ui/components/nm-separator/nm-separator.tsx +6 -0
  315. package/registry/ui/components/nm-side-panel/nm-side-panel.css +93 -0
  316. package/registry/ui/components/nm-side-panel/nm-side-panel.tsx +86 -0
  317. package/registry/ui/components/nm-slider/nm-slider.css +53 -0
  318. package/registry/ui/components/nm-slider/nm-slider.tsx +40 -0
  319. package/registry/ui/components/nm-small-icon-button/nm-small-icon-button.tsx +66 -0
  320. package/registry/ui/components/nm-status-bar/nm-status-bar.css +50 -0
  321. package/registry/ui/components/nm-status-bar/nm-status-bar.tsx +28 -0
  322. package/registry/ui/components/nm-switch/nm-switch.css +45 -0
  323. package/registry/ui/components/nm-switch/nm-switch.tsx +10 -0
  324. package/registry/ui/components/nm-table/nm-table.css +155 -0
  325. package/registry/ui/components/nm-table/nm-table.tsx +95 -0
  326. package/registry/ui/components/nm-tabs/nm-tabs.css +28 -0
  327. package/registry/ui/components/nm-tabs/nm-tabs.tsx +32 -0
  328. package/registry/ui/components/nm-textarea/nm-textarea.css +41 -0
  329. package/registry/ui/components/nm-textarea/nm-textarea.tsx +6 -0
  330. package/registry/ui/components/nm-toggle/nm-toggle.css +55 -0
  331. package/registry/ui/components/nm-toggle/nm-toggle.tsx +16 -0
  332. package/registry/ui/components/nm-toolbar/nm-toolbar.css +42 -0
  333. package/registry/ui/components/nm-toolbar/nm-toolbar.tsx +54 -0
  334. package/registry/ui/components/nm-tooltip/nm-tooltip.css +37 -0
  335. package/registry/ui/components/nm-tooltip/nm-tooltip.tsx +35 -0
  336. package/registry/ui/components/nm-top-bar/nm-top-bar.css +29 -0
  337. package/registry/ui/components/nm-top-bar/nm-top-bar.tsx +34 -0
  338. package/registry/ui/components/nordman-icon-button/nordman-icon-button.css +119 -0
  339. package/registry/ui/components/nordman-icon-button/nordman-icon-button.tsx +185 -0
  340. package/registry/ui/components/nordman-login/nordman-login.css +195 -0
  341. package/registry/ui/components/nordman-login/nordman-login.tsx +136 -0
  342. package/registry/ui/components/nordman-login-field/nordman-login-field.tsx +55 -0
  343. package/registry/ui/components/nordman-login-forgot/nordman-login-forgot.tsx +56 -0
  344. package/registry/ui/components/nordman-login-google/nordman-login-google.tsx +28 -0
  345. package/registry/ui/components/nordman-login-hero/nordman-login-hero.tsx +38 -0
  346. package/registry/ui/components/nordman-login-register/nordman-login-register.tsx +70 -0
  347. package/registry/ui/components/nordman-login-reset/nordman-login-reset.tsx +71 -0
  348. package/registry/ui/components/nordman-login-reveal/nordman-login-reveal.tsx +41 -0
  349. package/registry/ui/components/nordman-login-sign-in/nordman-login-sign-in.tsx +69 -0
  350. package/registry/ui/components/nordman-toggle/nordman-toggle.css +28 -0
  351. package/registry/ui/components/nordman-toggle/nordman-toggle.tsx +35 -0
  352. package/registry/ui/config/nm-ai.ts +59 -0
  353. package/registry/ui/config/nm-appearance.ts +275 -0
  354. package/registry/ui/config/nm-bar-overflow.ts +10 -0
  355. package/registry/ui/config/nm-button.ts +38 -0
  356. package/registry/ui/config/nm-chatbox-icons.ts +67 -0
  357. package/registry/ui/config/nm-chatbox.ts +42 -0
  358. package/registry/ui/config/nm-collection.ts +101 -0
  359. package/registry/ui/config/nm-composer.ts +39 -0
  360. package/registry/ui/config/nm-dropdown.ts +62 -0
  361. package/registry/ui/config/nm-field.ts +43 -0
  362. package/registry/ui/config/nm-icon-button.ts +35 -0
  363. package/registry/ui/config/nm-icons.ts +417 -0
  364. package/registry/ui/config/nm-list-item.ts +14 -0
  365. package/registry/ui/config/nm-message.ts +106 -0
  366. package/registry/ui/config/nm-modal.ts +76 -0
  367. package/registry/ui/config/nm-panel-bar.ts +11 -0
  368. package/registry/ui/config/nm-questionnaire.ts +53 -0
  369. package/registry/ui/config/nm-radius.ts +56 -0
  370. package/registry/ui/config/nm-rail-icons.ts +27 -0
  371. package/registry/ui/config/nm-segmented.ts +19 -0
  372. package/registry/ui/config/nm-side-panel.ts +16 -0
  373. package/registry/ui/config/nm-site-palette.ts +30 -0
  374. package/registry/ui/config/nm-small-icon-button.ts +17 -0
  375. package/registry/ui/config/nm-tabs.ts +9 -0
  376. package/registry/ui/config/nm-top-bar.ts +4 -0
  377. package/registry/ui/config/nordman-chrome.ts +14 -0
  378. package/registry/ui/config/nordman-login.ts +28 -0
  379. package/registry/ui/content/nm-modal.ts +5 -0
  380. package/registry/ui/content/nordman-login.ts +85 -0
  381. package/registry/ui/kit-logger.ts +1 -0
  382. package/registry/ui/lib/appearance/appearanceState.ts +240 -0
  383. package/registry/ui/lib/appearance/applyAppearance.ts +36 -0
  384. package/registry/ui/lib/appearance/cloudOrbAppearance.ts +36 -0
  385. package/registry/ui/lib/appearance/color.ts +96 -0
  386. package/registry/ui/lib/appearance/deriveTokens.ts +218 -0
  387. package/registry/ui/lib/appearance/index.ts +6 -0
  388. package/registry/ui/lib/appearance/markTokens.ts +49 -0
  389. package/registry/ui/lib/appearance/readLayoutMetrics.ts +28 -0
  390. package/registry/ui/lib/bar-overflow.ts +41 -0
  391. package/registry/ui/lib/logger.ts +53 -0
  392. package/registry/ui/lib/menu-motion.ts +187 -0
  393. package/registry/ui/lib/nm-class.ts +4 -0
  394. package/registry/ui/lib/nordman-ui-locale.ts +43 -0
  395. package/registry/ui/styles/interface-theme.css +196 -0
  396. package/registry/ui/styles/light-appearance.css +72 -0
  397. package/registry/ui/styles/tokens.css +424 -0
  398. package/registry/ui/styles/utilities.css +12 -0
@@ -0,0 +1,424 @@
1
+ @property --nm-header-rule-top {
2
+ syntax: '<length>';
3
+ inherits: true;
4
+ initial-value: 0px;
5
+ }
6
+
7
+ @property --nm-header-band {
8
+ syntax: '<length>';
9
+ inherits: true;
10
+ initial-value: 0px;
11
+ }
12
+
13
+ :root {
14
+ --ink: #000000;
15
+ --paper: #e8e7d9;
16
+ --sand: #d2bb9c;
17
+ --nm-accent: var(--sand);
18
+ --sand-deep: #b9a893;
19
+ --sand-mid: #d9c9b2;
20
+ --sand-light: #e6d9c6;
21
+ --blush: #d4aa9a;
22
+ --radius: 8px;
23
+ --content: 80rem;
24
+ --page-x: 5rem;
25
+ --page-y-top: 1.5rem;
26
+ --page-y: 5rem;
27
+ --gap-section: 12.5rem;
28
+ --gap-block: 5rem;
29
+ --gap-card: 2.5rem;
30
+ --gap-copy: 1.5rem;
31
+ --prose-max: 56rem;
32
+ --statement-max: 50rem;
33
+ --type-hero: 2.5rem;
34
+ --type-section: 2.5rem;
35
+ --type-card: 2rem;
36
+ --type-lede: 1.375rem;
37
+ --type-body: 1rem;
38
+ --type-caption: 0.8125rem;
39
+ --type-mission: 3.5rem;
40
+ --type-kicker: 1.5rem;
41
+ --ease: cubic-bezier(0.22, 1, 0.36, 1);
42
+ --reveal: 250ms;
43
+ --header-logo: 1rem;
44
+ --header-z: 10;
45
+ --header-scroll-pad: 6rem;
46
+ --nav-menu-min: 22rem;
47
+ --nav-menu-max: 22rem;
48
+ --nav-menu-desc-lines: 3;
49
+ --nav-menu-pad: 0.5rem;
50
+ --nav-menu-gap: 0.15rem;
51
+ --nav-menu-offset: 0.75rem;
52
+ --nav-menu-z: 50;
53
+ --nav-menu-trigger-gap: 0.45rem;
54
+ --nav-menu-chevron: 0.35rem;
55
+ --nav-menu-chevron-stroke: 0.1rem;
56
+ --chain-arrow: 0.75rem;
57
+ --chain-arrow-stroke: 0.125rem;
58
+ --nav-menu-link-gap: 0.25rem;
59
+ --nav-menu-link-pad: 0.65rem 0.75rem;
60
+ --header-to-hero: 5rem;
61
+ --hero-sticky-top: var(--header-scroll-pad);
62
+ --hero-aspect: 16 / 9;
63
+ --hero-player-z: 2;
64
+ --hero-player-controls-z: 3;
65
+ --hero-player-inset: 1rem;
66
+ --hero-player-control: 2.5rem;
67
+ --hero-player-control-radius: 50%;
68
+ --hero-player-icon: 1.25rem;
69
+ --action-icon: 1rem;
70
+ --action-icon-gap: 0.5rem;
71
+ --control-hover-opacity: 0.75;
72
+ --control-disabled-opacity: 0.55;
73
+ --control-duration: var(--reveal);
74
+ --hero-player-cluster-gap: 0.5rem;
75
+ --hero-player-scrim: color-mix(in srgb, var(--ink) 42%, transparent);
76
+ --hero-mini-width: 18rem;
77
+ --hero-mini-inset: 1.25rem;
78
+ --hero-mini-z: 12;
79
+ --footer-logo: 3.5rem;
80
+ --mark-inline: 0.2em;
81
+ --type-mark: 700;
82
+ --cursor-circle: var(--paper);
83
+ --cursor-dot: var(--paper);
84
+ --cursor-blend: difference;
85
+ --cursor-z: 9999;
86
+ --cursor-border: 2px;
87
+ --nm-destructive: #f87171;
88
+ --nm-destructive-rgb: 248 113 113;
89
+ --nm-status-idle: var(--nm-stroke);
90
+ --nm-status-busy: #f5c451;
91
+ --nm-status-live: #3ddc84;
92
+ --nm-radius-scale: 1;
93
+ --nm-radius-sm: calc(4px * var(--nm-radius-scale));
94
+ --nm-radius-md: calc(8px * var(--nm-radius-scale));
95
+ --nm-radius-lg: calc(12px * var(--nm-radius-scale));
96
+ /* 100% by default. The Space setting scales every spacing token. */
97
+ --nm-space-scale: 1;
98
+ --nm-space-2: calc(0.125rem * var(--nm-space-scale));
99
+ --nm-space-4: calc(0.25rem * var(--nm-space-scale));
100
+ --nm-space-6: calc(0.375rem * var(--nm-space-scale));
101
+ --nm-space-8: calc(0.5rem * var(--nm-space-scale));
102
+ --nm-space-10: calc(0.625rem * var(--nm-space-scale));
103
+ --nm-space-12: calc(0.75rem * var(--nm-space-scale));
104
+ --nm-space-16: calc(1rem * var(--nm-space-scale));
105
+ --nm-space-24: calc(1.5rem * var(--nm-space-scale));
106
+ --nm-space-40: calc(2.5rem * var(--nm-space-scale));
107
+ --nm-type-ui: 0.875rem;
108
+ --nm-type-ui-sm: 0.75rem;
109
+ --nm-mark-morph: 12s;
110
+ --nm-shimmer-duration: 2s;
111
+ --nm-shimmer-spread: 20%;
112
+ --nm-shimmer-travel: 250%;
113
+ --nm-mark-loader: 1.5rem;
114
+ --nm-app-bar: 5.125rem;
115
+ --nm-chatbox-width: 50rem;
116
+ --nm-landing-chat-lift: calc(var(--nm-space-40) * 2);
117
+ --nm-collection-tile: 10rem;
118
+ --nm-collection-search: 12.5rem;
119
+ --nm-frame: 90rem;
120
+ --nm-content: 80rem;
121
+ --nm-grund-measure: 75rem;
122
+ --nm-page-x: 5rem;
123
+ --nm-rail: 2.5rem;
124
+ --nm-header-band-rest: 8rem;
125
+ --nm-header-band: var(--nm-header-band-rest);
126
+ --nm-header-band-docked: calc(
127
+ (var(--nm-header-band-rest) + var(--nm-header-content)) / 2
128
+ );
129
+ --nm-header-content: 3rem;
130
+ --nm-header-rule-top-rest: var(--nm-rail);
131
+ --nm-header-rule-top: var(--nm-header-rule-top-rest);
132
+ --nm-header-rule-top-docked: calc(var(--nm-rail) / 2);
133
+ --nm-header-y: calc(
134
+ var(--nm-header-rule-top) +
135
+ (var(--nm-header-band) - var(--nm-header-content)) / 2
136
+ );
137
+ --nm-header-pad-bottom: calc(
138
+ var(--nm-gap-section) + (var(--nm-header-band) - var(--nm-header-content)) / 2
139
+ );
140
+ --nm-header-scroll-pad: calc(
141
+ var(--nm-header-rule-top-docked) + var(--nm-header-band-docked)
142
+ );
143
+ --nm-header-dock-y: 0px;
144
+ --nm-header-dock-duration: var(--reveal);
145
+ --nm-header-z: 20;
146
+ --nm-rail-z: calc(var(--nm-header-z) + 1);
147
+ --nm-v-logo: calc(var(--nm-page-x) + var(--nm-mark) + var(--nm-rail));
148
+ --nm-header-nav-offset: calc(
149
+ (var(--nm-header-band) - var(--nm-header-content)) / 2
150
+ );
151
+ --nm-menu-z: 50;
152
+ --nm-menu-bar-width: var(--nm-icon);
153
+ --nm-menu-bar-thick: 0.125rem;
154
+ --nm-menu-bar-gap: 0.3125rem;
155
+ --nm-type-hero: 5rem;
156
+ --nm-hero-leading: 6.25rem;
157
+ --nm-type-statement: 4rem;
158
+ --nm-statement-leading: 5rem;
159
+ --nm-type-section: 2.5rem;
160
+ --nm-type-card: 2rem;
161
+ --nm-type-lede: 1.5rem;
162
+ --nm-type-body: 1rem;
163
+ --nm-type-spec: 0.875rem;
164
+ --nm-type-caption: 0.75rem;
165
+ --nm-spec-leading: 1.5rem;
166
+ --nm-spec-gap: 1rem;
167
+ --nm-type-brand: 1.5rem;
168
+ --nm-gap-section: calc(5rem * var(--nm-space-scale));
169
+ --nm-footer-y: calc(var(--nm-gap-section) + var(--nm-gap-block));
170
+ --nm-gap-block: calc(2.5rem * var(--nm-space-scale));
171
+ --nm-gap-copy: calc(1.5rem * var(--nm-space-scale));
172
+ --nm-gap-title: calc(1rem * var(--nm-space-scale));
173
+ --nm-gap-nav: calc(1.5rem * var(--nm-space-scale));
174
+ --nm-gap-cta: calc(1.5rem * var(--nm-space-scale));
175
+ --nm-gap-icon: calc(0.625rem * var(--nm-space-scale));
176
+ --nm-gap-tight: calc(0.5rem * var(--nm-space-scale));
177
+ --nm-pad-card: calc(2.5rem * var(--nm-space-scale));
178
+ --nm-list-indent: 1.5rem;
179
+ --nm-pad-cta-y: calc(0.75rem * var(--nm-space-scale));
180
+ --nm-pad-cta-x: calc(1rem * var(--nm-space-scale));
181
+ --nm-mark: 1.5rem;
182
+ --nm-mark-inline: 0.2em;
183
+ --nm-icon: 1.25rem;
184
+ --nm-icon-sm: 0.875rem;
185
+ --nm-icon-button: 1.125rem;
186
+ --nm-list-row: calc(var(--nm-space-40) + var(--nm-space-4));
187
+ --nm-list-face: var(--nm-list-row);
188
+ --nm-modal-width: 37.5rem;
189
+ --nm-modal-menu: 62.5rem;
190
+ --nm-modal-wide: 75rem;
191
+ --nm-modal-nav: 17.0625rem;
192
+ --nm-modal-min-inline: 0px;
193
+ --nm-modal-min-block: 0px;
194
+ --nm-modal-max-block: 52rem;
195
+ /* Command palette: fixed near the top, list capped like cmdk (500px). */
196
+ --nm-command-central-top: 15dvh;
197
+ --nm-command-central-list-max: 31.25rem;
198
+ --nm-modal-inset: var(--nm-space-16);
199
+ --nm-modal-pad-block: var(--nm-space-40);
200
+ --nm-modal-pad-inline: var(--nm-space-24);
201
+ --nm-modal-pane-min: var(--nm-login-form);
202
+ --nm-modal-layout: row;
203
+ --nm-modal-footer-offset: calc(var(--nm-modal-nav) + var(--nm-gap-section));
204
+ --nm-field-area: 18.75rem;
205
+ --nm-width-tile: 9rem;
206
+ --nm-width-panel-min: 16rem;
207
+ --nm-width-panel-max: 80%;
208
+ --nm-height-workspace-sm: 20rem;
209
+ --nm-height-workspace-lg: 36rem;
210
+ /* Typography. Line height, tracking and weight come from here. The typeface itself is in assets/tokens.css. */
211
+ /* Structural dividers and resize handles. Invisible at Contrast 0, and they appear as Contrast rises. */
212
+ --nm-divider: var(--nm-canvas);
213
+ --nm-track: 0.01em;
214
+ --nm-track-tight: -0.02em;
215
+ --nm-track-wide: 0.06em;
216
+ --nm-leading-none: 1;
217
+ --nm-leading-tight: 1.25;
218
+ --nm-leading-snug: 1.4;
219
+ --nm-leading-normal: 1.5;
220
+ --nm-leading-relaxed: 1.65;
221
+ --nm-leading-ui: 1.25rem;
222
+ /* Syntax colours for code blocks. They read on the dark canvas, and have a light set below. */
223
+ --nm-syntax-keyword: #f47067;
224
+ --nm-syntax-string: #9ecbff;
225
+ --nm-syntax-function: #b392f0;
226
+ --nm-syntax-constant: #79b8ff;
227
+ --nm-syntax-comment: var(--nm-fg-subtle);
228
+ /* Older names for the monospace typeface. */
229
+ --nm-font-spec: var(--nm-font-mono);
230
+ --font-nordman: var(--nm-font-mono);
231
+ --nm-spectrum-1: #ffaa80;
232
+ --nm-spectrum-2: #80ff80;
233
+ --nm-spectrum-3: #ffd480;
234
+ --nm-spectrum-4: #80d4ff;
235
+ --nm-spectrum-5: #80ffd4;
236
+ --nm-spectrum-6: #ff80ff;
237
+ --nm-spectrum-7: #8080ff;
238
+ --nm-spectrum-8: #ffea80;
239
+ --nm-spectrum-9: #ff8080;
240
+ --nm-icon-pad: var(--nm-space-8);
241
+ --nm-icon-control: calc(var(--nm-icon-button) + var(--nm-icon-pad) * 2);
242
+ /* Radius SSOT — config/nm-radius.ts; scale from appearance `--nm-radius-scale` */
243
+ --nm-control-radius: calc(var(--nm-icon-control) / 2 * var(--nm-radius-scale));
244
+ --nm-control-r: calc(var(--control-r) * var(--nm-radius-scale));
245
+ /* One scale. A control (button, field, chip, row) has the control radius. Every surface (card, menu, popover, dialog,
246
+ panel, composer) has the surface radius. A row inside a surface is concentric: surface radius minus the surface padding. */
247
+ --nm-composer-radius: var(--nm-radius-lg);
248
+ --nm-field-radius: var(--nm-control-r);
249
+ --nm-menu-radius: var(--nm-radius-lg);
250
+ --nm-row-radius: var(--nm-control-r);
251
+ /* One rule for a control and the menu it opens. The menu uses the control's radius, its options sit
252
+ inside the menu padding, so option radius = menu radius - menu padding. Text and icons share one
253
+ inset: --control-px from the control edge, in the control and in the menu. */
254
+ --nm-menu-pad: var(--nm-list-pad);
255
+ --nm-control-menu-radius: var(--nm-menu-radius);
256
+ --nm-control-option-radius: max(0px, calc(var(--nm-control-r) - var(--nm-menu-pad)));
257
+ --nm-control-inset: calc(var(--control-px) + var(--nm-rule));
258
+ --nm-control-option-inset: calc(var(--nm-control-inset) - var(--nm-menu-pad));
259
+ /* Widths of the floating parts and the narrow content columns. */
260
+ --nm-width-menu: 15rem;
261
+ --nm-width-popup-sm: 16rem;
262
+ --nm-width-popup: 18rem;
263
+ --nm-width-tooltip: 20rem;
264
+ --nm-width-form: 28rem;
265
+ --nm-code-gutter: 3ch;
266
+ --nm-width-date: 11rem;
267
+ --nm-width-dialog: 40rem;
268
+ --nm-height-command: 28rem;
269
+ --nm-height-picker: 14rem;
270
+ --nm-height-color: 9rem;
271
+ --nm-height-thread: 28rem;
272
+ /* Panels of rows (dropdown, composer menu): row radius = panel radius - panel padding. */
273
+ --nm-panel-pad: var(--nm-space-12);
274
+ /* Padding of a list of rows (menus). Row radius = surface radius - list padding = control radius. */
275
+ --nm-list-pad: var(--nm-space-6);
276
+ --nm-panel-item-radius: max(0px, calc(var(--nm-menu-radius) - var(--nm-list-pad)));
277
+ /* A trailing icon button carries icon padding, so its glyph sits as far from the row end as the text sits from the start. */
278
+ --nm-row-inline: var(--nm-space-16);
279
+ --nm-row-inline-end: calc(var(--nm-row-inline) - var(--nm-icon-pad));
280
+ --nm-rail-icon: var(--nm-icon-button);
281
+ --nm-rail-well: var(--nm-icon-control);
282
+ --nm-rail-compact-well: var(--nm-icon-control);
283
+ --nm-rail-title-duration: calc(var(--reveal) * 8);
284
+ --nm-rail-scrollbar: var(--nm-space-4);
285
+ --nm-rail-scroll-idle: calc(var(--reveal) * 3);
286
+ --nm-rail-face-hold: 7s;
287
+ /* Menus show every row. They scroll only when taller than the viewport. */
288
+ --nm-dropdown-max: 100dvh;
289
+ /* Resting scale of a menu before it eases open. Motion reads this. */
290
+ --nm-menu-scale: 0.98;
291
+ --nm-menu-highlight: var(--nm-panel);
292
+ --nm-menu-highlight-rgb: var(--nm-panel-rgb);
293
+ --nm-menu-surface: var(--nm-panel);
294
+ --nm-menu-surface-rgb: var(--nm-panel-rgb);
295
+ --nm-menu-option: var(--nm-inset);
296
+ --nm-menu-option-rgb: var(--nm-inset-rgb);
297
+ --nm-toggle-pad: 0.75rem;
298
+ --nm-panel-stage: 15.625rem;
299
+ --nm-repo-columns: 4;
300
+ --nm-knot: 1.25rem;
301
+ --nm-knot-half: 0.625rem;
302
+ --nm-knot-inset: calc(var(--nm-rail) - var(--nm-knot-half));
303
+ --nm-knot-inset-y: calc(var(--nm-header-rule-top) - var(--nm-knot-half));
304
+ --nm-knot-pulse: 3.2s;
305
+ --nm-knot-pulse-min: 0.4;
306
+ --nm-rule: 1px;
307
+ --nm-rule-dash: 4px;
308
+ --nm-rule-gap: 4px;
309
+ --nm-rule-pair: 2.5rem;
310
+ --nm-radius: 0;
311
+ --nm-film-scrim: #000000;
312
+ --nm-soon-opacity: 0.5;
313
+ --nm-ok: #6fbf73;
314
+ --nm-hero-max: 100%;
315
+ --nm-hero-y: calc(var(--nm-gap-section) + var(--nm-gap-block));
316
+ --nm-hero-wave-z: 0;
317
+ --nm-hero-copy-z: 1;
318
+ --nm-hero-copy-x: calc(var(--nm-page-x) - var(--nm-rail));
319
+ --nm-statement-max: 62.5rem;
320
+ --nm-code-tree: 16rem;
321
+ --nm-code-gutter: 3.5rem;
322
+ --nm-code-stage: 32rem;
323
+ --nm-heat-0: var(--nm-line);
324
+ --nm-heat-1: color-mix(in srgb, var(--nm-fg) 28%, var(--nm-canvas));
325
+ --nm-heat-2: color-mix(in srgb, var(--nm-fg) 48%, var(--nm-canvas));
326
+ --nm-heat-3: color-mix(in srgb, var(--nm-fg) 70%, var(--nm-canvas));
327
+ --nm-heat-4: var(--nm-fg);
328
+ --nm-heat-cell: 1rem;
329
+ --nm-heat-gap: var(--nm-rule-gap);
330
+ --nm-heat-span: 22rem;
331
+ --nm-login-form: 22.5rem;
332
+ --nm-login-visual-mobile: 14rem;
333
+ --nm-login-control-y: 0.75rem;
334
+ --nm-login-reveal: 2.75rem;
335
+ --nm-heat-stage: calc(
336
+ var(--nm-heat-cell) * 7 + var(--nm-heat-gap) * 8 + var(--nm-mark) * 2
337
+ );
338
+ }
339
+
340
+ html.light {
341
+ --nm-film-scrim: #0a0a0a;
342
+ --nm-kompis-filter: saturate(0.75) brightness(0.95);
343
+ --nm-spectrum-1: #c9957a;
344
+ --nm-spectrum-2: #7fbf7f;
345
+ --nm-spectrum-3: #c9ad66;
346
+ --nm-spectrum-4: #7aacc9;
347
+ --nm-spectrum-5: #7abfae;
348
+ --nm-spectrum-6: #bf7abf;
349
+ --nm-spectrum-7: #7a7abf;
350
+ --nm-spectrum-8: #c9bc7a;
351
+ --nm-spectrum-9: #bf7a7a;
352
+ }
353
+
354
+ @media (max-width: 64rem) {
355
+ :root {
356
+ --page-x: 1.5rem;
357
+ --page-y: 2rem;
358
+ --gap-section: 6rem;
359
+ --gap-block: 3rem;
360
+ --type-hero: 1.75rem;
361
+ --type-section: 2rem;
362
+ --type-card: 1.5rem;
363
+ --type-lede: 1.125rem;
364
+ --type-mission: 2rem;
365
+ --nm-page-x: 2.5rem;
366
+ --nm-rail: 1.5rem;
367
+ --nm-header-band-rest: 6rem;
368
+ --nm-header-pad-bottom: calc(var(--nm-gap-copy) + var(--nm-gap-section));
369
+ --nm-type-hero: 3.25rem;
370
+ --nm-hero-leading: 4rem;
371
+ --nm-type-statement: 2.5rem;
372
+ --nm-statement-leading: 3.125rem;
373
+ --nm-type-section: 2rem;
374
+ --nm-type-card: 1.5rem;
375
+ --nm-type-lede: 1.25rem;
376
+ --nm-type-brand: 1.25rem;
377
+ --nm-gap-section: calc(3.5rem * var(--nm-space-scale));
378
+ --nm-gap-block: calc(2rem * var(--nm-space-scale));
379
+ --nm-gap-nav: calc(1rem * var(--nm-space-scale));
380
+ --nm-pad-card: calc(1.75rem * var(--nm-space-scale));
381
+ --nm-modal-pad-block: var(--nm-pad-card);
382
+ --nm-modal-pad-inline: var(--nm-pad-card);
383
+ --nm-hero-max: 100%;
384
+ --nm-statement-max: 100%;
385
+ }
386
+ }
387
+
388
+ @media (max-width: 48rem) {
389
+ :root {
390
+ --nm-page-x: 1.25rem;
391
+ --nm-rail: 1rem;
392
+ --nm-header-band-rest: 4rem;
393
+ --nm-header-content: 2.5rem;
394
+ --nm-type-hero: 2.25rem;
395
+ --nm-hero-leading: 2.75rem;
396
+ --nm-type-statement: 1.75rem;
397
+ --nm-statement-leading: 2.25rem;
398
+ --nm-type-section: 1.75rem;
399
+ --nm-type-card: 1.375rem;
400
+ --nm-type-lede: 1.125rem;
401
+ --nm-type-brand: 1.125rem;
402
+ --nm-gap-section: calc(2.5rem * var(--nm-space-scale));
403
+ --nm-gap-block: calc(1.5rem * var(--nm-space-scale));
404
+ --nm-gap-copy: calc(1.25rem * var(--nm-space-scale));
405
+ --nm-gap-nav: calc(0.75rem * var(--nm-space-scale));
406
+ --nm-gap-cta: calc(0.75rem * var(--nm-space-scale));
407
+ --nm-pad-card: calc(1.25rem * var(--nm-space-scale));
408
+ --nm-modal-inset: var(--nm-space-8);
409
+ --nm-modal-pad-block: var(--nm-pad-card);
410
+ --nm-modal-pad-inline: var(--nm-pad-card);
411
+ --nm-modal-max-block: 100%;
412
+ --nm-modal-nav: 100%;
413
+ --nm-modal-layout: column;
414
+ --nm-modal-footer-offset: 0px;
415
+ }
416
+ }
417
+
418
+ :root.light,
419
+ :root[data-theme='light'] {
420
+ --nm-syntax-keyword: #d73a49;
421
+ --nm-syntax-string: #032f62;
422
+ --nm-syntax-function: #6f42c1;
423
+ --nm-syntax-constant: #005cc5;
424
+ }
@@ -0,0 +1,12 @@
1
+ /* Text for screen readers only. Hidden from sight, present in the page. */
2
+ .nm-sr-only {
3
+ position: absolute;
4
+ width: var(--nm-rule);
5
+ height: var(--nm-rule);
6
+ margin: calc(var(--nm-rule) * -1);
7
+ padding: 0;
8
+ overflow: hidden;
9
+ border: 0;
10
+ clip-path: inset(50%);
11
+ white-space: nowrap;
12
+ }