@pattern-stack/frontend-patterns 0.2.0-alpha.0 → 0.2.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/cli/commands/generate-hooks.ts +13 -4
  2. package/cli/src/codegen/openapi/__tests__/naming-utils.test.js +367 -0
  3. package/cli/src/codegen/openapi/client-generator.js +87 -19
  4. package/cli/src/codegen/openapi/confidence-scorer.js +93 -0
  5. package/cli/src/codegen/openapi/hook-config.js +48 -0
  6. package/cli/src/codegen/openapi/hook-generator.js +100 -62
  7. package/cli/src/codegen/openapi/naming-constants.js +98 -0
  8. package/cli/src/codegen/openapi/naming-utils.js +149 -0
  9. package/dist/atoms/components/core/Badge/Badge.d.ts +1 -1
  10. package/dist/atoms/components/data/DataTable/DataTable.d.ts.map +1 -1
  11. package/dist/atoms/components/data/DataTable/DataTable.types.d.ts +15 -3
  12. package/dist/atoms/components/data/DataTable/DataTable.types.d.ts.map +1 -1
  13. package/dist/atoms/hooks/index.d.ts +2 -0
  14. package/dist/atoms/hooks/index.d.ts.map +1 -1
  15. package/dist/atoms/hooks/useFieldMetadata.d.ts +18 -0
  16. package/dist/atoms/hooks/useFieldMetadata.d.ts.map +1 -0
  17. package/dist/atoms/hooks/useResponsiveTable.d.ts +103 -0
  18. package/dist/atoms/hooks/useResponsiveTable.d.ts.map +1 -0
  19. package/dist/atoms/primitives/sheet.d.ts +23 -0
  20. package/dist/atoms/primitives/sheet.d.ts.map +1 -0
  21. package/dist/atoms/services/auth-service.d.ts.map +1 -1
  22. package/dist/atoms/types/auth.d.ts +51 -0
  23. package/dist/atoms/types/auth.d.ts.map +1 -1
  24. package/dist/atoms/types/index.d.ts +1 -0
  25. package/dist/atoms/types/index.d.ts.map +1 -1
  26. package/dist/atoms/types/ui-config.d.ts +25 -8
  27. package/dist/atoms/types/ui-config.d.ts.map +1 -1
  28. package/dist/atoms/types/ui-metadata.d.ts +112 -0
  29. package/dist/atoms/types/ui-metadata.d.ts.map +1 -0
  30. package/dist/atoms/utils/ui-mapping.d.ts +9 -3
  31. package/dist/atoms/utils/ui-mapping.d.ts.map +1 -1
  32. package/dist/features/auth/hooks/useAuth.d.ts.map +1 -1
  33. package/dist/frontend-patterns.css +82 -0
  34. package/dist/index.d.ts +4 -1
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.es.js +1030 -248
  37. package/dist/index.es.js.map +1 -1
  38. package/dist/index.js +1031 -248
  39. package/dist/index.js.map +1 -1
  40. package/dist/molecules/layout/ListToolbar/ListToolbar.d.ts +37 -0
  41. package/dist/molecules/layout/ListToolbar/ListToolbar.d.ts.map +1 -0
  42. package/dist/molecules/layout/ListToolbar/index.d.ts +2 -0
  43. package/dist/molecules/layout/ListToolbar/index.d.ts.map +1 -0
  44. package/dist/molecules/layout/PageTitle/PageTitle.d.ts +17 -0
  45. package/dist/molecules/layout/PageTitle/PageTitle.d.ts.map +1 -0
  46. package/dist/molecules/layout/PageTitle/index.d.ts +2 -0
  47. package/dist/molecules/layout/PageTitle/index.d.ts.map +1 -0
  48. package/dist/molecules/layout/index.d.ts +2 -0
  49. package/dist/molecules/layout/index.d.ts.map +1 -1
  50. package/dist/templates/ListPageTemplate.d.ts +21 -0
  51. package/dist/templates/ListPageTemplate.d.ts.map +1 -0
  52. package/dist/templates/admin/AdminCRUDTemplate.d.ts.map +1 -1
  53. package/dist/templates/factory.d.ts.map +1 -1
  54. package/dist/templates/index.d.ts +1 -0
  55. package/dist/templates/index.d.ts.map +1 -1
  56. package/package.json +4 -3
@@ -576,6 +576,7 @@
576
576
  --color-red-500: oklch(63.7% 0.237 25.331);
577
577
  --color-red-600: oklch(57.7% 0.245 27.325);
578
578
  --color-red-800: oklch(44.4% 0.177 26.899);
579
+ --color-amber-500: oklch(76.9% 0.188 70.08);
579
580
  --color-yellow-600: oklch(68.1% 0.162 75.834);
580
581
  --color-yellow-800: oklch(47.6% 0.114 61.907);
581
582
  --color-green-100: oklch(96.2% 0.044 156.743);
@@ -601,6 +602,11 @@
601
602
  --color-black: #000;
602
603
  --color-white: #fff;
603
604
  --spacing: 0.25rem;
605
+ --breakpoint-sm: 40rem;
606
+ --breakpoint-md: 48rem;
607
+ --breakpoint-lg: 64rem;
608
+ --breakpoint-xl: 80rem;
609
+ --breakpoint-2xl: 96rem;
604
610
  --container-xs: 20rem;
605
611
  --container-sm: 24rem;
606
612
  --container-md: 28rem;
@@ -908,6 +914,9 @@
908
914
  .inset-0 {
909
915
  inset: calc(var(--spacing) * 0);
910
916
  }
917
+ .inset-x-0 {
918
+ inset-inline: calc(var(--spacing) * 0);
919
+ }
911
920
  .inset-y-0 {
912
921
  inset-block: calc(var(--spacing) * 0);
913
922
  }
@@ -1265,6 +1274,9 @@
1265
1274
  .max-h-\[90vh\] {
1266
1275
  max-height: 90vh;
1267
1276
  }
1277
+ .max-h-\[500px\] {
1278
+ max-height: 500px;
1279
+ }
1268
1280
  .min-h-0 {
1269
1281
  min-height: calc(var(--spacing) * 0);
1270
1282
  }
@@ -1460,6 +1472,21 @@
1460
1472
  .max-w-none {
1461
1473
  max-width: none;
1462
1474
  }
1475
+ .max-w-screen-2xl {
1476
+ max-width: var(--breakpoint-2xl);
1477
+ }
1478
+ .max-w-screen-lg {
1479
+ max-width: var(--breakpoint-lg);
1480
+ }
1481
+ .max-w-screen-md {
1482
+ max-width: var(--breakpoint-md);
1483
+ }
1484
+ .max-w-screen-sm {
1485
+ max-width: var(--breakpoint-sm);
1486
+ }
1487
+ .max-w-screen-xl {
1488
+ max-width: var(--breakpoint-xl);
1489
+ }
1463
1490
  .max-w-sm {
1464
1491
  max-width: var(--container-sm);
1465
1492
  }
@@ -1679,6 +1706,9 @@
1679
1706
  .gap-2 {
1680
1707
  gap: calc(var(--spacing) * 2);
1681
1708
  }
1709
+ .gap-2\.5 {
1710
+ gap: calc(var(--spacing) * 2.5);
1711
+ }
1682
1712
  .gap-3 {
1683
1713
  gap: calc(var(--spacing) * 3);
1684
1714
  }
@@ -1954,6 +1984,12 @@
1954
1984
  background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
1955
1985
  }
1956
1986
  }
1987
+ .bg-black\/80 {
1988
+ background-color: color-mix(in srgb, #000 80%, transparent);
1989
+ @supports (color: color-mix(in lab, red, red)) {
1990
+ background-color: color-mix(in oklab, var(--color-black) 80%, transparent);
1991
+ }
1992
+ }
1957
1993
  .bg-blue-100 {
1958
1994
  background-color: var(--color-blue-100);
1959
1995
  }
@@ -2347,6 +2383,9 @@
2347
2383
  .whitespace-pre-wrap {
2348
2384
  white-space: pre-wrap;
2349
2385
  }
2386
+ .text-amber-500 {
2387
+ color: var(--color-amber-500);
2388
+ }
2350
2389
  .text-black {
2351
2390
  color: var(--color-black);
2352
2391
  }
@@ -2438,6 +2477,9 @@
2438
2477
  .opacity-60 {
2439
2478
  opacity: 60%;
2440
2479
  }
2480
+ .opacity-70 {
2481
+ opacity: 70%;
2482
+ }
2441
2483
  .opacity-100 {
2442
2484
  opacity: 100%;
2443
2485
  }
@@ -2849,6 +2891,13 @@
2849
2891
  }
2850
2892
  }
2851
2893
  }
2894
+ .hover\:opacity-100 {
2895
+ &:hover {
2896
+ @media (hover: hover) {
2897
+ opacity: 100%;
2898
+ }
2899
+ }
2900
+ }
2852
2901
  .hover\:shadow {
2853
2902
  &:hover {
2854
2903
  @media (hover: hover) {
@@ -2987,6 +3036,18 @@
2987
3036
  opacity: 50%;
2988
3037
  }
2989
3038
  }
3039
+ .data-\[state\=closed\]\:duration-300 {
3040
+ &[data-state="closed"] {
3041
+ --tw-duration: 300ms;
3042
+ transition-duration: 300ms;
3043
+ }
3044
+ }
3045
+ .data-\[state\=open\]\:duration-500 {
3046
+ &[data-state="open"] {
3047
+ --tw-duration: 500ms;
3048
+ transition-duration: 500ms;
3049
+ }
3050
+ }
2990
3051
  .data-\[state\=selected\]\:bg-gray-100 {
2991
3052
  &[data-state="selected"] {
2992
3053
  background-color: var(--color-gray-100);
@@ -3032,6 +3093,11 @@
3032
3093
  width: auto;
3033
3094
  }
3034
3095
  }
3096
+ .sm\:max-w-sm {
3097
+ @media (width >= 40rem) {
3098
+ max-width: var(--container-sm);
3099
+ }
3100
+ }
3035
3101
  .sm\:cursor-default {
3036
3102
  @media (width >= 40rem) {
3037
3103
  cursor: default;
@@ -3062,6 +3128,15 @@
3062
3128
  gap: calc(var(--spacing) * 2);
3063
3129
  }
3064
3130
  }
3131
+ .sm\:space-x-2 {
3132
+ @media (width >= 40rem) {
3133
+ :where(& > :not(:last-child)) {
3134
+ --tw-space-x-reverse: 0;
3135
+ margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
3136
+ margin-inline-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
3137
+ }
3138
+ }
3139
+ }
3065
3140
  .sm\:p-3 {
3066
3141
  @media (width >= 40rem) {
3067
3142
  padding: calc(var(--spacing) * 3);
@@ -4189,6 +4264,13 @@
4189
4264
  button {
4190
4265
  font-weight: 500;
4191
4266
  }
4267
+ button svg,
4268
+ a svg,
4269
+ .inline-flex svg,
4270
+ [class*="flex"] svg {
4271
+ display: inline-block;
4272
+ flex-shrink: 0;
4273
+ }
4192
4274
  }
4193
4275
  @layer components {
4194
4276
  .content-container {
package/dist/index.d.ts CHANGED
@@ -7,9 +7,12 @@ export * from "./templates";
7
7
  export * from "./organisms";
8
8
  export { cn } from "./atoms/utils/utils";
9
9
  export { apiClient } from "./atoms/services/api/client";
10
+ export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, } from "./atoms/primitives/sheet";
10
11
  export { getFieldType, detectUIConfig } from "./atoms/utils/field-detection";
11
- export { renderField, defaultFieldRenderers } from "./atoms/utils/ui-mapping";
12
+ export { renderField, defaultFieldRenderers, normalizeFieldType } from "./atoms/utils/ui-mapping";
12
13
  export type { FieldRendererRegistry } from "./atoms/utils/ui-mapping";
14
+ export type { UIFieldType, UIFieldConfig, UIConfig, UIConfigurable, FieldRenderer, FieldFormat, } from "./atoms/types/ui-config";
15
+ export type { UIType, UIImportance, ColumnMetadata, ColumnMetadataResponse, FieldGroupMetadata, } from "./atoms/types/ui-metadata";
13
16
  export { breakpoints, responsiveScales, getResponsiveClasses, getCurrentBreakpoint, } from "./atoms/config/responsive";
14
17
  export type { Breakpoint, ResponsiveValue, DisplayMode, ResponsiveColumnConfig, } from "./atoms/config/responsive";
15
18
  export { useBreakpoint, useResponsiveValue, useMediaQuery, useMaxMediaQuery, useResponsiveClasses, useIsMobile, useIsTablet, useIsDesktop, } from "./atoms/hooks/useResponsive";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,0CAA0C,CAAC;AAClD,OAAO,aAAa,CAAC;AAErB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAS5B,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,0CAA0C,CAAC;AAClD,OAAO,aAAa,CAAC;AAErB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAS5B,OAAO,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAGxD,OAAO,EACL,KAAK,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClG,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAGtE,YAAY,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACR,cAAc,EACd,aAAa,EACb,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EACV,MAAM,EACN,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,UAAU,EACV,eAAe,EACf,WAAW,EACX,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,YAAY,GACb,MAAM,6BAA6B,CAAC;AAGrC,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC"}