@deephaven/components 1.7.2-beta.1 → 1.7.2-react-18-alpha.3
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/AutoCompleteInput.d.ts +0 -17
- package/dist/AutoCompleteInput.d.ts.map +1 -1
- package/dist/AutoCompleteInput.js +12 -31
- package/dist/AutoCompleteInput.js.map +1 -1
- package/dist/AutoResizeTextarea.d.ts +0 -23
- package/dist/AutoResizeTextarea.d.ts.map +1 -1
- package/dist/AutoResizeTextarea.js +0 -21
- package/dist/AutoResizeTextarea.js.map +1 -1
- package/dist/BasicModal.d.ts +0 -27
- package/dist/BasicModal.d.ts.map +1 -1
- package/dist/BasicModal.js +2 -28
- package/dist/BasicModal.js.map +1 -1
- package/dist/BulkActionBar.js.map +1 -1
- package/dist/Button.d.ts +1 -1
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +2 -79
- package/dist/Button.js.map +1 -1
- package/dist/CardFlip.d.ts.map +1 -1
- package/dist/CardFlip.js +1 -2
- package/dist/CardFlip.js.map +1 -1
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Checkbox.js +3 -45
- package/dist/Checkbox.js.map +1 -1
- package/dist/Collapse.d.ts +0 -8
- package/dist/Collapse.d.ts.map +1 -1
- package/dist/Collapse.js +0 -8
- package/dist/Collapse.js.map +1 -1
- package/dist/ComponentUtils.js.map +1 -1
- package/dist/CopyButton.js.map +1 -1
- package/dist/CustomTimeSelect.js +14 -15
- package/dist/CustomTimeSelect.js.map +1 -1
- package/dist/DateInput.js.map +1 -1
- package/dist/DateInputUtils.js.map +1 -1
- package/dist/DateTimeInput.d.ts.map +1 -1
- package/dist/DateTimeInput.js +0 -8
- package/dist/DateTimeInput.js.map +1 -1
- package/dist/DateTimeInputUtils.js.map +1 -1
- package/dist/DebouncedSearchInput.js +1 -1
- package/dist/DebouncedSearchInput.js.map +1 -1
- package/dist/DragUtils.js.map +1 -1
- package/dist/DraggableItemList.d.ts +2 -2
- package/dist/DraggableItemList.d.ts.map +1 -1
- package/dist/DraggableItemList.js +8 -7
- package/dist/DraggableItemList.js.map +1 -1
- package/dist/EditableItemList.js +1 -2
- package/dist/EditableItemList.js.map +1 -1
- package/dist/ErrorBoundary.js +1 -1
- package/dist/ErrorBoundary.js.map +1 -1
- package/dist/ErrorView.js +1 -2
- package/dist/ErrorView.js.map +1 -1
- package/dist/HierarchicalCheckboxMenu.d.ts +1 -1
- package/dist/HierarchicalCheckboxMenu.d.ts.map +1 -1
- package/dist/HierarchicalCheckboxMenu.js +1 -2
- package/dist/HierarchicalCheckboxMenu.js.map +1 -1
- package/dist/ItemList.d.ts +1 -1
- package/dist/ItemList.d.ts.map +1 -1
- package/dist/ItemList.js +14 -14
- package/dist/ItemList.js.map +1 -1
- package/dist/ItemListItem.js.map +1 -1
- package/dist/LoadingOverlay.js +1 -2
- package/dist/LoadingOverlay.js.map +1 -1
- package/dist/LoadingSpinner.js.map +1 -1
- package/dist/MaskedInput.d.ts.map +1 -1
- package/dist/MaskedInput.js +11 -31
- package/dist/MaskedInput.js.map +1 -1
- package/dist/MaskedInputUtils.js.map +1 -1
- package/dist/Option.js.map +1 -1
- package/dist/RadioGroup.js +1 -2
- package/dist/RadioGroup.js.map +1 -1
- package/dist/RadioItem.d.ts.map +1 -1
- package/dist/RadioItem.js +1 -13
- package/dist/RadioItem.js.map +1 -1
- package/dist/RandomAreaPlotAnimation.d.ts +1 -1
- package/dist/RandomAreaPlotAnimation.d.ts.map +1 -1
- package/dist/RandomAreaPlotAnimation.js +5 -8
- package/dist/RandomAreaPlotAnimation.js.map +1 -1
- package/dist/SearchInput.js +3 -5
- package/dist/SearchInput.js.map +1 -1
- package/dist/SearchableCombobox.js.map +1 -1
- package/dist/Select.d.ts +1 -1
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js.map +1 -1
- package/dist/SelectValueList.js +9 -9
- package/dist/SelectValueList.js.map +1 -1
- package/dist/SocketedButton.d.ts +4 -4
- package/dist/SocketedButton.d.ts.map +1 -1
- package/dist/SocketedButton.js +5 -20
- package/dist/SocketedButton.js.map +1 -1
- package/dist/SplitButtonGroup.d.ts +2 -18
- package/dist/SplitButtonGroup.d.ts.map +1 -1
- package/dist/SplitButtonGroup.js +0 -13
- package/dist/SplitButtonGroup.js.map +1 -1
- package/dist/TableViewEmptyState.js +1 -2
- package/dist/TableViewEmptyState.js.map +1 -1
- package/dist/TextWithTooltip.js +1 -3
- package/dist/TextWithTooltip.js.map +1 -1
- package/dist/ThemeExport.js.map +1 -1
- package/dist/TimeInput.d.ts.map +1 -1
- package/dist/TimeInput.js +7 -17
- package/dist/TimeInput.js.map +1 -1
- package/dist/TimeSlider.js +3 -6
- package/dist/TimeSlider.js.map +1 -1
- package/dist/ToastNotification.d.ts +1 -2
- package/dist/ToastNotification.d.ts.map +1 -1
- package/dist/ToastNotification.js +1 -2
- package/dist/ToastNotification.js.map +1 -1
- package/dist/UIConstants.js.map +1 -1
- package/dist/UISwitch.d.ts.map +1 -1
- package/dist/UISwitch.js +18 -14
- package/dist/UISwitch.js.map +1 -1
- package/dist/XComponent.d.ts +1 -1
- package/dist/XComponent.d.ts.map +1 -1
- package/dist/XComponent.js.map +1 -1
- package/dist/XComponentMap.d.ts +2 -2
- package/dist/XComponentMap.d.ts.map +1 -1
- package/dist/XComponentMap.js.map +1 -1
- package/dist/actions/ConfirmActionButton.js.map +1 -1
- package/dist/actions/IconActionButton.js +1 -2
- package/dist/actions/IconActionButton.js.map +1 -1
- package/dist/actions/index.js.map +1 -1
- package/dist/context-actions/ContextActionUtils.js.map +1 -1
- package/dist/context-actions/ContextActions.d.ts +1 -2
- package/dist/context-actions/ContextActions.d.ts.map +1 -1
- package/dist/context-actions/ContextActions.js +22 -22
- package/dist/context-actions/ContextActions.js.map +1 -1
- package/dist/context-actions/ContextMenu.js +5 -7
- package/dist/context-actions/ContextMenu.js.map +1 -1
- package/dist/context-actions/ContextMenuItem.d.ts.map +1 -1
- package/dist/context-actions/ContextMenuItem.js +21 -43
- package/dist/context-actions/ContextMenuItem.js.map +1 -1
- package/dist/context-actions/ContextMenuRoot.js +1 -1
- package/dist/context-actions/ContextMenuRoot.js.map +1 -1
- package/dist/context-actions/GlobalContextAction.js +1 -1
- package/dist/context-actions/GlobalContextAction.js.map +1 -1
- package/dist/context-actions/GlobalContextActions.js.map +1 -1
- package/dist/context-actions/index.js.map +1 -1
- package/dist/declaration.d.js.map +1 -1
- package/dist/dialogs/ActionButtonDialogTrigger.js +1 -2
- package/dist/dialogs/ActionButtonDialogTrigger.js.map +1 -1
- package/dist/dialogs/ConfirmationDialog.js +1 -2
- package/dist/dialogs/ConfirmationDialog.js.map +1 -1
- package/dist/dialogs/index.js.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/menu-actions/DropdownMenu.js +2 -2
- package/dist/menu-actions/DropdownMenu.js.map +1 -1
- package/dist/menu-actions/Menu.js +4 -6
- package/dist/menu-actions/Menu.js.map +1 -1
- package/dist/menu-actions/index.js.map +1 -1
- package/dist/modal/DebouncedModal.js +1 -3
- package/dist/modal/DebouncedModal.js.map +1 -1
- package/dist/modal/InfoModal.js +1 -2
- package/dist/modal/InfoModal.js.map +1 -1
- package/dist/modal/Modal.js +2 -3
- package/dist/modal/Modal.js.map +1 -1
- package/dist/modal/ModalBody.js.map +1 -1
- package/dist/modal/ModalFooter.js.map +1 -1
- package/dist/modal/ModalHeader.js +1 -2
- package/dist/modal/ModalHeader.js.map +1 -1
- package/dist/modal/index.js.map +1 -1
- package/dist/navigation/DashboardList.js +3 -4
- package/dist/navigation/DashboardList.js.map +1 -1
- package/dist/navigation/Menu.js.map +1 -1
- package/dist/navigation/MenuItem.js +1 -2
- package/dist/navigation/MenuItem.js.map +1 -1
- package/dist/navigation/NavTab.d.ts +1 -1
- package/dist/navigation/NavTab.d.ts.map +1 -1
- package/dist/navigation/NavTab.js +4 -5
- package/dist/navigation/NavTab.js.map +1 -1
- package/dist/navigation/NavTabList.js +4 -5
- package/dist/navigation/NavTabList.js.map +1 -1
- package/dist/navigation/Page.js +1 -2
- package/dist/navigation/Page.js.map +1 -1
- package/dist/navigation/Stack.js +1 -3
- package/dist/navigation/Stack.js.map +1 -1
- package/dist/navigation/index.js.map +1 -1
- package/dist/popper/Popper.d.ts +1 -14
- package/dist/popper/Popper.d.ts.map +1 -1
- package/dist/popper/Popper.js +18 -29
- package/dist/popper/Popper.js.map +1 -1
- package/dist/popper/Tooltip.d.ts.map +1 -1
- package/dist/popper/Tooltip.js +18 -12
- package/dist/popper/Tooltip.js.map +1 -1
- package/dist/popper/index.js.map +1 -1
- package/dist/shortcuts/GlobalShortcuts.js.map +1 -1
- package/dist/shortcuts/NavigationShortcuts.js.map +1 -1
- package/dist/shortcuts/Shortcut.js +11 -13
- package/dist/shortcuts/Shortcut.js.map +1 -1
- package/dist/shortcuts/ShortcutRegistry.js +1 -1
- package/dist/shortcuts/ShortcutRegistry.js.map +1 -1
- package/dist/shortcuts/index.js.map +1 -1
- package/dist/spectrum/ActionGroup.js.map +1 -1
- package/dist/spectrum/ActionMenu.js.map +1 -1
- package/dist/spectrum/CheckboxGroup.js.map +1 -1
- package/dist/spectrum/Heading.js.map +1 -1
- package/dist/spectrum/ItemContent.js +2 -4
- package/dist/spectrum/ItemContent.js.map +1 -1
- package/dist/spectrum/ItemTooltip.js.map +1 -1
- package/dist/spectrum/ListActionGroup.js.map +1 -1
- package/dist/spectrum/ListActionMenu.js.map +1 -1
- package/dist/spectrum/TabPanels.d.ts.map +1 -1
- package/dist/spectrum/TabPanels.js +8 -5
- package/dist/spectrum/TabPanels.js.map +1 -1
- package/dist/spectrum/Text.js.map +1 -1
- package/dist/spectrum/View.js.map +1 -1
- package/dist/spectrum/buttons.js.map +1 -1
- package/dist/spectrum/collections.js.map +1 -1
- package/dist/spectrum/comboBox/ComboBox.js.map +1 -1
- package/dist/spectrum/comboBox/ComboBoxNormalized.js.map +1 -1
- package/dist/spectrum/comboBox/index.js.map +1 -1
- package/dist/spectrum/content.js.map +1 -1
- package/dist/spectrum/dateAndTime.js.map +1 -1
- package/dist/spectrum/forms.js.map +1 -1
- package/dist/spectrum/icons.js.map +1 -1
- package/dist/spectrum/index.js.map +1 -1
- package/dist/spectrum/layout.js.map +1 -1
- package/dist/spectrum/listView/ListView.js.map +1 -1
- package/dist/spectrum/listView/ListViewNormalized.js +1 -2
- package/dist/spectrum/listView/ListViewNormalized.js.map +1 -1
- package/dist/spectrum/listView/ListViewWrapper.js.map +1 -1
- package/dist/spectrum/listView/index.js.map +1 -1
- package/dist/spectrum/navigation.js.map +1 -1
- package/dist/spectrum/overlays.js.map +1 -1
- package/dist/spectrum/picker/Picker.js.map +1 -1
- package/dist/spectrum/picker/PickerNormalized.js.map +1 -1
- package/dist/spectrum/picker/PickerProps.js.map +1 -1
- package/dist/spectrum/picker/index.js.map +1 -1
- package/dist/spectrum/picker/usePickerItemScale.js.map +1 -1
- package/dist/spectrum/picker/usePickerNormalizedProps.d.ts +1 -2
- package/dist/spectrum/picker/usePickerNormalizedProps.d.ts.map +1 -1
- package/dist/spectrum/picker/usePickerNormalizedProps.js.map +1 -1
- package/dist/spectrum/picker/usePickerProps.js.map +1 -1
- package/dist/spectrum/picker/usePickerScrollOnOpen.js +1 -1
- package/dist/spectrum/picker/usePickerScrollOnOpen.js.map +1 -1
- package/dist/spectrum/shared.js.map +1 -1
- package/dist/spectrum/status.js.map +1 -1
- package/dist/spectrum/utils/index.js.map +1 -1
- package/dist/spectrum/utils/itemUtils.d.ts +2 -2
- package/dist/spectrum/utils/itemUtils.d.ts.map +1 -1
- package/dist/spectrum/utils/itemUtils.js +5 -1
- package/dist/spectrum/utils/itemUtils.js.map +1 -1
- package/dist/spectrum/utils/itemWrapperUtils.js +3 -4
- package/dist/spectrum/utils/itemWrapperUtils.js.map +1 -1
- package/dist/spectrum/utils/propsUtils.js.map +1 -1
- package/dist/spectrum/utils/themeUtils.js.map +1 -1
- package/dist/spectrum/utils/useOnChangeTrackUncontrolled.js +1 -1
- package/dist/spectrum/utils/useOnChangeTrackUncontrolled.js.map +1 -1
- package/dist/spectrum/utils/useRenderNormalizedItem.js +1 -2
- package/dist/spectrum/utils/useRenderNormalizedItem.js.map +1 -1
- package/dist/spectrum/utils/useStaticItemInitialScrollPosition.js +1 -1
- package/dist/spectrum/utils/useStaticItemInitialScrollPosition.js.map +1 -1
- package/dist/spectrum/utils/useStringifiedMultiSelection.d.ts +1 -1
- package/dist/spectrum/utils/useStringifiedMultiSelection.d.ts.map +1 -1
- package/dist/spectrum/utils/useStringifiedMultiSelection.js.map +1 -1
- package/dist/spectrum/utils/useStringifiedSelection.d.ts +1 -1
- package/dist/spectrum/utils/useStringifiedSelection.d.ts.map +1 -1
- package/dist/spectrum/utils/useStringifiedSelection.js.map +1 -1
- package/dist/theme/Logo.js.map +1 -1
- package/dist/theme/SpectrumThemeProvider.js.map +1 -1
- package/dist/theme/ThemeModel.js +1 -0
- package/dist/theme/ThemeModel.js.map +1 -1
- package/dist/theme/ThemePicker.d.ts.map +1 -1
- package/dist/theme/ThemePicker.js +3 -1
- package/dist/theme/ThemePicker.js.map +1 -1
- package/dist/theme/ThemeProvider.js +1 -3
- package/dist/theme/ThemeProvider.js.map +1 -1
- package/dist/theme/ThemeUtils.js.map +1 -1
- package/dist/theme/colorUtils.js.map +1 -1
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/theme-dark/index.js.map +1 -1
- package/dist/theme/theme-light/index.js.map +1 -1
- package/dist/theme/theme-spectrum/index.js.map +1 -1
- package/dist/theme/useExternalTheme.js.map +1 -1
- package/dist/theme/useSpectrumThemeProvider.js.map +1 -1
- package/dist/theme/useTheme.js.map +1 -1
- package/dist/transitions/FadeTransition.js.map +1 -1
- package/dist/transitions/SlideTransition.js.map +1 -1
- package/dist/transitions/index.js.map +1 -1
- package/package.json +12 -13
package/dist/Button.d.ts
CHANGED
|
@@ -30,6 +30,6 @@ type IconOnlyButtonJsxTooltip = BaseButtonProps & {
|
|
|
30
30
|
icon: IconDefinition | JSX.Element;
|
|
31
31
|
children?: undefined;
|
|
32
32
|
};
|
|
33
|
-
export declare const Button: React.ForwardRefExoticComponent<(Pick<ButtonWithChildren, "key" | "children" | "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "id" | "aria-label" | "name" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "dir" | "tooltip" | "onClick" | "tabIndex" | "role" | "icon" | "active" | "lang" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "autoFocus" | "variant" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind"> | Pick<IconOnlyButtonStringTooltip, "key" | "children" | "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "id" | "aria-label" | "name" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "dir" | "tooltip" | "onClick" | "tabIndex" | "role" | "icon" | "active" | "lang" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "autoFocus" | "variant" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind"> | Pick<IconOnlyButtonJsxTooltip, "key" | "children" | "className" | "placeholder" | "value" | "onChange" | "onSelect" | "onSubmit" | "onFocus" | "onBlur" | "data-testid" | "form" | "slot" | "style" | "title" | "color" | "hidden" | "type" | "onKeyDown" | "onSelectCapture" | "id" | "aria-label" | "name" | "defaultChecked" | "defaultValue" | "disabled" | "formAction" | "formMethod" | "formNoValidate" | "formTarget" | "dir" | "tooltip" | "onClick" | "tabIndex" | "role" | "icon" | "active" | "lang" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocusCapture" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "autoFocus" | "variant" | "spellCheck" | "formEncType" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "draggable" | "translate" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "kind">) & React.RefAttributes<HTMLButtonElement>>;
|
|
33
|
+
export declare const Button: React.ForwardRefExoticComponent<(Omit<ButtonWithChildren, "ref"> | Omit<IconOnlyButtonStringTooltip, "ref"> | Omit<IconOnlyButtonJsxTooltip, "ref">) & React.RefAttributes<HTMLButtonElement>>;
|
|
34
34
|
export default Button;
|
|
35
35
|
//# sourceMappingURL=Button.d.ts.map
|
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;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAGxE,QAAA,MAAM,YAAY,uFAQR,CAAC;AACX,KAAK,WAAW,GAAG,OAAO,YAAY,CAAC;AACvC,MAAM,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;AAE7C,QAAA,MAAM,aAAa,wBAAyB,CAAC;AAC7C,KAAK,YAAY,GAAG,OAAO,aAAa,CAAC;AACzC,KAAK,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;AAExC,KAAK,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,KAAK,kBAAkB,GAAG,eAAe,GAAG;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,KAAK,2BAA2B,GAAG,eAAe,GAAG;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,KAAK,wBAAwB,GAAG,eAAe,GAAG;IAChD,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAmCF,eAAO,MAAM,MAAM,gMAuHlB,CAAC;AAIF,eAAe,MAAM,CAAC"}
|
package/dist/Button.js
CHANGED
|
@@ -8,12 +8,10 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
|
|
|
8
8
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
9
9
|
import React from 'react';
|
|
10
10
|
import { useSlotProps } from '@react-spectrum/utils';
|
|
11
|
-
import PropTypes from 'prop-types';
|
|
12
11
|
import classNames from 'classnames';
|
|
13
12
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
14
13
|
import { Tooltip } from "./popper/index.js";
|
|
15
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
15
|
var BUTTON_KINDS = ['primary', 'secondary', 'tertiary', 'success', 'danger', 'inline', 'ghost'];
|
|
18
16
|
var VARIANT_KINDS = ['group-end'];
|
|
19
17
|
function getClassName(kind, iconOnly) {
|
|
@@ -47,7 +45,7 @@ export var Button = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
47
45
|
var {
|
|
48
46
|
kind,
|
|
49
47
|
variant,
|
|
50
|
-
type,
|
|
48
|
+
type = 'button',
|
|
51
49
|
tooltip,
|
|
52
50
|
icon,
|
|
53
51
|
disabled = false,
|
|
@@ -137,80 +135,5 @@ export var Button = /*#__PURE__*/React.forwardRef((props, ref) => {
|
|
|
137
135
|
}) : button;
|
|
138
136
|
});
|
|
139
137
|
Button.displayName = 'Button';
|
|
140
|
-
Button.propTypes = {
|
|
141
|
-
kind: PropTypes.oneOf(BUTTON_KINDS).isRequired,
|
|
142
|
-
variant: PropTypes.oneOf(VARIANT_KINDS),
|
|
143
|
-
type: PropTypes.oneOf(['submit', 'reset', 'button']),
|
|
144
|
-
tooltip(props) {
|
|
145
|
-
var {
|
|
146
|
-
tooltip,
|
|
147
|
-
icon,
|
|
148
|
-
children
|
|
149
|
-
} = props;
|
|
150
|
-
if (tooltip === undefined && icon != null && children == null) {
|
|
151
|
-
return new Error('Tooltip is required for icon only buttons');
|
|
152
|
-
}
|
|
153
|
-
return null;
|
|
154
|
-
},
|
|
155
|
-
icon(props) {
|
|
156
|
-
var {
|
|
157
|
-
children,
|
|
158
|
-
icon
|
|
159
|
-
} = props;
|
|
160
|
-
if (icon == null && children == null) {
|
|
161
|
-
return new Error('Icon is required if no children are provided');
|
|
162
|
-
}
|
|
163
|
-
if (children == null && ! /*#__PURE__*/React.isValidElement(icon) && (icon == null || icon.iconName === '' || icon.iconName == null)) {
|
|
164
|
-
return new Error('Icon must be react element or fontawesome IconDefinition');
|
|
165
|
-
}
|
|
166
|
-
return null;
|
|
167
|
-
},
|
|
168
|
-
disabled: PropTypes.bool,
|
|
169
|
-
active: PropTypes.bool,
|
|
170
|
-
onClick(props) {
|
|
171
|
-
var {
|
|
172
|
-
onClick,
|
|
173
|
-
type
|
|
174
|
-
} = props;
|
|
175
|
-
if (type === 'button' && typeof onClick !== 'function') {
|
|
176
|
-
return new Error('type button requires an onClick function');
|
|
177
|
-
}
|
|
178
|
-
if (onClick !== undefined && typeof onClick !== 'function') {
|
|
179
|
-
return new Error('onClick must be a function');
|
|
180
|
-
}
|
|
181
|
-
return null;
|
|
182
|
-
},
|
|
183
|
-
onContextMenu: PropTypes.func,
|
|
184
|
-
onMouseUp: PropTypes.func,
|
|
185
|
-
onMouseDown: PropTypes.func,
|
|
186
|
-
onMouseEnter: PropTypes.func,
|
|
187
|
-
onMouseLeave: PropTypes.func,
|
|
188
|
-
onKeyDown: PropTypes.func,
|
|
189
|
-
tabIndex: PropTypes.number,
|
|
190
|
-
children: PropTypes.node,
|
|
191
|
-
className: PropTypes.string,
|
|
192
|
-
style: PropTypes.object,
|
|
193
|
-
'data-testid': PropTypes.string
|
|
194
|
-
};
|
|
195
|
-
Button.defaultProps = {
|
|
196
|
-
type: 'button',
|
|
197
|
-
onClick: undefined,
|
|
198
|
-
onContextMenu: undefined,
|
|
199
|
-
onMouseUp: undefined,
|
|
200
|
-
onMouseDown: undefined,
|
|
201
|
-
onMouseEnter: undefined,
|
|
202
|
-
onMouseLeave: undefined,
|
|
203
|
-
onKeyDown: undefined,
|
|
204
|
-
variant: undefined,
|
|
205
|
-
tooltip: undefined,
|
|
206
|
-
icon: undefined,
|
|
207
|
-
disabled: false,
|
|
208
|
-
active: undefined,
|
|
209
|
-
tabIndex: undefined,
|
|
210
|
-
children: undefined,
|
|
211
|
-
className: undefined,
|
|
212
|
-
style: {},
|
|
213
|
-
'data-testid': undefined
|
|
214
|
-
};
|
|
215
138
|
export default Button;
|
|
216
139
|
//# sourceMappingURL=Button.js.map
|
package/dist/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","useSlotProps","PropTypes","classNames","FontAwesomeIcon","Tooltip","jsx","_jsx","jsxs","_jsxs","BUTTON_KINDS","VARIANT_KINDS","getClassName","kind","iconOnly","getVariantClasses","Button","forwardRef","props","ref","variant","type","tooltip","icon","disabled","active","onClick","onContextMenu","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","onKeyDown","className","style","children","tabIndex","dataTestId","ariaLabel","rest","_objectWithoutProperties","_excluded","UNSAFE_className","variantClassName","iconElem","isValidElement","btnClassName","tooltipElem","undefined","ariaLabelString","button","_objectSpread","displayName","propTypes","oneOf","isRequired","Error","iconName","bool","func","number","node","string","object","defaultProps"],"sources":["../src/Button.tsx"],"sourcesContent":["import React from 'react';\nimport { useSlotProps } from '@react-spectrum/utils';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { type 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;\nexport type 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 IconOnlyButtonStringTooltip = BaseButtonProps & {\n tooltip: string;\n icon: IconDefinition | JSX.Element;\n children?: undefined;\n};\n\ntype IconOnlyButtonJsxTooltip = BaseButtonProps & {\n tooltip: JSX.Element;\n 'aria-label': string;\n icon: IconDefinition | JSX.Element;\n children?: undefined;\n};\n\ntype IconOnlyButton = IconOnlyButtonStringTooltip | IconOnlyButtonJsxTooltip;\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 'btn-link-icon-only': 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\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props: ButtonProps, ref) => {\n const {\n kind,\n variant,\n type,\n tooltip,\n icon,\n disabled = false,\n active,\n onClick,\n onContextMenu,\n onMouseDown,\n onMouseUp,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n className,\n style,\n children,\n tabIndex,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n\n // Spectrum container components such as `ButtonGroup` provide\n // UNSAFE_className prop for the `button` slot via a SlotProvider (\n // https://github.com/adobe/react-spectrum/blob/%40adobe/react-spectrum%403.33.1/packages/%40react-spectrum/buttongroup/src/ButtonGroup.tsx#L104-L107)\n // This can be retrieved via `useSlotProps` to allow our buttons to be styled\n // correctly inside the container.\n const { UNSAFE_className } = useSlotProps<{ UNSAFE_className?: string }>(\n {},\n 'button'\n );\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 // not entirely accurate, as button can have non-visible children\n const iconOnly = iconElem != null && children == null;\n\n const btnClassName = getClassName(kind, iconOnly);\n\n let tooltipElem: JSX.Element | undefined;\n if (tooltip !== undefined) {\n tooltipElem =\n typeof tooltip === 'string' ? <Tooltip>{tooltip}</Tooltip> : tooltip;\n }\n\n // use tooltip as arial-label for iconOnly buttons only\n // if tooltip is also a string and aria-label is not set\n let ariaLabelString = ariaLabel;\n if (\n ariaLabel === undefined &&\n iconOnly &&\n tooltip != null &&\n typeof tooltip === 'string'\n ) {\n ariaLabelString = 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 UNSAFE_className\n )}\n onClick={onClick}\n onContextMenu={onContextMenu}\n onMouseUp={onMouseUp}\n onMouseDown={onMouseDown}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onKeyDown={onKeyDown}\n style={style}\n disabled={disabled}\n tabIndex={tabIndex}\n aria-label={ariaLabelString}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...rest}\n >\n {icon && iconElem}\n {children}\n {tooltip != null && !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 && tooltip != null ? (\n <span className=\"btn-disabled-wrapper\">\n {button}\n {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 === undefined && icon != null && children == null) {\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 == null && children == null) {\n return new Error('Icon is required if no children are provided');\n }\n\n if (\n children == null &&\n !React.isValidElement(icon) &&\n (icon == null || icon.iconName === '' || icon.iconName == null)\n ) {\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 onContextMenu: PropTypes.func,\n onMouseUp: PropTypes.func,\n onMouseDown: PropTypes.func,\n onMouseEnter: PropTypes.func,\n onMouseLeave: PropTypes.func,\n onKeyDown: PropTypes.func,\n tabIndex: PropTypes.number,\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 onContextMenu: undefined,\n onMouseUp: undefined,\n onMouseDown: undefined,\n onMouseEnter: undefined,\n onMouseLeave: undefined,\n onKeyDown: undefined,\n variant: undefined,\n tooltip: undefined,\n icon: undefined,\n disabled: false,\n active: undefined,\n tabIndex: 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","useSlotProps","classNames","FontAwesomeIcon","Tooltip","jsx","_jsx","jsxs","_jsxs","BUTTON_KINDS","VARIANT_KINDS","getClassName","kind","iconOnly","getVariantClasses","Button","forwardRef","props","ref","variant","type","tooltip","icon","disabled","active","onClick","onContextMenu","onMouseDown","onMouseUp","onMouseEnter","onMouseLeave","onKeyDown","className","style","children","tabIndex","dataTestId","ariaLabel","rest","_objectWithoutProperties","_excluded","UNSAFE_className","variantClassName","iconElem","isValidElement","btnClassName","tooltipElem","undefined","ariaLabelString","button","_objectSpread","displayName"],"sources":["../src/Button.tsx"],"sourcesContent":["import React from 'react';\nimport { useSlotProps } from '@react-spectrum/utils';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { type 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;\nexport type 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 IconOnlyButtonStringTooltip = BaseButtonProps & {\n tooltip: string;\n icon: IconDefinition | JSX.Element;\n children?: undefined;\n};\n\ntype IconOnlyButtonJsxTooltip = BaseButtonProps & {\n tooltip: JSX.Element;\n 'aria-label': string;\n icon: IconDefinition | JSX.Element;\n children?: undefined;\n};\n\ntype IconOnlyButton = IconOnlyButtonStringTooltip | IconOnlyButtonJsxTooltip;\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 'btn-link-icon-only': 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\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props: ButtonProps, ref) => {\n const {\n kind,\n variant,\n type = 'button',\n tooltip,\n icon,\n disabled = false,\n active,\n onClick,\n onContextMenu,\n onMouseDown,\n onMouseUp,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n className,\n style,\n children,\n tabIndex,\n 'data-testid': dataTestId,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n\n // Spectrum container components such as `ButtonGroup` provide\n // UNSAFE_className prop for the `button` slot via a SlotProvider (\n // https://github.com/adobe/react-spectrum/blob/%40adobe/react-spectrum%403.33.1/packages/%40react-spectrum/buttongroup/src/ButtonGroup.tsx#L104-L107)\n // This can be retrieved via `useSlotProps` to allow our buttons to be styled\n // correctly inside the container.\n const { UNSAFE_className } = useSlotProps<{ UNSAFE_className?: string }>(\n {},\n 'button'\n );\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 // not entirely accurate, as button can have non-visible children\n const iconOnly = iconElem != null && children == null;\n\n const btnClassName = getClassName(kind, iconOnly);\n\n let tooltipElem: JSX.Element | undefined;\n if (tooltip !== undefined) {\n tooltipElem =\n typeof tooltip === 'string' ? <Tooltip>{tooltip}</Tooltip> : tooltip;\n }\n\n // use tooltip as arial-label for iconOnly buttons only\n // if tooltip is also a string and aria-label is not set\n let ariaLabelString = ariaLabel;\n if (\n ariaLabel === undefined &&\n iconOnly &&\n tooltip != null &&\n typeof tooltip === 'string'\n ) {\n ariaLabelString = 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 UNSAFE_className\n )}\n onClick={onClick}\n onContextMenu={onContextMenu}\n onMouseUp={onMouseUp}\n onMouseDown={onMouseDown}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onKeyDown={onKeyDown}\n style={style}\n disabled={disabled}\n tabIndex={tabIndex}\n aria-label={ariaLabelString}\n // eslint-disable-next-line react/jsx-props-no-spreading\n {...rest}\n >\n {icon && iconElem}\n {children}\n {tooltip != null && !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 && tooltip != null ? (\n <span className=\"btn-disabled-wrapper\">\n {button}\n {tooltipElem}\n </span>\n ) : (\n button\n );\n }\n);\n\nButton.displayName = 'Button';\n\nexport default Button;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/CardFlip.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFlip.d.ts","sourceRoot":"","sources":["../src/CardFlip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,iBAAiB,CAAC;AAEzB,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,EAAE,UAAU,GAC1B,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"CardFlip.d.ts","sourceRoot":"","sources":["../src/CardFlip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyD,MAAM,OAAO,CAAC;AAE9E,OAAO,iBAAiB,CAAC;AAEzB,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;GAOG;AACH,iBAAS,QAAQ,CAAC,EAChB,SAAS,EACT,SAAS,EACT,QAAQ,EACR,aAAa,EAAE,UAAU,GAC1B,EAAE,aAAa,GAAG,GAAG,CAAC,OAAO,CA0D7B;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/CardFlip.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React, { useCallback, useEffect, useRef } from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
3
|
import "./CardFlip.css";
|
|
4
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
5
|
/**
|
|
7
6
|
* Card flip component, switches between a front and back face being visible.
|
|
8
7
|
* Has logic to handle overflow on body, caused by perspective transforms
|
package/dist/CardFlip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFlip.js","names":["React","useCallback","useEffect","useRef","classNames","jsx","_jsx","jsxs","_jsxs","CardFlip","_ref","className","isFlipped","children","dataTestId","getComponent","key","length","Error","front","transitionStart","event","target","currentTarget","document","body","classList","add","transitionEnd","remove","setIsFlippingClassOnTransitionStart","current","addEventListener","refObj","cleanupListener","removeEventListener","ref","onTransitionEnd"],"sources":["../src/CardFlip.tsx"],"sourcesContent":["import React, { type ReactNode, useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport './CardFlip.scss';\n\ntype CardFlipProps = {\n isFlipped: boolean;\n children: [React.ReactNode, React.ReactNode];\n className?: string;\n 'data-testid'?: string;\n};\n\n/**\n * Card flip component, switches between a front and back face being visible.\n * Has logic to handle overflow on body, caused by perspective transforms\n * and moves z-index to top during transition.\n * @param isFlipped true shows second child, false shows first child\n * @param children Expects exactly two children\n * @returns\n */\nfunction CardFlip({\n className,\n isFlipped,\n children,\n 'data-testid': dataTestId,\n}: CardFlipProps): JSX.Element {\n const getComponent = (key: 0 | 1): ReactNode => {\n if (children.length !== 2) {\n throw new Error('CardFlip requires 2 children to function');\n }\n return children[key];\n };\n\n const front = useRef<HTMLDivElement>(null);\n\n const transitionStart = useCallback(event => {\n if (event.target === event.currentTarget) {\n document.body.classList.add('card-flip--is-flipping');\n }\n }, []);\n\n const transitionEnd = useCallback(event => {\n
|
|
1
|
+
{"version":3,"file":"CardFlip.js","names":["React","useCallback","useEffect","useRef","classNames","jsx","_jsx","jsxs","_jsxs","CardFlip","_ref","className","isFlipped","children","dataTestId","getComponent","key","length","Error","front","transitionStart","event","target","currentTarget","document","body","classList","add","transitionEnd","remove","setIsFlippingClassOnTransitionStart","current","addEventListener","refObj","cleanupListener","removeEventListener","ref","onTransitionEnd"],"sources":["../src/CardFlip.tsx"],"sourcesContent":["import React, { type ReactNode, useCallback, useEffect, useRef } from 'react';\nimport classNames from 'classnames';\nimport './CardFlip.scss';\n\ntype CardFlipProps = {\n isFlipped: boolean;\n children: [React.ReactNode, React.ReactNode];\n className?: string;\n 'data-testid'?: string;\n};\n\n/**\n * Card flip component, switches between a front and back face being visible.\n * Has logic to handle overflow on body, caused by perspective transforms\n * and moves z-index to top during transition.\n * @param isFlipped true shows second child, false shows first child\n * @param children Expects exactly two children\n * @returns\n */\nfunction CardFlip({\n className,\n isFlipped,\n children,\n 'data-testid': dataTestId,\n}: CardFlipProps): JSX.Element {\n const getComponent = (key: 0 | 1): ReactNode => {\n if (children.length !== 2) {\n throw new Error('CardFlip requires 2 children to function');\n }\n return children[key];\n };\n\n const front = useRef<HTMLDivElement>(null);\n\n const transitionStart = useCallback((event: TransitionEvent) => {\n if (event.target === event.currentTarget) {\n document.body.classList.add('card-flip--is-flipping');\n }\n }, []);\n\n const transitionEnd = useCallback(\n (event: React.TransitionEvent<HTMLDivElement>) => {\n if (event.target === event.currentTarget) {\n document.body.classList.remove('card-flip--is-flipping');\n }\n },\n []\n );\n\n useEffect(\n function setIsFlippingClassOnTransitionStart() {\n if (!front.current) throw Error('ref undefined');\n front.current.addEventListener('transitionstart', transitionStart);\n\n const refObj = front.current;\n return function cleanupListener() {\n if (refObj != null) {\n return refObj.removeEventListener('transitionstart', transitionStart);\n }\n };\n },\n [transitionStart]\n );\n\n return (\n <div\n className={classNames(className, {\n 'card-flip--show-front': isFlipped,\n 'card-flip--show-back': !isFlipped,\n })}\n data-testid={dataTestId}\n >\n <div className=\"card-flip--back\">{getComponent(0)}</div>\n <div\n ref={front}\n className=\"card-flip--front\"\n onTransitionEnd={transitionEnd}\n >\n {getComponent(1)}\n </div>\n </div>\n );\n}\n\nexport default CardFlip;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAoBC,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAC7E,OAAOC,UAAU,MAAM,YAAY;AAAC;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,QAAQA,CAAAC,IAAA,EAKc;EAAA,IALb;IAChBC,SAAS;IACTC,SAAS;IACTC,QAAQ;IACR,aAAa,EAAEC;EACF,CAAC,GAAAJ,IAAA;EACd,IAAMK,YAAY,GAAIC,GAAU,IAAgB;IAC9C,IAAIH,QAAQ,CAACI,MAAM,KAAK,CAAC,EAAE;MACzB,MAAM,IAAIC,KAAK,CAAC,0CAA0C,CAAC;IAC7D;IACA,OAAOL,QAAQ,CAACG,GAAG,CAAC;EACtB,CAAC;EAED,IAAMG,KAAK,GAAGhB,MAAM,CAAiB,IAAI,CAAC;EAE1C,IAAMiB,eAAe,GAAGnB,WAAW,CAAEoB,KAAsB,IAAK;IAC9D,IAAIA,KAAK,CAACC,MAAM,KAAKD,KAAK,CAACE,aAAa,EAAE;MACxCC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,GAAG,CAAC,wBAAwB,CAAC;IACvD;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,aAAa,GAAG3B,WAAW,CAC9BoB,KAA4C,IAAK;IAChD,IAAIA,KAAK,CAACC,MAAM,KAAKD,KAAK,CAACE,aAAa,EAAE;MACxCC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACG,MAAM,CAAC,wBAAwB,CAAC;IAC1D;EACF,CAAC,EACD,EACF,CAAC;EAED3B,SAAS,CACP,SAAS4B,mCAAmCA,CAAA,EAAG;IAC7C,IAAI,CAACX,KAAK,CAACY,OAAO,EAAE,MAAMb,KAAK,CAAC,eAAe,CAAC;IAChDC,KAAK,CAACY,OAAO,CAACC,gBAAgB,CAAC,iBAAiB,EAAEZ,eAAe,CAAC;IAElE,IAAMa,MAAM,GAAGd,KAAK,CAACY,OAAO;IAC5B,OAAO,SAASG,eAAeA,CAAA,EAAG;MAChC,IAAID,MAAM,IAAI,IAAI,EAAE;QAClB,OAAOA,MAAM,CAACE,mBAAmB,CAAC,iBAAiB,EAAEf,eAAe,CAAC;MACvE;IACF,CAAC;EACH,CAAC,EACD,CAACA,eAAe,CAClB,CAAC;EAED,oBACEZ,KAAA;IACEG,SAAS,EAAEP,UAAU,CAACO,SAAS,EAAE;MAC/B,uBAAuB,EAAEC,SAAS;MAClC,sBAAsB,EAAE,CAACA;IAC3B,CAAC,CAAE;IACH,eAAaE,UAAW;IAAAD,QAAA,gBAExBP,IAAA;MAAKK,SAAS,EAAC,iBAAiB;MAAAE,QAAA,EAAEE,YAAY,CAAC,CAAC;IAAC,CAAM,CAAC,eACxDT,IAAA;MACE8B,GAAG,EAAEjB,KAAM;MACXR,SAAS,EAAC,kBAAkB;MAC5B0B,eAAe,EAAET,aAAc;MAAAf,QAAA,EAE9BE,YAAY,CAAC,CAAC;IAAC,CACb,CAAC;EAAA,CACH,CAAC;AAEV;AAEA,eAAeN,QAAQ","ignoreList":[]}
|
package/dist/Checkbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../src/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../src/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAKhE,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,QAAA,MAAM,QAAQ,wFAoEb,CAAC;AAMF,eAAe,QAAQ,CAAC"}
|
package/dist/Checkbox.js
CHANGED
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import React, { useState, useEffect, useCallback } from 'react';
|
|
2
2
|
import classNames from 'classnames';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
3
|
import { nanoid } from 'nanoid';
|
|
5
4
|
import { useForwardedRef } from '@deephaven/react-hooks';
|
|
6
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
6
|
/**
|
|
9
7
|
* A simple checkbox component. Automatically generates an id so htmlFor/id attributes are unique.
|
|
10
8
|
*/
|
|
@@ -13,9 +11,9 @@ var Checkbox = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
|
|
|
13
11
|
checked = false,
|
|
14
12
|
children,
|
|
15
13
|
className,
|
|
16
|
-
disabled,
|
|
14
|
+
disabled = false,
|
|
17
15
|
inputClassName,
|
|
18
|
-
isInvalid,
|
|
16
|
+
isInvalid = false,
|
|
19
17
|
labelClassName,
|
|
20
18
|
name,
|
|
21
19
|
onChange,
|
|
@@ -64,45 +62,5 @@ var Checkbox = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {
|
|
|
64
62
|
// Forward ref causes a false positive for display-name in eslint:
|
|
65
63
|
// https://github.com/yannickcr/eslint-plugin-react/issues/2269
|
|
66
64
|
Checkbox.displayName = 'Checkbox';
|
|
67
|
-
Checkbox.propTypes = {
|
|
68
|
-
/** Current value of the checkbox. */
|
|
69
|
-
checked: (props, propName) => {
|
|
70
|
-
var {
|
|
71
|
-
[propName]: checkedType
|
|
72
|
-
} = props;
|
|
73
|
-
if (checkedType !== null && typeof checkedType !== 'boolean') {
|
|
74
|
-
return new Error('Checked must be a boolean or null for indeterminate');
|
|
75
|
-
}
|
|
76
|
-
return null;
|
|
77
|
-
},
|
|
78
|
-
/** The node/text to put in the label of this checkbox */
|
|
79
|
-
children: PropTypes.node.isRequired,
|
|
80
|
-
/** An extra class name to add to the outer div component */
|
|
81
|
-
className: PropTypes.string,
|
|
82
|
-
/** An extra class for disabling the checkbox component */
|
|
83
|
-
disabled: PropTypes.bool,
|
|
84
|
-
/** An extra class name for the input component */
|
|
85
|
-
inputClassName: PropTypes.string,
|
|
86
|
-
/** Convenience for styling appropriately for an invalid value */
|
|
87
|
-
isInvalid: PropTypes.bool,
|
|
88
|
-
/** An extra class name for the label component */
|
|
89
|
-
labelClassName: PropTypes.string,
|
|
90
|
-
/** Checkbox input name attribute */
|
|
91
|
-
name: PropTypes.string,
|
|
92
|
-
/** Triggered when the input is checked/unchecked */
|
|
93
|
-
onChange: PropTypes.func,
|
|
94
|
-
'data-testid': PropTypes.string
|
|
95
|
-
};
|
|
96
|
-
Checkbox.defaultProps = {
|
|
97
|
-
checked: false,
|
|
98
|
-
className: '',
|
|
99
|
-
disabled: false,
|
|
100
|
-
inputClassName: '',
|
|
101
|
-
isInvalid: false,
|
|
102
|
-
labelClassName: '',
|
|
103
|
-
name: undefined,
|
|
104
|
-
onChange: undefined,
|
|
105
|
-
'data-testid': undefined
|
|
106
|
-
};
|
|
107
65
|
export default Checkbox;
|
|
108
66
|
//# sourceMappingURL=Checkbox.js.map
|
package/dist/Checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":["React","useState","useEffect","useCallback","classNames","
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":["React","useState","useEffect","useCallback","classNames","nanoid","useForwardedRef","jsx","_jsx","jsxs","_jsxs","Checkbox","forwardRef","props","forwardedRef","checked","children","className","disabled","inputClassName","isInvalid","labelClassName","name","onChange","dataTestId","id","ref","setIndeterminateProperty","current","indeterminate","handleOnChange","event","type","htmlFor","displayName"],"sources":["../src/Checkbox.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback } from 'react';\nimport classNames from 'classnames';\nimport { nanoid } from 'nanoid';\nimport { useForwardedRef } from '@deephaven/react-hooks';\n\ninterface CheckboxProps {\n checked: boolean | null;\n className?: string;\n disabled?: boolean;\n inputClassName?: string;\n isInvalid?: boolean;\n labelClassName?: string;\n name?: string;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n children?: React.ReactNode;\n 'data-testid'?: string;\n}\n\n/**\n * A simple checkbox component. Automatically generates an id so htmlFor/id attributes are unique.\n */\nconst Checkbox = React.forwardRef<HTMLInputElement, CheckboxProps>(\n (props, forwardedRef) => {\n const {\n checked = false,\n children,\n className,\n disabled = false,\n inputClassName,\n isInvalid = false,\n labelClassName,\n name,\n onChange,\n 'data-testid': dataTestId,\n } = props;\n\n const [id] = useState(nanoid());\n\n const ref = useForwardedRef<HTMLInputElement>(forwardedRef);\n\n useEffect(\n function setIndeterminateProperty() {\n if (ref.current) {\n // indeterminate is not actually an html attr, can only be set via JS\n ref.current.indeterminate = checked === null;\n }\n },\n [ref, checked]\n );\n\n const handleOnChange: React.ChangeEventHandler<HTMLInputElement> =\n useCallback(\n event => {\n if (ref.current) {\n // ref.current can be null in tests, doesn't impact behaviour\n ref.current.indeterminate = checked === null;\n }\n\n if (onChange) {\n onChange(event);\n }\n },\n [ref, checked, onChange]\n );\n\n return (\n <div className={classNames('custom-control custom-checkbox', className)}>\n <input\n type=\"checkbox\"\n ref={ref}\n checked={checked ?? false} // checked attr must always have a value to remain as a controlled component\n className={classNames('custom-control-input', inputClassName, {\n 'is-invalid': isInvalid,\n })}\n disabled={disabled}\n id={id}\n name={name}\n onChange={handleOnChange}\n data-testid={dataTestId}\n />\n <label\n className={classNames('custom-control-label', labelClassName)}\n htmlFor={id}\n >\n {children}\n </label>\n </div>\n );\n }\n);\n\n// Forward ref causes a false positive for display-name in eslint:\n// https://github.com/yannickcr/eslint-plugin-react/issues/2269\nCheckbox.displayName = 'Checkbox';\n\nexport default Checkbox;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,QAAQ,OAAO;AAC/D,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,MAAM,QAAQ,QAAQ;AAC/B,SAASC,eAAe,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAezD;AACA;AACA;AACA,IAAMC,QAAQ,gBAAGX,KAAK,CAACY,UAAU,CAC/B,CAACC,KAAK,EAAEC,YAAY,KAAK;EACvB,IAAM;IACJC,OAAO,GAAG,KAAK;IACfC,QAAQ;IACRC,SAAS;IACTC,QAAQ,GAAG,KAAK;IAChBC,cAAc;IACdC,SAAS,GAAG,KAAK;IACjBC,cAAc;IACdC,IAAI;IACJC,QAAQ;IACR,aAAa,EAAEC;EACjB,CAAC,GAAGX,KAAK;EAET,IAAM,CAACY,EAAE,CAAC,GAAGxB,QAAQ,CAACI,MAAM,CAAC,CAAC,CAAC;EAE/B,IAAMqB,GAAG,GAAGpB,eAAe,CAAmBQ,YAAY,CAAC;EAE3DZ,SAAS,CACP,SAASyB,wBAAwBA,CAAA,EAAG;IAClC,IAAID,GAAG,CAACE,OAAO,EAAE;MACf;MACAF,GAAG,CAACE,OAAO,CAACC,aAAa,GAAGd,OAAO,KAAK,IAAI;IAC9C;EACF,CAAC,EACD,CAACW,GAAG,EAAEX,OAAO,CACf,CAAC;EAED,IAAMe,cAA0D,GAC9D3B,WAAW,CACT4B,KAAK,IAAI;IACP,IAAIL,GAAG,CAACE,OAAO,EAAE;MACf;MACAF,GAAG,CAACE,OAAO,CAACC,aAAa,GAAGd,OAAO,KAAK,IAAI;IAC9C;IAEA,IAAIQ,QAAQ,EAAE;MACZA,QAAQ,CAACQ,KAAK,CAAC;IACjB;EACF,CAAC,EACD,CAACL,GAAG,EAAEX,OAAO,EAAEQ,QAAQ,CACzB,CAAC;EAEH,oBACEb,KAAA;IAAKO,SAAS,EAAEb,UAAU,CAAC,gCAAgC,EAAEa,SAAS,CAAE;IAAAD,QAAA,gBACtER,IAAA;MACEwB,IAAI,EAAC,UAAU;MACfN,GAAG,EAAEA,GAAI;MACTX,OAAO,EAAEA,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,KAAM,CAAC;MAAA;MAC3BE,SAAS,EAAEb,UAAU,CAAC,sBAAsB,EAAEe,cAAc,EAAE;QAC5D,YAAY,EAAEC;MAChB,CAAC,CAAE;MACHF,QAAQ,EAAEA,QAAS;MACnBO,EAAE,EAAEA,EAAG;MACPH,IAAI,EAAEA,IAAK;MACXC,QAAQ,EAAEO,cAAe;MACzB,eAAaN;IAAW,CACzB,CAAC,eACFhB,IAAA;MACES,SAAS,EAAEb,UAAU,CAAC,sBAAsB,EAAEiB,cAAc,CAAE;MAC9DY,OAAO,EAAER,EAAG;MAAAT,QAAA,EAEXA;IAAQ,CACJ,CAAC;EAAA,CACL,CAAC;AAEV,CACF,CAAC;;AAED;AACA;AACAL,QAAQ,CAACuB,WAAW,GAAG,UAAU;AAEjC,eAAevB,QAAQ","ignoreList":[]}
|
package/dist/Collapse.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import React, { Component } from 'react';
|
|
2
|
-
import PropTypes from 'prop-types';
|
|
3
2
|
interface CollapseProps {
|
|
4
3
|
className?: string;
|
|
5
4
|
in: boolean;
|
|
@@ -8,13 +7,6 @@ interface CollapseProps {
|
|
|
8
7
|
'data-testid'?: string;
|
|
9
8
|
}
|
|
10
9
|
declare class Collapse extends Component<CollapseProps> {
|
|
11
|
-
static propTypes: {
|
|
12
|
-
className: PropTypes.Requireable<string>;
|
|
13
|
-
in: PropTypes.Validator<boolean>;
|
|
14
|
-
children: PropTypes.Validator<NonNullable<PropTypes.ReactNodeLike>>;
|
|
15
|
-
autoFocusOnShow: PropTypes.Requireable<boolean>;
|
|
16
|
-
'data-testid': PropTypes.Requireable<string>;
|
|
17
|
-
};
|
|
18
10
|
static defaultProps: {
|
|
19
11
|
className: string;
|
|
20
12
|
autoFocusOnShow: boolean;
|
package/dist/Collapse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapse.d.ts","sourceRoot":"","sources":["../src/Collapse.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Collapse.d.ts","sourceRoot":"","sources":["../src/Collapse.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,cAAM,QAAS,SAAQ,SAAS,CAAC,aAAa,CAAC;IAC7C,MAAM,CAAC,YAAY;;;;MAIjB;IAEF,MAAM,CAAC,WAAW,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAKhD,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAKnD,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAKlD,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAK/C,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM;gBAK/B,KAAK,EAAE,aAAa;IAMhC,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAgB3C,MAAM,IAAI,GAAG,CAAC,OAAO;CAkCtB;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/Collapse.js
CHANGED
|
@@ -4,7 +4,6 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
4
4
|
// Port of https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Collapse.js
|
|
5
5
|
import React, { Component } from 'react';
|
|
6
6
|
import classNames from 'classnames';
|
|
7
|
-
import PropTypes from 'prop-types';
|
|
8
7
|
import { CSSTransition } from 'react-transition-group';
|
|
9
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
9
|
class Collapse extends Component {
|
|
@@ -76,13 +75,6 @@ class Collapse extends Component {
|
|
|
76
75
|
});
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
|
-
_defineProperty(Collapse, "propTypes", {
|
|
80
|
-
className: PropTypes.string,
|
|
81
|
-
in: PropTypes.bool.isRequired,
|
|
82
|
-
children: PropTypes.node.isRequired,
|
|
83
|
-
autoFocusOnShow: PropTypes.bool,
|
|
84
|
-
'data-testid': PropTypes.string
|
|
85
|
-
});
|
|
86
78
|
_defineProperty(Collapse, "defaultProps", {
|
|
87
79
|
className: '',
|
|
88
80
|
autoFocusOnShow: false,
|
package/dist/Collapse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapse.js","names":["React","Component","classNames","
|
|
1
|
+
{"version":3,"file":"Collapse.js","names":["React","Component","classNames","CSSTransition","jsx","_jsx","Collapse","handleEnter","elemParam","elem","style","height","handleEntering","concat","getHeight","handleExiting","handleExit","scrollBarWidth","scrollWidth","clientWidth","scrollHeight","constructor","props","handleEntered","bind","autoFocusOnShow","undefined","input","querySelector","focus","render","children","className","in","inTransition","dataTestId","enterActive","enterDone","exitActive","exitDone","onEnter","onEntering","onEntered","onExit","onExiting","timeout","state","collapse","_defineProperty"],"sources":["../src/Collapse.tsx"],"sourcesContent":["// Port of https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Collapse.js\nimport React, { Component } from 'react';\nimport classNames from 'classnames';\nimport { CSSTransition } from 'react-transition-group';\n\ninterface CollapseProps {\n className?: string;\n in: boolean;\n children: React.ReactNode;\n autoFocusOnShow?: boolean;\n 'data-testid'?: string;\n}\n\nclass Collapse extends Component<CollapseProps> {\n static defaultProps = {\n className: '',\n autoFocusOnShow: false,\n 'data-testid': undefined,\n };\n\n static handleEnter(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = '0';\n }\n\n static handleEntering(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = `${Collapse.getHeight(elem)}px`;\n }\n\n static handleExiting(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = '0';\n }\n\n static handleExit(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = `${Collapse.getHeight(elem)}px`;\n }\n\n static getHeight(elem: HTMLElement): number {\n const scrollBarWidth = elem.scrollWidth - elem.clientWidth;\n return elem.scrollHeight - scrollBarWidth;\n }\n\n constructor(props: CollapseProps) {\n super(props);\n\n this.handleEntered = this.handleEntered.bind(this);\n }\n\n handleEntered(elemParam: HTMLElement): void {\n const elem = elemParam;\n elem.style.height = '';\n\n const { autoFocusOnShow } = this.props;\n if (autoFocusOnShow !== undefined && autoFocusOnShow) {\n const input = elem.querySelector(\n 'input, select, textarea'\n ) as HTMLInputElement;\n\n if (input != null) {\n input.focus();\n }\n }\n }\n\n render(): JSX.Element {\n const {\n children,\n className,\n in: inTransition,\n 'data-testid': dataTestId,\n } = this.props;\n return (\n <CSSTransition\n in={inTransition}\n classNames={{\n enterActive: 'collapsing',\n enterDone: 'collapse show',\n exitActive: 'collapsing',\n exitDone: 'collapse',\n }}\n onEnter={Collapse.handleEnter}\n onEntering={Collapse.handleEntering}\n onEntered={this.handleEntered}\n onExit={Collapse.handleExit}\n onExiting={Collapse.handleExiting}\n timeout={350}\n >\n {state => (\n <div\n className={classNames({ collapse: state === 'exited' }, className)}\n data-testid={dataTestId}\n >\n {children}\n </div>\n )}\n </CSSTransition>\n );\n }\n}\n\nexport default Collapse;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentUtils.js","names":["ForwardRef","isWrappedComponent","Component","WrappedComponent","undefined","isClassComponent","prototype","isReactComponent","isForwardRefComponentType","$$typeof","canHaveRef"],"sources":["../src/ComponentUtils.ts"],"sourcesContent":["import {\n type ComponentType,\n type ForwardRefExoticComponent,\n type RefAttributes,\n} from 'react';\nimport type React from 'react';\nimport { ForwardRef } from 'react-is';\n\nexport type Props = Record<string, unknown> | RefAttributes<unknown>;\n\n/**\n * Type that represents a component that has been wrapped by redux.\n */\nexport type WrappedComponentType<\n P extends Props,\n C extends ComponentType<P>,\n> = ComponentType<P> & {\n WrappedComponent: C;\n};\n\n/**\n * Checks if a component is a wrapped component.\n * @param Component The component to check\n * @returns Whether the component is a wrapped component or not\n */\nexport function isWrappedComponent<P extends Props, C extends ComponentType<P>>(\n Component: React.ComponentType<P>\n): Component is WrappedComponentType<P, C> {\n return (\n (Component as WrappedComponentType<P, C>)?.WrappedComponent !== undefined\n );\n}\n\n/**\n * Checks if a component is a class component.\n * @param Component The component to check\n * @returns Whether the component is a class component or not\n */\nexport function isClassComponent<P extends Props>(\n Component: React.ComponentType<P>\n): Component is React.ComponentClass<P> {\n if (\n isWrappedComponent(Component) &&\n isClassComponent(Component.WrappedComponent)\n ) {\n return true;\n }\n return (\n (Component as React.ComponentClass<P>).prototype != null &&\n (Component as React.ComponentClass<P>).prototype.isReactComponent != null\n );\n}\n\n/**\n * Checks if a component is a forward ref component.\n * @param Component The component to check\n * @returns Whether the component is a forward ref component or not\n */\nexport function isForwardRefComponentType<P extends Props>(\n Component: ComponentType<P>\n): Component is ForwardRefExoticComponent<P> {\n return (\n !isWrappedComponent(Component) &&\n // Do a check right on the `$$typeof` the component. The `isForwardRef` function in `react-is` checks against a `Component` instance, whereas\n // we want to check against a `ComponentType` which is the class/function that defines a component.\n '$$typeof' in Component &&\n Component.$$typeof === ForwardRef\n );\n}\n\n/**\n * Checks if a component can have a ref. Helps silence react dev errors\n * if a ref is passed to a functional component without forwardRef.\n * @param Component The component to check if it can take a ref\n * @returns Whether the component can have a ref or not\n */\nexport function canHaveRef<P extends Props>(\n Component: ComponentType<P> | WrappedComponentType<P, ComponentType<P>>\n): boolean {\n return isClassComponent(Component) || isForwardRefComponentType(Component);\n}\n"],"mappings":"AAMA,SAASA,UAAU,QAAQ,UAAU;;AAIrC;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,SAAiC,EACQ;EACzC,OACE,CAACA,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAiCC,gBAAgB,MAAKC,SAAS;AAE7E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BH,SAAiC,EACK;EACtC,IACED,kBAAkB,CAACC,SAAS,CAAC,IAC7BG,gBAAgB,CAACH,SAAS,CAACC,gBAAgB,CAAC,EAC5C;IACA,OAAO,IAAI;EACb;EACA,OACGD,SAAS,CAA6BI,SAAS,IAAI,IAAI,IACvDJ,SAAS,CAA6BI,SAAS,CAACC,gBAAgB,IAAI,IAAI;AAE7E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CACvCN,SAA2B,EACgB;EAC3C,OACE,CAACD,kBAAkB,CAACC,SAAS,CAAC;EAC9B;EACA;EACA,UAAU,IAAIA,SAAS,IACvBA,SAAS,CAACO,QAAQ,KAAKT,UAAU;AAErC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASU,UAAUA,CACxBR,SAAuE,EAC9D;EACT,OAAOG,gBAAgB,CAACH,SAAS,CAAC,IAAIM,yBAAyB,CAACN,SAAS,CAAC;AAC5E"}
|
|
1
|
+
{"version":3,"file":"ComponentUtils.js","names":["ForwardRef","isWrappedComponent","Component","WrappedComponent","undefined","isClassComponent","prototype","isReactComponent","isForwardRefComponentType","$$typeof","canHaveRef"],"sources":["../src/ComponentUtils.ts"],"sourcesContent":["import {\n type ComponentType,\n type ForwardRefExoticComponent,\n type RefAttributes,\n} from 'react';\nimport type React from 'react';\nimport { ForwardRef } from 'react-is';\n\nexport type Props = Record<string, unknown> | RefAttributes<unknown>;\n\n/**\n * Type that represents a component that has been wrapped by redux.\n */\nexport type WrappedComponentType<\n P extends Props,\n C extends ComponentType<P>,\n> = ComponentType<P> & {\n WrappedComponent: C;\n};\n\n/**\n * Checks if a component is a wrapped component.\n * @param Component The component to check\n * @returns Whether the component is a wrapped component or not\n */\nexport function isWrappedComponent<P extends Props, C extends ComponentType<P>>(\n Component: React.ComponentType<P>\n): Component is WrappedComponentType<P, C> {\n return (\n (Component as WrappedComponentType<P, C>)?.WrappedComponent !== undefined\n );\n}\n\n/**\n * Checks if a component is a class component.\n * @param Component The component to check\n * @returns Whether the component is a class component or not\n */\nexport function isClassComponent<P extends Props>(\n Component: React.ComponentType<P>\n): Component is React.ComponentClass<P> {\n if (\n isWrappedComponent(Component) &&\n isClassComponent(Component.WrappedComponent)\n ) {\n return true;\n }\n return (\n (Component as React.ComponentClass<P>).prototype != null &&\n (Component as React.ComponentClass<P>).prototype.isReactComponent != null\n );\n}\n\n/**\n * Checks if a component is a forward ref component.\n * @param Component The component to check\n * @returns Whether the component is a forward ref component or not\n */\nexport function isForwardRefComponentType<P extends Props>(\n Component: ComponentType<P>\n): Component is ForwardRefExoticComponent<P> {\n return (\n !isWrappedComponent(Component) &&\n // Do a check right on the `$$typeof` the component. The `isForwardRef` function in `react-is` checks against a `Component` instance, whereas\n // we want to check against a `ComponentType` which is the class/function that defines a component.\n '$$typeof' in Component &&\n Component.$$typeof === ForwardRef\n );\n}\n\n/**\n * Checks if a component can have a ref. Helps silence react dev errors\n * if a ref is passed to a functional component without forwardRef.\n * @param Component The component to check if it can take a ref\n * @returns Whether the component can have a ref or not\n */\nexport function canHaveRef<P extends Props>(\n Component: ComponentType<P> | WrappedComponentType<P, ComponentType<P>>\n): boolean {\n return isClassComponent(Component) || isForwardRefComponentType(Component);\n}\n"],"mappings":"AAMA,SAASA,UAAU,QAAQ,UAAU;;AAIrC;AACA;AACA;;AAQA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,SAAiC,EACQ;EACzC,OACE,CAACA,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAiCC,gBAAgB,MAAKC,SAAS;AAE7E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC9BH,SAAiC,EACK;EACtC,IACED,kBAAkB,CAACC,SAAS,CAAC,IAC7BG,gBAAgB,CAACH,SAAS,CAACC,gBAAgB,CAAC,EAC5C;IACA,OAAO,IAAI;EACb;EACA,OACGD,SAAS,CAA6BI,SAAS,IAAI,IAAI,IACvDJ,SAAS,CAA6BI,SAAS,CAACC,gBAAgB,IAAI,IAAI;AAE7E;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,yBAAyBA,CACvCN,SAA2B,EACgB;EAC3C,OACE,CAACD,kBAAkB,CAACC,SAAS,CAAC;EAC9B;EACA;EACA,UAAU,IAAIA,SAAS,IACvBA,SAAS,CAACO,QAAQ,KAAKT,UAAU;AAErC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASU,UAAUA,CACxBR,SAAuE,EAC9D;EACT,OAAOG,gBAAgB,CAACH,SAAS,CAAC,IAAIM,yBAAyB,CAACN,SAAS,CAAC;AAC5E","ignoreList":[]}
|
package/dist/CopyButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.js","names":["React","vsPassFilled","vsCopy","useCopyToClipboard","Button","jsx","_jsx","CopyButton","_ref","copy","kind","tooltip","className","style","dataTestId","children","copied","copyToClipboard","icon","onClick"],"sources":["../src/CopyButton.tsx"],"sourcesContent":["import React from 'react';\nimport { vsPassFilled, vsCopy } from '@deephaven/icons';\nimport { useCopyToClipboard } from '@deephaven/react-hooks';\nimport Button, { type ButtonKind } from './Button';\n\ntype CopyButtonProps = {\n /** The value to copy when clicked, accepts string or function returning a string. */\n copy: string | (() => string);\n /** The kind of button */\n kind?: ButtonKind;\n /** Optional tooltip label ex. 'Copy column name' */\n tooltip?: string;\n /** Optional extra classname */\n className?: string;\n /** Optional extra styles */\n style?: React.CSSProperties;\n /** Optional extra testid */\n 'data-testid'?: string;\n /** Optional button children */\n children?: React.ReactNode;\n};\n\n/**\n * Button that has a copy icon, and copies text to a clipboard when clicked.\n */\nfunction CopyButton({\n copy,\n kind = 'ghost',\n tooltip = 'Copy',\n className,\n style,\n 'data-testid': dataTestId,\n children,\n}: CopyButtonProps): JSX.Element {\n const [copied, copyToClipboard] = useCopyToClipboard();\n return (\n <Button\n kind={kind}\n className={className}\n style={style}\n data-testid={dataTestId}\n icon={copied ? vsPassFilled : vsCopy}\n tooltip={copied ? 'Copied' : tooltip}\n onClick={() => {\n copyToClipboard(typeof copy === 'function' ? copy() : copy);\n }}\n >\n {children}\n </Button>\n );\n}\n\nexport default CopyButton;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,MAAM,QAAQ,kBAAkB;AACvD,SAASC,kBAAkB,QAAQ,wBAAwB;AAAC,OACrDC,MAAM;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAmBb;AACA;AACA;AACA,SAASC,UAAUA,CAAAC,IAAA,EAQc;EAAA,IARb;IAClBC,IAAI;IACJC,IAAI,GAAG,OAAO;IACdC,OAAO,GAAG,MAAM;IAChBC,SAAS;IACTC,KAAK;IACL,aAAa,EAAEC,UAAU;IACzBC;EACe,CAAC,GAAAP,IAAA;EAChB,IAAM,CAACQ,MAAM,EAAEC,eAAe,CAAC,GAAGd,kBAAkB,CAAC,CAAC;EACtD,oBACEG,IAAA,CAACF,MAAM;IACLM,IAAI,EAAEA,IAAK;IACXE,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAM;IACb,eAAaC,UAAW;IACxBI,IAAI,EAAEF,MAAM,GAAGf,YAAY,GAAGC,MAAO;IACrCS,OAAO,EAAEK,MAAM,GAAG,QAAQ,GAAGL,OAAQ;IACrCQ,OAAO,EAAEA,CAAA,KAAM;MACbF,eAAe,CAAC,OAAOR,IAAI,KAAK,UAAU,GAAGA,IAAI,CAAC,CAAC,GAAGA,IAAI,CAAC;IAC7D,CAAE;IAAAM,QAAA,EAEDA;EAAQ,CACH,CAAC;AAEb;AAEA,eAAeR,UAAU"}
|
|
1
|
+
{"version":3,"file":"CopyButton.js","names":["React","vsPassFilled","vsCopy","useCopyToClipboard","Button","jsx","_jsx","CopyButton","_ref","copy","kind","tooltip","className","style","dataTestId","children","copied","copyToClipboard","icon","onClick"],"sources":["../src/CopyButton.tsx"],"sourcesContent":["import React from 'react';\nimport { vsPassFilled, vsCopy } from '@deephaven/icons';\nimport { useCopyToClipboard } from '@deephaven/react-hooks';\nimport Button, { type ButtonKind } from './Button';\n\ntype CopyButtonProps = {\n /** The value to copy when clicked, accepts string or function returning a string. */\n copy: string | (() => string);\n /** The kind of button */\n kind?: ButtonKind;\n /** Optional tooltip label ex. 'Copy column name' */\n tooltip?: string;\n /** Optional extra classname */\n className?: string;\n /** Optional extra styles */\n style?: React.CSSProperties;\n /** Optional extra testid */\n 'data-testid'?: string;\n /** Optional button children */\n children?: React.ReactNode;\n};\n\n/**\n * Button that has a copy icon, and copies text to a clipboard when clicked.\n */\nfunction CopyButton({\n copy,\n kind = 'ghost',\n tooltip = 'Copy',\n className,\n style,\n 'data-testid': dataTestId,\n children,\n}: CopyButtonProps): JSX.Element {\n const [copied, copyToClipboard] = useCopyToClipboard();\n return (\n <Button\n kind={kind}\n className={className}\n style={style}\n data-testid={dataTestId}\n icon={copied ? vsPassFilled : vsCopy}\n tooltip={copied ? 'Copied' : tooltip}\n onClick={() => {\n copyToClipboard(typeof copy === 'function' ? copy() : copy);\n }}\n >\n {children}\n </Button>\n );\n}\n\nexport default CopyButton;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,YAAY,EAAEC,MAAM,QAAQ,kBAAkB;AACvD,SAASC,kBAAkB,QAAQ,wBAAwB;AAAC,OACrDC,MAAM;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAmBb;AACA;AACA;AACA,SAASC,UAAUA,CAAAC,IAAA,EAQc;EAAA,IARb;IAClBC,IAAI;IACJC,IAAI,GAAG,OAAO;IACdC,OAAO,GAAG,MAAM;IAChBC,SAAS;IACTC,KAAK;IACL,aAAa,EAAEC,UAAU;IACzBC;EACe,CAAC,GAAAP,IAAA;EAChB,IAAM,CAACQ,MAAM,EAAEC,eAAe,CAAC,GAAGd,kBAAkB,CAAC,CAAC;EACtD,oBACEG,IAAA,CAACF,MAAM;IACLM,IAAI,EAAEA,IAAK;IACXE,SAAS,EAAEA,SAAU;IACrBC,KAAK,EAAEA,KAAM;IACb,eAAaC,UAAW;IACxBI,IAAI,EAAEF,MAAM,GAAGf,YAAY,GAAGC,MAAO;IACrCS,OAAO,EAAEK,MAAM,GAAG,QAAQ,GAAGL,OAAQ;IACrCQ,OAAO,EAAEA,CAAA,KAAM;MACbF,eAAe,CAAC,OAAOR,IAAI,KAAK,UAAU,GAAGA,IAAI,CAAC,CAAC,GAAGA,IAAI,CAAC;IAC7D,CAAE;IAAAM,QAAA,EAEDA;EAAQ,CACH,CAAC;AAEb;AAEA,eAAeR,UAAU","ignoreList":[]}
|
package/dist/CustomTimeSelect.js
CHANGED
|
@@ -11,14 +11,13 @@ import classNames from 'classnames';
|
|
|
11
11
|
import TimeInput from "./TimeInput.js";
|
|
12
12
|
import DropdownMenu from "./menu-actions/DropdownMenu.js";
|
|
13
13
|
import "./CustomTimeSelect.css";
|
|
14
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
15
|
var CUSTOM_OPTION = -1;
|
|
17
|
-
var MENU_NAVIGATION_DIRECTION
|
|
18
|
-
(function (MENU_NAVIGATION_DIRECTION) {
|
|
16
|
+
var MENU_NAVIGATION_DIRECTION = /*#__PURE__*/function (MENU_NAVIGATION_DIRECTION) {
|
|
19
17
|
MENU_NAVIGATION_DIRECTION["UP"] = "UP";
|
|
20
18
|
MENU_NAVIGATION_DIRECTION["DOWN"] = "DOWN";
|
|
21
|
-
|
|
19
|
+
return MENU_NAVIGATION_DIRECTION;
|
|
20
|
+
}(MENU_NAVIGATION_DIRECTION || {});
|
|
22
21
|
class CustomTimeSelect extends Component {
|
|
23
22
|
constructor(props) {
|
|
24
23
|
super(props);
|
|
@@ -79,7 +78,7 @@ class CustomTimeSelect extends Component {
|
|
|
79
78
|
}
|
|
80
79
|
focus() {
|
|
81
80
|
var _this$button$current;
|
|
82
|
-
(_this$button$current = this.button.current) === null || _this$button$current === void 0
|
|
81
|
+
(_this$button$current = this.button.current) === null || _this$button$current === void 0 || _this$button$current.focus();
|
|
83
82
|
}
|
|
84
83
|
updateInputValue(value) {
|
|
85
84
|
var {
|
|
@@ -109,7 +108,7 @@ class CustomTimeSelect extends Component {
|
|
|
109
108
|
this.updateInputValue(options[keyboardOptionIndex].value);
|
|
110
109
|
}
|
|
111
110
|
this.closeMenu();
|
|
112
|
-
(_this$button$current2 = this.button.current) === null || _this$button$current2 === void 0
|
|
111
|
+
(_this$button$current2 = this.button.current) === null || _this$button$current2 === void 0 || _this$button$current2.focus();
|
|
113
112
|
event.stopPropagation();
|
|
114
113
|
event.preventDefault();
|
|
115
114
|
break;
|
|
@@ -209,7 +208,7 @@ class CustomTimeSelect extends Component {
|
|
|
209
208
|
var _this$button$current3;
|
|
210
209
|
this.updateInputValue(update);
|
|
211
210
|
this.closeMenu();
|
|
212
|
-
(_this$button$current3 = this.button.current) === null || _this$button$current3 === void 0
|
|
211
|
+
(_this$button$current3 = this.button.current) === null || _this$button$current3 === void 0 || _this$button$current3.focus();
|
|
213
212
|
}
|
|
214
213
|
handleOptionFocus(event) {
|
|
215
214
|
this.setState({
|
|
@@ -241,7 +240,7 @@ class CustomTimeSelect extends Component {
|
|
|
241
240
|
}
|
|
242
241
|
focusInput() {
|
|
243
242
|
var _this$input$current;
|
|
244
|
-
(_this$input$current = this.input.current) === null || _this$input$current === void 0
|
|
243
|
+
(_this$input$current = this.input.current) === null || _this$input$current === void 0 || _this$input$current.focus();
|
|
245
244
|
}
|
|
246
245
|
focusOption(index) {
|
|
247
246
|
var _this$menuContainer$c2;
|
|
@@ -309,7 +308,7 @@ class CustomTimeSelect extends Component {
|
|
|
309
308
|
});
|
|
310
309
|
if (focusButton) {
|
|
311
310
|
var _this$button$current4;
|
|
312
|
-
(_this$button$current4 = this.button.current) === null || _this$button$current4 === void 0
|
|
311
|
+
(_this$button$current4 = this.button.current) === null || _this$button$current4 === void 0 || _this$button$current4.focus();
|
|
313
312
|
}
|
|
314
313
|
}
|
|
315
314
|
updateKeyboardIndex() {
|
|
@@ -381,7 +380,7 @@ class CustomTimeSelect extends Component {
|
|
|
381
380
|
var option = options[index];
|
|
382
381
|
var key = "option-".concat(index, "-").concat(option.value);
|
|
383
382
|
matchFound = matchFound || option.value === value;
|
|
384
|
-
optionArray.push(
|
|
383
|
+
optionArray.push(/*#__PURE__*/_jsxs("button", {
|
|
385
384
|
type: "button",
|
|
386
385
|
value: index,
|
|
387
386
|
className: classNames('cs-option-btn', {
|
|
@@ -397,10 +396,10 @@ class CustomTimeSelect extends Component {
|
|
|
397
396
|
}), option.title]
|
|
398
397
|
}, key));
|
|
399
398
|
}
|
|
400
|
-
optionArray.push(
|
|
399
|
+
optionArray.push(/*#__PURE__*/_jsx("hr", {
|
|
401
400
|
className: "cs-divider"
|
|
402
401
|
}, "option-divider"));
|
|
403
|
-
optionArray.push(
|
|
402
|
+
optionArray.push(/*#__PURE__*/_jsxs("button", {
|
|
404
403
|
type: "button",
|
|
405
404
|
value: CUSTOM_OPTION,
|
|
406
405
|
className: classNames('cs-option-btn', {
|
|
@@ -415,7 +414,7 @@ class CustomTimeSelect extends Component {
|
|
|
415
414
|
className: "mr-4"
|
|
416
415
|
}), customText]
|
|
417
416
|
}, "option-custom-label"));
|
|
418
|
-
optionArray.push(
|
|
417
|
+
optionArray.push(/*#__PURE__*/_jsxs("div", {
|
|
419
418
|
className: "cs-custom-container",
|
|
420
419
|
children: [/*#__PURE__*/_jsx("span", {
|
|
421
420
|
className: "mr-2"
|
|
@@ -433,7 +432,7 @@ class CustomTimeSelect extends Component {
|
|
|
433
432
|
className: "ml-2"
|
|
434
433
|
})]
|
|
435
434
|
}, "cs-custom-container"));
|
|
436
|
-
optionArray.push(
|
|
435
|
+
optionArray.push(/*#__PURE__*/_jsx("hr", {
|
|
437
436
|
className: "mb-2"
|
|
438
437
|
}, "option-end"));
|
|
439
438
|
return optionArray;
|