@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 +1 -0
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +4 -2
- package/dist/Button.js.map +1 -1
- package/dist/ItemListItem.js +1 -1
- package/dist/ItemListItem.js.map +1 -1
- package/dist/SearchInput.d.ts +2 -0
- package/dist/SearchInput.d.ts.map +1 -1
- package/dist/SearchInput.js +4 -0
- package/dist/SearchInput.js.map +1 -1
- package/dist/SelectValueList.d.ts +5 -0
- package/dist/SelectValueList.d.ts.map +1 -1
- package/dist/SelectValueList.js +43 -9
- package/dist/SelectValueList.js.map +1 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/package.json +8 -9
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;
|
package/dist/Button.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
package/dist/Button.js.map
CHANGED
|
@@ -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":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,eAAT,QAAgC,gCAAhC;SAESC,O;AAET,IAAMC,YAAY,GAAG,CACnB,SADmB,EAEnB,WAFmB,EAGnB,UAHmB,EAInB,SAJmB,EAKnB,QALmB,EAMnB,QANmB,EAOnB,OAPmB,CAArB;AAYA,IAAMC,aAAa,GAAG,CAAC,WAAD,CAAtB;;
|
|
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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"}
|
package/dist/ItemListItem.js
CHANGED
package/dist/ItemListItem.js.map
CHANGED
|
@@ -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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"}
|
package/dist/SearchInput.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/SearchInput.js
CHANGED
|
@@ -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,
|
package/dist/SearchInput.js.map
CHANGED
|
@@ -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;;;
|
|
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
|
|
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"}
|
package/dist/SelectValueList.js
CHANGED
|
@@ -25,15 +25,20 @@ class SelectValueList extends PureComponent {
|
|
|
25
25
|
height: rowHeight
|
|
26
26
|
};
|
|
27
27
|
var text = displayValue != null ? displayValue : value;
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
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":["
|
|
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.
|
|
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.
|
|
35
|
-
"@deephaven/log": "^0.
|
|
36
|
-
"@deephaven/react-hooks": "^0.
|
|
37
|
-
"@deephaven/utils": "^0.
|
|
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.
|
|
62
|
-
"@deephaven/tsconfig": "^0.
|
|
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": "
|
|
73
|
+
"gitHead": "3295265e760a8dc9133e5cc3e4cd857173ec7c29"
|
|
75
74
|
}
|