@transferwise/components 0.0.0-experimental-333df2c → 0.0.0-experimental-e4e09f5
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/build/dateLookup/dateTrigger/DateTrigger.js +8 -4
- package/build/dateLookup/dateTrigger/DateTrigger.js.map +1 -1
- package/build/dateLookup/dateTrigger/DateTrigger.mjs +8 -4
- package/build/dateLookup/dateTrigger/DateTrigger.mjs.map +1 -1
- package/build/field/Field.js +9 -2
- package/build/field/Field.js.map +1 -1
- package/build/field/Field.mjs +9 -2
- package/build/field/Field.mjs.map +1 -1
- package/build/i18n/en.json +3 -1
- package/build/i18n/en.json.js +3 -1
- package/build/i18n/en.json.js.map +1 -1
- package/build/i18n/en.json.mjs +3 -1
- package/build/i18n/en.json.mjs.map +1 -1
- package/build/inputs/SelectInput.js +34 -86
- package/build/inputs/SelectInput.js.map +1 -1
- package/build/inputs/SelectInput.mjs +36 -88
- package/build/inputs/SelectInput.mjs.map +1 -1
- package/build/label/Label.js +29 -1
- package/build/label/Label.js.map +1 -1
- package/build/label/Label.messages.js +15 -0
- package/build/label/Label.messages.js.map +1 -0
- package/build/label/Label.messages.mjs +13 -0
- package/build/label/Label.messages.mjs.map +1 -0
- package/build/label/Label.mjs +30 -2
- package/build/label/Label.mjs.map +1 -1
- package/build/main.css +0 -18
- package/build/styles/dateLookup/dateTrigger/DateTrigger.css +0 -8
- package/build/styles/inputs/SelectInput.css +0 -10
- package/build/styles/main.css +0 -18
- package/build/types/dateLookup/dateTrigger/DateTrigger.d.ts.map +1 -1
- package/build/types/field/Field.d.ts +4 -2
- package/build/types/field/Field.d.ts.map +1 -1
- package/build/types/index.d.ts +1 -1
- package/build/types/index.d.ts.map +1 -1
- package/build/types/inputs/SelectInput.d.ts.map +1 -1
- package/build/types/label/Label.d.ts +10 -1
- package/build/types/label/Label.d.ts.map +1 -1
- package/build/types/label/Label.messages.d.ts +12 -0
- package/build/types/label/Label.messages.d.ts.map +1 -0
- package/build/types/label/index.d.ts +3 -0
- package/build/types/label/index.d.ts.map +1 -0
- package/package.json +4 -5
- package/src/dateInput/DateInput.tests.story.tsx +8 -32
- package/src/dateLookup/DateLookup.rtl.spec.tsx +1 -1
- package/src/dateLookup/dateTrigger/DateTrigger.css +0 -8
- package/src/dateLookup/dateTrigger/DateTrigger.less +0 -8
- package/src/dateLookup/dateTrigger/DateTrigger.spec.js +1 -1
- package/src/dateLookup/dateTrigger/DateTrigger.tsx +9 -4
- package/src/field/Field.spec.tsx +3 -3
- package/src/field/Field.story.tsx +81 -3
- package/src/field/Field.tsx +10 -4
- package/src/i18n/en.json +3 -1
- package/src/index.ts +1 -1
- package/src/inlineAlert/InlineAlert.story.tsx +8 -21
- package/src/inputs/InputGroup.spec.tsx +1 -1
- package/src/inputs/SearchInput.spec.tsx +1 -1
- package/src/inputs/SelectInput.css +0 -10
- package/src/inputs/SelectInput.less +0 -12
- package/src/inputs/SelectInput.spec.tsx +1 -1
- package/src/inputs/SelectInput.story.tsx +0 -20
- package/src/inputs/SelectInput.tsx +37 -116
- package/src/label/Label.messages.tsx +12 -0
- package/src/label/Label.story.tsx +30 -21
- package/src/label/Label.tsx +43 -2
- package/src/label/index.ts +2 -0
- package/src/main.css +0 -18
- package/src/radioGroup/RadioGroup.rtl.spec.tsx +1 -1
- package/src/select/Select.rtl.spec.tsx +1 -1
- package/src/switch/Switch.spec.tsx +1 -1
- package/src/field/Field.tests.story.tsx +0 -33
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectInput.mjs","sources":["../../src/inputs/SelectInput.tsx"],"sourcesContent":["import { Listbox as ListboxBase } from '@headlessui/react';\nimport { Check, ChevronDown, Cross, CrossCircle } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport mergeProps from 'merge-props';\nimport {\n createContext,\n forwardRef,\n useContext,\n useDeferredValue,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useIntl } from 'react-intl';\nimport { Virtualizer } from 'virtua';\n\nimport { useEffectEvent } from '../common/hooks/useEffectEvent';\nimport { useScreenSize } from '../common/hooks/useScreenSize';\nimport { PolymorphicWithOverrides } from '../common/polymorphicWithOverrides/PolymorphicWithOverrides';\nimport { Breakpoint } from '../common/propsValues/breakpoint';\nimport dateTriggerMessages from '../dateLookup/dateTrigger/DateTrigger.messages';\nimport { Merge } from '../utils';\n\nimport { BottomSheet } from './_BottomSheet';\nimport { ButtonInput } from './_ButtonInput';\nimport { Popover } from './_Popover';\nimport { useInputAttributes, WithInputAttributesProps } from './contexts';\nimport { InputGroup } from './InputGroup';\nimport { SearchInput } from './SearchInput';\nimport messages from './SelectInput.messages';\n\nconst MAX_ITEMS_WITHOUT_VIRTUALIZATION = 50;\n\nfunction searchableString(value: string) {\n return value.trim().replace(/\\s+/gu, ' ').normalize('NFKC').toLowerCase();\n}\n\nfunction inferSearchableStrings(value: unknown) {\n if (typeof value === 'string') {\n return [searchableString(value)];\n }\n\n if (typeof value === 'object' && value != null) {\n return Object.values(value)\n .filter((innerValue) => typeof innerValue === 'string')\n .map((innerValue) => searchableString(innerValue));\n }\n\n return [];\n}\n\nconst SelectInputTriggerButtonPropsContext = createContext<{\n ref?: React.ForwardedRef<HTMLButtonElement | null>;\n id?: string;\n onClick?: (event: React.MouseEvent) => void;\n onKeyDown?: (event: React.KeyboardEvent) => void;\n [key: string]: unknown;\n}>({});\nconst SelectInputOptionContentWithinTriggerContext = createContext(false);\n\nexport interface SelectInputOptionItem<T = string> {\n type: 'option';\n value: T;\n filterMatchers?: readonly string[];\n disabled?: boolean;\n}\n\nexport interface SelectInputGroupItem<T = string> {\n type: 'group';\n label: string;\n options: readonly SelectInputOptionItem<T>[];\n}\n\nexport interface SelectInputSeparatorItem {\n type: 'separator';\n}\n\nexport type SelectInputItem<T = string> =\n | SelectInputOptionItem<T>\n | SelectInputGroupItem<T>\n | SelectInputSeparatorItem;\n\nfunction dedupeSelectInputOptionItem<T>(\n item: SelectInputOptionItem<T>,\n existingValues: Set<T>,\n): SelectInputOptionItem<T | undefined> {\n if (!existingValues.has(item.value)) {\n existingValues.add(item.value);\n return item;\n }\n return { ...item, value: undefined };\n}\n\n/**\n * Sets the `value` of duplicate option items to `undefined`, hiding them when\n * rendered. Indexes are kept intact within groups to preserve the active item\n * between filter changes when possible.\n */\nfunction dedupeSelectInputItems<T>(\n items: readonly SelectInputItem<T>[],\n): SelectInputItem<T | undefined>[] {\n const existingValues = new Set<T>();\n return items.map((item) => {\n switch (item.type) {\n case 'option': {\n return dedupeSelectInputOptionItem(item, existingValues);\n }\n case 'group': {\n return {\n ...item,\n options: item.options.map((option) =>\n dedupeSelectInputOptionItem(option, existingValues),\n ),\n };\n }\n default:\n }\n return item;\n });\n}\n\nfunction selectInputOptionItemIncludesNeedle<T>(item: SelectInputOptionItem<T>, needle: string) {\n return inferSearchableStrings(item.filterMatchers ?? item.value).some((haystack) =>\n haystack.includes(needle),\n );\n}\n\nfunction filterSelectInputItems<T>(\n items: readonly SelectInputItem<T>[],\n predicate: (item: SelectInputOptionItem<T>) => boolean,\n) {\n return items.filter((item) => {\n switch (item.type) {\n case 'option': {\n return predicate(item);\n }\n case 'group': {\n return item.options.some((option) => predicate(option));\n }\n default:\n }\n return false;\n });\n}\n\nexport interface SelectInputProps<T = string, M extends boolean = false> {\n id?: string;\n name?: string;\n multiple?: M;\n placeholder?: string;\n items: readonly SelectInputItem<NonNullable<T>>[];\n defaultValue?: M extends true ? readonly T[] : T;\n value?: M extends true ? readonly T[] : T;\n compareValues?:\n | (keyof NonNullable<T> & string)\n | ((a: T | undefined, b: T | undefined) => boolean);\n renderValue?: (value: NonNullable<T>, withinTrigger: boolean) => React.ReactNode;\n renderFooter?: (args: {\n resultsEmpty: boolean;\n queryNormalized: string | null | undefined;\n }) => React.ReactNode;\n renderTrigger?: (args: {\n content: React.ReactNode;\n placeholderShown: boolean;\n clear: (() => void) | undefined;\n disabled: boolean;\n size: 'sm' | 'md' | 'lg';\n className: string | undefined;\n }) => React.ReactNode;\n filterable?: boolean;\n filterPlaceholder?: string;\n disabled?: boolean;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n UNSAFE_triggerButtonProps?: WithInputAttributesProps['inputAttributes'];\n onFilterChange?: (args: { query: string; queryNormalized: string | null }) => void;\n onChange?: (value: M extends true ? T[] : T) => void;\n onClose?: () => void;\n onClear?: () => void;\n}\n\nconst defaultRenderTrigger = (({ content, placeholderShown, clear, disabled, size, className }) => (\n <InputGroup\n addonEnd={{\n content: (\n <span className={clsx('np-select-input-addon-container', disabled && 'disabled')}>\n {clear != null && !placeholderShown ? (\n <>\n <SelectInputClearButton\n onClick={(event) => {\n event.preventDefault();\n clear();\n }}\n />\n <span className=\"np-select-input-addon-separator\" />\n </>\n ) : null}\n\n <span className=\"np-select-input-addon\">\n <ChevronDown size={16} />\n </span>\n </span>\n ),\n initialContentWidth: 24 + 4,\n padding: 'sm',\n }}\n disabled={disabled}\n className={className}\n >\n <SelectInputTriggerButton as={ButtonInput} size={size}>\n <span\n className={clsx(\n 'np-select-input-content',\n placeholderShown && 'np-select-input-placeholder',\n )}\n >\n {content}\n </span>\n </SelectInputTriggerButton>\n </InputGroup>\n)) satisfies SelectInputProps['renderTrigger'];\n\ninterface SelectInputClearButtonProps\n extends Pick<React.ComponentPropsWithoutRef<'button'>, 'className' | 'onClick'> {}\n\nfunction SelectInputClearButton({ className, onClick }: SelectInputClearButtonProps) {\n const intl = useIntl();\n\n return (\n <button\n type=\"button\"\n aria-label={intl.formatMessage(dateTriggerMessages.ariaLabel)}\n className={clsx(className, 'np-select-input-addon np-select-input-addon--interactive')}\n onClick={onClick}\n >\n <Cross size={16} />\n </button>\n );\n}\n\nconst noop = () => {};\n\nexport function SelectInput<T = string, M extends boolean = false>({\n id: idProp,\n name,\n multiple,\n placeholder,\n items,\n defaultValue,\n value: controlledValue,\n compareValues,\n renderValue = String,\n renderFooter,\n renderTrigger = defaultRenderTrigger,\n filterable,\n filterPlaceholder,\n disabled,\n size = 'md',\n className,\n UNSAFE_triggerButtonProps,\n onFilterChange = noop,\n onChange,\n onClose,\n onClear,\n}: SelectInputProps<T, M>) {\n const inputAttributes = useInputAttributes();\n const id = idProp ?? inputAttributes.id;\n\n const [open, setOpen] = useState(false);\n\n const initialized = useRef(false);\n const handleClose = useEffectEvent(onClose ?? (() => {}));\n useEffect(() => {\n if (initialized.current) {\n if (!open) {\n handleClose?.();\n }\n } else {\n initialized.current = true;\n }\n }, [handleClose, open]);\n\n const [filterQuery, _setFilterQuery] = useState('');\n const deferredFilterQuery = useDeferredValue(filterQuery);\n const setFilterQuery = useEffectEvent((query: string) => {\n _setFilterQuery(query);\n if (query !== filterQuery) {\n onFilterChange({\n query,\n queryNormalized: query ? searchableString(query) : null,\n });\n }\n });\n\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n\n const screenSm = useScreenSize(Breakpoint.SMALL);\n const OptionsOverlay = screenSm ? Popover : BottomSheet;\n\n const searchInputRef = useRef<HTMLInputElement>(null);\n const listboxRef = useRef<HTMLDivElement>(null);\n const controllerRef = filterable ? searchInputRef : listboxRef;\n\n return (\n <ListboxBase\n name={name}\n multiple={multiple}\n defaultValue={defaultValue}\n value={controlledValue}\n by={compareValues}\n disabled={disabled}\n onChange={\n ((value) => {\n if (!multiple) {\n setOpen(false);\n }\n onChange?.(value);\n }) satisfies SelectInputProps<T, M>['onChange']\n }\n >\n {({ disabled: uiDisabled, value }) => {\n const placeholderShown =\n multiple && Array.isArray(value) ? value.length === 0 : value == null;\n return (\n <OptionsOverlay\n placement=\"bottom-start\"\n open={open}\n renderTrigger={({ ref, getInteractionProps }) => (\n <SelectInputTriggerButtonPropsContext.Provider\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n value={{\n ref: (node) => {\n ref(node);\n triggerRef.current = node;\n },\n ...inputAttributes,\n ...UNSAFE_triggerButtonProps,\n id,\n ...mergeProps(\n {\n onClick: () => {\n setOpen((prev) => !prev);\n },\n onKeyDown: (event: React.KeyboardEvent) => {\n if (\n event.key === ' ' ||\n event.key === 'Enter' ||\n event.key === 'ArrowDown' ||\n event.key === 'ArrowUp'\n ) {\n setOpen((prev) => !prev);\n }\n },\n },\n getInteractionProps(),\n ),\n }}\n >\n {renderTrigger({\n content: !placeholderShown ? (\n <SelectInputOptionContentWithinTriggerContext.Provider value>\n {multiple && Array.isArray(value)\n ? (value as readonly NonNullable<T>[])\n .map((option) => renderValue(option, true))\n .filter((node) => node != null)\n .join(', ')\n : renderValue(value as NonNullable<T>, true)}\n </SelectInputOptionContentWithinTriggerContext.Provider>\n ) : (\n placeholder\n ),\n placeholderShown,\n clear:\n onClear != null\n ? () => {\n onClear();\n triggerRef.current?.focus({ preventScroll: true });\n }\n : undefined,\n disabled: uiDisabled,\n size,\n className,\n })}\n </SelectInputTriggerButtonPropsContext.Provider>\n )}\n initialFocusRef={controllerRef}\n size={filterable ? 'lg' : 'md'}\n padding=\"none\"\n onClose={() => {\n setOpen(false);\n }}\n onCloseEnd={() => {\n setFilterQuery('');\n }}\n >\n <SelectInputOptions\n items={items}\n renderValue={renderValue}\n renderFooter={renderFooter}\n filterable={filterable}\n filterPlaceholder={filterPlaceholder}\n searchInputRef={searchInputRef}\n listboxRef={listboxRef}\n filterQuery={deferredFilterQuery}\n onFilterChange={setFilterQuery}\n />\n </OptionsOverlay>\n );\n }}\n </ListboxBase>\n );\n}\n\ntype SelectInputTriggerButtonElementType = 'button' | React.ComponentType;\n\nexport type SelectInputTriggerButtonProps<\n T extends SelectInputTriggerButtonElementType = 'button',\n> = Merge<React.ComponentPropsWithoutRef<T>, { as?: T }>;\n\nexport function SelectInputTriggerButton<T extends SelectInputTriggerButtonElementType = 'button'>({\n as = 'button' as T,\n ...restProps\n}: SelectInputTriggerButtonProps<T>) {\n const { ref, onClick, onKeyDown, ...interactionProps } = useContext(\n SelectInputTriggerButtonPropsContext,\n );\n\n return (\n <ListboxBase.Button\n ref={ref}\n as={PolymorphicWithOverrides}\n __overrides={{ as, ...interactionProps }}\n {...mergeProps({ onClick, onKeyDown }, restProps)}\n />\n );\n}\n\ninterface SelectInputOptionsContainerProps extends React.ComponentPropsWithRef<'div'> {\n onAriaActiveDescendantChange: (value: React.AriaAttributes['aria-activedescendant']) => void;\n}\n\nconst SelectInputOptionsContainer = forwardRef(function SelectInputOptionsContainer(\n {\n 'aria-orientation': ariaOrientation,\n 'aria-activedescendant': ariaActiveDescendant,\n role,\n tabIndex,\n onAriaActiveDescendantChange,\n onKeyDown,\n ...restProps\n }: SelectInputOptionsContainerProps,\n ref: React.ForwardedRef<HTMLDivElement | null>,\n) {\n const handleAriaActiveDescendantChange = useEffectEvent(onAriaActiveDescendantChange);\n useEffect(() => {\n handleAriaActiveDescendantChange(ariaActiveDescendant);\n }, [ariaActiveDescendant, handleAriaActiveDescendantChange]);\n\n return (\n <div\n ref={ref}\n role=\"none\"\n onKeyDown={(event) => {\n // Prevent confirmation close without an active item\n if (event.key === 'Enter' && ariaActiveDescendant == null) {\n return;\n }\n\n // Prevent absorbing actions early\n if (event.key === 'Escape' || event.key === 'Tab') {\n onKeyDown?.({\n ...event,\n preventDefault: () => {},\n stopPropagation: () => {},\n });\n return;\n }\n\n onKeyDown?.(event);\n }}\n {...restProps}\n />\n );\n});\n\ninterface SelectInputOptionsProps<T = string>\n extends Pick<\n SelectInputProps<T>,\n 'items' | 'renderValue' | 'renderFooter' | 'filterable' | 'filterPlaceholder'\n > {\n searchInputRef: React.MutableRefObject<HTMLInputElement | null>;\n listboxRef: React.MutableRefObject<HTMLDivElement | null>;\n filterQuery: string;\n onFilterChange: (query: string) => void;\n}\n\nfunction SelectInputOptions<T = string>({\n items,\n renderValue = String,\n renderFooter,\n filterable = false,\n filterPlaceholder,\n searchInputRef,\n listboxRef,\n filterQuery,\n onFilterChange,\n}: SelectInputOptionsProps<T>) {\n const intl = useIntl();\n\n const controllerRef = filterable ? searchInputRef : listboxRef;\n\n const needle = useMemo(() => {\n if (filterable) {\n return filterQuery ? searchableString(filterQuery) : null;\n }\n return undefined;\n }, [filterQuery, filterable]);\n useEffect(() => {\n if (needle) {\n // Ensure having an active option while filtering\n requestAnimationFrame(() => {\n if (\n controllerRef.current != null &&\n !controllerRef.current.hasAttribute('aria-activedescendant')\n ) {\n // Activate first option via synthetic key press\n controllerRef.current.dispatchEvent(\n new KeyboardEvent('keydown', { key: 'Home', bubbles: true }),\n );\n }\n });\n }\n }, [controllerRef, needle]);\n\n const filteredItems: readonly SelectInputItem<NonNullable<T> | undefined>[] =\n needle != null\n ? filterSelectInputItems(dedupeSelectInputItems(items), (item) =>\n selectInputOptionItemIncludesNeedle(item, needle),\n )\n : items;\n const resultsEmpty = needle != null && filteredItems.length === 0;\n\n const virtualized = filteredItems.length > MAX_ITEMS_WITHOUT_VIRTUALIZATION;\n\n // Items shown once shall be kept mounted until the needle changes, otherwise\n // the scroll position may jump around inadvertently. Pattern adopted from:\n // https://inokawa.github.io/virtua/?path=/story/advanced-keep-offscreen-items--append-only\n const [mountedIndexes, setMountedIndexes] = useState<number[]>([]);\n useEffect(() => {\n // Ensure the 'End' key works as intended by keeping the last item mounted\n setMountedIndexes((prevMountedIndexes) => {\n const indexes = new Set(prevMountedIndexes);\n indexes.add(filteredItems.length - 1);\n return [...indexes]; // Sorting is redundant by nature here\n });\n }, [\n needle, // Needed as `filteredItems.length` may be equal between two updates\n filteredItems.length,\n ]);\n\n const listboxContainerRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n if (listboxContainerRef.current != null) {\n listboxContainerRef.current.style.setProperty(\n '--initial-height',\n `${listboxContainerRef.current.offsetHeight}px`,\n );\n }\n }, []);\n\n const showStatus = resultsEmpty;\n const statusId = useId();\n const listboxId = useId();\n\n const getItemNode = (index: number) => {\n const item = filteredItems[index];\n return (\n <SelectInputItemView\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n item={item}\n renderValue={renderValue}\n needle={needle}\n />\n );\n };\n\n return (\n <ListboxBase.Options\n as={SelectInputOptionsContainer}\n static\n className=\"np-select-input-options-container\"\n onAriaActiveDescendantChange={(value: React.AriaAttributes['aria-activedescendant']) => {\n if (controllerRef.current != null) {\n if (value != null) {\n controllerRef.current.setAttribute('aria-activedescendant', value);\n } else {\n controllerRef.current.removeAttribute('aria-activedescendant');\n }\n }\n }}\n >\n {filterable ? (\n <div className=\"np-select-input-query-container\">\n <SearchInput\n ref={searchInputRef}\n shape=\"rectangle\"\n placeholder={filterPlaceholder}\n defaultValue={filterQuery}\n aria-controls={listboxId}\n aria-describedby={showStatus ? statusId : undefined}\n onKeyDown={(event) => {\n // Prevent interfering with the matcher of Headless UI\n // https://mathiasbynens.be/notes/javascript-unicode#regex\n if (/^.$/u.test(event.key)) {\n event.stopPropagation();\n }\n }}\n onChange={(event) => {\n // Free up resources and ensure not to go out of bounds when the\n // resulting item count is less than before\n setMountedIndexes([]);\n onFilterChange(event.currentTarget.value);\n }}\n />\n </div>\n ) : null}\n\n <section\n ref={listboxContainerRef}\n tabIndex={-1}\n className={clsx(\n 'np-select-input-listbox-container',\n virtualized && 'np-select-input-listbox-container--virtualized',\n needle == null && // Groups aren't shown when filtering\n items.some((item) => item.type === 'group') &&\n 'np-select-input-listbox-container--has-group',\n )}\n >\n {resultsEmpty ? (\n <div id={statusId} className=\"np-select-input-options-status\">\n <CrossCircle size={16} className=\"np-select-input-options-status-icon\" />\n {intl.formatMessage(messages.noResultsFound)}\n </div>\n ) : null}\n\n <div\n ref={listboxRef}\n id={listboxId}\n role=\"listbox\"\n aria-orientation=\"vertical\"\n tabIndex={0}\n className=\"np-select-input-listbox\"\n >\n {!virtualized ? (\n filteredItems.map((_, index) => getItemNode(index))\n ) : (\n <Virtualizer\n key={needle}\n count={filteredItems.length}\n keepMounted={mountedIndexes}\n scrollRef={listboxRef} // `VList` doesn't expose this\n onRangeChange={(startIndex, endIndex) => {\n setMountedIndexes((prevMountedIndexes) => {\n const indexes = new Set(prevMountedIndexes);\n for (let index = startIndex; index <= endIndex; index += 1) {\n indexes.add(index);\n }\n return [...indexes].sort((a, b) => a - b);\n });\n }}\n >\n {(index) => getItemNode(index)}\n </Virtualizer>\n )}\n </div>\n\n {renderFooter != null ? (\n <footer className=\"np-select-input-footer\">\n <div\n role=\"none\"\n onKeyDown={(event) => {\n // Prevent interfering with Headless UI\n if (event.key !== 'Escape') {\n event.stopPropagation();\n }\n }}\n >\n {renderFooter({\n resultsEmpty,\n queryNormalized: needle,\n })}\n </div>\n </footer>\n ) : null}\n </section>\n </ListboxBase.Options>\n );\n}\n\ninterface SelectInputItemViewProps<\n T = string,\n I extends SelectInputItem<T | undefined> = SelectInputItem<T | undefined>,\n> extends Required<Pick<SelectInputProps<T>, 'renderValue'>> {\n item: I;\n needle: string | null | undefined;\n}\n\nfunction SelectInputItemView<T = string>({\n item,\n renderValue,\n needle,\n}: SelectInputItemViewProps<T>) {\n switch (item.type) {\n case 'option': {\n if (\n item.value != null &&\n (needle == null || selectInputOptionItemIncludesNeedle(item, needle))\n ) {\n return (\n <SelectInputOption value={item.value} disabled={item.disabled}>\n {renderValue(item.value, false)}\n </SelectInputOption>\n );\n }\n break;\n }\n case 'group': {\n return <SelectInputGroupItemView item={item} renderValue={renderValue} needle={needle} />;\n }\n case 'separator': {\n if (needle == null) {\n return <hr className=\"np-select-input-separator-item\" />;\n }\n break;\n }\n }\n return null;\n}\n\ninterface SelectInputGroupItemViewProps<T = string>\n extends SelectInputItemViewProps<T, SelectInputGroupItem<T | undefined>> {}\n\nfunction SelectInputGroupItemView<T = string>({\n item,\n renderValue,\n needle,\n}: SelectInputGroupItemViewProps<T>) {\n const headerId = useId();\n\n return (\n // An empty container may be rendered when no options match `needle`\n // However, pre-filtering would result in worse performance overall\n <section\n role=\"group\"\n aria-labelledby={headerId}\n className={clsx(needle === null && 'np-select-input-group-item--without-needle')}\n >\n {needle == null ? (\n <header\n id={headerId}\n role=\"none\"\n className=\"np-select-input-group-item-header np-text-title-group\"\n >\n {item.label}\n </header>\n ) : null}\n {item.options.map((option, index) => (\n <SelectInputItemView\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n item={option}\n renderValue={renderValue}\n needle={needle}\n />\n ))}\n </section>\n );\n}\n\ninterface SelectInputOptionProps<T = string> {\n value: T;\n disabled?: boolean;\n children?: React.ReactNode;\n}\n\nfunction SelectInputOption<T = string>({ value, disabled, children }: SelectInputOptionProps<T>) {\n return (\n <ListboxBase.Option\n as=\"div\"\n value={value}\n disabled={disabled}\n className={({ active, disabled: uiDisabled }) =>\n clsx(\n 'np-select-input-option-container np-text-body-large',\n active && 'np-select-input-option-container--active',\n uiDisabled && 'np-select-input-option-container--disabled',\n )\n }\n >\n {({ selected }) => (\n <>\n <div className=\"np-select-input-option\">{children}</div>\n <Check\n size={16}\n className={clsx(\n 'np-select-input-option-check',\n !selected && 'np-select-input-option-check--not-selected',\n )}\n />\n </>\n )}\n </ListboxBase.Option>\n );\n}\n\nexport interface SelectInputOptionContentProps {\n title: string;\n note?: string;\n description?: string;\n icon?: React.ReactNode;\n}\n\nexport function SelectInputOptionContent({\n title,\n note,\n description,\n icon,\n}: SelectInputOptionContentProps) {\n const withinTrigger = useContext(SelectInputOptionContentWithinTriggerContext);\n\n return (\n <div\n className={clsx(\n 'np-select-input-option-content-container',\n (note || description) && 'np-text-body-large',\n )}\n >\n {icon ? (\n <div\n className={clsx(\n 'np-select-input-option-content-icon',\n !withinTrigger && 'np-select-input-option-content-icon--not-within-trigger',\n )}\n >\n {icon}\n </div>\n ) : null}\n\n <div className=\"np-select-input-option-content-text\">\n <div\n className={clsx(\n 'np-select-input-option-content-text-line-1',\n withinTrigger && 'np-select-input-option-content-text-within-trigger',\n )}\n >\n <h4 className=\"np-select-input-option-content-text-primary d-inline\">{title}</h4>\n {note ? (\n <span className=\"np-select-input-option-content-text-secondary np-text-body-default\">\n {note}\n </span>\n ) : null}\n </div>\n\n {description ? (\n <div\n className={clsx(\n 'np-select-input-option-content-text-secondary np-text-body-default',\n withinTrigger && 'np-select-input-option-content-text-within-trigger',\n )}\n >\n {description}\n </div>\n ) : null}\n </div>\n </div>\n );\n}\n"],"names":["MAX_ITEMS_WITHOUT_VIRTUALIZATION","searchableString","value","trim","replace","normalize","toLowerCase","inferSearchableStrings","Object","values","filter","innerValue","map","SelectInputTriggerButtonPropsContext","createContext","SelectInputOptionContentWithinTriggerContext","dedupeSelectInputOptionItem","item","existingValues","has","add","undefined","dedupeSelectInputItems","items","Set","type","options","option","selectInputOptionItemIncludesNeedle","needle","filterMatchers","some","haystack","includes","filterSelectInputItems","predicate","defaultRenderTrigger","content","placeholderShown","clear","disabled","size","className","_jsx","InputGroup","addonEnd","_jsxs","clsx","children","_Fragment","SelectInputClearButton","onClick","event","preventDefault","ChevronDown","initialContentWidth","padding","SelectInputTriggerButton","as","ButtonInput","intl","useIntl","formatMessage","dateTriggerMessages","ariaLabel","Cross","noop","SelectInput","id","idProp","name","multiple","placeholder","defaultValue","controlledValue","compareValues","renderValue","String","renderFooter","renderTrigger","filterable","filterPlaceholder","UNSAFE_triggerButtonProps","onFilterChange","onChange","onClose","onClear","inputAttributes","useInputAttributes","open","setOpen","useState","initialized","useRef","handleClose","useEffectEvent","useEffect","current","filterQuery","_setFilterQuery","deferredFilterQuery","useDeferredValue","setFilterQuery","query","queryNormalized","triggerRef","screenSm","useScreenSize","Breakpoint","SMALL","OptionsOverlay","Popover","BottomSheet","searchInputRef","listboxRef","controllerRef","ListboxBase","by","uiDisabled","Array","isArray","length","placement","ref","getInteractionProps","Provider","node","mergeProps","prev","onKeyDown","key","join","focus","preventScroll","initialFocusRef","onCloseEnd","SelectInputOptions","restProps","interactionProps","useContext","Button","PolymorphicWithOverrides","__overrides","SelectInputOptionsContainer","forwardRef","ariaOrientation","ariaActiveDescendant","role","tabIndex","onAriaActiveDescendantChange","handleAriaActiveDescendantChange","stopPropagation","useMemo","requestAnimationFrame","hasAttribute","dispatchEvent","KeyboardEvent","bubbles","filteredItems","resultsEmpty","virtualized","mountedIndexes","setMountedIndexes","prevMountedIndexes","indexes","listboxContainerRef","style","setProperty","offsetHeight","showStatus","statusId","useId","listboxId","getItemNode","index","SelectInputItemView","Options","static","setAttribute","removeAttribute","SearchInput","shape","test","currentTarget","CrossCircle","messages","noResultsFound","_","Virtualizer","count","keepMounted","scrollRef","onRangeChange","startIndex","endIndex","sort","a","b","SelectInputOption","SelectInputGroupItemView","headerId","label","Option","active","selected","Check","SelectInputOptionContent","title","note","description","icon","withinTrigger"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectInput.mjs","sources":["../../src/inputs/SelectInput.tsx"],"sourcesContent":["import { Listbox as ListboxBase } from '@headlessui/react';\nimport { Check, ChevronDown, Cross, CrossCircle } from '@transferwise/icons';\nimport { clsx } from 'clsx';\nimport mergeProps from 'merge-props';\nimport {\n createContext,\n forwardRef,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { useIntl } from 'react-intl';\n\nimport { useEffectEvent } from '../common/hooks/useEffectEvent';\nimport { useScreenSize } from '../common/hooks/useScreenSize';\nimport { PolymorphicWithOverrides } from '../common/polymorphicWithOverrides/PolymorphicWithOverrides';\nimport { Breakpoint } from '../common/propsValues/breakpoint';\nimport dateTriggerMessages from '../dateLookup/dateTrigger/DateTrigger.messages';\nimport { Merge } from '../utils';\n\nimport { BottomSheet } from './_BottomSheet';\nimport { ButtonInput } from './_ButtonInput';\nimport { Popover } from './_Popover';\nimport { useInputAttributes, WithInputAttributesProps } from './contexts';\nimport { InputGroup } from './InputGroup';\nimport { SearchInput } from './SearchInput';\nimport messages from './SelectInput.messages';\n\nfunction searchableString(value: string) {\n return value.trim().replace(/\\s+/gu, ' ').normalize('NFKC').toLowerCase();\n}\n\nfunction inferSearchableStrings(value: unknown) {\n if (typeof value === 'string') {\n return [searchableString(value)];\n }\n\n if (typeof value === 'object' && value != null) {\n return Object.values(value)\n .filter((innerValue): innerValue is string => typeof innerValue === 'string')\n .map((innerValue) => searchableString(innerValue));\n }\n\n return [];\n}\n\nconst SelectInputTriggerButtonPropsContext = createContext<{\n ref?: React.ForwardedRef<HTMLButtonElement | null>;\n id?: string;\n onClick?: (event: React.MouseEvent) => void;\n onKeyDown?: (event: React.KeyboardEvent) => void;\n [key: string]: unknown;\n}>({});\nconst SelectInputOptionContentWithinTriggerContext = createContext(false);\n\nexport interface SelectInputOptionItem<T = string> {\n type: 'option';\n value: T;\n filterMatchers?: readonly string[];\n disabled?: boolean;\n}\n\nexport interface SelectInputGroupItem<T = string> {\n type: 'group';\n label: string;\n options: readonly SelectInputOptionItem<T>[];\n}\n\nexport interface SelectInputSeparatorItem {\n type: 'separator';\n}\n\nexport type SelectInputItem<T = string> =\n | SelectInputOptionItem<T>\n | SelectInputGroupItem<T>\n | SelectInputSeparatorItem;\n\nfunction dedupeSelectInputOptionItem<T>(\n item: SelectInputOptionItem<T>,\n existingValues: Set<T>,\n): SelectInputOptionItem<T | undefined> {\n if (!existingValues.has(item.value)) {\n existingValues.add(item.value);\n return item;\n }\n return { ...item, value: undefined };\n}\n\nfunction dedupeSelectInputItems<T>(\n items: readonly SelectInputItem<T>[],\n): SelectInputItem<T | undefined>[] {\n const existingValues = new Set<T>();\n return items.map((item) => {\n switch (item.type) {\n case 'option': {\n return dedupeSelectInputOptionItem(item, existingValues);\n }\n case 'group': {\n return {\n ...item,\n options: item.options.map((option) =>\n dedupeSelectInputOptionItem(option, existingValues),\n ),\n };\n }\n default:\n }\n return item;\n });\n}\n\nfunction filterSelectInputOptionItem<T>(item: SelectInputOptionItem<T>, needle: string) {\n return inferSearchableStrings(item.filterMatchers ?? item.value).some((haystack) =>\n haystack.includes(needle),\n );\n}\n\nfunction filterSelectInputItems<T>(items: readonly SelectInputItem<T>[], needle: string) {\n return items.filter((item) => {\n switch (item.type) {\n case 'option': {\n return filterSelectInputOptionItem(item, needle);\n }\n case 'group': {\n return item.options.some((option) => filterSelectInputOptionItem(option, needle));\n }\n default:\n }\n return false;\n });\n}\n\nexport interface SelectInputProps<T = string, M extends boolean = false> {\n id?: string;\n name?: string;\n multiple?: M;\n placeholder?: string;\n items: readonly SelectInputItem<NonNullable<T>>[];\n defaultValue?: M extends true ? readonly T[] : T;\n value?: M extends true ? readonly T[] : T;\n compareValues?:\n | (keyof NonNullable<T> & string)\n | ((a: T | undefined, b: T | undefined) => boolean);\n renderValue?: (value: NonNullable<T>, withinTrigger: boolean) => React.ReactNode;\n renderFooter?: (args: {\n resultsEmpty: boolean;\n queryNormalized: string | null | undefined;\n }) => React.ReactNode;\n renderTrigger?: (args: {\n content: React.ReactNode;\n placeholderShown: boolean;\n clear: (() => void) | undefined;\n disabled: boolean;\n size: 'sm' | 'md' | 'lg';\n className: string | undefined;\n }) => React.ReactNode;\n filterable?: boolean;\n filterPlaceholder?: string;\n disabled?: boolean;\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n UNSAFE_triggerButtonProps?: WithInputAttributesProps['inputAttributes'];\n onFilterChange?: (args: { query: string; queryNormalized: string | null }) => void;\n onChange?: (value: M extends true ? T[] : T) => void;\n onClose?: () => void;\n onClear?: () => void;\n}\n\nconst defaultRenderTrigger = (({ content, placeholderShown, clear, disabled, size, className }) => (\n <InputGroup\n addonEnd={{\n content: (\n <span className={clsx('np-select-input-addon-container', disabled && 'disabled')}>\n {clear != null && !placeholderShown ? (\n <>\n <SelectInputClearButton\n onClick={(event) => {\n event.preventDefault();\n clear();\n }}\n />\n <span className=\"np-select-input-addon-separator\" />\n </>\n ) : null}\n\n <span className=\"np-select-input-addon\">\n <ChevronDown size={16} />\n </span>\n </span>\n ),\n initialContentWidth: 24 + 4,\n padding: 'sm',\n }}\n disabled={disabled}\n className={className}\n >\n <SelectInputTriggerButton as={ButtonInput} size={size}>\n <span\n className={clsx(\n 'np-select-input-content',\n placeholderShown && 'np-select-input-placeholder',\n )}\n >\n {content}\n </span>\n </SelectInputTriggerButton>\n </InputGroup>\n)) satisfies SelectInputProps['renderTrigger'];\n\ninterface SelectInputClearButtonProps\n extends Pick<React.ComponentPropsWithoutRef<'button'>, 'className' | 'onClick'> {}\n\nfunction SelectInputClearButton({ className, onClick }: SelectInputClearButtonProps) {\n const intl = useIntl();\n\n return (\n <button\n type=\"button\"\n aria-label={intl.formatMessage(dateTriggerMessages.ariaLabel)}\n className={clsx(className, 'np-select-input-addon np-select-input-addon--interactive')}\n onClick={onClick}\n >\n <Cross size={16} />\n </button>\n );\n}\n\nconst noop = () => {};\n\nexport function SelectInput<T = string, M extends boolean = false>({\n id: idProp,\n name,\n multiple,\n placeholder,\n items,\n defaultValue,\n value: controlledValue,\n compareValues,\n renderValue = String,\n renderFooter,\n renderTrigger = defaultRenderTrigger,\n filterable,\n filterPlaceholder,\n disabled,\n size = 'md',\n className,\n UNSAFE_triggerButtonProps,\n onFilterChange = noop,\n onChange,\n onClose,\n onClear,\n}: SelectInputProps<T, M>) {\n const inputAttributes = useInputAttributes();\n const id = idProp ?? inputAttributes.id;\n\n const [open, setOpen] = useState(false);\n\n const initialized = useRef(false);\n const handleClose = useEffectEvent(onClose ?? (() => {}));\n useEffect(() => {\n if (initialized.current) {\n if (!open) {\n handleClose?.();\n }\n } else {\n initialized.current = true;\n }\n }, [handleClose, open]);\n\n const [filterQuery, _setFilterQuery] = useState('');\n const setFilterQuery = useEffectEvent((query: string) => {\n _setFilterQuery(query);\n onFilterChange({\n query,\n queryNormalized: query ? searchableString(query) : null,\n });\n });\n\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n\n const screenSm = useScreenSize(Breakpoint.SMALL);\n const OptionsOverlay = screenSm ? Popover : BottomSheet;\n\n const searchInputRef = useRef<HTMLInputElement>(null);\n const listboxRef = useRef<HTMLDivElement>(null);\n const controllerRef = filterable ? searchInputRef : listboxRef;\n\n return (\n <ListboxBase\n name={name}\n multiple={multiple}\n defaultValue={defaultValue}\n value={controlledValue}\n // TODO: Remove assertion when upgrading TypeScript to v5\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n by={compareValues as any}\n disabled={disabled}\n onChange={\n ((value) => {\n if (!multiple) {\n setOpen(false);\n }\n onChange?.(value);\n }) satisfies SelectInputProps<T, M>['onChange']\n }\n >\n {({ disabled: uiDisabled, value }) => {\n const placeholderShown =\n multiple && Array.isArray(value) ? value.length === 0 : value == null;\n return (\n <OptionsOverlay\n placement=\"bottom-start\"\n open={open}\n renderTrigger={({ ref, getInteractionProps }) => (\n <SelectInputTriggerButtonPropsContext.Provider\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n value={{\n ref: (node) => {\n ref(node);\n triggerRef.current = node;\n },\n ...inputAttributes,\n ...UNSAFE_triggerButtonProps,\n id,\n ...mergeProps(\n {\n onClick: () => {\n setOpen((prev) => !prev);\n },\n onKeyDown: (event: React.KeyboardEvent) => {\n if (\n event.key === ' ' ||\n event.key === 'Enter' ||\n event.key === 'ArrowDown' ||\n event.key === 'ArrowUp'\n ) {\n setOpen((prev) => !prev);\n }\n },\n },\n getInteractionProps(),\n ),\n }}\n >\n {renderTrigger({\n content: !placeholderShown ? (\n <SelectInputOptionContentWithinTriggerContext.Provider value>\n {multiple && Array.isArray(value)\n ? value\n .map((option: NonNullable<T>) => renderValue(option, true))\n .filter((node) => node != null)\n .join(', ')\n : renderValue(value as NonNullable<T>, true)}\n </SelectInputOptionContentWithinTriggerContext.Provider>\n ) : (\n placeholder\n ),\n placeholderShown,\n clear:\n onClear != null\n ? () => {\n onClear();\n triggerRef.current?.focus({ preventScroll: true });\n }\n : undefined,\n disabled: uiDisabled,\n size,\n className,\n })}\n </SelectInputTriggerButtonPropsContext.Provider>\n )}\n initialFocusRef={controllerRef}\n size={filterable ? 'lg' : 'md'}\n padding=\"none\"\n onClose={() => {\n setOpen(false);\n }}\n onCloseEnd={() => {\n if (filterQuery !== '') {\n setFilterQuery('');\n }\n }}\n >\n <SelectInputOptions\n items={items}\n renderValue={renderValue}\n renderFooter={renderFooter}\n filterable={filterable}\n filterPlaceholder={filterPlaceholder}\n searchInputRef={searchInputRef}\n listboxRef={listboxRef}\n filterQuery={filterQuery}\n onFilterChange={setFilterQuery}\n />\n </OptionsOverlay>\n );\n }}\n </ListboxBase>\n );\n}\n\ntype SelectInputTriggerButtonElementType = 'button' | React.ComponentType;\n\nexport type SelectInputTriggerButtonProps<\n T extends SelectInputTriggerButtonElementType = 'button',\n> = Merge<React.ComponentPropsWithoutRef<T>, { as?: T }>;\n\nexport function SelectInputTriggerButton<T extends SelectInputTriggerButtonElementType = 'button'>({\n as = 'button' as T,\n ...restProps\n}: SelectInputTriggerButtonProps<T>) {\n const { ref, onClick, onKeyDown, ...interactionProps } = useContext(\n SelectInputTriggerButtonPropsContext,\n );\n\n return (\n <ListboxBase.Button\n ref={ref}\n as={PolymorphicWithOverrides}\n __overrides={{ as, ...interactionProps }}\n {...mergeProps({ onClick, onKeyDown }, restProps)}\n />\n );\n}\n\ninterface SelectInputOptionsContainerProps extends React.ComponentPropsWithRef<'div'> {\n onAriaActiveDescendantChange: (value: React.AriaAttributes['aria-activedescendant']) => void;\n}\n\nconst SelectInputOptionsContainer = forwardRef(function SelectInputOptionsContainer(\n {\n 'aria-orientation': ariaOrientation,\n 'aria-activedescendant': ariaActiveDescendant,\n role,\n tabIndex,\n onAriaActiveDescendantChange,\n onKeyDown,\n ...restProps\n }: SelectInputOptionsContainerProps,\n ref: React.ForwardedRef<HTMLDivElement | null>,\n) {\n const handleAriaActiveDescendantChange = useEffectEvent(onAriaActiveDescendantChange);\n useEffect(() => {\n handleAriaActiveDescendantChange(ariaActiveDescendant);\n }, [ariaActiveDescendant, handleAriaActiveDescendantChange]);\n\n return (\n <div\n ref={ref}\n role=\"none\"\n onKeyDown={(event) => {\n // Prevent confirmation close without an active item\n if (event.key === 'Enter' && ariaActiveDescendant == null) {\n return;\n }\n\n // Prevent absorbing actions early\n if (event.key === 'Escape' || event.key === 'Tab') {\n onKeyDown?.({\n ...event,\n preventDefault: () => {},\n stopPropagation: () => {},\n });\n return;\n }\n\n onKeyDown?.(event);\n }}\n {...restProps}\n />\n );\n});\n\ninterface SelectInputOptionsProps<T = string>\n extends Pick<\n SelectInputProps<T>,\n 'items' | 'renderValue' | 'renderFooter' | 'filterable' | 'filterPlaceholder'\n > {\n searchInputRef: React.MutableRefObject<HTMLInputElement | null>;\n listboxRef: React.MutableRefObject<HTMLDivElement | null>;\n filterQuery: string;\n onFilterChange: (query: string) => void;\n}\n\nfunction SelectInputOptions<T = string>({\n items,\n renderValue = String,\n renderFooter,\n filterable = false,\n filterPlaceholder,\n searchInputRef,\n listboxRef,\n filterQuery,\n onFilterChange,\n}: SelectInputOptionsProps<T>) {\n const intl = useIntl();\n\n const controllerRef = filterable ? searchInputRef : listboxRef;\n\n const needle = useMemo(() => {\n if (filterable) {\n return filterQuery ? searchableString(filterQuery) : null;\n }\n return undefined;\n }, [filterQuery, filterable]);\n const resultsEmpty = needle != null && filterSelectInputItems(items, needle).length === 0;\n\n const listboxContainerRef = useRef<HTMLDivElement>(null);\n useEffect(() => {\n if (listboxContainerRef.current != null) {\n listboxContainerRef.current.style.setProperty(\n '--initial-height',\n `${listboxContainerRef.current.offsetHeight}px`,\n );\n }\n }, []);\n\n const showStatus = resultsEmpty;\n const statusId = useId();\n const listboxId = useId();\n\n return (\n <ListboxBase.Options\n as={SelectInputOptionsContainer}\n static\n className=\"np-select-input-options-container\"\n onAriaActiveDescendantChange={(value: React.AriaAttributes['aria-activedescendant']) => {\n if (controllerRef.current != null) {\n if (value != null) {\n controllerRef.current.setAttribute('aria-activedescendant', value);\n } else {\n controllerRef.current.removeAttribute('aria-activedescendant');\n if (filterQuery) {\n // Ensure having an active option while filtering\n controllerRef.current.dispatchEvent(\n new KeyboardEvent('keydown', { key: 'Home', bubbles: true }),\n );\n }\n }\n }\n }}\n >\n {filterable ? (\n <div className=\"np-select-input-query-container\">\n <SearchInput\n ref={searchInputRef}\n shape=\"rectangle\"\n placeholder={filterPlaceholder}\n value={filterQuery}\n aria-controls={listboxId}\n aria-describedby={showStatus ? statusId : undefined}\n onKeyDown={(event) => {\n // Prevent interfering with the matcher of Headless UI\n // https://mathiasbynens.be/notes/javascript-unicode#regex\n if (/^.$/u.test(event.key)) {\n event.stopPropagation();\n }\n }}\n onChange={(event) => {\n onFilterChange(event.currentTarget.value);\n }}\n />\n </div>\n ) : null}\n\n <section\n ref={listboxContainerRef}\n tabIndex={-1}\n className={clsx(\n 'np-select-input-listbox-container',\n items.some((item) => item.type === 'group') &&\n 'np-select-input-listbox-container--has-group',\n )}\n >\n {resultsEmpty ? (\n <div id={statusId} className=\"np-select-input-options-status\">\n <CrossCircle size={16} className=\"np-select-input-options-status-icon\" />\n {intl.formatMessage(messages.noResultsFound)}\n </div>\n ) : null}\n\n <div\n ref={listboxRef}\n id={listboxId}\n role=\"listbox\"\n aria-orientation=\"vertical\"\n tabIndex={0}\n className=\"np-select-input-listbox\"\n >\n {(needle != null ? dedupeSelectInputItems(items) : items).map((item, index) => (\n <SelectInputItemView\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n item={item}\n renderValue={renderValue}\n needle={needle}\n />\n ))}\n </div>\n\n {renderFooter != null ? (\n <footer className=\"np-select-input-footer\">\n <div\n role=\"none\"\n onKeyDown={(event) => {\n // Prevent interfering with Headless UI\n if (event.key !== 'Escape') {\n event.stopPropagation();\n }\n }}\n >\n {renderFooter({\n resultsEmpty,\n queryNormalized: needle,\n })}\n </div>\n </footer>\n ) : null}\n </section>\n </ListboxBase.Options>\n );\n}\n\ninterface SelectInputItemViewProps<\n T = string,\n I extends SelectInputItem<T | undefined> = SelectInputItem<T | undefined>,\n> extends Required<Pick<SelectInputProps<T>, 'renderValue'>> {\n item: I;\n needle: string | null | undefined;\n}\n\nfunction SelectInputItemView<T = string>({\n item,\n renderValue,\n needle,\n}: SelectInputItemViewProps<T>) {\n switch (item.type) {\n case 'option': {\n if (item.value != null && (needle == null || filterSelectInputOptionItem(item, needle))) {\n return (\n <SelectInputOption value={item.value} disabled={item.disabled}>\n {renderValue(item.value, false)}\n </SelectInputOption>\n );\n }\n break;\n }\n case 'group': {\n return <SelectInputGroupItemView item={item} renderValue={renderValue} needle={needle} />;\n }\n case 'separator': {\n if (needle == null) {\n return <hr className=\"np-select-input-separator-item\" />;\n }\n break;\n }\n }\n return null;\n}\n\ninterface SelectInputGroupItemViewProps<T = string>\n extends SelectInputItemViewProps<T, SelectInputGroupItem<T | undefined>> {}\n\nfunction SelectInputGroupItemView<T = string>({\n item,\n renderValue,\n needle,\n}: SelectInputGroupItemViewProps<T>) {\n const headerId = useId();\n\n return (\n // An empty container may be rendered when no options match `needle`\n // However, pre-filtering would result in worse performance overall\n <section\n role=\"group\"\n aria-labelledby={headerId}\n className={clsx(needle === null && 'np-select-input-group-item--without-needle')}\n >\n {needle == null ? (\n <header\n id={headerId}\n role=\"none\"\n className=\"np-select-input-group-item-header np-text-title-group\"\n >\n {item.label}\n </header>\n ) : null}\n {item.options.map((option, index) => (\n <SelectInputItemView\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n item={option}\n renderValue={renderValue}\n needle={needle}\n />\n ))}\n </section>\n );\n}\n\ninterface SelectInputOptionProps<T = string> {\n value: T;\n disabled?: boolean;\n children?: React.ReactNode;\n}\n\nfunction SelectInputOption<T = string>({ value, disabled, children }: SelectInputOptionProps<T>) {\n return (\n <ListboxBase.Option\n as=\"div\"\n value={value}\n disabled={disabled}\n className={({ active, disabled: uiDisabled }) =>\n clsx(\n 'np-select-input-option-container np-text-body-large',\n active && 'np-select-input-option-container--active',\n uiDisabled && 'np-select-input-option-container--disabled',\n )\n }\n >\n {({ selected }) => (\n <>\n <div className=\"np-select-input-option\">{children}</div>\n <Check\n size={16}\n className={clsx(\n 'np-select-input-option-check',\n !selected && 'np-select-input-option-check--not-selected',\n )}\n />\n </>\n )}\n </ListboxBase.Option>\n );\n}\n\nexport interface SelectInputOptionContentProps {\n title: string;\n note?: string;\n description?: string;\n icon?: React.ReactNode;\n}\n\nexport function SelectInputOptionContent({\n title,\n note,\n description,\n icon,\n}: SelectInputOptionContentProps) {\n const withinTrigger = useContext(SelectInputOptionContentWithinTriggerContext);\n\n return (\n <div\n className={clsx(\n 'np-select-input-option-content-container',\n (note || description) && 'np-text-body-large',\n )}\n >\n {icon ? (\n <div\n className={clsx(\n 'np-select-input-option-content-icon',\n !withinTrigger && 'np-select-input-option-content-icon--not-within-trigger',\n )}\n >\n {icon}\n </div>\n ) : null}\n\n <div className=\"np-select-input-option-content-text\">\n <div\n className={clsx(\n 'np-select-input-option-content-text-line-1',\n withinTrigger && 'np-select-input-option-content-text-within-trigger',\n )}\n >\n <h4 className=\"np-select-input-option-content-text-primary d-inline\">{title}</h4>\n {note ? (\n <span className=\"np-select-input-option-content-text-secondary np-text-body-default\">\n {note}\n </span>\n ) : null}\n </div>\n\n {description ? (\n <div\n className={clsx(\n 'np-select-input-option-content-text-secondary np-text-body-default',\n withinTrigger && 'np-select-input-option-content-text-within-trigger',\n )}\n >\n {description}\n </div>\n ) : null}\n </div>\n </div>\n );\n}\n"],"names":["searchableString","value","trim","replace","normalize","toLowerCase","inferSearchableStrings","Object","values","filter","innerValue","map","SelectInputTriggerButtonPropsContext","createContext","SelectInputOptionContentWithinTriggerContext","dedupeSelectInputOptionItem","item","existingValues","has","add","undefined","dedupeSelectInputItems","items","Set","type","options","option","filterSelectInputOptionItem","needle","filterMatchers","some","haystack","includes","filterSelectInputItems","defaultRenderTrigger","content","placeholderShown","clear","disabled","size","className","_jsx","InputGroup","addonEnd","_jsxs","clsx","children","_Fragment","SelectInputClearButton","onClick","event","preventDefault","ChevronDown","initialContentWidth","padding","SelectInputTriggerButton","as","ButtonInput","intl","useIntl","formatMessage","dateTriggerMessages","ariaLabel","Cross","noop","SelectInput","id","idProp","name","multiple","placeholder","defaultValue","controlledValue","compareValues","renderValue","String","renderFooter","renderTrigger","filterable","filterPlaceholder","UNSAFE_triggerButtonProps","onFilterChange","onChange","onClose","onClear","inputAttributes","useInputAttributes","open","setOpen","useState","initialized","useRef","handleClose","useEffectEvent","useEffect","current","filterQuery","_setFilterQuery","setFilterQuery","query","queryNormalized","triggerRef","screenSm","useScreenSize","Breakpoint","SMALL","OptionsOverlay","Popover","BottomSheet","searchInputRef","listboxRef","controllerRef","ListboxBase","by","uiDisabled","Array","isArray","length","placement","ref","getInteractionProps","Provider","node","mergeProps","prev","onKeyDown","key","join","focus","preventScroll","initialFocusRef","onCloseEnd","SelectInputOptions","restProps","interactionProps","useContext","Button","PolymorphicWithOverrides","__overrides","SelectInputOptionsContainer","forwardRef","ariaOrientation","ariaActiveDescendant","role","tabIndex","onAriaActiveDescendantChange","handleAriaActiveDescendantChange","stopPropagation","useMemo","resultsEmpty","listboxContainerRef","style","setProperty","offsetHeight","showStatus","statusId","useId","listboxId","Options","static","setAttribute","removeAttribute","dispatchEvent","KeyboardEvent","bubbles","SearchInput","shape","test","currentTarget","CrossCircle","messages","noResultsFound","index","SelectInputItemView","SelectInputOption","SelectInputGroupItemView","headerId","label","Option","active","selected","Check","SelectInputOptionContent","title","note","description","icon","withinTrigger"],"mappings":"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"}
|
package/build/label/Label.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var clsx = require('clsx');
|
|
4
|
+
var Label_messages = require('./Label.messages.js');
|
|
5
|
+
var reactIntl = require('react-intl');
|
|
6
|
+
var Body = require('../body/Body.js');
|
|
4
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
5
8
|
|
|
6
9
|
const Label = ({
|
|
@@ -12,10 +15,35 @@ const Label = ({
|
|
|
12
15
|
return /*#__PURE__*/jsxRuntime.jsx("label", {
|
|
13
16
|
id: id,
|
|
14
17
|
htmlFor: htmlFor,
|
|
15
|
-
className: clsx.clsx('
|
|
18
|
+
className: clsx.clsx('d-flex', 'flex-column', 'gap-y-4', 'm-b-0', 'np-text-body-default-bold', 'text-primary', className),
|
|
16
19
|
children: children
|
|
17
20
|
});
|
|
18
21
|
};
|
|
22
|
+
const Optional = ({
|
|
23
|
+
children,
|
|
24
|
+
className
|
|
25
|
+
}) => {
|
|
26
|
+
const {
|
|
27
|
+
formatMessage
|
|
28
|
+
} = reactIntl.useIntl();
|
|
29
|
+
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
30
|
+
children: [children, /*#__PURE__*/jsxRuntime.jsx(Body, {
|
|
31
|
+
as: "span",
|
|
32
|
+
"aria-label": formatMessage(Label_messages.optionalAriaLabel),
|
|
33
|
+
className: clsx.clsx('text-secondary', 'm-l-1', className),
|
|
34
|
+
children: formatMessage(Label_messages.optionalLabel)
|
|
35
|
+
})]
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
const Description = ({
|
|
39
|
+
children,
|
|
40
|
+
className
|
|
41
|
+
}) => children ? /*#__PURE__*/jsxRuntime.jsx(Body, {
|
|
42
|
+
className: clsx.clsx('text-secondary', className),
|
|
43
|
+
children: children
|
|
44
|
+
}) : null;
|
|
45
|
+
Label.Optional = Optional;
|
|
46
|
+
Label.Description = Description;
|
|
19
47
|
|
|
20
48
|
exports.Label = Label;
|
|
21
49
|
//# sourceMappingURL=Label.js.map
|
package/build/label/Label.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.js","sources":["../../src/label/Label.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nexport type LabelProps = {\n id?: string;\n htmlFor?: string;\n className?: string;\n children?: React.ReactNode;\n};\n\
|
|
1
|
+
{"version":3,"file":"Label.js","sources":["../../src/label/Label.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport messages from './Label.messages';\nimport { useIntl } from 'react-intl';\nimport Body from '../body';\nimport { CommonProps } from '../common';\nimport { PropsWithChildren } from 'react';\n\nexport type LabelProps = {\n id?: string;\n htmlFor?: string;\n className?: string;\n children?: React.ReactNode;\n};\n\nconst Label = ({ id, htmlFor, className, children }: LabelProps) => {\n return (\n <label\n id={id}\n htmlFor={htmlFor}\n className={clsx(\n 'd-flex',\n 'flex-column',\n 'gap-y-4',\n 'm-b-0',\n 'np-text-body-default-bold',\n 'text-primary',\n className,\n )}\n >\n {children}\n </label>\n );\n};\n\nexport type LabelOptionalProps = PropsWithChildren<CommonProps>;\n\nconst Optional = ({ children, className }: LabelOptionalProps) => {\n const { formatMessage } = useIntl();\n return (\n <div>\n {children}\n <Body\n as=\"span\"\n aria-label={formatMessage(messages.optionalAriaLabel)}\n className={clsx('text-secondary', 'm-l-1', className)}\n >\n {formatMessage(messages.optionalLabel)}\n </Body>\n </div>\n );\n};\n\nexport type LabelDescriptionProps = PropsWithChildren<CommonProps>;\n\nconst Description = ({ children, className }: LabelDescriptionProps) =>\n children ? <Body className={clsx('text-secondary', className)}>{children}</Body> : null;\n\nLabel.Optional = Optional;\nLabel.Description = Description;\n\nexport { Label };\n"],"names":["Label","id","htmlFor","className","children","_jsx","clsx","Optional","formatMessage","useIntl","_jsxs","Body","as","messages","optionalAriaLabel","optionalLabel","Description"],"mappings":";;;;;;;;AAcMA,MAAAA,KAAK,GAAGA,CAAC;EAAEC,EAAE;EAAEC,OAAO;EAAEC,SAAS;AAAEC,EAAAA,QAAAA;AAAQ,CAAc,KAAI;AACjE,EAAA,oBACEC,cAAA,CAAA,OAAA,EAAA;AACEJ,IAAAA,EAAE,EAAEA,EAAG;AACPC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,SAAS,EAAEG,SAAI,CACb,QAAQ,EACR,aAAa,EACb,SAAS,EACT,OAAO,EACP,2BAA2B,EAC3B,cAAc,EACdH,SAAS,CACT;AAAAC,IAAAA,QAAA,EAEDA,QAAAA;AAAQ,GACJ,CAAC,CAAA;AAEZ,EAAC;AAID,MAAMG,QAAQ,GAAGA,CAAC;EAAEH,QAAQ;AAAED,EAAAA,SAAAA;AAA+B,CAAA,KAAI;EAC/D,MAAM;AAAEK,IAAAA,aAAAA;GAAe,GAAGC,iBAAO,EAAE,CAAA;AACnC,EAAA,oBACEC,eAAA,CAAA,KAAA,EAAA;AAAAN,IAAAA,QAAA,EACGA,CAAAA,QAAQ,eACTC,cAAA,CAACM,IAAI,EAAA;AACHC,MAAAA,EAAE,EAAC,MAAM;AACT,MAAA,YAAA,EAAYJ,aAAa,CAACK,cAAQ,CAACC,iBAAiB,CAAE;MACtDX,SAAS,EAAEG,SAAI,CAAC,gBAAgB,EAAE,OAAO,EAAEH,SAAS,CAAE;AAAAC,MAAAA,QAAA,EAErDI,aAAa,CAACK,cAAQ,CAACE,aAAa,CAAA;AAAC,KAClC,CACR,CAAA;AAAA,GAAK,CAAC,CAAA;AAEV,CAAC,CAAA;AAID,MAAMC,WAAW,GAAGA,CAAC;EAAEZ,QAAQ;AAAED,EAAAA,SAAAA;AAAS,CAAyB,KACjEC,QAAQ,gBAAGC,cAAA,CAACM,IAAI,EAAA;AAACR,EAAAA,SAAS,EAAEG,SAAI,CAAC,gBAAgB,EAAEH,SAAS,CAAE;AAAAC,EAAAA,QAAA,EAAEA,QAAAA;AAAQ,CAAO,CAAC,GAAG,IAAI,CAAA;AAEzFJ,KAAK,CAACO,QAAQ,GAAGA,QAAQ,CAAA;AACzBP,KAAK,CAACgB,WAAW,GAAGA,WAAW;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var reactIntl = require('react-intl');
|
|
4
|
+
|
|
5
|
+
var messages = reactIntl.defineMessages({
|
|
6
|
+
optionalLabel: {
|
|
7
|
+
id: "neptune.Label.optional"
|
|
8
|
+
},
|
|
9
|
+
optionalAriaLabel: {
|
|
10
|
+
id: "neptune.aria.Label.optional"
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
module.exports = messages;
|
|
15
|
+
//# sourceMappingURL=Label.messages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Label.messages.js","sources":["../../src/label/Label.messages.tsx"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n optionalLabel: {\n id: 'neptune.Label.optional',\n defaultMessage: '(Optional)',\n },\n optionalAriaLabel: {\n id: 'neptune.aria.Label.optional',\n defaultMessage: 'This field is optional',\n },\n});\n"],"names":["defineMessages","optionalLabel","id","optionalAriaLabel"],"mappings":";;;;AAEA,eAAeA,wBAAc,CAAC;AAC5BC,EAAAA,aAAa,EAAE;IACbC,EAAE,EAAA,wBAAA;GAEH;AACDC,EAAAA,iBAAiB,EAAE;IACjBD,EAAE,EAAA,6BAAA;AAEH,GAAA;AACF,CAAA,CAAC;;;;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl';
|
|
2
|
+
|
|
3
|
+
var messages = defineMessages({
|
|
4
|
+
optionalLabel: {
|
|
5
|
+
id: "neptune.Label.optional"
|
|
6
|
+
},
|
|
7
|
+
optionalAriaLabel: {
|
|
8
|
+
id: "neptune.aria.Label.optional"
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export { messages as default };
|
|
13
|
+
//# sourceMappingURL=Label.messages.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Label.messages.mjs","sources":["../../src/label/Label.messages.tsx"],"sourcesContent":["import { defineMessages } from 'react-intl';\n\nexport default defineMessages({\n optionalLabel: {\n id: 'neptune.Label.optional',\n defaultMessage: '(Optional)',\n },\n optionalAriaLabel: {\n id: 'neptune.aria.Label.optional',\n defaultMessage: 'This field is optional',\n },\n});\n"],"names":["defineMessages","optionalLabel","id","optionalAriaLabel"],"mappings":";;AAEA,eAAeA,cAAc,CAAC;AAC5BC,EAAAA,aAAa,EAAE;IACbC,EAAE,EAAA,wBAAA;GAEH;AACDC,EAAAA,iBAAiB,EAAE;IACjBD,EAAE,EAAA,6BAAA;AAEH,GAAA;AACF,CAAA,CAAC;;;;"}
|
package/build/label/Label.mjs
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { clsx } from 'clsx';
|
|
2
|
-
import
|
|
2
|
+
import messages from './Label.messages.mjs';
|
|
3
|
+
import { useIntl } from 'react-intl';
|
|
4
|
+
import Body from '../body/Body.mjs';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
6
|
|
|
4
7
|
const Label = ({
|
|
5
8
|
id,
|
|
@@ -10,10 +13,35 @@ const Label = ({
|
|
|
10
13
|
return /*#__PURE__*/jsx("label", {
|
|
11
14
|
id: id,
|
|
12
15
|
htmlFor: htmlFor,
|
|
13
|
-
className: clsx('
|
|
16
|
+
className: clsx('d-flex', 'flex-column', 'gap-y-4', 'm-b-0', 'np-text-body-default-bold', 'text-primary', className),
|
|
14
17
|
children: children
|
|
15
18
|
});
|
|
16
19
|
};
|
|
20
|
+
const Optional = ({
|
|
21
|
+
children,
|
|
22
|
+
className
|
|
23
|
+
}) => {
|
|
24
|
+
const {
|
|
25
|
+
formatMessage
|
|
26
|
+
} = useIntl();
|
|
27
|
+
return /*#__PURE__*/jsxs("div", {
|
|
28
|
+
children: [children, /*#__PURE__*/jsx(Body, {
|
|
29
|
+
as: "span",
|
|
30
|
+
"aria-label": formatMessage(messages.optionalAriaLabel),
|
|
31
|
+
className: clsx('text-secondary', 'm-l-1', className),
|
|
32
|
+
children: formatMessage(messages.optionalLabel)
|
|
33
|
+
})]
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
const Description = ({
|
|
37
|
+
children,
|
|
38
|
+
className
|
|
39
|
+
}) => children ? /*#__PURE__*/jsx(Body, {
|
|
40
|
+
className: clsx('text-secondary', className),
|
|
41
|
+
children: children
|
|
42
|
+
}) : null;
|
|
43
|
+
Label.Optional = Optional;
|
|
44
|
+
Label.Description = Description;
|
|
17
45
|
|
|
18
46
|
export { Label };
|
|
19
47
|
//# sourceMappingURL=Label.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Label.mjs","sources":["../../src/label/Label.tsx"],"sourcesContent":["import { clsx } from 'clsx';\n\nexport type LabelProps = {\n id?: string;\n htmlFor?: string;\n className?: string;\n children?: React.ReactNode;\n};\n\
|
|
1
|
+
{"version":3,"file":"Label.mjs","sources":["../../src/label/Label.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport messages from './Label.messages';\nimport { useIntl } from 'react-intl';\nimport Body from '../body';\nimport { CommonProps } from '../common';\nimport { PropsWithChildren } from 'react';\n\nexport type LabelProps = {\n id?: string;\n htmlFor?: string;\n className?: string;\n children?: React.ReactNode;\n};\n\nconst Label = ({ id, htmlFor, className, children }: LabelProps) => {\n return (\n <label\n id={id}\n htmlFor={htmlFor}\n className={clsx(\n 'd-flex',\n 'flex-column',\n 'gap-y-4',\n 'm-b-0',\n 'np-text-body-default-bold',\n 'text-primary',\n className,\n )}\n >\n {children}\n </label>\n );\n};\n\nexport type LabelOptionalProps = PropsWithChildren<CommonProps>;\n\nconst Optional = ({ children, className }: LabelOptionalProps) => {\n const { formatMessage } = useIntl();\n return (\n <div>\n {children}\n <Body\n as=\"span\"\n aria-label={formatMessage(messages.optionalAriaLabel)}\n className={clsx('text-secondary', 'm-l-1', className)}\n >\n {formatMessage(messages.optionalLabel)}\n </Body>\n </div>\n );\n};\n\nexport type LabelDescriptionProps = PropsWithChildren<CommonProps>;\n\nconst Description = ({ children, className }: LabelDescriptionProps) =>\n children ? <Body className={clsx('text-secondary', className)}>{children}</Body> : null;\n\nLabel.Optional = Optional;\nLabel.Description = Description;\n\nexport { Label };\n"],"names":["Label","id","htmlFor","className","children","_jsx","clsx","Optional","formatMessage","useIntl","_jsxs","Body","as","messages","optionalAriaLabel","optionalLabel","Description"],"mappings":";;;;;;AAcMA,MAAAA,KAAK,GAAGA,CAAC;EAAEC,EAAE;EAAEC,OAAO;EAAEC,SAAS;AAAEC,EAAAA,QAAAA;AAAQ,CAAc,KAAI;AACjE,EAAA,oBACEC,GAAA,CAAA,OAAA,EAAA;AACEJ,IAAAA,EAAE,EAAEA,EAAG;AACPC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,SAAS,EAAEG,IAAI,CACb,QAAQ,EACR,aAAa,EACb,SAAS,EACT,OAAO,EACP,2BAA2B,EAC3B,cAAc,EACdH,SAAS,CACT;AAAAC,IAAAA,QAAA,EAEDA,QAAAA;AAAQ,GACJ,CAAC,CAAA;AAEZ,EAAC;AAID,MAAMG,QAAQ,GAAGA,CAAC;EAAEH,QAAQ;AAAED,EAAAA,SAAAA;AAA+B,CAAA,KAAI;EAC/D,MAAM;AAAEK,IAAAA,aAAAA;GAAe,GAAGC,OAAO,EAAE,CAAA;AACnC,EAAA,oBACEC,IAAA,CAAA,KAAA,EAAA;AAAAN,IAAAA,QAAA,EACGA,CAAAA,QAAQ,eACTC,GAAA,CAACM,IAAI,EAAA;AACHC,MAAAA,EAAE,EAAC,MAAM;AACT,MAAA,YAAA,EAAYJ,aAAa,CAACK,QAAQ,CAACC,iBAAiB,CAAE;MACtDX,SAAS,EAAEG,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAEH,SAAS,CAAE;AAAAC,MAAAA,QAAA,EAErDI,aAAa,CAACK,QAAQ,CAACE,aAAa,CAAA;AAAC,KAClC,CACR,CAAA;AAAA,GAAK,CAAC,CAAA;AAEV,CAAC,CAAA;AAID,MAAMC,WAAW,GAAGA,CAAC;EAAEZ,QAAQ;AAAED,EAAAA,SAAAA;AAAS,CAAyB,KACjEC,QAAQ,gBAAGC,GAAA,CAACM,IAAI,EAAA;AAACR,EAAAA,SAAS,EAAEG,IAAI,CAAC,gBAAgB,EAAEH,SAAS,CAAE;AAAAC,EAAAA,QAAA,EAAEA,QAAAA;AAAQ,CAAO,CAAC,GAAG,IAAI,CAAA;AAEzFJ,KAAK,CAACO,QAAQ,GAAGA,QAAQ,CAAA;AACzBP,KAAK,CAACgB,WAAW,GAAGA,WAAW;;;;"}
|
package/build/main.css
CHANGED
|
@@ -1719,18 +1719,10 @@ button.np-option {
|
|
|
1719
1719
|
white-space: nowrap;
|
|
1720
1720
|
width: 100%;
|
|
1721
1721
|
}
|
|
1722
|
-
.np-date-trigger .control-label {
|
|
1723
|
-
font-weight: 400;
|
|
1724
|
-
font-weight: var(--font-weight-regular);
|
|
1725
|
-
}
|
|
1726
1722
|
.np-theme-personal .np-date-trigger {
|
|
1727
1723
|
padding-left: 16px;
|
|
1728
1724
|
padding-left: var(--size-16);
|
|
1729
1725
|
}
|
|
1730
|
-
.np-theme-personal .np-date-trigger .control-label + span {
|
|
1731
|
-
font-weight: 400;
|
|
1732
|
-
font-weight: var(--font-weight-regular);
|
|
1733
|
-
}
|
|
1734
1726
|
.clear-btn {
|
|
1735
1727
|
transition: color 0.15s ease-in-out;
|
|
1736
1728
|
color: #c9cbce;
|
|
@@ -2655,10 +2647,6 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
|
|
|
2655
2647
|
height: auto;
|
|
2656
2648
|
}
|
|
2657
2649
|
}
|
|
2658
|
-
.np-select-input-listbox-container--virtualized {
|
|
2659
|
-
/* The wrapping element shrinks this as needed */
|
|
2660
|
-
height: 100vh;
|
|
2661
|
-
}
|
|
2662
2650
|
.np-select-input-listbox-container--has-group {
|
|
2663
2651
|
scroll-padding-top: 32px;
|
|
2664
2652
|
scroll-padding-top: var(--size-32);
|
|
@@ -2677,12 +2665,6 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
|
|
|
2677
2665
|
outline: var(--ring-outline-color) solid var(--ring-outline-width);
|
|
2678
2666
|
outline-offset: var(--ring-outline-offset);
|
|
2679
2667
|
}
|
|
2680
|
-
.np-select-input-listbox-container--virtualized .np-select-input-listbox {
|
|
2681
|
-
/* Adopted from `VList` in virtua: https://github.com/inokawa/virtua/blob/7f6ed5b37df6b480d4ff350f3960067c5b3519d2/src/react/VList.tsx#L113-L116 */
|
|
2682
|
-
overflow-y: auto;
|
|
2683
|
-
contain: strict;
|
|
2684
|
-
height: 100%;
|
|
2685
|
-
}
|
|
2686
2668
|
.np-select-input-separator-item {
|
|
2687
2669
|
margin: 8px;
|
|
2688
2670
|
margin: var(--size-8);
|
|
@@ -4,18 +4,10 @@
|
|
|
4
4
|
white-space: nowrap;
|
|
5
5
|
width: 100%;
|
|
6
6
|
}
|
|
7
|
-
.np-date-trigger .control-label {
|
|
8
|
-
font-weight: 400;
|
|
9
|
-
font-weight: var(--font-weight-regular);
|
|
10
|
-
}
|
|
11
7
|
.np-theme-personal .np-date-trigger {
|
|
12
8
|
padding-left: 16px;
|
|
13
9
|
padding-left: var(--size-16);
|
|
14
10
|
}
|
|
15
|
-
.np-theme-personal .np-date-trigger .control-label + span {
|
|
16
|
-
font-weight: 400;
|
|
17
|
-
font-weight: var(--font-weight-regular);
|
|
18
|
-
}
|
|
19
11
|
.clear-btn {
|
|
20
12
|
transition: color 0.15s ease-in-out;
|
|
21
13
|
color: #c9cbce;
|
|
@@ -206,10 +206,6 @@
|
|
|
206
206
|
height: auto;
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
|
-
.np-select-input-listbox-container--virtualized {
|
|
210
|
-
/* The wrapping element shrinks this as needed */
|
|
211
|
-
height: 100vh;
|
|
212
|
-
}
|
|
213
209
|
.np-select-input-listbox-container--has-group {
|
|
214
210
|
scroll-padding-top: 32px;
|
|
215
211
|
scroll-padding-top: var(--size-32);
|
|
@@ -228,12 +224,6 @@
|
|
|
228
224
|
outline: var(--ring-outline-color) solid var(--ring-outline-width);
|
|
229
225
|
outline-offset: var(--ring-outline-offset);
|
|
230
226
|
}
|
|
231
|
-
.np-select-input-listbox-container--virtualized .np-select-input-listbox {
|
|
232
|
-
/* Adopted from `VList` in virtua: https://github.com/inokawa/virtua/blob/7f6ed5b37df6b480d4ff350f3960067c5b3519d2/src/react/VList.tsx#L113-L116 */
|
|
233
|
-
overflow-y: auto;
|
|
234
|
-
contain: strict;
|
|
235
|
-
height: 100%;
|
|
236
|
-
}
|
|
237
227
|
.np-select-input-separator-item {
|
|
238
228
|
margin: 8px;
|
|
239
229
|
margin: var(--size-8);
|
package/build/styles/main.css
CHANGED
|
@@ -1719,18 +1719,10 @@ button.np-option {
|
|
|
1719
1719
|
white-space: nowrap;
|
|
1720
1720
|
width: 100%;
|
|
1721
1721
|
}
|
|
1722
|
-
.np-date-trigger .control-label {
|
|
1723
|
-
font-weight: 400;
|
|
1724
|
-
font-weight: var(--font-weight-regular);
|
|
1725
|
-
}
|
|
1726
1722
|
.np-theme-personal .np-date-trigger {
|
|
1727
1723
|
padding-left: 16px;
|
|
1728
1724
|
padding-left: var(--size-16);
|
|
1729
1725
|
}
|
|
1730
|
-
.np-theme-personal .np-date-trigger .control-label + span {
|
|
1731
|
-
font-weight: 400;
|
|
1732
|
-
font-weight: var(--font-weight-regular);
|
|
1733
|
-
}
|
|
1734
1726
|
.clear-btn {
|
|
1735
1727
|
transition: color 0.15s ease-in-out;
|
|
1736
1728
|
color: #c9cbce;
|
|
@@ -2655,10 +2647,6 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
|
|
|
2655
2647
|
height: auto;
|
|
2656
2648
|
}
|
|
2657
2649
|
}
|
|
2658
|
-
.np-select-input-listbox-container--virtualized {
|
|
2659
|
-
/* The wrapping element shrinks this as needed */
|
|
2660
|
-
height: 100vh;
|
|
2661
|
-
}
|
|
2662
2650
|
.np-select-input-listbox-container--has-group {
|
|
2663
2651
|
scroll-padding-top: 32px;
|
|
2664
2652
|
scroll-padding-top: var(--size-32);
|
|
@@ -2677,12 +2665,6 @@ html:not([dir="rtl"]) .np-flow-navigation--sm .np-flow-navigation__stepper {
|
|
|
2677
2665
|
outline: var(--ring-outline-color) solid var(--ring-outline-width);
|
|
2678
2666
|
outline-offset: var(--ring-outline-offset);
|
|
2679
2667
|
}
|
|
2680
|
-
.np-select-input-listbox-container--virtualized .np-select-input-listbox {
|
|
2681
|
-
/* Adopted from `VList` in virtua: https://github.com/inokawa/virtua/blob/7f6ed5b37df6b480d4ff350f3960067c5b3519d2/src/react/VList.tsx#L113-L116 */
|
|
2682
|
-
overflow-y: auto;
|
|
2683
|
-
contain: strict;
|
|
2684
|
-
height: 100%;
|
|
2685
|
-
}
|
|
2686
2668
|
.np-select-input-separator-item {
|
|
2687
2669
|
margin: 8px;
|
|
2688
2670
|
margin: var(--size-8);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTrigger.d.ts","sourceRoot":"","sources":["../../../../src/dateLookup/dateTrigger/DateTrigger.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAkB,SAAS,EAAE,UAAU,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"DateTrigger.d.ts","sourceRoot":"","sources":["../../../../src/dateLookup/dateTrigger/DateTrigger.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAkB,SAAS,EAAE,UAAU,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AAQ5F,UAAU,gBAAgB;IACxB,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAC1B,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAmE3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -4,14 +4,16 @@ export type FieldProps = {
|
|
|
4
4
|
id?: string | null;
|
|
5
5
|
/** Should be specified unless the wrapped control has its own labeling mechanism, e.g. `Checkbox`. */
|
|
6
6
|
label?: React.ReactNode;
|
|
7
|
-
|
|
7
|
+
required?: boolean;
|
|
8
|
+
/** @deprecated use `description` prop instead */
|
|
8
9
|
hint?: React.ReactNode;
|
|
9
10
|
message?: React.ReactNode;
|
|
11
|
+
description?: React.ReactNode;
|
|
10
12
|
/** @deprecated use `message` and `type={Sentiment.NEGATIVE}` prop instead */
|
|
11
13
|
error?: React.ReactNode;
|
|
12
14
|
sentiment?: `${Sentiment.NEGATIVE | Sentiment.NEUTRAL | Sentiment.POSITIVE | Sentiment.WARNING}`;
|
|
13
15
|
className?: string;
|
|
14
16
|
children?: React.ReactNode;
|
|
15
17
|
};
|
|
16
|
-
export declare const Field: ({ id, label, message: propMessage, sentiment: propType, className, children, ...props }: FieldProps) => import("react").JSX.Element;
|
|
18
|
+
export declare const Field: ({ id, label, required, message: propMessage, hint, description, sentiment: propType, className, children, ...props }: FieldProps) => import("react").JSX.Element;
|
|
17
19
|
//# sourceMappingURL=Field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/field/Field.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,MAAM,MAAM,UAAU,GAAG;IACvB,6IAA6I;IAC7I,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,sGAAsG;IACtG,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,
|
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/field/Field.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAUtC,MAAM,MAAM,UAAU,GAAG;IACvB,6IAA6I;IAC7I,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,sGAAsG;IACtG,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iDAAiD;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,6EAA6E;IAC7E,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACjG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,KAAK,yHAWf,UAAU,gCAkDZ,CAAC"}
|
package/build/types/index.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export type { SearchInputProps } from './inputs/SearchInput';
|
|
|
29
29
|
export type { SelectInputGroupItem, SelectInputItem, SelectInputOptionContentProps, SelectInputOptionItem, SelectInputProps, SelectInputSeparatorItem, SelectInputTriggerButtonProps, } from './inputs/SelectInput';
|
|
30
30
|
export type { TextAreaProps } from './inputs/TextArea';
|
|
31
31
|
export type { InstructionsListProps } from './instructionsList';
|
|
32
|
-
export type { LabelProps } from './label/Label';
|
|
32
|
+
export type { LabelProps, LabelOptionalProps, LabelDescriptionProps } from './label/Label';
|
|
33
33
|
export type { LoaderProps } from './loader';
|
|
34
34
|
export type { MarkdownProps } from './markdown';
|
|
35
35
|
export type { ModalProps } from './modal';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACjG,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAClE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,SAAS,EACT,UAAU,EACV,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACtF,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EACV,oBAAoB,EACpB,eAAe,EACf,6BAA6B,EAC7B,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|