@deephaven/components 0.17.1-beta.2 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Button.d.ts CHANGED
@@ -15,6 +15,7 @@ interface BaseButtonProps extends React.ComponentPropsWithRef<'button'> {
15
15
  icon?: IconDefinition | JSX.Element;
16
16
  active?: boolean;
17
17
  'data-testid'?: string;
18
+ 'aria-label'?: string;
18
19
  }
19
20
  declare type ButtonWithChildren = BaseButtonProps & {
20
21
  children: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,QAAA,MAAM,YAAY,uFAQR,CAAC;AACX,aAAK,WAAW,GAAG,OAAO,YAAY,CAAC;AACvC,aAAK,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAEtC,QAAA,MAAM,aAAa,wBAAyB,CAAC;AAC7C,aAAK,YAAY,GAAG,OAAO,aAAa,CAAC;AACzC,aAAK,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAExC,aAAK,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjD,UAAU,eAAgB,SAAQ,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC;IACrE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,aAAK,kBAAkB,GAAG,eAAe,GAAG;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,aAAK,cAAc,GAAG,eAAe,GAAG;IACtC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC9B,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAiCF,QAAA,MAAM,MAAM,mhTA2EX,CAAC;AA6DF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGnE,QAAA,MAAM,YAAY,uFAQR,CAAC;AACX,aAAK,WAAW,GAAG,OAAO,YAAY,CAAC;AACvC,aAAK,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAEtC,QAAA,MAAM,aAAa,wBAAyB,CAAC;AAC7C,aAAK,YAAY,GAAG,OAAO,aAAa,CAAC;AACzC,aAAK,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAExC,aAAK,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjD,UAAU,eAAgB,SAAQ,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC;IACrE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,aAAK,kBAAkB,GAAG,eAAe,GAAG;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,aAAK,cAAc,GAAG,eAAe,GAAG;IACtC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;IAC9B,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAiCF,QAAA,MAAM,MAAM,mhTA6EX,CAAC;AA6DF,eAAe,MAAM,CAAC"}
package/dist/Button.js CHANGED
@@ -54,7 +54,8 @@ var Button = /*#__PURE__*/React.forwardRef((props, ref) => {
54
54
  className,
55
55
  style,
56
56
  children,
57
- 'data-testid': dataTestId
57
+ 'data-testid': dataTestId,
58
+ 'aria-label': ariaLabel
58
59
  } = props;
59
60
  var iconOnly = icon && !children;
60
61
  var btnClassName = getClassName(kind, iconOnly);
@@ -88,7 +89,8 @@ var Button = /*#__PURE__*/React.forwardRef((props, ref) => {
88
89
  }, className),
89
90
  onClick: onClick,
90
91
  style: style,
91
- disabled: disabled
92
+ disabled: disabled,
93
+ "aria-label": ariaLabel
92
94
  }, icon && iconElem, children, tooltip && !disabled && tooltipElem); // disabled buttons tooltips need a wrapped element to receive pointer events
93
95
  // https://jakearchibald.com/2017/events-and-disabled-form-fields/
94
96
 
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","names":["React","PropTypes","classNames","FontAwesomeIcon","Tooltip","BUTTON_KINDS","VARIANT_KINDS","getClassName","kind","iconOnly","getVariantClasses","Button","forwardRef","props","ref","variant","type","tooltip","icon","disabled","active","onClick","className","style","children","dataTestId","btnClassName","variantClassName","iconElem","isValidElement","tooltipElem","button","displayName","propTypes","oneOf","isRequired","Error","iconName","bool","undefined","node","string","object","defaultProps"],"sources":["../src/Button.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\nimport { Tooltip } from './popper';\n\nconst BUTTON_KINDS = [\n 'primary',\n 'secondary',\n 'tertiary',\n 'success',\n 'danger',\n 'inline',\n 'ghost',\n] as const;\ntype ButtonTuple = typeof BUTTON_KINDS;\ntype ButtonKind = ButtonTuple[number];\n\nconst VARIANT_KINDS = ['group-end'] as const;\ntype VariantTuple = typeof VARIANT_KINDS;\ntype VariantKind = VariantTuple[number];\n\ntype ButtonTypes = 'submit' | 'reset' | 'button';\n\ninterface BaseButtonProps extends React.ComponentPropsWithRef<'button'> {\n kind: ButtonKind;\n type?: ButtonTypes;\n variant?: VariantKind;\n tooltip?: string | JSX.Element;\n icon?: IconDefinition | JSX.Element;\n active?: boolean;\n 'data-testid'?: string;\n}\n\ntype ButtonWithChildren = BaseButtonProps & {\n children: React.ReactNode;\n};\n\ntype IconOnlyButton = BaseButtonProps & {\n tooltip: string | JSX.Element;\n icon: IconDefinition | JSX.Element;\n children?: undefined;\n};\n\ntype ButtonProps = IconOnlyButton | ButtonWithChildren;\n\nfunction getClassName(kind: ButtonKind, iconOnly: boolean): string {\n switch (kind) {\n case 'primary':\n return 'btn-primary';\n case 'secondary':\n return 'btn-outline-primary';\n case 'tertiary':\n return 'btn-secondary';\n case 'success':\n return 'btn-success';\n case 'danger':\n return 'btn-danger';\n case 'inline':\n return 'btn-inline';\n case 'ghost':\n return classNames('btn-link', {\n 'btn-link-icon': iconOnly,\n 'px-2': iconOnly,\n });\n }\n}\n\nfunction getVariantClasses(kind: VariantKind): string {\n switch (kind) {\n case 'group-end':\n return classNames('pl-2', 'pr-3');\n }\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props: ButtonProps, ref) => {\n const {\n kind,\n variant,\n type,\n tooltip,\n icon,\n disabled,\n active,\n onClick,\n className,\n style,\n children,\n 'data-testid': dataTestId,\n } = props;\n\n const iconOnly = (icon && !children) as boolean;\n const btnClassName = getClassName(kind, iconOnly);\n\n let variantClassName;\n if (variant) {\n variantClassName = getVariantClasses(variant);\n }\n\n let iconElem: JSX.Element | undefined;\n if (icon) {\n iconElem = React.isValidElement(icon) ? (\n icon\n ) : (\n <FontAwesomeIcon icon={icon as IconDefinition} />\n );\n }\n\n let tooltipElem: JSX.Element | undefined;\n if (tooltip) {\n tooltipElem =\n typeof tooltip === 'string' ? <Tooltip>{tooltip}</Tooltip> : tooltip;\n }\n\n const button = (\n <button\n data-testid={dataTestId}\n ref={ref}\n // eslint-disable-next-line react/button-has-type\n type={type}\n className={classNames(\n 'btn',\n btnClassName,\n variantClassName,\n { active },\n className\n )}\n onClick={onClick}\n style={style}\n disabled={disabled}\n >\n {icon && iconElem}\n {children}\n {tooltip && !disabled && tooltipElem}\n </button>\n );\n\n // disabled buttons tooltips need a wrapped element to receive pointer events\n // https://jakearchibald.com/2017/events-and-disabled-form-fields/\n\n return disabled ? (\n <span className=\"btn-disabled-wrapper\">\n {button}\n {tooltip && tooltipElem}\n </span>\n ) : (\n button\n );\n }\n);\n\nButton.displayName = 'Button';\n\nButton.propTypes = {\n kind: PropTypes.oneOf(BUTTON_KINDS).isRequired,\n variant: PropTypes.oneOf(VARIANT_KINDS),\n type: PropTypes.oneOf<ButtonTypes>(['submit', 'reset', 'button']),\n tooltip(props) {\n const { tooltip, icon, children } = props;\n if (!tooltip && icon && !children) {\n return new Error('Tooltip is required for icon only buttons');\n }\n return null;\n },\n icon(props) {\n const { children, icon } = props;\n if (!icon && !children) {\n return new Error('Icon is required if no children are provided');\n }\n\n if (!children && !React.isValidElement(icon) && !icon?.iconName) {\n return new Error(\n 'Icon must be react element or fontawesome IconDefinition'\n );\n }\n\n return null;\n },\n disabled: PropTypes.bool,\n active: PropTypes.bool,\n onClick(props) {\n const { onClick, type } = props;\n if (type === 'button' && typeof onClick !== 'function') {\n return new Error('type button requires an onClick function');\n }\n if (onClick !== undefined && typeof onClick !== 'function') {\n return new Error('onClick must be a function');\n }\n return null;\n },\n children: PropTypes.node,\n className: PropTypes.string,\n style: PropTypes.object,\n 'data-testid': PropTypes.string,\n};\n\nButton.defaultProps = {\n type: 'button',\n onClick: undefined,\n variant: undefined,\n tooltip: undefined,\n icon: undefined,\n disabled: false,\n active: undefined,\n children: undefined,\n className: undefined,\n style: {},\n 'data-testid': undefined,\n};\n\nexport default Button;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","names":["React","PropTypes","classNames","FontAwesomeIcon","Tooltip","BUTTON_KINDS","VARIANT_KINDS","getClassName","kind","iconOnly","getVariantClasses","Button","forwardRef","props","ref","variant","type","tooltip","icon","disabled","active","onClick","className","style","children","dataTestId","ariaLabel","btnClassName","variantClassName","iconElem","isValidElement","tooltipElem","button","displayName","propTypes","oneOf","isRequired","Error","iconName","bool","undefined","node","string","object","defaultProps"],"sources":["../src/Button.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconDefinition } from '@fortawesome/fontawesome-svg-core';\nimport { Tooltip } from './popper';\n\nconst BUTTON_KINDS = [\n 'primary',\n 'secondary',\n 'tertiary',\n 'success',\n 'danger',\n 'inline',\n 'ghost',\n] as const;\ntype ButtonTuple = typeof BUTTON_KINDS;\ntype ButtonKind = ButtonTuple[number];\n\nconst VARIANT_KINDS = ['group-end'] as const;\ntype VariantTuple = typeof VARIANT_KINDS;\ntype VariantKind = VariantTuple[number];\n\ntype ButtonTypes = 'submit' | 'reset' | 'button';\n\ninterface BaseButtonProps extends React.ComponentPropsWithRef<'button'> {\n kind: ButtonKind;\n type?: ButtonTypes;\n variant?: VariantKind;\n tooltip?: string | JSX.Element;\n icon?: IconDefinition | JSX.Element;\n active?: boolean;\n 'data-testid'?: string;\n 'aria-label'?: string;\n}\n\ntype ButtonWithChildren = BaseButtonProps & {\n children: React.ReactNode;\n};\n\ntype IconOnlyButton = BaseButtonProps & {\n tooltip: string | JSX.Element;\n icon: IconDefinition | JSX.Element;\n children?: undefined;\n};\n\ntype ButtonProps = IconOnlyButton | ButtonWithChildren;\n\nfunction getClassName(kind: ButtonKind, iconOnly: boolean): string {\n switch (kind) {\n case 'primary':\n return 'btn-primary';\n case 'secondary':\n return 'btn-outline-primary';\n case 'tertiary':\n return 'btn-secondary';\n case 'success':\n return 'btn-success';\n case 'danger':\n return 'btn-danger';\n case 'inline':\n return 'btn-inline';\n case 'ghost':\n return classNames('btn-link', {\n 'btn-link-icon': iconOnly,\n 'px-2': iconOnly,\n });\n }\n}\n\nfunction getVariantClasses(kind: VariantKind): string {\n switch (kind) {\n case 'group-end':\n return classNames('pl-2', 'pr-3');\n }\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props: ButtonProps, ref) => {\n const {\n kind,\n variant,\n type,\n tooltip,\n icon,\n disabled,\n active,\n onClick,\n className,\n style,\n children,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n } = props;\n\n const iconOnly = (icon && !children) as boolean;\n const btnClassName = getClassName(kind, iconOnly);\n\n let variantClassName;\n if (variant) {\n variantClassName = getVariantClasses(variant);\n }\n\n let iconElem: JSX.Element | undefined;\n if (icon) {\n iconElem = React.isValidElement(icon) ? (\n icon\n ) : (\n <FontAwesomeIcon icon={icon as IconDefinition} />\n );\n }\n\n let tooltipElem: JSX.Element | undefined;\n if (tooltip) {\n tooltipElem =\n typeof tooltip === 'string' ? <Tooltip>{tooltip}</Tooltip> : tooltip;\n }\n\n const button = (\n <button\n data-testid={dataTestId}\n ref={ref}\n // eslint-disable-next-line react/button-has-type\n type={type}\n className={classNames(\n 'btn',\n btnClassName,\n variantClassName,\n { active },\n className\n )}\n onClick={onClick}\n style={style}\n disabled={disabled}\n aria-label={ariaLabel}\n >\n {icon && iconElem}\n {children}\n {tooltip && !disabled && tooltipElem}\n </button>\n );\n\n // disabled buttons tooltips need a wrapped element to receive pointer events\n // https://jakearchibald.com/2017/events-and-disabled-form-fields/\n\n return disabled ? (\n <span className=\"btn-disabled-wrapper\">\n {button}\n {tooltip && tooltipElem}\n </span>\n ) : (\n button\n );\n }\n);\n\nButton.displayName = 'Button';\n\nButton.propTypes = {\n kind: PropTypes.oneOf(BUTTON_KINDS).isRequired,\n variant: PropTypes.oneOf(VARIANT_KINDS),\n type: PropTypes.oneOf<ButtonTypes>(['submit', 'reset', 'button']),\n tooltip(props) {\n const { tooltip, icon, children } = props;\n if (!tooltip && icon && !children) {\n return new Error('Tooltip is required for icon only buttons');\n }\n return null;\n },\n icon(props) {\n const { children, icon } = props;\n if (!icon && !children) {\n return new Error('Icon is required if no children are provided');\n }\n\n if (!children && !React.isValidElement(icon) && !icon?.iconName) {\n return new Error(\n 'Icon must be react element or fontawesome IconDefinition'\n );\n }\n\n return null;\n },\n disabled: PropTypes.bool,\n active: PropTypes.bool,\n onClick(props) {\n const { onClick, type } = props;\n if (type === 'button' && typeof onClick !== 'function') {\n return new Error('type button requires an onClick function');\n }\n if (onClick !== undefined && typeof onClick !== 'function') {\n return new Error('onClick must be a function');\n }\n return null;\n },\n children: PropTypes.node,\n className: PropTypes.string,\n style: PropTypes.object,\n 'data-testid': PropTypes.string,\n};\n\nButton.defaultProps = {\n type: 'button',\n onClick: undefined,\n variant: undefined,\n tooltip: undefined,\n icon: undefined,\n disabled: false,\n active: undefined,\n children: undefined,\n className: undefined,\n style: {},\n 'data-testid': undefined,\n};\n\nexport default Button;\n"],"mappings":"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"}
@@ -170,7 +170,7 @@ class ItemListItem extends Component {
170
170
  onMouseUp: this.handleMouseUp,
171
171
  tabIndex: -1,
172
172
  ref: this.itemRef,
173
- role: "presentation",
173
+ role: "listitem",
174
174
  style: style,
175
175
  onFocus: this.handleFocus,
176
176
  onBlur: this.handleBlur,
@@ -1 +1 @@
1
- {"version":3,"file":"ItemListItem.js","names":["React","Component","classNames","Log","log","module","ItemListItem","handleKeyDown","constructor","props","handleBlur","bind","handleFocus","handleClick","handleContextMenu","handleDragStart","handleDrag","handleDragOver","handleDragEnd","handleDrop","handleDoubleClick","handleMouseDown","handleMouseMove","handleMouseUp","itemRef","createRef","e","itemIndex","onBlur","onFocus","onClick","onContextMenu","onDragStart","onDrag","preventDefault","onDragOver","onDragEnd","onDrop","onDoubleClick","onMouseMove","onMouseDown","onMouseUp","render","isDraggable","isFocused","isSelected","style","children","dataTestId","active","disableSelect","undefined"],"sources":["../src/ItemListItem.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport classNames from 'classnames';\nimport './ItemListItem.scss';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('ItemListItem');\n\ninterface ItemListItemProps {\n isDraggable: boolean;\n isFocused: boolean;\n isSelected: boolean;\n itemIndex: number;\n disableSelect: boolean;\n onBlur(index: number, e: React.FocusEvent<HTMLDivElement>): void;\n onClick(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onContextMenu(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onDragStart(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDrag(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDragOver(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDragEnd(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDrop(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDoubleClick(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onFocus(index: number, e: React.FocusEvent<HTMLDivElement>): void;\n onMouseDown(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onMouseMove(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onMouseUp(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n style: React.CSSProperties;\n children: React.ReactNode;\n 'data-testid'?: string;\n}\n\nclass ItemListItem extends Component<ItemListItemProps, Record<string, never>> {\n static defaultProps = {\n children: null,\n isDraggable: false,\n isFocused: false,\n isSelected: false,\n itemIndex: 0,\n disableSelect: false,\n 'data-testid': undefined,\n\n onBlur(): void {\n // no-op\n },\n onClick(): void {\n // no-op\n },\n onContextMenu(): void {\n // no-op\n },\n onDragStart(): void {\n // no-op\n },\n onDrag(): void {\n // no-op\n },\n onDragOver(): void {\n // no-op\n },\n onDragEnd(): void {\n // no-op\n },\n onDrop(): void {\n // no-op\n },\n onDoubleClick(): void {\n // no-op\n },\n onFocus(): void {\n // no-op\n },\n onMouseDown(): void {\n // no-op\n },\n onMouseMove(): void {\n // no-op\n },\n onMouseUp(): void {\n // no-op\n },\n style: {},\n };\n\n static handleKeyDown(): boolean {\n log.log('ItemListItem.handleKeyDown false');\n return false;\n }\n\n constructor(props: ItemListItemProps) {\n super(props);\n\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleContextMenu = this.handleContextMenu.bind(this);\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDrag = this.handleDrag.bind(this);\n this.handleDragOver = this.handleDragOver.bind(this);\n this.handleDragEnd = this.handleDragEnd.bind(this);\n this.handleDrop = this.handleDrop.bind(this);\n this.handleDoubleClick = this.handleDoubleClick.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseUp = this.handleMouseUp.bind(this);\n\n this.itemRef = React.createRef();\n }\n\n itemRef: React.RefObject<HTMLDivElement>;\n\n handleBlur(e: React.FocusEvent<HTMLDivElement>): void {\n const { itemIndex, onBlur } = this.props;\n onBlur(itemIndex, e);\n }\n\n handleFocus(e: React.FocusEvent<HTMLDivElement>): void {\n const { itemIndex, onFocus } = this.props;\n onFocus(itemIndex, e);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onClick } = this.props;\n onClick(itemIndex, e);\n }\n\n handleContextMenu(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onContextMenu } = this.props;\n onContextMenu(itemIndex, e);\n }\n\n handleDragStart(e: React.DragEvent<HTMLDivElement>): void {\n const { itemIndex, onDragStart } = this.props;\n onDragStart(itemIndex, e);\n }\n\n handleDrag(e: React.DragEvent<HTMLDivElement>): void {\n const { itemIndex, onDrag } = this.props;\n onDrag(itemIndex, e);\n }\n\n handleDragOver(e: React.DragEvent<HTMLDivElement>): void {\n // Have to call preventDefault otherwise onDrop won't get triggered\n e.preventDefault();\n const { itemIndex, onDragOver } = this.props;\n onDragOver(itemIndex, e);\n }\n\n handleDragEnd(e: React.DragEvent<HTMLDivElement>): void {\n const { itemIndex, onDragEnd } = this.props;\n onDragEnd(itemIndex, e);\n }\n\n handleDrop(e: React.DragEvent<HTMLDivElement>): void {\n const { itemIndex, onDrop } = this.props;\n onDrop(itemIndex, e);\n }\n\n handleDoubleClick(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onDoubleClick } = this.props;\n onDoubleClick(itemIndex, e);\n }\n\n handleMouseMove(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onMouseMove } = this.props;\n onMouseMove(itemIndex, e);\n }\n\n handleMouseDown(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onMouseDown } = this.props;\n onMouseDown(itemIndex, e);\n }\n\n handleMouseUp(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onMouseUp } = this.props;\n onMouseUp(itemIndex, e);\n }\n\n render(): JSX.Element {\n const {\n isDraggable,\n isFocused,\n isSelected,\n style,\n children,\n 'data-testid': dataTestId,\n } = this.props;\n return (\n <div\n className={classNames(\n 'item-list-item',\n { active: isSelected },\n { 'is-focused': isFocused },\n { 'is-draggable': isDraggable }\n )}\n onKeyDown={ItemListItem.handleKeyDown}\n onContextMenu={this.handleContextMenu}\n onClick={this.handleClick}\n onDrag={this.handleDrag}\n onDragStart={this.handleDragStart}\n onDragOver={this.handleDragOver}\n onDragEnd={this.handleDragEnd}\n onDrop={this.handleDrop}\n onDoubleClick={this.handleDoubleClick}\n onMouseDown={this.handleMouseDown}\n onMouseMove={this.handleMouseMove}\n onMouseUp={this.handleMouseUp}\n tabIndex={-1}\n ref={this.itemRef}\n role=\"presentation\"\n style={style}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n draggable={isDraggable}\n data-testid={dataTestId}\n >\n {children}\n </div>\n );\n }\n}\n\nexport default ItemListItem;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ItemListItem.js","names":["React","Component","classNames","Log","log","module","ItemListItem","handleKeyDown","constructor","props","handleBlur","bind","handleFocus","handleClick","handleContextMenu","handleDragStart","handleDrag","handleDragOver","handleDragEnd","handleDrop","handleDoubleClick","handleMouseDown","handleMouseMove","handleMouseUp","itemRef","createRef","e","itemIndex","onBlur","onFocus","onClick","onContextMenu","onDragStart","onDrag","preventDefault","onDragOver","onDragEnd","onDrop","onDoubleClick","onMouseMove","onMouseDown","onMouseUp","render","isDraggable","isFocused","isSelected","style","children","dataTestId","active","disableSelect","undefined"],"sources":["../src/ItemListItem.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport classNames from 'classnames';\nimport './ItemListItem.scss';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('ItemListItem');\n\ninterface ItemListItemProps {\n isDraggable: boolean;\n isFocused: boolean;\n isSelected: boolean;\n itemIndex: number;\n disableSelect: boolean;\n onBlur(index: number, e: React.FocusEvent<HTMLDivElement>): void;\n onClick(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onContextMenu(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onDragStart(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDrag(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDragOver(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDragEnd(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDrop(index: number, e: React.DragEvent<HTMLDivElement>): void;\n onDoubleClick(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onFocus(index: number, e: React.FocusEvent<HTMLDivElement>): void;\n onMouseDown(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onMouseMove(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n onMouseUp(index: number, e: React.MouseEvent<HTMLDivElement>): void;\n style: React.CSSProperties;\n children: React.ReactNode;\n 'data-testid'?: string;\n}\n\nclass ItemListItem extends Component<ItemListItemProps, Record<string, never>> {\n static defaultProps = {\n children: null,\n isDraggable: false,\n isFocused: false,\n isSelected: false,\n itemIndex: 0,\n disableSelect: false,\n 'data-testid': undefined,\n\n onBlur(): void {\n // no-op\n },\n onClick(): void {\n // no-op\n },\n onContextMenu(): void {\n // no-op\n },\n onDragStart(): void {\n // no-op\n },\n onDrag(): void {\n // no-op\n },\n onDragOver(): void {\n // no-op\n },\n onDragEnd(): void {\n // no-op\n },\n onDrop(): void {\n // no-op\n },\n onDoubleClick(): void {\n // no-op\n },\n onFocus(): void {\n // no-op\n },\n onMouseDown(): void {\n // no-op\n },\n onMouseMove(): void {\n // no-op\n },\n onMouseUp(): void {\n // no-op\n },\n style: {},\n };\n\n static handleKeyDown(): boolean {\n log.log('ItemListItem.handleKeyDown false');\n return false;\n }\n\n constructor(props: ItemListItemProps) {\n super(props);\n\n this.handleBlur = this.handleBlur.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleContextMenu = this.handleContextMenu.bind(this);\n this.handleDragStart = this.handleDragStart.bind(this);\n this.handleDrag = this.handleDrag.bind(this);\n this.handleDragOver = this.handleDragOver.bind(this);\n this.handleDragEnd = this.handleDragEnd.bind(this);\n this.handleDrop = this.handleDrop.bind(this);\n this.handleDoubleClick = this.handleDoubleClick.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseUp = this.handleMouseUp.bind(this);\n\n this.itemRef = React.createRef();\n }\n\n itemRef: React.RefObject<HTMLDivElement>;\n\n handleBlur(e: React.FocusEvent<HTMLDivElement>): void {\n const { itemIndex, onBlur } = this.props;\n onBlur(itemIndex, e);\n }\n\n handleFocus(e: React.FocusEvent<HTMLDivElement>): void {\n const { itemIndex, onFocus } = this.props;\n onFocus(itemIndex, e);\n }\n\n handleClick(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onClick } = this.props;\n onClick(itemIndex, e);\n }\n\n handleContextMenu(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onContextMenu } = this.props;\n onContextMenu(itemIndex, e);\n }\n\n handleDragStart(e: React.DragEvent<HTMLDivElement>): void {\n const { itemIndex, onDragStart } = this.props;\n onDragStart(itemIndex, e);\n }\n\n handleDrag(e: React.DragEvent<HTMLDivElement>): void {\n const { itemIndex, onDrag } = this.props;\n onDrag(itemIndex, e);\n }\n\n handleDragOver(e: React.DragEvent<HTMLDivElement>): void {\n // Have to call preventDefault otherwise onDrop won't get triggered\n e.preventDefault();\n const { itemIndex, onDragOver } = this.props;\n onDragOver(itemIndex, e);\n }\n\n handleDragEnd(e: React.DragEvent<HTMLDivElement>): void {\n const { itemIndex, onDragEnd } = this.props;\n onDragEnd(itemIndex, e);\n }\n\n handleDrop(e: React.DragEvent<HTMLDivElement>): void {\n const { itemIndex, onDrop } = this.props;\n onDrop(itemIndex, e);\n }\n\n handleDoubleClick(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onDoubleClick } = this.props;\n onDoubleClick(itemIndex, e);\n }\n\n handleMouseMove(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onMouseMove } = this.props;\n onMouseMove(itemIndex, e);\n }\n\n handleMouseDown(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onMouseDown } = this.props;\n onMouseDown(itemIndex, e);\n }\n\n handleMouseUp(e: React.MouseEvent<HTMLDivElement>): void {\n const { itemIndex, onMouseUp } = this.props;\n onMouseUp(itemIndex, e);\n }\n\n render(): JSX.Element {\n const {\n isDraggable,\n isFocused,\n isSelected,\n style,\n children,\n 'data-testid': dataTestId,\n } = this.props;\n return (\n <div\n className={classNames(\n 'item-list-item',\n { active: isSelected },\n { 'is-focused': isFocused },\n { 'is-draggable': isDraggable }\n )}\n onKeyDown={ItemListItem.handleKeyDown}\n onContextMenu={this.handleContextMenu}\n onClick={this.handleClick}\n onDrag={this.handleDrag}\n onDragStart={this.handleDragStart}\n onDragOver={this.handleDragOver}\n onDragEnd={this.handleDragEnd}\n onDrop={this.handleDrop}\n onDoubleClick={this.handleDoubleClick}\n onMouseDown={this.handleMouseDown}\n onMouseMove={this.handleMouseMove}\n onMouseUp={this.handleMouseUp}\n tabIndex={-1}\n ref={this.itemRef}\n role=\"listitem\"\n style={style}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n draggable={isDraggable}\n data-testid={dataTestId}\n >\n {children}\n </div>\n );\n }\n}\n\nexport default ItemListItem;\n"],"mappings":"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"}
@@ -3,9 +3,11 @@ import './SearchInput.scss';
3
3
  interface SearchInputProps {
4
4
  value: string;
5
5
  placeholder: string;
6
+ onBlur?: React.FocusEventHandler<HTMLInputElement>;
6
7
  onChange: React.ChangeEventHandler<HTMLInputElement>;
7
8
  onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;
8
9
  className: string;
10
+ disabled?: boolean;
9
11
  matchCount: number;
10
12
  id: string;
11
13
  'data-testid'?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../src/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI7C,OAAO,oBAAoB,CAAC;AAE5B,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACrD,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,cAAM,WAAY,SAAQ,aAAa,CAAC,gBAAgB,CAAC;IACvD,MAAM,CAAC,YAAY;;;;qBAIJ,IAAI;;;MAKjB;gBAEU,KAAK,EAAE,gBAAgB;IAKnC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE9C,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,GAAG,CAAC,OAAO;CAiCtB;AAED,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../src/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI7C,OAAO,oBAAoB,CAAC;AAE5B,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACnD,QAAQ,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACrD,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,cAAM,WAAY,SAAQ,aAAa,CAAC,gBAAgB,CAAC;IACvD,MAAM,CAAC,YAAY;;;;qBAIJ,IAAI;;;MAKjB;gBAEU,KAAK,EAAE,gBAAgB;IAKnC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAE9C,KAAK,IAAI,IAAI;IAIb,MAAM,IAAI,GAAG,CAAC,OAAO;CAqCtB;AAED,eAAe,WAAW,CAAC"}
@@ -25,8 +25,10 @@ class SearchInput extends PureComponent {
25
25
  var {
26
26
  value,
27
27
  placeholder,
28
+ onBlur,
28
29
  onChange,
29
30
  className,
31
+ disabled,
30
32
  matchCount,
31
33
  id,
32
34
  onKeyDown,
@@ -37,9 +39,11 @@ class SearchInput extends PureComponent {
37
39
  }, /*#__PURE__*/React.createElement("input", {
38
40
  type: "search",
39
41
  value: value,
42
+ onBlur: onBlur,
40
43
  onChange: onChange,
41
44
  onKeyDown: onKeyDown,
42
45
  className: "form-control",
46
+ disabled: disabled,
43
47
  placeholder: placeholder,
44
48
  ref: this.inputField,
45
49
  id: id,
@@ -1 +1 @@
1
- {"version":3,"file":"SearchInput.js","names":["React","PureComponent","FontAwesomeIcon","vsSearch","classNames","SearchInput","constructor","props","inputField","createRef","focus","current","render","value","placeholder","onChange","className","matchCount","id","onKeyDown","dataTestId","undefined"],"sources":["../src/SearchInput.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsSearch } from '@deephaven/icons';\nimport classNames from 'classnames';\nimport './SearchInput.scss';\n\ninterface SearchInputProps {\n value: string;\n placeholder: string;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;\n className: string;\n matchCount: number;\n id: string;\n 'data-testid'?: string;\n}\n\nclass SearchInput extends PureComponent<SearchInputProps> {\n static defaultProps = {\n placeholder: 'Search',\n className: '',\n matchCount: null,\n onKeyDown(): void {\n // no-op\n },\n id: '',\n 'data-testid': undefined,\n };\n\n constructor(props: SearchInputProps) {\n super(props);\n this.inputField = React.createRef();\n }\n\n inputField: React.RefObject<HTMLInputElement>;\n\n focus(): void {\n this.inputField.current?.focus();\n }\n\n render(): JSX.Element {\n const {\n value,\n placeholder,\n onChange,\n className,\n matchCount,\n id,\n onKeyDown,\n 'data-testid': dataTestId,\n } = this.props;\n return (\n <div className={classNames('search-group', className)}>\n <input\n type=\"search\"\n value={value}\n onChange={onChange}\n onKeyDown={onKeyDown}\n className=\"form-control\"\n placeholder={placeholder}\n ref={this.inputField}\n id={id}\n data-testid={dataTestId}\n />\n {matchCount != null && (\n <span className=\"search-match\">{matchCount}</span>\n )}\n <span className=\"search-icon\">\n <FontAwesomeIcon icon={vsSearch} />\n </span>\n </div>\n );\n }\n}\n\nexport default SearchInput;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,aAAhB,QAAqC,OAArC;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,OAAOC,UAAP,MAAuB,YAAvB;;;AAcA,MAAMC,WAAN,SAA0BJ,aAA1B,CAA0D;EAYxDK,WAAW,CAACC,KAAD,EAA0B;IACnC,MAAMA,KAAN;;IADmC;;IAEnC,KAAKC,UAAL,gBAAkBR,KAAK,CAACS,SAAN,EAAlB;EACD;;EAIDC,KAAK,GAAS;IAAA;;IACZ,8BAAKF,UAAL,CAAgBG,OAAhB,gFAAyBD,KAAzB;EACD;;EAEDE,MAAM,GAAgB;IACpB,IAAM;MACJC,KADI;MAEJC,WAFI;MAGJC,QAHI;MAIJC,SAJI;MAKJC,UALI;MAMJC,EANI;MAOJC,SAPI;MAQJ,eAAeC;IARX,IASF,KAAKb,KATT;IAUA,oBACE;MAAK,SAAS,EAAEH,UAAU,CAAC,cAAD,EAAiBY,SAAjB;IAA1B,gBACE;MACE,IAAI,EAAC,QADP;MAEE,KAAK,EAAEH,KAFT;MAGE,QAAQ,EAAEE,QAHZ;MAIE,SAAS,EAAEI,SAJb;MAKE,SAAS,EAAC,cALZ;MAME,WAAW,EAAEL,WANf;MAOE,GAAG,EAAE,KAAKN,UAPZ;MAQE,EAAE,EAAEU,EARN;MASE,eAAaE;IATf,EADF,EAYGH,UAAU,IAAI,IAAd,iBACC;MAAM,SAAS,EAAC;IAAhB,GAAgCA,UAAhC,CAbJ,eAeE;MAAM,SAAS,EAAC;IAAhB,gBACE,oBAAC,eAAD;MAAiB,IAAI,EAAEd;IAAvB,EADF,CAfF,CADF;EAqBD;;AAvDuD;;gBAApDE,W,kBACkB;EACpBS,WAAW,EAAE,QADO;EAEpBE,SAAS,EAAE,EAFS;EAGpBC,UAAU,EAAE,IAHQ;;EAIpBE,SAAS,GAAS,CAChB;EACD,CANmB;;EAOpBD,EAAE,EAAE,EAPgB;EAQpB,eAAeG;AARK,C;;AAyDxB,eAAehB,WAAf"}
1
+ {"version":3,"file":"SearchInput.js","names":["React","PureComponent","FontAwesomeIcon","vsSearch","classNames","SearchInput","constructor","props","inputField","createRef","focus","current","render","value","placeholder","onBlur","onChange","className","disabled","matchCount","id","onKeyDown","dataTestId","undefined"],"sources":["../src/SearchInput.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsSearch } from '@deephaven/icons';\nimport classNames from 'classnames';\nimport './SearchInput.scss';\n\ninterface SearchInputProps {\n value: string;\n placeholder: string;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n onChange: React.ChangeEventHandler<HTMLInputElement>;\n onKeyDown: React.KeyboardEventHandler<HTMLInputElement>;\n className: string;\n disabled?: boolean;\n matchCount: number;\n id: string;\n 'data-testid'?: string;\n}\n\nclass SearchInput extends PureComponent<SearchInputProps> {\n static defaultProps = {\n placeholder: 'Search',\n className: '',\n matchCount: null,\n onKeyDown(): void {\n // no-op\n },\n id: '',\n 'data-testid': undefined,\n };\n\n constructor(props: SearchInputProps) {\n super(props);\n this.inputField = React.createRef();\n }\n\n inputField: React.RefObject<HTMLInputElement>;\n\n focus(): void {\n this.inputField.current?.focus();\n }\n\n render(): JSX.Element {\n const {\n value,\n placeholder,\n onBlur,\n onChange,\n className,\n disabled,\n matchCount,\n id,\n onKeyDown,\n 'data-testid': dataTestId,\n } = this.props;\n return (\n <div className={classNames('search-group', className)}>\n <input\n type=\"search\"\n value={value}\n onBlur={onBlur}\n onChange={onChange}\n onKeyDown={onKeyDown}\n className=\"form-control\"\n disabled={disabled}\n placeholder={placeholder}\n ref={this.inputField}\n id={id}\n data-testid={dataTestId}\n />\n {matchCount != null && (\n <span className=\"search-match\">{matchCount}</span>\n )}\n <span className=\"search-icon\">\n <FontAwesomeIcon icon={vsSearch} />\n </span>\n </div>\n );\n }\n}\n\nexport default SearchInput;\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,aAAhB,QAAqC,OAArC;AACA,SAASC,eAAT,QAAgC,gCAAhC;AACA,SAASC,QAAT,QAAyB,kBAAzB;AACA,OAAOC,UAAP,MAAuB,YAAvB;;;AAgBA,MAAMC,WAAN,SAA0BJ,aAA1B,CAA0D;EAYxDK,WAAW,CAACC,KAAD,EAA0B;IACnC,MAAMA,KAAN;;IADmC;;IAEnC,KAAKC,UAAL,gBAAkBR,KAAK,CAACS,SAAN,EAAlB;EACD;;EAIDC,KAAK,GAAS;IAAA;;IACZ,8BAAKF,UAAL,CAAgBG,OAAhB,gFAAyBD,KAAzB;EACD;;EAEDE,MAAM,GAAgB;IACpB,IAAM;MACJC,KADI;MAEJC,WAFI;MAGJC,MAHI;MAIJC,QAJI;MAKJC,SALI;MAMJC,QANI;MAOJC,UAPI;MAQJC,EARI;MASJC,SATI;MAUJ,eAAeC;IAVX,IAWF,KAAKf,KAXT;IAYA,oBACE;MAAK,SAAS,EAAEH,UAAU,CAAC,cAAD,EAAiBa,SAAjB;IAA1B,gBACE;MACE,IAAI,EAAC,QADP;MAEE,KAAK,EAAEJ,KAFT;MAGE,MAAM,EAAEE,MAHV;MAIE,QAAQ,EAAEC,QAJZ;MAKE,SAAS,EAAEK,SALb;MAME,SAAS,EAAC,cANZ;MAOE,QAAQ,EAAEH,QAPZ;MAQE,WAAW,EAAEJ,WARf;MASE,GAAG,EAAE,KAAKN,UATZ;MAUE,EAAE,EAAEY,EAVN;MAWE,eAAaE;IAXf,EADF,EAcGH,UAAU,IAAI,IAAd,iBACC;MAAM,SAAS,EAAC;IAAhB,GAAgCA,UAAhC,CAfJ,eAiBE;MAAM,SAAS,EAAC;IAAhB,gBACE,oBAAC,eAAD;MAAiB,IAAI,EAAEhB;IAAvB,EADF,CAjBF,CADF;EAuBD;;AA3DuD;;gBAApDE,W,kBACkB;EACpBS,WAAW,EAAE,QADO;EAEpBG,SAAS,EAAE,EAFS;EAGpBE,UAAU,EAAE,IAHQ;;EAIpBE,SAAS,GAAS,CAChB;EACD,CANmB;;EAOpBD,EAAE,EAAE,EAPgB;EAQpB,eAAeG;AARK,C;;AA6DxB,eAAelB,WAAf"}
@@ -14,6 +14,7 @@ declare type SelectValueListProps<T> = {
14
14
  rowHeight: number;
15
15
  offset: number;
16
16
  items: SelectItem<T>[];
17
+ onBlur?: React.FocusEventHandler<Element>;
17
18
  onSelect(itemIndex: number, value: T | null): void;
18
19
  onViewportChange(topRow: number, bottomRow: number): void;
19
20
  'data-testid'?: string;
@@ -26,6 +27,7 @@ declare class SelectValueList<T> extends PureComponent<SelectValueListProps<T>>
26
27
  static defaultProps: {
27
28
  disabled: boolean;
28
29
  rowHeight: number;
30
+ onBlur: () => void;
29
31
  'data-testid': undefined;
30
32
  };
31
33
  constructor(props: SelectValueListProps<T>);
@@ -36,9 +38,12 @@ declare class SelectValueList<T> extends PureComponent<SelectValueListProps<T>>
36
38
  bottomRow: number | null;
37
39
  getCachedItem: ((itemIndex: number, key: number, value: T, displayValue: string | undefined, rowHeight: number, isSelected: boolean, disabled: boolean) => JSX.Element) & memoize.Memoized<(itemIndex: number, key: number, value: T, displayValue: string | undefined, rowHeight: number, isSelected: boolean, disabled: boolean) => JSX.Element>;
38
40
  getCachedItems: ((items: SelectItem<T>[], rowHeight: number, offset: number, disabled: boolean) => React.ReactNode) & memoize.Memoized<(items: SelectItem<T>[], rowHeight: number, offset: number, disabled: boolean) => React.ReactNode>;
41
+ handleBlur(e: React.FocusEvent): void;
39
42
  handleScroll(): void;
40
43
  handleSelect(itemIndex: number): void;
41
44
  sendViewportUpdate(): void;
45
+ getElement(itemIndex: number): Element | null;
46
+ scrollIntoView(index: number): void;
42
47
  render(): JSX.Element;
43
48
  }
44
49
  export default SelectValueList;
@@ -1 +1 @@
1
- {"version":3,"file":"SelectValueList.d.ts","sourceRoot":"","sources":["../src/SelectValueList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,OAAO,MAAM,UAAU,CAAC;AAG/B,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC;IACT,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,aAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvB,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,cAAM,eAAe,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,YAAY;;;;MAIjB;gBAEU,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAW1C,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,IAAI,IAAI;IAI1B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEtC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,aAAa,eAEE,MAAM,OACZ,MAAM,SACJ,CAAC,gBACM,MAAM,GAAG,SAAS,aACrB,MAAM,cACL,OAAO,YACT,OAAO,KAChB,WAAW,iCAPD,MAAM,OACZ,MAAM,SACJ,CAAC,gBACM,MAAM,GAAG,SAAS,aACrB,MAAM,cACL,OAAO,YACT,OAAO,KAChB,WAAW,EAmBd;IAEF,cAAc,WAEH,WAAW,CAAC,CAAC,EAAE,aACX,MAAM,UACT,MAAM,YACJ,OAAO,KAChB,MAAM,SAAS,6BAJT,WAAW,CAAC,CAAC,EAAE,aACX,MAAM,UACT,MAAM,YACJ,OAAO,KAChB,MAAM,SAAS,EAqBlB;IAEF,YAAY,IAAI,IAAI;IAIpB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYrC,kBAAkB,IAAI,IAAI;IAmB1B,MAAM,IAAI,GAAG,CAAC,OAAO;CAgDtB;AAED,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"SelectValueList.d.ts","sourceRoot":"","sources":["../src/SelectValueList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,wBAAwB,CAAC;AAEhC,OAAO,OAAO,MAAM,UAAU,CAAC;AAG/B,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,CAAC;IACT,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,aAAK,oBAAoB,CAAC,CAAC,IAAI;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvB,MAAM,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACnD,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,cAAM,eAAe,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,CAAC,YAAY;;;sBAGL,IAAI;;MAEhB;gBAEU,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAY1C,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,IAAI,IAAI;IAI1B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEtC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,aAAa,eAEE,MAAM,OACZ,MAAM,SACJ,CAAC,gBACM,MAAM,GAAG,SAAS,aACrB,MAAM,cACL,OAAO,YACT,OAAO,KAChB,WAAW,iCAPD,MAAM,OACZ,MAAM,SACJ,CAAC,gBACM,MAAM,GAAG,SAAS,aACrB,MAAM,cACL,OAAO,YACT,OAAO,KAChB,WAAW,EAoBd;IAEF,cAAc,WAEH,WAAW,CAAC,CAAC,EAAE,aACX,MAAM,UACT,MAAM,YACJ,OAAO,KAChB,MAAM,SAAS,6BAJT,WAAW,CAAC,CAAC,EAAE,aACX,MAAM,UACT,MAAM,YACJ,OAAO,KAChB,MAAM,SAAS,EAqBlB;IAEF,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI;IAarC,YAAY,IAAI,IAAI;IAIpB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYrC,kBAAkB,IAAI,IAAI;IAmB1B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ7C,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKnC,MAAM,IAAI,GAAG,CAAC,OAAO;CAiDtB;AAED,eAAe,eAAe,CAAC"}
@@ -25,15 +25,20 @@ class SelectValueList extends PureComponent {
25
25
  height: rowHeight
26
26
  };
27
27
  var text = displayValue != null ? displayValue : value;
28
- return /*#__PURE__*/React.createElement("li", {
29
- className: "value-list-item",
30
- style: style,
31
- key: key
32
- }, /*#__PURE__*/React.createElement(Checkbox, {
33
- checked: isSelected,
34
- disabled: disabled,
35
- onChange: () => this.handleSelect(itemIndex)
36
- }, text));
28
+ return (
29
+ /*#__PURE__*/
30
+ // Tab index is needed so the item could be a related target in the blur event details
31
+ React.createElement("li", {
32
+ className: "value-list-item",
33
+ style: style,
34
+ key: key,
35
+ tabIndex: -1
36
+ }, /*#__PURE__*/React.createElement(Checkbox, {
37
+ checked: isSelected,
38
+ disabled: disabled,
39
+ onChange: () => this.handleSelect(itemIndex)
40
+ }, text))
41
+ );
37
42
  }, {
38
43
  max: 1000
39
44
  }));
@@ -61,6 +66,7 @@ class SelectValueList extends PureComponent {
61
66
  max: 1
62
67
  }));
63
68
 
69
+ this.handleBlur = this.handleBlur.bind(this);
64
70
  this.handleScroll = this.handleScroll.bind(this);
65
71
  this.handleSelect = this.handleSelect.bind(this);
66
72
  this.list = /*#__PURE__*/React.createRef();
@@ -76,6 +82,16 @@ class SelectValueList extends PureComponent {
76
82
  this.sendViewportUpdate();
77
83
  }
78
84
 
85
+ handleBlur(e) {
86
+ if (!e.relatedTarget || this.list.current && e.relatedTarget instanceof HTMLElement && !this.list.current.contains(e.relatedTarget)) {
87
+ // Next focused element is outside of the list
88
+ var {
89
+ onBlur
90
+ } = this.props;
91
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);
92
+ }
93
+ }
94
+
79
95
  handleScroll() {
80
96
  this.sendViewportUpdate();
81
97
  }
@@ -120,6 +136,22 @@ class SelectValueList extends PureComponent {
120
136
  }
121
137
  }
122
138
 
139
+ getElement(itemIndex) {
140
+ if (this.list.current == null) {
141
+ return null;
142
+ }
143
+
144
+ var elements = this.list.current.querySelectorAll('.value-list-item');
145
+ return elements[itemIndex];
146
+ }
147
+
148
+ scrollIntoView(index) {
149
+ var element = this.getElement(index);
150
+ element === null || element === void 0 ? void 0 : element.scrollIntoView({
151
+ block: 'center'
152
+ });
153
+ }
154
+
123
155
  render() {
124
156
  var {
125
157
  className,
@@ -136,6 +168,7 @@ class SelectValueList extends PureComponent {
136
168
  className: classNames('select-value-list-scroll-pane h-100 w-100', {
137
169
  'is-invalid': isInvalid
138
170
  }, className),
171
+ onBlur: this.handleBlur,
139
172
  onScroll: this.handleScroll,
140
173
  ref: this.list,
141
174
  "data-testid": dataTestId
@@ -160,6 +193,7 @@ class SelectValueList extends PureComponent {
160
193
  _defineProperty(SelectValueList, "defaultProps", {
161
194
  disabled: false,
162
195
  rowHeight: 21,
196
+ onBlur: () => undefined,
163
197
  'data-testid': undefined
164
198
  });
165
199
 
@@ -1 +1 @@
1
- {"version":3,"file":"SelectValueList.js","names":["React","PureComponent","classNames","memoize","Checkbox","SelectValueList","constructor","props","itemIndex","key","value","displayValue","rowHeight","isSelected","disabled","style","height","text","handleSelect","max","items","offset","itemElements","i","length","item","element","getCachedItem","push","handleScroll","bind","list","createRef","topRow","bottomRow","componentDidMount","sendViewportUpdate","componentDidUpdate","onSelect","visibleItemIndex","current","clientHeight","onViewportChange","top","scrollTop","bottom","Math","floor","ceil","render","className","isInvalid","itemCount","dataTestId","getCachedItems","position","left","undefined"],"sources":["../src/SelectValueList.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport './SelectValueList.scss';\nimport classNames from 'classnames';\nimport memoize from 'memoizee';\nimport Checkbox from './Checkbox';\n\nexport interface SelectItem<T> {\n value: T;\n displayValue?: string;\n isSelected: boolean;\n}\n\ntype SelectValueListProps<T> = {\n className?: string;\n disabled: boolean;\n isInvalid?: boolean;\n // Total item count\n itemCount: number;\n rowHeight: number;\n\n // Offset of the top item in the items array\n offset: number;\n items: SelectItem<T>[];\n\n onSelect(itemIndex: number, value: T | null): void;\n onViewportChange(topRow: number, bottomRow: number): void;\n\n 'data-testid'?: string;\n};\n\n/**\n * Select values from a long scrollable list.\n * Swaps items in and out for infinite scrolling\n */\nclass SelectValueList<T> extends PureComponent<SelectValueListProps<T>> {\n static defaultProps = {\n disabled: false,\n rowHeight: 21,\n 'data-testid': undefined,\n };\n\n constructor(props: SelectValueListProps<T>) {\n super(props);\n\n this.handleScroll = this.handleScroll.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n\n this.list = React.createRef();\n this.topRow = null;\n this.bottomRow = null;\n }\n\n componentDidMount(): void {\n this.sendViewportUpdate();\n }\n\n componentDidUpdate(): void {\n this.sendViewportUpdate();\n }\n\n list: React.RefObject<HTMLDivElement>;\n\n topRow: number | null;\n\n bottomRow: number | null;\n\n getCachedItem = memoize(\n (\n itemIndex: number,\n key: number,\n value: T,\n displayValue: string | undefined,\n rowHeight: number,\n isSelected: boolean,\n disabled: boolean\n ): JSX.Element => {\n const style = {\n height: rowHeight,\n };\n const text = displayValue != null ? displayValue : value;\n\n return (\n <li className=\"value-list-item\" style={style} key={key}>\n <Checkbox\n checked={isSelected}\n disabled={disabled}\n onChange={() => this.handleSelect(itemIndex)}\n >\n {text}\n </Checkbox>\n </li>\n );\n },\n { max: 1000 }\n );\n\n getCachedItems = memoize(\n (\n items: SelectItem<T>[],\n rowHeight: number,\n offset: number,\n disabled: boolean\n ): React.ReactNode => {\n const itemElements: JSX.Element[] = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const { value, displayValue, isSelected } = item;\n const itemIndex = offset + i;\n const key = itemIndex;\n const element = this.getCachedItem(\n itemIndex,\n key,\n value,\n displayValue,\n rowHeight,\n isSelected,\n disabled\n );\n itemElements.push(element);\n }\n return itemElements;\n },\n { max: 1 }\n );\n\n handleScroll(): void {\n this.sendViewportUpdate();\n }\n\n handleSelect(itemIndex: number): void {\n const { items, offset, onSelect } = this.props;\n const visibleItemIndex = itemIndex - offset;\n if (visibleItemIndex >= 0 && visibleItemIndex < items.length) {\n const item = items[visibleItemIndex];\n const { value } = item;\n onSelect(itemIndex, value);\n } else {\n onSelect(itemIndex, null);\n }\n }\n\n sendViewportUpdate(): void {\n if (!this.list.current || this.list.current.clientHeight === 0) {\n return;\n }\n\n const { onViewportChange, rowHeight } = this.props;\n const top = this.list.current.scrollTop;\n const bottom = top + this.list.current.clientHeight;\n\n const topRow = Math.floor(top / rowHeight);\n const bottomRow = Math.ceil(bottom / rowHeight);\n\n if (this.topRow !== topRow || this.bottomRow !== bottomRow) {\n this.topRow = topRow;\n this.bottomRow = bottomRow;\n onViewportChange(topRow, bottomRow);\n }\n }\n\n render(): JSX.Element {\n const {\n className,\n disabled,\n isInvalid,\n items,\n itemCount,\n offset,\n rowHeight,\n 'data-testid': dataTestId,\n } = this.props;\n const itemElements = this.getCachedItems(\n items,\n rowHeight,\n offset,\n disabled\n );\n\n return (\n <div\n className={classNames(\n 'select-value-list-scroll-pane h-100 w-100',\n { 'is-invalid': isInvalid },\n className\n )}\n onScroll={this.handleScroll}\n ref={this.list}\n data-testid={dataTestId}\n >\n <div\n className=\"select-value-list\"\n style={{ height: itemCount * rowHeight }}\n >\n <ol\n className=\"select-value-list-content\"\n style={{\n position: 'absolute',\n height: items.length * rowHeight,\n top: offset * rowHeight,\n left: 0,\n }}\n >\n {itemElements}\n </ol>\n </div>\n </div>\n );\n }\n}\n\nexport default SelectValueList;\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectValueList.js","names":["React","PureComponent","classNames","memoize","Checkbox","SelectValueList","constructor","props","itemIndex","key","value","displayValue","rowHeight","isSelected","disabled","style","height","text","handleSelect","max","items","offset","itemElements","i","length","item","element","getCachedItem","push","handleBlur","bind","handleScroll","list","createRef","topRow","bottomRow","componentDidMount","sendViewportUpdate","componentDidUpdate","e","relatedTarget","current","HTMLElement","contains","onBlur","onSelect","visibleItemIndex","clientHeight","onViewportChange","top","scrollTop","bottom","Math","floor","ceil","getElement","elements","querySelectorAll","scrollIntoView","index","block","render","className","isInvalid","itemCount","dataTestId","getCachedItems","position","left","undefined"],"sources":["../src/SelectValueList.tsx"],"sourcesContent":["import React, { PureComponent } from 'react';\nimport './SelectValueList.scss';\nimport classNames from 'classnames';\nimport memoize from 'memoizee';\nimport Checkbox from './Checkbox';\n\nexport interface SelectItem<T> {\n value: T;\n displayValue?: string;\n isSelected: boolean;\n}\n\ntype SelectValueListProps<T> = {\n className?: string;\n disabled: boolean;\n isInvalid?: boolean;\n // Total item count\n itemCount: number;\n rowHeight: number;\n\n // Offset of the top item in the items array\n offset: number;\n items: SelectItem<T>[];\n\n onBlur?: React.FocusEventHandler<Element>;\n onSelect(itemIndex: number, value: T | null): void;\n onViewportChange(topRow: number, bottomRow: number): void;\n\n 'data-testid'?: string;\n};\n\n/**\n * Select values from a long scrollable list.\n * Swaps items in and out for infinite scrolling\n */\nclass SelectValueList<T> extends PureComponent<SelectValueListProps<T>> {\n static defaultProps = {\n disabled: false,\n rowHeight: 21,\n onBlur: (): void => undefined,\n 'data-testid': undefined,\n };\n\n constructor(props: SelectValueListProps<T>) {\n super(props);\n\n this.handleBlur = this.handleBlur.bind(this);\n this.handleScroll = this.handleScroll.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n\n this.list = React.createRef();\n this.topRow = null;\n this.bottomRow = null;\n }\n\n componentDidMount(): void {\n this.sendViewportUpdate();\n }\n\n componentDidUpdate(): void {\n this.sendViewportUpdate();\n }\n\n list: React.RefObject<HTMLDivElement>;\n\n topRow: number | null;\n\n bottomRow: number | null;\n\n getCachedItem = memoize(\n (\n itemIndex: number,\n key: number,\n value: T,\n displayValue: string | undefined,\n rowHeight: number,\n isSelected: boolean,\n disabled: boolean\n ): JSX.Element => {\n const style = {\n height: rowHeight,\n };\n const text = displayValue != null ? displayValue : value;\n\n return (\n // Tab index is needed so the item could be a related target in the blur event details\n <li className=\"value-list-item\" style={style} key={key} tabIndex={-1}>\n <Checkbox\n checked={isSelected}\n disabled={disabled}\n onChange={() => this.handleSelect(itemIndex)}\n >\n {text}\n </Checkbox>\n </li>\n );\n },\n { max: 1000 }\n );\n\n getCachedItems = memoize(\n (\n items: SelectItem<T>[],\n rowHeight: number,\n offset: number,\n disabled: boolean\n ): React.ReactNode => {\n const itemElements: JSX.Element[] = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const { value, displayValue, isSelected } = item;\n const itemIndex = offset + i;\n const key = itemIndex;\n const element = this.getCachedItem(\n itemIndex,\n key,\n value,\n displayValue,\n rowHeight,\n isSelected,\n disabled\n );\n itemElements.push(element);\n }\n return itemElements;\n },\n { max: 1 }\n );\n\n handleBlur(e: React.FocusEvent): void {\n if (\n !e.relatedTarget ||\n (this.list.current &&\n e.relatedTarget instanceof HTMLElement &&\n !this.list.current.contains(e.relatedTarget))\n ) {\n // Next focused element is outside of the list\n const { onBlur } = this.props;\n onBlur?.(e);\n }\n }\n\n handleScroll(): void {\n this.sendViewportUpdate();\n }\n\n handleSelect(itemIndex: number): void {\n const { items, offset, onSelect } = this.props;\n const visibleItemIndex = itemIndex - offset;\n if (visibleItemIndex >= 0 && visibleItemIndex < items.length) {\n const item = items[visibleItemIndex];\n const { value } = item;\n onSelect(itemIndex, value);\n } else {\n onSelect(itemIndex, null);\n }\n }\n\n sendViewportUpdate(): void {\n if (!this.list.current || this.list.current.clientHeight === 0) {\n return;\n }\n\n const { onViewportChange, rowHeight } = this.props;\n const top = this.list.current.scrollTop;\n const bottom = top + this.list.current.clientHeight;\n\n const topRow = Math.floor(top / rowHeight);\n const bottomRow = Math.ceil(bottom / rowHeight);\n\n if (this.topRow !== topRow || this.bottomRow !== bottomRow) {\n this.topRow = topRow;\n this.bottomRow = bottomRow;\n onViewportChange(topRow, bottomRow);\n }\n }\n\n getElement(itemIndex: number): Element | null {\n if (this.list.current == null) {\n return null;\n }\n const elements = this.list.current.querySelectorAll('.value-list-item');\n return elements[itemIndex];\n }\n\n scrollIntoView(index: number): void {\n const element = this.getElement(index);\n element?.scrollIntoView({ block: 'center' });\n }\n\n render(): JSX.Element {\n const {\n className,\n disabled,\n isInvalid,\n items,\n itemCount,\n offset,\n rowHeight,\n 'data-testid': dataTestId,\n } = this.props;\n const itemElements = this.getCachedItems(\n items,\n rowHeight,\n offset,\n disabled\n );\n\n return (\n <div\n className={classNames(\n 'select-value-list-scroll-pane h-100 w-100',\n { 'is-invalid': isInvalid },\n className\n )}\n onBlur={this.handleBlur}\n onScroll={this.handleScroll}\n ref={this.list}\n data-testid={dataTestId}\n >\n <div\n className=\"select-value-list\"\n style={{ height: itemCount * rowHeight }}\n >\n <ol\n className=\"select-value-list-content\"\n style={{\n position: 'absolute',\n height: items.length * rowHeight,\n top: offset * rowHeight,\n left: 0,\n }}\n >\n {itemElements}\n </ol>\n </div>\n </div>\n );\n }\n}\n\nexport default SelectValueList;\n"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,11 +1,3 @@
1
- /** Shim for using jquery in frameworks included by react (such as bootstrap) */
2
- import $ from 'jquery';
3
- declare global {
4
- interface Window {
5
- $: typeof $;
6
- jQuery: typeof $;
7
- }
8
- }
9
1
  export type { Range } from '@deephaven/utils';
10
2
  export { default as AutoCompleteInput } from './AutoCompleteInput';
11
3
  export { default as AutoResizeTextarea } from './AutoResizeTextarea';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,3 @@
1
- /** Shim for using jquery in frameworks included by react (such as bootstrap) */
2
- import $ from 'jquery';
3
- window.$ = $;
4
- window.jQuery = $;
5
1
  export { default as AutoCompleteInput } from "./AutoCompleteInput.js";
6
2
  export { default as AutoResizeTextarea } from "./AutoResizeTextarea.js";
7
3
  export { default as BasicModal } from "./BasicModal.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["$","window","jQuery","default","AutoCompleteInput","AutoResizeTextarea","BasicModal","Button","ButtonGroup","ButtonOld","CardFlip","Collapse","Checkbox","ComboBox","CustomTimeSelect","DateTimeInput","DateInput","DebouncedSearchInput","DeephavenSpinner","DraggableItemList","DragUtils","EditableItemList","HierarchicalCheckboxMenu","ItemListItem","LoadingOverlay","LoadingSpinner","DropdownMenu","MaskedInput","Option","RadioGroup","RadioItem","Select","SearchInput","SelectValueList","SocketedButton","ThemeExport","TimeInput","TimeSlider","ToastNotification","UISwitch","ValidateLabelInput"],"sources":["../src/index.ts"],"sourcesContent":["/** Shim for using jquery in frameworks included by react (such as bootstrap) */\nimport $ from 'jquery';\n\ndeclare global {\n interface Window {\n $: typeof $;\n jQuery: typeof $;\n }\n}\n\nwindow.$ = $;\nwindow.jQuery = $;\n\nexport type { Range } from '@deephaven/utils';\nexport { default as AutoCompleteInput } from './AutoCompleteInput';\nexport { default as AutoResizeTextarea } from './AutoResizeTextarea';\nexport { default as BasicModal } from './BasicModal';\nexport { default as Button } from './Button';\nexport { default as ButtonGroup } from './ButtonGroup';\nexport { default as ButtonOld } from './ButtonOld';\nexport { default as CardFlip } from './CardFlip';\nexport * from './context-actions';\nexport { default as Collapse } from './Collapse';\nexport { default as Checkbox } from './Checkbox';\nexport { default as ComboBox } from './ComboBox';\nexport { default as CustomTimeSelect } from './CustomTimeSelect';\nexport { default as DateTimeInput } from './DateTimeInput';\nexport { default as DateInput } from './DateInput';\nexport { default as DebouncedSearchInput } from './DebouncedSearchInput';\nexport { default as DeephavenSpinner } from './DeephavenSpinner';\nexport { default as DraggableItemList } from './DraggableItemList';\nexport * from './DraggableItemList';\nexport { default as DragUtils } from './DragUtils';\nexport { default as EditableItemList } from './EditableItemList';\nexport { default as HierarchicalCheckboxMenu } from './HierarchicalCheckboxMenu';\nexport * from './HierarchicalCheckboxMenu';\nexport * from './ItemList';\nexport { default as ItemListItem } from './ItemListItem';\nexport { default as LoadingOverlay } from './LoadingOverlay';\nexport { default as LoadingSpinner } from './LoadingSpinner';\nexport { default as DropdownMenu } from './menu-actions';\nexport * from './menu-actions';\nexport { default as MaskedInput } from './MaskedInput';\nexport * from './MaskedInput';\nexport * from './navigation';\nexport { default as Option } from './Option';\nexport * from './popper';\nexport * from './modal';\nexport { default as RadioGroup } from './RadioGroup';\nexport { default as RadioItem } from './RadioItem';\nexport { default as Select } from './Select';\nexport { default as SearchInput } from './SearchInput';\nexport { default as SelectValueList } from './SelectValueList';\nexport * from './SelectValueList';\nexport * from './shortcuts';\nexport { default as SocketedButton } from './SocketedButton';\nexport { default as ThemeExport } from './ThemeExport';\nexport { default as TimeInput } from './TimeInput';\nexport { default as TimeSlider } from './TimeSlider';\nexport { default as ToastNotification } from './ToastNotification';\nexport { default as UISwitch } from './UISwitch';\nexport { default as ValidateLabelInput } from './ValidateLabelInput';\n"],"mappings":"AAAA;AACA,OAAOA,CAAP,MAAc,QAAd;AASAC,MAAM,CAACD,CAAP,GAAWA,CAAX;AACAC,MAAM,CAACC,MAAP,GAAgBF,CAAhB;SAGSG,OAAO,IAAIC,iB;SACXD,OAAO,IAAIE,kB;SACXF,OAAO,IAAIG,U;SACXH,OAAO,IAAII,M;SACXJ,OAAO,IAAIK,W;SACXL,OAAO,IAAIM,S;SACXN,OAAO,IAAIO,Q;;SAEXP,OAAO,IAAIQ,Q;SACXR,OAAO,IAAIS,Q;SACXT,OAAO,IAAIU,Q;SACXV,OAAO,IAAIW,gB;SACXX,OAAO,IAAIY,a;SACXZ,OAAO,IAAIa,S;SACXb,OAAO,IAAIc,oB;SACXd,OAAO,IAAIe,gB;SACXf,OAAO,IAAIgB,iB;;SAEXhB,OAAO,IAAIiB,S;SACXjB,OAAO,IAAIkB,gB;SACXlB,OAAO,IAAImB,wB;;;SAGXnB,OAAO,IAAIoB,Y;SACXpB,OAAO,IAAIqB,c;SACXrB,OAAO,IAAIsB,c;SACXtB,OAAO,IAAIuB,Y;;SAEXvB,OAAO,IAAIwB,W;;;SAGXxB,OAAO,IAAIyB,M;;;SAGXzB,OAAO,IAAI0B,U;SACX1B,OAAO,IAAI2B,S;SACX3B,OAAO,IAAI4B,M;SACX5B,OAAO,IAAI6B,W;SACX7B,OAAO,IAAI8B,e;;;SAGX9B,OAAO,IAAI+B,c;SACX/B,OAAO,IAAIgC,W;SACXhC,OAAO,IAAIiC,S;SACXjC,OAAO,IAAIkC,U;SACXlC,OAAO,IAAImC,iB;SACXnC,OAAO,IAAIoC,Q;SACXpC,OAAO,IAAIqC,kB"}
1
+ {"version":3,"file":"index.js","names":["default","AutoCompleteInput","AutoResizeTextarea","BasicModal","Button","ButtonGroup","ButtonOld","CardFlip","Collapse","Checkbox","ComboBox","CustomTimeSelect","DateTimeInput","DateInput","DebouncedSearchInput","DeephavenSpinner","DraggableItemList","DragUtils","EditableItemList","HierarchicalCheckboxMenu","ItemListItem","LoadingOverlay","LoadingSpinner","DropdownMenu","MaskedInput","Option","RadioGroup","RadioItem","Select","SearchInput","SelectValueList","SocketedButton","ThemeExport","TimeInput","TimeSlider","ToastNotification","UISwitch","ValidateLabelInput"],"sources":["../src/index.ts"],"sourcesContent":["export type { Range } from '@deephaven/utils';\nexport { default as AutoCompleteInput } from './AutoCompleteInput';\nexport { default as AutoResizeTextarea } from './AutoResizeTextarea';\nexport { default as BasicModal } from './BasicModal';\nexport { default as Button } from './Button';\nexport { default as ButtonGroup } from './ButtonGroup';\nexport { default as ButtonOld } from './ButtonOld';\nexport { default as CardFlip } from './CardFlip';\nexport * from './context-actions';\nexport { default as Collapse } from './Collapse';\nexport { default as Checkbox } from './Checkbox';\nexport { default as ComboBox } from './ComboBox';\nexport { default as CustomTimeSelect } from './CustomTimeSelect';\nexport { default as DateTimeInput } from './DateTimeInput';\nexport { default as DateInput } from './DateInput';\nexport { default as DebouncedSearchInput } from './DebouncedSearchInput';\nexport { default as DeephavenSpinner } from './DeephavenSpinner';\nexport { default as DraggableItemList } from './DraggableItemList';\nexport * from './DraggableItemList';\nexport { default as DragUtils } from './DragUtils';\nexport { default as EditableItemList } from './EditableItemList';\nexport { default as HierarchicalCheckboxMenu } from './HierarchicalCheckboxMenu';\nexport * from './HierarchicalCheckboxMenu';\nexport * from './ItemList';\nexport { default as ItemListItem } from './ItemListItem';\nexport { default as LoadingOverlay } from './LoadingOverlay';\nexport { default as LoadingSpinner } from './LoadingSpinner';\nexport { default as DropdownMenu } from './menu-actions';\nexport * from './menu-actions';\nexport { default as MaskedInput } from './MaskedInput';\nexport * from './MaskedInput';\nexport * from './navigation';\nexport { default as Option } from './Option';\nexport * from './popper';\nexport * from './modal';\nexport { default as RadioGroup } from './RadioGroup';\nexport { default as RadioItem } from './RadioItem';\nexport { default as Select } from './Select';\nexport { default as SearchInput } from './SearchInput';\nexport { default as SelectValueList } from './SelectValueList';\nexport * from './SelectValueList';\nexport * from './shortcuts';\nexport { default as SocketedButton } from './SocketedButton';\nexport { default as ThemeExport } from './ThemeExport';\nexport { default as TimeInput } from './TimeInput';\nexport { default as TimeSlider } from './TimeSlider';\nexport { default as ToastNotification } from './ToastNotification';\nexport { default as UISwitch } from './UISwitch';\nexport { default as ValidateLabelInput } from './ValidateLabelInput';\n"],"mappings":"SACSA,OAAO,IAAIC,iB;SACXD,OAAO,IAAIE,kB;SACXF,OAAO,IAAIG,U;SACXH,OAAO,IAAII,M;SACXJ,OAAO,IAAIK,W;SACXL,OAAO,IAAIM,S;SACXN,OAAO,IAAIO,Q;;SAEXP,OAAO,IAAIQ,Q;SACXR,OAAO,IAAIS,Q;SACXT,OAAO,IAAIU,Q;SACXV,OAAO,IAAIW,gB;SACXX,OAAO,IAAIY,a;SACXZ,OAAO,IAAIa,S;SACXb,OAAO,IAAIc,oB;SACXd,OAAO,IAAIe,gB;SACXf,OAAO,IAAIgB,iB;;SAEXhB,OAAO,IAAIiB,S;SACXjB,OAAO,IAAIkB,gB;SACXlB,OAAO,IAAImB,wB;;;SAGXnB,OAAO,IAAIoB,Y;SACXpB,OAAO,IAAIqB,c;SACXrB,OAAO,IAAIsB,c;SACXtB,OAAO,IAAIuB,Y;;SAEXvB,OAAO,IAAIwB,W;;;SAGXxB,OAAO,IAAIyB,M;;;SAGXzB,OAAO,IAAI0B,U;SACX1B,OAAO,IAAI2B,S;SACX3B,OAAO,IAAI4B,M;SACX5B,OAAO,IAAI6B,W;SACX7B,OAAO,IAAI8B,e;;;SAGX9B,OAAO,IAAI+B,c;SACX/B,OAAO,IAAIgC,W;SACXhC,OAAO,IAAIiC,S;SACXjC,OAAO,IAAIkC,U;SACXlC,OAAO,IAAImC,iB;SACXnC,OAAO,IAAIoC,Q;SACXpC,OAAO,IAAIqC,kB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/components",
3
- "version": "0.17.1-beta.2+18cb85c",
3
+ "version": "0.18.0",
4
4
  "description": "Deephaven React component library",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -31,16 +31,15 @@
31
31
  "start": "cross-env NODE_ENV=development npm run watch"
32
32
  },
33
33
  "dependencies": {
34
- "@deephaven/icons": "^0.17.1-beta.2+18cb85c",
35
- "@deephaven/log": "^0.17.1-beta.2+18cb85c",
36
- "@deephaven/react-hooks": "^0.17.1-beta.2+18cb85c",
37
- "@deephaven/utils": "^0.17.1-beta.2+18cb85c",
34
+ "@deephaven/icons": "^0.18.0",
35
+ "@deephaven/log": "^0.18.0",
36
+ "@deephaven/react-hooks": "^0.18.0",
37
+ "@deephaven/utils": "^0.18.0",
38
38
  "@fortawesome/fontawesome-svg-core": "^6.1.1",
39
39
  "@fortawesome/react-fontawesome": "^0.1.18",
40
40
  "bootstrap": "4.6.1",
41
41
  "classnames": "^2.3.1",
42
42
  "event-target-shim": "^6.0.2",
43
- "jquery": "^3.6.0",
44
43
  "lodash.clamp": "^4.0.3",
45
44
  "lodash.debounce": "^4.0.8",
46
45
  "lodash.flatten": "^4.4.0",
@@ -58,8 +57,8 @@
58
57
  "react-dom": "^17.x"
59
58
  },
60
59
  "devDependencies": {
61
- "@deephaven/mocks": "^0.17.1-beta.2+18cb85c",
62
- "@deephaven/tsconfig": "^0.17.1-beta.2+18cb85c"
60
+ "@deephaven/mocks": "^0.18.0",
61
+ "@deephaven/tsconfig": "^0.18.0"
63
62
  },
64
63
  "files": [
65
64
  "dist",
@@ -71,5 +70,5 @@
71
70
  "publishConfig": {
72
71
  "access": "public"
73
72
  },
74
- "gitHead": "18cb85c1f562752fb444cb3177d5eff1f5a60532"
73
+ "gitHead": "3295265e760a8dc9133e5cc3e4cd857173ec7c29"
75
74
  }