genesys-react-components 0.2.0 → 0.2.2-escape-setting.151

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/README.md CHANGED
@@ -12,12 +12,6 @@ A React component library containing standardized form elements. Check out the l
12
12
  npm i genesys-react-components
13
13
  # install peer dependencies if necessary
14
14
  npm i genesys-dev-icons uuid
15
-
16
- # or
17
-
18
- yarn add genesys-react-components
19
- # install peer dependencies if necessary
20
- yarn add genesys-dev-icons uuid
21
15
  ```
22
16
 
23
17
  ## Usage
@@ -77,8 +71,8 @@ To build and serve the demo app locally, run:
77
71
 
78
72
  ```sh
79
73
  cd app
80
- yarn install
81
- yarn start
74
+ npm install
75
+ npm run start
82
76
  ```
83
77
 
84
78
  To validate the local instance of the `genesys-react-components` package, run:
@@ -86,11 +80,11 @@ To validate the local instance of the `genesys-react-components` package, run:
86
80
  ```sh
87
81
  cd app
88
82
  # This removes the published dependency and uses npm link to add the local version
89
- yarn run link
90
- yarn start
83
+ npm run link
84
+ npm run start
91
85
  ```
92
86
 
93
- Run `yarn unlink` to revert to using the latest published version of the package.
87
+ Run `npm run unlink` to revert to using the latest published version of the package.
94
88
 
95
89
  #### Publishing the demo app
96
90
 
@@ -112,4 +106,4 @@ See https://reactjs.org/link/invalid-hook-call for tips about how to debug and f
112
106
 
113
107
  The cause of the issue is the first reason. The react-dom dependency is sourced from different locations for the component package and the React app that's using it. The package loads `<thisrepo>/node_modules/react_dom/` but the React app loads `<thisrepo>/app/node_modules/react-dom/` causing them to be different packages even though the loaded versions are identical.
114
108
 
115
- The solution is to delete `<thisrepo>/node_modules/` when using `npm link` in a any local React app. It doesn't seem to matter the order of operations as long as the folder is gone before `yarn start` is run to build the React app.
109
+ The solution is to delete `<thisrepo>/node_modules/` when using `npm link` in a any local React app. It doesn't seem to matter the order of operations as long as the folder is gone before `npm run start` is run to build the React app.
package/build/index.d.ts CHANGED
@@ -14,7 +14,7 @@ import AlertBlock from './alertblock/AlertBlock';
14
14
  import LoadingPlaceholder from './loadingplaceholder/LoadingPlaceholder';
15
15
  import Tooltip from './tooltip/Tooltip';
16
16
  import CopyButton from './copybutton/CopyButton';
17
- export { DxAccordion, DxAccordionGroup, DxButton, DxItemGroup, DxCheckbox, DxLabel, DxTabbedContent, DxTabPanel, DxTextbox, DxToggle, Tooltip, CopyButton, LoadingPlaceholder, AlertBlock };
17
+ export { DxAccordion, DxAccordionGroup, DxButton, DxItemGroup, DxCheckbox, DxLabel, DxTabbedContent, DxTabPanel, DxTextbox, DxToggle, Tooltip, CopyButton, LoadingPlaceholder, AlertBlock, };
18
18
  export interface StringChangedCallback {
19
19
  (value: string): void;
20
20
  }
@@ -65,6 +65,7 @@ export interface DxTextboxProps {
65
65
  placeholder?: string;
66
66
  icon?: GenesysDevIcons;
67
67
  clearButton?: boolean;
68
+ clearOnEscape?: boolean;
68
69
  onChange?: StringChangedCallback;
69
70
  changeDebounceMs?: number;
70
71
  inputRef?: React.RefObject<HTMLInputElement>;
@@ -72,6 +73,7 @@ export interface DxTextboxProps {
72
73
  onBlur?: VoidEventCallback;
73
74
  disabled?: boolean;
74
75
  className?: string;
76
+ autoFocus?: boolean;
75
77
  }
76
78
  export interface DxAccordionProps {
77
79
  title: React.ReactNode;
package/build/index.js CHANGED
@@ -282,7 +282,7 @@ function DxTextbox(props) {
282
282
  // Escape pressed
283
283
  useEffect(() => {
284
284
  var _a;
285
- if (!isFocused)
285
+ if (!isFocused || props.clearOnEscape === false)
286
286
  return;
287
287
  setValue('');
288
288
  (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blur();
@@ -345,7 +345,7 @@ function DxTextbox(props) {
345
345
  let component;
346
346
  switch (inputType) {
347
347
  case 'textarea': {
348
- component = (React.createElement("textarea", { className: 'dx-textarea', placeholder: props.placeholder, ref: inputRef, value: value, onChange: (e) => setValue(e.target.value), onFocus: () => {
348
+ component = (React.createElement("textarea", { className: "dx-textarea", placeholder: props.placeholder, ref: inputRef, value: value, onChange: (e) => setValue(e.target.value), onFocus: () => {
349
349
  setIsFocused(true);
350
350
  if (props.onFocus)
351
351
  props.onFocus();
@@ -353,14 +353,14 @@ function DxTextbox(props) {
353
353
  setIsFocused(false);
354
354
  if (props.onBlur)
355
355
  props.onBlur();
356
- }, disabled: props.disabled === true }));
356
+ }, disabled: props.disabled === true, autoFocus: props.autoFocus }));
357
357
  break;
358
358
  }
359
359
  // TODO: special handling for other inputType values
360
360
  default: {
361
361
  component = (React.createElement("div", { className: `dx-textbox${hasLabel ? ' with-label' : ''}${props.disabled ? ' disabled' : ''}` },
362
- props.icon ? React.createElement(GenesysDevIcon, { icon: props.icon, className: 'input-icon' }) : undefined,
363
- React.createElement("input", { className: 'dx-input', type: inputType, step: step, value: value, placeholder: props.placeholder, onChange: (e) => setValue(e.target.value), ref: inputRef, onFocus: () => {
362
+ props.icon ? React.createElement(GenesysDevIcon, { icon: props.icon, className: "input-icon" }) : undefined,
363
+ React.createElement("input", { className: "dx-input", type: inputType, step: step, value: value, placeholder: props.placeholder, onChange: (e) => setValue(e.target.value), ref: inputRef, onFocus: () => {
364
364
  setIsFocused(true);
365
365
  if (props.onFocus)
366
366
  props.onFocus();
@@ -368,8 +368,8 @@ function DxTextbox(props) {
368
368
  setIsFocused(false);
369
369
  if (props.onBlur)
370
370
  props.onBlur();
371
- }, disabled: props.disabled === true }),
372
- props.clearButton && (value || isFocused) && !props.disabled ? (React.createElement(GenesysDevIcon, { icon: GenesysDevIcons.AppTimes, className: 'clear-icon', onClick: () => setValue('') })) : undefined));
371
+ }, disabled: props.disabled === true, autoFocus: props.autoFocus }),
372
+ props.clearButton && (value || isFocused) && !props.disabled ? (React.createElement(GenesysDevIcon, { icon: GenesysDevIcons.AppTimes, className: "clear-icon", onClick: () => setValue('') })) : undefined));
373
373
  }
374
374
  }
375
375
  // Render
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/dxaccordion/DxAccordion.tsx","../src/dxaccordion/DxAccordionGroup.tsx","../src/dxbutton/DxButton.tsx","../src/dxlabel/DxLabel.tsx","../src/dxitemgroup/DxCheckbox.tsx","../src/dxitemgroup/DxItemGroup.tsx","../src/dxtabbedcontent/DxTabbedContent.tsx","../src/dxtabbedcontent/DxTabPanel.tsx","../src/dxtextbox/DxTextbox.tsx","../src/dxtoggle/DxToggle.tsx","../src/alertblock/AlertBlock.tsx","../src/loadingplaceholder/LoadingPlaceholder.tsx","../src/tooltip/Tooltip.tsx","../src/copybutton/CopyButton.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React, { useState } from 'react';\nimport { DxAccordionProps } from '..';\n\nimport './DxAccordion.scss';\n\nexport default function DxAccordion(props: DxAccordionProps) {\n\tconst [isOpen, setIsOpen] = useState(props.showOpen || false);\n\tconst [expandTrigger, setExpandTrigger] = useState(props.expandTrigger);\n\tconst [showOpenTrigger, setShowOpenTrigger] = useState(props.showOpenTrigger);\n\n\t// This one forcibly opens the component\n\tReact.useEffect(() => {\n\t\tif (props.expandTrigger !== expandTrigger) {\n\t\t\tsetIsOpen(true);\n\t\t\tsetExpandTrigger(props.expandTrigger);\n\t\t}\n\t}, [props.expandTrigger, expandTrigger]);\n\n\t// This one forcibly recalculates the state based on the value for props.showOpen\n\tReact.useEffect(() => {\n\t\tif (props.showOpenTrigger !== showOpenTrigger) {\n\t\t\tsetIsOpen(props.showOpen);\n\t\t\tsetShowOpenTrigger(props.showOpenTrigger);\n\t\t}\n\t}, [props.showOpenTrigger, showOpenTrigger, props.showOpen]);\n\n\tReact.useEffect(() => {\n\t\tif (props.showOpen === true || props.showOpen === false) setIsOpen(props.showOpen);\n\t}, [props.showOpen]);\n\n\tlet style = {} as React.CSSProperties;\n\tif (props.headingColor) style.color = props.headingColor;\n\n\tlet icon;\n\tif (props.headingIcon) icon = <GenesysDevIcon icon={props.headingIcon} className=\"heading-icon\" />;\n\n\treturn (\n\t\t<div id={props.containerId || undefined} className={`dx-accordion${props.className ? ' ' + props.className : ''}`}>\n\t\t\t<div className=\"accordion-heading\" style={style} onClick={() => setIsOpen(!isOpen)}>\n\t\t\t\t<span className=\"accordion-heading__left\">\n\t\t\t\t\t{icon} {props.title}\n\t\t\t\t</span>{' '}\n\t\t\t\t<GenesysDevIcon icon={isOpen ? GenesysDevIcons.AppChevronUp : GenesysDevIcons.AppChevronDown} />\n\t\t\t</div>\n\t\t\t{isOpen ? <div className=\"accordion-content\">{props.children}</div> : undefined}\n\t\t</div>\n\t);\n}\n","import React from 'react';\n\nimport './DxAccordionGroup.scss';\n\ninterface IProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport default function DxAccordionGroup(props: IProps) {\n\treturn <div className={`dx-accordion-group${props.className ? ' ' + props.className : ''}`}>{props.children}</div>;\n}\n","import React from 'react';\nimport { VoidEventCallback } from '..';\n\nimport './DxButton.scss';\n\ninterface IProps {\n\ttype?: 'primary' | 'secondary' | 'link';\n\tdisabled?: boolean;\n\tchildren?: React.ReactNode;\n\tclassName?: string;\n\tonClick?: VoidEventCallback;\n}\n\nexport default function DxButton(props: IProps) {\n\tlet classNames = ['dx-button'];\n\tclassNames.push(`dx-button-${props.type || 'primary'}`);\n\tif (props.className) classNames.push(props.className);\n\n\tconst handleClick = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n\t\tif (!props.onClick) return;\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tprops.onClick();\n\t};\n\n\treturn (\n\t\t<button className={classNames.join(' ')} type=\"button\" onClick={handleClick} disabled={props.disabled === true}>\n\t\t\t{props.children}\n\t\t</button>\n\t);\n}\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React from 'react';\n\nimport './DxLabel.scss';\n\ninterface IProps {\n\tlabel?: string;\n\tdescription?: string;\n\tuseFieldset?: boolean;\n\tclassName?: string;\n\tchildren: React.ReactNode;\n}\n\nexport default function DxLabel(props: IProps) {\n\tconst hasLabel = props.label && props.label !== '';\n\n\tconst description = props.description ? (\n\t\t<div className='input-description'>\n\t\t\t<GenesysDevIcon icon={GenesysDevIcons.AppInfoSolid} />\n\t\t\t<span>{props.description}</span>\n\t\t</div>\n\t) : undefined;\n\n\tconst contents = (\n\t\t<React.Fragment>\n\t\t\t{' '}\n\t\t\t{hasLabel ? <span className='label-text'>{props.label}</span> : undefined}\n\t\t\t{props.children}\n\t\t\t{description}\n\t\t</React.Fragment>\n\t);\n\n\tconst className = `dx-label${props.className ? ' ' + props.className : ''}`;\n\n\tif (props.useFieldset) {\n\t\treturn <fieldset className={className}>{contents}</fieldset>;\n\t}\n\treturn <label className={className}>{contents}</label>;\n}\n","import React, { useEffect, useState } from 'react';\nimport { CheckedChangedCallback } from '..';\n\nimport './DxCheckbox.scss';\n\ninterface IProps {\n\tlabel: string;\n\titemValue: string;\n\tdescription?: string;\n\tchecked?: boolean;\n\tinitiallyChecked?: boolean;\n\tname?: string;\n\tclassName?: string;\n\tonCheckChanged?: CheckedChangedCallback;\n\tuseRadioType?: boolean;\n\tdisabled?: boolean;\n}\n\nexport default function DxCheckbox(props: IProps) {\n\tlet initialValue: boolean = props.checked !== undefined ? props.checked : props.initiallyChecked || false;\n\n\tconst [checked, setChecked] = useState<boolean>(initialValue);\n\n\tuseEffect(() => {\n\t\tif (props.checked === undefined || props.checked === checked) return;\n\t\tsetChecked(props.checked);\n\t}, [props.checked]);\n\n\tuseEffect(() => {\n\t\tif (props.onCheckChanged) props.onCheckChanged(checked);\n\t}, [checked]);\n\n\treturn (\n\t\t<label className={`dx-checkbox${props.className ? ' ' + props.className : ''}${props.disabled ? ' disabled' : ''}`}>\n\t\t\t<input\n\t\t\t\ttype={props.useRadioType ? 'radio' : 'checkbox'}\n\t\t\t\tname={props.name}\n\t\t\t\tvalue={props.itemValue}\n\t\t\t\tchecked={checked}\n\t\t\t\tonChange={(e) => setChecked(e.target.checked)}\n\t\t\t\tdisabled={props.disabled === true}\n\t\t\t/>\n\t\t\t<span className='label-text'>{props.label}</span>\n\t\t</label>\n\t);\n}\n","import React, { useEffect, useState } from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { DxItemGroupItem, DxItemGroupItemValue, DxItemGroupProps, ItemChangedCallback, ItemGroupChangedCallback } from '..';\n\nimport './DxItemGroup.scss';\nimport './radiobutton.scss';\nimport './dropdown.scss';\nimport './multiselect.scss';\nimport DxLabel from '../dxlabel/DxLabel';\nimport DxCheckbox from './DxCheckbox';\n\nexport default function DxItemGroup(props: DxItemGroupProps) {\n\tconst [data, setData] = useState<DxItemGroupItemValue[]>(\n\t\tprops.items.map((item) => {\n\t\t\treturn { item, isSelected: item.isSelected !== undefined ? item.isSelected : false };\n\t\t})\n\t);\n\tconst [id] = useState(uuid());\n\tconst [title, setTitle] = useState(props.title);\n\tconst [description, setDescription] = useState(props.description);\n\tconst [format, setFormat] = useState(props.format);\n\tconst [disabled, setDisabled] = useState(props.disabled);\n\tconst [className, setClassName] = useState(props.className);\n\n\t// data changed\n\tuseEffect(() => {\n\t\tif (props.onItemsChanged) props.onItemsChanged(data);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [data]);\n\n\t// Recalculate on props changed\n\tuseEffect(() => {\n\t\tsetTitle(props.title);\n\t\tsetDescription(props.description);\n\t\tsetFormat(props.format);\n\t\tsetDisabled(props.disabled);\n\t\tsetClassName(props.className);\n\t}, [props.title, props.description, props.format, props.items, props.disabled, props.className]);\n\n\tuseEffect(() => {\n\t\tsetData(\n\t\t\tprops.items.map((item) => {\n\t\t\t\treturn { item, isSelected: item.isSelected !== undefined ? item.isSelected : false };\n\t\t\t})\n\t\t);\n\t}, [props.items]);\n\t// Handle individual item changed\n\tconst itemChanged = (idx: number, item: DxItemGroupItem, checked: boolean) => {\n\t\tif (props.onItemChanged) props.onItemChanged(item, checked);\n\t\tlet newData = [...data];\n\t\t// Unselect everything if it's radio buttons\n\t\tif (format === 'radio') newData.forEach((value) => (value.isSelected = false));\n\t\t// Set the selected state of the new item\n\t\tnewData[idx].isSelected = checked;\n\t\tsetData(newData);\n\t};\n\n\tconst selectChanged = (e: React.ChangeEvent<HTMLSelectElement>) => {\n\t\tconst options = e.target.options;\n\t\tlet newData = [...data];\n\t\t// Assign selected value for each item in the list\n\t\tfor (let i = 0; i < options.length; i++) {\n\t\t\tconst thisItem = newData.find((value) => value.item.value === options[i].value);\n\t\t\tthisItem.isSelected = options[i].selected;\n\t\t}\n\t\t// Update entire data list\n\t\tsetData(newData);\n\t\t// Trigger individual update\n\t\tconst changedItemIdx = newData.findIndex((value) => value.item.value === e.target.value);\n\t\tif (changedItemIdx >= 0) itemChanged(changedItemIdx, newData[changedItemIdx].item, newData[changedItemIdx].isSelected);\n\t};\n\n\tswitch (format) {\n\t\tcase 'multiselect':\n\t\tcase 'dropdown': {\n\t\t\tconst isMulti = format === 'multiselect';\n\t\t\treturn (\n\t\t\t\t<DxLabel label={title} description={description} className={className}>\n\t\t\t\t\t<div className={`dx-item-group${isMulti ? ' dx-multiselect-group' : ' dx-select-group'}${disabled ? ' disabled' : ''}`}>\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\tmultiple={isMulti}\n\t\t\t\t\t\t\tdisabled={disabled === true}\n\t\t\t\t\t\t\tonChange={(e) => selectChanged(e)}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tisMulti\n\t\t\t\t\t\t\t\t\t? data.filter((item) => item.isSelected)?.map((item) => item.item.value)\n\t\t\t\t\t\t\t\t\t: data.find((item) => item.isSelected)?.item.value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.map((d, i) => (\n\t\t\t\t\t\t\t\t<option key={i} value={d.item.value} disabled={d.item.disabled}>\n\t\t\t\t\t\t\t\t\t{d.item.label}\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\t\t\t\t</DxLabel>\n\t\t\t);\n\t\t}\n\t\tcase 'checkbox':\n\t\tcase 'radio':\n\t\tdefault: {\n\t\t\treturn (\n\t\t\t\t<DxLabel\n\t\t\t\t\tlabel={title}\n\t\t\t\t\tdescription={description}\n\t\t\t\t\tclassName={`dx-item-group${disabled ? ' disabled' : ''}${className ? ' ' + className : ''}`}\n\t\t\t\t\tuseFieldset={true}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLDivElement>) => {\n\t\t\t\t\t\t\tconst i = data.findIndex((d) => d.item.value === (e.target as any)?.value);\n\t\t\t\t\t\t\tif (i < 0) return;\n\t\t\t\t\t\t\titemChanged(i, data[i].item, (e.target as any)?.checked);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{data.map((d, i) => (\n\t\t\t\t\t\t\t<DxCheckbox\n\t\t\t\t\t\t\t\tkey={d.item.value}\n\t\t\t\t\t\t\t\tname={format === 'checkbox' ? `${id}-${d.item.value}` : id}\n\t\t\t\t\t\t\t\tlabel={d.item.label}\n\t\t\t\t\t\t\t\titemValue={d.item.value}\n\t\t\t\t\t\t\t\tchecked={d.isSelected}\n\t\t\t\t\t\t\t\tuseRadioType={format === 'radio'}\n\t\t\t\t\t\t\t\tdisabled={disabled || d.item.disabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</DxLabel>\n\t\t\t);\n\t\t}\n\t}\n}\n","import React, { useState } from 'react';\nimport { DxTabbedContentProps } from '..';\n\nimport './DxTabbedContent.scss';\n\nexport default function DxTabbedContent(props: DxTabbedContentProps) {\n\tconst [activeTab, setActiveTab] = useState(props.initialTabId || 0);\n\tconst [titles] = useState<React.ReactNode[]>(\n\t\t// Scrape titles from child elements\n\t\tReact.Children.toArray(props.children).map((child: any) => {\n\t\t\tif (!child || !child.props || !child.props.title) return 'Unknown title';\n\t\t\treturn child.props.title;\n\t\t})\n\t);\n\n\treturn (\n\t\t<div className={`dx-tabbed-content${props.className ? ' ' + props.className : ''}`}>\n\t\t\t<div className='tab-titles'>\n\t\t\t\t{titles.map((title, i) => (\n\t\t\t\t\t<span key={i} className={`tab-title${i === activeTab ? ' active' : ''}`} onClick={() => setActiveTab(i)}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</span>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t<div className='tab-content'>{React.Children.toArray(props.children)[activeTab]}</div>\n\t\t</div>\n\t);\n}\n","import React from 'react';\nimport { DxTabPanelProps } from '..';\n\nimport './DxTabPanel.scss';\n\nexport default function DxTabPanel(props: DxTabPanelProps) {\n\treturn <div className={`dx-tab-panel${props.className ? ' ' + props.className : ''}`}>{props.children}</div>;\n}\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React, { useEffect, useRef, useState } from 'react';\nimport DxLabel from '../dxlabel/DxLabel';\nimport { DxTextboxProps } from '..';\n\nimport './DxTextbox.scss';\n\nexport default function DxTextbox(props: DxTextboxProps) {\n\tconst [debounceMs, setDebounceMs] = useState(props.changeDebounceMs || 300);\n\tconst [value, setValue] = useState(props.initialValue || props.value || '');\n\tconst [isFocused, setIsFocused] = useState(false);\n\tconst [escapePressed, setEscapePressed] = useState(Date.now());\n\tconst [step, setStep] = useState<string | number | undefined>(undefined);\n\tlet [timer, setTimer] = useState(undefined as unknown as ReturnType<typeof setTimeout>);\n\n\t// Constructor\n\tuseEffect(() => {\n\t\t// Register global key bindings\n\t\tdocument.addEventListener('keydown', globalKeyBindings, false);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keydown', globalKeyBindings, false);\n\t\t};\n\t}, []);\n\n\t// Value prop updated\n\tuseEffect(() => {\n\t\t// Ignore value changed if initial value was set; they're mutually exclusive\n\t\tif (!props.initialValue) {\n\t\t\tsetValue(props.value || '');\n\t\t}\n\t}, [props.value]);\n\n\t// Escape pressed\n\tuseEffect(() => {\n\t\tif (!isFocused) return;\n\t\tsetValue('');\n\t\tinputRef.current?.blur();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [escapePressed]);\n\n\t// Value changed\n\tuseEffect(() => {\n\t\tif (props.inputType === 'decimal') {\n\t\t\t// Normalize step setting\n\t\t\tif (!isNaN(parseFloat(value))) {\n\t\t\t\tconst match = /\\.(.+)/.exec(value);\n\t\t\t\tconsole.log(match);\n\t\t\t\tif (match) {\n\t\t\t\t\tconst s = `0.${Array.apply(null, Array(match[1].length - 1))\n\t\t\t\t\t\t.map(() => '0')\n\t\t\t\t\t\t.join('')}1`;\n\t\t\t\t\tconsole.log(s);\n\t\t\t\t\tsetStep(s);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (props.inputType === 'integer') {\n\t\t\t// Overwrite value as integer to forcibly truncate floating point numbers\n\t\t\tsetValue(parseInt(value).toString());\n\t\t}\n\n\t\t// Debounce onChange notification\n\t\tif (!props.onChange) return;\n\t\tclearTimeout(timer);\n\t\tsetTimer(setTimeout(() => (props.onChange ? props.onChange(value) : undefined), debounceMs));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [value]);\n\n\t// Update state from props\n\tuseEffect(() => {\n\t\tsetDebounceMs(props.changeDebounceMs || 300);\n\t}, [props.changeDebounceMs]);\n\n\t// Normalize inputRef\n\tlet inputRef; // = useRef<HTMLInputElement>(null);\n\tif (props.inputRef) inputRef = props.inputRef;\n\telse if (props.inputType === 'textarea') inputRef = useRef<HTMLTextAreaElement>(null);\n\telse inputRef = useRef<HTMLInputElement>(null);\n\n\tconst hasLabel = props.label && props.label !== '';\n\n\t// Global key bindings\n\tfunction globalKeyBindings(event: KeyboardEvent) {\n\t\t// Escape - cancel search\n\t\tif (event.key === 'Escape') {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tsetEscapePressed(Date.now());\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Normalize input type\n\tlet inputType: React.HTMLInputTypeAttribute | undefined = props.inputType;\n\tif (inputType === 'integer' || inputType === 'decimal') inputType = 'number';\n\n\tlet component;\n\tswitch (inputType) {\n\t\tcase 'textarea': {\n\t\t\tcomponent = (\n\t\t\t\t<textarea\n\t\t\t\t\tclassName='dx-textarea'\n\t\t\t\t\tplaceholder={props.placeholder}\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonChange={(e) => setValue(e.target.value)}\n\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\tsetIsFocused(true);\n\t\t\t\t\t\tif (props.onFocus) props.onFocus();\n\t\t\t\t\t}}\n\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\tsetIsFocused(false);\n\t\t\t\t\t\tif (props.onBlur) props.onBlur();\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={props.disabled === true}\n\t\t\t\t/>\n\t\t\t);\n\t\t\tbreak;\n\t\t}\n\t\t// TODO: special handling for other inputType values\n\t\tdefault: {\n\t\t\tcomponent = (\n\t\t\t\t<div className={`dx-textbox${hasLabel ? ' with-label' : ''}${props.disabled ? ' disabled' : ''}`}>\n\t\t\t\t\t{props.icon ? <GenesysDevIcon icon={props.icon} className='input-icon' /> : undefined}\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName='dx-input'\n\t\t\t\t\t\ttype={inputType}\n\t\t\t\t\t\tstep={step}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tplaceholder={props.placeholder}\n\t\t\t\t\t\tonChange={(e) => setValue(e.target.value)}\n\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\tsetIsFocused(true);\n\t\t\t\t\t\t\tif (props.onFocus) props.onFocus();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\tsetIsFocused(false);\n\t\t\t\t\t\t\tif (props.onBlur) props.onBlur();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdisabled={props.disabled === true}\n\t\t\t\t\t/>\n\t\t\t\t\t{props.clearButton && (value || isFocused) && !props.disabled ? (\n\t\t\t\t\t\t<GenesysDevIcon icon={GenesysDevIcons.AppTimes} className='clear-icon' onClick={() => setValue('')} />\n\t\t\t\t\t) : undefined}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n\t// Render\n\treturn (\n\t\t<DxLabel label={props.label} description={props.description} className={props.className}>\n\t\t\t{component}\n\t\t</DxLabel>\n\t);\n}\n","import React, { useEffect, useState } from 'react';\nimport { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport { BooleanChangedCallback, DxToggleProps } from '..';\n\nimport './DxToggle.scss';\nimport DxLabel from '../dxlabel/DxLabel';\n\nexport default function DxToggle(props: DxToggleProps) {\n\tlet initialValue: boolean | undefined = props.value !== undefined ? props.value : props.initialValue;\n\tif (!props.isTriState) initialValue = initialValue || false;\n\n\tconst [value, setValue] = useState<boolean | undefined>(initialValue);\n\n\tconst trueIcon = props.trueIcon || GenesysDevIcons.AppCheck;\n\tconst falseIcon = props.falseIcon || GenesysDevIcons.AppTimes;\n\n\tuseEffect(() => {\n\t\tif (props.initialValue || props.value === value || (!props.isTriState && props.value === undefined)) return;\n\t\tsetValue(props.value);\n\t}, [props.value]);\n\n\tuseEffect(() => {\n\t\tif (props.onChange) props.onChange(value);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [value]);\n\n\tconst toggleValue = () => {\n\t\tif (props.disabled) return;\n\t\tif (props.isTriState) {\n\t\t\tif (value === undefined) setValue(true);\n\t\t\telse if (value === true) setValue(false);\n\t\t\telse setValue(undefined);\n\t\t} else {\n\t\t\tsetValue(!value);\n\t\t}\n\t};\n\n\treturn (\n\t\t<DxLabel label={props.label} description={props.description} className={props.className}>\n\t\t\t<div className={`dx-toggle-container${props.disabled ? ' disabled' : ''}`}>\n\t\t\t\t<div className='dx-toggle' onClick={toggleValue}>\n\t\t\t\t\t{value !== false ? <GenesysDevIcon icon={falseIcon} /> : undefined}\n\t\t\t\t\t{value === true && props.isTriState ? <div className='clear-placeholder'>&nbsp;</div> : undefined}\n\t\t\t\t\t<div className='slider'>{value !== undefined ? <GenesysDevIcon icon={value ? trueIcon : falseIcon} /> : undefined}</div>\n\t\t\t\t\t{value === false && props.isTriState ? <div className='clear-placeholder'>&nbsp;</div> : undefined}\n\t\t\t\t\t{value !== true ? <GenesysDevIcon icon={trueIcon} /> : undefined}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</DxLabel>\n\t);\n}\n","import React, { useState } from 'react';\nimport { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\n\nimport './AlertBlock.scss';\n\ninterface IProps {\n\ttitle?: string;\n\talertType?: 'info' | 'success' | 'critical' | 'warning' | 'toast';\n\tcollapsible?: boolean;\n\tautoCollapse?: boolean;\n\tindentation?: number;\n\tchildren?: any;\n\tclassName?: string;\n}\n\nexport default function AlertBlock(props: IProps) {\n\tconst isCollapsible = props.collapsible === false ? false : props.collapsible || props.autoCollapse || false;\n\tconst [isCollapsed, setIsCollapsed] = useState(isCollapsible ? props.autoCollapse || false : false);\n\n\tlet title;\n\tif (props.title) {\n\t\ttitle = (\n\t\t\t<div\n\t\t\t\tclassName={`alert-title${isCollapsible ? ' clickable' : ''}${isCollapsed ? ' collapsed' : ''}`}\n\t\t\t\tonClick={isCollapsible ? () => setIsCollapsed(!isCollapsed) : undefined}\n\t\t\t>\n\t\t\t\t{props.title}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet icon;\n\tswitch (props.alertType) {\n\t\tcase 'info': {\n\t\t\ticon = <GenesysDevIcon className=\"info-icon\" icon={GenesysDevIcons.AppInfoSolid} />;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'success': {\n\t\t\ticon = <GenesysDevIcon className=\"info-icon\" icon={GenesysDevIcons.AppSuccessSolid} />;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'critical': {\n\t\t\ticon = <GenesysDevIcon className=\"info-icon\" icon={GenesysDevIcons.AppCriticalSolid} />;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'warning': {\n\t\t\ticon = <GenesysDevIcon className=\"info-icon\" icon={GenesysDevIcons.AppWarnSolid} />;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (icon && isCollapsible) {\n\t\ticon = (\n\t\t\t<span className=\"clickable\" onClick={() => setIsCollapsed(!isCollapsed)}>\n\t\t\t\t{icon}\n\t\t\t</span>\n\t\t);\n\t}\n\n\t//TODO: remove the card fence classes and build a proper collapser\n\treturn (\n\t\t<div\n\t\t\tclassName={`alert-container${props.indentation && props.indentation > 0 ? ` indent-${props.indentation}` : ''} ${\n\t\t\t\tprops.className || ''\n\t\t\t}`}\n\t\t>\n\t\t\t<div className={`alert alert-${props.alertType}`} role=\"alert\">\n\t\t\t\t{icon}\n\t\t\t\t<div className=\"alert-content\">\n\t\t\t\t\t{title}\n\t\t\t\t\t{isCollapsed ? undefined : <div>{props.children}</div>}\n\t\t\t\t</div>\n\t\t\t\t{isCollapsible ? (\n\t\t\t\t\t<span className=\"clickable\" onClick={() => setIsCollapsed(!isCollapsed)}>\n\t\t\t\t\t\t<GenesysDevIcon icon={isCollapsed ? GenesysDevIcons.AppChevronDown : GenesysDevIcons.AppChevronUp} />\n\t\t\t\t\t</span>\n\t\t\t\t) : undefined}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import React from 'react';\n\nimport './LoadingPlaceholder.scss';\n\ninterface IProps {\n\ttext?: string;\n}\n\nexport default function LoadingPlaceholder(props: IProps) {\n\treturn (\n\t\t<div className=\"loading-placeholder\">\n\t\t\t<span className=\"text\">{props.text || 'Loading'}</span>\n\t\t\t<div></div>\n\t\t\t<div></div>\n\t\t</div>\n\t);\n}\n","import React, { ReactNode, useEffect, useRef, useState } from 'react';\n\nimport './Tooltip.scss';\n\ninterface IProps {\n\ttext: string;\n\tposition?: 'top' | 'right' | 'bottom' | 'left';\n\tchildren?: ReactNode;\n\tclassName?: string;\n\t// Setting this to any value enables manual control\n\tisShowing?: boolean;\n}\n\n// Inspired by https://paladini.dev/posts/how-to-make-an-extremely-reusable-tooltip-component-with-react--and-nothing-else/\nexport default function Tooltip(props: IProps) {\n\tconst [isShowing, setIsShowing] = useState(false);\n\tconst timeout = useRef<NodeJS.Timeout | undefined>();\n\n\tuseEffect(() => {\n\t\tif (props.isShowing === undefined) return;\n\t\tsetIsShowing(props.isShowing === true);\n\t}, [props.isShowing]);\n\n\tconst showTip = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n\t\t// Ignore mouse events from the tooltip itself\n\t\tif ((e.target as HTMLDivElement).className.includes('tooltip-tip')) return;\n\t\t// Ignore mouse events when manually controlled\n\t\tif (props.isShowing !== undefined) return;\n\t\ttimeout.current = setTimeout(() => {\n\t\t\tsetIsShowing(true);\n\t\t}, 100);\n\t};\n\n\tconst hideTip = () => {\n\t\tif (props.isShowing !== undefined) return;\n\t\tif (timeout.current) clearInterval(timeout.current);\n\t\tsetIsShowing(false);\n\t};\n\n\treturn (\n\t\t<div className={`tooltip-container ${props.className || ''}`} onMouseEnter={showTip} onMouseLeave={hideTip}>\n\t\t\t{props.children}\n\t\t\t<div className={`tooltip-tip ${props.position || 'top'}${isShowing ? ' visible' : ''}`}>{props.text}</div>\n\t\t</div>\n\t);\n}\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React, { useState } from 'react';\nimport Tooltip from '../tooltip/Tooltip';\n\nimport './CopyButton.scss';\n\ninterface IProps {\n\tcopyText: string;\n\tclassName?: string;\n\ttooltipPosition?: 'top' | 'right' | 'bottom' | 'left';\n}\n\nexport default function CopyButton(props: IProps) {\n\tlet [copyState, setCopyState] = useState(false);\n\n\t// Copy function will set the component state to indicate we have copied the record and then show the tool tip. With the copyState set to true we will see 'Copied'\n\tconst copyCode = (e: React.MouseEvent<HTMLElement>) => {\n\t\te.stopPropagation();\n\t\tsetCopyState(true);\n\t\tnavigator.clipboard.writeText(props.copyText);\n\t\treturn;\n\t};\n\n\t// Once we lose focus on the copy button, we want to set the copyState to false so that we can hide the tool tip and set the default tool tip to ''\n\tconst loseFocus = () => {\n\t\tsetCopyState(false);\n\t\treturn;\n\t};\n\n\tconst buttonClasses = ['copy-button'];\n\tif (props.className) buttonClasses.push(props.className);\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<Tooltip isShowing={copyState} text=\"Copied\" position={props.tooltipPosition}>\n\t\t\t\t<button type=\"button\" className={buttonClasses.join(' ')} onClick={copyCode} onMouseOut={loseFocus}>\n\t\t\t\t\t<GenesysDevIcon icon={GenesysDevIcons.AppCopy} />\n\t\t\t\t</button>\n\t\t\t</Tooltip>\n\t\t</React.Fragment>\n\t);\n}\n"],"names":["uuid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/style-inject/dist/style-inject.es.js","../src/dxaccordion/DxAccordion.tsx","../src/dxaccordion/DxAccordionGroup.tsx","../src/dxbutton/DxButton.tsx","../src/dxlabel/DxLabel.tsx","../src/dxitemgroup/DxCheckbox.tsx","../src/dxitemgroup/DxItemGroup.tsx","../src/dxtabbedcontent/DxTabbedContent.tsx","../src/dxtabbedcontent/DxTabPanel.tsx","../src/dxtextbox/DxTextbox.tsx","../src/dxtoggle/DxToggle.tsx","../src/alertblock/AlertBlock.tsx","../src/loadingplaceholder/LoadingPlaceholder.tsx","../src/tooltip/Tooltip.tsx","../src/copybutton/CopyButton.tsx"],"sourcesContent":["function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React, { useState } from 'react';\nimport { DxAccordionProps } from '..';\n\nimport './DxAccordion.scss';\n\nexport default function DxAccordion(props: DxAccordionProps) {\n\tconst [isOpen, setIsOpen] = useState(props.showOpen || false);\n\tconst [expandTrigger, setExpandTrigger] = useState(props.expandTrigger);\n\tconst [showOpenTrigger, setShowOpenTrigger] = useState(props.showOpenTrigger);\n\n\t// This one forcibly opens the component\n\tReact.useEffect(() => {\n\t\tif (props.expandTrigger !== expandTrigger) {\n\t\t\tsetIsOpen(true);\n\t\t\tsetExpandTrigger(props.expandTrigger);\n\t\t}\n\t}, [props.expandTrigger, expandTrigger]);\n\n\t// This one forcibly recalculates the state based on the value for props.showOpen\n\tReact.useEffect(() => {\n\t\tif (props.showOpenTrigger !== showOpenTrigger) {\n\t\t\tsetIsOpen(props.showOpen);\n\t\t\tsetShowOpenTrigger(props.showOpenTrigger);\n\t\t}\n\t}, [props.showOpenTrigger, showOpenTrigger, props.showOpen]);\n\n\tReact.useEffect(() => {\n\t\tif (props.showOpen === true || props.showOpen === false) setIsOpen(props.showOpen);\n\t}, [props.showOpen]);\n\n\tlet style = {} as React.CSSProperties;\n\tif (props.headingColor) style.color = props.headingColor;\n\n\tlet icon;\n\tif (props.headingIcon) icon = <GenesysDevIcon icon={props.headingIcon} className=\"heading-icon\" />;\n\n\treturn (\n\t\t<div id={props.containerId || undefined} className={`dx-accordion${props.className ? ' ' + props.className : ''}`}>\n\t\t\t<div className=\"accordion-heading\" style={style} onClick={() => setIsOpen(!isOpen)}>\n\t\t\t\t<span className=\"accordion-heading__left\">\n\t\t\t\t\t{icon} {props.title}\n\t\t\t\t</span>{' '}\n\t\t\t\t<GenesysDevIcon icon={isOpen ? GenesysDevIcons.AppChevronUp : GenesysDevIcons.AppChevronDown} />\n\t\t\t</div>\n\t\t\t{isOpen ? <div className=\"accordion-content\">{props.children}</div> : undefined}\n\t\t</div>\n\t);\n}\n","import React from 'react';\n\nimport './DxAccordionGroup.scss';\n\ninterface IProps {\n\tchildren: React.ReactNode;\n\tclassName?: string;\n}\n\nexport default function DxAccordionGroup(props: IProps) {\n\treturn <div className={`dx-accordion-group${props.className ? ' ' + props.className : ''}`}>{props.children}</div>;\n}\n","import React from 'react';\nimport { VoidEventCallback } from '..';\n\nimport './DxButton.scss';\n\ninterface IProps {\n\ttype?: 'primary' | 'secondary' | 'link';\n\tdisabled?: boolean;\n\tchildren?: React.ReactNode;\n\tclassName?: string;\n\tonClick?: VoidEventCallback;\n}\n\nexport default function DxButton(props: IProps) {\n\tlet classNames = ['dx-button'];\n\tclassNames.push(`dx-button-${props.type || 'primary'}`);\n\tif (props.className) classNames.push(props.className);\n\n\tconst handleClick = (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n\t\tif (!props.onClick) return;\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tprops.onClick();\n\t};\n\n\treturn (\n\t\t<button className={classNames.join(' ')} type=\"button\" onClick={handleClick} disabled={props.disabled === true}>\n\t\t\t{props.children}\n\t\t</button>\n\t);\n}\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React from 'react';\n\nimport './DxLabel.scss';\n\ninterface IProps {\n\tlabel?: string;\n\tdescription?: string;\n\tuseFieldset?: boolean;\n\tclassName?: string;\n\tchildren: React.ReactNode;\n}\n\nexport default function DxLabel(props: IProps) {\n\tconst hasLabel = props.label && props.label !== '';\n\n\tconst description = props.description ? (\n\t\t<div className='input-description'>\n\t\t\t<GenesysDevIcon icon={GenesysDevIcons.AppInfoSolid} />\n\t\t\t<span>{props.description}</span>\n\t\t</div>\n\t) : undefined;\n\n\tconst contents = (\n\t\t<React.Fragment>\n\t\t\t{' '}\n\t\t\t{hasLabel ? <span className='label-text'>{props.label}</span> : undefined}\n\t\t\t{props.children}\n\t\t\t{description}\n\t\t</React.Fragment>\n\t);\n\n\tconst className = `dx-label${props.className ? ' ' + props.className : ''}`;\n\n\tif (props.useFieldset) {\n\t\treturn <fieldset className={className}>{contents}</fieldset>;\n\t}\n\treturn <label className={className}>{contents}</label>;\n}\n","import React, { useEffect, useState } from 'react';\nimport { CheckedChangedCallback } from '..';\n\nimport './DxCheckbox.scss';\n\ninterface IProps {\n\tlabel: string;\n\titemValue: string;\n\tdescription?: string;\n\tchecked?: boolean;\n\tinitiallyChecked?: boolean;\n\tname?: string;\n\tclassName?: string;\n\tonCheckChanged?: CheckedChangedCallback;\n\tuseRadioType?: boolean;\n\tdisabled?: boolean;\n}\n\nexport default function DxCheckbox(props: IProps) {\n\tlet initialValue: boolean = props.checked !== undefined ? props.checked : props.initiallyChecked || false;\n\n\tconst [checked, setChecked] = useState<boolean>(initialValue);\n\n\tuseEffect(() => {\n\t\tif (props.checked === undefined || props.checked === checked) return;\n\t\tsetChecked(props.checked);\n\t}, [props.checked]);\n\n\tuseEffect(() => {\n\t\tif (props.onCheckChanged) props.onCheckChanged(checked);\n\t}, [checked]);\n\n\treturn (\n\t\t<label className={`dx-checkbox${props.className ? ' ' + props.className : ''}${props.disabled ? ' disabled' : ''}`}>\n\t\t\t<input\n\t\t\t\ttype={props.useRadioType ? 'radio' : 'checkbox'}\n\t\t\t\tname={props.name}\n\t\t\t\tvalue={props.itemValue}\n\t\t\t\tchecked={checked}\n\t\t\t\tonChange={(e) => setChecked(e.target.checked)}\n\t\t\t\tdisabled={props.disabled === true}\n\t\t\t/>\n\t\t\t<span className='label-text'>{props.label}</span>\n\t\t</label>\n\t);\n}\n","import React, { useEffect, useState } from 'react';\nimport { v4 as uuid } from 'uuid';\nimport { DxItemGroupItem, DxItemGroupItemValue, DxItemGroupProps, ItemChangedCallback, ItemGroupChangedCallback } from '..';\n\nimport './DxItemGroup.scss';\nimport './radiobutton.scss';\nimport './dropdown.scss';\nimport './multiselect.scss';\nimport DxLabel from '../dxlabel/DxLabel';\nimport DxCheckbox from './DxCheckbox';\n\nexport default function DxItemGroup(props: DxItemGroupProps) {\n\tconst [data, setData] = useState<DxItemGroupItemValue[]>(\n\t\tprops.items.map((item) => {\n\t\t\treturn { item, isSelected: item.isSelected !== undefined ? item.isSelected : false };\n\t\t})\n\t);\n\tconst [id] = useState(uuid());\n\tconst [title, setTitle] = useState(props.title);\n\tconst [description, setDescription] = useState(props.description);\n\tconst [format, setFormat] = useState(props.format);\n\tconst [disabled, setDisabled] = useState(props.disabled);\n\tconst [className, setClassName] = useState(props.className);\n\n\t// data changed\n\tuseEffect(() => {\n\t\tif (props.onItemsChanged) props.onItemsChanged(data);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [data]);\n\n\t// Recalculate on props changed\n\tuseEffect(() => {\n\t\tsetTitle(props.title);\n\t\tsetDescription(props.description);\n\t\tsetFormat(props.format);\n\t\tsetDisabled(props.disabled);\n\t\tsetClassName(props.className);\n\t}, [props.title, props.description, props.format, props.items, props.disabled, props.className]);\n\n\tuseEffect(() => {\n\t\tsetData(\n\t\t\tprops.items.map((item) => {\n\t\t\t\treturn { item, isSelected: item.isSelected !== undefined ? item.isSelected : false };\n\t\t\t})\n\t\t);\n\t}, [props.items]);\n\t// Handle individual item changed\n\tconst itemChanged = (idx: number, item: DxItemGroupItem, checked: boolean) => {\n\t\tif (props.onItemChanged) props.onItemChanged(item, checked);\n\t\tlet newData = [...data];\n\t\t// Unselect everything if it's radio buttons\n\t\tif (format === 'radio') newData.forEach((value) => (value.isSelected = false));\n\t\t// Set the selected state of the new item\n\t\tnewData[idx].isSelected = checked;\n\t\tsetData(newData);\n\t};\n\n\tconst selectChanged = (e: React.ChangeEvent<HTMLSelectElement>) => {\n\t\tconst options = e.target.options;\n\t\tlet newData = [...data];\n\t\t// Assign selected value for each item in the list\n\t\tfor (let i = 0; i < options.length; i++) {\n\t\t\tconst thisItem = newData.find((value) => value.item.value === options[i].value);\n\t\t\tthisItem.isSelected = options[i].selected;\n\t\t}\n\t\t// Update entire data list\n\t\tsetData(newData);\n\t\t// Trigger individual update\n\t\tconst changedItemIdx = newData.findIndex((value) => value.item.value === e.target.value);\n\t\tif (changedItemIdx >= 0) itemChanged(changedItemIdx, newData[changedItemIdx].item, newData[changedItemIdx].isSelected);\n\t};\n\n\tswitch (format) {\n\t\tcase 'multiselect':\n\t\tcase 'dropdown': {\n\t\t\tconst isMulti = format === 'multiselect';\n\t\t\treturn (\n\t\t\t\t<DxLabel label={title} description={description} className={className}>\n\t\t\t\t\t<div className={`dx-item-group${isMulti ? ' dx-multiselect-group' : ' dx-select-group'}${disabled ? ' disabled' : ''}`}>\n\t\t\t\t\t\t<select\n\t\t\t\t\t\t\tmultiple={isMulti}\n\t\t\t\t\t\t\tdisabled={disabled === true}\n\t\t\t\t\t\t\tonChange={(e) => selectChanged(e)}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tisMulti\n\t\t\t\t\t\t\t\t\t? data.filter((item) => item.isSelected)?.map((item) => item.item.value)\n\t\t\t\t\t\t\t\t\t: data.find((item) => item.isSelected)?.item.value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{data.map((d, i) => (\n\t\t\t\t\t\t\t\t<option key={i} value={d.item.value} disabled={d.item.disabled}>\n\t\t\t\t\t\t\t\t\t{d.item.label}\n\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</select>\n\t\t\t\t\t</div>\n\t\t\t\t</DxLabel>\n\t\t\t);\n\t\t}\n\t\tcase 'checkbox':\n\t\tcase 'radio':\n\t\tdefault: {\n\t\t\treturn (\n\t\t\t\t<DxLabel\n\t\t\t\t\tlabel={title}\n\t\t\t\t\tdescription={description}\n\t\t\t\t\tclassName={`dx-item-group${disabled ? ' disabled' : ''}${className ? ' ' + className : ''}`}\n\t\t\t\t\tuseFieldset={true}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tonChange={(e: React.ChangeEvent<HTMLDivElement>) => {\n\t\t\t\t\t\t\tconst i = data.findIndex((d) => d.item.value === (e.target as any)?.value);\n\t\t\t\t\t\t\tif (i < 0) return;\n\t\t\t\t\t\t\titemChanged(i, data[i].item, (e.target as any)?.checked);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{data.map((d, i) => (\n\t\t\t\t\t\t\t<DxCheckbox\n\t\t\t\t\t\t\t\tkey={d.item.value}\n\t\t\t\t\t\t\t\tname={format === 'checkbox' ? `${id}-${d.item.value}` : id}\n\t\t\t\t\t\t\t\tlabel={d.item.label}\n\t\t\t\t\t\t\t\titemValue={d.item.value}\n\t\t\t\t\t\t\t\tchecked={d.isSelected}\n\t\t\t\t\t\t\t\tuseRadioType={format === 'radio'}\n\t\t\t\t\t\t\t\tdisabled={disabled || d.item.disabled}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</DxLabel>\n\t\t\t);\n\t\t}\n\t}\n}\n","import React, { useState } from 'react';\nimport { DxTabbedContentProps } from '..';\n\nimport './DxTabbedContent.scss';\n\nexport default function DxTabbedContent(props: DxTabbedContentProps) {\n\tconst [activeTab, setActiveTab] = useState(props.initialTabId || 0);\n\tconst [titles] = useState<React.ReactNode[]>(\n\t\t// Scrape titles from child elements\n\t\tReact.Children.toArray(props.children).map((child: any) => {\n\t\t\tif (!child || !child.props || !child.props.title) return 'Unknown title';\n\t\t\treturn child.props.title;\n\t\t})\n\t);\n\n\treturn (\n\t\t<div className={`dx-tabbed-content${props.className ? ' ' + props.className : ''}`}>\n\t\t\t<div className='tab-titles'>\n\t\t\t\t{titles.map((title, i) => (\n\t\t\t\t\t<span key={i} className={`tab-title${i === activeTab ? ' active' : ''}`} onClick={() => setActiveTab(i)}>\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</span>\n\t\t\t\t))}\n\t\t\t</div>\n\t\t\t<div className='tab-content'>{React.Children.toArray(props.children)[activeTab]}</div>\n\t\t</div>\n\t);\n}\n","import React from 'react';\nimport { DxTabPanelProps } from '..';\n\nimport './DxTabPanel.scss';\n\nexport default function DxTabPanel(props: DxTabPanelProps) {\n\treturn <div className={`dx-tab-panel${props.className ? ' ' + props.className : ''}`}>{props.children}</div>;\n}\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React, { useEffect, useRef, useState } from 'react';\nimport DxLabel from '../dxlabel/DxLabel';\nimport { DxTextboxProps } from '..';\n\nimport './DxTextbox.scss';\n\nexport default function DxTextbox(props: DxTextboxProps) {\n\tconst [debounceMs, setDebounceMs] = useState(props.changeDebounceMs || 300);\n\tconst [value, setValue] = useState(props.initialValue || props.value || '');\n\tconst [isFocused, setIsFocused] = useState(false);\n\tconst [escapePressed, setEscapePressed] = useState(Date.now());\n\tconst [step, setStep] = useState<string | number | undefined>(undefined);\n\tlet [timer, setTimer] = useState(undefined as unknown as ReturnType<typeof setTimeout>);\n\n\t// Constructor\n\tuseEffect(() => {\n\t\t// Register global key bindings\n\t\tdocument.addEventListener('keydown', globalKeyBindings, false);\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener('keydown', globalKeyBindings, false);\n\t\t};\n\t}, []);\n\n\t// Value prop updated\n\tuseEffect(() => {\n\t\t// Ignore value changed if initial value was set; they're mutually exclusive\n\t\tif (!props.initialValue) {\n\t\t\tsetValue(props.value || '');\n\t\t}\n\t}, [props.value]);\n\n\t// Escape pressed\n\tuseEffect(() => {\n\t\tif (!isFocused || props.clearOnEscape === false) return;\n\t\tsetValue('');\n\t\tinputRef.current?.blur();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [escapePressed]);\n\n\t// Value changed\n\tuseEffect(() => {\n\t\tif (props.inputType === 'decimal') {\n\t\t\t// Normalize step setting\n\t\t\tif (!isNaN(parseFloat(value))) {\n\t\t\t\tconst match = /\\.(.+)/.exec(value);\n\t\t\t\tconsole.log(match);\n\t\t\t\tif (match) {\n\t\t\t\t\tconst s = `0.${Array.apply(null, Array(match[1].length - 1))\n\t\t\t\t\t\t.map(() => '0')\n\t\t\t\t\t\t.join('')}1`;\n\t\t\t\t\tconsole.log(s);\n\t\t\t\t\tsetStep(s);\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (props.inputType === 'integer') {\n\t\t\t// Overwrite value as integer to forcibly truncate floating point numbers\n\t\t\tsetValue(parseInt(value).toString());\n\t\t}\n\n\t\t// Debounce onChange notification\n\t\tif (!props.onChange) return;\n\t\tclearTimeout(timer);\n\t\tsetTimer(setTimeout(() => (props.onChange ? props.onChange(value) : undefined), debounceMs));\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [value]);\n\n\t// Update state from props\n\tuseEffect(() => {\n\t\tsetDebounceMs(props.changeDebounceMs || 300);\n\t}, [props.changeDebounceMs]);\n\n\t// Normalize inputRef\n\tlet inputRef; // = useRef<HTMLInputElement>(null);\n\tif (props.inputRef) inputRef = props.inputRef;\n\telse if (props.inputType === 'textarea') inputRef = useRef<HTMLTextAreaElement>(null);\n\telse inputRef = useRef<HTMLInputElement>(null);\n\n\tconst hasLabel = props.label && props.label !== '';\n\n\t// Global key bindings\n\tfunction globalKeyBindings(event: KeyboardEvent) {\n\t\t// Escape - cancel search\n\t\tif (event.key === 'Escape') {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tsetEscapePressed(Date.now());\n\t\t\treturn;\n\t\t}\n\t}\n\n\t// Normalize input type\n\tlet inputType: React.HTMLInputTypeAttribute | undefined = props.inputType;\n\tif (inputType === 'integer' || inputType === 'decimal') inputType = 'number';\n\n\tlet component;\n\tswitch (inputType) {\n\t\tcase 'textarea': {\n\t\t\tcomponent = (\n\t\t\t\t<textarea\n\t\t\t\t\tclassName=\"dx-textarea\"\n\t\t\t\t\tplaceholder={props.placeholder}\n\t\t\t\t\tref={inputRef}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\tonChange={(e) => setValue(e.target.value)}\n\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\tsetIsFocused(true);\n\t\t\t\t\t\tif (props.onFocus) props.onFocus();\n\t\t\t\t\t}}\n\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\tsetIsFocused(false);\n\t\t\t\t\t\tif (props.onBlur) props.onBlur();\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={props.disabled === true}\n\t\t\t\t\tautoFocus={props.autoFocus}\n\t\t\t\t/>\n\t\t\t);\n\t\t\tbreak;\n\t\t}\n\t\t// TODO: special handling for other inputType values\n\t\tdefault: {\n\t\t\tcomponent = (\n\t\t\t\t<div className={`dx-textbox${hasLabel ? ' with-label' : ''}${props.disabled ? ' disabled' : ''}`}>\n\t\t\t\t\t{props.icon ? <GenesysDevIcon icon={props.icon} className=\"input-icon\" /> : undefined}\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName=\"dx-input\"\n\t\t\t\t\t\ttype={inputType}\n\t\t\t\t\t\tstep={step}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tplaceholder={props.placeholder}\n\t\t\t\t\t\tonChange={(e) => setValue(e.target.value)}\n\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\tonFocus={() => {\n\t\t\t\t\t\t\tsetIsFocused(true);\n\t\t\t\t\t\t\tif (props.onFocus) props.onFocus();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonBlur={() => {\n\t\t\t\t\t\t\tsetIsFocused(false);\n\t\t\t\t\t\t\tif (props.onBlur) props.onBlur();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdisabled={props.disabled === true}\n\t\t\t\t\t\tautoFocus={props.autoFocus}\n\t\t\t\t\t/>\n\t\t\t\t\t{props.clearButton && (value || isFocused) && !props.disabled ? (\n\t\t\t\t\t\t<GenesysDevIcon icon={GenesysDevIcons.AppTimes} className=\"clear-icon\" onClick={() => setValue('')} />\n\t\t\t\t\t) : undefined}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t}\n\n\t// Render\n\treturn (\n\t\t<DxLabel label={props.label} description={props.description} className={props.className}>\n\t\t\t{component}\n\t\t</DxLabel>\n\t);\n}\n","import React, { useEffect, useState } from 'react';\nimport { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport { BooleanChangedCallback, DxToggleProps } from '..';\n\nimport './DxToggle.scss';\nimport DxLabel from '../dxlabel/DxLabel';\n\nexport default function DxToggle(props: DxToggleProps) {\n\tlet initialValue: boolean | undefined = props.value !== undefined ? props.value : props.initialValue;\n\tif (!props.isTriState) initialValue = initialValue || false;\n\n\tconst [value, setValue] = useState<boolean | undefined>(initialValue);\n\n\tconst trueIcon = props.trueIcon || GenesysDevIcons.AppCheck;\n\tconst falseIcon = props.falseIcon || GenesysDevIcons.AppTimes;\n\n\tuseEffect(() => {\n\t\tif (props.initialValue || props.value === value || (!props.isTriState && props.value === undefined)) return;\n\t\tsetValue(props.value);\n\t}, [props.value]);\n\n\tuseEffect(() => {\n\t\tif (props.onChange) props.onChange(value);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [value]);\n\n\tconst toggleValue = () => {\n\t\tif (props.disabled) return;\n\t\tif (props.isTriState) {\n\t\t\tif (value === undefined) setValue(true);\n\t\t\telse if (value === true) setValue(false);\n\t\t\telse setValue(undefined);\n\t\t} else {\n\t\t\tsetValue(!value);\n\t\t}\n\t};\n\n\treturn (\n\t\t<DxLabel label={props.label} description={props.description} className={props.className}>\n\t\t\t<div className={`dx-toggle-container${props.disabled ? ' disabled' : ''}`}>\n\t\t\t\t<div className='dx-toggle' onClick={toggleValue}>\n\t\t\t\t\t{value !== false ? <GenesysDevIcon icon={falseIcon} /> : undefined}\n\t\t\t\t\t{value === true && props.isTriState ? <div className='clear-placeholder'>&nbsp;</div> : undefined}\n\t\t\t\t\t<div className='slider'>{value !== undefined ? <GenesysDevIcon icon={value ? trueIcon : falseIcon} /> : undefined}</div>\n\t\t\t\t\t{value === false && props.isTriState ? <div className='clear-placeholder'>&nbsp;</div> : undefined}\n\t\t\t\t\t{value !== true ? <GenesysDevIcon icon={trueIcon} /> : undefined}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</DxLabel>\n\t);\n}\n","import React, { useState } from 'react';\nimport { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\n\nimport './AlertBlock.scss';\n\ninterface IProps {\n\ttitle?: string;\n\talertType?: 'info' | 'success' | 'critical' | 'warning' | 'toast';\n\tcollapsible?: boolean;\n\tautoCollapse?: boolean;\n\tindentation?: number;\n\tchildren?: any;\n\tclassName?: string;\n}\n\nexport default function AlertBlock(props: IProps) {\n\tconst isCollapsible = props.collapsible === false ? false : props.collapsible || props.autoCollapse || false;\n\tconst [isCollapsed, setIsCollapsed] = useState(isCollapsible ? props.autoCollapse || false : false);\n\n\tlet title;\n\tif (props.title) {\n\t\ttitle = (\n\t\t\t<div\n\t\t\t\tclassName={`alert-title${isCollapsible ? ' clickable' : ''}${isCollapsed ? ' collapsed' : ''}`}\n\t\t\t\tonClick={isCollapsible ? () => setIsCollapsed(!isCollapsed) : undefined}\n\t\t\t>\n\t\t\t\t{props.title}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet icon;\n\tswitch (props.alertType) {\n\t\tcase 'info': {\n\t\t\ticon = <GenesysDevIcon className=\"info-icon\" icon={GenesysDevIcons.AppInfoSolid} />;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'success': {\n\t\t\ticon = <GenesysDevIcon className=\"info-icon\" icon={GenesysDevIcons.AppSuccessSolid} />;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'critical': {\n\t\t\ticon = <GenesysDevIcon className=\"info-icon\" icon={GenesysDevIcons.AppCriticalSolid} />;\n\t\t\tbreak;\n\t\t}\n\t\tcase 'warning': {\n\t\t\ticon = <GenesysDevIcon className=\"info-icon\" icon={GenesysDevIcons.AppWarnSolid} />;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (icon && isCollapsible) {\n\t\ticon = (\n\t\t\t<span className=\"clickable\" onClick={() => setIsCollapsed(!isCollapsed)}>\n\t\t\t\t{icon}\n\t\t\t</span>\n\t\t);\n\t}\n\n\t//TODO: remove the card fence classes and build a proper collapser\n\treturn (\n\t\t<div\n\t\t\tclassName={`alert-container${props.indentation && props.indentation > 0 ? ` indent-${props.indentation}` : ''} ${\n\t\t\t\tprops.className || ''\n\t\t\t}`}\n\t\t>\n\t\t\t<div className={`alert alert-${props.alertType}`} role=\"alert\">\n\t\t\t\t{icon}\n\t\t\t\t<div className=\"alert-content\">\n\t\t\t\t\t{title}\n\t\t\t\t\t{isCollapsed ? undefined : <div>{props.children}</div>}\n\t\t\t\t</div>\n\t\t\t\t{isCollapsible ? (\n\t\t\t\t\t<span className=\"clickable\" onClick={() => setIsCollapsed(!isCollapsed)}>\n\t\t\t\t\t\t<GenesysDevIcon icon={isCollapsed ? GenesysDevIcons.AppChevronDown : GenesysDevIcons.AppChevronUp} />\n\t\t\t\t\t</span>\n\t\t\t\t) : undefined}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n","import React from 'react';\n\nimport './LoadingPlaceholder.scss';\n\ninterface IProps {\n\ttext?: string;\n}\n\nexport default function LoadingPlaceholder(props: IProps) {\n\treturn (\n\t\t<div className=\"loading-placeholder\">\n\t\t\t<span className=\"text\">{props.text || 'Loading'}</span>\n\t\t\t<div></div>\n\t\t\t<div></div>\n\t\t</div>\n\t);\n}\n","import React, { ReactNode, useEffect, useRef, useState } from 'react';\n\nimport './Tooltip.scss';\n\ninterface IProps {\n\ttext: string;\n\tposition?: 'top' | 'right' | 'bottom' | 'left';\n\tchildren?: ReactNode;\n\tclassName?: string;\n\t// Setting this to any value enables manual control\n\tisShowing?: boolean;\n}\n\n// Inspired by https://paladini.dev/posts/how-to-make-an-extremely-reusable-tooltip-component-with-react--and-nothing-else/\nexport default function Tooltip(props: IProps) {\n\tconst [isShowing, setIsShowing] = useState(false);\n\tconst timeout = useRef<NodeJS.Timeout | undefined>();\n\n\tuseEffect(() => {\n\t\tif (props.isShowing === undefined) return;\n\t\tsetIsShowing(props.isShowing === true);\n\t}, [props.isShowing]);\n\n\tconst showTip = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n\t\t// Ignore mouse events from the tooltip itself\n\t\tif ((e.target as HTMLDivElement).className.includes('tooltip-tip')) return;\n\t\t// Ignore mouse events when manually controlled\n\t\tif (props.isShowing !== undefined) return;\n\t\ttimeout.current = setTimeout(() => {\n\t\t\tsetIsShowing(true);\n\t\t}, 100);\n\t};\n\n\tconst hideTip = () => {\n\t\tif (props.isShowing !== undefined) return;\n\t\tif (timeout.current) clearInterval(timeout.current);\n\t\tsetIsShowing(false);\n\t};\n\n\treturn (\n\t\t<div className={`tooltip-container ${props.className || ''}`} onMouseEnter={showTip} onMouseLeave={hideTip}>\n\t\t\t{props.children}\n\t\t\t<div className={`tooltip-tip ${props.position || 'top'}${isShowing ? ' visible' : ''}`}>{props.text}</div>\n\t\t</div>\n\t);\n}\n","import { GenesysDevIcon, GenesysDevIcons } from 'genesys-dev-icons';\nimport React, { useState } from 'react';\nimport Tooltip from '../tooltip/Tooltip';\n\nimport './CopyButton.scss';\n\ninterface IProps {\n\tcopyText: string;\n\tclassName?: string;\n\ttooltipPosition?: 'top' | 'right' | 'bottom' | 'left';\n}\n\nexport default function CopyButton(props: IProps) {\n\tlet [copyState, setCopyState] = useState(false);\n\n\t// Copy function will set the component state to indicate we have copied the record and then show the tool tip. With the copyState set to true we will see 'Copied'\n\tconst copyCode = (e: React.MouseEvent<HTMLElement>) => {\n\t\te.stopPropagation();\n\t\tsetCopyState(true);\n\t\tnavigator.clipboard.writeText(props.copyText);\n\t\treturn;\n\t};\n\n\t// Once we lose focus on the copy button, we want to set the copyState to false so that we can hide the tool tip and set the default tool tip to ''\n\tconst loseFocus = () => {\n\t\tsetCopyState(false);\n\t\treturn;\n\t};\n\n\tconst buttonClasses = ['copy-button'];\n\tif (props.className) buttonClasses.push(props.className);\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<Tooltip isShowing={copyState} text=\"Copied\" position={props.tooltipPosition}>\n\t\t\t\t<button type=\"button\" className={buttonClasses.join(' ')} onClick={copyCode} onMouseOut={loseFocus}>\n\t\t\t\t\t<GenesysDevIcon icon={GenesysDevIcons.AppCopy} />\n\t\t\t\t</button>\n\t\t\t</Tooltip>\n\t\t</React.Fragment>\n\t);\n}\n"],"names":["uuid"],"mappings":"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"}
package/package.json CHANGED
@@ -1,54 +1,53 @@
1
1
  {
2
- "name": "genesys-react-components",
3
- "version": "0.2.0",
4
- "description": "A React component library containing standardized form elements.",
5
- "type": "module",
6
- "types": "build/index.d.ts",
7
- "exports": {
8
- "require": "./src/index.ts",
9
- "default": "./build/index.js"
10
- },
11
- "files": [
12
- "build",
13
- "src"
14
- ],
15
- "scripts": {
16
- "build": "echo \"skipping rollup build\"",
17
- "build-rollup": "rm -rf build && rollup -c rollup.config.js",
18
- "test": "echo \"0/0 tests passed. That's technically a perfect score. Keep up the great work!\""
19
- },
20
- "repository": {
21
- "type": "git",
22
- "url": "git+ssh://git@github.com/purecloudlabs/genesys-react-components.git"
23
- },
24
- "author": "Genesys",
25
- "license": "MIT",
26
- "bugs": {
27
- "url": "https://github.com/purecloudlabs/genesys-react-components/issues"
28
- },
29
- "homepage": "https://purecloudlabs.github.io/genesys-react-components",
30
- "devDependencies": {
31
- "@rollup/plugin-commonjs": "^21.0.1",
32
- "@rollup/plugin-node-resolve": "^13.0.6",
33
- "@types/react": "^16",
34
- "genesys-dev-icons": "^0.1.15",
35
- "react": "^16",
36
- "react-dom": "^16",
37
- "rollup": "^2.60.2",
38
- "rollup-plugin-peer-deps-external": "^2.2.4",
39
- "rollup-plugin-postcss": "^4.0.2",
40
- "rollup-plugin-typescript2": "^0.31.1",
41
- "sass": "^1.44.0",
42
- "typescript": "^4.5.2",
43
- "uuid": "^8.3.2"
44
- },
45
- "peerDependencies": {
46
- "genesys-dev-icons": "^0.1.15",
47
- "react": ">=16",
48
- "react-dom": ">=16",
49
- "uuid": "^8.3.2"
50
- },
51
- "dependencies": {
52
- "postcss": "^8.4.6"
53
- }
54
- }
2
+ "name": "genesys-react-components",
3
+ "version": "0.2.2-escape-setting.151",
4
+ "description": "A React component library containing standardized form elements.",
5
+ "type": "module",
6
+ "types": "build/index.d.ts",
7
+ "exports": {
8
+ "require": "./src/index.ts",
9
+ "default": "./build/index.js"
10
+ },
11
+ "files": [
12
+ "build",
13
+ "src"
14
+ ],
15
+ "scripts": {
16
+ "build": "rm -rf build && rollup -c rollup.config.js",
17
+ "test": "echo \"0/0 tests passed. That's technically a perfect score. Keep up the great work!\""
18
+ },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+ssh://git@github.com/purecloudlabs/genesys-react-components.git"
22
+ },
23
+ "author": "Genesys",
24
+ "license": "MIT",
25
+ "bugs": {
26
+ "url": "https://github.com/purecloudlabs/genesys-react-components/issues"
27
+ },
28
+ "homepage": "https://purecloudlabs.github.io/genesys-react-components",
29
+ "devDependencies": {
30
+ "@rollup/plugin-commonjs": "^21.0.1",
31
+ "@rollup/plugin-node-resolve": "^13.0.6",
32
+ "@types/react": "^16",
33
+ "genesys-dev-icons": "^0.1.15",
34
+ "react": "^16",
35
+ "react-dom": "^16",
36
+ "rollup": "^2.60.2",
37
+ "rollup-plugin-peer-deps-external": "^2.2.4",
38
+ "rollup-plugin-postcss": "^4.0.2",
39
+ "rollup-plugin-typescript2": "^0.31.1",
40
+ "sass": "^1.44.0",
41
+ "typescript": "^4.5.2",
42
+ "uuid": "^8.3.2"
43
+ },
44
+ "peerDependencies": {
45
+ "genesys-dev-icons": "^0.1.15",
46
+ "react": ">=16",
47
+ "react-dom": ">=16",
48
+ "uuid": "^8.3.2"
49
+ },
50
+ "dependencies": {
51
+ "postcss": "^8.4.6"
52
+ }
53
+ }
@@ -33,7 +33,7 @@ export default function DxTextbox(props: DxTextboxProps) {
33
33
 
34
34
  // Escape pressed
35
35
  useEffect(() => {
36
- if (!isFocused) return;
36
+ if (!isFocused || props.clearOnEscape === false) return;
37
37
  setValue('');
38
38
  inputRef.current?.blur();
39
39
  // eslint-disable-next-line react-hooks/exhaustive-deps
package/src/index.ts CHANGED
@@ -93,6 +93,7 @@ export interface DxTextboxProps {
93
93
  placeholder?: string;
94
94
  icon?: GenesysDevIcons;
95
95
  clearButton?: boolean;
96
+ clearOnEscape?: boolean;
96
97
  onChange?: StringChangedCallback;
97
98
  changeDebounceMs?: number;
98
99
  inputRef?: React.RefObject<HTMLInputElement>;