asterui 0.12.6 → 0.12.8

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 (176) hide show
  1. package/dist/components/Container.d.ts +7 -1
  2. package/dist/components/Fieldset.d.ts +6 -0
  3. package/dist/components/Filter.d.ts +27 -0
  4. package/dist/components/FloatButton.d.ts +50 -11
  5. package/dist/components/Grid.d.ts +1 -1
  6. package/dist/components/Modal.d.ts +7 -2
  7. package/dist/components/ThemeController.d.ts +12 -4
  8. package/dist/index.d.ts +4 -2
  9. package/dist/index.js +167 -165
  10. package/dist/index.js.map +1 -1
  11. package/dist/index100.js +44 -11
  12. package/dist/index100.js.map +1 -1
  13. package/dist/index101.js +10 -12
  14. package/dist/index101.js.map +1 -1
  15. package/dist/index102.js +14 -7
  16. package/dist/index102.js.map +1 -1
  17. package/dist/index103.js +7 -12
  18. package/dist/index103.js.map +1 -1
  19. package/dist/index104.js +11 -29
  20. package/dist/index104.js.map +1 -1
  21. package/dist/index105.js +29 -16
  22. package/dist/index105.js.map +1 -1
  23. package/dist/index106.js +21 -0
  24. package/dist/index106.js.map +1 -0
  25. package/dist/index18.js +23 -15
  26. package/dist/index18.js.map +1 -1
  27. package/dist/index2.js +41 -34
  28. package/dist/index2.js.map +1 -1
  29. package/dist/index21.js +1 -1
  30. package/dist/index25.js +8 -8
  31. package/dist/index25.js.map +1 -1
  32. package/dist/index27.js +13 -8
  33. package/dist/index27.js.map +1 -1
  34. package/dist/index29.js +50 -61
  35. package/dist/index29.js.map +1 -1
  36. package/dist/index30.js +60 -77
  37. package/dist/index30.js.map +1 -1
  38. package/dist/index31.js +184 -18
  39. package/dist/index31.js.map +1 -1
  40. package/dist/index32.js +15 -217
  41. package/dist/index32.js.map +1 -1
  42. package/dist/index33.js +216 -1078
  43. package/dist/index33.js.map +1 -1
  44. package/dist/index34.js +1086 -17
  45. package/dist/index34.js.map +1 -1
  46. package/dist/index35.js +17 -121
  47. package/dist/index35.js.map +1 -1
  48. package/dist/index36.js +119 -37
  49. package/dist/index36.js.map +1 -1
  50. package/dist/index37.js +34 -208
  51. package/dist/index37.js.map +1 -1
  52. package/dist/index38.js +214 -97
  53. package/dist/index38.js.map +1 -1
  54. package/dist/index39.js +93 -158
  55. package/dist/index39.js.map +1 -1
  56. package/dist/index40.js +155 -139
  57. package/dist/index40.js.map +1 -1
  58. package/dist/index41.js +146 -15
  59. package/dist/index41.js.map +1 -1
  60. package/dist/index42.js +15 -17
  61. package/dist/index42.js.map +1 -1
  62. package/dist/index43.js +17 -21
  63. package/dist/index43.js.map +1 -1
  64. package/dist/index44.js +18 -116
  65. package/dist/index44.js.map +1 -1
  66. package/dist/index45.js +116 -10
  67. package/dist/index45.js.map +1 -1
  68. package/dist/index46.js +13 -35
  69. package/dist/index46.js.map +1 -1
  70. package/dist/index47.js +35 -34
  71. package/dist/index47.js.map +1 -1
  72. package/dist/index48.js +34 -116
  73. package/dist/index48.js.map +1 -1
  74. package/dist/index49.js +114 -174
  75. package/dist/index49.js.map +1 -1
  76. package/dist/index50.js +165 -136
  77. package/dist/index50.js.map +1 -1
  78. package/dist/index51.js +146 -11
  79. package/dist/index51.js.map +1 -1
  80. package/dist/index52.js +10 -20
  81. package/dist/index52.js.map +1 -1
  82. package/dist/index53.js +22 -14
  83. package/dist/index53.js.map +1 -1
  84. package/dist/index54.js +14 -7
  85. package/dist/index54.js.map +1 -1
  86. package/dist/index55.js +6 -268
  87. package/dist/index55.js.map +1 -1
  88. package/dist/index56.js +311 -17
  89. package/dist/index56.js.map +1 -1
  90. package/dist/index57.js +17 -122
  91. package/dist/index57.js.map +1 -1
  92. package/dist/index58.js +120 -108
  93. package/dist/index58.js.map +1 -1
  94. package/dist/index59.js +107 -167
  95. package/dist/index59.js.map +1 -1
  96. package/dist/index60.js +167 -29
  97. package/dist/index60.js.map +1 -1
  98. package/dist/index61.js +30 -120
  99. package/dist/index61.js.map +1 -1
  100. package/dist/index62.js +116 -80
  101. package/dist/index62.js.map +1 -1
  102. package/dist/index63.js +85 -19
  103. package/dist/index63.js.map +1 -1
  104. package/dist/index64.js +19 -73
  105. package/dist/index64.js.map +1 -1
  106. package/dist/index65.js +71 -54
  107. package/dist/index65.js.map +1 -1
  108. package/dist/index66.js +56 -44
  109. package/dist/index66.js.map +1 -1
  110. package/dist/index67.js +42 -49
  111. package/dist/index67.js.map +1 -1
  112. package/dist/index68.js +52 -62
  113. package/dist/index68.js.map +1 -1
  114. package/dist/index69.js +56 -101
  115. package/dist/index69.js.map +1 -1
  116. package/dist/index70.js +107 -41
  117. package/dist/index70.js.map +1 -1
  118. package/dist/index71.js +41 -68
  119. package/dist/index71.js.map +1 -1
  120. package/dist/index72.js +66 -19
  121. package/dist/index72.js.map +1 -1
  122. package/dist/index73.js +18 -43
  123. package/dist/index73.js.map +1 -1
  124. package/dist/index74.js +44 -132
  125. package/dist/index74.js.map +1 -1
  126. package/dist/index75.js +132 -50
  127. package/dist/index75.js.map +1 -1
  128. package/dist/index76.js +51 -21
  129. package/dist/index76.js.map +1 -1
  130. package/dist/index77.js +22 -31
  131. package/dist/index77.js.map +1 -1
  132. package/dist/index78.js +31 -22
  133. package/dist/index78.js.map +1 -1
  134. package/dist/index79.js +20 -327
  135. package/dist/index79.js.map +1 -1
  136. package/dist/index80.js +323 -50
  137. package/dist/index80.js.map +1 -1
  138. package/dist/index81.js +56 -40
  139. package/dist/index81.js.map +1 -1
  140. package/dist/index82.js +40 -23
  141. package/dist/index82.js.map +1 -1
  142. package/dist/index83.js +21 -93
  143. package/dist/index83.js.map +1 -1
  144. package/dist/index84.js +88 -123
  145. package/dist/index84.js.map +1 -1
  146. package/dist/index85.js +147 -152
  147. package/dist/index85.js.map +1 -1
  148. package/dist/index86.js +159 -63
  149. package/dist/index86.js.map +1 -1
  150. package/dist/index87.js +65 -35
  151. package/dist/index87.js.map +1 -1
  152. package/dist/index88.js +35 -234
  153. package/dist/index88.js.map +1 -1
  154. package/dist/index89.js +231 -31
  155. package/dist/index89.js.map +1 -1
  156. package/dist/index90.js +34 -210
  157. package/dist/index90.js.map +1 -1
  158. package/dist/index91.js +195 -198
  159. package/dist/index91.js.map +1 -1
  160. package/dist/index92.js +159 -241
  161. package/dist/index92.js.map +1 -1
  162. package/dist/index93.js +283 -166
  163. package/dist/index93.js.map +1 -1
  164. package/dist/index94.js +173 -253
  165. package/dist/index94.js.map +1 -1
  166. package/dist/index95.js +258 -14
  167. package/dist/index95.js.map +1 -1
  168. package/dist/index96.js +12 -31
  169. package/dist/index96.js.map +1 -1
  170. package/dist/index97.js +32 -5
  171. package/dist/index97.js.map +1 -1
  172. package/dist/index98.js +5 -13
  173. package/dist/index98.js.map +1 -1
  174. package/dist/index99.js +11 -43
  175. package/dist/index99.js.map +1 -1
  176. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index33.js","sources":["../src/components/Grid.tsx"],"sourcesContent":["import React from 'react'\n\nconst GridContext = React.createContext<{ cols: 24 | 120 }>({ cols: 24 })\n\nexport interface RowProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n cols?: 24 | 120\n gutter?: number | [number, number]\n justify?: 'start' | 'end' | 'center' | 'between' | 'around' | 'evenly'\n align?: 'start' | 'end' | 'center' | 'stretch' | 'baseline'\n}\n\nexport interface ColProps extends React.HTMLAttributes<HTMLDivElement> {\n children: React.ReactNode\n span?: number\n offset?: number\n order?: number\n xs?: number\n sm?: number\n md?: number\n lg?: number\n xl?: number\n xxl?: number\n}\n\n// Explicit class mappings - Tailwind v4 supports any grid value natively\nconst COL_SPAN_CLASSES: Record<number, string> = {\n 1: 'col-span-1', 2: 'col-span-2', 3: 'col-span-3', 4: 'col-span-4',\n 5: 'col-span-5', 6: 'col-span-6', 7: 'col-span-7', 8: 'col-span-8',\n 9: 'col-span-9', 10: 'col-span-10', 11: 'col-span-11', 12: 'col-span-12',\n 13: 'col-span-13', 14: 'col-span-14', 15: 'col-span-15', 16: 'col-span-16',\n 17: 'col-span-17', 18: 'col-span-18', 19: 'col-span-19', 20: 'col-span-20',\n 21: 'col-span-21', 22: 'col-span-22', 23: 'col-span-23', 24: 'col-span-24',\n}\n\nconst SM_COL_SPAN_CLASSES: Record<number, string> = {\n 1: 'sm:col-span-1', 2: 'sm:col-span-2', 3: 'sm:col-span-3', 4: 'sm:col-span-4',\n 5: 'sm:col-span-5', 6: 'sm:col-span-6', 7: 'sm:col-span-7', 8: 'sm:col-span-8',\n 9: 'sm:col-span-9', 10: 'sm:col-span-10', 11: 'sm:col-span-11', 12: 'sm:col-span-12',\n 13: 'sm:col-span-13', 14: 'sm:col-span-14', 15: 'sm:col-span-15', 16: 'sm:col-span-16',\n 17: 'sm:col-span-17', 18: 'sm:col-span-18', 19: 'sm:col-span-19', 20: 'sm:col-span-20',\n 21: 'sm:col-span-21', 22: 'sm:col-span-22', 23: 'sm:col-span-23', 24: 'sm:col-span-24',\n}\n\nconst MD_COL_SPAN_CLASSES: Record<number, string> = {\n 1: 'md:col-span-1', 2: 'md:col-span-2', 3: 'md:col-span-3', 4: 'md:col-span-4',\n 5: 'md:col-span-5', 6: 'md:col-span-6', 7: 'md:col-span-7', 8: 'md:col-span-8',\n 9: 'md:col-span-9', 10: 'md:col-span-10', 11: 'md:col-span-11', 12: 'md:col-span-12',\n 13: 'md:col-span-13', 14: 'md:col-span-14', 15: 'md:col-span-15', 16: 'md:col-span-16',\n 17: 'md:col-span-17', 18: 'md:col-span-18', 19: 'md:col-span-19', 20: 'md:col-span-20',\n 21: 'md:col-span-21', 22: 'md:col-span-22', 23: 'md:col-span-23', 24: 'md:col-span-24',\n}\n\nconst LG_COL_SPAN_CLASSES: Record<number, string> = {\n 1: 'lg:col-span-1', 2: 'lg:col-span-2', 3: 'lg:col-span-3', 4: 'lg:col-span-4',\n 5: 'lg:col-span-5', 6: 'lg:col-span-6', 7: 'lg:col-span-7', 8: 'lg:col-span-8',\n 9: 'lg:col-span-9', 10: 'lg:col-span-10', 11: 'lg:col-span-11', 12: 'lg:col-span-12',\n 13: 'lg:col-span-13', 14: 'lg:col-span-14', 15: 'lg:col-span-15', 16: 'lg:col-span-16',\n 17: 'lg:col-span-17', 18: 'lg:col-span-18', 19: 'lg:col-span-19', 20: 'lg:col-span-20',\n 21: 'lg:col-span-21', 22: 'lg:col-span-22', 23: 'lg:col-span-23', 24: 'lg:col-span-24',\n}\n\nconst XL_COL_SPAN_CLASSES: Record<number, string> = {\n 1: 'xl:col-span-1', 2: 'xl:col-span-2', 3: 'xl:col-span-3', 4: 'xl:col-span-4',\n 5: 'xl:col-span-5', 6: 'xl:col-span-6', 7: 'xl:col-span-7', 8: 'xl:col-span-8',\n 9: 'xl:col-span-9', 10: 'xl:col-span-10', 11: 'xl:col-span-11', 12: 'xl:col-span-12',\n 13: 'xl:col-span-13', 14: 'xl:col-span-14', 15: 'xl:col-span-15', 16: 'xl:col-span-16',\n 17: 'xl:col-span-17', 18: 'xl:col-span-18', 19: 'xl:col-span-19', 20: 'xl:col-span-20',\n 21: 'xl:col-span-21', 22: 'xl:col-span-22', 23: 'xl:col-span-23', 24: 'xl:col-span-24',\n}\n\nconst XXL_COL_SPAN_CLASSES: Record<number, string> = {\n 1: '2xl:col-span-1', 2: '2xl:col-span-2', 3: '2xl:col-span-3', 4: '2xl:col-span-4',\n 5: '2xl:col-span-5', 6: '2xl:col-span-6', 7: '2xl:col-span-7', 8: '2xl:col-span-8',\n 9: '2xl:col-span-9', 10: '2xl:col-span-10', 11: '2xl:col-span-11', 12: '2xl:col-span-12',\n 13: '2xl:col-span-13', 14: '2xl:col-span-14', 15: '2xl:col-span-15', 16: '2xl:col-span-16',\n 17: '2xl:col-span-17', 18: '2xl:col-span-18', 19: '2xl:col-span-19', 20: '2xl:col-span-20',\n 21: '2xl:col-span-21', 22: '2xl:col-span-22', 23: '2xl:col-span-23', 24: '2xl:col-span-24',\n}\n\nconst COL_START_CLASSES: Record<number, string> = {\n 1: 'col-start-1', 2: 'col-start-2', 3: 'col-start-3', 4: 'col-start-4',\n 5: 'col-start-5', 6: 'col-start-6', 7: 'col-start-7', 8: 'col-start-8',\n 9: 'col-start-9', 10: 'col-start-10', 11: 'col-start-11', 12: 'col-start-12',\n 13: 'col-start-13', 14: 'col-start-14', 15: 'col-start-15', 16: 'col-start-16',\n 17: 'col-start-17', 18: 'col-start-18', 19: 'col-start-19', 20: 'col-start-20',\n 21: 'col-start-21', 22: 'col-start-22', 23: 'col-start-23', 24: 'col-start-24',\n 25: 'col-start-25',\n}\n\nconst ORDER_CLASSES: Record<number, string> = {\n 1: 'order-1', 2: 'order-2', 3: 'order-3', 4: 'order-4',\n 5: 'order-5', 6: 'order-6', 7: 'order-7', 8: 'order-8',\n 9: 'order-9', 10: 'order-10', 11: 'order-11', 12: 'order-12',\n}\n\n// 120-column grid mappings - using arbitrary value syntax for values > 12\nconst COL_SPAN_120_CLASSES: Record<number, string> = {\n 1: 'col-span-1', 2: 'col-span-2', 3: 'col-span-3', 4: 'col-span-4', 5: 'col-span-5',\n 6: 'col-span-6', 7: 'col-span-7', 8: 'col-span-8', 9: 'col-span-9', 10: 'col-span-10',\n 11: 'col-span-11', 12: 'col-span-12', 13: 'col-span-13', 14: 'col-span-14', 15: 'col-span-15',\n 16: 'col-span-16', 17: 'col-span-17', 18: 'col-span-18', 19: 'col-span-19', 20: 'col-span-20',\n 21: 'col-span-21', 22: 'col-span-22', 23: 'col-span-23', 24: 'col-span-24', 25: 'col-span-25',\n 26: 'col-span-26', 27: 'col-span-27', 28: 'col-span-28', 29: 'col-span-29', 30: 'col-span-30',\n 31: 'col-span-31', 32: 'col-span-32', 33: 'col-span-33', 34: 'col-span-34', 35: 'col-span-35',\n 36: 'col-span-36', 37: 'col-span-37', 38: 'col-span-38', 39: 'col-span-39', 40: 'col-span-40',\n 41: 'col-span-41', 42: 'col-span-42', 43: 'col-span-43', 44: 'col-span-44', 45: 'col-span-45',\n 46: 'col-span-46', 47: 'col-span-47', 48: 'col-span-48', 49: 'col-span-49', 50: 'col-span-50',\n 51: 'col-span-51', 52: 'col-span-52', 53: 'col-span-53', 54: 'col-span-54', 55: 'col-span-55',\n 56: 'col-span-56', 57: 'col-span-57', 58: 'col-span-58', 59: 'col-span-59', 60: 'col-span-60',\n 61: 'col-span-61', 62: 'col-span-62', 63: 'col-span-63', 64: 'col-span-64', 65: 'col-span-65',\n 66: 'col-span-66', 67: 'col-span-67', 68: 'col-span-68', 69: 'col-span-69', 70: 'col-span-70',\n 71: 'col-span-71', 72: 'col-span-72', 73: 'col-span-73', 74: 'col-span-74', 75: 'col-span-75',\n 76: 'col-span-76', 77: 'col-span-77', 78: 'col-span-78', 79: 'col-span-79', 80: 'col-span-80',\n 81: 'col-span-81', 82: 'col-span-82', 83: 'col-span-83', 84: 'col-span-84', 85: 'col-span-85',\n 86: 'col-span-86', 87: 'col-span-87', 88: 'col-span-88', 89: 'col-span-89', 90: 'col-span-90',\n 91: 'col-span-91', 92: 'col-span-92', 93: 'col-span-93', 94: 'col-span-94', 95: 'col-span-95',\n 96: 'col-span-96', 97: 'col-span-97', 98: 'col-span-98', 99: 'col-span-99', 100: 'col-span-100',\n 101: 'col-span-101', 102: 'col-span-102', 103: 'col-span-103', 104: 'col-span-104', 105: 'col-span-105',\n 106: 'col-span-106', 107: 'col-span-107', 108: 'col-span-108', 109: 'col-span-109', 110: 'col-span-110',\n 111: 'col-span-111', 112: 'col-span-112', 113: 'col-span-113', 114: 'col-span-114', 115: 'col-span-115',\n 116: 'col-span-116', 117: 'col-span-117', 118: 'col-span-118', 119: 'col-span-119', 120: 'col-span-120',\n}\n\nconst SM_COL_SPAN_120_CLASSES: Record<number, string> = {\n 1: 'sm:col-span-1', 2: 'sm:col-span-2', 3: 'sm:col-span-3', 4: 'sm:col-span-4', 5: 'sm:col-span-5',\n 6: 'sm:col-span-6', 7: 'sm:col-span-7', 8: 'sm:col-span-8', 9: 'sm:col-span-9', 10: 'sm:col-span-10',\n 11: 'sm:col-span-11', 12: 'sm:col-span-12', 13: 'sm:col-span-13', 14: 'sm:col-span-14', 15: 'sm:col-span-15',\n 16: 'sm:col-span-16', 17: 'sm:col-span-17', 18: 'sm:col-span-18', 19: 'sm:col-span-19', 20: 'sm:col-span-20',\n 21: 'sm:col-span-21', 22: 'sm:col-span-22', 23: 'sm:col-span-23', 24: 'sm:col-span-24', 25: 'sm:col-span-25',\n 26: 'sm:col-span-26', 27: 'sm:col-span-27', 28: 'sm:col-span-28', 29: 'sm:col-span-29', 30: 'sm:col-span-30',\n 31: 'sm:col-span-31', 32: 'sm:col-span-32', 33: 'sm:col-span-33', 34: 'sm:col-span-34', 35: 'sm:col-span-35',\n 36: 'sm:col-span-36', 37: 'sm:col-span-37', 38: 'sm:col-span-38', 39: 'sm:col-span-39', 40: 'sm:col-span-40',\n 41: 'sm:col-span-41', 42: 'sm:col-span-42', 43: 'sm:col-span-43', 44: 'sm:col-span-44', 45: 'sm:col-span-45',\n 46: 'sm:col-span-46', 47: 'sm:col-span-47', 48: 'sm:col-span-48', 49: 'sm:col-span-49', 50: 'sm:col-span-50',\n 51: 'sm:col-span-51', 52: 'sm:col-span-52', 53: 'sm:col-span-53', 54: 'sm:col-span-54', 55: 'sm:col-span-55',\n 56: 'sm:col-span-56', 57: 'sm:col-span-57', 58: 'sm:col-span-58', 59: 'sm:col-span-59', 60: 'sm:col-span-60',\n 61: 'sm:col-span-61', 62: 'sm:col-span-62', 63: 'sm:col-span-63', 64: 'sm:col-span-64', 65: 'sm:col-span-65',\n 66: 'sm:col-span-66', 67: 'sm:col-span-67', 68: 'sm:col-span-68', 69: 'sm:col-span-69', 70: 'sm:col-span-70',\n 71: 'sm:col-span-71', 72: 'sm:col-span-72', 73: 'sm:col-span-73', 74: 'sm:col-span-74', 75: 'sm:col-span-75',\n 76: 'sm:col-span-76', 77: 'sm:col-span-77', 78: 'sm:col-span-78', 79: 'sm:col-span-79', 80: 'sm:col-span-80',\n 81: 'sm:col-span-81', 82: 'sm:col-span-82', 83: 'sm:col-span-83', 84: 'sm:col-span-84', 85: 'sm:col-span-85',\n 86: 'sm:col-span-86', 87: 'sm:col-span-87', 88: 'sm:col-span-88', 89: 'sm:col-span-89', 90: 'sm:col-span-90',\n 91: 'sm:col-span-91', 92: 'sm:col-span-92', 93: 'sm:col-span-93', 94: 'sm:col-span-94', 95: 'sm:col-span-95',\n 96: 'sm:col-span-96', 97: 'sm:col-span-97', 98: 'sm:col-span-98', 99: 'sm:col-span-99', 100: 'sm:col-span-100',\n 101: 'sm:col-span-101', 102: 'sm:col-span-102', 103: 'sm:col-span-103', 104: 'sm:col-span-104', 105: 'sm:col-span-105',\n 106: 'sm:col-span-106', 107: 'sm:col-span-107', 108: 'sm:col-span-108', 109: 'sm:col-span-109', 110: 'sm:col-span-110',\n 111: 'sm:col-span-111', 112: 'sm:col-span-112', 113: 'sm:col-span-113', 114: 'sm:col-span-114', 115: 'sm:col-span-115',\n 116: 'sm:col-span-116', 117: 'sm:col-span-117', 118: 'sm:col-span-118', 119: 'sm:col-span-119', 120: 'sm:col-span-120',\n}\n\nconst MD_COL_SPAN_120_CLASSES: Record<number, string> = {\n 1: 'md:col-span-1', 2: 'md:col-span-2', 3: 'md:col-span-3', 4: 'md:col-span-4', 5: 'md:col-span-5',\n 6: 'md:col-span-6', 7: 'md:col-span-7', 8: 'md:col-span-8', 9: 'md:col-span-9', 10: 'md:col-span-10',\n 11: 'md:col-span-11', 12: 'md:col-span-12', 13: 'md:col-span-13', 14: 'md:col-span-14', 15: 'md:col-span-15',\n 16: 'md:col-span-16', 17: 'md:col-span-17', 18: 'md:col-span-18', 19: 'md:col-span-19', 20: 'md:col-span-20',\n 21: 'md:col-span-21', 22: 'md:col-span-22', 23: 'md:col-span-23', 24: 'md:col-span-24', 25: 'md:col-span-25',\n 26: 'md:col-span-26', 27: 'md:col-span-27', 28: 'md:col-span-28', 29: 'md:col-span-29', 30: 'md:col-span-30',\n 31: 'md:col-span-31', 32: 'md:col-span-32', 33: 'md:col-span-33', 34: 'md:col-span-34', 35: 'md:col-span-35',\n 36: 'md:col-span-36', 37: 'md:col-span-37', 38: 'md:col-span-38', 39: 'md:col-span-39', 40: 'md:col-span-40',\n 41: 'md:col-span-41', 42: 'md:col-span-42', 43: 'md:col-span-43', 44: 'md:col-span-44', 45: 'md:col-span-45',\n 46: 'md:col-span-46', 47: 'md:col-span-47', 48: 'md:col-span-48', 49: 'md:col-span-49', 50: 'md:col-span-50',\n 51: 'md:col-span-51', 52: 'md:col-span-52', 53: 'md:col-span-53', 54: 'md:col-span-54', 55: 'md:col-span-55',\n 56: 'md:col-span-56', 57: 'md:col-span-57', 58: 'md:col-span-58', 59: 'md:col-span-59', 60: 'md:col-span-60',\n 61: 'md:col-span-61', 62: 'md:col-span-62', 63: 'md:col-span-63', 64: 'md:col-span-64', 65: 'md:col-span-65',\n 66: 'md:col-span-66', 67: 'md:col-span-67', 68: 'md:col-span-68', 69: 'md:col-span-69', 70: 'md:col-span-70',\n 71: 'md:col-span-71', 72: 'md:col-span-72', 73: 'md:col-span-73', 74: 'md:col-span-74', 75: 'md:col-span-75',\n 76: 'md:col-span-76', 77: 'md:col-span-77', 78: 'md:col-span-78', 79: 'md:col-span-79', 80: 'md:col-span-80',\n 81: 'md:col-span-81', 82: 'md:col-span-82', 83: 'md:col-span-83', 84: 'md:col-span-84', 85: 'md:col-span-85',\n 86: 'md:col-span-86', 87: 'md:col-span-87', 88: 'md:col-span-88', 89: 'md:col-span-89', 90: 'md:col-span-90',\n 91: 'md:col-span-91', 92: 'md:col-span-92', 93: 'md:col-span-93', 94: 'md:col-span-94', 95: 'md:col-span-95',\n 96: 'md:col-span-96', 97: 'md:col-span-97', 98: 'md:col-span-98', 99: 'md:col-span-99', 100: 'md:col-span-100',\n 101: 'md:col-span-101', 102: 'md:col-span-102', 103: 'md:col-span-103', 104: 'md:col-span-104', 105: 'md:col-span-105',\n 106: 'md:col-span-106', 107: 'md:col-span-107', 108: 'md:col-span-108', 109: 'md:col-span-109', 110: 'md:col-span-110',\n 111: 'md:col-span-111', 112: 'md:col-span-112', 113: 'md:col-span-113', 114: 'md:col-span-114', 115: 'md:col-span-115',\n 116: 'md:col-span-116', 117: 'md:col-span-117', 118: 'md:col-span-118', 119: 'md:col-span-119', 120: 'md:col-span-120',\n}\n\nconst LG_COL_SPAN_120_CLASSES: Record<number, string> = {\n 1: 'lg:col-span-1', 2: 'lg:col-span-2', 3: 'lg:col-span-3', 4: 'lg:col-span-4', 5: 'lg:col-span-5',\n 6: 'lg:col-span-6', 7: 'lg:col-span-7', 8: 'lg:col-span-8', 9: 'lg:col-span-9', 10: 'lg:col-span-10',\n 11: 'lg:col-span-11', 12: 'lg:col-span-12', 13: 'lg:col-span-13', 14: 'lg:col-span-14', 15: 'lg:col-span-15',\n 16: 'lg:col-span-16', 17: 'lg:col-span-17', 18: 'lg:col-span-18', 19: 'lg:col-span-19', 20: 'lg:col-span-20',\n 21: 'lg:col-span-21', 22: 'lg:col-span-22', 23: 'lg:col-span-23', 24: 'lg:col-span-24', 25: 'lg:col-span-25',\n 26: 'lg:col-span-26', 27: 'lg:col-span-27', 28: 'lg:col-span-28', 29: 'lg:col-span-29', 30: 'lg:col-span-30',\n 31: 'lg:col-span-31', 32: 'lg:col-span-32', 33: 'lg:col-span-33', 34: 'lg:col-span-34', 35: 'lg:col-span-35',\n 36: 'lg:col-span-36', 37: 'lg:col-span-37', 38: 'lg:col-span-38', 39: 'lg:col-span-39', 40: 'lg:col-span-40',\n 41: 'lg:col-span-41', 42: 'lg:col-span-42', 43: 'lg:col-span-43', 44: 'lg:col-span-44', 45: 'lg:col-span-45',\n 46: 'lg:col-span-46', 47: 'lg:col-span-47', 48: 'lg:col-span-48', 49: 'lg:col-span-49', 50: 'lg:col-span-50',\n 51: 'lg:col-span-51', 52: 'lg:col-span-52', 53: 'lg:col-span-53', 54: 'lg:col-span-54', 55: 'lg:col-span-55',\n 56: 'lg:col-span-56', 57: 'lg:col-span-57', 58: 'lg:col-span-58', 59: 'lg:col-span-59', 60: 'lg:col-span-60',\n 61: 'lg:col-span-61', 62: 'lg:col-span-62', 63: 'lg:col-span-63', 64: 'lg:col-span-64', 65: 'lg:col-span-65',\n 66: 'lg:col-span-66', 67: 'lg:col-span-67', 68: 'lg:col-span-68', 69: 'lg:col-span-69', 70: 'lg:col-span-70',\n 71: 'lg:col-span-71', 72: 'lg:col-span-72', 73: 'lg:col-span-73', 74: 'lg:col-span-74', 75: 'lg:col-span-75',\n 76: 'lg:col-span-76', 77: 'lg:col-span-77', 78: 'lg:col-span-78', 79: 'lg:col-span-79', 80: 'lg:col-span-80',\n 81: 'lg:col-span-81', 82: 'lg:col-span-82', 83: 'lg:col-span-83', 84: 'lg:col-span-84', 85: 'lg:col-span-85',\n 86: 'lg:col-span-86', 87: 'lg:col-span-87', 88: 'lg:col-span-88', 89: 'lg:col-span-89', 90: 'lg:col-span-90',\n 91: 'lg:col-span-91', 92: 'lg:col-span-92', 93: 'lg:col-span-93', 94: 'lg:col-span-94', 95: 'lg:col-span-95',\n 96: 'lg:col-span-96', 97: 'lg:col-span-97', 98: 'lg:col-span-98', 99: 'lg:col-span-99', 100: 'lg:col-span-100',\n 101: 'lg:col-span-101', 102: 'lg:col-span-102', 103: 'lg:col-span-103', 104: 'lg:col-span-104', 105: 'lg:col-span-105',\n 106: 'lg:col-span-106', 107: 'lg:col-span-107', 108: 'lg:col-span-108', 109: 'lg:col-span-109', 110: 'lg:col-span-110',\n 111: 'lg:col-span-111', 112: 'lg:col-span-112', 113: 'lg:col-span-113', 114: 'lg:col-span-114', 115: 'lg:col-span-115',\n 116: 'lg:col-span-116', 117: 'lg:col-span-117', 118: 'lg:col-span-118', 119: 'lg:col-span-119', 120: 'lg:col-span-120',\n}\n\nconst XL_COL_SPAN_120_CLASSES: Record<number, string> = {\n 1: 'xl:col-span-1', 2: 'xl:col-span-2', 3: 'xl:col-span-3', 4: 'xl:col-span-4', 5: 'xl:col-span-5',\n 6: 'xl:col-span-6', 7: 'xl:col-span-7', 8: 'xl:col-span-8', 9: 'xl:col-span-9', 10: 'xl:col-span-10',\n 11: 'xl:col-span-11', 12: 'xl:col-span-12', 13: 'xl:col-span-13', 14: 'xl:col-span-14', 15: 'xl:col-span-15',\n 16: 'xl:col-span-16', 17: 'xl:col-span-17', 18: 'xl:col-span-18', 19: 'xl:col-span-19', 20: 'xl:col-span-20',\n 21: 'xl:col-span-21', 22: 'xl:col-span-22', 23: 'xl:col-span-23', 24: 'xl:col-span-24', 25: 'xl:col-span-25',\n 26: 'xl:col-span-26', 27: 'xl:col-span-27', 28: 'xl:col-span-28', 29: 'xl:col-span-29', 30: 'xl:col-span-30',\n 31: 'xl:col-span-31', 32: 'xl:col-span-32', 33: 'xl:col-span-33', 34: 'xl:col-span-34', 35: 'xl:col-span-35',\n 36: 'xl:col-span-36', 37: 'xl:col-span-37', 38: 'xl:col-span-38', 39: 'xl:col-span-39', 40: 'xl:col-span-40',\n 41: 'xl:col-span-41', 42: 'xl:col-span-42', 43: 'xl:col-span-43', 44: 'xl:col-span-44', 45: 'xl:col-span-45',\n 46: 'xl:col-span-46', 47: 'xl:col-span-47', 48: 'xl:col-span-48', 49: 'xl:col-span-49', 50: 'xl:col-span-50',\n 51: 'xl:col-span-51', 52: 'xl:col-span-52', 53: 'xl:col-span-53', 54: 'xl:col-span-54', 55: 'xl:col-span-55',\n 56: 'xl:col-span-56', 57: 'xl:col-span-57', 58: 'xl:col-span-58', 59: 'xl:col-span-59', 60: 'xl:col-span-60',\n 61: 'xl:col-span-61', 62: 'xl:col-span-62', 63: 'xl:col-span-63', 64: 'xl:col-span-64', 65: 'xl:col-span-65',\n 66: 'xl:col-span-66', 67: 'xl:col-span-67', 68: 'xl:col-span-68', 69: 'xl:col-span-69', 70: 'xl:col-span-70',\n 71: 'xl:col-span-71', 72: 'xl:col-span-72', 73: 'xl:col-span-73', 74: 'xl:col-span-74', 75: 'xl:col-span-75',\n 76: 'xl:col-span-76', 77: 'xl:col-span-77', 78: 'xl:col-span-78', 79: 'xl:col-span-79', 80: 'xl:col-span-80',\n 81: 'xl:col-span-81', 82: 'xl:col-span-82', 83: 'xl:col-span-83', 84: 'xl:col-span-84', 85: 'xl:col-span-85',\n 86: 'xl:col-span-86', 87: 'xl:col-span-87', 88: 'xl:col-span-88', 89: 'xl:col-span-89', 90: 'xl:col-span-90',\n 91: 'xl:col-span-91', 92: 'xl:col-span-92', 93: 'xl:col-span-93', 94: 'xl:col-span-94', 95: 'xl:col-span-95',\n 96: 'xl:col-span-96', 97: 'xl:col-span-97', 98: 'xl:col-span-98', 99: 'xl:col-span-99', 100: 'xl:col-span-100',\n 101: 'xl:col-span-101', 102: 'xl:col-span-102', 103: 'xl:col-span-103', 104: 'xl:col-span-104', 105: 'xl:col-span-105',\n 106: 'xl:col-span-106', 107: 'xl:col-span-107', 108: 'xl:col-span-108', 109: 'xl:col-span-109', 110: 'xl:col-span-110',\n 111: 'xl:col-span-111', 112: 'xl:col-span-112', 113: 'xl:col-span-113', 114: 'xl:col-span-114', 115: 'xl:col-span-115',\n 116: 'xl:col-span-116', 117: 'xl:col-span-117', 118: 'xl:col-span-118', 119: 'xl:col-span-119', 120: 'xl:col-span-120',\n}\n\nconst XXL_COL_SPAN_120_CLASSES: Record<number, string> = {\n 1: '2xl:col-span-1', 2: '2xl:col-span-2', 3: '2xl:col-span-3', 4: '2xl:col-span-4', 5: '2xl:col-span-5',\n 6: '2xl:col-span-6', 7: '2xl:col-span-7', 8: '2xl:col-span-8', 9: '2xl:col-span-9', 10: '2xl:col-span-10',\n 11: '2xl:col-span-11', 12: '2xl:col-span-12', 13: '2xl:col-span-13', 14: '2xl:col-span-14', 15: '2xl:col-span-15',\n 16: '2xl:col-span-16', 17: '2xl:col-span-17', 18: '2xl:col-span-18', 19: '2xl:col-span-19', 20: '2xl:col-span-20',\n 21: '2xl:col-span-21', 22: '2xl:col-span-22', 23: '2xl:col-span-23', 24: '2xl:col-span-24', 25: '2xl:col-span-25',\n 26: '2xl:col-span-26', 27: '2xl:col-span-27', 28: '2xl:col-span-28', 29: '2xl:col-span-29', 30: '2xl:col-span-30',\n 31: '2xl:col-span-31', 32: '2xl:col-span-32', 33: '2xl:col-span-33', 34: '2xl:col-span-34', 35: '2xl:col-span-35',\n 36: '2xl:col-span-36', 37: '2xl:col-span-37', 38: '2xl:col-span-38', 39: '2xl:col-span-39', 40: '2xl:col-span-40',\n 41: '2xl:col-span-41', 42: '2xl:col-span-42', 43: '2xl:col-span-43', 44: '2xl:col-span-44', 45: '2xl:col-span-45',\n 46: '2xl:col-span-46', 47: '2xl:col-span-47', 48: '2xl:col-span-48', 49: '2xl:col-span-49', 50: '2xl:col-span-50',\n 51: '2xl:col-span-51', 52: '2xl:col-span-52', 53: '2xl:col-span-53', 54: '2xl:col-span-54', 55: '2xl:col-span-55',\n 56: '2xl:col-span-56', 57: '2xl:col-span-57', 58: '2xl:col-span-58', 59: '2xl:col-span-59', 60: '2xl:col-span-60',\n 61: '2xl:col-span-61', 62: '2xl:col-span-62', 63: '2xl:col-span-63', 64: '2xl:col-span-64', 65: '2xl:col-span-65',\n 66: '2xl:col-span-66', 67: '2xl:col-span-67', 68: '2xl:col-span-68', 69: '2xl:col-span-69', 70: '2xl:col-span-70',\n 71: '2xl:col-span-71', 72: '2xl:col-span-72', 73: '2xl:col-span-73', 74: '2xl:col-span-74', 75: '2xl:col-span-75',\n 76: '2xl:col-span-76', 77: '2xl:col-span-77', 78: '2xl:col-span-78', 79: '2xl:col-span-79', 80: '2xl:col-span-80',\n 81: '2xl:col-span-81', 82: '2xl:col-span-82', 83: '2xl:col-span-83', 84: '2xl:col-span-84', 85: '2xl:col-span-85',\n 86: '2xl:col-span-86', 87: '2xl:col-span-87', 88: '2xl:col-span-88', 89: '2xl:col-span-89', 90: '2xl:col-span-90',\n 91: '2xl:col-span-91', 92: '2xl:col-span-92', 93: '2xl:col-span-93', 94: '2xl:col-span-94', 95: '2xl:col-span-95',\n 96: '2xl:col-span-96', 97: '2xl:col-span-97', 98: '2xl:col-span-98', 99: '2xl:col-span-99', 100: '2xl:col-span-100',\n 101: '2xl:col-span-101', 102: '2xl:col-span-102', 103: '2xl:col-span-103', 104: '2xl:col-span-104', 105: '2xl:col-span-105',\n 106: '2xl:col-span-106', 107: '2xl:col-span-107', 108: '2xl:col-span-108', 109: '2xl:col-span-109', 110: '2xl:col-span-110',\n 111: '2xl:col-span-111', 112: '2xl:col-span-112', 113: '2xl:col-span-113', 114: '2xl:col-span-114', 115: '2xl:col-span-115',\n 116: '2xl:col-span-116', 117: '2xl:col-span-117', 118: '2xl:col-span-118', 119: '2xl:col-span-119', 120: '2xl:col-span-120',\n}\n\nconst COL_START_120_CLASSES: Record<number, string> = {\n 1: 'col-start-1', 2: 'col-start-2', 3: 'col-start-3', 4: 'col-start-4', 5: 'col-start-5',\n 6: 'col-start-6', 7: 'col-start-7', 8: 'col-start-8', 9: 'col-start-9', 10: 'col-start-10',\n 11: 'col-start-11', 12: 'col-start-12', 13: 'col-start-13', 14: 'col-start-14', 15: 'col-start-15',\n 16: 'col-start-16', 17: 'col-start-17', 18: 'col-start-18', 19: 'col-start-19', 20: 'col-start-20',\n 21: 'col-start-21', 22: 'col-start-22', 23: 'col-start-23', 24: 'col-start-24', 25: 'col-start-25',\n 26: 'col-start-26', 27: 'col-start-27', 28: 'col-start-28', 29: 'col-start-29', 30: 'col-start-30',\n 31: 'col-start-31', 32: 'col-start-32', 33: 'col-start-33', 34: 'col-start-34', 35: 'col-start-35',\n 36: 'col-start-36', 37: 'col-start-37', 38: 'col-start-38', 39: 'col-start-39', 40: 'col-start-40',\n 41: 'col-start-41', 42: 'col-start-42', 43: 'col-start-43', 44: 'col-start-44', 45: 'col-start-45',\n 46: 'col-start-46', 47: 'col-start-47', 48: 'col-start-48', 49: 'col-start-49', 50: 'col-start-50',\n 51: 'col-start-51', 52: 'col-start-52', 53: 'col-start-53', 54: 'col-start-54', 55: 'col-start-55',\n 56: 'col-start-56', 57: 'col-start-57', 58: 'col-start-58', 59: 'col-start-59', 60: 'col-start-60',\n 61: 'col-start-61', 62: 'col-start-62', 63: 'col-start-63', 64: 'col-start-64', 65: 'col-start-65',\n 66: 'col-start-66', 67: 'col-start-67', 68: 'col-start-68', 69: 'col-start-69', 70: 'col-start-70',\n 71: 'col-start-71', 72: 'col-start-72', 73: 'col-start-73', 74: 'col-start-74', 75: 'col-start-75',\n 76: 'col-start-76', 77: 'col-start-77', 78: 'col-start-78', 79: 'col-start-79', 80: 'col-start-80',\n 81: 'col-start-81', 82: 'col-start-82', 83: 'col-start-83', 84: 'col-start-84', 85: 'col-start-85',\n 86: 'col-start-86', 87: 'col-start-87', 88: 'col-start-88', 89: 'col-start-89', 90: 'col-start-90',\n 91: 'col-start-91', 92: 'col-start-92', 93: 'col-start-93', 94: 'col-start-94', 95: 'col-start-95',\n 96: 'col-start-96', 97: 'col-start-97', 98: 'col-start-98', 99: 'col-start-99', 100: 'col-start-100',\n 101: 'col-start-101', 102: 'col-start-102', 103: 'col-start-103', 104: 'col-start-104', 105: 'col-start-105',\n 106: 'col-start-106', 107: 'col-start-107', 108: 'col-start-108', 109: 'col-start-109', 110: 'col-start-110',\n 111: 'col-start-111', 112: 'col-start-112', 113: 'col-start-113', 114: 'col-start-114', 115: 'col-start-115',\n 116: 'col-start-116', 117: 'col-start-117', 118: 'col-start-118', 119: 'col-start-119', 120: 'col-start-120',\n 121: 'col-start-121',\n}\n\nexport function Row({ children, cols = 24, gutter = 0, justify, align, className = '', style: userStyle, ...rest }: RowProps) {\n const [gutterX, gutterY] = Array.isArray(gutter) ? gutter : [gutter, 0]\n\n // Scale gutter for 120-column grids to maintain consistent visual spacing\n // 120 columns creates 5x more grid tracks than 24 columns, so gutter needs to be 1/5\n const actualGutterX = cols === 120 ? gutterX / 5 : gutterX\n const actualGutterY = cols === 120 ? gutterY / 5 : gutterY\n\n const justifyClasses: Record<string, string> = {\n start: 'justify-items-start',\n end: 'justify-items-end',\n center: 'justify-items-center',\n between: 'justify-items-between',\n around: 'justify-items-around',\n evenly: 'justify-items-evenly',\n }\n\n const alignClasses: Record<string, string> = {\n start: 'items-start',\n end: 'items-end',\n center: 'items-center',\n stretch: 'items-stretch',\n baseline: 'items-baseline',\n }\n\n // Grid column class mapping - literal strings for Tailwind\n const GRID_COLS_CLASSES: Record<24 | 120, string> = {\n 24: 'grid-cols-[repeat(24,minmax(0,1fr))]',\n 120: 'grid-cols-[repeat(120,minmax(0,1fr))]',\n }\n\n const classes = [\n 'grid',\n GRID_COLS_CLASSES[cols],\n 'w-full',\n justify && justifyClasses[justify],\n align && alignClasses[align],\n className,\n ]\n .filter(Boolean)\n .join(' ')\n\n const style: React.CSSProperties = {\n ...(actualGutterX && { columnGap: `${actualGutterX}px` }),\n ...(actualGutterY && { rowGap: `${actualGutterY}px` }),\n ...userStyle,\n }\n\n return (\n <GridContext.Provider value={{ cols }}>\n <div className={classes} style={style} {...rest}>\n {children}\n </div>\n </GridContext.Provider>\n )\n}\n\nexport function Col({ children, span, offset, order, xs, sm, md, lg, xl, xxl, className = '', ...rest }: ColProps) {\n const { cols } = React.useContext(GridContext)\n const classes: string[] = []\n\n // Select mapping objects based on column count\n const colSpanClasses = cols === 120 ? COL_SPAN_120_CLASSES : COL_SPAN_CLASSES\n const smColSpanClasses = cols === 120 ? SM_COL_SPAN_120_CLASSES : SM_COL_SPAN_CLASSES\n const mdColSpanClasses = cols === 120 ? MD_COL_SPAN_120_CLASSES : MD_COL_SPAN_CLASSES\n const lgColSpanClasses = cols === 120 ? LG_COL_SPAN_120_CLASSES : LG_COL_SPAN_CLASSES\n const xlColSpanClasses = cols === 120 ? XL_COL_SPAN_120_CLASSES : XL_COL_SPAN_CLASSES\n const xxlColSpanClasses = cols === 120 ? XXL_COL_SPAN_120_CLASSES : XXL_COL_SPAN_CLASSES\n const colStartClasses = cols === 120 ? COL_START_120_CLASSES : COL_START_CLASSES\n\n // Base span or xs (mobile-first)\n const baseSpan = span || xs\n if (baseSpan && colSpanClasses[baseSpan]) {\n classes.push(colSpanClasses[baseSpan])\n }\n\n // Responsive spans\n if (sm && smColSpanClasses[sm]) classes.push(smColSpanClasses[sm])\n if (md && mdColSpanClasses[md]) classes.push(mdColSpanClasses[md])\n if (lg && lgColSpanClasses[lg]) classes.push(lgColSpanClasses[lg])\n if (xl && xlColSpanClasses[xl]) classes.push(xlColSpanClasses[xl])\n if (xxl && xxlColSpanClasses[xxl]) classes.push(xxlColSpanClasses[xxl])\n\n // Offset (uses col-start)\n if (offset && colStartClasses[offset + 1]) {\n classes.push(colStartClasses[offset + 1])\n }\n\n // Order\n if (order && ORDER_CLASSES[order]) {\n classes.push(ORDER_CLASSES[order])\n }\n\n if (className) classes.push(className)\n\n return <div className={classes.join(' ')} {...rest}>{children}</div>\n}\n\nexport const Grid = {\n Row,\n Col,\n}\n"],"names":["GridContext","React","COL_SPAN_CLASSES","SM_COL_SPAN_CLASSES","MD_COL_SPAN_CLASSES","LG_COL_SPAN_CLASSES","XL_COL_SPAN_CLASSES","XXL_COL_SPAN_CLASSES","COL_START_CLASSES","ORDER_CLASSES","COL_SPAN_120_CLASSES","SM_COL_SPAN_120_CLASSES","MD_COL_SPAN_120_CLASSES","LG_COL_SPAN_120_CLASSES","XL_COL_SPAN_120_CLASSES","XXL_COL_SPAN_120_CLASSES","COL_START_120_CLASSES","Row","children","cols","gutter","justify","align","className","userStyle","rest","gutterX","gutterY","actualGutterX","actualGutterY","justifyClasses","alignClasses","classes","style","jsx","Col","span","offset","order","xs","sm","md","lg","xl","xxl","colSpanClasses","smColSpanClasses","mdColSpanClasses","lgColSpanClasses","xlColSpanClasses","xxlColSpanClasses","colStartClasses","baseSpan","Grid"],"mappings":"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,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAChF,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,IAAI;AAAA,EAAe,KAAK;AAAA,EACjF,KAAK;AAAA,EAAgB,KAAK;AAAA,EAAgB,KAAK;AAAA,EAAgB,KAAK;AAAA,EAAgB,KAAK;AAAA,EACzF,KAAK;AAAA,EAAgB,KAAK;AAAA,EAAgB,KAAK;AAAA,EAAgB,KAAK;AAAA,EAAgB,KAAK;AAAA,EACzF,KAAK;AAAA,EAAgB,KAAK;AAAA,EAAgB,KAAK;AAAA,EAA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,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA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AAAA,EAAiB,GAAG;AAAA,EACnF,GAAG;AAAA,EAAiB,GAAG;AAAA,EAAiB,GAAG;AAAA,EAAiB,GAAG;AAAA,EAAiB,IAAI;AAAA,EACpF,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAC5F,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,IAAI;AAAA,EAAkB,KAAK;AAAA,EAC7F,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EACrG,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EACrG,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EACrG,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AAAA,EAAmB,KAAK;AACvG,GAEMC,IAAmD;AAAA,EACvD,GAAG;AAAA,EAAkB,GAAG;AAAA,EAAkB,GAAG;AAAA,EAAkB,GAAG;AAAA,EAAkB,GAAG;AAAA,EACvF,GAAG;AAAA,EAAkB,GAAG;AAAA,EAAkB,GAAG;AAAA,EAAkB,GAAG;AAAA,EAAkB,IAAI;AAAA,EACxF,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAChG,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,IAAI;AAAA,EAAmB,KAAK;AAAA,EACjG,KAAK;AAAA,EAAoB,KAAK;AAAA,EAAoB,KAAK;AAAA,EAAoB,KAAK;AAAA,EAAoB,KAAK;AAAA,EACzG,KAAK;AAAA,EAAoB,KAAK;AAAA,EAAoB,KAA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"}
1
+ {"version":3,"file":"index33.js","sources":["../src/components/Form.tsx"],"sourcesContent":["import React, { createContext, useContext, cloneElement, isValidElement, useId, useEffect, useRef } from 'react'\nimport { useForm, UseFormReturn, FieldValues, SubmitHandler, UseFormProps, Controller, useFieldArray, FieldArrayPath, FieldArray, useWatch } from 'react-hook-form'\n\ninterface FormContextValue {\n form: UseFormReturn<any>\n layout?: 'vertical' | 'horizontal' | 'inline'\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n labelWidth?: number\n listName?: string\n}\n\nconst FormContext = createContext<FormContextValue | undefined>(undefined)\n\n// Built-in type validators\nconst TYPE_VALIDATORS = {\n email: {\n value: /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}$/i,\n message: 'Please enter a valid email address',\n },\n url: {\n value: /^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)$/,\n message: 'Please enter a valid URL',\n },\n number: {\n value: /^-?\\d+(\\.\\d+)?$/,\n message: 'Please enter a valid number',\n },\n}\n\nexport interface FormProps<TFieldValues extends FieldValues = FieldValues>\n extends Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit'> {\n form?: UseFormReturn<TFieldValues>\n onFinish?: SubmitHandler<TFieldValues>\n initialValues?: UseFormProps<TFieldValues>['defaultValues']\n layout?: 'vertical' | 'horizontal' | 'inline'\n /** Label width in pixels for horizontal layout (default: 80) */\n labelWidth?: number\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n children: React.ReactNode\n}\n\nexport interface FormRule {\n required?: boolean | string\n type?: 'email' | 'url' | 'number'\n min?: number | { value: number; message: string }\n max?: number | { value: number; message: string }\n pattern?: RegExp | { value: RegExp; message: string }\n message?: string\n validate?: (value: any) => boolean | string | Promise<boolean | string>\n}\n\nexport type ValidateTrigger = 'onChange' | 'onBlur' | 'onSubmit' | ('onChange' | 'onBlur' | 'onSubmit')[]\n\nexport interface FormItemProps {\n name?: string | string[]\n label?: string\n help?: string\n required?: boolean\n rules?: FormRule | FormRule[]\n valuePropName?: string\n inline?: boolean\n className?: string\n children: React.ReactElement\n /** Tooltip text to show next to label */\n tooltip?: string\n /** Additional content below the form control */\n extra?: React.ReactNode\n /** Show validation feedback icon */\n hasFeedback?: boolean\n /** Field names that this field depends on for validation */\n dependencies?: string[]\n /** When to trigger validation */\n validateTrigger?: ValidateTrigger\n /** Initial value for this field (overrides Form's initialValues) */\n initialValue?: any\n /** Hide this field (still validates and submits) */\n hidden?: boolean\n}\n\nexport interface FormListProps<TFieldValues extends FieldValues = FieldValues> {\n name: FieldArrayPath<TFieldValues>\n children: (\n fields: FieldArray<TFieldValues>[],\n operations: {\n add: (value?: any) => void\n remove: (index: number) => void\n move: (from: number, to: number) => void\n }\n ) => React.ReactNode\n}\n\nfunction useFormContext() {\n const context = useContext(FormContext)\n if (!context) {\n throw new Error('Form compound components must be used within Form')\n }\n return context\n}\n\nfunction FormRoot<TFieldValues extends FieldValues = FieldValues>({\n form: externalForm,\n onFinish,\n initialValues,\n layout = 'vertical',\n labelWidth = 60,\n size,\n children,\n className = '',\n noValidate = true,\n ...props\n}: FormProps<TFieldValues>) {\n const internalForm = useForm<TFieldValues>({\n defaultValues: initialValues,\n })\n\n const form = externalForm || internalForm\n\n const handleSubmit = (e: React.FormEvent<HTMLFormElement>) => {\n e.preventDefault()\n if (onFinish) {\n form.handleSubmit(onFinish)(e)\n }\n }\n\n return (\n <FormContext.Provider value={{ form, layout, labelWidth, size }}>\n <form onSubmit={handleSubmit} className={className} noValidate={noValidate} {...props}>\n {children}\n </form>\n </FormContext.Provider>\n )\n}\n\nfunction FormItem({\n name,\n label,\n help,\n required = false,\n rules,\n valuePropName = 'value',\n inline = false,\n className = '',\n children,\n tooltip,\n extra,\n hasFeedback = false,\n dependencies,\n validateTrigger = 'onChange',\n initialValue,\n hidden = false,\n}: FormItemProps) {\n const { form, size, listName, layout, labelWidth } = useFormContext()\n const inputId = useId()\n const errorId = useId()\n\n if (!name) {\n // Render without form control if no name provided\n return <div className={`form-control ${inline ? 'w-auto' : 'w-full'} ${className}`} style={hidden ? { display: 'none' } : undefined}>{children}</div>\n }\n\n // Handle nested field names (for Form.List)\n let fieldName: string\n if (Array.isArray(name)) {\n // If we're inside a Form.List, prepend the list name\n const fullPath = listName ? [listName, ...name] : name\n fieldName = fullPath.join('.')\n } else {\n fieldName = name\n }\n\n // Set initial value if provided\n useEffect(() => {\n if (initialValue !== undefined) {\n const currentValue = form.getValues(fieldName as any)\n if (currentValue === undefined) {\n form.setValue(fieldName as any, initialValue)\n }\n }\n }, []) // eslint-disable-line react-hooks/exhaustive-deps\n\n // Watch dependencies and re-validate when they change\n const watchedDeps = useWatch({\n control: form.control,\n name: dependencies as any,\n disabled: !dependencies || dependencies.length === 0,\n })\n\n // Use refs to avoid infinite loops\n const formRef = useRef(form)\n formRef.current = form\n const prevDepsRef = useRef<string | undefined>(undefined)\n\n useEffect(() => {\n // Skip if no dependencies\n if (!dependencies || dependencies.length === 0) return\n\n // Skip initial render\n if (prevDepsRef.current === undefined) {\n prevDepsRef.current = JSON.stringify(watchedDeps)\n return\n }\n\n // Only trigger if dependency values actually changed\n const currentDeps = JSON.stringify(watchedDeps)\n if (prevDepsRef.current !== currentDeps) {\n prevDepsRef.current = currentDeps\n formRef.current.trigger(fieldName as any)\n }\n }, [watchedDeps, dependencies, fieldName])\n\n // Get error by traversing the error object path\n const getErrorByPath = (path: string) => {\n const keys = path.split('.')\n let error: any = form.formState.errors\n for (const key of keys) {\n if (!error) break\n error = error[key]\n }\n return error\n }\n\n const error = getErrorByPath(fieldName)\n const errorMessage = error?.message as string | undefined\n\n // Normalize rules to array\n const rulesArray: FormRule[] = rules\n ? Array.isArray(rules) ? rules : [rules]\n : []\n\n // Build validation rules\n const validationRules: any = {}\n const patternValidators: Array<{ pattern: RegExp; message: string }> = []\n const customValidators: Array<(value: any) => boolean | string | Promise<boolean | string>> = []\n\n // Handle top-level required prop\n if (required) {\n validationRules.required = 'This field is required'\n }\n\n // Process each rule\n for (const rule of rulesArray) {\n // Required\n if (rule.required) {\n validationRules.required = typeof rule.required === 'string'\n ? rule.required\n : rule.message || 'This field is required'\n }\n\n // Type validator\n if (rule.type && TYPE_VALIDATORS[rule.type]) {\n patternValidators.push({\n pattern: TYPE_VALIDATORS[rule.type].value,\n message: rule.message || TYPE_VALIDATORS[rule.type].message,\n })\n }\n\n // Min length\n if (rule.min !== undefined) {\n const minValue = typeof rule.min === 'object' ? rule.min.value : rule.min\n const minMessage = typeof rule.min === 'object'\n ? rule.min.message\n : rule.message || `Minimum length is ${minValue} characters`\n validationRules.minLength = { value: minValue, message: minMessage }\n }\n\n // Max length\n if (rule.max !== undefined) {\n const maxValue = typeof rule.max === 'object' ? rule.max.value : rule.max\n const maxMessage = typeof rule.max === 'object'\n ? rule.max.message\n : rule.message || `Maximum length is ${maxValue} characters`\n validationRules.maxLength = { value: maxValue, message: maxMessage }\n }\n\n // Pattern - collect all patterns\n if (rule.pattern) {\n const patternValue = rule.pattern instanceof RegExp ? rule.pattern : rule.pattern.value\n const patternMessage = rule.pattern instanceof RegExp\n ? rule.message || 'Invalid format'\n : rule.pattern.message\n patternValidators.push({ pattern: patternValue, message: patternMessage })\n }\n\n // Custom validator\n if (rule.validate) {\n customValidators.push(rule.validate)\n }\n }\n\n // Combine all pattern and custom validators into a single validate function\n if (patternValidators.length > 0 || customValidators.length > 0) {\n validationRules.validate = async (value: any) => {\n // Skip validation if empty (required rule handles that)\n if (!value && !validationRules.required) return true\n\n // Check all patterns\n for (const { pattern, message } of patternValidators) {\n if (value && !pattern.test(value)) {\n return message\n }\n }\n\n // Run all custom validators\n for (const validator of customValidators) {\n const result = await validator(value)\n if (result !== true) {\n return result\n }\n }\n\n return true\n }\n }\n\n // Normalize validateTrigger to array\n const triggers = Array.isArray(validateTrigger) ? validateTrigger : [validateTrigger]\n const shouldValidateOnChange = triggers.includes('onChange')\n const shouldValidateOnBlur = triggers.includes('onBlur')\n\n // Feedback icons\n const FeedbackIcon = ({ hasError, isValidating }: { hasError: boolean; isValidating: boolean }) => {\n if (isValidating) {\n return (\n <span className=\"loading loading-spinner loading-xs text-base-content/50\" />\n )\n }\n if (hasError) {\n return (\n <svg className=\"w-4 h-4 text-error\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M6 18L18 6M6 6l12 12\" />\n </svg>\n )\n }\n return (\n <svg className=\"w-4 h-4 text-success\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M5 13l4 4L19 7\" />\n </svg>\n )\n }\n\n // Tooltip icon\n const TooltipIcon = () => (\n <div className=\"tooltip tooltip-top ml-1\" data-tip={tooltip}>\n <svg className=\"w-4 h-4 text-base-content/50 cursor-help\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n </div>\n )\n\n return (\n <Controller\n name={fieldName}\n control={form.control}\n rules={validationRules}\n render={({ field, fieldState }) => {\n const { value, onChange, onBlur, ref } = field\n const isValidating = fieldState.isTouched && form.formState.isValidating\n\n // Clone the child element and inject form control props\n const childProps: any = {\n id: inputId,\n ref,\n 'aria-invalid': error ? true : undefined,\n 'aria-describedby': error ? errorId : undefined,\n }\n\n // Handle onBlur based on validateTrigger\n childProps.onBlur = () => {\n onBlur()\n if (shouldValidateOnBlur) {\n form.trigger(fieldName as any)\n }\n }\n\n // Handle different value prop names (e.g., 'checked' for checkboxes)\n if (valuePropName === 'checked') {\n childProps.checked = value\n childProps.onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange(e.target.checked)\n if (shouldValidateOnChange) {\n form.trigger(fieldName as any)\n }\n }\n } else {\n childProps.value = value || ''\n childProps.onChange = (eventOrValue: any) => {\n // Handle components that pass value directly (e.g., Range, Rating)\n // vs components that pass event object (e.g., Input, Select)\n if (eventOrValue && eventOrValue.target !== undefined) {\n onChange(eventOrValue.target.value)\n } else {\n onChange(eventOrValue)\n }\n if (shouldValidateOnChange) {\n form.trigger(fieldName as any)\n }\n }\n }\n\n // Apply size if specified at form level\n if (size && isValidElement(children)) {\n const existingProps = children.props as any\n if (!existingProps.size) {\n childProps.size = size\n }\n }\n\n // Apply error styling and accessibility\n if (error) {\n childProps.color = 'error'\n childProps['aria-invalid'] = true\n }\n\n const enhancedChild = isValidElement(children)\n ? cloneElement(children as React.ReactElement<any>, childProps)\n : children\n\n const isHorizontal = layout === 'horizontal'\n const isInline = layout === 'inline'\n\n return (\n <div className={`form-control ${inline ? 'w-auto' : 'w-full'} ${isHorizontal ? 'mb-4' : ''} ${isInline ? 'inline-flex mr-4' : ''} ${className}`} style={hidden ? { display: 'none' } : undefined}>\n <div className={isHorizontal ? 'flex items-center gap-4' : ''}>\n {label && (\n <label\n htmlFor={inputId}\n className={`label ${isHorizontal ? 'flex-shrink-0 justify-end py-0' : ''} ${!isHorizontal && !isInline ? 'pb-1' : ''}`}\n style={isHorizontal ? { width: labelWidth } : undefined}\n >\n <span className=\"label-text flex items-center\">\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n {tooltip && <TooltipIcon />}\n </span>\n </label>\n )}\n <div className={`${isHorizontal ? 'flex-1' : ''} ${hasFeedback ? 'relative' : ''}`}>\n {enhancedChild}\n {hasFeedback && fieldState.isTouched && (\n <span className=\"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none\">\n <FeedbackIcon hasError={!!error} isValidating={isValidating} />\n </span>\n )}\n </div>\n </div>\n {!isHorizontal && !inline && (\n <p id={errorId} className={`validator-hint ${errorMessage ? '!visible text-error' : ''} min-h-[1.25rem]`} role={errorMessage ? 'alert' : undefined}>\n {errorMessage || (help && <span className=\"text-base-content/70\">{help}</span>) || '\\u00A0'}\n </p>\n )}\n {isHorizontal && (errorMessage || help) && (\n <p id={errorId} className={`validator-hint ${errorMessage ? '!visible text-error' : ''} min-h-[1.25rem]`} role={errorMessage ? 'alert' : undefined}>\n {errorMessage || (help && <span className=\"text-base-content/70\">{help}</span>)}\n </p>\n )}\n {extra && (\n <div className=\"text-sm text-base-content/60 mt-1\">{extra}</div>\n )}\n </div>\n )\n }}\n />\n )\n}\n\nfunction FormList<TFieldValues extends FieldValues = FieldValues>({\n name,\n children,\n}: FormListProps<TFieldValues>) {\n const { form, layout, size } = useFormContext()\n\n const { fields, append, remove, move } = useFieldArray({\n control: form.control,\n name,\n })\n\n // Add name (index) to each field for proper path construction\n const fieldsWithName = fields.map((field, index) => ({\n ...field,\n name: index,\n }))\n\n return (\n <FormContext.Provider value={{ form, layout, size, listName: name as string }}>\n {children(fieldsWithName as any, {\n add: append,\n remove,\n move,\n })}\n </FormContext.Provider>\n )\n}\n\n// Enhanced hook to expose full form API\nexport function useFormInstance<TFieldValues extends FieldValues = FieldValues>() {\n const formInstance = useForm<TFieldValues>()\n\n // Add convenience methods to the instance\n const enhancedInstance = formInstance as typeof formInstance & {\n setFieldValue: typeof formInstance.setValue\n getFieldValue: (name: any) => any\n getFieldsValue: typeof formInstance.getValues\n setFieldsValue: (values: any) => void\n validateFields: typeof formInstance.trigger\n resetFields: typeof formInstance.reset\n isFieldTouched: (name: string) => boolean\n getFieldError: (name: string) => string | undefined\n }\n\n // Add the alias methods\n enhancedInstance.setFieldValue = formInstance.setValue\n enhancedInstance.getFieldValue = (name: any) => formInstance.getValues(name)\n enhancedInstance.getFieldsValue = formInstance.getValues\n enhancedInstance.setFieldsValue = (values: any) => {\n Object.keys(values).forEach((key) => {\n formInstance.setValue(key as any, values[key])\n })\n }\n enhancedInstance.validateFields = formInstance.trigger\n enhancedInstance.resetFields = formInstance.reset\n enhancedInstance.isFieldTouched = (name: string) => {\n const touched = formInstance.formState.touchedFields as any\n return !!touched[name]\n }\n enhancedInstance.getFieldError = (name: string) => {\n const errors = formInstance.formState.errors as any\n return errors[name]?.message as string | undefined\n }\n\n return enhancedInstance\n}\n\nexport interface FormErrorListProps {\n /** Specific field names to show errors for (shows all errors if not specified) */\n fields?: string[]\n /** Custom className */\n className?: string\n}\n\nfunction FormErrorList({ fields, className = '' }: FormErrorListProps) {\n const { form } = useFormContext()\n const { errors } = form.formState\n\n // Flatten nested errors into a list\n const flattenErrors = (obj: any, prefix = ''): Array<{ field: string; message: string }> => {\n const result: Array<{ field: string; message: string }> = []\n\n for (const key in obj) {\n const fullKey = prefix ? `${prefix}.${key}` : key\n const value = obj[key]\n\n if (value?.message) {\n result.push({ field: fullKey, message: value.message as string })\n } else if (typeof value === 'object' && value !== null) {\n result.push(...flattenErrors(value, fullKey))\n }\n }\n\n return result\n }\n\n const allErrors = flattenErrors(errors)\n const filteredErrors = fields\n ? allErrors.filter(e => fields.includes(e.field))\n : allErrors\n\n if (filteredErrors.length === 0) {\n return null\n }\n\n return (\n <ul className={`text-error text-sm space-y-1 ${className}`} role=\"alert\">\n {filteredErrors.map((error, index) => (\n <li key={`${error.field}-${index}`} className=\"flex items-start gap-2\">\n <svg className=\"w-4 h-4 mt-0.5 flex-shrink-0\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\" />\n </svg>\n <span>{error.message}</span>\n </li>\n ))}\n </ul>\n )\n}\n\nexport const Form = Object.assign(FormRoot, {\n Item: FormItem,\n List: FormList,\n ErrorList: FormErrorList,\n useForm: useFormInstance,\n})\n\nexport type { UseFormReturn as FormInstance }\n"],"names":["FormContext","createContext","TYPE_VALIDATORS","useFormContext","context","useContext","FormRoot","externalForm","onFinish","initialValues","layout","labelWidth","size","children","className","noValidate","props","internalForm","useForm","form","handleSubmit","e","jsx","FormItem","name","label","help","required","rules","valuePropName","inline","tooltip","extra","hasFeedback","dependencies","validateTrigger","initialValue","hidden","listName","inputId","useId","errorId","fieldName","useEffect","watchedDeps","useWatch","formRef","useRef","prevDepsRef","currentDeps","error","path","keys","key","errorMessage","rulesArray","validationRules","patternValidators","customValidators","rule","minValue","minMessage","maxValue","maxMessage","patternValue","patternMessage","value","pattern","message","validator","result","triggers","shouldValidateOnChange","shouldValidateOnBlur","FeedbackIcon","hasError","isValidating","TooltipIcon","Controller","field","fieldState","onChange","onBlur","ref","childProps","eventOrValue","isValidElement","enhancedChild","cloneElement","isHorizontal","isInline","jsxs","FormList","fields","append","remove","move","useFieldArray","fieldsWithName","index","useFormInstance","formInstance","enhancedInstance","values","FormErrorList","errors","flattenErrors","obj","prefix","fullKey","allErrors","filteredErrors","Form"],"mappings":"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"}