@bigbinary/neeto-molecules 5.2.0 → 5.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/{Columns-BFBWAHqh.js → Columns-CLfAUkgh.js} +4 -4
  2. package/dist/Columns-CLfAUkgh.js.map +1 -0
  3. package/dist/{ConfigureView-CohhUNxy.js → ConfigureView-DfBAWbOJ.js} +4 -2
  4. package/dist/ConfigureView-DfBAWbOJ.js.map +1 -0
  5. package/dist/cjs/{Columns-CHOsnC9n.js → Columns-CKgVNYub.js} +4 -4
  6. package/dist/cjs/Columns-CKgVNYub.js.map +1 -0
  7. package/dist/cjs/{ConfigureView-CCjMYBjp.js → ConfigureView-BeNSaMvm.js} +4 -2
  8. package/dist/cjs/ConfigureView-BeNSaMvm.js.map +1 -0
  9. package/dist/cjs/{phone-number-DMH57syY.js → phone-number-YL_ULNtx.js} +2 -2
  10. package/dist/cjs/{phone-number-DMH57syY.js.map → phone-number-YL_ULNtx.js.map} +1 -1
  11. package/dist/cjs/v2/ButtonGroup.js +2 -2
  12. package/dist/cjs/v2/ButtonGroup.js.map +1 -1
  13. package/dist/cjs/v2/CalendarView.js +1 -1
  14. package/dist/cjs/v2/Codeblock.js +2 -2
  15. package/dist/cjs/v2/Codeblock.js.map +1 -1
  16. package/dist/cjs/v2/Columns.js +1 -1
  17. package/dist/cjs/v2/ConfigurePageSidebar.js +1 -1
  18. package/dist/cjs/v2/DndTable.js +121 -47
  19. package/dist/cjs/v2/DndTable.js.map +1 -1
  20. package/dist/cjs/v2/EmailPreview.js +1 -1
  21. package/dist/cjs/v2/EmailPreview.js.map +1 -1
  22. package/dist/cjs/v2/ErrorPage.js +2 -2
  23. package/dist/cjs/v2/ErrorPage.js.map +1 -1
  24. package/dist/cjs/v2/FloatingActionMenu.js +1 -1
  25. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  26. package/dist/cjs/v2/NeetoWidget.js +1 -1
  27. package/dist/cjs/v2/NeetoWidget.js.map +1 -1
  28. package/dist/cjs/v2/OptionFields.js +2 -2
  29. package/dist/cjs/v2/OptionFields.js.map +1 -1
  30. package/dist/cjs/v2/PhoneNumber.js +1 -1
  31. package/dist/cjs/v2/ProductEmbed.js +54 -28
  32. package/dist/cjs/v2/ProductEmbed.js.map +1 -1
  33. package/dist/cjs/v2/SessionEnvironment.js +1 -1
  34. package/dist/cjs/v2/ShareViaEmail.js +1 -1
  35. package/dist/cjs/v2/ShareViaEmail.js.map +1 -1
  36. package/dist/cjs/v2/ShareViaLink.js +30 -25
  37. package/dist/cjs/v2/ShareViaLink.js.map +1 -1
  38. package/dist/cjs/v2/Sidebar.js +1 -1
  39. package/dist/cjs/v2/SubHeader.js +1 -1
  40. package/dist/cjs/v2/Taxonomy.js +1 -1
  41. package/dist/{phone-number-D9soCpCv.js → phone-number-ChAzsdbN.js} +2 -2
  42. package/dist/{phone-number-D9soCpCv.js.map → phone-number-ChAzsdbN.js.map} +1 -1
  43. package/dist/v2/ButtonGroup.js +2 -2
  44. package/dist/v2/ButtonGroup.js.map +1 -1
  45. package/dist/v2/CalendarView.js +1 -1
  46. package/dist/v2/Codeblock.js +2 -2
  47. package/dist/v2/Codeblock.js.map +1 -1
  48. package/dist/v2/Columns.js +1 -1
  49. package/dist/v2/ConfigurePageSidebar.js +1 -1
  50. package/dist/v2/DndTable.js +122 -48
  51. package/dist/v2/DndTable.js.map +1 -1
  52. package/dist/v2/EmailPreview.js +1 -1
  53. package/dist/v2/EmailPreview.js.map +1 -1
  54. package/dist/v2/ErrorPage.js +2 -2
  55. package/dist/v2/ErrorPage.js.map +1 -1
  56. package/dist/v2/FloatingActionMenu.js +1 -1
  57. package/dist/v2/FloatingActionMenu.js.map +1 -1
  58. package/dist/v2/NeetoWidget.js +1 -1
  59. package/dist/v2/NeetoWidget.js.map +1 -1
  60. package/dist/v2/OptionFields.js +2 -2
  61. package/dist/v2/OptionFields.js.map +1 -1
  62. package/dist/v2/PhoneNumber.js +2 -2
  63. package/dist/v2/ProductEmbed.js +55 -29
  64. package/dist/v2/ProductEmbed.js.map +1 -1
  65. package/dist/v2/SessionEnvironment.js +1 -1
  66. package/dist/v2/ShareViaEmail.js +1 -1
  67. package/dist/v2/ShareViaEmail.js.map +1 -1
  68. package/dist/v2/ShareViaLink.js +30 -25
  69. package/dist/v2/ShareViaLink.js.map +1 -1
  70. package/dist/v2/Sidebar.js +1 -1
  71. package/dist/v2/SubHeader.js +1 -1
  72. package/dist/v2/Taxonomy.js +1 -1
  73. package/package.json +3 -3
  74. package/src/translations/en.json +4 -0
  75. package/dist/Columns-BFBWAHqh.js.map +0 -1
  76. package/dist/ConfigureView-CohhUNxy.js.map +0 -1
  77. package/dist/cjs/Columns-CHOsnC9n.js.map +0 -1
  78. package/dist/cjs/ConfigureView-CCjMYBjp.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"phone-number-D9soCpCv.js","sources":["../src/v2/components/PhoneNumber/constants.js","../src/v2/components/PhoneNumber/CountryPicker/constants.js","../src/v2/components/PhoneNumber/CountryPicker/index.jsx","../src/v2/components/PhoneNumber/apis/neeto_ip_lookup.js","../src/v2/components/PhoneNumber/utils.js","../src/v2/components/PhoneNumber/PhoneNumberInput.jsx"],"sourcesContent":["export const IP_LOOKUP_ACCESS_TOKEN = \"083c694c79f119c7f227e737de9a5c8c\";\nexport const IP_LOOKUP_STORAGE_KEY = \"IP_LOOKUP_DETAILS_STORAGE\";\nexport const MAX_CACHE_AGE = 60 * 60 * 1000;\n","import { countries } from \"countries-list\";\nimport { getCountries } from \"libphonenumber-js/min\";\n\nexport const COUNTRY_PICKER_OPTIONS = getCountries()\n .filter(code => countries[code])\n .map(code => ({ label: countries[code].name, value: code }))\n .sort((a, b) => a.label.localeCompare(b.label));\n","import { memo, useState } from \"react\";\n\nimport {\n Button,\n Command,\n CommandEmpty,\n CommandInput,\n CommandItem,\n CommandList,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { countries } from \"countries-list\";\nimport i18next from \"i18next\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { COUNTRY_PICKER_OPTIONS } from \"./constants\";\n\nconst CountryPicker = ({ countryCode, onChange, disabled }) => {\n const [open, setOpen] = useState(false);\n\n const handleSelect = nextValue => {\n onChange(nextValue);\n setOpen(false);\n };\n\n return (\n <Popover {...{ open }} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n {...{ disabled }}\n className=\"neeto-molecules-phone-number-input__country-picker hover:bg-muted h-full shrink-0 gap-1 rounded-r-none border-0 bg-transparent px-2 shadow-none\"\n data-testid=\"phonenumber-country-picker\"\n size=\"sm\"\n variant=\"ghost\"\n aria-label={i18next.t(\n \"neetoMolecules.phoneNumberInput.countryCodeAriaLabel\"\n )}\n >\n <span className=\"neeto-molecules-phone-number-input__flag text-xl leading-none\">\n {countries[countryCode]?.emoji}\n </span>\n <ChevronDownIcon\n aria-hidden\n className=\"text-muted-foreground size-3\"\n />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-64 p-0\"\n sideOffset={4}\n onClick={event => event.stopPropagation()}\n >\n <Command>\n <CommandInput\n data-testid=\"phonenumber-country-picker-search\"\n placeholder={i18next.t(\n \"neetoMolecules.phoneNumberInput.searchCountry\"\n )}\n />\n <CommandList className=\"mt-1\">\n <CommandEmpty>\n {i18next.t(\"neetoMolecules.phoneNumberInput.noCountryFound\")}\n </CommandEmpty>\n {COUNTRY_PICKER_OPTIONS.map(({ label, value }) => (\n <CommandItem\n key={value}\n value={`${label} ${value}`}\n onSelect={() => handleSelect(value)}\n >\n <span className=\"neeto-molecules-phone-number-input__flag text-xl leading-none\">\n {countries[value]?.emoji}\n </span>\n <span>{label}</span>\n </CommandItem>\n ))}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n};\n\nexport default memo(CountryPicker);\n","import axios from \"axios\";\n\nimport { IP_LOOKUP_ACCESS_TOKEN } from \"../constants\";\n\nconst fetchLocationDetails = () =>\n axios.get(\n \"https://neeto-ip-lookup-web-production.neetodeployapp.com/location\",\n { headers: { \"X-ACCESS-TOKEN\": IP_LOOKUP_ACCESS_TOKEN } }\n );\n\nconst neetoIpLookupApi = { fetchLocationDetails };\nexport default neetoIpLookupApi;\n","import i18next from \"i18next\";\nimport {\n formatIncompletePhoneNumber,\n isValidPhoneNumber,\n parsePhoneNumber,\n} from \"libphonenumber-js/min\";\nimport { getFromLocalStorage, setToLocalStorage } from \"neetocommons/v2/utils\";\nimport * as yup from \"yup\";\n\nimport neetoIpLookupApi from \"./apis/neeto_ip_lookup\";\nimport { IP_LOOKUP_STORAGE_KEY, MAX_CACHE_AGE } from \"./constants\";\n\nexport const isPhoneNumberValid = (value = \"\", ...rest) =>\n isValidPhoneNumber(value, ...rest);\n\nexport const validation = (\n message = i18next.t(\"neetoMolecules.phoneNumberInput.validations.invalid\")\n) =>\n yup\n .string()\n .test(\"phoneNumber\", message, phoneNumber =>\n phoneNumber ? isValidPhoneNumber(phoneNumber) : true\n );\n\nexport const getPhoneData = (value, defaultCountryCode) => {\n try {\n const parsedValue = parsePhoneNumber(value, defaultCountryCode);\n\n return {\n phoneNumber: parsedValue.number,\n international: parsedValue.formatInternational(),\n countryCode: parsedValue.country || defaultCountryCode,\n };\n } catch {\n return {\n phoneNumber: value,\n international: formatIncompletePhoneNumber(value, defaultCountryCode),\n countryCode: defaultCountryCode,\n };\n }\n};\n\nexport const fetchLocationDetails = async () => {\n const stored = getFromLocalStorage(IP_LOOKUP_STORAGE_KEY);\n const { data, timestamp } = stored || {};\n const isCacheValid = timestamp && Date.now() - timestamp < MAX_CACHE_AGE;\n\n if (isCacheValid) return data;\n\n try {\n const details = await neetoIpLookupApi.fetchLocationDetails();\n const timestamp = Date.now();\n setToLocalStorage(IP_LOOKUP_STORAGE_KEY, { data: details, timestamp });\n\n return details;\n } catch {\n return data || null;\n }\n};\n\nexport const isNumeric = char => char >= \"0\" && char <= \"9\";\n\nexport const preserveCursor = callback => event => {\n const start = event.target.selectionStart;\n const end = event.target.selectionEnd;\n const len = event.target.value.length;\n const result = callback(event);\n const delta = event.target.value.length - len;\n event.target.setSelectionRange(start + delta, end + delta);\n\n return result;\n};\n","import { forwardRef, useState } from \"react\";\n\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupInput,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport classnames from \"classnames\";\nimport {\n formatIncompletePhoneNumber,\n getCountryCallingCode,\n} from \"libphonenumber-js/min\";\nimport { noop, findBy } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport { IP_LOOKUP_STORAGE_KEY } from \"./constants\";\nimport CountryPicker from \"./CountryPicker\";\nimport { COUNTRY_PICKER_OPTIONS } from \"./CountryPicker/constants\";\nimport {\n getPhoneData,\n isNumeric,\n preserveCursor,\n fetchLocationDetails,\n} from \"./utils\";\n\nconst PhoneNumberInput = forwardRef(\n (\n {\n value = \"\",\n onChange = noop,\n className,\n error,\n selectProps,\n initialCountryCode,\n ...inputProps\n },\n ref\n ) => {\n const safeValue = value ?? \"\";\n\n const [countryCode, setCountryCode] = useState(\n () => getPhoneData(safeValue).countryCode || initialCountryCode\n );\n\n const { data: ipCountry } = useQuery({\n queryKey: [IP_LOOKUP_STORAGE_KEY],\n queryFn: fetchLocationDetails,\n enabled: !countryCode,\n staleTime: Infinity,\n gcTime: Infinity,\n select: data =>\n findBy({ value: data.countryCode }, COUNTRY_PICKER_OPTIONS),\n });\n\n const finalCountryCode = countryCode || ipCountry?.value || \"US\";\n const formattedValue = formatIncompletePhoneNumber(\n safeValue,\n finalCountryCode\n );\n\n const onKeyDown = preserveCursor(event => {\n if (event.key !== \"Backspace\") return;\n const left = event.target.value.substring(0, event.target.selectionStart);\n const right = event.target.value.substring(event.target.selectionEnd);\n let index = left.length - 1;\n while (index > 0 && !isNumeric(left[index])) index--;\n const newValue = left.substring(0, index + 1) + right;\n if (newValue) event.target.value = newValue;\n });\n\n const onInputChange = preserveCursor(event => {\n const phoneData = getPhoneData(event.target.value, finalCountryCode);\n event.target.value = formatIncompletePhoneNumber(event.target.value);\n setCountryCode(phoneData.countryCode);\n onChange(phoneData.phoneNumber);\n });\n\n const onChangeCountry = nextCountryCode => {\n const phoneData = getPhoneData(safeValue, finalCountryCode);\n const prevPrefix = `+${getCountryCallingCode(phoneData.countryCode)}`;\n const nextPrefix = `+${getCountryCallingCode(nextCountryCode)}`;\n setCountryCode(nextCountryCode);\n onChange(nextPrefix + safeValue.replace(prevPrefix, \"\"));\n };\n\n return (\n <div {...{ className }}>\n <InputGroup\n className={classnames(\n \"neeto-molecules-phone-number-input__group\",\n !!error && \"border-destructive ring-destructive/20 ring-3\"\n )}\n >\n <InputGroupAddon\n align=\"inline-start\"\n className=\"neeto-molecules-phone-number-input__addon p-0\"\n >\n <CountryPicker\n countryCode={finalCountryCode}\n onChange={onChangeCountry}\n {...selectProps}\n />\n </InputGroupAddon>\n <InputGroupInput\n {...{ onKeyDown, ref }}\n aria-invalid={!!error || undefined}\n autoComplete=\"tel\"\n data-testid=\"phonenumber-input\"\n inputMode=\"tel\"\n type=\"tel\"\n value={formattedValue}\n onChange={onInputChange}\n {...inputProps}\n />\n </InputGroup>\n {error && <p className=\"text-destructive mt-1 text-sm\">{error}</p>}\n </div>\n );\n }\n);\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\";\n\nPhoneNumberInput.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n className: PropTypes.string,\n error: PropTypes.string,\n selectProps: PropTypes.object,\n initialCountryCode: PropTypes.string,\n};\n\nexport default PhoneNumberInput;\n"],"names":["IP_LOOKUP_ACCESS_TOKEN","IP_LOOKUP_STORAGE_KEY","MAX_CACHE_AGE","COUNTRY_PICKER_OPTIONS","getCountries","filter","code","countries","map","label","name","value","sort","a","b","localeCompare","CountryPicker","_ref","_countries$countryCod","countryCode","onChange","disabled","_useState","useState","_useState2","_slicedToArray","open","setOpen","handleSelect","nextValue","_jsxs","Popover","onOpenChange","children","_jsx","PopoverTrigger","asChild","Button","className","size","variant","i18next","t","emoji","ChevronDownIcon","PopoverContent","align","sideOffset","onClick","event","stopPropagation","Command","CommandInput","placeholder","CommandList","CommandEmpty","_ref2","_countries$value","CommandItem","concat","onSelect","memo","fetchLocationDetails","axios","get","headers","neetoIpLookupApi","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","d","bind","length","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","isPhoneNumberValid","arguments","undefined","_len","rest","Array","_key","isValidPhoneNumber","apply","validation","message","yup","string","test","phoneNumber","getPhoneData","defaultCountryCode","parsedValue","parsePhoneNumber","number","international","formatInternational","country","_unused","formatIncompletePhoneNumber","_asyncToGenerator","_callee","stored","data","timestamp","isCacheValid","details","_timestamp","_context","getFromLocalStorage","Date","now","setToLocalStorage","isNumeric","char","preserveCursor","callback","start","target","selectionStart","end","selectionEnd","len","result","delta","setSelectionRange","PhoneNumberInput","forwardRef","ref","_ref$value","_ref$onChange","noop","error","selectProps","initialCountryCode","inputProps","_objectWithoutProperties","_excluded","safeValue","setCountryCode","_useQuery","useQuery","queryKey","queryFn","enabled","staleTime","Infinity","gcTime","select","findBy","ipCountry","finalCountryCode","formattedValue","onKeyDown","key","left","substring","right","index","newValue","onInputChange","phoneData","onChangeCountry","nextCountryCode","prevPrefix","getCountryCallingCode","nextPrefix","replace","InputGroup","classnames","InputGroupAddon","_objectSpread","InputGroupInput","autoComplete","inputMode","type"],"mappings":"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"}
1
+ {"version":3,"file":"phone-number-ChAzsdbN.js","sources":["../src/v2/components/PhoneNumber/constants.js","../src/v2/components/PhoneNumber/CountryPicker/constants.js","../src/v2/components/PhoneNumber/CountryPicker/index.jsx","../src/v2/components/PhoneNumber/apis/neeto_ip_lookup.js","../src/v2/components/PhoneNumber/utils.js","../src/v2/components/PhoneNumber/PhoneNumberInput.jsx"],"sourcesContent":["export const IP_LOOKUP_ACCESS_TOKEN = \"083c694c79f119c7f227e737de9a5c8c\";\nexport const IP_LOOKUP_STORAGE_KEY = \"IP_LOOKUP_DETAILS_STORAGE\";\nexport const MAX_CACHE_AGE = 60 * 60 * 1000;\n","import { countries } from \"countries-list\";\nimport { getCountries } from \"libphonenumber-js/min\";\n\nexport const COUNTRY_PICKER_OPTIONS = getCountries()\n .filter(code => countries[code])\n .map(code => ({ label: countries[code].name, value: code }))\n .sort((a, b) => a.label.localeCompare(b.label));\n","import { memo, useState } from \"react\";\n\nimport {\n Button,\n Command,\n CommandEmpty,\n CommandInput,\n CommandItem,\n CommandList,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { countries } from \"countries-list\";\nimport i18next from \"i18next\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { COUNTRY_PICKER_OPTIONS } from \"./constants\";\n\nconst CountryPicker = ({ countryCode, onChange, disabled }) => {\n const [open, setOpen] = useState(false);\n\n const handleSelect = nextValue => {\n onChange(nextValue);\n setOpen(false);\n };\n\n return (\n <Popover {...{ open }} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n {...{ disabled }}\n className=\"neeto-molecules-phone-number-input__country-picker hover:bg-muted h-full shrink-0 gap-1 rounded-e-none border-0 bg-transparent px-2 shadow-none\"\n data-testid=\"phonenumber-country-picker\"\n size=\"sm\"\n variant=\"ghost\"\n aria-label={i18next.t(\n \"neetoMolecules.phoneNumberInput.countryCodeAriaLabel\"\n )}\n >\n <span className=\"neeto-molecules-phone-number-input__flag text-xl leading-none\">\n {countries[countryCode]?.emoji}\n </span>\n <ChevronDownIcon\n aria-hidden\n className=\"text-muted-foreground size-3\"\n />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-64 p-0\"\n sideOffset={4}\n onClick={event => event.stopPropagation()}\n >\n <Command>\n <CommandInput\n data-testid=\"phonenumber-country-picker-search\"\n placeholder={i18next.t(\n \"neetoMolecules.phoneNumberInput.searchCountry\"\n )}\n />\n <CommandList className=\"mt-1\">\n <CommandEmpty>\n {i18next.t(\"neetoMolecules.phoneNumberInput.noCountryFound\")}\n </CommandEmpty>\n {COUNTRY_PICKER_OPTIONS.map(({ label, value }) => (\n <CommandItem\n key={value}\n value={`${label} ${value}`}\n onSelect={() => handleSelect(value)}\n >\n <span className=\"neeto-molecules-phone-number-input__flag text-xl leading-none\">\n {countries[value]?.emoji}\n </span>\n <span>{label}</span>\n </CommandItem>\n ))}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n};\n\nexport default memo(CountryPicker);\n","import axios from \"axios\";\n\nimport { IP_LOOKUP_ACCESS_TOKEN } from \"../constants\";\n\nconst fetchLocationDetails = () =>\n axios.get(\n \"https://neeto-ip-lookup-web-production.neetodeployapp.com/location\",\n { headers: { \"X-ACCESS-TOKEN\": IP_LOOKUP_ACCESS_TOKEN } }\n );\n\nconst neetoIpLookupApi = { fetchLocationDetails };\nexport default neetoIpLookupApi;\n","import i18next from \"i18next\";\nimport {\n formatIncompletePhoneNumber,\n isValidPhoneNumber,\n parsePhoneNumber,\n} from \"libphonenumber-js/min\";\nimport { getFromLocalStorage, setToLocalStorage } from \"neetocommons/v2/utils\";\nimport * as yup from \"yup\";\n\nimport neetoIpLookupApi from \"./apis/neeto_ip_lookup\";\nimport { IP_LOOKUP_STORAGE_KEY, MAX_CACHE_AGE } from \"./constants\";\n\nexport const isPhoneNumberValid = (value = \"\", ...rest) =>\n isValidPhoneNumber(value, ...rest);\n\nexport const validation = (\n message = i18next.t(\"neetoMolecules.phoneNumberInput.validations.invalid\")\n) =>\n yup\n .string()\n .test(\"phoneNumber\", message, phoneNumber =>\n phoneNumber ? isValidPhoneNumber(phoneNumber) : true\n );\n\nexport const getPhoneData = (value, defaultCountryCode) => {\n try {\n const parsedValue = parsePhoneNumber(value, defaultCountryCode);\n\n return {\n phoneNumber: parsedValue.number,\n international: parsedValue.formatInternational(),\n countryCode: parsedValue.country || defaultCountryCode,\n };\n } catch {\n return {\n phoneNumber: value,\n international: formatIncompletePhoneNumber(value, defaultCountryCode),\n countryCode: defaultCountryCode,\n };\n }\n};\n\nexport const fetchLocationDetails = async () => {\n const stored = getFromLocalStorage(IP_LOOKUP_STORAGE_KEY);\n const { data, timestamp } = stored || {};\n const isCacheValid = timestamp && Date.now() - timestamp < MAX_CACHE_AGE;\n\n if (isCacheValid) return data;\n\n try {\n const details = await neetoIpLookupApi.fetchLocationDetails();\n const timestamp = Date.now();\n setToLocalStorage(IP_LOOKUP_STORAGE_KEY, { data: details, timestamp });\n\n return details;\n } catch {\n return data || null;\n }\n};\n\nexport const isNumeric = char => char >= \"0\" && char <= \"9\";\n\nexport const preserveCursor = callback => event => {\n const start = event.target.selectionStart;\n const end = event.target.selectionEnd;\n const len = event.target.value.length;\n const result = callback(event);\n const delta = event.target.value.length - len;\n event.target.setSelectionRange(start + delta, end + delta);\n\n return result;\n};\n","import { forwardRef, useState } from \"react\";\n\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupInput,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport classnames from \"classnames\";\nimport {\n formatIncompletePhoneNumber,\n getCountryCallingCode,\n} from \"libphonenumber-js/min\";\nimport { noop, findBy } from \"neetocist\";\nimport PropTypes from \"prop-types\";\n\nimport { IP_LOOKUP_STORAGE_KEY } from \"./constants\";\nimport CountryPicker from \"./CountryPicker\";\nimport { COUNTRY_PICKER_OPTIONS } from \"./CountryPicker/constants\";\nimport {\n getPhoneData,\n isNumeric,\n preserveCursor,\n fetchLocationDetails,\n} from \"./utils\";\n\nconst PhoneNumberInput = forwardRef(\n (\n {\n value = \"\",\n onChange = noop,\n className,\n error,\n selectProps,\n initialCountryCode,\n ...inputProps\n },\n ref\n ) => {\n const safeValue = value ?? \"\";\n\n const [countryCode, setCountryCode] = useState(\n () => getPhoneData(safeValue).countryCode || initialCountryCode\n );\n\n const { data: ipCountry } = useQuery({\n queryKey: [IP_LOOKUP_STORAGE_KEY],\n queryFn: fetchLocationDetails,\n enabled: !countryCode,\n staleTime: Infinity,\n gcTime: Infinity,\n select: data =>\n findBy({ value: data.countryCode }, COUNTRY_PICKER_OPTIONS),\n });\n\n const finalCountryCode = countryCode || ipCountry?.value || \"US\";\n const formattedValue = formatIncompletePhoneNumber(\n safeValue,\n finalCountryCode\n );\n\n const onKeyDown = preserveCursor(event => {\n if (event.key !== \"Backspace\") return;\n const left = event.target.value.substring(0, event.target.selectionStart);\n const right = event.target.value.substring(event.target.selectionEnd);\n let index = left.length - 1;\n while (index > 0 && !isNumeric(left[index])) index--;\n const newValue = left.substring(0, index + 1) + right;\n if (newValue) event.target.value = newValue;\n });\n\n const onInputChange = preserveCursor(event => {\n const phoneData = getPhoneData(event.target.value, finalCountryCode);\n event.target.value = formatIncompletePhoneNumber(event.target.value);\n setCountryCode(phoneData.countryCode);\n onChange(phoneData.phoneNumber);\n });\n\n const onChangeCountry = nextCountryCode => {\n const phoneData = getPhoneData(safeValue, finalCountryCode);\n const prevPrefix = `+${getCountryCallingCode(phoneData.countryCode)}`;\n const nextPrefix = `+${getCountryCallingCode(nextCountryCode)}`;\n setCountryCode(nextCountryCode);\n onChange(nextPrefix + safeValue.replace(prevPrefix, \"\"));\n };\n\n return (\n <div {...{ className }}>\n <InputGroup\n className={classnames(\n \"neeto-molecules-phone-number-input__group\",\n !!error && \"border-destructive ring-destructive/20 ring-3\"\n )}\n >\n <InputGroupAddon\n align=\"inline-start\"\n className=\"neeto-molecules-phone-number-input__addon p-0\"\n >\n <CountryPicker\n countryCode={finalCountryCode}\n onChange={onChangeCountry}\n {...selectProps}\n />\n </InputGroupAddon>\n <InputGroupInput\n {...{ onKeyDown, ref }}\n aria-invalid={!!error || undefined}\n autoComplete=\"tel\"\n data-testid=\"phonenumber-input\"\n inputMode=\"tel\"\n type=\"tel\"\n value={formattedValue}\n onChange={onInputChange}\n {...inputProps}\n />\n </InputGroup>\n {error && <p className=\"text-destructive mt-1 text-sm\">{error}</p>}\n </div>\n );\n }\n);\n\nPhoneNumberInput.displayName = \"PhoneNumberInput\";\n\nPhoneNumberInput.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n className: PropTypes.string,\n error: PropTypes.string,\n selectProps: PropTypes.object,\n initialCountryCode: PropTypes.string,\n};\n\nexport default PhoneNumberInput;\n"],"names":["IP_LOOKUP_ACCESS_TOKEN","IP_LOOKUP_STORAGE_KEY","MAX_CACHE_AGE","COUNTRY_PICKER_OPTIONS","getCountries","filter","code","countries","map","label","name","value","sort","a","b","localeCompare","CountryPicker","_ref","_countries$countryCod","countryCode","onChange","disabled","_useState","useState","_useState2","_slicedToArray","open","setOpen","handleSelect","nextValue","_jsxs","Popover","onOpenChange","children","_jsx","PopoverTrigger","asChild","Button","className","size","variant","i18next","t","emoji","ChevronDownIcon","PopoverContent","align","sideOffset","onClick","event","stopPropagation","Command","CommandInput","placeholder","CommandList","CommandEmpty","_ref2","_countries$value","CommandItem","concat","onSelect","memo","fetchLocationDetails","axios","get","headers","neetoIpLookupApi","e","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","d","bind","length","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","isPhoneNumberValid","arguments","undefined","_len","rest","Array","_key","isValidPhoneNumber","apply","validation","message","yup","string","test","phoneNumber","getPhoneData","defaultCountryCode","parsedValue","parsePhoneNumber","number","international","formatInternational","country","_unused","formatIncompletePhoneNumber","_asyncToGenerator","_callee","stored","data","timestamp","isCacheValid","details","_timestamp","_context","getFromLocalStorage","Date","now","setToLocalStorage","isNumeric","char","preserveCursor","callback","start","target","selectionStart","end","selectionEnd","len","result","delta","setSelectionRange","PhoneNumberInput","forwardRef","ref","_ref$value","_ref$onChange","noop","error","selectProps","initialCountryCode","inputProps","_objectWithoutProperties","_excluded","safeValue","setCountryCode","_useQuery","useQuery","queryKey","queryFn","enabled","staleTime","Infinity","gcTime","select","findBy","ipCountry","finalCountryCode","formattedValue","onKeyDown","key","left","substring","right","index","newValue","onInputChange","phoneData","onChangeCountry","nextCountryCode","prevPrefix","getCountryCallingCode","nextPrefix","replace","InputGroup","classnames","InputGroupAddon","_objectSpread","InputGroupInput","autoComplete","inputMode","type"],"mappings":"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"}
@@ -23,9 +23,9 @@ var ButtonGroup = function ButtonGroup(_ref) {
23
23
  return /*#__PURE__*/createElement(Button, _objectSpread({
24
24
  size: size,
25
25
  key: key,
26
- variant: "ghost",
26
+ variant: "outline",
27
27
  className: classnames({
28
- "text-primary bg-primary/10 hover:bg-primary/10 hover:text-primary": isActive
28
+ "bg-muted text-foreground hover:bg-muted hover:text-foreground": isActive
29
29
  }, className)
30
30
  }, buttonProps));
31
31
  })
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonGroup.js","sources":["../../src/v2/components/ButtonGroup/index.jsx"],"sourcesContent":["import { Button } from \"@bigbinary/neeto-atoms\";\nimport { ButtonGroup as ButtonGroupWrapper } from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst ButtonGroup = ({ buttons = [], size = \"default\" }) => (\n <ButtonGroupWrapper>\n {buttons.map(({ key, isActive, className, ...buttonProps }) => (\n <Button\n {...{ size }}\n key={key}\n variant=\"ghost\"\n className={classnames(\n {\n \"text-primary bg-primary/10 hover:bg-primary/10 hover:text-primary\":\n isActive,\n },\n className\n )}\n {...buttonProps}\n />\n ))}\n </ButtonGroupWrapper>\n);\n\nButtonGroup.propTypes = {\n buttons: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n })\n ),\n size: PropTypes.oneOf([\"xs\", \"sm\", \"default\", \"lg\"]),\n};\n\nexport default ButtonGroup;\n"],"names":["ButtonGroup","_ref","_ref$buttons","buttons","_ref$size","size","_jsx","ButtonGroupWrapper","children","map","_ref2","key","isActive","className","buttonProps","_objectWithoutProperties","_excluded","_createElement","Button","_objectSpread","variant","classnames"],"mappings":";;;;;;;;;;;AAKA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,YAAA,GAAAD,IAAA,CAAME,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,SAAA,GAAAH,IAAA,CAAEI,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAG,SAAS,GAAAA,SAAA;EAAA,oBACnDE,GAAA,CAACC,aAAkB,EAAA;AAAAC,IAAAA,QAAA,EAChBL,OAAO,CAACM,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,MAAA,IAAGC,GAAG,GAAAD,KAAA,CAAHC,GAAG;QAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;QAAEC,SAAS,GAAAH,KAAA,CAATG,SAAS;AAAKC,QAAAA,WAAW,GAAAC,wBAAA,CAAAL,KAAA,EAAAM,SAAA,CAAA;AAAA,MAAA,oBACtDC,aAAA,CAACC,MAAM,EAAAC,aAAA,CAAA;AACCd,QAAAA,IAAI,EAAJA,IAAI;AACVM,QAAAA,GAAG,EAAEA,GAAI;AACTS,QAAAA,OAAO,EAAC,OAAO;QACfP,SAAS,EAAEQ,UAAU,CACnB;AACE,UAAA,mEAAmE,EACjET;AACJ,SAAC,EACDC,SACF;OAAE,EACEC,WAAW,CAChB,CAAC;IAAA,CACH;AAAC,GACgB,CAAC;AAAA;;;;"}
1
+ {"version":3,"file":"ButtonGroup.js","sources":["../../src/v2/components/ButtonGroup/index.jsx"],"sourcesContent":["import { Button } from \"@bigbinary/neeto-atoms\";\nimport { ButtonGroup as ButtonGroupWrapper } from \"@bigbinary/neeto-atoms/primitives\";\nimport classnames from \"classnames\";\nimport PropTypes from \"prop-types\";\n\nconst ButtonGroup = ({ buttons = [], size = \"default\" }) => (\n <ButtonGroupWrapper>\n {buttons.map(({ key, isActive, className, ...buttonProps }) => (\n <Button\n {...{ size }}\n key={key}\n variant=\"outline\"\n className={classnames(\n {\n \"bg-muted text-foreground hover:bg-muted hover:text-foreground\":\n isActive,\n },\n className\n )}\n {...buttonProps}\n />\n ))}\n </ButtonGroupWrapper>\n);\n\nButtonGroup.propTypes = {\n buttons: PropTypes.arrayOf(\n PropTypes.shape({\n key: PropTypes.string.isRequired,\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n isActive: PropTypes.bool,\n onClick: PropTypes.func,\n tooltipProps: PropTypes.shape({\n content: PropTypes.node,\n position: PropTypes.string,\n disabled: PropTypes.bool,\n }),\n })\n ),\n size: PropTypes.oneOf([\"xs\", \"sm\", \"default\", \"lg\"]),\n};\n\nexport default ButtonGroup;\n"],"names":["ButtonGroup","_ref","_ref$buttons","buttons","_ref$size","size","_jsx","ButtonGroupWrapper","children","map","_ref2","key","isActive","className","buttonProps","_objectWithoutProperties","_excluded","_createElement","Button","_objectSpread","variant","classnames"],"mappings":";;;;;;;;;;;AAKA,IAAMA,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,YAAA,GAAAD,IAAA,CAAME,OAAO;AAAPA,IAAAA,OAAO,GAAAD,YAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,YAAA;IAAAE,SAAA,GAAAH,IAAA,CAAEI,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAA,MAAA,GAAG,SAAS,GAAAA,SAAA;EAAA,oBACnDE,GAAA,CAACC,aAAkB,EAAA;AAAAC,IAAAA,QAAA,EAChBL,OAAO,CAACM,GAAG,CAAC,UAAAC,KAAA,EAAA;AAAA,MAAA,IAAGC,GAAG,GAAAD,KAAA,CAAHC,GAAG;QAAEC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;QAAEC,SAAS,GAAAH,KAAA,CAATG,SAAS;AAAKC,QAAAA,WAAW,GAAAC,wBAAA,CAAAL,KAAA,EAAAM,SAAA,CAAA;AAAA,MAAA,oBACtDC,aAAA,CAACC,MAAM,EAAAC,aAAA,CAAA;AACCd,QAAAA,IAAI,EAAJA,IAAI;AACVM,QAAAA,GAAG,EAAEA,GAAI;AACTS,QAAAA,OAAO,EAAC,SAAS;QACjBP,SAAS,EAAEQ,UAAU,CACnB;AACE,UAAA,+DAA+D,EAC7DT;AACJ,SAAC,EACDC,SACF;OAAE,EACEC,WAAW,CAChB,CAAC;IAAA,CACH;AAAC,GACgB,CAAC;AAAA;;;;"}
@@ -21,7 +21,7 @@ import { C as ChevronRight } from '../chevron-right-DcaO-Hlu.js';
21
21
  import SubHeader from './SubHeader.js';
22
22
  import '../createLucideIcon-mNMhCCpf.js';
23
23
  import '@bigbinary/neeto-atoms/primitives';
24
- import '../Columns-BFBWAHqh.js';
24
+ import '../Columns-CLfAUkgh.js';
25
25
  import '@babel/runtime/helpers/toConsumableArray';
26
26
  import '@dnd-kit/core';
27
27
  import '@dnd-kit/modifiers';
@@ -37,7 +37,7 @@ var Codeblock = function Codeblock(_ref) {
37
37
  className: "relative",
38
38
  children: [/*#__PURE__*/jsx(CodeBlock, _objectSpread(_objectSpread({
39
39
  wrapLines: true,
40
- className: "neeto-molecules-code-block p-4 pr-12 md:pr-4",
40
+ className: "neeto-molecules-code-block p-4 pe-12 md:pe-4",
41
41
  codeTagProps: {
42
42
  "data-testid": "code-block-content"
43
43
  },
@@ -47,7 +47,7 @@ var Codeblock = function Codeblock(_ref) {
47
47
  }, codeblockProps), {}, {
48
48
  children: code
49
49
  })), showCopyButton && /*#__PURE__*/jsx(CopyToClipboardButton, _objectSpread(_objectSpread({
50
- className: "absolute top-2 right-2",
50
+ className: "absolute end-2 top-2",
51
51
  size: "sm",
52
52
  value: code,
53
53
  variant: "secondary"
@@ -1 +1 @@
1
- {"version":3,"file":"Codeblock.js","sources":["../../src/v2/components/Codeblock.jsx"],"sourcesContent":["import useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport javascript from \"react-syntax-highlighter/dist/esm/languages/prism/javascript\";\nimport CodeBlock from \"react-syntax-highlighter/dist/esm/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyToClipboardButton from \"./CopyToClipboardButton\";\n\n// `prism-light` ships no languages by default; register the one we render so\n// the code is actually syntax-highlighted (otherwise it renders as plain text).\nCodeBlock.registerLanguage(\"javascript\", javascript);\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = {},\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const { label: copyLabel = \"Copy\", ...restCopyButtonProps } = copyButtonProps;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pr-12 md:pr-4\"\n codeTagProps={{ \"data-testid\": \"code-block-content\" }}\n data-testid=\"code-block\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"absolute top-2 right-2\"\n size=\"sm\"\n value={code}\n variant=\"secondary\"\n {...restCopyButtonProps}\n label={isLargerScreen ? copyLabel : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["CodeBlock","registerLanguage","javascript","Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_copyButtonProps$labe","label","copyLabel","restCopyButtonProps","_objectWithoutProperties","_excluded","_jsxs","className","children","_jsx","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyToClipboardButton","size","value","variant"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAUAA,SAAS,CAACC,gBAAgB,CAAC,YAAY,EAAEC,UAAU,CAAC;AAEpD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,mBAAA,GAAAF,IAAA,CACJG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;IACrBE,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAAC,oBAAA,GAAAL,IAAA,CACdM,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;AAEpB,EAAA,IAAAE,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AACd,EAAA,IAAMC,cAAc,GAAG,CAACD,MAAM,CAAC,QAAQ,CAAC;AAExC,EAAA,IAAAE,qBAAA,GAA8DL,eAAe,CAArEM,KAAK;AAAEC,IAAAA,SAAS,GAAAF,qBAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,qBAAA;AAAKG,IAAAA,mBAAmB,GAAAC,wBAAA,CAAKT,eAAe,EAAAU,SAAA,CAAA;AAE7E,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAAC,IAAAA,QAAA,gBACvBC,GAAA,CAACxB,SAAS,EAAAyB,aAAA,CAAAA,aAAA,CAAA;MACRC,SAAS,EAAA,IAAA;AACTJ,MAAAA,SAAS,EAAC,8CAA8C;AACxDK,MAAAA,YAAY,EAAE;AAAE,QAAA,aAAa,EAAE;OAAuB;AACtD,MAAA,aAAA,EAAY,YAAY;AACxBC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,KAAK,EAAEC;AAAQ,KAAA,EACXtB,cAAc,CAAA,EAAA,EAAA,EAAA;AAAAe,MAAAA,QAAA,EAEjBlB;KAAI,CACI,CAAC,EACXE,cAAc,iBACbiB,GAAA,CAACO,qBAAqB,EAAAN,aAAA,CAAAA,aAAA,CAAA;AACpBH,MAAAA,SAAS,EAAC,wBAAwB;AAClCU,MAAAA,IAAI,EAAC,IAAI;AACTC,MAAAA,KAAK,EAAE5B,IAAK;AACZ6B,MAAAA,OAAO,EAAC;AAAW,KAAA,EACfhB,mBAAmB,CAAA,EAAA,EAAA,EAAA;AACvBF,MAAAA,KAAK,EAAEF,cAAc,GAAGG,SAAS,GAAG;AAAG,KAAA,CACxC,CACF;AAAA,GACE,CAAC;AAEV;;;;"}
1
+ {"version":3,"file":"Codeblock.js","sources":["../../src/v2/components/Codeblock.jsx"],"sourcesContent":["import useBreakpoints from \"neetocommons/v2/react-utils/useBreakpoints\";\nimport PropTypes from \"prop-types\";\nimport javascript from \"react-syntax-highlighter/dist/esm/languages/prism/javascript\";\nimport CodeBlock from \"react-syntax-highlighter/dist/esm/prism-light.js\";\nimport { dracula } from \"react-syntax-highlighter/dist/esm/styles/prism\";\n\nimport CopyToClipboardButton from \"./CopyToClipboardButton\";\n\n// `prism-light` ships no languages by default; register the one we render so\n// the code is actually syntax-highlighted (otherwise it renders as plain text).\nCodeBlock.registerLanguage(\"javascript\", javascript);\n\nconst Codeblock = ({\n code,\n showCopyButton = true,\n codeblockProps,\n copyButtonProps = {},\n}) => {\n const { isSize } = useBreakpoints();\n const isLargerScreen = !isSize(\"mobile\");\n\n const { label: copyLabel = \"Copy\", ...restCopyButtonProps } = copyButtonProps;\n\n return (\n <div className=\"relative\">\n <CodeBlock\n wrapLines\n className=\"neeto-molecules-code-block p-4 pe-12 md:pe-4\"\n codeTagProps={{ \"data-testid\": \"code-block-content\" }}\n data-testid=\"code-block\"\n language=\"javascript\"\n style={dracula}\n {...codeblockProps}\n >\n {code}\n </CodeBlock>\n {showCopyButton && (\n <CopyToClipboardButton\n className=\"absolute end-2 top-2\"\n size=\"sm\"\n value={code}\n variant=\"secondary\"\n {...restCopyButtonProps}\n label={isLargerScreen ? copyLabel : \"\"}\n />\n )}\n </div>\n );\n};\n\nCodeblock.propTypes = {\n /**\n * The code to be displayed.\n */\n code: PropTypes.string,\n /**\n * Flag to determine whether the 'Copy' button is displayed.\n */\n showCopyButton: PropTypes.bool,\n /**\n * Additional props that can be passed on to the 'PrismLight' component from 'react-syntax-highlighter'.\n */\n codeblockProps: PropTypes.object,\n /**\n * Additional props that can be passed on to the 'CopyToClipboardButton' component from 'neeto-molecules'.\n */\n copyButtonProps: PropTypes.object,\n};\n\nexport default Codeblock;\n"],"names":["CodeBlock","registerLanguage","javascript","Codeblock","_ref","code","_ref$showCopyButton","showCopyButton","codeblockProps","_ref$copyButtonProps","copyButtonProps","_useBreakpoints","useBreakpoints","isSize","isLargerScreen","_copyButtonProps$labe","label","copyLabel","restCopyButtonProps","_objectWithoutProperties","_excluded","_jsxs","className","children","_jsx","_objectSpread","wrapLines","codeTagProps","language","style","dracula","CopyToClipboardButton","size","value","variant"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAUAA,SAAS,CAACC,gBAAgB,CAAC,YAAY,EAAEC,UAAU,CAAC;AAEpD,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAAC,IAAA,EAKT;AAAA,EAAA,IAJJC,IAAI,GAAAD,IAAA,CAAJC,IAAI;IAAAC,mBAAA,GAAAF,IAAA,CACJG,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAA,MAAA,GAAG,IAAI,GAAAA,mBAAA;IACrBE,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAAC,oBAAA,GAAAL,IAAA,CACdM,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,MAAA,GAAG,EAAE,GAAAA,oBAAA;AAEpB,EAAA,IAAAE,eAAA,GAAmBC,cAAc,EAAE;IAA3BC,MAAM,GAAAF,eAAA,CAANE,MAAM;AACd,EAAA,IAAMC,cAAc,GAAG,CAACD,MAAM,CAAC,QAAQ,CAAC;AAExC,EAAA,IAAAE,qBAAA,GAA8DL,eAAe,CAArEM,KAAK;AAAEC,IAAAA,SAAS,GAAAF,qBAAA,KAAA,MAAA,GAAG,MAAM,GAAAA,qBAAA;AAAKG,IAAAA,mBAAmB,GAAAC,wBAAA,CAAKT,eAAe,EAAAU,SAAA,CAAA;AAE7E,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,UAAU;AAAAC,IAAAA,QAAA,gBACvBC,GAAA,CAACxB,SAAS,EAAAyB,aAAA,CAAAA,aAAA,CAAA;MACRC,SAAS,EAAA,IAAA;AACTJ,MAAAA,SAAS,EAAC,8CAA8C;AACxDK,MAAAA,YAAY,EAAE;AAAE,QAAA,aAAa,EAAE;OAAuB;AACtD,MAAA,aAAA,EAAY,YAAY;AACxBC,MAAAA,QAAQ,EAAC,YAAY;AACrBC,MAAAA,KAAK,EAAEC;AAAQ,KAAA,EACXtB,cAAc,CAAA,EAAA,EAAA,EAAA;AAAAe,MAAAA,QAAA,EAEjBlB;KAAI,CACI,CAAC,EACXE,cAAc,iBACbiB,GAAA,CAACO,qBAAqB,EAAAN,aAAA,CAAAA,aAAA,CAAA;AACpBH,MAAAA,SAAS,EAAC,sBAAsB;AAChCU,MAAAA,IAAI,EAAC,IAAI;AACTC,MAAAA,KAAK,EAAE5B,IAAK;AACZ6B,MAAAA,OAAO,EAAC;AAAW,KAAA,EACfhB,mBAAmB,CAAA,EAAA,EAAA,EAAA;AACvBF,MAAAA,KAAK,EAAEF,cAAc,GAAGG,SAAS,GAAG;AAAG,KAAA,CACxC,CACF;AAAA,GACE,CAAC;AAEV;;;;"}
@@ -1,4 +1,4 @@
1
- export { C as COLUMNS_ORDER_STORAGE_KEY, H as HIDDEN_COLUMNS_STORAGE_KEY, T as TABLE_CONFIGURATION_QUERY_KEY, a as default, u as useTableConfigurations } from '../Columns-BFBWAHqh.js';
1
+ export { C as COLUMNS_ORDER_STORAGE_KEY, H as HIDDEN_COLUMNS_STORAGE_KEY, T as TABLE_CONFIGURATION_QUERY_KEY, a as default, u as useTableConfigurations } from '../Columns-CLfAUkgh.js';
2
2
  import '@babel/runtime/helpers/defineProperty';
3
3
  import '@babel/runtime/helpers/objectWithoutProperties';
4
4
  import '@babel/runtime/helpers/toConsumableArray';
@@ -3,7 +3,7 @@ import { useState } from 'react';
3
3
  import { SidebarProvider, Sidebar, SidebarContent, SidebarTrigger } from '@bigbinary/neeto-atoms/primitives';
4
4
  import classnames from 'classnames';
5
5
  import { useHistory } from 'react-router-dom';
6
- import { C as ConfigureView } from '../ConfigureView-CohhUNxy.js';
6
+ import { C as ConfigureView } from '../ConfigureView-DfBAWbOJ.js';
7
7
  import { jsxs, jsx } from 'react/jsx-runtime';
8
8
  import '@babel/runtime/helpers/defineProperty';
9
9
  import '@babel/runtime/helpers/objectWithoutProperties';
@@ -1,8 +1,10 @@
1
- import _defineProperty from '@babel/runtime/helpers/defineProperty';
1
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
2
2
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
3
3
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
4
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
4
5
  import { useState, createElement } from 'react';
5
- import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from '@bigbinary/neeto-atoms/primitives';
6
+ import { DataTable, Toastr } from '@bigbinary/neeto-atoms';
7
+ import { TableBody, TableCell, Checkbox } from '@bigbinary/neeto-atoms/primitives';
6
8
  import { useDraggable, useDroppable, useSensors, useSensor, PointerSensor, DndContext, DragOverlay } from '@dnd-kit/core';
7
9
  import { restrictToVerticalAxis } from '@dnd-kit/modifiers';
8
10
  import { noop } from '@bigbinary/neeto-cist';
@@ -11,7 +13,6 @@ import { createPortal } from 'react-dom';
11
13
  import classnames from 'classnames';
12
14
  import { jsx, jsxs } from 'react/jsx-runtime';
13
15
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
14
- import { Toastr } from '@bigbinary/neeto-atoms';
15
16
  import useStateWithDependency from '@bigbinary/neeto-commons-frontend/v2/react-utils/useStateWithDependency';
16
17
 
17
18
  var _excluded$1 = ["children", "data", "index", "className", "isDroppable"];
@@ -46,7 +47,7 @@ var Row = function Row(_ref) {
46
47
  var isIndicatorVisible = !isDragging && isOver;
47
48
  return /*#__PURE__*/jsx("tr", _objectSpread$1(_objectSpread$1(_objectSpread$1(_objectSpread$1({}, rest), attributes), listeners), {}, {
48
49
  className: classnames(className, {
49
- "hover:bg-muted/50 w-full min-w-0 cursor-move transition-colors": true,
50
+ "border-border hover:bg-muted/50 data-[state=selected]:bg-row-selected w-full min-w-0 cursor-move border-b transition-colors": true,
50
51
  "bg-muted opacity-50": isDragging,
51
52
  "bg-primary/10 shadow-sm": isIndicatorVisible
52
53
  }),
@@ -58,7 +59,7 @@ var Row = function Row(_ref) {
58
59
  }));
59
60
  };
60
61
 
61
- var _excluded = ["rowData", "columnData", "overlayColumnIndex", "isRowDroppable", "onDrop", "className"];
62
+ var _excluded = ["rowData", "columnData", "overlayColumnIndex", "isRowDroppable", "onDrop", "rowSelection", "selectedRowKeys", "onRowSelect", "currentPageNumber", "paginationProps", "childrenColumnName"];
62
63
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
63
64
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
64
65
  var sensorConfig = {
@@ -66,26 +67,58 @@ var sensorConfig = {
66
67
  distance: 8
67
68
  }
68
69
  };
69
- var DndTable = function DndTable(_ref) {
70
+ var getRowKey = function getRowKey(row, index) {
71
+ var _ref, _row$id;
72
+ return String((_ref = (_row$id = row.id) !== null && _row$id !== void 0 ? _row$id : row.key) !== null && _ref !== void 0 ? _ref : index);
73
+ };
74
+ var buildColumns = function buildColumns(columnData) {
75
+ return columnData.map(function (_ref2) {
76
+ var key = _ref2.key,
77
+ dataIndex = _ref2.dataIndex,
78
+ title = _ref2.title,
79
+ width = _ref2.width;
80
+ return _objectSpread({
81
+ id: key || dataIndex,
82
+ accessorKey: dataIndex,
83
+ header: title
84
+ }, width ? {
85
+ size: width
86
+ } : {});
87
+ });
88
+ };
89
+ var DndTable = function DndTable(_ref3) {
70
90
  var _dragState$active$dat;
71
- var rowData = _ref.rowData,
72
- columnData = _ref.columnData,
73
- _ref$overlayColumnInd = _ref.overlayColumnIndex,
74
- overlayColumnIndex = _ref$overlayColumnInd === void 0 ? 0 : _ref$overlayColumnInd,
75
- _ref$isRowDroppable = _ref.isRowDroppable,
76
- isRowDroppable = _ref$isRowDroppable === void 0 ? T : _ref$isRowDroppable,
77
- _ref$onDrop = _ref.onDrop,
78
- onDrop = _ref$onDrop === void 0 ? noop : _ref$onDrop,
79
- className = _ref.className,
80
- rest = _objectWithoutProperties(_ref, _excluded);
91
+ var rowData = _ref3.rowData,
92
+ columnData = _ref3.columnData,
93
+ _ref3$overlayColumnIn = _ref3.overlayColumnIndex,
94
+ overlayColumnIndex = _ref3$overlayColumnIn === void 0 ? 0 : _ref3$overlayColumnIn,
95
+ _ref3$isRowDroppable = _ref3.isRowDroppable,
96
+ isRowDroppable = _ref3$isRowDroppable === void 0 ? T : _ref3$isRowDroppable,
97
+ _ref3$onDrop = _ref3.onDrop,
98
+ onDrop = _ref3$onDrop === void 0 ? noop : _ref3$onDrop,
99
+ _ref3$rowSelection = _ref3.rowSelection,
100
+ rowSelection = _ref3$rowSelection === void 0 ? false : _ref3$rowSelection,
101
+ _ref3$selectedRowKeys = _ref3.selectedRowKeys,
102
+ selectedRowKeys = _ref3$selectedRowKeys === void 0 ? [] : _ref3$selectedRowKeys,
103
+ _ref3$onRowSelect = _ref3.onRowSelect,
104
+ onRowSelect = _ref3$onRowSelect === void 0 ? noop : _ref3$onRowSelect,
105
+ currentPageNumber = _ref3.currentPageNumber,
106
+ paginationProps = _ref3.paginationProps;
107
+ _ref3.childrenColumnName;
108
+ var rest = _objectWithoutProperties(_ref3, _excluded);
81
109
  var _useState = useState(null),
82
110
  _useState2 = _slicedToArray(_useState, 2),
83
111
  dragState = _useState2[0],
84
112
  setDragState = _useState2[1];
85
113
  var sensors = useSensors(useSensor(PointerSensor, sensorConfig));
86
- var onDragEnd = function onDragEnd(_ref2) {
87
- var active = _ref2.active,
88
- over = _ref2.over;
114
+
115
+ // getRowId stringifies row ids, but consumers may pass numeric selection
116
+ // keys; normalise so selection state matches in both DataTable and the body.
117
+ var selectedKeys = selectedRowKeys.map(String);
118
+ var selectedKeySet = new Set(selectedKeys);
119
+ var onDragEnd = function onDragEnd(_ref4) {
120
+ var active = _ref4.active,
121
+ over = _ref4.over;
89
122
  setDragState(null);
90
123
  if (!active || !over) return;
91
124
  onDrop(active.data.current, over.data.current);
@@ -101,39 +134,80 @@ var DndTable = function DndTable(_ref) {
101
134
  })
102
135
  });
103
136
  };
137
+ var toggleRowSelection = function toggleRowSelection(rowItem) {
138
+ var rowKey = getRowKey(rowItem);
139
+ var nextKeys = selectedKeySet.has(rowKey) ? selectedKeys.filter(function (key) {
140
+ return key !== rowKey;
141
+ }) : [].concat(_toConsumableArray(selectedKeys), [rowKey]);
142
+ var nextKeySet = new Set(nextKeys);
143
+
144
+ // Pass the rows for the freshly computed selection (nextKeys), matching
145
+ // the keys argument; Set keeps the lookup O(n) over rowData.
146
+ onRowSelect(nextKeys, rowData.filter(function (row) {
147
+ return nextKeySet.has(getRowKey(row));
148
+ }));
149
+ };
150
+ var renderBody = function renderBody() {
151
+ return /*#__PURE__*/jsx(TableBody, {
152
+ children: rowData.map(function (rowItem, index) {
153
+ var rowKey = getRowKey(rowItem, index);
154
+ return /*#__PURE__*/createElement(Row, {
155
+ index: index,
156
+ data: rowItem,
157
+ "data-row-key": rowKey,
158
+ isDroppable: isRowDroppable(rowItem),
159
+ key: rowKey
160
+ }, rowSelection &&
161
+ /*#__PURE__*/
162
+ // Match DataTable's selection header cell padding (it forces
163
+ // !pe-2 while TableCell zeroes pe for checkbox cells) so the
164
+ // body checkbox lines up with the header select-all checkbox.
165
+ jsx(TableCell, {
166
+ className: "!pe-2",
167
+ onClick: function onClick(e) {
168
+ return e.stopPropagation();
169
+ },
170
+ children: /*#__PURE__*/jsx("div", {
171
+ className: "flex w-full items-center justify-center",
172
+ children: /*#__PURE__*/jsx(Checkbox, {
173
+ checked: selectedKeySet.has(rowKey),
174
+ onCheckedChange: function onCheckedChange() {
175
+ return toggleRowSelection(rowItem);
176
+ }
177
+ })
178
+ })
179
+ }), columnData.map(function (col) {
180
+ return /*#__PURE__*/jsx(TableCell, {
181
+ children: col.render ? col.render(rowItem[col.dataIndex], rowItem) : rowItem[col.dataIndex]
182
+ }, col.key || col.dataIndex);
183
+ }));
184
+ })
185
+ });
186
+ };
187
+ var dataTableProps = _objectSpread(_objectSpread({}, rest), {}, {
188
+ columns: buildColumns(columnData),
189
+ data: rowData,
190
+ getRowId: getRowKey,
191
+ renderBody: renderBody,
192
+ enableColumnResize: true,
193
+ enableURLPagination: true,
194
+ enableHeaderMenu: false,
195
+ // Sorting intentionally left off: DataTable's URL sort params
196
+ // (sort_by/order_by) don't match the app's (sortBy/orderBy), so enabling
197
+ // it would render sort headers that silently do nothing. Tracked as a
198
+ // follow-up once the sort URL convention is wired through.
199
+ enableSorting: false,
200
+ enableRowSelection: rowSelection,
201
+ selectedRowKeys: selectedKeys,
202
+ onRowSelect: onRowSelect,
203
+ currentPage: currentPageNumber,
204
+ pageSize: paginationProps === null || paginationProps === void 0 ? void 0 : paginationProps.pageSize
205
+ });
104
206
  return /*#__PURE__*/jsxs(DndContext, {
105
207
  onDragEnd: onDragEnd,
106
208
  sensors: sensors,
107
209
  onDragStart: setDragState,
108
- children: [/*#__PURE__*/jsxs(Table, _objectSpread(_objectSpread({}, _objectSpread({
109
- className: className
110
- }, rest)), {}, {
111
- children: [/*#__PURE__*/jsx(TableHeader, {
112
- children: /*#__PURE__*/jsx(TableRow, {
113
- children: columnData.map(function (col) {
114
- return /*#__PURE__*/jsx(TableHead, {
115
- children: col.title
116
- }, col.key || col.dataIndex);
117
- })
118
- })
119
- }), /*#__PURE__*/jsx(TableBody, {
120
- children: rowData.map(function (rowItem, index) {
121
- var _ref3, _rowItem$id;
122
- var rowKey = String((_ref3 = (_rowItem$id = rowItem.id) !== null && _rowItem$id !== void 0 ? _rowItem$id : rowItem.key) !== null && _ref3 !== void 0 ? _ref3 : index);
123
- return /*#__PURE__*/createElement(Row, {
124
- index: index,
125
- data: rowItem,
126
- "data-row-key": rowKey,
127
- isDroppable: isRowDroppable(rowItem),
128
- key: rowKey
129
- }, columnData.map(function (col) {
130
- return /*#__PURE__*/jsx(TableCell, {
131
- children: col.render ? col.render(rowItem[col.dataIndex], rowItem) : rowItem[col.dataIndex]
132
- }, col.key || col.dataIndex);
133
- }));
134
- })
135
- })]
136
- })), /*#__PURE__*/createPortal(/*#__PURE__*/jsx(DragOverlay, {
210
+ children: [/*#__PURE__*/jsx(DataTable, _objectSpread({}, dataTableProps)), /*#__PURE__*/createPortal(/*#__PURE__*/jsx(DragOverlay, {
137
211
  modifiers: [restrictToVerticalAxis],
138
212
  children: (dragState === null || dragState === void 0 ? void 0 : dragState.active) && renderOverlay((_dragState$active$dat = dragState.active.data) === null || _dragState$active$dat === void 0 ? void 0 : _dragState$active$dat.current)
139
213
  }), document.body)]
@@ -1 +1 @@
1
- {"version":3,"file":"DndTable.js","sources":["../../src/v2/components/DndTable/Row.jsx","../../src/v2/components/DndTable/Table.jsx","../../src/v2/components/DndTable/useDndTable.js"],"sourcesContent":["import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst Row = ({ children, data, index, className, isDroppable, ...rest }) => {\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index },\n id: `draggable-${rest[\"data-row-key\"]}`,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, index: index + 1 },\n id: `droppable-${rest[\"data-row-key\"]}`,\n disabled: !isDroppable || isDragging,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <tr\n {...rest}\n {...attributes}\n {...listeners}\n className={classNames(className, {\n \"hover:bg-muted/50 w-full min-w-0 cursor-move transition-colors\": true,\n \"bg-muted opacity-50\": isDragging,\n \"bg-primary/10 shadow-sm\": isIndicatorVisible,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {children}\n </tr>\n );\n};\n\nexport default Row;\n","import { useState } from \"react\";\n\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { T } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport Row from \"./Row\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\n\nconst DndTable = ({\n rowData,\n columnData,\n overlayColumnIndex = 0,\n isRowDroppable = T,\n onDrop = noop,\n className,\n ...rest\n}) => {\n const [dragState, setDragState] = useState(null);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n const onDragEnd = ({ active, over }) => {\n setDragState(null);\n if (!active || !over) return;\n onDrop(active.data.current, over.data.current);\n };\n\n const renderOverlay = data => {\n const colData = columnData[overlayColumnIndex];\n const cellValue = data[colData.dataIndex];\n\n return (\n <div className=\"flex px-20\">\n <div className=\"bg-background rounded-lg px-4\">\n {colData.render ? colData.render(cellValue, data) : cellValue}\n </div>\n </div>\n );\n };\n\n return (\n <DndContext {...{ onDragEnd, sensors }} onDragStart={setDragState}>\n <Table {...{ className, ...rest }}>\n <TableHeader>\n <TableRow>\n {columnData.map(col => (\n <TableHead key={col.key || col.dataIndex}>{col.title}</TableHead>\n ))}\n </TableRow>\n </TableHeader>\n <TableBody>\n {rowData.map((rowItem, index) => {\n const rowKey = String(rowItem.id ?? rowItem.key ?? index);\n\n return (\n <Row\n {...{ index }}\n data={rowItem}\n data-row-key={rowKey}\n isDroppable={isRowDroppable(rowItem)}\n key={rowKey}\n >\n {columnData.map(col => (\n <TableCell key={col.key || col.dataIndex}>\n {col.render\n ? col.render(rowItem[col.dataIndex], rowItem)\n : rowItem[col.dataIndex]}\n </TableCell>\n ))}\n </Row>\n );\n })}\n </TableBody>\n </Table>\n {createPortal(\n <DragOverlay modifiers={[restrictToVerticalAxis]}>\n {dragState?.active && renderOverlay(dragState.active.data?.current)}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n );\n};\n\nDndTable.propTypes = {\n rowData: PropTypes.arrayOf(PropTypes.object).isRequired,\n columnData: PropTypes.arrayOf(PropTypes.object).isRequired,\n overlayColumnIndex: PropTypes.number,\n isRowDroppable: PropTypes.func,\n onDrop: PropTypes.func.isRequired,\n};\n\nexport default DndTable;\n","import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport useStateWithDependency from \"neetocommons/v2/react-utils/useStateWithDependency\";\nimport { path, remove } from \"ramda\";\n\nconst useDndTable = ({ rowData, onUpdate }) => {\n const [rowDataState, setRowDataState] = useStateWithDependency(rowData, [\n rowData,\n ]);\n\n const onDrop = async (active, over) => {\n const stateBefore = rowDataState;\n setRowDataState(remove(active.index, 1));\n\n try {\n await onUpdate(active, over);\n } catch (error) {\n setRowDataState(stateBefore);\n const errors = path([\"response\", \"data\", \"errors\"], error);\n const message = errors && Object.values(errors)[0]?.[0];\n if (message) Toastr.error(message);\n }\n };\n\n return { rowData: rowDataState, onDrop };\n};\n\nexport default useDndTable;\n"],"names":["Row","_ref","children","data","index","className","isDroppable","rest","_objectWithoutProperties","_excluded","_useDraggable","useDraggable","_objectSpread","id","concat","isDragging","attributes","listeners","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","disabled","isOver","setDroppableNodeRef","isIndicatorVisible","_jsx","classNames","ref","node","sensorConfig","activationConstraint","distance","DndTable","_dragState$active$dat","rowData","columnData","_ref$overlayColumnInd","overlayColumnIndex","_ref$isRowDroppable","isRowDroppable","T","_ref$onDrop","onDrop","noop","_useState","useState","_useState2","_slicedToArray","dragState","setDragState","sensors","useSensors","useSensor","PointerSensor","onDragEnd","_ref2","active","over","current","renderOverlay","colData","cellValue","dataIndex","render","_jsxs","DndContext","onDragStart","Table","TableHeader","TableRow","map","col","TableHead","title","key","TableBody","rowItem","_ref3","_rowItem$id","rowKey","String","_createElement","TableCell","createPortal","DragOverlay","modifiers","restrictToVerticalAxis","document","body","e","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useDndTable","onUpdate","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","rowDataState","setRowDataState","_asyncToGenerator","_callee","stateBefore","_Object$values$","errors","message","_t","_context","remove","path","values","Toastr","error","_x","_x2","apply","arguments"],"mappings":"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"}
1
+ {"version":3,"file":"DndTable.js","sources":["../../src/v2/components/DndTable/Row.jsx","../../src/v2/components/DndTable/Table.jsx","../../src/v2/components/DndTable/useDndTable.js"],"sourcesContent":["import { useDraggable, useDroppable } from \"@dnd-kit/core\";\nimport classNames from \"classnames\";\n\nconst Row = ({ children, data, index, className, isDroppable, ...rest }) => {\n const {\n isDragging,\n attributes,\n listeners,\n setNodeRef: setDraggableNodeRef,\n } = useDraggable({\n data: { ...data, index },\n id: `draggable-${rest[\"data-row-key\"]}`,\n });\n\n const { isOver, setNodeRef: setDroppableNodeRef } = useDroppable({\n data: { ...data, index: index + 1 },\n id: `droppable-${rest[\"data-row-key\"]}`,\n disabled: !isDroppable || isDragging,\n });\n\n const isIndicatorVisible = !isDragging && isOver;\n\n return (\n <tr\n {...rest}\n {...attributes}\n {...listeners}\n className={classNames(className, {\n \"border-border hover:bg-muted/50 data-[state=selected]:bg-row-selected w-full min-w-0 cursor-move border-b transition-colors\": true,\n \"bg-muted opacity-50\": isDragging,\n \"bg-primary/10 shadow-sm\": isIndicatorVisible,\n })}\n ref={node => {\n setDraggableNodeRef(node);\n setDroppableNodeRef(node);\n }}\n >\n {children}\n </tr>\n );\n};\n\nexport default Row;\n","import { useState } from \"react\";\n\nimport { DataTable } from \"@bigbinary/neeto-atoms\";\nimport {\n Checkbox,\n TableBody,\n TableCell,\n} from \"@bigbinary/neeto-atoms/primitives\";\nimport {\n DndContext,\n DragOverlay,\n PointerSensor,\n useSensor,\n useSensors,\n} from \"@dnd-kit/core\";\nimport { restrictToVerticalAxis } from \"@dnd-kit/modifiers\";\nimport { noop } from \"neetocist\";\nimport PropTypes from \"prop-types\";\nimport { T } from \"ramda\";\nimport { createPortal } from \"react-dom\";\n\nimport Row from \"./Row\";\n\nconst sensorConfig = { activationConstraint: { distance: 8 } };\n\nconst getRowKey = (row, index) => String(row.id ?? row.key ?? index);\n\nconst buildColumns = columnData =>\n columnData.map(({ key, dataIndex, title, width }) => ({\n id: key || dataIndex,\n accessorKey: dataIndex,\n header: title,\n ...(width ? { size: width } : {}),\n }));\n\nconst DndTable = ({\n rowData,\n columnData,\n overlayColumnIndex = 0,\n isRowDroppable = T,\n onDrop = noop,\n rowSelection = false,\n selectedRowKeys = [],\n onRowSelect = noop,\n currentPageNumber,\n paginationProps,\n // antd tree-data prop carried over from v1; DataTable has no tree rows, so\n // pull it out of ...rest instead of forwarding it.\n childrenColumnName: _childrenColumnName,\n ...rest\n}) => {\n const [dragState, setDragState] = useState(null);\n const sensors = useSensors(useSensor(PointerSensor, sensorConfig));\n\n // getRowId stringifies row ids, but consumers may pass numeric selection\n // keys; normalise so selection state matches in both DataTable and the body.\n const selectedKeys = selectedRowKeys.map(String);\n const selectedKeySet = new Set(selectedKeys);\n\n const onDragEnd = ({ active, over }) => {\n setDragState(null);\n if (!active || !over) return;\n onDrop(active.data.current, over.data.current);\n };\n\n const renderOverlay = data => {\n const colData = columnData[overlayColumnIndex];\n const cellValue = data[colData.dataIndex];\n\n return (\n <div className=\"flex px-20\">\n <div className=\"bg-background rounded-lg px-4\">\n {colData.render ? colData.render(cellValue, data) : cellValue}\n </div>\n </div>\n );\n };\n\n const toggleRowSelection = rowItem => {\n const rowKey = getRowKey(rowItem);\n const nextKeys = selectedKeySet.has(rowKey)\n ? selectedKeys.filter(key => key !== rowKey)\n : [...selectedKeys, rowKey];\n const nextKeySet = new Set(nextKeys);\n\n // Pass the rows for the freshly computed selection (nextKeys), matching\n // the keys argument; Set keeps the lookup O(n) over rowData.\n onRowSelect(\n nextKeys,\n rowData.filter(row => nextKeySet.has(getRowKey(row)))\n );\n };\n\n const renderBody = () => (\n <TableBody>\n {rowData.map((rowItem, index) => {\n const rowKey = getRowKey(rowItem, index);\n\n return (\n <Row\n {...{ index }}\n data={rowItem}\n data-row-key={rowKey}\n isDroppable={isRowDroppable(rowItem)}\n key={rowKey}\n >\n {rowSelection && (\n // Match DataTable's selection header cell padding (it forces\n // !pe-2 while TableCell zeroes pe for checkbox cells) so the\n // body checkbox lines up with the header select-all checkbox.\n <TableCell className=\"!pe-2\" onClick={e => e.stopPropagation()}>\n <div className=\"flex w-full items-center justify-center\">\n <Checkbox\n checked={selectedKeySet.has(rowKey)}\n onCheckedChange={() => toggleRowSelection(rowItem)}\n />\n </div>\n </TableCell>\n )}\n {columnData.map(col => (\n <TableCell key={col.key || col.dataIndex}>\n {col.render\n ? col.render(rowItem[col.dataIndex], rowItem)\n : rowItem[col.dataIndex]}\n </TableCell>\n ))}\n </Row>\n );\n })}\n </TableBody>\n );\n\n const dataTableProps = {\n ...rest,\n columns: buildColumns(columnData),\n data: rowData,\n getRowId: getRowKey,\n renderBody,\n enableColumnResize: true,\n enableURLPagination: true,\n enableHeaderMenu: false,\n // Sorting intentionally left off: DataTable's URL sort params\n // (sort_by/order_by) don't match the app's (sortBy/orderBy), so enabling\n // it would render sort headers that silently do nothing. Tracked as a\n // follow-up once the sort URL convention is wired through.\n enableSorting: false,\n enableRowSelection: rowSelection,\n selectedRowKeys: selectedKeys,\n onRowSelect,\n currentPage: currentPageNumber,\n pageSize: paginationProps?.pageSize,\n };\n\n return (\n <DndContext {...{ onDragEnd, sensors }} onDragStart={setDragState}>\n <DataTable {...dataTableProps} />\n {createPortal(\n <DragOverlay modifiers={[restrictToVerticalAxis]}>\n {dragState?.active && renderOverlay(dragState.active.data?.current)}\n </DragOverlay>,\n document.body\n )}\n </DndContext>\n );\n};\n\nDndTable.propTypes = {\n rowData: PropTypes.arrayOf(PropTypes.object).isRequired,\n columnData: PropTypes.arrayOf(PropTypes.object).isRequired,\n overlayColumnIndex: PropTypes.number,\n isRowDroppable: PropTypes.func,\n onDrop: PropTypes.func.isRequired,\n rowSelection: PropTypes.bool,\n selectedRowKeys: PropTypes.arrayOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n ),\n onRowSelect: PropTypes.func,\n currentPageNumber: PropTypes.number,\n paginationProps: PropTypes.shape({ pageSize: PropTypes.number }),\n};\n\nexport default DndTable;\n","import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport useStateWithDependency from \"neetocommons/v2/react-utils/useStateWithDependency\";\nimport { path, remove } from \"ramda\";\n\nconst useDndTable = ({ rowData, onUpdate }) => {\n const [rowDataState, setRowDataState] = useStateWithDependency(rowData, [\n rowData,\n ]);\n\n const onDrop = async (active, over) => {\n const stateBefore = rowDataState;\n setRowDataState(remove(active.index, 1));\n\n try {\n await onUpdate(active, over);\n } catch (error) {\n setRowDataState(stateBefore);\n const errors = path([\"response\", \"data\", \"errors\"], error);\n const message = errors && Object.values(errors)[0]?.[0];\n if (message) Toastr.error(message);\n }\n };\n\n return { rowData: rowDataState, onDrop };\n};\n\nexport default useDndTable;\n"],"names":["Row","_ref","children","data","index","className","isDroppable","rest","_objectWithoutProperties","_excluded","_useDraggable","useDraggable","_objectSpread","id","concat","isDragging","attributes","listeners","setDraggableNodeRef","setNodeRef","_useDroppable","useDroppable","disabled","isOver","setDroppableNodeRef","isIndicatorVisible","_jsx","classNames","ref","node","sensorConfig","activationConstraint","distance","getRowKey","row","_row$id","String","key","buildColumns","columnData","map","_ref2","dataIndex","title","width","accessorKey","header","size","DndTable","_ref3","_dragState$active$dat","rowData","_ref3$overlayColumnIn","overlayColumnIndex","_ref3$isRowDroppable","isRowDroppable","T","_ref3$onDrop","onDrop","noop","_ref3$rowSelection","rowSelection","_ref3$selectedRowKeys","selectedRowKeys","_ref3$onRowSelect","onRowSelect","currentPageNumber","paginationProps","childrenColumnName","_useState","useState","_useState2","_slicedToArray","dragState","setDragState","sensors","useSensors","useSensor","PointerSensor","selectedKeys","selectedKeySet","Set","onDragEnd","_ref4","active","over","current","renderOverlay","colData","cellValue","render","toggleRowSelection","rowItem","rowKey","nextKeys","has","filter","_toConsumableArray","nextKeySet","renderBody","TableBody","_createElement","TableCell","onClick","e","stopPropagation","Checkbox","checked","onCheckedChange","col","dataTableProps","columns","getRowId","enableColumnResize","enableURLPagination","enableHeaderMenu","enableSorting","enableRowSelection","currentPage","pageSize","_jsxs","DndContext","onDragStart","DataTable","createPortal","DragOverlay","modifiers","restrictToVerticalAxis","document","body","t","r","Symbol","n","iterator","o","toStringTag","i","c","prototype","Generator","u","Object","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","value","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","defineProperty","_regeneratorDefine","_invoke","enumerable","configurable","writable","useDndTable","onUpdate","_useStateWithDependen","useStateWithDependency","_useStateWithDependen2","rowDataState","setRowDataState","_asyncToGenerator","_callee","stateBefore","_Object$values$","errors","message","_t","_context","remove","path","values","Toastr","error","_x","_x2","apply","arguments"],"mappings":"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"}
@@ -26,7 +26,7 @@ var EmailPreview = withT(function (_ref) {
26
26
  "data-testid": "email-preview-card",
27
27
  className: classnames("bg-background neeto-ui-theme--light relative flex flex-1 flex-col rounded-lg px-6 py-8", className),
28
28
  children: [/*#__PURE__*/jsx("div", {
29
- className: "absolute -top-1.5 -right-1.5 z-10 min-w-max rounded-tl-md rounded-tr-md rounded-bl-md px-3 py-1.5 text-center text-sm font-medium text-[#49545c] shadow-[0px_3px_4px_0px_#00000026] [background:#ffee6a] after:absolute after:top-full after:right-0 after:-z-20 after:[border-width:0_0_12px_6px] after:border-solid after:[border-color:transparent_#ddd06b] after:content-['']",
29
+ className: "absolute -end-1.5 -top-1.5 z-10 min-w-max rounded-ss-md rounded-se-md rounded-es-md px-3 py-1.5 text-center text-sm font-medium text-[#49545c] shadow-[0px_3px_4px_0px_#00000026] [background:#ffee6a] after:absolute after:end-0 after:top-full after:-z-20 after:[border-width:0_0_12px_6px] after:border-solid after:[border-color:transparent_#ddd06b] after:content-['']",
30
30
  children: t("neetoMolecules.emailPreview.previewMessage")
31
31
  }), /*#__PURE__*/jsxs("div", {
32
32
  className: "w-full pb-4",