@vuu-ui/vuu-shell 2.1.19-beta.2 → 2.1.19-beta.3

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 (254) hide show
  1. package/cjs/ShellContextProvider.js +25 -0
  2. package/cjs/ShellContextProvider.js.map +1 -0
  3. package/cjs/app-header/AppHeader.css.js +6 -0
  4. package/cjs/app-header/AppHeader.css.js.map +1 -0
  5. package/cjs/app-header/AppHeader.js +118 -0
  6. package/cjs/app-header/AppHeader.js.map +1 -0
  7. package/cjs/application-provider/ApplicationContext.js +17 -0
  8. package/cjs/application-provider/ApplicationContext.js.map +1 -0
  9. package/cjs/application-provider/ApplicationProvider.js +102 -0
  10. package/cjs/application-provider/ApplicationProvider.js.map +1 -0
  11. package/cjs/feature/Feature.js +54 -0
  12. package/cjs/feature/Feature.js.map +1 -0
  13. package/cjs/feature/FeatureErrorBoundary.js +30 -0
  14. package/cjs/feature/FeatureErrorBoundary.js.map +1 -0
  15. package/cjs/feature-and-layout-provider/FeatureAndLayoutProvider.js +60 -0
  16. package/cjs/feature-and-layout-provider/FeatureAndLayoutProvider.js.map +1 -0
  17. package/cjs/feature-list/FeatureList.css.js +6 -0
  18. package/cjs/feature-list/FeatureList.css.js.map +1 -0
  19. package/cjs/feature-list/FeatureList.js +109 -0
  20. package/cjs/feature-list/FeatureList.js.map +1 -0
  21. package/cjs/index.js +71 -0
  22. package/cjs/index.js.map +1 -0
  23. package/cjs/left-nav/LeftNav.css.js +6 -0
  24. package/cjs/left-nav/LeftNav.css.js.map +1 -0
  25. package/cjs/left-nav/LeftNav.js +202 -0
  26. package/cjs/left-nav/LeftNav.js.map +1 -0
  27. package/cjs/login/LoginPanel.css.js +6 -0
  28. package/cjs/login/LoginPanel.css.js.map +1 -0
  29. package/cjs/login/LoginPanel.js +110 -0
  30. package/cjs/login/LoginPanel.js.map +1 -0
  31. package/cjs/login/VuuLogo.js +134 -0
  32. package/cjs/login/VuuLogo.js.map +1 -0
  33. package/cjs/persistence-manager/LocalPersistenceManager.js +193 -0
  34. package/cjs/persistence-manager/LocalPersistenceManager.js.map +1 -0
  35. package/cjs/persistence-manager/PersistenceProvider.js +21 -0
  36. package/cjs/persistence-manager/PersistenceProvider.js.map +1 -0
  37. package/cjs/persistence-manager/RemotePersistenceManager.js +165 -0
  38. package/cjs/persistence-manager/RemotePersistenceManager.js.map +1 -0
  39. package/cjs/persistence-manager/StaticPersistenceManager.js +73 -0
  40. package/cjs/persistence-manager/StaticPersistenceManager.js.map +1 -0
  41. package/cjs/shell-layout-templates/context-panel/ContextPanel.css.js +6 -0
  42. package/cjs/shell-layout-templates/context-panel/ContextPanel.css.js.map +1 -0
  43. package/cjs/shell-layout-templates/context-panel/ContextPanel.js +100 -0
  44. package/cjs/shell-layout-templates/context-panel/ContextPanel.js.map +1 -0
  45. package/cjs/shell-layout-templates/full-height-left-panel/useFullHeightLeftPanel.js +51 -0
  46. package/cjs/shell-layout-templates/full-height-left-panel/useFullHeightLeftPanel.js.map +1 -0
  47. package/cjs/shell-layout-templates/inlay-left-panel/useInlayLeftPanel.js +83 -0
  48. package/cjs/shell-layout-templates/inlay-left-panel/useInlayLeftPanel.js.map +1 -0
  49. package/cjs/shell-layout-templates/left-main-tabs/useLeftMainTabs.js +46 -0
  50. package/cjs/shell-layout-templates/left-main-tabs/useLeftMainTabs.js.map +1 -0
  51. package/cjs/shell-layout-templates/side-panel/SidePanel.css.js +6 -0
  52. package/cjs/shell-layout-templates/side-panel/SidePanel.css.js.map +1 -0
  53. package/cjs/shell-layout-templates/side-panel/SidePanel.js +36 -0
  54. package/cjs/shell-layout-templates/side-panel/SidePanel.js.map +1 -0
  55. package/cjs/shell-layout-templates/simple-content-pane/useSimpleContentPane.js +48 -0
  56. package/cjs/shell-layout-templates/simple-content-pane/useSimpleContentPane.js.map +1 -0
  57. package/cjs/shell-layout-templates/useShellLayout.js +23 -0
  58. package/cjs/shell-layout-templates/useShellLayout.js.map +1 -0
  59. package/cjs/shell.css.js +6 -0
  60. package/cjs/shell.css.js.map +1 -0
  61. package/cjs/shell.js +137 -0
  62. package/cjs/shell.js.map +1 -0
  63. package/cjs/theme-switch/ThemeSwitch.css.js +6 -0
  64. package/cjs/theme-switch/ThemeSwitch.css.js.map +1 -0
  65. package/cjs/theme-switch/ThemeSwitch.js +56 -0
  66. package/cjs/theme-switch/ThemeSwitch.js.map +1 -0
  67. package/cjs/user-settings/SettingsForm.css.js +6 -0
  68. package/cjs/user-settings/SettingsForm.css.js.map +1 -0
  69. package/cjs/user-settings/SettingsForm.js +168 -0
  70. package/cjs/user-settings/SettingsForm.js.map +1 -0
  71. package/cjs/user-settings/UserSettingsPanel.css.js +6 -0
  72. package/cjs/user-settings/UserSettingsPanel.css.js.map +1 -0
  73. package/cjs/user-settings/UserSettingsPanel.js +42 -0
  74. package/cjs/user-settings/UserSettingsPanel.js.map +1 -0
  75. package/cjs/workspace-management/LayoutList.css.js +6 -0
  76. package/cjs/workspace-management/LayoutList.css.js.map +1 -0
  77. package/cjs/workspace-management/LayoutList.js +116 -0
  78. package/cjs/workspace-management/LayoutList.js.map +1 -0
  79. package/cjs/workspace-management/LayoutTile.css.js +6 -0
  80. package/cjs/workspace-management/LayoutTile.css.js.map +1 -0
  81. package/cjs/workspace-management/LayoutTile.js +41 -0
  82. package/cjs/workspace-management/LayoutTile.js.map +1 -0
  83. package/cjs/workspace-management/SaveLayoutPanel.css.js +6 -0
  84. package/cjs/workspace-management/SaveLayoutPanel.css.js.map +1 -0
  85. package/cjs/workspace-management/SaveLayoutPanel.js +128 -0
  86. package/cjs/workspace-management/SaveLayoutPanel.js.map +1 -0
  87. package/cjs/workspace-management/WorkspaceProvider.js +265 -0
  88. package/cjs/workspace-management/WorkspaceProvider.js.map +1 -0
  89. package/cjs/workspace-management/defaultWorkspaceJSON.js +101 -0
  90. package/cjs/workspace-management/defaultWorkspaceJSON.js.map +1 -0
  91. package/cjs/workspace-management/screenshot-utils.js +25 -0
  92. package/cjs/workspace-management/screenshot-utils.js.map +1 -0
  93. package/cjs/workspace-management/useWorkspaceContextMenuItems.js +72 -0
  94. package/cjs/workspace-management/useWorkspaceContextMenuItems.js.map +1 -0
  95. package/esm/ShellContextProvider.js +23 -0
  96. package/esm/ShellContextProvider.js.map +1 -0
  97. package/esm/app-header/AppHeader.css.js +4 -0
  98. package/esm/app-header/AppHeader.css.js.map +1 -0
  99. package/esm/app-header/AppHeader.js +116 -0
  100. package/esm/app-header/AppHeader.js.map +1 -0
  101. package/esm/application-provider/ApplicationContext.js +15 -0
  102. package/esm/application-provider/ApplicationContext.js.map +1 -0
  103. package/esm/application-provider/ApplicationProvider.js +96 -0
  104. package/esm/application-provider/ApplicationProvider.js.map +1 -0
  105. package/esm/feature/Feature.js +52 -0
  106. package/esm/feature/Feature.js.map +1 -0
  107. package/esm/feature/FeatureErrorBoundary.js +28 -0
  108. package/esm/feature/FeatureErrorBoundary.js.map +1 -0
  109. package/esm/feature-and-layout-provider/FeatureAndLayoutProvider.js +56 -0
  110. package/esm/feature-and-layout-provider/FeatureAndLayoutProvider.js.map +1 -0
  111. package/esm/feature-list/FeatureList.css.js +4 -0
  112. package/esm/feature-list/FeatureList.css.js.map +1 -0
  113. package/esm/feature-list/FeatureList.js +107 -0
  114. package/esm/feature-list/FeatureList.js.map +1 -0
  115. package/esm/index.js +25 -0
  116. package/esm/index.js.map +1 -0
  117. package/esm/left-nav/LeftNav.css.js +4 -0
  118. package/esm/left-nav/LeftNav.css.js.map +1 -0
  119. package/esm/left-nav/LeftNav.js +200 -0
  120. package/esm/left-nav/LeftNav.js.map +1 -0
  121. package/esm/login/LoginPanel.css.js +4 -0
  122. package/esm/login/LoginPanel.css.js.map +1 -0
  123. package/esm/login/LoginPanel.js +108 -0
  124. package/esm/login/LoginPanel.js.map +1 -0
  125. package/esm/login/VuuLogo.js +132 -0
  126. package/esm/login/VuuLogo.js.map +1 -0
  127. package/esm/persistence-manager/LocalPersistenceManager.js +191 -0
  128. package/esm/persistence-manager/LocalPersistenceManager.js.map +1 -0
  129. package/esm/persistence-manager/PersistenceProvider.js +17 -0
  130. package/esm/persistence-manager/PersistenceProvider.js.map +1 -0
  131. package/esm/persistence-manager/RemotePersistenceManager.js +163 -0
  132. package/esm/persistence-manager/RemotePersistenceManager.js.map +1 -0
  133. package/esm/persistence-manager/StaticPersistenceManager.js +71 -0
  134. package/esm/persistence-manager/StaticPersistenceManager.js.map +1 -0
  135. package/esm/shell-layout-templates/context-panel/ContextPanel.css.js +4 -0
  136. package/esm/shell-layout-templates/context-panel/ContextPanel.css.js.map +1 -0
  137. package/esm/shell-layout-templates/context-panel/ContextPanel.js +98 -0
  138. package/esm/shell-layout-templates/context-panel/ContextPanel.js.map +1 -0
  139. package/esm/shell-layout-templates/full-height-left-panel/useFullHeightLeftPanel.js +49 -0
  140. package/esm/shell-layout-templates/full-height-left-panel/useFullHeightLeftPanel.js.map +1 -0
  141. package/esm/shell-layout-templates/inlay-left-panel/useInlayLeftPanel.js +81 -0
  142. package/esm/shell-layout-templates/inlay-left-panel/useInlayLeftPanel.js.map +1 -0
  143. package/esm/shell-layout-templates/left-main-tabs/useLeftMainTabs.js +44 -0
  144. package/esm/shell-layout-templates/left-main-tabs/useLeftMainTabs.js.map +1 -0
  145. package/esm/shell-layout-templates/side-panel/SidePanel.css.js +4 -0
  146. package/esm/shell-layout-templates/side-panel/SidePanel.css.js.map +1 -0
  147. package/esm/shell-layout-templates/side-panel/SidePanel.js +34 -0
  148. package/esm/shell-layout-templates/side-panel/SidePanel.js.map +1 -0
  149. package/esm/shell-layout-templates/simple-content-pane/useSimpleContentPane.js +46 -0
  150. package/esm/shell-layout-templates/simple-content-pane/useSimpleContentPane.js.map +1 -0
  151. package/esm/shell-layout-templates/useShellLayout.js +21 -0
  152. package/esm/shell-layout-templates/useShellLayout.js.map +1 -0
  153. package/esm/shell.css.js +4 -0
  154. package/esm/shell.css.js.map +1 -0
  155. package/esm/shell.js +135 -0
  156. package/esm/shell.js.map +1 -0
  157. package/esm/theme-switch/ThemeSwitch.css.js +4 -0
  158. package/esm/theme-switch/ThemeSwitch.css.js.map +1 -0
  159. package/esm/theme-switch/ThemeSwitch.js +54 -0
  160. package/esm/theme-switch/ThemeSwitch.js.map +1 -0
  161. package/esm/user-settings/SettingsForm.css.js +4 -0
  162. package/esm/user-settings/SettingsForm.css.js.map +1 -0
  163. package/esm/user-settings/SettingsForm.js +162 -0
  164. package/esm/user-settings/SettingsForm.js.map +1 -0
  165. package/esm/user-settings/UserSettingsPanel.css.js +4 -0
  166. package/esm/user-settings/UserSettingsPanel.css.js.map +1 -0
  167. package/esm/user-settings/UserSettingsPanel.js +40 -0
  168. package/esm/user-settings/UserSettingsPanel.js.map +1 -0
  169. package/esm/workspace-management/LayoutList.css.js +4 -0
  170. package/esm/workspace-management/LayoutList.css.js.map +1 -0
  171. package/esm/workspace-management/LayoutList.js +114 -0
  172. package/esm/workspace-management/LayoutList.js.map +1 -0
  173. package/esm/workspace-management/LayoutTile.css.js +4 -0
  174. package/esm/workspace-management/LayoutTile.css.js.map +1 -0
  175. package/esm/workspace-management/LayoutTile.js +39 -0
  176. package/esm/workspace-management/LayoutTile.js.map +1 -0
  177. package/esm/workspace-management/SaveLayoutPanel.css.js +4 -0
  178. package/esm/workspace-management/SaveLayoutPanel.css.js.map +1 -0
  179. package/esm/workspace-management/SaveLayoutPanel.js +126 -0
  180. package/esm/workspace-management/SaveLayoutPanel.js.map +1 -0
  181. package/esm/workspace-management/WorkspaceProvider.js +262 -0
  182. package/esm/workspace-management/WorkspaceProvider.js.map +1 -0
  183. package/esm/workspace-management/defaultWorkspaceJSON.js +95 -0
  184. package/esm/workspace-management/defaultWorkspaceJSON.js.map +1 -0
  185. package/esm/workspace-management/screenshot-utils.js +23 -0
  186. package/esm/workspace-management/screenshot-utils.js.map +1 -0
  187. package/esm/workspace-management/useWorkspaceContextMenuItems.js +70 -0
  188. package/esm/workspace-management/useWorkspaceContextMenuItems.js.map +1 -0
  189. package/package.json +20 -17
  190. package/types/feature/FeatureErrorBoundary.d.ts +1 -1
  191. package/types/workspace-management/WorkspaceProvider.d.ts +5 -5
  192. package/src/ShellContextProvider.js +0 -20
  193. package/src/app-header/AppHeader.css.js +0 -21
  194. package/src/app-header/AppHeader.js +0 -97
  195. package/src/app-header/index.js +0 -1
  196. package/src/application-provider/ApplicationContext.js +0 -9
  197. package/src/application-provider/ApplicationProvider.js +0 -77
  198. package/src/application-provider/index.js +0 -1
  199. package/src/feature/Feature.js +0 -37
  200. package/src/feature/FeatureErrorBoundary.js +0 -33
  201. package/src/feature/Loader.js +0 -5
  202. package/src/feature/index.js +0 -1
  203. package/src/feature-and-layout-provider/FeatureAndLayoutProvider.js +0 -42
  204. package/src/feature-and-layout-provider/index.js +0 -1
  205. package/src/feature-list/FeatureList.css.js +0 -62
  206. package/src/feature-list/FeatureList.js +0 -128
  207. package/src/feature-list/index.js +0 -1
  208. package/src/get-layout-history.js +0 -7
  209. package/src/index.js +0 -14
  210. package/src/left-nav/LeftNav.css.js +0 -177
  211. package/src/left-nav/LeftNav.js +0 -193
  212. package/src/left-nav/index.js +0 -1
  213. package/src/login/LoginPanel.css.js +0 -72
  214. package/src/login/LoginPanel.js +0 -124
  215. package/src/login/VuuLogo.js +0 -108
  216. package/src/persistence-manager/LocalPersistenceManager.js +0 -156
  217. package/src/persistence-manager/PersistenceManager.js +0 -0
  218. package/src/persistence-manager/PersistenceProvider.js +0 -14
  219. package/src/persistence-manager/RemotePersistenceManager.js +0 -123
  220. package/src/persistence-manager/StaticPersistenceManager.js +0 -53
  221. package/src/persistence-manager/index.js +0 -5
  222. package/src/shell-layout-templates/context-panel/ContextPanel.css.js +0 -66
  223. package/src/shell-layout-templates/context-panel/ContextPanel.js +0 -92
  224. package/src/shell-layout-templates/context-panel/index.js +0 -1
  225. package/src/shell-layout-templates/full-height-left-panel/useFullHeightLeftPanel.js +0 -44
  226. package/src/shell-layout-templates/index.js +0 -3
  227. package/src/shell-layout-templates/inlay-left-panel/useInlayLeftPanel.js +0 -68
  228. package/src/shell-layout-templates/left-main-tabs/useLeftMainTabs.js +0 -32
  229. package/src/shell-layout-templates/side-panel/SidePanel.css.js +0 -9
  230. package/src/shell-layout-templates/side-panel/SidePanel.js +0 -31
  231. package/src/shell-layout-templates/side-panel/index.js +0 -1
  232. package/src/shell-layout-templates/simple-content-pane/useSimpleContentPane.js +0 -38
  233. package/src/shell-layout-templates/useShellLayout.js +0 -15
  234. package/src/shell.css.js +0 -59
  235. package/src/shell.js +0 -108
  236. package/src/theme-switch/ThemeSwitch.css.js +0 -34
  237. package/src/theme-switch/ThemeSwitch.js +0 -50
  238. package/src/theme-switch/index.js +0 -1
  239. package/src/user-settings/SettingsForm.css.js +0 -10
  240. package/src/user-settings/SettingsForm.js +0 -141
  241. package/src/user-settings/UserSettingsPanel.css.js +0 -9
  242. package/src/user-settings/UserSettingsPanel.js +0 -29
  243. package/src/user-settings/index.js +0 -2
  244. package/src/workspace-management/LayoutList.css.js +0 -74
  245. package/src/workspace-management/LayoutList.js +0 -130
  246. package/src/workspace-management/LayoutTile.css.js +0 -31
  247. package/src/workspace-management/LayoutTile.js +0 -41
  248. package/src/workspace-management/SaveLayoutPanel.css.js +0 -123
  249. package/src/workspace-management/SaveLayoutPanel.js +0 -141
  250. package/src/workspace-management/WorkspaceProvider.js +0 -209
  251. package/src/workspace-management/defaultWorkspaceJSON.js +0 -88
  252. package/src/workspace-management/index.js +0 -5
  253. package/src/workspace-management/screenshot-utils.js +0 -13
  254. package/src/workspace-management/useWorkspaceContextMenuItems.js +0 -58
@@ -1,177 +0,0 @@
1
- const css = `
2
- .vuuLeftNav {
3
- --vuuOverflowContainer-height: auto;
4
- --vuuFeatureList-padding: 195px 32px 16px 24px;
5
- --salt-navigable-fontWeight-active: 700;
6
- --vuuTab-background-selected: #ffffff1a;
7
- --vuuTab-hover-background: #ffffff1a;
8
- --vuuTab-before-content: none;
9
- --vuuTab-borderRadius: 6px;
10
- --vuuTab-height: 40px;
11
- --vuuTabstrip-fontWeight: 700;
12
- --vuuTabstrip-width: 100%;
13
- --svg-demo: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M11.3333 11C11.52 11 11.6667 10.8533 11.6667 10.6667C11.6667 10.48 11.52 10.3333 11.3333 10.3333C11.1467 10.3333 11 10.48 11 10.6667C11 10.8533 11.1467 11 11.3333 11Z\"/><path d=\"M5.99999 8.66667C6.36818 8.66667 6.66666 8.36819 6.66666 8C6.66666 7.63181 6.36818 7.33334 5.99999 7.33334C5.63181 7.33334 5.33333 7.63181 5.33333 8C5.33333 8.36819 5.63181 8.66667 5.99999 8.66667Z\"/><path d=\"M8.66667 6C9.03486 6 9.33333 5.70152 9.33333 5.33333C9.33333 4.96514 9.03486 4.66667 8.66667 4.66667C8.29848 4.66667 8 4.96514 8 5.33333C8 5.70152 8.29848 6 8.66667 6Z\"/><path d=\"M8.66667 11.3333C9.03486 11.3333 9.33333 11.0349 9.33333 10.6667C9.33333 10.2985 9.03486 10 8.66667 10C8.29848 10 8 10.2985 8 10.6667C8 11.0349 8.29848 11.3333 8.66667 11.3333Z\"/><path d=\"M11.3333 8.33333C11.52 8.33333 11.6667 8.18666 11.6667 8C11.6667 7.81333 11.52 7.66666 11.3333 7.66666C11.1467 7.66666 11 7.81333 11 8C11 8.18666 11.1467 8.33333 11.3333 8.33333Z\"/><path d=\"M8.66667 8.66667C9.03486 8.66667 9.33333 8.36819 9.33333 8C9.33333 7.63181 9.03486 7.33334 8.66667 7.33334C8.29848 7.33334 8 7.63181 8 8C8 8.36819 8.29848 8.66667 8.66667 8.66667Z\"/><path d=\"M2 2H14V3.33333H2V2Z\"/><path d=\"M3.33333 6.33333C3.88561 6.33333 4.33333 5.88562 4.33333 5.33333C4.33333 4.78105 3.88561 4.33333 3.33333 4.33333C2.78104 4.33333 2.33333 4.78105 2.33333 5.33333C2.33333 5.88562 2.78104 6.33333 3.33333 6.33333Z\"/><path d=\"M3.33333 9C3.88561 9 4.33333 8.55228 4.33333 8C4.33333 7.44772 3.88561 7 3.33333 7C2.78104 7 2.33333 7.44772 2.33333 8C2.33333 8.55228 2.78104 9 3.33333 9Z\"/><path d=\"M3.33333 11.6667C3.88561 11.6667 4.33333 11.2189 4.33333 10.6667C4.33333 10.1144 3.88561 9.66666 3.33333 9.66666C2.78104 9.66666 2.33333 10.1144 2.33333 10.6667C2.33333 11.2189 2.78104 11.6667 3.33333 11.6667Z\"/><path d=\"M11.3333 5.66667C11.52 5.66667 11.6667 5.52 11.6667 5.33333C11.6667 5.14667 11.52 5 11.3333 5C11.1467 5 11 5.14667 11 5.33333C11 5.52 11.1467 5.66667 11.3333 5.66667Z\"/><path d=\"M5.99999 11.3333C6.36818 11.3333 6.66666 11.0349 6.66666 10.6667C6.66666 10.2985 6.36818 10 5.99999 10C5.63181 10 5.33333 10.2985 5.33333 10.6667C5.33333 11.0349 5.63181 11.3333 5.99999 11.3333Z\"/><path d=\"M5.99999 6C6.36818 6 6.66666 5.70152 6.66666 5.33333C6.66666 4.96514 6.36818 4.66667 5.99999 4.66667C5.63181 4.66667 5.33333 4.96514 5.33333 5.33333C5.33333 5.70152 5.63181 6 5.99999 6Z\"/><path d=\"M2 12.6667H14V14H2V12.6667Z\"/></svg>");
14
- --svg-features: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M15.3333 12.6667H14L14 3.33334H15.3333L15.3333 12.6667ZM12.6667 12.6667H11.3333L11.3333 3.33334H12.6667L12.6667 12.6667ZM1.33333 12.6667L9.33333 12.6667C9.69999 12.6667 9.99999 12.3667 9.99999 12V4.00001C9.99999 3.63334 9.69999 3.33334 9.33333 3.33334L1.33333 3.33334C0.966661 3.33334 0.666661 3.63334 0.666661 4.00001L0.666661 12C0.666661 12.3667 0.966661 12.6667 1.33333 12.6667ZM1.99999 4.66667L8.66666 4.66667V11.3333L1.99999 11.3333L1.99999 4.66667Z\"/></svg>");
15
- --svg-tables: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M2 6H4.66667V3.33334H3.33333C2.6 3.33334 2 3.93334 2 4.66667V6ZM2 9.33334H4.66667V6.66667H2V9.33334ZM5.33333 9.33334H8V6.66667H5.33333V9.33334ZM8.66667 9.33334H11.3333V6.66667H8.66667V9.33334ZM5.33333 6H8V3.33334H5.33333V6ZM8.66667 3.33334V6H11.3333V3.33334H8.66667ZM12 9.33334H14.6667V6.66667H12V9.33334ZM3.33333 12.6667H4.66667V10H2V11.3333C2 12.0667 2.6 12.6667 3.33333 12.6667ZM5.33333 12.6667H8V10H5.33333V12.6667ZM8.66667 12.6667H11.3333V10H8.66667V12.6667ZM12 12.6667H13.3333C14.0667 12.6667 14.6667 12.0667 14.6667 11.3333V10H12V12.6667ZM12 3.33334V6H14.6667V4.66667C14.6667 3.93334 14.0667 3.33334 13.3333 3.33334H12Z\"/></svg>");
16
- --svg-layouts: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\"><path d=\"M15.3333 10H14V11.3333H15.3333V10ZM15.3333 12.6667H14V14H15.3333V12.6667ZM15.3333 7.33333H14V8.66667H15.3333V7.33333ZM10 2H8.66667V3.33333H10V2ZM15.3333 4.66667H14V6H15.3333V4.66667ZM0.666672 14H7.33334V10H0.666672V14ZM2.00001 4.66667H0.666672V6H2.00001V4.66667ZM10 12.6667H8.66667V14H10V12.6667ZM12.6667 2H11.3333V3.33333H12.6667V2ZM15.3333 2H14V3.33333H15.3333V2ZM12.6667 12.6667H11.3333V14H12.6667V12.6667ZM2.00001 7.33333H0.666672V8.66667H2.00001V7.33333ZM7.33334 2H6.00001V3.33333H7.33334V2ZM4.66667 2H3.33334V3.33333H4.66667V2ZM2.00001 2H0.666672V3.33333H2.00001V2Z\"/></svg>");
17
- --vuu-light-text-primary: #15171b;
18
- --menu-level-2-width: 0px;
19
- z-index: 0;
20
- height: calc(100% - 4px);
21
- margin-bottom: 4px;
22
- transition: width .2s ease-out;
23
- display: flex;
24
- position: relative;
25
- overflow: hidden;
26
- box-shadow: 3px 4px 4px #00000026;
27
- }
28
-
29
- .vuuLeftNav-menu-full {
30
- --menu-width: var(--nav-menu-expanded-width);
31
- }
32
-
33
- .vuuLeftNav-menu-icons {
34
- --menu-width: var(--nav-menu-collapsed-width);
35
- }
36
-
37
- .vuuLeftNav-menu-icons-content {
38
- --menu-width: var(--nav-menu-collapsed-width);
39
- --menu-level-2-width: var(--nav-menu-content-width);
40
- }
41
-
42
- .vuuLeftNav-menu-full-content {
43
- --menu-width: var(--nav-menu-expanded-width);
44
- --menu-level-2-width: var(--nav-menu-content-width);
45
- }
46
-
47
- .vuuLeftNav-menu-icons-content .vuuLeftNav-menu-secondary, .vuuLeftNav-menu-full-content .vuuLeftNav-menu-secondary {
48
- display: flex;
49
- }
50
-
51
- .vuuLeftNav-menu-primary {
52
- flex-direction: column;
53
- flex-grow: 0;
54
- flex-shrink: 0;
55
- flex-basis: var(--menu-width);
56
- background-color: #2a015f;
57
- height: 100%;
58
- padding: 32px 16px;
59
- transition: flex-basis .2s ease-out;
60
- display: flex;
61
- container-type: inline-size;
62
- }
63
-
64
- .vuuLeftNav-menu-secondary {
65
- flex: none;
66
- flex-basis: var(--nav-menu-content-width, 240px);
67
- z-index: -1;
68
- display: none;
69
- top: 0;
70
- right: 0;
71
-
72
- & .vuuTabs-tabPanel {
73
- background: var(--salt-container-primary-background);
74
- height: 100%;
75
- padding: 34px 32px 8px 24px;
76
- }
77
- }
78
-
79
- .vuuLeftNav .vuuTabstrip {
80
- margin-top: 102px;
81
- }
82
-
83
- .vuuLeftNav .vuuTab {
84
- --vuuTab-focusVisible-color: pink;
85
- --vuu-icon-color: white;
86
- --vuu-icon-left: 12px;
87
- --vuu-icon-size: 16px;
88
- border-left: 4px solid #0000;
89
- padding: 0 0 0 48px;
90
- }
91
-
92
- .vuuLeftNav .vuuTab-selected {
93
- --vuu-icon-color: var(--salt-navigable-indicator-active);
94
- border-left: solid 4px var(--salt-navigable-indicator-active);
95
- }
96
-
97
- .vuuLeftNav-logo {
98
- flex: none;
99
- justify-content: center;
100
- display: flex;
101
- }
102
-
103
- .vuuLeftNav-main {
104
- flex: auto;
105
- }
106
-
107
- .vuuLeftNav-menu {
108
- color: #fff;
109
- margin-top: 102px;
110
- padding: 0;
111
- }
112
-
113
- .vuuLeftNav [data-icon="demo"] {
114
- --vuu-icon-svg: var(--svg-demo);
115
- }
116
-
117
- .vuuLeftNav [data-icon="tables"] {
118
- --vuu-icon-svg: var(--svg-tables);
119
- }
120
-
121
- .vuuLeftNav [data-icon="features"] {
122
- --vuu-icon-svg: var(--svg-features);
123
- }
124
-
125
- .vuuLeftNav [data-icon="layouts"] {
126
- --vuu-icon-svg: var(--svg-layouts);
127
- }
128
-
129
- @container (width <= 100px) {
130
- .vuuTab {
131
- --vuuTab-padding: 0 0 0 42px;
132
- }
133
-
134
- .vuuTab-main {
135
- display: none !important;
136
- }
137
- }
138
-
139
- .vuuLeftNav-buttonBar {
140
- flex: 0 0 100px;
141
- justify-content: center;
142
- align-items: center;
143
- display: flex;
144
- }
145
-
146
- .vuuLeftNav-toggleButton {
147
- --vuu-icon-color: var(--vuu-light-text-primary);
148
- --vuu-icon-left: 11px;
149
- --vuu-icon-top: 10px;
150
- --vuu-icon-size: 16px;
151
- background-color: var(--salt-navigable-indicator-active);
152
- border-width: 0;
153
- border-radius: 18px;
154
- width: 36px;
155
- height: 36px;
156
- position: relative;
157
- }
158
-
159
- .vuuLeftNav-toggleButton-open {
160
- --vuu-icon-left: 9px;
161
- }
162
-
163
- .vuuLeftNav-drawer {
164
- background: #fff;
165
- flex-direction: column;
166
- flex-shrink: 0;
167
- align-self: stretch;
168
- align-items: flex-start;
169
- height: 100%;
170
- padding: 0 0 0 24px;
171
- display: flex;
172
- box-shadow: 3px 4px 4px #00000026;
173
- }
174
-
175
-
176
- `;
177
- export default css;
@@ -1,193 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { VuuLogo } from "@vuu-ui/vuu-icons";
3
- import { Stack, useLayoutProviderDispatch } from "@vuu-ui/vuu-layout";
4
- import { Tab, Tabstrip } from "@vuu-ui/vuu-ui-controls";
5
- import { hasFilterTableFeatureProps } from "@vuu-ui/vuu-utils";
6
- import { useComponentCssInjection } from "@salt-ds/styles";
7
- import { useWindow } from "@salt-ds/window";
8
- import clsx from "clsx";
9
- import { useCallback, useMemo, useState } from "react";
10
- import { FeatureList } from "../feature-list/index.js";
11
- import { LayoutList } from "../workspace-management/index.js";
12
- import LeftNav from "./LeftNav.css";
13
- import { useFeatures } from "../feature-and-layout-provider/index.js";
14
- const classBase = "vuuLeftNav";
15
- const getDisplayStatus = (activeTabIndex, expanded)=>{
16
- if (0 === activeTabIndex) return expanded ? "menu-full" : "menu-icons";
17
- return expanded ? "menu-full-content" : "menu-icons-content";
18
- };
19
- const byModule = (f1, f2)=>{
20
- const t1 = f1.ComponentProps?.tableSchema.table;
21
- const t2 = f2.ComponentProps?.tableSchema.table;
22
- if (t1 && t2) {
23
- const m1 = t1.module.toLowerCase();
24
- const m2 = t2.module.toLowerCase();
25
- if (m1 < m2) return -1;
26
- if (m1 > m2) return 1;
27
- if (t1.table < t2.table) return -1;
28
- else if (t1.table > t2.table) return 1;
29
- else return 0;
30
- }
31
- throw Error("Invalid tableFeature");
32
- };
33
- const LeftNav_LeftNav = (props)=>{
34
- const dispatch = useLayoutProviderDispatch();
35
- const { "data-path": path, defaultExpanded = true, defaultActiveTabIndex = 0, onActiveChange, onTogglePrimaryMenu, sizeCollapsed = 80, sizeContent = 300, sizeExpanded = 240, style: styleProp, ...htmlAttributes } = props;
36
- const targetWindow = useWindow();
37
- useComponentCssInjection({
38
- testId: "vuu-left-nav",
39
- css: LeftNav,
40
- window: targetWindow
41
- });
42
- const { dynamicFeatures = [], tableFeatures = [] } = useFeatures();
43
- const [navState, setNavState] = useState({
44
- activeTabIndex: defaultActiveTabIndex,
45
- expanded: defaultExpanded
46
- });
47
- const tableFeaturesByGroup = useMemo(()=>tableFeatures?.sort(byModule).reduce((acc, filterTableFeature)=>{
48
- if (!hasFilterTableFeatureProps(filterTableFeature)) return acc;
49
- {
50
- const { table } = filterTableFeature.ComponentProps.tableSchema;
51
- const key = `${table.module} Tables`;
52
- if (!acc[key]) acc[key] = [];
53
- return {
54
- ...acc,
55
- [key]: acc[key].concat(filterTableFeature)
56
- };
57
- }
58
- }, {}), [
59
- tableFeatures
60
- ]);
61
- const getFullWidth = useCallback((tabIndex, expanded)=>{
62
- if (0 === tabIndex) return expanded ? sizeExpanded : sizeCollapsed;
63
- return expanded ? sizeExpanded + sizeContent : sizeCollapsed + sizeContent;
64
- }, [
65
- sizeCollapsed,
66
- sizeContent,
67
- sizeExpanded
68
- ]);
69
- const handleTabSelection = useCallback((activeTabIndex)=>{
70
- const { activeTabIndex: currentIndex, expanded } = navState;
71
- const newState = {
72
- activeTabIndex,
73
- expanded
74
- };
75
- setNavState(newState);
76
- if (0 === activeTabIndex || 0 === currentIndex) {
77
- const width = getFullWidth(activeTabIndex, expanded);
78
- dispatch({
79
- type: "layout-resize",
80
- path: "#vuu-side-panel",
81
- size: width
82
- });
83
- }
84
- onActiveChange?.(activeTabIndex);
85
- }, [
86
- dispatch,
87
- getFullWidth,
88
- navState,
89
- onActiveChange
90
- ]);
91
- const displayStatus = getDisplayStatus(navState.activeTabIndex, navState.expanded);
92
- const toggleExpanded = useCallback(()=>{
93
- const { activeTabIndex, expanded } = navState;
94
- const primaryMenuExpanded = !expanded;
95
- const newState = {
96
- activeTabIndex,
97
- expanded: primaryMenuExpanded
98
- };
99
- setNavState(newState);
100
- dispatch({
101
- type: "layout-resize",
102
- path: "#vuu-side-panel",
103
- size: getFullWidth(activeTabIndex, primaryMenuExpanded)
104
- });
105
- onTogglePrimaryMenu?.(primaryMenuExpanded);
106
- }, [
107
- dispatch,
108
- getFullWidth,
109
- navState,
110
- onTogglePrimaryMenu
111
- ]);
112
- const style = {
113
- ...styleProp,
114
- "--nav-menu-collapsed-width": `${sizeCollapsed}px`,
115
- "--nav-menu-expanded-width": `${sizeExpanded}px`,
116
- "--nav-menu-content-width": `${sizeContent}px`
117
- };
118
- return /*#__PURE__*/ jsxs("div", {
119
- ...htmlAttributes,
120
- className: clsx(classBase, `${classBase}-${displayStatus}`),
121
- style: style,
122
- children: [
123
- /*#__PURE__*/ jsxs("div", {
124
- className: clsx(`${classBase}-menu-primary`),
125
- "data-mode": "dark",
126
- children: [
127
- /*#__PURE__*/ jsx("div", {
128
- className: "vuuLeftNav-logo",
129
- children: /*#__PURE__*/ jsx(VuuLogo, {})
130
- }),
131
- /*#__PURE__*/ jsx("div", {
132
- className: `${classBase}-main`,
133
- children: /*#__PURE__*/ jsxs(Tabstrip, {
134
- activeTabIndex: navState.activeTabIndex,
135
- animateSelectionThumb: false,
136
- className: `${classBase}-Tabstrip`,
137
- onActiveChange: handleTabSelection,
138
- orientation: "vertical",
139
- children: [
140
- /*#__PURE__*/ jsx(Tab, {
141
- "data-icon": "demo",
142
- label: "DEMO"
143
- }),
144
- /*#__PURE__*/ jsx(Tab, {
145
- "data-icon": "features",
146
- label: "VUU FEATURES"
147
- }),
148
- /*#__PURE__*/ jsx(Tab, {
149
- "data-icon": "tables",
150
- label: "VUU TABLES"
151
- }),
152
- /*#__PURE__*/ jsx(Tab, {
153
- "data-icon": "layouts",
154
- label: "MY LAYOUTS"
155
- })
156
- ]
157
- })
158
- }),
159
- /*#__PURE__*/ jsx("div", {
160
- className: "vuuLeftNav-buttonBar",
161
- children: /*#__PURE__*/ jsx("button", {
162
- className: clsx("vuuLeftNav-toggleButton", {
163
- "vuuLeftNav-toggleButton-open": displayStatus.startsWith("menu-full"),
164
- "vuuLeftNav-toggleButton-closed": displayStatus.startsWith("menu-icons")
165
- }),
166
- "data-icon": displayStatus.startsWith("menu-full") ? "chevron-left" : "chevron-right",
167
- onClick: toggleExpanded
168
- })
169
- })
170
- ]
171
- }),
172
- /*#__PURE__*/ jsxs(Stack, {
173
- active: navState.activeTabIndex - 1,
174
- className: `${classBase}-menu-secondary`,
175
- showTabs: false,
176
- children: [
177
- /*#__PURE__*/ jsx(FeatureList, {
178
- features: dynamicFeatures,
179
- title: "VUU FEATURES"
180
- }),
181
- /*#__PURE__*/ jsx(FeatureList, {
182
- features: tableFeaturesByGroup,
183
- title: "VUU TABLES"
184
- }),
185
- /*#__PURE__*/ jsx(LayoutList, {
186
- title: "MY LAYOUTS"
187
- })
188
- ]
189
- })
190
- ]
191
- });
192
- };
193
- export { LeftNav_LeftNav as LeftNav };
@@ -1 +0,0 @@
1
- export * from "./LeftNav.js";
@@ -1,72 +0,0 @@
1
- const css = `
2
- .vuuLoginPanel {
3
- --saltInput-paddingLeft: 8px;
4
- --login-width: 856px;
5
- --login-height: 550px;
6
- --hwTextInput-border: solid 1px #ccc;
7
- --hwTextInput-height: 28px;
8
- --hwTextInput-padding: 0 12px;
9
- --hwTextInput-width: 100%;
10
- --login-row-height: 60px;
11
- height: var(--login-height);
12
- width: var(--login-width);
13
- border-radius: 16px;
14
- margin: 0 auto;
15
- display: flex;
16
- box-shadow: 0 24px 44px #00000040;
17
- }
18
-
19
- .vuuLoginPanel .saltInput-primary {
20
- --saltInput-height: 36px;
21
- }
22
-
23
- .vuuLoginPanel-title {
24
- justify-content: center;
25
- font-size: 28px;
26
- font-weight: 400;
27
- display: flex;
28
- }
29
-
30
- .vuuLoginPanel-branding {
31
- background-color: var(--vuu-color-deep-purple);
32
- border-radius: 16px 0 0 16px;
33
- flex-direction: column;
34
- flex: 0 0 368px;
35
- justify-content: center;
36
- align-items: center;
37
- gap: 40px;
38
- padding: 40px 100px;
39
- display: flex;
40
- }
41
-
42
- .vuuLoginPanel-form {
43
- background-color: #fff;
44
- border-radius: 0 16px 16px 0;
45
- flex-direction: column;
46
- flex: auto;
47
- justify-content: center;
48
- gap: 32px;
49
- padding: 0 40px;
50
- display: flex;
51
- }
52
-
53
- .vuuLoginPanel-password {
54
- --vuu-icon-size: 16px;
55
- }
56
-
57
- .vuuLoginPanel-appName {
58
- color: #fff;
59
- text-transform: uppercase;
60
- font-size: 18px;
61
- font-weight: 700;
62
- }
63
-
64
- .vuuLoginPanel-login {
65
- --saltButton-height: 36px;
66
- --saltButton-borderRadius: 6px;
67
- width: 100%;
68
- }
69
-
70
-
71
- `;
72
- export default css;
@@ -1,124 +0,0 @@
1
- import { jsx, jsxs } from "react/jsx-runtime";
2
- import { VuuInput } from "@vuu-ui/vuu-ui-controls";
3
- import { Button, FormField, FormFieldLabel } from "@salt-ds/core";
4
- import { useComponentCssInjection } from "@salt-ds/styles";
5
- import { useWindow } from "@salt-ds/window";
6
- import clsx from "clsx";
7
- import { useCallback, useEffect, useRef, useState } from "react";
8
- import { VuuLogo } from "./VuuLogo.js";
9
- import LoginPanel from "./LoginPanel.css";
10
- const classBase = "vuuLoginPanel";
11
- const LoginPanel_LoginPanel = ({ appName = "Demo App", className, onSubmit, ...htmlAttributes })=>{
12
- const targetWindow = useWindow();
13
- useComponentCssInjection({
14
- testId: "vuu-login-panel",
15
- css: LoginPanel,
16
- window: targetWindow
17
- });
18
- const [username, setUserName] = useState("");
19
- const [password, setPassword] = useState("");
20
- const inputRef = useRef(null);
21
- const login = ()=>{
22
- onSubmit(username, password);
23
- };
24
- const handleUsername = (evt)=>{
25
- setUserName(evt.target.value);
26
- };
27
- const handlePassword = (evt)=>{
28
- setPassword(evt.target.value);
29
- };
30
- const handleCommitName = useCallback(()=>{
31
- if (password) onSubmit(username, password);
32
- }, [
33
- onSubmit,
34
- password,
35
- username
36
- ]);
37
- const handleCommitPassword = useCallback(()=>{
38
- if (username) onSubmit(username, password);
39
- }, [
40
- onSubmit,
41
- password,
42
- username
43
- ]);
44
- const dataIsValid = "" !== username.trim() && "" !== password.trim();
45
- useEffect(()=>{
46
- console.log("inputRef", {
47
- input: inputRef.current
48
- });
49
- inputRef.current?.focus();
50
- }, []);
51
- return /*#__PURE__*/ jsxs("div", {
52
- ...htmlAttributes,
53
- className: clsx(classBase, className),
54
- children: [
55
- /*#__PURE__*/ jsxs("div", {
56
- className: `${classBase}-branding`,
57
- children: [
58
- /*#__PURE__*/ jsx(VuuLogo, {}),
59
- /*#__PURE__*/ jsx("div", {
60
- className: `${classBase}-appName`,
61
- children: appName
62
- })
63
- ]
64
- }),
65
- /*#__PURE__*/ jsxs("div", {
66
- className: `${classBase}-form`,
67
- children: [
68
- /*#__PURE__*/ jsx("div", {
69
- className: `${classBase}-title`,
70
- children: "Welcome Back"
71
- }),
72
- /*#__PURE__*/ jsxs(FormField, {
73
- children: [
74
- /*#__PURE__*/ jsx(FormFieldLabel, {
75
- children: "Username"
76
- }),
77
- /*#__PURE__*/ jsx(VuuInput, {
78
- bordered: true,
79
- value: username,
80
- id: "text-username",
81
- inputRef: inputRef,
82
- onChange: handleUsername,
83
- onCommit: handleCommitName
84
- })
85
- ]
86
- }),
87
- /*#__PURE__*/ jsxs(FormField, {
88
- children: [
89
- /*#__PURE__*/ jsx(FormFieldLabel, {
90
- children: "Password"
91
- }),
92
- /*#__PURE__*/ jsx(VuuInput, {
93
- bordered: true,
94
- className: `${classBase}-password`,
95
- inputProps: {
96
- type: "password"
97
- },
98
- value: password,
99
- id: "text-password",
100
- onChange: handlePassword,
101
- onCommit: handleCommitPassword,
102
- endAdornment: /*#__PURE__*/ jsx("span", {
103
- "data-icon": "eye",
104
- style: {
105
- cursor: "pointer"
106
- }
107
- })
108
- })
109
- ]
110
- }),
111
- /*#__PURE__*/ jsx(Button, {
112
- appearance: "solid",
113
- className: `${classBase}-login`,
114
- disabled: !dataIsValid,
115
- onClick: login,
116
- sentiment: "accented",
117
- children: "Login"
118
- })
119
- ]
120
- })
121
- ]
122
- });
123
- };
124
- export { LoginPanel_LoginPanel as LoginPanel };