@okta/odyssey-react-mui 1.9.11 → 1.9.12
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/CHANGELOG.md +4 -0
- package/dist/Accordion.js +3 -1
- package/dist/Accordion.js.map +1 -1
- package/dist/AllowedProps.js +2 -0
- package/dist/AllowedProps.js.map +1 -0
- package/dist/Autocomplete.js +4 -2
- package/dist/Autocomplete.js.map +1 -1
- package/dist/Badge.js +4 -0
- package/dist/Badge.js.map +1 -1
- package/dist/Banner.js +5 -1
- package/dist/Banner.js.map +1 -1
- package/dist/Box.js +4 -2
- package/dist/Box.js.map +1 -1
- package/dist/Breadcrumbs.js +5 -1
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/Button.js +3 -1
- package/dist/Button.js.map +1 -1
- package/dist/Callout.js +4 -1
- package/dist/Callout.js.map +1 -1
- package/dist/Checkbox.js +5 -2
- package/dist/Checkbox.js.map +1 -1
- package/dist/CheckboxGroup.js +4 -2
- package/dist/CheckboxGroup.js.map +1 -1
- package/dist/CircularProgress.js.map +1 -1
- package/dist/Dialog.js +2 -0
- package/dist/Dialog.js.map +1 -1
- package/dist/FieldError.js +4 -1
- package/dist/FieldError.js.map +1 -1
- package/dist/FieldHint.js +3 -1
- package/dist/FieldHint.js.map +1 -1
- package/dist/FieldLabel.js +4 -1
- package/dist/FieldLabel.js.map +1 -1
- package/dist/Fieldset.js +4 -1
- package/dist/Fieldset.js.map +1 -1
- package/dist/Form.js +4 -1
- package/dist/Form.js.map +1 -1
- package/dist/Link.js +2 -0
- package/dist/Link.js.map +1 -1
- package/dist/MenuButton.js +3 -1
- package/dist/MenuButton.js.map +1 -1
- package/dist/MenuItem.js.map +1 -1
- package/dist/NativeSelect.js +4 -2
- package/dist/NativeSelect.js.map +1 -1
- package/dist/PasswordField.js +3 -1
- package/dist/PasswordField.js.map +1 -1
- package/dist/Radio.js +2 -0
- package/dist/Radio.js.map +1 -1
- package/dist/RadioGroup.js +3 -1
- package/dist/RadioGroup.js.map +1 -1
- package/dist/ScreenReaderText.js +3 -1
- package/dist/ScreenReaderText.js.map +1 -1
- package/dist/SearchField.js +3 -1
- package/dist/SearchField.js.map +1 -1
- package/dist/Select.js +4 -2
- package/dist/Select.js.map +1 -1
- package/dist/Status.js +2 -0
- package/dist/Status.js.map +1 -1
- package/dist/Tabs.js.map +1 -1
- package/dist/Tag.js +5 -3
- package/dist/Tag.js.map +1 -1
- package/dist/TagList.js.map +1 -1
- package/dist/TextField.js +6 -2
- package/dist/TextField.js.map +1 -1
- package/dist/Toast.js +4 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Tooltip.js +3 -1
- package/dist/Tooltip.js.map +1 -1
- package/dist/Typography.js +32 -10
- package/dist/Typography.js.map +1 -1
- package/dist/labs/Switch.js.map +1 -1
- package/dist/labs/VirtualizedAutocomplete.js +4 -2
- package/dist/labs/VirtualizedAutocomplete.js.map +1 -1
- package/dist/src/Accordion.d.ts +3 -3
- package/dist/src/Accordion.d.ts.map +1 -1
- package/dist/src/{SeleniumProps.d.ts → AllowedProps.d.ts} +6 -2
- package/dist/src/AllowedProps.d.ts.map +1 -0
- package/dist/src/Autocomplete.d.ts +3 -3
- package/dist/src/Autocomplete.d.ts.map +1 -1
- package/dist/src/Badge.d.ts +3 -3
- package/dist/src/Badge.d.ts.map +1 -1
- package/dist/src/Banner.d.ts +3 -3
- package/dist/src/Banner.d.ts.map +1 -1
- package/dist/src/Box.d.ts +3 -3
- package/dist/src/Box.d.ts.map +1 -1
- package/dist/src/Breadcrumbs.d.ts +3 -2
- package/dist/src/Breadcrumbs.d.ts.map +1 -1
- package/dist/src/Button.d.ts +3 -3
- package/dist/src/Button.d.ts.map +1 -1
- package/dist/src/Callout.d.ts +3 -3
- package/dist/src/Callout.d.ts.map +1 -1
- package/dist/src/Checkbox.d.ts +3 -3
- package/dist/src/Checkbox.d.ts.map +1 -1
- package/dist/src/CheckboxGroup.d.ts +3 -3
- package/dist/src/CheckboxGroup.d.ts.map +1 -1
- package/dist/src/CircularProgress.d.ts +2 -2
- package/dist/src/CircularProgress.d.ts.map +1 -1
- package/dist/src/Dialog.d.ts +3 -3
- package/dist/src/Dialog.d.ts.map +1 -1
- package/dist/src/FieldError.d.ts +3 -3
- package/dist/src/FieldError.d.ts.map +1 -1
- package/dist/src/FieldHint.d.ts +3 -3
- package/dist/src/FieldHint.d.ts.map +1 -1
- package/dist/src/FieldLabel.d.ts +3 -3
- package/dist/src/FieldLabel.d.ts.map +1 -1
- package/dist/src/Fieldset.d.ts +3 -3
- package/dist/src/Fieldset.d.ts.map +1 -1
- package/dist/src/Form.d.ts +3 -3
- package/dist/src/Form.d.ts.map +1 -1
- package/dist/src/Link.d.ts +3 -3
- package/dist/src/Link.d.ts.map +1 -1
- package/dist/src/MenuButton.d.ts +3 -3
- package/dist/src/MenuButton.d.ts.map +1 -1
- package/dist/src/MenuItem.d.ts +2 -2
- package/dist/src/MenuItem.d.ts.map +1 -1
- package/dist/src/NativeSelect.d.ts +2 -2
- package/dist/src/NativeSelect.d.ts.map +1 -1
- package/dist/src/PasswordField.d.ts +3 -3
- package/dist/src/PasswordField.d.ts.map +1 -1
- package/dist/src/Radio.d.ts +3 -3
- package/dist/src/Radio.d.ts.map +1 -1
- package/dist/src/RadioGroup.d.ts +3 -3
- package/dist/src/RadioGroup.d.ts.map +1 -1
- package/dist/src/ScreenReaderText.d.ts +3 -2
- package/dist/src/ScreenReaderText.d.ts.map +1 -1
- package/dist/src/SearchField.d.ts +3 -3
- package/dist/src/SearchField.d.ts.map +1 -1
- package/dist/src/Select.d.ts +3 -3
- package/dist/src/Select.d.ts.map +1 -1
- package/dist/src/Status.d.ts +3 -3
- package/dist/src/Status.d.ts.map +1 -1
- package/dist/src/Tabs.d.ts +2 -2
- package/dist/src/Tabs.d.ts.map +1 -1
- package/dist/src/Tag.d.ts +3 -3
- package/dist/src/Tag.d.ts.map +1 -1
- package/dist/src/TagList.d.ts +2 -2
- package/dist/src/TagList.d.ts.map +1 -1
- package/dist/src/TextField.d.ts +3 -3
- package/dist/src/TextField.d.ts.map +1 -1
- package/dist/src/Toast.d.ts +3 -3
- package/dist/src/Toast.d.ts.map +1 -1
- package/dist/src/Tooltip.d.ts +3 -3
- package/dist/src/Tooltip.d.ts.map +1 -1
- package/dist/src/Typography.d.ts +13 -13
- package/dist/src/Typography.d.ts.map +1 -1
- package/dist/src/labs/Switch.d.ts +2 -2
- package/dist/src/labs/Switch.d.ts.map +1 -1
- package/dist/src/labs/VirtualizedAutocomplete.d.ts +3 -3
- package/dist/src/labs/VirtualizedAutocomplete.d.ts.map +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/Accordion.tsx +6 -3
- package/src/{SeleniumProps.ts → AllowedProps.ts} +5 -1
- package/src/Autocomplete.tsx +4 -2
- package/src/Badge.tsx +9 -3
- package/src/Banner.tsx +8 -5
- package/src/Box.tsx +4 -3
- package/src/Breadcrumbs.tsx +6 -1
- package/src/Button.tsx +5 -2
- package/src/Callout.tsx +14 -5
- package/src/Checkbox.tsx +6 -4
- package/src/CheckboxGroup.tsx +5 -3
- package/src/CircularProgress.tsx +2 -2
- package/src/Dialog.tsx +4 -3
- package/src/FieldError.tsx +5 -5
- package/src/FieldHint.tsx +10 -4
- package/src/FieldLabel.tsx +11 -5
- package/src/Fieldset.tsx +5 -4
- package/src/Form.tsx +9 -4
- package/src/Link.tsx +4 -2
- package/src/MenuButton.tsx +4 -2
- package/src/MenuItem.tsx +2 -2
- package/src/NativeSelect.tsx +5 -2
- package/src/PasswordField.tsx +5 -2
- package/src/Radio.tsx +4 -2
- package/src/RadioGroup.tsx +5 -3
- package/src/ScreenReaderText.tsx +4 -3
- package/src/SearchField.tsx +5 -2
- package/src/Select.tsx +5 -2
- package/src/Status.tsx +4 -2
- package/src/Tabs.tsx +2 -2
- package/src/Tag.tsx +14 -3
- package/src/TagList.tsx +2 -2
- package/src/TextField.tsx +11 -4
- package/src/Toast.tsx +5 -4
- package/src/Tooltip.tsx +4 -2
- package/src/Typography.tsx +24 -2
- package/src/labs/Switch.tsx +2 -2
- package/src/labs/VirtualizedAutocomplete.tsx +4 -2
- package/dist/SeleniumProps.js +0 -2
- package/dist/SeleniumProps.js.map +0 -1
- package/dist/src/SeleniumProps.d.ts.map +0 -1
package/dist/Toast.js
CHANGED
|
@@ -37,7 +37,8 @@ const Toast = _ref => {
|
|
|
37
37
|
role,
|
|
38
38
|
severity,
|
|
39
39
|
testId,
|
|
40
|
-
text
|
|
40
|
+
text,
|
|
41
|
+
translate
|
|
41
42
|
} = _ref;
|
|
42
43
|
const {
|
|
43
44
|
t
|
|
@@ -69,6 +70,7 @@ const Toast = _ref => {
|
|
|
69
70
|
severity: severity,
|
|
70
71
|
variant: "toast",
|
|
71
72
|
children: [_jsxs(_AlertTitle, {
|
|
73
|
+
translate: translate,
|
|
72
74
|
children: [_jsxs("span", {
|
|
73
75
|
style: visuallyHidden,
|
|
74
76
|
children: [severity, ":"]
|
|
@@ -76,6 +78,7 @@ const Toast = _ref => {
|
|
|
76
78
|
}), linkUrl && _jsx(Link, {
|
|
77
79
|
href: linkUrl,
|
|
78
80
|
variant: "monochrome",
|
|
81
|
+
translate: translate,
|
|
79
82
|
children: linkText
|
|
80
83
|
})]
|
|
81
84
|
})
|
package/dist/Toast.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toast.js","names":["useEffect","memo","useState","useCallback","visuallyHidden","Link","CloseIcon","Button","useTranslation","jsx","_jsx","jsxs","_jsxs","toastRoleValues","toastSeverityValues","ClickAwayListenerProps","onClickAway","Toast","_ref","autoHideDuration","isDismissable","linkText","linkUrl","isVisible","isVisibleProp","onHide","onHideProp","role","severity","testId","text","t","setIsVisible","_Snackbar","open","undefined","onClose","className","children","_Alert","action","ariaLabel","onClick","size","startIcon","variant","_AlertTitle","style","href","MemoizedToast","displayName"],"sources":["../src/Toast.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 { useEffect, memo, useState, useCallback } from \"react\";\nimport { Alert, AlertTitle, Snackbar } from \"@mui/material\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport { Link } from \"./Link\";\nimport { CloseIcon } from \"./icons.generated\";\nimport { Button } from \"./Button\";\nimport { useTranslation } from \"react-i18next\";\nimport {
|
|
1
|
+
{"version":3,"file":"Toast.js","names":["useEffect","memo","useState","useCallback","visuallyHidden","Link","CloseIcon","Button","useTranslation","jsx","_jsx","jsxs","_jsxs","toastRoleValues","toastSeverityValues","ClickAwayListenerProps","onClickAway","Toast","_ref","autoHideDuration","isDismissable","linkText","linkUrl","isVisible","isVisibleProp","onHide","onHideProp","role","severity","testId","text","translate","t","setIsVisible","_Snackbar","open","undefined","onClose","className","children","_Alert","action","ariaLabel","onClick","size","startIcon","variant","_AlertTitle","style","href","MemoizedToast","displayName"],"sources":["../src/Toast.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 { useEffect, memo, useState, useCallback } from \"react\";\nimport { Alert, AlertTitle, Snackbar } from \"@mui/material\";\nimport { visuallyHidden } from \"@mui/utils\";\nimport { Link } from \"./Link\";\nimport { CloseIcon } from \"./icons.generated\";\nimport { Button } from \"./Button\";\nimport { useTranslation } from \"react-i18next\";\nimport { AllowedProps } from \"./AllowedProps\";\n\nexport const toastRoleValues = [\"status\", \"alert\"] as const;\nexport const toastSeverityValues = [\n \"success\",\n \"info\",\n \"warning\",\n \"error\",\n] as const;\n\nexport type ToastProps = {\n /**\n * If set, this determines how long the Toast should appear before automatically disappearing in milliseconds.\n * It will only take effect if the Toast is not dismissible.\n * If left blank, it defaults to 6000.\n */\n autoHideDuration?: number;\n /**\n * If `true`, the Toast will include a close button.\n */\n isDismissable?: boolean;\n /**\n * If true, the Toast is visible\n */\n isVisible?: boolean;\n /**\n * If linkUrl is not undefined, this is the text of the link.\n * If left blank, it defaults to \"Learn more\".\n * Note that linkText does nothing if linkUrl is not defined\n */\n linkText?: string;\n /**\n * If defined, the Toast will include a link to the URL\n */\n linkUrl?: string;\n /**\n * An optional function to run when the Toast is closed.\n */\n onHide?: () => void;\n /**\n * Sets the ARIA role of the Toast\n * (\"status\" for something that dynamically updates, \"alert\" for errors, null for something\n * unchanging)\n */\n role?: (typeof toastRoleValues)[number];\n /**\n * Determine the color and icon of the Toast\n */\n severity: (typeof toastSeverityValues)[number];\n /**\n * The text content of the Toast\n */\n text: string;\n} & AllowedProps;\n\nconst ClickAwayListenerProps = { onClickAway: () => false };\n\nconst Toast = ({\n autoHideDuration = 6000,\n isDismissable,\n linkText,\n linkUrl,\n isVisible: isVisibleProp,\n onHide: onHideProp,\n role,\n severity,\n testId,\n text,\n translate,\n}: ToastProps) => {\n const { t } = useTranslation();\n\n const [isVisible, setIsVisible] = useState(isVisibleProp);\n\n useEffect(() => {\n setIsVisible(isVisibleProp);\n }, [isVisibleProp]);\n\n const onHide = useCallback(() => {\n setIsVisible(false);\n onHideProp?.();\n }, [onHideProp]);\n\n return (\n <Snackbar\n open={isVisible}\n autoHideDuration={\n isDismissable || autoHideDuration <= 0 ? undefined : autoHideDuration\n }\n onClose={onHide}\n className=\"Toast\"\n ClickAwayListenerProps={ClickAwayListenerProps}\n >\n <Alert\n action={\n isDismissable === true && (\n <Button\n ariaLabel={t(\"toast.close.text\")}\n onClick={onHide}\n size=\"small\"\n startIcon={<CloseIcon />}\n variant=\"floating\"\n />\n )\n }\n data-se={testId}\n role={role}\n severity={severity}\n variant=\"toast\"\n >\n <AlertTitle translate={translate}>\n <span style={visuallyHidden}>{severity}:</span>\n {text}\n </AlertTitle>\n {linkUrl && (\n <Link href={linkUrl} variant=\"monochrome\" translate={translate}>\n {linkText}\n </Link>\n )}\n </Alert>\n </Snackbar>\n );\n};\n\nconst MemoizedToast = memo(Toast);\nMemoizedToast.displayName = \"Toast\";\n\nexport { MemoizedToast as Toast };\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,SAAS,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AAE9D,SAASC,cAAc,QAAQ,YAAY;AAAC,SACnCC,IAAI;AAAA,SACJC,SAAS;AAAA,SACTC,MAAM;AACf,SAASC,cAAc,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAG/C,OAAO,MAAMC,eAAe,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU;AAC3D,OAAO,MAAMC,mBAAmB,GAAG,CACjC,SAAS,EACT,MAAM,EACN,SAAS,EACT,OAAO,CACC;AA+CV,MAAMC,sBAAsB,GAAG;EAAEC,WAAW,EAAEA,CAAA,KAAM;AAAM,CAAC;AAE3D,MAAMC,KAAK,GAAGC,IAAA,IAYI;EAAA,IAZH;IACbC,gBAAgB,GAAG,IAAI;IACvBC,aAAa;IACbC,QAAQ;IACRC,OAAO;IACPC,SAAS,EAAEC,aAAa;IACxBC,MAAM,EAAEC,UAAU;IAClBC,IAAI;IACJC,QAAQ;IACRC,MAAM;IACNC,IAAI;IACJC;EACU,CAAC,GAAAb,IAAA;EACX,MAAM;IAAEc;EAAE,CAAC,GAAGxB,cAAc,CAAC,CAAC;EAE9B,MAAM,CAACe,SAAS,EAAEU,YAAY,CAAC,GAAG/B,QAAQ,CAACsB,aAAa,CAAC;EAEzDxB,SAAS,CAAC,MAAM;IACdiC,YAAY,CAACT,aAAa,CAAC;EAC7B,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,MAAMC,MAAM,GAAGtB,WAAW,CAAC,MAAM;IAC/B8B,YAAY,CAAC,KAAK,CAAC;IACnBP,UAAU,GAAG,CAAC;EAChB,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,OACEhB,IAAA,CAAAwB,SAAA;IACEC,IAAI,EAAEZ,SAAU;IAChBJ,gBAAgB,EACdC,aAAa,IAAID,gBAAgB,IAAI,CAAC,GAAGiB,SAAS,GAAGjB,gBACtD;IACDkB,OAAO,EAAEZ,MAAO;IAChBa,SAAS,EAAC,OAAO;IACjBvB,sBAAsB,EAAEA,sBAAuB;IAAAwB,QAAA,EAE/C3B,KAAA,CAAA4B,MAAA;MACEC,MAAM,EACJrB,aAAa,KAAK,IAAI,IACpBV,IAAA,CAACH,MAAM;QACLmC,SAAS,EAAEV,CAAC,CAAC,kBAAkB,CAAE;QACjCW,OAAO,EAAElB,MAAO;QAChBmB,IAAI,EAAC,OAAO;QACZC,SAAS,EAAEnC,IAAA,CAACJ,SAAS,IAAE,CAAE;QACzBwC,OAAO,EAAC;MAAU,CACnB,CAEJ;MACD,WAASjB,MAAO;MAChBF,IAAI,EAAEA,IAAK;MACXC,QAAQ,EAAEA,QAAS;MACnBkB,OAAO,EAAC,OAAO;MAAAP,QAAA,GAEf3B,KAAA,CAAAmC,WAAA;QAAYhB,SAAS,EAAEA,SAAU;QAAAQ,QAAA,GAC/B3B,KAAA;UAAMoC,KAAK,EAAE5C,cAAe;UAAAmC,QAAA,GAAEX,QAAQ,EAAC,GAAC;QAAA,CAAM,CAAC,EAC9CE,IAAI;MAAA,CACK,CAAC,EACZR,OAAO,IACNZ,IAAA,CAACL,IAAI;QAAC4C,IAAI,EAAE3B,OAAQ;QAACwB,OAAO,EAAC,YAAY;QAACf,SAAS,EAAEA,SAAU;QAAAQ,QAAA,EAC5DlB;MAAQ,CACL,CACP;IAAA,CACI;EAAC,CACA,CAAC;AAEf,CAAC;AAED,MAAM6B,aAAa,GAAGjD,IAAI,CAACgB,KAAK,CAAC;AACjCiC,aAAa,CAACC,WAAW,GAAG,OAAO;AAEnC,SAASD,aAAa,IAAIjC,KAAK"}
|
package/dist/Tooltip.js
CHANGED
|
@@ -19,13 +19,15 @@ const Tooltip = _ref => {
|
|
|
19
19
|
children,
|
|
20
20
|
placement = "top",
|
|
21
21
|
testId,
|
|
22
|
-
text
|
|
22
|
+
text,
|
|
23
|
+
translate
|
|
23
24
|
} = _ref;
|
|
24
25
|
return _jsx(_Tooltip, {
|
|
25
26
|
"data-se": testId,
|
|
26
27
|
describeChild: ariaType === "description",
|
|
27
28
|
placement: placement,
|
|
28
29
|
title: text,
|
|
30
|
+
translate: translate,
|
|
29
31
|
children: _jsx(MuiPropsChild, {
|
|
30
32
|
children: children
|
|
31
33
|
})
|
package/dist/Tooltip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":["MuiPropsChild","memo","jsx","_jsx","Tooltip","_ref","ariaType","children","placement","testId","text","_Tooltip","describeChild","title","MemoizedTooltip","displayName"],"sources":["../src/Tooltip.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 { Tooltip as MuiTooltip } from \"@mui/material\";\nimport type { TooltipProps as MuiTooltipProps } from \"@mui/material\";\n\nimport { MuiPropsChild } from \"./MuiPropsChild\";\nimport { ReactElement, memo } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":["MuiPropsChild","memo","jsx","_jsx","Tooltip","_ref","ariaType","children","placement","testId","text","translate","_Tooltip","describeChild","title","MemoizedTooltip","displayName"],"sources":["../src/Tooltip.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 { Tooltip as MuiTooltip } from \"@mui/material\";\nimport type { TooltipProps as MuiTooltipProps } from \"@mui/material\";\n\nimport { MuiPropsChild } from \"./MuiPropsChild\";\nimport { ReactElement, memo } from \"react\";\nimport { AllowedProps } from \"./AllowedProps\";\n\nexport type TooltipProps = {\n /**\n * The type of ARIA attribute to use\n */\n ariaType: \"description\" | \"label\";\n /**\n * The content that triggers the Tooltip when hovered\n */\n children: ReactElement;\n /**\n * The placement of the Tooltip\n */\n placement?: MuiTooltipProps[\"placement\"];\n /**\n * The text to display in the Tooltip\n */\n text: string;\n} & AllowedProps;\n\nconst Tooltip = ({\n ariaType,\n children,\n placement = \"top\",\n testId,\n text,\n translate,\n}: TooltipProps) => (\n <MuiTooltip\n data-se={testId}\n describeChild={ariaType === \"description\"}\n placement={placement}\n title={text}\n translate={translate}\n >\n <MuiPropsChild>{children}</MuiPropsChild>\n </MuiTooltip>\n);\n\nconst MemoizedTooltip = memo(Tooltip);\nMemoizedTooltip.displayName = \"Tooltip\";\n\nexport { MemoizedTooltip as Tooltip };\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,SAeSA,aAAa;AACtB,SAAuBC,IAAI,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAsB3C,MAAMC,OAAO,GAAGC,IAAA;EAAA,IAAC;IACfC,QAAQ;IACRC,QAAQ;IACRC,SAAS,GAAG,KAAK;IACjBC,MAAM;IACNC,IAAI;IACJC;EACY,CAAC,GAAAN,IAAA;EAAA,OACbF,IAAA,CAAAS,QAAA;IACE,WAASH,MAAO;IAChBI,aAAa,EAAEP,QAAQ,KAAK,aAAc;IAC1CE,SAAS,EAAEA,SAAU;IACrBM,KAAK,EAAEJ,IAAK;IACZC,SAAS,EAAEA,SAAU;IAAAJ,QAAA,EAErBJ,IAAA,CAACH,aAAa;MAAAO,QAAA,EAAEA;IAAQ,CAAgB;EAAC,CAC/B,CAAC;AAAA,CACd;AAED,MAAMQ,eAAe,GAAGd,IAAI,CAACG,OAAO,CAAC;AACrCW,eAAe,CAACC,WAAW,GAAG,SAAS;AAEvC,SAASD,eAAe,IAAIX,OAAO"}
|
package/dist/Typography.js
CHANGED
|
@@ -34,6 +34,7 @@ const Typography = _ref => {
|
|
|
34
34
|
color,
|
|
35
35
|
component: componentProp,
|
|
36
36
|
testId,
|
|
37
|
+
translate,
|
|
37
38
|
typographyFocusRef,
|
|
38
39
|
variant = "body"
|
|
39
40
|
} = _ref;
|
|
@@ -68,6 +69,7 @@ const Typography = _ref => {
|
|
|
68
69
|
"data-se": testId,
|
|
69
70
|
ref: ref,
|
|
70
71
|
tabIndex: -1,
|
|
72
|
+
translate: translate,
|
|
71
73
|
variant: typographyVariantMapping[variant]
|
|
72
74
|
});
|
|
73
75
|
};
|
|
@@ -81,7 +83,8 @@ const Heading1 = _ref2 => {
|
|
|
81
83
|
children,
|
|
82
84
|
color,
|
|
83
85
|
component,
|
|
84
|
-
testId
|
|
86
|
+
testId,
|
|
87
|
+
translate
|
|
85
88
|
} = _ref2;
|
|
86
89
|
return _jsx(Typography, {
|
|
87
90
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -91,6 +94,7 @@ const Heading1 = _ref2 => {
|
|
|
91
94
|
color: color,
|
|
92
95
|
component: component,
|
|
93
96
|
"data-se": testId,
|
|
97
|
+
translate: translate,
|
|
94
98
|
variant: "h1"
|
|
95
99
|
});
|
|
96
100
|
};
|
|
@@ -104,7 +108,8 @@ const Heading2 = _ref3 => {
|
|
|
104
108
|
children,
|
|
105
109
|
color,
|
|
106
110
|
component,
|
|
107
|
-
testId
|
|
111
|
+
testId,
|
|
112
|
+
translate
|
|
108
113
|
} = _ref3;
|
|
109
114
|
return _jsx(Typography, {
|
|
110
115
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -114,6 +119,7 @@ const Heading2 = _ref3 => {
|
|
|
114
119
|
color: color,
|
|
115
120
|
component: component,
|
|
116
121
|
"data-se": testId,
|
|
122
|
+
translate: translate,
|
|
117
123
|
variant: "h2"
|
|
118
124
|
});
|
|
119
125
|
};
|
|
@@ -127,7 +133,8 @@ const Heading3 = _ref4 => {
|
|
|
127
133
|
children,
|
|
128
134
|
color,
|
|
129
135
|
component,
|
|
130
|
-
testId
|
|
136
|
+
testId,
|
|
137
|
+
translate
|
|
131
138
|
} = _ref4;
|
|
132
139
|
return _jsx(Typography, {
|
|
133
140
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -137,6 +144,7 @@ const Heading3 = _ref4 => {
|
|
|
137
144
|
color: color,
|
|
138
145
|
component: component,
|
|
139
146
|
"data-se": testId,
|
|
147
|
+
translate: translate,
|
|
140
148
|
variant: "h3"
|
|
141
149
|
});
|
|
142
150
|
};
|
|
@@ -150,7 +158,8 @@ const Heading4 = _ref5 => {
|
|
|
150
158
|
children,
|
|
151
159
|
color,
|
|
152
160
|
component,
|
|
153
|
-
testId
|
|
161
|
+
testId,
|
|
162
|
+
translate
|
|
154
163
|
} = _ref5;
|
|
155
164
|
return _jsx(Typography, {
|
|
156
165
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -160,6 +169,7 @@ const Heading4 = _ref5 => {
|
|
|
160
169
|
color: color,
|
|
161
170
|
component: component,
|
|
162
171
|
"data-se": testId,
|
|
172
|
+
translate: translate,
|
|
163
173
|
variant: "h4"
|
|
164
174
|
});
|
|
165
175
|
};
|
|
@@ -173,7 +183,8 @@ const Heading5 = _ref6 => {
|
|
|
173
183
|
children,
|
|
174
184
|
color,
|
|
175
185
|
component,
|
|
176
|
-
testId
|
|
186
|
+
testId,
|
|
187
|
+
translate
|
|
177
188
|
} = _ref6;
|
|
178
189
|
return _jsx(Typography, {
|
|
179
190
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -183,6 +194,7 @@ const Heading5 = _ref6 => {
|
|
|
183
194
|
color: color,
|
|
184
195
|
component: component,
|
|
185
196
|
"data-se": testId,
|
|
197
|
+
translate: translate,
|
|
186
198
|
variant: "h5"
|
|
187
199
|
});
|
|
188
200
|
};
|
|
@@ -196,7 +208,8 @@ const Heading6 = _ref7 => {
|
|
|
196
208
|
children,
|
|
197
209
|
color,
|
|
198
210
|
component,
|
|
199
|
-
testId
|
|
211
|
+
testId,
|
|
212
|
+
translate
|
|
200
213
|
} = _ref7;
|
|
201
214
|
return _jsx(Typography, {
|
|
202
215
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -206,6 +219,7 @@ const Heading6 = _ref7 => {
|
|
|
206
219
|
color: color,
|
|
207
220
|
component: component,
|
|
208
221
|
"data-se": testId,
|
|
222
|
+
translate: translate,
|
|
209
223
|
variant: "h6"
|
|
210
224
|
});
|
|
211
225
|
};
|
|
@@ -219,7 +233,8 @@ const Paragraph = _ref8 => {
|
|
|
219
233
|
children,
|
|
220
234
|
color,
|
|
221
235
|
component,
|
|
222
|
-
testId
|
|
236
|
+
testId,
|
|
237
|
+
translate
|
|
223
238
|
} = _ref8;
|
|
224
239
|
return _jsx(Typography, {
|
|
225
240
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -229,6 +244,7 @@ const Paragraph = _ref8 => {
|
|
|
229
244
|
color: color,
|
|
230
245
|
component: component,
|
|
231
246
|
"data-se": testId,
|
|
247
|
+
translate: translate,
|
|
232
248
|
variant: "body"
|
|
233
249
|
});
|
|
234
250
|
};
|
|
@@ -242,7 +258,8 @@ const Subordinate = _ref9 => {
|
|
|
242
258
|
children,
|
|
243
259
|
color,
|
|
244
260
|
component,
|
|
245
|
-
testId
|
|
261
|
+
testId,
|
|
262
|
+
translate
|
|
246
263
|
} = _ref9;
|
|
247
264
|
return _jsx(Typography, {
|
|
248
265
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -252,6 +269,7 @@ const Subordinate = _ref9 => {
|
|
|
252
269
|
color: color,
|
|
253
270
|
component: component,
|
|
254
271
|
"data-se": testId,
|
|
272
|
+
translate: translate,
|
|
255
273
|
variant: "subordinate"
|
|
256
274
|
});
|
|
257
275
|
};
|
|
@@ -265,7 +283,8 @@ const Support = _ref10 => {
|
|
|
265
283
|
children,
|
|
266
284
|
color,
|
|
267
285
|
component,
|
|
268
|
-
testId
|
|
286
|
+
testId,
|
|
287
|
+
translate
|
|
269
288
|
} = _ref10;
|
|
270
289
|
return _jsx(Typography, {
|
|
271
290
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -275,6 +294,7 @@ const Support = _ref10 => {
|
|
|
275
294
|
color: color,
|
|
276
295
|
component: component,
|
|
277
296
|
"data-se": testId,
|
|
297
|
+
translate: translate,
|
|
278
298
|
variant: "support"
|
|
279
299
|
});
|
|
280
300
|
};
|
|
@@ -288,7 +308,8 @@ const Legend = _ref11 => {
|
|
|
288
308
|
children,
|
|
289
309
|
color,
|
|
290
310
|
component,
|
|
291
|
-
testId
|
|
311
|
+
testId,
|
|
312
|
+
translate
|
|
292
313
|
} = _ref11;
|
|
293
314
|
return _jsx(Typography, {
|
|
294
315
|
ariaDescribedBy: ariaDescribedBy,
|
|
@@ -298,6 +319,7 @@ const Legend = _ref11 => {
|
|
|
298
319
|
color: color,
|
|
299
320
|
component: component,
|
|
300
321
|
"data-se": testId,
|
|
322
|
+
translate: translate,
|
|
301
323
|
variant: "legend"
|
|
302
324
|
});
|
|
303
325
|
};
|
package/dist/Typography.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Typography.js","names":["memo","useMemo","useRef","useImperativeHandle","jsx","_jsx","typographyVariantMapping","h1","h2","h3","h4","h5","h6","body","subordinate","support","legend","typographyColorValues","Typography","_ref","ariaDescribedBy","ariaLabel","ariaLabelledBy","children","color","component","componentProp","testId","typographyFocusRef","variant","ref","element","current","focus","_Typography","tabIndex","MemoizedTypography","displayName","Heading1","_ref2","MemoizedHeading1","Heading2","_ref3","MemoizedHeading2","Heading3","_ref4","MemoizedHeading3","Heading4","_ref5","MemoizedHeading4","Heading5","_ref6","MemoizedHeading5","Heading6","_ref7","MemoizedHeading6","Paragraph","_ref8","MemoizedParagraph","Subordinate","_ref9","MemoizedSubordinate","Support","_ref10","MemoizedSupport","Legend","_ref11","MemoizedLegend"],"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 Typography as MuiTypography,\n TypographyProps as MuiTypographyProps,\n} from \"@mui/material\";\nimport {\n ElementType,\n ReactNode,\n memo,\n useMemo,\n useRef,\n useImperativeHandle,\n} from \"react\";\nimport { SeleniumProps } from \"./SeleniumProps\";\nimport { FocusHandle } from \"./@types/react-augment\";\n\nexport type TypographyVariantValue =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"body\"\n | \"subordinate\"\n | \"support\"\n | \"legend\";\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 subordinate: \"subtitle1\",\n support: \"subtitle2\",\n legend: \"legend\",\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 ID of the element that describes the component.\n */\n ariaDescribedBy?: string;\n /**\n * The ARIA label for the component.\n */\n ariaLabel?: string;\n /**\n * The ID of the element that labels the component.\n */\n ariaLabelledBy?: string;\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 to expose focus()\n */\n typographyFocusRef?: React.RefObject<FocusHandle>;\n /**\n * The variant of Typography to render.\n */\n variant?: keyof typeof typographyVariantMapping;\n} & SeleniumProps;\n\nconst Typography = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component: componentProp,\n testId,\n typographyFocusRef,\n variant = \"body\",\n}: TypographyProps) => {\n const component = useMemo(() => {\n if (!componentProp) {\n if (variant === \"body\") {\n return \"p\";\n } else if (variant === \"subordinate\" || variant === \"support\") {\n return \"p\";\n } else {\n return variant;\n }\n }\n return componentProp;\n }, [componentProp, variant]);\n\n const ref = useRef<HTMLElement>(null);\n useImperativeHandle(\n typographyFocusRef,\n () => {\n const element = ref.current;\n return {\n focus: () => {\n element && element.focus();\n },\n };\n },\n []\n );\n\n return (\n <MuiTypography\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={ref}\n tabIndex={-1}\n variant={typographyVariantMapping[variant]}\n />\n );\n};\n\nconst MemoizedTypography = memo(Typography);\nMemoizedTypography.displayName = \"Typography\";\n\nconst Heading1 = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n variant=\"h1\"\n />\n);\n\nconst MemoizedHeading1 = memo(Heading1);\nMemoizedHeading1.displayName = \"Heading1\";\n\nconst Heading2 = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n variant=\"h2\"\n />\n);\n\nconst MemoizedHeading2 = memo(Heading2);\nMemoizedHeading2.displayName = \"Heading2\";\n\nconst Heading3 = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n variant=\"h3\"\n />\n);\n\nconst MemoizedHeading3 = memo(Heading3);\nMemoizedHeading3.displayName = \"Heading3\";\n\nconst Heading4 = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n variant=\"h4\"\n />\n);\n\nconst MemoizedHeading4 = memo(Heading4);\nMemoizedHeading4.displayName = \"Heading4\";\n\nconst Heading5 = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n variant=\"h5\"\n />\n);\n\nconst MemoizedHeading5 = memo(Heading5);\nMemoizedHeading5.displayName = \"Heading5\";\n\nconst Heading6 = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n variant=\"h6\"\n />\n);\n\nconst MemoizedHeading6 = memo(Heading6);\nMemoizedHeading6.displayName = \"Heading6\";\n\nconst Paragraph = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n variant=\"body\"\n />\n);\n\nconst MemoizedParagraph = memo(Paragraph);\nMemoizedParagraph.displayName = \"Paragraph\";\n\nconst Subordinate = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n variant=\"subordinate\"\n />\n);\n\nconst MemoizedSubordinate = memo(Subordinate);\nMemoizedSubordinate.displayName = \"Subordinate\";\n\nconst Support = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component,\n testId,\n}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\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}: TypographyProps) => (\n <Typography\n ariaDescribedBy={ariaDescribedBy}\n ariaLabel={ariaLabel}\n ariaLabelledBy={ariaLabelledBy}\n children={children}\n color={color}\n component={component}\n data-se={testId}\n variant=\"legend\"\n />\n);\n\nconst MemoizedLegend = memo(Legend);\nMemoizedLegend.displayName = \"Legend\";\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 MemoizedParagraph as Paragraph,\n MemoizedSubordinate as Subordinate,\n MemoizedSupport as Support,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Typography.js","names":["memo","useMemo","useRef","useImperativeHandle","jsx","_jsx","typographyVariantMapping","h1","h2","h3","h4","h5","h6","body","subordinate","support","legend","typographyColorValues","Typography","_ref","ariaDescribedBy","ariaLabel","ariaLabelledBy","children","color","component","componentProp","testId","translate","typographyFocusRef","variant","ref","element","current","focus","_Typography","tabIndex","MemoizedTypography","displayName","Heading1","_ref2","MemoizedHeading1","Heading2","_ref3","MemoizedHeading2","Heading3","_ref4","MemoizedHeading3","Heading4","_ref5","MemoizedHeading4","Heading5","_ref6","MemoizedHeading5","Heading6","_ref7","MemoizedHeading6","Paragraph","_ref8","MemoizedParagraph","Subordinate","_ref9","MemoizedSubordinate","Support","_ref10","MemoizedSupport","Legend","_ref11","MemoizedLegend"],"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 Typography as MuiTypography,\n TypographyProps as MuiTypographyProps,\n} from \"@mui/material\";\nimport {\n ElementType,\n ReactNode,\n memo,\n useMemo,\n useRef,\n useImperativeHandle,\n} from \"react\";\nimport { AllowedProps } from \"./AllowedProps\";\nimport { FocusHandle } from \"./@types/react-augment\";\n\nexport type TypographyVariantValue =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"body\"\n | \"subordinate\"\n | \"support\"\n | \"legend\";\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 subordinate: \"subtitle1\",\n support: \"subtitle2\",\n legend: \"legend\",\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 ID of the element that describes the component.\n */\n ariaDescribedBy?: string;\n /**\n * The ARIA label for the component.\n */\n ariaLabel?: string;\n /**\n * The ID of the element that labels the component.\n */\n ariaLabelledBy?: string;\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 to expose focus()\n */\n typographyFocusRef?: React.RefObject<FocusHandle>;\n /**\n * The variant of Typography to render.\n */\n variant?: keyof typeof typographyVariantMapping;\n} & AllowedProps;\n\nconst Typography = ({\n ariaDescribedBy,\n ariaLabel,\n ariaLabelledBy,\n children,\n color,\n component: componentProp,\n testId,\n translate,\n typographyFocusRef,\n variant = \"body\",\n}: TypographyProps) => {\n const component = useMemo(() => {\n if (!componentProp) {\n if (variant === \"body\") {\n return \"p\";\n } else if (variant === \"subordinate\" || variant === \"support\") {\n return \"p\";\n } else {\n return variant;\n }\n }\n return componentProp;\n }, [componentProp, variant]);\n\n const ref = useRef<HTMLElement>(null);\n useImperativeHandle(\n typographyFocusRef,\n () => {\n const element = ref.current;\n return {\n focus: () => {\n element && element.focus();\n },\n };\n },\n []\n );\n\n return (\n <MuiTypography\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={ref}\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 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 data-se={testId}\n translate={translate}\n variant=\"h1\"\n />\n);\n\nconst MemoizedHeading1 = memo(Heading1);\nMemoizedHeading1.displayName = \"Heading1\";\n\nconst Heading2 = ({\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 data-se={testId}\n translate={translate}\n variant=\"h2\"\n />\n);\n\nconst MemoizedHeading2 = memo(Heading2);\nMemoizedHeading2.displayName = \"Heading2\";\n\nconst Heading3 = ({\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 data-se={testId}\n translate={translate}\n variant=\"h3\"\n />\n);\n\nconst MemoizedHeading3 = memo(Heading3);\nMemoizedHeading3.displayName = \"Heading3\";\n\nconst Heading4 = ({\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 data-se={testId}\n translate={translate}\n variant=\"h4\"\n />\n);\n\nconst MemoizedHeading4 = memo(Heading4);\nMemoizedHeading4.displayName = \"Heading4\";\n\nconst Heading5 = ({\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 data-se={testId}\n translate={translate}\n variant=\"h5\"\n />\n);\n\nconst MemoizedHeading5 = memo(Heading5);\nMemoizedHeading5.displayName = \"Heading5\";\n\nconst Heading6 = ({\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 data-se={testId}\n translate={translate}\n variant=\"h6\"\n />\n);\n\nconst MemoizedHeading6 = memo(Heading6);\nMemoizedHeading6.displayName = \"Heading6\";\n\nconst Paragraph = ({\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 data-se={testId}\n translate={translate}\n variant=\"body\"\n />\n);\n\nconst MemoizedParagraph = memo(Paragraph);\nMemoizedParagraph.displayName = \"Paragraph\";\n\nconst Subordinate = ({\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 data-se={testId}\n translate={translate}\n variant=\"subordinate\"\n />\n);\n\nconst MemoizedSubordinate = memo(Subordinate);\nMemoizedSubordinate.displayName = \"Subordinate\";\n\nconst Support = ({\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 data-se={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 data-se={testId}\n translate={translate}\n variant=\"legend\"\n />\n);\n\nconst MemoizedLegend = memo(Legend);\nMemoizedLegend.displayName = \"Legend\";\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 MemoizedParagraph as Paragraph,\n MemoizedSubordinate as Subordinate,\n MemoizedSupport as Support,\n};\n"],"mappings":"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"}
|
package/dist/labs/Switch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.js","names":["memo","useCallback","useEffect","useMemo","useRef","useState","CONTROLLED","ComponentControlledState","useOdysseyDesignTokens","Box","FieldHint","useUniqueId","getControlState","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SwitchLabel","_ref","checked","hint","hintId","isFullWidth","label","odysseyDesignTokens","children","sx","display","alignItems","flexWrap","gap","Spacing1","margin","maxWidth","TypographyLineLengthMax","fontWeight","TypographyWeightBodyBold","padding","backgroundColor","PaletteSuccessLighter","HueNeutral100","borderRadius","BorderRadiusMain","color","PaletteSuccessText","HueNeutral700","fontSize","TypographyScale0","lineHeight","TypographyLineHeightOverline","transitionProperty","transitionDuration","TransitionDurationMain","id","text","Switch","_ref2","_id","isChecked","isDefaultChecked","isDisabled","name","_name","onChange","testId","value","controlledStateRef","controlledValue","uncontrolledValue","inputValues","current","defaultChecked","internalSwitchChecked","setInternalSwitchChecked","Boolean","undefined","labelElementId","handleOnChange","_","renderSwitchComponent","_Switch","disabled","disableRipple","inputProps","marginBlockEnd","Spacing2","_FormControlLabel","control","labelPlacement","justifyContent","Spacing4","width","MemoizedSwitch","displayName"],"sources":["../../src/labs/Switch.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 SyntheticEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Switch as MuiSwitch,\n SwitchProps as MuiSwitchProps,\n FormControlLabel,\n} from \"@mui/material\";\n\nconst { CONTROLLED } = ComponentControlledState;\nimport { useOdysseyDesignTokens } from \"../OdysseyDesignTokensContext\";\nimport { Box } from \"../Box\";\nimport { FieldComponentProps } from \"../FieldComponentProps\";\nimport { FieldHint } from \"../FieldHint\";\nimport type { SeleniumProps } from \"../SeleniumProps\";\nimport { useUniqueId } from \"../useUniqueId\";\nimport { ComponentControlledState, getControlState } from \"../inputUtils\";\nimport { CheckedFieldProps } from \"../FormCheckedProps\";\n\ntype OnChangeCallbackArguments = {\n checked: boolean;\n value: string;\n};\n\nexport type SwitchProps = {\n /**\n * if `true`, the label and switch span entire containing element's width\n */\n isFullWidth?: boolean;\n /**\n * The label text for the Switch\n */\n label: string;\n /**\n * The change event handler for the Switch\n */\n onChange?: ({ checked, value }: OnChangeCallbackArguments) => void;\n /**\n * The value attribute of the Switch\n */\n value: string;\n} & Pick<\n FieldComponentProps,\n \"hint\" | \"id\" | \"isFullWidth\" | \"isDisabled\" | \"name\"\n> &\n CheckedFieldProps<MuiSwitchProps> &\n SeleniumProps;\n\ntype SwitchLabelProps = {\n checked: boolean;\n hint: SwitchProps[\"hint\"];\n hintId?: string;\n isFullWidth: SwitchProps[\"isFullWidth\"];\n label: SwitchProps[\"label\"];\n};\n\nconst SwitchLabel = ({\n checked,\n hint,\n hintId,\n isFullWidth,\n label,\n}: SwitchLabelProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n return (\n <>\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n gap: odysseyDesignTokens.Spacing1,\n margin: 0,\n maxWidth: isFullWidth\n ? \"100%\"\n : odysseyDesignTokens.TypographyLineLengthMax,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n }}\n >\n {label}\n <Box\n sx={{\n padding: \"2px 4px\",\n backgroundColor: checked\n ? odysseyDesignTokens.PaletteSuccessLighter\n : odysseyDesignTokens.HueNeutral100,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n color: checked\n ? odysseyDesignTokens.PaletteSuccessText\n : odysseyDesignTokens.HueNeutral700,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n fontSize: odysseyDesignTokens.TypographyScale0,\n lineHeight: odysseyDesignTokens.TypographyLineHeightOverline,\n transitionProperty: \"background-color, color\",\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n }}\n >\n {checked ? \"Active\" : \"Inactive\"}\n </Box>\n </Box>\n {hint && <FieldHint id={hintId} text={hint} />}\n </>\n );\n};\n\nconst Switch = ({\n hint,\n id: _id,\n isChecked,\n isDefaultChecked,\n isDisabled,\n isFullWidth = false,\n label,\n name: _name,\n onChange,\n testId,\n value = \"Something\",\n}: SwitchProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: isChecked,\n uncontrolledValue: isDefaultChecked,\n })\n );\n const inputValues = useMemo(() => {\n if (controlledStateRef.current === CONTROLLED) {\n return { checked: isChecked };\n }\n return { defaultChecked: isDefaultChecked };\n }, [isDefaultChecked, isChecked]);\n\n const [internalSwitchChecked, setInternalSwitchChecked] = useState(\n controlledStateRef.current === CONTROLLED\n ? Boolean(isChecked)\n : Boolean(isDefaultChecked)\n );\n\n useEffect(() => {\n if (controlledStateRef.current === CONTROLLED) {\n setInternalSwitchChecked(Boolean(isChecked));\n }\n }, [isChecked]);\n\n const id = useUniqueId(_id);\n\n const hintId = hint ? `${id}-hint` : undefined;\n const labelElementId = `${id}-label`;\n\n const handleOnChange = useCallback(\n (_: SyntheticEvent<Element, Event>, checked: boolean) => {\n setInternalSwitchChecked(checked);\n onChange?.({ checked, value });\n },\n [onChange, setInternalSwitchChecked, value]\n );\n\n const renderSwitchComponent = useMemo(\n () => (\n <MuiSwitch\n {...inputValues}\n disabled={isDisabled}\n disableRipple\n inputProps={{\n \"aria-checked\": internalSwitchChecked,\n \"aria-describedby\": hintId,\n \"aria-label\": label,\n \"aria-labelledby\": labelElementId,\n }}\n name={_name ?? id}\n onChange={handleOnChange}\n />\n ),\n [\n handleOnChange,\n hintId,\n inputValues,\n internalSwitchChecked,\n id,\n isDisabled,\n label,\n labelElementId,\n _name,\n ]\n );\n\n return (\n <Box\n sx={{\n marginBlockEnd: odysseyDesignTokens.Spacing2,\n }}\n >\n <FormControlLabel\n checked={internalSwitchChecked}\n control={renderSwitchComponent}\n data-se={testId}\n disabled={isDisabled}\n id={labelElementId}\n label={\n <SwitchLabel\n checked={internalSwitchChecked}\n hint={hint}\n hintId={hintId}\n isFullWidth={isFullWidth}\n label={label}\n />\n }\n labelPlacement=\"start\"\n sx={{\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n gap: odysseyDesignTokens.Spacing4,\n width: \"100%\",\n maxWidth: isFullWidth\n ? \"100%\"\n : odysseyDesignTokens.TypographyLineLengthMax,\n }}\n value={value}\n />\n </Box>\n );\n};\n\nconst MemoizedSwitch = memo(Switch);\nMemoizedSwitch.displayName = \"Switch\";\n\nexport { MemoizedSwitch as Switch };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Switch.js","names":["memo","useCallback","useEffect","useMemo","useRef","useState","CONTROLLED","ComponentControlledState","useOdysseyDesignTokens","Box","FieldHint","useUniqueId","getControlState","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SwitchLabel","_ref","checked","hint","hintId","isFullWidth","label","odysseyDesignTokens","children","sx","display","alignItems","flexWrap","gap","Spacing1","margin","maxWidth","TypographyLineLengthMax","fontWeight","TypographyWeightBodyBold","padding","backgroundColor","PaletteSuccessLighter","HueNeutral100","borderRadius","BorderRadiusMain","color","PaletteSuccessText","HueNeutral700","fontSize","TypographyScale0","lineHeight","TypographyLineHeightOverline","transitionProperty","transitionDuration","TransitionDurationMain","id","text","Switch","_ref2","_id","isChecked","isDefaultChecked","isDisabled","name","_name","onChange","testId","value","controlledStateRef","controlledValue","uncontrolledValue","inputValues","current","defaultChecked","internalSwitchChecked","setInternalSwitchChecked","Boolean","undefined","labelElementId","handleOnChange","_","renderSwitchComponent","_Switch","disabled","disableRipple","inputProps","marginBlockEnd","Spacing2","_FormControlLabel","control","labelPlacement","justifyContent","Spacing4","width","MemoizedSwitch","displayName"],"sources":["../../src/labs/Switch.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 SyntheticEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Switch as MuiSwitch,\n SwitchProps as MuiSwitchProps,\n FormControlLabel,\n} from \"@mui/material\";\n\nconst { CONTROLLED } = ComponentControlledState;\nimport { useOdysseyDesignTokens } from \"../OdysseyDesignTokensContext\";\nimport { Box } from \"../Box\";\nimport { FieldComponentProps } from \"../FieldComponentProps\";\nimport { FieldHint } from \"../FieldHint\";\nimport type { AllowedProps } from \"../AllowedProps\";\nimport { useUniqueId } from \"../useUniqueId\";\nimport { ComponentControlledState, getControlState } from \"../inputUtils\";\nimport { CheckedFieldProps } from \"../FormCheckedProps\";\n\ntype OnChangeCallbackArguments = {\n checked: boolean;\n value: string;\n};\n\nexport type SwitchProps = {\n /**\n * if `true`, the label and switch span entire containing element's width\n */\n isFullWidth?: boolean;\n /**\n * The label text for the Switch\n */\n label: string;\n /**\n * The change event handler for the Switch\n */\n onChange?: ({ checked, value }: OnChangeCallbackArguments) => void;\n /**\n * The value attribute of the Switch\n */\n value: string;\n} & Pick<\n FieldComponentProps,\n \"hint\" | \"id\" | \"isFullWidth\" | \"isDisabled\" | \"name\"\n> &\n CheckedFieldProps<MuiSwitchProps> &\n AllowedProps;\n\ntype SwitchLabelProps = {\n checked: boolean;\n hint: SwitchProps[\"hint\"];\n hintId?: string;\n isFullWidth: SwitchProps[\"isFullWidth\"];\n label: SwitchProps[\"label\"];\n};\n\nconst SwitchLabel = ({\n checked,\n hint,\n hintId,\n isFullWidth,\n label,\n}: SwitchLabelProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n return (\n <>\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n gap: odysseyDesignTokens.Spacing1,\n margin: 0,\n maxWidth: isFullWidth\n ? \"100%\"\n : odysseyDesignTokens.TypographyLineLengthMax,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n }}\n >\n {label}\n <Box\n sx={{\n padding: \"2px 4px\",\n backgroundColor: checked\n ? odysseyDesignTokens.PaletteSuccessLighter\n : odysseyDesignTokens.HueNeutral100,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n color: checked\n ? odysseyDesignTokens.PaletteSuccessText\n : odysseyDesignTokens.HueNeutral700,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n fontSize: odysseyDesignTokens.TypographyScale0,\n lineHeight: odysseyDesignTokens.TypographyLineHeightOverline,\n transitionProperty: \"background-color, color\",\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n }}\n >\n {checked ? \"Active\" : \"Inactive\"}\n </Box>\n </Box>\n {hint && <FieldHint id={hintId} text={hint} />}\n </>\n );\n};\n\nconst Switch = ({\n hint,\n id: _id,\n isChecked,\n isDefaultChecked,\n isDisabled,\n isFullWidth = false,\n label,\n name: _name,\n onChange,\n testId,\n value = \"Something\",\n}: SwitchProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: isChecked,\n uncontrolledValue: isDefaultChecked,\n })\n );\n const inputValues = useMemo(() => {\n if (controlledStateRef.current === CONTROLLED) {\n return { checked: isChecked };\n }\n return { defaultChecked: isDefaultChecked };\n }, [isDefaultChecked, isChecked]);\n\n const [internalSwitchChecked, setInternalSwitchChecked] = useState(\n controlledStateRef.current === CONTROLLED\n ? Boolean(isChecked)\n : Boolean(isDefaultChecked)\n );\n\n useEffect(() => {\n if (controlledStateRef.current === CONTROLLED) {\n setInternalSwitchChecked(Boolean(isChecked));\n }\n }, [isChecked]);\n\n const id = useUniqueId(_id);\n\n const hintId = hint ? `${id}-hint` : undefined;\n const labelElementId = `${id}-label`;\n\n const handleOnChange = useCallback(\n (_: SyntheticEvent<Element, Event>, checked: boolean) => {\n setInternalSwitchChecked(checked);\n onChange?.({ checked, value });\n },\n [onChange, setInternalSwitchChecked, value]\n );\n\n const renderSwitchComponent = useMemo(\n () => (\n <MuiSwitch\n {...inputValues}\n disabled={isDisabled}\n disableRipple\n inputProps={{\n \"aria-checked\": internalSwitchChecked,\n \"aria-describedby\": hintId,\n \"aria-label\": label,\n \"aria-labelledby\": labelElementId,\n }}\n name={_name ?? id}\n onChange={handleOnChange}\n />\n ),\n [\n handleOnChange,\n hintId,\n inputValues,\n internalSwitchChecked,\n id,\n isDisabled,\n label,\n labelElementId,\n _name,\n ]\n );\n\n return (\n <Box\n sx={{\n marginBlockEnd: odysseyDesignTokens.Spacing2,\n }}\n >\n <FormControlLabel\n checked={internalSwitchChecked}\n control={renderSwitchComponent}\n data-se={testId}\n disabled={isDisabled}\n id={labelElementId}\n label={\n <SwitchLabel\n checked={internalSwitchChecked}\n hint={hint}\n hintId={hintId}\n isFullWidth={isFullWidth}\n label={label}\n />\n }\n labelPlacement=\"start\"\n sx={{\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n gap: odysseyDesignTokens.Spacing4,\n width: \"100%\",\n maxWidth: isFullWidth\n ? \"100%\"\n : odysseyDesignTokens.TypographyLineLengthMax,\n }}\n value={value}\n />\n </Box>\n );\n};\n\nconst MemoizedSwitch = memo(Switch);\nMemoizedSwitch.displayName = \"Switch\";\n\nexport { MemoizedSwitch as Switch };\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SACEA,IAAI,EAEJC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AAOd,MAAM;EAAEC;AAAW,CAAC,GAAGC,wBAAwB;AAAC,SACvCC,sBAAsB;AAAA,SACtBC,GAAG;AAAA,SAEHC,SAAS;AAAA,SAETC,WAAW;AAAA,SACXJ,wBAAwB,EAAEK,eAAe;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAwClD,MAAMC,WAAW,GAAGC,IAAA,IAMI;EAAA,IANH;IACnBC,OAAO;IACPC,IAAI;IACJC,MAAM;IACNC,WAAW;IACXC;EACgB,CAAC,GAAAL,IAAA;EACjB,MAAMM,mBAAmB,GAAGlB,sBAAsB,CAAC,CAAC;EAEpD,OACEQ,KAAA,CAAAE,SAAA;IAAAS,QAAA,GACEX,KAAA,CAACP,GAAG;MACFmB,EAAE,EAAE;QACFC,OAAO,EAAE,MAAM;QACfC,UAAU,EAAE,QAAQ;QACpBC,QAAQ,EAAE,MAAM;QAChBC,GAAG,EAAEN,mBAAmB,CAACO,QAAQ;QACjCC,MAAM,EAAE,CAAC;QACTC,QAAQ,EAAEX,WAAW,GACjB,MAAM,GACNE,mBAAmB,CAACU,uBAAuB;QAC/CC,UAAU,EAAEX,mBAAmB,CAACY;MAClC,CAAE;MAAAX,QAAA,GAEDF,KAAK,EACNX,IAAA,CAACL,GAAG;QACFmB,EAAE,EAAE;UACFW,OAAO,EAAE,SAAS;UAClBC,eAAe,EAAEnB,OAAO,GACpBK,mBAAmB,CAACe,qBAAqB,GACzCf,mBAAmB,CAACgB,aAAa;UACrCC,YAAY,EAAEjB,mBAAmB,CAACkB,gBAAgB;UAClDC,KAAK,EAAExB,OAAO,GACVK,mBAAmB,CAACoB,kBAAkB,GACtCpB,mBAAmB,CAACqB,aAAa;UACrCV,UAAU,EAAEX,mBAAmB,CAACY,wBAAwB;UACxDU,QAAQ,EAAEtB,mBAAmB,CAACuB,gBAAgB;UAC9CC,UAAU,EAAExB,mBAAmB,CAACyB,4BAA4B;UAC5DC,kBAAkB,EAAE,yBAAyB;UAC7CC,kBAAkB,EAAE3B,mBAAmB,CAAC4B;QAC1C,CAAE;QAAA3B,QAAA,EAEDN,OAAO,GAAG,QAAQ,GAAG;MAAU,CAC7B,CAAC;IAAA,CACH,CAAC,EACLC,IAAI,IAAIR,IAAA,CAACJ,SAAS;MAAC6C,EAAE,EAAEhC,MAAO;MAACiC,IAAI,EAAElC;IAAK,CAAE,CAAC;EAAA,CAC9C,CAAC;AAEP,CAAC;AAED,MAAMmC,MAAM,GAAGC,KAAA,IAYI;EAAA,IAZH;IACdpC,IAAI;IACJiC,EAAE,EAAEI,GAAG;IACPC,SAAS;IACTC,gBAAgB;IAChBC,UAAU;IACVtC,WAAW,GAAG,KAAK;IACnBC,KAAK;IACLsC,IAAI,EAAEC,KAAK;IACXC,QAAQ;IACRC,MAAM;IACNC,KAAK,GAAG;EACG,CAAC,GAAAT,KAAA;EACZ,MAAMhC,mBAAmB,GAAGlB,sBAAsB,CAAC,CAAC;EACpD,MAAM4D,kBAAkB,GAAGhE,MAAM,CAC/BQ,eAAe,CAAC;IACdyD,eAAe,EAAET,SAAS;IAC1BU,iBAAiB,EAAET;EACrB,CAAC,CACH,CAAC;EACD,MAAMU,WAAW,GAAGpE,OAAO,CAAC,MAAM;IAChC,IAAIiE,kBAAkB,CAACI,OAAO,KAAKlE,UAAU,EAAE;MAC7C,OAAO;QAAEe,OAAO,EAAEuC;MAAU,CAAC;IAC/B;IACA,OAAO;MAAEa,cAAc,EAAEZ;IAAiB,CAAC;EAC7C,CAAC,EAAE,CAACA,gBAAgB,EAAED,SAAS,CAAC,CAAC;EAEjC,MAAM,CAACc,qBAAqB,EAAEC,wBAAwB,CAAC,GAAGtE,QAAQ,CAChE+D,kBAAkB,CAACI,OAAO,KAAKlE,UAAU,GACrCsE,OAAO,CAAChB,SAAS,CAAC,GAClBgB,OAAO,CAACf,gBAAgB,CAC9B,CAAC;EAED3D,SAAS,CAAC,MAAM;IACd,IAAIkE,kBAAkB,CAACI,OAAO,KAAKlE,UAAU,EAAE;MAC7CqE,wBAAwB,CAACC,OAAO,CAAChB,SAAS,CAAC,CAAC;IAC9C;EACF,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAML,EAAE,GAAG5C,WAAW,CAACgD,GAAG,CAAC;EAE3B,MAAMpC,MAAM,GAAGD,IAAI,GAAI,GAAEiC,EAAG,OAAM,GAAGsB,SAAS;EAC9C,MAAMC,cAAc,GAAI,GAAEvB,EAAG,QAAO;EAEpC,MAAMwB,cAAc,GAAG9E,WAAW,CAChC,CAAC+E,CAAiC,EAAE3D,OAAgB,KAAK;IACvDsD,wBAAwB,CAACtD,OAAO,CAAC;IACjC4C,QAAQ,GAAG;MAAE5C,OAAO;MAAE8C;IAAM,CAAC,CAAC;EAChC,CAAC,EACD,CAACF,QAAQ,EAAEU,wBAAwB,EAAER,KAAK,CAC5C,CAAC;EAED,MAAMc,qBAAqB,GAAG9E,OAAO,CACnC,MACEW,IAAA,CAAAoE,OAAA;IAAA,GACMX,WAAW;IACfY,QAAQ,EAAErB,UAAW;IACrBsB,aAAa;IACbC,UAAU,EAAE;MACV,cAAc,EAAEX,qBAAqB;MACrC,kBAAkB,EAAEnD,MAAM;MAC1B,YAAY,EAAEE,KAAK;MACnB,iBAAiB,EAAEqD;IACrB,CAAE;IACFf,IAAI,EAAEC,KAAK,IAAIT,EAAG;IAClBU,QAAQ,EAAEc;EAAe,CAC1B,CACF,EACD,CACEA,cAAc,EACdxD,MAAM,EACNgD,WAAW,EACXG,qBAAqB,EACrBnB,EAAE,EACFO,UAAU,EACVrC,KAAK,EACLqD,cAAc,EACdd,KAAK,CAET,CAAC;EAED,OACElD,IAAA,CAACL,GAAG;IACFmB,EAAE,EAAE;MACF0D,cAAc,EAAE5D,mBAAmB,CAAC6D;IACtC,CAAE;IAAA5D,QAAA,EAEFb,IAAA,CAAA0E,iBAAA;MACEnE,OAAO,EAAEqD,qBAAsB;MAC/Be,OAAO,EAAER,qBAAsB;MAC/B,WAASf,MAAO;MAChBiB,QAAQ,EAAErB,UAAW;MACrBP,EAAE,EAAEuB,cAAe;MACnBrD,KAAK,EACHX,IAAA,CAACK,WAAW;QACVE,OAAO,EAAEqD,qBAAsB;QAC/BpD,IAAI,EAAEA,IAAK;QACXC,MAAM,EAAEA,MAAO;QACfC,WAAW,EAAEA,WAAY;QACzBC,KAAK,EAAEA;MAAM,CACd,CACF;MACDiE,cAAc,EAAC,OAAO;MACtB9D,EAAE,EAAE;QACF+D,cAAc,EAAE,eAAe;QAC/B7D,UAAU,EAAE,YAAY;QACxBE,GAAG,EAAEN,mBAAmB,CAACkE,QAAQ;QACjCC,KAAK,EAAE,MAAM;QACb1D,QAAQ,EAAEX,WAAW,GACjB,MAAM,GACNE,mBAAmB,CAACU;MAC1B,CAAE;MACF+B,KAAK,EAAEA;IAAM,CACd;EAAC,CACC,CAAC;AAEV,CAAC;AAED,MAAM2B,cAAc,GAAG9F,IAAI,CAACyD,MAAM,CAAC;AACnCqC,cAAc,CAACC,WAAW,GAAG,QAAQ;AAErC,SAASD,cAAc,IAAIrC,MAAM"}
|
|
@@ -38,7 +38,8 @@ const VirtualizedAutocomplete = _ref => {
|
|
|
38
38
|
options,
|
|
39
39
|
value,
|
|
40
40
|
getIsOptionEqualToValue,
|
|
41
|
-
testId
|
|
41
|
+
testId,
|
|
42
|
+
translate
|
|
42
43
|
} = _ref;
|
|
43
44
|
const controlledStateRef = useRef(getControlState({
|
|
44
45
|
controlledValue: value,
|
|
@@ -126,7 +127,8 @@ const VirtualizedAutocomplete = _ref => {
|
|
|
126
127
|
options: options,
|
|
127
128
|
readOnly: isReadOnly,
|
|
128
129
|
renderInput: renderInput,
|
|
129
|
-
isOptionEqualToValue: getIsOptionEqualToValue
|
|
130
|
+
isOptionEqualToValue: getIsOptionEqualToValue,
|
|
131
|
+
translate: translate
|
|
130
132
|
});
|
|
131
133
|
};
|
|
132
134
|
const MemoizedAutocomplete = memo(VirtualizedAutocomplete);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualizedAutocomplete.js","names":["memo","useCallback","useMemo","useRef","Field","ComponentControlledState","getControlState","useInputValues","jsx","_jsx","VirtualizedAutocomplete","_ref","defaultValue","errorMessage","hasMultipleChoices","id","idOverride","inputValue","isCustomValueAllowed","isDisabled","isLoading","isOptional","isReadOnly","hint","label","ListboxComponent","name","nameOverride","onBlur","onChange","onChangeProp","onInputChange","onInputChangeProp","onFocus","options","value","getIsOptionEqualToValue","testId","controlledStateRef","controlledValue","uncontrolledValue","defaultValueProp","undefined","valueProps","controlState","current","inputValueProp","CONTROLLED","renderInput","_ref2","InputLabelProps","InputProps","params","fieldType","hasVisibleLabel","htmlFor","renderFieldComponent","_ref3","ariaDescribedBy","errorMessageElementId","labelElementId","_InputBase","inputProps","required","event","reason","details","_Autocomplete","disableCloseOnSelect","disabled","freeSolo","filterSelectedOptions","loading","multiple","readOnly","isOptionEqualToValue","MemoizedAutocomplete","displayName"],"sources":["../../src/labs/VirtualizedAutocomplete.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 Autocomplete as MuiAutocomplete,\n AutocompleteProps as MuiAutocompleteProps,\n InputBase,\n UseAutocompleteProps,\n AutocompleteValue,\n} from \"@mui/material\";\nimport { memo, useCallback, useMemo, useRef } from \"react\";\n\nimport { Field } from \"../Field\";\nimport { FieldComponentProps } from \"../FieldComponentProps\";\nimport type { SeleniumProps } from \"../SeleniumProps\";\nimport {\n ComponentControlledState,\n getControlState,\n useInputValues,\n} from \"../inputUtils\";\n\nexport type AutocompleteProps<\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined\n> = {\n /**\n * The default value. Use when the component is not controlled.\n * @default props.multiple ? [] : null\n */\n defaultValue?: UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"defaultValue\"];\n /**\n * Enables multiple choice selection\n */\n hasMultipleChoices?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"multiple\"];\n /**\n * The value for the input\n */\n inputValue?: UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"inputValue\"];\n /**\n * Allows the input of custom values\n */\n isCustomValueAllowed?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"freeSolo\"];\n /**\n * Disables the Autocomplete input\n */\n isDisabled?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"disabled\"];\n /**\n * Displays a loading indicator\n */\n isLoading?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"loading\"];\n /**\n * Makes the Autocomplete input read-only\n */\n isReadOnly?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"readOnly\"];\n /**\n * The label text for the autocomplete input\n */\n label: string;\n /**\n * The component used to render the listbox.\n */\n ListboxComponent?: React.JSXElementConstructor<\n React.HTMLAttributes<HTMLElement>\n >;\n /**\n * Callback fired when the autocomplete loses focus.\n */\n onBlur?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onBlur\"];\n /**\n * Callback fired when a selection is made.\n */\n onChange?: UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onChange\"];\n /**\n * Callback fired when the textbox receives typed characters.\n */\n onInputChange?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onInputChange\"];\n /**\n * Callback fired when the autocomplete gains focus.\n */\n onFocus?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onFocus\"];\n /**\n * The options for the Autocomplete input\n */\n options: ReadonlyArray<OptionType>;\n /**\n * The value of the Autocomplete input\n */\n value?: UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"value\"];\n\n /**\n * Used to determine if the option represents the given value. Uses strict equality by default if none provided.\n * Both arguments need to be handled, an option can only match with one value.\n * option: the option to test\n * value: the value to test against\n *\n * You will need to implement this function if your `option` items are objects.\n */\n getIsOptionEqualToValue?: (option: OptionType, value: OptionType) => boolean;\n} & Pick<\n FieldComponentProps,\n \"errorMessage\" | \"hint\" | \"id\" | \"isOptional\" | \"name\"\n> &\n SeleniumProps;\n\nconst VirtualizedAutocomplete = <\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined\n>({\n defaultValue,\n errorMessage,\n hasMultipleChoices,\n id: idOverride,\n inputValue,\n isCustomValueAllowed,\n isDisabled,\n isLoading,\n isOptional = false,\n isReadOnly,\n hint,\n label,\n ListboxComponent,\n name: nameOverride,\n onBlur,\n onChange: onChangeProp,\n onInputChange: onInputChangeProp,\n onFocus,\n options,\n value,\n getIsOptionEqualToValue,\n testId,\n}: AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => {\n const controlledStateRef = useRef(\n getControlState({ controlledValue: value, uncontrolledValue: defaultValue })\n );\n const defaultValueProp = useMemo<\n | AutocompleteValue<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >\n | undefined\n >(() => {\n if (hasMultipleChoices) {\n return defaultValue === undefined\n ? ([] as AutocompleteValue<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >)\n : defaultValue;\n }\n return defaultValue ?? undefined;\n }, [defaultValue, hasMultipleChoices]);\n\n const valueProps = useInputValues({\n defaultValue: defaultValueProp,\n value: value,\n controlState: controlledStateRef.current,\n });\n\n const inputValueProp = useMemo(() => {\n if (controlledStateRef.current === ComponentControlledState.CONTROLLED) {\n return { inputValue };\n }\n return undefined;\n }, [inputValue]);\n\n const renderInput = useCallback(\n ({ InputLabelProps, InputProps, ...params }) => (\n <Field\n errorMessage={errorMessage}\n fieldType=\"single\"\n hasVisibleLabel\n id={InputLabelProps.htmlFor}\n hint={hint}\n label={label}\n isOptional={isOptional}\n renderFieldComponent={({\n ariaDescribedBy,\n id,\n errorMessageElementId,\n labelElementId,\n }) => (\n <InputBase\n {...params}\n {...InputProps}\n inputProps={{\n ...params.inputProps,\n \"aria-errormessage\": errorMessageElementId,\n \"aria-labelledby\": labelElementId,\n }}\n aria-describedby={ariaDescribedBy}\n id={id}\n name={nameOverride ?? id}\n required={!isOptional}\n />\n )}\n />\n ),\n [errorMessage, hint, isOptional, label, nameOverride]\n );\n const onChange = useCallback<\n NonNullable<\n UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onChange\"]\n >\n >(\n (event, value, reason, details) => {\n onChangeProp?.(event, value, reason, details);\n },\n [onChangeProp]\n );\n\n const onInputChange = useCallback<\n NonNullable<\n UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onInputChange\"]\n >\n >(\n (event, value, reason) => {\n onInputChangeProp?.(event, value, reason);\n },\n [onInputChangeProp]\n );\n\n return (\n <MuiAutocomplete\n {...valueProps}\n {...inputValueProp}\n // AutoComplete is wrapped in a div within MUI which does not get the disabled attr. So this aria-disabled gets set in the div\n aria-disabled={isDisabled}\n data-se={testId}\n disableCloseOnSelect={hasMultipleChoices}\n disabled={isDisabled}\n freeSolo={isCustomValueAllowed}\n filterSelectedOptions={true}\n id={idOverride}\n ListboxComponent={ListboxComponent}\n loading={isLoading}\n multiple={hasMultipleChoices}\n onBlur={onBlur}\n onChange={onChange}\n onInputChange={onInputChange}\n onFocus={onFocus}\n options={options}\n readOnly={isReadOnly}\n renderInput={renderInput}\n isOptionEqualToValue={getIsOptionEqualToValue}\n />\n );\n};\n\n// Need the `typeof Autocomplete` because generics don't get passed through\nconst MemoizedAutocomplete = memo(\n VirtualizedAutocomplete\n) as typeof VirtualizedAutocomplete;\n// @ts-expect-error displayName is expected to not be on `typeof Autocomplete`\nMemoizedAutocomplete.displayName = \"Autocomplete\";\n\nexport { MemoizedAutocomplete as VirtualizedAutocomplete };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VirtualizedAutocomplete.js","names":["memo","useCallback","useMemo","useRef","Field","ComponentControlledState","getControlState","useInputValues","jsx","_jsx","VirtualizedAutocomplete","_ref","defaultValue","errorMessage","hasMultipleChoices","id","idOverride","inputValue","isCustomValueAllowed","isDisabled","isLoading","isOptional","isReadOnly","hint","label","ListboxComponent","name","nameOverride","onBlur","onChange","onChangeProp","onInputChange","onInputChangeProp","onFocus","options","value","getIsOptionEqualToValue","testId","translate","controlledStateRef","controlledValue","uncontrolledValue","defaultValueProp","undefined","valueProps","controlState","current","inputValueProp","CONTROLLED","renderInput","_ref2","InputLabelProps","InputProps","params","fieldType","hasVisibleLabel","htmlFor","renderFieldComponent","_ref3","ariaDescribedBy","errorMessageElementId","labelElementId","_InputBase","inputProps","required","event","reason","details","_Autocomplete","disableCloseOnSelect","disabled","freeSolo","filterSelectedOptions","loading","multiple","readOnly","isOptionEqualToValue","MemoizedAutocomplete","displayName"],"sources":["../../src/labs/VirtualizedAutocomplete.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 Autocomplete as MuiAutocomplete,\n AutocompleteProps as MuiAutocompleteProps,\n InputBase,\n UseAutocompleteProps,\n AutocompleteValue,\n} from \"@mui/material\";\nimport { memo, useCallback, useMemo, useRef } from \"react\";\n\nimport { Field } from \"../Field\";\nimport { FieldComponentProps } from \"../FieldComponentProps\";\nimport type { AllowedProps } from \"../AllowedProps\";\nimport {\n ComponentControlledState,\n getControlState,\n useInputValues,\n} from \"../inputUtils\";\n\nexport type AutocompleteProps<\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined\n> = {\n /**\n * The default value. Use when the component is not controlled.\n * @default props.multiple ? [] : null\n */\n defaultValue?: UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"defaultValue\"];\n /**\n * Enables multiple choice selection\n */\n hasMultipleChoices?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"multiple\"];\n /**\n * The value for the input\n */\n inputValue?: UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"inputValue\"];\n /**\n * Allows the input of custom values\n */\n isCustomValueAllowed?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"freeSolo\"];\n /**\n * Disables the Autocomplete input\n */\n isDisabled?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"disabled\"];\n /**\n * Displays a loading indicator\n */\n isLoading?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"loading\"];\n /**\n * Makes the Autocomplete input read-only\n */\n isReadOnly?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"readOnly\"];\n /**\n * The label text for the autocomplete input\n */\n label: string;\n /**\n * The component used to render the listbox.\n */\n ListboxComponent?: React.JSXElementConstructor<\n React.HTMLAttributes<HTMLElement>\n >;\n /**\n * Callback fired when the autocomplete loses focus.\n */\n onBlur?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onBlur\"];\n /**\n * Callback fired when a selection is made.\n */\n onChange?: UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onChange\"];\n /**\n * Callback fired when the textbox receives typed characters.\n */\n onInputChange?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onInputChange\"];\n /**\n * Callback fired when the autocomplete gains focus.\n */\n onFocus?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onFocus\"];\n /**\n * The options for the Autocomplete input\n */\n options: ReadonlyArray<OptionType>;\n /**\n * The value of the Autocomplete input\n */\n value?: UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"value\"];\n\n /**\n * Used to determine if the option represents the given value. Uses strict equality by default if none provided.\n * Both arguments need to be handled, an option can only match with one value.\n * option: the option to test\n * value: the value to test against\n *\n * You will need to implement this function if your `option` items are objects.\n */\n getIsOptionEqualToValue?: (option: OptionType, value: OptionType) => boolean;\n} & Pick<\n FieldComponentProps,\n \"errorMessage\" | \"hint\" | \"id\" | \"isOptional\" | \"name\"\n> &\n AllowedProps;\n\nconst VirtualizedAutocomplete = <\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined\n>({\n defaultValue,\n errorMessage,\n hasMultipleChoices,\n id: idOverride,\n inputValue,\n isCustomValueAllowed,\n isDisabled,\n isLoading,\n isOptional = false,\n isReadOnly,\n hint,\n label,\n ListboxComponent,\n name: nameOverride,\n onBlur,\n onChange: onChangeProp,\n onInputChange: onInputChangeProp,\n onFocus,\n options,\n value,\n getIsOptionEqualToValue,\n testId,\n translate,\n}: AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => {\n const controlledStateRef = useRef(\n getControlState({ controlledValue: value, uncontrolledValue: defaultValue })\n );\n const defaultValueProp = useMemo<\n | AutocompleteValue<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >\n | undefined\n >(() => {\n if (hasMultipleChoices) {\n return defaultValue === undefined\n ? ([] as AutocompleteValue<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >)\n : defaultValue;\n }\n return defaultValue ?? undefined;\n }, [defaultValue, hasMultipleChoices]);\n\n const valueProps = useInputValues({\n defaultValue: defaultValueProp,\n value: value,\n controlState: controlledStateRef.current,\n });\n\n const inputValueProp = useMemo(() => {\n if (controlledStateRef.current === ComponentControlledState.CONTROLLED) {\n return { inputValue };\n }\n return undefined;\n }, [inputValue]);\n\n const renderInput = useCallback(\n ({ InputLabelProps, InputProps, ...params }) => (\n <Field\n errorMessage={errorMessage}\n fieldType=\"single\"\n hasVisibleLabel\n id={InputLabelProps.htmlFor}\n hint={hint}\n label={label}\n isOptional={isOptional}\n renderFieldComponent={({\n ariaDescribedBy,\n id,\n errorMessageElementId,\n labelElementId,\n }) => (\n <InputBase\n {...params}\n {...InputProps}\n inputProps={{\n ...params.inputProps,\n \"aria-errormessage\": errorMessageElementId,\n \"aria-labelledby\": labelElementId,\n }}\n aria-describedby={ariaDescribedBy}\n id={id}\n name={nameOverride ?? id}\n required={!isOptional}\n />\n )}\n />\n ),\n [errorMessage, hint, isOptional, label, nameOverride]\n );\n const onChange = useCallback<\n NonNullable<\n UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onChange\"]\n >\n >(\n (event, value, reason, details) => {\n onChangeProp?.(event, value, reason, details);\n },\n [onChangeProp]\n );\n\n const onInputChange = useCallback<\n NonNullable<\n UseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onInputChange\"]\n >\n >(\n (event, value, reason) => {\n onInputChangeProp?.(event, value, reason);\n },\n [onInputChangeProp]\n );\n\n return (\n <MuiAutocomplete\n {...valueProps}\n {...inputValueProp}\n // AutoComplete is wrapped in a div within MUI which does not get the disabled attr. So this aria-disabled gets set in the div\n aria-disabled={isDisabled}\n data-se={testId}\n disableCloseOnSelect={hasMultipleChoices}\n disabled={isDisabled}\n freeSolo={isCustomValueAllowed}\n filterSelectedOptions={true}\n id={idOverride}\n ListboxComponent={ListboxComponent}\n loading={isLoading}\n multiple={hasMultipleChoices}\n onBlur={onBlur}\n onChange={onChange}\n onInputChange={onInputChange}\n onFocus={onFocus}\n options={options}\n readOnly={isReadOnly}\n renderInput={renderInput}\n isOptionEqualToValue={getIsOptionEqualToValue}\n translate={translate}\n />\n );\n};\n\n// Need the `typeof Autocomplete` because generics don't get passed through\nconst MemoizedAutocomplete = memo(\n VirtualizedAutocomplete\n) as typeof VirtualizedAutocomplete;\n// @ts-expect-error displayName is expected to not be on `typeof Autocomplete`\nMemoizedAutocomplete.displayName = \"Autocomplete\";\n\nexport { MemoizedAutocomplete as VirtualizedAutocomplete };\n"],"mappings":"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"}
|
package/dist/src/Accordion.d.ts
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
12
|
import { ReactNode } from "react";
|
|
13
|
-
import type {
|
|
13
|
+
import type { AllowedProps } from "./AllowedProps";
|
|
14
14
|
import { AccordionProps as MuiAccordionProps } from "@mui/material";
|
|
15
15
|
export type AccordionProps = {
|
|
16
16
|
/**
|
|
@@ -47,7 +47,7 @@ export type AccordionProps = {
|
|
|
47
47
|
} | {
|
|
48
48
|
isDefaultExpanded?: boolean;
|
|
49
49
|
isExpanded?: never;
|
|
50
|
-
}) &
|
|
51
|
-
declare const MemoizedAccordion: import("react").MemoExoticComponent<({ children, label, hasShadow, isDefaultExpanded, isDisabled, isExpanded, onChange, }: AccordionProps) => JSX.Element>;
|
|
50
|
+
}) & AllowedProps;
|
|
51
|
+
declare const MemoizedAccordion: import("react").MemoExoticComponent<({ children, label, hasShadow, isDefaultExpanded, isDisabled, isExpanded, onChange, translate, }: AccordionProps) => JSX.Element>;
|
|
52
52
|
export { MemoizedAccordion as Accordion };
|
|
53
53
|
//# sourceMappingURL=Accordion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/Accordion.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAQ,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/Accordion.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,SAAS,EAAQ,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAIL,cAAc,IAAI,iBAAiB,EACpC,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC;CAC1C,GAAG,CACA;IACE,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,KAAK,CAAC;CAC3B,GACD;IACE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB,CACJ,GACC,YAAY,CAAC;AA+Bf,QAAA,MAAM,iBAAiB,wIApBpB,cAAc,iBAoBwB,CAAC;AAG1C,OAAO,EAAE,iBAAiB,IAAI,SAAS,EAAE,CAAC"}
|
|
@@ -9,12 +9,16 @@
|
|
|
9
9
|
*
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
-
export type
|
|
12
|
+
export type AllowedProps = {
|
|
13
13
|
/**
|
|
14
14
|
* This prop puts a `data` attribute on an HTML element in this component with the value provided.
|
|
15
15
|
*
|
|
16
16
|
* @deprecated **WARNING:** You should be using Semantic Selectors instead of this property. This is a temporary measure for backwards compatibility with existing Selenium tests.
|
|
17
17
|
*/
|
|
18
18
|
testId?: string;
|
|
19
|
+
/**
|
|
20
|
+
* This prop puts a `translate` attribute on an HTML element. It should be used to indicate whether text within the element should be translated.
|
|
21
|
+
*/
|
|
22
|
+
translate?: "yes" | "no";
|
|
19
23
|
};
|
|
20
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=AllowedProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AllowedProps.d.ts","sourceRoot":"","sources":["../../src/AllowedProps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;CAC1B,CAAC"}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { AutocompleteProps as MuiAutocompleteProps, UseAutocompleteProps } from "@mui/material";
|
|
13
13
|
import { FieldComponentProps } from "./FieldComponentProps";
|
|
14
|
-
import type {
|
|
14
|
+
import type { AllowedProps } from "./AllowedProps";
|
|
15
15
|
export type AutocompleteProps<OptionType, HasMultipleChoices extends boolean | undefined, IsCustomValueAllowed extends boolean | undefined> = {
|
|
16
16
|
/**
|
|
17
17
|
* The default value. Use when the component is not controlled.
|
|
@@ -78,7 +78,7 @@ export type AutocompleteProps<OptionType, HasMultipleChoices extends boolean | u
|
|
|
78
78
|
* You will need to implement this function if your `option` items are objects.
|
|
79
79
|
*/
|
|
80
80
|
getIsOptionEqualToValue?: (option: OptionType, value: OptionType) => boolean;
|
|
81
|
-
} & Pick<FieldComponentProps, "errorMessage" | "hint" | "HintLinkComponent" | "id" | "isFullWidth" | "isOptional" | "name"> &
|
|
82
|
-
declare const MemoizedAutocomplete: <OptionType, HasMultipleChoices extends boolean | undefined, IsCustomValueAllowed extends boolean | undefined>({ defaultValue, errorMessage, hasMultipleChoices, id: idOverride, inputValue, isCustomValueAllowed, isDisabled, isFullWidth, isLoading, isOptional, isReadOnly, hint, HintLinkComponent, label, name: nameOverride, onBlur, onChange: onChangeProp, onInputChange: onInputChangeProp, onFocus, options, value, getIsOptionEqualToValue, testId, }: AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => JSX.Element;
|
|
81
|
+
} & Pick<FieldComponentProps, "errorMessage" | "hint" | "HintLinkComponent" | "id" | "isFullWidth" | "isOptional" | "name"> & AllowedProps;
|
|
82
|
+
declare const MemoizedAutocomplete: <OptionType, HasMultipleChoices extends boolean | undefined, IsCustomValueAllowed extends boolean | undefined>({ defaultValue, errorMessage, hasMultipleChoices, id: idOverride, inputValue, isCustomValueAllowed, isDisabled, isFullWidth, isLoading, isOptional, isReadOnly, hint, HintLinkComponent, label, name: nameOverride, onBlur, onChange: onChangeProp, onInputChange: onInputChangeProp, onFocus, options, value, getIsOptionEqualToValue, testId, translate, }: AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => JSX.Element;
|
|
83
83
|
export { MemoizedAutocomplete as Autocomplete };
|
|
84
84
|
//# sourceMappingURL=Autocomplete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../src/Autocomplete.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,iBAAiB,IAAI,oBAAoB,EAEzC,oBAAoB,EAErB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../src/Autocomplete.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAEL,iBAAiB,IAAI,oBAAoB,EAEzC,oBAAoB,EAErB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOnD,MAAM,MAAM,iBAAiB,CAC3B,UAAU,EACV,kBAAkB,SAAS,OAAO,GAAG,SAAS,EAC9C,oBAAoB,SAAS,OAAO,GAAG,SAAS,IAC9C;IACF;;OAEG;IACH,YAAY,CAAC,EAAE,oBAAoB,CACjC,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,cAAc,CAAC,CAAC;IAClB;;OAEG;IACH,kBAAkB,CAAC,EAAE,oBAAoB,CACvC,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,UAAU,CAAC,CAAC;IACd;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAC/B,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,YAAY,CAAC,CAAC;IAChB;;OAEG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CACzC,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,UAAU,CAAC,CAAC;IACd;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAC/B,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,UAAU,CAAC,CAAC;IACd;;OAEG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAC9B,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,SAAS,CAAC,CAAC;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAC/B,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,UAAU,CAAC,CAAC;IACd;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAC3B,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,QAAQ,CAAC,CAAC;IACZ;;OAEG;IACH,QAAQ,CAAC,EAAE,oBAAoB,CAC7B,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,UAAU,CAAC,CAAC;IACd;;OAEG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAClC,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,eAAe,CAAC,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAC5B,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,SAAS,CAAC,CAAC;IACb;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,oBAAoB,CAC1B,UAAU,EACV,kBAAkB,EAClB,SAAS,EACT,oBAAoB,CACrB,CAAC,OAAO,CAAC,CAAC;IAEX;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC;CAC9E,GAAG,IAAI,CACN,mBAAmB,EACjB,cAAc,GACd,MAAM,GACN,mBAAmB,GACnB,IAAI,GACJ,aAAa,GACb,YAAY,GACZ,MAAM,CACT,GACC,YAAY,CAAC;AAuKf,QAAA,MAAM,oBAAoB,siBAA4C,CAAC;AAIvE,OAAO,EAAE,oBAAoB,IAAI,YAAY,EAAE,CAAC"}
|