@synerise/ds-card-tabs 1.5.23 → 1.5.24

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.
Files changed (32) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/dist/CardTab/CardTab.d.ts +2 -2
  3. package/dist/CardTab/CardTab.js +102 -144
  4. package/dist/CardTab/CardTab.styles.d.ts +11 -11
  5. package/dist/CardTab/CardTab.styles.js +239 -253
  6. package/dist/CardTab/CardTab.types.d.ts +4 -4
  7. package/dist/CardTab/CardTab.types.js +10 -7
  8. package/dist/CardTab/CardTabActions/CardTabActions.d.ts +2 -2
  9. package/dist/CardTab/CardTabActions/CardTabActions.js +15 -24
  10. package/dist/CardTab/CardTabActions/CardTabActions.types.d.ts +2 -2
  11. package/dist/CardTab/CardTabActions/CardTabActions.types.js +1 -1
  12. package/dist/CardTab/CardTabDropdown/CardTabDropdown.d.ts +2 -2
  13. package/dist/CardTab/CardTabDropdown/CardTabDropdown.js +27 -43
  14. package/dist/CardTab/CardTabDropdown/CardTabDropdown.types.d.ts +1 -1
  15. package/dist/CardTab/CardTabDropdown/CardTabDropdown.types.js +1 -1
  16. package/dist/CardTab/CardTabPrefix/CardTabPrefix.d.ts +2 -2
  17. package/dist/CardTab/CardTabPrefix/CardTabPrefix.js +38 -41
  18. package/dist/CardTab/CardTabPrefix/CardTabPrefix.types.d.ts +1 -1
  19. package/dist/CardTab/CardTabPrefix/CardTabPrefix.types.js +1 -1
  20. package/dist/CardTab/CardTabPrefix/CardTabPrefix.utils.d.ts +1 -1
  21. package/dist/CardTab/CardTabPrefix/CardTabPrefix.utils.js +12 -6
  22. package/dist/CardTabs.d.ts +2 -2
  23. package/dist/CardTabs.js +46 -54
  24. package/dist/CardTabs.styles.d.ts +2 -2
  25. package/dist/CardTabs.styles.js +9 -5
  26. package/dist/CardTabs.types.d.ts +3 -3
  27. package/dist/CardTabs.types.js +1 -1
  28. package/dist/index.js +17 -10
  29. package/dist/modules.d.js +1 -1
  30. package/dist/modules.d.ts +0 -0
  31. package/dist/utils.js +11 -7
  32. package/package.json +14 -14
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.5.24](https://github.com/Synerise/synerise-design/compare/@synerise/ds-card-tabs@1.5.23...@synerise/ds-card-tabs@1.5.24) (2026-03-24)
7
+
8
+ **Note:** Version bump only for package @synerise/ds-card-tabs
9
+
6
10
  ## [1.5.23](https://github.com/Synerise/synerise-design/compare/@synerise/ds-card-tabs@1.5.22...@synerise/ds-card-tabs@1.5.23) (2026-03-20)
7
11
 
8
12
  **Note:** Version bump only for package @synerise/ds-card-tabs
@@ -1,4 +1,4 @@
1
- import React from 'react';
2
- import { type CardTabProps } from './CardTab.types';
1
+ import { default as React } from 'react';
2
+ import { CardTabProps } from './CardTab.types';
3
3
  declare const CardTab: <IdType extends string | number>(props: CardTabProps<IdType>) => React.JSX.Element;
4
4
  export default CardTab;
@@ -1,199 +1,157 @@
1
- var _excluded = ["id", "name", "suffixIcon", "renderSuffix", "active", "draggable", "disabled", "invalid", "invalidName", "greyBackground", "onChangeName", "onSelectTab", "onDuplicateTab", "onRemoveTab", "onPreviewTab", "texts", "color", "itemData", "dragHandleProps", "actionsAsDropdown", "intl"];
2
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
3
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
4
- import React, { useCallback, useMemo, useState } from 'react';
5
- import { useIntl } from 'react-intl';
6
- import Icon from '@synerise/ds-icon';
7
- import InlineEdit from '@synerise/ds-inline-edit';
8
- import Tooltip from '@synerise/ds-tooltip';
9
- import * as S from './CardTab.styles';
10
- import CardTabActions from './CardTabActions/CardTabActions';
11
- import CardTabDropdown from './CardTabDropdown/CardTabDropdown';
12
- import CardTabPrefix from './CardTabPrefix/CardTabPrefix';
13
- var CardTab = function CardTab(props) {
14
- var id = props.id,
15
- name = props.name,
16
- suffixIcon = props.suffixIcon,
17
- renderSuffix = props.renderSuffix,
18
- active = props.active,
19
- draggable = props.draggable,
20
- disabled = props.disabled,
21
- invalid = props.invalid,
22
- invalidName = props.invalidName,
23
- greyBackground = props.greyBackground,
24
- onChangeName = props.onChangeName,
25
- onSelectTab = props.onSelectTab,
26
- onDuplicateTab = props.onDuplicateTab,
27
- onRemoveTab = props.onRemoveTab,
28
- onPreviewTab = props.onPreviewTab,
29
- texts = props.texts,
30
- _props$color = props.color,
31
- color = _props$color === void 0 ? 'yellow' : _props$color,
32
- itemData = props.itemData,
33
- dragHandleProps = props.dragHandleProps,
34
- actionsAsDropdown = props.actionsAsDropdown,
35
- _intl = props.intl,
36
- prefixProps = _objectWithoutPropertiesLoose(props, _excluded);
37
- var intl = useIntl();
38
- var _useState = useState(false),
39
- edited = _useState[0],
40
- setEdited = _useState[1];
41
- var _useState2 = useState(name),
42
- editedName = _useState2[0],
43
- setEditedName = _useState2[1];
44
- var getTexts = useMemo(function () {
45
- return _extends({
1
+ import { jsx, Fragment, jsxs } from "react/jsx-runtime";
2
+ import { useState, useMemo, useCallback } from "react";
3
+ import { useIntl } from "react-intl";
4
+ import Icon from "@synerise/ds-icon";
5
+ import InlineEdit from "@synerise/ds-inline-edit";
6
+ import Tooltip from "@synerise/ds-tooltip";
7
+ import { CardSuffixWrapper, CardTabContainer, CardTabLabel, CardTabName } from "./CardTab.styles.js";
8
+ import CardTabActions from "./CardTabActions/CardTabActions.js";
9
+ import CardTabDropdown from "./CardTabDropdown/CardTabDropdown.js";
10
+ import CardTabPrefix from "./CardTabPrefix/CardTabPrefix.js";
11
+ const CardTab = (props) => {
12
+ const {
13
+ id,
14
+ name,
15
+ suffixIcon,
16
+ renderSuffix,
17
+ active,
18
+ draggable,
19
+ disabled,
20
+ invalid,
21
+ invalidName,
22
+ greyBackground,
23
+ onChangeName,
24
+ onSelectTab,
25
+ onDuplicateTab,
26
+ onRemoveTab,
27
+ onPreviewTab,
28
+ texts,
29
+ color = "yellow",
30
+ itemData,
31
+ dragHandleProps,
32
+ actionsAsDropdown,
33
+ intl: _intl,
34
+ ...prefixProps
35
+ } = props;
36
+ const intl = useIntl();
37
+ const [edited, setEdited] = useState(false);
38
+ const [editedName, setEditedName] = useState(name);
39
+ const getTexts = useMemo(() => {
40
+ return {
46
41
  changeNameTooltip: intl.formatMessage({
47
- id: 'DS.CARD-TAB.RENAME',
48
- defaultMessage: 'Rename'
42
+ id: "DS.CARD-TAB.RENAME",
43
+ defaultMessage: "Rename"
49
44
  }),
50
45
  removeTooltip: intl.formatMessage({
51
- id: 'DS.CARD-TAB.REMOVE',
52
- defaultMessage: 'Delete'
46
+ id: "DS.CARD-TAB.REMOVE",
47
+ defaultMessage: "Delete"
53
48
  }),
54
49
  duplicateTooltip: intl.formatMessage({
55
- id: 'DS.CARD-TAB.DUPLICATE',
56
- defaultMessage: 'Duplicate'
50
+ id: "DS.CARD-TAB.DUPLICATE",
51
+ defaultMessage: "Duplicate"
57
52
  }),
58
53
  changeNameMenuItem: intl.formatMessage({
59
- id: 'DS.CARD-TAB.RENAME',
60
- defaultMessage: 'Rename'
54
+ id: "DS.CARD-TAB.RENAME",
55
+ defaultMessage: "Rename"
61
56
  }),
62
57
  removeMenuItem: intl.formatMessage({
63
- id: 'DS.CARD-TAB.REMOVE',
64
- defaultMessage: 'Delete'
58
+ id: "DS.CARD-TAB.REMOVE",
59
+ defaultMessage: "Delete"
65
60
  }),
66
61
  duplicateMenuItem: intl.formatMessage({
67
- id: 'DS.CARD-TAB.DUPLICATE',
68
- defaultMessage: 'Duplicate'
69
- })
70
- }, texts);
62
+ id: "DS.CARD-TAB.DUPLICATE",
63
+ defaultMessage: "Duplicate"
64
+ }),
65
+ ...texts
66
+ };
71
67
  }, [texts, intl]);
72
- var handleEditName = useMemo(function () {
73
- if (onChangeName === undefined) {
74
- return undefined;
68
+ const handleEditName = useMemo(() => {
69
+ if (onChangeName === void 0) {
70
+ return void 0;
75
71
  }
76
- return function (event) {
72
+ return (event) => {
77
73
  !!event && event.stopPropagation();
78
74
  setEdited(true);
79
75
  };
80
76
  }, [onChangeName, setEdited]);
81
- var handleChangeName = useMemo(function () {
82
- if (onChangeName === undefined) {
83
- return undefined;
77
+ const handleChangeName = useMemo(() => {
78
+ if (onChangeName === void 0) {
79
+ return void 0;
84
80
  }
85
- return function (event) {
81
+ return (event) => {
86
82
  if (event) {
87
- var nameValue = event.target.value;
83
+ const {
84
+ value: nameValue
85
+ } = event.target;
88
86
  setEditedName(nameValue);
89
87
  onChangeName && onChangeName(id, nameValue);
90
88
  }
91
89
  };
92
90
  }, [setEditedName, onChangeName, id]);
93
- var handleEditNameBlur = useCallback(function () {
91
+ const handleEditNameBlur = useCallback(() => {
94
92
  setEdited(false);
95
93
  onChangeName && onChangeName(id, editedName);
96
94
  }, [onChangeName, id, editedName]);
97
- var handleDuplicate = useMemo(function () {
98
- if (onDuplicateTab === undefined) {
99
- return undefined;
95
+ const handleDuplicate = useMemo(() => {
96
+ if (onDuplicateTab === void 0) {
97
+ return void 0;
100
98
  }
101
- return function (event) {
99
+ return (event) => {
102
100
  event && event.stopPropagation();
103
101
  onDuplicateTab && onDuplicateTab(id);
104
102
  };
105
103
  }, [id, onDuplicateTab]);
106
- var handleRemove = useMemo(function () {
107
- if (onRemoveTab === undefined) {
108
- return undefined;
104
+ const handleRemove = useMemo(() => {
105
+ if (onRemoveTab === void 0) {
106
+ return void 0;
109
107
  }
110
- return function (event) {
108
+ return (event) => {
111
109
  event && event.stopPropagation();
112
110
  onRemoveTab && onRemoveTab(id);
113
111
  };
114
112
  }, [id, onRemoveTab]);
115
- var handlePreview = onPreviewTab && function () {
116
- return onPreviewTab(id);
117
- };
118
- var handleSelect = useCallback(function (event) {
113
+ const handlePreview = onPreviewTab && (() => onPreviewTab(id));
114
+ const handleSelect = useCallback((event) => {
119
115
  !!event && event.stopPropagation();
120
116
  !edited && onSelectTab && onSelectTab(id);
121
117
  }, [edited, id, onSelectTab]);
122
- var showCardActions = useCallback(function () {
118
+ const showCardActions = useCallback(() => {
123
119
  return (!!onChangeName || !!onDuplicateTab || !!onRemoveTab || !!onPreviewTab) && !suffixIcon && !renderSuffix;
124
120
  }, [onChangeName, onDuplicateTab, onRemoveTab, onPreviewTab, suffixIcon, renderSuffix]);
125
- var suffixProps = _extends({}, props, {
126
- handleRemove: handleRemove,
127
- handleDuplicate: handleDuplicate,
128
- handleEditName: handleEditName,
121
+ const suffixProps = {
122
+ ...props,
123
+ handleRemove,
124
+ handleDuplicate,
125
+ handleEditName,
129
126
  texts: getTexts
130
- });
131
- var cardSuffix = function () {
132
- var showActionsDropdownMenu = actionsAsDropdown && (onChangeName || handleDuplicate || handleRemove);
127
+ };
128
+ const cardSuffix = (() => {
129
+ const showActionsDropdownMenu = actionsAsDropdown && (onChangeName || handleDuplicate || handleRemove);
133
130
  if (showActionsDropdownMenu) {
134
- return /*#__PURE__*/React.createElement(CardTabDropdown, {
135
- editNameHandler: onChangeName ? handleEditName : undefined,
136
- duplicateHandler: handleDuplicate,
137
- removeHandler: handleRemove,
138
- texts: getTexts
139
- });
131
+ return /* @__PURE__ */ jsx(CardTabDropdown, { editNameHandler: onChangeName ? handleEditName : void 0, duplicateHandler: handleDuplicate, removeHandler: handleRemove, texts: getTexts });
140
132
  }
141
133
  if (renderSuffix) {
142
134
  return renderSuffix(suffixProps);
143
135
  }
144
136
  if (suffixIcon) {
145
- return /*#__PURE__*/React.createElement(S.CardSuffixWrapper, null, /*#__PURE__*/React.createElement(Icon, {
146
- className: "ds-card-tabs__suffix-icon",
147
- component: suffixIcon
148
- }));
137
+ return /* @__PURE__ */ jsx(CardSuffixWrapper, { children: /* @__PURE__ */ jsx(Icon, { className: "ds-card-tabs__suffix-icon", component: suffixIcon }) });
149
138
  }
150
139
  if (showCardActions()) {
151
- return /*#__PURE__*/React.createElement(CardTabActions, {
152
- onChangeName: onChangeName ? handleEditName : undefined,
153
- onDuplicateTab: handleDuplicate,
154
- onRemoveTab: handleRemove,
155
- onPreviewTab: handlePreview,
156
- texts: getTexts
157
- });
140
+ return /* @__PURE__ */ jsx(CardTabActions, { onChangeName: onChangeName ? handleEditName : void 0, onDuplicateTab: handleDuplicate, onRemoveTab: handleRemove, onPreviewTab: handlePreview, texts: getTexts });
158
141
  }
159
- return /*#__PURE__*/React.createElement(React.Fragment, null);
160
- }();
161
- return /*#__PURE__*/React.createElement(S.CardTabContainer, {
162
- edited: edited,
163
- active: Boolean(active),
164
- invalid: Boolean(invalid || invalidName),
165
- disabled: !active && Boolean(disabled),
166
- isDraggable: draggable,
167
- color: color,
168
- onClick: handleSelect,
169
- greyBackground: !!greyBackground,
170
- "data-id": id,
171
- "data-testid": "card-tab-container",
172
- itemData: itemData
173
- }, !edited && /*#__PURE__*/React.createElement(CardTabPrefix, _extends({
174
- dragHandleProps: dragHandleProps,
175
- draggable: draggable
176
- }, prefixProps)), /*#__PURE__*/React.createElement(S.CardTabLabel, {
177
- onDoubleClick: handleEditName,
178
- "data-testid": "card-tab-label"
179
- }, edited ? /*#__PURE__*/React.createElement(InlineEdit, {
180
- className: "ds-card-tabs__edit-name",
181
- size: "small",
182
- hideIcon: true,
183
- autoFocus: true,
184
- input: {
142
+ return /* @__PURE__ */ jsx(Fragment, {});
143
+ })();
144
+ return /* @__PURE__ */ jsxs(CardTabContainer, { edited, active: Boolean(active), invalid: Boolean(invalid || invalidName), disabled: !active && Boolean(disabled), isDraggable: draggable, color, onClick: handleSelect, greyBackground: !!greyBackground, "data-id": id, "data-testid": "card-tab-container", itemData, children: [
145
+ !edited && /* @__PURE__ */ jsx(CardTabPrefix, { dragHandleProps, draggable, ...prefixProps }),
146
+ /* @__PURE__ */ jsx(CardTabLabel, { onDoubleClick: handleEditName, "data-testid": "card-tab-label", children: edited ? /* @__PURE__ */ jsx(InlineEdit, { className: "ds-card-tabs__edit-name", size: "small", hideIcon: true, autoFocus: true, input: {
185
147
  value: editedName,
186
- name: "ds-card-tab-input-" + id,
148
+ name: `ds-card-tab-input-${id}`,
187
149
  onBlur: handleEditNameBlur,
188
- onChange: handleChangeName || function () {
189
- return undefined;
190
- }
191
- },
192
- "data-testid": "card-tab-edit-input"
193
- }) : /*#__PURE__*/React.createElement(Tooltip, {
194
- title: name
195
- }, /*#__PURE__*/React.createElement(S.CardTabName, {
196
- "data-testid": "card-tab-name"
197
- }, name))), cardSuffix);
150
+ onChange: handleChangeName || (() => void 0)
151
+ }, "data-testid": "card-tab-edit-input" }) : /* @__PURE__ */ jsx(Tooltip, { title: name, children: /* @__PURE__ */ jsx(CardTabName, { "data-testid": "card-tab-name", children: name }) }) }),
152
+ cardSuffix
153
+ ] });
154
+ };
155
+ export {
156
+ CardTab as default
198
157
  };
199
- export default CardTab;
@@ -1,16 +1,16 @@
1
- export declare const CardTabSuffix: import("styled-components").StyledComponent<"div", any, {}, never>;
2
- export declare const CardTabName: import("styled-components").StyledComponent<"span", any, {}, never>;
3
- export declare const CardSuffixWrapper: import("styled-components").StyledComponent<"span", any, {}, never>;
4
- export declare const CardTabLabel: import("styled-components").StyledComponent<"span", any, {}, never>;
5
- export declare const CardTabTag: import("styled-components").StyledComponent<"div", any, {}, never>;
6
- export declare const CardDotPrefix: import("styled-components").StyledComponent<"div", any, {}, never>;
7
- export declare const CardDot: import("styled-components").StyledComponent<"div", any, {}, never>;
8
- export declare const CardTabPrefix: import("styled-components").StyledComponent<"div", any, {}, never>;
9
- export declare const CardDragPrefix: import("styled-components").StyledComponent<"div", any, {
1
+ export declare const CardTabSuffix: import('styled-components').StyledComponent<"div", any, {}, never>;
2
+ export declare const CardTabName: import('styled-components').StyledComponent<"span", any, {}, never>;
3
+ export declare const CardSuffixWrapper: import('styled-components').StyledComponent<"span", any, {}, never>;
4
+ export declare const CardTabLabel: import('styled-components').StyledComponent<"span", any, {}, never>;
5
+ export declare const CardTabTag: import('styled-components').StyledComponent<"div", any, {}, never>;
6
+ export declare const CardDotPrefix: import('styled-components').StyledComponent<"div", any, {}, never>;
7
+ export declare const CardDot: import('styled-components').StyledComponent<"div", any, {}, never>;
8
+ export declare const CardTabPrefix: import('styled-components').StyledComponent<"div", any, {}, never>;
9
+ export declare const CardDragPrefix: import('styled-components').StyledComponent<"div", any, {
10
10
  persistent: boolean;
11
11
  }, never>;
12
- export declare const CardIconPrefix: import("styled-components").StyledComponent<"div", any, {}, never>;
13
- export declare const CardTabContainer: import("styled-components").StyledComponent<"div", any, {
12
+ export declare const CardIconPrefix: import('styled-components').StyledComponent<"div", any, {}, never>;
13
+ export declare const CardTabContainer: import('styled-components').StyledComponent<"div", any, {
14
14
  active: boolean;
15
15
  invalid: boolean;
16
16
  greyBackground: boolean;