@idealyst/mcp-server 1.0.92 → 1.0.94

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 (183) hide show
  1. package/dist/data/cli-commands.d.ts +2 -0
  2. package/dist/data/cli-commands.d.ts.map +1 -0
  3. package/dist/data/cli-commands.js +100 -0
  4. package/dist/data/cli-commands.js.map +1 -0
  5. package/dist/data/components/Accordion.d.ts +15 -0
  6. package/dist/data/components/Accordion.d.ts.map +1 -0
  7. package/{src/data/components/Accordion.ts → dist/data/components/Accordion.js} +26 -28
  8. package/dist/data/components/Accordion.js.map +1 -0
  9. package/dist/data/components/ActivityIndicator.d.ts +15 -0
  10. package/dist/data/components/ActivityIndicator.d.ts.map +1 -0
  11. package/{src/data/components/ActivityIndicator.ts → dist/data/components/ActivityIndicator.js} +26 -28
  12. package/dist/data/components/ActivityIndicator.js.map +1 -0
  13. package/dist/data/components/Alert.d.ts +15 -0
  14. package/dist/data/components/Alert.d.ts.map +1 -0
  15. package/{src/data/components/Alert.ts → dist/data/components/Alert.js} +28 -30
  16. package/dist/data/components/Alert.js.map +1 -0
  17. package/dist/data/components/Avatar.d.ts +15 -0
  18. package/dist/data/components/Avatar.d.ts.map +1 -0
  19. package/{src/data/components/Avatar.ts → dist/data/components/Avatar.js} +26 -28
  20. package/dist/data/components/Avatar.js.map +1 -0
  21. package/dist/data/components/Badge.d.ts +15 -0
  22. package/dist/data/components/Badge.d.ts.map +1 -0
  23. package/{src/data/components/Badge.ts → dist/data/components/Badge.js} +16 -15
  24. package/dist/data/components/Badge.js.map +1 -0
  25. package/dist/data/components/Breadcrumb.d.ts +15 -0
  26. package/dist/data/components/Breadcrumb.d.ts.map +1 -0
  27. package/{src/data/components/Breadcrumb.ts → dist/data/components/Breadcrumb.js} +27 -29
  28. package/dist/data/components/Breadcrumb.js.map +1 -0
  29. package/dist/data/components/Button.d.ts +15 -0
  30. package/dist/data/components/Button.d.ts.map +1 -0
  31. package/{src/data/components/Button.ts → dist/data/components/Button.js} +18 -17
  32. package/dist/data/components/Button.js.map +1 -0
  33. package/dist/data/components/Card.d.ts +15 -0
  34. package/dist/data/components/Card.d.ts.map +1 -0
  35. package/{src/data/components/Card.ts → dist/data/components/Card.js} +16 -15
  36. package/dist/data/components/Card.js.map +1 -0
  37. package/dist/data/components/Checkbox.d.ts +15 -0
  38. package/dist/data/components/Checkbox.d.ts.map +1 -0
  39. package/{src/data/components/Checkbox.ts → dist/data/components/Checkbox.js} +27 -29
  40. package/dist/data/components/Checkbox.js.map +1 -0
  41. package/dist/data/components/Chip.d.ts +15 -0
  42. package/dist/data/components/Chip.d.ts.map +1 -0
  43. package/{src/data/components/Chip.ts → dist/data/components/Chip.js} +19 -18
  44. package/dist/data/components/Chip.js.map +1 -0
  45. package/dist/data/components/Dialog.d.ts +15 -0
  46. package/dist/data/components/Dialog.d.ts.map +1 -0
  47. package/{src/data/components/Dialog.ts → dist/data/components/Dialog.js} +18 -17
  48. package/dist/data/components/Dialog.js.map +1 -0
  49. package/dist/data/components/Divider.d.ts +15 -0
  50. package/dist/data/components/Divider.d.ts.map +1 -0
  51. package/{src/data/components/Divider.ts → dist/data/components/Divider.js} +26 -28
  52. package/dist/data/components/Divider.js.map +1 -0
  53. package/dist/data/components/Icon.d.ts +15 -0
  54. package/dist/data/components/Icon.d.ts.map +1 -0
  55. package/{src/data/components/Icon.ts → dist/data/components/Icon.js} +26 -28
  56. package/dist/data/components/Icon.js.map +1 -0
  57. package/dist/data/components/Image.d.ts +15 -0
  58. package/dist/data/components/Image.d.ts.map +1 -0
  59. package/{src/data/components/Image.ts → dist/data/components/Image.js} +29 -31
  60. package/dist/data/components/Image.js.map +1 -0
  61. package/dist/data/components/Input.d.ts +15 -0
  62. package/dist/data/components/Input.d.ts.map +1 -0
  63. package/{src/data/components/Input.ts → dist/data/components/Input.js} +20 -19
  64. package/dist/data/components/Input.js.map +1 -0
  65. package/dist/data/components/List.d.ts +15 -0
  66. package/dist/data/components/List.d.ts.map +1 -0
  67. package/{src/data/components/List.ts → dist/data/components/List.js} +18 -17
  68. package/dist/data/components/List.js.map +1 -0
  69. package/dist/data/components/Menu.d.ts +15 -0
  70. package/dist/data/components/Menu.d.ts.map +1 -0
  71. package/{src/data/components/Menu.ts → dist/data/components/Menu.js} +27 -29
  72. package/dist/data/components/Menu.js.map +1 -0
  73. package/dist/data/components/Popover.d.ts +15 -0
  74. package/dist/data/components/Popover.d.ts.map +1 -0
  75. package/{src/data/components/Popover.ts → dist/data/components/Popover.js} +28 -30
  76. package/dist/data/components/Popover.js.map +1 -0
  77. package/dist/data/components/Pressable.d.ts +15 -0
  78. package/dist/data/components/Pressable.d.ts.map +1 -0
  79. package/{src/data/components/Pressable.ts → dist/data/components/Pressable.js} +27 -29
  80. package/dist/data/components/Pressable.js.map +1 -0
  81. package/dist/data/components/Progress.d.ts +15 -0
  82. package/dist/data/components/Progress.d.ts.map +1 -0
  83. package/{src/data/components/Progress.ts → dist/data/components/Progress.js} +27 -29
  84. package/dist/data/components/Progress.js.map +1 -0
  85. package/dist/data/components/RadioButton.d.ts +15 -0
  86. package/dist/data/components/RadioButton.d.ts.map +1 -0
  87. package/{src/data/components/RadioButton.ts → dist/data/components/RadioButton.js} +28 -30
  88. package/dist/data/components/RadioButton.js.map +1 -0
  89. package/dist/data/components/SVGImage.d.ts +15 -0
  90. package/dist/data/components/SVGImage.d.ts.map +1 -0
  91. package/{src/data/components/SVGImage.ts → dist/data/components/SVGImage.js} +27 -29
  92. package/dist/data/components/SVGImage.js.map +1 -0
  93. package/dist/data/components/Screen.d.ts +15 -0
  94. package/dist/data/components/Screen.d.ts.map +1 -0
  95. package/{src/data/components/Screen.ts → dist/data/components/Screen.js} +27 -29
  96. package/dist/data/components/Screen.js.map +1 -0
  97. package/dist/data/components/Select.d.ts +15 -0
  98. package/dist/data/components/Select.d.ts.map +1 -0
  99. package/{src/data/components/Select.ts → dist/data/components/Select.js} +30 -32
  100. package/dist/data/components/Select.js.map +1 -0
  101. package/dist/data/components/Skeleton.d.ts +15 -0
  102. package/dist/data/components/Skeleton.d.ts.map +1 -0
  103. package/{src/data/components/Skeleton.ts → dist/data/components/Skeleton.js} +27 -29
  104. package/dist/data/components/Skeleton.js.map +1 -0
  105. package/dist/data/components/Slider.d.ts +15 -0
  106. package/dist/data/components/Slider.d.ts.map +1 -0
  107. package/{src/data/components/Slider.ts → dist/data/components/Slider.js} +31 -33
  108. package/dist/data/components/Slider.js.map +1 -0
  109. package/dist/data/components/Switch.d.ts +15 -0
  110. package/dist/data/components/Switch.d.ts.map +1 -0
  111. package/{src/data/components/Switch.ts → dist/data/components/Switch.js} +28 -30
  112. package/dist/data/components/Switch.js.map +1 -0
  113. package/dist/data/components/TabBar.d.ts +15 -0
  114. package/dist/data/components/TabBar.d.ts.map +1 -0
  115. package/{src/data/components/TabBar.ts → dist/data/components/TabBar.js} +27 -29
  116. package/dist/data/components/TabBar.js.map +1 -0
  117. package/dist/data/components/Table.d.ts +15 -0
  118. package/dist/data/components/Table.d.ts.map +1 -0
  119. package/{src/data/components/Table.ts → dist/data/components/Table.js} +29 -31
  120. package/dist/data/components/Table.js.map +1 -0
  121. package/dist/data/components/Tabs.d.ts +15 -0
  122. package/dist/data/components/Tabs.d.ts.map +1 -0
  123. package/{src/data/components/Tabs.ts → dist/data/components/Tabs.js} +28 -30
  124. package/dist/data/components/Tabs.js.map +1 -0
  125. package/dist/data/components/Text.d.ts +15 -0
  126. package/dist/data/components/Text.d.ts.map +1 -0
  127. package/{src/data/components/Text.ts → dist/data/components/Text.js} +27 -29
  128. package/dist/data/components/Text.js.map +1 -0
  129. package/dist/data/components/TextArea.d.ts +15 -0
  130. package/dist/data/components/TextArea.d.ts.map +1 -0
  131. package/{src/data/components/TextArea.ts → dist/data/components/TextArea.js} +31 -33
  132. package/dist/data/components/TextArea.js.map +1 -0
  133. package/dist/data/components/Tooltip.d.ts +15 -0
  134. package/dist/data/components/Tooltip.d.ts.map +1 -0
  135. package/{src/data/components/Tooltip.ts → dist/data/components/Tooltip.js} +28 -30
  136. package/dist/data/components/Tooltip.js.map +1 -0
  137. package/dist/data/components/Video.d.ts +15 -0
  138. package/dist/data/components/Video.d.ts.map +1 -0
  139. package/{src/data/components/Video.ts → dist/data/components/Video.js} +31 -33
  140. package/dist/data/components/Video.js.map +1 -0
  141. package/dist/data/components/View.d.ts +15 -0
  142. package/dist/data/components/View.d.ts.map +1 -0
  143. package/{src/data/components/View.ts → dist/data/components/View.js} +28 -30
  144. package/dist/data/components/View.js.map +1 -0
  145. package/dist/data/components/index.d.ts +37 -0
  146. package/dist/data/components/index.d.ts.map +1 -0
  147. package/{src/data/components/index.ts → dist/data/components/index.js} +37 -38
  148. package/dist/data/components/index.js.map +1 -0
  149. package/dist/data/framework-guides.d.ts +2 -0
  150. package/dist/data/framework-guides.d.ts.map +1 -0
  151. package/{src/data/framework-guides.ts → dist/data/framework-guides.js} +307 -8
  152. package/dist/data/framework-guides.js.map +1 -0
  153. package/dist/data/icon-guide.d.ts +2 -0
  154. package/dist/data/icon-guide.d.ts.map +1 -0
  155. package/{src/data/icon-guide.ts → dist/data/icon-guide.js} +1 -0
  156. package/dist/data/icon-guide.js.map +1 -0
  157. package/dist/data/icons.json +7452 -0
  158. package/dist/data/navigation-guides.d.ts +2 -0
  159. package/dist/data/navigation-guides.d.ts.map +1 -0
  160. package/{src/data/navigation-guides.ts → dist/data/navigation-guides.js} +7 -10
  161. package/dist/data/navigation-guides.js.map +1 -0
  162. package/dist/generated/types.json +2556 -0
  163. package/dist/index.d.ts +3 -0
  164. package/dist/index.d.ts.map +1 -0
  165. package/dist/index.js +1 -1
  166. package/dist/index.js.map +1 -0
  167. package/dist/tools/get-types.d.ts +26 -0
  168. package/dist/tools/get-types.d.ts.map +1 -0
  169. package/dist/tools/get-types.js +123 -0
  170. package/dist/tools/get-types.js.map +1 -0
  171. package/package.json +10 -5
  172. package/ARCHITECTURE.md +0 -313
  173. package/TYPE-SYSTEM.md +0 -397
  174. package/scripts/extract-types.ts +0 -71
  175. package/scripts/type-extractor.ts +0 -286
  176. package/scripts/validate-examples.ts +0 -142
  177. package/src/data/cli-commands.ts +0 -103
  178. package/src/data/icons.json +0 -7452
  179. package/src/index.ts +0 -653
  180. package/src/tools/get-types.ts +0 -169
  181. package/test-client.js +0 -86
  182. package/tsconfig.examples.json +0 -14
  183. package/tsconfig.json +0 -20
@@ -1,5 +1,5 @@
1
- export const frameworkGuides: Record<string, string> = {
2
- "idealyst://framework/getting-started": `# Getting Started with Idealyst
1
+ export const frameworkGuides = {
2
+ "idealyst://framework/getting-started": `# Getting Started with Idealyst
3
3
 
4
4
  Idealyst is a modern, cross-platform framework for building React and React Native applications with a powerful component library, type-safe APIs, and monorepo tooling.
5
5
 
@@ -83,8 +83,7 @@ my-app/
83
83
  3. Define your API routes in \`packages/api\`
84
84
  4. Build your UI in \`packages/web\` or \`packages/mobile\`
85
85
  `,
86
-
87
- "idealyst://framework/components-overview": `# Idealyst Components Overview
86
+ "idealyst://framework/components-overview": `# Idealyst Components Overview
88
87
 
89
88
  Idealyst provides a comprehensive library of cross-platform React components organized into categories.
90
89
 
@@ -185,8 +184,7 @@ All components use the Unistyles theming system:
185
184
  import { Button, Card, Text, View } from '@idealyst/components';
186
185
  \`\`\`
187
186
  `,
188
-
189
- "idealyst://framework/theming": `# Theming Guide
187
+ "idealyst://framework/theming": `# Theming Guide
190
188
 
191
189
  Idealyst uses react-native-unistyles for cross-platform theming with full TypeScript support.
192
190
 
@@ -379,8 +377,7 @@ const styles = StyleSheet.create(theme => ({
379
377
  }));
380
378
  \`\`\`
381
379
  `,
382
-
383
- "idealyst://framework/cli": `# Idealyst CLI Reference
380
+ "idealyst://framework/cli": `# Idealyst CLI Reference
384
381
 
385
382
  The Idealyst CLI provides commands for creating and managing Idealyst projects.
386
383
 
@@ -589,5 +586,307 @@ workspace/
589
586
  6. **Documentation**: Add README files to packages
590
587
  7. **Git**: Use conventional commits
591
588
  8. **Dependencies**: Share dependencies across packages when possible
589
+ `,
590
+ "idealyst://framework/api-overview": `# API Architecture Overview
591
+
592
+ Idealyst provides a dual API architecture with both tRPC and GraphQL, giving you flexibility for different use cases.
593
+
594
+ ## When to Use Each
595
+
596
+ ### tRPC (Type-Safe RPC)
597
+ - **Best for**: Internal clients, same-team consumption
598
+ - **Benefits**: End-to-end type safety, no code generation, fast development
599
+ - **Use when**: Your frontend and backend are TypeScript
600
+
601
+ ### GraphQL
602
+ - **Best for**: Public APIs, third-party integrations, mobile apps
603
+ - **Benefits**: Flexible queries, schema documentation, wide ecosystem
604
+ - **Use when**: You need schema introspection or have non-TypeScript clients
605
+
606
+ ## Architecture
607
+
608
+ Both APIs run on the same Express server:
609
+
610
+ \`\`\`
611
+ Server (port 3000)
612
+ ├── /trpc/* → tRPC handlers
613
+ ├── /graphql → GraphQL Yoga endpoint
614
+ └── Shared context (database, auth)
615
+ \`\`\`
616
+
617
+ ## File Structure
618
+
619
+ \`\`\`
620
+ packages/api/src/
621
+ ├── routers/ # tRPC routers
622
+ │ ├── index.ts # Root router
623
+ │ └── test.ts # Example router
624
+ ├── graphql/ # GraphQL setup
625
+ │ ├── builder.ts # Pothos schema builder
626
+ │ ├── index.ts # Yoga server setup
627
+ │ └── types/ # GraphQL type definitions
628
+ │ └── test.ts # Example types
629
+ ├── context.ts # Shared context
630
+ ├── server.ts # Express server
631
+ └── index.ts # Entry point
632
+ \`\`\`
633
+
634
+ ## Shared Context
635
+
636
+ Both APIs share the same context:
637
+
638
+ \`\`\`typescript
639
+ // context.ts
640
+ export interface Context {
641
+ db: PrismaClient;
642
+ // Add auth, session, etc.
643
+ }
644
+
645
+ export async function createContext(): Promise<Context> {
646
+ return {
647
+ db: prisma,
648
+ };
649
+ }
650
+ \`\`\`
651
+
652
+ ## Client Setup
653
+
654
+ The shared package provides clients for both:
655
+
656
+ \`\`\`typescript
657
+ // In your App component
658
+ import { createTRPCClient, createGraphQLClient } from '@your-app/shared';
659
+
660
+ // tRPC - automatic type inference
661
+ const trpcClient = createTRPCClient({ apiUrl: 'http://localhost:3000/trpc' });
662
+
663
+ // GraphQL - manual queries with graphql-request
664
+ createGraphQLClient({ apiUrl: 'http://localhost:3000/graphql' });
665
+ \`\`\`
666
+
667
+ ## Migration Path
668
+
669
+ Start with tRPC for rapid development, add GraphQL when you need:
670
+ - Public API documentation
671
+ - Third-party integrations
672
+ - Schema-first development
673
+ - Non-TypeScript clients
674
+ `,
675
+ "idealyst://framework/graphql-setup": `# GraphQL Setup Guide
676
+
677
+ Idealyst uses Pothos (code-first schema) with GraphQL Yoga server, integrated with Prisma.
678
+
679
+ ## Server Setup
680
+
681
+ ### 1. Schema Builder (builder.ts)
682
+
683
+ \`\`\`typescript
684
+ import SchemaBuilder from '@pothos/core';
685
+ import PrismaPlugin from '@pothos/plugin-prisma';
686
+ import type PrismaTypes from './generated';
687
+ import { prisma } from '@your-app/database';
688
+
689
+ export const builder = new SchemaBuilder<{
690
+ PrismaTypes: PrismaTypes;
691
+ Context: { db: typeof prisma };
692
+ }>({
693
+ plugins: [PrismaPlugin],
694
+ prisma: {
695
+ client: prisma,
696
+ },
697
+ });
698
+
699
+ // Initialize Query and Mutation types
700
+ builder.queryType({});
701
+ builder.mutationType({});
702
+ \`\`\`
703
+
704
+ ### 2. Generate Prisma Types
705
+
706
+ \`\`\`bash
707
+ # In packages/api
708
+ npx prisma generate --generator pothos
709
+ \`\`\`
710
+
711
+ Add to your prisma schema:
712
+
713
+ \`\`\`prisma
714
+ generator pothos {
715
+ provider = "prisma-pothos-types"
716
+ output = "../src/graphql/generated.ts"
717
+ }
718
+ \`\`\`
719
+
720
+ ### 3. Define Types (types/example.ts)
721
+
722
+ \`\`\`typescript
723
+ import { builder } from '../builder';
724
+
725
+ // Object type from Prisma model
726
+ builder.prismaObject('Test', {
727
+ fields: (t) => ({
728
+ id: t.exposeID('id'),
729
+ name: t.exposeString('name'),
730
+ message: t.exposeString('message'),
731
+ status: t.exposeString('status'),
732
+ createdAt: t.expose('createdAt', { type: 'DateTime' }),
733
+ }),
734
+ });
735
+
736
+ // Input type for mutations
737
+ const CreateTestInput = builder.inputType('CreateTestInput', {
738
+ fields: (t) => ({
739
+ name: t.string({ required: true }),
740
+ message: t.string({ required: true }),
741
+ status: t.string({ required: true }),
742
+ }),
743
+ });
744
+
745
+ // Query
746
+ builder.queryField('tests', (t) =>
747
+ t.prismaField({
748
+ type: ['Test'],
749
+ args: {
750
+ take: t.arg.int(),
751
+ skip: t.arg.int(),
752
+ },
753
+ resolve: async (query, _root, args, ctx) =>
754
+ ctx.db.test.findMany({
755
+ ...query,
756
+ take: args.take ?? 10,
757
+ skip: args.skip ?? 0,
758
+ orderBy: { createdAt: 'desc' },
759
+ }),
760
+ })
761
+ );
762
+
763
+ // Mutation
764
+ builder.mutationField('createTest', (t) =>
765
+ t.prismaField({
766
+ type: 'Test',
767
+ args: {
768
+ input: t.arg({ type: CreateTestInput, required: true }),
769
+ },
770
+ resolve: async (query, _root, args, ctx) =>
771
+ ctx.db.test.create({
772
+ ...query,
773
+ data: args.input,
774
+ }),
775
+ })
776
+ );
777
+ \`\`\`
778
+
779
+ ### 4. Yoga Server (index.ts)
780
+
781
+ \`\`\`typescript
782
+ import { createYoga } from 'graphql-yoga';
783
+ import { builder } from './builder';
784
+ import './types/test'; // Import all type definitions
785
+
786
+ export const yoga = createYoga({
787
+ schema: builder.toSchema(),
788
+ graphqlEndpoint: '/graphql',
789
+ });
790
+ \`\`\`
791
+
792
+ ### 5. Mount in Express (server.ts)
793
+
794
+ \`\`\`typescript
795
+ import express from 'express';
796
+ import { yoga } from './graphql';
797
+
798
+ const app = express();
799
+
800
+ // GraphQL endpoint
801
+ app.use('/graphql', yoga);
802
+
803
+ // tRPC endpoint
804
+ app.use('/trpc', trpcMiddleware);
805
+ \`\`\`
806
+
807
+ ## Client Setup
808
+
809
+ ### 1. GraphQL Client (shared/src/graphql/client.ts)
810
+
811
+ \`\`\`typescript
812
+ import { GraphQLClient } from 'graphql-request';
813
+
814
+ let client: GraphQLClient | null = null;
815
+
816
+ export function createGraphQLClient(config: { apiUrl: string }) {
817
+ client = new GraphQLClient(config.apiUrl);
818
+ return client;
819
+ }
820
+
821
+ export function getGraphQLClient(): GraphQLClient {
822
+ if (!client) throw new Error('GraphQL client not initialized');
823
+ return client;
824
+ }
825
+
826
+ export { gql } from 'graphql-request';
827
+ \`\`\`
828
+
829
+ ### 2. Using with React Query
830
+
831
+ \`\`\`typescript
832
+ import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';
833
+ import { getGraphQLClient, gql } from '../graphql/client';
834
+
835
+ const TESTS_QUERY = gql\`
836
+ query GetTests($take: Int) {
837
+ tests(take: $take) {
838
+ id
839
+ name
840
+ message
841
+ }
842
+ }
843
+ \`;
844
+
845
+ const CREATE_TEST = gql\`
846
+ mutation CreateTest($input: CreateTestInput!) {
847
+ createTest(input: $input) {
848
+ id
849
+ name
850
+ }
851
+ }
852
+ \`;
853
+
854
+ // Query hook
855
+ const { data, isLoading } = useQuery({
856
+ queryKey: ['graphql', 'tests'],
857
+ queryFn: () => getGraphQLClient().request(TESTS_QUERY, { take: 10 }),
858
+ });
859
+
860
+ // Mutation hook
861
+ const queryClient = useQueryClient();
862
+ const mutation = useMutation({
863
+ mutationFn: (input) => getGraphQLClient().request(CREATE_TEST, { input }),
864
+ onSuccess: () => {
865
+ queryClient.invalidateQueries({ queryKey: ['graphql', 'tests'] });
866
+ },
867
+ });
868
+ \`\`\`
869
+
870
+ ## GraphQL Playground
871
+
872
+ Access the GraphQL playground at:
873
+ \`\`\`
874
+ http://localhost:3000/graphql
875
+ \`\`\`
876
+
877
+ Features:
878
+ - Schema explorer
879
+ - Query autocompletion
880
+ - Documentation browser
881
+ - Query history
882
+
883
+ ## Best Practices
884
+
885
+ 1. **Use Input Types**: Always use input types for mutations
886
+ 2. **Pagination**: Implement cursor-based pagination for lists
887
+ 3. **Error Handling**: Use Pothos error types
888
+ 4. **Authorization**: Add auth checks in resolvers
889
+ 5. **N+1 Prevention**: Use Prisma's query optimization
592
890
  `,
593
891
  };
892
+ //# sourceMappingURL=framework-guides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"framework-guides.js","sourceRoot":"","sources":["../../src/data/framework-guides.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAA2B;IACrD,sCAAsC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFzC;IAEC,0CAA0C,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoG7C;IAEC,8BAA8B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgMjC;IAEC,0BAA0B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiN7B;IAEC,mCAAmC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFtC;IAEC,oCAAoC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuNvC;CACA,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const iconGuide = "# Material Design Icons Reference\n\nIdealyst uses Material Design Icons (@mdi/react) with **7,447 icons** available.\n\n## Icon Usage\n\n### In Components\n\nIcons can be used by providing the icon name as a string:\n\n```tsx\nimport { Button, Icon, List, Badge } from '@idealyst/components';\n\n// Button with icon\n<Button icon=\"check\">Save</Button>\n\n// Standalone Icon\n<Icon name=\"home\" size=\"md\" color=\"primary\" />\n\n// List with icons\n<ListItem label=\"Settings\" leading=\"cog\" trailing=\"chevron-right\" />\n\n// Badge with icon\n<Badge icon=\"star\">Featured</Badge>\n```\n\n### Icon Properties\n\n```tsx\n<Icon\n name=\"home\" // Icon name (required)\n size=\"xs|sm|md|lg|xl|number\" // Icon size\n color=\"primary|secondary|...\" // Theme color\n/>\n```\n\n## Common Icons by Category\n\n### Navigation & Actions\n- **home** - Home/dashboard\n- **menu** - Hamburger menu\n- **arrow-left** - Back/previous\n- **arrow-right** - Forward/next\n- **chevron-left** - Small back arrow\n- **chevron-right** - Small forward arrow\n- **chevron-up** - Collapse/up\n- **chevron-down** - Expand/down\n- **close** - Close/dismiss\n- **check** - Confirm/success\n- **plus** - Add/create\n- **minus** - Remove/subtract\n- **delete** - Delete/trash\n- **dots-vertical** - More options (vertical)\n- **dots-horizontal** - More options (horizontal)\n\n### User & Account\n- **account** - User profile\n- **account-circle** - User avatar\n- **account-multiple** - Multiple users/team\n- **account-plus** - Add user\n- **account-minus** - Remove user\n- **account-edit** - Edit profile\n- **account-cog** - User settings\n- **login** - Login/sign in\n- **logout** - Logout/sign out\n- **account-key** - Authentication\n\n### Communication\n- **email** - Email/mail\n- **email-outline** - Email outline variant\n- **message** - Message/chat\n- **message-text** - Text message\n- **message-reply** - Reply to message\n- **phone** - Phone/call\n- **bell** - Notifications\n- **bell-outline** - Notifications outline\n- **comment** - Comment/feedback\n- **forum** - Discussion/forum\n\n### File & Document\n- **file** - Generic file\n- **file-document** - Document\n- **file-pdf** - PDF file\n- **file-image** - Image file\n- **folder** - Folder\n- **folder-open** - Open folder\n- **download** - Download\n- **upload** - Upload\n- **attachment** - Attach file\n- **cloud-upload** - Cloud upload\n- **cloud-download** - Cloud download\n\n### Media\n- **play** - Play media\n- **pause** - Pause media\n- **stop** - Stop media\n- **skip-next** - Next track\n- **skip-previous** - Previous track\n- **volume-high** - High volume\n- **volume-low** - Low volume\n- **volume-off** - Muted\n- **image** - Picture/photo\n- **camera** - Camera\n- **video** - Video\n\n### Edit & Create\n- **pencil** - Edit\n- **pencil-outline** - Edit outline\n- **content-save** - Save\n- **content-copy** - Copy\n- **content-cut** - Cut\n- **content-paste** - Paste\n- **undo** - Undo\n- **redo** - Redo\n- **format-bold** - Bold text\n- **format-italic** - Italic text\n- **format-underline** - Underline text\n\n### Status & Alerts\n- **check-circle** - Success\n- **check-circle-outline** - Success outline\n- **alert** - Warning\n- **alert-circle** - Alert circle\n- **alert-octagon** - Critical alert\n- **information** - Information\n- **information-outline** - Info outline\n- **help-circle** - Help/question\n- **close-circle** - Error\n- **clock** - Time/pending\n\n### UI Elements\n- **magnify** - Search\n- **filter** - Filter\n- **sort** - Sort\n- **tune** - Settings/adjust\n- **cog** - Settings\n- **palette** - Theme/colors\n- **eye** - View/visible\n- **eye-off** - Hidden\n- **heart** - Favorite/like\n- **heart-outline** - Like outline\n- **star** - Star/rating\n- **star-outline** - Star outline\n- **bookmark** - Bookmark\n- **bookmark-outline** - Bookmark outline\n\n### Shopping & Commerce\n- **cart** - Shopping cart\n- **cart-outline** - Cart outline\n- **cash** - Money/payment\n- **credit-card** - Credit card\n- **tag** - Tag/label\n- **sale** - Sale/discount\n- **receipt** - Receipt\n- **store** - Store/shop\n\n### Social\n- **share** - Share\n- **share-variant** - Share variant\n- **thumb-up** - Like/upvote\n- **thumb-down** - Dislike/downvote\n- **emoticon** - Emoji/mood\n- **emoticon-happy** - Happy\n- **emoticon-sad** - Sad\n\n### Location & Map\n- **map** - Map\n- **map-marker** - Location pin\n- **navigation** - Navigation\n- **compass** - Compass\n- **earth** - Globe/world\n\n### Calendar & Time\n- **calendar** - Calendar\n- **calendar-today** - Today\n- **calendar-month** - Month view\n- **clock-outline** - Clock\n- **timer** - Timer\n\n### Device & Hardware\n- **laptop** - Laptop\n- **cellphone** - Mobile phone\n- **tablet** - Tablet\n- **desktop-mac** - Desktop\n- **monitor** - Monitor\n- **printer** - Printer\n- **wifi** - WiFi\n- **bluetooth** - Bluetooth\n\n### Weather\n- **weather-sunny** - Sunny\n- **weather-cloudy** - Cloudy\n- **weather-rainy** - Rainy\n- **weather-snowy** - Snowy\n- **weather-night** - Night\n- **white-balance-sunny** - Light mode\n- **weather-night** - Dark mode\n\n## Finding Icons\n\n### Total Available Icons\n**7,447 icons** from Material Design Icons\n\n### Browse All Icons\nVisit: https://pictogrammers.com/library/mdi/\n\n### Search Patterns\nIcons follow naming patterns:\n- Base name: `home`, `account`, `file`\n- Variants: `-outline`, `-filled`, `-off`, `-plus`, `-minus`\n- Combinations: `account-plus`, `file-document-outline`\n\n### Common Suffixes\n- **-outline**: Outline version\n- **-off**: Disabled/off state\n- **-plus**: Add/create\n- **-minus**: Remove/subtract\n- **-edit**: Edit action\n- **-check**: Verified/checked\n- **-alert**: Warning state\n\n## Icon Naming Tips\n\n1. **Be Specific**: Use descriptive names\n - \u2705 `account-circle` for user avatar\n - \u274C `user` (not available)\n\n2. **Check Variants**: Try outline versions\n - `email` and `email-outline`\n - `heart` and `heart-outline`\n\n3. **Common Prefixes**:\n - `account-*`: User-related\n - `file-*`: File-related\n - `folder-*`: Folder-related\n - `arrow-*`: Arrows\n - `chevron-*`: Small arrows\n - `content-*`: Content actions\n\n4. **Use Hyphens**: Icon names use kebab-case\n - \u2705 `arrow-left`\n - \u274C `arrowLeft` or `arrow_left`\n\n## Best Practices\n\n1. **Semantic Meaning**: Choose icons that match their function\n2. **Consistency**: Use the same icon for the same action throughout the app\n3. **Size Appropriately**: Match icon size to context\n4. **Color Purposefully**: Use theme colors for semantic meaning\n5. **Accessibility**: Always provide labels/tooltips for icon-only buttons\n\n## Examples\n\n### Button Icons\n```tsx\n<Button icon=\"content-save\">Save</Button>\n<Button icon=\"delete\" intent=\"error\">Delete</Button>\n<Button icon=\"pencil\">Edit</Button>\n<Button icon=\"plus\">Add New</Button>\n```\n\n### List Icons\n```tsx\n<ListItem label=\"Dashboard\" leading=\"view-dashboard\" />\n<ListItem label=\"Users\" leading=\"account-multiple\" />\n<ListItem label=\"Settings\" leading=\"cog\" />\n<ListItem label=\"Logout\" leading=\"logout\" intent=\"error\" />\n```\n\n### Navigation Icons\n```tsx\n<Button icon=\"arrow-left\" variant=\"text\">Back</Button>\n<Button icon=\"menu\" variant=\"text\">Menu</Button>\n<Button icon=\"close\" variant=\"text\">Close</Button>\n```\n\n### Status Icons\n```tsx\n<Icon name=\"check-circle\" color=\"success\" />\n<Icon name=\"alert-circle\" color=\"warning\" />\n<Icon name=\"close-circle\" color=\"error\" />\n<Icon name=\"information-outline\" color=\"primary\" />\n```\n";
2
+ //# sourceMappingURL=icon-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-guide.d.ts","sourceRoot":"","sources":["../../src/data/icon-guide.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,8+OA2RrB,CAAC"}
@@ -282,3 +282,4 @@ Icons follow naming patterns:
282
282
  <Icon name="information-outline" color="primary" />
283
283
  \`\`\`
284
284
  `;
285
+ //# sourceMappingURL=icon-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-guide.js","sourceRoot":"","sources":["../../src/data/icon-guide.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2RxB,CAAC"}