@star-insure/sdk 6.8.0 → 6.8.1

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 (267) hide show
  1. package/dist/sdk.es10.js +30 -30
  2. package/dist/sdk.es10.js.map +1 -1
  3. package/dist/sdk.es101.js.map +1 -1
  4. package/dist/sdk.es102.js.map +1 -1
  5. package/dist/sdk.es103.js +3 -3
  6. package/dist/sdk.es103.js.map +1 -1
  7. package/dist/sdk.es104.js +4 -4
  8. package/dist/sdk.es104.js.map +1 -1
  9. package/dist/sdk.es105.js +6 -6
  10. package/dist/sdk.es105.js.map +1 -1
  11. package/dist/sdk.es106.js +5 -5
  12. package/dist/sdk.es106.js.map +1 -1
  13. package/dist/sdk.es107.js +4 -4
  14. package/dist/sdk.es107.js.map +1 -1
  15. package/dist/sdk.es108.js +4 -4
  16. package/dist/sdk.es108.js.map +1 -1
  17. package/dist/sdk.es109.js +4 -4
  18. package/dist/sdk.es109.js.map +1 -1
  19. package/dist/sdk.es11.js.map +1 -1
  20. package/dist/sdk.es110.js +5 -5
  21. package/dist/sdk.es110.js.map +1 -1
  22. package/dist/sdk.es111.js +5 -5
  23. package/dist/sdk.es111.js.map +1 -1
  24. package/dist/sdk.es112.js +7 -7
  25. package/dist/sdk.es112.js.map +1 -1
  26. package/dist/sdk.es113.js +7 -7
  27. package/dist/sdk.es113.js.map +1 -1
  28. package/dist/sdk.es114.js +5 -5
  29. package/dist/sdk.es114.js.map +1 -1
  30. package/dist/sdk.es115.js +5 -5
  31. package/dist/sdk.es115.js.map +1 -1
  32. package/dist/sdk.es116.js +4 -4
  33. package/dist/sdk.es116.js.map +1 -1
  34. package/dist/sdk.es117.js +5 -5
  35. package/dist/sdk.es117.js.map +1 -1
  36. package/dist/sdk.es118.js +5 -5
  37. package/dist/sdk.es118.js.map +1 -1
  38. package/dist/sdk.es119.js +5 -5
  39. package/dist/sdk.es119.js.map +1 -1
  40. package/dist/sdk.es12.js.map +1 -1
  41. package/dist/sdk.es120.js +4 -4
  42. package/dist/sdk.es120.js.map +1 -1
  43. package/dist/sdk.es121.js +4 -4
  44. package/dist/sdk.es121.js.map +1 -1
  45. package/dist/sdk.es122.js +4 -4
  46. package/dist/sdk.es122.js.map +1 -1
  47. package/dist/sdk.es123.js +5 -5
  48. package/dist/sdk.es123.js.map +1 -1
  49. package/dist/sdk.es124.js +5 -5
  50. package/dist/sdk.es124.js.map +1 -1
  51. package/dist/sdk.es125.js +5 -5
  52. package/dist/sdk.es125.js.map +1 -1
  53. package/dist/sdk.es126.js +5 -5
  54. package/dist/sdk.es126.js.map +1 -1
  55. package/dist/sdk.es127.js +5 -5
  56. package/dist/sdk.es127.js.map +1 -1
  57. package/dist/sdk.es128.js +5 -5
  58. package/dist/sdk.es128.js.map +1 -1
  59. package/dist/sdk.es129.js +4 -4
  60. package/dist/sdk.es129.js.map +1 -1
  61. package/dist/sdk.es13.js.map +1 -1
  62. package/dist/sdk.es130.js +5 -5
  63. package/dist/sdk.es130.js.map +1 -1
  64. package/dist/sdk.es131.js +5 -5
  65. package/dist/sdk.es131.js.map +1 -1
  66. package/dist/sdk.es132.js +4 -4
  67. package/dist/sdk.es132.js.map +1 -1
  68. package/dist/sdk.es133.js +4 -4
  69. package/dist/sdk.es133.js.map +1 -1
  70. package/dist/sdk.es134.js.map +1 -1
  71. package/dist/sdk.es135.js.map +1 -1
  72. package/dist/sdk.es137.js.map +1 -1
  73. package/dist/sdk.es138.js.map +1 -1
  74. package/dist/sdk.es139.js +5 -7
  75. package/dist/sdk.es139.js.map +1 -1
  76. package/dist/sdk.es14.js.map +1 -1
  77. package/dist/sdk.es140.js +25 -11
  78. package/dist/sdk.es140.js.map +1 -1
  79. package/dist/sdk.es141.js +99 -13
  80. package/dist/sdk.es141.js.map +1 -1
  81. package/dist/sdk.es142.js +13 -13
  82. package/dist/sdk.es142.js.map +1 -1
  83. package/dist/sdk.es143.js +7 -5
  84. package/dist/sdk.es143.js.map +1 -1
  85. package/dist/sdk.es144.js +47 -25
  86. package/dist/sdk.es144.js.map +1 -1
  87. package/dist/sdk.es145.js +9 -99
  88. package/dist/sdk.es145.js.map +1 -1
  89. package/dist/sdk.es146.js +10 -47
  90. package/dist/sdk.es146.js.map +1 -1
  91. package/dist/sdk.es147.js +13 -9
  92. package/dist/sdk.es147.js.map +1 -1
  93. package/dist/sdk.es148.js +10 -9
  94. package/dist/sdk.es148.js.map +1 -1
  95. package/dist/sdk.es149.js +10 -13
  96. package/dist/sdk.es149.js.map +1 -1
  97. package/dist/sdk.es15.js.map +1 -1
  98. package/dist/sdk.es150.js +13 -10
  99. package/dist/sdk.es150.js.map +1 -1
  100. package/dist/sdk.es151.js.map +1 -1
  101. package/dist/sdk.es152.js.map +1 -1
  102. package/dist/sdk.es153.js.map +1 -1
  103. package/dist/sdk.es154.js +4 -4
  104. package/dist/sdk.es154.js.map +1 -1
  105. package/dist/sdk.es155.js +1 -1
  106. package/dist/sdk.es156.js.map +1 -1
  107. package/dist/sdk.es157.js +11 -11
  108. package/dist/sdk.es157.js.map +1 -1
  109. package/dist/sdk.es158.js.map +1 -1
  110. package/dist/sdk.es159.js.map +1 -1
  111. package/dist/sdk.es16.js +13 -13
  112. package/dist/sdk.es16.js.map +1 -1
  113. package/dist/sdk.es160.js +7 -7
  114. package/dist/sdk.es160.js.map +1 -1
  115. package/dist/sdk.es17.js.map +1 -1
  116. package/dist/sdk.es18.js.map +1 -1
  117. package/dist/sdk.es19.js.map +1 -1
  118. package/dist/sdk.es2.js +2 -2
  119. package/dist/sdk.es2.js.map +1 -1
  120. package/dist/sdk.es20.js.map +1 -1
  121. package/dist/sdk.es21.js.map +1 -1
  122. package/dist/sdk.es22.js.map +1 -1
  123. package/dist/sdk.es23.js.map +1 -1
  124. package/dist/sdk.es24.js.map +1 -1
  125. package/dist/sdk.es25.js.map +1 -1
  126. package/dist/sdk.es26.js +1 -1
  127. package/dist/sdk.es26.js.map +1 -1
  128. package/dist/sdk.es27.js +1 -1
  129. package/dist/sdk.es27.js.map +1 -1
  130. package/dist/sdk.es28.js +1 -1
  131. package/dist/sdk.es28.js.map +1 -1
  132. package/dist/sdk.es29.js +1 -1
  133. package/dist/sdk.es29.js.map +1 -1
  134. package/dist/sdk.es3.js +17 -17
  135. package/dist/sdk.es3.js.map +1 -1
  136. package/dist/sdk.es30.js +1 -1
  137. package/dist/sdk.es30.js.map +1 -1
  138. package/dist/sdk.es31.js +1 -1
  139. package/dist/sdk.es31.js.map +1 -1
  140. package/dist/sdk.es32.js.map +1 -1
  141. package/dist/sdk.es33.js +1 -1
  142. package/dist/sdk.es33.js.map +1 -1
  143. package/dist/sdk.es34.js.map +1 -1
  144. package/dist/sdk.es35.js.map +1 -1
  145. package/dist/sdk.es36.js +21 -21
  146. package/dist/sdk.es36.js.map +1 -1
  147. package/dist/sdk.es37.js +120 -55
  148. package/dist/sdk.es37.js.map +1 -1
  149. package/dist/sdk.es38.js +55 -120
  150. package/dist/sdk.es38.js.map +1 -1
  151. package/dist/sdk.es39.js +1 -1
  152. package/dist/sdk.es4.js.map +1 -1
  153. package/dist/sdk.es40.js +11 -9
  154. package/dist/sdk.es40.js.map +1 -1
  155. package/dist/sdk.es41.js.map +1 -1
  156. package/dist/sdk.es42.js +8 -3
  157. package/dist/sdk.es42.js.map +1 -1
  158. package/dist/sdk.es43.js +2 -5
  159. package/dist/sdk.es43.js.map +1 -1
  160. package/dist/sdk.es44.js +25 -7
  161. package/dist/sdk.es44.js.map +1 -1
  162. package/dist/sdk.es45.js +602 -2
  163. package/dist/sdk.es45.js.map +1 -1
  164. package/dist/sdk.es46.js +5 -26
  165. package/dist/sdk.es46.js.map +1 -1
  166. package/dist/sdk.es47.js +21 -601
  167. package/dist/sdk.es47.js.map +1 -1
  168. package/dist/sdk.es48.js +77 -19
  169. package/dist/sdk.es48.js.map +1 -1
  170. package/dist/sdk.es49.js +63 -66
  171. package/dist/sdk.es49.js.map +1 -1
  172. package/dist/sdk.es5.js.map +1 -1
  173. package/dist/sdk.es50.js +227 -72
  174. package/dist/sdk.es50.js.map +1 -1
  175. package/dist/sdk.es51.js +25 -231
  176. package/dist/sdk.es51.js.map +1 -1
  177. package/dist/sdk.es52.js +3 -26
  178. package/dist/sdk.es52.js.map +1 -1
  179. package/dist/sdk.es55.js +9 -4
  180. package/dist/sdk.es55.js.map +1 -1
  181. package/dist/sdk.es56.js +6 -7
  182. package/dist/sdk.es56.js.map +1 -1
  183. package/dist/sdk.es57.js +7 -6
  184. package/dist/sdk.es57.js.map +1 -1
  185. package/dist/sdk.es58.js +4 -8
  186. package/dist/sdk.es58.js.map +1 -1
  187. package/dist/sdk.es59.js +15 -6
  188. package/dist/sdk.es59.js.map +1 -1
  189. package/dist/sdk.es6.js.map +1 -1
  190. package/dist/sdk.es60.js +8 -7
  191. package/dist/sdk.es60.js.map +1 -1
  192. package/dist/sdk.es61.js +9 -4
  193. package/dist/sdk.es61.js.map +1 -1
  194. package/dist/sdk.es62.js +8 -15
  195. package/dist/sdk.es62.js.map +1 -1
  196. package/dist/sdk.es63.js +636 -8
  197. package/dist/sdk.es63.js.map +1 -1
  198. package/dist/sdk.es64.js +74 -10
  199. package/dist/sdk.es64.js.map +1 -1
  200. package/dist/sdk.es65.js +4 -8
  201. package/dist/sdk.es65.js.map +1 -1
  202. package/dist/sdk.es66.js +17 -636
  203. package/dist/sdk.es66.js.map +1 -1
  204. package/dist/sdk.es67.js +5 -74
  205. package/dist/sdk.es67.js.map +1 -1
  206. package/dist/sdk.es68.js +18 -5
  207. package/dist/sdk.es68.js.map +1 -1
  208. package/dist/sdk.es69.js +5 -19
  209. package/dist/sdk.es69.js.map +1 -1
  210. package/dist/sdk.es7.js.map +1 -1
  211. package/dist/sdk.es70.js +8 -4
  212. package/dist/sdk.es70.js.map +1 -1
  213. package/dist/sdk.es71.js +48 -17
  214. package/dist/sdk.es71.js.map +1 -1
  215. package/dist/sdk.es72.js +7 -5
  216. package/dist/sdk.es72.js.map +1 -1
  217. package/dist/sdk.es73.js +57 -9
  218. package/dist/sdk.es73.js.map +1 -1
  219. package/dist/sdk.es74.js +65 -49
  220. package/dist/sdk.es74.js.map +1 -1
  221. package/dist/sdk.es75.js +8 -7
  222. package/dist/sdk.es75.js.map +1 -1
  223. package/dist/sdk.es76.js +4 -57
  224. package/dist/sdk.es76.js.map +1 -1
  225. package/dist/sdk.es77.js +7 -65
  226. package/dist/sdk.es77.js.map +1 -1
  227. package/dist/sdk.es78.js +2 -9
  228. package/dist/sdk.es78.js.map +1 -1
  229. package/dist/sdk.es79.js +11 -4
  230. package/dist/sdk.es79.js.map +1 -1
  231. package/dist/sdk.es8.js.map +1 -1
  232. package/dist/sdk.es80.js +2 -2
  233. package/dist/sdk.es80.js.map +1 -1
  234. package/dist/sdk.es82.js +52 -3673
  235. package/dist/sdk.es82.js.map +1 -1
  236. package/dist/sdk.es83.js +10 -6
  237. package/dist/sdk.es83.js.map +1 -1
  238. package/dist/sdk.es84.js +21 -2
  239. package/dist/sdk.es84.js.map +1 -1
  240. package/dist/sdk.es85.js +3688 -52
  241. package/dist/sdk.es85.js.map +1 -1
  242. package/dist/sdk.es86.js +6 -10
  243. package/dist/sdk.es86.js.map +1 -1
  244. package/dist/sdk.es87.js +2 -21
  245. package/dist/sdk.es87.js.map +1 -1
  246. package/dist/sdk.es88.js +1 -1
  247. package/dist/sdk.es89.js +5 -10
  248. package/dist/sdk.es89.js.map +1 -1
  249. package/dist/sdk.es9.js.map +1 -1
  250. package/dist/sdk.es90.js +9 -9
  251. package/dist/sdk.es90.js.map +1 -1
  252. package/dist/sdk.es91.js +10 -12
  253. package/dist/sdk.es91.js.map +1 -1
  254. package/dist/sdk.es92.js +12 -10
  255. package/dist/sdk.es92.js.map +1 -1
  256. package/dist/sdk.es93.js +10 -18
  257. package/dist/sdk.es93.js.map +1 -1
  258. package/dist/sdk.es94.js +18 -5
  259. package/dist/sdk.es94.js.map +1 -1
  260. package/dist/sdk.es95.js +1 -1
  261. package/dist/sdk.es95.js.map +1 -1
  262. package/dist/sdk.es96.js +6 -6
  263. package/dist/sdk.es96.js.map +1 -1
  264. package/dist/sdk.es97.js +2 -2
  265. package/dist/sdk.es98.js.map +1 -1
  266. package/dist/sdk.es99.js.map +1 -1
  267. package/package.json +4 -5
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es33.js","sources":["../src/components/forms/RegistrationSearchField.tsx"],"sourcesContent":["import React from 'react';\nimport { sanitiseVehicleType } from '../../lib';\nimport {\n ApiResponse,\n FormStatus,\n MotorwebVehicleResponse,\n VehicleType,\n} from '../../types';\nimport { useToast } from '../../lib/toast';\nimport cn from 'classnames';\n\nexport interface VehicleData extends MotorwebVehicleResponse {\n make: string;\n model: string;\n year: string;\n vehicle_type: VehicleType;\n is_heavy: boolean;\n}\n\nexport interface RegistrationSearchOnChange {\n registration: string;\n}\n\ninterface Props {\n name?: string;\n onChange?: (values: RegistrationSearchOnChange) => void;\n onVehicleDataFound: (vehicleData: VehicleData) => void;\n apiUrl?: string;\n showOdometerReadingField?: boolean;\n showConditionField?: boolean;\n initialRegistrationValue?: string;\n outerClassName?: string;\n odoInputClassName?: string;\n conditionSelectClassName?: string;\n regoInputClassName?: string;\n searchBtnClassName?: string;\n}\n\nexport const conditionOptions = [\n 'POOR',\n 'FAIR',\n 'AVERAGE',\n 'GOOD',\n 'VERY_GOOD',\n 'AS_NEW',\n 'NEW',\n];\n\nexport default function RegistrationSearchField({\n name = 'registration_search',\n initialRegistrationValue = '',\n onVehicleDataFound,\n apiUrl = '/api/rego-search',\n showOdometerReadingField = false,\n showConditionField = false,\n onChange,\n outerClassName,\n odoInputClassName,\n conditionSelectClassName,\n regoInputClassName,\n searchBtnClassName,\n}: Props) {\n const [rego, setRego] = React.useState<string>(initialRegistrationValue);\n const [odo, setOdo] = React.useState<string>('');\n const [condition, setCondition] = React.useState<string>('GOOD');\n\n const [status, setStatus] = React.useState<FormStatus>('idle');\n const { addToast } = useToast();\n\n function handleChange(\n e: React.SyntheticEvent<HTMLInputElement | HTMLSelectElement>\n ) {\n if (e.currentTarget.name === name) {\n setRego(e.currentTarget.value?.toUpperCase() || '');\n }\n\n if (e.currentTarget.name === 'odo_search') {\n setOdo(e.currentTarget.value);\n }\n\n if (e.currentTarget.name === 'condition_search') {\n setCondition(e.currentTarget.value);\n }\n\n if (onChange) {\n onChange({ registration: e.currentTarget.value.toUpperCase() });\n }\n }\n\n function handleKeydown(e: React.KeyboardEvent) {\n if (e.key === 'Enter') {\n handleSearch();\n }\n }\n\n async function handleSearch() {\n setStatus('processing');\n\n const payload = {\n registration: rego,\n odometerReading: odo,\n condition,\n };\n\n // Turn the payload in to a query string\n // @ts-ignore\n const query = new URLSearchParams(payload).toString();\n\n const res = await fetch(`${apiUrl}?${query}`, {\n headers: { 'Content-Type': 'application/json' },\n });\n\n if (!res.ok) {\n addToast({\n message: `There was an error with the provided registration.`,\n status: 'error',\n timeout: 3000,\n });\n setStatus('error');\n return;\n }\n\n const { data, ok }: ApiResponse<MotorwebVehicleResponse> = await res.json();\n\n if (!ok || !data) {\n addToast({\n message: `Failed to find vehicle, please complete manually.`,\n status: 'error',\n timeout: 3000,\n });\n setStatus('error');\n return;\n }\n\n const vehicleData = data.data.vehicle;\n\n const make = vehicleData.make;\n const model = vehicleData.model;\n const year = vehicleData['year-of-manufacture'];\n const weight = vehicleData['gross-vehicle-mass']\n ? parseInt(vehicleData['gross-vehicle-mass'].replaceAll(',', ''))\n : 0;\n const vehicleType = vehicleData['vehicle-type'];\n\n if (!make || !model || !year || !vehicleType) {\n addToast({\n message: `We couldn't find all of your data, please complete manually.`,\n status: 'error',\n timeout: 3000,\n });\n setStatus('error');\n }\n\n onVehicleDataFound({\n ...data,\n make: make || '',\n model: model || '',\n year: year || '',\n vehicle_type: vehicleType ? sanitiseVehicleType(vehicleType) : 'car',\n is_heavy: (weight && weight > 3500) || false,\n });\n\n setStatus('success');\n }\n\n return (\n <div className=\"w-full flex flex-col\">\n <div className={cn(outerClassName, \"w-full flex flex-wrap gap-3 bg-gray-100 rounded-md p-3\")}>\n {showOdometerReadingField ||\n (showConditionField && (\n <div className=\"w-full grid grid-cols-2 gap-3\">\n {showOdometerReadingField && (\n <label>\n Approx. km travelled\n <input\n onKeyDown={handleKeydown}\n type=\"number\"\n name=\"odo_search\"\n id=\"odo_search\"\n value={odo}\n onChange={handleChange}\n className={cn(odoInputClassName, \"transition-all\", {\n 'pointer-events-none opacity-50': status === 'processing',\n })}\n disabled={status === 'processing'}\n />\n </label>\n )}\n\n {showConditionField && (\n <label>\n Vehicle condition\n <select\n name=\"condition_search\"\n id=\"condition_search\"\n value={condition}\n onChange={handleChange}\n className={cn(conditionSelectClassName, \"transition-all\", {\n 'pointer-events-none opacity-50': status === 'processing',\n })}\n disabled={status === 'processing'}\n >\n {conditionOptions.map(conditionOption => (\n <option key={conditionOption}>{conditionOption}</option>\n ))}\n </select>\n </label>\n )}\n </div>\n ))}\n\n <input\n onKeyDown={handleKeydown}\n placeholder=\"Search for your rego\"\n type=\"text\"\n name={name}\n id={name}\n value={rego}\n onChange={handleChange}\n className={cn(regoInputClassName, \"flex-grow transition-all\", {\n 'pointer-events-none opacity-50': status === 'processing',\n })}\n disabled={status === 'processing'}\n />\n\n <button\n title=\"Search\"\n type=\"button\"\n onClick={handleSearch}\n disabled={status === 'processing'}\n className={cn(searchBtnClassName, \"bg-accent px-4 py-3 rounded-md transition-all\")}\n >\n <span className=\"sr-only\">Search</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5 text-white\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n />\n </svg>\n </button>\n </div>\n </div>\n );\n}\n"],"names":["conditionOptions","RegistrationSearchField","name","initialRegistrationValue","onVehicleDataFound","apiUrl","showOdometerReadingField","showConditionField","onChange","outerClassName","odoInputClassName","conditionSelectClassName","regoInputClassName","searchBtnClassName","rego","setRego","React","odo","setOdo","condition","setCondition","status","setStatus","addToast","useToast","handleChange","handleKeydown","handleSearch","payload","query","res","data","ok","vehicleData","make","model","year","weight","vehicleType","sanitiseVehicleType","jsx","jsxs","cn","conditionOption"],"mappings":"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"}
1
+ {"version":3,"file":"sdk.es33.js","sources":["../src/components/forms/RegistrationSearchField.tsx"],"sourcesContent":["import React from 'react';\nimport { sanitiseVehicleType } from '../../lib';\nimport {\n ApiResponse,\n FormStatus,\n MotorwebVehicleResponse,\n VehicleType,\n} from '../../types';\nimport { useToast } from '../../lib/toast';\nimport cn from 'classnames';\n\nexport interface VehicleData extends MotorwebVehicleResponse {\n make: string;\n model: string;\n year: string;\n vehicle_type: VehicleType;\n is_heavy: boolean;\n}\n\nexport interface RegistrationSearchOnChange {\n registration: string;\n}\n\ninterface Props {\n name?: string;\n onChange?: (values: RegistrationSearchOnChange) => void;\n onVehicleDataFound: (vehicleData: VehicleData) => void;\n apiUrl?: string;\n showOdometerReadingField?: boolean;\n showConditionField?: boolean;\n initialRegistrationValue?: string;\n outerClassName?: string;\n odoInputClassName?: string;\n conditionSelectClassName?: string;\n regoInputClassName?: string;\n searchBtnClassName?: string;\n}\n\nexport const conditionOptions = [\n 'POOR',\n 'FAIR',\n 'AVERAGE',\n 'GOOD',\n 'VERY_GOOD',\n 'AS_NEW',\n 'NEW',\n];\n\nexport default function RegistrationSearchField({\n name = 'registration_search',\n initialRegistrationValue = '',\n onVehicleDataFound,\n apiUrl = '/api/rego-search',\n showOdometerReadingField = false,\n showConditionField = false,\n onChange,\n outerClassName,\n odoInputClassName,\n conditionSelectClassName,\n regoInputClassName,\n searchBtnClassName,\n}: Props) {\n const [rego, setRego] = React.useState<string>(initialRegistrationValue);\n const [odo, setOdo] = React.useState<string>('');\n const [condition, setCondition] = React.useState<string>('GOOD');\n\n const [status, setStatus] = React.useState<FormStatus>('idle');\n const { addToast } = useToast();\n\n function handleChange(\n e: React.SyntheticEvent<HTMLInputElement | HTMLSelectElement>\n ) {\n if (e.currentTarget.name === name) {\n setRego(e.currentTarget.value?.toUpperCase() || '');\n }\n\n if (e.currentTarget.name === 'odo_search') {\n setOdo(e.currentTarget.value);\n }\n\n if (e.currentTarget.name === 'condition_search') {\n setCondition(e.currentTarget.value);\n }\n\n if (onChange) {\n onChange({ registration: e.currentTarget.value.toUpperCase() });\n }\n }\n\n function handleKeydown(e: React.KeyboardEvent) {\n if (e.key === 'Enter') {\n handleSearch();\n }\n }\n\n async function handleSearch() {\n setStatus('processing');\n\n const payload = {\n registration: rego,\n odometerReading: odo,\n condition,\n };\n\n // Turn the payload in to a query string\n // @ts-ignore\n const query = new URLSearchParams(payload).toString();\n\n const res = await fetch(`${apiUrl}?${query}`, {\n headers: { 'Content-Type': 'application/json' },\n });\n\n if (!res.ok) {\n addToast({\n message: `There was an error with the provided registration.`,\n status: 'error',\n timeout: 3000,\n });\n setStatus('error');\n return;\n }\n\n const { data, ok }: ApiResponse<MotorwebVehicleResponse> = await res.json();\n\n if (!ok || !data) {\n addToast({\n message: `Failed to find vehicle, please complete manually.`,\n status: 'error',\n timeout: 3000,\n });\n setStatus('error');\n return;\n }\n\n const vehicleData = data.data.vehicle;\n\n const make = vehicleData.make;\n const model = vehicleData.model;\n const year = vehicleData['year-of-manufacture'];\n const weight = vehicleData['gross-vehicle-mass']\n ? parseInt(vehicleData['gross-vehicle-mass'].replaceAll(',', ''))\n : 0;\n const vehicleType = vehicleData['vehicle-type'];\n\n if (!make || !model || !year || !vehicleType) {\n addToast({\n message: `We couldn't find all of your data, please complete manually.`,\n status: 'error',\n timeout: 3000,\n });\n setStatus('error');\n }\n\n onVehicleDataFound({\n ...data,\n make: make || '',\n model: model || '',\n year: year || '',\n vehicle_type: vehicleType ? sanitiseVehicleType(vehicleType) : 'car',\n is_heavy: (weight && weight > 3500) || false,\n });\n\n setStatus('success');\n }\n\n return (\n <div className=\"w-full flex flex-col\">\n <div className={cn(outerClassName, \"w-full flex flex-wrap gap-3 bg-gray-100 rounded-md p-3\")}>\n {showOdometerReadingField ||\n (showConditionField && (\n <div className=\"w-full grid grid-cols-2 gap-3\">\n {showOdometerReadingField && (\n <label>\n Approx. km travelled\n <input\n onKeyDown={handleKeydown}\n type=\"number\"\n name=\"odo_search\"\n id=\"odo_search\"\n value={odo}\n onChange={handleChange}\n className={cn(odoInputClassName, \"transition-all\", {\n 'pointer-events-none opacity-50': status === 'processing',\n })}\n disabled={status === 'processing'}\n />\n </label>\n )}\n\n {showConditionField && (\n <label>\n Vehicle condition\n <select\n name=\"condition_search\"\n id=\"condition_search\"\n value={condition}\n onChange={handleChange}\n className={cn(conditionSelectClassName, \"transition-all\", {\n 'pointer-events-none opacity-50': status === 'processing',\n })}\n disabled={status === 'processing'}\n >\n {conditionOptions.map(conditionOption => (\n <option key={conditionOption}>{conditionOption}</option>\n ))}\n </select>\n </label>\n )}\n </div>\n ))}\n\n <input\n onKeyDown={handleKeydown}\n placeholder=\"Search for your rego\"\n type=\"text\"\n name={name}\n id={name}\n value={rego}\n onChange={handleChange}\n className={cn(regoInputClassName, \"flex-grow transition-all\", {\n 'pointer-events-none opacity-50': status === 'processing',\n })}\n disabled={status === 'processing'}\n />\n\n <button\n title=\"Search\"\n type=\"button\"\n onClick={handleSearch}\n disabled={status === 'processing'}\n className={cn(searchBtnClassName, \"bg-accent px-4 py-3 rounded-md transition-all\")}\n >\n <span className=\"sr-only\">Search</span>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5 text-white\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"\n />\n </svg>\n </button>\n </div>\n </div>\n );\n}\n"],"names":["conditionOptions","RegistrationSearchField","name","initialRegistrationValue","onVehicleDataFound","apiUrl","showOdometerReadingField","showConditionField","onChange","outerClassName","odoInputClassName","conditionSelectClassName","regoInputClassName","searchBtnClassName","rego","setRego","React","odo","setOdo","condition","setCondition","status","setStatus","addToast","useToast","handleChange","handleKeydown","handleSearch","payload","query","res","data","ok","vehicleData","make","model","year","weight","vehicleType","sanitiseVehicleType","jsx","jsxs","cn","conditionOption"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es34.js","sources":["../src/components/forms/FormTester.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '../common';\nimport { useQuoteRequestForm } from '../../lib';\n\ninterface Props {\n populatePurchaseOptions: boolean;\n}\n\nexport default function FormTester({ populatePurchaseOptions = false }: Props) {\n const { form } = useQuoteRequestForm();\n const [keys, setKeys] = React.useState<string[]>([]);\n const [isDev, setDev] = React.useState<boolean>(false);\n\n function handlePopulate() {\n form?.setData(prevData => ({\n ...prevData,\n first_name: 'TEST',\n last_name: 'TEST',\n email: 'dev@sual.co.nz',\n phone: '021 234 5678',\n mobile: '021 234 5678',\n dob: '1990-01-01',\n licence: 'Other',\n licence_other: 'Test',\n club_id: 50,\n club_membership_number: '12345',\n street_address: {\n address: '123 Street Name',\n unit: 'Level 1',\n suburb: 'Suburb',\n city: 'Auckland',\n post_code: '1234',\n },\n promo_code: 'TEST',\n declaration: {\n had_incident: true,\n incidents: [\n {\n description: 'Lorem ipsum dolor sit amet.',\n month: 'January',\n year: '2020',\n },\n ],\n has_demerit_points: true,\n demerit_points: '1-24',\n has_lost_licence: true,\n lost_licence_details: 'Lorem ipsum dolor sit amet.',\n was_refused_insurance: true,\n refused_insurance_details: 'Lorem ipsum dolor sit amet.',\n has_criminal_conviction: true,\n criminal_conviction_details: 'Lorem ipsum dolor sit amet.',\n has_vehicle_modifications: true,\n vehicle_modifications_details: 'Lorem ipsum dolor sit amet.',\n has_previous_insurer: true,\n previous_insurer_details: 'AA',\n previous_insurer_expires_at: '2020-01-01',\n additional_details:\n 'I am a robot, beep boop. Please ignore this submission.',\n },\n vehicles: [\n {\n make: 'Tesla',\n model: 'Cybertruck',\n year: '2023',\n registration: 'ELMUSK',\n vehicle_type: 'car',\n product: 'star-enthusiast-prestige-everyday-plus',\n value: 100000,\n is_heavy: false,\n usage: 'Childrens car',\n storage_location: 'Carport',\n has_financially_interested_party: true,\n financially_interested_party_detail: 'MTA',\n owned_duration: 'Less than 12 months',\n main_driver: 'TEST TEST',\n drivers: [\n {\n first_name: 'X Æ',\n last_name: 'A-12',\n dob: '2000-05-04',\n licence: 'Other',\n licence_other: 'None',\n relationship: 'Child',\n key: 'driver-test-key',\n },\n ],\n key: 'vehicle-test-key',\n },\n ],\n purchase_options: populatePurchaseOptions\n ? [\n {\n premium_type: 'annual',\n level_of_insurance_id: 12,\n authorised_drivers: 'TEST',\n excess_details: 'TEST',\n terms: 'TEST',\n description: 'This is a test purchase option',\n premium: 100000,\n monthly_premium: 8500,\n show_monthly: true,\n fsl: 100,\n sort_order: 1,\n enhancements: [\n {\n name: 'Test enhancement',\n premium: 2500,\n disable_rounding: false,\n description: 'Test enhancement',\n auto_select: true,\n key: 'enhancement-test-key-1',\n },\n {\n name: 'Test enhancement',\n premium: 5000,\n disable_rounding: false,\n description: 'Test enhancement',\n auto_select: false,\n key: 'enhancement-test-key-2',\n },\n ],\n key: 'purchase-option-test-key-annual',\n },\n {\n premium_type: 'total-due',\n level_of_insurance_id: 13,\n authorised_drivers: 'TEST',\n excess_details: 'TEST',\n terms: 'TEST',\n description: 'This is a test purchase option',\n premium: 100000,\n show_monthly: false,\n fsl: 100,\n sort_order: 2,\n enhancements: [\n {\n name: 'Test enhancement',\n premium: 2500,\n disable_rounding: false,\n description: 'Test enhancement',\n auto_select: true,\n key: 'enhancement-test-key-3',\n },\n {\n name: 'Test enhancement',\n premium: 5000,\n disable_rounding: false,\n description: 'Test enhancement',\n auto_select: false,\n key: 'enhancement-test-key-4',\n },\n ],\n key: 'purchase-option-test-key-total-due',\n },\n ]\n : [],\n }));\n }\n\n function handleKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n return setKeys([]);\n }\n\n setKeys(prevKeys => [...prevKeys, e.key]);\n }\n\n React.useEffect(() => {\n // Detect when the user has typed the word \"debug\"\n if (keys.join('') === 'debug') {\n handlePopulate();\n }\n }, [keys]);\n\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n if (\n window.location.href.includes('dev') ||\n window.location.href.includes('localhost') ||\n window.location.href.includes('test') ||\n window.location.href.includes('local')\n ) {\n setDev(true);\n }\n\n window.addEventListener('keydown', (e: KeyboardEvent) =>\n handleKeydown(e)\n );\n\n return () => {\n window.removeEventListener('keydown', (e: KeyboardEvent) =>\n handleKeydown(e)\n );\n };\n }\n\n return;\n }, []);\n\n if (isDev) {\n return (\n <Button\n onClick={handlePopulate}\n type=\"button\"\n status=\"primary\"\n className=\"fixed bottom-4 right-4\"\n >\n Populate data\n </Button>\n );\n }\n\n return <></>;\n}\n"],"names":["FormTester","populatePurchaseOptions","form","useQuoteRequestForm","keys","setKeys","React","isDev","setDev","handlePopulate","prevData","handleKeydown","prevKeys","jsx","Button","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"sdk.es34.js","sources":["../src/components/forms/FormTester.tsx"],"sourcesContent":["import React from 'react';\nimport { Button } from '../common';\nimport { useQuoteRequestForm } from '../../lib';\n\ninterface Props {\n populatePurchaseOptions: boolean;\n}\n\nexport default function FormTester({ populatePurchaseOptions = false }: Props) {\n const { form } = useQuoteRequestForm();\n const [keys, setKeys] = React.useState<string[]>([]);\n const [isDev, setDev] = React.useState<boolean>(false);\n\n function handlePopulate() {\n form?.setData(prevData => ({\n ...prevData,\n first_name: 'TEST',\n last_name: 'TEST',\n email: 'dev@sual.co.nz',\n phone: '021 234 5678',\n mobile: '021 234 5678',\n dob: '1990-01-01',\n licence: 'Other',\n licence_other: 'Test',\n club_id: 50,\n club_membership_number: '12345',\n street_address: {\n address: '123 Street Name',\n unit: 'Level 1',\n suburb: 'Suburb',\n city: 'Auckland',\n post_code: '1234',\n },\n promo_code: 'TEST',\n declaration: {\n had_incident: true,\n incidents: [\n {\n description: 'Lorem ipsum dolor sit amet.',\n month: 'January',\n year: '2020',\n },\n ],\n has_demerit_points: true,\n demerit_points: '1-24',\n has_lost_licence: true,\n lost_licence_details: 'Lorem ipsum dolor sit amet.',\n was_refused_insurance: true,\n refused_insurance_details: 'Lorem ipsum dolor sit amet.',\n has_criminal_conviction: true,\n criminal_conviction_details: 'Lorem ipsum dolor sit amet.',\n has_vehicle_modifications: true,\n vehicle_modifications_details: 'Lorem ipsum dolor sit amet.',\n has_previous_insurer: true,\n previous_insurer_details: 'AA',\n previous_insurer_expires_at: '2020-01-01',\n additional_details:\n 'I am a robot, beep boop. Please ignore this submission.',\n },\n vehicles: [\n {\n make: 'Tesla',\n model: 'Cybertruck',\n year: '2023',\n registration: 'ELMUSK',\n vehicle_type: 'car',\n product: 'star-enthusiast-prestige-everyday-plus',\n value: 100000,\n is_heavy: false,\n usage: 'Childrens car',\n storage_location: 'Carport',\n has_financially_interested_party: true,\n financially_interested_party_detail: 'MTA',\n owned_duration: 'Less than 12 months',\n main_driver: 'TEST TEST',\n drivers: [\n {\n first_name: 'X Æ',\n last_name: 'A-12',\n dob: '2000-05-04',\n licence: 'Other',\n licence_other: 'None',\n relationship: 'Child',\n key: 'driver-test-key',\n },\n ],\n key: 'vehicle-test-key',\n },\n ],\n purchase_options: populatePurchaseOptions\n ? [\n {\n premium_type: 'annual',\n level_of_insurance_id: 12,\n authorised_drivers: 'TEST',\n excess_details: 'TEST',\n terms: 'TEST',\n description: 'This is a test purchase option',\n premium: 100000,\n monthly_premium: 8500,\n show_monthly: true,\n fsl: 100,\n sort_order: 1,\n enhancements: [\n {\n name: 'Test enhancement',\n premium: 2500,\n disable_rounding: false,\n description: 'Test enhancement',\n auto_select: true,\n key: 'enhancement-test-key-1',\n },\n {\n name: 'Test enhancement',\n premium: 5000,\n disable_rounding: false,\n description: 'Test enhancement',\n auto_select: false,\n key: 'enhancement-test-key-2',\n },\n ],\n key: 'purchase-option-test-key-annual',\n },\n {\n premium_type: 'total-due',\n level_of_insurance_id: 13,\n authorised_drivers: 'TEST',\n excess_details: 'TEST',\n terms: 'TEST',\n description: 'This is a test purchase option',\n premium: 100000,\n show_monthly: false,\n fsl: 100,\n sort_order: 2,\n enhancements: [\n {\n name: 'Test enhancement',\n premium: 2500,\n disable_rounding: false,\n description: 'Test enhancement',\n auto_select: true,\n key: 'enhancement-test-key-3',\n },\n {\n name: 'Test enhancement',\n premium: 5000,\n disable_rounding: false,\n description: 'Test enhancement',\n auto_select: false,\n key: 'enhancement-test-key-4',\n },\n ],\n key: 'purchase-option-test-key-total-due',\n },\n ]\n : [],\n }));\n }\n\n function handleKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n return setKeys([]);\n }\n\n setKeys(prevKeys => [...prevKeys, e.key]);\n }\n\n React.useEffect(() => {\n // Detect when the user has typed the word \"debug\"\n if (keys.join('') === 'debug') {\n handlePopulate();\n }\n }, [keys]);\n\n React.useEffect(() => {\n if (typeof window !== 'undefined') {\n if (\n window.location.href.includes('dev') ||\n window.location.href.includes('localhost') ||\n window.location.href.includes('test') ||\n window.location.href.includes('local')\n ) {\n setDev(true);\n }\n\n window.addEventListener('keydown', (e: KeyboardEvent) =>\n handleKeydown(e)\n );\n\n return () => {\n window.removeEventListener('keydown', (e: KeyboardEvent) =>\n handleKeydown(e)\n );\n };\n }\n\n return;\n }, []);\n\n if (isDev) {\n return (\n <Button\n onClick={handlePopulate}\n type=\"button\"\n status=\"primary\"\n className=\"fixed bottom-4 right-4\"\n >\n Populate data\n </Button>\n );\n }\n\n return <></>;\n}\n"],"names":["FormTester","populatePurchaseOptions","form","useQuoteRequestForm","keys","setKeys","React","isDev","setDev","handlePopulate","prevData","handleKeydown","prevKeys","jsx","Button","Fragment"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es35.js","sources":["../src/components/forms/ErrorList.tsx"],"sourcesContent":["import React from 'react';\nimport { ErrorBag, Errors } from '@inertiajs/core';\nimport { Card } from '../common';\n\ninterface Props {\n heading?: string;\n errors?: Errors & ErrorBag;\n renderKeys?: boolean;\n className?: string;\n}\n\nexport default function ErrorList({\n heading = 'There was an error with your submission.',\n errors = {},\n renderKeys = false,\n className = '',\n}: Props) {\n if (Object.values(errors).length === 0) {\n return <></>;\n }\n\n return (\n <aside className={`${className} col-span-full`}>\n <Card className=\"border border-red-500 !bg-red-50\">\n <h2 className=\"font-black text-red-500 mb-2\">{heading}</h2>\n <ul className=\"space-y-2 list-disc ml-4\">\n {Object.entries(errors).map(([field, message]) => (\n <li className=\"font-bold text-red-500\" key={field}>\n {renderKeys && <strong>{field}: </strong>}\n {message}\n </li>\n ))}\n </ul>\n </Card>\n </aside>\n );\n}\n"],"names":["ErrorList","heading","errors","renderKeys","className","jsx","Fragment","jsxs","Card","field","message"],"mappings":";;;;;;AAWA,SAAwBA,EAAU;AAAA,EAChC,SAAAC,IAAU;AAAA,EACV,QAAAC,IAAS,CAAC;AAAA,EACV,YAAAC,IAAa;AAAA,EACb,WAAAC,IAAY;AACd,GAAU;AACR,SAAI,OAAO,OAAOF,CAAM,EAAE,WAAW,IAC1BG,gBAAAA,EAAA,IAAAC,EAAA,UAAA,EAAA,IAITD,gBAAAA,EAAA,IAAC,WAAM,WAAW,GAAGD,CAAS,kBAC5B,UAAAG,gBAAAA,EAAA,KAACC,GAAK,EAAA,WAAU,oCACd,UAAA;AAAA,IAACH,gBAAAA,EAAA,IAAA,MAAA,EAAG,WAAU,gCAAgC,UAAQJ,GAAA;AAAA,0BACrD,MAAG,EAAA,WAAU,4BACX,UAAA,OAAO,QAAQC,CAAM,EAAE,IAAI,CAAC,CAACO,GAAOC,CAAO,MACzCH,gBAAAA,EAAAA,KAAA,MAAA,EAAG,WAAU,0BACX,UAAA;AAAA,MAAAJ,4BAAe,UAAQ,EAAA,UAAA;AAAA,QAAAM;AAAA,QAAM;AAAA,MAAA,GAAE;AAAA,MAC/BC;AAAA,IAAA,EAFyC,GAAAD,CAG5C,CACD,EACH,CAAA;AAAA,EAAA,EAAA,CACF,EACF,CAAA;AAEJ;"}
1
+ {"version":3,"file":"sdk.es35.js","sources":["../src/components/forms/ErrorList.tsx"],"sourcesContent":["import React from 'react';\nimport { ErrorBag, Errors } from '@inertiajs/core';\nimport { Card } from '../common';\n\ninterface Props {\n heading?: string;\n errors?: Errors & ErrorBag;\n renderKeys?: boolean;\n className?: string;\n}\n\nexport default function ErrorList({\n heading = 'There was an error with your submission.',\n errors = {},\n renderKeys = false,\n className = '',\n}: Props) {\n if (Object.values(errors).length === 0) {\n return <></>;\n }\n\n return (\n <aside className={`${className} col-span-full`}>\n <Card className=\"border border-red-500 !bg-red-50\">\n <h2 className=\"font-black text-red-500 mb-2\">{heading}</h2>\n <ul className=\"space-y-2 list-disc ml-4\">\n {Object.entries(errors).map(([field, message]) => (\n <li className=\"font-bold text-red-500\" key={field}>\n {renderKeys && <strong>{field}: </strong>}\n {message}\n </li>\n ))}\n </ul>\n </Card>\n </aside>\n );\n}\n"],"names":["ErrorList","heading","errors","renderKeys","className","jsx","Fragment","jsxs","Card","field","message"],"mappings":";;;;;;AAWA,SAAwBA,EAAU;AAAA,EAChC,SAAAC,IAAU;AAAA,EACV,QAAAC,IAAS,CAAA;AAAA,EACT,YAAAC,IAAa;AAAA,EACb,WAAAC,IAAY;AACd,GAAU;AACR,SAAI,OAAO,OAAOF,CAAM,EAAE,WAAW,IAC5BG,gBAAAA,EAAAA,IAAAC,EAAAA,UAAA,EAAE,IAITD,gBAAAA,EAAAA,IAAC,WAAM,WAAW,GAAGD,CAAS,kBAC5B,UAAAG,gBAAAA,EAAAA,KAACC,GAAA,EAAK,WAAU,oCACd,UAAA;AAAA,IAAAH,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,gCAAgC,UAAAJ,GAAQ;AAAA,0BACrD,MAAA,EAAG,WAAU,4BACX,UAAA,OAAO,QAAQC,CAAM,EAAE,IAAI,CAAC,CAACO,GAAOC,CAAO,MAC1CH,gBAAAA,EAAAA,KAAC,MAAA,EAAG,WAAU,0BACX,UAAA;AAAA,MAAAJ,4BAAe,UAAA,EAAQ,UAAA;AAAA,QAAAM;AAAA,QAAM;AAAA,MAAA,GAAE;AAAA,MAC/BC;AAAA,IAAA,EAAA,GAFyCD,CAG5C,CACD,EAAA,CACH;AAAA,EAAA,EAAA,CACF,EAAA,CACF;AAEJ;"}
package/dist/sdk.es36.js CHANGED
@@ -1,25 +1,25 @@
1
1
  import { j as t } from "./sdk.es39.js";
2
2
  import n from "react";
3
- import d from "./sdk.es43.js";
4
- import { BackButton as $ } from "./sdk.es48.js";
5
- import X from "./sdk.es49.js";
6
- import Y from "./sdk.es50.js";
7
- import { FilterItem as q } from "./sdk.es51.js";
8
- import { HiXMark as z, HiChevronLeft as D, HiChevronRight as F } from "./sdk.es52.js";
3
+ import m from "./sdk.es46.js";
4
+ import { BackButton as $ } from "./sdk.es47.js";
5
+ import X from "./sdk.es48.js";
6
+ import Y from "./sdk.es49.js";
7
+ import { FilterItem as q } from "./sdk.es50.js";
8
+ import { HiXMark as z, HiChevronLeft as D, HiChevronRight as F } from "./sdk.es51.js";
9
9
  function N({
10
10
  title: a,
11
11
  search: c,
12
12
  className: E = "",
13
13
  innerClassName: S = "",
14
- back: m = !0,
15
- actions: h = [],
14
+ back: h = !0,
15
+ actions: p = [],
16
16
  filterOptions: u = [],
17
17
  focusSearchShortcut: k = !1,
18
18
  children: L
19
19
  }) {
20
- const [f, p] = n.useState(!1), l = n.useRef(null), [v, x] = n.useState(!1), g = [];
20
+ const [f, v] = n.useState(!1), l = n.useRef(null), [x, g] = n.useState(!1), d = [];
21
21
  n.Children.forEach(L, (e) => {
22
- n.isValidElement(e) && e.type === N.Action && g.push(e);
22
+ n.isValidElement(e) && e.type === N.Action && d.push(e);
23
23
  }), n.useEffect(() => {
24
24
  const e = l.current;
25
25
  if (!e) return;
@@ -32,19 +32,19 @@ function N({
32
32
  C.left <= b.left - 50 || C.left >= b.right - 50 ? r.style.visibility = "hidden" : r.style.visibility = "visible", r.style.left = `${_.left}px`;
33
33
  }, j = function(s) {
34
34
  const r = e.getBoundingClientRect();
35
- s.clientX > r.left && s.clientX < r.right && s.clientY > r.top && s.clientY < r.bottom ? x(!0) : x(!1);
35
+ s.clientX > r.left && s.clientX < r.right && s.clientY > r.top && s.clientY < r.bottom ? g(!0) : g(!1);
36
36
  };
37
37
  return e.addEventListener("scroll", i), document.addEventListener("mousemove", j), () => {
38
38
  e.removeEventListener("scroll", i), document.removeEventListener("mousemove", j);
39
39
  };
40
40
  }, []), n.useEffect(() => {
41
41
  const e = function(i) {
42
- v && (i.preventDefault(), l.current?.scrollBy({ left: i.deltaY, behavior: "auto" }));
42
+ x && (i.preventDefault(), l.current?.scrollBy({ left: i.deltaY, behavior: "auto" }));
43
43
  };
44
44
  return document.addEventListener("wheel", e, { passive: !1 }), () => {
45
45
  document.removeEventListener("wheel", e);
46
46
  };
47
- }, [v]);
47
+ }, [x]);
48
48
  function B() {
49
49
  window.location.href = window.location.pathname;
50
50
  }
@@ -63,15 +63,15 @@ function N({
63
63
  function H() {
64
64
  l.current?.scrollBy({ left: -100, behavior: "auto" }), o();
65
65
  }
66
- const y = n.useMemo(() => h.filter((e) => !e.hidden), [h]);
67
- return /* @__PURE__ */ t.jsxs("section", { className: d("col-span-full flex items-center gap-2 max-w-full rounded-lg bg-white p-2 shadow", E), children: [
68
- m && /* @__PURE__ */ t.jsx($, { back: m, className: "bg-primary-100 h-[60px] w-[60px] rounded" }),
69
- /* @__PURE__ */ t.jsxs("div", { className: d("w-full grid grid-cols-[auto_1fr_auto_auto] h-[60px] rounded bg-primary-100 p-3 gap-4", S), children: [
66
+ const y = n.useMemo(() => p.filter((e) => !e.hidden), [p]);
67
+ return /* @__PURE__ */ t.jsxs("section", { className: m("col-span-full flex items-center gap-2 max-w-full rounded-lg bg-white p-2 shadow", E), children: [
68
+ h && /* @__PURE__ */ t.jsx($, { back: h, className: "bg-primary-100 h-[60px] w-[60px] rounded" }),
69
+ /* @__PURE__ */ t.jsxs("div", { className: m("w-full grid grid-cols-[auto_1fr_auto_auto] h-[60px] rounded bg-primary-100 p-3 gap-4", S), children: [
70
70
  /* @__PURE__ */ t.jsxs(
71
71
  "div",
72
72
  {
73
- onClick: () => p(!0),
74
- className: d(
73
+ onClick: () => v(!0),
74
+ className: m(
75
75
  "mr-auto flex items-center gap-4 transition-colors pr-6 pl-1 disabled:opacity-100 text-primary",
76
76
  {
77
77
  "hover:text-accent": c && !f,
@@ -80,7 +80,7 @@ function N({
80
80
  }
81
81
  ),
82
82
  children: [
83
- c && /* @__PURE__ */ t.jsx(X, { search: c, active: f, onActive: p, placeholder: `Search ${a}...`, focusSearchShortcut: k }),
83
+ c && /* @__PURE__ */ t.jsx(X, { search: c, active: f, onActive: v, placeholder: `Search ${a}...`, focusSearchShortcut: k }),
84
84
  !f && /* @__PURE__ */ t.jsx("h1", { className: "text-base text-primary font-black", children: a })
85
85
  ]
86
86
  }
@@ -95,7 +95,7 @@ function N({
95
95
  u.length > 0 && /* @__PURE__ */ t.jsx("div", { className: "w-[1px] h-full bg-gray-300" }),
96
96
  /* @__PURE__ */ t.jsx("nav", { className: "flex items-center gap-2", children: y.map((e) => /* @__PURE__ */ t.jsx(Y, { ...e }, `${e.title}-${e.as}-${e.href}`)) })
97
97
  ] }),
98
- /* @__PURE__ */ t.jsx("div", { className: "flex items-center gap-3 bg-gray-100", children: g })
98
+ d && /* @__PURE__ */ t.jsx("div", { className: "flex items-center gap-3 bg-gray-100", children: d })
99
99
  ] })
100
100
  ] });
101
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.es36.js","sources":["../src/components/filter/PageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { FilterOption, TPageHeaderAction } from '../../types';\nimport { BackButton } from './Back';\nimport SearchBar from './SearchBar';\nimport Action from './Action';\nimport { FilterItem } from './FilterItem';\nimport { HiChevronLeft, HiChevronRight, HiXMark } from 'react-icons/hi2';\n\ninterface Props {\n title: string;\n search?: string;\n className?: string;\n innerClassName?: string;\n back?: boolean | string;\n actions?: TPageHeaderAction[];\n backText?: string;\n filterOptions?: FilterOption[];\n focusSearchShortcut?: boolean;\n children?: React.ReactNode;\n}\n\nexport default function PageHeader({\n title,\n search,\n className = '',\n innerClassName = '',\n back = true,\n actions = [],\n filterOptions = [],\n focusSearchShortcut = false,\n children\n}: Props) {\n const [isSearchActive, setSearchActive] = React.useState<boolean>(false);\n const scrollContainerRef = React.useRef<HTMLDivElement | null>(null);\n\n const [overScroll, setOverScroll] = React.useState<boolean>(false);\n\n const actionChildren: React.ReactNode[] = [];\n\n // Categorize children based on their type\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === PageHeader.Action) {\n actionChildren.push(child);\n }\n }\n });\n\n React.useEffect(() => {\n const current = scrollContainerRef.current;\n if (!current) return;\n\n const listener = function() {\n const activeDropdown = current.querySelector('.active');\n if (!activeDropdown) return;\n\n const childrenContainer = activeDropdown.querySelector('.children');\n if (!childrenContainer) return;\n\n const pos = activeDropdown.getBoundingClientRect();\n\n const posChild = childrenContainer.getBoundingClientRect();\n const posContainer = current.getBoundingClientRect();\n\n // if the dropdown content moves outside the scroll container to the left, make it disappear\n if (posChild.left <= posContainer.left - 50) {\n // @ts-ignore\n childrenContainer.style.visibility = 'hidden';\n } else if (posChild.left >= posContainer.right - 50) {\n // @ts-ignore\n childrenContainer.style.visibility = 'hidden';\n } else {\n // @ts-ignore\n childrenContainer.style.visibility = 'visible';\n }\n\n // @ts-ignore\n childrenContainer.style.left = `${pos.left}px`;\n }\n\n const mouseListener = function(e: MouseEvent) {\n const pos = current.getBoundingClientRect();\n if (e.clientX > pos.left && e.clientX < pos.right && e.clientY > pos.top && e.clientY < pos.bottom) {\n setOverScroll(true);\n } else {\n setOverScroll(false);\n }\n };\n\n current.addEventListener('scroll', listener);\n document.addEventListener('mousemove', mouseListener)\n\n return () => {\n current.removeEventListener('scroll', listener);\n document.removeEventListener('mousemove', mouseListener)\n }\n }, []);\n\n React.useEffect(() => {\n const scrollListener = function(e: WheelEvent) {\n if (overScroll) {\n e.preventDefault();\n scrollContainerRef.current?.scrollBy({ left: e.deltaY, behavior: 'auto' });\n }\n }\n\n document.addEventListener('wheel', scrollListener, { passive: false });\n\n return () => {\n document.removeEventListener('wheel', scrollListener);\n }\n }, [overScroll])\n\n function handleClear() {\n window.location.href = window.location.pathname;\n }\n\n const [hasScroll, setHasScroll] = React.useState<boolean>(false);\n\n const checkScroll = React.useCallback(() => {\n const current = scrollContainerRef.current;\n if (!current) return;\n\n const pos = current.getBoundingClientRect();\n\n setHasScroll(current.scrollWidth > (pos.width + 11));\n }, [scrollContainerRef.current]);\n\n React.useEffect(() => {\n checkScroll();\n\n window.addEventListener('resize', checkScroll)\n\n return () => {\n window.removeEventListener('resize', checkScroll);\n }\n }, [checkScroll]);\n\n function clickRight() {\n scrollContainerRef.current?.scrollBy({ left: 100, behavior: 'auto' });\n checkScroll();\n }\n\n function clickLeft() {\n scrollContainerRef.current?.scrollBy({ left: -100, behavior: 'auto' });\n checkScroll();\n }\n\n const filteredActions = React.useMemo(() => {\n return actions.filter(action => !action.hidden);\n }, [actions]);\n\n return (\n <section className={cn('col-span-full flex items-center gap-2 max-w-full rounded-lg bg-white p-2 shadow', className)}>\n {back && (\n <BackButton back={back} className=\"bg-primary-100 h-[60px] w-[60px] rounded\" />\n )}\n\n <div className={cn('w-full grid grid-cols-[auto_1fr_auto_auto] h-[60px] rounded bg-primary-100 p-3 gap-4', innerClassName)}>\n <div\n onClick={() => setSearchActive(true)}\n className={cn('mr-auto flex items-center gap-4 transition-colors pr-6 pl-1 disabled:opacity-100 text-primary', {\n 'hover:text-accent': search && !isSearchActive,\n 'pointer-events-none': !search,\n 'hover:cursor-pointer': search,\n }\n )}>\n {search && <SearchBar search={search} active={isSearchActive} onActive={setSearchActive} placeholder={`Search ${title}...`} focusSearchShortcut={focusSearchShortcut} />}\n\n {!isSearchActive && <h1 className=\"text-base text-primary font-black\">{title}</h1>}\n </div>\n\n <div className=\"flex items-center ml-auto gap-2 h-full min-w-0 max-w-full\">\n {filterOptions.length > 0 && (\n <>\n <button onClick={handleClear} className=\"p-1.5 hover:text-red-500\"><HiXMark className=\"w-5 h-5 stroke-[1.25]\" /></button>\n\n {hasScroll && <HiChevronLeft onClick={clickLeft} className=\"w-5 h-5 text-gray-400 stroke-[1.25]\" />}\n <div ref={scrollContainerRef} className=\"flex items-center h-full w-full gap-3 overflow-x-scroll hide-scroll\">\n {filterOptions.map(filter => (\n <FilterItem key={filter.name} filter={filter} />\n ))}\n </div>\n {hasScroll && <HiChevronRight onClick={clickRight} className=\"w-5 h-5 text-gray-400 stroke-[1.25]\" />}\n </>\n )}\n </div>\n\n {filteredActions.length > 0 && (\n <div className=\"flex items-center gap-3 bg-primary-100\">\n {filterOptions.length > 0 && <div className=\"w-[1px] h-full bg-gray-300\" />}\n <nav className=\"flex items-center gap-2\">\n {filteredActions.map((action) => (\n <Action key={`${action.title}-${action.as}-${action.href}`} {...action} />\n ))}\n </nav>\n </div>\n )}\n {actionChildren && (\n <div className=\"flex items-center gap-3 bg-gray-100\">\n {actionChildren}\n </div>\n )}\n </div>\n </section>\n );\n}\n\n// Subcomponents\nPageHeader.Action = ({ children }: {children: React.ReactNode}) => <div>{children}</div>;\n"],"names":["PageHeader","title","search","className","innerClassName","back","actions","filterOptions","focusSearchShortcut","children","isSearchActive","setSearchActive","React","scrollContainerRef","overScroll","setOverScroll","actionChildren","child","current","listener","activeDropdown","childrenContainer","pos","posChild","posContainer","mouseListener","e","scrollListener","handleClear","hasScroll","setHasScroll","checkScroll","clickRight","clickLeft","filteredActions","action","cn","jsx","BackButton","jsxs","SearchBar","Fragment","HiXMark","HiChevronLeft","filter","FilterItem","HiChevronRight","Action"],"mappings":"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"}
1
+ {"version":3,"file":"sdk.es36.js","sources":["../src/components/filter/PageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport { FilterOption, TPageHeaderAction } from '../../types';\nimport { BackButton } from './Back';\nimport SearchBar from './SearchBar';\nimport Action from './Action';\nimport { FilterItem } from './FilterItem';\nimport { HiChevronLeft, HiChevronRight, HiXMark } from 'react-icons/hi2';\n\ninterface Props {\n title: string;\n search?: string;\n className?: string;\n innerClassName?: string;\n back?: boolean | string;\n actions?: TPageHeaderAction[];\n backText?: string;\n filterOptions?: FilterOption[];\n focusSearchShortcut?: boolean;\n children?: React.ReactNode;\n}\n\nexport default function PageHeader({\n title,\n search,\n className = '',\n innerClassName = '',\n back = true,\n actions = [],\n filterOptions = [],\n focusSearchShortcut = false,\n children\n}: Props) {\n const [isSearchActive, setSearchActive] = React.useState<boolean>(false);\n const scrollContainerRef = React.useRef<HTMLDivElement | null>(null);\n\n const [overScroll, setOverScroll] = React.useState<boolean>(false);\n\n const actionChildren: React.ReactNode[] = [];\n\n // Categorize children based on their type\n React.Children.forEach(children, (child) => {\n if (React.isValidElement(child)) {\n if (child.type === PageHeader.Action) {\n actionChildren.push(child);\n }\n }\n });\n\n React.useEffect(() => {\n const current = scrollContainerRef.current;\n if (!current) return;\n\n const listener = function() {\n const activeDropdown = current.querySelector('.active');\n if (!activeDropdown) return;\n\n const childrenContainer = activeDropdown.querySelector('.children');\n if (!childrenContainer) return;\n\n const pos = activeDropdown.getBoundingClientRect();\n\n const posChild = childrenContainer.getBoundingClientRect();\n const posContainer = current.getBoundingClientRect();\n\n // if the dropdown content moves outside the scroll container to the left, make it disappear\n if (posChild.left <= posContainer.left - 50) {\n // @ts-ignore\n childrenContainer.style.visibility = 'hidden';\n } else if (posChild.left >= posContainer.right - 50) {\n // @ts-ignore\n childrenContainer.style.visibility = 'hidden';\n } else {\n // @ts-ignore\n childrenContainer.style.visibility = 'visible';\n }\n\n // @ts-ignore\n childrenContainer.style.left = `${pos.left}px`;\n }\n\n const mouseListener = function(e: MouseEvent) {\n const pos = current.getBoundingClientRect();\n if (e.clientX > pos.left && e.clientX < pos.right && e.clientY > pos.top && e.clientY < pos.bottom) {\n setOverScroll(true);\n } else {\n setOverScroll(false);\n }\n };\n\n current.addEventListener('scroll', listener);\n document.addEventListener('mousemove', mouseListener)\n\n return () => {\n current.removeEventListener('scroll', listener);\n document.removeEventListener('mousemove', mouseListener)\n }\n }, []);\n\n React.useEffect(() => {\n const scrollListener = function(e: WheelEvent) {\n if (overScroll) {\n e.preventDefault();\n scrollContainerRef.current?.scrollBy({ left: e.deltaY, behavior: 'auto' });\n }\n }\n\n document.addEventListener('wheel', scrollListener, { passive: false });\n\n return () => {\n document.removeEventListener('wheel', scrollListener);\n }\n }, [overScroll])\n\n function handleClear() {\n window.location.href = window.location.pathname;\n }\n\n const [hasScroll, setHasScroll] = React.useState<boolean>(false);\n\n const checkScroll = React.useCallback(() => {\n const current = scrollContainerRef.current;\n if (!current) return;\n\n const pos = current.getBoundingClientRect();\n\n setHasScroll(current.scrollWidth > (pos.width + 11));\n }, [scrollContainerRef.current]);\n\n React.useEffect(() => {\n checkScroll();\n\n window.addEventListener('resize', checkScroll)\n\n return () => {\n window.removeEventListener('resize', checkScroll);\n }\n }, [checkScroll]);\n\n function clickRight() {\n scrollContainerRef.current?.scrollBy({ left: 100, behavior: 'auto' });\n checkScroll();\n }\n\n function clickLeft() {\n scrollContainerRef.current?.scrollBy({ left: -100, behavior: 'auto' });\n checkScroll();\n }\n\n const filteredActions = React.useMemo(() => {\n return actions.filter(action => !action.hidden);\n }, [actions]);\n\n return (\n <section className={cn('col-span-full flex items-center gap-2 max-w-full rounded-lg bg-white p-2 shadow', className)}>\n {back && (\n <BackButton back={back} className=\"bg-primary-100 h-[60px] w-[60px] rounded\" />\n )}\n\n <div className={cn('w-full grid grid-cols-[auto_1fr_auto_auto] h-[60px] rounded bg-primary-100 p-3 gap-4', innerClassName)}>\n <div\n onClick={() => setSearchActive(true)}\n className={cn('mr-auto flex items-center gap-4 transition-colors pr-6 pl-1 disabled:opacity-100 text-primary', {\n 'hover:text-accent': search && !isSearchActive,\n 'pointer-events-none': !search,\n 'hover:cursor-pointer': search,\n }\n )}>\n {search && <SearchBar search={search} active={isSearchActive} onActive={setSearchActive} placeholder={`Search ${title}...`} focusSearchShortcut={focusSearchShortcut} />}\n\n {!isSearchActive && <h1 className=\"text-base text-primary font-black\">{title}</h1>}\n </div>\n\n <div className=\"flex items-center ml-auto gap-2 h-full min-w-0 max-w-full\">\n {filterOptions.length > 0 && (\n <>\n <button onClick={handleClear} className=\"p-1.5 hover:text-red-500\"><HiXMark className=\"w-5 h-5 stroke-[1.25]\" /></button>\n\n {hasScroll && <HiChevronLeft onClick={clickLeft} className=\"w-5 h-5 text-gray-400 stroke-[1.25]\" />}\n <div ref={scrollContainerRef} className=\"flex items-center h-full w-full gap-3 overflow-x-scroll hide-scroll\">\n {filterOptions.map(filter => (\n <FilterItem key={filter.name} filter={filter} />\n ))}\n </div>\n {hasScroll && <HiChevronRight onClick={clickRight} className=\"w-5 h-5 text-gray-400 stroke-[1.25]\" />}\n </>\n )}\n </div>\n\n {filteredActions.length > 0 && (\n <div className=\"flex items-center gap-3 bg-primary-100\">\n {filterOptions.length > 0 && <div className=\"w-[1px] h-full bg-gray-300\" />}\n <nav className=\"flex items-center gap-2\">\n {filteredActions.map((action) => (\n <Action key={`${action.title}-${action.as}-${action.href}`} {...action} />\n ))}\n </nav>\n </div>\n )}\n {actionChildren && (\n <div className=\"flex items-center gap-3 bg-gray-100\">\n {actionChildren}\n </div>\n )}\n </div>\n </section>\n );\n}\n\n// Subcomponents\nPageHeader.Action = ({ children }: {children: React.ReactNode}) => <div>{children}</div>;\n"],"names":["PageHeader","title","search","className","innerClassName","back","actions","filterOptions","focusSearchShortcut","children","isSearchActive","setSearchActive","React","scrollContainerRef","overScroll","setOverScroll","actionChildren","child","current","listener","activeDropdown","childrenContainer","pos","posChild","posContainer","mouseListener","e","scrollListener","handleClear","hasScroll","setHasScroll","checkScroll","clickRight","clickLeft","filteredActions","action","cn","jsx","BackButton","jsxs","SearchBar","Fragment","HiXMark","HiChevronLeft","filter","FilterItem","HiChevronRight","Action"],"mappings":"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"}
package/dist/sdk.es37.js CHANGED
@@ -1,63 +1,128 @@
1
- import P from "./sdk.es64.js";
2
- import L from "./sdk.es65.js";
3
- import T from "./sdk.es60.js";
4
- import I from "./sdk.es66.js";
5
- import M from "./sdk.es67.js";
6
- import Y from "./sdk.es68.js";
7
- import { isProtectedWeekYearToken as j, throwProtectedError as $, isProtectedDayOfYearToken as q } from "./sdk.es69.js";
8
- import D from "./sdk.es59.js";
9
- import y from "./sdk.es61.js";
10
- import { getDefaultOptions as A } from "./sdk.es70.js";
11
- import Q from "./sdk.es71.js";
12
- var F = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, H = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, K = /^'([^]*?)'?$/, V = /''/g, Z = /[a-zA-Z]/;
13
- function ie(r, t, G) {
14
- var f, d, u, c, m, p, s, v, g, w, h, k, O, _;
15
- y(2, arguments);
16
- var S = String(t), o = A(), a = (f = (d = void 0) !== null && d !== void 0 ? d : o.locale) !== null && f !== void 0 ? f : Q, E = D((u = (c = (m = (p = void 0) !== null && p !== void 0 ? p : void 0) !== null && m !== void 0 ? m : o.firstWeekContainsDate) !== null && c !== void 0 ? c : (s = o.locale) === null || s === void 0 || (v = s.options) === null || v === void 0 ? void 0 : v.firstWeekContainsDate) !== null && u !== void 0 ? u : 1);
17
- if (!(E >= 1 && E <= 7))
1
+ import X from "./sdk.es70.js";
2
+ import H from "./sdk.es71.js";
3
+ import ee from "./sdk.es68.js";
4
+ import re from "./sdk.es62.js";
5
+ import Q from "./sdk.es57.js";
6
+ import te from "./sdk.es72.js";
7
+ import K from "./sdk.es64.js";
8
+ import ne from "./sdk.es65.js";
9
+ import { isProtectedWeekYearToken as ae, throwProtectedError as Z, isProtectedDayOfYearToken as oe } from "./sdk.es66.js";
10
+ import B from "./sdk.es56.js";
11
+ import ie from "./sdk.es58.js";
12
+ import { DateToSystemTimezoneSetter as le } from "./sdk.es73.js";
13
+ import { parsers as fe } from "./sdk.es74.js";
14
+ import { getDefaultOptions as se } from "./sdk.es67.js";
15
+ var ue = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g, ce = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, ve = /^'([^]*?)'?$/, me = /''/g, de = /\S/, pe = /[a-zA-Z]/;
16
+ function Ce(o, G, P, a) {
17
+ var d, p, g, h, w, k, _, y, O, D, E, N, S, T;
18
+ ie(3, arguments);
19
+ var n = String(o), f = String(G), i = se(), s = (d = (p = void 0) !== null && p !== void 0 ? p : i.locale) !== null && d !== void 0 ? d : ee;
20
+ if (!s.match)
21
+ throw new RangeError("locale must contain match property");
22
+ var $ = B((g = (h = (w = (k = void 0) !== null && k !== void 0 ? k : void 0) !== null && w !== void 0 ? w : i.firstWeekContainsDate) !== null && h !== void 0 ? h : (_ = i.locale) === null || _ === void 0 || (y = _.options) === null || y === void 0 ? void 0 : y.firstWeekContainsDate) !== null && g !== void 0 ? g : 1);
23
+ if (!($ >= 1 && $ <= 7))
18
24
  throw new RangeError("firstWeekContainsDate must be between 1 and 7 inclusively");
19
- var R = D((g = (w = (h = (k = void 0) !== null && k !== void 0 ? k : void 0) !== null && h !== void 0 ? h : o.weekStartsOn) !== null && w !== void 0 ? w : (O = o.locale) === null || O === void 0 || (_ = O.options) === null || _ === void 0 ? void 0 : _.weekStartsOn) !== null && g !== void 0 ? g : 0);
20
- if (!(R >= 0 && R <= 6))
25
+ var b = B((O = (D = (E = (N = void 0) !== null && N !== void 0 ? N : void 0) !== null && E !== void 0 ? E : i.weekStartsOn) !== null && D !== void 0 ? D : (S = i.locale) === null || S === void 0 || (T = S.options) === null || T === void 0 ? void 0 : T.weekStartsOn) !== null && O !== void 0 ? O : 0);
26
+ if (!(b >= 0 && b <= 6))
21
27
  throw new RangeError("weekStartsOn must be between 0 and 6 inclusively");
22
- if (!a.localize)
23
- throw new RangeError("locale must contain localize property");
24
- if (!a.formatLong)
25
- throw new RangeError("locale must contain formatLong property");
26
- var i = T(r);
27
- if (!P(i))
28
- throw new RangeError("Invalid time value");
29
- var C = Y(i), W = L(i, C), x = {
30
- firstWeekContainsDate: E,
31
- weekStartsOn: R,
32
- locale: a,
33
- _originalDate: i
34
- }, z = S.match(H).map(function(e) {
35
- var n = e[0];
36
- if (n === "p" || n === "P") {
37
- var l = M[n];
38
- return l(e, a.formatLong);
28
+ if (f === "")
29
+ return n === "" ? Q(P) : /* @__PURE__ */ new Date(NaN);
30
+ var x = {
31
+ firstWeekContainsDate: $,
32
+ weekStartsOn: b,
33
+ locale: s
34
+ }, C = [new le()], J = f.match(ce).map(function(r) {
35
+ var e = r[0];
36
+ if (e in K) {
37
+ var t = K[e];
38
+ return t(r, s.formatLong);
39
39
  }
40
- return e;
41
- }).join("").match(F).map(function(e) {
42
- if (e === "''")
43
- return "'";
44
- var n = e[0];
45
- if (n === "'")
46
- return B(e);
47
- var l = I[n];
48
- if (l)
49
- return j(e) && $(e, t, String(r)), q(e) && $(e, t, String(r)), l(W, e, a.localize, x);
50
- if (n.match(Z))
51
- throw new RangeError("Format string contains an unescaped latin alphabet character `" + n + "`");
52
- return e;
53
- }).join("");
54
- return z;
40
+ return r;
41
+ }).join("").match(ue), R = [], u = H(J), F;
42
+ try {
43
+ var U = function() {
44
+ var e = F.value;
45
+ !(a != null && a.useAdditionalWeekYearTokens) && ae(e) && Z(e, f, o), !(a != null && a.useAdditionalDayOfYearTokens) && oe(e) && Z(e, f, o);
46
+ var t = e[0], m = fe[t];
47
+ if (m) {
48
+ var L = m.incompatibleTokens;
49
+ if (Array.isArray(L)) {
50
+ var M = R.find(function(j) {
51
+ return L.includes(j.token) || j.token === t;
52
+ });
53
+ if (M)
54
+ throw new RangeError("The format string mustn't contain `".concat(M.fullToken, "` and `").concat(e, "` at the same time"));
55
+ } else if (m.incompatibleTokens === "*" && R.length > 0)
56
+ throw new RangeError("The format string mustn't contain `".concat(e, "` and any other token at the same time"));
57
+ R.push({
58
+ token: t,
59
+ fullToken: e
60
+ });
61
+ var A = m.run(n, e, s.match, x);
62
+ if (!A)
63
+ return {
64
+ v: /* @__PURE__ */ new Date(NaN)
65
+ };
66
+ C.push(A.setter), n = A.rest;
67
+ } else {
68
+ if (t.match(pe))
69
+ throw new RangeError("Format string contains an unescaped latin alphabet character `" + t + "`");
70
+ if (e === "''" ? e = "'" : t === "'" && (e = ge(e)), n.indexOf(e) === 0)
71
+ n = n.slice(e.length);
72
+ else
73
+ return {
74
+ v: /* @__PURE__ */ new Date(NaN)
75
+ };
76
+ }
77
+ };
78
+ for (u.s(); !(F = u.n()).done; ) {
79
+ var Y = U();
80
+ if (X(Y) === "object") return Y.v;
81
+ }
82
+ } catch (r) {
83
+ u.e(r);
84
+ } finally {
85
+ u.f();
86
+ }
87
+ if (n.length > 0 && de.test(n))
88
+ return /* @__PURE__ */ new Date(NaN);
89
+ var V = C.map(function(r) {
90
+ return r.priority;
91
+ }).sort(function(r, e) {
92
+ return e - r;
93
+ }).filter(function(r, e, t) {
94
+ return t.indexOf(r) === e;
95
+ }).map(function(r) {
96
+ return C.filter(function(e) {
97
+ return e.priority === r;
98
+ }).sort(function(e, t) {
99
+ return t.subPriority - e.subPriority;
100
+ });
101
+ }).map(function(r) {
102
+ return r[0];
103
+ }), W = Q(P);
104
+ if (isNaN(W.getTime()))
105
+ return /* @__PURE__ */ new Date(NaN);
106
+ var l = re(W, ne(W)), I = {}, c = H(V), q;
107
+ try {
108
+ for (c.s(); !(q = c.n()).done; ) {
109
+ var z = q.value;
110
+ if (!z.validate(l, x))
111
+ return /* @__PURE__ */ new Date(NaN);
112
+ var v = z.set(l, I, x);
113
+ Array.isArray(v) ? (l = v[0], te(I, v[1])) : l = v;
114
+ }
115
+ } catch (r) {
116
+ c.e(r);
117
+ } finally {
118
+ c.f();
119
+ }
120
+ return l;
55
121
  }
56
- function B(r) {
57
- var t = r.match(K);
58
- return t ? t[1].replace(V, "'") : r;
122
+ function ge(o) {
123
+ return o.match(ve)[1].replace(me, "'");
59
124
  }
60
125
  export {
61
- ie as default
126
+ Ce as default
62
127
  };
63
128
  //# sourceMappingURL=sdk.es37.js.map