@star-insure/sdk 6.7.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.
- package/dist/index.d.ts +1 -0
- package/dist/sdk.es10.js +30 -30
- package/dist/sdk.es10.js.map +1 -1
- package/dist/sdk.es101.js.map +1 -1
- package/dist/sdk.es102.js.map +1 -1
- package/dist/sdk.es103.js +3 -3
- package/dist/sdk.es103.js.map +1 -1
- package/dist/sdk.es104.js +4 -4
- package/dist/sdk.es104.js.map +1 -1
- package/dist/sdk.es105.js +5 -5
- package/dist/sdk.es105.js.map +1 -1
- package/dist/sdk.es106.js +5 -5
- package/dist/sdk.es106.js.map +1 -1
- package/dist/sdk.es107.js +4 -4
- package/dist/sdk.es107.js.map +1 -1
- package/dist/sdk.es108.js +4 -4
- package/dist/sdk.es108.js.map +1 -1
- package/dist/sdk.es109.js +4 -4
- package/dist/sdk.es109.js.map +1 -1
- package/dist/sdk.es11.js.map +1 -1
- package/dist/sdk.es110.js +5 -5
- package/dist/sdk.es110.js.map +1 -1
- package/dist/sdk.es111.js +5 -5
- package/dist/sdk.es111.js.map +1 -1
- package/dist/sdk.es112.js +6 -6
- package/dist/sdk.es112.js.map +1 -1
- package/dist/sdk.es113.js +7 -7
- package/dist/sdk.es113.js.map +1 -1
- package/dist/sdk.es114.js +5 -5
- package/dist/sdk.es114.js.map +1 -1
- package/dist/sdk.es115.js +5 -5
- package/dist/sdk.es115.js.map +1 -1
- package/dist/sdk.es116.js +4 -4
- package/dist/sdk.es116.js.map +1 -1
- package/dist/sdk.es117.js +5 -5
- package/dist/sdk.es117.js.map +1 -1
- package/dist/sdk.es118.js +5 -5
- package/dist/sdk.es118.js.map +1 -1
- package/dist/sdk.es119.js +5 -5
- package/dist/sdk.es119.js.map +1 -1
- package/dist/sdk.es12.js.map +1 -1
- package/dist/sdk.es120.js +4 -4
- package/dist/sdk.es120.js.map +1 -1
- package/dist/sdk.es121.js +4 -4
- package/dist/sdk.es121.js.map +1 -1
- package/dist/sdk.es122.js +4 -4
- package/dist/sdk.es122.js.map +1 -1
- package/dist/sdk.es123.js +5 -5
- package/dist/sdk.es123.js.map +1 -1
- package/dist/sdk.es124.js +5 -5
- package/dist/sdk.es124.js.map +1 -1
- package/dist/sdk.es125.js +5 -5
- package/dist/sdk.es125.js.map +1 -1
- package/dist/sdk.es126.js +5 -5
- package/dist/sdk.es126.js.map +1 -1
- package/dist/sdk.es127.js +5 -5
- package/dist/sdk.es127.js.map +1 -1
- package/dist/sdk.es128.js +5 -5
- package/dist/sdk.es128.js.map +1 -1
- package/dist/sdk.es129.js +4 -4
- package/dist/sdk.es129.js.map +1 -1
- package/dist/sdk.es13.js.map +1 -1
- package/dist/sdk.es130.js +5 -5
- package/dist/sdk.es130.js.map +1 -1
- package/dist/sdk.es131.js +5 -5
- package/dist/sdk.es131.js.map +1 -1
- package/dist/sdk.es132.js +4 -4
- package/dist/sdk.es132.js.map +1 -1
- package/dist/sdk.es133.js +4 -4
- package/dist/sdk.es133.js.map +1 -1
- package/dist/sdk.es134.js.map +1 -1
- package/dist/sdk.es135.js.map +1 -1
- package/dist/sdk.es137.js.map +1 -1
- package/dist/sdk.es138.js.map +1 -1
- package/dist/sdk.es14.js.map +1 -1
- package/dist/sdk.es140.js +25 -8
- package/dist/sdk.es140.js.map +1 -1
- package/dist/sdk.es141.js +99 -10
- package/dist/sdk.es141.js.map +1 -1
- package/dist/sdk.es142.js +11 -11
- package/dist/sdk.es142.js.map +1 -1
- package/dist/sdk.es143.js +7 -13
- package/dist/sdk.es143.js.map +1 -1
- package/dist/sdk.es144.js +47 -25
- package/dist/sdk.es144.js.map +1 -1
- package/dist/sdk.es145.js +9 -99
- package/dist/sdk.es145.js.map +1 -1
- package/dist/sdk.es146.js +10 -47
- package/dist/sdk.es146.js.map +1 -1
- package/dist/sdk.es147.js +13 -9
- package/dist/sdk.es147.js.map +1 -1
- package/dist/sdk.es148.js +10 -9
- package/dist/sdk.es148.js.map +1 -1
- package/dist/sdk.es149.js +10 -13
- package/dist/sdk.es149.js.map +1 -1
- package/dist/sdk.es15.js.map +1 -1
- package/dist/sdk.es150.js +13 -10
- package/dist/sdk.es150.js.map +1 -1
- package/dist/sdk.es151.js.map +1 -1
- package/dist/sdk.es152.js.map +1 -1
- package/dist/sdk.es153.js.map +1 -1
- package/dist/sdk.es154.js +4 -4
- package/dist/sdk.es154.js.map +1 -1
- package/dist/sdk.es155.js +1 -1
- package/dist/sdk.es156.js.map +1 -1
- package/dist/sdk.es157.js +11 -11
- package/dist/sdk.es157.js.map +1 -1
- package/dist/sdk.es158.js.map +1 -1
- package/dist/sdk.es159.js.map +1 -1
- package/dist/sdk.es16.js +13 -13
- package/dist/sdk.es16.js.map +1 -1
- package/dist/sdk.es160.js +7 -7
- package/dist/sdk.es160.js.map +1 -1
- package/dist/sdk.es17.js.map +1 -1
- package/dist/sdk.es18.js.map +1 -1
- package/dist/sdk.es19.js.map +1 -1
- package/dist/sdk.es2.js +2 -2
- package/dist/sdk.es2.js.map +1 -1
- package/dist/sdk.es20.js.map +1 -1
- package/dist/sdk.es21.js.map +1 -1
- package/dist/sdk.es22.js.map +1 -1
- package/dist/sdk.es23.js.map +1 -1
- package/dist/sdk.es24.js.map +1 -1
- package/dist/sdk.es25.js.map +1 -1
- package/dist/sdk.es26.js.map +1 -1
- package/dist/sdk.es27.js.map +1 -1
- package/dist/sdk.es28.js.map +1 -1
- package/dist/sdk.es29.js.map +1 -1
- package/dist/sdk.es3.js +17 -17
- package/dist/sdk.es3.js.map +1 -1
- package/dist/sdk.es30.js.map +1 -1
- package/dist/sdk.es31.js.map +1 -1
- package/dist/sdk.es32.js.map +1 -1
- package/dist/sdk.es33.js.map +1 -1
- package/dist/sdk.es34.js.map +1 -1
- package/dist/sdk.es35.js.map +1 -1
- package/dist/sdk.es36.js +16 -16
- package/dist/sdk.es36.js.map +1 -1
- package/dist/sdk.es37.js +120 -55
- package/dist/sdk.es37.js.map +1 -1
- package/dist/sdk.es38.js +55 -120
- package/dist/sdk.es38.js.map +1 -1
- package/dist/sdk.es4.js.map +1 -1
- package/dist/sdk.es40.js +11 -9
- package/dist/sdk.es40.js.map +1 -1
- package/dist/sdk.es41.js.map +1 -1
- package/dist/sdk.es42.js.map +1 -1
- package/dist/sdk.es44.js +10 -10
- package/dist/sdk.es44.js.map +1 -1
- package/dist/sdk.es45.js +2 -2
- package/dist/sdk.es45.js.map +1 -1
- package/dist/sdk.es46.js +2 -2
- package/dist/sdk.es47.js +2 -2
- package/dist/sdk.es47.js.map +1 -1
- package/dist/sdk.es48.js +11 -11
- package/dist/sdk.es48.js.map +1 -1
- package/dist/sdk.es49.js.map +1 -1
- package/dist/sdk.es5.js.map +1 -1
- package/dist/sdk.es50.js +3 -3
- package/dist/sdk.es50.js.map +1 -1
- package/dist/sdk.es51.js +10 -10
- package/dist/sdk.es51.js.map +1 -1
- package/dist/sdk.es52.js +1 -1
- package/dist/sdk.es55.js +9 -4
- package/dist/sdk.es55.js.map +1 -1
- package/dist/sdk.es56.js +6 -7
- package/dist/sdk.es56.js.map +1 -1
- package/dist/sdk.es57.js +7 -6
- package/dist/sdk.es57.js.map +1 -1
- package/dist/sdk.es58.js +4 -39
- package/dist/sdk.es58.js.map +1 -1
- package/dist/sdk.es59.js +16 -2
- package/dist/sdk.es59.js.map +1 -1
- package/dist/sdk.es6.js.map +1 -1
- package/dist/sdk.es60.js +8 -8
- package/dist/sdk.es60.js.map +1 -1
- package/dist/sdk.es61.js +9 -6
- package/dist/sdk.es61.js.map +1 -1
- package/dist/sdk.es62.js +7 -6
- package/dist/sdk.es62.js.map +1 -1
- package/dist/sdk.es63.js +636 -4
- package/dist/sdk.es63.js.map +1 -1
- package/dist/sdk.es64.js +73 -15
- package/dist/sdk.es64.js.map +1 -1
- package/dist/sdk.es65.js +4 -8
- package/dist/sdk.es65.js.map +1 -1
- package/dist/sdk.es66.js +19 -9
- package/dist/sdk.es66.js.map +1 -1
- package/dist/sdk.es67.js +4 -8
- package/dist/sdk.es67.js.map +1 -1
- package/dist/sdk.es68.js +16 -637
- package/dist/sdk.es68.js.map +1 -1
- package/dist/sdk.es69.js +6 -74
- package/dist/sdk.es69.js.map +1 -1
- package/dist/sdk.es7.js.map +1 -1
- package/dist/sdk.es70.js +8 -4
- package/dist/sdk.es70.js.map +1 -1
- package/dist/sdk.es71.js +48 -19
- package/dist/sdk.es71.js.map +1 -1
- package/dist/sdk.es72.js +7 -4
- package/dist/sdk.es72.js.map +1 -1
- package/dist/sdk.es73.js +56 -17
- package/dist/sdk.es73.js.map +1 -1
- package/dist/sdk.es74.js +65 -6
- package/dist/sdk.es74.js.map +1 -1
- package/dist/sdk.es75.js +8 -8
- package/dist/sdk.es75.js.map +1 -1
- package/dist/sdk.es76.js +4 -49
- package/dist/sdk.es76.js.map +1 -1
- package/dist/sdk.es77.js +6 -7
- package/dist/sdk.es77.js.map +1 -1
- package/dist/sdk.es78.js +2 -57
- package/dist/sdk.es78.js.map +1 -1
- package/dist/sdk.es79.js +11 -65
- package/dist/sdk.es79.js.map +1 -1
- package/dist/sdk.es8.js.map +1 -1
- package/dist/sdk.es80.js +39 -8
- package/dist/sdk.es80.js.map +1 -1
- package/dist/sdk.es81.js +2 -4
- package/dist/sdk.es81.js.map +1 -1
- package/dist/sdk.es82.js +52 -3673
- package/dist/sdk.es82.js.map +1 -1
- package/dist/sdk.es83.js +10 -6
- package/dist/sdk.es83.js.map +1 -1
- package/dist/sdk.es84.js +21 -2
- package/dist/sdk.es84.js.map +1 -1
- package/dist/sdk.es85.js +3688 -52
- package/dist/sdk.es85.js.map +1 -1
- package/dist/sdk.es86.js +6 -10
- package/dist/sdk.es86.js.map +1 -1
- package/dist/sdk.es87.js +2 -21
- package/dist/sdk.es87.js.map +1 -1
- package/dist/sdk.es88.js +1 -1
- package/dist/sdk.es89.js +5 -10
- package/dist/sdk.es89.js.map +1 -1
- package/dist/sdk.es9.js.map +1 -1
- package/dist/sdk.es90.js +9 -9
- package/dist/sdk.es90.js.map +1 -1
- package/dist/sdk.es91.js +10 -12
- package/dist/sdk.es91.js.map +1 -1
- package/dist/sdk.es92.js +12 -10
- package/dist/sdk.es92.js.map +1 -1
- package/dist/sdk.es93.js +10 -18
- package/dist/sdk.es93.js.map +1 -1
- package/dist/sdk.es94.js +18 -5
- package/dist/sdk.es94.js.map +1 -1
- package/dist/sdk.es95.js +1 -1
- package/dist/sdk.es95.js.map +1 -1
- package/dist/sdk.es96.js +6 -6
- package/dist/sdk.es96.js.map +1 -1
- package/dist/sdk.es97.js +2 -2
- package/dist/sdk.es98.js.map +1 -1
- package/dist/sdk.es99.js.map +1 -1
- package/package.json +4 -5
- package/src/types/models/quotes/QuoteRequestVehicle.ts +1 -0
package/dist/sdk.es2.js
CHANGED
package/dist/sdk.es2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es2.js","sources":["../src/lib/dates.ts"],"sourcesContent":["import { format, parse } from \"date-fns\";\n\n/**\n * Formats a date like \"Jan 1, 2022 at 9:50am\"\n */\nexport function formatDateNice(date: string|null|undefined, includeTime: boolean = true) {\n const formatString = includeTime ? \"MMM d, yyyy 'at' h:mma\" : 'MMM d, yyyy';\n const formatFunc = includeTime ? formatDateTime : formatDate;\n\n return formatFunc(date, formatString);\n}\n\n/**\n * Formats a date like \"01/01/2022 09:50\"\n */\nexport function formatDateForTable(date: string|null|undefined, includeTime: boolean = true) {\n return includeTime ? formatDateTime(date) : formatDate(date);\n}\n\n/**\n * Formats a date to Star Insure standard format - dd/mm/yyyy\n */\nexport function formatDate(date: Date|string|null|undefined, overrideFormatString?: string) {\n // If date is undefined or null\n if (!date) {\n return '';\n }\n\n const formatString = overrideFormatString || 'dd/MM/yyyy';\n\n // If date is a date object\n if (date instanceof Date) {\n return format(date, formatString);\n }\n\n /*\n * If date is a string, first attempt to parse it in non-standard formats\n * Only parse the first 10 characters of the string\n * dd/MM/yyyy, dd-MM-yyyy, dd.MM.yyyy\n */\n const nonStandardDate = date\n .substring(0, 10)\n .split('-').join('/')\n .split('.').join('/');\n\n const parsedDate = parse(nonStandardDate, 'dd/MM/yyyy', new Date());\n if (parsedDate.toString() !== 'Invalid Date') {\n return format(parsedDate, formatString);\n }\n\n // Then attempt to parse it natively\n const nativelyParsedDate = new Date(date);\n if (nativelyParsedDate.toString() !== 'Invalid Date') {\n return format(nativelyParsedDate, formatString);\n }\n\n return '';\n}\n\n/**\n * Formats a dateTime to Star Insure standard format - dd/mm/yyyy hh:mm\n */\nexport function formatDateTime(dateTime: Date|string|null|undefined, overrideFormatString?: string) {\n // If date is undefined or null\n if (!dateTime) {\n return '';\n }\n\n const formatString = overrideFormatString || 'dd/MM/yyyy HH:mm';\n\n // If date is a date object\n if (dateTime instanceof Date) {\n return format(dateTime, formatString);\n }\n\n /*\n * If date is a string, first attempt to parse it in non-standard formats\n * dd/MM/yyyy HH:mm, dd-MM-yyyy HH:mm, dd.MM.yyyy HH:mm,\n * dd/MM/yyyy hh:mm a, dd-MM-yyyy hh:mm a, dd.MM.yyyy hh:mm a,\n * dd/MM/yyyy HH:mm:ss, dd-MM-yyyy HH:mm:ss, dd.MM.yyyy HH:mm:ss,\n * dd/MM/yyyy hh:mm:ss a, dd-MM-yyyy hh:mm:ss a, dd.MM.yyyy hh:mm:ss a\n */\n const nonStandardDateTime = dateTime\n // Remove commas between date and time\n .split(',').join('')\n\n // Only parse the first 22 characters of the string\n .substring(0, 22)\n\n // Replace dashes and dots with slashes\n .split('-').join('/')\n .split('.').join('/');\n\n const is12Hour = ['AM', 'PM'].includes(nonStandardDateTime.slice(-2).toUpperCase());\n const hasSeconds = nonStandardDateTime.split(':').length === 3;\n\n const nonStandardFormat = (`dd/MM/yyyy ${is12Hour ? 'hh' : 'HH'}:mm${hasSeconds ? ':ss' : ''} ${is12Hour ? 'a' : ''}`).trim();\n\n const parsedDateTime = parse(nonStandardDateTime, nonStandardFormat, new Date());\n if (parsedDateTime.toString() !== 'Invalid Date') {\n return format(parsedDateTime, formatString);\n }\n\n // Then attempt to parse it natively\n const nativelyParsedDateTime = new Date(dateTime);\n if (nativelyParsedDateTime.toString() !== 'Invalid Date') {\n return format(nativelyParsedDateTime, formatString);\n }\n\n return '';\n}\n\n/**\n * Attempts to create a date object from a date string\n */\nexport function createDate(dateString: Date | string | null | undefined): Date | null {\n // Re-use our logic from formatDateTime\n const formattedDateTime = formatDateTime(dateString);\n\n if (!formattedDateTime) {\n return null;\n }\n\n // Attempt to parse the formatted date to a date object\n try {\n return parse(formattedDateTime, 'dd/MM/yyyy HH:mm', new Date());\n } catch (error) {\n console.error(`Error parsing date: ${dateString?.toString()}`);\n return null;\n }\n}\n"],"names":["formatDateNice","date","includeTime","formatDateTime","formatDate","formatDateForTable","overrideFormatString","formatString","format","nonStandardDate","parsedDate","parse","nativelyParsedDate","dateTime","nonStandardDateTime","is12Hour","hasSeconds","nonStandardFormat","parsedDateTime","nativelyParsedDateTime","createDate","dateString","formattedDateTime"],"mappings":";;
|
|
1
|
+
{"version":3,"file":"sdk.es2.js","sources":["../src/lib/dates.ts"],"sourcesContent":["import { format, parse } from \"date-fns\";\n\n/**\n * Formats a date like \"Jan 1, 2022 at 9:50am\"\n */\nexport function formatDateNice(date: string|null|undefined, includeTime: boolean = true) {\n const formatString = includeTime ? \"MMM d, yyyy 'at' h:mma\" : 'MMM d, yyyy';\n const formatFunc = includeTime ? formatDateTime : formatDate;\n\n return formatFunc(date, formatString);\n}\n\n/**\n * Formats a date like \"01/01/2022 09:50\"\n */\nexport function formatDateForTable(date: string|null|undefined, includeTime: boolean = true) {\n return includeTime ? formatDateTime(date) : formatDate(date);\n}\n\n/**\n * Formats a date to Star Insure standard format - dd/mm/yyyy\n */\nexport function formatDate(date: Date|string|null|undefined, overrideFormatString?: string) {\n // If date is undefined or null\n if (!date) {\n return '';\n }\n\n const formatString = overrideFormatString || 'dd/MM/yyyy';\n\n // If date is a date object\n if (date instanceof Date) {\n return format(date, formatString);\n }\n\n /*\n * If date is a string, first attempt to parse it in non-standard formats\n * Only parse the first 10 characters of the string\n * dd/MM/yyyy, dd-MM-yyyy, dd.MM.yyyy\n */\n const nonStandardDate = date\n .substring(0, 10)\n .split('-').join('/')\n .split('.').join('/');\n\n const parsedDate = parse(nonStandardDate, 'dd/MM/yyyy', new Date());\n if (parsedDate.toString() !== 'Invalid Date') {\n return format(parsedDate, formatString);\n }\n\n // Then attempt to parse it natively\n const nativelyParsedDate = new Date(date);\n if (nativelyParsedDate.toString() !== 'Invalid Date') {\n return format(nativelyParsedDate, formatString);\n }\n\n return '';\n}\n\n/**\n * Formats a dateTime to Star Insure standard format - dd/mm/yyyy hh:mm\n */\nexport function formatDateTime(dateTime: Date|string|null|undefined, overrideFormatString?: string) {\n // If date is undefined or null\n if (!dateTime) {\n return '';\n }\n\n const formatString = overrideFormatString || 'dd/MM/yyyy HH:mm';\n\n // If date is a date object\n if (dateTime instanceof Date) {\n return format(dateTime, formatString);\n }\n\n /*\n * If date is a string, first attempt to parse it in non-standard formats\n * dd/MM/yyyy HH:mm, dd-MM-yyyy HH:mm, dd.MM.yyyy HH:mm,\n * dd/MM/yyyy hh:mm a, dd-MM-yyyy hh:mm a, dd.MM.yyyy hh:mm a,\n * dd/MM/yyyy HH:mm:ss, dd-MM-yyyy HH:mm:ss, dd.MM.yyyy HH:mm:ss,\n * dd/MM/yyyy hh:mm:ss a, dd-MM-yyyy hh:mm:ss a, dd.MM.yyyy hh:mm:ss a\n */\n const nonStandardDateTime = dateTime\n // Remove commas between date and time\n .split(',').join('')\n\n // Only parse the first 22 characters of the string\n .substring(0, 22)\n\n // Replace dashes and dots with slashes\n .split('-').join('/')\n .split('.').join('/');\n\n const is12Hour = ['AM', 'PM'].includes(nonStandardDateTime.slice(-2).toUpperCase());\n const hasSeconds = nonStandardDateTime.split(':').length === 3;\n\n const nonStandardFormat = (`dd/MM/yyyy ${is12Hour ? 'hh' : 'HH'}:mm${hasSeconds ? ':ss' : ''} ${is12Hour ? 'a' : ''}`).trim();\n\n const parsedDateTime = parse(nonStandardDateTime, nonStandardFormat, new Date());\n if (parsedDateTime.toString() !== 'Invalid Date') {\n return format(parsedDateTime, formatString);\n }\n\n // Then attempt to parse it natively\n const nativelyParsedDateTime = new Date(dateTime);\n if (nativelyParsedDateTime.toString() !== 'Invalid Date') {\n return format(nativelyParsedDateTime, formatString);\n }\n\n return '';\n}\n\n/**\n * Attempts to create a date object from a date string\n */\nexport function createDate(dateString: Date | string | null | undefined): Date | null {\n // Re-use our logic from formatDateTime\n const formattedDateTime = formatDateTime(dateString);\n\n if (!formattedDateTime) {\n return null;\n }\n\n // Attempt to parse the formatted date to a date object\n try {\n return parse(formattedDateTime, 'dd/MM/yyyy HH:mm', new Date());\n } catch (error) {\n console.error(`Error parsing date: ${dateString?.toString()}`);\n return null;\n }\n}\n"],"names":["formatDateNice","date","includeTime","formatDateTime","formatDate","formatDateForTable","overrideFormatString","formatString","format","nonStandardDate","parsedDate","parse","nativelyParsedDate","dateTime","nonStandardDateTime","is12Hour","hasSeconds","nonStandardFormat","parsedDateTime","nativelyParsedDateTime","createDate","dateString","formattedDateTime"],"mappings":";;AAKO,SAASA,EAAeC,GAA6BC,IAAuB,IAAM;AAIrF,UAFmBA,IAAcC,IAAiBC,GAEhCH,GAHGC,IAAc,2BAA2B,aAG1B;AACxC;AAKO,SAASG,EAAmBJ,GAA6BC,IAAuB,IAAM;AACzF,SAAOA,IAAcC,EAAeF,CAAI,IAAIG,EAAWH,CAAI;AAC/D;AAKO,SAASG,EAAWH,GAAkCK,GAA+B;AAExF,MAAI,CAACL;AACD,WAAO;AAGX,QAAMM,IAAeD,KAAwB;AAG7C,MAAIL,aAAgB;AAChB,WAAOO,EAAOP,GAAMM,CAAY;AAQpC,QAAME,IAAkBR,EACnB,UAAU,GAAG,EAAE,EACf,MAAM,GAAG,EAAE,KAAK,GAAG,EACnB,MAAM,GAAG,EAAE,KAAK,GAAG,GAElBS,IAAaC,EAAMF,GAAiB,cAAc,oBAAI,MAAM;AAClE,MAAIC,EAAW,SAAA,MAAe;AAC1B,WAAOF,EAAOE,GAAYH,CAAY;AAI1C,QAAMK,IAAqB,IAAI,KAAKX,CAAI;AACxC,SAAIW,EAAmB,SAAA,MAAe,iBAC3BJ,EAAOI,GAAoBL,CAAY,IAG3C;AACX;AAKO,SAASJ,EAAeU,GAAsCP,GAA+B;AAEhG,MAAI,CAACO;AACD,WAAO;AAGX,QAAMN,IAAeD,KAAwB;AAG7C,MAAIO,aAAoB;AACpB,WAAOL,EAAOK,GAAUN,CAAY;AAUxC,QAAMO,IAAsBD,EAEvB,MAAM,GAAG,EAAE,KAAK,EAAE,EAGlB,UAAU,GAAG,EAAE,EAGf,MAAM,GAAG,EAAE,KAAK,GAAG,EACnB,MAAM,GAAG,EAAE,KAAK,GAAG,GAElBE,IAAW,CAAC,MAAM,IAAI,EAAE,SAASD,EAAoB,MAAM,EAAE,EAAE,aAAa,GAC5EE,IAAaF,EAAoB,MAAM,GAAG,EAAE,WAAW,GAEvDG,IAAqB,cAAcF,IAAW,OAAO,IAAI,MAAMC,IAAa,QAAQ,EAAE,IAAID,IAAW,MAAM,EAAE,GAAI,KAAA,GAEjHG,IAAiBP,EAAMG,GAAqBG,GAAmB,oBAAI,MAAM;AAC/E,MAAIC,EAAe,SAAA,MAAe;AAC9B,WAAOV,EAAOU,GAAgBX,CAAY;AAI9C,QAAMY,IAAyB,IAAI,KAAKN,CAAQ;AAChD,SAAIM,EAAuB,SAAA,MAAe,iBAC/BX,EAAOW,GAAwBZ,CAAY,IAG/C;AACX;AAKO,SAASa,EAAWC,GAA2D;AAElF,QAAMC,IAAoBnB,EAAekB,CAAU;AAEnD,MAAI,CAACC;AACD,WAAO;AAIX,MAAI;AACA,WAAOX,EAAMW,GAAmB,oBAAoB,oBAAI,MAAM;AAAA,EAClE,QAAgB;AACZ,mBAAQ,MAAM,uBAAuBD,GAAY,SAAA,CAAU,EAAE,GACtD;AAAA,EACX;AACJ;"}
|
package/dist/sdk.es20.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es20.js","sources":["../src/components/common/SimplePagination.tsx"],"sourcesContent":["import React from 'react';\nimport { Link } from '@inertiajs/react';\nimport { Meta } from '../../types';\n\ninterface Props {\n className?: string;\n meta: Meta;\n showPerPageSelector?: boolean;\n defaultValue?: number;\n}\n\nexport default function SimplePagination({\n meta,\n className,\n showPerPageSelector = false,\n defaultValue,\n}: Props) {\n const { current_page, per_page, to, from } = meta;\n\n const perPageValue = defaultValue ?? per_page;\n\n const results_on_page = to - from + 1;\n const has_more_pages = results_on_page === per_page;\n\n function getNextPageLink() {\n if (typeof window !== 'undefined') {\n const search = new URLSearchParams(window.location.search);\n search.set('page', String(current_page + 1));\n\n return `?${search.toString()}`;\n }\n\n return '';\n }\n\n function getPrevPageLink() {\n if (typeof window !== 'undefined') {\n const search = new URLSearchParams(window.location.search);\n search.set('page', String(current_page - 1));\n\n return `?${search.toString()}`;\n }\n\n return '';\n }\n\n const nextPageLink = getNextPageLink();\n const prevPageLink = getPrevPageLink();\n\n function handlePerPageChange(e: React.SyntheticEvent<HTMLSelectElement>) {\n const search = new URLSearchParams(window?.location.search);\n search.set('limit', e.currentTarget.value);\n search.set('page', '1');\n\n window.location.href = `?${search.toString()}`;\n }\n\n return (\n <div className={`${className ?? ''}`}>\n <nav className=\"font-bold flex justify-between items-center gap-6\">\n <Link\n href={prevPageLink}\n className=\"flex items-center gap-2\"\n disabled={current_page === 1}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4\"\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=\"M10 19l-7-7m0 0l7-7m-7 7h18\"\n />\n </svg>\n Prev\n </Link>\n <div className=\"flex gap-6 items-center\">\n <p>Page {current_page}</p>\n {showPerPageSelector ? (\n <select value={perPageValue} onChange={handlePerPageChange}>\n <option value=\"10\">10 per page</option>\n <option value=\"25\">25 per page</option>\n <option value=\"50\">50 per page</option>\n <option value=\"100\">100 per page</option>\n <option value=\"250\">250 per page</option>\n <option value=\"500\">500 per page</option>\n </select>\n ) : (\n ''\n )}\n </div>\n <Link\n href={nextPageLink}\n className=\"flex items-center gap-2\"\n disabled={!has_more_pages}\n >\n Next\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4\"\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=\"M14 5l7 7m0 0l-7 7m7-7H3\"\n />\n </svg>\n </Link>\n </nav>\n </div>\n );\n}\n"],"names":["SimplePagination","meta","className","showPerPageSelector","defaultValue","current_page","per_page","to","from","perPageValue","has_more_pages","getNextPageLink","search","getPrevPageLink","nextPageLink","prevPageLink","handlePerPageChange","e","jsx","jsxs","Link"],"mappings":";;AAWA,SAAwBA,EAAiB;AAAA,EACvC,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,cAAAC;AACF,GAAU;AACR,QAAM,EAAE,cAAAC,GAAc,UAAAC,GAAU,IAAAC,GAAI,MAAAC,
|
|
1
|
+
{"version":3,"file":"sdk.es20.js","sources":["../src/components/common/SimplePagination.tsx"],"sourcesContent":["import React from 'react';\nimport { Link } from '@inertiajs/react';\nimport { Meta } from '../../types';\n\ninterface Props {\n className?: string;\n meta: Meta;\n showPerPageSelector?: boolean;\n defaultValue?: number;\n}\n\nexport default function SimplePagination({\n meta,\n className,\n showPerPageSelector = false,\n defaultValue,\n}: Props) {\n const { current_page, per_page, to, from } = meta;\n\n const perPageValue = defaultValue ?? per_page;\n\n const results_on_page = to - from + 1;\n const has_more_pages = results_on_page === per_page;\n\n function getNextPageLink() {\n if (typeof window !== 'undefined') {\n const search = new URLSearchParams(window.location.search);\n search.set('page', String(current_page + 1));\n\n return `?${search.toString()}`;\n }\n\n return '';\n }\n\n function getPrevPageLink() {\n if (typeof window !== 'undefined') {\n const search = new URLSearchParams(window.location.search);\n search.set('page', String(current_page - 1));\n\n return `?${search.toString()}`;\n }\n\n return '';\n }\n\n const nextPageLink = getNextPageLink();\n const prevPageLink = getPrevPageLink();\n\n function handlePerPageChange(e: React.SyntheticEvent<HTMLSelectElement>) {\n const search = new URLSearchParams(window?.location.search);\n search.set('limit', e.currentTarget.value);\n search.set('page', '1');\n\n window.location.href = `?${search.toString()}`;\n }\n\n return (\n <div className={`${className ?? ''}`}>\n <nav className=\"font-bold flex justify-between items-center gap-6\">\n <Link\n href={prevPageLink}\n className=\"flex items-center gap-2\"\n disabled={current_page === 1}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4\"\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=\"M10 19l-7-7m0 0l7-7m-7 7h18\"\n />\n </svg>\n Prev\n </Link>\n <div className=\"flex gap-6 items-center\">\n <p>Page {current_page}</p>\n {showPerPageSelector ? (\n <select value={perPageValue} onChange={handlePerPageChange}>\n <option value=\"10\">10 per page</option>\n <option value=\"25\">25 per page</option>\n <option value=\"50\">50 per page</option>\n <option value=\"100\">100 per page</option>\n <option value=\"250\">250 per page</option>\n <option value=\"500\">500 per page</option>\n </select>\n ) : (\n ''\n )}\n </div>\n <Link\n href={nextPageLink}\n className=\"flex items-center gap-2\"\n disabled={!has_more_pages}\n >\n Next\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-4 w-4\"\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=\"M14 5l7 7m0 0l-7 7m7-7H3\"\n />\n </svg>\n </Link>\n </nav>\n </div>\n );\n}\n"],"names":["SimplePagination","meta","className","showPerPageSelector","defaultValue","current_page","per_page","to","from","perPageValue","has_more_pages","getNextPageLink","search","getPrevPageLink","nextPageLink","prevPageLink","handlePerPageChange","e","jsx","jsxs","Link"],"mappings":"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"}
|
package/dist/sdk.es21.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es21.js","sources":["../src/components/common/ToastItem.tsx"],"sourcesContent":["import React from 'react';\nimport { Transition } from '@headlessui/react';\nimport type { Toast } from '../../types';\nimport { useToast } from '../../lib/toast';\n\nexport default function ToastItem({ _id = '', message, status = 'default' }: Toast) {\n const { removeToast } = useToast();\n\n const defaultClasses = 'w-full min-w-[250px] p-4 shadow flex justify-between items-center font-black rounded-md not:';\n\n const statusClasses = status === 'success' && 'bg-accent text-white'\n || status === 'error' && 'bg-red-500 text-white'\n || status === 'warning' && 'bg-yellow-400 text-white'\n || 'bg-white text-primary';\n\n const classes = `${defaultClasses} ${statusClasses}`;\n\n function handleClick() {\n removeToast(_id);\n }\n\n return (\n <Transition\n show={true}\n appear={true}\n enter=\"transition-all duration-300\"\n enterFrom=\"opacity-0 translate-y-4\"\n enterTo=\"opacity-100 translate-y-0\"\n leave=\"transition-all duration-300\"\n leaveFrom=\"opacity-100 translate-y-0\"\n leaveTo=\"opacity-0 translate-y-2\"\n >\n <div className={classes}>\n <p>{message}</p>\n <button className=\"\" onClick={handleClick} title=\"Close message\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n className=\"h-6 w-6\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n </div>\n </Transition>\n )\n}\n"],"names":["ToastItem","_id","message","status","removeToast","useToast","classes","handleClick","jsx","Transition","jsxs"],"mappings":";;;AAKA,SAAwBA,EAAU,EAAE,KAAAC,IAAM,IAAI,SAAAC,GAAS,QAAAC,IAAS,aAAoB;
|
|
1
|
+
{"version":3,"file":"sdk.es21.js","sources":["../src/components/common/ToastItem.tsx"],"sourcesContent":["import React from 'react';\nimport { Transition } from '@headlessui/react';\nimport type { Toast } from '../../types';\nimport { useToast } from '../../lib/toast';\n\nexport default function ToastItem({ _id = '', message, status = 'default' }: Toast) {\n const { removeToast } = useToast();\n\n const defaultClasses = 'w-full min-w-[250px] p-4 shadow flex justify-between items-center font-black rounded-md not:';\n\n const statusClasses = status === 'success' && 'bg-accent text-white'\n || status === 'error' && 'bg-red-500 text-white'\n || status === 'warning' && 'bg-yellow-400 text-white'\n || 'bg-white text-primary';\n\n const classes = `${defaultClasses} ${statusClasses}`;\n\n function handleClick() {\n removeToast(_id);\n }\n\n return (\n <Transition\n show={true}\n appear={true}\n enter=\"transition-all duration-300\"\n enterFrom=\"opacity-0 translate-y-4\"\n enterTo=\"opacity-100 translate-y-0\"\n leave=\"transition-all duration-300\"\n leaveFrom=\"opacity-100 translate-y-0\"\n leaveTo=\"opacity-0 translate-y-2\"\n >\n <div className={classes}>\n <p>{message}</p>\n <button className=\"\" onClick={handleClick} title=\"Close message\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n stroke=\"currentColor\"\n className=\"h-6 w-6\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n </div>\n </Transition>\n )\n}\n"],"names":["ToastItem","_id","message","status","removeToast","useToast","classes","handleClick","jsx","Transition","jsxs"],"mappings":";;;AAKA,SAAwBA,EAAU,EAAE,KAAAC,IAAM,IAAI,SAAAC,GAAS,QAAAC,IAAS,aAAoB;AAChF,QAAM,EAAE,aAAAC,EAAA,IAAgBC,EAAA,GASlBC,IAAU,gGALMH,MAAW,aAAa,0BACvCA,MAAW,WAAW,2BACtBA,MAAW,aAAa,8BACxB,uBAE2C;AAElD,WAASI,IAAc;AACnB,IAAAH,EAAYH,CAAG;AAAA,EACnB;AAEA,SACIO,gBAAAA,EAAAA;AAAAA,IAACC;AAAA,IAAA;AAAA,MACG,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAM;AAAA,MACN,WAAU;AAAA,MACV,SAAQ;AAAA,MACR,OAAM;AAAA,MACN,WAAU;AAAA,MACV,SAAQ;AAAA,MAER,UAAAC,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAWJ,GACZ,UAAA;AAAA,QAAAE,gBAAAA,EAAAA,IAAC,OAAG,UAAAN,EAAA,CAAQ;AAAA,8BACX,UAAA,EAAO,WAAU,IAAG,SAASK,GAAa,OAAM,iBAC7C,UAAAC,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACG,OAAM;AAAA,YACN,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,QAAO;AAAA,YACP,WAAU;AAAA,YAEV,UAAAA,gBAAAA,EAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBACG,eAAc;AAAA,gBACd,gBAAe;AAAA,gBACf,aAAY;AAAA,gBACZ,GAAE;AAAA,cAAA;AAAA,YAAA;AAAA,UACN;AAAA,QAAA,EACJ,CACJ;AAAA,MAAA,EAAA,CACJ;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
|
package/dist/sdk.es22.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es22.js","sources":["../src/components/common/Toasts.tsx"],"sourcesContent":["import React from 'react';\nimport type { Toast } from \"../../types\";\nimport { useToast } from \"../../lib/toast\";\nimport ToastItem from \"./ToastItem\";\n\nexport default function Toasts() {\n const { toasts } = useToast();\n\n return (\n <div className=\"fixed bottom-4 right-4 z-[120] flex flex-col gap-6\">\n {toasts.map((toast: Toast) => (\n <ToastItem {...toast} key={toast._id} />\n ))}\n </div>\n );\n}\n"],"names":["Toasts","toasts","useToast","toast","createElement","ToastItem"],"mappings":";;;;AAKA,SAAwBA,IAAS;
|
|
1
|
+
{"version":3,"file":"sdk.es22.js","sources":["../src/components/common/Toasts.tsx"],"sourcesContent":["import React from 'react';\nimport type { Toast } from \"../../types\";\nimport { useToast } from \"../../lib/toast\";\nimport ToastItem from \"./ToastItem\";\n\nexport default function Toasts() {\n const { toasts } = useToast();\n\n return (\n <div className=\"fixed bottom-4 right-4 z-[120] flex flex-col gap-6\">\n {toasts.map((toast: Toast) => (\n <ToastItem {...toast} key={toast._id} />\n ))}\n </div>\n );\n}\n"],"names":["Toasts","toasts","useToast","toast","createElement","ToastItem"],"mappings":";;;;AAKA,SAAwBA,IAAS;AAC7B,QAAM,EAAE,QAAAC,EAAA,IAAWC,EAAA;AAEnB,+BACK,OAAA,EAAI,WAAU,sDACV,UAAAD,EAAO,IAAI,CAACE,MACT,gBAAAC,EAACC,GAAA,EAAW,GAAGF,GAAO,KAAKA,EAAM,IAAA,CAAK,CACzC,GACL;AAER;"}
|
package/dist/sdk.es23.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es23.js","sources":["../src/components/common/Modal.tsx"],"sourcesContent":["import React from 'react';\nimport { Fragment } from 'react';\nimport { Dialog, Transition } from '@headlessui/react';\n\ninterface Props {\n children: React.ReactNode;\n isActive?: boolean;\n onClose: () => void;\n title?: string;\n width?: string;\n className?: string;\n}\n\nexport default function Modal({ children, isActive = false, onClose, title, width = '', className = '' }: Props) {\n return (\n <Transition.Root show={isActive} as={Fragment}>\n <Dialog as=\"div\" className=\"fixed z-[110] inset-0 overflow-y-auto\" onClose={onClose}>\n <div className=\"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0\">\n <Transition.Child\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0\"\n enterTo=\"opacity-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <Dialog.Overlay className=\"fixed inset-0 bg-gray-500/75 transition-opacity\" />\n </Transition.Child>\n\n <Transition.Child\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n enterTo=\"opacity-100 translate-y-0 sm:scale-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100 translate-y-0 sm:scale-100\"\n leaveTo=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n >\n <div className={`${className} w-full align-start inline-block bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-7xl sm:p-6 ${width}`}>\n <div className={`flex gap-4 mb-4 text-primary ${title ? 'border-b-2 border-primary pb-4' : ''}`}>\n {title && <h3 className=\"font-black text-lg\">{title}</h3>}\n <button type=\"button\" onClick={onClose} className=\"ml-auto transition-all hover:opacity-50\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n </svg>\n </button>\n </div>\n <div>{children}</div>\n </div>\n </Transition.Child>\n </div>\n </Dialog>\n </Transition.Root>\n );\n}\n"],"names":["Modal","children","isActive","onClose","title","width","className","Transition","Fragment","jsx","Dialog","jsxs"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"sdk.es23.js","sources":["../src/components/common/Modal.tsx"],"sourcesContent":["import React from 'react';\nimport { Fragment } from 'react';\nimport { Dialog, Transition } from '@headlessui/react';\n\ninterface Props {\n children: React.ReactNode;\n isActive?: boolean;\n onClose: () => void;\n title?: string;\n width?: string;\n className?: string;\n}\n\nexport default function Modal({ children, isActive = false, onClose, title, width = '', className = '' }: Props) {\n return (\n <Transition.Root show={isActive} as={Fragment}>\n <Dialog as=\"div\" className=\"fixed z-[110] inset-0 overflow-y-auto\" onClose={onClose}>\n <div className=\"flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0\">\n <Transition.Child\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0\"\n enterTo=\"opacity-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100\"\n leaveTo=\"opacity-0\"\n >\n <Dialog.Overlay className=\"fixed inset-0 bg-gray-500/75 transition-opacity\" />\n </Transition.Child>\n\n <Transition.Child\n as={Fragment}\n enter=\"ease-out duration-300\"\n enterFrom=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n enterTo=\"opacity-100 translate-y-0 sm:scale-100\"\n leave=\"ease-in duration-200\"\n leaveFrom=\"opacity-100 translate-y-0 sm:scale-100\"\n leaveTo=\"opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95\"\n >\n <div className={`${className} w-full align-start inline-block bg-white rounded-lg px-4 pt-5 pb-4 text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-7xl sm:p-6 ${width}`}>\n <div className={`flex gap-4 mb-4 text-primary ${title ? 'border-b-2 border-primary pb-4' : ''}`}>\n {title && <h3 className=\"font-black text-lg\">{title}</h3>}\n <button type=\"button\" onClick={onClose} className=\"ml-auto transition-all hover:opacity-50\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" className=\"h-6 w-6\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" strokeWidth={2}>\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M6 18L18 6M6 6l12 12\" />\n </svg>\n </button>\n </div>\n <div>{children}</div>\n </div>\n </Transition.Child>\n </div>\n </Dialog>\n </Transition.Root>\n );\n}\n"],"names":["Modal","children","isActive","onClose","title","width","className","Transition","Fragment","jsx","Dialog","jsxs"],"mappings":";;;AAaA,SAAwBA,EAAM,EAAE,UAAAC,GAAU,UAAAC,IAAW,IAAO,SAAAC,GAAS,OAAAC,GAAO,OAAAC,IAAQ,IAAI,WAAAC,IAAY,GAAA,GAAa;AAC7G,+BACKC,EAAW,MAAX,EAAgB,MAAML,GAAU,IAAIM,GACjC,UAAAC,gBAAAA,EAAAA,IAACC,GAAA,EAAO,IAAG,OAAM,WAAU,yCAAwC,SAAAP,GAC/D,UAAAQ,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,0FACX,UAAA;AAAA,IAAAF,gBAAAA,EAAAA;AAAAA,MAACF,EAAW;AAAA,MAAX;AAAA,QACG,IAAIC;AAAA,QACJ,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QAER,UAAAC,gBAAAA,EAAAA,IAACC,EAAO,SAAP,EAAe,WAAU,kDAAA,CAAkD;AAAA,MAAA;AAAA,IAAA;AAAA,IAGhFD,gBAAAA,EAAAA;AAAAA,MAACF,EAAW;AAAA,MAAX;AAAA,QACG,IAAIC;AAAA,QACJ,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,WAAU;AAAA,QACV,SAAQ;AAAA,QAER,iCAAC,OAAA,EAAI,WAAW,GAAGF,CAAS,gLAAgLD,CAAK,IAC7M,UAAA;AAAA,UAAAM,gBAAAA,OAAC,SAAI,WAAW,gCAAgCP,IAAQ,mCAAmC,EAAE,IACxF,UAAA;AAAA,YAAAA,KAASK,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,sBAAsB,UAAAL,GAAM;AAAA,YACpDK,gBAAAA,EAAAA,IAAC,UAAA,EAAO,MAAK,UAAS,SAASN,GAAS,WAAU,2CAC9C,UAAAM,gBAAAA,EAAAA,IAAC,OAAA,EAAI,OAAM,8BAA6B,WAAU,WAAU,MAAK,QAAO,SAAQ,aAAY,QAAO,gBAAe,aAAa,GAC3H,UAAAA,gBAAAA,MAAC,QAAA,EAAK,eAAc,SAAQ,gBAAe,SAAQ,GAAE,uBAAA,CAAuB,GAChF,EAAA,CACJ;AAAA,UAAA,GACJ;AAAA,UACAA,gBAAAA,MAAC,SAAK,UAAAR,EAAA,CAAS;AAAA,QAAA,EAAA,CACnB;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,EAAA,CACJ,GACJ,GACJ;AAER;"}
|
package/dist/sdk.es24.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es24.js","sources":["../src/components/tables/Table.tsx"],"sourcesContent":["import React from 'react';\n\ninterface Props extends React.DetailedHTMLProps<React.TableHTMLAttributes<HTMLTableElement>, HTMLTableElement> {\n children: React.ReactNode;\n}\n\nexport default function Table({ children, ...props }: Props) {\n return (\n <div className=\"-my-2 -mx-4 overflow-x-auto sm:-mx-6 lg:-mx-8 text-sm\">\n <div className=\"inline-block min-w-full py-2 align-middle md:px-6 lg:px-8\">\n <div className=\"overflow-hidden shadow ring-1 ring-gray-300 ring-opacity-5 md:rounded-lg\">\n <table {...props} className=\"min-w-full divide-y divide-gray-300\">\n {children}\n </table>\n </div>\n </div>\n </div>\n )\n}\n"],"names":["Table","children","props","jsx"],"mappings":";AAMA,SAAwBA,EAAM,EAAE,UAAAC,GAAU,GAAGC,KAAgB;
|
|
1
|
+
{"version":3,"file":"sdk.es24.js","sources":["../src/components/tables/Table.tsx"],"sourcesContent":["import React from 'react';\n\ninterface Props extends React.DetailedHTMLProps<React.TableHTMLAttributes<HTMLTableElement>, HTMLTableElement> {\n children: React.ReactNode;\n}\n\nexport default function Table({ children, ...props }: Props) {\n return (\n <div className=\"-my-2 -mx-4 overflow-x-auto sm:-mx-6 lg:-mx-8 text-sm\">\n <div className=\"inline-block min-w-full py-2 align-middle md:px-6 lg:px-8\">\n <div className=\"overflow-hidden shadow ring-1 ring-gray-300 ring-opacity-5 md:rounded-lg\">\n <table {...props} className=\"min-w-full divide-y divide-gray-300\">\n {children}\n </table>\n </div>\n </div>\n </div>\n )\n}\n"],"names":["Table","children","props","jsx"],"mappings":";AAMA,SAAwBA,EAAM,EAAE,UAAAC,GAAU,GAAGC,KAAgB;AACzD,SACIC,gBAAAA,EAAAA,IAAC,SAAI,WAAU,yDACX,gCAAC,OAAA,EAAI,WAAU,6DACX,UAAAA,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,4EACX,UAAAA,gBAAAA,MAAC,WAAO,GAAGD,GAAO,WAAU,uCACvB,UAAAD,EAAA,CACL,EAAA,CACJ,EAAA,CACJ,EAAA,CACJ;AAER;"}
|
package/dist/sdk.es25.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es25.js","sources":["../src/components/tables/TableActions.tsx"],"sourcesContent":["import React from 'react';\n\ninterface Props {\n children: React.ReactNode;\n className?: string;\n}\n\nexport default function TableActions({ children, className = '' }: Props) {\n return (\n <div className={`${className} flex gap-4 justify-end items-center`}>\n {children}\n </div>\n )\n}\n"],"names":["TableActions","children","className"],"mappings":";AAOA,SAAwBA,EAAa,EAAE,UAAAC,GAAU,WAAAC,IAAY,MAAa;AACtE,+BACK,
|
|
1
|
+
{"version":3,"file":"sdk.es25.js","sources":["../src/components/tables/TableActions.tsx"],"sourcesContent":["import React from 'react';\n\ninterface Props {\n children: React.ReactNode;\n className?: string;\n}\n\nexport default function TableActions({ children, className = '' }: Props) {\n return (\n <div className={`${className} flex gap-4 justify-end items-center`}>\n {children}\n </div>\n )\n}\n"],"names":["TableActions","children","className"],"mappings":";AAOA,SAAwBA,EAAa,EAAE,UAAAC,GAAU,WAAAC,IAAY,MAAa;AACtE,+BACK,OAAA,EAAI,WAAW,GAAGA,CAAS,wCACvB,UAAAD,GACL;AAER;"}
|
package/dist/sdk.es26.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es26.js","sources":["../src/components/tables/TableBody.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React from 'react';\n\ninterface Props extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nexport default function TableBody({ children, className, ...props }: Props) {\n return (\n <tbody {...props} className={cn(className, 'divide-y divide-gray-200 bg-white')}>\n {children}\n </tbody>\n )\n}\n"],"names":["TableBody","children","className","props","jsx","cn"],"mappings":";;AAQA,SAAwBA,EAAU,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,KAAgB;
|
|
1
|
+
{"version":3,"file":"sdk.es26.js","sources":["../src/components/tables/TableBody.tsx"],"sourcesContent":["import cn from 'classnames';\nimport React from 'react';\n\ninterface Props extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nexport default function TableBody({ children, className, ...props }: Props) {\n return (\n <tbody {...props} className={cn(className, 'divide-y divide-gray-200 bg-white')}>\n {children}\n </tbody>\n )\n}\n"],"names":["TableBody","children","className","props","jsx","cn"],"mappings":";;AAQA,SAAwBA,EAAU,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,KAAgB;AACxE,SACIC,gBAAAA,MAAC,WAAO,GAAGD,GAAO,WAAWE,EAAGH,GAAW,mCAAmC,GACzE,UAAAD,GACL;AAER;"}
|
package/dist/sdk.es27.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es27.js","sources":["../src/components/tables/TableCell.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\ninterface Props extends React.DetailedHTMLProps<React.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement> {\n children: React.ReactNode;\n className?: string;\n condensed?: true;\n}\n\nexport default function TableCell({ children, className, condensed, ...props }: Props) {\n return (\n <td {...props} className={cn(className, 'px-3 py-3 text-sm text-gray-500', {\n 'w-0 whitespace-nowrap': condensed,\n })}>\n {children}\n </td>\n )\n}\n"],"names":["TableCell","children","className","condensed","props","cn"],"mappings":";;AASA,SAAwBA,EAAU,EAAE,UAAAC,GAAU,WAAAC,GAAW,WAAAC,GAAW,GAAGC,KAAgB;AACnF,+BACK,
|
|
1
|
+
{"version":3,"file":"sdk.es27.js","sources":["../src/components/tables/TableCell.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\ninterface Props extends React.DetailedHTMLProps<React.TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement> {\n children: React.ReactNode;\n className?: string;\n condensed?: true;\n}\n\nexport default function TableCell({ children, className, condensed, ...props }: Props) {\n return (\n <td {...props} className={cn(className, 'px-3 py-3 text-sm text-gray-500', {\n 'w-0 whitespace-nowrap': condensed,\n })}>\n {children}\n </td>\n )\n}\n"],"names":["TableCell","children","className","condensed","props","cn"],"mappings":";;AASA,SAAwBA,EAAU,EAAE,UAAAC,GAAU,WAAAC,GAAW,WAAAC,GAAW,GAAGC,KAAgB;AACnF,+BACK,MAAA,EAAI,GAAGA,GAAO,WAAWC,EAAGH,GAAW,mCAAmC;AAAA,IACvE,yBAAyBC;AAAA,EAAA,CAC5B,GACI,UAAAF,EAAA,CACL;AAER;"}
|
package/dist/sdk.es28.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es28.js","sources":["../src/components/tables/TableHead.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\ninterface Props extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nexport default function TableHead({ children, className, ...props }: Props) {\n return (\n <thead {...props} className={cn(className, 'px-3 py-4 text-sm text-white bg-primary')}>\n {children}\n </thead>\n )\n}\n"],"names":["TableHead","children","className","props","jsx","cn"],"mappings":";;AAQA,SAAwBA,EAAU,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,KAAgB;
|
|
1
|
+
{"version":3,"file":"sdk.es28.js","sources":["../src/components/tables/TableHead.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\ninterface Props extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement> {\n children: React.ReactNode;\n className?: string;\n}\n\nexport default function TableHead({ children, className, ...props }: Props) {\n return (\n <thead {...props} className={cn(className, 'px-3 py-4 text-sm text-white bg-primary')}>\n {children}\n </thead>\n )\n}\n"],"names":["TableHead","children","className","props","jsx","cn"],"mappings":";;AAQA,SAAwBA,EAAU,EAAE,UAAAC,GAAU,WAAAC,GAAW,GAAGC,KAAgB;AACxE,SACIC,gBAAAA,MAAC,WAAO,GAAGD,GAAO,WAAWE,EAAGH,GAAW,yCAAyC,GAC/E,UAAAD,GACL;AAER;"}
|
package/dist/sdk.es29.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es29.js","sources":["../src/components/tables/TableHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { Link } from '@inertiajs/react';\nimport cn from 'classnames';\n\ninterface Props extends React.DetailedHTMLProps<React.ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement> {\n children: React.ReactNode;\n className?: string;\n textAlign?: 'left' | 'right' | 'center';\n sort?: string;\n condensed?: true;\n}\n\nexport default function TableHeader({\n children,\n className = '',\n sort,\n textAlign = 'left',\n condensed,\n ...props\n}: Props) {\n const [sortLink, setSortLink] = React.useState<string>('');\n\n React.useEffect(() => {\n if (typeof window !== 'undefined' && sort) {\n const query = new URLSearchParams(window.location.search);\n\n let direction: 'asc' | 'desc' = 'asc';\n\n if (query.get('sort')) {\n // Choose the opposite direction for sorting\n direction = query.get('sort')?.includes('asc') ? 'desc' : 'asc';\n }\n\n query.set('sort', `${sort} ${direction}`);\n\n setSortLink(`?${query.toString()}`);\n }\n }, []);\n\n const textAlignClass =\n (textAlign === 'center' && 'text-center justify-center') ||\n (textAlign === 'right' && 'text-right justify-end') ||\n 'text-left justify-between';\n\n return (\n <th {...props} className={cn(className, 'py-3.5 px-3 text-sm font-semibold text-left', {\n 'w-0 whitespace-nowrap': condensed,\n })}>\n <div className={`flex items-center gap-3 ${textAlignClass}`}>\n {children}\n {sort && (\n <Link href={sortLink}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5\"\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=\"M8 9l4-4 4 4m0 6l-4 4-4-4\"\n />\n </svg>\n </Link>\n )}\n </div>\n </th>\n );\n}\n"],"names":["TableHeader","children","className","sort","textAlign","condensed","props","sortLink","setSortLink","React","query","direction","textAlignClass","cn","jsxs","jsx","Link"],"mappings":";;;;AAYA,SAAwBA,EAAY;AAAA,EAClC,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,WAAAC;AAAA,EACA,GAAGC;AACL,GAAU;AACR,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAM,SAAiB,EAAE;AAEzDA,EAAAA,EAAM,UAAU,MAAM;
|
|
1
|
+
{"version":3,"file":"sdk.es29.js","sources":["../src/components/tables/TableHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { Link } from '@inertiajs/react';\nimport cn from 'classnames';\n\ninterface Props extends React.DetailedHTMLProps<React.ThHTMLAttributes<HTMLTableHeaderCellElement>, HTMLTableHeaderCellElement> {\n children: React.ReactNode;\n className?: string;\n textAlign?: 'left' | 'right' | 'center';\n sort?: string;\n condensed?: true;\n}\n\nexport default function TableHeader({\n children,\n className = '',\n sort,\n textAlign = 'left',\n condensed,\n ...props\n}: Props) {\n const [sortLink, setSortLink] = React.useState<string>('');\n\n React.useEffect(() => {\n if (typeof window !== 'undefined' && sort) {\n const query = new URLSearchParams(window.location.search);\n\n let direction: 'asc' | 'desc' = 'asc';\n\n if (query.get('sort')) {\n // Choose the opposite direction for sorting\n direction = query.get('sort')?.includes('asc') ? 'desc' : 'asc';\n }\n\n query.set('sort', `${sort} ${direction}`);\n\n setSortLink(`?${query.toString()}`);\n }\n }, []);\n\n const textAlignClass =\n (textAlign === 'center' && 'text-center justify-center') ||\n (textAlign === 'right' && 'text-right justify-end') ||\n 'text-left justify-between';\n\n return (\n <th {...props} className={cn(className, 'py-3.5 px-3 text-sm font-semibold text-left', {\n 'w-0 whitespace-nowrap': condensed,\n })}>\n <div className={`flex items-center gap-3 ${textAlignClass}`}>\n {children}\n {sort && (\n <Link href={sortLink}>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"h-5 w-5\"\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=\"M8 9l4-4 4 4m0 6l-4 4-4-4\"\n />\n </svg>\n </Link>\n )}\n </div>\n </th>\n );\n}\n"],"names":["TableHeader","children","className","sort","textAlign","condensed","props","sortLink","setSortLink","React","query","direction","textAlignClass","cn","jsxs","jsx","Link"],"mappings":";;;;AAYA,SAAwBA,EAAY;AAAA,EAClC,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,MAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,WAAAC;AAAA,EACA,GAAGC;AACL,GAAU;AACR,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAM,SAAiB,EAAE;AAEzDA,EAAAA,EAAM,UAAU,MAAM;AACpB,QAAI,OAAO,SAAW,OAAeN,GAAM;AACzC,YAAMO,IAAQ,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAExD,UAAIC,IAA4B;AAEhC,MAAID,EAAM,IAAI,MAAM,MAElBC,IAAYD,EAAM,IAAI,MAAM,GAAG,SAAS,KAAK,IAAI,SAAS,QAG5DA,EAAM,IAAI,QAAQ,GAAGP,CAAI,IAAIQ,CAAS,EAAE,GAExCH,EAAY,IAAIE,EAAM,SAAA,CAAU,EAAE;AAAA,IACpC;AAAA,EACF,GAAG,CAAA,CAAE;AAEL,QAAME,IACHR,MAAc,YAAY,gCAC1BA,MAAc,WAAW,4BAC1B;AAEF,+BACG,MAAA,EAAI,GAAGE,GAAO,WAAWO,EAAGX,GAAW,+CAA+C;AAAA,IACrF,yBAAyBG;AAAA,EAAA,CAC1B,GACC,UAAAS,gBAAAA,EAAAA,KAAC,SAAI,WAAW,2BAA2BF,CAAc,IACtD,UAAA;AAAA,IAAAX;AAAA,IACAE,KACCY,gBAAAA,EAAAA,IAACC,GAAA,EAAK,MAAMT,GACV,UAAAQ,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,WAAU;AAAA,QACV,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,QAAO;AAAA,QACP,aAAY;AAAA,QAEZ,UAAAA,gBAAAA,EAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAc;AAAA,YACd,gBAAe;AAAA,YACf,GAAE;AAAA,UAAA;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA,EACF,CACF;AAAA,EAAA,EAAA,CAEJ,EAAA,CACF;AAEJ;"}
|
package/dist/sdk.es3.js
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
function
|
|
1
|
+
function n(t) {
|
|
2
2
|
return +(Math.round(parseFloat(t + "e2")) + "e-2");
|
|
3
3
|
}
|
|
4
4
|
function o(t) {
|
|
5
|
-
return
|
|
6
|
-
}
|
|
7
|
-
function u(t) {
|
|
8
|
-
return r(t * 1.15);
|
|
5
|
+
return n(t * 3 / 23);
|
|
9
6
|
}
|
|
10
7
|
function i(t) {
|
|
11
|
-
return
|
|
8
|
+
return n(t * 1.15);
|
|
9
|
+
}
|
|
10
|
+
function u(t) {
|
|
11
|
+
return n(t - o(t));
|
|
12
12
|
}
|
|
13
13
|
function a(t) {
|
|
14
|
-
let
|
|
15
|
-
return typeof
|
|
16
|
-
gst: o(
|
|
17
|
-
amountInclusive:
|
|
18
|
-
amountExclusive:
|
|
14
|
+
let r = t;
|
|
15
|
+
return typeof r == "string" && (r = parseFloat(r.replace(/[^0-9.]/g, ""))), r = n(r), {
|
|
16
|
+
gst: o(r),
|
|
17
|
+
amountInclusive: i(r),
|
|
18
|
+
amountExclusive: u(r)
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
function c(t,
|
|
21
|
+
function c(t, r = 2) {
|
|
22
22
|
if (t == null)
|
|
23
23
|
return "";
|
|
24
24
|
let e = t;
|
|
25
25
|
return typeof t == "string" && (e = t.replace(/[^\d.-]/g, "")), Number(e).toLocaleString("en", {
|
|
26
|
-
minimumFractionDigits:
|
|
27
|
-
maximumFractionDigits:
|
|
26
|
+
minimumFractionDigits: r,
|
|
27
|
+
maximumFractionDigits: r
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
30
|
function f(t) {
|
|
31
31
|
return parseFloat(t.replace(/[^0-9.]/g, ""));
|
|
32
32
|
}
|
|
33
33
|
export {
|
|
34
|
-
|
|
34
|
+
i as addGst,
|
|
35
35
|
c as formatMoney,
|
|
36
36
|
f as formatNumber,
|
|
37
37
|
o as getGst,
|
|
38
38
|
a as gstCalc,
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
n as round,
|
|
40
|
+
u as subtractGst
|
|
41
41
|
};
|
|
42
42
|
//# sourceMappingURL=sdk.es3.js.map
|
package/dist/sdk.es3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es3.js","sources":["../src/lib/money.ts"],"sourcesContent":["/**\n * Safely rounds a number\n */\nexport function round(value: number): number {\n return Number(Math.round(parseFloat(value + 'e' + 2)) + 'e-' + 2)\n}\n\n/**\n * Gets the GST value from a number\n */\nexport function getGst(value: number): number {\n return round(value * 3 / 23);\n}\n\n/**\n * Adds GST to a number\n */\nexport function addGst(value: number): number {\n return round(value * 1.15);\n}\n\n/**\n * Subtracts GST from a number\n */\nexport function subtractGst(value: number): number {\n return round(value - getGst(value));\n}\n\n/**\n * Calculates the various GST values on a figure\n */\nexport function gstCalc(input: number|string): {\n gst: number,\n amountInclusive: number,\n amountExclusive: number\n} {\n let value = input;\n\n if (typeof value === 'string') {\n value = parseFloat(value.replace(/[^0-9.]/g, ''));\n }\n\n value = round(value);\n\n return {\n gst: getGst(value),\n amountInclusive: addGst(value),\n amountExclusive: subtractGst(value)\n }\n}\n\n/**\n * Formats a value nicely\n */\nexport function formatMoney(value: string|number|null|undefined, decimals: number = 2): string {\n if (value === null || value === undefined) {\n return '';\n }\n\n let toFormat = value;\n if (typeof value === 'string') {\n toFormat = value.replace(/[^\\d.-]/g, '')\n }\n\n return Number(toFormat).toLocaleString('en', {\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n });\n}\n\n/**\n * Turns a formatted value in to a float\n */\nexport function formatNumber(value: string): number {\n return parseFloat(value.replace(/[^0-9.]/g, ''));\n}\n"],"names":["round","value","getGst","addGst","subtractGst","gstCalc","input","formatMoney","decimals","toFormat","formatNumber"],"mappings":"AAGO,SAASA,EAAMC,GAAuB;
|
|
1
|
+
{"version":3,"file":"sdk.es3.js","sources":["../src/lib/money.ts"],"sourcesContent":["/**\n * Safely rounds a number\n */\nexport function round(value: number): number {\n return Number(Math.round(parseFloat(value + 'e' + 2)) + 'e-' + 2)\n}\n\n/**\n * Gets the GST value from a number\n */\nexport function getGst(value: number): number {\n return round(value * 3 / 23);\n}\n\n/**\n * Adds GST to a number\n */\nexport function addGst(value: number): number {\n return round(value * 1.15);\n}\n\n/**\n * Subtracts GST from a number\n */\nexport function subtractGst(value: number): number {\n return round(value - getGst(value));\n}\n\n/**\n * Calculates the various GST values on a figure\n */\nexport function gstCalc(input: number|string): {\n gst: number,\n amountInclusive: number,\n amountExclusive: number\n} {\n let value = input;\n\n if (typeof value === 'string') {\n value = parseFloat(value.replace(/[^0-9.]/g, ''));\n }\n\n value = round(value);\n\n return {\n gst: getGst(value),\n amountInclusive: addGst(value),\n amountExclusive: subtractGst(value)\n }\n}\n\n/**\n * Formats a value nicely\n */\nexport function formatMoney(value: string|number|null|undefined, decimals: number = 2): string {\n if (value === null || value === undefined) {\n return '';\n }\n\n let toFormat = value;\n if (typeof value === 'string') {\n toFormat = value.replace(/[^\\d.-]/g, '')\n }\n\n return Number(toFormat).toLocaleString('en', {\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n });\n}\n\n/**\n * Turns a formatted value in to a float\n */\nexport function formatNumber(value: string): number {\n return parseFloat(value.replace(/[^0-9.]/g, ''));\n}\n"],"names":["round","value","getGst","addGst","subtractGst","gstCalc","input","formatMoney","decimals","toFormat","formatNumber"],"mappings":"AAGO,SAASA,EAAMC,GAAuB;AACzC,SAAO,EAAO,KAAK,MAAM,WAAWA,IAAQ,IAAO,CAAC,IAAI;AAC5D;AAKO,SAASC,EAAOD,GAAuB;AAC1C,SAAOD,EAAMC,IAAQ,IAAI,EAAE;AAC/B;AAKO,SAASE,EAAOF,GAAuB;AAC1C,SAAOD,EAAMC,IAAQ,IAAI;AAC7B;AAKO,SAASG,EAAYH,GAAuB;AAC/C,SAAOD,EAAMC,IAAQC,EAAOD,CAAK,CAAC;AACtC;AAKO,SAASI,EAAQC,GAItB;AACE,MAAIL,IAAQK;AAEZ,SAAI,OAAOL,KAAU,aACjBA,IAAQ,WAAWA,EAAM,QAAQ,YAAY,EAAE,CAAC,IAGpDA,IAAQD,EAAMC,CAAK,GAEZ;AAAA,IACH,KAAKC,EAAOD,CAAK;AAAA,IACjB,iBAAiBE,EAAOF,CAAK;AAAA,IAC7B,iBAAiBG,EAAYH,CAAK;AAAA,EAAA;AAE1C;AAKO,SAASM,EAAYN,GAAqCO,IAAmB,GAAW;AAC3F,MAAIP,KAAU;AACV,WAAO;AAGX,MAAIQ,IAAWR;AACf,SAAI,OAAOA,KAAU,aACjBQ,IAAWR,EAAM,QAAQ,YAAY,EAAE,IAGpC,OAAOQ,CAAQ,EAAE,eAAe,MAAM;AAAA,IACzC,uBAAuBD;AAAA,IACvB,uBAAuBA;AAAA,EAAA,CAC1B;AACL;AAKO,SAASE,EAAaT,GAAuB;AAChD,SAAO,WAAWA,EAAM,QAAQ,YAAY,EAAE,CAAC;AACnD;"}
|
package/dist/sdk.es30.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es30.js","sources":["../src/components/tables/TableRow.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\ninterface Props extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement> {\n children: React.ReactNode;\n className?: string;\n onClick?: (e?: React.SyntheticEvent) => void;\n}\n\nexport default function TableRow({ children, className = '', onClick = () => {}, ...props }: Props) {\n const bgClass = className.includes('bg') ? '' : 'bg-white even:bg-gray-50'\n\n return (\n <tr {...props} className={cn(className, bgClass, 'hover:bg-gray-100')} onClick={(e) => onClick(e)}>\n {children}\n </tr>\n )\n}\n"],"names":["TableRow","children","className","onClick","props","bgClass","cn","e"],"mappings":";;AASA,SAAwBA,EAAS,EAAE,UAAAC,GAAU,WAAAC,IAAY,IAAI,SAAAC,IAAU,MAAM;AAAC,GAAG,GAAGC,KAAgB;AAChG,QAAMC,IAAUH,EAAU,SAAS,IAAI,IAAI,KAAK;AAEhD,+BACK,
|
|
1
|
+
{"version":3,"file":"sdk.es30.js","sources":["../src/components/tables/TableRow.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\ninterface Props extends React.DetailedHTMLProps<React.HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement> {\n children: React.ReactNode;\n className?: string;\n onClick?: (e?: React.SyntheticEvent) => void;\n}\n\nexport default function TableRow({ children, className = '', onClick = () => {}, ...props }: Props) {\n const bgClass = className.includes('bg') ? '' : 'bg-white even:bg-gray-50'\n\n return (\n <tr {...props} className={cn(className, bgClass, 'hover:bg-gray-100')} onClick={(e) => onClick(e)}>\n {children}\n </tr>\n )\n}\n"],"names":["TableRow","children","className","onClick","props","bgClass","cn","e"],"mappings":";;AASA,SAAwBA,EAAS,EAAE,UAAAC,GAAU,WAAAC,IAAY,IAAI,SAAAC,IAAU,MAAM;AAAC,GAAG,GAAGC,KAAgB;AAChG,QAAMC,IAAUH,EAAU,SAAS,IAAI,IAAI,KAAK;AAEhD,+BACK,MAAA,EAAI,GAAGE,GAAO,WAAWE,EAAGJ,GAAWG,GAAS,mBAAmB,GAAG,SAAS,CAACE,MAAMJ,EAAQI,CAAC,GAC3F,UAAAN,GACL;AAER;"}
|
package/dist/sdk.es31.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es31.js","sources":["../src/components/forms/DateOfBirthField.tsx"],"sourcesContent":["import React from 'react';\nimport { calculateAge } from '../../lib';\nimport { padStart } from 'lodash';\n\ninterface Props {\n name?: string;\n id?: string;\n onChange: (dateString: string) => void;\n value?: string;\n maxYear?: number;\n showAge?: boolean;\n isRequired?: boolean;\n}\n\nexport default function DateOfBirthField({\n name = 'dob',\n id = 'dob',\n onChange,\n value,\n maxYear = 0,\n showAge = false,\n isRequired = true\n}: Props) {\n const dayOptions = [...Array.from(Array(31).keys())].map(value => {\n return padStart(`${value + 1}`, 2, '0');\n });\n\n const months = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n const monthOptions = [...Array.from(Array(12).keys())].map(value => {\n return {\n title: months[value],\n value: padStart(`${value + 1}`, 2, '0'),\n };\n });\n\n // Create 100 years of options, subtracting the maximum year if provided\n const yearOptions = [...Array.from(Array(100).keys())].map(value => {\n return maxYear ? maxYear - value : new Date().getFullYear() - value;\n });\n\n function handleChange(\n e: React.ChangeEvent<\n HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\n >\n ) {\n const { name, value } = e.currentTarget;\n\n let y = name.includes('year') ? value : year;\n let m = name.includes('month') ? value : month;\n let d = name.includes('day') ? value : day;\n\n onChange(`${y}-${m}-${d}`);\n }\n\n const [year, month, day] = value ? value.split('-') : ['', '', ''];\n const isValidDate =\n year && month && day && !isNaN(Date.parse(`${year}-${month}-${day}`));\n\n const styleReq = {\n backgroundPosition: 'top 10px right 3px, center right 10px',\n }\n\n const style = {\n backgroundPosition: 'right 0.5rem center',\n paddingRight: '1.5rem'\n }\n\n return (\n <span className=\"flex flex-col gap-2\">\n <span className=\"flex w-full border border-gray-300 rounded-lg bg-white\">\n <select\n name={`${name}_day`}\n id={`${id}_day`}\n value={day}\n className=\"flex-grow focus:outline-none border-0 !mr-[3px] lg:pl-4 xl:pl-2\"\n onChange={handleChange}\n required={isRequired}\n style={isRequired ? styleReq : style}\n >\n <option value=\"\">Day</option>\n {dayOptions.map(option => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n <select\n name={`${name}_month`}\n id={`${id}_month`}\n value={month}\n className=\"flex-grow focus:outline-none border-0 !mr-[3px] lg:pl-4 xl:pl-2\"\n onChange={handleChange}\n required={isRequired}\n style={isRequired ? styleReq : style}\n >\n <option value=\"\">Month</option>\n {monthOptions.map(option => (\n <option key={option.value} value={option.value}>\n {option.title}\n </option>\n ))}\n </select>\n <select\n name={`${name}_year`}\n id={`${id}_year`}\n value={year}\n className=\"flex-grow focus:outline-none border-0 !mr-[3px] lg:pl-4 xl:pl-2\"\n onChange={handleChange}\n required={isRequired}\n style={isRequired ? styleReq : style}\n >\n <option value=\"\">Year</option>\n {yearOptions.map(option => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n </span>\n {showAge && value && isValidDate && (\n <span className=\"font-bold\">Age: {calculateAge(value)} years</span>\n )}\n </span>\n );\n}\n"],"names":["DateOfBirthField","name","id","onChange","value","maxYear","showAge","isRequired","dayOptions","padStart","months","monthOptions","yearOptions","handleChange","y","year","m","month","d","day","isValidDate","styleReq","style","jsxs","jsx","option","calculateAge"],"mappings":";;;;;;;;;AAcA,SAAwBA,EAAiB;AAAA,EACvC,MAAAC,IAAO;AAAA,EACP,IAAAC,IAAK;AAAA,EACL,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,SAAAC,IAAU;AAAA,EACV,YAAAC,IAAa;AACf,GAAU;AACR,QAAMC,IAAa,CAAC,GAAG,MAAM,KAAK,MAAM,EAAE,EAAE,KAAA,CAAM,CAAC,EAAE,IAAI,CAAAJ,MAChDK,EAAAA,SAAS,GAAGL,IAAQ,CAAC,IAAI,GAAG,GAAG,CACvC,GAEKM,IAAS;AAAA,IACb;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,
|
|
1
|
+
{"version":3,"file":"sdk.es31.js","sources":["../src/components/forms/DateOfBirthField.tsx"],"sourcesContent":["import React from 'react';\nimport { calculateAge } from '../../lib';\nimport { padStart } from 'lodash';\n\ninterface Props {\n name?: string;\n id?: string;\n onChange: (dateString: string) => void;\n value?: string;\n maxYear?: number;\n showAge?: boolean;\n isRequired?: boolean;\n}\n\nexport default function DateOfBirthField({\n name = 'dob',\n id = 'dob',\n onChange,\n value,\n maxYear = 0,\n showAge = false,\n isRequired = true\n}: Props) {\n const dayOptions = [...Array.from(Array(31).keys())].map(value => {\n return padStart(`${value + 1}`, 2, '0');\n });\n\n const months = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n ];\n const monthOptions = [...Array.from(Array(12).keys())].map(value => {\n return {\n title: months[value],\n value: padStart(`${value + 1}`, 2, '0'),\n };\n });\n\n // Create 100 years of options, subtracting the maximum year if provided\n const yearOptions = [...Array.from(Array(100).keys())].map(value => {\n return maxYear ? maxYear - value : new Date().getFullYear() - value;\n });\n\n function handleChange(\n e: React.ChangeEvent<\n HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement\n >\n ) {\n const { name, value } = e.currentTarget;\n\n let y = name.includes('year') ? value : year;\n let m = name.includes('month') ? value : month;\n let d = name.includes('day') ? value : day;\n\n onChange(`${y}-${m}-${d}`);\n }\n\n const [year, month, day] = value ? value.split('-') : ['', '', ''];\n const isValidDate =\n year && month && day && !isNaN(Date.parse(`${year}-${month}-${day}`));\n\n const styleReq = {\n backgroundPosition: 'top 10px right 3px, center right 10px',\n }\n\n const style = {\n backgroundPosition: 'right 0.5rem center',\n paddingRight: '1.5rem'\n }\n\n return (\n <span className=\"flex flex-col gap-2\">\n <span className=\"flex w-full border border-gray-300 rounded-lg bg-white\">\n <select\n name={`${name}_day`}\n id={`${id}_day`}\n value={day}\n className=\"flex-grow focus:outline-none border-0 !mr-[3px] lg:pl-4 xl:pl-2\"\n onChange={handleChange}\n required={isRequired}\n style={isRequired ? styleReq : style}\n >\n <option value=\"\">Day</option>\n {dayOptions.map(option => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n <select\n name={`${name}_month`}\n id={`${id}_month`}\n value={month}\n className=\"flex-grow focus:outline-none border-0 !mr-[3px] lg:pl-4 xl:pl-2\"\n onChange={handleChange}\n required={isRequired}\n style={isRequired ? styleReq : style}\n >\n <option value=\"\">Month</option>\n {monthOptions.map(option => (\n <option key={option.value} value={option.value}>\n {option.title}\n </option>\n ))}\n </select>\n <select\n name={`${name}_year`}\n id={`${id}_year`}\n value={year}\n className=\"flex-grow focus:outline-none border-0 !mr-[3px] lg:pl-4 xl:pl-2\"\n onChange={handleChange}\n required={isRequired}\n style={isRequired ? styleReq : style}\n >\n <option value=\"\">Year</option>\n {yearOptions.map(option => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n </span>\n {showAge && value && isValidDate && (\n <span className=\"font-bold\">Age: {calculateAge(value)} years</span>\n )}\n </span>\n );\n}\n"],"names":["DateOfBirthField","name","id","onChange","value","maxYear","showAge","isRequired","dayOptions","padStart","months","monthOptions","yearOptions","handleChange","y","year","m","month","d","day","isValidDate","styleReq","style","jsxs","jsx","option","calculateAge"],"mappings":"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"}
|
package/dist/sdk.es32.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk.es32.js","sources":["../src/components/forms/MoneyField.tsx"],"sourcesContent":["import React from 'react';\nimport { formatMoney, formatNumber } from \"../../lib\";\n\ninterface Props {\n value?: number;\n onChange: (value: number) => void;\n id?: string;\n name?: string;\n className?: string;\n required?: boolean;\n}\n\nexport default function MoneyField({ value = 0, onChange, name = 'value', id = 'value', className = '', required = false }: Props) {\n function handleChange(e: React.SyntheticEvent<HTMLInputElement>) {\n let newValue: number = 0;\n\n if (e.currentTarget.value) {\n newValue = formatNumber(e.currentTarget.value);\n\n if (isNaN(newValue)) {\n newValue = 0;\n }\n }\n\n onChange(newValue);\n }\n\n const displayValue = formatMoney(value, 0);\n\n return (\n <div className={`${className} flex items-center gap-2 pl-4 rounded-md border border-gray-300 transition-all focus-within:border-accent focus-within:outline-none focus-within:ring focus-within:ring-accent focus-within:ring-opacity-50`}>\n <span className=\"font-bold pr-2\">$</span>\n <input\n type=\"text\"\n name={name}\n id={id}\n value={displayValue}\n onChange={handleChange}\n className=\"w-full !focus:outline-none !focus:ring-0 !focus:ring-transparent !focus:ring-opacity-0 !ring-0 !border-0 !transition-none !rounded-l-none\"\n required={required}\n />\n </div>\n );\n\n}\n"],"names":["MoneyField","value","onChange","name","id","className","required","handleChange","e","newValue","formatNumber","displayValue","formatMoney","jsxs","jsx"],"mappings":";;;;;;;;AAYA,SAAwBA,EAAW,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,MAAAC,IAAO,SAAS,IAAAC,IAAK,SAAS,WAAAC,IAAY,IAAI,UAAAC,IAAW,MAAgB;AAC/H,WAASC,EAAaC,GAA2C;AAC7D,QAAIC,IAAmB;
|
|
1
|
+
{"version":3,"file":"sdk.es32.js","sources":["../src/components/forms/MoneyField.tsx"],"sourcesContent":["import React from 'react';\nimport { formatMoney, formatNumber } from \"../../lib\";\n\ninterface Props {\n value?: number;\n onChange: (value: number) => void;\n id?: string;\n name?: string;\n className?: string;\n required?: boolean;\n}\n\nexport default function MoneyField({ value = 0, onChange, name = 'value', id = 'value', className = '', required = false }: Props) {\n function handleChange(e: React.SyntheticEvent<HTMLInputElement>) {\n let newValue: number = 0;\n\n if (e.currentTarget.value) {\n newValue = formatNumber(e.currentTarget.value);\n\n if (isNaN(newValue)) {\n newValue = 0;\n }\n }\n\n onChange(newValue);\n }\n\n const displayValue = formatMoney(value, 0);\n\n return (\n <div className={`${className} flex items-center gap-2 pl-4 rounded-md border border-gray-300 transition-all focus-within:border-accent focus-within:outline-none focus-within:ring focus-within:ring-accent focus-within:ring-opacity-50`}>\n <span className=\"font-bold pr-2\">$</span>\n <input\n type=\"text\"\n name={name}\n id={id}\n value={displayValue}\n onChange={handleChange}\n className=\"w-full !focus:outline-none !focus:ring-0 !focus:ring-transparent !focus:ring-opacity-0 !ring-0 !border-0 !transition-none !rounded-l-none\"\n required={required}\n />\n </div>\n );\n\n}\n"],"names":["MoneyField","value","onChange","name","id","className","required","handleChange","e","newValue","formatNumber","displayValue","formatMoney","jsxs","jsx"],"mappings":";;;;;;;;AAYA,SAAwBA,EAAW,EAAE,OAAAC,IAAQ,GAAG,UAAAC,GAAU,MAAAC,IAAO,SAAS,IAAAC,IAAK,SAAS,WAAAC,IAAY,IAAI,UAAAC,IAAW,MAAgB;AAC/H,WAASC,EAAaC,GAA2C;AAC7D,QAAIC,IAAmB;AAEvB,IAAID,EAAE,cAAc,UAChBC,IAAWC,EAAaF,EAAE,cAAc,KAAK,GAEzC,MAAMC,CAAQ,MACdA,IAAW,KAInBP,EAASO,CAAQ;AAAA,EACrB;AAEA,QAAME,IAAeC,EAAYX,GAAO,CAAC;AAEzC,SACIY,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAW,GAAGR,CAAS,+MACxB,UAAA;AAAA,IAAAS,gBAAAA,EAAAA,IAAC,QAAA,EAAK,WAAU,kBAAiB,UAAA,KAAC;AAAA,IAClCA,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACG,MAAK;AAAA,QACL,MAAAX;AAAA,QACA,IAAAC;AAAA,QACA,OAAOO;AAAA,QACP,UAAUJ;AAAA,QACV,WAAU;AAAA,QACV,UAAAD;AAAA,MAAA;AAAA,IAAA;AAAA,EACJ,GACJ;AAGR;"}
|
package/dist/sdk.es33.js.map
CHANGED
|
@@ -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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"}
|
package/dist/sdk.es34.js.map
CHANGED
|
@@ -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":";;;;;;;;;AAQA,SAAwBA,EAAW,EAAE,yBAAAC,IAA0B,MAAgB;
|
|
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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"}
|
package/dist/sdk.es35.js.map
CHANGED
|
@@ -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,
|
|
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;"}
|