acUIty-core 0.2.0__tar.gz

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 (703) hide show
  1. acuity_core-0.2.0/PKG-INFO +41 -0
  2. acuity_core-0.2.0/README.md +3 -0
  3. acuity_core-0.2.0/acuity/__init__.py +81 -0
  4. acuity_core-0.2.0/acuity/__main__.py +19 -0
  5. acuity_core-0.2.0/acuity/app/__init__.py +5 -0
  6. acuity_core-0.2.0/acuity/app/datalets/__init__.py +4 -0
  7. acuity_core-0.2.0/acuity/app/datalets/_chat_container.py +3 -0
  8. acuity_core-0.2.0/acuity/app/datalets/_empty.py +4 -0
  9. acuity_core-0.2.0/acuity/commands.py +43 -0
  10. acuity_core-0.2.0/acuity/datalets/_Mock.py +15 -0
  11. acuity_core-0.2.0/acuity/datalets/__init__.py +0 -0
  12. acuity_core-0.2.0/acuity/datalets/cards/_CardGrid.py +20 -0
  13. acuity_core-0.2.0/acuity/datalets/cards/__init__.py +6 -0
  14. acuity_core-0.2.0/acuity/datalets/cards/_model.py +18 -0
  15. acuity_core-0.2.0/acuity/datalets/form/_Form.py +143 -0
  16. acuity_core-0.2.0/acuity/datalets/form/__init__.py +10 -0
  17. acuity_core-0.2.0/acuity/datalets/form/_markers.py +82 -0
  18. acuity_core-0.2.0/acuity/datalets/form/_model.py +10 -0
  19. acuity_core-0.2.0/acuity/model/__init__.py +6 -0
  20. acuity_core-0.2.0/acuity/model/_agen_resp_chunk.py +7 -0
  21. acuity_core-0.2.0/acuity/model/_app.py +104 -0
  22. acuity_core-0.2.0/acuity/model/_datalet.py +77 -0
  23. acuity_core-0.2.0/acuity/model/_lucide.py +1671 -0
  24. acuity_core-0.2.0/acuity/model/_page.py +68 -0
  25. acuity_core-0.2.0/acuity/model/_panel.py +24 -0
  26. acuity_core-0.2.0/acuity/runtime/__init__.py +14 -0
  27. acuity_core-0.2.0/acuity/runtime/_ai_router.py +84 -0
  28. acuity_core-0.2.0/acuity/runtime/_datalet_router.py +108 -0
  29. acuity_core-0.2.0/acuity/runtime/_engine.py +144 -0
  30. acuity_core-0.2.0/acuity/runtime/_stream_router.py +60 -0
  31. acuity_core-0.2.0/acuity/runtime/storage/__init__.py +4 -0
  32. acuity_core-0.2.0/acuity/runtime/storage/_client.py +132 -0
  33. acuity_core-0.2.0/acuity/runtime/storage/_model.py +54 -0
  34. acuity_core-0.2.0/acuity/runtime/stream/__init__.py +1 -0
  35. acuity_core-0.2.0/acuity/runtime/stream/_stream_handler.py +40 -0
  36. acuity_core-0.2.0/acuity/runtime/templates/index.html +10 -0
  37. acuity_core-0.2.0/acuity/scripts/build_web_static.py +15 -0
  38. acuity_core-0.2.0/acuity/web/.storybook/main.ts +24 -0
  39. acuity_core-0.2.0/acuity/web/.storybook/preview.ts +70 -0
  40. acuity_core-0.2.0/acuity/web/.storybook/vitest.setup.ts +7 -0
  41. acuity_core-0.2.0/acuity/web/bun.lock +2695 -0
  42. acuity_core-0.2.0/acuity/web/components.json +16 -0
  43. acuity_core-0.2.0/acuity/web/icon_generator.sh +19 -0
  44. acuity_core-0.2.0/acuity/web/icons/app/app_banner.svg +126 -0
  45. acuity_core-0.2.0/acuity/web/icons/app/app_logo.svg +40 -0
  46. acuity_core-0.2.0/acuity/web/icons/kafka-bundle/banner.svg +126 -0
  47. acuity_core-0.2.0/acuity/web/icons/kafka-bundle/logo.svg +17 -0
  48. acuity_core-0.2.0/acuity/web/icons/mesh-bundle/banner.svg +126 -0
  49. acuity_core-0.2.0/acuity/web/icons/mesh-bundle/logo.svg +1 -0
  50. acuity_core-0.2.0/acuity/web/icons/mesh-bundle/menu.svg +1 -0
  51. acuity_core-0.2.0/acuity/web/jsrepo.config.ts +15 -0
  52. acuity_core-0.2.0/acuity/web/package-lock.json +14520 -0
  53. acuity_core-0.2.0/acuity/web/package.json +174 -0
  54. acuity_core-0.2.0/acuity/web/patches/storybook-addon-resizer@1.0.2.patch +30 -0
  55. acuity_core-0.2.0/acuity/web/postcss.config.mjs +7 -0
  56. acuity_core-0.2.0/acuity/web/public/icons/assets.png +0 -0
  57. acuity_core-0.2.0/acuity/web/public/icons/context.png +0 -0
  58. acuity_core-0.2.0/acuity/web/public/icons/hexagon.svg +26 -0
  59. acuity_core-0.2.0/acuity/web/public/mockServiceWorker.js +351 -0
  60. acuity_core-0.2.0/acuity/web/src/App.svelte +9 -0
  61. acuity_core-0.2.0/acuity/web/src/core/actions/index.ts +2 -0
  62. acuity_core-0.2.0/acuity/web/src/core/actions/longpress.ts +42 -0
  63. acuity_core-0.2.0/acuity/web/src/core/actions/ripple.ts +71 -0
  64. acuity_core-0.2.0/acuity/web/src/core/app/AppFrame.svelte +63 -0
  65. acuity_core-0.2.0/acuity/web/src/core/app/AppShell.svelte +37 -0
  66. acuity_core-0.2.0/acuity/web/src/core/app/ConfirmModal.svelte +33 -0
  67. acuity_core-0.2.0/acuity/web/src/core/app/context.svelte.ts +305 -0
  68. acuity_core-0.2.0/acuity/web/src/core/app/stores/pageCtx.js +50 -0
  69. acuity_core-0.2.0/acuity/web/src/core/app/types.ts +64 -0
  70. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/Badge.svelte +55 -0
  71. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/Button.svelte +69 -0
  72. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/ButtonGroup.svelte +24 -0
  73. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/DateInput.svelte +116 -0
  74. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/DatetimeInput.svelte +107 -0
  75. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/EmailInput.svelte +28 -0
  76. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/MultipleToggle.svelte +104 -0
  77. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/MultiselectInput.svelte +37 -0
  78. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/NumberInput.svelte +28 -0
  79. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/PasswordInput.svelte +33 -0
  80. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/SelectInput.svelte +58 -0
  81. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/Snippets.svelte +94 -0
  82. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/TagsInput.svelte +33 -0
  83. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/TextAreaInput.svelte +33 -0
  84. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/TextInput.svelte +28 -0
  85. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/Title.svelte +14 -0
  86. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/themes.ts +429 -0
  87. acuity_core-0.2.0/acuity/web/src/core/bricks/atoms/types.ts +51 -0
  88. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_AreaChart.svelte +46 -0
  89. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_BarChart.svelte +29 -0
  90. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_CardGrid.svelte +81 -0
  91. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_ChatDatalet.svelte +34 -0
  92. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_ForceSimulation.svelte +26 -0
  93. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_Form.svelte +92 -0
  94. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_GlobeArcs.svelte +26 -0
  95. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_Mock.svelte +54 -0
  96. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_Network3D.svelte +26 -0
  97. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/_PieChart.svelte +31 -0
  98. acuity_core-0.2.0/acuity/web/src/core/bricks/datalets/index.ts +10 -0
  99. acuity_core-0.2.0/acuity/web/src/core/bricks/index.ts +9 -0
  100. acuity_core-0.2.0/acuity/web/src/core/bricks/molecules/Breadcrumb.svelte +128 -0
  101. acuity_core-0.2.0/acuity/web/src/core/bricks/molecules/Card.svelte +82 -0
  102. acuity_core-0.2.0/acuity/web/src/core/bricks/molecules/DropdownMenu.svelte +130 -0
  103. acuity_core-0.2.0/acuity/web/src/core/bricks/molecules/FormField.svelte +55 -0
  104. acuity_core-0.2.0/acuity/web/src/core/bricks/molecules/List.svelte +44 -0
  105. acuity_core-0.2.0/acuity/web/src/core/bricks/molecules/types.ts +32 -0
  106. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/cards/CardsContainer.svelte +34 -0
  107. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/charts/AreaChart.svelte +125 -0
  108. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/charts/BarChart.svelte +93 -0
  109. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/charts/ForceSimulation.svelte +380 -0
  110. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/charts/GlobeArcs.svelte +196 -0
  111. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/charts/Network3D.svelte +361 -0
  112. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/charts/PieChart.svelte +66 -0
  113. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/charts/chartFont.ts +7 -0
  114. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/chat/ChatContainer.svelte +356 -0
  115. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/chat/ChatPrompt.svelte +104 -0
  116. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/chat/avatar_done.svg +104 -0
  117. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/chat/avatar_thinking.svg +101 -0
  118. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/chat/statechart.svelte.ts +168 -0
  119. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/chat/types.ts +23 -0
  120. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/flows/Diagram.svelte +35 -0
  121. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/flows/DiagramCanvas.svelte +230 -0
  122. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/flows/DiagramEditor.svelte +87 -0
  123. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/flows/DiagramElement.svelte +43 -0
  124. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/flows/DiagramToolbar.svelte +58 -0
  125. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/flows/StencilDrawer.svelte +145 -0
  126. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/flows/index.ts +9 -0
  127. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/flows/stencils.ts +35 -0
  128. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/flows/types.ts +32 -0
  129. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/forms/FieldWrapper.svelte +117 -0
  130. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/forms/Form.svelte +21 -0
  131. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/forms/FormFieldGroup.svelte +43 -0
  132. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/forms/FormSection.svelte +34 -0
  133. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/forms/FormTemplate.svelte +195 -0
  134. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/forms/forms.svelte.ts +467 -0
  135. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/grid/SampleGrid.svelte +44 -0
  136. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/tables/index.ts +28 -0
  137. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/tables/table-body.svelte +19 -0
  138. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/tables/table-caption.svelte +19 -0
  139. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/tables/table-cell.svelte +22 -0
  140. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/tables/table-footer.svelte +19 -0
  141. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/tables/table-head.svelte +22 -0
  142. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/tables/table-header.svelte +19 -0
  143. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/tables/table-row.svelte +22 -0
  144. acuity_core-0.2.0/acuity/web/src/core/bricks/organisms/tables/table.svelte +21 -0
  145. acuity_core-0.2.0/acuity/web/src/core/bricks/pages/Page.svelte +84 -0
  146. acuity_core-0.2.0/acuity/web/src/core/bricks/pages/builder.svelte.ts +16 -0
  147. acuity_core-0.2.0/acuity/web/src/core/bricks/pages/themes.ts +97 -0
  148. acuity_core-0.2.0/acuity/web/src/core/bricks/pages/types.ts +20 -0
  149. acuity_core-0.2.0/acuity/web/src/core/builder/DataletFrame.svelte +80 -0
  150. acuity_core-0.2.0/acuity/web/src/core/builder/datalet-builder.svelte.ts +310 -0
  151. acuity_core-0.2.0/acuity/web/src/core/builder/types.svelte.ts +10 -0
  152. acuity_core-0.2.0/acuity/web/src/core/flows/_Flow.svelte +127 -0
  153. acuity_core-0.2.0/acuity/web/src/core/flows/_FlowEditor.svelte +282 -0
  154. acuity_core-0.2.0/acuity/web/src/core/flows/common.ts +55 -0
  155. acuity_core-0.2.0/acuity/web/src/core/flows/core/Controls.svelte +56 -0
  156. acuity_core-0.2.0/acuity/web/src/core/flows/core/Flow.svelte +103 -0
  157. acuity_core-0.2.0/acuity/web/src/core/flows/core/FlowEdge.svelte +383 -0
  158. acuity_core-0.2.0/acuity/web/src/core/flows/core/FlowEditorElement.svelte +121 -0
  159. acuity_core-0.2.0/acuity/web/src/core/flows/core/FlowEditorReferenceTemplate.svelte +80 -0
  160. acuity_core-0.2.0/acuity/web/src/core/flows/core/FlowElementTemplate.svelte +118 -0
  161. acuity_core-0.2.0/acuity/web/src/core/flows/core/FlowHandle.svelte +213 -0
  162. acuity_core-0.2.0/acuity/web/src/core/flows/core/FlowHandleContainer.svelte +103 -0
  163. acuity_core-0.2.0/acuity/web/src/core/flows/core/FlowMasterHandle.svelte +217 -0
  164. acuity_core-0.2.0/acuity/web/src/core/flows/core/FlowObserveElement.svelte +149 -0
  165. acuity_core-0.2.0/acuity/web/src/core/flows/core/Token.svelte +20 -0
  166. acuity_core-0.2.0/acuity/web/src/core/flows/edge.ts +303 -0
  167. acuity_core-0.2.0/acuity/web/src/core/flows/edit/FlowCanvasEditor.svelte +58 -0
  168. acuity_core-0.2.0/acuity/web/src/core/flows/edit/FlowCanvasEditorProvider.svelte +85 -0
  169. acuity_core-0.2.0/acuity/web/src/core/flows/handles.ts +52 -0
  170. acuity_core-0.2.0/acuity/web/src/core/flows/icons/Discover.svelte +13 -0
  171. acuity_core-0.2.0/acuity/web/src/core/flows/icons/Editor.svelte +7 -0
  172. acuity_core-0.2.0/acuity/web/src/core/flows/icons/Model.svelte +9 -0
  173. acuity_core-0.2.0/acuity/web/src/core/flows/icons/Stencils.svelte +8 -0
  174. acuity_core-0.2.0/acuity/web/src/core/flows/mesh.ts +395 -0
  175. acuity_core-0.2.0/acuity/web/src/core/flows/model/rankdir.ts +6 -0
  176. acuity_core-0.2.0/acuity/web/src/core/flows/new/common.ts +55 -0
  177. acuity_core-0.2.0/acuity/web/src/core/flows/new/edge.ts +303 -0
  178. acuity_core-0.2.0/acuity/web/src/core/flows/new/handles.ts +52 -0
  179. acuity_core-0.2.0/acuity/web/src/core/flows/new/mesh.ts +191 -0
  180. acuity_core-0.2.0/acuity/web/src/core/flows/new/node.ts +15 -0
  181. acuity_core-0.2.0/acuity/web/src/core/flows/new/store/decoratorStore.ts +138 -0
  182. acuity_core-0.2.0/acuity/web/src/core/flows/new/store/editorAppearanceStore.ts +64 -0
  183. acuity_core-0.2.0/acuity/web/src/core/flows/new/store/flowSettingsStore.ts +32 -0
  184. acuity_core-0.2.0/acuity/web/src/core/flows/new/store/flowStore.ts +208 -0
  185. acuity_core-0.2.0/acuity/web/src/core/flows/new/store/index.ts +8 -0
  186. acuity_core-0.2.0/acuity/web/src/core/flows/new/store/modelStore.ts +216 -0
  187. acuity_core-0.2.0/acuity/web/src/core/flows/new/store/paletteStore.ts +29 -0
  188. acuity_core-0.2.0/acuity/web/src/core/flows/new/store/selectionStore.ts +143 -0
  189. acuity_core-0.2.0/acuity/web/src/core/flows/new/store/stencilCatalogStore.ts +71 -0
  190. acuity_core-0.2.0/acuity/web/src/core/flows/node.ts +15 -0
  191. acuity_core-0.2.0/acuity/web/src/core/flows/panels/DiagramJsonCode.svelte +15 -0
  192. acuity_core-0.2.0/acuity/web/src/core/flows/panels/DiagramReferenceItem.svelte +88 -0
  193. acuity_core-0.2.0/acuity/web/src/core/flows/panels/ModelCodeViewer.svelte +10 -0
  194. acuity_core-0.2.0/acuity/web/src/core/flows/panels/NodeEditor.svelte +138 -0
  195. acuity_core-0.2.0/acuity/web/src/core/flows/panels/ReferenceNodeSearch.svelte +106 -0
  196. acuity_core-0.2.0/acuity/web/src/core/flows/panels/SlideOver.svelte +80 -0
  197. acuity_core-0.2.0/acuity/web/src/core/flows/panels/Stencil.svelte +56 -0
  198. acuity_core-0.2.0/acuity/web/src/core/flows/panels/searchForm.js +114 -0
  199. acuity_core-0.2.0/acuity/web/src/core/flows/store/decoratorStore.ts +138 -0
  200. acuity_core-0.2.0/acuity/web/src/core/flows/store/editorAppearanceStore.ts +64 -0
  201. acuity_core-0.2.0/acuity/web/src/core/flows/store/flowSettingsStore.ts +32 -0
  202. acuity_core-0.2.0/acuity/web/src/core/flows/store/index.ts +7 -0
  203. acuity_core-0.2.0/acuity/web/src/core/flows/store/modelStore.ts +216 -0
  204. acuity_core-0.2.0/acuity/web/src/core/flows/store/paletteStore.ts +29 -0
  205. acuity_core-0.2.0/acuity/web/src/core/flows/store/selectionStore.ts +143 -0
  206. acuity_core-0.2.0/acuity/web/src/core/flows/store/stencilCatalogStore.ts +71 -0
  207. acuity_core-0.2.0/acuity/web/src/core/flows/view/FlowCanvas.svelte +36 -0
  208. acuity_core-0.2.0/acuity/web/src/core/flows/view/FlowCanvasProvider.svelte +31 -0
  209. acuity_core-0.2.0/acuity/web/src/core/flows/widgets/Palette.svelte +52 -0
  210. acuity_core-0.2.0/acuity/web/src/core/fw/sse-post.svelte.ts +202 -0
  211. acuity_core-0.2.0/acuity/web/src/core/fw/sse.svelte.ts +102 -0
  212. acuity_core-0.2.0/acuity/web/src/core/fw/types.svelte.ts +21 -0
  213. acuity_core-0.2.0/acuity/web/src/core/icons/Icon.svelte +22 -0
  214. acuity_core-0.2.0/acuity/web/src/core/icons/Image.svelte +30 -0
  215. acuity_core-0.2.0/acuity/web/src/core/icons/box.svg +17 -0
  216. acuity_core-0.2.0/acuity/web/src/core/icons/images.svelte.ts +87 -0
  217. acuity_core-0.2.0/acuity/web/src/core/index.ts +104 -0
  218. acuity_core-0.2.0/acuity/web/src/core/js/actions.js +29 -0
  219. acuity_core-0.2.0/acuity/web/src/core/js/colors.js +11 -0
  220. acuity_core-0.2.0/acuity/web/src/core/js/utils.js +42 -0
  221. acuity_core-0.2.0/acuity/web/src/core/layout/AppRouterShell.svelte +104 -0
  222. acuity_core-0.2.0/acuity/web/src/core/layout/AsideDynamicPage.svelte +141 -0
  223. acuity_core-0.2.0/acuity/web/src/core/layout/AsidePanel.svelte +156 -0
  224. acuity_core-0.2.0/acuity/web/src/core/layout/Divider.svelte +6 -0
  225. acuity_core-0.2.0/acuity/web/src/core/layout/Header.svelte +128 -0
  226. acuity_core-0.2.0/acuity/web/src/core/layout/Page.svelte +86 -0
  227. acuity_core-0.2.0/acuity/web/src/core/layout/breadcrumb/Breadcrumb.svelte +30 -0
  228. acuity_core-0.2.0/acuity/web/src/core/layout/breadcrumb/_FinalItem.svelte +38 -0
  229. acuity_core-0.2.0/acuity/web/src/core/layout/breadcrumb/_InitialItem.svelte +47 -0
  230. acuity_core-0.2.0/acuity/web/src/core/layout/breadcrumb/_IntermediateItem.svelte +44 -0
  231. acuity_core-0.2.0/acuity/web/src/core/layout/cards/CardContainer.svelte +28 -0
  232. acuity_core-0.2.0/acuity/web/src/core/layout/cards/ShapeBkgCard.svelte +83 -0
  233. acuity_core-0.2.0/acuity/web/src/core/layout/cards/StandardCard.svelte +56 -0
  234. acuity_core-0.2.0/acuity/web/src/core/layout/pages/AppHome.svelte +59 -0
  235. acuity_core-0.2.0/acuity/web/src/core/layout/pages/BundleHome.svelte +63 -0
  236. acuity_core-0.2.0/acuity/web/src/core/layout/pages/Logout.svelte +8 -0
  237. acuity_core-0.2.0/acuity/web/src/core/layout/pages/NotFound.svelte +9 -0
  238. acuity_core-0.2.0/acuity/web/src/core/layout/panels/ContentPanel.svelte +43 -0
  239. acuity_core-0.2.0/acuity/web/src/core/layout/panels/EnhHeroContent.svelte +38 -0
  240. acuity_core-0.2.0/acuity/web/src/core/layout/panels/GridLayoutPanel.svelte +29 -0
  241. acuity_core-0.2.0/acuity/web/src/core/layout/panels/HeroContents.svelte +17 -0
  242. acuity_core-0.2.0/acuity/web/src/core/layout/panels/HeroPanel.svelte +38 -0
  243. acuity_core-0.2.0/acuity/web/src/core/layout/panels/Panel.svelte +30 -0
  244. acuity_core-0.2.0/acuity/web/src/core/layout/panels/TabbedPanel.svelte +92 -0
  245. acuity_core-0.2.0/acuity/web/src/core/layout/parts/PageTransitions.svelte +14 -0
  246. acuity_core-0.2.0/acuity/web/src/core/layout/parts/SearchToolBtn.svelte +142 -0
  247. acuity_core-0.2.0/acuity/web/src/core/layout/steps/MultiStepsContent.svelte +44 -0
  248. acuity_core-0.2.0/acuity/web/src/core/layout/steps/MultiStepsHeader.svelte +225 -0
  249. acuity_core-0.2.0/acuity/web/src/core/layout/steps/MultiStepsPanel.svelte +26 -0
  250. acuity_core-0.2.0/acuity/web/src/core/layout/steps/Step.svelte +78 -0
  251. acuity_core-0.2.0/acuity/web/src/core/layout/steps/multisteps.ts +223 -0
  252. acuity_core-0.2.0/acuity/web/src/core/layout/tabs/MultiTabsContent.svelte +44 -0
  253. acuity_core-0.2.0/acuity/web/src/core/layout/tabs/MultiTabsHeader.svelte +131 -0
  254. acuity_core-0.2.0/acuity/web/src/core/layout/tabs/MultiTabsPanel.svelte +26 -0
  255. acuity_core-0.2.0/acuity/web/src/core/layout/tabs/multitabs.ts +221 -0
  256. acuity_core-0.2.0/acuity/web/src/core/layout/user/UserProfileCard.svelte +68 -0
  257. acuity_core-0.2.0/acuity/web/src/core/layout/user/UserProfileDropdown.svelte +28 -0
  258. acuity_core-0.2.0/acuity/web/src/core/layout/user/_LoggedinUser.svelte +31 -0
  259. acuity_core-0.2.0/acuity/web/src/core/layout/wireframe/Wireframe.svelte +108 -0
  260. acuity_core-0.2.0/acuity/web/src/core/layout/wireframe/WireframePanel.svelte +210 -0
  261. acuity_core-0.2.0/acuity/web/src/core/layout/wireframe/WireframeTabbedPanel.svelte +49 -0
  262. acuity_core-0.2.0/acuity/web/src/core/style/clip-path.js +167 -0
  263. acuity_core-0.2.0/acuity/web/src/core/style/dark_colors.css +40 -0
  264. acuity_core-0.2.0/acuity/web/src/core/style/global.css +225 -0
  265. acuity_core-0.2.0/acuity/web/src/core/style/light_colors.css +40 -0
  266. acuity_core-0.2.0/acuity/web/src/core/style/scrollbar.ts +18 -0
  267. acuity_core-0.2.0/acuity/web/src/core/style/tailwind.css +106 -0
  268. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/chain-of-thought/ChainOfThought.svelte +49 -0
  269. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/chain-of-thought/ChainOfThoughtContent.svelte +25 -0
  270. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/chain-of-thought/ChainOfThoughtHeader.svelte +39 -0
  271. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/chain-of-thought/ChainOfThoughtImage.svelte +24 -0
  272. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/chain-of-thought/ChainOfThoughtSearchResult.svelte +21 -0
  273. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/chain-of-thought/ChainOfThoughtSearchResults.svelte +16 -0
  274. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/chain-of-thought/ChainOfThoughtStep.svelte +87 -0
  275. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/chain-of-thought/chain-of-thought-context.svelte.ts +47 -0
  276. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/chain-of-thought/index.ts +31 -0
  277. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/message/Message.svelte +25 -0
  278. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/message/MessageAvatar.svelte +23 -0
  279. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/message/MessageContent.svelte +36 -0
  280. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/message/index.ts +5 -0
  281. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/reasoning/Reasoning.svelte +121 -0
  282. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/reasoning/ReasoningContent.svelte +25 -0
  283. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/reasoning/ReasoningTrigger.svelte +49 -0
  284. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/reasoning/Response.svelte +14 -0
  285. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/reasoning/index.ts +16 -0
  286. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/reasoning/reasoning-context.svelte.ts +61 -0
  287. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/response/Response.svelte +31 -0
  288. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/response/index.ts +2 -0
  289. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/shimmer/Shimmer.svelte +46 -0
  290. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/shimmer/index.ts +3 -0
  291. acuity_core-0.2.0/acuity/web/src/lib/components/ai-elements/shimmer/types.ts +10 -0
  292. acuity_core-0.2.0/acuity/web/src/lib/components/app-sidebar.svelte +82 -0
  293. acuity_core-0.2.0/acuity/web/src/lib/components/magic/animated-gradient-text/animated-gradient-text.svelte +33 -0
  294. acuity_core-0.2.0/acuity/web/src/lib/components/magic/animated-gradient-text/index.ts +2 -0
  295. acuity_core-0.2.0/acuity/web/src/lib/components/magic/border-beam/border-beam.svelte +71 -0
  296. acuity_core-0.2.0/acuity/web/src/lib/components/magic/border-beam/index.ts +2 -0
  297. acuity_core-0.2.0/acuity/web/src/lib/components/magic/dia-text-reveal/dia-text-reveal.svelte +262 -0
  298. acuity_core-0.2.0/acuity/web/src/lib/components/magic/dia-text-reveal/index.ts +2 -0
  299. acuity_core-0.2.0/acuity/web/src/lib/components/magic/shine-border/index.ts +2 -0
  300. acuity_core-0.2.0/acuity/web/src/lib/components/magic/shine-border/shine-border.svelte +47 -0
  301. acuity_core-0.2.0/acuity/web/src/lib/components/movingicons/panel-left.svelte +63 -0
  302. acuity_core-0.2.0/acuity/web/src/lib/components/nav-documents.svelte +67 -0
  303. acuity_core-0.2.0/acuity/web/src/lib/components/nav-main.svelte +71 -0
  304. acuity_core-0.2.0/acuity/web/src/lib/components/nav-projects.svelte +71 -0
  305. acuity_core-0.2.0/acuity/web/src/lib/components/nav-secondary.svelte +32 -0
  306. acuity_core-0.2.0/acuity/web/src/lib/components/nav-user.svelte +90 -0
  307. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/chat-container/chat-container-content.svelte +17 -0
  308. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/chat-container/chat-container-context.svelte.ts +198 -0
  309. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/chat-container/chat-container-root.svelte +47 -0
  310. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/chat-container/chat-container-scroll-anchor.svelte +17 -0
  311. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/chat-container/index.ts +7 -0
  312. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/markdown/Markdown.svelte +37 -0
  313. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/markdown/index.ts +1 -0
  314. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/message/Message.svelte +26 -0
  315. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/message/MessageAction.svelte +34 -0
  316. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/message/MessageActions.svelte +18 -0
  317. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/message/MessageAvatar.svelte +23 -0
  318. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/message/MessageContent.svelte +37 -0
  319. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/message/index.ts +7 -0
  320. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/message/message-context.svelte.ts +31 -0
  321. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/prompt-input/PromptInput.svelte +107 -0
  322. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/prompt-input/PromptInputAction.svelte +34 -0
  323. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/prompt-input/PromptInputActions.svelte +16 -0
  324. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/prompt-input/PromptInputTextarea.svelte +59 -0
  325. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/prompt-input/index.ts +5 -0
  326. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/prompt-input/prompt-input-context.svelte.ts +50 -0
  327. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/scroll-button/ScrollButton.svelte +51 -0
  328. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/scroll-button/index.ts +3 -0
  329. acuity_core-0.2.0/acuity/web/src/lib/components/prompt-kit/scroll-button/scroll-context.svelte.ts +79 -0
  330. acuity_core-0.2.0/acuity/web/src/lib/components/search-form.svelte +17 -0
  331. acuity_core-0.2.0/acuity/web/src/lib/components/site-header.svelte +93 -0
  332. acuity_core-0.2.0/acuity/web/src/lib/components/ui/alert/alert-action.svelte +20 -0
  333. acuity_core-0.2.0/acuity/web/src/lib/components/ui/alert/alert-description.svelte +23 -0
  334. acuity_core-0.2.0/acuity/web/src/lib/components/ui/alert/alert-title.svelte +23 -0
  335. acuity_core-0.2.0/acuity/web/src/lib/components/ui/alert/alert.svelte +43 -0
  336. acuity_core-0.2.0/acuity/web/src/lib/components/ui/alert/index.ts +17 -0
  337. acuity_core-0.2.0/acuity/web/src/lib/components/ui/avatar/avatar-fallback.svelte +17 -0
  338. acuity_core-0.2.0/acuity/web/src/lib/components/ui/avatar/avatar-image.svelte +17 -0
  339. acuity_core-0.2.0/acuity/web/src/lib/components/ui/avatar/avatar.svelte +19 -0
  340. acuity_core-0.2.0/acuity/web/src/lib/components/ui/avatar/index.ts +13 -0
  341. acuity_core-0.2.0/acuity/web/src/lib/components/ui/badge/badge.svelte +66 -0
  342. acuity_core-0.2.0/acuity/web/src/lib/components/ui/badge/index.ts +2 -0
  343. acuity_core-0.2.0/acuity/web/src/lib/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +23 -0
  344. acuity_core-0.2.0/acuity/web/src/lib/components/ui/breadcrumb/breadcrumb-item.svelte +20 -0
  345. acuity_core-0.2.0/acuity/web/src/lib/components/ui/breadcrumb/breadcrumb-link.svelte +31 -0
  346. acuity_core-0.2.0/acuity/web/src/lib/components/ui/breadcrumb/breadcrumb-list.svelte +23 -0
  347. acuity_core-0.2.0/acuity/web/src/lib/components/ui/breadcrumb/breadcrumb-page.svelte +23 -0
  348. acuity_core-0.2.0/acuity/web/src/lib/components/ui/breadcrumb/breadcrumb-separator.svelte +27 -0
  349. acuity_core-0.2.0/acuity/web/src/lib/components/ui/breadcrumb/breadcrumb.svelte +21 -0
  350. acuity_core-0.2.0/acuity/web/src/lib/components/ui/breadcrumb/index.ts +25 -0
  351. acuity_core-0.2.0/acuity/web/src/lib/components/ui/button/button.svelte +132 -0
  352. acuity_core-0.2.0/acuity/web/src/lib/components/ui/button/index.ts +23 -0
  353. acuity_core-0.2.0/acuity/web/src/lib/components/ui/button-group/button-group-separator.svelte +20 -0
  354. acuity_core-0.2.0/acuity/web/src/lib/components/ui/button-group/button-group-text.svelte +30 -0
  355. acuity_core-0.2.0/acuity/web/src/lib/components/ui/button-group/button-group.svelte +46 -0
  356. acuity_core-0.2.0/acuity/web/src/lib/components/ui/button-group/index.ts +13 -0
  357. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-caption.svelte +76 -0
  358. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-cell.svelte +19 -0
  359. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-day.svelte +35 -0
  360. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-grid-body.svelte +12 -0
  361. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-grid-head.svelte +12 -0
  362. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-grid-row.svelte +12 -0
  363. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-grid.svelte +16 -0
  364. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-head-cell.svelte +19 -0
  365. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-header.svelte +19 -0
  366. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-heading.svelte +16 -0
  367. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-month-select.svelte +48 -0
  368. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-month.svelte +15 -0
  369. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-months.svelte +19 -0
  370. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-nav.svelte +19 -0
  371. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-next-button.svelte +31 -0
  372. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-prev-button.svelte +31 -0
  373. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar-year-select.svelte +47 -0
  374. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/calendar.svelte +115 -0
  375. acuity_core-0.2.0/acuity/web/src/lib/components/ui/calendar/index.ts +40 -0
  376. acuity_core-0.2.0/acuity/web/src/lib/components/ui/card/card-action.svelte +23 -0
  377. acuity_core-0.2.0/acuity/web/src/lib/components/ui/card/card-content.svelte +20 -0
  378. acuity_core-0.2.0/acuity/web/src/lib/components/ui/card/card-description.svelte +20 -0
  379. acuity_core-0.2.0/acuity/web/src/lib/components/ui/card/card-footer.svelte +20 -0
  380. acuity_core-0.2.0/acuity/web/src/lib/components/ui/card/card-header.svelte +23 -0
  381. acuity_core-0.2.0/acuity/web/src/lib/components/ui/card/card-title.svelte +20 -0
  382. acuity_core-0.2.0/acuity/web/src/lib/components/ui/card/card.svelte +22 -0
  383. acuity_core-0.2.0/acuity/web/src/lib/components/ui/card/index.ts +25 -0
  384. acuity_core-0.2.0/acuity/web/src/lib/components/ui/chart/chart-container.svelte +80 -0
  385. acuity_core-0.2.0/acuity/web/src/lib/components/ui/chart/chart-style.svelte +37 -0
  386. acuity_core-0.2.0/acuity/web/src/lib/components/ui/chart/chart-tooltip.svelte +180 -0
  387. acuity_core-0.2.0/acuity/web/src/lib/components/ui/chart/chart-utils.ts +68 -0
  388. acuity_core-0.2.0/acuity/web/src/lib/components/ui/chart/index.ts +6 -0
  389. acuity_core-0.2.0/acuity/web/src/lib/components/ui/collapsible/collapsible-content.svelte +7 -0
  390. acuity_core-0.2.0/acuity/web/src/lib/components/ui/collapsible/collapsible-trigger.svelte +7 -0
  391. acuity_core-0.2.0/acuity/web/src/lib/components/ui/collapsible/collapsible.svelte +11 -0
  392. acuity_core-0.2.0/acuity/web/src/lib/components/ui/collapsible/index.ts +13 -0
  393. acuity_core-0.2.0/acuity/web/src/lib/components/ui/copy-button/copy-button.svelte +69 -0
  394. acuity_core-0.2.0/acuity/web/src/lib/components/ui/copy-button/index.ts +3 -0
  395. acuity_core-0.2.0/acuity/web/src/lib/components/ui/copy-button/types.ts +18 -0
  396. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-close.svelte +7 -0
  397. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-content.svelte +40 -0
  398. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-description.svelte +17 -0
  399. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-footer.svelte +20 -0
  400. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-header.svelte +20 -0
  401. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-nested.svelte +12 -0
  402. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-overlay.svelte +20 -0
  403. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-portal.svelte +7 -0
  404. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-title.svelte +17 -0
  405. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer-trigger.svelte +7 -0
  406. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/drawer.svelte +12 -0
  407. acuity_core-0.2.0/acuity/web/src/lib/components/ui/drawer/index.ts +38 -0
  408. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +16 -0
  409. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +41 -0
  410. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-content.svelte +27 -0
  411. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +22 -0
  412. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-group.svelte +7 -0
  413. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-item.svelte +27 -0
  414. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-label.svelte +24 -0
  415. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-portal.svelte +7 -0
  416. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +16 -0
  417. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +31 -0
  418. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-separator.svelte +17 -0
  419. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
  420. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +20 -0
  421. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +29 -0
  422. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-sub.svelte +9 -0
  423. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +7 -0
  424. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/dropdown-menu.svelte +13 -0
  425. acuity_core-0.2.0/acuity/web/src/lib/components/ui/dropdown-menu/index.ts +51 -0
  426. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field-content.svelte +20 -0
  427. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field-description.svelte +25 -0
  428. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field-error.svelte +58 -0
  429. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field-group.svelte +23 -0
  430. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field-label.svelte +26 -0
  431. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field-legend.svelte +29 -0
  432. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field-separator.svelte +38 -0
  433. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field-set.svelte +24 -0
  434. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field-title.svelte +23 -0
  435. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/field.svelte +53 -0
  436. acuity_core-0.2.0/acuity/web/src/lib/components/ui/field/index.ts +33 -0
  437. acuity_core-0.2.0/acuity/web/src/lib/components/ui/form/form-button.svelte +7 -0
  438. acuity_core-0.2.0/acuity/web/src/lib/components/ui/form/form-description.svelte +17 -0
  439. acuity_core-0.2.0/acuity/web/src/lib/components/ui/form/form-element-field.svelte +24 -0
  440. acuity_core-0.2.0/acuity/web/src/lib/components/ui/form/form-field-errors.svelte +30 -0
  441. acuity_core-0.2.0/acuity/web/src/lib/components/ui/form/form-field.svelte +29 -0
  442. acuity_core-0.2.0/acuity/web/src/lib/components/ui/form/form-fieldset.svelte +15 -0
  443. acuity_core-0.2.0/acuity/web/src/lib/components/ui/form/form-label.svelte +24 -0
  444. acuity_core-0.2.0/acuity/web/src/lib/components/ui/form/form-legend.svelte +16 -0
  445. acuity_core-0.2.0/acuity/web/src/lib/components/ui/form/index.ts +33 -0
  446. acuity_core-0.2.0/acuity/web/src/lib/components/ui/input/index.ts +7 -0
  447. acuity_core-0.2.0/acuity/web/src/lib/components/ui/input/input.svelte +53 -0
  448. acuity_core-0.2.0/acuity/web/src/lib/components/ui/input-group/index.ts +22 -0
  449. acuity_core-0.2.0/acuity/web/src/lib/components/ui/input-group/input-group-addon.svelte +55 -0
  450. acuity_core-0.2.0/acuity/web/src/lib/components/ui/input-group/input-group-button.svelte +49 -0
  451. acuity_core-0.2.0/acuity/web/src/lib/components/ui/input-group/input-group-input.svelte +23 -0
  452. acuity_core-0.2.0/acuity/web/src/lib/components/ui/input-group/input-group-text.svelte +22 -0
  453. acuity_core-0.2.0/acuity/web/src/lib/components/ui/input-group/input-group-textarea.svelte +23 -0
  454. acuity_core-0.2.0/acuity/web/src/lib/components/ui/input-group/input-group.svelte +38 -0
  455. acuity_core-0.2.0/acuity/web/src/lib/components/ui/label/index.ts +7 -0
  456. acuity_core-0.2.0/acuity/web/src/lib/components/ui/label/label.svelte +20 -0
  457. acuity_core-0.2.0/acuity/web/src/lib/components/ui/number-field/index.ts +19 -0
  458. acuity_core-0.2.0/acuity/web/src/lib/components/ui/number-field/number-field-decrement.svelte +55 -0
  459. acuity_core-0.2.0/acuity/web/src/lib/components/ui/number-field/number-field-group.svelte +25 -0
  460. acuity_core-0.2.0/acuity/web/src/lib/components/ui/number-field/number-field-increment.svelte +55 -0
  461. acuity_core-0.2.0/acuity/web/src/lib/components/ui/number-field/number-field-input.svelte +34 -0
  462. acuity_core-0.2.0/acuity/web/src/lib/components/ui/number-field/number-field.svelte +27 -0
  463. acuity_core-0.2.0/acuity/web/src/lib/components/ui/number-field/number-field.svelte.ts +174 -0
  464. acuity_core-0.2.0/acuity/web/src/lib/components/ui/number-field/types.ts +22 -0
  465. acuity_core-0.2.0/acuity/web/src/lib/components/ui/password/index.ts +7 -0
  466. acuity_core-0.2.0/acuity/web/src/lib/components/ui/password/password-copy.svelte +21 -0
  467. acuity_core-0.2.0/acuity/web/src/lib/components/ui/password/password-input.svelte +46 -0
  468. acuity_core-0.2.0/acuity/web/src/lib/components/ui/password/password-strength.svelte +48 -0
  469. acuity_core-0.2.0/acuity/web/src/lib/components/ui/password/password-toggle-visibility.svelte +32 -0
  470. acuity_core-0.2.0/acuity/web/src/lib/components/ui/password/password.svelte +26 -0
  471. acuity_core-0.2.0/acuity/web/src/lib/components/ui/password/password.svelte.ts +157 -0
  472. acuity_core-0.2.0/acuity/web/src/lib/components/ui/password/types.ts +47 -0
  473. acuity_core-0.2.0/acuity/web/src/lib/components/ui/popover/index.ts +19 -0
  474. acuity_core-0.2.0/acuity/web/src/lib/components/ui/popover/popover-close.svelte +7 -0
  475. acuity_core-0.2.0/acuity/web/src/lib/components/ui/popover/popover-content.svelte +31 -0
  476. acuity_core-0.2.0/acuity/web/src/lib/components/ui/popover/popover-portal.svelte +7 -0
  477. acuity_core-0.2.0/acuity/web/src/lib/components/ui/popover/popover-trigger.svelte +17 -0
  478. acuity_core-0.2.0/acuity/web/src/lib/components/ui/popover/popover.svelte +7 -0
  479. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/index.ts +40 -0
  480. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-caption.svelte +76 -0
  481. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-cell.svelte +19 -0
  482. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-day.svelte +39 -0
  483. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-grid-body.svelte +7 -0
  484. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-grid-head.svelte +7 -0
  485. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-grid-row.svelte +12 -0
  486. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-grid.svelte +16 -0
  487. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-head-cell.svelte +19 -0
  488. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-header.svelte +19 -0
  489. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-heading.svelte +16 -0
  490. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-month-select.svelte +44 -0
  491. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-month.svelte +15 -0
  492. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-months.svelte +19 -0
  493. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-nav.svelte +19 -0
  494. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-next-button.svelte +31 -0
  495. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-prev-button.svelte +31 -0
  496. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar-year-select.svelte +43 -0
  497. acuity_core-0.2.0/acuity/web/src/lib/components/ui/range-calendar/range-calendar.svelte +112 -0
  498. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/index.ts +37 -0
  499. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-content.svelte +45 -0
  500. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-group-heading.svelte +21 -0
  501. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-group.svelte +7 -0
  502. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-item.svelte +38 -0
  503. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-label.svelte +20 -0
  504. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-portal.svelte +7 -0
  505. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-scroll-down-button.svelte +20 -0
  506. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-scroll-up-button.svelte +20 -0
  507. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-separator.svelte +18 -0
  508. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select-trigger.svelte +29 -0
  509. acuity_core-0.2.0/acuity/web/src/lib/components/ui/select/select.svelte +11 -0
  510. acuity_core-0.2.0/acuity/web/src/lib/components/ui/separator/index.ts +7 -0
  511. acuity_core-0.2.0/acuity/web/src/lib/components/ui/separator/separator.svelte +21 -0
  512. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/index.ts +34 -0
  513. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet-close.svelte +7 -0
  514. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet-content.svelte +60 -0
  515. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet-description.svelte +17 -0
  516. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet-footer.svelte +20 -0
  517. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet-header.svelte +20 -0
  518. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet-overlay.svelte +20 -0
  519. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet-portal.svelte +7 -0
  520. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet-title.svelte +17 -0
  521. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet-trigger.svelte +7 -0
  522. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sheet/sheet.svelte +7 -0
  523. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/constants.ts +6 -0
  524. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/context.svelte.ts +81 -0
  525. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/index.ts +75 -0
  526. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-content.svelte +24 -0
  527. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-footer.svelte +21 -0
  528. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-group-action.svelte +36 -0
  529. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-group-content.svelte +21 -0
  530. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-group-label.svelte +34 -0
  531. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-group.svelte +21 -0
  532. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-header.svelte +21 -0
  533. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-input.svelte +21 -0
  534. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-inset.svelte +24 -0
  535. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-menu-action.svelte +43 -0
  536. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-menu-badge.svelte +29 -0
  537. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-menu-button.svelte +103 -0
  538. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-menu-item.svelte +21 -0
  539. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-menu-skeleton.svelte +36 -0
  540. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-menu-sub-button.svelte +43 -0
  541. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-menu-sub-item.svelte +21 -0
  542. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-menu-sub.svelte +25 -0
  543. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-menu.svelte +21 -0
  544. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-provider.svelte +53 -0
  545. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-rail.svelte +36 -0
  546. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-separator.svelte +19 -0
  547. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar-trigger.svelte +35 -0
  548. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sidebar/sidebar.svelte +104 -0
  549. acuity_core-0.2.0/acuity/web/src/lib/components/ui/skeleton/index.ts +7 -0
  550. acuity_core-0.2.0/acuity/web/src/lib/components/ui/skeleton/skeleton.svelte +17 -0
  551. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sonner/index.ts +1 -0
  552. acuity_core-0.2.0/acuity/web/src/lib/components/ui/sonner/sonner.svelte +39 -0
  553. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tags-input/index.ts +5 -0
  554. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tags-input/tags-input-suggestion.svelte +24 -0
  555. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tags-input/tags-input-tag.svelte +24 -0
  556. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tags-input/tags-input.svelte +362 -0
  557. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tags-input/types.ts +12 -0
  558. acuity_core-0.2.0/acuity/web/src/lib/components/ui/textarea/index.ts +7 -0
  559. acuity_core-0.2.0/acuity/web/src/lib/components/ui/textarea/textarea.svelte +23 -0
  560. acuity_core-0.2.0/acuity/web/src/lib/components/ui/theme-selector/index.ts +3 -0
  561. acuity_core-0.2.0/acuity/web/src/lib/components/ui/theme-selector/theme-selector.svelte +28 -0
  562. acuity_core-0.2.0/acuity/web/src/lib/components/ui/toggle/index.ts +13 -0
  563. acuity_core-0.2.0/acuity/web/src/lib/components/ui/toggle/toggle.svelte +52 -0
  564. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tooltip/index.ts +19 -0
  565. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tooltip/tooltip-content.svelte +52 -0
  566. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tooltip/tooltip-portal.svelte +7 -0
  567. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tooltip/tooltip-provider.svelte +7 -0
  568. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tooltip/tooltip-trigger.svelte +7 -0
  569. acuity_core-0.2.0/acuity/web/src/lib/components/ui/tooltip/tooltip.svelte +7 -0
  570. acuity_core-0.2.0/acuity/web/src/lib/hooks/is-mobile.svelte.ts +9 -0
  571. acuity_core-0.2.0/acuity/web/src/lib/hooks/use-clipboard.svelte.ts +99 -0
  572. acuity_core-0.2.0/acuity/web/src/lib/hooks/use-ramp.svelte.ts +76 -0
  573. acuity_core-0.2.0/acuity/web/src/lib/utils.ts +13 -0
  574. acuity_core-0.2.0/acuity/web/src/main.ts +11 -0
  575. acuity_core-0.2.0/acuity/web/stories/acUIty.mdx +6 -0
  576. acuity_core-0.2.0/acuity/web/stories/app/App.stories.svelte +27 -0
  577. acuity_core-0.2.0/acuity/web/stories/app/chat.output.txt +495 -0
  578. acuity_core-0.2.0/acuity/web/stories/app/data.ts +614 -0
  579. acuity_core-0.2.0/acuity/web/stories/app/routes.ts +416 -0
  580. acuity_core-0.2.0/acuity/web/stories/assets/accessibility.png +0 -0
  581. acuity_core-0.2.0/acuity/web/stories/assets/accessibility.svg +1 -0
  582. acuity_core-0.2.0/acuity/web/stories/assets/addon-library.png +0 -0
  583. acuity_core-0.2.0/acuity/web/stories/assets/assets.png +0 -0
  584. acuity_core-0.2.0/acuity/web/stories/assets/avif-test-image.avif +0 -0
  585. acuity_core-0.2.0/acuity/web/stories/assets/card_bkg_1.svg +1234 -0
  586. acuity_core-0.2.0/acuity/web/stories/assets/card_bkg_2.svg +2853 -0
  587. acuity_core-0.2.0/acuity/web/stories/assets/code-brackets.svg +1 -0
  588. acuity_core-0.2.0/acuity/web/stories/assets/context.png +0 -0
  589. acuity_core-0.2.0/acuity/web/stories/assets/discord.svg +1 -0
  590. acuity_core-0.2.0/acuity/web/stories/assets/docs.png +0 -0
  591. acuity_core-0.2.0/acuity/web/stories/assets/figma-plugin.png +0 -0
  592. acuity_core-0.2.0/acuity/web/stories/assets/github.svg +1 -0
  593. acuity_core-0.2.0/acuity/web/stories/assets/hexagon.svg +26 -0
  594. acuity_core-0.2.0/acuity/web/stories/assets/kafka.svg +17 -0
  595. acuity_core-0.2.0/acuity/web/stories/assets/share.png +0 -0
  596. acuity_core-0.2.0/acuity/web/stories/assets/styling.png +0 -0
  597. acuity_core-0.2.0/acuity/web/stories/assets/testing.png +0 -0
  598. acuity_core-0.2.0/acuity/web/stories/assets/theming.png +0 -0
  599. acuity_core-0.2.0/acuity/web/stories/assets/tutorials.svg +1 -0
  600. acuity_core-0.2.0/acuity/web/stories/assets/youtube.svg +1 -0
  601. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/Badge.stories.svelte +65 -0
  602. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/Button.stories.svelte +57 -0
  603. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/Button_Popover.stories.svelte +22 -0
  604. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/Button_Showcase.stories.svelte +113 -0
  605. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/Image.stories.svelte +41 -0
  606. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/MultipleToggle.stories.svelte +130 -0
  607. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/NumberInput.stories.svelte +37 -0
  608. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/PasswordInput.stories.svelte +33 -0
  609. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/SelectInput.stories.svelte +37 -0
  610. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/TagsInput.stories.svelte +37 -0
  611. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/TextInput.stories.svelte +37 -0
  612. acuity_core-0.2.0/acuity/web/stories/bricks/atoms/Title.stories.svelte +29 -0
  613. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/cards/CardGrid.stories.svelte +60 -0
  614. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/charts/AreaChart.stories.svelte +51 -0
  615. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/charts/BarChart.stories.svelte +82 -0
  616. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/charts/ForceSimulation.stories.svelte +94 -0
  617. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/charts/GlobeArcs.stories.svelte +55 -0
  618. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/charts/Network3D.stories.svelte +48 -0
  619. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/charts/PieChart.stories.svelte +64 -0
  620. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/chat/Chat.stories.svelte +61 -0
  621. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/chat/chat.output.txt +495 -0
  622. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/chat/chat.stream.ts +1907 -0
  623. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/form/Form.stories.svelte +320 -0
  624. acuity_core-0.2.0/acuity/web/stories/bricks/datalet/mock/Mock.stories.svelte +58 -0
  625. acuity_core-0.2.0/acuity/web/stories/bricks/molecules/Breadcrumb.stories.svelte +32 -0
  626. acuity_core-0.2.0/acuity/web/stories/bricks/molecules/Card.stories.svelte +113 -0
  627. acuity_core-0.2.0/acuity/web/stories/bricks/molecules/DropdownMenu.stories.svelte +62 -0
  628. acuity_core-0.2.0/acuity/web/stories/bricks/molecules/FormField.stories.svelte +50 -0
  629. acuity_core-0.2.0/acuity/web/stories/bricks/molecules/List.stories.svelte +43 -0
  630. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/ChatContainer.stories.svelte +24 -0
  631. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/DiagramEditor.stories.svelte +91 -0
  632. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/Grid.stories.svelte +17 -0
  633. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/Table_Showcase.stories.svelte +51 -0
  634. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/cards/CardsContainer.stories.svelte +22 -0
  635. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/charts/AreaChart.stories.svelte +22 -0
  636. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/charts/BarChart.stories.svelte +30 -0
  637. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/charts/ForceSimulation.stories.svelte +34 -0
  638. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/charts/Network3D.stories.svelte +41 -0
  639. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/charts/PieChart.stories.svelte +28 -0
  640. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/forms/Forms.stories.svelte +26 -0
  641. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/forms/metadata.ts +366 -0
  642. acuity_core-0.2.0/acuity/web/stories/bricks/organisms/forms/routes.ts +176 -0
  643. acuity_core-0.2.0/acuity/web/stories/bricks/pages/Pages.stories.svelte +42 -0
  644. acuity_core-0.2.0/acuity/web/stories/bricks/pages/routes.ts +169 -0
  645. acuity_core-0.2.0/acuity/web/stories/configure/Configure.mdx +364 -0
  646. acuity_core-0.2.0/acuity/web/stories/decorators/AppDecorator.svelte +33 -0
  647. acuity_core-0.2.0/acuity/web/stories/decorators/BrickDecorator.svelte +26 -0
  648. acuity_core-0.2.0/acuity/web/stories/decorators/CanvasDecorator.svelte +22 -0
  649. acuity_core-0.2.0/acuity/web/stories/decorators/CanvasPageDecorator.svelte +34 -0
  650. acuity_core-0.2.0/acuity/web/stories/decorators/ContainedSizeDecorator.svelte +13 -0
  651. acuity_core-0.2.0/acuity/web/stories/decorators/ContentletDecorator.svelte +77 -0
  652. acuity_core-0.2.0/acuity/web/stories/decorators/DefaultDecorator.svelte +13 -0
  653. acuity_core-0.2.0/acuity/web/stories/decorators/FullScreenDecorator.svelte +19 -0
  654. acuity_core-0.2.0/acuity/web/stories/decorators/MarginDecorator.svelte +13 -0
  655. acuity_core-0.2.0/acuity/web/stories/decorators/MarginOnlyDecorator.svelte +18 -0
  656. acuity_core-0.2.0/acuity/web/stories/decorators/MyDecorator.svelte +16 -0
  657. acuity_core-0.2.0/acuity/web/stories/decorators/PageDecorator.svelte +27 -0
  658. acuity_core-0.2.0/acuity/web/stories/decorators/PrimaryColorMarginDecorator.svelte +13 -0
  659. acuity_core-0.2.0/acuity/web/stories/decorators/ScrollMarginDecorator.svelte +16 -0
  660. acuity_core-0.2.0/acuity/web/stories/decorators/ScrollWhiteMarginDecorator.svelte +18 -0
  661. acuity_core-0.2.0/acuity/web/stories/decorators/SidebarMarginDecorator.svelte +16 -0
  662. acuity_core-0.2.0/acuity/web/stories/decorators/SliderResizeDecorator.svelte +73 -0
  663. acuity_core-0.2.0/acuity/web/stories/decorators/decorators_builders.svelte.ts +11 -0
  664. acuity_core-0.2.0/acuity/web/stories/mock/api/apimock.stories.svelte +164 -0
  665. acuity_core-0.2.0/acuity/web/stories/mock/api/bundles.js +83 -0
  666. acuity_core-0.2.0/acuity/web/stories/mock/api/charts/cylinder/data.js +31 -0
  667. acuity_core-0.2.0/acuity/web/stories/mock/api/charts/cylinder/meta.js +29 -0
  668. acuity_core-0.2.0/acuity/web/stories/mock/api/charts/solidgauge/data.js +59 -0
  669. acuity_core-0.2.0/acuity/web/stories/mock/api/charts/solidgauge/meta.js +92 -0
  670. acuity_core-0.2.0/acuity/web/stories/mock/api/demo.js +10 -0
  671. acuity_core-0.2.0/acuity/web/stories/mock/api/items.js +38 -0
  672. acuity_core-0.2.0/acuity/web/stories/mock/api/meshes.js +758 -0
  673. acuity_core-0.2.0/acuity/web/stories/mock/api/services.js +62 -0
  674. acuity_core-0.2.0/acuity/web/stories/mock/api/tree.js +205 -0
  675. acuity_core-0.2.0/acuity/web/stories/mock/common/routes.ts +175 -0
  676. acuity_core-0.2.0/acuity/web/stories/mock/decorators/MockSSE.svelte +57 -0
  677. acuity_core-0.2.0/acuity/web/stories/mock/decorators/mocksse.js +29 -0
  678. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/carddata.js +166 -0
  679. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/cards.js +99 -0
  680. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/charts.js +1432 -0
  681. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/codeshowcase.js +148 -0
  682. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/complextabledata.js +264 -0
  683. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/diagrameditor.js +843 -0
  684. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/floweditor.js +1837 -0
  685. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/flows.js +1203 -0
  686. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/forms.js +4109 -0
  687. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/grids.js +179 -0
  688. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/livedata.js +276 -0
  689. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/meshes.js +1210 -0
  690. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/notebook.js +70 -0
  691. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/propertieshero.js +350 -0
  692. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/tabledata.js +276 -0
  693. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/tables.js +90 -0
  694. acuity_core-0.2.0/acuity/web/stories/mock/seedroutes/tree.js +247 -0
  695. acuity_core-0.2.0/acuity/web/stories/mock/utils/formMetaFactory.js +191 -0
  696. acuity_core-0.2.0/acuity/web/stories/mock/utils/mockevent.js +275 -0
  697. acuity_core-0.2.0/acuity/web/stories/mock/utils/utils.js +9 -0
  698. acuity_core-0.2.0/acuity/web/svelte.config.js +5 -0
  699. acuity_core-0.2.0/acuity/web/tailwind.config.js +270 -0
  700. acuity_core-0.2.0/acuity/web/tsconfig.json +25 -0
  701. acuity_core-0.2.0/acuity/web/tsconfig.node.json +10 -0
  702. acuity_core-0.2.0/acuity/web/vite.config.ts +77 -0
  703. acuity_core-0.2.0/pyproject.toml +47 -0
@@ -0,0 +1,41 @@
1
+ Metadata-Version: 2.4
2
+ Name: acUIty-core
3
+ Version: 0.2.0
4
+ Summary: an opionated framework running data driven web apps
5
+ Author: Gaetano Ruggiero
6
+ Author-email: gaetano.ruggiero1@gmail.com
7
+ Requires-Python: >=3.9
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: Programming Language :: Python :: 3.9
10
+ Classifier: Programming Language :: Python :: 3.10
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Programming Language :: Python :: 3.14
15
+ Classifier: Programming Language :: Python :: 3.15
16
+ Requires-Dist: Jinja2 (==3.1.6)
17
+ Requires-Dist: click (>=8.1.3)
18
+ Requires-Dist: databricks-ai-bridge (==0.21.0)
19
+ Requires-Dist: databricks-ai-search (==0.76)
20
+ Requires-Dist: databricks-connect (==16.1.7)
21
+ Requires-Dist: databricks-mcp (==0.9.0)
22
+ Requires-Dist: databricks-openai (==0.17.0)
23
+ Requires-Dist: databricks-sdk (==0.94.0)
24
+ Requires-Dist: fastapi (==0.124.4)
25
+ Requires-Dist: numpy (==1.26.4)
26
+ Requires-Dist: openai (==2.38.0)
27
+ Requires-Dist: openai-agents (==0.18.1)
28
+ Requires-Dist: opentelemetry-api (==1.43.0)
29
+ Requires-Dist: opentelemetry-proto (==1.43.0)
30
+ Requires-Dist: opentelemetry-sdk (==1.43.0)
31
+ Requires-Dist: opentelemetry-semantic-conventions (==0.64b0)
32
+ Requires-Dist: pendulum (>=3.1.0,<4.0.0)
33
+ Requires-Dist: pydantic (==2.12.3)
34
+ Requires-Dist: pydantic_core (==2.41.4)
35
+ Requires-Dist: unitycatalog-openai (==0.2.0)
36
+ Requires-Dist: uvicorn (==0.38.0)
37
+ Description-Content-Type: text/markdown
38
+
39
+ # acuity
40
+
41
+ UI generator framework
@@ -0,0 +1,3 @@
1
+ # acuity
2
+
3
+ UI generator framework
@@ -0,0 +1,81 @@
1
+ ## acuity
2
+ import asyncio
3
+ import logging
4
+ import os
5
+ from typing import Optional
6
+
7
+ from acuity.model import DataletType
8
+ from acuity.app import app
9
+ from acuity.model._lucide import LucideIconName
10
+ from acuity.datalets.form._Form import _Form
11
+ from acuity.datalets.cards._CardGrid import _CardGrid
12
+ from acuity.datalets._Mock import _Mock
13
+ from acuity.runtime.stream._stream_handler import channel, Channel
14
+
15
+ logging.basicConfig(
16
+ level=getattr(logging, os.environ.get("ACUITY_LOG_LEVEL", "INFO").upper(), logging.INFO),
17
+ format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
18
+ )
19
+
20
+
21
+
22
+ def title(value: str):
23
+ app.title = value
24
+
25
+ def description(value: str):
26
+ app.description = value
27
+
28
+ def hideBreadcrumb():
29
+ app.breadcrumb_visible = False
30
+
31
+ def logo(image_path: str):
32
+ app.setup_logo(image_path)
33
+
34
+ def load_image(image_name: str, image_path: str):
35
+ app.load_image(image_name, image_path)
36
+
37
+ def create_page(menu_title: str, route_path: str, icon: Optional[LucideIconName] = "Box"):
38
+ return app.new_page(menu_title, route_path, icon=icon)
39
+
40
+ async def push_event(channel_name: str, data: dict):
41
+ ch = channel(channel_name)
42
+ await ch.push(data)
43
+
44
+ def push_event_sync(channel_name: str, data: dict):
45
+ loop = asyncio.get_event_loop()
46
+ asyncio.run_coroutine_threadsafe(push_event(channel_name, data), loop)
47
+
48
+ def create_datalet(datalet_type: DataletType):
49
+ return app.new_datalet(datalet_type)
50
+
51
+ def new_mock():
52
+ mock = _Mock()
53
+ app._add_datalet(mock)
54
+ return mock
55
+
56
+ def new_form(model=None, **kwargs):
57
+ """Create a form datalet; `model` is a pydantic class with Annotated form field markers."""
58
+ form = _Form(model, **kwargs)
59
+ app._add_datalet(form)
60
+ return form
61
+
62
+ def new_card_grid(**kwargs):
63
+ """Create a card grid datalet; the `@dl.data()` handler returns a list of `CardItem`."""
64
+ grid = _CardGrid(**kwargs)
65
+ app._add_datalet(grid)
66
+ return grid
67
+
68
+ __all__ = [
69
+ "title",
70
+ "description",
71
+ "hideBreadcrumb",
72
+ "logo",
73
+ "load_image",
74
+ "create_page",
75
+ "push_event_sync",
76
+ "create_datalet",
77
+ "new_form",
78
+ "new_card_grid",
79
+ "new_mock",
80
+ "DataletType"
81
+ ]
@@ -0,0 +1,19 @@
1
+ # __main__.py
2
+ import click
3
+
4
+ from . import commands
5
+
6
+ @click.group()
7
+ def cli():
8
+ pass
9
+
10
+ cli.add_command(commands.run)
11
+ cli.add_command(commands.watch)
12
+ cli.add_command(commands.add)
13
+ cli.add_command(commands.sub)
14
+ cli.add_command(commands.mul)
15
+ cli.add_command(commands.div)
16
+
17
+ # enables module to be run as a script
18
+ if __name__ == "__main__":
19
+ cli()
@@ -0,0 +1,5 @@
1
+ from acuity.model import App, DataletType
2
+
3
+ app = App()
4
+
5
+ __all__ = ["app"]
@@ -0,0 +1,4 @@
1
+ from ._chat_container import _new_chat_container as new_chat_container
2
+ from ._empty import _new_empty as new_empty
3
+
4
+ __all__ = ["new_chat_container", "new_empty"]
@@ -0,0 +1,3 @@
1
+ def _new_chat_container():
2
+ pass
3
+
@@ -0,0 +1,4 @@
1
+ from acuity.model import Datalet
2
+
3
+ def _new_empty():
4
+ return Datalet()
@@ -0,0 +1,43 @@
1
+ # commands.py
2
+
3
+ import click
4
+ from acuity import runtime
5
+
6
+
7
+ @click.command(help="Run acuity App")
8
+ @click.option("--port", default=8000, help="Port to run the app on.")
9
+ @click.argument("file_path", type=click.Path(exists=True))
10
+ def run(file_path, port):
11
+ runtime.run(file_path, port=port)
12
+ pass
13
+
14
+ @click.command(help="Watch acuity App")
15
+ @click.option("--port", default=8000, help="Port to watch the app on.")
16
+ @click.argument("file_path", type=click.Path(exists=True))
17
+ def watch(file_path, port):
18
+ runtime.watch(file_path, port=port)
19
+ pass
20
+
21
+ @click.command(help="Add two numbers.")
22
+ @click.argument("a", type=click.FLOAT)
23
+ @click.argument("b", type=click.FLOAT)
24
+ def add(a, b):
25
+ click.echo(a + b)
26
+
27
+ @click.command(help="Subtract two numbers.")
28
+ @click.argument("a", type=click.FLOAT)
29
+ @click.argument("b", type=click.FLOAT)
30
+ def sub(a, b):
31
+ click.echo(a - b)
32
+
33
+ @click.command(help="Multiply two numbers.")
34
+ @click.argument("a", type=click.FLOAT)
35
+ @click.argument("b", type=click.FLOAT)
36
+ def mul(a, b):
37
+ click.echo(a * b)
38
+
39
+ @click.command(help="Divide two numbers.")
40
+ @click.argument("a", type=click.FLOAT)
41
+ @click.argument("b", type=click.FLOAT)
42
+ def div(a, b):
43
+ click.echo(a / b)
@@ -0,0 +1,15 @@
1
+ from typing import Dict, Any
2
+
3
+ from acuity.model._datalet import _Datalet, _DataletType
4
+
5
+
6
+ class _Mock(_Datalet):
7
+
8
+ def __init__(self):
9
+ super().__init__(_DataletType.MOCK)
10
+
11
+ def metadata(self) -> Dict[str, Any]:
12
+ return {
13
+ "name": "Mock",
14
+ "description": "A mock datalet for testing purposes.",
15
+ }
File without changes
@@ -0,0 +1,20 @@
1
+ from typing import Any, Dict, List
2
+ from acuity.model._datalet import _Datalet, _DataletType
3
+ from acuity.datalets.cards._model import _CardItem
4
+
5
+
6
+ class _CardGrid(_Datalet[List[_CardItem]]):
7
+ """Python binder of the CardGrid datalet; the data handler returns the list of cards."""
8
+
9
+ title: str = ""
10
+
11
+ def __init__(self, title: str = ""):
12
+ super().__init__(_DataletType.CARD_GRID)
13
+ self.title = title
14
+
15
+ def with_title(self, title: str) -> "_CardGrid":
16
+ self.title = title
17
+ return self
18
+
19
+ def metadata(self) -> Dict[str, Any]:
20
+ return {"title": self.title}
@@ -0,0 +1,6 @@
1
+ from acuity.datalets.cards._model import (
2
+ _CardItem as CardItem,
3
+ _CardKpi as CardKpi,
4
+ )
5
+
6
+ __all__ = ["CardItem", "CardKpi"]
@@ -0,0 +1,18 @@
1
+ from typing import List, Optional, Union
2
+ from pydantic import BaseModel, Field
3
+
4
+
5
+ class _CardKpi(BaseModel):
6
+ label: str
7
+ value: Union[str, int, float]
8
+ trend: Optional[float]
9
+
10
+
11
+ class _CardItem(BaseModel):
12
+ """Card shown by the CardGrid datalet (mirrors CardItem in CardsContainer.svelte)."""
13
+ id: Optional[Union[str, int]] = None
14
+ title: str
15
+ description: Optional[str] = None
16
+ image: Optional[str] = None
17
+ kpis: List[_CardKpi] = Field(default_factory=list)
18
+ tags: List[str] = Field(default_factory=list)
@@ -0,0 +1,143 @@
1
+ from typing import Any, Dict, List, Optional, Type
2
+ from pydantic import BaseModel, Field
3
+ from pydantic_core import PydanticUndefined
4
+ from acuity.model._datalet import _Datalet, _DataletType
5
+ from acuity.datalets.form._markers import FormField, Group
6
+
7
+
8
+ class _Form(_Datalet[BaseModel]):
9
+ """Datalet describing a form; `to_json()` yields the same structure as
10
+ web/stories/bricks/organisms/forms/metadata.ts (fluent/functional builder)."""
11
+
12
+ title: str = ""
13
+ abstract: str = ""
14
+ lock_unlock: bool = False
15
+ tabs: List[Any] = Field(default_factory=list)
16
+ defaults: Dict[str, Any] = Field(default_factory=dict)
17
+ validation_schema: Dict[str, Any] = Field(default_factory=dict)
18
+ groups: List[Dict[str, Any]] = Field(default_factory=list)
19
+ submit_label: Optional[str] = None
20
+ cancel_label: Optional[str] = None
21
+
22
+ def __init__(self, model: Optional[Type[BaseModel]] = None, title: str = "", abstract: str = "",
23
+ lock_unlock: bool = False):
24
+ """Create a form, optionally from a pydantic class whose fields are annotated with
25
+ `acuity.datalets._form` markers, e.g. `domain: Annotated[str, Select(group="target")]`.
26
+ Fields without a marker are ignored; field defaults become form defaults."""
27
+ super().__init__(_DataletType.FORM)
28
+ self.title = title
29
+ self.abstract = abstract
30
+ self.lock_unlock = lock_unlock
31
+ if model is not None:
32
+ self.from_model(model)
33
+
34
+ def from_model(self, model: Type[BaseModel]) -> "_Form":
35
+ for name, info in model.model_fields.items():
36
+ group = next((m for m in info.metadata if isinstance(m, Group)), None)
37
+ gtype = info.annotation
38
+ if group is not None and isinstance(gtype, type) and issubclass(gtype, BaseModel):
39
+ gname = group.name or name
40
+ self.add_group(gname, group.title, group.description)
41
+ self._from_fields(gtype, gname)
42
+ self._from_fields(model, None)
43
+ return self
44
+
45
+ def _from_fields(self, model: Type[BaseModel], group: Optional[str]) -> None:
46
+ for name, info in model.model_fields.items():
47
+ marker = next((m for m in info.metadata if isinstance(m, FormField)), None)
48
+ if marker is None:
49
+ continue
50
+ gname = group if group is not None else marker.group
51
+ self.add_field(
52
+ gname, name, type=marker.type, label=marker.label, placeholder=marker.placeholder,
53
+ cols=marker.cols, options=getattr(marker, "options", None), attributes=marker.attributes,
54
+ remote=marker.remote, depends_on=marker.depends_on, params=marker.params)
55
+ if info.default is not PydanticUndefined and info.default is not None:
56
+ self.with_defaults(gname, {name: info.default})
57
+
58
+ def with_title(self, title: str) -> "_Form":
59
+ self.title = title
60
+ return self
61
+
62
+ def with_abstract(self, abstract: str) -> "_Form":
63
+ self.abstract = abstract
64
+ return self
65
+
66
+ def with_lock_unlock(self, value: bool = True) -> "_Form":
67
+ self.lock_unlock = value
68
+ return self
69
+
70
+ def withSubmitLabel(self, label: str) -> "_Form":
71
+ self.submit_label = label
72
+ return self
73
+
74
+ def withCancelLabel(self, label: str) -> "_Form":
75
+ self.cancel_label = label
76
+ return self
77
+
78
+ def with_defaults(self, group: str, values: Dict[str, Any]) -> "_Form":
79
+ self.defaults.setdefault(group, {}).update(values)
80
+ return self
81
+
82
+ def with_validation_schema(self, schema: Dict[str, Any]) -> "_Form":
83
+ self.validation_schema = schema
84
+ return self
85
+
86
+ def add_group(self, name: str, title: Optional[str] = None, description: str = "",
87
+ fields: Optional[List[Dict[str, Any]]] = None) -> "_Form":
88
+ self.groups.append({
89
+ "name": name,
90
+ "title": title if title is not None else name,
91
+ "description": description,
92
+ "fields": list(fields or []),
93
+ })
94
+ return self
95
+
96
+ def add_field(self, group: str, name: str, type: str = "text", label: Optional[str] = None,
97
+ placeholder: str = "", cols: int = 2, options: Optional[List[Dict[str, Any]]] = None,
98
+ attributes: Optional[Dict[str, Any]] = None, remote: Optional[bool] = None,
99
+ depends_on: Optional[List[str]] = None, params: Optional[List[str]] = None) -> "_Form":
100
+ field: Dict[str, Any] = {
101
+ "name": name,
102
+ "type": type,
103
+ "label": label if label is not None else name,
104
+ "placeholder": placeholder,
105
+ "cols": cols,
106
+ }
107
+ if options is not None:
108
+ field["options"] = options
109
+ if attributes is not None:
110
+ field["attributes"] = attributes
111
+ if remote is not None:
112
+ field["remote"] = remote
113
+ if depends_on is not None:
114
+ field["dependsOn"] = depends_on
115
+ if params is not None:
116
+ field["params"] = params
117
+
118
+ target = next((g for g in self.groups if g["name"] == group), None)
119
+ if target is None:
120
+ self.add_group(group)
121
+ target = self.groups[-1]
122
+ target["fields"].append(field)
123
+ return self
124
+
125
+ def metadata(self) -> Dict[str, Any]:
126
+ """Return the form metadata structure expected by the web Form brick."""
127
+ meta: Dict[str, Any] = {
128
+ "title": self.title,
129
+ "abstract": self.abstract,
130
+ "lockUnlock": self.lock_unlock,
131
+ "tabs": list(self.tabs),
132
+ "validationSchema": self.validation_schema,
133
+ "groups": self.groups,
134
+ }
135
+ actions: Dict[str, Any] = {}
136
+ if self.submit_label is not None:
137
+ actions["submitLabel"] = self.submit_label
138
+ if self.cancel_label is not None:
139
+ actions["cancelLabel"] = self.cancel_label
140
+ if actions:
141
+ meta["actions"] = actions
142
+ return meta
143
+
@@ -0,0 +1,10 @@
1
+ from acuity.datalets.form._markers import (
2
+ Group, FormField, Text, Email, Secret, Number, Date, DateTime, TextArea, Select, Combo, MultiCombo,
3
+ )
4
+
5
+ from acuity.datalets.form._model import (
6
+ _FormItemOption as FormItemOption,
7
+ )
8
+
9
+ __all__ = ["Group", "FormField", "Text", "Email", "Secret", "Number", "Date", "DateTime",
10
+ "TextArea", "Select", "Combo", "MultiCombo", "FormItemOption"]
@@ -0,0 +1,82 @@
1
+ from dataclasses import dataclass, field
2
+ from typing import Any, ClassVar, Dict, List, Optional
3
+
4
+ from acuity.datalets.form._model import _FormItemOption
5
+
6
+
7
+ @dataclass(frozen=True)
8
+ class Group:
9
+ """`Annotated` marker declaring a form group. The annotated type is a pydantic class whose
10
+ fields carry `FormField` markers, e.g. `user: Annotated[User, Group('user', 'User', 'who')]`.
11
+ `name` defaults to the attribute name and `title` to the name."""
12
+ name: Optional[str] = None
13
+ title: Optional[str] = None
14
+ description: str = ""
15
+
16
+
17
+ @dataclass(frozen=True)
18
+ class FormField:
19
+ """Base `Annotated` marker describing a form field (see metadata.ts)."""
20
+ type: ClassVar[str] = "text"
21
+ label: Optional[str] = None
22
+ placeholder: str = ""
23
+ cols: int = 2
24
+ attributes: Optional[Dict[str, Any]] = None
25
+ remote: Optional[bool] = None
26
+ depends_on: Optional[List[str]] = None
27
+ params: Optional[List[str]] = None
28
+
29
+
30
+ @dataclass(frozen=True)
31
+ class Text(FormField):
32
+ type: ClassVar[str] = "text"
33
+
34
+
35
+ @dataclass(frozen=True)
36
+ class Email(FormField):
37
+ type: ClassVar[str] = "email"
38
+
39
+
40
+ @dataclass(frozen=True)
41
+ class Secret(FormField):
42
+ type: ClassVar[str] = "secret"
43
+
44
+
45
+ @dataclass(frozen=True)
46
+ class Number(FormField):
47
+ type: ClassVar[str] = "number"
48
+
49
+
50
+ @dataclass(frozen=True)
51
+ class Date(FormField):
52
+ type: ClassVar[str] = "date"
53
+
54
+
55
+ @dataclass(frozen=True)
56
+ class DateTime(FormField):
57
+ type: ClassVar[str] = "datetime"
58
+
59
+
60
+ @dataclass(frozen=True)
61
+ class TextArea(FormField):
62
+ type: ClassVar[str] = "textarea"
63
+ cols: int = 4
64
+
65
+
66
+ @dataclass(frozen=True)
67
+ class Select(FormField):
68
+ type: ClassVar[str] = "select"
69
+ options: Optional[List[_FormItemOption]] = None
70
+
71
+
72
+ @dataclass(frozen=True)
73
+ class Combo(Select):
74
+ type: ClassVar[str] = "combo"
75
+
76
+
77
+ @dataclass(frozen=True)
78
+ class MultiCombo(Select):
79
+ type: ClassVar[str] = "multicombo"
80
+
81
+
82
+ FIELD_MARKERS = (Text, Email, Secret, Number, Date, DateTime, TextArea, Select, Combo, MultiCombo)
@@ -0,0 +1,10 @@
1
+ from pydantic import BaseModel
2
+
3
+
4
+ class _FormItemOption(BaseModel):
5
+ value: str
6
+ label: str
7
+
8
+
9
+ class FormI:
10
+ pass
@@ -0,0 +1,6 @@
1
+ # acuity app singleton
2
+ from ._app import _App as App
3
+ from ._datalet import _Datalet as Datalet
4
+ from ._datalet import _DataletType as DataletType
5
+
6
+ __all__ = ["Datalet", "App", "DataletType"]
@@ -0,0 +1,7 @@
1
+ from pydantic import BaseModel
2
+
3
+
4
+ class AgentRespChunk(BaseModel):
5
+ type: str
6
+ id: str
7
+ item_id: str
@@ -0,0 +1,104 @@
1
+ ## acuity app properties modifiers
2
+ from enum import Enum
3
+ from typing import Any
4
+
5
+ from pydantic import BaseModel, PrivateAttr, computed_field
6
+ from acuity.model._lucide import LucideIconName
7
+ from acuity.model._datalet import _Datalet, _DataletType
8
+ from acuity.model._page import _Page
9
+ import uuid
10
+
11
+ class _ImageType(Enum):
12
+ LOGO = "logo"
13
+ FAVICON = "favicon"
14
+ BANNER = "banner"
15
+ GENERIC = "generic"
16
+
17
+ class _App(BaseModel):
18
+ """App class represents the main application configuration and properties.
19
+ Handles core application settings and validates their values.
20
+ """
21
+ title: str = "acUIty App"
22
+ description: str = "lorem ipsum"
23
+ breadcrumb_visible: bool = True
24
+
25
+ _datalets: dict[str, _Datalet] = {}
26
+ _pages: dict[str, _Page] = {}
27
+ _images: dict[_ImageType, Any] = {
28
+ _ImageType.LOGO: None,
29
+ _ImageType.FAVICON: None,
30
+ _ImageType.BANNER: None,
31
+ _ImageType.GENERIC: {}
32
+ }
33
+
34
+ def datalet_by_id(self, datalet_id: str):
35
+ return self._datalets[datalet_id]
36
+
37
+ @computed_field
38
+ @property
39
+ def datalets(self) -> list[_Datalet]:
40
+ """Returns the list of datalets from the internal datalets dictionary."""
41
+ return [datalet.model_dump() for datalet in self._datalets.values()]
42
+
43
+ @computed_field
44
+ @property
45
+ def pages(self) -> list[_Page]:
46
+ """Returns the list of pages from the internal pages dictionary."""
47
+ return [page.model_dump(exclude={'panels'}) for page in self._pages.values()]
48
+
49
+ @computed_field
50
+ @property
51
+ def images(self) -> dict[str, str | dict[str, str]]:
52
+ """Returns the icons dictionary with transformed image paths."""
53
+ result = {}
54
+ for key, value in self._images.items():
55
+ if key == _ImageType.LOGO:
56
+ result["logo"] = "/image/logo"
57
+ elif key == _ImageType.FAVICON:
58
+ result["favicon"] = "/image/favicon"
59
+ elif key == _ImageType.BANNER:
60
+ result["banner"] = "/image/banner"
61
+ elif key == _ImageType.GENERIC:
62
+ result["generic"] = {
63
+ image_name: f"/image/generic/{image_name}"
64
+ for image_name in value.keys()
65
+ }
66
+ return result
67
+
68
+ def new_page(self, title: str, route_path: str, icon: LucideIconName) -> _Page:
69
+ """Create a new page with the given name and return it."""
70
+
71
+ page_id = f"page_{uuid.uuid4().hex[:8]}"
72
+
73
+ page = _Page(page_id=page_id, title=title, route_path=route_path, icon=icon)
74
+ self._pages[page_id] = page
75
+ return page
76
+
77
+ def _add_datalet(self, datalet: _Datalet) -> _Datalet:
78
+ datalet_id = datalet.id
79
+ self._datalets[datalet_id] = datalet
80
+ return datalet
81
+
82
+ def new_datalet(self, datalet_type: _DataletType) -> _Datalet:
83
+ """Create a new datalet with the given type."""
84
+
85
+ datalet_id = f"datalet_{uuid.uuid4().hex[:8]}"
86
+
87
+ datalet = _Datalet(datalet_id=datalet_id, datalet_type=datalet_type)
88
+ self._datalets[datalet_id] = datalet
89
+ return datalet
90
+
91
+ def load_image(self, image_name: str, image_path: str):
92
+ self._images[_ImageType.GENERIC][image_name] = image_path
93
+
94
+ def setup_logo(self, image_path):
95
+ self._images[_ImageType.LOGO] = image_path
96
+
97
+ def image_registry(self) -> dict[str, str]:
98
+ return self._images[_ImageType.GENERIC]
99
+
100
+ def image_path(self, image_type: _ImageType) -> str:
101
+ if image_type == _ImageType.GENERIC:
102
+ raise ValueError(f"a single image path by image type {image_type} cannot be retrieved")
103
+ return self._images[image_type]
104
+