@xfers/design-system 8.1.0 → 8.1.1-dev.a00bad6994

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.
@@ -29,9 +29,6 @@ exports.SelectContainer = styled_1.default.div `
29
29
  width: 100%;
30
30
  `;
31
31
  const selectSelectorStyles = (props) => {
32
- // For multiple select, calculate padding to fit tags within min-height
33
- // Small: 36px min-height - 24px tag = 12px total padding (6px top + 6px bottom)
34
- // Large: 48px min-height - 32px tag = 16px total padding (8px top + 8px bottom)
35
32
  const getVerticalPadding = () => {
36
33
  if (props.$mode === 'multiple') {
37
34
  return props.$size === 'sm' ? '6px' : '8px';
@@ -40,29 +37,40 @@ const selectSelectorStyles = (props) => {
40
37
  };
41
38
  const verticalPadding = getVerticalPadding();
42
39
  return `
43
- .ant-select-selector {
44
- border-radius: ${props.$size === 'sm' ? '8px' : '12px'} !important;
40
+ &.ant-select {
41
+ outline: none !important;
42
+ border-radius: ${props.$size === 'sm' ? '8px' : '12px'} !important;
45
43
  position: relative !important;
46
44
  display: flex;
47
45
  align-items: ${props.$mode === 'multiple' ? 'flex-start' : 'center'} !important;
48
- padding: ${verticalPadding} 16px !important;
46
+ padding-inline: 16px !important;
47
+ padding-block: ${verticalPadding} !important;
49
48
 
50
49
  min-height: ${props.$size === 'sm' ? '36px' : '48px'} !important;
51
50
  ${props.$mode !== 'multiple' ? `height: ${props.$size === 'sm' ? '36px' : '48px'} !important;` : 'height: auto !important;'}
52
51
 
53
- background: ${props.disabled
52
+ &:not(.ant-select-borderless) {
53
+ background: ${props.disabled
54
54
  ? theme_1.straitsXTheme.color.surface.disabledSurface
55
55
  : theme_1.straitsXTheme.color.surface.neutral} !important;
56
56
 
57
- border: 1px solid ${props.error
57
+ border: 1px solid ${props.error
58
58
  ? theme_1.straitsXTheme.color.status.critical
59
59
  : theme_1.straitsXTheme.color.base.line} !important;
60
+ }
61
+ }
62
+
63
+ &.ant-select-multiple:not(.ant-select-borderless) .ant-select-content {
64
+ &:before {
65
+ display: none !important;
66
+ }
67
+ gap: 8px !important;
60
68
  }
61
69
  `;
62
70
  };
63
71
  const selectHoverFocusStyles = (props) => `
64
- &:hover .ant-select-selector,
65
- &.ant-select-focused .ant-select-selector {
72
+ &:not(.ant-select-borderless):hover,
73
+ &.ant-select-focused:not(.ant-select-borderless) {
66
74
  ${!props.disabled &&
67
75
  `
68
76
  box-shadow: 0 0 0 1px ${theme_1.straitsXTheme.color.base.onNeutral}20 !important;
@@ -73,18 +81,18 @@ const selectHoverFocusStyles = (props) => `
73
81
  }
74
82
  `;
75
83
  const selectPlaceholderStyles = `
76
- .ant-select-selection-placeholder {
84
+ .ant-select-placeholder {
77
85
  display: flex;
78
86
  align-items: center;
79
-
87
+
80
88
  span {
81
89
  color: ${theme_1.straitsXTheme.color.component.placeholderInput} !important;
82
90
  }
83
91
  }
84
92
  `;
85
93
  const selectOverflowStyles = (props) => `
86
- .ant-select-selection-overflow {
87
- gap: 8px;
94
+ .ant-select-content {
95
+ gap: 8px !important;
88
96
  ${props.$mode === 'multiple' ? 'flex-wrap: wrap !important;' : ''}
89
97
  ${props.$mode === 'multiple' ? 'align-content: center !important;' : ''}
90
98
  }
@@ -96,18 +104,18 @@ const selectSelectedItemStyles = `
96
104
  color: ${theme_1.straitsXTheme.color.base.onNeutral} !important;
97
105
  }
98
106
 
99
- &.ant-select-open .ant-select-selection-item {
107
+ &.ant-select-open .ant-select-content {
100
108
  color: ${theme_1.straitsXTheme.color.base.onNeutral} !important;
101
109
  }
102
110
  `;
103
111
  const selectArrowStyles = `
104
- .ant-select-arrow {
112
+ .ant-select-suffix {
105
113
  display: flex !important;
106
114
  align-items: center !important;
107
115
  gap: 8px !important;
108
116
  width: auto !important;
109
117
  align-self: center !important;
110
-
118
+
111
119
  span {
112
120
  color: ${theme_1.straitsXTheme.color.base.onNeutral} !important;
113
121
  }
@@ -144,11 +152,11 @@ const dropdownSelectedOptionStyles = `
144
152
  .ant-select-item-option-selected {
145
153
  background: #d7efe2 !important;
146
154
  position: relative !important;
147
-
155
+
148
156
  .anticon {
149
157
  display: none !important;
150
158
  }
151
-
159
+
152
160
  &::after {
153
161
  content: 'check' !important;
154
162
  font-family: 'Material Symbols Rounded' !important;
@@ -165,7 +173,7 @@ const dropdownInteractiveStyles = `
165
173
  .ant-select-item:hover {
166
174
  background: ${theme_1.straitsXTheme.color.interactive.hoverSurface} !important;
167
175
  }
168
-
176
+
169
177
  .ant-select-item:active {
170
178
  background: ${theme_1.straitsXTheme.color.interactive.pressedSurface} !important;
171
179
  }
@@ -174,7 +182,7 @@ const dropdownDisabledOptionStyles = `
174
182
  .ant-select-item-option-disabled,
175
183
  .ant-select-item-option-disabled:hover {
176
184
  background: ${theme_1.straitsXTheme.color.surface.disabledSurface} !important;
177
- span {
185
+ span {
178
186
  color: ${theme_1.straitsXTheme.color.surface.disabledOnSurface} !important;
179
187
  }
180
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/components/Select/style.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style.js","sourceRoot":"","sources":["../../../src/components/Select/style.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const react_1 = __importDefault(require("react"));
7
+ const MaterialSymbols_1 = __importDefault(require("../../icons/MaterialSymbols/MaterialSymbols"));
8
+ const Typography_1 = require("../../constants/Typography/Typography");
9
+ const Toast_styles_1 = require("./Toast.styles");
10
+ const TONE_ICON = {
11
+ positive: 'check_circle',
12
+ warning: 'warning',
13
+ critical: 'error',
14
+ info: 'info',
15
+ };
16
+ const Toast = ({ tone = 'positive', message, showIcon = true, className, }) => {
17
+ const textColor = (0, Toast_styles_1.getToastTextColor)(tone);
18
+ return (react_1.default.createElement(Toast_styles_1.StyledToast, { tone: tone, className: className, role: tone === 'critical' ? 'alert' : 'status', "aria-live": tone === 'critical' ? 'assertive' : 'polite' },
19
+ showIcon && (react_1.default.createElement(Toast_styles_1.ToastIconContainer, { "aria-hidden": "true" },
20
+ react_1.default.createElement(MaterialSymbols_1.default, { icon: TONE_ICON[tone], size: "s", fill: 1, color: textColor }))),
21
+ react_1.default.createElement(Typography_1.Typography.Body, { size: "md", color: textColor, style: { whiteSpace: 'nowrap' } }, message)));
22
+ };
23
+ exports.default = Toast;
24
+ //# sourceMappingURL=Toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../src/components/Toast/Toast.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AAEzB,kGAAyE;AACzE,sEAAkE;AAElE,iDAIuB;AAEvB,MAAM,SAAS,GAAsC;IACnD,QAAQ,EAAE,cAAc;IACxB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,MAAM;CACb,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,EACb,IAAI,GAAG,UAAU,EACjB,OAAO,EACP,QAAQ,GAAG,IAAI,EACf,SAAS,GACE,EAAE,EAAE;IACf,MAAM,SAAS,GAAG,IAAA,gCAAiB,EAAC,IAAI,CAAC,CAAA;IAEzC,OAAO,CACL,8BAAC,0BAAW,IACV,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,eACnC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;QAEtD,QAAQ,IAAI,CACX,8BAAC,iCAAkB,mBAAa,MAAM;YACpC,8BAAC,yBAAe,IACd,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EACrB,IAAI,EAAC,GAAG,EACR,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,SAAS,GAChB,CACiB,CACtB;QACD,8BAAC,uBAAU,CAAC,IAAI,IACd,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,IAE9B,OAAO,CACQ,CACN,CACf,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,KAAK,CAAA"}
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TOAST_MESSAGE_OVERRIDE_CSS = exports.TOAST_MESSAGE_CLASSNAME = exports.ToastIconContainer = exports.StyledToast = exports.getToastTextColor = exports.getToastBackground = void 0;
7
+ const styled_1 = __importDefault(require("@emotion/styled"));
8
+ const colors_1 = require("../../constants/Colors/colors");
9
+ const TONE_BACKGROUND = {
10
+ positive: colors_1.STATUS.POSITIVE,
11
+ warning: colors_1.STATUS.WARNING,
12
+ critical: colors_1.STATUS.CRITICAL,
13
+ // Matches Figma exactly; intentionally diverges from STATUS.INFO (blue), confirmed with developer
14
+ info: colors_1.BASE.PRIMARY_3,
15
+ };
16
+ const TONE_TEXT_COLOR = {
17
+ positive: colors_1.BASE.ON_CONTAINER,
18
+ warning: colors_1.BASE.ON_NEUTRAL,
19
+ critical: colors_1.BASE.ON_CONTAINER,
20
+ info: colors_1.BASE.ON_CONTAINER,
21
+ };
22
+ const getToastBackground = (tone) => TONE_BACKGROUND[tone];
23
+ exports.getToastBackground = getToastBackground;
24
+ const getToastTextColor = (tone) => TONE_TEXT_COLOR[tone];
25
+ exports.getToastTextColor = getToastTextColor;
26
+ exports.StyledToast = styled_1.default.div `
27
+ display: inline-flex;
28
+ align-items: center;
29
+ gap: 4px;
30
+ padding: 8px 12px;
31
+ border-radius: 8px;
32
+ width: max-content;
33
+ background-color: ${({ tone }) => (0, exports.getToastBackground)(tone)};
34
+ animation: fds3-toast-in 240ms ease;
35
+
36
+ @keyframes fds3-toast-in {
37
+ from {
38
+ opacity: 0;
39
+ transform: translateY(8px);
40
+ }
41
+ to {
42
+ opacity: 1;
43
+ transform: translateY(0);
44
+ }
45
+ }
46
+
47
+ @media (prefers-reduced-motion: reduce) {
48
+ animation: none;
49
+ }
50
+ `;
51
+ exports.ToastIconContainer = styled_1.default.div `
52
+ display: flex;
53
+ flex-shrink: 0;
54
+ `;
55
+ // antd's message notice renders its own white background/padding/shadow around
56
+ // `content`. showToast() targets this className to strip that chrome so only
57
+ // StyledToast's own background/padding/radius shows. The margin-top adds to
58
+ // antd's default 8px list offset to place the toast 24px from the top.
59
+ exports.TOAST_MESSAGE_CLASSNAME = 'fds3-toast-message';
60
+ exports.TOAST_MESSAGE_OVERRIDE_CSS = `
61
+ .ant-message-notice.${exports.TOAST_MESSAGE_CLASSNAME} {
62
+ background: transparent;
63
+ padding: 0;
64
+ box-shadow: none;
65
+ border-radius: 0;
66
+ margin-top: 16px;
67
+ }
68
+ `;
69
+ //# sourceMappingURL=Toast.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.styles.js","sourceRoot":"","sources":["../../../src/components/Toast/Toast.styles.ts"],"names":[],"mappings":";;;;;;AAAA,6DAAoC;AACpC,0DAA4D;AAG5D,MAAM,eAAe,GAA8B;IACjD,QAAQ,EAAE,eAAM,CAAC,QAAQ;IACzB,OAAO,EAAE,eAAM,CAAC,OAAO;IACvB,QAAQ,EAAE,eAAM,CAAC,QAAQ;IACzB,kGAAkG;IAClG,IAAI,EAAE,aAAI,CAAC,SAAS;CACrB,CAAA;AAED,MAAM,eAAe,GAA8B;IACjD,QAAQ,EAAE,aAAI,CAAC,YAAY;IAC3B,OAAO,EAAE,aAAI,CAAC,UAAU;IACxB,QAAQ,EAAE,aAAI,CAAC,YAAY;IAC3B,IAAI,EAAE,aAAI,CAAC,YAAY;CACxB,CAAA;AAEM,MAAM,kBAAkB,GAAG,CAAC,IAAe,EAAU,EAAE,CAC5D,eAAe,CAAC,IAAI,CAAC,CAAA;AADV,QAAA,kBAAkB,sBACR;AAEhB,MAAM,iBAAiB,GAAG,CAAC,IAAe,EAAU,EAAE,CAC3D,eAAe,CAAC,IAAI,CAAC,CAAA;AADV,QAAA,iBAAiB,qBACP;AAEV,QAAA,WAAW,GAAG,gBAAM,CAAC,GAAG,CAAqB;;;;;;;sBAOpC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAA,0BAAkB,EAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;CAiB3D,CAAA;AAEY,QAAA,kBAAkB,GAAG,gBAAM,CAAC,GAAG,CAAA;;;CAG3C,CAAA;AAED,+EAA+E;AAC/E,6EAA6E;AAC7E,4EAA4E;AAC5E,uEAAuE;AAC1D,QAAA,uBAAuB,GAAG,oBAAoB,CAAA;AAE9C,QAAA,0BAA0B,GAAG;wBAClB,+BAAuB;;;;;;;CAO9C,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Toast.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.types.js","sourceRoot":"","sources":["../../../src/components/Toast/Toast.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.showToast = exports.default = void 0;
21
+ var Toast_1 = require("./Toast");
22
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(Toast_1).default; } });
23
+ __exportStar(require("./Toast.types"), exports);
24
+ var showToast_1 = require("./showToast");
25
+ Object.defineProperty(exports, "showToast", { enumerable: true, get: function () { return showToast_1.showToast; } });
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Toast/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,iCAAiC;AAAxB,iHAAA,OAAO,OAAA;AAChB,gDAA6B;AAC7B,yCAAuC;AAA9B,sGAAA,SAAS,OAAA"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.showToast = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const antd_1 = require("antd");
9
+ const Toast_1 = __importDefault(require("./Toast"));
10
+ const Toast_styles_1 = require("./Toast.styles");
11
+ // Only one toast is shown at a time -- every call shares this key so a new
12
+ // toast replaces whatever is currently showing, instead of stacking.
13
+ const SHARED_KEY = 'fds3-toast';
14
+ const DEFAULT_DURATION = 5;
15
+ const MIN_DURATION = 3;
16
+ const MAX_DURATION = 7;
17
+ const clampDuration = (duration) => Math.min(MAX_DURATION, Math.max(MIN_DURATION, duration));
18
+ // Deliberately no message.config() here: it mutates antd's global message
19
+ // instance, which would also change maxCount/top for every other message.*
20
+ // call in consuming apps. Replace behavior comes from SHARED_KEY, and the
21
+ // top offset comes from the scoped override CSS.
22
+ const injectOverrideStyles = () => {
23
+ if (document.getElementById(Toast_styles_1.TOAST_MESSAGE_CLASSNAME))
24
+ return;
25
+ const style = document.createElement('style');
26
+ style.id = Toast_styles_1.TOAST_MESSAGE_CLASSNAME;
27
+ style.textContent = Toast_styles_1.TOAST_MESSAGE_OVERRIDE_CSS;
28
+ document.head.appendChild(style);
29
+ };
30
+ // antd does not restart a message's auto-close timer when open() is called
31
+ // again with the same key -- it only swaps the content in place. To match
32
+ // the reference behavior (every trigger resets the dismiss countdown, so
33
+ // repeated clicks keep the toast alive) we disable antd's own timer
34
+ // (duration: 0) and drive dismissal ourselves, clearing/restarting on every call.
35
+ let dismissTimer;
36
+ // Incrementing this on every call and using it as Toast's React key forces a
37
+ // remount each time, so the entrance animation replays even when the same
38
+ // tone/message is triggered again in a row (otherwise React would just patch
39
+ // the existing element in place and the animation would never re-run).
40
+ let callId = 0;
41
+ const showToast = (tone, text, options) => {
42
+ injectOverrideStyles();
43
+ const duration = (options === null || options === void 0 ? void 0 : options.duration) !== undefined
44
+ ? clampDuration(options.duration)
45
+ : DEFAULT_DURATION;
46
+ if (dismissTimer) {
47
+ clearTimeout(dismissTimer);
48
+ }
49
+ dismissTimer = setTimeout(() => {
50
+ antd_1.message.destroy(SHARED_KEY);
51
+ dismissTimer = undefined;
52
+ }, duration * 1000);
53
+ callId += 1;
54
+ return antd_1.message.open({
55
+ content: (react_1.default.createElement(Toast_1.default, { key: callId, tone: tone, message: text, showIcon: options === null || options === void 0 ? void 0 : options.showIcon })),
56
+ duration: 0,
57
+ key: SHARED_KEY,
58
+ icon: react_1.default.createElement(react_1.default.Fragment, null),
59
+ className: Toast_styles_1.TOAST_MESSAGE_CLASSNAME,
60
+ });
61
+ };
62
+ exports.showToast = showToast;
63
+ //# sourceMappingURL=showToast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"showToast.js","sourceRoot":"","sources":["../../../src/components/Toast/showToast.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAAyB;AACzB,+BAA8B;AAE9B,oDAA2B;AAE3B,iDAGuB;AAEvB,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,UAAU,GAAG,YAAY,CAAA;AAE/B,MAAM,gBAAgB,GAAG,CAAC,CAAA;AAC1B,MAAM,YAAY,GAAG,CAAC,CAAA;AACtB,MAAM,YAAY,GAAG,CAAC,CAAA;AAEtB,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAU,EAAE,CACjD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE1D,0EAA0E;AAC1E,2EAA2E;AAC3E,0EAA0E;AAC1E,iDAAiD;AACjD,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,IAAI,QAAQ,CAAC,cAAc,CAAC,sCAAuB,CAAC;QAAE,OAAM;IAC5D,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC7C,KAAK,CAAC,EAAE,GAAG,sCAAuB,CAAA;IAClC,KAAK,CAAC,WAAW,GAAG,yCAA0B,CAAA;IAC9C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,yEAAyE;AACzE,oEAAoE;AACpE,kFAAkF;AAClF,IAAI,YAAuD,CAAA;AAE3D,6EAA6E;AAC7E,0EAA0E;AAC1E,6EAA6E;AAC7E,uEAAuE;AACvE,IAAI,MAAM,GAAG,CAAC,CAAA;AAYP,MAAM,SAAS,GAAG,CACvB,IAAe,EACf,IAAY,EACZ,OAA0B,EACb,EAAE;IACf,oBAAoB,EAAE,CAAA;IAEtB,MAAM,QAAQ,GACZ,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,MAAK,SAAS;QAC7B,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAC,gBAAgB,CAAA;IAEtB,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,CAAC,YAAY,CAAC,CAAA;IAC5B,CAAC;IACD,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;QAC7B,cAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAC3B,YAAY,GAAG,SAAS,CAAA;IAC1B,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,CAAA;IAEnB,MAAM,IAAI,CAAC,CAAA;IAEX,OAAO,cAAO,CAAC,IAAI,CAAC;QAClB,OAAO,EAAE,CACP,8BAAC,eAAK,IACJ,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,EACb,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,GAC3B,CACH;QACD,QAAQ,EAAE,CAAC;QACX,GAAG,EAAE,UAAU;QACf,IAAI,EAAE,6DAAK;QACX,SAAS,EAAE,sCAAuB;KACnC,CAAC,CAAA;AACJ,CAAC,CAAA;AApCY,QAAA,SAAS,aAoCrB"}
package/dist/index.js CHANGED
@@ -19,8 +19,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  return (mod && mod.__esModule) ? mod : { "default": mod };
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.Spin = exports.ErrorPage = exports.Tooltip = exports.CopyBox = exports.Section = exports.Banner = exports.Note = exports.ContentBreakdown = exports.Hidden = exports.Link = exports.Divider = exports.EmptyData = exports.SmallP = exports.P1Bold = exports.P1 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Checkbox = exports.DatePicker = exports.Timer = exports.Tabs = exports.Table = exports.Steps = exports.SelectionBoxGroup = exports.SelectionBox = exports.Select = exports.RangePicker = exports.Radio = exports.Pagination = exports.DeprecatedModal = exports.DialogItems = exports.Modal = exports.Tag = exports.InputWithButton = exports.Input = exports.Form = exports.DynamicSelect = exports.Dropdown = exports.Carousel = exports.Chart = exports.Card = exports.BadgeIcon = exports.Accordion = exports.ActionCard = exports.ActionButton = exports.Button = exports.Alert = exports.AntdConfigProvider = void 0;
23
- exports.LINE_HEIGHT = exports.FONT_SIZE = exports.FONT_WEIGHT = exports.FALLBACK_FONT = exports.MAIN_FONT = exports.BACKGROUND_COLORS = exports.TEXT_COLORS = exports.ICON_COLORS = exports.MAIN_COLORS = exports.NEUTRAL_COLORS = exports.YELLOW_COLORS = exports.RED_COLORS = exports.GREEN_COLORS = exports.BLUE_COLORS = exports.TABLET_BREAKPOINT = exports.LAPTOP_BREAKPOINT = exports.DESKTOP_BREAKPOINT = exports.EXTRA_LARGE_DESKTOP_BREAKPOINT = exports.useModal = exports.ModalProvider = exports.straitsXTheme = exports.xfersTheme = exports.useTheme = exports.ThemeProvider = exports.Typography = exports.MaterialSymbols = exports.getCoachmarkJoyrideConfig = exports.CopyrightNotice = exports.CompanyProfileDropdown = exports.CompanyProfile = exports.SidebarSubItem = exports.SidebarNavItem = exports.useSidebar = exports.SidebarTrigger = exports.SidebarProvider = exports.SidebarBase = exports.Sidebar = exports.Coachmark = exports.Timeline = exports.SummaryCard = void 0;
22
+ exports.Tooltip = exports.CopyBox = exports.Section = exports.showToast = exports.Toast = exports.Banner = exports.Note = exports.ContentBreakdown = exports.Hidden = exports.Link = exports.Divider = exports.EmptyData = exports.SmallP = exports.P1Bold = exports.P1 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.Checkbox = exports.DatePicker = exports.Timer = exports.Tabs = exports.Table = exports.Steps = exports.SelectionBoxGroup = exports.SelectionBox = exports.Select = exports.RangePicker = exports.Radio = exports.Pagination = exports.DeprecatedModal = exports.DialogItems = exports.Modal = exports.Tag = exports.InputWithButton = exports.Input = exports.Form = exports.DynamicSelect = exports.Dropdown = exports.Carousel = exports.Chart = exports.Card = exports.BadgeIcon = exports.Accordion = exports.ActionCard = exports.ActionButton = exports.Button = exports.Alert = exports.AntdConfigProvider = void 0;
23
+ exports.LINE_HEIGHT = exports.FONT_SIZE = exports.FONT_WEIGHT = exports.FALLBACK_FONT = exports.MAIN_FONT = exports.BACKGROUND_COLORS = exports.TEXT_COLORS = exports.ICON_COLORS = exports.MAIN_COLORS = exports.NEUTRAL_COLORS = exports.YELLOW_COLORS = exports.RED_COLORS = exports.GREEN_COLORS = exports.BLUE_COLORS = exports.TABLET_BREAKPOINT = exports.LAPTOP_BREAKPOINT = exports.DESKTOP_BREAKPOINT = exports.EXTRA_LARGE_DESKTOP_BREAKPOINT = exports.useModal = exports.ModalProvider = exports.straitsXTheme = exports.xfersTheme = exports.useTheme = exports.ThemeProvider = exports.Typography = exports.MaterialSymbols = exports.getCoachmarkJoyrideConfig = exports.CopyrightNotice = exports.CompanyProfileDropdown = exports.CompanyProfile = exports.SidebarSubItem = exports.SidebarNavItem = exports.useSidebar = exports.SidebarTrigger = exports.SidebarProvider = exports.SidebarBase = exports.Sidebar = exports.Coachmark = exports.Timeline = exports.SummaryCard = exports.Spin = exports.ErrorPage = void 0;
24
24
  // Components
25
25
  var AntdConfigProvider_1 = require("./components/AntdConfigProvider");
26
26
  Object.defineProperty(exports, "AntdConfigProvider", { enumerable: true, get: function () { return __importDefault(AntdConfigProvider_1).default; } });
@@ -105,6 +105,9 @@ var Note_1 = require("./components/Note");
105
105
  Object.defineProperty(exports, "Note", { enumerable: true, get: function () { return __importDefault(Note_1).default; } });
106
106
  var Banner_1 = require("./components/Banner");
107
107
  Object.defineProperty(exports, "Banner", { enumerable: true, get: function () { return __importDefault(Banner_1).default; } });
108
+ var Toast_1 = require("./components/Toast");
109
+ Object.defineProperty(exports, "Toast", { enumerable: true, get: function () { return __importDefault(Toast_1).default; } });
110
+ Object.defineProperty(exports, "showToast", { enumerable: true, get: function () { return Toast_1.showToast; } });
108
111
  var Grid_1 = require("./components/Grid");
109
112
  Object.defineProperty(exports, "Section", { enumerable: true, get: function () { return Grid_1.Section; } });
110
113
  var CopyBox_1 = require("./components/CopyBox");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { ToastProps } from './Toast.types';
3
+ declare const Toast: ({ tone, message, showIcon, className, }: ToastProps) => React.JSX.Element;
4
+ export default Toast;
@@ -0,0 +1,9 @@
1
+ import { ToastTone } from './Toast.types';
2
+ export declare const getToastBackground: (tone: ToastTone) => string;
3
+ export declare const getToastTextColor: (tone: ToastTone) => string;
4
+ export declare const StyledToast: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
5
+ tone: ToastTone;
6
+ }, object>;
7
+ export declare const ToastIconContainer: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
8
+ export declare const TOAST_MESSAGE_CLASSNAME = "fds3-toast-message";
9
+ export declare const TOAST_MESSAGE_OVERRIDE_CSS = "\n .ant-message-notice.fds3-toast-message {\n background: transparent;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n margin-top: 16px;\n }\n";
@@ -0,0 +1,8 @@
1
+ export type ToastTone = 'positive' | 'warning' | 'critical' | 'info';
2
+ export type ToastProps = {
3
+ tone?: ToastTone;
4
+ message: string;
5
+ /** Shows the tone icon. Defaults to true; icons help color-blind users tell tones apart. */
6
+ showIcon?: boolean;
7
+ className?: string;
8
+ };
@@ -0,0 +1,4 @@
1
+ export { default } from './Toast';
2
+ export * from './Toast.types';
3
+ export { showToast } from './showToast';
4
+ export type { ShowToastOptions } from './showToast';
@@ -0,0 +1,12 @@
1
+ import { MessageType } from 'antd/es/message/interface';
2
+ import { ToastTone } from './Toast.types';
3
+ export type ShowToastOptions = {
4
+ /**
5
+ * Seconds before auto-dismiss. Clamped to 3-7s (default 5s), so 0 does not
6
+ * mean "persist" like it does in antd.
7
+ */
8
+ duration?: number;
9
+ /** Shows the tone icon. Defaults to true. */
10
+ showIcon?: boolean;
11
+ };
12
+ export declare const showToast: (tone: ToastTone, text: string, options?: ShowToastOptions) => MessageType;
@@ -36,6 +36,8 @@ export { default as Hidden } from './components/Hidden';
36
36
  export { default as ContentBreakdown } from './components/ContentBreakdown';
37
37
  export { default as Note } from './components/Note';
38
38
  export { default as Banner } from './components/Banner';
39
+ export { default as Toast, showToast } from './components/Toast';
40
+ export type { ToastTone, ShowToastOptions } from './components/Toast';
39
41
  export { Section } from './components/Grid';
40
42
  export { default as CopyBox } from './components/CopyBox';
41
43
  export { default as Tooltip } from './components/Tooltip';