@panneau/fields 5.0.0-alpha.0 → 5.0.0-alpha.10

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 (248) hide show
  1. package/README.md +103 -20
  2. package/dist/boolean/BooleanField.d.ts +1 -1
  3. package/dist/boolean/BooleanField.js +78 -17
  4. package/dist/boolean/BooleanField.js.map +1 -1
  5. package/dist/boolean/index.d.ts +1 -1
  6. package/dist/color/ColorField.css +5 -5
  7. package/dist/color/ColorField.d.ts +2 -2
  8. package/dist/color/ColorField.js.map +1 -1
  9. package/dist/color/ColorField.module.js +3 -3
  10. package/dist/color/index.d.ts +1 -1
  11. package/dist/date/DateField.d.ts +1 -1
  12. package/dist/date/DateField.js.map +1 -1
  13. package/dist/date/index.d.ts +1 -1
  14. package/dist/datetime/DateTimeField.d.ts +1 -1
  15. package/dist/datetime/DateTimeField.js +107 -20
  16. package/dist/datetime/DateTimeField.js.map +1 -1
  17. package/dist/datetime/index.d.ts +1 -1
  18. package/dist/duration/DurationField.css +11 -0
  19. package/dist/duration/DurationField.d.ts +26 -0
  20. package/dist/duration/DurationField.d.ts.map +1 -0
  21. package/dist/duration/DurationField.js +214 -0
  22. package/dist/duration/DurationField.js.map +1 -0
  23. package/dist/duration/DurationField.module.js +12 -0
  24. package/dist/duration/DurationField.module.js.map +1 -0
  25. package/dist/duration/index.d.ts +2 -0
  26. package/dist/duration/index.d.ts.map +1 -0
  27. package/dist/duration/index.js +1 -0
  28. package/dist/email/EmailField.d.ts +2 -2
  29. package/dist/email/EmailField.js.map +1 -1
  30. package/dist/email/index.d.ts +1 -1
  31. package/dist/embed/EmbedField.css +60 -0
  32. package/dist/embed/EmbedField.d.ts +20 -0
  33. package/dist/embed/EmbedField.d.ts.map +1 -0
  34. package/dist/embed/EmbedField.js +246 -0
  35. package/dist/embed/EmbedField.js.map +1 -0
  36. package/dist/embed/EmbedField.module.js +22 -0
  37. package/dist/embed/EmbedField.module.js.map +1 -0
  38. package/dist/embed/index.d.ts +3 -0
  39. package/dist/embed/index.d.ts.map +1 -0
  40. package/dist/embed/index.js +3 -0
  41. package/dist/file/FileField.css +54 -0
  42. package/dist/file/FileField.d.ts +50 -0
  43. package/dist/file/FileField.d.ts.map +1 -0
  44. package/dist/file/FileField.js +288 -0
  45. package/dist/file/FileField.js.map +1 -0
  46. package/dist/file/FileField.module.js +22 -0
  47. package/dist/file/FileField.module.js.map +1 -0
  48. package/dist/file/index.d.ts +3 -0
  49. package/dist/file/index.d.ts.map +1 -0
  50. package/dist/file/index.js +1 -0
  51. package/dist/group/GroupField.css +2 -2
  52. package/dist/group/GroupField.d.ts +1 -1
  53. package/dist/group/GroupField.js.map +1 -1
  54. package/dist/group/GroupField.module.js +1 -1
  55. package/dist/group/index.d.ts +1 -1
  56. package/dist/index.d.ts +18 -7
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +12 -3
  59. package/dist/json/JsonField.css +7 -0
  60. package/dist/json/JsonField.d.ts +22 -0
  61. package/dist/json/JsonField.d.ts.map +1 -0
  62. package/dist/json/JsonField.js +207 -0
  63. package/dist/json/JsonField.js.map +1 -0
  64. package/dist/json/JsonField.module.js +8 -0
  65. package/dist/json/JsonField.module.js.map +1 -0
  66. package/dist/json/index.d.ts +2 -0
  67. package/dist/json/index.d.ts.map +1 -0
  68. package/dist/json/index.js +1 -0
  69. package/dist/locales/index.js.map +1 -1
  70. package/dist/localized/LocalizedField.css +2 -2
  71. package/dist/localized/LocalizedField.d.ts +1 -1
  72. package/dist/localized/LocalizedField.d.ts.map +1 -1
  73. package/dist/localized/LocalizedField.js +1 -0
  74. package/dist/localized/LocalizedField.js.map +1 -1
  75. package/dist/localized/LocalizedField.module.js +2 -2
  76. package/dist/localized/index.d.ts +1 -1
  77. package/dist/location/LocationField.css +54 -0
  78. package/dist/location/LocationField.d.ts +31 -0
  79. package/dist/location/LocationField.d.ts.map +1 -0
  80. package/dist/location/LocationField.js +563 -0
  81. package/dist/location/LocationField.js.map +1 -0
  82. package/dist/location/LocationField.module.js +22 -0
  83. package/dist/location/LocationField.module.js.map +1 -0
  84. package/dist/location/LocationMap.d.ts +25 -0
  85. package/dist/location/LocationMap.d.ts.map +1 -0
  86. package/dist/location/LocationMap.js +205 -0
  87. package/dist/location/LocationMap.js.map +1 -0
  88. package/dist/location/index.d.ts +5 -0
  89. package/dist/location/index.d.ts.map +1 -0
  90. package/dist/location/index.js +4 -0
  91. package/dist/location/leafletCss.d.ts +2 -0
  92. package/dist/location/leafletCss.d.ts.map +1 -0
  93. package/dist/location/leafletCss.js +6 -0
  94. package/dist/location/leafletCss.js.map +1 -0
  95. package/dist/location/nominatim.d.ts +17 -0
  96. package/dist/location/nominatim.d.ts.map +1 -0
  97. package/dist/location/nominatim.js +50 -0
  98. package/dist/location/nominatim.js.map +1 -0
  99. package/dist/location/types.d.ts +40 -0
  100. package/dist/location/types.d.ts.map +1 -0
  101. package/dist/missing/MissingField.css +4 -3
  102. package/dist/missing/MissingField.d.ts +4 -3
  103. package/dist/missing/MissingField.d.ts.map +1 -1
  104. package/dist/missing/MissingField.js +3 -2
  105. package/dist/missing/MissingField.js.map +1 -1
  106. package/dist/missing/MissingField.module.js +3 -3
  107. package/dist/missing/MissingField.module.js.map +1 -1
  108. package/dist/number/NumberField.d.ts +1 -1
  109. package/dist/number/NumberField.js.map +1 -1
  110. package/dist/number/index.d.ts +1 -1
  111. package/dist/range/RangeField.d.ts +22 -0
  112. package/dist/range/RangeField.d.ts.map +1 -0
  113. package/dist/range/RangeField.js +203 -0
  114. package/dist/range/RangeField.js.map +1 -0
  115. package/dist/range/index.d.ts +2 -0
  116. package/dist/range/index.d.ts.map +1 -0
  117. package/dist/range/index.js +1 -0
  118. package/dist/relation/RelationField.css +7 -7
  119. package/dist/relation/RelationField.d.ts +12 -4
  120. package/dist/relation/RelationField.d.ts.map +1 -1
  121. package/dist/relation/RelationField.js +535 -160
  122. package/dist/relation/RelationField.js.map +1 -1
  123. package/dist/relation/RelationField.module.js +6 -6
  124. package/dist/relation/index.d.ts +2 -2
  125. package/dist/relation/index.d.ts.map +1 -1
  126. package/dist/relation/index.js +2 -2
  127. package/dist/repeater/RepeaterField.css +12 -11
  128. package/dist/repeater/RepeaterField.d.ts +1 -1
  129. package/dist/repeater/RepeaterField.js +118 -34
  130. package/dist/repeater/RepeaterField.js.map +1 -1
  131. package/dist/repeater/RepeaterField.module.js +9 -9
  132. package/dist/repeater/RepeaterField.module.js.map +1 -1
  133. package/dist/repeater/index.d.ts +1 -1
  134. package/dist/select/SelectField.css +1 -1
  135. package/dist/select/SelectField.d.ts +1 -1
  136. package/dist/select/SelectField.js.map +1 -1
  137. package/dist/select/SelectField.module.js +1 -1
  138. package/dist/select/index.d.ts +1 -1
  139. package/dist/shared/DefinitionField.d.ts +5 -3
  140. package/dist/shared/DefinitionField.d.ts.map +1 -1
  141. package/dist/shared/DefinitionField.js +81 -73
  142. package/dist/shared/DefinitionField.js.map +1 -1
  143. package/dist/shared/builtIn.d.ts +5 -3
  144. package/dist/shared/builtIn.d.ts.map +1 -1
  145. package/dist/shared/builtIn.js +21 -3
  146. package/dist/shared/builtIn.js.map +1 -1
  147. package/dist/shared/check.d.ts +27 -0
  148. package/dist/shared/check.d.ts.map +1 -0
  149. package/dist/shared/check.js +18 -0
  150. package/dist/shared/check.js.map +1 -0
  151. package/dist/shared/context.d.ts +28 -5
  152. package/dist/shared/context.d.ts.map +1 -1
  153. package/dist/shared/context.js +35 -19
  154. package/dist/shared/context.js.map +1 -1
  155. package/dist/shared/cx.js.map +1 -1
  156. package/dist/shared/dates.js.map +1 -1
  157. package/dist/shared/embed.d.ts +19 -0
  158. package/dist/shared/embed.d.ts.map +1 -0
  159. package/dist/shared/embed.js +14 -0
  160. package/dist/shared/embed.js.map +1 -0
  161. package/dist/shared/entry.d.ts +11 -2
  162. package/dist/shared/entry.d.ts.map +1 -1
  163. package/dist/shared/entry.js +19 -3
  164. package/dist/shared/entry.js.map +1 -1
  165. package/dist/shared/relation.d.ts +41 -5
  166. package/dist/shared/relation.d.ts.map +1 -1
  167. package/dist/shared/relation.js +119 -12
  168. package/dist/shared/relation.js.map +1 -1
  169. package/dist/shared/types.d.ts +2 -0
  170. package/dist/shared/types.d.ts.map +1 -1
  171. package/dist/slug/SlugField.css +18 -0
  172. package/dist/slug/SlugField.d.ts +33 -5
  173. package/dist/slug/SlugField.d.ts.map +1 -1
  174. package/dist/slug/SlugField.js +346 -126
  175. package/dist/slug/SlugField.js.map +1 -1
  176. package/dist/slug/SlugField.module.js +14 -0
  177. package/dist/slug/SlugField.module.js.map +1 -0
  178. package/dist/slug/index.d.ts +1 -1
  179. package/dist/slug/index.d.ts.map +1 -1
  180. package/dist/slug/index.js +1 -1
  181. package/dist/tags/TagsField.d.ts +17 -0
  182. package/dist/tags/TagsField.d.ts.map +1 -0
  183. package/dist/tags/TagsField.js +120 -0
  184. package/dist/tags/TagsField.js.map +1 -0
  185. package/dist/tags/index.d.ts +2 -0
  186. package/dist/tags/index.d.ts.map +1 -0
  187. package/dist/tags/index.js +1 -0
  188. package/dist/tel/TelField.d.ts +11 -0
  189. package/dist/tel/TelField.d.ts.map +1 -0
  190. package/dist/tel/TelField.js +87 -0
  191. package/dist/tel/TelField.js.map +1 -0
  192. package/dist/tel/index.d.ts +2 -0
  193. package/dist/tel/index.d.ts.map +1 -0
  194. package/dist/tel/index.js +1 -0
  195. package/dist/text/TextField.d.ts +12 -4
  196. package/dist/text/TextField.d.ts.map +1 -1
  197. package/dist/text/TextField.js +104 -60
  198. package/dist/text/TextField.js.map +1 -1
  199. package/dist/text/index.d.ts +1 -1
  200. package/dist/textarea/TextAreaField.d.ts +1 -1
  201. package/dist/textarea/TextAreaField.js.map +1 -1
  202. package/dist/textarea/index.d.ts +1 -1
  203. package/dist/time/TimeField.d.ts +1 -1
  204. package/dist/time/TimeField.js +64 -10
  205. package/dist/time/TimeField.js.map +1 -1
  206. package/dist/time/index.d.ts +1 -1
  207. package/dist/upload/FilePicker.css +24 -0
  208. package/dist/upload/FilePicker.d.ts +14 -0
  209. package/dist/upload/FilePicker.d.ts.map +1 -0
  210. package/dist/upload/FilePicker.js +130 -0
  211. package/dist/upload/FilePicker.js.map +1 -0
  212. package/dist/upload/FilePicker.module.js +12 -0
  213. package/dist/upload/FilePicker.module.js.map +1 -0
  214. package/dist/upload/UploadList.css +93 -0
  215. package/dist/upload/UploadList.d.ts +18 -0
  216. package/dist/upload/UploadList.d.ts.map +1 -0
  217. package/dist/upload/UploadList.js +144 -0
  218. package/dist/upload/UploadList.js.map +1 -0
  219. package/dist/upload/UploadList.module.js +32 -0
  220. package/dist/upload/UploadList.module.js.map +1 -0
  221. package/dist/upload/files.d.ts +5 -0
  222. package/dist/upload/files.d.ts.map +1 -0
  223. package/dist/upload/files.js +26 -0
  224. package/dist/upload/files.js.map +1 -0
  225. package/dist/upload/types.d.ts +58 -0
  226. package/dist/upload/types.d.ts.map +1 -0
  227. package/dist/upload/useRejectionMessage.d.ts +4 -0
  228. package/dist/upload/useRejectionMessage.d.ts.map +1 -0
  229. package/dist/upload/useRejectionMessage.js +25 -0
  230. package/dist/upload/useRejectionMessage.js.map +1 -0
  231. package/dist/upload/useUploads.d.ts +30 -0
  232. package/dist/upload/useUploads.d.ts.map +1 -0
  233. package/dist/upload/useUploads.js +115 -0
  234. package/dist/upload/useUploads.js.map +1 -0
  235. package/dist/uppy/index.d.ts +3 -0
  236. package/dist/uppy/index.d.ts.map +1 -0
  237. package/dist/uppy/index.js +1 -0
  238. package/dist/uppy/uploader.d.ts +44 -0
  239. package/dist/uppy/uploader.d.ts.map +1 -0
  240. package/dist/uppy/uploader.js +139 -0
  241. package/dist/uppy/uploader.js.map +1 -0
  242. package/dist/url/UrlField.css +2 -2
  243. package/dist/url/UrlField.d.ts +2 -2
  244. package/dist/url/UrlField.js +69 -14
  245. package/dist/url/UrlField.js.map +1 -1
  246. package/dist/url/UrlField.module.js +1 -1
  247. package/dist/url/index.d.ts +1 -1
  248. package/package.json +69 -7
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.js","names":["min","max","disabled","readOnly","required","_c"],"sources":["../../src/number/NumberField.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { NumberInput } from '@panneau/ui';\n\nimport { getFieldProps, getRuleNumber, getSetting, isNumber, isString } from '../shared/entry';\nimport type { FieldEntryProps, FieldProps } from '../shared/types';\n\nexport interface NumberFieldProps extends FieldProps<number> {\n placeholder?: string;\n min?: number;\n max?: number;\n /** Step of the steppers and arrow keys. Defaults to 1. */\n step?: number;\n /** Format of the number, for the locale: decimals, percent, currency. */\n formatOptions?: Intl.NumberFormatOptions;\n /** Content after the number: a unit. */\n suffix?: ReactNode;\n controlClassName?: string;\n inputClassName?: string;\n}\n\n/** A number, formatted for the locale. An empty field is `null`. */\nexport function NumberField({\n value,\n onChange,\n min,\n max,\n disabled,\n readOnly,\n required,\n ...props\n}: NumberFieldProps) {\n return (\n <NumberInput\n {...props}\n value={value ?? null}\n onChange={(next) => onChange?.(next)}\n minValue={min}\n maxValue={max}\n isDisabled={disabled}\n isReadOnly={readOnly}\n isRequired={required}\n />\n );\n}\n\n/**\n * The `number` type: `min` and `max` from its rules, and settings `step`, `decimals` (the most\n * digits after the decimal point) and `suffix`.\n */\nexport function NumberFieldEntry(props: FieldEntryProps) {\n const { field } = props;\n const min = getRuleNumber(field, 'min');\n const max = getRuleNumber(field, 'max');\n const step = getSetting(field, 'step', isNumber);\n const decimals = getSetting(field, 'decimals', isNumber);\n const suffix = getSetting(field, 'suffix', isString);\n return (\n <NumberField\n {...getFieldProps(props)}\n value={isNumber(props.value) ? props.value : null}\n onChange={props.onChange}\n {...(min !== undefined ? { min } : {})}\n {...(max !== undefined ? { max } : {})}\n {...(step !== undefined ? { step } : {})}\n {...(decimals !== undefined\n ? { formatOptions: { maximumFractionDigits: decimals } }\n : {})}\n {...(suffix !== undefined ? { suffix } : {})}\n />\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"NumberField.js","names":["ReactNode","NumberInput","getFieldProps","getRuleNumber","getSetting","isNumber","isString","FieldEntryProps","FieldProps","NumberFieldProps","placeholder","min","max","step","formatOptions","Intl","NumberFormatOptions","suffix","controlClassName","inputClassName","NumberField","t0","$","_c","disabled","onChange","props","readOnly","required","value","t1","t2","next","t3","NumberFieldEntry","field","decimals","t4","t5","t6","t7","undefined","t8","t9","t10","maximumFractionDigits","t11","t12","_c"],"sources":["../../src/number/NumberField.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { NumberInput } from '@panneau/ui';\n\nimport { getFieldProps, getRuleNumber, getSetting, isNumber, isString } from '../shared/entry';\nimport type { FieldEntryProps, FieldProps } from '../shared/types';\n\nexport interface NumberFieldProps extends FieldProps<number> {\n placeholder?: string;\n min?: number;\n max?: number;\n /** Step of the steppers and arrow keys. Defaults to 1. */\n step?: number;\n /** Format of the number, for the locale: decimals, percent, currency. */\n formatOptions?: Intl.NumberFormatOptions;\n /** Content after the number: a unit. */\n suffix?: ReactNode;\n controlClassName?: string;\n inputClassName?: string;\n}\n\n/** A number, formatted for the locale. An empty field is `null`. */\nexport function NumberField({\n value,\n onChange,\n min,\n max,\n disabled,\n readOnly,\n required,\n ...props\n}: NumberFieldProps) {\n return (\n <NumberInput\n {...props}\n value={value ?? null}\n onChange={(next) => onChange?.(next)}\n minValue={min}\n maxValue={max}\n isDisabled={disabled}\n isReadOnly={readOnly}\n isRequired={required}\n />\n );\n}\n\n/**\n * The `number` type: `min` and `max` from its rules, and settings `step`, `decimals` (the most\n * digits after the decimal point) and `suffix`.\n */\nexport function NumberFieldEntry(props: FieldEntryProps) {\n const { field } = props;\n const min = getRuleNumber(field, 'min');\n const max = getRuleNumber(field, 'max');\n const step = getSetting(field, 'step', isNumber);\n const decimals = getSetting(field, 'decimals', isNumber);\n const suffix = getSetting(field, 'suffix', isString);\n return (\n <NumberField\n {...getFieldProps(props)}\n value={isNumber(props.value) ? props.value : null}\n onChange={props.onChange}\n {...(min !== undefined ? { min } : {})}\n {...(max !== undefined ? { max } : {})}\n {...(step !== undefined ? { step } : {})}\n {...(decimals !== undefined\n ? { formatOptions: { maximumFractionDigits: decimals } }\n : {})}\n {...(suffix !== undefined ? { suffix } : {})}\n />\n );\n}\n"],"mappings":";;;;;;AAsBA,SAAOoB,YAAAC,IAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAZ;CAAA,IAAAD;CAAA,IAAAc;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAP,EAAA,OAAAD,IAAA;EAAqB,CAAA,CAAAQ,OAAAJ,UAAAd,KAAAC,KAAAY,UAAAG,UAAAC,UAAA,GAAAF,SAAAL;EASTC,EAAA,KAAAD;EAAAC,EAAA,KAAAE;EAAAF,EAAA,KAAAV;EAAAU,EAAA,KAAAX;EAAAW,EAAA,KAAAG;EAAAH,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;EAAAL,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAA;EAAAL,WAAAF,EAAA;EAAAV,MAAAU,EAAA;EAAAX,MAAAW,EAAA;EAAAG,WAAAH,EAAA;EAAAI,QAAAJ,EAAA;EAAAK,WAAAL,EAAA;EAAAM,WAAAN,EAAA;EAAAO,QAAAP,EAAA;CAAA;CAIA,MAAAQ,KAAAD,SAAA;CAAa,IAAAE;CAAA,IAAAT,EAAA,OAAAG,UAAA;EACVM,MAAAC,SAAUP,WAAWO,IAAI;EAACV,EAAA,KAAAG;EAAAH,EAAA,MAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,QAAAE,YAAAF,EAAA,QAAAV,OAAAU,EAAA,QAAAX,OAAAW,EAAA,QAAAI,SAAAJ,EAAA,QAAAK,YAAAL,EAAA,QAAAM,YAAAN,EAAA,QAAAQ,MAAAR,EAAA,QAAAS,IAAA;EAHxCE,KAAA,oBAAC,aAAD;GAAY,GACJP;GACG,OAAAI;GACG,UAAAC;GACApB,UAAAA;GACAC,UAAAA;GACEY,YAAAA;GACAG,YAAAA;GACAC,YAAAA;EAAQ,CAAA;EACtBN,EAAA,MAAAE;EAAAF,EAAA,MAAAV;EAAAU,EAAA,MAAAX;EAAAW,EAAA,MAAAI;EAAAJ,EAAA,MAAAK;EAAAL,EAAA,MAAAM;EAAAN,EAAA,MAAAQ;EAAAR,EAAA,MAAAS;EAAAT,EAAA,MAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OATFW;AASE;;;;;AAQV,SAAOC,iBAAAR,OAAA;CAAA,MAAAJ,IAAAC,EAAA,EAAA;CACH,MAAA,EAAAY,UAAkBT;CAAM,IAAAL;CAAA,IAAAC,EAAA,OAAAa,OAAA;EACZd,KAAAlB,cAAcgC,OAAO,KAAK;EAACb,EAAA,KAAAa;EAAAb,EAAA,KAAAD;CAAA,OAAAA,KAAAC,EAAA;CAAvC,MAAAX,MAAYU;CAA4B,IAAAS;CAAA,IAAAR,EAAA,OAAAa,OAAA;EAC5BL,KAAA3B,cAAcgC,OAAO,KAAK;EAACb,EAAA,KAAAa;EAAAb,EAAA,KAAAQ;CAAA,OAAAA,KAAAR,EAAA;CAAvC,MAAAV,MAAYkB;CAA4B,IAAAC;CAAA,IAAAT,EAAA,OAAAa,OAAA;EAC3BJ,KAAA3B,WAAW+B,OAAO,QAAQ9B,QAAQ;EAACiB,EAAA,KAAAa;EAAAb,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAhD,MAAAT,OAAakB;CAAoC,IAAAE;CAAA,IAAAX,EAAA,OAAAa,OAAA;EAChCF,KAAA7B,WAAW+B,OAAO,YAAY9B,QAAQ;EAACiB,EAAA,KAAAa;EAAAb,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAxD,MAAAc,WAAiBH;CAAwC,IAAAI;CAAA,IAAAf,EAAA,OAAAa,OAAA;EAC1CE,KAAAjC,WAAW+B,OAAO,UAAU7B,QAAQ;EAACgB,EAAA,KAAAa;EAAAb,EAAA,KAAAe;CAAA,OAAAA,KAAAf,EAAA;CAApD,MAAAL,SAAeoB;CAAsC,IAAAC;CAAA,IAAAhB,EAAA,QAAAI,OAAA;EAGzCY,KAAApC,cAAcwB,KAAK;EAACJ,EAAA,MAAAI;EAAAJ,EAAA,MAAAgB;CAAA,OAAAA,KAAAhB,EAAA;CACjB,MAAAiB,KAAAlC,SAASqB,MAAKG,KAA2B,IAAjBH,MAAKG,QAA7B;CAA0C,IAAAW;CAAA,IAAAlB,EAAA,QAAAX,KAAA;EAE5C6B,KAAA7B,QAAQ8B,KAAAA,IAAR,EAAA9B,IAA+B,IAA/B,CAA+B;EAACW,EAAA,MAAAX;EAAAW,EAAA,MAAAkB;CAAA,OAAAA,KAAAlB,EAAA;CAAA,IAAAoB;CAAA,IAAApB,EAAA,QAAAV,KAAA;EAChC8B,KAAA9B,QAAQ6B,KAAAA,IAAR,EAAA7B,IAA+B,IAA/B,CAA+B;EAACU,EAAA,MAAAV;EAAAU,EAAA,MAAAoB;CAAA,OAAAA,KAAApB,EAAA;CAAA,IAAAqB;CAAA,IAAArB,EAAA,QAAAT,MAAA;EAChC8B,KAAA9B,SAAS4B,KAAAA,IAAT,EAAA5B,KAAiC,IAAjC,CAAiC;EAACS,EAAA,MAAAT;EAAAS,EAAA,MAAAqB;CAAA,OAAAA,KAAArB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,QAAAc,UAAA;EAClCQ,MAAAR,aAAaK,KAAAA,IAAb,EAAA3B,eACkB,EAAA+B,uBAAyBT,SAAS,EAClD,IAFF,CAEE;EAACd,EAAA,MAAAc;EAAAd,EAAA,MAAAsB;CAAA,OAAAA,MAAAtB,EAAA;CAAA,IAAAwB;CAAA,IAAAxB,EAAA,QAAAL,QAAA;EACH6B,MAAA7B,WAAWwB,KAAAA,IAAX,EAAAxB,OAAqC,IAArC,CAAqC;EAACK,EAAA,MAAAL;EAAAK,EAAA,MAAAwB;CAAA,OAAAA,MAAAxB,EAAA;CAAA,IAAAyB;CAAA,IAAAzB,EAAA,QAAAI,MAAAD,YAAAH,EAAA,QAAAsB,OAAAtB,EAAA,QAAAwB,OAAAxB,EAAA,QAAAgB,MAAAhB,EAAA,QAAAiB,MAAAjB,EAAA,QAAAkB,MAAAlB,EAAA,QAAAoB,MAAApB,EAAA,QAAAqB,IAAA;EAV/CI,MAAA,oBAAC,aAAD;GAAY,GACJT;GACG,OAAAC;GACG,UAAAb,MAAKD;GAAS,GACnBe;GAAgC,GAChCE;GAAgC,GAChCC;GAAkC,GAClCC;GAEG,GACHE;EAAsC,CAAA;EAC7CxB,EAAA,MAAAI,MAAAD;EAAAH,EAAA,MAAAsB;EAAAtB,EAAA,MAAAwB;EAAAxB,EAAA,MAAAgB;EAAAhB,EAAA,MAAAiB;EAAAjB,EAAA,MAAAkB;EAAAlB,EAAA,MAAAoB;EAAApB,EAAA,MAAAqB;EAAArB,EAAA,MAAAyB;CAAA,OAAAA,MAAAzB,EAAA;CAAA,OAXFyB;AAWE"}
@@ -1,2 +1,2 @@
1
- export { NumberField, NumberFieldEntry, type NumberFieldProps } from './NumberField';
1
+ export { NumberField, NumberFieldEntry, type NumberFieldProps } from './NumberField.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,22 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { FieldEntryProps, FieldProps } from '../shared/types.js';
3
+ export interface RangeFieldProps extends FieldProps<number> {
4
+ /** The start of the slider. Defaults to 0. */
5
+ min?: number;
6
+ /** The end of the slider. Defaults to 100. */
7
+ max?: number;
8
+ /** Step of the slider and of the arrow keys. Defaults to 1. */
9
+ step?: number;
10
+ /** Format of the number shown, for the locale. */
11
+ formatOptions?: Intl.NumberFormatOptions;
12
+ /** Content after the number: a unit. */
13
+ suffix?: ReactNode;
14
+ }
15
+ /** A number on a slider. It is `null` until the slider is moved. */
16
+ export declare function RangeField({ value, onChange, onBlur, min, max, disabled, readOnly, required, autoFocus: _autoFocus, id: _id, ...props }: RangeFieldProps): import("react").JSX.Element;
17
+ /**
18
+ * The `range` type: its ends from the `min` and `max` rules (0 and 100 without them), and
19
+ * settings `step`, `decimals` and `suffix`, as for `number`.
20
+ */
21
+ export declare function RangeFieldEntry(props: FieldEntryProps): import("react").JSX.Element;
22
+ //# sourceMappingURL=RangeField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeField.d.ts","sourceRoot":"","sources":["../../src/range/RangeField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnE,MAAM,WAAW,eAAgB,SAAQ,UAAU,CAAC,MAAM,CAAC;IACvD,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,aAAa,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;IACzC,wCAAwC;IACxC,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,oEAAoE;AACpE,wBAAgB,UAAU,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,MAAM,EACN,GAAO,EACP,GAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EAAE,UAAU,EACrB,EAAE,EAAE,GAAG,EACP,GAAG,KAAK,EACX,EAAE,eAAe,+BAajB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,+BAsBrD"}
@@ -0,0 +1,203 @@
1
+ import { getFieldProps, getRuleNumber, getSetting, isNumber, isString } from "../shared/entry.js";
2
+ import { c } from "react/compiler-runtime";
3
+ import { Slider } from "@panneau/ui";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/range/RangeField.tsx
6
+ /** A number on a slider. It is `null` until the slider is moved. */
7
+ function RangeField(t0) {
8
+ const $ = c(23);
9
+ let disabled;
10
+ let onBlur;
11
+ let onChange;
12
+ let props;
13
+ let readOnly;
14
+ let required;
15
+ let t1;
16
+ let t2;
17
+ let value;
18
+ if ($[0] !== t0) {
19
+ const { value: t3, onChange: t4, onBlur: t5, min: t6, max: t7, disabled: t8, readOnly: t9, required: t10, autoFocus: _autoFocus, id: _id, ...t11 } = t0;
20
+ value = t3;
21
+ onChange = t4;
22
+ onBlur = t5;
23
+ t1 = t6;
24
+ t2 = t7;
25
+ disabled = t8;
26
+ readOnly = t9;
27
+ required = t10;
28
+ props = t11;
29
+ $[0] = t0;
30
+ $[1] = disabled;
31
+ $[2] = onBlur;
32
+ $[3] = onChange;
33
+ $[4] = props;
34
+ $[5] = readOnly;
35
+ $[6] = required;
36
+ $[7] = t1;
37
+ $[8] = t2;
38
+ $[9] = value;
39
+ } else {
40
+ disabled = $[1];
41
+ onBlur = $[2];
42
+ onChange = $[3];
43
+ props = $[4];
44
+ readOnly = $[5];
45
+ required = $[6];
46
+ t1 = $[7];
47
+ t2 = $[8];
48
+ value = $[9];
49
+ }
50
+ const min = t1 === void 0 ? 0 : t1;
51
+ const max = t2 === void 0 ? 100 : t2;
52
+ const t3 = value ?? null;
53
+ let t4;
54
+ if ($[10] !== onChange) {
55
+ t4 = (next) => onChange?.(next);
56
+ $[10] = onChange;
57
+ $[11] = t4;
58
+ } else t4 = $[11];
59
+ let t5;
60
+ if ($[12] !== onBlur) {
61
+ t5 = () => onBlur?.();
62
+ $[12] = onBlur;
63
+ $[13] = t5;
64
+ } else t5 = $[13];
65
+ const t6 = disabled === true || readOnly === true;
66
+ let t7;
67
+ if ($[14] !== max || $[15] !== min || $[16] !== props || $[17] !== required || $[18] !== t3 || $[19] !== t4 || $[20] !== t5 || $[21] !== t6) {
68
+ t7 = /* @__PURE__ */ jsx(Slider, {
69
+ ...props,
70
+ value: t3,
71
+ onChange: t4,
72
+ onChangeEnd: t5,
73
+ minValue: min,
74
+ maxValue: max,
75
+ isDisabled: t6,
76
+ isRequired: required
77
+ });
78
+ $[14] = max;
79
+ $[15] = min;
80
+ $[16] = props;
81
+ $[17] = required;
82
+ $[18] = t3;
83
+ $[19] = t4;
84
+ $[20] = t5;
85
+ $[21] = t6;
86
+ $[22] = t7;
87
+ } else t7 = $[22];
88
+ return t7;
89
+ }
90
+ /**
91
+ * The `range` type: its ends from the `min` and `max` rules (0 and 100 without them), and
92
+ * settings `step`, `decimals` and `suffix`, as for `number`.
93
+ */
94
+ function RangeFieldEntry(props) {
95
+ const $ = c(33);
96
+ const { field } = props;
97
+ let t0;
98
+ if ($[0] !== field) {
99
+ t0 = getRuleNumber(field, "min");
100
+ $[0] = field;
101
+ $[1] = t0;
102
+ } else t0 = $[1];
103
+ const min = t0;
104
+ let t1;
105
+ if ($[2] !== field) {
106
+ t1 = getRuleNumber(field, "max");
107
+ $[2] = field;
108
+ $[3] = t1;
109
+ } else t1 = $[3];
110
+ const max = t1;
111
+ let t2;
112
+ if ($[4] !== field) {
113
+ t2 = getSetting(field, "step", isNumber);
114
+ $[4] = field;
115
+ $[5] = t2;
116
+ } else t2 = $[5];
117
+ const step = t2;
118
+ let t3;
119
+ if ($[6] !== field) {
120
+ t3 = getSetting(field, "decimals", isNumber);
121
+ $[6] = field;
122
+ $[7] = t3;
123
+ } else t3 = $[7];
124
+ const decimals = t3;
125
+ let t4;
126
+ if ($[8] !== field) {
127
+ t4 = getSetting(field, "suffix", isString);
128
+ $[8] = field;
129
+ $[9] = t4;
130
+ } else t4 = $[9];
131
+ const suffix = t4;
132
+ let t5;
133
+ if ($[10] !== props) {
134
+ t5 = getFieldProps(props);
135
+ $[10] = props;
136
+ $[11] = t5;
137
+ } else t5 = $[11];
138
+ let fieldProps;
139
+ if ($[12] !== t5) {
140
+ const { placeholder: _placeholder, ...t6 } = t5;
141
+ fieldProps = t6;
142
+ $[12] = t5;
143
+ $[13] = fieldProps;
144
+ } else fieldProps = $[13];
145
+ const t6 = isNumber(props.value) ? props.value : null;
146
+ let t7;
147
+ if ($[14] !== min) {
148
+ t7 = min !== void 0 ? { min } : {};
149
+ $[14] = min;
150
+ $[15] = t7;
151
+ } else t7 = $[15];
152
+ let t8;
153
+ if ($[16] !== max) {
154
+ t8 = max !== void 0 ? { max } : {};
155
+ $[16] = max;
156
+ $[17] = t8;
157
+ } else t8 = $[17];
158
+ let t9;
159
+ if ($[18] !== step) {
160
+ t9 = step !== void 0 ? { step } : {};
161
+ $[18] = step;
162
+ $[19] = t9;
163
+ } else t9 = $[19];
164
+ let t10;
165
+ if ($[20] !== decimals) {
166
+ t10 = decimals !== void 0 ? { formatOptions: { maximumFractionDigits: decimals } } : {};
167
+ $[20] = decimals;
168
+ $[21] = t10;
169
+ } else t10 = $[21];
170
+ let t11;
171
+ if ($[22] !== suffix) {
172
+ t11 = suffix !== void 0 ? { suffix } : {};
173
+ $[22] = suffix;
174
+ $[23] = t11;
175
+ } else t11 = $[23];
176
+ let t12;
177
+ if ($[24] !== fieldProps || $[25] !== props.onChange || $[26] !== t10 || $[27] !== t11 || $[28] !== t6 || $[29] !== t7 || $[30] !== t8 || $[31] !== t9) {
178
+ t12 = /* @__PURE__ */ jsx(RangeField, {
179
+ ...fieldProps,
180
+ value: t6,
181
+ onChange: props.onChange,
182
+ ...t7,
183
+ ...t8,
184
+ ...t9,
185
+ ...t10,
186
+ ...t11
187
+ });
188
+ $[24] = fieldProps;
189
+ $[25] = props.onChange;
190
+ $[26] = t10;
191
+ $[27] = t11;
192
+ $[28] = t6;
193
+ $[29] = t7;
194
+ $[30] = t8;
195
+ $[31] = t9;
196
+ $[32] = t12;
197
+ } else t12 = $[32];
198
+ return t12;
199
+ }
200
+ //#endregion
201
+ export { RangeField, RangeFieldEntry };
202
+
203
+ //# sourceMappingURL=RangeField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeField.js","names":["ReactNode","Slider","getFieldProps","getRuleNumber","getSetting","isNumber","isString","FieldEntryProps","FieldProps","RangeFieldProps","min","max","step","formatOptions","Intl","NumberFormatOptions","suffix","RangeField","t0","$","_c","disabled","onBlur","onChange","props","readOnly","required","t1","t2","value","t3","t4","t5","t6","t7","t8","t9","t10","autoFocus","_autoFocus","id","_id","t11","undefined","next","RangeFieldEntry","field","decimals","fieldProps","placeholder","_placeholder","maximumFractionDigits","t12","_c"],"sources":["../../src/range/RangeField.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { Slider } from '@panneau/ui';\n\nimport { getFieldProps, getRuleNumber, getSetting, isNumber, isString } from '../shared/entry';\nimport type { FieldEntryProps, FieldProps } from '../shared/types';\n\nexport interface RangeFieldProps extends FieldProps<number> {\n /** The start of the slider. Defaults to 0. */\n min?: number;\n /** The end of the slider. Defaults to 100. */\n max?: number;\n /** Step of the slider and of the arrow keys. Defaults to 1. */\n step?: number;\n /** Format of the number shown, for the locale. */\n formatOptions?: Intl.NumberFormatOptions;\n /** Content after the number: a unit. */\n suffix?: ReactNode;\n}\n\n/** A number on a slider. It is `null` until the slider is moved. */\nexport function RangeField({\n value,\n onChange,\n onBlur,\n min = 0,\n max = 100,\n disabled,\n readOnly,\n required,\n autoFocus: _autoFocus,\n id: _id,\n ...props\n}: RangeFieldProps) {\n return (\n <Slider\n {...props}\n value={value ?? null}\n onChange={(next) => onChange?.(next)}\n onChangeEnd={() => onBlur?.()}\n minValue={min}\n maxValue={max}\n isDisabled={disabled === true || readOnly === true}\n isRequired={required}\n />\n );\n}\n\n/**\n * The `range` type: its ends from the `min` and `max` rules (0 and 100 without them), and\n * settings `step`, `decimals` and `suffix`, as for `number`.\n */\nexport function RangeFieldEntry(props: FieldEntryProps) {\n const { field } = props;\n const min = getRuleNumber(field, 'min');\n const max = getRuleNumber(field, 'max');\n const step = getSetting(field, 'step', isNumber);\n const decimals = getSetting(field, 'decimals', isNumber);\n const suffix = getSetting(field, 'suffix', isString);\n const { placeholder: _placeholder, ...fieldProps } = getFieldProps(props);\n return (\n <RangeField\n {...fieldProps}\n value={isNumber(props.value) ? props.value : null}\n onChange={props.onChange}\n {...(min !== undefined ? { min } : {})}\n {...(max !== undefined ? { max } : {})}\n {...(step !== undefined ? { step } : {})}\n {...(decimals !== undefined\n ? { formatOptions: { maximumFractionDigits: decimals } }\n : {})}\n {...(suffix !== undefined ? { suffix } : {})}\n />\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { RangeField, RangeFieldEntry, type RangeFieldProps } from './RangeField.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/range/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ export { RangeField, RangeFieldEntry } from "./RangeField.js";
@@ -1,10 +1,10 @@
1
- .panneau-multiple-u9IXr- {
1
+ .panneau-relation-field-multiple {
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: var(--panneau-space-2);
5
5
  }
6
6
 
7
- .panneau-selected-PL7VcQ {
7
+ .panneau-relation-field-selected {
8
8
  display: flex;
9
9
  flex-wrap: wrap;
10
10
  gap: var(--panneau-space-1) var(--panneau-space-2);
@@ -13,7 +13,7 @@
13
13
  list-style: none;
14
14
  }
15
15
 
16
- .panneau-reference-J8YpaW {
16
+ .panneau-relation-field-reference {
17
17
  display: inline-flex;
18
18
  align-items: center;
19
19
  gap: var(--panneau-space-1);
@@ -26,18 +26,18 @@
26
26
  border-radius: var(--panneau-radius-full);
27
27
  }
28
28
 
29
- .panneau-reference-J8YpaW:only-child,
30
- .panneau-readOnly-UunIK0 .panneau-reference-J8YpaW {
29
+ .panneau-relation-field-reference:only-child,
30
+ .panneau-relation-field-read-only .panneau-relation-field-reference {
31
31
  padding-inline-end: var(--panneau-space-3);
32
32
  }
33
33
 
34
- .panneau-referenceLabel-ydQ0bU {
34
+ .panneau-relation-field-reference-label {
35
35
  overflow: hidden;
36
36
  text-overflow: ellipsis;
37
37
  white-space: nowrap;
38
38
  }
39
39
 
40
- .panneau-none-niMk7v {
40
+ .panneau-relation-field-none {
41
41
  font-size: var(--panneau-font-size-md);
42
42
  color: var(--panneau-color-text-muted);
43
43
  }
@@ -1,5 +1,5 @@
1
- import { type RelationReference, type RelationSource } from '../shared/relation';
2
- import type { FieldEntryProps, FieldProps } from '../shared/types';
1
+ import { type RelationReference, type RelationSource } from '../shared/relation.js';
2
+ import type { FieldEntryProps, FieldProps } from '../shared/types.js';
3
3
  /** Results of a search in a relation source, as it types. */
4
4
  export declare function useRelationSearch(source: RelationSource | null, resource: string, query: string, { enabled, delay }?: {
5
5
  enabled?: boolean;
@@ -14,6 +14,12 @@ export interface RelationFieldBaseProps extends Omit<FieldProps<never>, 'value'
14
14
  resource: string;
15
15
  /** Where to search. Defaults to the fields context's. Without one, the field is read-only. */
16
16
  source?: RelationSource | null;
17
+ /**
18
+ * Creates an item from the typed text, offered as "Create “…”" in the picker: it can open a
19
+ * dialog, and resolves with the new reference, or `null` when nothing was created. Defaults to
20
+ * the source's `create()`. `null` turns creating off.
21
+ */
22
+ onCreate?: ((text: string) => Promise<RelationReference | null>) | null;
17
23
  placeholder?: string;
18
24
  controlClassName?: string;
19
25
  }
@@ -31,8 +37,10 @@ export interface MultipleRelationFieldProps extends RelationFieldBaseProps {
31
37
  export type RelationFieldProps = SingleRelationFieldProps | MultipleRelationFieldProps;
32
38
  /**
33
39
  * A reference to an item of another resource, or several with `multiple`, picked by searching a
34
- * `RelationSource`. Values are references (`{ id, label }`), as items carry them. Without a
35
- * source, the field shows its references and can't change them.
40
+ * `RelationSource`. Values are references (`{ id, label }`), as items carry them; plain ids get
41
+ * their labels from the source's `resolve()`. When the source can `create()` (or with `onCreate`),
42
+ * the picker offers to create an item from the typed text. Without a source, the field shows its
43
+ * references and can't change them.
36
44
  */
37
45
  export declare function RelationField(props: RelationFieldProps): import("react").JSX.Element;
38
46
  /** The `relation` type: `resource` and `multiple`. Items search the fields context's source. */
@@ -1 +1 @@
1
- {"version":3,"file":"RelationField.d.ts","sourceRoot":"","sources":["../../src/relation/RelationField.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAgB,MAAM,oBAAoB,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGnE,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,EAAE,OAAc,EAAE,KAAW,EAAE,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5E;IAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAmCpD;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACzF,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACpE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACtE,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAC5C,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1D;AAED,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,0BAA0B,CAAC;AA+BvF;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAiKtD;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,+BAQxD"}
1
+ {"version":3,"file":"RelationField.d.ts","sourceRoot":"","sources":["../../src/relation/RelationField.tsx"],"names":[],"mappings":"AASA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAGtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAMnE,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,cAAc,GAAG,IAAI,EAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,EAAE,OAAc,EAAE,KAAW,EAAE,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5E;IAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAmCpD;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACzF,wDAAwD;IACxD,QAAQ,EAAE,MAAM,CAAC;IACjB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACpE,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;CACxD;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACtE,QAAQ,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAC5C,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;CAC1D;AAED,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,0BAA0B,CAAC;AA+BvF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,+BAyNtD;AAED,gGAAgG;AAChG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,+BAUxD"}