@fernir2/saas-kit-cli 0.1.4 → 0.1.5

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 (303) hide show
  1. package/package.json +211 -7
  2. package/cli/.gitlab-ci.yml +0 -14
  3. package/cli/.husky/commit-msg +0 -1
  4. package/cli/.husky/pre-commit +0 -1
  5. package/cli/README.md +0 -101
  6. package/cli/bin/index.ts +0 -358
  7. package/cli/drizzle.config.ts +0 -12
  8. package/cli/global-setup.ts +0 -25
  9. package/cli/npm-commands/gen-meta/index.ts +0 -3
  10. package/cli/npm-commands/gen-schema/index.ts +0 -5
  11. package/cli/npm-commands/migrate-db/index.ts +0 -5
  12. package/cli/npm-commands/migrate-db/migrate-db.ts +0 -15
  13. package/cli/npm-commands/seed-db/index.ts +0 -5
  14. package/cli/npm-commands/seed-db/seed-db.ts +0 -15
  15. package/cli/playwright.config.ts +0 -34
  16. package/cli/postcss.config.mjs +0 -9
  17. package/cli/server.ts +0 -41
  18. package/cli/src/app/api/v1/[resourceName]/[id]/route.ts/route.ts +0 -11
  19. package/cli/src/app/api/v1/[resourceName]/route.ts/route.ts +0 -14
  20. package/cli/src/app/api/v1/[resourceName]/upsert/route.ts/route.ts +0 -3
  21. package/cli/src/app/api/v1/log/route.ts/route.ts +0 -7
  22. package/cli/src/app/api/v1/otheruser/[id]/route.ts/route.ts +0 -14
  23. package/cli/src/app/api/v1/otheruser/route.ts/route.ts +0 -7
  24. package/cli/src/app/api/v1/password/forgotpassword/route.ts/route.ts +0 -3
  25. package/cli/src/app/api/v1/password/resetpassword/route.ts/route.ts +0 -3
  26. package/cli/src/app/api/v1/payment/method/route.ts/route.ts +0 -4
  27. package/cli/src/app/api/v1/payment/route.ts/route.ts +0 -3
  28. package/cli/src/app/api/v1/payment/verify-fail/route.ts/route.ts +0 -3
  29. package/cli/src/app/api/v1/payment/verify-success/route.ts/route.ts +0 -3
  30. package/cli/src/app/api/v1/preload/route.ts/route.ts +0 -3
  31. package/cli/src/app/api/v1/searchable-resources/route.ts/route.ts +0 -11
  32. package/cli/src/app/api/v1/searchresult/route.ts/route.ts +0 -35
  33. package/cli/src/app/api/v1/sign-in/route.ts/route.ts +0 -3
  34. package/cli/src/app/api/v1/sign-out/route.ts/route.ts +0 -3
  35. package/cli/src/app/api/v1/sign-up/route.ts/route.ts +0 -3
  36. package/cli/src/app/api/v1/subscription/cancel/route.ts/route.ts +0 -3
  37. package/cli/src/app/api/v1/subscription/create/route.ts/route.ts +0 -3
  38. package/cli/src/app/api/v1/subscription/update/route.ts/route.ts +0 -3
  39. package/cli/src/app/api/v1/uimeta/route.ts/route.ts +0 -3
  40. package/cli/src/app/api/v1/uimetas/route.ts/route.ts +0 -3
  41. package/cli/src/app/api/v1/userpermission/route.ts/route.ts +0 -3
  42. package/cli/src/app/api/v1/visible-workspace/route.ts/route.ts +0 -5
  43. package/cli/src/app/api/v1/workspace/change/route.ts/route.ts +0 -5
  44. package/cli/src/app/favicon.ico +0 -0
  45. package/cli/src/app/layout.tsx +0 -42
  46. package/cli/src/app/page.tsx +0 -9
  47. package/cli/tailwind.config.ts +0 -13
  48. package/packages/base-repo/tools/git/commit-msg-script.ts +0 -42
  49. package/packages/base-repo/tools/git/pre-commit-script.ts +0 -431
  50. package/packages/level2/client/components/error-fallback/FdErrorFallback.jsx +0 -14
  51. package/packages/level2/client/components/feed/FdFeed.funcs.jsx +0 -65
  52. package/packages/level2/client/components/feed/FdFeed.jsx +0 -34
  53. package/packages/level2/client/components/feed/FdFeedActions.jsx +0 -15
  54. package/packages/level2/client/components/feed/FdFeedComments.jsx +0 -6
  55. package/packages/level2/client/components/feed/FdFeedEntry.jsx +0 -36
  56. package/packages/level2/client/components/feed/FdFeedHeader.jsx +0 -23
  57. package/packages/level2/client/components/feed/FdFeedReactionsSummary.jsx +0 -16
  58. package/packages/level2/client/components/providers/FdProviders.jsx +0 -28
  59. package/packages/level2/client/components/subscription-plan/FdSubscriptionPlan.jsx +0 -163
  60. package/packages/level2/client/components/wizard/FdWizard.jsx +0 -45
  61. package/packages/level2/client/components/wizard/FdWizardStepper.jsx +0 -55
  62. package/packages/level2/client/pages/dashboard-page/DashbordPage.jsx +0 -46
  63. package/packages/level2/client/pages/dynamic-layout-page/DynamicLayoutPage.jsx +0 -22
  64. package/packages/level2/client/pages/edit-password-page/EditPasswordPage.jsx +0 -8
  65. package/packages/level2/client/pages/edit-user-by-id-page/EditUserByIdPage.jsx +0 -14
  66. package/packages/level2/client/pages/edit-user-page/EditUserPage.jsx +0 -6
  67. package/packages/level2/client/pages/feed-page/FeedPage.jsx +0 -8
  68. package/packages/level2/client/pages/file-upload-page/FileUploadPage.jsx +0 -7
  69. package/packages/level2/client/pages/forgot-password-page/ForgotPasswordPage.jsx +0 -8
  70. package/packages/level2/client/pages/leads-viw-page/LeadsViewPage.jsx +0 -6
  71. package/packages/level2/client/pages/microsoft-page/MicrosoftPage.jsx +0 -16
  72. package/packages/level2/client/pages/payment-plan-page/PaymentPlanPage.jsx +0 -18
  73. package/packages/level2/client/pages/preload-page/PreloadPage.jsx +0 -25
  74. package/packages/level2/client/pages/reset-password-page/ResetPasswordPage.jsx +0 -8
  75. package/packages/level2/client/pages/screenshot-page/TestScreenshotPage.jsx +0 -23
  76. package/packages/level2/client/pages/sign-in-page/SignInPage.jsx +0 -24
  77. package/packages/level2/client/pages/sign-up-page/SignUpPage.jsx +0 -9
  78. package/packages/level2/client/pages/status-board-page/StatusBoardPage.jsx +0 -6
  79. package/packages/level2/client/pages/test-layout/TestLayout.jsx +0 -11
  80. package/packages/level2/client/pages/test-page/TestPage.jsx +0 -12
  81. package/packages/level2/client/pages/user-list-page/UserListPage.jsx +0 -4
  82. package/packages/level2/client/pages/view-page/ViewPage.jsx +0 -21
  83. package/packages/level2/client/payments/change-payment-method-field/ChangePaymentMethodField.jsx +0 -48
  84. package/packages/level2/client/payments/checkout-form/CheckoutForm.jsx +0 -95
  85. package/packages/level2/client/payments/checkout-form/CheckoutFormSubmit.jsx +0 -11
  86. package/packages/level2/client/payments/checkout-form/checkout-form-fields.jsx +0 -68
  87. package/packages/level2/client/website-scan/FdWebsiteScanResult.funcs.jsx +0 -12
  88. package/packages/level2/client/website-scan/FdWebsiteScanResult.jsx +0 -33
  89. package/packages/level2/client/website-scan/website-scan-data.jsx +0 -28
  90. package/packages/level2/client/website-scan/website-scan-icons/FacebookIcon.jsx +0 -6
  91. package/packages/level2/client/website-scan/website-scan-icons/FacebookPixelIcon.jsx +0 -49
  92. package/packages/level2/client/website-scan/website-scan-icons/GoogleAnalyticsIcon.jsx +0 -7
  93. package/packages/level2/client/website-scan/website-scan-icons/InstagramIcon.jsx +0 -32
  94. package/packages/level2/client/website-scan/website-scan-icons/LinkedinIcon.jsx +0 -6
  95. package/packages/level2/client/website-scan/website-scan-icons/OtherPlatformIcon.jsx +0 -110
  96. package/packages/level2/client/website-scan/website-scan-icons/ShopifyIcon.jsx +0 -46
  97. package/packages/level2/client/website-scan/website-scan-icons/SquarespaceIcon.jsx +0 -57
  98. package/packages/level2/client/website-scan/website-scan-icons/TiktokIcon.jsx +0 -15
  99. package/packages/level2/client/website-scan/website-scan-icons/WixIcon.jsx +0 -62
  100. package/packages/level2/client/website-scan/website-scan-icons/WordpressIcon.jsx +0 -53
  101. package/packages/level2/client/website-scan/website-scan-icons/XIcon.jsx +0 -6
  102. package/packages/level2/fd-app-toolbox/edit-other-user/EditOtherUser.jsx +0 -7
  103. package/packages/level2/fd-app-toolbox/edit-password-form/EditPasswordForm.jsx +0 -68
  104. package/packages/level2/fd-app-toolbox/edit-user-form/EditUserForm.jsx +0 -122
  105. package/packages/level2/fd-app-toolbox/edit-user-sheet/EditUserSheet.jsx +0 -35
  106. package/packages/level2/fd-app-toolbox/forgot-password-form/ForgotPasswordForm.jsx +0 -87
  107. package/packages/level2/fd-app-toolbox/layout/client-layout/ClientLayout.jsx +0 -19
  108. package/packages/level2/fd-app-toolbox/layout/client-root/ClientRoot.jsx +0 -32
  109. package/packages/level2/fd-app-toolbox/layout/hamburger-menu/FdHamburgerMenu.jsx +0 -47
  110. package/packages/level2/fd-app-toolbox/layout/navbar/FdNarrowNavbar.jsx +0 -40
  111. package/packages/level2/fd-app-toolbox/layout/sidebar/FdSidebar.jsx +0 -48
  112. package/packages/level2/fd-app-toolbox/layout/sidebar/sidebar-dropdown-menu/FdDropdownMenuItemTitle.jsx +0 -12
  113. package/packages/level2/fd-app-toolbox/layout/sidebar/sidebar-dropdown-menu/FdSidebarDropdownMenu.jsx +0 -81
  114. package/packages/level2/fd-app-toolbox/layout/sidebar/sidebar-resources-provider.jsx +0 -30
  115. package/packages/level2/fd-app-toolbox/layout/toolbar/FdToolbar.jsx +0 -89
  116. package/packages/level2/fd-app-toolbox/layout/toolbar/FdTopNav.jsx +0 -42
  117. package/packages/level2/fd-app-toolbox/layout/toolbar/title-provider/ToolbarTitleProvider.jsx +0 -10
  118. package/packages/level2/fd-app-toolbox/login-form/LoginForm.jsx +0 -165
  119. package/packages/level2/fd-app-toolbox/menu/notifications-menu/FdNotificationMenu.jsx +0 -43
  120. package/packages/level2/fd-app-toolbox/menu/notifications-menu/notification-list/FdNotificationList.jsx +0 -53
  121. package/packages/level2/fd-app-toolbox/menu/top-menu/FdTopMenu.jsx +0 -28
  122. package/packages/level2/fd-app-toolbox/menu/top-menu/top-menu-group/FdTopMenuGroup.jsx +0 -35
  123. package/packages/level2/fd-app-toolbox/menu/top-menu/top-menu-item/FdTopMenuItem.jsx +0 -47
  124. package/packages/level2/fd-app-toolbox/menu/user-dropdown-menu/FdUserDropdownMenu.jsx +0 -122
  125. package/packages/level2/fd-app-toolbox/menu/user-dropdown-menu/user-dropdown-menu-item/FdUserDropdownMenuItem.jsx +0 -56
  126. package/packages/level2/fd-app-toolbox/menu/visible-workspace-picker/FdVisibleWorkspacePicker.jsx +0 -36
  127. package/packages/level2/fd-app-toolbox/menu/workspace-picker/FdWorkspacePicker.jsx +0 -47
  128. package/packages/level2/fd-app-toolbox/providers/ThemeProvider/ThemeProvider.jsx +0 -27
  129. package/packages/level2/fd-app-toolbox/providers/auth-provider/AuthProvider.jsx +0 -38
  130. package/packages/level2/fd-app-toolbox/providers/sidebar-provider/FdSidebarContext.jsx +0 -17
  131. package/packages/level2/fd-app-toolbox/register-form/RegisterForm.jsx +0 -119
  132. package/packages/level2/fd-app-toolbox/report/FdChart.jsx +0 -120
  133. package/packages/level2/fd-app-toolbox/report/ReportChart.jsx +0 -29
  134. package/packages/level2/fd-app-toolbox/reset-password-form/ResetPasswordForm.jsx +0 -81
  135. package/packages/level2/fd-app-toolbox/search/FdSearch.jsx +0 -56
  136. package/packages/level2/fd-app-toolbox/search/search-dialog/FdSearchDialog.jsx +0 -72
  137. package/packages/level2/fd-app-toolbox/search/search-dialog-provider.jsx +0 -16
  138. package/packages/level2/fd-app-toolbox/search/search-input/FdSearchInput.jsx +0 -49
  139. package/packages/level2/fd-app-toolbox/search/search-resource-results/FdSearchResourcesResults.jsx +0 -36
  140. package/packages/level2/fd-app-toolbox/search/search-result/FdSearchResult.jsx +0 -46
  141. package/packages/level2/fd-app-toolbox/search/search-searchable-resource-results/FdSearchSearchableResourceResult.jsx +0 -43
  142. package/packages/level2/fd-app-toolbox/search/search-searchable-resource-results/FdSearchSearchableResourceResults.jsx +0 -22
  143. package/packages/level2/fd-app-toolbox/server/layout/private-layout/PrivateLayout.jsx +0 -32
  144. package/packages/level2/fd-app-toolbox/status-board/FdStatusBoard.jsx +0 -49
  145. package/packages/level2/fd-app-toolbox/status-board/status-board-item/FdStatusBoardItem.jsx +0 -17
  146. package/packages/level2/fd-app-toolbox/status-board/status-board-status/FdStatusBoardStatus.jsx +0 -27
  147. package/packages/level2/fd-app-toolbox/user-list/UserList.jsx +0 -58
  148. package/packages/level2/fd-component-toolbox/animation/FdLabelAnimation.jsx +0 -55
  149. package/packages/level2/fd-component-toolbox/avatar/FdAvatar.jsx +0 -50
  150. package/packages/level2/fd-component-toolbox/back-button/FdBackButton.jsx +0 -21
  151. package/packages/level2/fd-component-toolbox/badge/FdBadge.jsx +0 -19
  152. package/packages/level2/fd-component-toolbox/badge-toggle-list/FdBadgeToggleList.jsx +0 -47
  153. package/packages/level2/fd-component-toolbox/button/FdButton.jsx +0 -64
  154. package/packages/level2/fd-component-toolbox/calendar/FdCalendar.jsx +0 -68
  155. package/packages/level2/fd-component-toolbox/card/FdCard.jsx +0 -56
  156. package/packages/level2/fd-component-toolbox/card/FdCardBigDigits.jsx +0 -25
  157. package/packages/level2/fd-component-toolbox/chart/FdChart.jsx +0 -269
  158. package/packages/level2/fd-component-toolbox/checkbox/FdCheckbox.jsx +0 -39
  159. package/packages/level2/fd-component-toolbox/command/FdCommand.jsx +0 -123
  160. package/packages/level2/fd-component-toolbox/datepicker/FdDatePicker.jsx +0 -155
  161. package/packages/level2/fd-component-toolbox/dialog/FdDialog.jsx +0 -106
  162. package/packages/level2/fd-component-toolbox/dialog/YesOrNoDialog.jsx +0 -57
  163. package/packages/level2/fd-component-toolbox/drag-and-drop/FdDragDropContext.jsx +0 -19
  164. package/packages/level2/fd-component-toolbox/drag-and-drop/FdDraggable.jsx +0 -27
  165. package/packages/level2/fd-component-toolbox/drag-and-drop/FdDroppable.jsx +0 -22
  166. package/packages/level2/fd-component-toolbox/dropdown-menu/FdDropdownMenu.jsx +0 -198
  167. package/packages/level2/fd-component-toolbox/dynamic-layout/FdDynamicComponent.jsx +0 -27
  168. package/packages/level2/fd-component-toolbox/dynamic-layout/FdDynamicLayoutDragAndDrop.jsx +0 -78
  169. package/packages/level2/fd-component-toolbox/fade-out-text/FdFadeOutText.jsx +0 -52
  170. package/packages/level2/fd-component-toolbox/form/FdForm.jsx +0 -146
  171. package/packages/level2/fd-component-toolbox/icon/FdIcon.jsx +0 -192
  172. package/packages/level2/fd-component-toolbox/icon/custom-icons/FdFilterIcon.jsx +0 -11
  173. package/packages/level2/fd-component-toolbox/image/FdImage.jsx +0 -15
  174. package/packages/level2/fd-component-toolbox/input/FdInput.jsx +0 -94
  175. package/packages/level2/fd-component-toolbox/label/FdLabel.jsx +0 -19
  176. package/packages/level2/fd-component-toolbox/link/FdLink.jsx +0 -23
  177. package/packages/level2/fd-component-toolbox/list/FdList.jsx +0 -20
  178. package/packages/level2/fd-component-toolbox/list/list-item/FdListItem.jsx +0 -46
  179. package/packages/level2/fd-component-toolbox/loading/FdLoadingIndicator.jsx +0 -7
  180. package/packages/level2/fd-component-toolbox/logos/FacebookLogo.jsx +0 -11
  181. package/packages/level2/fd-component-toolbox/logos/GoogleLogo.jsx +0 -12
  182. package/packages/level2/fd-component-toolbox/logos/MicrosoftLogo.jsx +0 -11
  183. package/packages/level2/fd-component-toolbox/markdown/FdMarkdown.jsx +0 -105
  184. package/packages/level2/fd-component-toolbox/markdown/markdown-parser.jsx +0 -72
  185. package/packages/level2/fd-component-toolbox/multiselect/FdMultiselect.jsx +0 -240
  186. package/packages/level2/fd-component-toolbox/navigation/FdNavigation.jsx +0 -43
  187. package/packages/level2/fd-component-toolbox/navigation/navigation-item/FdNavigationItem.jsx +0 -23
  188. package/packages/level2/fd-component-toolbox/radio-group/FdRadioGroup.jsx +0 -46
  189. package/packages/level2/fd-component-toolbox/rich-text/FdRichText.jsx +0 -58
  190. package/packages/level2/fd-component-toolbox/save-status/FdSaveStatus.jsx +0 -40
  191. package/packages/level2/fd-component-toolbox/select/FdSelect.jsx +0 -173
  192. package/packages/level2/fd-component-toolbox/separator/FdSeparator.jsx +0 -19
  193. package/packages/level2/fd-component-toolbox/sheet/FdSheet.jsx +0 -121
  194. package/packages/level2/fd-component-toolbox/slide-toggle/FdSlideToggle.jsx +0 -57
  195. package/packages/level2/fd-component-toolbox/spinner/Spinner.jsx +0 -36
  196. package/packages/level2/fd-component-toolbox/subheading/FdSubHeading.jsx +0 -12
  197. package/packages/level2/fd-component-toolbox/switch/FdSwitch.jsx +0 -55
  198. package/packages/level2/fd-component-toolbox/tabs/FdTabs.jsx +0 -53
  199. package/packages/level2/fd-component-toolbox/textarea/FdTextArea.jsx +0 -42
  200. package/packages/level2/fd-component-toolbox/toaster/FdToaster.jsx +0 -20
  201. package/packages/level2/fd-component-toolbox/tooltip/FdTooltip.jsx +0 -80
  202. package/packages/level2/meta/browsers/base-multi-browser/FdBaseMultiBrowser.jsx +0 -72
  203. package/packages/level2/meta/browsers/base-multi-browser/base-multi-browser-dialog/FdBaseMultiBrowserDialog.jsx +0 -159
  204. package/packages/level2/meta/browsers/browser/FdBrowser.jsx +0 -58
  205. package/packages/level2/meta/browsers/browser/browser-dialog/FdBrowserDialog.jsx +0 -89
  206. package/packages/level2/meta/browsers/many-to-many-browser/FdManyToManyBrowser.jsx +0 -33
  207. package/packages/level2/meta/browsers/multi-browser/FdMultiBrowser.jsx +0 -32
  208. package/packages/level2/meta/card-list/FdCardList.jsx +0 -40
  209. package/packages/level2/meta/card-list/card/FdCard.jsx +0 -44
  210. package/packages/level2/meta/card-list/card/action-block/FdCardActionBlock.jsx +0 -70
  211. package/packages/level2/meta/card-list/card/content-block/FdCardContentBlock.jsx +0 -64
  212. package/packages/level2/meta/card-list/card/image-block/FdCardImage.jsx +0 -10
  213. package/packages/level2/meta/client/framework/hooks.jsx +0 -39
  214. package/packages/level2/meta/comment/FdComment.jsx +0 -16
  215. package/packages/level2/meta/comment/FdCommentList.jsx +0 -32
  216. package/packages/level2/meta/components/edit-image/FdEditImage.jsx +0 -42
  217. package/packages/level2/meta/components/edit-image/FdEditImageActionMenu.jsx +0 -31
  218. package/packages/level2/meta/components/edit-image/FdEditImageDropdownMenu.jsx +0 -42
  219. package/packages/level2/meta/components/file-upload/FileUpload.jsx +0 -103
  220. package/packages/level2/meta/components/file-upload/PreviewMedia.jsx +0 -36
  221. package/packages/level2/meta/components/multi-list/FdMultiList.jsx +0 -65
  222. package/packages/level2/meta/components/multi-list/FdMultiListEditResource.jsx +0 -31
  223. package/packages/level2/meta/edit-resource/FdEditResource.jsx +0 -135
  224. package/packages/level2/meta/edit-resource/FdEditResourceFormBody.jsx +0 -8
  225. package/packages/level2/meta/edit-resource/FdEditResourceHeader.jsx +0 -43
  226. package/packages/level2/meta/edit-resource/FdEditResourceSheet.jsx +0 -70
  227. package/packages/level2/meta/edit-resource/SaveCompleteProvider.jsx +0 -16
  228. package/packages/level2/meta/edit-resource/edit-link/FdEditLink.jsx +0 -48
  229. package/packages/level2/meta/edit-resource/edit-link/FdEditLinkResource.jsx +0 -18
  230. package/packages/level2/meta/edit-resource/edit-resource-dialog/FdEditResourceDialog.jsx +0 -34
  231. package/packages/level2/meta/edit-resource/edit-resource-property-block/FdEditResourceBlobField.jsx +0 -15
  232. package/packages/level2/meta/edit-resource/edit-resource-property-block/FdEditResourceEnumField.jsx +0 -35
  233. package/packages/level2/meta/edit-resource/edit-resource-property-block/FdEditResourceFlagsEnumField.jsx +0 -23
  234. package/packages/level2/meta/edit-resource/edit-resource-property-block/FdEditResourceImageField.jsx +0 -7
  235. package/packages/level2/meta/edit-resource/edit-resource-property-block/FdEditResourcePropertyBlock.jsx +0 -38
  236. package/packages/level2/meta/edit-resource/edit-resource-property-block/FdEditResourceRichTextField.jsx +0 -16
  237. package/packages/level2/meta/edit-resource/edit-resource-property-block/edit-resource-fields.jsx +0 -53
  238. package/packages/level2/meta/edit-resource/edit-resource-property-field/FdEditResourcePropertyField.jsx +0 -105
  239. package/packages/level2/meta/filtering/filter/FdEnumFlagFilter.jsx +0 -40
  240. package/packages/level2/meta/filtering/filter/FdFilter.jsx +0 -123
  241. package/packages/level2/meta/filtering/filter/filters/BooleanFilter.jsx +0 -25
  242. package/packages/level2/meta/filtering/filter/filters/DateFilter.jsx +0 -10
  243. package/packages/level2/meta/filtering/filter/filters/EnumFilter.jsx +0 -44
  244. package/packages/level2/meta/filtering/filter/filters/GuidFilter.jsx +0 -28
  245. package/packages/level2/meta/filtering/filter/filters/IntegerFilter.jsx +0 -28
  246. package/packages/level2/meta/filtering/filter/filters/TextFilter.jsx +0 -11
  247. package/packages/level2/meta/filtering/resource-filter-list/FdResourceFilterList.jsx +0 -120
  248. package/packages/level2/meta/filtering/resource-filter-list/resource-list-dropdown-menu/ResourceListDropdownMenu.funcs.jsx +0 -4
  249. package/packages/level2/meta/filtering/resource-filter-list/resource-list-dropdown-menu/ResourceListDropdownMenu.jsx +0 -43
  250. package/packages/level2/meta/providers/global-provider/FdGlobalContext.jsx +0 -17
  251. package/packages/level2/meta/resource-list/ResourceList.jsx +0 -63
  252. package/packages/level2/meta/resource-list/resource-add-button.jsx +0 -11
  253. package/packages/level2/meta/resource-list/resource-list-card/FdResourceListCard.jsx +0 -7
  254. package/packages/level2/meta/resource-list/resource-list-filter/FdResourceListFilter.jsx +0 -11
  255. package/packages/level2/meta/resource-list/resource-table-list/FdResourceTableList.jsx +0 -14
  256. package/packages/level2/meta/table/FdTable.jsx +0 -147
  257. package/packages/level2/meta/table/body/FdTableBody.jsx +0 -9
  258. package/packages/level2/meta/table/body-cell/FdActionBodyCell.jsx +0 -145
  259. package/packages/level2/meta/table/body-cell/FdBlobBodyCell.jsx +0 -27
  260. package/packages/level2/meta/table/body-cell/FdBodyCell.jsx +0 -133
  261. package/packages/level2/meta/table/body-cell/FdBodyCellValue.jsx +0 -59
  262. package/packages/level2/meta/table/body-cell/FdBodyExpandCell.jsx +0 -6
  263. package/packages/level2/meta/table/body-cell/FdBodyExpandPropertyCell.jsx +0 -22
  264. package/packages/level2/meta/table/body-cell/FdCustomActionLink.jsx +0 -16
  265. package/packages/level2/meta/table/body-cell/FdMultiselectCellTemplate.jsx +0 -39
  266. package/packages/level2/meta/table/body-cell/FdViewCell.jsx +0 -12
  267. package/packages/level2/meta/table/body-row/FdTableBodyRow.jsx +0 -49
  268. package/packages/level2/meta/table/header/FdTableHeader.jsx +0 -54
  269. package/packages/level2/meta/table/header-cell/FdResizable.jsx +0 -18
  270. package/packages/level2/meta/table/header-cell/FdResizableEdgeHandle.jsx +0 -4
  271. package/packages/level2/meta/table/header-cell/FdTableHeaderActionCell.jsx +0 -49
  272. package/packages/level2/meta/table/header-cell/FdTableHeaderCell.jsx +0 -89
  273. package/packages/level2/meta/table/header-cell/FdTableHeaderCellActionButton.jsx +0 -23
  274. package/packages/level2/meta/table/pager/FdPager.jsx +0 -72
  275. package/packages/level2/meta/table/table-custom-action/TableCustomAction.jsx +0 -26
  276. package/packages/level2/meta/view/FdView.jsx +0 -31
  277. package/packages/level2/meta/view/FdViewSheet.jsx +0 -103
  278. package/packages/level2/meta/view/view-resource/FdViewResource.jsx +0 -108
  279. package/packages/level2/meta/view/view-resource/templates/ManyToOneTableHeaderCellTemplate.jsx +0 -13
  280. package/src/app/error.jsx +0 -5
  281. package/src/app/global-error.jsx +0 -5
  282. package/src/app/loading.jsx +0 -11
  283. package/src/hd/footer/HdFooter.jsx +0 -27
  284. package/src/hd/footer/hd-footer-item/HdFooterItem.jsx +0 -14
  285. package/src/lm/ai-scan/AiScanAction.jsx +0 -21
  286. package/src/lm/ai-scan/cell-templates/AiScanWebsiteResultCellTemplate.jsx +0 -31
  287. package/src/lm/components/LmCardReport.jsx +0 -12
  288. package/src/lm/configs/lm-list-configs.jsx +0 -72
  289. package/src/lm/google-place/action-dropdown/GooglePlaceActionDropdown.jsx +0 -42
  290. package/src/lm/google-place/actions/GooglePlaceSaveToGroupAction.jsx +0 -22
  291. package/src/lm/google-place/cell-templates/GooglePlaceBusinessInfoCellTemplate.jsx +0 -59
  292. package/src/lm/google-place/cell-templates/GooglePlaceEmailsCellTemplate.jsx +0 -34
  293. package/src/lm/google-place/cell-templates/GooglePlaceScanAction.jsx +0 -15
  294. package/src/lm/lead/action-dropdown/LeadActionDropdown.jsx +0 -39
  295. package/src/lm/lead/actions/move-to-group-action/LeadMoveToGroupAction.jsx +0 -28
  296. package/src/lm/lead/cell-templates/LeadBusinessInfoCellTemplate.jsx +0 -64
  297. package/src/lm/lead/cell-templates/LeadScanAction.jsx +0 -15
  298. package/src/lm/lead/lead-google-place/LeadGooglePlaceIndicator.jsx +0 -8
  299. package/src/lm/lead/lead-google-place/LeadGooglePlaceIndicators.jsx +0 -17
  300. package/src/lm/lead/lead-google-place/LeadGooglePlaceInfo.jsx +0 -15
  301. package/src/lm/lead/view/LeadsView.jsx +0 -8
  302. package/src/lm/pages/HomePage.jsx +0 -53
  303. package/types-output/tsconfig.tsbuildinfo +0 -1
@@ -1,155 +0,0 @@
1
- "use client";
2
- import React, { useCallback, useEffect, useState, useRef, useImperativeHandle } from "react";
3
- import { Tooltip as FdTooltip, TooltipProvider, TooltipContent, TooltipTrigger, } from "@radix-ui/react-tooltip";
4
- import * as Popover from "@radix-ui/react-popover";
5
- import { FdInput } from "@fd-component-toolbox/input/FdInput";
6
- import { FdButton } from "@fd-component-toolbox/button/FdButton";
7
- import { FdCalendar } from "@fd-component-toolbox/calendar/FdCalendar";
8
- import { FdIcon, iconNames, iconSizes } from "@fd-component-toolbox/icon/FdIcon";
9
- import { cn } from "@fd-toolbox/lib/utils";
10
- import { localizedFormat, updateHours, updateMinutes, onDateChangeHandler, onDateResetHandler, setDatePickerState, handleDatePickerOpenChange, } from "@fd-component-toolbox/datepicker/FdDatePicker.funcs";
11
- import FdLabelAnimation from "@fd-component-toolbox/animation/FdLabelAnimation";
12
- import { shortenWithEllipsis } from "@fd-toolbox/strings/strings";
13
- import { useAsyncEffect } from "@fd-toolbox/hooks/use-async-effect";
14
- import { parseUtcStringToDate } from "@fd-toolbox/dates/date-times";
15
- /**
16
- * Date and time picker component with optional time selection and form integration
17
- *
18
- * Using {@link FdDatePickerProps}
19
- *
20
- * Based on [DatePicker](https://ui.shadcn.com/docs/components/date-picker)
21
- *
22
- * @example
23
- * ```tsx
24
- * function MyComponent() {
25
- * const form = useForm({...});
26
- *
27
- * return (
28
- * <FdDatePicker
29
- * label="Meeting Date"
30
- * enableTime={true}
31
- * onDateValueChange={...}
32
- * variant="float"
33
- * form={form}
34
- * name="meetingDate"
35
- * />
36
- * );
37
- * }
38
- * ```
39
- */
40
- export function FdDatePicker({ className, enableTime, inputId, label: labelProp, onDateValueChange: onDateValueChangeProp, onTimeValueChange: onTimeValueChangeProp, date, shouldLabelAnimate, disabled, readOnly, skipAnimationOnce, form, name, variant, onOpenChange, ref, }) {
41
- const [dateValue, setDateValue] = useState();
42
- const [timeValue, setTimeValue] = useState({ hours: 0, minutes: 0 });
43
- const [label, setLabel] = useState(labelProp ?? "");
44
- const [showFullLabel, setShowFullLabel] = useState(true);
45
- const [isHovered, setIsHovered] = useState(false);
46
- const [isOpen, setIsOpen] = useState(false);
47
- const prevIsoString = useRef(undefined);
48
- useEffect(() => {
49
- if (date && date !== "") {
50
- const parseData = parseUtcStringToDate(date);
51
- setDateValue(parseData);
52
- setTimeValue({ hours: parseData.getHours(), minutes: parseData.getMinutes() });
53
- }
54
- else {
55
- setDateValue(undefined);
56
- setTimeValue({ hours: 0, minutes: 0 });
57
- }
58
- }, [date]);
59
- useEffect(() => {
60
- if (label.length > 20) {
61
- setLabel(shortenWithEllipsis(label, 20));
62
- setShowFullLabel(false);
63
- }
64
- }, [label]);
65
- useAsyncEffect(async () => {
66
- setDatePickerState(timeValue, setPrevIsoString, setFormValue, isFormReadyToUpdate(), prevIsoString?.current ?? undefined, dateValue ?? undefined, name, onDateValueChangeProp);
67
- }, [timeValue, dateValue, form, name]);
68
- const isFormReadyToUpdate = useCallback(() => {
69
- return !!(form && name);
70
- }, [form, name]);
71
- const setPrevIsoString = useCallback((isoString) => {
72
- prevIsoString.current = isoString;
73
- }, []);
74
- const setFormValue = useCallback((datePickerName, isoString) => {
75
- form?.setValue(datePickerName, isoString);
76
- }, [form]);
77
- useAsyncEffect(async () => {
78
- onTimeValueChangeProp?.(timeValue);
79
- }, [timeValue]);
80
- const onDateValueChange = useCallback((newDate) => {
81
- setDateValue(newDate);
82
- }, []);
83
- const onTimeValueChange = useCallback((operation, value) => {
84
- if (operation === "hours") {
85
- setTimeValue((prevTimeValue) => ({ ...prevTimeValue, hours: value }));
86
- }
87
- else if (operation === "minutes") {
88
- setTimeValue((prevTimeValue) => ({ ...prevTimeValue, minutes: value }));
89
- }
90
- }, [setTimeValue]);
91
- const onDateChange = useCallback((newDate) => onDateChangeHandler(timeValue, onDateValueChange, enableTime, newDate, onDateValueChangeProp), [enableTime, onDateValueChange, timeValue, onDateValueChangeProp]);
92
- const onDateReset = useCallback((event) => {
93
- onDateResetHandler(event, onDateValueChange, setTimeValue, onDateValueChangeProp);
94
- }, [onDateValueChange, setTimeValue, onDateValueChangeProp]);
95
- const onHoursChange = useCallback((v) => {
96
- updateHours(parseInt(v), timeValue, onTimeValueChange, onDateValueChange, dateValue ?? undefined);
97
- }, [timeValue, dateValue, onTimeValueChange, onDateValueChange]);
98
- const onMinutesChange = useCallback((v) => {
99
- updateMinutes(parseInt(v), timeValue, onTimeValueChange, onDateValueChange, dateValue ?? undefined);
100
- }, [timeValue, dateValue, onTimeValueChange, onDateValueChange]);
101
- const onOpenChangeCallback = useCallback((open) => {
102
- handleDatePickerOpenChange(open, setIsOpen, onOpenChange);
103
- }, [onOpenChange]);
104
- useImperativeHandle(ref, () => ({
105
- open: () => onOpenChangeCallback(true),
106
- }), [onOpenChangeCallback]);
107
- const onMouseEnter = useCallback(() => setIsHovered(true), []);
108
- const onMouseLeave = useCallback(() => setIsHovered(false), []);
109
- return (<div className={cn("relative flex w-full gap-1 text-secondary", className)}>
110
- <Popover.Root modal={true} open={isOpen && !disabled && !readOnly} onOpenChange={onOpenChangeCallback}>
111
- <Popover.Trigger asChild>
112
- <div className="w-full">
113
- {label && (<div key={Number(skipAnimationOnce)} className={cn("relative z-10 transition-opacity duration-300", dateValue ? "opacity-100" : "opacity-0")}>
114
- <FdLabelAnimation label={label} shouldAnimate={shouldLabelAnimate ?? true} skipAnimationOnce={skipAnimationOnce}/>
115
- </div>)}
116
- <TooltipProvider>
117
- <FdTooltip>
118
- <TooltipTrigger asChild className="w-full">
119
- <div className="relative w-full border-input hover:bg-background" onMouseEnter={onMouseEnter} onMouseLeave={onMouseLeave} style={{ cursor: disabled ? "not-allowed" : "default" }}>
120
- <FdButton onClick={onDateReset} variant="icon" className={cn("peer absolute right-2.5 top-1/2 size-4 -translate-y-1/2 p-0", !!dateValue && isHovered && !disabled && !readOnly
121
- ? "animate-fade-in"
122
- : "animate-fade-out")} onMouseEnter={onMouseEnter}>
123
- <FdIcon name={iconNames.cross1} size={iconSizes.extraSmall}/>
124
- </FdButton>
125
- <FdButton variant={variant ?? "float"} className="w-full justify-start gap-2 hover:disabled:cursor-not-allowed peer-hover:bg-accent peer-hover:text-accent-foreground" disabled={disabled}>
126
- <FdIcon name={iconNames.calendar} className="mr-2"/>
127
-
128
- <span className="mr-1 text-muted-foreground">
129
- {localizedFormat(label, dateValue ?? undefined)}
130
- </span>
131
- </FdButton>
132
- </div>
133
- </TooltipTrigger>
134
- <TooltipContent hidden={showFullLabel}>
135
- <p className="mb-1.5 rounded-md border bg-popover px-3 py-1.5 text-sm shadow-md">
136
- {labelProp ?? ""}
137
- </p>
138
- </TooltipContent>
139
- </FdTooltip>
140
- </TooltipProvider>
141
- </div>
142
- </Popover.Trigger>
143
- <Popover.Portal>
144
- <Popover.Content className={"z-50 mt-1 w-auto rounded-md border bg-background p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"} align="center">
145
- <FdCalendar id={inputId} mode="single" selected={dateValue ?? undefined} onSelect={onDateChange} autoFocus className="text-secondary"/>
146
- </Popover.Content>
147
- </Popover.Portal>
148
- </Popover.Root>
149
- {enableTime && (<div className="flex text-primary">
150
- <FdInput showClearIcon={false} min="0" max="23" type="number" className="w-14" value={timeValue.hours.toString() ?? ""} onChange={onHoursChange} disabled={disabled} readOnly={readOnly}/>
151
- <span className={cn("text-lg")}>:</span>
152
- <FdInput showClearIcon={false} min="0" max="59" type="number" className="w-14" value={timeValue.minutes.toString() ?? ""} onChange={onMinutesChange} disabled={disabled} readOnly={readOnly}/>
153
- </div>)}
154
- </div>);
155
- }
@@ -1,106 +0,0 @@
1
- "use client";
2
- import * as React from "react";
3
- import * as DialogPrimitive from "@radix-ui/react-dialog";
4
- import { cn } from "@fd-toolbox/lib/utils";
5
- import { FdIcon, iconNames } from "@fd-component-toolbox/icon/FdIcon";
6
- /**
7
- * Modal dialog root component
8
- *
9
- * Based on [Dialog](https://ui.shadcn.com/docs/components/dialog)
10
- *
11
- * @example
12
- * ```tsx
13
- * function MyComponent() {
14
- * const [isOpen, setIsOpen] = useState(false);
15
- *
16
- * return (
17
- * <FdDialog open={isOpen} onOpenChange={setIsOpen}>
18
- * ...
19
- * </FdDialog>
20
- * );
21
- * }
22
- * ```
23
- */
24
- const FdDialog = DialogPrimitive.Root;
25
- /**
26
- * Dialog trigger component
27
- *
28
- * Based on [Dialog.Trigger](https://ui.shadcn.com/docs/components/dialog)
29
- */
30
- const FdDialogTrigger = DialogPrimitive.Trigger;
31
- /**
32
- * Dialog portal component
33
- *
34
- * Based on [Dialog.Portal](https://ui.shadcn.com/docs/components/dialog)
35
- */
36
- const FdDialogPortal = DialogPrimitive.Portal;
37
- /**
38
- * Close button component
39
- *
40
- * Based on [Dialog.Close](https://ui.shadcn.com/docs/components/dialog)
41
- */
42
- const FdDialogClose = DialogPrimitive.Close;
43
- /**
44
- * Semi-transparent backdrop
45
- *
46
- * Based on [Dialog.Overlay](https://ui.shadcn.com/docs/components/dialog)
47
- */
48
- function FdDialogOverlay({ className, ref, ...props }) {
49
- return (<DialogPrimitive.Overlay ref={ref} className={cn("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", className)} {...props}/>);
50
- }
51
- FdDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
52
- /**
53
- * Main content container for the dialog
54
- *
55
- * Based on [Dialog.Content](https://ui.shadcn.com/docs/components/dialog)
56
- */
57
- function FdDialogContent({ className, children, isCloseButtonShown, ref, ...props }) {
58
- return (<FdDialogPortal>
59
- <FdDialogOverlay />
60
- <DialogPrimitive.Content ref={ref} className={cn("fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border bg-background p-6 shadow-lg duration-200", "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/2", "data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/2 sm:rounded-lg", className)} {...props}>
61
- {children}
62
- {(isCloseButtonShown ?? true) && (<DialogPrimitive.Close className="absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground">
63
- <FdIcon name={iconNames.cross2}/>
64
- <span className="sr-only">Close</span>
65
- </DialogPrimitive.Close>)}
66
- </DialogPrimitive.Content>
67
- </FdDialogPortal>);
68
- }
69
- FdDialogContent.displayName = DialogPrimitive.Content.displayName;
70
- /**
71
- * Dialog header
72
- *
73
- * Based on [Dialog](https://ui.shadcn.com/docs/components/dialog)
74
- */
75
- function FdDialogHeader({ className, ...props }) {
76
- return <div className={cn("flex flex-col space-y-1.5 text-center sm:text-left", className)} {...props}/>;
77
- }
78
- FdDialogHeader.displayName = "DialogHeader";
79
- /**
80
- * Dialog footer
81
- *
82
- * Based on [Dialog](https://ui.shadcn.com/docs/components/dialog)
83
- */
84
- function FdDialogFooter({ className, ...props }) {
85
- return <div className={cn("flex flex-row items-end justify-end space-x-2", className)} {...props}/>;
86
- }
87
- FdDialogFooter.displayName = "DialogFooter";
88
- /**
89
- * Title component for the dialog header
90
- *
91
- * Based on [Dialog.Title](https://ui.shadcn.com/docs/components/dialog)
92
- */
93
- function FdDialogTitle({ className, ref, ...props }) {
94
- return (<DialogPrimitive.Title ref={ref} className={cn("text-lg font-semibold leading-none tracking-tight", className)} {...props}/>);
95
- }
96
- FdDialogTitle.displayName = DialogPrimitive.Title.displayName;
97
- /**
98
- * Description text component for the dialog
99
- *
100
- * Based on [Dialog.Description](https://ui.shadcn.com/docs/components/dialog)
101
- */
102
- function FdDialogDescription({ className, ref, ...props }) {
103
- return (<DialogPrimitive.Description ref={ref} className={cn("text-sm text-muted-foreground", className)} {...props}/>);
104
- }
105
- FdDialogDescription.displayName = DialogPrimitive.Description.displayName;
106
- export { FdDialog, FdDialogPortal, FdDialogOverlay, FdDialogTrigger, FdDialogClose, FdDialogContent, FdDialogHeader, FdDialogFooter, FdDialogTitle, FdDialogDescription, };
@@ -1,57 +0,0 @@
1
- "use client";
2
- import { cn } from "@fd-toolbox/lib/utils";
3
- import { FdButton } from "@fd-component-toolbox/button/FdButton";
4
- import * as Dialog from "@radix-ui/react-dialog";
5
- import { useCallback } from "react";
6
- import { FdIcon, iconNames } from "@fd-component-toolbox/icon/FdIcon";
7
- import { onYesClick } from "@fd-component-toolbox/dialog/YesOrNoDialog.funcs";
8
- import { elements } from "@fd-toolbox/constants/elements";
9
- /**
10
- * Confirmation dialog with Yes/No or OK buttons
11
- *
12
- * @param props - {@link YesOrNoDialogProps}
13
- *
14
- * @example
15
- * ```tsx
16
- * <YesOrNoDialog title="Confirm deletion" onResponse={...} onCloseClick={...} trigger={...}/>
17
- * ```
18
- */
19
- export function YesOrNoDialog({ title, className, trigger, asTriggerChild, onResponse, onCloseClick, showNoButton, triggerCssClass, isDisabled, }) {
20
- const isShowNoButton = showNoButton ?? true;
21
- const onYesClickCallback = useCallback(() => {
22
- onYesClick(onResponse, onCloseClick);
23
- }, [onResponse, onCloseClick]);
24
- const handleOnNoClick = useCallback(() => {
25
- onResponse?.(false);
26
- }, [onResponse]);
27
- return (<Dialog.Root>
28
- <Dialog.Trigger className={triggerCssClass} asChild={asTriggerChild} disabled={isDisabled}>
29
- {trigger}
30
- </Dialog.Trigger>
31
- <Dialog.Portal>
32
- <Dialog.Overlay className={"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}/>
33
- <Dialog.Content onOpenAutoFocus={(e) => e.preventDefault()} className={cn("fixed left-1/2 top-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 border", "bg-background p-6 pt-11 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95", "data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/2 data-[state=open]:slide-in-from-left-1/2", "data-[state=open]:slide-in-from-top-1/2 sm:rounded", className)}>
34
- <div tabIndex={1}>
35
- <Dialog.Title>{title}</Dialog.Title>
36
- <Dialog.Description></Dialog.Description>
37
- <Dialog.Close className={"absolute right-4 top-4 rounded opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground"}>
38
- <FdIcon name={iconNames.cross2}/>
39
- <span className="sr-only">Close</span>
40
- </Dialog.Close>
41
- </div>
42
- <div className="flex flex-row justify-end gap-2">
43
- <Dialog.Close asChild>
44
- <FdButton id={elements.dialogButton.yes} className="rounded" onClick={onYesClickCallback} variant="outline">
45
- {isShowNoButton ? "Yes" : "Ok"}
46
- </FdButton>
47
- </Dialog.Close>
48
- {isShowNoButton && (<Dialog.Close asChild>
49
- <FdButton id={elements.dialogButton.no} onClick={handleOnNoClick}>
50
- No
51
- </FdButton>
52
- </Dialog.Close>)}
53
- </div>
54
- </Dialog.Content>
55
- </Dialog.Portal>
56
- </Dialog.Root>);
57
- }
@@ -1,19 +0,0 @@
1
- import { DndContext } from "@dnd-kit/core";
2
- /**
3
- * Drag and drop context wrapper component that provides drag and drop functionality to its children
4
- *
5
- * Using [@dnd-kit/core](https://docs.dndkit.com/)
6
- *
7
- * @param props - {@link FdDragDropContextProps}
8
- *
9
- * @example
10
- * ```tsx
11
- * <FdDragDropContext onDragEnd={...}>
12
- * ...
13
- * </FdDragDropContext>
14
- * ```
15
- */
16
- function FdDragDropContext({ children, ...props }) {
17
- return <DndContext {...props}>{children}</DndContext>;
18
- }
19
- export default FdDragDropContext;
@@ -1,27 +0,0 @@
1
- import { useDraggable } from "@dnd-kit/core";
2
- /**
3
- * Draggable wrapper component that makes its children draggable
4
- *
5
- * Using [@dnd-kit/core](https://docs.dndkit.com/)
6
- *
7
- * @param props - {@link FdDraggableProps}
8
- *
9
- * @example
10
- * ```tsx
11
- * <FdDraggable draggableId="item-1">
12
- * <div>Drag me!</div>
13
- * </FdDraggable>
14
- * ```
15
- */
16
- function FdDraggable({ draggableId, children }) {
17
- const { setNodeRef, listeners, attributes, transform, isDragging } = useDraggable({ id: draggableId });
18
- const style = {
19
- transform: transform ? `translate(${transform.x}px, ${transform.y}px)` : undefined,
20
- position: isDragging ? "fixed" : "static",
21
- zIndex: isDragging ? 9999 : "auto",
22
- };
23
- return (<div ref={setNodeRef} {...listeners} {...attributes} style={style}>
24
- {children}
25
- </div>);
26
- }
27
- export default FdDraggable;
@@ -1,22 +0,0 @@
1
- import { useDroppable } from "@dnd-kit/core";
2
- /**
3
- * Droppable zone component that can receive draggable items
4
- *
5
- * Using [@dnd-kit/core](https://docs.dndkit.com/)
6
- *
7
- * @param props - {@link FdDroppableProps}
8
- *
9
- * @example
10
- * ```tsx
11
- * <FdDroppable droppableId="drop-zone-1">
12
- * ...
13
- * </FdDroppable>
14
- * ```
15
- */
16
- function FdDroppable({ droppableId, children }) {
17
- const { setNodeRef } = useDroppable({
18
- id: droppableId,
19
- });
20
- return <div ref={setNodeRef}>{children}</div>;
21
- }
22
- export default FdDroppable;
@@ -1,198 +0,0 @@
1
- "use client";
2
- import * as React from "react";
3
- import * as FdDropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
4
- import { FdIcon, iconNames } from "@fd-component-toolbox/icon/FdIcon";
5
- import { cn } from "@fd-toolbox/lib/utils";
6
- /**
7
- * Dropdown menu root container
8
- *
9
- * Based on [DropdownMenu](https://ui.shadcn.com/docs/components/dropdown-menu)
10
- *
11
- * @example
12
- * ```tsx
13
- * function MyComponent() {
14
- const [isDropdownMenuOpen, setIsDropdownMenuOpen] = useState(false);
15
-
16
- return (
17
- <FdDropdownMenu open={isDropdownMenuOpen} onOpenChange={setIsDropdownMenuOpen}>
18
- ...
19
- </FdDropdownMenu>
20
- * );
21
- * }
22
- * ```
23
- */
24
- const FdDropdownMenu = FdDropdownMenuPrimitive.Root;
25
- /**
26
- * Dropdown menu trigger
27
- *
28
- * Based on [DropdownMenu.Trigger](https://ui.shadcn.com/docs/components/dropdown-menu)
29
- */
30
- const FdDropdownMenuTrigger = FdDropdownMenuPrimitive.Trigger;
31
- /**
32
- * Dropdown menu group container
33
- *
34
- * Based on [DropdownMenu.Group](https://ui.shadcn.com/docs/components/dropdown-menu)
35
- */
36
- const FdDropdownMenuGroup = FdDropdownMenuPrimitive.Group;
37
- /**
38
- * Dropdown menu portal
39
- *
40
- * Based on [DropdownMenu.Portal](https://ui.shadcn.com/docs/components/dropdown-menu)
41
- */
42
- const FdDropdownMenuPortal = FdDropdownMenuPrimitive.Portal;
43
- /**
44
- * Dropdown menu submenu root container
45
- *
46
- * Based on [DropdownMenu.Sub](https://ui.shadcn.com/docs/components/dropdown-menu)
47
- */
48
- const FdDropdownMenuSub = FdDropdownMenuPrimitive.Sub;
49
- /**
50
- * Based on [DropdownMenu.RadioGroup](https://ui.shadcn.com/docs/components/dropdown-menu)
51
- *
52
- * @example
53
- * ```tsx
54
- * function MyComponent() {
55
- const [radioValue, setRadioValue] = React.useState("defaultValue")
56
-
57
- return (
58
- <DropdownMenuRadioGroup value={radioValue} onValueChange={setRadioValue}>
59
- ...
60
- </DropdownMenuRadioGroup>
61
- * );
62
- * }
63
- * ```
64
- */
65
- const FdDropdownMenuRadioGroup = FdDropdownMenuPrimitive.RadioGroup;
66
- /**
67
- * Dropdown menu submenu trigger
68
- *
69
- * Based on [DropdownMenu.SubTrigger](https://ui.shadcn.com/docs/components/dropdown-menu)
70
- */
71
- function FdDropdownMenuSubTrigger({ className, inset, ref, children, ...props }) {
72
- return (<FdDropdownMenuPrimitive.SubTrigger ref={ref} className={cn("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent", inset && "pl-8", className)} {...props}>
73
- {children}
74
- <FdIcon name={iconNames.chevronRight} className="ml-auto size-4"/>
75
- </FdDropdownMenuPrimitive.SubTrigger>);
76
- }
77
- FdDropdownMenuSubTrigger.displayName = FdDropdownMenuPrimitive.SubTrigger.displayName;
78
- /**
79
- * Dropdown menu submenu content container
80
- *
81
- * Based on [DropdownMenu.SubContent](https://ui.shadcn.com/docs/components/dropdown-menu)
82
- */
83
- function FdDropdownMenuSubContent({ className, ref, ...props }) {
84
- return (<FdDropdownMenuPrimitive.SubContent ref={ref} className={cn("z-50 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", className)} {...props}/>);
85
- }
86
- FdDropdownMenuSubContent.displayName = FdDropdownMenuPrimitive.SubContent.displayName;
87
- /**
88
- * Dropdown menu content container
89
- *
90
- * Based on [DropdownMenu.Content](https://ui.shadcn.com/docs/components/dropdown-menu)
91
- *
92
- * @example
93
- * ```tsx
94
- * <FdDropdownMenuContent align="start" side="right" sideOffset={17} onMouseLeave={...}>
95
- * ...
96
- * <FdDropdownMenuContent/>
97
- * ```
98
- */
99
- function FdDropdownMenuContent({ className, ref, ...props }) {
100
- return (<FdDropdownMenuPrimitive.Portal>
101
- <FdDropdownMenuPrimitive.Content ref={ref} className={cn("z-50 mt-1 min-w-32 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md", "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2", className)} {...props}/>
102
- </FdDropdownMenuPrimitive.Portal>);
103
- }
104
- FdDropdownMenuContent.displayName = FdDropdownMenuPrimitive.Content.displayName;
105
- /**
106
- * Dropdown menu item
107
- *
108
- * Based on [DropdownMenu.Item](https://ui.shadcn.com/docs/components/dropdown-menu)
109
- *
110
- * @example
111
- * ```tsx
112
- * <FdDropdownMenuItem onSelect={...} onClick={...}>
113
- * ...
114
- * <FdDropdownMenuItem/>
115
- * ```
116
- */
117
- function FdDropdownMenuItem({ className, inset, ref, ...props }) {
118
- return (<FdDropdownMenuPrimitive.Item ref={ref} className={cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-muted/50 data-[disabled]:pointer-events-none data-[disabled]:opacity-50", inset && "pl-8", className)} {...props}/>);
119
- }
120
- FdDropdownMenuItem.displayName = FdDropdownMenuPrimitive.Item.displayName;
121
- /**
122
- * Dropdown menu checkbox item
123
- *
124
- * Based on [DropdownMenu.CheckboxItem](https://ui.shadcn.com/docs/components/dropdown-menu)
125
- *
126
- * @example
127
- * ```tsx
128
- * function MyComponent() {
129
- const [isCheckboxChecked, setIsCheckboxChecked] = useState(false);
130
-
131
- return (
132
- <DropdownMenuCheckboxItem checked={isCheckboxChecked} onCheckedChange={setIsCheckboxChecked}>
133
- ...
134
- </DropdownMenuCheckboxItem>
135
- * );
136
- * }
137
- * ```
138
- */
139
- function FdDropdownMenuCheckboxItem({ className, children, checked, ref, ...props }) {
140
- return (<FdDropdownMenuPrimitive.CheckboxItem ref={ref} className={cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-muted/50 data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className)} checked={checked} {...props}>
141
- <span className="absolute left-2 flex size-3.5 items-center justify-center">
142
- <FdDropdownMenuPrimitive.ItemIndicator>
143
- <FdIcon name={iconNames.check} className="size-4"/>
144
- </FdDropdownMenuPrimitive.ItemIndicator>
145
- </span>
146
- {children}
147
- </FdDropdownMenuPrimitive.CheckboxItem>);
148
- }
149
- FdDropdownMenuCheckboxItem.displayName = FdDropdownMenuPrimitive.CheckboxItem.displayName;
150
- /**
151
- * Dropdown menu radio item
152
- *
153
- * Based on [DropdownMenu.RadioItem](https://ui.shadcn.com/docs/components/dropdown-menu)
154
- *
155
- * @example
156
- * ```tsx
157
- <DropdownMenuRadioItem value="top">Top</DropdownMenuRadioItem>
158
- * ```
159
- */
160
- function FdDropdownMenuRadioItem({ className, children, ref, ...props }) {
161
- return (<FdDropdownMenuPrimitive.RadioItem ref={ref} className={cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-muted/50 data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className)} {...props}>
162
- <span className="absolute left-2 flex size-3.5 items-center justify-center">
163
- <FdDropdownMenuPrimitive.ItemIndicator>
164
- <FdIcon name={iconNames.dotFilled} className="size-4 fill-current"/>
165
- </FdDropdownMenuPrimitive.ItemIndicator>
166
- </span>
167
- {children}
168
- </FdDropdownMenuPrimitive.RadioItem>);
169
- }
170
- FdDropdownMenuRadioItem.displayName = FdDropdownMenuPrimitive.RadioItem.displayName;
171
- /**
172
- * Dropdown menu label
173
- *
174
- * Based on [DropdownMenu.Label](https://ui.shadcn.com/docs/components/dropdown-menu)
175
- */
176
- function FdDropdownMenuLabel({ className, inset, ref, ...props }) {
177
- return (<FdDropdownMenuPrimitive.Label ref={ref} className={cn("px-2 py-1.5 text-sm font-semibold", inset && "pl-8", className)} {...props}/>);
178
- }
179
- FdDropdownMenuLabel.displayName = FdDropdownMenuPrimitive.Label.displayName;
180
- /**
181
- * Dropdown menu separator
182
- *
183
- * Based on [DropdownMenu.Separator](https://ui.shadcn.com/docs/components/dropdown-menu)
184
- */
185
- function FdDropdownMenuSeparator({ className, ref, ...props }) {
186
- return (<FdDropdownMenuPrimitive.Separator ref={ref} className={cn("-mx-1 my-1 h-px bg-muted", className)} {...props}/>);
187
- }
188
- FdDropdownMenuSeparator.displayName = FdDropdownMenuPrimitive.Separator.displayName;
189
- /**
190
- * Dropdown menu shortcut
191
- *
192
- * Based on [DropdownMenu](https://ui.shadcn.com/docs/components/dropdown-menu)
193
- */
194
- function FdDropdownMenuShortcut({ className, ...props }) {
195
- return <span className={cn("ml-auto text-xs tracking-widest opacity-60", className)} {...props}/>;
196
- }
197
- FdDropdownMenuShortcut.displayName = "FdDropdownMenuShortcut";
198
- export { FdDropdownMenu, FdDropdownMenuTrigger, FdDropdownMenuContent, FdDropdownMenuItem, FdDropdownMenuCheckboxItem, FdDropdownMenuRadioItem, FdDropdownMenuLabel, FdDropdownMenuSeparator, FdDropdownMenuShortcut, FdDropdownMenuGroup, FdDropdownMenuPortal, FdDropdownMenuSub, FdDropdownMenuSubContent, FdDropdownMenuSubTrigger, FdDropdownMenuRadioGroup, };
@@ -1,27 +0,0 @@
1
- /**
2
- * Wrapper component for dynamic grid layout elements with configurable positioning and sizing.
3
- * Does not use its own props, but allows its parent FdDynamicLayoutDragAndDrop to extract props
4
- *
5
- * Using {@link FdDynamicComponentProps}
6
- *
7
- * @example
8
- * <FdDynamicComponent
9
- * defaultX={0}
10
- * defaultY={0}
11
- * defaultWidth={6}
12
- * defaultHeight={4}
13
- * minWidth={2}
14
- * maxWidth={12}
15
- * minHeight={2}
16
- * maxHeight={8}
17
- * static={false}
18
- * isDraggable={true}
19
- * isResizable={true}
20
- * >
21
- ...
22
- * </FdDynamicComponent>
23
- */
24
- function FdDynamicComponent({ children }) {
25
- return children;
26
- }
27
- export default FdDynamicComponent;