@artsy/palette 43.1.0 → 43.3.0

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.
@@ -17,6 +17,7 @@ interface FilterSelectContextProps {
17
17
  initialItemsToShow: number;
18
18
  isFiltered: boolean;
19
19
  items: Items;
20
+ moveSelectedToTop: boolean;
20
21
  multiselect: boolean;
21
22
  onChange: (state: FilterSelectChangeState) => void;
22
23
  onSelectAll?: (state: FilterSelectChangeState) => void;
@@ -30,7 +31,7 @@ interface FilterSelectContextProps {
30
31
  setSelectedItems: (items: Items) => void;
31
32
  toggleSelectedItem: (item: Item) => void;
32
33
  }
33
- export type FilterSelectState = Pick<FilterSelectContextProps, "enableSelectAll" | "filteredItems" | "initialItemsToShow" | "isFiltered" | "items" | "multiselect" | "onChange" | "onSelectAll" | "order" | "placeholder" | "query" | "renderItemLabel" | "searchableText" | "selectedItems">;
34
+ export type FilterSelectState = Pick<FilterSelectContextProps, "enableSelectAll" | "filteredItems" | "initialItemsToShow" | "isFiltered" | "items" | "moveSelectedToTop" | "multiselect" | "onChange" | "onSelectAll" | "order" | "placeholder" | "query" | "renderItemLabel" | "searchableText" | "selectedItems">;
34
35
  export declare const FilterSelectContextProvider: React.FC<React.PropsWithChildren<Partial<FilterSelectState>>>;
35
36
  export declare const useFilterSelectContext: () => FilterSelectContextProps;
36
37
  export {};
@@ -87,6 +87,7 @@ var initialState = {
87
87
  initialItemsToShow: _ShowMore.INITIAL_ITEMS_TO_SHOW,
88
88
  isFiltered: false,
89
89
  items: [],
90
+ moveSelectedToTop: true,
90
91
  multiselect: true,
91
92
  onChange: function onChange(x) {
92
93
  return x;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSelectContext.js","names":["_react","_interopRequireWildcard","require","_utils","_ShowMore","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","length","err","return","Array","isArray","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","slice","name","from","test","iter","len","arr2","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","filterSelectReducer","state","action","type","query","payload","items","searchableText","isFiltered","filteredItems","item","_searchableText","text","label","toLowerCase","includes","isFound","selectedItems","find","multiselect","concat","initialState","initialItemsToShow","INITIAL_ITEMS_TO_SHOW","onChange","x","order","placeholder","renderItemLabel","FilterSelectContext","createContext","FilterSelectContextProvider","exports","_ref","_props$selectedItems","children","props","_useReducer","useReducer","_useReducer2","dispatch","contextValue","toggleSelectedItem","setQuery","setSelectedItems","useUpdateEffect","useLayoutEffect","_props$query","createElement","Provider","displayName","useFilterSelectContext","useContext"],"sources":["../../../../src/elements/FilterSelect/Components/FilterSelectContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useLayoutEffect,\n useReducer,\n} from \"react\"\nimport { useUpdateEffect } from \"../../../utils\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../../ShowMore\"\n\nexport interface Item {\n label: string\n value: string\n [key: string]: string | number | boolean\n}\n\n// In order to satisfy the Relay compilers readonly list types. This is in\n// support for passing different kinds of item types as props, like aggregations\nexport type Items = ReadonlyArray<Item>\n\nexport interface FilterSelectChangeState {\n items: FilterSelectContextProps[\"items\"]\n filteredItems: FilterSelectContextProps[\"filteredItems\"]\n selectedItems: FilterSelectContextProps[\"selectedItems\"]\n query: FilterSelectContextProps[\"query\"]\n}\n\ninterface FilterSelectContextProps {\n enableSelectAll?: boolean\n filteredItems: Items\n initialItemsToShow: number\n isFiltered: boolean\n items: Items\n multiselect: boolean\n onChange: (state: FilterSelectChangeState) => void\n onSelectAll?: (state: FilterSelectChangeState) => void\n order: [string[], Array<\"asc\" | \"desc\">] // See: https://lodash.com/docs/4.17.15#orderBy\n placeholder: string\n query: string\n renderItemLabel?: (item: any) => string\n searchableText?: (item: Item) => string\n selectedItems: Items\n setQuery: (query: string) => void\n setSelectedItems: (items: Items) => void\n toggleSelectedItem: (item: Item) => void\n}\n\nexport type FilterSelectState = Pick<\n FilterSelectContextProps,\n | \"enableSelectAll\"\n | \"filteredItems\"\n | \"initialItemsToShow\"\n | \"isFiltered\"\n | \"items\"\n | \"multiselect\"\n | \"onChange\"\n | \"onSelectAll\"\n | \"order\"\n | \"placeholder\"\n | \"query\"\n | \"renderItemLabel\"\n | \"searchableText\"\n | \"selectedItems\"\n>\n\ntype Action =\n | { type: \"SET_QUERY\"; payload: { query: string } }\n | { type: \"TOGGLE_SELECTED_ITEM\"; payload: { item: Item } }\n | { type: \"SET_SELECTED_ITEMS\"; payload: { items: Items } }\n\nconst filterSelectReducer = (state: FilterSelectState, action: Action) => {\n switch (action.type) {\n case \"SET_QUERY\": {\n const { query } = action.payload\n const { items, searchableText } = state\n\n if (query === \"\") {\n return {\n ...state,\n query,\n isFiltered: false,\n filteredItems: [],\n }\n }\n\n const filteredItems = items.filter((item) => {\n const text = searchableText?.(item) ?? item.label\n return text.toLowerCase().includes(query.toLowerCase())\n })\n\n return {\n ...state,\n query,\n isFiltered: true,\n filteredItems,\n }\n }\n\n case \"TOGGLE_SELECTED_ITEM\": {\n const isFound = !!state.selectedItems.find(\n (item) => item.value === action.payload.item.value\n )\n\n let selectedItems\n if (isFound) {\n selectedItems = state.selectedItems.filter(\n (item) => item.value !== action.payload.item.value\n )\n } else {\n selectedItems = state.multiselect\n ? [...state.selectedItems, action.payload.item]\n : [action.payload.item]\n }\n\n return {\n ...state,\n selectedItems,\n }\n }\n\n case \"SET_SELECTED_ITEMS\": {\n const { items } = action.payload\n\n return {\n ...state,\n selectedItems: items,\n }\n }\n }\n}\n\nconst initialState: FilterSelectState = {\n filteredItems: [],\n initialItemsToShow: INITIAL_ITEMS_TO_SHOW,\n isFiltered: false,\n items: [],\n multiselect: true,\n onChange: (x) => x,\n order: [[\"label\"], [\"asc\"]],\n placeholder: \"\",\n query: \"\",\n renderItemLabel: undefined,\n selectedItems: [],\n}\n\nconst FilterSelectContext = createContext<FilterSelectContextProps>({} as any)\n\nexport const FilterSelectContextProvider: React.FC<\n React.PropsWithChildren<Partial<FilterSelectState>>\n> = ({ children, ...props }) => {\n const [state, dispatch] = useReducer(filterSelectReducer, {\n ...initialState,\n ...props,\n })\n\n const contextValue = {\n ...state,\n\n toggleSelectedItem: (item) => {\n dispatch({\n type: \"TOGGLE_SELECTED_ITEM\",\n payload: { item },\n })\n },\n setQuery: (query) => {\n dispatch({\n type: \"SET_QUERY\",\n payload: { query },\n })\n },\n setSelectedItems: (items) => {\n dispatch({\n type: \"SET_SELECTED_ITEMS\",\n payload: {\n items,\n },\n })\n },\n }\n\n useUpdateEffect(() => {\n if (props.selectedItems) {\n contextValue.setSelectedItems(props.selectedItems)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.selectedItems?.length])\n\n useLayoutEffect(() => {\n if (props.query?.length) {\n contextValue.setQuery(props.query)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <FilterSelectContext.Provider value={contextValue}>\n {children}\n </FilterSelectContext.Provider>\n )\n}\n\nexport const useFilterSelectContext = () => {\n return useContext(FilterSelectContext)\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterSelectContext.js","names":["_react","_interopRequireWildcard","require","_utils","_ShowMore","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","length","err","return","Array","isArray","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","o","minLen","_arrayLikeToArray","n","toString","slice","name","from","test","iter","len","arr2","ownKeys","object","enumerableOnly","symbols","filter","sym","enumerable","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","filterSelectReducer","state","action","type","query","payload","items","searchableText","isFiltered","filteredItems","item","_searchableText","text","label","toLowerCase","includes","isFound","selectedItems","find","multiselect","concat","initialState","initialItemsToShow","INITIAL_ITEMS_TO_SHOW","moveSelectedToTop","onChange","x","order","placeholder","renderItemLabel","FilterSelectContext","createContext","FilterSelectContextProvider","exports","_ref","_props$selectedItems","children","props","_useReducer","useReducer","_useReducer2","dispatch","contextValue","toggleSelectedItem","setQuery","setSelectedItems","useUpdateEffect","useLayoutEffect","_props$query","createElement","Provider","displayName","useFilterSelectContext","useContext"],"sources":["../../../../src/elements/FilterSelect/Components/FilterSelectContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useLayoutEffect,\n useReducer,\n} from \"react\"\nimport { useUpdateEffect } from \"../../../utils\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../../ShowMore\"\n\nexport interface Item {\n label: string\n value: string\n [key: string]: string | number | boolean\n}\n\n// In order to satisfy the Relay compilers readonly list types. This is in\n// support for passing different kinds of item types as props, like aggregations\nexport type Items = ReadonlyArray<Item>\n\nexport interface FilterSelectChangeState {\n items: FilterSelectContextProps[\"items\"]\n filteredItems: FilterSelectContextProps[\"filteredItems\"]\n selectedItems: FilterSelectContextProps[\"selectedItems\"]\n query: FilterSelectContextProps[\"query\"]\n}\n\ninterface FilterSelectContextProps {\n enableSelectAll?: boolean\n filteredItems: Items\n initialItemsToShow: number\n isFiltered: boolean\n items: Items\n moveSelectedToTop: boolean\n multiselect: boolean\n onChange: (state: FilterSelectChangeState) => void\n onSelectAll?: (state: FilterSelectChangeState) => void\n order: [string[], Array<\"asc\" | \"desc\">] // See: https://lodash.com/docs/4.17.15#orderBy\n placeholder: string\n query: string\n renderItemLabel?: (item: any) => string\n searchableText?: (item: Item) => string\n selectedItems: Items\n setQuery: (query: string) => void\n setSelectedItems: (items: Items) => void\n toggleSelectedItem: (item: Item) => void\n}\n\nexport type FilterSelectState = Pick<\n FilterSelectContextProps,\n | \"enableSelectAll\"\n | \"filteredItems\"\n | \"initialItemsToShow\"\n | \"isFiltered\"\n | \"items\"\n | \"moveSelectedToTop\"\n | \"multiselect\"\n | \"onChange\"\n | \"onSelectAll\"\n | \"order\"\n | \"placeholder\"\n | \"query\"\n | \"renderItemLabel\"\n | \"searchableText\"\n | \"selectedItems\"\n>\n\ntype Action =\n | { type: \"SET_QUERY\"; payload: { query: string } }\n | { type: \"TOGGLE_SELECTED_ITEM\"; payload: { item: Item } }\n | { type: \"SET_SELECTED_ITEMS\"; payload: { items: Items } }\n\nconst filterSelectReducer = (state: FilterSelectState, action: Action) => {\n switch (action.type) {\n case \"SET_QUERY\": {\n const { query } = action.payload\n const { items, searchableText } = state\n\n if (query === \"\") {\n return {\n ...state,\n query,\n isFiltered: false,\n filteredItems: [],\n }\n }\n\n const filteredItems = items.filter((item) => {\n const text = searchableText?.(item) ?? item.label\n return text.toLowerCase().includes(query.toLowerCase())\n })\n\n return {\n ...state,\n query,\n isFiltered: true,\n filteredItems,\n }\n }\n\n case \"TOGGLE_SELECTED_ITEM\": {\n const isFound = !!state.selectedItems.find(\n (item) => item.value === action.payload.item.value\n )\n\n let selectedItems\n if (isFound) {\n selectedItems = state.selectedItems.filter(\n (item) => item.value !== action.payload.item.value\n )\n } else {\n selectedItems = state.multiselect\n ? [...state.selectedItems, action.payload.item]\n : [action.payload.item]\n }\n\n return {\n ...state,\n selectedItems,\n }\n }\n\n case \"SET_SELECTED_ITEMS\": {\n const { items } = action.payload\n\n return {\n ...state,\n selectedItems: items,\n }\n }\n }\n}\n\nconst initialState: FilterSelectState = {\n filteredItems: [],\n initialItemsToShow: INITIAL_ITEMS_TO_SHOW,\n isFiltered: false,\n items: [],\n moveSelectedToTop: true,\n multiselect: true,\n onChange: (x) => x,\n order: [[\"label\"], [\"asc\"]],\n placeholder: \"\",\n query: \"\",\n renderItemLabel: undefined,\n selectedItems: [],\n}\n\nconst FilterSelectContext = createContext<FilterSelectContextProps>({} as any)\n\nexport const FilterSelectContextProvider: React.FC<\n React.PropsWithChildren<Partial<FilterSelectState>>\n> = ({ children, ...props }) => {\n const [state, dispatch] = useReducer(filterSelectReducer, {\n ...initialState,\n ...props,\n })\n\n const contextValue = {\n ...state,\n\n toggleSelectedItem: (item) => {\n dispatch({\n type: \"TOGGLE_SELECTED_ITEM\",\n payload: { item },\n })\n },\n setQuery: (query) => {\n dispatch({\n type: \"SET_QUERY\",\n payload: { query },\n })\n },\n setSelectedItems: (items) => {\n dispatch({\n type: \"SET_SELECTED_ITEMS\",\n payload: {\n items,\n },\n })\n },\n }\n\n useUpdateEffect(() => {\n if (props.selectedItems) {\n contextValue.setSelectedItems(props.selectedItems)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.selectedItems?.length])\n\n useLayoutEffect(() => {\n if (props.query?.length) {\n contextValue.setQuery(props.query)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [])\n\n return (\n <FilterSelectContext.Provider value={contextValue}>\n {children}\n </FilterSelectContext.Provider>\n )\n}\n\nexport const useFilterSelectContext = () => {\n return useContext(FilterSelectContext)\n}\n"],"mappings":"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"}
@@ -38,6 +38,7 @@ var _FilterSelect = function _FilterSelect() {
38
38
  initialItemsToShow = _useFilterSelectConte.initialItemsToShow,
39
39
  isFiltered = _useFilterSelectConte.isFiltered,
40
40
  items = _useFilterSelectConte.items,
41
+ moveSelectedToTop = _useFilterSelectConte.moveSelectedToTop,
41
42
  multiselect = _useFilterSelectConte.multiselect,
42
43
  onChange = _useFilterSelectConte.onChange,
43
44
  order = _useFilterSelectConte.order,
@@ -67,7 +68,7 @@ var _FilterSelect = function _FilterSelect() {
67
68
  };
68
69
  var itemsOrdered = orderItems(items);
69
70
  var filteredItemsOrdered = orderItems(filteredItems);
70
- var itemsSorted = multiselect ?
71
+ var itemsSorted = multiselect && moveSelectedToTop ?
71
72
  // Move selected items to the top
72
73
  (0, _esToolkit.uniqBy)(selectedItems.concat(itemsOrdered), function (x) {
73
74
  return x.value;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSelect.js","names":["_esToolkit","require","React","_interopRequireWildcard","_ShowMore","_Flex","_FilterSelectResultItem","_FilterSelectContext","_FilterInput","_VisuallyHidden","_Text","_utils","_Box","_Clickable","_Stack","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","FilterSelect","exports","props","createElement","FilterSelectContextProvider","_FilterSelect","displayName","_useFilterSelectConte","useFilterSelectContext","enableSelectAll","filteredItems","initialItemsToShow","isFiltered","items","multiselect","onChange","order","query","selectedItems","console","error","useUpdateEffect","orderItems","orderBy","itemsOrdered","filteredItemsOrdered","itemsSorted","uniqBy","concat","x","value","expanded","isBelowTheFoldSelected","showNoResults","showSelectAll","Flex","flexDirection","FilterInput","mb","VisuallyHidden","Text","variant","Fragment","SelectAll","map","item","FilterSelectResultItem","ShowMore","initial","textDecoration","mt","textAlign","resultsSorted","selected","_ref","results","INITIAL_ITEMS_TO_SHOW","_ref2","isSelected","intersection","_useFilterSelectConte2","onSelectAll","setSelectedItems","isClearDisabled","Box","my","Stack","gap","Clickable","className","onClick","disabled","color"],"sources":["../../../src/elements/FilterSelect/FilterSelect.tsx"],"sourcesContent":["import { intersection, orderBy, uniqBy } from \"es-toolkit\"\nimport * as React from \"react\"\nimport { ShowMore } from \"../ShowMore\"\nimport { Flex } from \"../Flex\"\nimport { FilterSelectResultItem } from \"./Components/FilterSelectResultItem\"\nimport {\n FilterSelectContextProvider,\n FilterSelectState,\n Items,\n useFilterSelectContext,\n} from \"./Components/FilterSelectContext\"\nimport { FilterInput } from \"./Components/FilterInput\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { Text } from \"../Text\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../ShowMore\"\nimport { useUpdateEffect } from \"../../utils\"\nimport { Box } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { Stack } from \"../Stack\"\n\nexport type FilterSelectProps = Partial<FilterSelectState>\n\nexport const FilterSelect: React.FC<\n React.PropsWithChildren<FilterSelectProps>\n> = (props) => {\n return (\n <FilterSelectContextProvider {...props}>\n <_FilterSelect />\n </FilterSelectContextProvider>\n )\n}\n\nconst _FilterSelect: React.FC<React.PropsWithChildren<unknown>> = () => {\n const {\n enableSelectAll,\n filteredItems,\n initialItemsToShow,\n isFiltered,\n items,\n multiselect,\n onChange,\n order,\n query,\n selectedItems,\n } = useFilterSelectContext()\n\n if (!multiselect && enableSelectAll) {\n console.error(\n \"FilterSelect: enableSelectAll is only available with multiselect mode.\"\n )\n }\n\n // Dispatch change event\n useUpdateEffect(() => {\n if (onChange) {\n onChange({\n items,\n filteredItems,\n selectedItems,\n query,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onChange, selectedItems])\n\n if (items.length === 0) {\n return null\n }\n\n const orderItems = (items: Items) => orderBy([...items], order[0], order[1])\n const itemsOrdered = orderItems(items)\n const filteredItemsOrdered = orderItems(filteredItems)\n const itemsSorted = multiselect\n ? // Move selected items to the top\n uniqBy(selectedItems.concat(itemsOrdered), (x) => x.value)\n : itemsOrdered\n const expanded = isBelowTheFoldSelected(selectedItems, itemsSorted)\n const showNoResults = filteredItems.length === 0 && query !== \"\"\n const showSelectAll = multiselect && enableSelectAll && !showNoResults\n\n return (\n <Flex flexDirection=\"column\">\n <FilterInput mb={1} />\n\n {query !== \"\" && (\n <VisuallyHidden aria-live=\"polite\">\n {`${filteredItems.length} result${\n filteredItems.length === 1 ? \"\" : \"s\"\n }`}\n </VisuallyHidden>\n )}\n\n {showNoResults && <Text variant=\"sm\">No results.</Text>}\n\n {isFiltered ? (\n <>\n {showSelectAll && <SelectAll />}\n {filteredItemsOrdered.map((item) => (\n <FilterSelectResultItem key={item.value} {...item} />\n ))}\n </>\n ) : (\n <ShowMore\n expanded={expanded}\n initial={initialItemsToShow}\n variant={\"xs\"}\n textDecoration=\"underline\"\n mt={1}\n textAlign=\"left\"\n >\n {itemsSorted.map((item) => {\n return <FilterSelectResultItem key={item.value} {...item} />\n })}\n </ShowMore>\n )}\n </Flex>\n )\n}\n\nexport const isBelowTheFoldSelected = (selectedItems, resultsSorted) => {\n const selected = selectedItems.map(({ value }) => value)\n const results = resultsSorted\n .slice(INITIAL_ITEMS_TO_SHOW)\n .map(({ value }) => value)\n const isSelected = intersection(selected, results).length > 0\n return isSelected\n}\n\nconst SelectAll: React.FC = () => {\n const {\n items,\n filteredItems,\n onSelectAll,\n query,\n selectedItems,\n setSelectedItems,\n } = useFilterSelectContext()\n\n const isClearDisabled = selectedItems.length === 0\n\n return (\n <Box my={1}>\n <Stack gap={2} flexDirection={\"row\"}>\n <Clickable\n data-testid=\"filterSelect-selectAll\"\n className=\"selectAll\"\n onClick={() => {\n setSelectedItems(filteredItems)\n onSelectAll?.({\n items,\n filteredItems,\n selectedItems: filteredItems,\n query,\n })\n }}\n textDecoration=\"underline\"\n >\n <Text variant=\"xs\">Select all</Text>\n </Clickable>\n\n <Clickable\n data-testid=\"filterSelect-clear\"\n className=\"clear\"\n onClick={() => setSelectedItems([])}\n textDecoration=\"underline\"\n disabled={isClearDisabled}\n color={isClearDisabled ? \"mono60\" : \"mono100\"}\n >\n <Text variant=\"xs\">Clear</Text>\n </Clickable>\n </Stack>\n </Box>\n )\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterSelect.js","names":["_esToolkit","require","React","_interopRequireWildcard","_ShowMore","_Flex","_FilterSelectResultItem","_FilterSelectContext","_FilterInput","_VisuallyHidden","_Text","_utils","_Box","_Clickable","_Stack","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","FilterSelect","exports","props","createElement","FilterSelectContextProvider","_FilterSelect","displayName","_useFilterSelectConte","useFilterSelectContext","enableSelectAll","filteredItems","initialItemsToShow","isFiltered","items","moveSelectedToTop","multiselect","onChange","order","query","selectedItems","console","error","useUpdateEffect","orderItems","orderBy","itemsOrdered","filteredItemsOrdered","itemsSorted","uniqBy","concat","x","value","expanded","isBelowTheFoldSelected","showNoResults","showSelectAll","Flex","flexDirection","FilterInput","mb","VisuallyHidden","Text","variant","Fragment","SelectAll","map","item","FilterSelectResultItem","ShowMore","initial","textDecoration","mt","textAlign","resultsSorted","selected","_ref","results","INITIAL_ITEMS_TO_SHOW","_ref2","isSelected","intersection","_useFilterSelectConte2","onSelectAll","setSelectedItems","isClearDisabled","Box","my","Stack","gap","Clickable","className","onClick","disabled","color"],"sources":["../../../src/elements/FilterSelect/FilterSelect.tsx"],"sourcesContent":["import { intersection, orderBy, uniqBy } from \"es-toolkit\"\nimport * as React from \"react\"\nimport { ShowMore } from \"../ShowMore\"\nimport { Flex } from \"../Flex\"\nimport { FilterSelectResultItem } from \"./Components/FilterSelectResultItem\"\nimport {\n FilterSelectContextProvider,\n FilterSelectState,\n Items,\n useFilterSelectContext,\n} from \"./Components/FilterSelectContext\"\nimport { FilterInput } from \"./Components/FilterInput\"\nimport { VisuallyHidden } from \"../VisuallyHidden\"\nimport { Text } from \"../Text\"\nimport { INITIAL_ITEMS_TO_SHOW } from \"../ShowMore\"\nimport { useUpdateEffect } from \"../../utils\"\nimport { Box } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { Stack } from \"../Stack\"\n\nexport type FilterSelectProps = Partial<FilterSelectState>\n\nexport const FilterSelect: React.FC<\n React.PropsWithChildren<FilterSelectProps>\n> = (props) => {\n return (\n <FilterSelectContextProvider {...props}>\n <_FilterSelect />\n </FilterSelectContextProvider>\n )\n}\n\nconst _FilterSelect: React.FC<React.PropsWithChildren<unknown>> = () => {\n const {\n enableSelectAll,\n filteredItems,\n initialItemsToShow,\n isFiltered,\n items,\n moveSelectedToTop,\n multiselect,\n onChange,\n order,\n query,\n selectedItems,\n } = useFilterSelectContext()\n\n if (!multiselect && enableSelectAll) {\n console.error(\n \"FilterSelect: enableSelectAll is only available with multiselect mode.\"\n )\n }\n\n // Dispatch change event\n useUpdateEffect(() => {\n if (onChange) {\n onChange({\n items,\n filteredItems,\n selectedItems,\n query,\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onChange, selectedItems])\n\n if (items.length === 0) {\n return null\n }\n\n const orderItems = (items: Items) => orderBy([...items], order[0], order[1])\n const itemsOrdered = orderItems(items)\n const filteredItemsOrdered = orderItems(filteredItems)\n const itemsSorted =\n multiselect && moveSelectedToTop\n ? // Move selected items to the top\n uniqBy(selectedItems.concat(itemsOrdered), (x) => x.value)\n : itemsOrdered\n const expanded = isBelowTheFoldSelected(selectedItems, itemsSorted)\n const showNoResults = filteredItems.length === 0 && query !== \"\"\n const showSelectAll = multiselect && enableSelectAll && !showNoResults\n\n return (\n <Flex flexDirection=\"column\">\n <FilterInput mb={1} />\n\n {query !== \"\" && (\n <VisuallyHidden aria-live=\"polite\">\n {`${filteredItems.length} result${\n filteredItems.length === 1 ? \"\" : \"s\"\n }`}\n </VisuallyHidden>\n )}\n\n {showNoResults && <Text variant=\"sm\">No results.</Text>}\n\n {isFiltered ? (\n <>\n {showSelectAll && <SelectAll />}\n {filteredItemsOrdered.map((item) => (\n <FilterSelectResultItem key={item.value} {...item} />\n ))}\n </>\n ) : (\n <ShowMore\n expanded={expanded}\n initial={initialItemsToShow}\n variant={\"xs\"}\n textDecoration=\"underline\"\n mt={1}\n textAlign=\"left\"\n >\n {itemsSorted.map((item) => {\n return <FilterSelectResultItem key={item.value} {...item} />\n })}\n </ShowMore>\n )}\n </Flex>\n )\n}\n\nexport const isBelowTheFoldSelected = (selectedItems, resultsSorted) => {\n const selected = selectedItems.map(({ value }) => value)\n const results = resultsSorted\n .slice(INITIAL_ITEMS_TO_SHOW)\n .map(({ value }) => value)\n const isSelected = intersection(selected, results).length > 0\n return isSelected\n}\n\nconst SelectAll: React.FC = () => {\n const {\n items,\n filteredItems,\n onSelectAll,\n query,\n selectedItems,\n setSelectedItems,\n } = useFilterSelectContext()\n\n const isClearDisabled = selectedItems.length === 0\n\n return (\n <Box my={1}>\n <Stack gap={2} flexDirection={\"row\"}>\n <Clickable\n data-testid=\"filterSelect-selectAll\"\n className=\"selectAll\"\n onClick={() => {\n setSelectedItems(filteredItems)\n onSelectAll?.({\n items,\n filteredItems,\n selectedItems: filteredItems,\n query,\n })\n }}\n textDecoration=\"underline\"\n >\n <Text variant=\"xs\">Select all</Text>\n </Clickable>\n\n <Clickable\n data-testid=\"filterSelect-clear\"\n className=\"clear\"\n onClick={() => setSelectedItems([])}\n textDecoration=\"underline\"\n disabled={isClearDisabled}\n color={isClearDisabled ? \"mono60\" : \"mono100\"}\n >\n <Text variant=\"xs\">Clear</Text>\n </Clickable>\n </Stack>\n </Box>\n )\n}\n"],"mappings":"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"}
@@ -34,6 +34,12 @@ var Default = exports.Default = function Default() {
34
34
  var extraSearchTerms = item.country === "American" ? "USA; Yankee; Murican" : "";
35
35
  return "".concat(item.label, "; ").concat(item.country, "; ").concat(extraSearchTerms);
36
36
  }
37
+ },
38
+ // checkboxes with move selected to top disabled
39
+ {
40
+ multiselect: true,
41
+ moveSelectedToTop: false,
42
+ enableSelectAll: true
37
43
  }]
38
44
  }, /*#__PURE__*/_react.default.createElement(_FilterSelect.FilterSelect, {
39
45
  placeholder: "Filter by artist name",
@@ -1 +1 @@
1
- {"version":3,"file":"FilterSelect.story.js","names":["_test","require","_react","_interopRequireDefault","_storybookStates","_FilterSelect","obj","__esModule","default","_default","exports","title","Default","createElement","States","states","multiselect","enableSelectAll","onSelectAll","state","console","log","searchableText","item","extraSearchTerms","country","concat","label","FilterSelect","placeholder","initialItemsToShow","order","renderItemLabel","onChange","fn","items","value","displayName"],"sources":["../../../src/elements/FilterSelect/FilterSelect.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React from \"react\"\nimport { States } from \"storybook-states\"\nimport { FilterSelect } from \"./FilterSelect\"\nimport { FilterSelectProps } from \"./FilterSelect\"\n\nexport default {\n title: \"Components/FilterSelect\",\n}\n\nexport const Default = () => {\n return (\n <States<FilterSelectProps>\n states={[\n // radio\n { multiselect: false },\n\n // checkboxes\n { multiselect: true },\n\n // checkboxes with searchable hidden text and quick select-all\n {\n multiselect: true,\n enableSelectAll: true,\n onSelectAll: (state) => console.log(\"onSelectAll\", state),\n searchableText: (item) => {\n const extraSearchTerms =\n item.country === \"American\" ? \"USA; Yankee; Murican\" : \"\"\n return `${item.label}; ${item.country}; ${extraSearchTerms}`\n },\n },\n ]}\n >\n <FilterSelect\n placeholder=\"Filter by artist name\"\n initialItemsToShow={6}\n order={[\n [\"country\", \"name\"],\n [\"asc\", \"asc\"],\n ]}\n renderItemLabel={(item) => `${item.label}, ${item.country}`}\n onChange={fn()}\n items={[\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger\",\n country: \"American\",\n },\n {\n label: \"Carrie Mae Weems\",\n value: \"carrie-weems\",\n country: \"American\",\n },\n {\n label: \"Daniel Arsham\",\n value: \"daniel-asham\",\n country: \"American\",\n },\n {\n label: \"Takashi Murakami\",\n value: \"takashi-muakami\",\n country: \"American\",\n },\n {\n label: \"Tracey Emin\",\n value: \"tracey-emin\",\n country: \"British-Nigerian\",\n },\n {\n label: \"Yinka Shonibare\",\n value: \"yinka-shonibare\",\n country: \"Japanese\",\n },\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger-2\",\n country: \"British-Nigerian\",\n },\n ]}\n />\n </States>\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA6C,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAG9B;EACbG,KAAK,EAAE;AACT,CAAC;AAEM,IAAMC,OAAO,GAAAF,OAAA,CAAAE,OAAA,GAAG,SAAVA,OAAOA,CAAA,EAAS;EAC3B,oBACEV,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACT,gBAAA,CAAAU,MAAM;IACLC,MAAM,EAAE;IACN;IACA;MAAEC,WAAW,EAAE;IAAM,CAAC;IAEtB;IACA;MAAEA,WAAW,EAAE;IAAK,CAAC;IAErB;IACA;MACEA,WAAW,EAAE,IAAI;MACjBC,eAAe,EAAE,IAAI;MACrBC,WAAW,EAAE,SAAbA,WAAWA,CAAGC,KAAK;QAAA,OAAKC,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEF,KAAK,CAAC;MAAA;MACzDG,cAAc,EAAE,SAAhBA,cAAcA,CAAGC,IAAI,EAAK;QACxB,IAAMC,gBAAgB,GACpBD,IAAI,CAACE,OAAO,KAAK,UAAU,GAAG,sBAAsB,GAAG,EAAE;QAC3D,UAAAC,MAAA,CAAUH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO,QAAAC,MAAA,CAAKF,gBAAgB;MAC5D;IACF,CAAC;EACD,gBAEFtB,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACR,aAAA,CAAAuB,YAAY;IACXC,WAAW,EAAC,uBAAuB;IACnCC,kBAAkB,EAAE,CAAE;IACtBC,KAAK,EAAE,CACL,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,KAAK,EAAE,KAAK,CAAC,CACd;IACFC,eAAe,EAAE,SAAjBA,eAAeA,CAAGT,IAAI;MAAA,UAAAG,MAAA,CAAQH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO;IAAA,CAAG;IAC5DQ,QAAQ,EAAE,IAAAC,QAAE,GAAG;IACfC,KAAK,EAAE,CACL;MACER,KAAK,EAAE,gBAAgB;MACvBS,KAAK,EAAE,gBAAgB;MACvBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBS,KAAK,EAAE,cAAc;MACrBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,eAAe;MACtBS,KAAK,EAAE,cAAc;MACrBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBS,KAAK,EAAE,iBAAiB;MACxBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,aAAa;MACpBS,KAAK,EAAE,aAAa;MACpBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,iBAAiB;MACxBS,KAAK,EAAE,iBAAiB;MACxBX,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,gBAAgB;MACvBS,KAAK,EAAE,kBAAkB;MACzBX,OAAO,EAAE;IACX,CAAC;EACD,EACF,CACK;AAEb,CAAC;AAxEYb,OAAO,CAAAyB,WAAA"}
1
+ {"version":3,"file":"FilterSelect.story.js","names":["_test","require","_react","_interopRequireDefault","_storybookStates","_FilterSelect","obj","__esModule","default","_default","exports","title","Default","createElement","States","states","multiselect","enableSelectAll","onSelectAll","state","console","log","searchableText","item","extraSearchTerms","country","concat","label","moveSelectedToTop","FilterSelect","placeholder","initialItemsToShow","order","renderItemLabel","onChange","fn","items","value","displayName"],"sources":["../../../src/elements/FilterSelect/FilterSelect.story.tsx"],"sourcesContent":["import { fn } from \"@storybook/test\"\nimport React from \"react\"\nimport { States } from \"storybook-states\"\nimport { FilterSelect } from \"./FilterSelect\"\nimport { FilterSelectProps } from \"./FilterSelect\"\n\nexport default {\n title: \"Components/FilterSelect\",\n}\n\nexport const Default = () => {\n return (\n <States<FilterSelectProps>\n states={[\n // radio\n { multiselect: false },\n\n // checkboxes\n { multiselect: true },\n\n // checkboxes with searchable hidden text and quick select-all\n {\n multiselect: true,\n enableSelectAll: true,\n onSelectAll: (state) => console.log(\"onSelectAll\", state),\n searchableText: (item) => {\n const extraSearchTerms =\n item.country === \"American\" ? \"USA; Yankee; Murican\" : \"\"\n return `${item.label}; ${item.country}; ${extraSearchTerms}`\n },\n },\n\n // checkboxes with move selected to top disabled\n {\n multiselect: true,\n moveSelectedToTop: false,\n enableSelectAll: true,\n },\n ]}\n >\n <FilterSelect\n placeholder=\"Filter by artist name\"\n initialItemsToShow={6}\n order={[\n [\"country\", \"name\"],\n [\"asc\", \"asc\"],\n ]}\n renderItemLabel={(item) => `${item.label}, ${item.country}`}\n onChange={fn()}\n items={[\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger\",\n country: \"American\",\n },\n {\n label: \"Carrie Mae Weems\",\n value: \"carrie-weems\",\n country: \"American\",\n },\n {\n label: \"Daniel Arsham\",\n value: \"daniel-asham\",\n country: \"American\",\n },\n {\n label: \"Takashi Murakami\",\n value: \"takashi-muakami\",\n country: \"American\",\n },\n {\n label: \"Tracey Emin\",\n value: \"tracey-emin\",\n country: \"British-Nigerian\",\n },\n {\n label: \"Yinka Shonibare\",\n value: \"yinka-shonibare\",\n country: \"Japanese\",\n },\n {\n label: \"Barbara Kruger\",\n value: \"barbara-kruger-2\",\n country: \"British-Nigerian\",\n },\n ]}\n />\n </States>\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAA6C,SAAAE,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAG9B;EACbG,KAAK,EAAE;AACT,CAAC;AAEM,IAAMC,OAAO,GAAAF,OAAA,CAAAE,OAAA,GAAG,SAAVA,OAAOA,CAAA,EAAS;EAC3B,oBACEV,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACT,gBAAA,CAAAU,MAAM;IACLC,MAAM,EAAE;IACN;IACA;MAAEC,WAAW,EAAE;IAAM,CAAC;IAEtB;IACA;MAAEA,WAAW,EAAE;IAAK,CAAC;IAErB;IACA;MACEA,WAAW,EAAE,IAAI;MACjBC,eAAe,EAAE,IAAI;MACrBC,WAAW,EAAE,SAAbA,WAAWA,CAAGC,KAAK;QAAA,OAAKC,OAAO,CAACC,GAAG,CAAC,aAAa,EAAEF,KAAK,CAAC;MAAA;MACzDG,cAAc,EAAE,SAAhBA,cAAcA,CAAGC,IAAI,EAAK;QACxB,IAAMC,gBAAgB,GACpBD,IAAI,CAACE,OAAO,KAAK,UAAU,GAAG,sBAAsB,GAAG,EAAE;QAC3D,UAAAC,MAAA,CAAUH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO,QAAAC,MAAA,CAAKF,gBAAgB;MAC5D;IACF,CAAC;IAED;IACA;MACER,WAAW,EAAE,IAAI;MACjBY,iBAAiB,EAAE,KAAK;MACxBX,eAAe,EAAE;IACnB,CAAC;EACD,gBAEFf,MAAA,CAAAM,OAAA,CAAAK,aAAA,CAACR,aAAA,CAAAwB,YAAY;IACXC,WAAW,EAAC,uBAAuB;IACnCC,kBAAkB,EAAE,CAAE;IACtBC,KAAK,EAAE,CACL,CAAC,SAAS,EAAE,MAAM,CAAC,EACnB,CAAC,KAAK,EAAE,KAAK,CAAC,CACd;IACFC,eAAe,EAAE,SAAjBA,eAAeA,CAAGV,IAAI;MAAA,UAAAG,MAAA,CAAQH,IAAI,CAACI,KAAK,QAAAD,MAAA,CAAKH,IAAI,CAACE,OAAO;IAAA,CAAG;IAC5DS,QAAQ,EAAE,IAAAC,QAAE,GAAG;IACfC,KAAK,EAAE,CACL;MACET,KAAK,EAAE,gBAAgB;MACvBU,KAAK,EAAE,gBAAgB;MACvBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBU,KAAK,EAAE,cAAc;MACrBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,eAAe;MACtBU,KAAK,EAAE,cAAc;MACrBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,kBAAkB;MACzBU,KAAK,EAAE,iBAAiB;MACxBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,aAAa;MACpBU,KAAK,EAAE,aAAa;MACpBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,iBAAiB;MACxBU,KAAK,EAAE,iBAAiB;MACxBZ,OAAO,EAAE;IACX,CAAC,EACD;MACEE,KAAK,EAAE,gBAAgB;MACvBU,KAAK,EAAE,kBAAkB;MACzBZ,OAAO,EAAE;IACX,CAAC;EACD,EACF,CACK;AAEb,CAAC;AA/EYb,OAAO,CAAA0B,WAAA"}
@@ -95,6 +95,6 @@ var Container = (0, _styledComponents.default)(_Flex.Flex).withConfig({
95
95
  displayName: "Radio__Container",
96
96
  componentId: "sc-dpre3w-0"
97
97
  })(["", ""], function (props) {
98
- return (0, _styledComponents.css)(["", " ", " ", " ", " ", " &:hover{", "}&:focus{", " > ", "{", "}}&:disabled{pointer-events:none;", "}"], props.selected ? _tokens.RADIO_STATES.selected : _tokens.RADIO_STATES.default, props.focus && _tokens.RADIO_STATES.focus, props.hover && _tokens.RADIO_STATES.hover, props.disabled && _tokens.RADIO_STATES.disabled, props.error && _tokens.RADIO_STATES.error, !props.error && !props.disabled && (0, _styledComponents.css)(["", " > ", "{", "}"], _tokens.RADIO_STATES.hover, _RadioDot.RadioDot, props.selected ? _tokens.RADIO_DOT_STATES.hover.selected : _tokens.RADIO_DOT_STATES.hover.resting), _tokens.RADIO_STATES.focus, _RadioDot.RadioDot, props.selected ? _tokens.RADIO_DOT_STATES.focus.selected : _tokens.RADIO_DOT_STATES.focus.resting, _tokens.RADIO_STATES.disabled);
98
+ return (0, _styledComponents.css)(["", " ", " ", " ", " ", " &:hover{", "}&:focus-visible{", " > ", "{", "}}&:disabled{pointer-events:none;", "}"], props.selected ? _tokens.RADIO_STATES.selected : _tokens.RADIO_STATES.default, props.focus && _tokens.RADIO_STATES.focus, props.hover && _tokens.RADIO_STATES.hover, props.disabled && _tokens.RADIO_STATES.disabled, props.error && _tokens.RADIO_STATES.error, !props.error && !props.disabled && (0, _styledComponents.css)(["", " > ", "{", "}"], _tokens.RADIO_STATES.hover, _RadioDot.RadioDot, props.selected ? _tokens.RADIO_DOT_STATES.hover.selected : _tokens.RADIO_DOT_STATES.hover.resting), _tokens.RADIO_STATES.focus, _RadioDot.RadioDot, props.selected ? _tokens.RADIO_DOT_STATES.focus.selected : _tokens.RADIO_DOT_STATES.focus.resting, _tokens.RADIO_STATES.disabled);
99
99
  });
100
100
  //# sourceMappingURL=Radio.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Radio.js","names":["_react","_interopRequireDefault","require","_styledComponents","_interopRequireWildcard","_Flex","_isText","_Text","_RadioDot","_tokens","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Radio","exports","_ref","children","disabled","hover","focus","error","label","selected","value","_ref$size","size","onSelect","rest","handleClick","handleKeyPress","event","preventDefault","title","description","createElement","Container","as","alignItems","role","onClick","tabIndex","onKeyPress","Flex","height","RADIO_SIZES","dotSize","width","alignSelf","mr","RadioDot","flexDirection","flex","isText","Text","variant","labelFontSize","lineHeight","undefined","descriptionFontSize","color","displayName","styled","withConfig","componentId","props","css","RADIO_STATES","RADIO_DOT_STATES","resting"],"sources":["../../../src/elements/Radio/Radio.tsx"],"sourcesContent":["import React from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { Flex, FlexProps } from \"../../elements/Flex\"\nimport { isText } from \"../../helpers/isText\"\nimport { Text } from \"../Text\"\nimport { RadioDot } from \"./RadioDot\"\nimport { RADIO_DOT_STATES, RADIO_STATES, RADIO_SIZES } from \"./tokens\"\n\nexport interface RadioProps<T>\n extends FlexProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Disable interactions */\n disabled?: boolean\n /** Select the button on render. If the Radio is inside a RadioGroup, use RadioGroup.defaultValue instead. */\n selected?: boolean\n /** Show an error indicator */\n error?: boolean\n /** Show hover state on render */\n hover?: boolean\n /** Forces focus state */\n focus?: boolean\n /** Value of radio button */\n value?: T\n /** Name of the radio button */\n name?: string\n /** The label content, if not specified the children will be used */\n label?: React.ReactNode\n /** The radio size, if not specified, \"sm\" will be used */\n size?: keyof typeof RADIO_SIZES\n /** Callback when selected */\n onSelect?: (selected: { selected: boolean; value: T }) => void\n}\n\n/** A Radio button */\nexport const Radio = <T,>({\n children,\n disabled,\n hover,\n focus,\n error,\n label,\n selected,\n value,\n size = \"sm\",\n onSelect,\n ...rest\n}: RadioProps<T>) => {\n const handleClick = () => {\n onSelect && onSelect({ selected: !selected, value: value! })\n }\n\n const handleKeyPress = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \" \") {\n event.preventDefault()\n onSelect && onSelect({ selected: !selected, value: value! })\n }\n }\n\n // TODO: Re-name props to match <Input />\n const title = label ? label : children\n const description = label ? children : null\n\n return (\n <Container\n as=\"label\"\n alignItems=\"center\"\n role=\"radio\"\n aria-checked={selected}\n onClick={handleClick}\n tabIndex={disabled ? -1 : 0}\n onKeyPress={handleKeyPress}\n disabled={disabled}\n hover={hover}\n focus={focus}\n selected={selected}\n error={error}\n {...rest}\n >\n <Flex\n height={RADIO_SIZES[size].dotSize}\n width={RADIO_SIZES[size].dotSize}\n alignSelf=\"start\"\n mr={1}\n >\n <RadioDot\n disabled={disabled}\n hover={hover}\n focus={focus}\n selected={selected}\n error={error}\n />\n </Flex>\n\n <Flex flexDirection=\"column\" flex={1}>\n <Flex alignItems=\"center\" flex={1}>\n {isText(title) ? (\n <Text\n variant={RADIO_SIZES[size].labelFontSize}\n lineHeight={description ? undefined : 1}\n >\n {title}\n </Text>\n ) : (\n title\n )}\n </Flex>\n\n {isText(description) ? (\n <Text variant={RADIO_SIZES[size].descriptionFontSize} color=\"mono60\">\n {description}\n </Text>\n ) : (\n description\n )}\n </Flex>\n </Container>\n )\n}\n\nconst Container = styled(Flex)<{\n disabled?: boolean\n error?: boolean\n hover?: boolean\n focus?: boolean\n selected?: boolean\n as?: React.ElementType\n}>`\n ${(props) => {\n return css`\n ${props.selected ? RADIO_STATES.selected : RADIO_STATES.default}\n ${props.focus && RADIO_STATES.focus}\n ${props.hover && RADIO_STATES.hover}\n ${props.disabled && RADIO_STATES.disabled}\n ${props.error && RADIO_STATES.error}\n\n &:hover {\n ${!props.error &&\n !props.disabled &&\n css`\n ${RADIO_STATES.hover}\n\n // Radio\n > ${RadioDot} {\n ${props.selected\n ? RADIO_DOT_STATES.hover.selected\n : RADIO_DOT_STATES.hover.resting}\n }\n `}\n }\n\n &:focus {\n ${RADIO_STATES.focus}\n\n // Radio\n > ${RadioDot} {\n ${props.selected\n ? RADIO_DOT_STATES.focus.selected\n : RADIO_DOT_STATES.focus.resting}\n }\n }\n\n &:disabled {\n pointer-events: none;\n ${RADIO_STATES.disabled}\n }\n `\n }}\n`\n"],"mappings":"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"}
1
+ {"version":3,"file":"Radio.js","names":["_react","_interopRequireDefault","require","_styledComponents","_interopRequireWildcard","_Flex","_isText","_Text","_RadioDot","_tokens","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Radio","exports","_ref","children","disabled","hover","focus","error","label","selected","value","_ref$size","size","onSelect","rest","handleClick","handleKeyPress","event","preventDefault","title","description","createElement","Container","as","alignItems","role","onClick","tabIndex","onKeyPress","Flex","height","RADIO_SIZES","dotSize","width","alignSelf","mr","RadioDot","flexDirection","flex","isText","Text","variant","labelFontSize","lineHeight","undefined","descriptionFontSize","color","displayName","styled","withConfig","componentId","props","css","RADIO_STATES","RADIO_DOT_STATES","resting"],"sources":["../../../src/elements/Radio/Radio.tsx"],"sourcesContent":["import React from \"react\"\nimport styled, { css } from \"styled-components\"\nimport { Flex, FlexProps } from \"../../elements/Flex\"\nimport { isText } from \"../../helpers/isText\"\nimport { Text } from \"../Text\"\nimport { RadioDot } from \"./RadioDot\"\nimport { RADIO_DOT_STATES, RADIO_STATES, RADIO_SIZES } from \"./tokens\"\n\nexport interface RadioProps<T>\n extends FlexProps,\n Omit<React.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Disable interactions */\n disabled?: boolean\n /** Select the button on render. If the Radio is inside a RadioGroup, use RadioGroup.defaultValue instead. */\n selected?: boolean\n /** Show an error indicator */\n error?: boolean\n /** Show hover state on render */\n hover?: boolean\n /** Forces focus state */\n focus?: boolean\n /** Value of radio button */\n value?: T\n /** Name of the radio button */\n name?: string\n /** The label content, if not specified the children will be used */\n label?: React.ReactNode\n /** The radio size, if not specified, \"sm\" will be used */\n size?: keyof typeof RADIO_SIZES\n /** Callback when selected */\n onSelect?: (selected: { selected: boolean; value: T }) => void\n}\n\n/** A Radio button */\nexport const Radio = <T,>({\n children,\n disabled,\n hover,\n focus,\n error,\n label,\n selected,\n value,\n size = \"sm\",\n onSelect,\n ...rest\n}: RadioProps<T>) => {\n const handleClick = () => {\n onSelect && onSelect({ selected: !selected, value: value! })\n }\n\n const handleKeyPress = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \" \") {\n event.preventDefault()\n onSelect && onSelect({ selected: !selected, value: value! })\n }\n }\n\n // TODO: Re-name props to match <Input />\n const title = label ? label : children\n const description = label ? children : null\n\n return (\n <Container\n as=\"label\"\n alignItems=\"center\"\n role=\"radio\"\n aria-checked={selected}\n onClick={handleClick}\n tabIndex={disabled ? -1 : 0}\n onKeyPress={handleKeyPress}\n disabled={disabled}\n hover={hover}\n focus={focus}\n selected={selected}\n error={error}\n {...rest}\n >\n <Flex\n height={RADIO_SIZES[size].dotSize}\n width={RADIO_SIZES[size].dotSize}\n alignSelf=\"start\"\n mr={1}\n >\n <RadioDot\n disabled={disabled}\n hover={hover}\n focus={focus}\n selected={selected}\n error={error}\n />\n </Flex>\n\n <Flex flexDirection=\"column\" flex={1}>\n <Flex alignItems=\"center\" flex={1}>\n {isText(title) ? (\n <Text\n variant={RADIO_SIZES[size].labelFontSize}\n lineHeight={description ? undefined : 1}\n >\n {title}\n </Text>\n ) : (\n title\n )}\n </Flex>\n\n {isText(description) ? (\n <Text variant={RADIO_SIZES[size].descriptionFontSize} color=\"mono60\">\n {description}\n </Text>\n ) : (\n description\n )}\n </Flex>\n </Container>\n )\n}\n\nconst Container = styled(Flex)<{\n disabled?: boolean\n error?: boolean\n hover?: boolean\n focus?: boolean\n selected?: boolean\n as?: React.ElementType\n}>`\n ${(props) => {\n return css`\n ${props.selected ? RADIO_STATES.selected : RADIO_STATES.default}\n ${props.focus && RADIO_STATES.focus}\n ${props.hover && RADIO_STATES.hover}\n ${props.disabled && RADIO_STATES.disabled}\n ${props.error && RADIO_STATES.error}\n\n &:hover {\n ${!props.error &&\n !props.disabled &&\n css`\n ${RADIO_STATES.hover}\n\n // Radio\n > ${RadioDot} {\n ${props.selected\n ? RADIO_DOT_STATES.hover.selected\n : RADIO_DOT_STATES.hover.resting}\n }\n `}\n }\n\n &:focus-visible {\n ${RADIO_STATES.focus}\n\n // Radio\n > ${RadioDot} {\n ${props.selected\n ? RADIO_DOT_STATES.focus.selected\n : RADIO_DOT_STATES.focus.resting}\n }\n }\n\n &:disabled {\n pointer-events: none;\n ${RADIO_STATES.disabled}\n }\n `\n }}\n`\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artsy/palette",
3
- "version": "43.1.0",
3
+ "version": "43.3.0",
4
4
  "description": "Design system library for react components",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
@@ -190,5 +190,5 @@
190
190
  "url": "http://localhost"
191
191
  }
192
192
  },
193
- "gitHead": "b4c4250faf073c7766440c95f642e481f1ac0c80"
193
+ "gitHead": "20d4fcbd1b091da46717ce5f9f7e519c46bf1be2"
194
194
  }