@elliemae/ds-chat-tile 3.70.0-next.3 → 3.70.0-next.6

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.
@@ -28,23 +28,31 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var TileButton_exports = {};
30
30
  __export(TileButton_exports, {
31
+ DSChatTileButton: () => DSChatTileButton,
32
+ DSChatTileButtonWithSchema: () => DSChatTileButtonWithSchema,
31
33
  TileButton: () => TileButton,
32
34
  TileButtonWithSchema: () => TileButtonWithSchema
33
35
  });
34
36
  module.exports = __toCommonJS(TileButton_exports);
35
37
  var React = __toESM(require("react"));
36
38
  var import_jsx_runtime = require("react/jsx-runtime");
37
- var import_react = __toESM(require("react"));
39
+ var import_react = require("react");
40
+ var import_react2 = __toESM(require("react"));
38
41
  var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
39
42
  var import_ds_tooltip_v3 = require("@elliemae/ds-tooltip-v3");
40
43
  var import_ds_grid = require("@elliemae/ds-grid");
41
44
  var import_ds_icons = require("@elliemae/ds-icons");
42
45
  var import_styled = require("./styled.js");
43
46
  var import_react_desc_prop_types = require("./react-desc-prop-types.js");
44
- var import_DSChatTileButtonDefinitions = require("./DSChatTileButtonDefinitions.js");
47
+ var import_constants = require("./constants/index.js");
45
48
  const TileButton = (props) => {
46
49
  const propsWithDefault = (0, import_ds_props_helpers.useMemoMergePropsWithDefault)(props, import_react_desc_prop_types.defaultTileButton);
47
- (0, import_ds_props_helpers.useValidateTypescriptPropTypes)(propsWithDefault, import_react_desc_prop_types.propsTileButton, import_DSChatTileButtonDefinitions.DSChatTileButtonName);
50
+ (0, import_ds_props_helpers.useValidateTypescriptPropTypes)(propsWithDefault, import_react_desc_prop_types.propsTileButton, import_constants.DSChatTileButtonName);
51
+ const { title: titleConsumed, type: typeConsumed, ...globalPropsWithoutReusedReservedKeywords } = propsWithDefault;
52
+ const globalAttrs = (0, import_ds_props_helpers.useGetGlobalAttributes)(globalPropsWithoutReusedReservedKeywords);
53
+ const { type: typeStripped, ...globalProps } = globalAttrs;
54
+ const xstyledProps = (0, import_ds_props_helpers.useGetXstyledProps)(propsWithDefault);
55
+ const { getOwnerProps, getOwnerPropsArguments } = (0, import_ds_props_helpers.useOwnerProps)(propsWithDefault);
48
56
  const {
49
57
  label,
50
58
  title,
@@ -67,31 +75,55 @@ const TileButton = (props) => {
67
75
  innerRef,
68
76
  applyAriaDisabled
69
77
  } = propsWithDefault;
70
- const handleClick = import_react.default.useCallback(() => {
78
+ const handleClick = import_react2.default.useCallback(() => {
71
79
  if (applyAriaDisabled) return;
72
80
  onClick(dsId, title);
73
81
  }, [dsId, onClick, title, applyAriaDisabled]);
74
- const MainContent = import_react.default.useMemo(
75
- () => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledWrapperCentralContent, { alignItems: isHeader ? "center" : void 0, children: [
76
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { width: "100%", alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledTileButtonIcon, { alignItems: "center", justifyContent: "center", children: [
77
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { size: "m" }),
78
- badge ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
79
- import_styled.StyledStatusBadge,
80
- {
81
- badgeColor,
82
- badgePosition,
83
- "data-testid": `tile-badge-${dsId}`
84
- }
85
- ) : null
86
- ] }) }),
87
- !isHeader ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { width: "100%", justifyContent: "center", children: label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledTileButtonLabel, { children: label }) : null }) : null
88
- ] }),
89
- [isHeader, Icon, badge, dsId, badgeColor, badgePosition, label]
82
+ const MainContent = import_react2.default.useMemo(
83
+ () => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
84
+ import_styled.StyledWrapperCentralContent,
85
+ {
86
+ getOwnerProps,
87
+ getOwnerPropsArguments,
88
+ alignItems: isHeader ? "center" : void 0,
89
+ children: [
90
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { width: "100%", alignItems: "center", justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
91
+ import_styled.StyledTileButtonIcon,
92
+ {
93
+ getOwnerProps,
94
+ getOwnerPropsArguments,
95
+ alignItems: "center",
96
+ justifyContent: "center",
97
+ children: [
98
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { size: "m" }),
99
+ badge ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
100
+ import_styled.StyledStatusBadge,
101
+ {
102
+ getOwnerProps,
103
+ getOwnerPropsArguments,
104
+ badgeColor,
105
+ badgePosition,
106
+ "data-testid": `tile-badge-${dsId}`
107
+ }
108
+ ) : null
109
+ ]
110
+ }
111
+ ) }),
112
+ !isHeader ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_grid.Grid, { width: "100%", justifyContent: "center", children: label ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledTileButtonLabel, { getOwnerProps, getOwnerPropsArguments, children: label }) : null }) : null
113
+ ]
114
+ }
115
+ ),
116
+ [isHeader, Icon, badge, dsId, badgeColor, badgePosition, label, getOwnerProps, getOwnerPropsArguments]
90
117
  );
91
- const Btn = import_react.default.useMemo(
92
- () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
118
+ const Btn = import_react2.default.useMemo(
119
+ () => /* @__PURE__ */ (0, import_react.createElement)(
93
120
  import_styled.StyledTileButton,
94
121
  {
122
+ ...globalProps,
123
+ ...xstyledProps,
124
+ getOwnerProps,
125
+ getOwnerPropsArguments,
126
+ key: dsId,
95
127
  isHeader,
96
128
  value: dsId,
97
129
  "data-testid": `tile-button-${dsId}`,
@@ -106,14 +138,33 @@ const TileButton = (props) => {
106
138
  "aria-pressed": selected,
107
139
  "aria-label": ariaLabel,
108
140
  "aria-disabled": applyAriaDisabled,
109
- innerRef,
110
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_styled.StyledWrapper, { alignItems: "center", justifyContent: "center", children: [
111
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: MainContent }),
112
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledWrapperLeftBorder, {}),
113
- showClose && !disabled ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.CloseButton, { onClick: onClose, value: dsId, "data-testid": `tile-close-btn-${dsId}`, "aria-label": "close", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.CloseXsmall, {}) }) : null
114
- ] })
141
+ innerRef
115
142
  },
116
- dsId
143
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
144
+ import_styled.StyledWrapper,
145
+ {
146
+ getOwnerProps,
147
+ getOwnerPropsArguments,
148
+ alignItems: "center",
149
+ justifyContent: "center",
150
+ children: [
151
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: MainContent }),
152
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledWrapperLeftBorder, { getOwnerProps, getOwnerPropsArguments }),
153
+ showClose && !disabled ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
154
+ import_styled.CloseButton,
155
+ {
156
+ getOwnerProps,
157
+ getOwnerPropsArguments,
158
+ onClick: onClose,
159
+ value: dsId,
160
+ "data-testid": `tile-close-btn-${dsId}`,
161
+ "aria-label": "close",
162
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.CloseXsmall, {})
163
+ }
164
+ ) : null
165
+ ]
166
+ }
167
+ )
117
168
  ),
118
169
  [
119
170
  MainContent,
@@ -130,12 +181,18 @@ const TileButton = (props) => {
130
181
  selected,
131
182
  showClose,
132
183
  innerRef,
133
- applyAriaDisabled
184
+ applyAriaDisabled,
185
+ getOwnerProps,
186
+ getOwnerPropsArguments,
187
+ globalProps,
188
+ xstyledProps
134
189
  ]
135
190
  );
136
- return title && !disableTooltip ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledTooltipV3ButtonWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_tooltip_v3.DSTooltipV3, { id: `ds-chat-tile-tooltip-button-${dsId}`, text: title, startPlacementPreference: tooltipPlacement, children: Btn }) }) : Btn;
191
+ return title && !disableTooltip ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_styled.StyledTooltipV3ButtonWrapper, { getOwnerProps, getOwnerPropsArguments, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_tooltip_v3.DSTooltipV3, { id: `ds-chat-tile-tooltip-button-${dsId}`, text: title, startPlacementPreference: tooltipPlacement, children: Btn }) }) : Btn;
137
192
  };
138
- TileButton.displayName = import_DSChatTileButtonDefinitions.DSChatTileButtonName;
193
+ TileButton.displayName = import_constants.DSChatTileButtonName;
139
194
  const TileButtonWithSchema = (0, import_ds_props_helpers.describe)(TileButton);
140
195
  TileButtonWithSchema.propTypes = import_react_desc_prop_types.propsTileButton;
196
+ const DSChatTileButton = TileButton;
197
+ const DSChatTileButtonWithSchema = TileButtonWithSchema;
141
198
  //# sourceMappingURL=TileButton.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/TileButton.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\nimport type { WeakValidationMap } from 'react';\nimport React from 'react';\nimport { describe, useValidateTypescriptPropTypes, useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip-v3';\nimport { Grid } from '@elliemae/ds-grid';\nimport { CloseXsmall } from '@elliemae/ds-icons';\nimport {\n StyledTooltipV3ButtonWrapper,\n StyledTileButton,\n StyledTileButtonIcon,\n StyledTileButtonLabel,\n StyledWrapper,\n StyledWrapperLeftBorder,\n StyledStatusBadge,\n StyledWrapperCentralContent,\n CloseButton,\n} from './styled.js';\nimport type { DSChatTileT } from './react-desc-prop-types.js';\nimport { propsTileButton, defaultTileButton } from './react-desc-prop-types.js';\nimport { DSChatTileButtonName } from './DSChatTileButtonDefinitions.js';\n\nconst TileButton: React.ComponentType<DSChatTileT.Props> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSChatTileT.InternalProps>(props, defaultTileButton);\n useValidateTypescriptPropTypes(propsWithDefault, propsTileButton, DSChatTileButtonName);\n\n const {\n label,\n title,\n dsId,\n onClick,\n onFocus,\n onBlur,\n Icon,\n showClose,\n onClose,\n badge,\n badgeColor,\n badgePosition,\n disabled,\n selected,\n isHeader,\n ariaLabel,\n tooltipPlacement,\n disableTooltip,\n innerRef,\n applyAriaDisabled,\n } = propsWithDefault;\n\n const handleClick = React.useCallback(() => {\n if (applyAriaDisabled) return;\n onClick(dsId, title);\n }, [dsId, onClick, title, applyAriaDisabled]);\n\n const MainContent = React.useMemo(\n () => (\n <StyledWrapperCentralContent alignItems={isHeader ? 'center' : undefined}>\n <Grid width=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n <StyledTileButtonIcon alignItems=\"center\" justifyContent=\"center\">\n <Icon size=\"m\" />\n {badge ? (\n <StyledStatusBadge\n badgeColor={badgeColor}\n badgePosition={badgePosition}\n data-testid={`tile-badge-${dsId}`}\n />\n ) : null}\n </StyledTileButtonIcon>\n </Grid>\n {!isHeader ? (\n <Grid width=\"100%\" justifyContent=\"center\">\n {label ? <StyledTileButtonLabel>{label}</StyledTileButtonLabel> : null}\n </Grid>\n ) : null}\n </StyledWrapperCentralContent>\n ),\n [isHeader, Icon, badge, dsId, badgeColor, badgePosition, label],\n );\n\n const Btn = React.useMemo(\n () => (\n <StyledTileButton\n key={dsId}\n isHeader={isHeader}\n value={dsId}\n data-testid={`tile-button-${dsId}`}\n data-key={dsId}\n onClick={handleClick}\n onFocus={onFocus}\n onBlur={onBlur}\n disabled={disabled}\n selected={selected}\n badgeColor={badgeColor}\n badgePosition={badgePosition}\n aria-pressed={selected}\n aria-label={ariaLabel}\n aria-disabled={applyAriaDisabled}\n innerRef={innerRef}\n >\n <StyledWrapper alignItems=\"center\" justifyContent=\"center\">\n <span>{MainContent}</span>\n <StyledWrapperLeftBorder />\n {showClose && !disabled ? (\n <CloseButton onClick={onClose} value={dsId} data-testid={`tile-close-btn-${dsId}`} aria-label=\"close\">\n <CloseXsmall />\n </CloseButton>\n ) : null}\n </StyledWrapper>\n </StyledTileButton>\n ),\n [\n MainContent,\n ariaLabel,\n badgeColor,\n badgePosition,\n disabled,\n dsId,\n handleClick,\n isHeader,\n onBlur,\n onClose,\n onFocus,\n selected,\n showClose,\n innerRef,\n applyAriaDisabled,\n ],\n );\n\n return title && !disableTooltip ? (\n <StyledTooltipV3ButtonWrapper>\n <DSTooltipV3 id={`ds-chat-tile-tooltip-button-${dsId}`} text={title} startPlacementPreference={tooltipPlacement}>\n {Btn}\n </DSTooltipV3>\n </StyledTooltipV3ButtonWrapper>\n ) : (\n Btn\n );\n};\n\nTileButton.displayName = DSChatTileButtonName;\nconst TileButtonWithSchema = describe(TileButton);\nTileButtonWithSchema.propTypes = propsTileButton as WeakValidationMap<unknown>;\n\nexport { TileButton, TileButtonWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD0Db;AAxDV,mBAAkB;AAClB,8BAAuF;AACvF,2BAA4B;AAC5B,qBAAqB;AACrB,sBAA4B;AAC5B,oBAUO;AAEP,mCAAmD;AACnD,yCAAqC;AAErC,MAAM,aAAqD,CAAC,UAAU;AACpE,QAAM,uBAAmB,sDAAwD,OAAO,8CAAiB;AACzG,8DAA+B,kBAAkB,8CAAiB,uDAAoB;AAEtF,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,cAAc,aAAAA,QAAM,YAAY,MAAM;AAC1C,QAAI,kBAAmB;AACvB,YAAQ,MAAM,KAAK;AAAA,EACrB,GAAG,CAAC,MAAM,SAAS,OAAO,iBAAiB,CAAC;AAE5C,QAAM,cAAc,aAAAA,QAAM;AAAA,IACxB,MACE,6CAAC,6CAA4B,YAAY,WAAW,WAAW,QAC7D;AAAA,kDAAC,uBAAK,OAAM,QAAO,YAAW,UAAS,gBAAe,UACpD,uDAAC,sCAAqB,YAAW,UAAS,gBAAe,UACvD;AAAA,oDAAC,QAAK,MAAK,KAAI;AAAA,QACd,QACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA,eAAa,cAAc,IAAI;AAAA;AAAA,QACjC,IACE;AAAA,SACN,GACF;AAAA,MACC,CAAC,WACA,4CAAC,uBAAK,OAAM,QAAO,gBAAe,UAC/B,kBAAQ,4CAAC,uCAAuB,iBAAM,IAA2B,MACpE,IACE;AAAA,OACN;AAAA,IAEF,CAAC,UAAU,MAAM,OAAO,MAAM,YAAY,eAAe,KAAK;AAAA,EAChE;AAEA,QAAM,MAAM,aAAAA,QAAM;AAAA,IAChB,MACE;AAAA,MAAC;AAAA;AAAA,QAEC;AAAA,QACA,OAAO;AAAA,QACP,eAAa,eAAe,IAAI;AAAA,QAChC,YAAU;AAAA,QACV,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,gBAAc;AAAA,QACd,cAAY;AAAA,QACZ,iBAAe;AAAA,QACf;AAAA,QAEA,uDAAC,+BAAc,YAAW,UAAS,gBAAe,UAChD;AAAA,sDAAC,UAAM,uBAAY;AAAA,UACnB,4CAAC,yCAAwB;AAAA,UACxB,aAAa,CAAC,WACb,4CAAC,6BAAY,SAAS,SAAS,OAAO,MAAM,eAAa,kBAAkB,IAAI,IAAI,cAAW,SAC5F,sDAAC,+BAAY,GACf,IACE;AAAA,WACN;AAAA;AAAA,MAzBK;AAAA,IA0BP;AAAA,IAEF;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO,SAAS,CAAC,iBACf,4CAAC,8CACC,sDAAC,oCAAY,IAAI,+BAA+B,IAAI,IAAI,MAAM,OAAO,0BAA0B,kBAC5F,eACH,GACF,IAEA;AAEJ;AAEA,WAAW,cAAc;AACzB,MAAM,2BAAuB,kCAAS,UAAU;AAChD,qBAAqB,YAAY;",
6
- "names": ["React"]
4
+ "sourcesContent": ["/* eslint-disable max-lines */\nimport type { WeakValidationMap } from 'react';\nimport React from 'react';\nimport {\n describe,\n useValidateTypescriptPropTypes,\n useMemoMergePropsWithDefault,\n useOwnerProps,\n useGetGlobalAttributes,\n useGetXstyledProps,\n} from '@elliemae/ds-props-helpers';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip-v3';\nimport { Grid } from '@elliemae/ds-grid';\nimport { CloseXsmall } from '@elliemae/ds-icons';\nimport {\n StyledTooltipV3ButtonWrapper,\n StyledTileButton,\n StyledTileButtonIcon,\n StyledTileButtonLabel,\n StyledWrapper,\n StyledWrapperLeftBorder,\n StyledStatusBadge,\n StyledWrapperCentralContent,\n CloseButton,\n} from './styled.js';\nimport type { DSChatTileT } from './react-desc-prop-types.js';\nimport { propsTileButton, defaultTileButton } from './react-desc-prop-types.js';\nimport { DSChatTileButtonName } from './constants/index.js';\n\nconst TileButton: React.ComponentType<DSChatTileT.Props> = (props) => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSChatTileT.InternalProps>(props, defaultTileButton);\n useValidateTypescriptPropTypes(propsWithDefault, propsTileButton, DSChatTileButtonName);\n\n // exclude `title` AND `type` \u2014 `title` is consumed (not spread); `type` HTMLButtonAttribute would\n // collide with styled-components' button type literal (`'button' | 'submit' | 'reset'`).\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { title: titleConsumed, type: typeConsumed, ...globalPropsWithoutReusedReservedKeywords } = propsWithDefault;\n const globalAttrs = useGetGlobalAttributes(globalPropsWithoutReusedReservedKeywords);\n // strip `type` from the resulting global attributes \u2014 `useGetGlobalAttributes`'s return type still\n // exposes it, and styled-components requires a strict `'button' | 'submit' | 'reset'` literal.\n // eslint-disable-next-line @typescript-eslint/naming-convention, @typescript-eslint/no-unused-vars\n const { type: typeStripped, ...globalProps } = globalAttrs as typeof globalAttrs & { type?: unknown };\n const xstyledProps = useGetXstyledProps(propsWithDefault);\n const { getOwnerProps, getOwnerPropsArguments } = useOwnerProps<DSChatTileT.Props>(propsWithDefault);\n\n const {\n label,\n title,\n dsId,\n onClick,\n onFocus,\n onBlur,\n Icon,\n showClose,\n onClose,\n badge,\n badgeColor,\n badgePosition,\n disabled,\n selected,\n isHeader,\n ariaLabel,\n tooltipPlacement,\n disableTooltip,\n innerRef,\n applyAriaDisabled,\n } = propsWithDefault;\n\n const handleClick = React.useCallback(() => {\n if (applyAriaDisabled) return;\n onClick(dsId, title);\n }, [dsId, onClick, title, applyAriaDisabled]);\n\n const MainContent = React.useMemo(\n () => (\n <StyledWrapperCentralContent\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n alignItems={isHeader ? 'center' : undefined}\n >\n <Grid width=\"100%\" alignItems=\"center\" justifyContent=\"center\">\n <StyledTileButtonIcon\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Icon size=\"m\" />\n {badge ? (\n <StyledStatusBadge\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n badgeColor={badgeColor}\n badgePosition={badgePosition}\n // legacy dynamic data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={`tile-badge-${dsId}`}\n />\n ) : null}\n </StyledTileButtonIcon>\n </Grid>\n {!isHeader ? (\n <Grid width=\"100%\" justifyContent=\"center\">\n {label ? (\n <StyledTileButtonLabel getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n {label}\n </StyledTileButtonLabel>\n ) : null}\n </Grid>\n ) : null}\n </StyledWrapperCentralContent>\n ),\n [isHeader, Icon, badge, dsId, badgeColor, badgePosition, label, getOwnerProps, getOwnerPropsArguments],\n );\n\n const Btn = React.useMemo(\n () => (\n <StyledTileButton\n {...globalProps}\n {...xstyledProps}\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n key={dsId}\n isHeader={isHeader}\n value={dsId}\n // legacy dynamic data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={`tile-button-${dsId}`}\n data-key={dsId}\n onClick={handleClick}\n onFocus={onFocus}\n onBlur={onBlur}\n disabled={disabled}\n selected={selected}\n badgeColor={badgeColor}\n badgePosition={badgePosition}\n aria-pressed={selected}\n aria-label={ariaLabel}\n aria-disabled={applyAriaDisabled}\n innerRef={innerRef}\n >\n <StyledWrapper\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <span>{MainContent}</span>\n <StyledWrapperLeftBorder getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments} />\n {showClose && !disabled ? (\n <CloseButton\n getOwnerProps={getOwnerProps}\n getOwnerPropsArguments={getOwnerPropsArguments}\n onClick={onClose}\n value={dsId}\n // legacy dynamic data-testid \u2014 preserved for QA/consumer compatibility, breaking change if removed\n data-testid={`tile-close-btn-${dsId}`}\n aria-label=\"close\"\n >\n <CloseXsmall />\n </CloseButton>\n ) : null}\n </StyledWrapper>\n </StyledTileButton>\n ),\n [\n MainContent,\n ariaLabel,\n badgeColor,\n badgePosition,\n disabled,\n dsId,\n handleClick,\n isHeader,\n onBlur,\n onClose,\n onFocus,\n selected,\n showClose,\n innerRef,\n applyAriaDisabled,\n getOwnerProps,\n getOwnerPropsArguments,\n globalProps,\n xstyledProps,\n ],\n );\n\n return title && !disableTooltip ? (\n <StyledTooltipV3ButtonWrapper getOwnerProps={getOwnerProps} getOwnerPropsArguments={getOwnerPropsArguments}>\n <DSTooltipV3 id={`ds-chat-tile-tooltip-button-${dsId}`} text={title} startPlacementPreference={tooltipPlacement}>\n {Btn}\n </DSTooltipV3>\n </StyledTooltipV3ButtonWrapper>\n ) : (\n Btn\n );\n};\n\nTileButton.displayName = DSChatTileButtonName;\nconst TileButtonWithSchema = describe(TileButton);\nTileButtonWithSchema.propTypes = propsTileButton as WeakValidationMap<unknown>;\n\n// DS-prefixed canonical names (modern Dimsum convention) \u2014 TileButton kept as alias for backwards compat\nconst DSChatTileButton = TileButton;\nconst DSChatTileButtonWithSchema = TileButtonWithSchema;\n\nexport { TileButton, TileButtonWithSchema, DSChatTileButton, DSChatTileButtonWithSchema };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "React"]
7
7
  }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var constants_exports = {};
30
+ __export(constants_exports, {
31
+ CHAT_TILE_BUTTON_DATA_TESTID: () => CHAT_TILE_BUTTON_DATA_TESTID,
32
+ CHAT_TILE_BUTTON_SLOTS: () => CHAT_TILE_BUTTON_SLOTS,
33
+ DSChatTileButtonName: () => DSChatTileButtonName
34
+ });
35
+ module.exports = __toCommonJS(constants_exports);
36
+ var React = __toESM(require("react"));
37
+ var import_ds_system = require("@elliemae/ds-system");
38
+ const DSChatTileButtonName = "DSChattilebutton";
39
+ const CHAT_TILE_BUTTON_SLOTS = {
40
+ ROOT: "root",
41
+ TOOLTIP_WRAPPER: "tooltip-wrapper",
42
+ WRAPPER: "wrapper",
43
+ LEFT_BORDER: "left-border",
44
+ CENTRAL_CONTENT: "central-content",
45
+ ICON: "icon",
46
+ // legacy data-testid is dynamic per-instance (`tile-badge-${dsId}` lives on BADGE) — this slot has no legacy testid override
47
+ LABEL: "label",
48
+ BADGE: "badge",
49
+ // legacy ones... preserved at JSX level via inline data-testid `tile-badge-${dsId}`
50
+ CLOSE_BUTTON: "close-button"
51
+ // legacy ones... preserved at JSX level via inline data-testid `tile-close-btn-${dsId}`
52
+ };
53
+ const CHAT_TILE_BUTTON_DATA_TESTID = (0, import_ds_system.slotObjectToDataTestIds)(DSChatTileButtonName, CHAT_TILE_BUTTON_SLOTS);
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/constants/index.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
+ "sourcesContent": ["import { slotObjectToDataTestIds } from '@elliemae/ds-system';\n\nexport const DSChatTileButtonName = 'DSChattilebutton';\n\n// we are naming this with the ${component_name}_slots convention to namespace & avoid errors on duplicate exports variables in aggregators\nexport const CHAT_TILE_BUTTON_SLOTS = {\n ROOT: 'root',\n TOOLTIP_WRAPPER: 'tooltip-wrapper',\n WRAPPER: 'wrapper',\n LEFT_BORDER: 'left-border',\n CENTRAL_CONTENT: 'central-content',\n ICON: 'icon', // legacy data-testid is dynamic per-instance (`tile-badge-${dsId}` lives on BADGE) \u2014 this slot has no legacy testid override\n LABEL: 'label',\n BADGE: 'badge', // legacy ones... preserved at JSX level via inline data-testid `tile-badge-${dsId}`\n CLOSE_BUTTON: 'close-button', // legacy ones... preserved at JSX level via inline data-testid `tile-close-btn-${dsId}`\n} as const;\n\n// we are naming this with the ${component_name}_data_testid convention to namespace & avoid errors on duplicate exports variables in aggregators\n// Note: ROOT, BADGE and CLOSE_BUTTON have legacy *dynamic* data-testid values (`tile-button-${dsId}`, `tile-badge-${dsId}`, `tile-close-btn-${dsId}`)\n// that consumer QA tests depend on. Those values are interpolated per-instance and preserved in JSX via inline `data-testid={...}`.\n// The map below holds only the static slot-derived testids; the dynamic ones cannot be expressed here.\nexport const CHAT_TILE_BUTTON_DATA_TESTID = slotObjectToDataTestIds(DSChatTileButtonName, CHAT_TILE_BUTTON_SLOTS);\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAwC;AAEjC,MAAM,uBAAuB;AAG7B,MAAM,yBAAyB;AAAA,EACpC,MAAM;AAAA,EACN,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,MAAM;AAAA;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AAAA;AAAA,EACP,cAAc;AAAA;AAChB;AAMO,MAAM,mCAA+B,0CAAwB,sBAAsB,sBAAsB;",
6
+ "names": []
7
+ }
package/dist/cjs/index.js CHANGED
@@ -28,10 +28,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
  var index_exports = {};
30
30
  __export(index_exports, {
31
+ CHAT_TILE_BUTTON_DATA_TESTID: () => import_constants.CHAT_TILE_BUTTON_DATA_TESTID,
32
+ CHAT_TILE_BUTTON_SLOTS: () => import_constants.CHAT_TILE_BUTTON_SLOTS,
33
+ DSChatTileButton: () => import_TileButton.DSChatTileButton,
34
+ DSChatTileButtonName: () => import_constants.DSChatTileButtonName,
35
+ DSChatTileButtonWithSchema: () => import_TileButton.DSChatTileButtonWithSchema,
31
36
  TileButton: () => import_TileButton.TileButton,
32
- TileButtonWithSchema: () => import_TileButton.TileButtonWithSchema
37
+ TileButtonWithSchema: () => import_TileButton.TileButtonWithSchema,
38
+ propsTileButton: () => import_react_desc_prop_types.propsTileButton
33
39
  });
34
40
  module.exports = __toCommonJS(index_exports);
35
41
  var React = __toESM(require("react"));
36
42
  var import_TileButton = require("./TileButton.js");
43
+ var import_react_desc_prop_types = require("./react-desc-prop-types.js");
44
+ var import_constants = require("./constants/index.js");
37
45
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export { TileButton, TileButtonWithSchema } from './TileButton.js';\nexport type { DSChatTileT } from './react-desc-prop-types.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAAiD;",
4
+ "sourcesContent": ["export { TileButton, TileButtonWithSchema, DSChatTileButton, DSChatTileButtonWithSchema } from './TileButton.js';\nexport type { DSChatTileT } from './react-desc-prop-types.js';\nexport { propsTileButton } from './react-desc-prop-types.js';\nexport { CHAT_TILE_BUTTON_SLOTS, CHAT_TILE_BUTTON_DATA_TESTID, DSChatTileButtonName } from './constants/index.js';\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,wBAA+F;AAE/F,mCAAgC;AAChC,uBAA2F;",
6
6
  "names": []
7
7
  }
@@ -36,6 +36,7 @@ var React = __toESM(require("react"));
36
36
  var import_ds_props_helpers = require("@elliemae/ds-props-helpers");
37
37
  var import_lodash_es = require("lodash-es");
38
38
  var import_ds_icons = require("@elliemae/ds-icons");
39
+ var import_constants = require("./constants/index.js");
39
40
  const defaultTileButton = {
40
41
  Icon: import_ds_icons.Comments,
41
42
  dsId: "",
@@ -55,6 +56,9 @@ const defaultTileButton = {
55
56
  applyAriaDisabled: false
56
57
  };
57
58
  const propsTileButton = {
59
+ ...(0, import_ds_props_helpers.getPropsPerSlotPropTypes)(import_constants.DSChatTileButtonName, import_constants.CHAT_TILE_BUTTON_SLOTS),
60
+ ...import_ds_props_helpers.globalAttributesPropTypes,
61
+ ...import_ds_props_helpers.xstyledPropTypes,
58
62
  Icon: import_ds_props_helpers.PropTypes.func.description("Icon component").defaultValue(defaultTileButton.Icon),
59
63
  dsId: import_ds_props_helpers.PropTypes.oneOfType([import_ds_props_helpers.PropTypes.number, import_ds_props_helpers.PropTypes.string]).description("Unique id for the button").defaultValue(defaultTileButton.dsId),
60
64
  label: import_ds_props_helpers.PropTypes.string.description("It will display under the icon").defaultValue(defaultTileButton.label),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/react-desc-prop-types.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type React from 'react';\nimport { PropTypes } from '@elliemae/ds-props-helpers';\nimport { noop } from 'lodash-es';\nimport { Comments, type SvgIconT } from '@elliemae/ds-icons';\n\nexport declare namespace DSChatTileT {\n type TooltipPlacementT =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'left-end'\n | 'left'\n | 'left-start';\n\n export interface RequiredProps {}\n\n export interface DefaultProps {\n Icon: React.ComponentType<SvgIconT.Props>;\n dsId: string | number;\n label: string;\n onClick: (dsId: string | number, label: string) => void;\n title: string;\n showClose: boolean;\n badge: boolean;\n badgeColor: 'blue' | 'green';\n badgePosition: 'left' | 'right';\n disabled: boolean;\n selected: boolean;\n isHeader: boolean;\n ariaLabel: string;\n tooltipPlacement: TooltipPlacementT;\n disableTooltip: boolean;\n applyAriaDisabled: boolean;\n }\n\n export interface OptionalProps {\n onBlur?: (e: React.ChangeEvent<HTMLButtonElement>) => void;\n onFocus?: (e: React.ChangeEvent<HTMLButtonElement>) => void;\n onClose?: (e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => void;\n innerRef?: React.MutableRefObject<HTMLButtonElement> | ((_ref: HTMLButtonElement) => void);\n }\n\n export interface Props extends Partial<DefaultProps>, OptionalProps, RequiredProps {}\n\n export interface InternalProps extends DefaultProps, OptionalProps, RequiredProps {}\n}\n\nexport const defaultTileButton: DSChatTileT.DefaultProps = {\n Icon: Comments,\n dsId: '',\n label: '',\n onClick: noop,\n title: '',\n showClose: false,\n badge: false,\n badgeColor: 'blue',\n badgePosition: 'left',\n disabled: false,\n selected: false,\n isHeader: false,\n ariaLabel: 'Tile button',\n tooltipPlacement: 'right',\n disableTooltip: false,\n applyAriaDisabled: false,\n};\n\nexport const propsTileButton = {\n Icon: PropTypes.func.description('Icon component').defaultValue(defaultTileButton.Icon),\n dsId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n .description('Unique id for the button')\n .defaultValue(defaultTileButton.dsId),\n label: PropTypes.string.description('It will display under the icon').defaultValue(defaultTileButton.label),\n title: PropTypes.string.description('Tooltip').defaultValue(defaultTileButton.title),\n onClick: PropTypes.func.description('The function to call when is clicked').defaultValue(defaultTileButton.onClick),\n onFocus: PropTypes.func.description('The function to call when is focused'),\n onBlur: PropTypes.func.description('The function to call when is on blur'),\n onClose: PropTypes.func\n .description('The function to call when the X is Clicked')\n .deprecated({ version: '4.x', message: 'use Menu and menuProps instead' }),\n showClose: PropTypes.bool\n .description('It will display the X')\n .defaultValue(defaultTileButton.showClose)\n .deprecated({ version: '4.x', message: 'use Menu and menuProps instead' }),\n badge: PropTypes.bool.description('It will display the badge').defaultValue(defaultTileButton.badge),\n badgeColor: PropTypes.oneOf(['blue', 'green'])\n .description('Color badge: blue or green')\n .defaultValue(defaultTileButton.badgeColor),\n badgePosition: PropTypes.oneOf(['left', 'right'])\n .description('Color badge: blue or green')\n .defaultValue(defaultTileButton.badgePosition),\n disabled: PropTypes.bool.description('It will disabled the button').defaultValue(defaultTileButton.disabled),\n selected: PropTypes.bool.description('Indicate that the button is selected').defaultValue(defaultTileButton.disabled),\n isHeader: PropTypes.bool.description(\"It won't render the label\").defaultValue(defaultTileButton.disabled),\n ariaLabel: PropTypes.string.description('aria-label attribute').defaultValue(defaultTileButton.ariaLabel),\n tooltipPlacement: PropTypes.oneOf([\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n ])\n .description('start placement preferences, as per popperjs placement option')\n .defaultValue(\"'right'\"),\n disableTooltip: PropTypes.bool.description('Disable tooltip option').defaultValue(defaultTileButton.disableTooltip),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]).description(\n 'reference to the component',\n ),\n applyAriaDisabled: PropTypes.bool\n .description(\n 'Whether to apply disabled styling and announce as disabled in SR. CAN STILL RECEIVE FOCUS. PREVENTS ONLY MAIN ACTION.',\n )\n .defaultValue(false),\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,8BAA0B;AAC1B,uBAAqB;AACrB,sBAAwC;AAkDjC,MAAM,oBAA8C;AAAA,EACzD,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,SAAS;AAAA,EACT,OAAO;AAAA,EACP,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,mBAAmB;AACrB;AAEO,MAAM,kBAAkB;AAAA,EAC7B,MAAM,kCAAU,KAAK,YAAY,gBAAgB,EAAE,aAAa,kBAAkB,IAAI;AAAA,EACtF,MAAM,kCAAU,UAAU,CAAC,kCAAU,QAAQ,kCAAU,MAAM,CAAC,EAC3D,YAAY,0BAA0B,EACtC,aAAa,kBAAkB,IAAI;AAAA,EACtC,OAAO,kCAAU,OAAO,YAAY,gCAAgC,EAAE,aAAa,kBAAkB,KAAK;AAAA,EAC1G,OAAO,kCAAU,OAAO,YAAY,SAAS,EAAE,aAAa,kBAAkB,KAAK;AAAA,EACnF,SAAS,kCAAU,KAAK,YAAY,sCAAsC,EAAE,aAAa,kBAAkB,OAAO;AAAA,EAClH,SAAS,kCAAU,KAAK,YAAY,sCAAsC;AAAA,EAC1E,QAAQ,kCAAU,KAAK,YAAY,sCAAsC;AAAA,EACzE,SAAS,kCAAU,KAChB,YAAY,4CAA4C,EACxD,WAAW,EAAE,SAAS,OAAO,SAAS,iCAAiC,CAAC;AAAA,EAC3E,WAAW,kCAAU,KAClB,YAAY,uBAAuB,EACnC,aAAa,kBAAkB,SAAS,EACxC,WAAW,EAAE,SAAS,OAAO,SAAS,iCAAiC,CAAC;AAAA,EAC3E,OAAO,kCAAU,KAAK,YAAY,2BAA2B,EAAE,aAAa,kBAAkB,KAAK;AAAA,EACnG,YAAY,kCAAU,MAAM,CAAC,QAAQ,OAAO,CAAC,EAC1C,YAAY,4BAA4B,EACxC,aAAa,kBAAkB,UAAU;AAAA,EAC5C,eAAe,kCAAU,MAAM,CAAC,QAAQ,OAAO,CAAC,EAC7C,YAAY,4BAA4B,EACxC,aAAa,kBAAkB,aAAa;AAAA,EAC/C,UAAU,kCAAU,KAAK,YAAY,6BAA6B,EAAE,aAAa,kBAAkB,QAAQ;AAAA,EAC3G,UAAU,kCAAU,KAAK,YAAY,sCAAsC,EAAE,aAAa,kBAAkB,QAAQ;AAAA,EACpH,UAAU,kCAAU,KAAK,YAAY,2BAA2B,EAAE,aAAa,kBAAkB,QAAQ;AAAA,EACzG,WAAW,kCAAU,OAAO,YAAY,sBAAsB,EAAE,aAAa,kBAAkB,SAAS;AAAA,EACxG,kBAAkB,kCAAU,MAAM;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC,EACE,YAAY,+DAA+D,EAC3E,aAAa,SAAS;AAAA,EACzB,gBAAgB,kCAAU,KAAK,YAAY,wBAAwB,EAAE,aAAa,kBAAkB,cAAc;AAAA,EAClH,UAAU,kCAAU,UAAU,CAAC,kCAAU,MAAM,kCAAU,MAAM,EAAE,SAAS,kCAAU,IAAI,CAAC,CAAC,CAAC,EAAE;AAAA,IAC3F;AAAA,EACF;AAAA,EACA,mBAAmB,kCAAU,KAC1B;AAAA,IACC;AAAA,EACF,EACC,aAAa,KAAK;AACvB;",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-empty-interface */\nimport type React from 'react';\nimport type { GlobalAttributesT, XstyledProps, DSPropTypesSchema } from '@elliemae/ds-props-helpers';\nimport {\n PropTypes,\n getPropsPerSlotPropTypes,\n globalAttributesPropTypes,\n xstyledPropTypes,\n} from '@elliemae/ds-props-helpers';\nimport { noop } from 'lodash-es';\nimport { Comments, type SvgIconT } from '@elliemae/ds-icons';\nimport { type TypescriptHelpersT } from '@elliemae/ds-typescript-helpers';\nimport { CHAT_TILE_BUTTON_SLOTS, DSChatTileButtonName } from './constants/index.js';\n\nexport declare namespace DSChatTileT {\n type TooltipPlacementT =\n | 'top-start'\n | 'top'\n | 'top-end'\n | 'right-start'\n | 'right'\n | 'right-end'\n | 'bottom-end'\n | 'bottom'\n | 'bottom-start'\n | 'left-end'\n | 'left'\n | 'left-start';\n\n // hand-written per-slot function argument map \u2014 one entry per slot in CHAT_TILE_BUTTON_SLOTS\n export type SlotFunctionArguments = {\n dsChattilebuttonRoot: () => object;\n dsChattilebuttonTooltipWrapper: () => object;\n dsChattilebuttonWrapper: () => object;\n dsChattilebuttonLeftBorder: () => object;\n dsChattilebuttonCentralContent: () => object;\n dsChattilebuttonIcon: () => object;\n dsChattilebuttonLabel: () => object;\n dsChattilebuttonBadge: () => object;\n dsChattilebuttonCloseButton: () => object;\n };\n\n export interface RequiredProps {}\n\n export interface DefaultProps {\n Icon: React.ComponentType<SvgIconT.Props>;\n dsId: string | number;\n label: string;\n onClick: (dsId: string | number, label: string) => void;\n title: string;\n showClose: boolean;\n badge: boolean;\n badgeColor: 'blue' | 'green';\n badgePosition: 'left' | 'right';\n disabled: boolean;\n selected: boolean;\n isHeader: boolean;\n ariaLabel: string;\n tooltipPlacement: TooltipPlacementT;\n disableTooltip: boolean;\n applyAriaDisabled: boolean;\n }\n\n export interface OptionalProps\n extends TypescriptHelpersT.PropsForGlobalOnSlots<typeof DSChatTileButtonName, typeof CHAT_TILE_BUTTON_SLOTS> {\n onBlur?: React.FocusEventHandler<HTMLButtonElement>;\n onFocus?: React.FocusEventHandler<HTMLButtonElement>;\n onClose?: (e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => void;\n innerRef?: React.MutableRefObject<HTMLButtonElement> | ((_ref: HTMLButtonElement) => void);\n }\n\n export interface Props\n extends Partial<DefaultProps>,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n\n export interface InternalProps\n extends DefaultProps,\n OptionalProps,\n Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof XstyledProps>,\n XstyledProps,\n RequiredProps {}\n}\n\nexport const defaultTileButton: DSChatTileT.DefaultProps = {\n Icon: Comments,\n dsId: '',\n label: '',\n onClick: noop,\n title: '',\n showClose: false,\n badge: false,\n badgeColor: 'blue',\n badgePosition: 'left',\n disabled: false,\n selected: false,\n isHeader: false,\n ariaLabel: 'Tile button',\n tooltipPlacement: 'right',\n disableTooltip: false,\n applyAriaDisabled: false,\n};\n\nexport const propsTileButton: DSPropTypesSchema<DSChatTileT.Props> = {\n ...getPropsPerSlotPropTypes(DSChatTileButtonName, CHAT_TILE_BUTTON_SLOTS),\n ...globalAttributesPropTypes,\n ...xstyledPropTypes,\n\n Icon: PropTypes.func.description('Icon component').defaultValue(defaultTileButton.Icon),\n dsId: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n .description('Unique id for the button')\n .defaultValue(defaultTileButton.dsId),\n label: PropTypes.string.description('It will display under the icon').defaultValue(defaultTileButton.label),\n title: PropTypes.string.description('Tooltip').defaultValue(defaultTileButton.title),\n onClick: PropTypes.func.description('The function to call when is clicked').defaultValue(defaultTileButton.onClick),\n onFocus: PropTypes.func.description('The function to call when is focused'),\n onBlur: PropTypes.func.description('The function to call when is on blur'),\n onClose: PropTypes.func\n .description('The function to call when the X is Clicked')\n .deprecated({ version: '4.x', message: 'use Menu and menuProps instead' }),\n showClose: PropTypes.bool\n .description('It will display the X')\n .defaultValue(defaultTileButton.showClose)\n .deprecated({ version: '4.x', message: 'use Menu and menuProps instead' }),\n badge: PropTypes.bool.description('It will display the badge').defaultValue(defaultTileButton.badge),\n badgeColor: PropTypes.oneOf(['blue', 'green'])\n .description('Color badge: blue or green')\n .defaultValue(defaultTileButton.badgeColor),\n badgePosition: PropTypes.oneOf(['left', 'right'])\n .description('Color badge: blue or green')\n .defaultValue(defaultTileButton.badgePosition),\n disabled: PropTypes.bool.description('It will disabled the button').defaultValue(defaultTileButton.disabled),\n selected: PropTypes.bool.description('Indicate that the button is selected').defaultValue(defaultTileButton.disabled),\n isHeader: PropTypes.bool.description(\"It won't render the label\").defaultValue(defaultTileButton.disabled),\n ariaLabel: PropTypes.string.description('aria-label attribute').defaultValue(defaultTileButton.ariaLabel),\n tooltipPlacement: PropTypes.oneOf([\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n ])\n .description('start placement preferences, as per popperjs placement option')\n .defaultValue(\"'right'\"),\n disableTooltip: PropTypes.bool.description('Disable tooltip option').defaultValue(defaultTileButton.disableTooltip),\n innerRef: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({ current: PropTypes.any })]).description(\n 'reference to the component',\n ),\n applyAriaDisabled: PropTypes.bool\n .description(\n 'Whether to apply disabled styling and announce as disabled in SR. CAN STILL RECEIVE FOCUS. PREVENTS ONLY MAIN ACTION.',\n )\n .defaultValue(false),\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -42,16 +42,25 @@ module.exports = __toCommonJS(styled_exports);
42
42
  var React = __toESM(require("react"));
43
43
  var import_ds_system = require("@elliemae/ds-system");
44
44
  var import_ds_grid = require("@elliemae/ds-grid");
45
+ var import_constants = require("./constants/index.js");
45
46
  const MIN_WIDTH_SIDEBAR = 48;
46
47
  const BUTTON_SIDEBAR_HEIGHT = 48;
47
- const StyledWrapperLeftBorder = (0, import_ds_system.styled)(import_ds_grid.Grid)`
48
+ const StyledWrapperLeftBorder = (0, import_ds_system.styled)(import_ds_grid.Grid, {
49
+ name: import_constants.DSChatTileButtonName,
50
+ slot: import_constants.CHAT_TILE_BUTTON_SLOTS.LEFT_BORDER
51
+ })`
48
52
  height: 100%;
49
53
  width: 4px;
50
54
  position: absolute;
51
55
  top: 0;
52
56
  left: 0;
53
57
  `;
54
- const StyledStatusBadge = import_ds_system.styled.div`
58
+ const StyledStatusBadge = (0, import_ds_system.styled)("div", {
59
+ name: import_constants.DSChatTileButtonName,
60
+ slot: import_constants.CHAT_TILE_BUTTON_SLOTS.BADGE,
61
+ // legacy dynamic data-testid `tile-badge-${dsId}` is preserved via inline JSX data-testid
62
+ preserveLegacyDataTestId: true
63
+ })`
55
64
  height: 8px;
56
65
  width: 8px;
57
66
  position: absolute;
@@ -91,11 +100,17 @@ const StyledStatusBadge = import_ds_system.styled.div`
91
100
  border-radius: 50%;
92
101
  box-sizing: content-box;
93
102
  `;
94
- const StyledWrapperCentralContent = (0, import_ds_system.styled)(import_ds_grid.Grid)`
103
+ const StyledWrapperCentralContent = (0, import_ds_system.styled)(import_ds_grid.Grid, {
104
+ name: import_constants.DSChatTileButtonName,
105
+ slot: import_constants.CHAT_TILE_BUTTON_SLOTS.CENTRAL_CONTENT
106
+ })`
95
107
  width: 24px;
96
108
  height: 40px;
97
109
  `;
98
- const StyledTileButtonIcon = (0, import_ds_system.styled)(import_ds_grid.Grid)`
110
+ const StyledTileButtonIcon = (0, import_ds_system.styled)(import_ds_grid.Grid, {
111
+ name: import_constants.DSChatTileButtonName,
112
+ slot: import_constants.CHAT_TILE_BUTTON_SLOTS.ICON
113
+ })`
99
114
  position: relative;
100
115
  height: 24px;
101
116
  width: 24px;
@@ -109,7 +124,10 @@ const StyledTileButtonIcon = (0, import_ds_system.styled)(import_ds_grid.Grid)`
109
124
  }
110
125
  }
111
126
  `;
112
- const StyledTileButtonLabel = import_ds_system.styled.div`
127
+ const StyledTileButtonLabel = (0, import_ds_system.styled)("div", {
128
+ name: import_constants.DSChatTileButtonName,
129
+ slot: import_constants.CHAT_TILE_BUTTON_SLOTS.LABEL
130
+ })`
113
131
  width: 24px;
114
132
  height: ${(props) => props.theme.space.xs};
115
133
  text-transform: uppercase;
@@ -119,7 +137,12 @@ const StyledTileButtonLabel = import_ds_system.styled.div`
119
137
  color: ${(props) => props.theme.colors.neutral[600]};
120
138
  line-height: 17px;
121
139
  `;
122
- const CloseButton = import_ds_system.styled.button`
140
+ const CloseButton = (0, import_ds_system.styled)("button", {
141
+ name: import_constants.DSChatTileButtonName,
142
+ slot: import_constants.CHAT_TILE_BUTTON_SLOTS.CLOSE_BUTTON,
143
+ // legacy dynamic data-testid `tile-close-btn-${dsId}` is preserved via inline JSX data-testid
144
+ preserveLegacyDataTestId: true
145
+ })`
123
146
  outline: none;
124
147
  background: none;
125
148
  height: 9px;
@@ -157,11 +180,19 @@ const CloseButton = import_ds_system.styled.button`
157
180
  }
158
181
  cursor: pointer;
159
182
  `;
160
- const StyledTooltipV3ButtonWrapper = import_ds_system.styled.div`
183
+ const StyledTooltipV3ButtonWrapper = (0, import_ds_system.styled)("div", {
184
+ name: import_constants.DSChatTileButtonName,
185
+ slot: import_constants.CHAT_TILE_BUTTON_SLOTS.TOOLTIP_WRAPPER
186
+ })`
161
187
  height: ${BUTTON_SIDEBAR_HEIGHT}px;
162
188
  width: ${MIN_WIDTH_SIDEBAR}px;
163
189
  `;
164
- const StyledTileButton = import_ds_system.styled.button`
190
+ const StyledTileButton = (0, import_ds_system.styled)("button", {
191
+ name: import_constants.DSChatTileButtonName,
192
+ slot: import_constants.CHAT_TILE_BUTTON_SLOTS.ROOT,
193
+ // legacy dynamic data-testid `tile-button-${dsId}` is preserved via inline JSX data-testid
194
+ preserveLegacyDataTestId: true
195
+ })`
165
196
  outline: none;
166
197
  background: ${(props) => props.theme.colors.neutral["050"]};
167
198
  height: ${BUTTON_SIDEBAR_HEIGHT}px;
@@ -245,7 +276,10 @@ const StyledTileButton = import_ds_system.styled.button`
245
276
  return "";
246
277
  }}
247
278
  `;
248
- const StyledWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid)`
279
+ const StyledWrapper = (0, import_ds_system.styled)(import_ds_grid.Grid, {
280
+ name: import_constants.DSChatTileButtonName,
281
+ slot: import_constants.CHAT_TILE_BUTTON_SLOTS.WRAPPER
282
+ })`
249
283
  height: 100%;
250
284
  width: 100%;
251
285
  position: relative;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/styled.ts", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable max-lines */\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport type { DSChatTileT } from './react-desc-prop-types.js';\nconst MIN_WIDTH_SIDEBAR = 48;\nconst BUTTON_SIDEBAR_HEIGHT = 48;\n\n// Buttons\nexport const StyledWrapperLeftBorder = styled(Grid)`\n height: 100%;\n width: 4px;\n position: absolute;\n top: 0;\n left: 0;\n`;\n\nexport const StyledStatusBadge = styled.div<DSChatTileT.Props>`\n height: 8px;\n width: 8px;\n position: absolute;\n top: 0;\n background: ${(props) => {\n switch (props.badgeColor) {\n case 'blue':\n return props.theme.colors.brand[600];\n case 'green':\n return props.theme.colors.success[900];\n default:\n return props.theme.colors.brand[600];\n }\n }};\n ${(props) => {\n switch (props.badgePosition) {\n case 'left':\n return 'left: -4px;';\n case 'right':\n return 'right: -4px;';\n default:\n return 'left: -4px;';\n }\n }};\n border: 2px solid ${(props) => props.theme.colors.neutral['050']};\n margin-top: -2px;\n ${(props) => {\n switch (props.badgePosition) {\n case 'left':\n return 'margin-left: -2px;';\n case 'right':\n return 'margin-right: -2px;';\n default:\n return 'margin-left: -2px;';\n }\n }};\n border-radius: 50%;\n box-sizing: content-box;\n`;\n\nexport const StyledWrapperCentralContent = styled(Grid)`\n width: 24px;\n height: 40px;\n`;\n\nexport const StyledTileButtonIcon = styled(Grid)`\n position: relative;\n height: 24px;\n width: 24px;\n svg {\n fill: ${(props) => props.theme.colors.neutral[600]};\n }\n\n &:focus {\n svg {\n fill: ${(props) => props.theme.colors.brand[800]};\n }\n }\n`;\n\nexport const StyledTileButtonLabel = styled.div`\n width: 24px;\n height: ${(props) => props.theme.space.xs};\n text-transform: uppercase;\n overflow: hidden;\n text-align: center;\n font-size: 13px;\n color: ${(props) => props.theme.colors.neutral[600]};\n line-height: 17px;\n`;\n\nexport const CloseButton = styled.button`\n outline: none;\n background: none;\n height: 9px;\n width: 9px;\n position: absolute;\n top: 1px;\n right: 1px;\n overflow: hidden;\n padding: 0;\n border: none;\n span {\n position: absolute;\n left: -3px;\n top: -4px;\n }\n svg {\n fill: #000000;\n }\n &:focus,\n &:hover {\n svg {\n fill: ${(props) => props.theme.colors.brand[600]};\n }\n &:after {\n display: block;\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: solid 1px ${(props) => props.theme.colors.brand[600]};\n border-radius: 2px;\n }\n }\n cursor: pointer;\n`;\n\n// MAIN WRAPPER\nexport const StyledTooltipV3ButtonWrapper = styled.div`\n height: ${BUTTON_SIDEBAR_HEIGHT}px;\n width: ${MIN_WIDTH_SIDEBAR}px;\n`;\n\nexport const StyledTileButton = styled.button<Partial<DSChatTileT.Props>>`\n outline: none;\n background: ${(props) => props.theme.colors.neutral['050']};\n height: ${BUTTON_SIDEBAR_HEIGHT}px;\n width: ${MIN_WIDTH_SIDEBAR}px;\n position: relative;\n padding: 0;\n border: none;\n cursor: pointer;\n border-bottom: ${(props) => (props.isHeader ? `1px solid ${props.theme.colors.neutral['200']}` : 'none')};\n &:focus,\n &:hover,\n &:active,\n &:disabled,\n &[aria-disabled='true'] {\n background: ${(props) => props.theme.colors.neutral['080']};\n & ${StyledStatusBadge} {\n border: 2px solid ${(props) => props.theme.colors.neutral['080']};\n }\n }\n\n &:focus,\n &:hover {\n & ${StyledWrapperLeftBorder} {\n background: ${(props) => props.theme.colors.brand[800]};\n }\n & ${StyledTileButtonLabel} {\n color: ${(props) => props.theme.colors.neutral[600]};\n }\n\n & svg {\n fill: ${(props) => props.theme.colors.brand[800]};\n }\n }\n\n &:active:not(:disabled, [aria-disabled='true']) {\n background: ${(props) => props.theme.colors.neutral['050']};\n & ${StyledWrapperLeftBorder} {\n background: ${(props) => props.theme.colors.brand[600]};\n }\n & ${StyledTileButtonLabel} {\n color: ${(props) => props.theme.colors.neutral[600]};\n font-weight: 600;\n }\n & svg {\n fill: ${(props) => props.theme.colors.brand[600]};\n }\n & ${StyledStatusBadge} {\n border: 2px solid ${(props) => props.theme.colors.neutral['050']};\n }\n }\n\n &:disabled,\n &[aria-disabled='true'] {\n background: ${(props) => props.theme.colors.neutral['080']};\n cursor: not-allowed;\n ${StyledWrapperLeftBorder} {\n background: ${(props) => props.theme.colors.neutral['400']};\n }\n & ${StyledStatusBadge} {\n background: ${(props) => props.theme.colors.neutral['500']};\n border: 2px solid ${(props) => props.theme.colors.neutral['080']};\n }\n ${StyledTileButtonIcon} {\n svg {\n fill: ${(props) => props.theme.colors.neutral[400]};\n }\n }\n ${StyledTileButtonLabel} {\n color: ${(props) => props.theme.colors.neutral[400]};\n }\n }\n\n ${(props) => {\n if (props.selected) {\n return `\n & ${StyledWrapperLeftBorder} {\n background: ${props.theme.colors.brand[600]};\n }\n `;\n }\n return '';\n }}\n`;\n\nexport const StyledWrapper = styled(Grid)`\n height: 100%;\n width: 100%;\n position: relative;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable indent */\n/* eslint-disable max-lines */\nimport { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\nimport type { DSChatTileT } from './react-desc-prop-types.js';\nimport { CHAT_TILE_BUTTON_SLOTS, DSChatTileButtonName } from './constants/index.js';\n\nconst MIN_WIDTH_SIDEBAR = 48;\nconst BUTTON_SIDEBAR_HEIGHT = 48;\n\n// Buttons\nexport const StyledWrapperLeftBorder = styled(Grid, {\n name: DSChatTileButtonName,\n slot: CHAT_TILE_BUTTON_SLOTS.LEFT_BORDER,\n})`\n height: 100%;\n width: 4px;\n position: absolute;\n top: 0;\n left: 0;\n`;\n\nexport const StyledStatusBadge = styled('div', {\n name: DSChatTileButtonName,\n slot: CHAT_TILE_BUTTON_SLOTS.BADGE,\n // legacy dynamic data-testid `tile-badge-${dsId}` is preserved via inline JSX data-testid\n preserveLegacyDataTestId: true,\n})<DSChatTileT.Props>`\n height: 8px;\n width: 8px;\n position: absolute;\n top: 0;\n background: ${(props) => {\n switch (props.badgeColor) {\n case 'blue':\n return props.theme.colors.brand[600];\n case 'green':\n return props.theme.colors.success[900];\n default:\n return props.theme.colors.brand[600];\n }\n }};\n ${(props) => {\n switch (props.badgePosition) {\n case 'left':\n return 'left: -4px;';\n case 'right':\n return 'right: -4px;';\n default:\n return 'left: -4px;';\n }\n }};\n border: 2px solid ${(props) => props.theme.colors.neutral['050']};\n margin-top: -2px;\n ${(props) => {\n switch (props.badgePosition) {\n case 'left':\n return 'margin-left: -2px;';\n case 'right':\n return 'margin-right: -2px;';\n default:\n return 'margin-left: -2px;';\n }\n }};\n border-radius: 50%;\n box-sizing: content-box;\n`;\n\nexport const StyledWrapperCentralContent = styled(Grid, {\n name: DSChatTileButtonName,\n slot: CHAT_TILE_BUTTON_SLOTS.CENTRAL_CONTENT,\n})`\n width: 24px;\n height: 40px;\n`;\n\nexport const StyledTileButtonIcon = styled(Grid, {\n name: DSChatTileButtonName,\n slot: CHAT_TILE_BUTTON_SLOTS.ICON,\n})`\n position: relative;\n height: 24px;\n width: 24px;\n svg {\n fill: ${(props) => props.theme.colors.neutral[600]};\n }\n\n &:focus {\n svg {\n fill: ${(props) => props.theme.colors.brand[800]};\n }\n }\n`;\n\nexport const StyledTileButtonLabel = styled('div', {\n name: DSChatTileButtonName,\n slot: CHAT_TILE_BUTTON_SLOTS.LABEL,\n})`\n width: 24px;\n height: ${(props) => props.theme.space.xs};\n text-transform: uppercase;\n overflow: hidden;\n text-align: center;\n font-size: 13px;\n color: ${(props) => props.theme.colors.neutral[600]};\n line-height: 17px;\n`;\n\nexport const CloseButton = styled('button', {\n name: DSChatTileButtonName,\n slot: CHAT_TILE_BUTTON_SLOTS.CLOSE_BUTTON,\n // legacy dynamic data-testid `tile-close-btn-${dsId}` is preserved via inline JSX data-testid\n preserveLegacyDataTestId: true,\n})`\n outline: none;\n background: none;\n height: 9px;\n width: 9px;\n position: absolute;\n top: 1px;\n right: 1px;\n overflow: hidden;\n padding: 0;\n border: none;\n span {\n position: absolute;\n left: -3px;\n top: -4px;\n }\n svg {\n fill: #000000;\n }\n &:focus,\n &:hover {\n svg {\n fill: ${(props) => props.theme.colors.brand[600]};\n }\n &:after {\n display: block;\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: solid 1px ${(props) => props.theme.colors.brand[600]};\n border-radius: 2px;\n }\n }\n cursor: pointer;\n`;\n\n// MAIN WRAPPER\nexport const StyledTooltipV3ButtonWrapper = styled('div', {\n name: DSChatTileButtonName,\n slot: CHAT_TILE_BUTTON_SLOTS.TOOLTIP_WRAPPER,\n})`\n height: ${BUTTON_SIDEBAR_HEIGHT}px;\n width: ${MIN_WIDTH_SIDEBAR}px;\n`;\n\nexport const StyledTileButton = styled('button', {\n name: DSChatTileButtonName,\n slot: CHAT_TILE_BUTTON_SLOTS.ROOT,\n // legacy dynamic data-testid `tile-button-${dsId}` is preserved via inline JSX data-testid\n preserveLegacyDataTestId: true,\n})<Partial<DSChatTileT.Props>>`\n outline: none;\n background: ${(props) => props.theme.colors.neutral['050']};\n height: ${BUTTON_SIDEBAR_HEIGHT}px;\n width: ${MIN_WIDTH_SIDEBAR}px;\n position: relative;\n padding: 0;\n border: none;\n cursor: pointer;\n border-bottom: ${(props) => (props.isHeader ? `1px solid ${props.theme.colors.neutral['200']}` : 'none')};\n &:focus,\n &:hover,\n &:active,\n &:disabled,\n &[aria-disabled='true'] {\n background: ${(props) => props.theme.colors.neutral['080']};\n & ${StyledStatusBadge} {\n border: 2px solid ${(props) => props.theme.colors.neutral['080']};\n }\n }\n\n &:focus,\n &:hover {\n & ${StyledWrapperLeftBorder} {\n background: ${(props) => props.theme.colors.brand[800]};\n }\n & ${StyledTileButtonLabel} {\n color: ${(props) => props.theme.colors.neutral[600]};\n }\n\n & svg {\n fill: ${(props) => props.theme.colors.brand[800]};\n }\n }\n\n &:active:not(:disabled, [aria-disabled='true']) {\n background: ${(props) => props.theme.colors.neutral['050']};\n & ${StyledWrapperLeftBorder} {\n background: ${(props) => props.theme.colors.brand[600]};\n }\n & ${StyledTileButtonLabel} {\n color: ${(props) => props.theme.colors.neutral[600]};\n font-weight: 600;\n }\n & svg {\n fill: ${(props) => props.theme.colors.brand[600]};\n }\n & ${StyledStatusBadge} {\n border: 2px solid ${(props) => props.theme.colors.neutral['050']};\n }\n }\n\n &:disabled,\n &[aria-disabled='true'] {\n background: ${(props) => props.theme.colors.neutral['080']};\n cursor: not-allowed;\n ${StyledWrapperLeftBorder} {\n background: ${(props) => props.theme.colors.neutral['400']};\n }\n & ${StyledStatusBadge} {\n background: ${(props) => props.theme.colors.neutral['500']};\n border: 2px solid ${(props) => props.theme.colors.neutral['080']};\n }\n ${StyledTileButtonIcon} {\n svg {\n fill: ${(props) => props.theme.colors.neutral[400]};\n }\n }\n ${StyledTileButtonLabel} {\n color: ${(props) => props.theme.colors.neutral[400]};\n }\n }\n\n ${(props) => {\n if (props.selected) {\n return `\n & ${StyledWrapperLeftBorder} {\n background: ${props.theme.colors.brand[600]};\n }\n `;\n }\n return '';\n }}\n`;\n\nexport const StyledWrapper = styled(Grid, {\n name: DSChatTileButtonName,\n slot: CHAT_TILE_BUTTON_SLOTS.WRAPPER,\n})`\n height: 100%;\n width: 100%;\n position: relative;\n`;\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,uBAAuB;AACvB,qBAAqB;AAErB,uBAA6D;AAE7D,MAAM,oBAAoB;AAC1B,MAAM,wBAAwB;AAGvB,MAAM,8BAA0B,yBAAO,qBAAM;AAAA,EAClD,MAAM;AAAA,EACN,MAAM,wCAAuB;AAC/B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQM,MAAM,wBAAoB,yBAAO,OAAO;AAAA,EAC7C,MAAM;AAAA,EACN,MAAM,wCAAuB;AAAA;AAAA,EAE7B,0BAA0B;AAC5B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKe,CAAC,UAAU;AACvB,UAAQ,MAAM,YAAY;AAAA,IACxB,KAAK;AACH,aAAO,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,IACrC,KAAK;AACH,aAAO,MAAM,MAAM,OAAO,QAAQ,GAAG;AAAA,IACvC;AACE,aAAO,MAAM,MAAM,OAAO,MAAM,GAAG;AAAA,EACvC;AACF,CAAC;AAAA,IACC,CAAC,UAAU;AACX,UAAQ,MAAM,eAAe;AAAA,IAC3B,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF,CAAC;AAAA,sBACmB,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,IAE9D,CAAC,UAAU;AACX,UAAQ,MAAM,eAAe;AAAA,IAC3B,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF,CAAC;AAAA;AAAA;AAAA;AAKI,MAAM,kCAA8B,yBAAO,qBAAM;AAAA,EACtD,MAAM;AAAA,EACN,MAAM,wCAAuB;AAC/B,CAAC;AAAA;AAAA;AAAA;AAKM,MAAM,2BAAuB,yBAAO,qBAAM;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,wCAAuB;AAC/B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,YAKW,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,cAKxC,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAK/C,MAAM,4BAAwB,yBAAO,OAAO;AAAA,EACjD,MAAM;AAAA,EACN,MAAM,wCAAuB;AAC/B,CAAC;AAAA;AAAA,YAEW,CAAC,UAAU,MAAM,MAAM,MAAM,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,WAKhC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAI9C,MAAM,kBAAc,yBAAO,UAAU;AAAA,EAC1C,MAAM;AAAA,EACN,MAAM,wCAAuB;AAAA;AAAA,EAE7B,0BAA0B;AAC5B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAsBa,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAU5B,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAQ3D,MAAM,mCAA+B,yBAAO,OAAO;AAAA,EACxD,MAAM;AAAA,EACN,MAAM,wCAAuB;AAC/B,CAAC;AAAA,YACW,qBAAqB;AAAA,WACtB,iBAAiB;AAAA;AAGrB,MAAM,uBAAmB,yBAAO,UAAU;AAAA,EAC/C,MAAM;AAAA,EACN,MAAM,wCAAuB;AAAA;AAAA,EAE7B,0BAA0B;AAC5B,CAAC;AAAA;AAAA,gBAEe,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,YAChD,qBAAqB;AAAA,WACtB,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,mBAKT,CAAC,UAAW,MAAM,WAAW,cAAc,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC,KAAK,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMzF,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,QACtD,iBAAiB;AAAA,0BACC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAM9D,uBAAuB;AAAA,oBACX,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA,QAEpD,qBAAqB;AAAA,eACd,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,cAI3C,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKpC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,QACtD,uBAAuB;AAAA,oBACX,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA,QAEpD,qBAAqB;AAAA,eACd,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,cAI3C,CAAC,UAAU,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA,QAE9C,iBAAiB;AAAA,0BACC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMpD,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,MAExD,uBAAuB;AAAA,oBACT,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,QAExD,iBAAiB;AAAA,oBACL,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA,0BACtC,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,CAAC;AAAA;AAAA,MAEhE,oBAAoB;AAAA;AAAA,gBAEV,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA,MAGpD,qBAAqB;AAAA,eACZ,CAAC,UAAU,MAAM,MAAM,OAAO,QAAQ,GAAG,CAAC;AAAA;AAAA;AAAA;AAAA,IAIrD,CAAC,UAAU;AACX,MAAI,MAAM,UAAU;AAClB,WAAO;AAAA,YACD,uBAAuB;AAAA,wBACX,MAAM,MAAM,OAAO,MAAM,GAAG,CAAC;AAAA;AAAA;AAAA,EAGjD;AACA,SAAO;AACT,CAAC;AAAA;AAGI,MAAM,oBAAgB,yBAAO,qBAAM;AAAA,EACxC,MAAM;AAAA,EACN,MAAM,wCAAuB;AAC/B,CAAC;AAAA;AAAA;AAAA;AAAA;",
6
6
  "names": []
7
7
  }