@okta/odyssey-react-mui 1.34.0 → 1.35.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Dialog.cjs +9 -1
- package/dist/cjs/Dialog.cjs.map +1 -1
- package/dist/cjs/Select.cjs +3 -1
- package/dist/cjs/Select.cjs.map +1 -1
- package/dist/cjs/Typography.cjs +8 -4
- package/dist/cjs/Typography.cjs.map +1 -1
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs +4 -1
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs +269 -0
- package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs.map +1 -0
- package/dist/cjs/labs/OdysseyPickers/index.cjs +9 -1
- package/dist/cjs/labs/OdysseyPickers/index.cjs.map +1 -1
- package/dist/cjs/theme/StringWithValue.cjs +6 -0
- package/dist/cjs/theme/StringWithValue.cjs.map +1 -0
- package/dist/cjs/theme/components.cjs +2590 -2592
- package/dist/cjs/theme/components.cjs.map +1 -1
- package/dist/cjs/theme/useMediaQuery.cjs +4 -4
- package/dist/cjs/theme/useMediaQuery.cjs.map +1 -1
- package/dist/cjs/ui-shell/InnerAppContainer.cjs +60 -0
- package/dist/cjs/ui-shell/InnerAppContainer.cjs.map +1 -0
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +6 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/TopNav/TopNav.cjs +1 -6
- package/dist/cjs/ui-shell/TopNav/TopNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs +6 -5
- package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs +8 -3
- package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/index.cjs +29 -9
- package/dist/cjs/ui-shell/index.cjs.map +1 -1
- package/dist/cjs/ui-shell/renderUiShell.cjs +2 -0
- package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/useMatchAppElementToUiShellAppArea.cjs +2 -1
- package/dist/cjs/ui-shell/useMatchAppElementToUiShellAppArea.cjs.map +1 -1
- package/dist/cjs/ui-shell/useUiShellBreakpoints.cjs +20 -15
- package/dist/cjs/ui-shell/useUiShellBreakpoints.cjs.map +1 -1
- package/dist/cjs/web-component/renderReactInWebComponent.cjs +21 -7
- package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
- package/dist/esm/Dialog.js +9 -1
- package/dist/esm/Dialog.js.map +1 -1
- package/dist/esm/Select.js +3 -1
- package/dist/esm/Select.js.map +1 -1
- package/dist/esm/Typography.js +8 -4
- package/dist/esm/Typography.js.map +1 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js +4 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/SearchDropdown.js +263 -0
- package/dist/esm/labs/OdysseyPickers/SearchDropdown.js.map +1 -0
- package/dist/esm/labs/OdysseyPickers/index.js +1 -0
- package/dist/esm/labs/OdysseyPickers/index.js.map +1 -1
- package/dist/esm/theme/StringWithValue.js +2 -0
- package/dist/esm/theme/StringWithValue.js.map +1 -0
- package/dist/esm/theme/components.js +2607 -2609
- package/dist/esm/theme/components.js.map +1 -1
- package/dist/esm/theme/useMediaQuery.js +5 -5
- package/dist/esm/theme/useMediaQuery.js.map +1 -1
- package/dist/esm/ui-shell/InnerAppContainer.js +56 -0
- package/dist/esm/ui-shell/InnerAppContainer.js.map +1 -0
- package/dist/esm/ui-shell/NarrowUiShellContent.js +6 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/TopNav/TopNav.js +1 -6
- package/dist/esm/ui-shell/TopNav/TopNav.js.map +1 -1
- package/dist/esm/ui-shell/UiShell.js +6 -5
- package/dist/esm/ui-shell/UiShell.js.map +1 -1
- package/dist/esm/ui-shell/WideUiShellContent.js +8 -3
- package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/index.js +3 -1
- package/dist/esm/ui-shell/index.js.map +1 -1
- package/dist/esm/ui-shell/renderUiShell.js +2 -0
- package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
- package/dist/esm/ui-shell/useMatchAppElementToUiShellAppArea.js +2 -1
- package/dist/esm/ui-shell/useMatchAppElementToUiShellAppArea.js.map +1 -1
- package/dist/esm/ui-shell/useUiShellBreakpoints.js +19 -14
- package/dist/esm/ui-shell/useUiShellBreakpoints.js.map +1 -1
- package/dist/esm/web-component/renderReactInWebComponent.js +19 -5
- package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.scss +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/Dialog.d.ts.map +1 -1
- package/dist/types/Select.d.ts +1 -0
- package/dist/types/Select.d.ts.map +1 -1
- package/dist/types/Typography.d.ts +6 -2
- package/dist/types/Typography.d.ts.map +1 -1
- package/dist/types/labs/DataView/TableLayoutContent.d.ts.map +1 -1
- package/dist/types/labs/OdysseyPickers/SearchDropdown.d.ts +33 -0
- package/dist/types/labs/OdysseyPickers/SearchDropdown.d.ts.map +1 -0
- package/dist/types/labs/OdysseyPickers/index.d.ts +2 -0
- package/dist/types/labs/OdysseyPickers/index.d.ts.map +1 -1
- package/dist/types/theme/StringWithValue.d.ts +13 -0
- package/dist/types/theme/StringWithValue.d.ts.map +1 -0
- package/dist/types/theme/components.d.ts.map +1 -1
- package/dist/types/theme/useMediaQuery.d.ts +2 -1
- package/dist/types/theme/useMediaQuery.d.ts.map +1 -1
- package/dist/types/ui-shell/InnerAppContainer.d.ts +35 -0
- package/dist/types/ui-shell/InnerAppContainer.d.ts.map +1 -0
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/TopNav/TopNav.d.ts +1 -1
- package/dist/types/ui-shell/TopNav/TopNav.d.ts.map +1 -1
- package/dist/types/ui-shell/UiShell.d.ts +8 -1
- package/dist/types/ui-shell/UiShell.d.ts.map +1 -1
- package/dist/types/ui-shell/WideUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/index.d.ts +3 -1
- package/dist/types/ui-shell/index.d.ts.map +1 -1
- package/dist/types/ui-shell/renderUiShell.d.ts +2 -2
- package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
- package/dist/types/ui-shell/useMatchAppElementToUiShellAppArea.d.ts.map +1 -1
- package/dist/types/ui-shell/useUiShellBreakpoints.d.ts +15 -5
- package/dist/types/ui-shell/useUiShellBreakpoints.d.ts.map +1 -1
- package/dist/types/web-component/renderReactInWebComponent.d.ts +1 -1
- package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
- package/package.json +8 -8
package/dist/esm/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["memo","useCallback","useEffect","useMemo","useRef","useState","useImperativeHandle","styled","Field","CheckIcon","CloseCircleFilledIcon","ComponentControlledState","useInputValues","getControlState","useOdysseyDesignTokens","normalizedKey","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SelectTestSelector","accessibleText","errorMessage","hint","label","children","list","listItem","elementSelector","method","options","role","isControlledElement","SelectContainer","div","ChipsPositioningContainer","shouldForwardProp","prop","odysseyDesignTokens","Spacing0","Spacing5","Spacing1","BorderWidthMain","NonInteractiveIcon","Spacing2","ChipsInnerContainer","_Box","isInteractive","isReadOnly","Spacing6","CONTROLLED","Select","ariaDescribedBy","defaultValue","errorMessageList","hasMultipleChoices","hasMultipleChoicesProp","HintLinkComponent","id","idOverride","inputRef","isDisabled","isFullWidth","isMultiSelect","isOptional","name","nameOverride","onBlur","onChange","onChangeProp","onFocus","testId","translate","value","selectRef","undefined","controlledStateRef","controlledValue","uncontrolledValue","internalSelectedValues","setInternalSelectedValues","current","localInputRef","focus","inputValues","controlState","event","child","preventDefault","target","split","normalizedOptions","normalizedOptionsMap","map","option","text","type","Map","removeSelectedValue","selectedValue","Array","isArray","newValue","filter","internalSelectedValue","syntheticEvent","Chips","stopPropagation","hasNonInteractiveIcon","item","length","_Chip","get","tabIndex","onDelete","deleteIcon","sx","pointerEvents","onMouseDown","renderedOptions","index","_ListSubheader","isSelected","includes","_MenuItem","selected","_Checkbox","checked","_ListItemSecondaryAction","toString","renderValue","renderFieldComponent","errorMessageElementId","labelElementId","_Select","displayEmpty","inputProps","readOnly","el","labelId","MenuProps","maxHeight","multiple","fieldType","hasVisibleLabel","MemoizedSelect","displayName"],"sources":["../../src/Select.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n useImperativeHandle,\n} from \"react\";\nimport styled from \"@emotion/styled\";\nimport {\n Box as MuiBox,\n Checkbox as MuiCheckbox,\n Chip as MuiChip,\n ListItemSecondaryAction,\n ListSubheader,\n MenuItem as MuiMenuItem,\n Select as MuiSelect,\n SelectProps as MuiSelectProps,\n SelectChangeEvent,\n} from \"@mui/material\";\n\nimport { Field } from \"./Field.js\";\nimport {\n FieldComponentProps,\n FieldComponentRenderProps,\n} from \"./FieldComponentProps.js\";\nimport { CheckIcon, CloseCircleFilledIcon } from \"./icons.generated/index.js\";\nimport type { HtmlProps } from \"./HtmlProps.js\";\nimport {\n ComponentControlledState,\n FocusHandle,\n useInputValues,\n getControlState,\n} from \"./inputUtils.js\";\nimport {\n useOdysseyDesignTokens,\n DesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { TestSelector } from \"./test-selectors/index.js\";\nimport { normalizedKey } from \"./useNormalizedKey.js\";\n\nexport const SelectTestSelector = {\n accessibleText: {\n errorMessage: \"errorMessage\",\n hint: \"description\",\n label: \"label\",\n },\n children: {\n list: {\n accessibleText: {\n label: \"label\",\n },\n children: {\n listItem: {\n accessibleText: {\n label: \"label\",\n },\n elementSelector: {\n method: \"ByRole\",\n options: {\n label: \"name\",\n },\n role: \"option\",\n },\n },\n },\n isControlledElement: true,\n },\n },\n elementSelector: {\n method: \"ByRole\",\n options: {\n label: \"name\",\n },\n role: \"combobox\",\n },\n} as const satisfies TestSelector;\n\nexport type SelectOption = {\n text: string;\n type?: \"heading\" | \"option\";\n value?: string;\n};\n\nconst SelectContainer = styled.div`\n position: relative;\n width: 100%;\n display: flex;\n`;\n\nconst ChipsPositioningContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>`\n display: flex;\n align-items: center;\n position: absolute;\n top: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing0};\n right: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing5};\n bottom: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing0};\n left: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing1};\n margin-inline-start: ${({ odysseyDesignTokens }) =>\n odysseyDesignTokens.BorderWidthMain};\n opacity: 1;\n pointer-events: none;\n`;\n\nconst NonInteractiveIcon = styled(CloseCircleFilledIcon, {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>`\n font-size: 1em;\n margin-inline-start: ${({ odysseyDesignTokens }) =>\n odysseyDesignTokens.Spacing2};\n margin-inline-end: -${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing1};\n margin-block-end: -1px;\n`;\n\nconst ChipsInnerContainer = styled(MuiBox, {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isInteractive\" &&\n prop !== \"isReadOnly\",\n})<{\n isInteractive?: boolean;\n isReadOnly?: boolean;\n odysseyDesignTokens: DesignTokens;\n}>`\n display: flex;\n flex-wrap: wrap;\n gap: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing1};\n pointer-events: none;\n opacity: ${({ isInteractive, isReadOnly }) =>\n isInteractive || isReadOnly ? 1 : 0};\n min-height: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing6};\n`;\n\nexport type SelectValueType<HasMultipleChoices> =\n HasMultipleChoices extends true ? string[] : string;\n\nexport type SelectProps<\n Value extends SelectValueType<HasMultipleChoices>,\n HasMultipleChoices extends boolean,\n> = {\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue?: MuiSelectProps<Value>[\"defaultValue\"];\n /**\n * If `true`, the Select allows multiple selections\n */\n hasMultipleChoices?: HasMultipleChoices;\n /**\n * The ref forwarded to the Select\n */\n inputRef?: React.RefObject<FocusHandle>;\n /**\n * @deprecated Use `hasMultipleChoices` instead.\n */\n /** **Deprecated:** use `hasMultipleChoices` */\n isMultiSelect?: HasMultipleChoices;\n /**\n * The label text for the Select\n */\n label: string;\n /**\n * Callback fired when the Select loses focus\n */\n onBlur?: MuiSelectProps<Value>[\"onBlur\"];\n /**\n * Callback fired when the value of the Select changes\n */\n onChange?: MuiSelectProps<Value>[\"onChange\"];\n /**\n * Callback fired when the Select gains focus\n */\n onFocus?: MuiSelectProps<Value>[\"onFocus\"];\n /**\n * The options for the Select\n */\n options: (string | SelectOption)[];\n /**\n * The value or values selected in the Select\n */\n value?: Value;\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"errorMessageList\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isDisabled\"\n | \"isFullWidth\"\n | \"isOptional\"\n | \"isReadOnly\"\n | \"name\"\n> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\ntype SelectRenderProps = Partial<\n Pick<FieldComponentRenderProps, \"ariaDescribedBy\" | \"errorMessageElementId\">\n> &\n Pick<FieldComponentRenderProps, \"id\" | \"labelElementId\">;\n\n/**\n * Options in Odyssey <Select> are passed as an array, which can contain any combination\n * of the following:\n * - string — A simple string. The string will be both the text and the value of the resulting option.\n * <option value=\"string\">string</option>\n *\n * - { text: string } — Same as above, but the string is contained within an object.\n * <option value=\"text\">text</option>\n *\n * - { text: string, value: string } — The option text will be text, and the option value will be value.\n * <option value=\"value\">text</option>\n *\n * - { text: string, type: \"heading\" } — Used to display a group heading with the text\n */\n\nconst { CONTROLLED } = ComponentControlledState;\nconst Select = <\n Value extends SelectValueType<HasMultipleChoices>,\n HasMultipleChoices extends boolean,\n>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasMultipleChoices: hasMultipleChoicesProp,\n hint,\n HintLinkComponent,\n id: idOverride,\n inputRef,\n isDisabled = false,\n isFullWidth = false,\n isMultiSelect,\n isOptional = false,\n isReadOnly = false,\n label,\n name: nameOverride,\n onBlur,\n onChange: onChangeProp,\n onFocus,\n options,\n testId,\n translate,\n value,\n}: SelectProps<Value, HasMultipleChoices>) => {\n const selectRef = useRef<HTMLInputElement | HTMLTextAreaElement | null>(null);\n\n const hasMultipleChoices = useMemo(\n () =>\n hasMultipleChoicesProp === undefined\n ? isMultiSelect\n : hasMultipleChoicesProp,\n [hasMultipleChoicesProp, isMultiSelect],\n );\n\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: value,\n uncontrolledValue: defaultValue,\n }),\n );\n const [internalSelectedValues, setInternalSelectedValues] = useState(\n controlledStateRef.current === CONTROLLED ? value : defaultValue,\n );\n\n const localInputRef = useRef<HTMLSelectElement>(null);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n useImperativeHandle(inputRef, () => {\n return {\n focus: () => {\n localInputRef.current?.focus();\n },\n };\n }, []);\n\n useEffect(() => {\n if (controlledStateRef.current === CONTROLLED) {\n setInternalSelectedValues(value);\n }\n }, [value]);\n\n const inputValues = useInputValues({\n defaultValue,\n value,\n controlState: controlledStateRef.current,\n });\n\n const onChange = useCallback<NonNullable<MuiSelectProps<Value>[\"onChange\"]>>(\n (event, child) => {\n if (isReadOnly) {\n event.preventDefault();\n } else {\n const {\n target: { value },\n } = event;\n if (controlledStateRef.current !== CONTROLLED) {\n setInternalSelectedValues(\n (typeof value === \"string\" && hasMultipleChoices\n ? value.split(\",\")\n : value) as Value,\n );\n }\n onChangeProp?.(event, child);\n }\n },\n [hasMultipleChoices, onChangeProp, isReadOnly],\n );\n // Normalize the options array to accommodate the various\n // data types that might be passed\n const [normalizedOptions, normalizedOptionsMap] = useMemo(() => {\n const normalizedOptions = options.map((option) => {\n if (typeof option === \"object\") {\n /**\n * If the value of `option?.value is an empty string, we need to make sure that we\n * set an empty string to `value` in the normalized option so that the select component\n * can potentially set it as the selected one in the text input\n */\n const value =\n option?.value === \"\" ? option.value : option.value || option.text;\n return {\n text: option.text,\n value,\n type: option.type === \"heading\" ? \"heading\" : \"option\",\n };\n }\n\n return { text: option, value: option, type: \"option\" };\n });\n\n const normalizedOptionsMap = new Map(\n normalizedOptions.map((option) => [option.value, option]),\n );\n return [normalizedOptions, normalizedOptionsMap];\n }, [options]);\n\n const removeSelectedValue = useCallback(\n (selectedValue: string) => {\n if (Array.isArray(internalSelectedValues)) {\n const newValue = internalSelectedValues.filter(\n (internalSelectedValue) => internalSelectedValue !== selectedValue,\n );\n\n const syntheticEvent = {\n target: { value: newValue },\n } as SelectChangeEvent<Value>;\n\n onChange(syntheticEvent, null);\n }\n },\n [internalSelectedValues, onChange],\n );\n\n const Chips = useCallback(\n ({\n isInteractive,\n isReadOnly,\n }: {\n isInteractive: boolean;\n isReadOnly?: boolean;\n }) => {\n const stopPropagation = (event: React.MouseEvent<SVGSVGElement>) =>\n event.stopPropagation();\n\n const hasNonInteractiveIcon =\n !isInteractive &&\n controlledStateRef.current === CONTROLLED &&\n hasMultipleChoices;\n return (\n Array.isArray(internalSelectedValues) && (\n <ChipsInnerContainer\n isInteractive={isInteractive}\n isReadOnly={isReadOnly}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {internalSelectedValues.map(\n (item) =>\n item?.length > 0 && (\n <MuiChip\n key={item}\n label={\n <>\n {normalizedOptionsMap.get(item)?.text}\n {hasNonInteractiveIcon && (\n <NonInteractiveIcon\n odysseyDesignTokens={odysseyDesignTokens}\n />\n )}\n </>\n }\n tabIndex={-1}\n onDelete={\n isInteractive && controlledStateRef.current === CONTROLLED\n ? () => removeSelectedValue(item)\n : undefined\n }\n deleteIcon={\n <CloseCircleFilledIcon\n sx={{ pointerEvents: \"auto\" }}\n // We need to stop event propagation on mouse down to prevent the deletion\n // from being blocked by the Select list opening, and also ensure that\n // the pointerEvent is registered even when the parent's are not\n onMouseDown={stopPropagation}\n />\n }\n />\n ),\n )}\n </ChipsInnerContainer>\n )\n );\n },\n [\n controlledStateRef,\n hasMultipleChoices,\n internalSelectedValues,\n odysseyDesignTokens,\n removeSelectedValue,\n normalizedOptionsMap,\n ],\n );\n\n // Convert the options into the ReactNode children\n // that will populate the <Select>\n const renderedOptions = useMemo(\n () =>\n normalizedOptions.map((option, index) => {\n if (option.type === \"heading\") {\n return (\n <ListSubheader key={option.text}> {option.text} </ListSubheader>\n );\n }\n\n const isSelected = hasMultipleChoices\n ? internalSelectedValues?.includes(option.value)\n : internalSelectedValues === option.value;\n\n return (\n <MuiMenuItem\n data-empty={!option.text}\n key={normalizedKey(option.text, index.toString())}\n value={option.value}\n selected={isSelected}\n >\n {hasMultipleChoices && <MuiCheckbox checked={isSelected} />}\n {option.text}\n {!hasMultipleChoices && internalSelectedValues === option.value && (\n <ListItemSecondaryAction>\n <CheckIcon />\n </ListItemSecondaryAction>\n )}\n </MuiMenuItem>\n );\n }),\n [hasMultipleChoices, normalizedOptions, internalSelectedValues],\n );\n\n const renderValue = useCallback(\n (value: Value) => Array.isArray(value) && <Chips isInteractive={false} />,\n [Chips],\n );\n\n const renderFieldComponent = useCallback(\n ({\n ariaDescribedBy,\n errorMessageElementId,\n id,\n labelElementId,\n }: SelectRenderProps) => (\n <SelectContainer>\n <MuiSelect\n {...inputValues}\n aria-describedby={ariaDescribedBy}\n aria-errormessage={errorMessageElementId}\n displayEmpty\n id={id}\n inputProps={{\n \"data-se\": testId,\n \"aria-disabled\": isDisabled || isReadOnly,\n readOnly: isReadOnly,\n }}\n inputRef={(el: HTMLInputElement | HTMLTextAreaElement | null) => {\n if (localInputRef.current !== el) {\n (localInputRef as React.MutableRefObject<typeof el>).current = el;\n }\n selectRef.current = el;\n }}\n labelId={labelElementId}\n MenuProps={{\n sx: {\n \".MuiPaper-root\": {\n maxHeight: \"50vh\",\n },\n },\n }}\n multiple={hasMultipleChoices}\n name={nameOverride ?? id}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n renderValue={hasMultipleChoices ? renderValue : undefined}\n translate={translate}\n >\n {renderedOptions}\n </MuiSelect>\n {hasMultipleChoices && (\n <>\n <ChipsPositioningContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Chips isInteractive={!isReadOnly} isReadOnly={isReadOnly} />\n </ChipsPositioningContainer>\n </>\n )}\n </SelectContainer>\n ),\n [\n Chips,\n inputValues,\n hasMultipleChoices,\n isDisabled,\n isReadOnly,\n nameOverride,\n odysseyDesignTokens,\n onBlur,\n onChange,\n onFocus,\n renderedOptions,\n renderValue,\n testId,\n translate,\n ],\n );\n\n return (\n <Field\n ariaDescribedBy={ariaDescribedBy}\n errorMessage={errorMessage}\n errorMessageList={errorMessageList}\n fieldType=\"single\"\n hasVisibleLabel\n hint={hint}\n HintLinkComponent={HintLinkComponent}\n id={idOverride}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isOptional={isOptional}\n label={label}\n renderFieldComponent={renderFieldComponent}\n />\n );\n};\n\nconst MemoizedSelect = memo(Select);\nMemoizedSelect.displayName = \"Select\";\n\nexport { MemoizedSelect as Select };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["memo","useCallback","useEffect","useMemo","useRef","useState","useImperativeHandle","styled","Field","CheckIcon","CloseCircleFilledIcon","ComponentControlledState","useInputValues","getControlState","useOdysseyDesignTokens","normalizedKey","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SelectTestSelector","accessibleText","errorMessage","hint","label","children","list","listItem","elementSelector","method","options","role","isControlledElement","SelectContainer","div","ChipsPositioningContainer","shouldForwardProp","prop","odysseyDesignTokens","Spacing0","Spacing5","Spacing1","BorderWidthMain","NonInteractiveIcon","Spacing2","ChipsInnerContainer","_Box","isInteractive","isReadOnly","Spacing6","CONTROLLED","Select","ariaDescribedBy","defaultValue","errorMessageList","hasMultipleChoices","hasMultipleChoicesProp","HintLinkComponent","id","idOverride","inputRef","isDisabled","isFullWidth","isMultiSelect","isOptional","name","nameOverride","onBlur","onChange","onChangeProp","onFocus","testId","translate","value","selectRef","undefined","controlledStateRef","controlledValue","uncontrolledValue","internalSelectedValues","setInternalSelectedValues","current","localInputRef","focus","inputValues","controlState","event","child","preventDefault","target","split","normalizedOptions","normalizedOptionsMap","map","option","text","type","lang","language","Map","removeSelectedValue","selectedValue","Array","isArray","newValue","filter","internalSelectedValue","syntheticEvent","Chips","stopPropagation","hasNonInteractiveIcon","item","length","_Chip","get","tabIndex","onDelete","deleteIcon","sx","pointerEvents","onMouseDown","renderedOptions","index","_ListSubheader","isSelected","includes","_MenuItem","selected","_Checkbox","checked","_ListItemSecondaryAction","toString","renderValue","renderFieldComponent","errorMessageElementId","labelElementId","_Select","displayEmpty","inputProps","readOnly","el","labelId","MenuProps","maxHeight","multiple","fieldType","hasVisibleLabel","MemoizedSelect","displayName"],"sources":["../../src/Select.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n useImperativeHandle,\n} from \"react\";\nimport styled from \"@emotion/styled\";\nimport {\n Box as MuiBox,\n Checkbox as MuiCheckbox,\n Chip as MuiChip,\n ListItemSecondaryAction,\n ListSubheader,\n MenuItem as MuiMenuItem,\n Select as MuiSelect,\n SelectProps as MuiSelectProps,\n SelectChangeEvent,\n} from \"@mui/material\";\n\nimport { Field } from \"./Field.js\";\nimport {\n FieldComponentProps,\n FieldComponentRenderProps,\n} from \"./FieldComponentProps.js\";\nimport { CheckIcon, CloseCircleFilledIcon } from \"./icons.generated/index.js\";\nimport type { HtmlProps } from \"./HtmlProps.js\";\nimport {\n ComponentControlledState,\n FocusHandle,\n useInputValues,\n getControlState,\n} from \"./inputUtils.js\";\nimport {\n useOdysseyDesignTokens,\n DesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { TestSelector } from \"./test-selectors/index.js\";\nimport { normalizedKey } from \"./useNormalizedKey.js\";\n\nexport const SelectTestSelector = {\n accessibleText: {\n errorMessage: \"errorMessage\",\n hint: \"description\",\n label: \"label\",\n },\n children: {\n list: {\n accessibleText: {\n label: \"label\",\n },\n children: {\n listItem: {\n accessibleText: {\n label: \"label\",\n },\n elementSelector: {\n method: \"ByRole\",\n options: {\n label: \"name\",\n },\n role: \"option\",\n },\n },\n },\n isControlledElement: true,\n },\n },\n elementSelector: {\n method: \"ByRole\",\n options: {\n label: \"name\",\n },\n role: \"combobox\",\n },\n} as const satisfies TestSelector;\n\nexport type SelectOption = {\n text: string;\n type?: \"heading\" | \"option\";\n value?: string;\n language?: string;\n};\n\nconst SelectContainer = styled.div`\n position: relative;\n width: 100%;\n display: flex;\n`;\n\nconst ChipsPositioningContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>`\n display: flex;\n align-items: center;\n position: absolute;\n top: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing0};\n right: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing5};\n bottom: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing0};\n left: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing1};\n margin-inline-start: ${({ odysseyDesignTokens }) =>\n odysseyDesignTokens.BorderWidthMain};\n opacity: 1;\n pointer-events: none;\n`;\n\nconst NonInteractiveIcon = styled(CloseCircleFilledIcon, {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>`\n font-size: 1em;\n margin-inline-start: ${({ odysseyDesignTokens }) =>\n odysseyDesignTokens.Spacing2};\n margin-inline-end: -${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing1};\n margin-block-end: -1px;\n`;\n\nconst ChipsInnerContainer = styled(MuiBox, {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isInteractive\" &&\n prop !== \"isReadOnly\",\n})<{\n isInteractive?: boolean;\n isReadOnly?: boolean;\n odysseyDesignTokens: DesignTokens;\n}>`\n display: flex;\n flex-wrap: wrap;\n gap: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing1};\n pointer-events: none;\n opacity: ${({ isInteractive, isReadOnly }) =>\n isInteractive || isReadOnly ? 1 : 0};\n min-height: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing6};\n`;\n\nexport type SelectValueType<HasMultipleChoices> =\n HasMultipleChoices extends true ? string[] : string;\n\nexport type SelectProps<\n Value extends SelectValueType<HasMultipleChoices>,\n HasMultipleChoices extends boolean,\n> = {\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue?: MuiSelectProps<Value>[\"defaultValue\"];\n /**\n * If `true`, the Select allows multiple selections\n */\n hasMultipleChoices?: HasMultipleChoices;\n /**\n * The ref forwarded to the Select\n */\n inputRef?: React.RefObject<FocusHandle>;\n /**\n * @deprecated Use `hasMultipleChoices` instead.\n */\n /** **Deprecated:** use `hasMultipleChoices` */\n isMultiSelect?: HasMultipleChoices;\n /**\n * The label text for the Select\n */\n label: string;\n /**\n * Callback fired when the Select loses focus\n */\n onBlur?: MuiSelectProps<Value>[\"onBlur\"];\n /**\n * Callback fired when the value of the Select changes\n */\n onChange?: MuiSelectProps<Value>[\"onChange\"];\n /**\n * Callback fired when the Select gains focus\n */\n onFocus?: MuiSelectProps<Value>[\"onFocus\"];\n /**\n * The options for the Select\n */\n options: (string | SelectOption)[];\n /**\n * The value or values selected in the Select\n */\n value?: Value;\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"errorMessageList\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isDisabled\"\n | \"isFullWidth\"\n | \"isOptional\"\n | \"isReadOnly\"\n | \"name\"\n> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\ntype SelectRenderProps = Partial<\n Pick<FieldComponentRenderProps, \"ariaDescribedBy\" | \"errorMessageElementId\">\n> &\n Pick<FieldComponentRenderProps, \"id\" | \"labelElementId\">;\n\n/**\n * Options in Odyssey <Select> are passed as an array, which can contain any combination\n * of the following:\n * - string — A simple string. The string will be both the text and the value of the resulting option.\n * <option value=\"string\">string</option>\n *\n * - { text: string } — Same as above, but the string is contained within an object.\n * <option value=\"text\">text</option>\n *\n * - { text: string, value: string } — The option text will be text, and the option value will be value.\n * <option value=\"value\">text</option>\n *\n * - { text: string, type: \"heading\" } — Used to display a group heading with the text\n */\n\nconst { CONTROLLED } = ComponentControlledState;\nconst Select = <\n Value extends SelectValueType<HasMultipleChoices>,\n HasMultipleChoices extends boolean,\n>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasMultipleChoices: hasMultipleChoicesProp,\n hint,\n HintLinkComponent,\n id: idOverride,\n inputRef,\n isDisabled = false,\n isFullWidth = false,\n isMultiSelect,\n isOptional = false,\n isReadOnly = false,\n label,\n name: nameOverride,\n onBlur,\n onChange: onChangeProp,\n onFocus,\n options,\n testId,\n translate,\n value,\n}: SelectProps<Value, HasMultipleChoices>) => {\n const selectRef = useRef<HTMLInputElement | HTMLTextAreaElement | null>(null);\n\n const hasMultipleChoices = useMemo(\n () =>\n hasMultipleChoicesProp === undefined\n ? isMultiSelect\n : hasMultipleChoicesProp,\n [hasMultipleChoicesProp, isMultiSelect],\n );\n\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: value,\n uncontrolledValue: defaultValue,\n }),\n );\n const [internalSelectedValues, setInternalSelectedValues] = useState(\n controlledStateRef.current === CONTROLLED ? value : defaultValue,\n );\n\n const localInputRef = useRef<HTMLSelectElement>(null);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n useImperativeHandle(inputRef, () => {\n return {\n focus: () => {\n localInputRef.current?.focus();\n },\n };\n }, []);\n\n useEffect(() => {\n if (controlledStateRef.current === CONTROLLED) {\n setInternalSelectedValues(value);\n }\n }, [value]);\n\n const inputValues = useInputValues({\n defaultValue,\n value,\n controlState: controlledStateRef.current,\n });\n\n const onChange = useCallback<NonNullable<MuiSelectProps<Value>[\"onChange\"]>>(\n (event, child) => {\n if (isReadOnly) {\n event.preventDefault();\n } else {\n const {\n target: { value },\n } = event;\n if (controlledStateRef.current !== CONTROLLED) {\n setInternalSelectedValues(\n (typeof value === \"string\" && hasMultipleChoices\n ? value.split(\",\")\n : value) as Value,\n );\n }\n onChangeProp?.(event, child);\n }\n },\n [hasMultipleChoices, onChangeProp, isReadOnly],\n );\n // Normalize the options array to accommodate the various\n // data types that might be passed\n const [normalizedOptions, normalizedOptionsMap] = useMemo(() => {\n const normalizedOptions = options.map((option) => {\n if (typeof option === \"object\") {\n /**\n * If the value of `option?.value is an empty string, we need to make sure that we\n * set an empty string to `value` in the normalized option so that the select component\n * can potentially set it as the selected one in the text input\n */\n const value =\n option?.value === \"\" ? option.value : option.value || option.text;\n return {\n text: option.text,\n value,\n type: option.type === \"heading\" ? \"heading\" : \"option\",\n lang: option.language,\n };\n }\n\n return { text: option, value: option, type: \"option\" };\n });\n\n const normalizedOptionsMap = new Map(\n normalizedOptions.map((option) => [option.value, option]),\n );\n return [normalizedOptions, normalizedOptionsMap];\n }, [options]);\n\n const removeSelectedValue = useCallback(\n (selectedValue: string) => {\n if (Array.isArray(internalSelectedValues)) {\n const newValue = internalSelectedValues.filter(\n (internalSelectedValue) => internalSelectedValue !== selectedValue,\n );\n\n const syntheticEvent = {\n target: { value: newValue },\n } as SelectChangeEvent<Value>;\n\n onChange(syntheticEvent, null);\n }\n },\n [internalSelectedValues, onChange],\n );\n\n const Chips = useCallback(\n ({\n isInteractive,\n isReadOnly,\n }: {\n isInteractive: boolean;\n isReadOnly?: boolean;\n }) => {\n const stopPropagation = (event: React.MouseEvent<SVGSVGElement>) =>\n event.stopPropagation();\n\n const hasNonInteractiveIcon =\n !isInteractive &&\n controlledStateRef.current === CONTROLLED &&\n hasMultipleChoices;\n return (\n Array.isArray(internalSelectedValues) && (\n <ChipsInnerContainer\n isInteractive={isInteractive}\n isReadOnly={isReadOnly}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {internalSelectedValues.map(\n (item) =>\n item?.length > 0 && (\n <MuiChip\n key={item}\n label={\n <>\n {normalizedOptionsMap.get(item)?.text}\n {hasNonInteractiveIcon && (\n <NonInteractiveIcon\n odysseyDesignTokens={odysseyDesignTokens}\n />\n )}\n </>\n }\n tabIndex={-1}\n onDelete={\n isInteractive && controlledStateRef.current === CONTROLLED\n ? () => removeSelectedValue(item)\n : undefined\n }\n deleteIcon={\n <CloseCircleFilledIcon\n sx={{ pointerEvents: \"auto\" }}\n // We need to stop event propagation on mouse down to prevent the deletion\n // from being blocked by the Select list opening, and also ensure that\n // the pointerEvent is registered even when the parent's are not\n onMouseDown={stopPropagation}\n />\n }\n />\n ),\n )}\n </ChipsInnerContainer>\n )\n );\n },\n [\n controlledStateRef,\n hasMultipleChoices,\n internalSelectedValues,\n odysseyDesignTokens,\n removeSelectedValue,\n normalizedOptionsMap,\n ],\n );\n\n // Convert the options into the ReactNode children\n // that will populate the <Select>\n const renderedOptions = useMemo(\n () =>\n normalizedOptions.map((option, index) => {\n if (option.type === \"heading\") {\n return (\n <ListSubheader key={option.text}> {option.text} </ListSubheader>\n );\n }\n\n const isSelected = hasMultipleChoices\n ? internalSelectedValues?.includes(option.value)\n : internalSelectedValues === option.value;\n\n return (\n <MuiMenuItem\n data-empty={!option.text}\n key={normalizedKey(option.text, index.toString())}\n value={option.value}\n selected={isSelected}\n lang={option.lang}\n >\n {hasMultipleChoices && <MuiCheckbox checked={isSelected} />}\n {option.text}\n {!hasMultipleChoices && internalSelectedValues === option.value && (\n <ListItemSecondaryAction>\n <CheckIcon />\n </ListItemSecondaryAction>\n )}\n </MuiMenuItem>\n );\n }),\n [hasMultipleChoices, normalizedOptions, internalSelectedValues],\n );\n\n const renderValue = useCallback(\n (value: Value) => Array.isArray(value) && <Chips isInteractive={false} />,\n [Chips],\n );\n\n const renderFieldComponent = useCallback(\n ({\n ariaDescribedBy,\n errorMessageElementId,\n id,\n labelElementId,\n }: SelectRenderProps) => (\n <SelectContainer>\n <MuiSelect\n {...inputValues}\n aria-describedby={ariaDescribedBy}\n aria-errormessage={errorMessageElementId}\n displayEmpty\n id={id}\n inputProps={{\n \"data-se\": testId,\n \"aria-disabled\": isDisabled || isReadOnly,\n readOnly: isReadOnly,\n }}\n inputRef={(el: HTMLInputElement | HTMLTextAreaElement | null) => {\n if (localInputRef.current !== el) {\n (localInputRef as React.MutableRefObject<typeof el>).current = el;\n }\n selectRef.current = el;\n }}\n labelId={labelElementId}\n MenuProps={{\n sx: {\n \".MuiPaper-root\": {\n maxHeight: \"50vh\",\n },\n },\n }}\n multiple={hasMultipleChoices}\n name={nameOverride ?? id}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n renderValue={hasMultipleChoices ? renderValue : undefined}\n translate={translate}\n >\n {renderedOptions}\n </MuiSelect>\n {hasMultipleChoices && (\n <>\n <ChipsPositioningContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Chips isInteractive={!isReadOnly} isReadOnly={isReadOnly} />\n </ChipsPositioningContainer>\n </>\n )}\n </SelectContainer>\n ),\n [\n Chips,\n inputValues,\n hasMultipleChoices,\n isDisabled,\n isReadOnly,\n nameOverride,\n odysseyDesignTokens,\n onBlur,\n onChange,\n onFocus,\n renderedOptions,\n renderValue,\n testId,\n translate,\n ],\n );\n\n return (\n <Field\n ariaDescribedBy={ariaDescribedBy}\n errorMessage={errorMessage}\n errorMessageList={errorMessageList}\n fieldType=\"single\"\n hasVisibleLabel\n hint={hint}\n HintLinkComponent={HintLinkComponent}\n id={idOverride}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isOptional={isOptional}\n label={label}\n renderFieldComponent={renderFieldComponent}\n />\n );\n};\n\nconst MemoizedSelect = memo(Select);\nMemoizedSelect.displayName = \"Select\";\n\nexport { MemoizedSelect as Select };\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Typography.js
CHANGED
|
@@ -38,7 +38,8 @@ const Typography = ({
|
|
|
38
38
|
testId,
|
|
39
39
|
translate,
|
|
40
40
|
typographyRef,
|
|
41
|
-
variant = "body"
|
|
41
|
+
variant = "body",
|
|
42
|
+
isPresentational
|
|
42
43
|
}) => {
|
|
43
44
|
const component = useMemo(() => {
|
|
44
45
|
if (!componentProp) {
|
|
@@ -70,7 +71,8 @@ const Typography = ({
|
|
|
70
71
|
ref: localTypographyRef,
|
|
71
72
|
tabIndex: -1,
|
|
72
73
|
translate: translate,
|
|
73
|
-
variant: typographyVariantMapping[variant]
|
|
74
|
+
variant: typographyVariantMapping[variant],
|
|
75
|
+
role: isPresentational ? "presentation" : undefined
|
|
74
76
|
});
|
|
75
77
|
};
|
|
76
78
|
const MemoizedTypography = memo(Typography);
|
|
@@ -84,7 +86,8 @@ const Heading1 = ({
|
|
|
84
86
|
color,
|
|
85
87
|
component,
|
|
86
88
|
testId,
|
|
87
|
-
translate
|
|
89
|
+
translate,
|
|
90
|
+
isPresentational
|
|
88
91
|
}) => _jsx(Typography, {
|
|
89
92
|
ariaCurrent: ariaCurrent,
|
|
90
93
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -95,7 +98,8 @@ const Heading1 = ({
|
|
|
95
98
|
component: component,
|
|
96
99
|
testId: testId,
|
|
97
100
|
translate: translate,
|
|
98
|
-
variant: "h1"
|
|
101
|
+
variant: "h1",
|
|
102
|
+
isPresentational: isPresentational
|
|
99
103
|
});
|
|
100
104
|
const MemoizedHeading1 = memo(Heading1);
|
|
101
105
|
MemoizedHeading1.displayName = "Heading1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Typography.js","names":["memo","useMemo","useRef","useImperativeHandle","jsx","_jsx","typographyVariantMapping","h1","h2","h3","h4","h5","h6","body","legend","overline","subordinate","support","typographyColorValues","Typography","ariaCurrent","ariaDescribedBy","ariaLabel","ariaLabelledBy","children","color","component","componentProp","testId","translate","typographyRef","variant","localTypographyRef","focus","current","_Typography","ref","tabIndex","MemoizedTypography","displayName","Heading1","MemoizedHeading1","Heading2","MemoizedHeading2","Heading3","MemoizedHeading3","Heading4","MemoizedHeading4","Heading5","MemoizedHeading5","Heading6","MemoizedHeading6","Paragraph","MemoizedParagraph","Subordinate","MemoizedSubordinate","Support","MemoizedSupport","Legend","MemoizedLegend","Overline","MemoizedOverline"],"sources":["../../src/Typography.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n ElementType,\n ReactNode,\n memo,\n useMemo,\n useRef,\n useImperativeHandle,\n} from \"react\";\nimport {\n Typography as MuiTypography,\n TypographyProps as MuiTypographyProps,\n} from \"@mui/material\";\n\nimport { HtmlProps } from \"./HtmlProps.js\";\nimport { FocusHandle } from \"./inputUtils.js\";\n\nexport type TypographyVariantValue =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"body\"\n | \"legend\"\n | \"overline\"\n | \"subordinate\"\n | \"support\";\n\nexport const typographyVariantMapping: Record<\n TypographyVariantValue,\n MuiTypographyProps[\"variant\"]\n> = {\n h1: \"h1\",\n h2: \"h2\",\n h3: \"h3\",\n h4: \"h4\",\n h5: \"h5\",\n h6: \"h6\",\n body: \"body1\",\n legend: \"legend\",\n overline: \"overline\",\n subordinate: \"subtitle1\",\n support: \"subtitle2\",\n} as const;\n\nexport const typographyColorValues = [\n \"primary\",\n \"textPrimary\",\n \"secondary\",\n \"textSecondary\",\n \"error\",\n] as const;\n\nexport type TypographyProps = {\n /**\n * The text content of the component.\n */\n children: ReactNode;\n /**\n * The color of the text.\n */\n color?: (typeof typographyColorValues)[number];\n /**\n * The HTML element the component should render, if different from the default.\n */\n component?: ElementType;\n /**\n * The ref forwarded to the Typography\n */\n typographyRef?: React.RefObject<FocusHandle>;\n /**\n * The variant of Typography to render.\n */\n variant?: keyof typeof typographyVariantMapping;\n} & Pick<\n HtmlProps,\n | \"ariaCurrent\"\n | \"ariaDescribedBy\"\n | \"ariaLabel\"\n | \"ariaLabelledBy\"\n | \"testId\"\n | \"translate\"\n>;\n\nconst Typography = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component: componentProp,\n testId,\n translate,\n typographyRef,\n variant = \"body\",\n}: TypographyProps) => {\n const component = useMemo(() => {\n if (!componentProp) {\n if (\n variant === \"body\" ||\n variant === \"subordinate\" ||\n variant === \"support\" ||\n variant === \"overline\"\n ) {\n return \"p\";\n } else {\n return variant;\n }\n }\n return componentProp;\n }, [componentProp, variant]);\n\n const localTypographyRef = useRef<HTMLElement>(null);\n useImperativeHandle(typographyRef, () => {\n return {\n focus: () => {\n localTypographyRef.current?.focus();\n },\n };\n }, []);\n\n return (\n <MuiTypography\n aria-current={ariaCurrent}\n aria-describedby={ariaDescribedBy}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n ref={localTypographyRef}\n tabIndex={-1}\n translate={translate}\n variant={typographyVariantMapping[variant]}\n />\n );\n};\n\nconst MemoizedTypography = memo(Typography);\nMemoizedTypography.displayName = \"Typography\";\n\nconst Heading1 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h1\"\n />\n);\n\nconst MemoizedHeading1 = memo(Heading1);\nMemoizedHeading1.displayName = \"Heading1\";\n\nconst Heading2 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h2\"\n />\n);\n\nconst MemoizedHeading2 = memo(Heading2);\nMemoizedHeading2.displayName = \"Heading2\";\n\nconst Heading3 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h3\"\n />\n);\n\nconst MemoizedHeading3 = memo(Heading3);\nMemoizedHeading3.displayName = \"Heading3\";\n\nconst Heading4 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h4\"\n />\n);\n\nconst MemoizedHeading4 = memo(Heading4);\nMemoizedHeading4.displayName = \"Heading4\";\n\nconst Heading5 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h5\"\n />\n);\n\nconst MemoizedHeading5 = memo(Heading5);\nMemoizedHeading5.displayName = \"Heading5\";\n\nconst Heading6 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h6\"\n />\n);\n\nconst MemoizedHeading6 = memo(Heading6);\nMemoizedHeading6.displayName = \"Heading6\";\n\nconst Paragraph = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"body\"\n />\n);\n\nconst MemoizedParagraph = memo(Paragraph);\nMemoizedParagraph.displayName = \"Paragraph\";\n\nconst Subordinate = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"subordinate\"\n />\n);\n\nconst MemoizedSubordinate = memo(Subordinate);\nMemoizedSubordinate.displayName = \"Subordinate\";\n\nconst Support = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"support\"\n />\n);\n\nconst MemoizedSupport = memo(Support);\nMemoizedSupport.displayName = \"Support\";\n\nconst Legend = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"legend\"\n />\n);\n\nconst MemoizedLegend = memo(Legend);\nMemoizedLegend.displayName = \"Legend\";\n\nconst Overline = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"overline\"\n />\n);\n\nconst MemoizedOverline = memo(Overline);\nMemoizedOverline.displayName = \"Overline\";\n\nexport {\n MemoizedTypography as Typography,\n MemoizedHeading1 as Heading1,\n MemoizedHeading2 as Heading2,\n MemoizedHeading3 as Heading3,\n MemoizedHeading4 as Heading4,\n MemoizedHeading5 as Heading5,\n MemoizedHeading6 as Heading6,\n MemoizedLegend as Legend,\n MemoizedOverline as Overline,\n MemoizedParagraph as Paragraph,\n MemoizedSubordinate as Subordinate,\n MemoizedSupport as Support,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Typography.js","names":["memo","useMemo","useRef","useImperativeHandle","jsx","_jsx","typographyVariantMapping","h1","h2","h3","h4","h5","h6","body","legend","overline","subordinate","support","typographyColorValues","Typography","ariaCurrent","ariaDescribedBy","ariaLabel","ariaLabelledBy","children","color","component","componentProp","testId","translate","typographyRef","variant","isPresentational","localTypographyRef","focus","current","_Typography","ref","tabIndex","role","undefined","MemoizedTypography","displayName","Heading1","MemoizedHeading1","Heading2","MemoizedHeading2","Heading3","MemoizedHeading3","Heading4","MemoizedHeading4","Heading5","MemoizedHeading5","Heading6","MemoizedHeading6","Paragraph","MemoizedParagraph","Subordinate","MemoizedSubordinate","Support","MemoizedSupport","Legend","MemoizedLegend","Overline","MemoizedOverline"],"sources":["../../src/Typography.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n ElementType,\n ReactNode,\n memo,\n useMemo,\n useRef,\n useImperativeHandle,\n} from \"react\";\nimport {\n Typography as MuiTypography,\n TypographyProps as MuiTypographyProps,\n} from \"@mui/material\";\n\nimport { HtmlProps } from \"./HtmlProps.js\";\nimport { FocusHandle } from \"./inputUtils.js\";\n\nexport type TypographyVariantValue =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"body\"\n | \"legend\"\n | \"overline\"\n | \"subordinate\"\n | \"support\";\n\nexport const typographyVariantMapping: Record<\n TypographyVariantValue,\n MuiTypographyProps[\"variant\"]\n> = {\n h1: \"h1\",\n h2: \"h2\",\n h3: \"h3\",\n h4: \"h4\",\n h5: \"h5\",\n h6: \"h6\",\n body: \"body1\",\n legend: \"legend\",\n overline: \"overline\",\n subordinate: \"subtitle1\",\n support: \"subtitle2\",\n} as const;\n\nexport const typographyColorValues = [\n \"primary\",\n \"textPrimary\",\n \"secondary\",\n \"textSecondary\",\n \"error\",\n] as const;\n\nexport type TypographyProps = {\n /**\n * The text content of the component.\n */\n children: ReactNode;\n /**\n * The color of the text.\n */\n color?: (typeof typographyColorValues)[number];\n /**\n * The HTML element the component should render, if different from the default.\n */\n component?: ElementType;\n /**\n * The ref forwarded to the Typography\n */\n typographyRef?: React.RefObject<FocusHandle>;\n /**\n * The variant of Typography to render.\n */\n variant?: keyof typeof typographyVariantMapping;\n /**\n * If true, the component is presentational and should be ignored by screen readers.\n */\n isPresentational?: boolean;\n} & Pick<\n HtmlProps,\n | \"ariaCurrent\"\n | \"ariaDescribedBy\"\n | \"ariaLabel\"\n | \"ariaLabelledBy\"\n | \"testId\"\n | \"translate\"\n>;\n\nconst Typography = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component: componentProp,\n testId,\n translate,\n typographyRef,\n variant = \"body\",\n isPresentational,\n}: TypographyProps) => {\n const component = useMemo(() => {\n if (!componentProp) {\n if (\n variant === \"body\" ||\n variant === \"subordinate\" ||\n variant === \"support\" ||\n variant === \"overline\"\n ) {\n return \"p\";\n } else {\n return variant;\n }\n }\n return componentProp;\n }, [componentProp, variant]);\n\n const localTypographyRef = useRef<HTMLElement>(null);\n useImperativeHandle(typographyRef, () => {\n return {\n focus: () => {\n localTypographyRef.current?.focus();\n },\n };\n }, []);\n\n return (\n <MuiTypography\n aria-current={ariaCurrent}\n aria-describedby={ariaDescribedBy}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n ref={localTypographyRef}\n tabIndex={-1}\n translate={translate}\n variant={typographyVariantMapping[variant]}\n role={isPresentational ? \"presentation\" : undefined}\n />\n );\n};\n\nconst MemoizedTypography = memo(Typography);\nMemoizedTypography.displayName = \"Typography\";\n\nconst Heading1 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n isPresentational,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h1\"\n isPresentational={isPresentational}\n />\n);\n\nconst MemoizedHeading1 = memo(Heading1);\nMemoizedHeading1.displayName = \"Heading1\";\n\nconst Heading2 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h2\"\n />\n);\n\nconst MemoizedHeading2 = memo(Heading2);\nMemoizedHeading2.displayName = \"Heading2\";\n\nconst Heading3 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h3\"\n />\n);\n\nconst MemoizedHeading3 = memo(Heading3);\nMemoizedHeading3.displayName = \"Heading3\";\n\nconst Heading4 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h4\"\n />\n);\n\nconst MemoizedHeading4 = memo(Heading4);\nMemoizedHeading4.displayName = \"Heading4\";\n\nconst Heading5 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h5\"\n />\n);\n\nconst MemoizedHeading5 = memo(Heading5);\nMemoizedHeading5.displayName = \"Heading5\";\n\nconst Heading6 = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"h6\"\n />\n);\n\nconst MemoizedHeading6 = memo(Heading6);\nMemoizedHeading6.displayName = \"Heading6\";\n\nconst Paragraph = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"body\"\n />\n);\n\nconst MemoizedParagraph = memo(Paragraph);\nMemoizedParagraph.displayName = \"Paragraph\";\n\nconst Subordinate = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"subordinate\"\n />\n);\n\nconst MemoizedSubordinate = memo(Subordinate);\nMemoizedSubordinate.displayName = \"Subordinate\";\n\nconst Support = ({\n ariaCurrent,\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaCurrent={ariaCurrent}\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"support\"\n />\n);\n\nconst MemoizedSupport = memo(Support);\nMemoizedSupport.displayName = \"Support\";\n\nconst Legend = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"legend\"\n />\n);\n\nconst MemoizedLegend = memo(Legend);\nMemoizedLegend.displayName = \"Legend\";\n\nconst Overline = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n translate,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n testId={testId}\n translate={translate}\n variant=\"overline\"\n />\n);\n\nconst MemoizedOverline = memo(Overline);\nMemoizedOverline.displayName = \"Overline\";\n\nexport {\n MemoizedTypography as Typography,\n MemoizedHeading1 as Heading1,\n MemoizedHeading2 as Heading2,\n MemoizedHeading3 as Heading3,\n MemoizedHeading4 as Heading4,\n MemoizedHeading5 as Heading5,\n MemoizedHeading6 as Heading6,\n MemoizedLegend as Legend,\n MemoizedOverline as Overline,\n MemoizedParagraph as Paragraph,\n MemoizedSubordinate as Subordinate,\n MemoizedSupport as Support,\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -205,7 +205,10 @@ const TableLayoutContent = ({
|
|
|
205
205
|
},
|
|
206
206
|
muiTableBodyProps: () => ({
|
|
207
207
|
className: rowDensityClassName,
|
|
208
|
-
tabIndex: 0
|
|
208
|
+
tabIndex: 0,
|
|
209
|
+
sx: isEmpty || isNoResults ? {
|
|
210
|
+
height: "unset"
|
|
211
|
+
} : undefined
|
|
209
212
|
}),
|
|
210
213
|
enableColumnResizing: tableLayoutOptions.hasColumnResizing,
|
|
211
214
|
defaultColumn: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableLayoutContent.js","names":["memo","useCallback","useMemo","useRef","useState","useEffect","styled","MRT_TableContainer","useMaterialReactTable","useTranslation","ArrowDownIcon","ArrowUnsortedIcon","ChevronDownIcon","DragIndicatorIcon","MoreIcon","Box","Button","MenuButton","dataTableImmutableSettings","displayColumnDefOptions","ScrollableTableContainer","RowActions","useOdysseyDesignTokens","useScrollIndication","jsx","_jsx","jsxs","_jsxs","TextWrapper","whiteSpace","textOverflow","overflow","RowActionsContainer","display","TableLayoutContent","columns","data","draggingRow","emptyState","enableVirtualization","getRowId","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","setTableState","tableLayoutOptions","tableState","totalRows","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","shouldUpdateScroll","tableOuterContainerRef","tableInnerContainerRef","tableContentRef","tableInnerContainer","current","tableOuterContainer","odysseyDesignTokens","t","columnIds","map","column","accessorKey","columnOrder","filter","id","rowDensityClassName","rowDensity","defaultCell","cell","value","getValue","hasTextWrapping","columnDef","enableWrapping","children","draggableTableBodyRowClassName","dragHandleStyles","dragHandleText","handleDragHandleKeyDown","handleDragHandleOnDragCapture","handleDragHandleOnDragEnd","resetDraggingAndHoveredRow","updateRowOrder","renderRowActions","row","currentIndex","index","pageIndex","pageSize","rowActionButtons","rowActionMenuItems","ariaLabel","buttonVariant","endIcon","menuAlignment","size","rowIndex","undefined","innerWidthStyle","width","emptyStateContainer","sx","scrollTo","clientHeight","shouldDisplayRowActions","hasColumnWithGrow","some","grow","dataTable","state","sorting","columnSorting","columnVisibility","icons","ArrowDownwardIcon","DragHandleIcon","SyncAltIcon","ExpandMoreIcon","header","muiTableBodyCellProps","align","className","muiTableHeadCellProps","visibility","variant","isDisabled","muiTableProps","ref","hasColumnResizing","muiTableContainerProps","muiTableBodyProps","tabIndex","enableColumnResizing","defaultColumn","Cell","enableRowActions","enableRowOrdering","Boolean","enableRowDragging","muiDetailPanelProps","paddingBlock","getIsExpanded","Spacing3","muiTableBodyRowProps","table","isDetailPanel","currentRowId","draggingRowId","hoveredRowId","getState","hoveredRow","border","backgroundColor","HueNeutralWhite","muiRowDragHandleProps","onKeyDown","event","onBlur","onDragEnd","onDragCapture","disabled","renderDetailPanel","enableRowVirtualization","currentColumn","find","sortedColumn","getIsResizing","enableSorting","hasSorting","onSortingChange","sortingUpdater","newSortVal","prevState","enableRowSelection","onRowSelectionChange","renderEmptyRowsFallback","localization","collapse","collapseAll","expand","expandAll","isScrollableEnd","isScrollableStart","MemoizedTableLayoutContent","displayName"],"sources":["../../../../src/labs/DataView/TableLayoutContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n SetStateAction,\n memo,\n useCallback,\n useMemo,\n useRef,\n useState,\n ReactNode,\n Dispatch,\n ReactElement,\n useEffect,\n} from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowDownIcon,\n ArrowUnsortedIcon,\n ChevronDownIcon,\n DragIndicatorIcon,\n MoreIcon,\n} from \"../../icons.generated/index.js\";\nimport { Box } from \"../../Box.js\";\nimport { Button, MenuButton } from \"../../Buttons/index.js\";\nimport {\n TableLayoutProps,\n TableState,\n UniversalProps,\n} from \"./componentTypes.js\";\nimport { DataTableCell } from \"./dataTypes.js\";\nimport {\n dataTableImmutableSettings,\n displayColumnDefOptions,\n ScrollableTableContainer,\n} from \"./tableConstants.js\";\nimport { RowActions } from \"./RowActions.js\";\nimport { useOdysseyDesignTokens } from \"../../OdysseyDesignTokensContext.js\";\nimport { useScrollIndication } from \"../../DataTable/useScrollIndication.js\";\n\nconst TextWrapper = styled(\"div\")({\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n});\n\nconst RowActionsContainer = styled(\"div\")({\n display: \"flex\",\n});\n\nexport type TableLayoutContentProps<TData extends MRT_RowData> = {\n columns: TableLayoutProps<TData>[\"columns\"];\n data: MRT_RowData[];\n draggingRow?: MRT_Row<TData> | null;\n emptyState: ReactNode;\n enableVirtualization?: boolean;\n getRowId: UniversalProps<TData>[\"getRowId\"];\n hasRowReordering: UniversalProps<TData>[\"hasRowReordering\"];\n hasRowSelection: UniversalProps<TData>[\"hasRowSelection\"];\n isEmpty?: boolean;\n isLoading: boolean;\n isNoResults?: boolean;\n isRowReorderingDisabled?: boolean;\n onReorderRows: UniversalProps<TData>[\"onReorderRows\"];\n pagination: {\n pageIndex: number;\n pageSize: number;\n };\n rowReorderingUtilities: {\n dragHandleStyles: CSSObject;\n dragHandleText: {\n title: string;\n \"aria-label\": string;\n };\n draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n table: MRT_TableInstance<TData>;\n row: MRT_Row<TData>;\n event: React.KeyboardEvent<HTMLButtonElement>;\n }) => void;\n handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;\n handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;\n resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;\n updateRowOrder: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n setTableState: Dispatch<SetStateAction<TableState>>;\n tableLayoutOptions: TableLayoutProps<TData>;\n tableState: TableState;\n totalRows: UniversalProps<TData>[\"totalRows\"];\n};\n\ntype TableLayoutContentComponent = (<TData extends MRT_RowData>(\n props: TableLayoutContentProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst TableLayoutContent = <TData extends MRT_RowData>({\n columns,\n data,\n draggingRow,\n emptyState,\n enableVirtualization,\n getRowId,\n hasRowReordering,\n hasRowSelection,\n isEmpty,\n isLoading,\n isNoResults,\n isRowReorderingDisabled,\n onReorderRows,\n pagination,\n rowReorderingUtilities,\n rowSelection,\n setRowSelection,\n setTableState,\n tableLayoutOptions,\n tableState,\n totalRows,\n}: TableLayoutContentProps<TData>) => {\n const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =\n useState(true);\n const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =\n useState(true);\n const [tableInnerContainerWidth, setTableInnerContainerWidth] =\n useState<string>(\"100%\");\n const shouldUpdateScroll = useRef<boolean>(false);\n const tableOuterContainerRef = useRef<HTMLDivElement>(null);\n const tableInnerContainerRef = useRef<HTMLDivElement>(null);\n const tableContentRef = useRef<HTMLTableElement>(null);\n\n useScrollIndication({\n setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,\n setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,\n setTableInnerContainerWidth: setTableInnerContainerWidth,\n tableInnerContainer: tableInnerContainerRef.current,\n tableOuterContainer: tableOuterContainerRef.current,\n });\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const columnIds = useMemo(() => {\n return columns.map((column) => column.accessorKey) ?? [];\n }, [columns]);\n\n const columnOrder = useMemo(\n () => [\n \"mrt-row-drag\",\n \"mrt-row-select\",\n \"mrt-row-expand\",\n ...(columnIds?.filter((id): id is string => typeof id === \"string\") ||\n []),\n \"mrt-row-actions\",\n ],\n [columnIds],\n );\n\n const rowDensityClassName = useMemo(() => {\n return tableState.rowDensity === \"spacious\"\n ? \"MuiTableBody-spacious\"\n : tableState.rowDensity === \"compact\"\n ? \"MuiTableBody-compact\"\n : \"MuiTableBody-default\";\n }, [tableState]);\n\n const defaultCell = useCallback<\n ({ cell }: { cell: DataTableCell<TData, unknown> }) => ReactElement | string\n >(({ cell }) => {\n const value = cell.getValue<string>();\n const hasTextWrapping =\n cell.column.columnDef.hasTextWrapping ||\n cell.column.columnDef.enableWrapping;\n return hasTextWrapping ? value : <TextWrapper>{value}</TextWrapper>;\n }, []);\n\n const {\n draggableTableBodyRowClassName,\n dragHandleStyles,\n dragHandleText,\n handleDragHandleKeyDown,\n handleDragHandleOnDragCapture,\n handleDragHandleOnDragEnd,\n resetDraggingAndHoveredRow,\n updateRowOrder,\n } = rowReorderingUtilities;\n\n const renderRowActions = useCallback(\n ({ row }: { row: MRT_Row<TData> }) => {\n const currentIndex =\n row.index + (pagination.pageIndex - 1) * pagination.pageSize;\n return (\n <RowActionsContainer>\n {tableLayoutOptions.rowActionButtons?.(row)}\n {(tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n >\n <RowActions\n isRowReorderingDisabled={isRowReorderingDisabled}\n row={\n row as unknown as MRT_Row<MRT_RowData> // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n }\n rowActionMenuItems={\n // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n tableLayoutOptions.rowActionMenuItems as unknown as (\n row: MRT_Row<MRT_RowData>,\n ) => any // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows ? updateRowOrder : undefined\n }\n />\n </MenuButton>\n )}\n </RowActionsContainer>\n );\n },\n [\n hasRowReordering,\n isRowReorderingDisabled,\n onReorderRows,\n pagination.pageIndex,\n pagination.pageSize,\n t,\n tableLayoutOptions,\n totalRows,\n updateRowOrder,\n ],\n );\n\n const innerWidthStyle = useMemo(\n () => ({ width: tableInnerContainerWidth }),\n [tableInnerContainerWidth],\n );\n\n const emptyStateContainer = useCallback(\n () => <Box sx={innerWidthStyle}>{emptyState}</Box>,\n [innerWidthStyle, emptyState],\n );\n\n // Scroll to the bottom as soon as data loads after clicking the\n // loadMore pagination button\n useEffect(() => {\n if (enableVirtualization) {\n shouldUpdateScroll.current = true;\n }\n }, [enableVirtualization, pagination]);\n\n useEffect(() => {\n if (\n shouldUpdateScroll.current &&\n tableContentRef.current &&\n typeof tableInnerContainerRef.current?.scrollTo !== \"undefined\"\n ) {\n tableInnerContainerRef.current?.scrollTo(\n 0,\n tableContentRef.current.clientHeight,\n );\n shouldUpdateScroll.current = false;\n }\n }, [data]);\n\n const shouldDisplayRowActions = useMemo(\n () =>\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n [\n hasRowReordering,\n onReorderRows,\n tableLayoutOptions.rowActionButtons,\n tableLayoutOptions.rowActionMenuItems,\n ],\n );\n\n const hasColumnWithGrow = columns.some((column) => column.grow === true);\n\n const dataTable = useMaterialReactTable<TData>({\n data: (!isEmpty && !isNoResults ? data : []) as TData[],\n columns,\n getRowId,\n state: {\n sorting: tableState.columnSorting,\n columnVisibility: tableState.columnVisibility,\n isLoading: isLoading,\n rowSelection: rowSelection,\n columnOrder: columnOrder,\n },\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n ExpandMoreIcon: ChevronDownIcon,\n },\n ...dataTableImmutableSettings,\n displayColumnDefOptions: {\n ...(displayColumnDefOptions satisfies Partial<\n MRT_TableOptions<MRT_RowData>[\"displayColumnDefOptions\"]\n >),\n \"mrt-row-actions\": {\n header: \"\",\n grow: !hasColumnWithGrow,\n muiTableBodyCellProps: {\n align: \"right\" as const,\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n },\n muiTableHeadCellProps: {\n align: \"right\" as const,\n sx: {\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n children: (\n <Box sx={{ display: \"flex\", visibility: \"hidden\" }}>\n {tableLayoutOptions.rowActionButtons &&\n // @ts-expect-error TODO: This type is wrong and needs to be fixed\n tableLayoutOptions.rowActionButtons({ id: null })}\n {((hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionMenuItems) && (\n <Box>\n <Button\n endIcon={<MoreIcon />}\n size=\"small\"\n variant=\"floating\"\n ariaLabel={t(\"table.moreactions.arialabel\")}\n isDisabled\n />\n </Box>\n )}\n </Box>\n ),\n },\n },\n },\n muiTableProps: {\n ref: tableContentRef,\n className:\n !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing\n ? hasColumnWithGrow\n ? \"ods-hide-spacer-column\"\n : \"ods-hide-spacer-column ods-column-grow\"\n : \"\",\n },\n muiTableContainerProps: {\n ref: tableInnerContainerRef,\n },\n muiTableBodyProps: () => ({\n className: rowDensityClassName,\n tabIndex: 0,\n }),\n enableColumnResizing: tableLayoutOptions.hasColumnResizing,\n defaultColumn: {\n Cell: defaultCell,\n },\n enableRowActions:\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n renderRowActions: ({ row }) => renderRowActions({ row }),\n enableRowOrdering: hasRowReordering && Boolean(onReorderRows),\n enableRowDragging: hasRowReordering && Boolean(onReorderRows),\n muiDetailPanelProps: ({ row }) => ({\n sx: {\n paddingBlock: row.getIsExpanded()\n ? `${odysseyDesignTokens.Spacing3} !important`\n : undefined,\n },\n }),\n muiTableBodyRowProps: ({ table, row, isDetailPanel }) => ({\n className: draggableTableBodyRowClassName({\n currentRowId: row.id,\n draggingRowId: draggingRow?.id,\n hoveredRowId: table.getState().hoveredRow?.id,\n }),\n sx: isDetailPanel\n ? {\n paddingBlock: \"0 !important\",\n border: 0,\n [\"&:hover\"]: {\n backgroundColor: `${odysseyDesignTokens.HueNeutralWhite} !important`,\n },\n }\n : {},\n }),\n muiRowDragHandleProps: ({ table, row }) => ({\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => resetDraggingAndHoveredRow(table),\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n disabled: isRowReorderingDisabled,\n sx: dragHandleStyles,\n ...dragHandleText,\n }),\n renderDetailPanel: tableLayoutOptions.renderDetailPanel,\n enableRowVirtualization: enableVirtualization,\n muiTableHeadCellProps: ({ column: currentColumn }) => ({\n className: tableState.columnSorting.find(\n (sortedColumn) => sortedColumn.id === currentColumn.id,\n )\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n muiTableBodyCellProps: ({ column }) => ({\n className: column.getIsResizing() ? \"isResizing\" : \"\",\n }),\n enableSorting: tableLayoutOptions.hasSorting === true, // I don't know why this needs to be true, but it still works if undefined otherwise\n onSortingChange: (sortingUpdater) => {\n const newSortVal =\n typeof sortingUpdater === \"function\"\n ? sortingUpdater(tableState.columnSorting)\n : tableState.columnSorting;\n setTableState((prevState) => ({\n ...prevState,\n columnSorting: newSortVal,\n }));\n },\n enableRowSelection: hasRowSelection,\n onRowSelectionChange: setRowSelection,\n renderEmptyRowsFallback: emptyStateContainer,\n localization: {\n collapse: t(\"table.rowexpansion.collapse\"),\n collapseAll: t(\"table.rowexpansion.collapseall\"),\n expand: t(\"table.rowexpansion.expand\"),\n expandAll: t(\"table.rowexpansion.expandall\"),\n },\n });\n\n return (\n <ScrollableTableContainer\n isScrollableEnd={!isTableContainerScrolledToEnd}\n isScrollableStart={!isTableContainerScrolledToStart}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={tableOuterContainerRef}\n >\n <MRT_TableContainer table={dataTable} />\n </ScrollableTableContainer>\n );\n};\n\nconst MemoizedTableLayoutContent = memo(\n TableLayoutContent,\n) as TableLayoutContentComponent;\nMemoizedTableLayoutContent.displayName = \"TableLayoutContent\";\n\nexport { MemoizedTableLayoutContent as TableLayoutContent };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TableLayoutContent.js","names":["memo","useCallback","useMemo","useRef","useState","useEffect","styled","MRT_TableContainer","useMaterialReactTable","useTranslation","ArrowDownIcon","ArrowUnsortedIcon","ChevronDownIcon","DragIndicatorIcon","MoreIcon","Box","Button","MenuButton","dataTableImmutableSettings","displayColumnDefOptions","ScrollableTableContainer","RowActions","useOdysseyDesignTokens","useScrollIndication","jsx","_jsx","jsxs","_jsxs","TextWrapper","whiteSpace","textOverflow","overflow","RowActionsContainer","display","TableLayoutContent","columns","data","draggingRow","emptyState","enableVirtualization","getRowId","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","setTableState","tableLayoutOptions","tableState","totalRows","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","shouldUpdateScroll","tableOuterContainerRef","tableInnerContainerRef","tableContentRef","tableInnerContainer","current","tableOuterContainer","odysseyDesignTokens","t","columnIds","map","column","accessorKey","columnOrder","filter","id","rowDensityClassName","rowDensity","defaultCell","cell","value","getValue","hasTextWrapping","columnDef","enableWrapping","children","draggableTableBodyRowClassName","dragHandleStyles","dragHandleText","handleDragHandleKeyDown","handleDragHandleOnDragCapture","handleDragHandleOnDragEnd","resetDraggingAndHoveredRow","updateRowOrder","renderRowActions","row","currentIndex","index","pageIndex","pageSize","rowActionButtons","rowActionMenuItems","ariaLabel","buttonVariant","endIcon","menuAlignment","size","rowIndex","undefined","innerWidthStyle","width","emptyStateContainer","sx","scrollTo","clientHeight","shouldDisplayRowActions","hasColumnWithGrow","some","grow","dataTable","state","sorting","columnSorting","columnVisibility","icons","ArrowDownwardIcon","DragHandleIcon","SyncAltIcon","ExpandMoreIcon","header","muiTableBodyCellProps","align","className","muiTableHeadCellProps","visibility","variant","isDisabled","muiTableProps","ref","hasColumnResizing","muiTableContainerProps","muiTableBodyProps","tabIndex","height","enableColumnResizing","defaultColumn","Cell","enableRowActions","enableRowOrdering","Boolean","enableRowDragging","muiDetailPanelProps","paddingBlock","getIsExpanded","Spacing3","muiTableBodyRowProps","table","isDetailPanel","currentRowId","draggingRowId","hoveredRowId","getState","hoveredRow","border","backgroundColor","HueNeutralWhite","muiRowDragHandleProps","onKeyDown","event","onBlur","onDragEnd","onDragCapture","disabled","renderDetailPanel","enableRowVirtualization","currentColumn","find","sortedColumn","getIsResizing","enableSorting","hasSorting","onSortingChange","sortingUpdater","newSortVal","prevState","enableRowSelection","onRowSelectionChange","renderEmptyRowsFallback","localization","collapse","collapseAll","expand","expandAll","isScrollableEnd","isScrollableStart","MemoizedTableLayoutContent","displayName"],"sources":["../../../../src/labs/DataView/TableLayoutContent.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n SetStateAction,\n memo,\n useCallback,\n useMemo,\n useRef,\n useState,\n ReactNode,\n Dispatch,\n ReactElement,\n useEffect,\n} from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowDownIcon,\n ArrowUnsortedIcon,\n ChevronDownIcon,\n DragIndicatorIcon,\n MoreIcon,\n} from \"../../icons.generated/index.js\";\nimport { Box } from \"../../Box.js\";\nimport { Button, MenuButton } from \"../../Buttons/index.js\";\nimport {\n TableLayoutProps,\n TableState,\n UniversalProps,\n} from \"./componentTypes.js\";\nimport { DataTableCell } from \"./dataTypes.js\";\nimport {\n dataTableImmutableSettings,\n displayColumnDefOptions,\n ScrollableTableContainer,\n} from \"./tableConstants.js\";\nimport { RowActions } from \"./RowActions.js\";\nimport { useOdysseyDesignTokens } from \"../../OdysseyDesignTokensContext.js\";\nimport { useScrollIndication } from \"../../DataTable/useScrollIndication.js\";\n\nconst TextWrapper = styled(\"div\")({\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n});\n\nconst RowActionsContainer = styled(\"div\")({\n display: \"flex\",\n});\n\nexport type TableLayoutContentProps<TData extends MRT_RowData> = {\n columns: TableLayoutProps<TData>[\"columns\"];\n data: MRT_RowData[];\n draggingRow?: MRT_Row<TData> | null;\n emptyState: ReactNode;\n enableVirtualization?: boolean;\n getRowId: UniversalProps<TData>[\"getRowId\"];\n hasRowReordering: UniversalProps<TData>[\"hasRowReordering\"];\n hasRowSelection: UniversalProps<TData>[\"hasRowSelection\"];\n isEmpty?: boolean;\n isLoading: boolean;\n isNoResults?: boolean;\n isRowReorderingDisabled?: boolean;\n onReorderRows: UniversalProps<TData>[\"onReorderRows\"];\n pagination: {\n pageIndex: number;\n pageSize: number;\n };\n rowReorderingUtilities: {\n dragHandleStyles: CSSObject;\n dragHandleText: {\n title: string;\n \"aria-label\": string;\n };\n draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n table: MRT_TableInstance<TData>;\n row: MRT_Row<TData>;\n event: React.KeyboardEvent<HTMLButtonElement>;\n }) => void;\n handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;\n handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;\n resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;\n updateRowOrder: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n setTableState: Dispatch<SetStateAction<TableState>>;\n tableLayoutOptions: TableLayoutProps<TData>;\n tableState: TableState;\n totalRows: UniversalProps<TData>[\"totalRows\"];\n};\n\ntype TableLayoutContentComponent = (<TData extends MRT_RowData>(\n props: TableLayoutContentProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst TableLayoutContent = <TData extends MRT_RowData>({\n columns,\n data,\n draggingRow,\n emptyState,\n enableVirtualization,\n getRowId,\n hasRowReordering,\n hasRowSelection,\n isEmpty,\n isLoading,\n isNoResults,\n isRowReorderingDisabled,\n onReorderRows,\n pagination,\n rowReorderingUtilities,\n rowSelection,\n setRowSelection,\n setTableState,\n tableLayoutOptions,\n tableState,\n totalRows,\n}: TableLayoutContentProps<TData>) => {\n const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =\n useState(true);\n const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =\n useState(true);\n const [tableInnerContainerWidth, setTableInnerContainerWidth] =\n useState<string>(\"100%\");\n const shouldUpdateScroll = useRef<boolean>(false);\n const tableOuterContainerRef = useRef<HTMLDivElement>(null);\n const tableInnerContainerRef = useRef<HTMLDivElement>(null);\n const tableContentRef = useRef<HTMLTableElement>(null);\n\n useScrollIndication({\n setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,\n setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,\n setTableInnerContainerWidth: setTableInnerContainerWidth,\n tableInnerContainer: tableInnerContainerRef.current,\n tableOuterContainer: tableOuterContainerRef.current,\n });\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const columnIds = useMemo(() => {\n return columns.map((column) => column.accessorKey) ?? [];\n }, [columns]);\n\n const columnOrder = useMemo(\n () => [\n \"mrt-row-drag\",\n \"mrt-row-select\",\n \"mrt-row-expand\",\n ...(columnIds?.filter((id): id is string => typeof id === \"string\") ||\n []),\n \"mrt-row-actions\",\n ],\n [columnIds],\n );\n\n const rowDensityClassName = useMemo(() => {\n return tableState.rowDensity === \"spacious\"\n ? \"MuiTableBody-spacious\"\n : tableState.rowDensity === \"compact\"\n ? \"MuiTableBody-compact\"\n : \"MuiTableBody-default\";\n }, [tableState]);\n\n const defaultCell = useCallback<\n ({ cell }: { cell: DataTableCell<TData, unknown> }) => ReactElement | string\n >(({ cell }) => {\n const value = cell.getValue<string>();\n const hasTextWrapping =\n cell.column.columnDef.hasTextWrapping ||\n cell.column.columnDef.enableWrapping;\n return hasTextWrapping ? value : <TextWrapper>{value}</TextWrapper>;\n }, []);\n\n const {\n draggableTableBodyRowClassName,\n dragHandleStyles,\n dragHandleText,\n handleDragHandleKeyDown,\n handleDragHandleOnDragCapture,\n handleDragHandleOnDragEnd,\n resetDraggingAndHoveredRow,\n updateRowOrder,\n } = rowReorderingUtilities;\n\n const renderRowActions = useCallback(\n ({ row }: { row: MRT_Row<TData> }) => {\n const currentIndex =\n row.index + (pagination.pageIndex - 1) * pagination.pageSize;\n return (\n <RowActionsContainer>\n {tableLayoutOptions.rowActionButtons?.(row)}\n {(tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n >\n <RowActions\n isRowReorderingDisabled={isRowReorderingDisabled}\n row={\n row as unknown as MRT_Row<MRT_RowData> // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n }\n rowActionMenuItems={\n // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n tableLayoutOptions.rowActionMenuItems as unknown as (\n row: MRT_Row<MRT_RowData>,\n ) => any // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows ? updateRowOrder : undefined\n }\n />\n </MenuButton>\n )}\n </RowActionsContainer>\n );\n },\n [\n hasRowReordering,\n isRowReorderingDisabled,\n onReorderRows,\n pagination.pageIndex,\n pagination.pageSize,\n t,\n tableLayoutOptions,\n totalRows,\n updateRowOrder,\n ],\n );\n\n const innerWidthStyle = useMemo(\n () => ({ width: tableInnerContainerWidth }),\n [tableInnerContainerWidth],\n );\n\n const emptyStateContainer = useCallback(\n () => <Box sx={innerWidthStyle}>{emptyState}</Box>,\n [innerWidthStyle, emptyState],\n );\n\n // Scroll to the bottom as soon as data loads after clicking the\n // loadMore pagination button\n useEffect(() => {\n if (enableVirtualization) {\n shouldUpdateScroll.current = true;\n }\n }, [enableVirtualization, pagination]);\n\n useEffect(() => {\n if (\n shouldUpdateScroll.current &&\n tableContentRef.current &&\n typeof tableInnerContainerRef.current?.scrollTo !== \"undefined\"\n ) {\n tableInnerContainerRef.current?.scrollTo(\n 0,\n tableContentRef.current.clientHeight,\n );\n shouldUpdateScroll.current = false;\n }\n }, [data]);\n\n const shouldDisplayRowActions = useMemo(\n () =>\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n [\n hasRowReordering,\n onReorderRows,\n tableLayoutOptions.rowActionButtons,\n tableLayoutOptions.rowActionMenuItems,\n ],\n );\n\n const hasColumnWithGrow = columns.some((column) => column.grow === true);\n\n const dataTable = useMaterialReactTable<TData>({\n data: (!isEmpty && !isNoResults ? data : []) as TData[],\n columns,\n getRowId,\n state: {\n sorting: tableState.columnSorting,\n columnVisibility: tableState.columnVisibility,\n isLoading: isLoading,\n rowSelection: rowSelection,\n columnOrder: columnOrder,\n },\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n ExpandMoreIcon: ChevronDownIcon,\n },\n ...dataTableImmutableSettings,\n displayColumnDefOptions: {\n ...(displayColumnDefOptions satisfies Partial<\n MRT_TableOptions<MRT_RowData>[\"displayColumnDefOptions\"]\n >),\n \"mrt-row-actions\": {\n header: \"\",\n grow: !hasColumnWithGrow,\n muiTableBodyCellProps: {\n align: \"right\" as const,\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n },\n muiTableHeadCellProps: {\n align: \"right\" as const,\n sx: {\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n children: (\n <Box sx={{ display: \"flex\", visibility: \"hidden\" }}>\n {tableLayoutOptions.rowActionButtons &&\n // @ts-expect-error TODO: This type is wrong and needs to be fixed\n tableLayoutOptions.rowActionButtons({ id: null })}\n {((hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionMenuItems) && (\n <Box>\n <Button\n endIcon={<MoreIcon />}\n size=\"small\"\n variant=\"floating\"\n ariaLabel={t(\"table.moreactions.arialabel\")}\n isDisabled\n />\n </Box>\n )}\n </Box>\n ),\n },\n },\n },\n muiTableProps: {\n ref: tableContentRef,\n className:\n !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing\n ? hasColumnWithGrow\n ? \"ods-hide-spacer-column\"\n : \"ods-hide-spacer-column ods-column-grow\"\n : \"\",\n },\n muiTableContainerProps: {\n ref: tableInnerContainerRef,\n },\n muiTableBodyProps: () => ({\n className: rowDensityClassName,\n tabIndex: 0,\n /**\n * This is a fix for an issue related to the empty state creating a\n * vertical scrollbar when virtualization is enabled. The root cause\n * is tablebody having height: 0 when virtualization is enabled and there\n * being no data\n * https://okta.slack.com/archives/C7T2H3KNJ/p1742842106148929\n */\n sx:\n isEmpty || isNoResults\n ? {\n height: \"unset\",\n }\n : undefined,\n }),\n enableColumnResizing: tableLayoutOptions.hasColumnResizing,\n defaultColumn: {\n Cell: defaultCell,\n },\n enableRowActions:\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n renderRowActions: ({ row }) => renderRowActions({ row }),\n enableRowOrdering: hasRowReordering && Boolean(onReorderRows),\n enableRowDragging: hasRowReordering && Boolean(onReorderRows),\n muiDetailPanelProps: ({ row }) => ({\n sx: {\n paddingBlock: row.getIsExpanded()\n ? `${odysseyDesignTokens.Spacing3} !important`\n : undefined,\n },\n }),\n muiTableBodyRowProps: ({ table, row, isDetailPanel }) => ({\n className: draggableTableBodyRowClassName({\n currentRowId: row.id,\n draggingRowId: draggingRow?.id,\n hoveredRowId: table.getState().hoveredRow?.id,\n }),\n sx: isDetailPanel\n ? {\n paddingBlock: \"0 !important\",\n border: 0,\n [\"&:hover\"]: {\n backgroundColor: `${odysseyDesignTokens.HueNeutralWhite} !important`,\n },\n }\n : {},\n }),\n muiRowDragHandleProps: ({ table, row }) => ({\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => resetDraggingAndHoveredRow(table),\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n disabled: isRowReorderingDisabled,\n sx: dragHandleStyles,\n ...dragHandleText,\n }),\n renderDetailPanel: tableLayoutOptions.renderDetailPanel,\n enableRowVirtualization: enableVirtualization,\n muiTableHeadCellProps: ({ column: currentColumn }) => ({\n className: tableState.columnSorting.find(\n (sortedColumn) => sortedColumn.id === currentColumn.id,\n )\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n muiTableBodyCellProps: ({ column }) => ({\n className: column.getIsResizing() ? \"isResizing\" : \"\",\n }),\n enableSorting: tableLayoutOptions.hasSorting === true, // I don't know why this needs to be true, but it still works if undefined otherwise\n onSortingChange: (sortingUpdater) => {\n const newSortVal =\n typeof sortingUpdater === \"function\"\n ? sortingUpdater(tableState.columnSorting)\n : tableState.columnSorting;\n setTableState((prevState) => ({\n ...prevState,\n columnSorting: newSortVal,\n }));\n },\n enableRowSelection: hasRowSelection,\n onRowSelectionChange: setRowSelection,\n renderEmptyRowsFallback: emptyStateContainer,\n localization: {\n collapse: t(\"table.rowexpansion.collapse\"),\n collapseAll: t(\"table.rowexpansion.collapseall\"),\n expand: t(\"table.rowexpansion.expand\"),\n expandAll: t(\"table.rowexpansion.expandall\"),\n },\n });\n\n return (\n <ScrollableTableContainer\n isScrollableEnd={!isTableContainerScrolledToEnd}\n isScrollableStart={!isTableContainerScrolledToStart}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={tableOuterContainerRef}\n >\n <MRT_TableContainer table={dataTable} />\n </ScrollableTableContainer>\n );\n};\n\nconst MemoizedTableLayoutContent = memo(\n TableLayoutContent,\n) as TableLayoutContentComponent;\nMemoizedTableLayoutContent.displayName = \"TableLayoutContent\";\n\nexport { MemoizedTableLayoutContent as TableLayoutContent };\n"],"mappings":"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","ignoreList":[]}
|