@deque/cauldron-react 3.0.1-canary.39246e23 → 3.0.1-canary.41ff0487

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.
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ interface AddressProps extends React.HTMLAttributes<HTMLElement> {
4
+ children: React.ReactNode;
5
+ }
6
+ export declare const Address: {
7
+ ({ children, className, ...other }: AddressProps): JSX.Element;
8
+ displayName: string;
9
+ propTypes: {
10
+ children: PropTypes.Validator<string | number | boolean | {} | PropTypes.ReactElementLike | PropTypes.ReactNodeArray>;
11
+ className: PropTypes.Requireable<string>;
12
+ };
13
+ };
14
+ declare type AddressLineProps = React.HTMLAttributes<HTMLElement>;
15
+ export declare const AddressLine: {
16
+ ({ children, className, ...other }: AddressLineProps): JSX.Element | null;
17
+ displayName: string;
18
+ propTypes: {
19
+ children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
20
+ className: PropTypes.Requireable<string>;
21
+ };
22
+ };
23
+ interface AddressCityStateZipProps extends React.HTMLAttributes<HTMLElement> {
24
+ city: React.ReactNode;
25
+ state: React.ReactNode;
26
+ zip: React.ReactNode;
27
+ }
28
+ export declare const AddressCityStateZip: {
29
+ ({ city, state, zip, className, ...other }: AddressCityStateZipProps): JSX.Element | null;
30
+ displayName: string;
31
+ propTypes: {
32
+ city: PropTypes.Requireable<PropTypes.ReactNodeLike>;
33
+ state: PropTypes.Requireable<PropTypes.ReactNodeLike>;
34
+ zip: PropTypes.Requireable<PropTypes.ReactNodeLike>;
35
+ className: PropTypes.Requireable<string>;
36
+ };
37
+ };
38
+ export {};
@@ -2,6 +2,6 @@
2
2
  * GENERATED CODE. DO NOT EDIT DIRECTLY!
3
3
  */
4
4
  /** IconType represents each valid icon type. */
5
- export declare type IconType = 'add-user' | 'arrow-circle-up' | 'arrow-circle-down' | 'arrow-circle-left' | 'arrow-circle-right' | 'arrow-up' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrows-alt' | 'bolt' | 'caution' | 'check-circle' | 'check-shield' | 'check-solid' | 'check' | 'checkbox-checked' | 'checkbox-unchecked' | 'chevron-double-up' | 'chevron-double-down' | 'chevron-double-left' | 'chevron-double-right' | 'chevron-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'close' | 'code' | 'copy' | 'download' | 'exchange' | 'external-link' | 'eye' | 'filter' | 'flag' | 'gears' | 'grid' | 'hamburger-menu' | 'highlight' | 'info-circle-alt' | 'info-circle' | 'info-square' | 'kabob' | 'list' | 'lock' | 'menu' | 'new-releases' | 'new' | 'no' | 'pencil' | 'plus' | 'question-circle' | 'radio-checked' | 'radio-unchecked' | 'recycle' | 'robot' | 'run-again' | 'save' | 'share' | 'sort' | 'star' | 'sun' | 'tag' | 'target' | 'trash' | 'triangle-up' | 'triangle-down' | 'triangle-left' | 'triangle-right' | 'upload';
5
+ export declare type IconType = 'add-user' | 'arrow-circle-up' | 'arrow-circle-down' | 'arrow-circle-left' | 'arrow-circle-right' | 'arrow-up' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrows-alt' | 'bolt' | 'caution' | 'check-circle' | 'check-shield' | 'check-solid' | 'check' | 'checkbox-checked' | 'checkbox-unchecked' | 'chevron-double-up' | 'chevron-double-down' | 'chevron-double-left' | 'chevron-double-right' | 'chevron-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'close' | 'code' | 'copy' | 'download' | 'exchange' | 'external-link' | 'eye' | 'filter' | 'flag' | 'gears' | 'grid' | 'hamburger-menu' | 'highlight' | 'info-circle-alt' | 'info-circle' | 'info-square' | 'kabob' | 'list' | 'lock' | 'magnifying-glass' | 'menu' | 'new-releases' | 'new' | 'no' | 'pencil' | 'plus' | 'question-circle' | 'radio-checked' | 'radio-unchecked' | 'recycle' | 'robot' | 'run-again' | 'save' | 'share' | 'sort' | 'star' | 'sun' | 'tag' | 'target' | 'trash' | 'triangle-up' | 'triangle-down' | 'triangle-left' | 'triangle-right' | 'upload';
6
6
  /** iconTypes holds each valid icon type. */
7
7
  export declare const iconTypes: string[];
@@ -1,7 +1,7 @@
1
- import React from 'react';
1
+ import * as Polymorphic from '../../utils/polymorphic-type';
2
2
  import { IconType } from '../Icon';
3
3
  import { TooltipProps } from '../Tooltip';
4
- export interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
4
+ export interface IconButtonOwnProps {
5
5
  icon: IconType;
6
6
  label: string;
7
7
  tooltipPlacement?: TooltipProps['placement'];
@@ -9,5 +9,12 @@ export interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonEl
9
9
  tooltipPortal?: TooltipProps['portal'];
10
10
  variant?: 'primary' | 'secondary' | 'error';
11
11
  }
12
- declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps & React.RefAttributes<HTMLButtonElement>>;
12
+ declare type PolymorphicIconButton = Polymorphic.ForwardRefComponent<'button', IconButtonOwnProps>;
13
+ /**
14
+ * Unfortunately, eslint does not recognize that this Polymorphic component has a displayName set
15
+ *
16
+ * We might be able to remove this if we upgrade eslint and associated plugins
17
+ * See: https://github.com/dequelabs/cauldron/issues/451
18
+ */
19
+ declare const IconButton: PolymorphicIconButton;
13
20
  export default IconButton;
@@ -5,7 +5,7 @@ declare const Panel: {
5
5
  ({ className, title, actions, children }: {
6
6
  className?: string | undefined;
7
7
  title?: string | undefined;
8
- actions?: React.ForwardRefExoticComponent<import("../IconButton").IconButtonProps & React.RefAttributes<HTMLButtonElement>>[] | undefined;
8
+ actions?: import("../../utils/polymorphic-type").ForwardRefComponent<"button", import("../IconButton").IconButtonOwnProps>[] | undefined;
9
9
  children: React.ReactNode;
10
10
  }): JSX.Element;
11
11
  displayName: string;
@@ -9,6 +9,7 @@ interface StepWithChildren extends BaseStepProps {
9
9
  }
10
10
  interface StepWithTooltip extends BaseStepProps {
11
11
  tooltip: React.ReactNode;
12
+ tooltipText: string;
12
13
  }
13
14
  declare type StepProps = StepWithChildren | StepWithTooltip;
14
15
  export declare const Step: {
@@ -17,6 +18,7 @@ export declare const Step: {
17
18
  propTypes: {
18
19
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
19
20
  tooltip: PropTypes.Requireable<PropTypes.ReactNodeLike>;
21
+ tooltipText: PropTypes.Requireable<string>;
20
22
  className: PropTypes.Requireable<string>;
21
23
  };
22
24
  };
@@ -1,6 +1,6 @@
1
- import React from 'react';
1
+ import React, { TdHTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- interface TableCellProps {
3
+ interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {
4
4
  children: React.ReactNode;
5
5
  className?: string;
6
6
  }
@@ -1,6 +1,6 @@
1
- import React from 'react';
1
+ import React, { ThHTMLAttributes } from 'react';
2
2
  import PropTypes from 'prop-types';
3
- interface TableHeaderProps {
3
+ interface TableHeaderProps extends ThHTMLAttributes<HTMLTableCellElement> {
4
4
  children: React.ReactNode;
5
5
  className?: string;
6
6
  }
@@ -11,7 +11,7 @@ export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
11
11
  portal?: React.RefObject<HTMLElement> | HTMLElement;
12
12
  hideElementOnHidden?: boolean;
13
13
  }
14
- declare function Tooltip({ id: propId, placement: initialPlacement, children, portal, target, association, variant, show: showProp, hideElementOnHidden, ...props }: TooltipProps): React.ReactPortal | null;
14
+ declare function Tooltip({ id: propId, placement: initialPlacement, children, portal, target, association, variant, show: showProp, hideElementOnHidden, className, ...props }: TooltipProps): React.ReactPortal | null;
15
15
  declare namespace Tooltip {
16
16
  var displayName: string;
17
17
  var propTypes: {
package/lib/index.d.ts CHANGED
@@ -43,6 +43,7 @@ export { DescriptionList, DescriptionListItem, DescriptionTerm, DescriptionDetai
43
43
  export { default as Stepper, Step } from './components/Stepper';
44
44
  export { default as Panel } from './components/Panel';
45
45
  export { default as ProgressBar } from './components/ProgressBar';
46
+ export { Address, AddressLine, AddressCityStateZip } from './components/Address';
46
47
  /**
47
48
  * Helpers / Utils
48
49
  */
package/lib/index.js CHANGED
@@ -162,6 +162,7 @@ var iconTypes = [
162
162
  'kabob',
163
163
  'list',
164
164
  'lock',
165
+ 'magnifying-glass',
165
166
  'menu',
166
167
  'new-releases',
167
168
  'new',
@@ -224,6 +225,7 @@ function __variableDynamicImportRuntime0__(path) {
224
225
  case './icons/kabob.svg': return Promise.resolve().then(function () { return require('./kabob-692fdc00.js'); });
225
226
  case './icons/list.svg': return Promise.resolve().then(function () { return require('./list-8fbd8209.js'); });
226
227
  case './icons/lock.svg': return Promise.resolve().then(function () { return require('./lock-bd0122db.js'); });
228
+ case './icons/magnifying-glass.svg': return Promise.resolve().then(function () { return require('./magnifying-glass-2907fb77.js'); });
227
229
  case './icons/menu.svg': return Promise.resolve().then(function () { return require('./menu-2f2be7c2.js'); });
228
230
  case './icons/new-releases.svg': return Promise.resolve().then(function () { return require('./new-releases-ac749bdd.js'); });
229
231
  case './icons/new.svg': return Promise.resolve().then(function () { return require('./new-6c3ac7d7.js'); });
@@ -1465,7 +1467,7 @@ var fireCustomEvent = function (show, button) {
1465
1467
  };
1466
1468
  function Tooltip(_a) {
1467
1469
  var _this = this;
1468
- var propId = _a.id, _b = _a.placement, initialPlacement = _b === void 0 ? 'auto' : _b, children = _a.children, portal = _a.portal, target = _a.target, _c = _a.association, association = _c === void 0 ? 'aria-describedby' : _c, _d = _a.variant, variant = _d === void 0 ? 'text' : _d, _e = _a.show, showProp = _e === void 0 ? false : _e, _f = _a.hideElementOnHidden, hideElementOnHidden = _f === void 0 ? false : _f, props = tslib.__rest(_a, ["id", "placement", "children", "portal", "target", "association", "variant", "show", "hideElementOnHidden"]);
1470
+ var propId = _a.id, _b = _a.placement, initialPlacement = _b === void 0 ? 'auto' : _b, children = _a.children, portal = _a.portal, target = _a.target, _c = _a.association, association = _c === void 0 ? 'aria-describedby' : _c, _d = _a.variant, variant = _d === void 0 ? 'text' : _d, _e = _a.show, showProp = _e === void 0 ? false : _e, _f = _a.hideElementOnHidden, hideElementOnHidden = _f === void 0 ? false : _f, className = _a.className, props = tslib.__rest(_a, ["id", "placement", "children", "portal", "target", "association", "variant", "show", "hideElementOnHidden", "className"]);
1469
1471
  var id = (propId ? [propId] : nextId.useId(1, 'tooltip'))[0];
1470
1472
  var hovering = React.useRef(false);
1471
1473
  var _g = React.useState(initialPlacement), placement = _g[0], setPlacement = _g[1];
@@ -1586,7 +1588,7 @@ function Tooltip(_a) {
1586
1588
  }
1587
1589
  }, [targetElement, id]);
1588
1590
  return showTooltip || hideElementOnHidden
1589
- ? reactDom.createPortal(React__default.createElement("div", tslib.__assign({ id: id, className: classNames('Tooltip', "Tooltip--" + placement, {
1591
+ ? reactDom.createPortal(React__default.createElement("div", tslib.__assign({ id: id, className: classNames('Tooltip', "Tooltip--" + placement, className, {
1590
1592
  TooltipInfo: variant === 'info',
1591
1593
  'Tooltip--hidden': !showTooltip && hideElementOnHidden,
1592
1594
  'Tooltip--big': variant === 'big'
@@ -1615,21 +1617,45 @@ var TooltipContent = function (_a) {
1615
1617
  return (React__default.createElement("div", tslib.__assign({ className: classNames('TooltipContent', className) }, other)));
1616
1618
  };
1617
1619
 
1620
+ /**
1621
+ * Unfortunately, eslint does not recognize that this Polymorphic component has a displayName set
1622
+ *
1623
+ * We might be able to remove this if we upgrade eslint and associated plugins
1624
+ * See: https://github.com/dequelabs/cauldron/issues/451
1625
+ */
1626
+ // eslint-disable-next-line react/display-name
1618
1627
  var IconButton = React.forwardRef(function (_a, ref) {
1619
- var icon = _a.icon, label = _a.label, _b = _a.tooltipPlacement, tooltipPlacement = _b === void 0 ? 'auto' : _b, tooltipVariant = _a.tooltipVariant, tooltipPortal = _a.tooltipPortal, className = _a.className, _c = _a.variant, variant = _c === void 0 ? 'secondary' : _c, disabled = _a.disabled, other = tslib.__rest(_a, ["icon", "label", "tooltipPlacement", "tooltipVariant", "tooltipPortal", "className", "variant", "disabled"]);
1620
- var buttonRef = React.useRef();
1621
- React.useImperativeHandle(ref, function () { return buttonRef.current; });
1628
+ var _b = _a.as, Component = _b === void 0 ? 'button' : _b, icon = _a.icon, label = _a.label, _c = _a.tooltipPlacement, tooltipPlacement = _c === void 0 ? 'auto' : _c, tooltipVariant = _a.tooltipVariant, tooltipPortal = _a.tooltipPortal, className = _a.className, _d = _a.variant, variant = _d === void 0 ? 'secondary' : _d, disabled = _a.disabled, _e = _a.tabIndex, tabIndex = _e === void 0 ? 0 : _e, other = tslib.__rest(_a, ["as", "icon", "label", "tooltipPlacement", "tooltipVariant", "tooltipPortal", "className", "variant", "disabled", "tabIndex"]);
1629
+ var internalRef = React.useRef();
1630
+ React.useImperativeHandle(ref, function () { return internalRef.current; });
1631
+ // Configure additional properties based on the type of the Component
1632
+ // for accessibility
1633
+ var accessibilityProps = {};
1634
+ if (Component === 'button') {
1635
+ accessibilityProps.type = 'button';
1636
+ }
1637
+ else {
1638
+ // We don't need to set an anchor's role, since it would be redundant
1639
+ if (Component !== 'a') {
1640
+ accessibilityProps.role = other.href || other.to ? 'link' : 'button';
1641
+ }
1642
+ if (disabled) {
1643
+ accessibilityProps['aria-disabled'] = disabled;
1644
+ }
1645
+ }
1622
1646
  return (React__default.createElement(React__default.Fragment, null,
1623
- React__default.createElement("button", tslib.__assign({ type: 'button', className: classNames(className, {
1647
+ React__default.createElement(Component, tslib.__assign({ className: classNames(className, {
1624
1648
  IconButton: true,
1625
1649
  'IconButton--primary': variant === 'primary',
1626
1650
  'IconButton--secondary': variant === 'secondary',
1627
1651
  'IconButton--error': variant === 'error'
1628
- }), ref: buttonRef, disabled: disabled }, other),
1652
+ }), ref: internalRef, disabled: disabled, tabIndex: disabled ? -1 : tabIndex }, accessibilityProps, other),
1629
1653
  React__default.createElement(Icon, { type: icon })),
1630
- !disabled && (React__default.createElement(Tooltip, { target: buttonRef, placement: tooltipPlacement, variant: tooltipVariant, portal: tooltipPortal, association: "aria-labelledby", hideElementOnHidden: true }, label))));
1654
+ !disabled && (React__default.createElement(Tooltip, { target: internalRef, placement: tooltipPlacement, variant: tooltipVariant, portal: tooltipPortal, association: "aria-labelledby", hideElementOnHidden: true }, label))));
1631
1655
  });
1632
1656
  IconButton.propTypes = {
1657
+ // @ts-expect-error
1658
+ as: PropTypes.elementType,
1633
1659
  // @ts-expect-error
1634
1660
  icon: PropTypes.string.isRequired,
1635
1661
  label: PropTypes.string.isRequired,
@@ -2247,7 +2273,7 @@ var Select = React__default.forwardRef(function (_a, ref) {
2247
2273
  })
2248
2274
  : children),
2249
2275
  React__default.createElement("div", { className: "arrow-down" })),
2250
- React__default.createElement("div", { className: "Error", id: errorId }, error)));
2276
+ error && (React__default.createElement("div", { id: errorId, className: "Error" }, error))));
2251
2277
  /* eslint-disable jsx-a11y/no-onchange */
2252
2278
  });
2253
2279
  Select.displayName = 'Select';
@@ -2294,13 +2320,13 @@ var RadioGroup = function (_a) {
2294
2320
  handleChange(radioValue);
2295
2321
  onChange(radio, (_a = inputs.current) === null || _a === void 0 ? void 0 : _a[index]);
2296
2322
  }, disabled: disabled, checked: isChecked }, other)),
2323
+ React__default.createElement("label", { htmlFor: id, className: classNames('Field__label', {
2324
+ 'Field__label--disabled': disabled
2325
+ }) }, label),
2297
2326
  React__default.createElement(Icon, { className: classNames('Radio__overlay', {
2298
2327
  'Radio__overlay--focused': isFocused,
2299
2328
  'Radio__overlay--disabled': disabled
2300
- }), type: isChecked ? 'radio-checked' : 'radio-unchecked', "aria-hidden": "true", onClick: function () { return onRadioClick(index); } }),
2301
- React__default.createElement("label", { htmlFor: id, className: classNames('Field__label', {
2302
- 'Field__label--disabled': disabled
2303
- }) }, label)));
2329
+ }), type: isChecked ? 'radio-checked' : 'radio-unchecked', "aria-hidden": "true", onClick: function () { return onRadioClick(index); } })));
2304
2330
  });
2305
2331
  // reset the input refs array
2306
2332
  // refs get clobbered every re-render anyway and this supports "dynamic" radios
@@ -2350,6 +2376,9 @@ var Checkbox = React.forwardRef(function (_a, ref) {
2350
2376
  onChange(e);
2351
2377
  }
2352
2378
  } }, other)),
2379
+ React__default.createElement("label", { className: classNames('Field__label', {
2380
+ 'Field__label--disabled': disabled
2381
+ }), htmlFor: id }, label),
2353
2382
  React__default.createElement(Icon, { className: classNames('Checkbox__overlay', {
2354
2383
  'Checkbox__overlay--disabled': disabled,
2355
2384
  'Checkbox__overlay--focused': focused,
@@ -2362,11 +2391,8 @@ var Checkbox = React.forwardRef(function (_a, ref) {
2362
2391
  else {
2363
2392
  (_b = checkRef.current) === null || _b === void 0 ? void 0 : _b.click();
2364
2393
  }
2365
- } }),
2366
- React__default.createElement("label", { className: classNames('Field__label', {
2367
- 'Field__label--disabled': disabled
2368
- }), htmlFor: id }, label)),
2369
- React__default.createElement("div", { id: errorId, className: "Error" }, error)));
2394
+ } })),
2395
+ error && (React__default.createElement("div", { id: errorId, className: "Error" }, error))));
2370
2396
  });
2371
2397
  Checkbox.displayName = 'Checkbox';
2372
2398
 
@@ -2473,7 +2499,7 @@ var TextField = /** @class */ (function (_super) {
2473
2499
  _this.input = input;
2474
2500
  setRef(fieldRef, input);
2475
2501
  } }, other, inputProps)),
2476
- React__default.createElement("div", { className: "Error", id: this.errorId }, error)));
2502
+ error && (React__default.createElement("div", { className: "Error", id: this.errorId }, error))));
2477
2503
  };
2478
2504
  TextField.prototype.onChange = function (e) {
2479
2505
  var _a, _b;
@@ -8160,7 +8186,7 @@ var Step = function (props) {
8160
8186
  // list items, therefore it is safe to clobber
8161
8187
  // it with the contents of the tooltip in the
8162
8188
  // tab stop's accessible name.
8163
- association: "aria-labelledby" },
8189
+ association: "aria-labelledby", "aria-label": isTooltip(props) ? props.tooltipText : undefined },
8164
8190
  React__default.createElement("div", { className: "Stepper__step-indicator" }))) : (React__default.createElement(React__default.Fragment, null,
8165
8191
  React__default.createElement("div", { className: "Stepper__step-indicator" }),
8166
8192
  'children' in props && (React__default.createElement("div", { className: "Stepper__step-label" }, props.children)))))));
@@ -8169,6 +8195,7 @@ Step.displayName = 'Step';
8169
8195
  Step.propTypes = {
8170
8196
  children: PropTypes.node,
8171
8197
  tooltip: PropTypes.node,
8198
+ tooltipText: PropTypes.string,
8172
8199
  className: PropTypes.string
8173
8200
  };
8174
8201
  var Stepper = function (_a) {
@@ -8203,6 +8230,38 @@ var ProgressBar = React.forwardRef(function (_a, ref) {
8203
8230
  });
8204
8231
  ProgressBar.displayName = 'ProgressBar';
8205
8232
 
8233
+ var Address = function (_a) {
8234
+ var children = _a.children, className = _a.className, other = tslib.__rest(_a, ["children", "className"]);
8235
+ return (React__default.createElement("address", tslib.__assign({ className: classNames('Address', className) }, other), children));
8236
+ };
8237
+ Address.displayName = 'Address';
8238
+ Address.propTypes = {
8239
+ children: PropTypes.node.isRequired,
8240
+ className: PropTypes.string
8241
+ };
8242
+ var AddressLine = function (_a) {
8243
+ var children = _a.children, className = _a.className, other = tslib.__rest(_a, ["children", "className"]);
8244
+ return children ? (React__default.createElement("div", tslib.__assign({ className: classNames('Address__line', className) }, other), children)) : null;
8245
+ };
8246
+ AddressLine.displayName = 'AddressLine';
8247
+ AddressLine.propTypes = {
8248
+ children: PropTypes.node,
8249
+ className: PropTypes.string
8250
+ };
8251
+ var AddressCityStateZip = function (_a) {
8252
+ var city = _a.city, state = _a.state, zip = _a.zip, className = _a.className, other = tslib.__rest(_a, ["city", "state", "zip", "className"]);
8253
+ return city || state || zip ? (React__default.createElement("div", tslib.__assign({ className: classNames('Address__city-state-zip', className) }, other), [[city, state].filter(Boolean).join(', '), zip]
8254
+ .filter(Boolean)
8255
+ .join(' '))) : null;
8256
+ };
8257
+ AddressCityStateZip.displayName = 'AddressCityStateZip';
8258
+ AddressCityStateZip.propTypes = {
8259
+ city: PropTypes.node,
8260
+ state: PropTypes.node,
8261
+ zip: PropTypes.node,
8262
+ className: PropTypes.string
8263
+ };
8264
+
8206
8265
  /**
8207
8266
  * Hook to be used similarly to the React.Component#componentDidMount.
8208
8267
  * Executes the provided `effect` when `dependencies` change but does not
@@ -8271,6 +8330,9 @@ ThemeProvider.propTypes = {
8271
8330
  initialTheme: PropTypes.string
8272
8331
  };
8273
8332
 
8333
+ exports.Address = Address;
8334
+ exports.AddressCityStateZip = AddressCityStateZip;
8335
+ exports.AddressLine = AddressLine;
8274
8336
  exports.Alert = Alert;
8275
8337
  exports.AlertActions = AlertActions;
8276
8338
  exports.AlertContent = AlertContent;
@@ -0,0 +1,23 @@
1
+ 'use strict';
2
+
3
+ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4
+
5
+ var React = require('react');
6
+ var React__default = _interopDefault(React);
7
+
8
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
+
10
+ var _ref = /*#__PURE__*/React.createElement("path", {
11
+ d: "M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z",
12
+ fill: "currentColor"
13
+ });
14
+
15
+ function SvgMagnifyingGlass(props) {
16
+ return /*#__PURE__*/React.createElement("svg", _extends({
17
+ viewBox: "0 0 24 24",
18
+ width: 19,
19
+ height: 19
20
+ }, props), _ref);
21
+ }
22
+
23
+ exports.default = SvgMagnifyingGlass;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Based on @radix-ui/polymorphic:
3
+ * https://github.com/radix-ui/primitives/blob/main/packages/react/polymorphic/src/polymorphic.ts
4
+ */
5
+ import * as React from 'react';
6
+ declare type Merge<P1 = {}, P2 = {}> = Omit<P1, keyof P2> & P2;
7
+ /**
8
+ * Infers the OwnProps if E is a ForwardRefExoticComponentWithAs
9
+ */
10
+ declare type OwnProps<E> = E extends ForwardRefComponent<any, infer P> ? P : {};
11
+ /**
12
+ * Infers the JSX.IntrinsicElement if E is a ForwardRefExoticComponentWithAs
13
+ */
14
+ declare type IntrinsicElement<E> = E extends ForwardRefComponent<infer I, any> ? I : never;
15
+ declare type ForwardRefExoticComponent<E, OwnProps> = React.ForwardRefExoticComponent<Merge<E extends React.ElementType ? React.ComponentPropsWithRef<E> : never, OwnProps & {
16
+ as?: E;
17
+ }>>;
18
+ interface ForwardRefComponent<IntrinsicElementString, OwnProps = {}
19
+ /**
20
+ * Extends original type to ensure built in React types play nice
21
+ * with polymorphic components still e.g. `React.ElementRef` etc.
22
+ */
23
+ > extends ForwardRefExoticComponent<IntrinsicElementString, OwnProps> {
24
+ /**
25
+ * When `as` prop is passed, use this overload.
26
+ * Merges original own props (without DOM props) and the inferred props
27
+ * from `as` element with the own props taking precendence.
28
+ *
29
+ * We explicitly avoid `React.ElementType` and manually narrow the prop types
30
+ * so that events are typed when using JSX.IntrinsicElements.
31
+ */
32
+ <As = IntrinsicElementString>(props: As extends '' ? {
33
+ as: keyof JSX.IntrinsicElements;
34
+ } : As extends React.ComponentType<infer P> ? Merge<P, OwnProps & {
35
+ as: As;
36
+ }> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], OwnProps & {
37
+ as: As;
38
+ }> : never): React.ReactElement | null;
39
+ }
40
+ export { ForwardRefComponent, OwnProps, IntrinsicElement, Merge };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deque/cauldron-react",
3
- "version": "3.0.1-canary.39246e23",
3
+ "version": "3.0.1-canary.41ff0487",
4
4
  "description": "Fully accessible react components library for Deque Cauldron",
5
5
  "publishConfig": {
6
6
  "access": "public"