react-country-kit 1.0.0 โ 1.1.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/LICENSE +21 -0
- package/README.md +51 -221
- package/dist/components/CountryMultiSelect/CountryMultiSelect.d.ts +2 -2
- package/dist/components/CountryPicker/CountryPicker.d.ts +2 -2
- package/dist/components/CurrencyMultiSelect/CurrencyMultiSelect.d.ts +2 -2
- package/dist/components/CurrencyPicker/CurrencyPicker.d.ts +2 -2
- package/dist/components/DivisionPicker/DivisionPicker.d.ts +2 -2
- package/dist/components/LanguagePicker/LanguagePicker.d.ts +2 -2
- package/dist/components/PhoneInput/PhoneInput.d.ts +2 -2
- package/dist/components/TimezonePicker/TimezonePicker.d.ts +2 -2
- package/dist/components/shared/Flag.d.ts +15 -0
- package/dist/components/shared/PickerBase.d.ts +2 -1
- package/dist/index.d.ts +1 -13
- package/dist/react-country-kit.cjs.js +1 -1
- package/dist/react-country-kit.cjs.js.map +1 -1
- package/dist/react-country-kit.d.ts +1 -354
- package/dist/react-country-kit.es.js +354 -362
- package/dist/react-country-kit.es.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/ui/components/CountryMultiSelect.d.ts +2 -1
- package/dist/ui/components/CountryPicker.d.ts +2 -1
- package/dist/ui/components/CurrencyMultiSelect.d.ts +2 -1
- package/dist/ui/components/CurrencyPicker.d.ts +2 -1
- package/dist/ui/components/DivisionPicker.d.ts +2 -1
- package/dist/ui/components/LanguagePicker.d.ts +2 -1
- package/dist/ui/components/PhoneInput.d.ts +3 -3
- package/dist/ui/components/TimezonePicker.d.ts +2 -1
- package/dist/ui/components/primitives.d.ts +11 -1
- package/dist/ui/index.d.ts +12 -12
- package/dist/ui/lib/utils.d.ts +2 -1
- package/dist/ui.cjs.js +1 -1
- package/dist/ui.cjs.js.map +1 -1
- package/dist/ui.d.ts +1 -413
- package/dist/ui.es.js +370 -350
- package/dist/ui.es.js.map +1 -1
- package/package.json +11 -2
- package/dist/data/countries.d.ts +0 -10
- package/dist/data/languages.d.ts +0 -3
- package/dist/hooks/useBasePicker.d.ts +0 -6
- package/dist/hooks/useCountryPicker.d.ts +0 -2
- package/dist/hooks/useCurrencyPicker.d.ts +0 -2
- package/dist/hooks/useDivisionPicker.d.ts +0 -2
- package/dist/hooks/useLanguagePicker.d.ts +0 -2
- package/dist/hooks/useMultiSelect.d.ts +0 -6
- package/dist/hooks/usePhoneInput.d.ts +0 -17
- package/dist/hooks/useTimezonePicker.d.ts +0 -2
- package/dist/types/index.d.ts +0 -185
- package/dist/useTimezonePicker-BMFPsn3E.mjs +0 -36086
- package/dist/useTimezonePicker-BMFPsn3E.mjs.map +0 -1
- package/dist/useTimezonePicker-zHCM2pUC.js +0 -2
- package/dist/useTimezonePicker-zHCM2pUC.js.map +0 -1
- package/dist/utils/countries.d.ts +0 -46
- package/dist/utils/currencies.d.ts +0 -13
- package/dist/utils/languages.d.ts +0 -13
- package/dist/utils/timezones.d.ts +0 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-country-kit.es.js","sources":["../src/components/shared/SearchInput.tsx","../src/components/CountryMultiSelect/CountryMultiSelect.tsx","../src/components/shared/PickerBase.tsx","../src/components/CountryPicker/CountryPicker.tsx","../src/components/CurrencyMultiSelect/CurrencyMultiSelect.tsx","../src/components/CurrencyPicker/CurrencyPicker.tsx","../src/components/DivisionPicker/DivisionPicker.tsx","../src/components/LanguagePicker/LanguagePicker.tsx","../src/components/PhoneInput/PhoneInput.tsx","../src/components/TimezonePicker/TimezonePicker.tsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\n\ninterface SearchInputProps {\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n autoFocus?: boolean;\n}\n\nexport function SearchInput({ value, onChange, placeholder = 'Search...', autoFocus = true }: SearchInputProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (autoFocus) {\n setTimeout(() => inputRef.current?.focus(), 50);\n }\n }, [autoFocus]);\n\n return (\n <div className=\"rck-search-wrapper\">\n <div className=\"rck-search\">\n <svg className=\"rck-search-icon\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"8.5\" cy=\"8.5\" r=\"5.5\" />\n <path d=\"M17 17l-4-4\" strokeLinecap=\"round\" />\n </svg>\n <input\n ref={inputRef}\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n placeholder={placeholder}\n aria-label=\"Search\"\n />\n {value && (\n <button\n style={{ background: 'none', border: 'none', cursor: 'pointer', color: 'var(--rck-text-placeholder)', padding: 0, display: 'flex' }}\n onClick={() => onChange('')}\n aria-label=\"Clear search\"\n type=\"button\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path d=\"M6 6l8 8M14 6l-8 8\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" fill=\"none\" />\n </svg>\n </button>\n )}\n </div>\n </div>\n );\n}\n","import React, { useRef, useEffect } from 'react';\nimport type { CountryMultiSelectProps, Country } from '../../types';\nimport { useMultiSelect } from '../../hooks/useMultiSelect';\nimport { getAllCountries, searchCountries } from '../../utils/countries';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst MAX_VISIBLE_CHIPS = 3;\n\nfunction ChipCheckIcon() {\n return (\n <svg viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n );\n}\n\nexport function CountryMultiSelect({\n value,\n onChange,\n placeholder = 'Select countries...',\n maxItems,\n showFlags = true,\n searchable = true,\n disabled = false,\n className,\n label,\n}: CountryMultiSelectProps) {\n const multi = useMultiSelect<Country>(\n getAllCountries(),\n (items, q) => q ? searchCountries(q) : items,\n (c) => c.iso2,\n value,\n onChange,\n maxItems\n );\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!multi.isOpen) return;\n const handler = (e: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) multi.close();\n };\n document.addEventListener('mousedown', handler);\n return () => document.removeEventListener('mousedown', handler);\n }, [multi.isOpen, multi.close]);\n\n useEffect(() => {\n if (!multi.isOpen) return;\n const handler = (e: KeyboardEvent) => { if (e.key === 'Escape') multi.close(); };\n document.addEventListener('keydown', handler);\n return () => document.removeEventListener('keydown', handler);\n }, [multi.isOpen, multi.close]);\n\n const visibleChips = value.slice(0, MAX_VISIBLE_CHIPS);\n const overflow = value.length - MAX_VISIBLE_CHIPS;\n\n return (\n <div ref={wrapperRef} className={`rck-picker${className ? ` ${className}` : ''}`}>\n {label && <span className=\"rck-label\">{label}</span>}\n\n <button\n type=\"button\"\n className={`rck-multiselect-trigger${multi.isOpen ? ' rck-open' : ''}`}\n disabled={disabled}\n onClick={multi.toggle}\n aria-haspopup=\"listbox\"\n aria-expanded={multi.isOpen}\n >\n <div className=\"rck-chips-area\">\n {value.length === 0 ? (\n <span style={{ color: 'var(--rck-text-placeholder)', fontSize: '0.9375rem' }}>{placeholder}</span>\n ) : (\n <>\n {visibleChips.map((c) => (\n <span key={c.iso2} className=\"rck-chip\">\n {showFlags && <span>{c.flag}</span>}\n <span className=\"rck-chip-label\">{c.name}</span>\n <button\n type=\"button\"\n className=\"rck-chip-remove\"\n onClick={(e) => { e.stopPropagation(); multi.removeItem(c); onChange(value.filter((x) => x.iso2 !== c.iso2)); }}\n aria-label={`Remove ${c.name}`}\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\">\n <line x1=\"5\" y1=\"5\" x2=\"15\" y2=\"15\" /><line x1=\"15\" y1=\"5\" x2=\"5\" y2=\"15\" />\n </svg>\n </button>\n </span>\n ))}\n {overflow > 0 && (\n <span className=\"rck-chip-overflow\">+{overflow} more</span>\n )}\n </>\n )}\n </div>\n {value.length > 0 && (\n <button\n type=\"button\"\n className=\"rck-multiselect-clear\"\n onClick={(e) => { e.stopPropagation(); multi.clearAll(); onChange([]); }}\n aria-label=\"Clear all\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <line x1=\"5\" y1=\"5\" x2=\"15\" y2=\"15\" /><line x1=\"15\" y1=\"5\" x2=\"5\" y2=\"15\" />\n </svg>\n </button>\n )}\n <svg className=\"rck-chevron\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"5 8 10 13 15 8\" />\n </svg>\n </button>\n\n {multi.isOpen && (\n <div className=\"rck-dropdown\" role=\"listbox\" aria-multiselectable=\"true\">\n {searchable && (\n <SearchInput value={multi.searchQuery} onChange={multi.setSearchQuery} placeholder=\"Search countries...\" />\n )}\n <ul className=\"rck-list\">\n {multi.filteredItems.length === 0 ? (\n <li className=\"rck-empty\"><span className=\"rck-empty-icon\">๐</span><span>No countries found</span></li>\n ) : (\n multi.filteredItems.map((country) => {\n const selected = multi.isSelected(country);\n return (\n <li\n key={country.iso2}\n role=\"option\"\n aria-selected={selected}\n className={`rck-item${selected ? ' rck-item-selected' : ''}`}\n onClick={() => multi.toggleItem(country)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && multi.toggleItem(country)}\n >\n <div className={selected ? 'rck-item-check-multi' : 'rck-item-check-empty'}>\n {selected && <ChipCheckIcon />}\n </div>\n {showFlags && <span className=\"rck-item-flag\">{country.flag}</span>}\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{country.name}</span>\n <span className=\"rck-item-sub\">{country.iso3} ยท +{country.phone_code}</span>\n </div>\n </li>\n );\n })\n )}\n </ul>\n </div>\n )}\n </div>\n );\n}\n","import React, { useEffect, useRef } from 'react';\n\ninterface PickerBaseProps {\n isOpen: boolean;\n onClose: () => void;\n onToggle: () => void;\n label?: string;\n disabled?: boolean;\n className?: string;\n triggerContent: React.ReactNode;\n children: React.ReactNode;\n id?: string;\n}\n\nconst ChevronIcon = () => (\n <svg\n className=\"rck-chevron\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"5 8 10 13 15 8\" />\n </svg>\n);\n\nexport function PickerBase({\n isOpen,\n onClose,\n onToggle,\n label,\n disabled,\n className,\n triggerContent,\n children,\n id,\n}: PickerBaseProps) {\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n // Close on outside click\n useEffect(() => {\n if (!isOpen) return;\n const handler = (e: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) {\n onClose();\n }\n };\n document.addEventListener('mousedown', handler);\n return () => document.removeEventListener('mousedown', handler);\n }, [isOpen, onClose]);\n\n // Close on Escape\n useEffect(() => {\n if (!isOpen) return;\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n document.addEventListener('keydown', handler);\n return () => document.removeEventListener('keydown', handler);\n }, [isOpen, onClose]);\n\n return (\n <div ref={wrapperRef} className={`rck-picker${className ? ` ${className}` : ''}`}>\n {label && (\n <span className=\"rck-label\" id={id ? `${id}-label` : undefined}>\n {label}\n </span>\n )}\n <button\n type=\"button\"\n className={`rck-trigger${isOpen ? ' rck-open' : ''}`}\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-labelledby={id && label ? `${id}-label` : undefined}\n id={id}\n onClick={onToggle}\n >\n {triggerContent}\n <ChevronIcon />\n </button>\n\n {isOpen && (\n <div className=\"rck-dropdown\" role=\"listbox\">\n {children}\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport type { CountryPickerProps } from '../../types';\nimport { useCountryPicker } from '../../hooks/useCountryPicker';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function CountryPicker({\n value,\n onChange,\n placeholder = 'Select a country',\n searchable = true,\n showFlag = true,\n showPhoneCode = false,\n disabled = false,\n className,\n label,\n}: CountryPickerProps) {\n const picker = useCountryPicker(value, onChange);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n {showFlag && <span className=\"rck-flag\">{value.flag}</span>}\n <span className=\"rck-trigger-text\">{value.name}</span>\n {showPhoneCode && <span className=\"rck-badge\">+{value.phone_code}</span>}\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={disabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-country-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search country...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Countries\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐</span>\n <span>No countries found</span>\n </li>\n ) : (\n picker.filteredItems.map((country) => {\n const isSelected = value?.iso2 === country.iso2;\n return (\n <li\n key={country.iso2}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(country)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(country)}\n >\n {showFlag && <span className=\"rck-item-flag\">{country.flag}</span>}\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{country.name}</span>\n <span className=\"rck-item-sub\">{country.iso3} ยท {country.division_type}</span>\n </div>\n <div className=\"rck-item-right\">\n {showPhoneCode && (\n <span className=\"rck-item-phone\">+{country.phone_code}</span>\n )}\n {isSelected && <CheckIcon />}\n </div>\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n","import React, { useRef, useEffect } from 'react';\nimport type { CurrencyMultiSelectProps, Currency } from '../../types';\nimport { useMultiSelect } from '../../hooks/useMultiSelect';\nimport { getAllCurrencies, searchCurrencies } from '../../utils/currencies';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst MAX_VISIBLE_CHIPS = 3;\n\nfunction ChipCheckIcon() {\n return (\n <svg viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n );\n}\n\nexport function CurrencyMultiSelect({\n value,\n onChange,\n placeholder = 'Select currencies...',\n maxItems,\n showSymbol = true,\n searchable = true,\n disabled = false,\n className,\n label,\n}: CurrencyMultiSelectProps) {\n const multi = useMultiSelect<Currency>(\n getAllCurrencies(),\n (items, q) => q ? searchCurrencies(q) : items,\n (c) => c.code,\n value,\n onChange,\n maxItems\n );\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!multi.isOpen) return;\n const handler = (e: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) multi.close();\n };\n document.addEventListener('mousedown', handler);\n return () => document.removeEventListener('mousedown', handler);\n }, [multi.isOpen, multi.close]);\n\n useEffect(() => {\n if (!multi.isOpen) return;\n const handler = (e: KeyboardEvent) => { if (e.key === 'Escape') multi.close(); };\n document.addEventListener('keydown', handler);\n return () => document.removeEventListener('keydown', handler);\n }, [multi.isOpen, multi.close]);\n\n const visibleChips = value.slice(0, MAX_VISIBLE_CHIPS);\n const overflow = value.length - MAX_VISIBLE_CHIPS;\n\n return (\n <div ref={wrapperRef} className={`rck-picker${className ? ` ${className}` : ''}`}>\n {label && <span className=\"rck-label\">{label}</span>}\n\n <button\n type=\"button\"\n className={`rck-multiselect-trigger${multi.isOpen ? ' rck-open' : ''}`}\n disabled={disabled}\n onClick={multi.toggle}\n aria-haspopup=\"listbox\"\n aria-expanded={multi.isOpen}\n >\n <div className=\"rck-chips-area\">\n {value.length === 0 ? (\n <span style={{ color: 'var(--rck-text-placeholder)', fontSize: '0.9375rem' }}>{placeholder}</span>\n ) : (\n <>\n {visibleChips.map((c) => (\n <span key={c.code} className=\"rck-chip\">\n {showSymbol && <span>{c.symbol}</span>}\n <span className=\"rck-chip-label\">{c.code}</span>\n <button\n type=\"button\"\n className=\"rck-chip-remove\"\n onClick={(e) => { e.stopPropagation(); onChange(value.filter((x) => x.code !== c.code)); }}\n aria-label={`Remove ${c.code}`}\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\">\n <line x1=\"5\" y1=\"5\" x2=\"15\" y2=\"15\" /><line x1=\"15\" y1=\"5\" x2=\"5\" y2=\"15\" />\n </svg>\n </button>\n </span>\n ))}\n {overflow > 0 && <span className=\"rck-chip-overflow\">+{overflow} more</span>}\n </>\n )}\n </div>\n {value.length > 0 && (\n <button\n type=\"button\"\n className=\"rck-multiselect-clear\"\n onClick={(e) => { e.stopPropagation(); multi.clearAll(); onChange([]); }}\n aria-label=\"Clear all\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <line x1=\"5\" y1=\"5\" x2=\"15\" y2=\"15\" /><line x1=\"15\" y1=\"5\" x2=\"5\" y2=\"15\" />\n </svg>\n </button>\n )}\n <svg className=\"rck-chevron\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"5 8 10 13 15 8\" />\n </svg>\n </button>\n\n {multi.isOpen && (\n <div className=\"rck-dropdown\" role=\"listbox\" aria-multiselectable=\"true\">\n {searchable && (\n <SearchInput value={multi.searchQuery} onChange={multi.setSearchQuery} placeholder=\"Search currencies...\" />\n )}\n <ul className=\"rck-list\">\n {multi.filteredItems.length === 0 ? (\n <li className=\"rck-empty\"><span className=\"rck-empty-icon\">๐ฐ</span><span>No currencies found</span></li>\n ) : (\n multi.filteredItems.map((currency) => {\n const selected = multi.isSelected(currency);\n return (\n <li\n key={currency.code}\n role=\"option\"\n aria-selected={selected}\n className={`rck-item${selected ? ' rck-item-selected' : ''}`}\n onClick={() => multi.toggleItem(currency)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && multi.toggleItem(currency)}\n >\n <div className={selected ? 'rck-item-check-multi' : 'rck-item-check-empty'}>\n {selected && <ChipCheckIcon />}\n </div>\n {showSymbol && <span className=\"rck-item-symbol\">{currency.symbol}</span>}\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{currency.name}</span>\n <span className=\"rck-item-sub\">{currency.code}</span>\n </div>\n </li>\n );\n })\n )}\n </ul>\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport type { CurrencyPickerProps } from '../../types';\nimport { useCurrencyPicker } from '../../hooks/useCurrencyPicker';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function CurrencyPicker({\n value,\n onChange,\n placeholder = 'Select a currency',\n searchable = true,\n showSymbol = true,\n disabled = false,\n className,\n label,\n}: CurrencyPickerProps) {\n const picker = useCurrencyPicker(value, onChange);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n {showSymbol && <span className=\"rck-item-symbol\">{value.symbol}</span>}\n <span className=\"rck-trigger-text\">{value.code} โ {value.name}</span>\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={disabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-currency-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search currency...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Currencies\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐ฐ</span>\n <span>No currencies found</span>\n </li>\n ) : (\n picker.filteredItems.map((currency) => {\n const isSelected = value?.code === currency.code;\n return (\n <li\n key={currency.code}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(currency)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(currency)}\n >\n {showSymbol && <span className=\"rck-item-symbol\">{currency.symbol}</span>}\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{currency.name}</span>\n <span className=\"rck-item-sub\">{currency.code}</span>\n </div>\n {isSelected && <CheckIcon />}\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n","import React from 'react';\nimport type { DivisionPickerProps } from '../../types';\nimport { useDivisionPicker } from '../../hooks/useDivisionPicker';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function DivisionPicker({\n countryIso2,\n value,\n onChange,\n placeholder = 'Select a division',\n searchable = true,\n disabled = false,\n className,\n label,\n}: DivisionPickerProps) {\n const picker = useDivisionPicker(countryIso2, value, onChange);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n <span className=\"rck-trigger-text\">{value.name}</span>\n <span className=\"rck-badge\">{value.iso2}</span>\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n const isDisabled = disabled || !countryIso2;\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={isDisabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-division-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search division...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Divisions\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐บ๏ธ</span>\n <span>No divisions found</span>\n </li>\n ) : (\n picker.filteredItems.map((division) => {\n const isSelected = value?.iso2 === division.iso2 && value?.name === division.name;\n return (\n <li\n key={`${division.iso2}-${division.name}`}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(division)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(division)}\n >\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{division.name}</span>\n <span className=\"rck-item-sub\">{division.timezone}</span>\n </div>\n <div className=\"rck-item-right\">\n <span className=\"rck-badge\">{division.iso2}</span>\n {isSelected && <CheckIcon />}\n </div>\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n","import React from 'react';\nimport type { LanguagePickerProps } from '../../types';\nimport { useLanguagePicker } from '../../hooks/useLanguagePicker';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function LanguagePicker({\n value,\n onChange,\n placeholder = 'Select a language',\n searchable = true,\n showNativeName = true,\n disabled = false,\n className,\n label,\n}: LanguagePickerProps) {\n const picker = useLanguagePicker(value, onChange);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n <span className=\"rck-trigger-text\">{value.english_name}</span>\n {showNativeName && value.native_name !== value.english_name && (\n <span className=\"rck-native-name\">{value.native_name}</span>\n )}\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={disabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-language-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search language...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Languages\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐</span>\n <span>No languages found</span>\n </li>\n ) : (\n picker.filteredItems.map((lang) => {\n const isSelected = value?.code === lang.code;\n return (\n <li\n key={lang.code}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(lang)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(lang)}\n >\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{lang.english_name}</span>\n {showNativeName && lang.native_name !== lang.english_name && (\n <span className=\"rck-item-sub\">{lang.native_name}</span>\n )}\n </div>\n <div className=\"rck-item-right\">\n <span className=\"rck-badge\" style={{ fontSize: '0.68rem' }}>{lang.code}</span>\n {isSelected && <CheckIcon />}\n </div>\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n","import React, { useRef, useEffect } from 'react';\nimport type { PhoneInputProps } from '../../types';\nimport { usePhoneInput } from '../../hooks/usePhoneInput';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nexport function PhoneInput({\n value,\n onChange,\n defaultCountryIso2 = 'US',\n placeholder = 'Phone number',\n showFlag = true,\n disabled = false,\n className,\n label,\n}: PhoneInputProps) {\n const phone = usePhoneInput(value, onChange, defaultCountryIso2);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n // Close dropdown on outside click\n useEffect(() => {\n if (!phone.isOpen) return;\n const handler = (e: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) {\n phone.close();\n }\n };\n document.addEventListener('mousedown', handler);\n return () => document.removeEventListener('mousedown', handler);\n }, [phone.isOpen, phone.close]);\n\n // Close on Escape\n useEffect(() => {\n if (!phone.isOpen) return;\n const handler = (e: KeyboardEvent) => { if (e.key === 'Escape') phone.close(); };\n document.addEventListener('keydown', handler);\n return () => document.removeEventListener('keydown', handler);\n }, [phone.isOpen, phone.close]);\n\n return (\n <div ref={wrapperRef} className={`rck-phone-wrapper${className ? ` ${className}` : ''}`}>\n {label && <span className=\"rck-label\">{label}</span>}\n\n <div className={`rck-phone-field${disabled ? ' rck-phone-disabled' : ''}`}>\n {/* Country selector */}\n <button\n type=\"button\"\n className=\"rck-phone-country-btn\"\n onClick={phone.toggle}\n aria-expanded={phone.isOpen}\n aria-label=\"Select country code\"\n disabled={disabled}\n >\n {showFlag && phone.country && (\n <span className=\"rck-phone-flag\">{phone.country.flag}</span>\n )}\n <span className=\"rck-phone-dial\">\n {phone.country ? `+${phone.country.phone_code}` : '+?'}\n </span>\n <svg className=\"rck-phone-chevron\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"5 8 10 13 15 8\" />\n </svg>\n </button>\n\n {/* Phone number input */}\n <input\n type=\"tel\"\n className=\"rck-phone-input\"\n value={phone.number}\n onChange={(e) => phone.setNumber(e.target.value)}\n placeholder={placeholder}\n disabled={disabled}\n inputMode=\"numeric\"\n autoComplete=\"tel-national\"\n />\n\n {/* Country dropdown */}\n {phone.isOpen && (\n <div className=\"rck-phone-dropdown\">\n <SearchInput\n value={phone.searchQuery}\n onChange={phone.setSearchQuery}\n placeholder=\"Search country or dial code...\"\n />\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Countries\">\n {phone.filteredCountries.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐</span>\n <span>No countries found</span>\n </li>\n ) : (\n phone.filteredCountries.map((country) => {\n const isSelected = phone.country?.iso2 === country.iso2;\n return (\n <li\n key={country.iso2}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => phone.selectCountry(country)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && phone.selectCountry(country)}\n >\n <span className=\"rck-item-flag\">{country.flag}</span>\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{country.name}</span>\n <span className=\"rck-item-sub\">{country.iso2}</span>\n </div>\n <span className=\"rck-item-phone\">+{country.phone_code}</span>\n </li>\n );\n })\n )}\n </ul>\n </div>\n )}\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport type { TimezonePickerProps } from '../../types';\nimport { useTimezonePicker } from '../../hooks/useTimezonePicker';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function TimezonePicker({\n value,\n onChange,\n placeholder = 'Select a timezone',\n searchable = true,\n countryIso2,\n disabled = false,\n className,\n label,\n}: TimezonePickerProps) {\n const picker = useTimezonePicker(value, onChange, countryIso2);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n <span className=\"rck-trigger-text\">{value.name}</span>\n <span className=\"rck-badge\">{value.offset_name}</span>\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={disabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-timezone-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search timezone...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Timezones\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐</span>\n <span>No timezones found</span>\n </li>\n ) : (\n picker.filteredItems.map((tz) => {\n const isSelected = value?.name === tz.name;\n return (\n <li\n key={tz.name}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(tz)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(tz)}\n >\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{tz.name}</span>\n <span className=\"rck-item-sub\">{tz.tzName} ยท {tz.abbreviation}</span>\n </div>\n <div className=\"rck-item-right\">\n <span className=\"rck-offset-badge\">{tz.offset_name}</span>\n {isSelected && <CheckIcon />}\n </div>\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n"],"names":["SearchInput","value","onChange","placeholder","autoFocus","inputRef","useRef","useEffect","_a","jsxs","jsx","e","MAX_VISIBLE_CHIPS","ChipCheckIcon","CountryMultiSelect","maxItems","showFlags","searchable","disabled","className","label","multi","useMultiSelect","getAllCountries","items","q","searchCountries","c","wrapperRef","handler","visibleChips","overflow","Fragment","x","country","selected","ChevronIcon","PickerBase","isOpen","onClose","onToggle","triggerContent","children","id","CheckIcon","CountryPicker","showFlag","showPhoneCode","picker","useCountryPicker","isSelected","CurrencyMultiSelect","showSymbol","getAllCurrencies","searchCurrencies","currency","CurrencyPicker","useCurrencyPicker","DivisionPicker","countryIso2","useDivisionPicker","isDisabled","division","LanguagePicker","showNativeName","useLanguagePicker","lang","PhoneInput","defaultCountryIso2","phone","usePhoneInput","TimezonePicker","useTimezonePicker","tz"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react-country-kit.es.js","sources":["../src/components/shared/SearchInput.tsx","../src/components/shared/Flag.tsx","../src/components/CountryMultiSelect/CountryMultiSelect.tsx","../src/components/shared/PickerBase.tsx","../src/components/CountryPicker/CountryPicker.tsx","../src/components/CurrencyMultiSelect/CurrencyMultiSelect.tsx","../src/components/CurrencyPicker/CurrencyPicker.tsx","../src/components/DivisionPicker/DivisionPicker.tsx","../src/components/LanguagePicker/LanguagePicker.tsx","../src/components/PhoneInput/PhoneInput.tsx","../src/components/TimezonePicker/TimezonePicker.tsx"],"sourcesContent":["import React, { useRef, useEffect } from 'react';\n\ninterface SearchInputProps {\n value: string;\n onChange: (value: string) => void;\n placeholder?: string;\n autoFocus?: boolean;\n}\n\nexport function SearchInput({ value, onChange, placeholder = 'Search...', autoFocus = true }: SearchInputProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (autoFocus) {\n setTimeout(() => inputRef.current?.focus(), 50);\n }\n }, [autoFocus]);\n\n return (\n <div className=\"rck-search-wrapper\">\n <div className=\"rck-search\">\n <svg className=\"rck-search-icon\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"8.5\" cy=\"8.5\" r=\"5.5\" />\n <path d=\"M17 17l-4-4\" strokeLinecap=\"round\" />\n </svg>\n <input\n ref={inputRef}\n type=\"text\"\n value={value}\n onChange={(e) => onChange(e.target.value)}\n placeholder={placeholder}\n aria-label=\"Search\"\n />\n {value && (\n <button\n style={{ background: 'none', border: 'none', cursor: 'pointer', color: 'var(--rck-text-placeholder)', padding: 0, display: 'flex' }}\n onClick={() => onChange('')}\n aria-label=\"Clear search\"\n type=\"button\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path d=\"M6 6l8 8M14 6l-8 8\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" fill=\"none\" />\n </svg>\n </button>\n )}\n </div>\n </div>\n );\n}\n","import React from 'react';\n\nexport interface FlagProps {\n iso2: string;\n flag?: string;\n flagUrl?: string;\n className?: string;\n alt?: string;\n mode?: 'emoji' | 'image' | 'auto';\n}\n\n/**\n * Flag component that handles both emoji and image flags.\n * 'auto' mode uses emoji by default but provides image as an alternative.\n */\nexport const Flag: React.FC<FlagProps> = ({ \n iso2, \n flag, \n flagUrl, \n className = '', \n alt = '', \n mode = 'auto' \n}) => {\n const url = flagUrl || `https://flagcdn.com/w320/${iso2.toLowerCase()}.png`;\n\n if (mode === 'image') {\n return (\n <img \n src={url} \n alt={alt || iso2} \n className={`rck-flag-img ${className}`}\n loading=\"lazy\"\n />\n );\n }\n\n // For 'emoji' or 'auto', we can use a wrapper that might handle Windows specifically\n // or just render the emoji. \n // However, since Windows doesn't render emoji flags well, \n // many libraries prefer using images for consistent look.\n \n return (\n <span className={`rck-flag-wrapper ${className}`} title={alt || iso2}>\n {flag || iso2}\n </span>\n );\n};\n","import React, { useRef, useEffect } from 'react';\nimport type { CountryMultiSelectProps, Country } from 'react-country-kit-core';\nimport { useMultiSelect } from 'react-country-kit-core';\nimport { getAllCountries, searchCountries } from 'react-country-kit-core';\nimport { SearchInput } from '../shared/SearchInput';\nimport { Flag } from '../shared/Flag';\nimport '../../styles/picker.css';\n\nconst MAX_VISIBLE_CHIPS = 3;\n\nfunction ChipCheckIcon() {\n return (\n <svg viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n );\n}\n\nexport function CountryMultiSelect({\n value,\n onChange,\n placeholder = 'Select countries...',\n maxItems,\n showFlags = true,\n searchable = true,\n disabled = false,\n className,\n label,\n}: CountryMultiSelectProps) {\n const multi = useMultiSelect<Country>(\n getAllCountries(),\n (items, q) => q ? searchCountries(q) : items,\n (c) => c.iso2,\n value,\n onChange,\n maxItems\n );\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!multi.isOpen) return;\n const handler = (e: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) multi.close();\n };\n document.addEventListener('mousedown', handler);\n return () => document.removeEventListener('mousedown', handler);\n }, [multi.isOpen, multi.close]);\n\n useEffect(() => {\n if (!multi.isOpen) return;\n const handler = (e: KeyboardEvent) => { if (e.key === 'Escape') multi.close(); };\n document.addEventListener('keydown', handler);\n return () => document.removeEventListener('keydown', handler);\n }, [multi.isOpen, multi.close]);\n\n const visibleChips = value.slice(0, MAX_VISIBLE_CHIPS);\n const overflow = value.length - MAX_VISIBLE_CHIPS;\n\n return (\n <div ref={wrapperRef} className={`rck-picker${className ? ` ${className}` : ''}`}>\n {label && <span className=\"rck-label\">{label}</span>}\n\n <button\n type=\"button\"\n className={`rck-multiselect-trigger${multi.isOpen ? ' rck-open' : ''}`}\n disabled={disabled}\n onClick={multi.toggle}\n aria-haspopup=\"listbox\"\n aria-expanded={multi.isOpen}\n >\n <div className=\"rck-chips-area\">\n {value.length === 0 ? (\n <span style={{ color: 'var(--rck-text-placeholder)', fontSize: '0.9375rem' }}>{placeholder}</span>\n ) : (\n <>\n {visibleChips.map((c) => (\n <span key={c.iso2} className=\"rck-chip\">\n {showFlags && (\n <span className=\"rck-flag\">\n <Flag iso2={c.iso2} flag={c.flag} flagUrl={c.flag_url} />\n </span>\n )}\n <span className=\"rck-chip-label\">{c.name}</span>\n <button\n type=\"button\"\n className=\"rck-chip-remove\"\n onClick={(e) => { e.stopPropagation(); multi.removeItem(c); onChange(value.filter((x) => x.iso2 !== c.iso2)); }}\n aria-label={`Remove ${c.name}`}\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\">\n <line x1=\"5\" y1=\"5\" x2=\"15\" y2=\"15\" /><line x1=\"15\" y1=\"5\" x2=\"5\" y2=\"15\" />\n </svg>\n </button>\n </span>\n ))}\n {overflow > 0 && (\n <span className=\"rck-chip-overflow\">+{overflow} more</span>\n )}\n </>\n )}\n </div>\n {value.length > 0 && (\n <button\n type=\"button\"\n className=\"rck-multiselect-clear\"\n onClick={(e) => { e.stopPropagation(); multi.clearAll(); onChange([]); }}\n aria-label=\"Clear all\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <line x1=\"5\" y1=\"5\" x2=\"15\" y2=\"15\" /><line x1=\"15\" y1=\"5\" x2=\"5\" y2=\"15\" />\n </svg>\n </button>\n )}\n <svg className=\"rck-chevron\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"5 8 10 13 15 8\" />\n </svg>\n </button>\n\n {multi.isOpen && (\n <div className=\"rck-dropdown\" role=\"listbox\" aria-multiselectable=\"true\">\n {searchable && (\n <SearchInput value={multi.searchQuery} onChange={multi.setSearchQuery} placeholder=\"Search countries...\" />\n )}\n <ul className=\"rck-list\">\n {multi.filteredItems.length === 0 ? (\n <li className=\"rck-empty\"><span className=\"rck-empty-icon\">๐</span><span>No countries found</span></li>\n ) : (\n multi.filteredItems.map((country) => {\n const selected = multi.isSelected(country);\n return (\n <li\n key={country.iso2}\n role=\"option\"\n aria-selected={selected}\n className={`rck-item${selected ? ' rck-item-selected' : ''}`}\n onClick={() => multi.toggleItem(country)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && multi.toggleItem(country)}\n >\n <div className={selected ? 'rck-item-check-multi' : 'rck-item-check-empty'}>\n {selected && <ChipCheckIcon />}\n </div>\n {showFlags && (\n <span className=\"rck-item-flag\">\n <Flag iso2={country.iso2} flag={country.flag} flagUrl={country.flag_url} />\n </span>\n )}\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{country.name}</span>\n <span className=\"rck-item-sub\">{country.iso3} ยท +{country.phone_code}</span>\n </div>\n </li>\n );\n })\n )}\n </ul>\n </div>\n )}\n </div>\n );\n}\n","import React, { useEffect, useRef } from 'react';\n\ninterface PickerBaseProps {\n isOpen: boolean;\n onClose: () => void;\n onToggle: () => void;\n label?: string;\n disabled?: boolean;\n className?: string;\n triggerContent: React.ReactNode;\n children: React.ReactNode;\n id?: string;\n}\n\nconst ChevronIcon = () => (\n <svg\n className=\"rck-chevron\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"5 8 10 13 15 8\" />\n </svg>\n);\n\nexport function PickerBase({\n isOpen,\n onClose,\n onToggle,\n label,\n disabled,\n className,\n triggerContent,\n children,\n id,\n}: PickerBaseProps) {\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n // Close on outside click\n useEffect(() => {\n if (!isOpen) return;\n const handler = (e: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) {\n onClose();\n }\n };\n document.addEventListener('mousedown', handler);\n return () => document.removeEventListener('mousedown', handler);\n }, [isOpen, onClose]);\n\n // Close on Escape\n useEffect(() => {\n if (!isOpen) return;\n const handler = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n document.addEventListener('keydown', handler);\n return () => document.removeEventListener('keydown', handler);\n }, [isOpen, onClose]);\n\n return (\n <div ref={wrapperRef} className={`rck-picker${className ? ` ${className}` : ''}`}>\n {label && (\n <span className=\"rck-label\" id={id ? `${id}-label` : undefined}>\n {label}\n </span>\n )}\n <button\n type=\"button\"\n className={`rck-trigger${isOpen ? ' rck-open' : ''}`}\n disabled={disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen}\n aria-labelledby={id && label ? `${id}-label` : undefined}\n id={id}\n onClick={onToggle}\n >\n {triggerContent}\n <ChevronIcon />\n </button>\n\n {isOpen && (\n <div className=\"rck-dropdown\" role=\"listbox\">\n {children}\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport type { CountryPickerProps } from 'react-country-kit-core';\nimport { useCountryPicker } from 'react-country-kit-core';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport { Flag } from '../shared/Flag';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function CountryPicker({\n value,\n onChange,\n placeholder = 'Select a country',\n searchable = true,\n showFlag = true,\n showPhoneCode = false,\n disabled = false,\n className,\n label,\n}: CountryPickerProps) {\n const picker = useCountryPicker(value, onChange);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n {showFlag && (\n <span className=\"rck-flag\">\n <Flag iso2={value.iso2} flag={value.flag} flagUrl={value.flag_url} />\n </span>\n )}\n <span className=\"rck-trigger-text\">{value.name}</span>\n {showPhoneCode && <span className=\"rck-badge\">+{value.phone_code}</span>}\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={disabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-country-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search country...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Countries\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐</span>\n <span>No countries found</span>\n </li>\n ) : (\n picker.filteredItems.map((country) => {\n const isSelected = value?.iso2 === country.iso2;\n return (\n <li\n key={country.iso2}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(country)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(country)}\n >\n {showFlag && (\n <span className=\"rck-item-flag\">\n <Flag iso2={country.iso2} flag={country.flag} flagUrl={country.flag_url} />\n </span>\n )}\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{country.name}</span>\n <span className=\"rck-item-sub\">{country.iso3} ยท {country.division_type}</span>\n </div>\n <div className=\"rck-item-right\">\n {showPhoneCode && (\n <span className=\"rck-item-phone\">+{country.phone_code}</span>\n )}\n {isSelected && <CheckIcon />}\n </div>\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n","import React, { useRef, useEffect } from 'react';\nimport type { CurrencyMultiSelectProps, Currency } from 'react-country-kit-core';\nimport { useMultiSelect } from 'react-country-kit-core';\nimport { getAllCurrencies, searchCurrencies } from 'react-country-kit-core';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst MAX_VISIBLE_CHIPS = 3;\n\nfunction ChipCheckIcon() {\n return (\n <svg viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n );\n}\n\nexport function CurrencyMultiSelect({\n value,\n onChange,\n placeholder = 'Select currencies...',\n maxItems,\n showSymbol = true,\n searchable = true,\n disabled = false,\n className,\n label,\n}: CurrencyMultiSelectProps) {\n const multi = useMultiSelect<Currency>(\n getAllCurrencies(),\n (items, q) => q ? searchCurrencies(q) : items,\n (c) => c.code,\n value,\n onChange,\n maxItems\n );\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!multi.isOpen) return;\n const handler = (e: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) multi.close();\n };\n document.addEventListener('mousedown', handler);\n return () => document.removeEventListener('mousedown', handler);\n }, [multi.isOpen, multi.close]);\n\n useEffect(() => {\n if (!multi.isOpen) return;\n const handler = (e: KeyboardEvent) => { if (e.key === 'Escape') multi.close(); };\n document.addEventListener('keydown', handler);\n return () => document.removeEventListener('keydown', handler);\n }, [multi.isOpen, multi.close]);\n\n const visibleChips = value.slice(0, MAX_VISIBLE_CHIPS);\n const overflow = value.length - MAX_VISIBLE_CHIPS;\n\n return (\n <div ref={wrapperRef} className={`rck-picker${className ? ` ${className}` : ''}`}>\n {label && <span className=\"rck-label\">{label}</span>}\n\n <button\n type=\"button\"\n className={`rck-multiselect-trigger${multi.isOpen ? ' rck-open' : ''}`}\n disabled={disabled}\n onClick={multi.toggle}\n aria-haspopup=\"listbox\"\n aria-expanded={multi.isOpen}\n >\n <div className=\"rck-chips-area\">\n {value.length === 0 ? (\n <span style={{ color: 'var(--rck-text-placeholder)', fontSize: '0.9375rem' }}>{placeholder}</span>\n ) : (\n <>\n {visibleChips.map((c) => (\n <span key={c.code} className=\"rck-chip\">\n {showSymbol && <span>{c.symbol}</span>}\n <span className=\"rck-chip-label\">{c.code}</span>\n <button\n type=\"button\"\n className=\"rck-chip-remove\"\n onClick={(e) => { e.stopPropagation(); onChange(value.filter((x) => x.code !== c.code)); }}\n aria-label={`Remove ${c.code}`}\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\">\n <line x1=\"5\" y1=\"5\" x2=\"15\" y2=\"15\" /><line x1=\"15\" y1=\"5\" x2=\"5\" y2=\"15\" />\n </svg>\n </button>\n </span>\n ))}\n {overflow > 0 && <span className=\"rck-chip-overflow\">+{overflow} more</span>}\n </>\n )}\n </div>\n {value.length > 0 && (\n <button\n type=\"button\"\n className=\"rck-multiselect-clear\"\n onClick={(e) => { e.stopPropagation(); multi.clearAll(); onChange([]); }}\n aria-label=\"Clear all\"\n >\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <line x1=\"5\" y1=\"5\" x2=\"15\" y2=\"15\" /><line x1=\"15\" y1=\"5\" x2=\"5\" y2=\"15\" />\n </svg>\n </button>\n )}\n <svg className=\"rck-chevron\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"5 8 10 13 15 8\" />\n </svg>\n </button>\n\n {multi.isOpen && (\n <div className=\"rck-dropdown\" role=\"listbox\" aria-multiselectable=\"true\">\n {searchable && (\n <SearchInput value={multi.searchQuery} onChange={multi.setSearchQuery} placeholder=\"Search currencies...\" />\n )}\n <ul className=\"rck-list\">\n {multi.filteredItems.length === 0 ? (\n <li className=\"rck-empty\"><span className=\"rck-empty-icon\">๐ฐ</span><span>No currencies found</span></li>\n ) : (\n multi.filteredItems.map((currency) => {\n const selected = multi.isSelected(currency);\n return (\n <li\n key={currency.code}\n role=\"option\"\n aria-selected={selected}\n className={`rck-item${selected ? ' rck-item-selected' : ''}`}\n onClick={() => multi.toggleItem(currency)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && multi.toggleItem(currency)}\n >\n <div className={selected ? 'rck-item-check-multi' : 'rck-item-check-empty'}>\n {selected && <ChipCheckIcon />}\n </div>\n {showSymbol && <span className=\"rck-item-symbol\">{currency.symbol}</span>}\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{currency.name}</span>\n <span className=\"rck-item-sub\">{currency.code}</span>\n </div>\n </li>\n );\n })\n )}\n </ul>\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport type { CurrencyPickerProps } from 'react-country-kit-core';\nimport { useCurrencyPicker } from 'react-country-kit-core';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function CurrencyPicker({\n value,\n onChange,\n placeholder = 'Select a currency',\n searchable = true,\n showSymbol = true,\n disabled = false,\n className,\n label,\n}: CurrencyPickerProps) {\n const picker = useCurrencyPicker(value, onChange);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n {showSymbol && <span className=\"rck-item-symbol\">{value.symbol}</span>}\n <span className=\"rck-trigger-text\">{value.code} โ {value.name}</span>\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={disabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-currency-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search currency...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Currencies\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐ฐ</span>\n <span>No currencies found</span>\n </li>\n ) : (\n picker.filteredItems.map((currency) => {\n const isSelected = value?.code === currency.code;\n return (\n <li\n key={currency.code}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(currency)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(currency)}\n >\n {showSymbol && <span className=\"rck-item-symbol\">{currency.symbol}</span>}\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{currency.name}</span>\n <span className=\"rck-item-sub\">{currency.code}</span>\n </div>\n {isSelected && <CheckIcon />}\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n","import React from 'react';\nimport type { DivisionPickerProps } from 'react-country-kit-core';\nimport { useDivisionPicker } from 'react-country-kit-core';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function DivisionPicker({\n countryIso2,\n value,\n onChange,\n placeholder = 'Select a division',\n searchable = true,\n disabled = false,\n className,\n label,\n}: DivisionPickerProps) {\n const picker = useDivisionPicker(countryIso2, value, onChange);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n <span className=\"rck-trigger-text\">{value.name}</span>\n <span className=\"rck-badge\">{value.iso2}</span>\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n const isDisabled = disabled || !countryIso2;\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={isDisabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-division-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search division...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Divisions\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐บ๏ธ</span>\n <span>No divisions found</span>\n </li>\n ) : (\n picker.filteredItems.map((division) => {\n const isSelected = value?.iso2 === division.iso2 && value?.name === division.name;\n return (\n <li\n key={`${division.iso2}-${division.name}`}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(division)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(division)}\n >\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{division.name}</span>\n <span className=\"rck-item-sub\">{division.timezone}</span>\n </div>\n <div className=\"rck-item-right\">\n <span className=\"rck-badge\">{division.iso2}</span>\n {isSelected && <CheckIcon />}\n </div>\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n","import React from 'react';\nimport type { LanguagePickerProps } from 'react-country-kit-core';\nimport { useLanguagePicker } from 'react-country-kit-core';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function LanguagePicker({\n value,\n onChange,\n placeholder = 'Select a language',\n searchable = true,\n showNativeName = true,\n disabled = false,\n className,\n label,\n}: LanguagePickerProps) {\n const picker = useLanguagePicker(value, onChange);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n <span className=\"rck-trigger-text\">{value.english_name}</span>\n {showNativeName && value.native_name !== value.english_name && (\n <span className=\"rck-native-name\">{value.native_name}</span>\n )}\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={disabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-language-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search language...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Languages\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐</span>\n <span>No languages found</span>\n </li>\n ) : (\n picker.filteredItems.map((lang) => {\n const isSelected = value?.code === lang.code;\n return (\n <li\n key={lang.code}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(lang)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(lang)}\n >\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{lang.english_name}</span>\n {showNativeName && lang.native_name !== lang.english_name && (\n <span className=\"rck-item-sub\">{lang.native_name}</span>\n )}\n </div>\n <div className=\"rck-item-right\">\n <span className=\"rck-badge\" style={{ fontSize: '0.68rem' }}>{lang.code}</span>\n {isSelected && <CheckIcon />}\n </div>\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n","import React, { useRef, useEffect } from 'react';\nimport type { PhoneInputProps } from 'react-country-kit-core';\nimport { usePhoneInput } from 'react-country-kit-core';\nimport { SearchInput } from '../shared/SearchInput';\nimport { Flag } from '../shared/Flag';\nimport '../../styles/picker.css';\n\nexport function PhoneInput({\n value,\n onChange,\n defaultCountryIso2 = 'US',\n placeholder = 'Phone number',\n showFlag = true,\n disabled = false,\n className,\n label,\n}: PhoneInputProps) {\n const phone = usePhoneInput(value, onChange, defaultCountryIso2);\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n // Close dropdown on outside click\n useEffect(() => {\n if (!phone.isOpen) return;\n const handler = (e: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(e.target as Node)) {\n phone.close();\n }\n };\n document.addEventListener('mousedown', handler);\n return () => document.removeEventListener('mousedown', handler);\n }, [phone.isOpen, phone.close]);\n\n // Close on Escape\n useEffect(() => {\n if (!phone.isOpen) return;\n const handler = (e: KeyboardEvent) => { if (e.key === 'Escape') phone.close(); };\n document.addEventListener('keydown', handler);\n return () => document.removeEventListener('keydown', handler);\n }, [phone.isOpen, phone.close]);\n\n return (\n <div ref={wrapperRef} className={`rck-phone-wrapper${className ? ` ${className}` : ''}`}>\n {label && <span className=\"rck-label\">{label}</span>}\n\n <div className={`rck-phone-field${disabled ? ' rck-phone-disabled' : ''}`}>\n {/* Country selector */}\n <button\n type=\"button\"\n className=\"rck-phone-country-btn\"\n onClick={phone.toggle}\n aria-expanded={phone.isOpen}\n aria-label=\"Select country code\"\n disabled={disabled}\n >\n {showFlag && phone.country && (\n <span className=\"rck-phone-flag\">\n <Flag iso2={phone.country.iso2} flag={phone.country.flag} flagUrl={phone.country.flag_url} />\n </span>\n )}\n <span className=\"rck-phone-dial\">\n {phone.country ? `+${phone.country.phone_code}` : '+?'}\n </span>\n <svg className=\"rck-phone-chevron\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\">\n <polyline points=\"5 8 10 13 15 8\" />\n </svg>\n </button>\n\n {/* Phone number input */}\n <input\n type=\"tel\"\n className=\"rck-phone-input\"\n value={phone.number}\n onChange={(e) => phone.setNumber(e.target.value)}\n placeholder={placeholder}\n disabled={disabled}\n inputMode=\"numeric\"\n autoComplete=\"tel-national\"\n />\n\n {/* Country dropdown */}\n {phone.isOpen && (\n <div className=\"rck-phone-dropdown\">\n <SearchInput\n value={phone.searchQuery}\n onChange={phone.setSearchQuery}\n placeholder=\"Search country or dial code...\"\n />\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Countries\">\n {phone.filteredCountries.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐</span>\n <span>No countries found</span>\n </li>\n ) : (\n phone.filteredCountries.map((country) => {\n const isSelected = phone.country?.iso2 === country.iso2;\n return (\n <li\n key={country.iso2}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => phone.selectCountry(country)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && phone.selectCountry(country)}\n >\n <span className=\"rck-item-flag\">\n <Flag iso2={country.iso2} flag={country.flag} flagUrl={country.flag_url} />\n </span>\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{country.name}</span>\n <span className=\"rck-item-sub\">{country.iso2}</span>\n </div>\n <span className=\"rck-item-phone\">+{country.phone_code}</span>\n </li>\n );\n })\n )}\n </ul>\n </div>\n )}\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport type { TimezonePickerProps } from 'react-country-kit-core';\nimport { useTimezonePicker } from 'react-country-kit-core';\nimport { PickerBase } from '../shared/PickerBase';\nimport { SearchInput } from '../shared/SearchInput';\nimport '../../styles/picker.css';\n\nconst CheckIcon = () => (\n <svg className=\"rck-item-check\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2.5\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <polyline points=\"4 10 8 14 16 6\" />\n </svg>\n);\n\nexport function TimezonePicker({\n value,\n onChange,\n placeholder = 'Select a timezone',\n searchable = true,\n countryIso2,\n disabled = false,\n className,\n label,\n}: TimezonePickerProps) {\n const picker = useTimezonePicker(value, onChange, countryIso2);\n\n const triggerContent = (\n <div className=\"rck-trigger-content\">\n {value ? (\n <>\n <span className=\"rck-trigger-text\">{value.name}</span>\n <span className=\"rck-badge\">{value.offset_name}</span>\n </>\n ) : (\n <span className=\"rck-trigger-text rck-placeholder\">{placeholder}</span>\n )}\n </div>\n );\n\n return (\n <PickerBase\n isOpen={picker.isOpen}\n onClose={picker.close}\n onToggle={picker.toggle}\n label={label}\n disabled={disabled}\n className={className}\n triggerContent={triggerContent}\n id=\"rck-timezone-picker\"\n >\n {searchable && (\n <SearchInput\n value={picker.searchQuery}\n onChange={picker.setSearchQuery}\n placeholder=\"Search timezone...\"\n />\n )}\n <ul className=\"rck-list\" role=\"listbox\" aria-label=\"Timezones\">\n {picker.filteredItems.length === 0 ? (\n <li className=\"rck-empty\">\n <span className=\"rck-empty-icon\">๐</span>\n <span>No timezones found</span>\n </li>\n ) : (\n picker.filteredItems.map((tz) => {\n const isSelected = value?.name === tz.name;\n return (\n <li\n key={tz.name}\n role=\"option\"\n aria-selected={isSelected}\n className={`rck-item${isSelected ? ' rck-item-selected' : ''}`}\n onClick={() => picker.selectItem(tz)}\n tabIndex={0}\n onKeyDown={(e) => e.key === 'Enter' && picker.selectItem(tz)}\n >\n <div className=\"rck-item-main\">\n <span className=\"rck-item-name\">{tz.name}</span>\n <span className=\"rck-item-sub\">{tz.tzName} ยท {tz.abbreviation}</span>\n </div>\n <div className=\"rck-item-right\">\n <span className=\"rck-offset-badge\">{tz.offset_name}</span>\n {isSelected && <CheckIcon />}\n </div>\n </li>\n );\n })\n )}\n </ul>\n </PickerBase>\n );\n}\n"],"names":["SearchInput","value","onChange","placeholder","autoFocus","inputRef","useRef","useEffect","_a","jsxs","jsx","e","Flag","iso2","flag","flagUrl","className","alt","mode","url","MAX_VISIBLE_CHIPS","ChipCheckIcon","CountryMultiSelect","maxItems","showFlags","searchable","disabled","label","multi","useMultiSelect","getAllCountries","items","q","searchCountries","c","wrapperRef","handler","visibleChips","overflow","Fragment","x","country","selected","ChevronIcon","PickerBase","isOpen","onClose","onToggle","triggerContent","children","id","CheckIcon","CountryPicker","showFlag","showPhoneCode","picker","useCountryPicker","isSelected","CurrencyMultiSelect","showSymbol","getAllCurrencies","searchCurrencies","currency","CurrencyPicker","useCurrencyPicker","DivisionPicker","countryIso2","useDivisionPicker","isDisabled","division","LanguagePicker","showNativeName","useLanguagePicker","lang","PhoneInput","defaultCountryIso2","phone","usePhoneInput","TimezonePicker","useTimezonePicker","tz"],"mappings":"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"}
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--rck-font: "Inter", system-ui, -apple-system, sans-serif;--rck-bg: #ffffff;--rck-surface: #f8fafc;--rck-surface-hover: #f1f5f9;--rck-border: #e2e8f0;--rck-border-focus: #6366f1;--rck-text-primary: #0f172a;--rck-text-secondary: #64748b;--rck-text-placeholder: #94a3b8;--rck-accent: #6366f1;--rck-accent-light: #eef2ff;--rck-accent-dark: #4f46e5;--rck-selected-bg: #eef2ff;--rck-selected-text: #4f46e5;--rck-shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .05);--rck-shadow-md: 0 4px 16px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .06);--rck-shadow-lg: 0 10px 30px rgba(0, 0, 0, .12), 0 4px 10px rgba(0, 0, 0, .07);--rck-radius-sm: 8px;--rck-radius-md: 12px;--rck-radius-lg: 16px;--rck-transition: .18s cubic-bezier(.4, 0, .2, 1);--rck-dropdown-max-height: 320px;--rck-z-index: 9999}[data-theme=dark]{--rck-bg: #1e293b;--rck-surface: #0f172a;--rck-surface-hover: #1e293b;--rck-border: #334155;--rck-border-focus: #818cf8;--rck-text-primary: #f8fafc;--rck-text-secondary: #94a3b8;--rck-text-placeholder: #64748b;--rck-accent: #818cf8;--rck-accent-light: #1e1b4b;--rck-accent-dark: #6366f1;--rck-selected-bg: #1e1b4b;--rck-selected-text: #a5b4fc;--rck-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--rck-shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--rck-shadow-lg: 0 10px 30px rgba(0, 0, 0, .5)}.rck-picker{position:relative;display:inline-flex;flex-direction:column;font-family:var(--rck-font);width:100%}.rck-label{display:block;font-size:.8125rem;font-weight:600;color:var(--rck-text-secondary);margin-bottom:6px;letter-spacing:.02em;text-transform:uppercase}.rck-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:var(--rck-bg);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-md);cursor:pointer;font-family:var(--rck-font);font-size:.9375rem;color:var(--rck-text-primary);text-align:left;transition:border-color var(--rck-transition),box-shadow var(--rck-transition),background var(--rck-transition);outline:none;box-shadow:var(--rck-shadow-sm);min-height:46px;-webkit-user-select:none;user-select:none}.rck-trigger:hover:not(:disabled){border-color:var(--rck-accent);box-shadow:var(--rck-shadow-md)}.rck-trigger:focus-visible{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 20%,transparent)}.rck-trigger.rck-open{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 20%,transparent)}.rck-trigger:disabled{opacity:.5;cursor:not-allowed;background:var(--rck-surface)}.rck-trigger-content{flex:1;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.rck-trigger-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rck-placeholder{color:var(--rck-text-placeholder)}.rck-badge{display:inline-flex;align-items:center;padding:2px 8px;background:var(--rck-accent-light);color:var(--rck-accent-dark);border-radius:100px;font-size:.75rem;font-weight:600;letter-spacing:.03em;flex-shrink:0}.rck-flag{font-size:1.375rem;line-height:1;flex-shrink:0}.rck-chevron{flex-shrink:0;width:18px;height:18px;color:var(--rck-text-secondary);transition:transform var(--rck-transition),color var(--rck-transition)}.rck-trigger.rck-open .rck-chevron{transform:rotate(180deg);color:var(--rck-accent)}.rck-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:var(--rck-z-index);background:var(--rck-bg);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-lg);box-shadow:var(--rck-shadow-lg);overflow:hidden;display:flex;flex-direction:column;animation:rck-dropdown-in var(--rck-transition) both;transform-origin:top}@keyframes rck-dropdown-in{0%{opacity:0;transform:scaleY(.92) translateY(-6px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.rck-search-wrapper{padding:12px 12px 8px;border-bottom:1px solid var(--rck-border)}.rck-search{display:flex;align-items:center;gap:8px;background:var(--rck-surface);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-sm);padding:8px 12px;transition:border-color var(--rck-transition),box-shadow var(--rck-transition)}.rck-search:focus-within{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 15%,transparent)}.rck-search-icon{width:15px;height:15px;color:var(--rck-text-placeholder);flex-shrink:0}.rck-search input{flex:1;border:none;background:transparent;font-family:var(--rck-font);font-size:.875rem;color:var(--rck-text-primary);outline:none;min-width:0}.rck-search input::placeholder{color:var(--rck-text-placeholder)}.rck-list{overflow-y:auto;max-height:var(--rck-dropdown-max-height);padding:6px;scrollbar-width:thin;scrollbar-color:var(--rck-border) transparent}.rck-list::-webkit-scrollbar{width:4px}.rck-list::-webkit-scrollbar-track{background:transparent}.rck-list::-webkit-scrollbar-thumb{background:var(--rck-border);border-radius:99px}.rck-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--rck-radius-sm);cursor:pointer;transition:background var(--rck-transition),color var(--rck-transition);font-family:var(--rck-font);font-size:.9rem;color:var(--rck-text-primary);border:none;background:transparent;width:100%;text-align:left;-webkit-user-select:none;user-select:none;outline:none}.rck-item:hover,.rck-item:focus-visible{background:var(--rck-surface-hover)}.rck-item.rck-item-selected{background:var(--rck-selected-bg);color:var(--rck-selected-text);font-weight:600}.rck-item-flag{font-size:1.25rem;line-height:1;flex-shrink:0}.rck-item-main{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.rck-item-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rck-item-sub{font-size:.76rem;color:var(--rck-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rck-item-selected .rck-item-sub{color:var(--rck-accent-dark);opacity:.8}.rck-item-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.rck-item-phone{font-size:.78rem;color:var(--rck-text-secondary);font-variant-numeric:tabular-nums;background:var(--rck-surface);padding:2px 6px;border-radius:4px}.rck-item-symbol{font-size:1rem;font-weight:600;color:var(--rck-accent);min-width:24px;text-align:center}.rck-item-check{width:16px;height:16px;color:var(--rck-accent);flex-shrink:0}.rck-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;gap:8px;color:var(--rck-text-secondary);font-size:.875rem}.rck-empty-icon{font-size:2rem;opacity:.4}.rck-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--rck-z-index) - 1)}.rck-offset-badge{font-size:.72rem;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--rck-accent-light);color:var(--rck-accent-dark);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.rck-native-name{font-size:.78rem;color:var(--rck-text-secondary);font-style:italic}.rck-phone-wrapper{display:flex;flex-direction:column;gap:6px;font-family:var(--rck-font);width:100%;position:relative}.rck-phone-field{display:flex;align-items:stretch;border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-md);background:var(--rck-bg);box-shadow:var(--rck-shadow-sm);overflow:visible;position:relative;transition:border-color var(--rck-transition),box-shadow var(--rck-transition);min-height:46px}.rck-phone-field:focus-within{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 20%,transparent)}.rck-phone-field.rck-phone-disabled{opacity:.5;pointer-events:none;background:var(--rck-surface)}.rck-phone-country-btn{display:flex;align-items:center;gap:5px;padding:0 12px;border:none;border-right:1.5px solid var(--rck-border);border-radius:var(--rck-radius-md) 0 0 var(--rck-radius-md);background:var(--rck-surface);cursor:pointer;font-family:var(--rck-font);font-size:.875rem;font-weight:600;color:var(--rck-text-primary);white-space:nowrap;flex-shrink:0;transition:background var(--rck-transition);outline:none}.rck-phone-country-btn:hover:not(:disabled){background:var(--rck-surface-hover)}.rck-phone-flag{font-size:1.25rem;line-height:1}.rck-phone-dial{font-size:.875rem;font-weight:600;color:var(--rck-accent);font-variant-numeric:tabular-nums;letter-spacing:.01em}.rck-phone-chevron{width:14px;height:14px;color:var(--rck-text-secondary);transition:transform var(--rck-transition)}.rck-phone-country-btn[aria-expanded=true] .rck-phone-chevron{transform:rotate(180deg)}.rck-phone-input{flex:1;border:none;background:transparent;font-family:var(--rck-font);font-size:.9375rem;color:var(--rck-text-primary);padding:0 14px;outline:none;min-width:0}.rck-phone-input::placeholder{color:var(--rck-text-placeholder)}.rck-phone-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;z-index:var(--rck-z-index);background:var(--rck-bg);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-lg);box-shadow:var(--rck-shadow-lg);overflow:hidden;animation:rck-dropdown-in var(--rck-transition) both}.rck-multiselect-trigger{display:flex;align-items:center;gap:6px;width:100%;min-height:46px;padding:7px 14px;background:var(--rck-bg);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-md);cursor:pointer;font-family:var(--rck-font);text-align:left;transition:border-color var(--rck-transition),box-shadow var(--rck-transition);outline:none;box-shadow:var(--rck-shadow-sm)}.rck-multiselect-trigger:hover:not(:disabled){border-color:var(--rck-accent);box-shadow:var(--rck-shadow-md)}.rck-multiselect-trigger:focus-visible,.rck-multiselect-trigger.rck-open{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 20%,transparent)}.rck-multiselect-trigger:disabled{opacity:.5;cursor:not-allowed}.rck-chips-area{flex:1;display:flex;flex-wrap:wrap;gap:5px;min-width:0;align-items:center}.rck-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--rck-accent-light);color:var(--rck-accent-dark);border-radius:100px;font-size:.8rem;font-weight:600;white-space:nowrap;max-width:140px;overflow:hidden}.rck-chip-label{overflow:hidden;text-overflow:ellipsis}.rck-chip-remove{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:0;color:var(--rck-accent-dark);opacity:.6;transition:opacity .15s;flex-shrink:0}.rck-chip-remove:hover{opacity:1}.rck-chip-overflow{display:inline-flex;align-items:center;padding:3px 8px;background:var(--rck-surface-hover);color:var(--rck-text-secondary);border-radius:100px;font-size:.78rem;font-weight:600;white-space:nowrap}.rck-multiselect-clear{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--rck-text-secondary);padding:2px;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.rck-multiselect-clear:hover{color:var(--rck-text-primary);background:var(--rck-surface-hover)}.rck-item-check-multi{width:16px;height:16px;background:var(--rck-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rck-item-check-multi svg{width:10px;height:10px;stroke:#fff}.rck-item-check-empty{width:16px;height:16px;border:1.5px solid var(--rck-border);border-radius:50%;flex-shrink:0}
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{--rck-font: "Inter", system-ui, -apple-system, sans-serif;--rck-bg: #ffffff;--rck-surface: #f8fafc;--rck-surface-hover: #f1f5f9;--rck-border: #e2e8f0;--rck-border-focus: #6366f1;--rck-text-primary: #0f172a;--rck-text-secondary: #64748b;--rck-text-placeholder: #94a3b8;--rck-accent: #6366f1;--rck-accent-light: #eef2ff;--rck-accent-dark: #4f46e5;--rck-selected-bg: #eef2ff;--rck-selected-text: #4f46e5;--rck-shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .05);--rck-shadow-md: 0 4px 16px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .06);--rck-shadow-lg: 0 10px 30px rgba(0, 0, 0, .12), 0 4px 10px rgba(0, 0, 0, .07);--rck-radius-sm: 8px;--rck-radius-md: 12px;--rck-radius-lg: 16px;--rck-transition: .18s cubic-bezier(.4, 0, .2, 1);--rck-dropdown-max-height: 320px;--rck-z-index: 9999}[data-theme=dark]{--rck-bg: #1e293b;--rck-surface: #0f172a;--rck-surface-hover: #1e293b;--rck-border: #334155;--rck-border-focus: #818cf8;--rck-text-primary: #f8fafc;--rck-text-secondary: #94a3b8;--rck-text-placeholder: #64748b;--rck-accent: #818cf8;--rck-accent-light: #1e1b4b;--rck-accent-dark: #6366f1;--rck-selected-bg: #1e1b4b;--rck-selected-text: #a5b4fc;--rck-shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--rck-shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--rck-shadow-lg: 0 10px 30px rgba(0, 0, 0, .5)}.rck-picker{position:relative;display:inline-flex;flex-direction:column;font-family:var(--rck-font);width:100%}.rck-label{display:block;font-size:.8125rem;font-weight:600;color:var(--rck-text-secondary);margin-bottom:6px;letter-spacing:.02em;text-transform:uppercase}.rck-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:var(--rck-bg);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-md);cursor:pointer;font-family:var(--rck-font);font-size:.9375rem;color:var(--rck-text-primary);text-align:left;transition:border-color var(--rck-transition),box-shadow var(--rck-transition),background var(--rck-transition);outline:none;box-shadow:var(--rck-shadow-sm);min-height:46px;-webkit-user-select:none;user-select:none}.rck-trigger:hover:not(:disabled){border-color:var(--rck-accent);box-shadow:var(--rck-shadow-md)}.rck-trigger:focus-visible{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 20%,transparent)}.rck-trigger.rck-open{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 20%,transparent)}.rck-trigger:disabled{opacity:.5;cursor:not-allowed;background:var(--rck-surface)}.rck-trigger-content{flex:1;display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden}.rck-trigger-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rck-placeholder{color:var(--rck-text-placeholder)}.rck-badge{display:inline-flex;align-items:center;padding:2px 8px;background:var(--rck-accent-light);color:var(--rck-accent-dark);border-radius:100px;font-size:.75rem;font-weight:600;letter-spacing:.03em;flex-shrink:0}.rck-flag{font-size:1.375rem;line-height:1;flex-shrink:0;display:flex;align-items:center}.rck-flag-img{width:24px;height:16px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px #0000000d}.rck-flag-wrapper{display:inline-flex;align-items:center}.rck-chevron{flex-shrink:0;width:18px;height:18px;color:var(--rck-text-secondary);transition:transform var(--rck-transition),color var(--rck-transition)}.rck-trigger.rck-open .rck-chevron{transform:rotate(180deg);color:var(--rck-accent)}.rck-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:var(--rck-z-index);background:var(--rck-bg);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-lg);box-shadow:var(--rck-shadow-lg);overflow:hidden;display:flex;flex-direction:column;animation:rck-dropdown-in var(--rck-transition) both;transform-origin:top}@keyframes rck-dropdown-in{0%{opacity:0;transform:scaleY(.92) translateY(-6px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.rck-search-wrapper{padding:12px 12px 8px;border-bottom:1px solid var(--rck-border)}.rck-search{display:flex;align-items:center;gap:8px;background:var(--rck-surface);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-sm);padding:8px 12px;transition:border-color var(--rck-transition),box-shadow var(--rck-transition)}.rck-search:focus-within{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 15%,transparent)}.rck-search-icon{width:15px;height:15px;color:var(--rck-text-placeholder);flex-shrink:0}.rck-search input{flex:1;border:none;background:transparent;font-family:var(--rck-font);font-size:.875rem;color:var(--rck-text-primary);outline:none;min-width:0}.rck-search input::placeholder{color:var(--rck-text-placeholder)}.rck-list{overflow-y:auto;max-height:var(--rck-dropdown-max-height);padding:6px;scrollbar-width:thin;scrollbar-color:var(--rck-border) transparent}.rck-list::-webkit-scrollbar{width:4px}.rck-list::-webkit-scrollbar-track{background:transparent}.rck-list::-webkit-scrollbar-thumb{background:var(--rck-border);border-radius:99px}.rck-item{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--rck-radius-sm);cursor:pointer;transition:background var(--rck-transition),color var(--rck-transition);font-family:var(--rck-font);font-size:.9rem;color:var(--rck-text-primary);border:none;background:transparent;width:100%;text-align:left;-webkit-user-select:none;user-select:none;outline:none}.rck-item:hover,.rck-item:focus-visible{background:var(--rck-surface-hover)}.rck-item.rck-item-selected{background:var(--rck-selected-bg);color:var(--rck-selected-text);font-weight:600}.rck-item-flag{font-size:1.25rem;line-height:1;flex-shrink:0}.rck-item-main{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.rck-item-name{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rck-item-sub{font-size:.76rem;color:var(--rck-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rck-item-selected .rck-item-sub{color:var(--rck-accent-dark);opacity:.8}.rck-item-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.rck-item-phone{font-size:.78rem;color:var(--rck-text-secondary);font-variant-numeric:tabular-nums;background:var(--rck-surface);padding:2px 6px;border-radius:4px}.rck-item-symbol{font-size:1rem;font-weight:600;color:var(--rck-accent);min-width:24px;text-align:center}.rck-item-check{width:16px;height:16px;color:var(--rck-accent);flex-shrink:0}.rck-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px 16px;gap:8px;color:var(--rck-text-secondary);font-size:.875rem}.rck-empty-icon{font-size:2rem;opacity:.4}.rck-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--rck-z-index) - 1)}.rck-offset-badge{font-size:.72rem;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--rck-accent-light);color:var(--rck-accent-dark);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.rck-native-name{font-size:.78rem;color:var(--rck-text-secondary);font-style:italic}.rck-phone-wrapper{display:flex;flex-direction:column;gap:6px;font-family:var(--rck-font);width:100%;position:relative}.rck-phone-field{display:flex;align-items:stretch;border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-md);background:var(--rck-bg);box-shadow:var(--rck-shadow-sm);overflow:visible;position:relative;transition:border-color var(--rck-transition),box-shadow var(--rck-transition);min-height:46px}.rck-phone-field:focus-within{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 20%,transparent)}.rck-phone-field.rck-phone-disabled{opacity:.5;pointer-events:none;background:var(--rck-surface)}.rck-phone-country-btn{display:flex;align-items:center;gap:5px;padding:0 12px;border:none;border-right:1.5px solid var(--rck-border);border-radius:var(--rck-radius-md) 0 0 var(--rck-radius-md);background:var(--rck-surface);cursor:pointer;font-family:var(--rck-font);font-size:.875rem;font-weight:600;color:var(--rck-text-primary);white-space:nowrap;flex-shrink:0;transition:background var(--rck-transition);outline:none}.rck-phone-country-btn:hover:not(:disabled){background:var(--rck-surface-hover)}.rck-phone-flag{font-size:1.25rem;line-height:1}.rck-phone-dial{font-size:.875rem;font-weight:600;color:var(--rck-accent);font-variant-numeric:tabular-nums;letter-spacing:.01em}.rck-phone-chevron{width:14px;height:14px;color:var(--rck-text-secondary);transition:transform var(--rck-transition)}.rck-phone-country-btn[aria-expanded=true] .rck-phone-chevron{transform:rotate(180deg)}.rck-phone-input{flex:1;border:none;background:transparent;font-family:var(--rck-font);font-size:.9375rem;color:var(--rck-text-primary);padding:0 14px;outline:none;min-width:0}.rck-phone-input::placeholder{color:var(--rck-text-placeholder)}.rck-phone-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:280px;z-index:var(--rck-z-index);background:var(--rck-bg);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-lg);box-shadow:var(--rck-shadow-lg);overflow:hidden;animation:rck-dropdown-in var(--rck-transition) both}.rck-multiselect-trigger{display:flex;align-items:center;gap:6px;width:100%;min-height:46px;padding:7px 14px;background:var(--rck-bg);border:1.5px solid var(--rck-border);border-radius:var(--rck-radius-md);cursor:pointer;font-family:var(--rck-font);text-align:left;transition:border-color var(--rck-transition),box-shadow var(--rck-transition);outline:none;box-shadow:var(--rck-shadow-sm)}.rck-multiselect-trigger:hover:not(:disabled){border-color:var(--rck-accent);box-shadow:var(--rck-shadow-md)}.rck-multiselect-trigger:focus-visible,.rck-multiselect-trigger.rck-open{border-color:var(--rck-border-focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--rck-accent) 20%,transparent)}.rck-multiselect-trigger:disabled{opacity:.5;cursor:not-allowed}.rck-chips-area{flex:1;display:flex;flex-wrap:wrap;gap:5px;min-width:0;align-items:center}.rck-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:var(--rck-accent-light);color:var(--rck-accent-dark);border-radius:100px;font-size:.8rem;font-weight:600;white-space:nowrap;max-width:140px;overflow:hidden}.rck-chip-label{overflow:hidden;text-overflow:ellipsis}.rck-chip-remove{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;padding:0;color:var(--rck-accent-dark);opacity:.6;transition:opacity .15s;flex-shrink:0}.rck-chip-remove:hover{opacity:1}.rck-chip-overflow{display:inline-flex;align-items:center;padding:3px 8px;background:var(--rck-surface-hover);color:var(--rck-text-secondary);border-radius:100px;font-size:.78rem;font-weight:600;white-space:nowrap}.rck-multiselect-clear{display:inline-flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--rck-text-secondary);padding:2px;border-radius:4px;transition:color .15s,background .15s;flex-shrink:0}.rck-multiselect-clear:hover{color:var(--rck-text-primary);background:var(--rck-surface-hover)}.rck-item-check-multi{width:16px;height:16px;background:var(--rck-accent);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.rck-item-check-multi svg{width:10px;height:10px;stroke:#fff}.rck-item-check-empty{width:16px;height:16px;border:1.5px solid var(--rck-border);border-radius:50%;flex-shrink:0}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CountryMultiSelectProps } from 'react-country-kit-core';
|
|
2
|
+
|
|
2
3
|
export declare function CountryMultiSelect({ value, onChange, placeholder, maxItems, showFlags, searchable, disabled, className, label, }: CountryMultiSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CountryPickerProps } from 'react-country-kit-core';
|
|
2
|
+
|
|
2
3
|
export declare function CountryPicker({ value, onChange, placeholder, searchable, showFlag, showPhoneCode, disabled, className, label, }: CountryPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CurrencyMultiSelectProps } from 'react-country-kit-core';
|
|
2
|
+
|
|
2
3
|
export declare function CurrencyMultiSelect({ value, onChange, placeholder, maxItems, showSymbol, searchable, disabled, className, label, }: CurrencyMultiSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { CurrencyPickerProps } from 'react-country-kit-core';
|
|
2
|
+
|
|
2
3
|
export declare function CurrencyPicker({ value, onChange, placeholder, searchable, showSymbol, countryIso2, autoSelect, disabled, className, label, }: CurrencyPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { DivisionPickerProps } from 'react-country-kit-core';
|
|
2
|
+
|
|
2
3
|
export declare function DivisionPicker({ countryIso2, value, onChange, placeholder, searchable, disabled, className, label, }: DivisionPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { LanguagePickerProps } from 'react-country-kit-core';
|
|
2
|
+
|
|
2
3
|
export declare function LanguagePicker({ value, onChange, placeholder, searchable, showNativeName, disabled, className, label, }: LanguagePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
|
|
3
|
-
export declare const PhoneInput: React.ForwardRefExoticComponent<PhoneInputProps & React.RefAttributes<HTMLDivElement>>;
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
3
|
+
export declare const PhoneInput: React.ForwardRefExoticComponent<Omit<PhoneInputProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { TimezonePickerProps } from 'react-country-kit-core';
|
|
2
|
+
|
|
2
3
|
export declare function TimezonePicker({ value, onChange, placeholder, searchable, countryIso2, autoSelect, disabled, className, label, }: TimezonePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
|
|
2
3
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
3
4
|
export declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
|
|
4
5
|
export declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -22,6 +23,15 @@ export declare const Badge: {
|
|
|
22
23
|
}): import("react/jsx-runtime").JSX.Element;
|
|
23
24
|
displayName: string;
|
|
24
25
|
};
|
|
26
|
+
export declare const Flag: {
|
|
27
|
+
({ iso2, flag, flagUrl, className }: {
|
|
28
|
+
iso2: string;
|
|
29
|
+
flag: string;
|
|
30
|
+
flagUrl: string;
|
|
31
|
+
className?: string;
|
|
32
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
displayName: string;
|
|
34
|
+
};
|
|
25
35
|
export interface PopoverContentProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
|
|
26
36
|
}
|
|
27
37
|
export declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -24,15 +24,15 @@ export { CountryMultiSelect } from './components/CountryMultiSelect';
|
|
|
24
24
|
export { CurrencyMultiSelect } from './components/CurrencyMultiSelect';
|
|
25
25
|
export { Popover, PopoverTrigger, PopoverContent, CommandRoot, CommandInput, CommandList, CommandEmpty, CommandItem, PickerTrigger, CheckIcon, Badge, } from './components/primitives';
|
|
26
26
|
export { cn } from './lib/utils';
|
|
27
|
-
export { useCountryPicker } from '
|
|
28
|
-
export { useCurrencyPicker } from '
|
|
29
|
-
export { useTimezonePicker } from '
|
|
30
|
-
export { useLanguagePicker } from '
|
|
31
|
-
export { useDivisionPicker } from '
|
|
32
|
-
export { usePhoneInput } from '
|
|
33
|
-
export { useMultiSelect } from '
|
|
34
|
-
export { getAllCountries, getCountryByIso2, getCountryByIso3, getCountryByName, searchCountries, getDivisionsByCountry, getTimezonesByCountry, getCurrencyByCountry, iso2ToFlag, } from '
|
|
35
|
-
export { getAllCurrencies, getCurrencyByCode, searchCurrencies, } from '
|
|
36
|
-
export { getAllTimezones, getTimezoneByName, searchTimezones, } from '
|
|
37
|
-
export { getAllLanguages, getLanguageByCode, searchLanguages, } from '
|
|
38
|
-
export type { Country, Currency, Timezone, Division, Language, PhoneFormat, PhoneValue, PhoneInputProps, CountryPickerProps, CurrencyPickerProps, TimezonePickerProps, LanguagePickerProps, DivisionPickerProps, CountryMultiSelectProps, CurrencyMultiSelectProps, UsePickerReturn, UseMultiSelectReturn, } from '
|
|
27
|
+
export { useCountryPicker } from 'react-country-kit-core';
|
|
28
|
+
export { useCurrencyPicker } from 'react-country-kit-core';
|
|
29
|
+
export { useTimezonePicker } from 'react-country-kit-core';
|
|
30
|
+
export { useLanguagePicker } from 'react-country-kit-core';
|
|
31
|
+
export { useDivisionPicker } from 'react-country-kit-core';
|
|
32
|
+
export { usePhoneInput } from 'react-country-kit-core';
|
|
33
|
+
export { useMultiSelect } from 'react-country-kit-core';
|
|
34
|
+
export { getAllCountries, getCountryByIso2, getCountryByIso3, getCountryByName, searchCountries, getDivisionsByCountry, getTimezonesByCountry, getCurrencyByCountry, iso2ToFlag, } from 'react-country-kit-core';
|
|
35
|
+
export { getAllCurrencies, getCurrencyByCode, searchCurrencies, } from 'react-country-kit-core';
|
|
36
|
+
export { getAllTimezones, getTimezoneByName, searchTimezones, } from 'react-country-kit-core';
|
|
37
|
+
export { getAllLanguages, getLanguageByCode, searchLanguages, } from 'react-country-kit-core';
|
|
38
|
+
export type { Country, Currency, Timezone, Division, Language, PhoneFormat, PhoneValue, PhoneInputProps, CountryPickerProps, CurrencyPickerProps, TimezonePickerProps, LanguagePickerProps, DivisionPickerProps, CountryMultiSelectProps, CurrencyMultiSelectProps, UsePickerReturn, UseMultiSelectReturn, } from 'react-country-kit-core';
|
package/dist/ui/lib/utils.d.ts
CHANGED