@stacksjs/defaults 0.70.54

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 (286) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +2 -0
  3. package/package.json +20 -0
  4. package/resources/assets/fonts/013717e9.woff +0 -0
  5. package/resources/assets/fonts/03355817.woff2 +0 -0
  6. package/resources/assets/fonts/0380de7e.woff2 +0 -0
  7. package/resources/assets/fonts/0ba5d32a.woff +0 -0
  8. package/resources/assets/fonts/0bd57ddf.woff2 +0 -0
  9. package/resources/assets/fonts/19de0a60.woff2 +0 -0
  10. package/resources/assets/fonts/20b87e84.woff +0 -0
  11. package/resources/assets/fonts/4bbc67e1.woff +0 -0
  12. package/resources/assets/fonts/576fb0d7.woff +0 -0
  13. package/resources/assets/fonts/5ea10ee5.woff2 +0 -0
  14. package/resources/assets/fonts/6413fc0a.woff +0 -0
  15. package/resources/assets/fonts/72c114cf.woff +0 -0
  16. package/resources/assets/fonts/73c57e73.woff2 +0 -0
  17. package/resources/assets/fonts/813dca6c.woff +0 -0
  18. package/resources/assets/fonts/8a9b0995.woff2 +0 -0
  19. package/resources/assets/fonts/90b4832f.woff +0 -0
  20. package/resources/assets/fonts/9394ab85.woff2 +0 -0
  21. package/resources/assets/fonts/9b3c7d7f.woff2 +0 -0
  22. package/resources/assets/fonts/Monaco.ttf +0 -0
  23. package/resources/assets/fonts/b1b36d74.woff +0 -0
  24. package/resources/assets/fonts/b5d74798.woff2 +0 -0
  25. package/resources/assets/fonts/b9f81a4d.woff +0 -0
  26. package/resources/assets/fonts/c9784008.woff2 +0 -0
  27. package/resources/assets/fonts/cf692227.woff +0 -0
  28. package/resources/assets/fonts/d1c6ab51.woff2 +0 -0
  29. package/resources/assets/fonts/e2eb62fc.woff +0 -0
  30. package/resources/assets/fonts/fe21f8d8.woff2 +0 -0
  31. package/resources/assets/fonts/nps/CampmateScript-Regular.woff2 +0 -0
  32. package/resources/assets/fonts/nps/NPS_2026-variable.woff2 +0 -0
  33. package/resources/assets/fonts/nps/RedwoodSerif-Regular.woff2 +0 -0
  34. package/resources/assets/fonts/nps/SequoiaSans-Regular.woff2 +0 -0
  35. package/resources/assets/fonts/nps/Switchback-Regular.woff2 +0 -0
  36. package/resources/assets/images/app-icon.png +0 -0
  37. package/resources/assets/images/bg-img.png +0 -0
  38. package/resources/assets/images/park-ridge.svg +15 -0
  39. package/resources/assets/images/topography.svg +1 -0
  40. package/resources/assets/scripts/main.ts +2153 -0
  41. package/resources/assets/styles/README.md +19 -0
  42. package/resources/assets/styles/docs/main.css +1 -0
  43. package/resources/assets/styles/docs/overrides.css +1 -0
  44. package/resources/assets/styles/docs/vars.css +8 -0
  45. package/resources/assets/styles/main.css +1419 -0
  46. package/resources/components/Button.stx +70 -0
  47. package/resources/components/Buttons/BaseButton.stx +39 -0
  48. package/resources/components/Buttons/Counter.stx +28 -0
  49. package/resources/components/Buttons/ToggleDark.stx +11 -0
  50. package/resources/components/Container.stx +10 -0
  51. package/resources/components/Dashboard/.gitkeep +0 -0
  52. package/resources/components/Dashboard/Auth/ForgotPassword.stx +127 -0
  53. package/resources/components/Dashboard/Auth/Login.stx +212 -0
  54. package/resources/components/Dashboard/Auth/Register.stx +306 -0
  55. package/resources/components/Dashboard/Avatar.stx +123 -0
  56. package/resources/components/Dashboard/Billing/ActivePlan.stx +57 -0
  57. package/resources/components/Dashboard/Billing/CardBrands.stx +32 -0
  58. package/resources/components/Dashboard/Billing/CardForm.stx +34 -0
  59. package/resources/components/Dashboard/Billing/OneTimePayment.stx +28 -0
  60. package/resources/components/Dashboard/Billing/PaymentForm.stx +33 -0
  61. package/resources/components/Dashboard/Billing/PaymentMethod.stx +66 -0
  62. package/resources/components/Dashboard/Billing/PaymentMethodList.stx +52 -0
  63. package/resources/components/Dashboard/Billing/Plans.stx +136 -0
  64. package/resources/components/Dashboard/Buttons/AppButton.stx +48 -0
  65. package/resources/components/Dashboard/Buttons/IconButton.stx +20 -0
  66. package/resources/components/Dashboard/Card.stx +78 -0
  67. package/resources/components/Dashboard/Chart.stx +75 -0
  68. package/resources/components/Dashboard/CodeEditor.stx +41 -0
  69. package/resources/components/Dashboard/Commerce/BulkActionBar.stx +70 -0
  70. package/resources/components/Dashboard/Commerce/CategoriesTable.stx +133 -0
  71. package/resources/components/Dashboard/Commerce/CouponsTable.stx +161 -0
  72. package/resources/components/Dashboard/Commerce/CustomersTable.stx +142 -0
  73. package/resources/components/Dashboard/Commerce/Delivery/DeliveryRoutesTable.stx +80 -0
  74. package/resources/components/Dashboard/Commerce/Delivery/DigitalDeliveryTable.stx +85 -0
  75. package/resources/components/Dashboard/Commerce/Delivery/DriversTable.stx +99 -0
  76. package/resources/components/Dashboard/Commerce/Delivery/LicenseKeysTable.stx +92 -0
  77. package/resources/components/Dashboard/Commerce/Delivery/LicenseTemplatesTable.stx +88 -0
  78. package/resources/components/Dashboard/Commerce/Delivery/Pagination.stx +122 -0
  79. package/resources/components/Dashboard/Commerce/Delivery/SearchFilter.stx +23 -0
  80. package/resources/components/Dashboard/Commerce/Delivery/ShippingMethodsTable.stx +80 -0
  81. package/resources/components/Dashboard/Commerce/Delivery/ShippingRatesTable.stx +59 -0
  82. package/resources/components/Dashboard/Commerce/Delivery/ShippingZonesTable.stx +71 -0
  83. package/resources/components/Dashboard/Commerce/Delivery/TabNavigation.stx +36 -0
  84. package/resources/components/Dashboard/Commerce/Forms/CouponsForm.stx +191 -0
  85. package/resources/components/Dashboard/Commerce/OrdersTable.stx +131 -0
  86. package/resources/components/Dashboard/Commerce/ProductsTable.stx +170 -0
  87. package/resources/components/Dashboard/CreateRecordModal.stx +363 -0
  88. package/resources/components/Dashboard/DashboardLayout.stx +155 -0
  89. package/resources/components/Dashboard/Deployments/ActivityFeed.stx +54 -0
  90. package/resources/components/Dashboard/Deployments/DeployScript.stx +23 -0
  91. package/resources/components/Dashboard/Deployments/DeploymentHistory.stx +97 -0
  92. package/resources/components/Dashboard/Deployments/DeploymentList.stx +94 -0
  93. package/resources/components/Dashboard/Deployments/LiveTerminalOutput.stx +18 -0
  94. package/resources/components/Dashboard/Elements/Dropdown.stx +57 -0
  95. package/resources/components/Dashboard/Email/EmailActivityChart.stx +111 -0
  96. package/resources/components/Dashboard/Email/EmailCompose.stx +72 -0
  97. package/resources/components/Dashboard/Email/EmailDetail.stx +105 -0
  98. package/resources/components/Dashboard/Email/EmailList.stx +117 -0
  99. package/resources/components/Dashboard/Email/EmailSearch.stx +40 -0
  100. package/resources/components/Dashboard/Email/EmailSidebar.stx +133 -0
  101. package/resources/components/Dashboard/GlobalSearch.stx +124 -0
  102. package/resources/components/Dashboard/MobileSidebar.stx +47 -0
  103. package/resources/components/Dashboard/Modals/BaseModal.stx +50 -0
  104. package/resources/components/Dashboard/Modals/Popups/Alert.stx +112 -0
  105. package/resources/components/Dashboard/Modals/Popups/Toast.stx +70 -0
  106. package/resources/components/Dashboard/Modals/ToastWrapper.stx +35 -0
  107. package/resources/components/Dashboard/Monitoring/ErrorDetailModal.stx +228 -0
  108. package/resources/components/Dashboard/Monitoring/ErrorsTable.stx +184 -0
  109. package/resources/components/Dashboard/Navbar.stx +194 -0
  110. package/resources/components/Dashboard/NavbarModern.stx +188 -0
  111. package/resources/components/Dashboard/NotificationErrorModal.stx +105 -0
  112. package/resources/components/Dashboard/NotificationStatusBadge.stx +20 -0
  113. package/resources/components/Dashboard/Pagination.stx +90 -0
  114. package/resources/components/Dashboard/Queue/QueueTable.stx +127 -0
  115. package/resources/components/Dashboard/Settings/Forms/AIForm.stx +126 -0
  116. package/resources/components/Dashboard/Settings/Forms/AnalyticsForm.stx +52 -0
  117. package/resources/components/Dashboard/Settings/Forms/AppForm.stx +157 -0
  118. package/resources/components/Dashboard/Settings/Forms/CLIForm.stx +66 -0
  119. package/resources/components/Dashboard/Settings/Forms/CacheForm.stx +253 -0
  120. package/resources/components/Dashboard/Settings/Forms/CloudForm.stx +441 -0
  121. package/resources/components/Dashboard/Settings/Forms/DNSForm.stx +307 -0
  122. package/resources/components/Dashboard/Settings/Forms/DatabaseForm.stx +168 -0
  123. package/resources/components/Dashboard/Settings/Forms/EmailForm.stx +100 -0
  124. package/resources/components/Dashboard/Settings/Forms/FileSystemForm.stx +259 -0
  125. package/resources/components/Dashboard/Settings/Forms/HashingForm.stx +119 -0
  126. package/resources/components/Dashboard/Settings/Forms/LibraryForm.stx +389 -0
  127. package/resources/components/Dashboard/Settings/Forms/QueueForm.stx +219 -0
  128. package/resources/components/Dashboard/Settings/Forms/SearchEngineForm.stx +48 -0
  129. package/resources/components/Dashboard/Settings/Forms/SecurityForm.stx +143 -0
  130. package/resources/components/Dashboard/Settings/Forms/ServicesForm.stx +194 -0
  131. package/resources/components/Dashboard/Settings/Forms/StorageForm.stx +191 -0
  132. package/resources/components/Dashboard/Settings/Forms/TeamsForm.stx +33 -0
  133. package/resources/components/Dashboard/Settings/SettingsFormManager.stx +181 -0
  134. package/resources/components/Dashboard/SettingsHeader.stx +88 -0
  135. package/resources/components/Dashboard/SettingsSidebar.stx +234 -0
  136. package/resources/components/Dashboard/Sidebar.stx +23 -0
  137. package/resources/components/Dashboard/SidebarModern.stx +249 -0
  138. package/resources/components/Dashboard/Skeleton/LoadingCard.stx +15 -0
  139. package/resources/components/Dashboard/Skeleton/LoadingDetails.stx +26 -0
  140. package/resources/components/Dashboard/Table.stx +82 -0
  141. package/resources/components/Dashboard/TerminalContainer.stx +97 -0
  142. package/resources/components/Dashboard/Tooltip.stx +166 -0
  143. package/resources/components/Dashboard/Transaction/index.stx +88 -0
  144. package/resources/components/Dashboard/UI/ActivityTable.stx +54 -0
  145. package/resources/components/Dashboard/UI/Avatar.stx +102 -0
  146. package/resources/components/Dashboard/UI/Badge.stx +66 -0
  147. package/resources/components/Dashboard/UI/Button.stx +73 -0
  148. package/resources/components/Dashboard/UI/Card.stx +51 -0
  149. package/resources/components/Dashboard/UI/ChartCard.stx +36 -0
  150. package/resources/components/Dashboard/UI/Checkbox.stx +74 -0
  151. package/resources/components/Dashboard/UI/ConfirmDialog.stx +74 -0
  152. package/resources/components/Dashboard/UI/DataTable.stx +45 -0
  153. package/resources/components/Dashboard/UI/Dropdown.stx +72 -0
  154. package/resources/components/Dashboard/UI/DropdownItem.stx +80 -0
  155. package/resources/components/Dashboard/UI/EmptyState.stx +50 -0
  156. package/resources/components/Dashboard/UI/FilterBar.stx +48 -0
  157. package/resources/components/Dashboard/UI/Input.stx +77 -0
  158. package/resources/components/Dashboard/UI/Modal.stx +75 -0
  159. package/resources/components/Dashboard/UI/PageHeader.stx +69 -0
  160. package/resources/components/Dashboard/UI/PageLayout.stx +84 -0
  161. package/resources/components/Dashboard/UI/Pagination.stx +126 -0
  162. package/resources/components/Dashboard/UI/QuickLinks.stx +31 -0
  163. package/resources/components/Dashboard/UI/RouterLink.stx +31 -0
  164. package/resources/components/Dashboard/UI/Select.stx +84 -0
  165. package/resources/components/Dashboard/UI/ServiceHealth.stx +38 -0
  166. package/resources/components/Dashboard/UI/StatsCard.stx +79 -0
  167. package/resources/components/Dashboard/UI/Table.stx +143 -0
  168. package/resources/components/Dashboard/UI/Tabs.stx +45 -0
  169. package/resources/components/Dashboard/UI/Textarea.stx +93 -0
  170. package/resources/components/Dashboard/UI/Toggle.stx +84 -0
  171. package/resources/components/Dashboard/UI/WindowControls.stx +135 -0
  172. package/resources/components/Dashboard/Widget.stx +89 -0
  173. package/resources/components/Dashboard/WindowControls.stx +119 -0
  174. package/resources/components/Dashboard/index.ts +106 -0
  175. package/resources/components/Docs/Demo/ComboboxCode.md +114 -0
  176. package/resources/components/Docs/Demo/ComboboxDemo.stx +91 -0
  177. package/resources/components/Docs/Demo/DialogCode.md +42 -0
  178. package/resources/components/Docs/Demo/DialogDemo.stx +76 -0
  179. package/resources/components/Docs/Demo/DocsPlayground.stx +39 -0
  180. package/resources/components/Docs/Demo/DropdownCode.md +109 -0
  181. package/resources/components/Docs/Demo/DropdownDemo.stx +82 -0
  182. package/resources/components/Docs/Demo/Hero.stx +100 -0
  183. package/resources/components/Docs/Demo/ListboxCode.md +87 -0
  184. package/resources/components/Docs/Demo/ListboxDemo.stx +59 -0
  185. package/resources/components/Docs/Demo/NotificationCode.md +173 -0
  186. package/resources/components/Docs/Demo/NotificationDemo.stx +99 -0
  187. package/resources/components/Docs/Demo/PopoverCode.md +161 -0
  188. package/resources/components/Docs/Demo/PopoverDemo.stx +96 -0
  189. package/resources/components/Docs/Demo/RadioGroupCode.md +98 -0
  190. package/resources/components/Docs/Demo/RadioGroupDemo.stx +53 -0
  191. package/resources/components/Docs/Demo/StepperCode.md +216 -0
  192. package/resources/components/Docs/Demo/StepperDemo.stx +137 -0
  193. package/resources/components/Docs/Demo/SwitchCode.md +24 -0
  194. package/resources/components/Docs/Demo/SwitchDemo.stx +28 -0
  195. package/resources/components/Docs/Home.stx +7 -0
  196. package/resources/components/Docs/HomeContributors.stx +23 -0
  197. package/resources/components/Docs/HomeSponsors.stx +17 -0
  198. package/resources/components/Docs/HomeTeam.stx +18 -0
  199. package/resources/components/Docs/TeamMember.stx +79 -0
  200. package/resources/components/Email/EmailButton.stx +32 -0
  201. package/resources/components/Email/EmailDivider.stx +20 -0
  202. package/resources/components/Email/EmailImage.stx +24 -0
  203. package/resources/components/Email/EmailLayout.stx +55 -0
  204. package/resources/components/Email/EmailLink.stx +22 -0
  205. package/resources/components/Email/EmailSection.stx +20 -0
  206. package/resources/components/Email/EmailText.stx +30 -0
  207. package/resources/components/Forum/ForumBreadcrumb.stx +38 -0
  208. package/resources/components/Forum/ForumCategory.stx +16 -0
  209. package/resources/components/Forum/ForumCategoryItem.stx +46 -0
  210. package/resources/components/Forum/ForumLayout.stx +36 -0
  211. package/resources/components/Forum/ForumPagination.stx +39 -0
  212. package/resources/components/Forum/ForumPost.stx +71 -0
  213. package/resources/components/Forum/ForumReplyForm.stx +76 -0
  214. package/resources/components/Forum/ForumSidebar.stx +86 -0
  215. package/resources/components/Forum/ForumTopicItem.stx +77 -0
  216. package/resources/components/Forum/ForumTopicList.stx +23 -0
  217. package/resources/components/HelloWorld.stx +253 -0
  218. package/resources/components/Logo.stx +10 -0
  219. package/resources/components/Marketing/CallToAction.stx +30 -0
  220. package/resources/components/Marketing/ComingSoon.stx +155 -0
  221. package/resources/components/Marketing/Faqs.stx +99 -0
  222. package/resources/components/Marketing/Feature.stx +32 -0
  223. package/resources/components/Marketing/Fields.stx +28 -0
  224. package/resources/components/Marketing/Footer.stx +33 -0
  225. package/resources/components/Marketing/Header.stx +51 -0
  226. package/resources/components/Marketing/Hero.stx +46 -0
  227. package/resources/components/Marketing/Layout.stx +26 -0
  228. package/resources/components/Marketing/NavLink.stx +13 -0
  229. package/resources/components/Marketing/Plan.stx +43 -0
  230. package/resources/components/Marketing/Pricing.stx +120 -0
  231. package/resources/components/Marketing/PrimaryFeatures.stx +80 -0
  232. package/resources/components/Marketing/PrimaryFeatures2.stx +98 -0
  233. package/resources/components/Marketing/SecondaryFeatures.stx +80 -0
  234. package/resources/components/Marketing/Testimonials.stx +120 -0
  235. package/resources/components/Pagination.stx +149 -0
  236. package/resources/components/Playground.stx +9 -0
  237. package/resources/components/README.md +87 -0
  238. package/resources/components/Storefront/AnnouncementBar.stx +17 -0
  239. package/resources/components/Storefront/CartDrawer.stx +227 -0
  240. package/resources/components/Storefront/CheckoutSteps.stx +50 -0
  241. package/resources/components/Storefront/Footer.stx +81 -0
  242. package/resources/components/Storefront/Header.stx +66 -0
  243. package/resources/components/Storefront/OrderSummary.stx +79 -0
  244. package/resources/components/Storefront/ProductCard.stx +63 -0
  245. package/resources/components/Storefront/ProductGallery.stx +88 -0
  246. package/resources/components/Storefront/QuantitySelector.stx +97 -0
  247. package/resources/components/index.ts +13 -0
  248. package/resources/emails/email-verification.stx +46 -0
  249. package/resources/emails/layouts/base.html +113 -0
  250. package/resources/emails/password-changed.stx +55 -0
  251. package/resources/emails/password-reset.stx +43 -0
  252. package/resources/emails/subscription-confirmation.stx +99 -0
  253. package/resources/emails/welcome.stx +48 -0
  254. package/resources/functions/README.md +28 -0
  255. package/resources/functions/counter.ts +13 -0
  256. package/resources/functions/dark.ts +4 -0
  257. package/resources/functions/dashboard/analytics.ts +238 -0
  258. package/resources/functions/dashboard/config-io.ts +316 -0
  259. package/resources/functions/dashboard/data.ts +375 -0
  260. package/resources/functions/dashboard/library.ts +250 -0
  261. package/resources/functions/dashboard/sidebar.ts +537 -0
  262. package/resources/functions/dashboard/system.ts +150 -0
  263. package/resources/layouts/403.stx +188 -0
  264. package/resources/layouts/404.stx +34 -0
  265. package/resources/layouts/README.md +14 -0
  266. package/resources/layouts/dashboard/default.stx +20 -0
  267. package/resources/layouts/dashboard/guest.stx +10 -0
  268. package/resources/layouts/default.stx +3 -0
  269. package/resources/layouts/maintenance.stx +11 -0
  270. package/resources/layouts/storefront.stx +73 -0
  271. package/resources/layouts/system-tray/default.stx +3 -0
  272. package/resources/modules/.gitkeep +0 -0
  273. package/resources/plugins/.gitkeep +0 -0
  274. package/resources/plugins/preloader.ts +308 -0
  275. package/resources/types/README.md +3 -0
  276. package/resources/views/cart.stx +149 -0
  277. package/resources/views/checkout/contact.stx +101 -0
  278. package/resources/views/checkout/payment.stx +114 -0
  279. package/resources/views/checkout/shipping.stx +120 -0
  280. package/resources/views/coming-soon.stx +9 -0
  281. package/resources/views/dashboard/custom-page.stx +45 -0
  282. package/resources/views/dashboard/index.stx +24 -0
  283. package/resources/views/emails/welcome.stx +0 -0
  284. package/resources/views/errors/tester.stx +26 -0
  285. package/resources/views/index.stx +2865 -0
  286. package/resources/views/orders/[id].stx +130 -0
@@ -0,0 +1,127 @@
1
+ <script>
2
+ interface QueueTableProps {
3
+ queues?: any[]
4
+ }
5
+
6
+ const { queues = [] } = defineProps<QueueTableProps>()
7
+
8
+ function parseName(payload) {
9
+ try {
10
+ const parsedPayload = JSON.parse(payload)
11
+ return parsedPayload.name
12
+ } catch (e) {
13
+ return ''
14
+ }
15
+ }
16
+
17
+ function parseDescription(payload) {
18
+ try {
19
+ const parsedPayload = JSON.parse(payload)
20
+ const parsedClassPayload = JSON.parse(parsedPayload.classPayload)
21
+ return parsedClassPayload.description
22
+ } catch (e) {
23
+ return ''
24
+ }
25
+ }
26
+
27
+ function parseTries(payload) {
28
+ try {
29
+ const parsedPayload = JSON.parse(payload)
30
+ const parsedClassPayload = JSON.parse(parsedPayload.classPayload)
31
+ return Number(parsedClassPayload.tries)
32
+ } catch (e) {
33
+ return 0
34
+ }
35
+ }
36
+
37
+ function parsePath(payload) {
38
+ try {
39
+ const parsedPayload = JSON.parse(payload)
40
+ return parsedPayload.path
41
+ } catch (e) {
42
+ return ''
43
+ }
44
+ }
45
+ </script>
46
+ <div class="pt-12 px-4 sm:px-6 lg:px-8">
47
+ <div class="sm:flex sm:items-center">
48
+ <div class="sm:flex-auto">
49
+ <h1 class="font-semibold leading-6 text-base text-gray-900">
50
+ Jobs
51
+ </h1>
52
+ <p class="mt-2 text-gray-700 text-sm">
53
+ A list of all the Jobs.
54
+ </p>
55
+ </div>
56
+
57
+ <div class="sm:flex-none mt-4 sm:ml-16 sm:mt-0">
58
+ <button type="button" class="block px-3 py-2 font-semibold text-center text-sm text-white bg-blue-600 hover:bg-blue-500 rounded-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-blue-600 focus-visible:outline-offset-2 shadow-sm">
59
+ Create Job
60
+ </button>
61
+ </div>
62
+ </div>
63
+
64
+ <div class="flow-root mt-8">
65
+ <div class="overflow-x-auto -mx-4 -my-2 sm:-mx-6 lg:-mx-8">
66
+ <div class="inline-block py-2 sm:px-6 lg:px-8 min-w-full align-middle">
67
+ <div class="overflow-hidden ring-1 ring-black ring-opacity-5 sm:rounded-lg shadow">
68
+ <table class="min-w-full divide-gray-300 divide-y">
69
+ <thead class="bg-gray-50">
70
+ <tr>
71
+ <th scope="col" class="pl-4 pr-3 py-3.5 sm:pl-6 font-semibold text-gray-900 text-left text-sm">
72
+ Name
73
+ </th>
74
+ <th scope="col" class="px-3 py-3.5 font-semibold text-gray-900 text-left text-sm">
75
+ Description
76
+ </th>
77
+ <th scope="col" class="px-3 py-3.5 font-semibold text-gray-900 text-left text-sm">
78
+ Path
79
+ </th>
80
+ <th scope="col" class="px-3 py-3.5 font-semibold text-gray-900 text-left text-sm">
81
+ Tries
82
+ </th>
83
+ <th scope="col" class="px-3 py-3.5 font-semibold text-gray-900 text-left text-sm sm:text-right">
84
+ Created At
85
+ </th>
86
+ <th scope="col" class="px-3 py-3.5 font-semibold text-gray-900 text-left text-sm sm:text-right">
87
+ Updated At
88
+ </th>
89
+ <th scope="col" class="relative pl-3 pr-4 py-3.5 sm:pr-6">
90
+ <span class="sr-only">Edit</span>
91
+ </th>
92
+ </tr>
93
+ </thead>
94
+
95
+ <tbody class="bg-white divide-gray-200 divide-y">
96
+ @foreach(queues as queue)
97
+ <tr>
98
+ <td class="pl-4 pr-3 py-4 sm:pl-6 font-medium text-gray-900 text-sm whitespace-nowrap">
99
+ {{ parseName(queue.payload) }}
100
+ </td>
101
+ <td class="px-3 py-4 text-gray-500 text-sm whitespace-nowrap">
102
+ {{ parseDescription(queue.payload) }}
103
+ </td>
104
+ <td class="px-3 py-4 font-mono text-gray-500 text-sm whitespace-nowrap">
105
+ {{ parsePath(queue.payload) }}
106
+ </td>
107
+ <td class="px-3 py-4 text-gray-500 text-sm whitespace-nowrap">
108
+ {{ parseTries(queue.payload) }}
109
+ </td>
110
+ <td class="px-3 py-4 text-gray-500 text-right text-sm whitespace-nowrap">
111
+ {{ queue.created_at }}
112
+ </td>
113
+ <td class="px-3 py-4 text-gray-500 text-right text-sm whitespace-nowrap">
114
+ {{ queue.updated_at }}
115
+ </td>
116
+ <td class="relative pl-3 pr-4 py-4 sm:pr-6 font-medium text-right text-sm whitespace-nowrap">
117
+ <a href="#" class="text-blue-600 hover:text-blue-900">Open<span class="sr-only">, Action in IDE</span></a>
118
+ </td>
119
+ </tr>
120
+ @endforeach
121
+ </tbody>
122
+ </table>
123
+ </div>
124
+ </div>
125
+ </div>
126
+ </div>
127
+ </div>
@@ -0,0 +1,126 @@
1
+ <script>
2
+ interface AIFormProps {
3
+ selectedModel?: string
4
+ deployAI?: boolean
5
+ }
6
+
7
+ const { selectedModel = 'meta.llama2-70b-chat-v1', deployAI = false } = defineProps<AIFormProps>()
8
+
9
+ const models = [
10
+ { id: 'amazon.titan-embed-text-v1', name: 'amazon.titan-embed-text-v1', online: false },
11
+ { id: 'amazon.titan-text-express-v1', name: 'amazon.titan-text-express-v1', online: true },
12
+ { id: 'amazon.titan-text-lite-v1', name: 'amazon.titan-text-lite-v1', online: true },
13
+ { id: 'amazon.titan-embed-image-v1', name: 'amazon.titan-embed-image-v1', online: false },
14
+ { id: 'amazon.titan-image-generator-v1', name: 'amazon.titan-image-generator-v1', online: false },
15
+ { id: 'anthropic.claude-v1', name: 'anthropic.claude-v1', online: false },
16
+ { id: 'anthropic.claude-v2', name: 'anthropic.claude-v2', online: false },
17
+ { id: 'anthropic.claude-v2:1', name: 'anthropic.claude-v2:1', online: false },
18
+ { id: 'anthropic.claude-instant-v1', name: 'anthropic.claude-instant-v1', online: false },
19
+ { id: 'meta.llama2-13b-chat-v1', name: 'meta.llama2-13b-chat-v1', online: false },
20
+ { id: 'meta.llama2-70b-chat-v1', name: 'meta.llama2-70b-chat-v1', online: true },
21
+ ]
22
+ </script>
23
+ <form>
24
+ <div class="space-y-12">
25
+ <div class="pb-12 border-b border-gray-900/10">
26
+ <div class="grid gap-x-6 gap-y-8 grid-cols-1 sm:grid-cols-6">
27
+ <div class="sm:col-span-3">
28
+ <label for="default-config" class="block font-medium leading-6 text-gray-900 text-sm">Deploy AI Endpoints</label>
29
+ <div class="mt-2">
30
+ <button
31
+ type="button"
32
+ class="relative h-6 w-11 inline-flex flex-shrink-0 cursor-pointer border-2 border-transparent rounded-full {{ deployAI ? 'bg-indigo-600' : 'bg-gray-200' }} transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-600"
33
+ role="switch"
34
+ aria-checked="{{ deployAI ? 'true' : 'false' }}"
35
+ data-action="toggle-deploy-ai"
36
+ >
37
+ <span class="sr-only">Deploy</span>
38
+ <span
39
+ aria-hidden="true"
40
+ class="pointer-events-none inline-block h-5 w-5 {{ deployAI ? 'translate-x-5' : 'translate-x-0' }} transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out"
41
+ ></span>
42
+ </button>
43
+ </div>
44
+ </div>
45
+
46
+ <div class="sm:col-span-3"></div>
47
+
48
+ <div class="sm:col-span-3">
49
+ <div>
50
+ <label for="combobox" class="block font-medium leading-6 text-gray-900 text-sm">Models</label>
51
+ <div class="relative mt-2">
52
+ <input
53
+ id="combobox"
54
+ type="text"
55
+ class="pl-3 pr-12 py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm bg-white border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm"
56
+ role="combobox"
57
+ aria-controls="options"
58
+ aria-expanded="false"
59
+ value="{{ selectedModel }}"
60
+ >
61
+ <button
62
+ type="button"
63
+ class="flex absolute inset-y-0 right-0 items-center px-2 rounded-r-md focus:outline-none"
64
+ >
65
+ <svg class="h-5 w-5 text-gray-400" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
66
+ <path
67
+ fill-rule="evenodd"
68
+ d="M10 3a.75.75 0 01.55.24l3.25 3.5a.75.75 0 11-1.1 1.02L10 4.852 7.3 7.76a.75.75 0 01-1.1-1.02l3.25-3.5A.75.75 0 0110 3zm-3.76 9.2a.75.75 0 011.06.04l2.7 2.908 2.7-2.908a.75.75 0 111.1 1.02l-3.25 3.5a.75.75 0 01-1.1 0l-3.25-3.5a.75.75 0 01.04-1.06z"
69
+ clip-rule="evenodd"
70
+ />
71
+ </svg>
72
+ </button>
73
+
74
+ <ul
75
+ id="options"
76
+ class="hidden absolute overflow-auto z-10 mt-1 py-1 max-h-60 w-full text-base sm:text-sm bg-white ring-1 ring-black ring-opacity-5 rounded-md focus:outline-none shadow-lg"
77
+ role="listbox"
78
+ >
79
+ @foreach(models as model)
80
+ <li
81
+ class="relative pl-3 pr-9 py-2 text-gray-900 hover:text-white hover:bg-indigo-600 cursor-default select-none"
82
+ role="option"
83
+ tabindex="-1"
84
+ data-action="select-model"
85
+ data-model-id="{{ model.id }}"
86
+ >
87
+ <div class="flex items-center">
88
+ <span class="inline-block h-2 w-2 flex-shrink-0 rounded-full {{ model.online ? 'bg-green-400' : 'bg-gray-200' }}" aria-hidden="true"></span>
89
+ <span class="ml-3 truncate {{ selectedModel == model.id ? 'font-semibold' : '' }}">
90
+ {{ model.name }}
91
+ <span class="sr-only"> is {{ model.online ? 'online' : 'offline' }}</span>
92
+ </span>
93
+ </div>
94
+ @if(selectedModel == model.id)
95
+ <span class="flex absolute inset-y-0 right-0 items-center pr-4 text-indigo-600">
96
+ <svg class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
97
+ <path
98
+ fill-rule="evenodd"
99
+ d="M16.704 4.153a.75.75 0 01.143 1.052l-8 10.5a.75.75 0 01-1.127.075l-4.5-4.5a.75.75 0 011.06-1.06l3.894 3.893 7.48-9.817a.75.75 0 011.05-.143z"
100
+ clip-rule="evenodd"
101
+ />
102
+ </svg>
103
+ </span>
104
+ @endif
105
+ </li>
106
+ @endforeach
107
+ </ul>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </div>
112
+ </div>
113
+ </div>
114
+
115
+ <div class="flex gap-x-6 items-center justify-end mt-6">
116
+ <button type="button" class="font-semibold leading-6 text-gray-900 text-sm">
117
+ Cancel
118
+ </button>
119
+ <button
120
+ type="submit"
121
+ class="px-3 py-2 font-semibold text-sm text-white bg-indigo-600 hover:bg-indigo-500 rounded-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-indigo-600 focus-visible:outline-offset-2 shadow-sm"
122
+ >
123
+ Save
124
+ </button>
125
+ </div>
126
+ </form>
@@ -0,0 +1,52 @@
1
+ <script>
2
+ interface AnalyticsFormProps {
3
+ driver?: string
4
+ googleAnalyticsId?: string
5
+ fathomSiteId?: string
6
+ }
7
+
8
+ const { driver = 'Fathom', googleAnalyticsId = '', fathomSiteId = '' } = defineProps<AnalyticsFormProps>()
9
+ </script>
10
+ <form>
11
+ <div class="space-y-12">
12
+ <div class="pb-12 border-b border-gray-900/10">
13
+ <div class="grid gap-x-6 gap-y-8 grid-cols-1 sm:grid-cols-6">
14
+ <div class="sm:col-span-3">
15
+ <label for="driver" class="block font-medium leading-6 text-gray-900 text-sm">Driver</label>
16
+ <div class="mt-2">
17
+ <select id="driver" name="driver" autocomplete="country-name" class="block py-1.5 w-full sm:max-w-xs text-gray-900 sm:leading-6 sm:text-sm border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
18
+ <option {{ driver == 'Fathom' ? 'selected' : '' }}>Fathom</option>
19
+ <option {{ driver == 'Google Analytics' ? 'selected' : '' }}>Google Analytics</option>
20
+ </select>
21
+ </div>
22
+ </div>
23
+ <div class="sm:col-span-3"></div>
24
+
25
+ <div class="sm:col-span-3">
26
+ <label for="google-analytics" class="block font-medium leading-6 text-gray-900 text-sm">Google Analytics (tracking-id)</label>
27
+ <div class="mt-2">
28
+ <input id="google-analytics" type="text" name="google-analytics" placeholder="UA-XXXXXXXXX-X" value="{{ googleAnalyticsId }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
29
+ </div>
30
+ </div>
31
+
32
+ <div class="sm:col-span-3">
33
+ <label for="fathom" class="block font-medium leading-6 text-gray-900 text-sm">Fathom (site-id)</label>
34
+ <div class="mt-2">
35
+ <input id="fathom" type="text" placeholder="WOLZMJDL" name="fathom" value="{{ fathomSiteId }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <div class="flex gap-x-6 items-center justify-end mt-6">
42
+ <button type="button" class="font-semibold leading-6 text-gray-900 text-sm">
43
+ Cancel
44
+ </button>
45
+ <button
46
+ type="submit"
47
+ class="px-3 py-2 font-semibold text-sm text-white bg-indigo-600 hover:bg-indigo-500 rounded-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-indigo-600 focus-visible:outline-offset-2 shadow-sm"
48
+ >
49
+ Save
50
+ </button>
51
+ </div>
52
+ </form>
@@ -0,0 +1,157 @@
1
+ <script>
2
+ interface AppFormProps {
3
+ appName?: string
4
+ appKey?: string
5
+ appUrl?: string
6
+ description?: string
7
+ environment?: string
8
+ redirectUrls?: string
9
+ timezone?: string
10
+ locale?: string
11
+ fallbackLocale?: string
12
+ cipher?: string
13
+ appDebug?: boolean
14
+ maintenanceMode?: boolean
15
+ docMode?: boolean
16
+ }
17
+
18
+ const { appName = 'Stacks', appKey = '', appUrl = 'stacks.localhost', description = '', environment = 'local', redirectUrls = 'stacks.localhost,localhost:3000,stack.com', timezone = 'America/Los_Angeles', locale = 'en', fallbackLocale = 'en', cipher = 'aes-256-cbc', appDebug = false, maintenanceMode = false, docMode = true } = defineProps<AppFormProps>()
19
+ </script>
20
+ <form>
21
+ <div class="space-y-12">
22
+ <div class="pb-12 border-b border-gray-900/10">
23
+ <div class="grid gap-x-6 gap-y-8 grid-cols-1 sm:grid-cols-6">
24
+ <div class="sm:col-span-3">
25
+ <label for="name" class="block font-medium leading-6 text-gray-900 text-sm">App Name</label>
26
+ <div class="mt-2">
27
+ <input id="name" type="text" name="name" placeholder="App Name" value="{{ appName }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
28
+ </div>
29
+ </div>
30
+ <div class="sm:col-span-3">
31
+ <label for="key" class="block font-medium leading-6 text-gray-900 text-sm">App Key</label>
32
+ <div class="mt-2">
33
+ <input id="key" type="text" name="key" placeholder="" value="{{ appKey }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
34
+ </div>
35
+ </div>
36
+ <div class="sm:col-span-3">
37
+ <label for="url" class="block font-medium leading-6 text-gray-900 text-sm">App Url</label>
38
+ <div class="mt-2">
39
+ <input id="url" type="text" name="url" placeholder="https://test.test" value="{{ appUrl }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
40
+ </div>
41
+ </div>
42
+
43
+ <div class="sm:col-span-full">
44
+ <label for="description" class="block font-medium leading-6 text-gray-900 text-sm">Description</label>
45
+ <div class="mt-2">
46
+ <textarea id="description" name="description" rows="3" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">{{ description }}</textarea>
47
+ </div>
48
+ </div>
49
+
50
+ <div class="sm:col-span-3">
51
+ <label for="env" class="block font-medium leading-6 text-gray-900 text-sm">Environment</label>
52
+ <div class="mt-2">
53
+ <input id="env" type="text" name="env" placeholder="production" value="{{ environment }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
54
+ </div>
55
+ </div>
56
+
57
+ <div class="sm:col-span-3">
58
+ <label for="redirects" class="block font-medium leading-6 text-gray-900 text-sm">Redirect Urls</label>
59
+ <div class="mt-2">
60
+ <input id="redirects" type="text" name="redirects" placeholder="https://test.test" value="{{ redirectUrls }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
61
+ </div>
62
+ </div>
63
+
64
+ <div class="sm:col-span-2">
65
+ <label for="app-debug" class="block font-medium leading-6 text-gray-900 text-sm">App Debug</label>
66
+ <div class="mt-2">
67
+ <button
68
+ type="button"
69
+ class="relative h-6 w-11 inline-flex flex-shrink-0 cursor-pointer border-2 border-transparent rounded-full {{ appDebug ? 'bg-indigo-600' : 'bg-gray-200' }} transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-600"
70
+ role="switch"
71
+ aria-checked="{{ appDebug ? 'true' : 'false' }}"
72
+ data-action="toggle-app-debug"
73
+ >
74
+ <span class="sr-only">App Debug</span>
75
+ <span
76
+ aria-hidden="true"
77
+ class="pointer-events-none inline-block h-5 w-5 {{ appDebug ? 'translate-x-5' : 'translate-x-0' }} transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out"
78
+ ></span>
79
+ </button>
80
+ </div>
81
+ </div>
82
+ <div class="sm:col-span-2">
83
+ <label for="maintenance-mode" class="block font-medium leading-6 text-gray-900 text-sm">Maintenance Mode</label>
84
+ <div class="mt-2">
85
+ <button
86
+ type="button"
87
+ class="relative h-6 w-11 inline-flex flex-shrink-0 cursor-pointer border-2 border-transparent rounded-full {{ maintenanceMode ? 'bg-indigo-600' : 'bg-gray-200' }} transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-600"
88
+ role="switch"
89
+ aria-checked="{{ maintenanceMode ? 'true' : 'false' }}"
90
+ data-action="toggle-maintenance"
91
+ >
92
+ <span class="sr-only">Maintenance Mode</span>
93
+ <span
94
+ aria-hidden="true"
95
+ class="pointer-events-none inline-block h-5 w-5 {{ maintenanceMode ? 'translate-x-5' : 'translate-x-0' }} transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out"
96
+ ></span>
97
+ </button>
98
+ </div>
99
+ </div>
100
+ <div class="sm:col-span-2">
101
+ <label for="doc-mode" class="block font-medium leading-6 text-gray-900 text-sm">Doc Mode</label>
102
+ <div class="mt-2">
103
+ <button
104
+ type="button"
105
+ class="relative h-6 w-11 inline-flex flex-shrink-0 cursor-pointer border-2 border-transparent rounded-full {{ docMode ? 'bg-indigo-600' : 'bg-gray-200' }} transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-600"
106
+ role="switch"
107
+ aria-checked="{{ docMode ? 'true' : 'false' }}"
108
+ data-action="toggle-doc-mode"
109
+ >
110
+ <span class="sr-only">Doc Mode</span>
111
+ <span
112
+ aria-hidden="true"
113
+ class="pointer-events-none inline-block h-5 w-5 {{ docMode ? 'translate-x-5' : 'translate-x-0' }} transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out"
114
+ ></span>
115
+ </button>
116
+ </div>
117
+ </div>
118
+
119
+ <div class="sm:col-span-2">
120
+ <label for="timezone" class="block font-medium leading-6 text-gray-900 text-sm">Timezone</label>
121
+ <div class="mt-2">
122
+ <input id="timezone" type="text" name="timezone" placeholder="UTC" value="{{ timezone }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
123
+ </div>
124
+ </div>
125
+ <div class="sm:col-span-2">
126
+ <label for="locale" class="block font-medium leading-6 text-gray-900 text-sm">Locale</label>
127
+ <div class="mt-2">
128
+ <input id="locale" type="text" name="locale" placeholder="UTC" value="{{ locale }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
129
+ </div>
130
+ </div>
131
+ <div class="sm:col-span-2">
132
+ <label for="fallback-locale" class="block font-medium leading-6 text-gray-900 text-sm">Fallback Locale</label>
133
+ <div class="mt-2">
134
+ <input id="fallback-locale" type="text" name="fallback-locale" placeholder="UTC" value="{{ fallbackLocale }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
135
+ </div>
136
+ </div>
137
+ <div class="sm:col-span-2">
138
+ <label for="cipher" class="block font-medium leading-6 text-gray-900 text-sm">Cipher</label>
139
+ <div class="mt-2">
140
+ <input id="cipher" type="text" name="cipher" placeholder="AES-256-CBC" value="{{ cipher }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
141
+ </div>
142
+ </div>
143
+ </div>
144
+ </div>
145
+ </div>
146
+ <div class="flex gap-x-6 items-center justify-end mt-6">
147
+ <button type="button" class="font-semibold leading-6 text-gray-900 text-sm">
148
+ Cancel
149
+ </button>
150
+ <button
151
+ type="submit"
152
+ class="px-3 py-2 font-semibold text-sm text-white bg-indigo-600 hover:bg-indigo-500 rounded-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-indigo-600 focus-visible:outline-offset-2 shadow-sm"
153
+ >
154
+ Save
155
+ </button>
156
+ </div>
157
+ </form>
@@ -0,0 +1,66 @@
1
+ <script>
2
+ interface CLIFormProps {
3
+ name?: string
4
+ description?: string
5
+ command?: string
6
+ deploy?: boolean
7
+ }
8
+
9
+ const { name = 'My Custom CLI', description = 'My Custom CLI', command = 'my-custom-cli', deploy = true } = defineProps<CLIFormProps>()
10
+ </script>
11
+ <form>
12
+ <div class="space-y-12">
13
+ <div class="pb-12 border-b border-gray-900/10">
14
+ <div class="grid gap-x-6 gap-y-8 grid-cols-1 sm:grid-cols-6">
15
+ <div class="sm:col-span-full">
16
+ <label for="deploy" class="block font-medium leading-6 text-gray-900 text-sm">Deploy</label>
17
+ <div class="mt-2">
18
+ <button
19
+ type="button"
20
+ class="relative h-6 w-11 inline-flex flex-shrink-0 cursor-pointer border-2 border-transparent rounded-full {{ deploy ? 'bg-indigo-600' : 'bg-gray-200' }} transition-colors duration-200 ease-in-out focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-600"
21
+ role="switch"
22
+ aria-checked="{{ deploy ? 'true' : 'false' }}"
23
+ data-action="toggle-deploy"
24
+ >
25
+ <span class="sr-only">Deploy</span>
26
+ <span
27
+ aria-hidden="true"
28
+ class="pointer-events-none inline-block h-5 w-5 {{ deploy ? 'translate-x-5' : 'translate-x-0' }} transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out"
29
+ ></span>
30
+ </button>
31
+ </div>
32
+ </div>
33
+ <div class="sm:col-span-3">
34
+ <label for="name" class="block font-medium leading-6 text-gray-900 text-sm">Name</label>
35
+ <div class="mt-2">
36
+ <input id="name" type="text" name="name" placeholder="My Custom CLI" value="{{ name }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
37
+ </div>
38
+ </div>
39
+ <div class="sm:col-span-full">
40
+ <label for="description" class="block font-medium leading-6 text-gray-900 text-sm">Description</label>
41
+ <div class="mt-2">
42
+ <textarea id="description" name="description" rows="3" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">{{ description }}</textarea>
43
+ </div>
44
+ </div>
45
+ <div class="sm:col-span-3">
46
+ <label for="command" class="block font-medium leading-6 text-gray-900 text-sm">Command</label>
47
+ <div class="mt-2">
48
+ <input id="command" type="text" name="command" placeholder="my-custom-cli" value="{{ command }}" class="block py-1.5 w-full text-gray-900 sm:leading-6 sm:text-sm placeholder:text-gray-400 border-0 ring-1 ring-gray-300 ring-inset rounded-md focus:ring-2 focus:ring-indigo-600 focus:ring-inset shadow-sm">
49
+ </div>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ </div>
54
+
55
+ <div class="flex gap-x-6 items-center justify-end mt-6">
56
+ <button type="button" class="font-semibold leading-6 text-gray-900 text-sm">
57
+ Cancel
58
+ </button>
59
+ <button
60
+ type="submit"
61
+ class="px-3 py-2 font-semibold text-sm text-white bg-indigo-600 hover:bg-indigo-500 rounded-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-indigo-600 focus-visible:outline-offset-2 shadow-sm"
62
+ >
63
+ Save
64
+ </button>
65
+ </div>
66
+ </form>