@unbxd-ui/unbxd-react-components 0.3.0 → 0.3.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/desktop.svg +6 -0
- package/assets/map-pin.svg +6 -0
- package/assets/p1.svg +20 -0
- package/assets/p2.svg +22 -0
- package/assets/p3.svg +19 -0
- package/assets/p4.svg +22 -0
- package/assets/p5.svg +23 -0
- package/components/Button/Button.js +4 -2
- package/components/Button/Button.stories.js +16 -3
- package/components/Button/buttonTheme.css +1 -1
- package/components/Form/Dropdown.js +77 -10
- package/components/Form/SearchableDropdown.js +22 -15
- package/components/Form/SelectedPills.js +126 -0
- package/components/Form/SummarySelection.js +46 -0
- package/components/Form/formCore.css +1 -1
- package/components/Form/stories/Dropdown.stories.js +160 -2
- package/components/Form/stories/SearchableDropdown.stories.js +173 -3
- package/components/Form/stories/ServerPaginatedDropdown.stories.js +166 -94
- package/components/Form/summarySelection.css +1 -0
- package/components/Link/Link.js +139 -0
- package/components/Link/Link.stories.js +489 -0
- package/components/Link/index.js +28 -0
- package/components/Link/linkCore.css +1 -0
- package/components/Link/linkTheme.css +1 -0
- package/components/PIDItemComponent/PIDItemComponent.js +72 -0
- package/components/PIDItemComponent/PIDItemComponent.stories.js +175 -0
- package/components/PIDItemComponent/PIDItemComponentCore.css +1 -0
- package/components/PIDItemComponent/index.js +9 -0
- package/components/UIDItemComponent/UIDItemComponent.js +138 -0
- package/components/UIDItemComponent/UIDItemComponent.stories.js +51 -0
- package/components/UIDItemComponent/UIDItemComponentCore.css +1 -0
- package/components/UIDItemComponent/index.js +9 -0
- package/components/core.css +2 -2
- package/components/core.scss +13 -10
- package/components/index.js +49 -10
- package/components/theme.css +2 -2
- package/components/theme.scss +3 -1
- package/core/index.js +7 -0
- package/core/lazyLoadImage.js +56 -0
- package/core/utils.js +6 -1
- package/index.js +48 -0
- package/package.json +5 -4
|
@@ -0,0 +1,489 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.WithUnderlineOnHover = exports.WithTextDecoration = exports.Success = exports.Sizes = exports.Secondary = exports.PropValidationTests = exports.Primary = exports.Interactive = exports.ExternalLinks = exports.Disabled = exports.Danger = exports.ButtonLinks = exports.AllVariations = exports.AllAppearances = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _Link = _interopRequireWildcard(require("./Link"));
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
11
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
12
|
+
// Styles are loaded globally in .storybook/preview.js
|
|
13
|
+
var _default = exports["default"] = {
|
|
14
|
+
title: 'Components/Link',
|
|
15
|
+
component: _Link["default"],
|
|
16
|
+
parameters: {
|
|
17
|
+
layout: 'centered',
|
|
18
|
+
docs: {
|
|
19
|
+
story: {
|
|
20
|
+
inline: true
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
backgrounds: {
|
|
24
|
+
"default": 'light',
|
|
25
|
+
values: [{
|
|
26
|
+
name: 'light',
|
|
27
|
+
value: '#ffffff'
|
|
28
|
+
}, {
|
|
29
|
+
name: 'dark',
|
|
30
|
+
value: '#333333'
|
|
31
|
+
}]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
tags: ['autodocs'],
|
|
35
|
+
argTypes: {
|
|
36
|
+
appearance: {
|
|
37
|
+
control: 'select',
|
|
38
|
+
options: Object.values(_Link.LinkAppearance),
|
|
39
|
+
description: 'The visual style of the link'
|
|
40
|
+
},
|
|
41
|
+
size: {
|
|
42
|
+
control: 'select',
|
|
43
|
+
options: Object.values(_Link.LinkSize),
|
|
44
|
+
description: 'The size of the link'
|
|
45
|
+
},
|
|
46
|
+
target: {
|
|
47
|
+
control: 'select',
|
|
48
|
+
options: Object.values(_Link.LinkTarget),
|
|
49
|
+
description: 'The target attribute for anchor links'
|
|
50
|
+
},
|
|
51
|
+
disabled: {
|
|
52
|
+
control: 'boolean',
|
|
53
|
+
description: 'Whether the link is disabled'
|
|
54
|
+
},
|
|
55
|
+
textDecoration: {
|
|
56
|
+
control: 'select',
|
|
57
|
+
options: ['underline', 'none', 'overline', 'line-through'],
|
|
58
|
+
description: 'Text decoration style for the link'
|
|
59
|
+
},
|
|
60
|
+
underlineOnHover: {
|
|
61
|
+
control: 'boolean',
|
|
62
|
+
description: 'Whether to show underline on hover (only if not already underlined)'
|
|
63
|
+
},
|
|
64
|
+
external: {
|
|
65
|
+
control: 'boolean',
|
|
66
|
+
description: 'Whether this is an external link (shows external icon)'
|
|
67
|
+
},
|
|
68
|
+
href: {
|
|
69
|
+
control: 'text',
|
|
70
|
+
description: 'URL for the link (renders as anchor tag when provided)'
|
|
71
|
+
},
|
|
72
|
+
onClick: {
|
|
73
|
+
action: 'clicked',
|
|
74
|
+
description: 'Link click handler'
|
|
75
|
+
},
|
|
76
|
+
'data-qa-id': {
|
|
77
|
+
control: 'text',
|
|
78
|
+
description: 'QA automation identifier for testing'
|
|
79
|
+
},
|
|
80
|
+
children: {
|
|
81
|
+
control: 'text',
|
|
82
|
+
description: 'Link content'
|
|
83
|
+
},
|
|
84
|
+
className: {
|
|
85
|
+
control: 'text',
|
|
86
|
+
description: 'Additional CSS classes'
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}; // Template for stories
|
|
90
|
+
var Template = function Template(args) {
|
|
91
|
+
return /*#__PURE__*/_react["default"].createElement(_Link["default"], args);
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
// Primary link
|
|
95
|
+
var Primary = exports.Primary = Template.bind({});
|
|
96
|
+
Primary.args = {
|
|
97
|
+
children: 'Primary Link',
|
|
98
|
+
appearance: _Link.LinkAppearance.primary,
|
|
99
|
+
size: _Link.LinkSize.MEDIUM,
|
|
100
|
+
textDecoration: 'none',
|
|
101
|
+
onClick: undefined // Remove interactive behavior for display
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
// Secondary link
|
|
105
|
+
var Secondary = exports.Secondary = Template.bind({});
|
|
106
|
+
Secondary.args = {
|
|
107
|
+
children: 'Secondary Link',
|
|
108
|
+
appearance: _Link.LinkAppearance.secondary,
|
|
109
|
+
size: _Link.LinkSize.MEDIUM,
|
|
110
|
+
textDecoration: 'none',
|
|
111
|
+
onClick: undefined // Remove interactive behavior for display
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
// Danger link
|
|
115
|
+
var Danger = exports.Danger = Template.bind({});
|
|
116
|
+
Danger.args = {
|
|
117
|
+
children: 'Danger Link',
|
|
118
|
+
appearance: _Link.LinkAppearance.danger,
|
|
119
|
+
size: _Link.LinkSize.MEDIUM,
|
|
120
|
+
textDecoration: 'none',
|
|
121
|
+
onClick: undefined // Remove interactive behavior for display
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
// Success link
|
|
125
|
+
var Success = exports.Success = Template.bind({});
|
|
126
|
+
Success.args = {
|
|
127
|
+
children: 'Success Link',
|
|
128
|
+
appearance: _Link.LinkAppearance.success,
|
|
129
|
+
size: _Link.LinkSize.MEDIUM,
|
|
130
|
+
textDecoration: 'none',
|
|
131
|
+
onClick: undefined // Remove interactive behavior for display
|
|
132
|
+
};
|
|
133
|
+
|
|
134
|
+
// Link with text decoration
|
|
135
|
+
var WithTextDecoration = exports.WithTextDecoration = Template.bind({});
|
|
136
|
+
WithTextDecoration.args = {
|
|
137
|
+
children: 'Link with custom decoration',
|
|
138
|
+
textDecoration: 'underline',
|
|
139
|
+
appearance: _Link.LinkAppearance.primary,
|
|
140
|
+
onClick: undefined // Remove interactive behavior for display
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
// Link with underline on hover
|
|
144
|
+
var WithUnderlineOnHover = exports.WithUnderlineOnHover = Template.bind({});
|
|
145
|
+
WithUnderlineOnHover.args = {
|
|
146
|
+
children: 'Hover me to see underline',
|
|
147
|
+
appearance: _Link.LinkAppearance.primary,
|
|
148
|
+
underlineOnHover: true,
|
|
149
|
+
onClick: undefined // Remove interactive behavior for display
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
// Link sizes
|
|
153
|
+
var Sizes = exports.Sizes = function Sizes() {
|
|
154
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
155
|
+
style: {
|
|
156
|
+
display: 'flex',
|
|
157
|
+
flexDirection: 'column',
|
|
158
|
+
gap: '1rem',
|
|
159
|
+
alignItems: 'flex-start'
|
|
160
|
+
}
|
|
161
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
162
|
+
size: _Link.LinkSize.SMALL,
|
|
163
|
+
appearance: _Link.LinkAppearance.primary
|
|
164
|
+
}, "Small Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
165
|
+
size: _Link.LinkSize.MEDIUM,
|
|
166
|
+
appearance: _Link.LinkAppearance.primary
|
|
167
|
+
}, "Medium Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
168
|
+
size: _Link.LinkSize.LARGE,
|
|
169
|
+
appearance: _Link.LinkAppearance.primary
|
|
170
|
+
}, "Large Link"));
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
// Disabled state
|
|
174
|
+
var Disabled = exports.Disabled = Template.bind({});
|
|
175
|
+
Disabled.args = {
|
|
176
|
+
children: 'Disabled Link',
|
|
177
|
+
disabled: true,
|
|
178
|
+
appearance: _Link.LinkAppearance.primary,
|
|
179
|
+
size: _Link.LinkSize.MEDIUM,
|
|
180
|
+
textDecoration: 'none',
|
|
181
|
+
onClick: undefined // Remove interactive behavior for display
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
// External links
|
|
185
|
+
var ExternalLinks = exports.ExternalLinks = function ExternalLinks() {
|
|
186
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
187
|
+
style: {
|
|
188
|
+
display: 'flex',
|
|
189
|
+
flexDirection: 'column',
|
|
190
|
+
gap: '1rem',
|
|
191
|
+
alignItems: 'flex-start'
|
|
192
|
+
}
|
|
193
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
194
|
+
href: "https://google.com",
|
|
195
|
+
target: _Link.LinkTarget.BLANK,
|
|
196
|
+
external: true,
|
|
197
|
+
appearance: _Link.LinkAppearance.primary
|
|
198
|
+
}, "External Link with Icon"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
199
|
+
href: "https://github.com",
|
|
200
|
+
target: _Link.LinkTarget.BLANK,
|
|
201
|
+
external: true,
|
|
202
|
+
appearance: _Link.LinkAppearance.secondary
|
|
203
|
+
}, "GitHub Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
204
|
+
href: "/internal-page",
|
|
205
|
+
appearance: _Link.LinkAppearance.primary
|
|
206
|
+
}, "Internal Link"));
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
// All appearances
|
|
210
|
+
var AllAppearances = exports.AllAppearances = function AllAppearances() {
|
|
211
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
212
|
+
style: {
|
|
213
|
+
display: 'flex',
|
|
214
|
+
flexDirection: 'column',
|
|
215
|
+
gap: '1rem',
|
|
216
|
+
alignItems: 'flex-start'
|
|
217
|
+
}
|
|
218
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
219
|
+
appearance: _Link.LinkAppearance.primary
|
|
220
|
+
}, "Primary Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
221
|
+
appearance: _Link.LinkAppearance.secondary
|
|
222
|
+
}, "Secondary Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
223
|
+
appearance: _Link.LinkAppearance.danger
|
|
224
|
+
}, "Danger Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
225
|
+
appearance: _Link.LinkAppearance.success
|
|
226
|
+
}, "Success Link"));
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
// Button-style links (no href)
|
|
230
|
+
var ButtonLinks = exports.ButtonLinks = function ButtonLinks() {
|
|
231
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
232
|
+
style: {
|
|
233
|
+
display: 'flex',
|
|
234
|
+
gap: '1rem',
|
|
235
|
+
alignItems: 'center'
|
|
236
|
+
}
|
|
237
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
238
|
+
appearance: _Link.LinkAppearance.primary,
|
|
239
|
+
onClick: function onClick() {
|
|
240
|
+
return alert('Button link clicked!');
|
|
241
|
+
}
|
|
242
|
+
}, "Button Link"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
243
|
+
appearance: _Link.LinkAppearance.secondary,
|
|
244
|
+
onClick: function onClick() {
|
|
245
|
+
return alert('Router link clicked!');
|
|
246
|
+
}
|
|
247
|
+
}, "Router Link"));
|
|
248
|
+
};
|
|
249
|
+
|
|
250
|
+
// Mixed states and variations
|
|
251
|
+
var AllVariations = exports.AllVariations = function AllVariations() {
|
|
252
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
253
|
+
style: {
|
|
254
|
+
display: 'flex',
|
|
255
|
+
flexDirection: 'column',
|
|
256
|
+
gap: '2rem'
|
|
257
|
+
}
|
|
258
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
259
|
+
style: {
|
|
260
|
+
margin: '0 0 1rem 0'
|
|
261
|
+
}
|
|
262
|
+
}, "Regular Links"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
263
|
+
style: {
|
|
264
|
+
display: 'flex',
|
|
265
|
+
gap: '1rem',
|
|
266
|
+
flexWrap: 'wrap'
|
|
267
|
+
}
|
|
268
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
269
|
+
appearance: _Link.LinkAppearance.primary
|
|
270
|
+
}, "Primary"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
271
|
+
appearance: _Link.LinkAppearance.secondary
|
|
272
|
+
}, "Secondary"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
273
|
+
appearance: _Link.LinkAppearance.danger
|
|
274
|
+
}, "Danger"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
275
|
+
appearance: _Link.LinkAppearance.success
|
|
276
|
+
}, "Success"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
277
|
+
style: {
|
|
278
|
+
margin: '0 0 1rem 0'
|
|
279
|
+
}
|
|
280
|
+
}, "Links with Text Decoration"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
281
|
+
style: {
|
|
282
|
+
display: 'flex',
|
|
283
|
+
gap: '1rem',
|
|
284
|
+
flexWrap: 'wrap'
|
|
285
|
+
}
|
|
286
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
287
|
+
appearance: _Link.LinkAppearance.primary,
|
|
288
|
+
textDecoration: "underline"
|
|
289
|
+
}, "Underlined"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
290
|
+
appearance: _Link.LinkAppearance.primary,
|
|
291
|
+
textDecoration: "none"
|
|
292
|
+
}, "No decoration"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
293
|
+
appearance: _Link.LinkAppearance.primary,
|
|
294
|
+
textDecoration: "overline"
|
|
295
|
+
}, "Overlined"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
296
|
+
appearance: _Link.LinkAppearance.primary,
|
|
297
|
+
textDecoration: "line-through"
|
|
298
|
+
}, "Line-through"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
299
|
+
appearance: _Link.LinkAppearance.primary,
|
|
300
|
+
underlineOnHover: true
|
|
301
|
+
}, "Underline on hover"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
302
|
+
style: {
|
|
303
|
+
margin: '0 0 1rem 0'
|
|
304
|
+
}
|
|
305
|
+
}, "Disabled Links"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
306
|
+
style: {
|
|
307
|
+
display: 'flex',
|
|
308
|
+
gap: '1rem',
|
|
309
|
+
flexWrap: 'wrap'
|
|
310
|
+
}
|
|
311
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
312
|
+
appearance: _Link.LinkAppearance.primary,
|
|
313
|
+
disabled: true
|
|
314
|
+
}, "Primary"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
315
|
+
appearance: _Link.LinkAppearance.secondary,
|
|
316
|
+
disabled: true
|
|
317
|
+
}, "Secondary"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
318
|
+
appearance: _Link.LinkAppearance.danger,
|
|
319
|
+
disabled: true
|
|
320
|
+
}, "Danger"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
321
|
+
appearance: _Link.LinkAppearance.success,
|
|
322
|
+
disabled: true
|
|
323
|
+
}, "Success"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
324
|
+
style: {
|
|
325
|
+
margin: '0 0 1rem 0'
|
|
326
|
+
}
|
|
327
|
+
}, "External Links"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
328
|
+
style: {
|
|
329
|
+
display: 'flex',
|
|
330
|
+
gap: '1rem',
|
|
331
|
+
flexWrap: 'wrap'
|
|
332
|
+
}
|
|
333
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
334
|
+
href: "https://example.com",
|
|
335
|
+
target: _Link.LinkTarget.BLANK,
|
|
336
|
+
external: true,
|
|
337
|
+
appearance: _Link.LinkAppearance.primary
|
|
338
|
+
}, "Example.com"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
339
|
+
href: "https://github.com",
|
|
340
|
+
target: _Link.LinkTarget.BLANK,
|
|
341
|
+
external: true,
|
|
342
|
+
appearance: _Link.LinkAppearance.secondary
|
|
343
|
+
}, "GitHub"))));
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
// Prop validation tests
|
|
347
|
+
var PropValidationTests = exports.PropValidationTests = function PropValidationTests() {
|
|
348
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
349
|
+
style: {
|
|
350
|
+
display: 'flex',
|
|
351
|
+
flexDirection: 'column',
|
|
352
|
+
gap: '2rem'
|
|
353
|
+
}
|
|
354
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
355
|
+
style: {
|
|
356
|
+
margin: '0 0 1rem 0'
|
|
357
|
+
}
|
|
358
|
+
}, "Text Decoration Validation"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
359
|
+
style: {
|
|
360
|
+
display: 'flex',
|
|
361
|
+
gap: '1rem',
|
|
362
|
+
flexWrap: 'wrap'
|
|
363
|
+
}
|
|
364
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
365
|
+
textDecoration: "none"
|
|
366
|
+
}, "None (default)"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
367
|
+
textDecoration: "underline"
|
|
368
|
+
}, "Underline"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
369
|
+
textDecoration: "overline"
|
|
370
|
+
}, "Overline"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
371
|
+
textDecoration: "line-through"
|
|
372
|
+
}, "Line-through"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
373
|
+
style: {
|
|
374
|
+
margin: '0 0 1rem 0'
|
|
375
|
+
}
|
|
376
|
+
}, "Appearance Validation"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
377
|
+
style: {
|
|
378
|
+
display: 'flex',
|
|
379
|
+
gap: '1rem',
|
|
380
|
+
flexWrap: 'wrap'
|
|
381
|
+
}
|
|
382
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
383
|
+
appearance: _Link.LinkAppearance.primary
|
|
384
|
+
}, "Primary"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
385
|
+
appearance: _Link.LinkAppearance.secondary
|
|
386
|
+
}, "Secondary"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
387
|
+
appearance: _Link.LinkAppearance.danger
|
|
388
|
+
}, "Danger"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
389
|
+
appearance: _Link.LinkAppearance.success
|
|
390
|
+
}, "Success"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
391
|
+
style: {
|
|
392
|
+
margin: '0 0 1rem 0'
|
|
393
|
+
}
|
|
394
|
+
}, "Size Validation"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
395
|
+
style: {
|
|
396
|
+
display: 'flex',
|
|
397
|
+
gap: '1rem',
|
|
398
|
+
alignItems: 'baseline'
|
|
399
|
+
}
|
|
400
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
401
|
+
size: _Link.LinkSize.SMALL
|
|
402
|
+
}, "Small"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
403
|
+
size: _Link.LinkSize.MEDIUM
|
|
404
|
+
}, "Medium"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
405
|
+
size: _Link.LinkSize.LARGE
|
|
406
|
+
}, "Large"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
407
|
+
style: {
|
|
408
|
+
margin: '0 0 1rem 0'
|
|
409
|
+
}
|
|
410
|
+
}, "Target Validation"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
411
|
+
style: {
|
|
412
|
+
display: 'flex',
|
|
413
|
+
gap: '1rem',
|
|
414
|
+
flexWrap: 'wrap'
|
|
415
|
+
}
|
|
416
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
417
|
+
target: _Link.LinkTarget.SELF,
|
|
418
|
+
onClick: undefined,
|
|
419
|
+
tabIndex: -1
|
|
420
|
+
}, "Self"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
421
|
+
target: _Link.LinkTarget.BLANK,
|
|
422
|
+
external: true,
|
|
423
|
+
onClick: undefined,
|
|
424
|
+
tabIndex: -1
|
|
425
|
+
}, "Blank"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
426
|
+
target: _Link.LinkTarget.PARENT,
|
|
427
|
+
onClick: undefined,
|
|
428
|
+
tabIndex: -1
|
|
429
|
+
}, "Parent"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
430
|
+
target: _Link.LinkTarget.TOP,
|
|
431
|
+
onClick: undefined,
|
|
432
|
+
tabIndex: -1
|
|
433
|
+
}, "Top"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
434
|
+
style: {
|
|
435
|
+
margin: '0 0 1rem 0'
|
|
436
|
+
}
|
|
437
|
+
}, "Boolean Props Validation"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
438
|
+
style: {
|
|
439
|
+
display: 'flex',
|
|
440
|
+
gap: '1rem',
|
|
441
|
+
flexWrap: 'wrap'
|
|
442
|
+
}
|
|
443
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
444
|
+
disabled: true
|
|
445
|
+
}, "Disabled"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
446
|
+
external: true,
|
|
447
|
+
href: "javascript:void(0)",
|
|
448
|
+
target: _Link.LinkTarget.BLANK
|
|
449
|
+
}, "External"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
450
|
+
className: "custom-class"
|
|
451
|
+
}, "Custom Class"))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("h4", {
|
|
452
|
+
style: {
|
|
453
|
+
margin: '0 0 1rem 0'
|
|
454
|
+
}
|
|
455
|
+
}, "Combined Props Test"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
456
|
+
style: {
|
|
457
|
+
display: 'flex',
|
|
458
|
+
gap: '1rem',
|
|
459
|
+
flexWrap: 'wrap'
|
|
460
|
+
}
|
|
461
|
+
}, /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
462
|
+
appearance: _Link.LinkAppearance.primary,
|
|
463
|
+
size: _Link.LinkSize.LARGE,
|
|
464
|
+
textDecoration: "underline",
|
|
465
|
+
href: "https://example.com",
|
|
466
|
+
target: _Link.LinkTarget.BLANK,
|
|
467
|
+
external: true
|
|
468
|
+
}, "All Props Combined"), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
|
469
|
+
appearance: _Link.LinkAppearance.danger,
|
|
470
|
+
size: _Link.LinkSize.SMALL,
|
|
471
|
+
textDecoration: "line-through",
|
|
472
|
+
disabled: true
|
|
473
|
+
}, "Disabled with Decoration"))));
|
|
474
|
+
};
|
|
475
|
+
|
|
476
|
+
// Interactive example with all controls
|
|
477
|
+
var Interactive = exports.Interactive = Template.bind({});
|
|
478
|
+
Interactive.args = {
|
|
479
|
+
children: 'Interactive Link',
|
|
480
|
+
appearance: _Link.LinkAppearance.primary,
|
|
481
|
+
size: _Link.LinkSize.MEDIUM,
|
|
482
|
+
disabled: false,
|
|
483
|
+
textDecoration: 'none',
|
|
484
|
+
underlineOnHover: false,
|
|
485
|
+
external: false,
|
|
486
|
+
href: '',
|
|
487
|
+
target: _Link.LinkTarget.SELF,
|
|
488
|
+
'data-qa-id': 'interactive-link'
|
|
489
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
Object.defineProperty(exports, "LinkAppearance", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function get() {
|
|
10
|
+
return _Link.LinkAppearance;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "LinkSize", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function get() {
|
|
16
|
+
return _Link.LinkSize;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports, "LinkTarget", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function get() {
|
|
22
|
+
return _Link.LinkTarget;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
exports["default"] = void 0;
|
|
26
|
+
var _Link = _interopRequireWildcard(require("./Link"));
|
|
27
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
28
|
+
var _default = exports["default"] = _Link["default"];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.RCB-link{display:inline;cursor:pointer;font-family:inherit;transition:color 0.2s ease, text-decoration 0.2s ease;background:none;border:none;padding:0;margin:0;font-weight:600}.RCB-link-disabled{cursor:not-allowed;opacity:0.6}.RCB-link-underline{text-decoration:underline}.RCB-link-none{text-decoration:none}.RCB-link-overline{text-decoration:overline}.RCB-link-line-through{text-decoration:line-through}.RCB-link-underline-on-hover:hover{text-decoration:underline}.RCB-link-external-icon{margin-left:4px;font-size:0.8em;line-height:1;display:inline}.RCB-link-small{font-size:12px;line-height:1.4}.RCB-link-medium{font-size:14px;line-height:1.5}.RCB-link-large{font-size:16px;line-height:1.6}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.RCB-link-primary{color:#3e71f2}.RCB-link-primary:hover{color:#3865d9}.RCB-link-primary:active{color:#3e71f2}.RCB-link-primary:visited{color:#6f42c1}.RCB-link-secondary{color:#6c757d;text-decoration:none}.RCB-link-secondary:hover{color:#495057;text-decoration:underline}.RCB-link-secondary:active{color:#343a40}.RCB-link-danger{color:#dc3545;text-decoration:none}.RCB-link-danger:hover{color:#c82333;text-decoration:underline}.RCB-link-danger:active{color:#bd2130}.RCB-link-success{color:#28a745;text-decoration:none}.RCB-link-success:hover{color:#218838;text-decoration:underline}.RCB-link-success:active{color:#1e7e34}.RCB-link-external .RCB-link-external-icon{color:currentColor;opacity:0.7}.RCB-link-external:hover .RCB-link-external-icon{opacity:1}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = PIDItemComponent;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _lazyLoadImage = _interopRequireDefault(require("../../core/lazyLoadImage"));
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
|
|
10
|
+
function PIDItemComponent(props) {
|
|
11
|
+
var DEFAULT_IMAGE = "https://libraries.unbxdapi.com/sdk-assets/defaultImage.svg";
|
|
12
|
+
|
|
13
|
+
// Desrructure props that are needed for client as well as server pagination types.
|
|
14
|
+
var _props$itemData = props.itemData,
|
|
15
|
+
itemData = _props$itemData === void 0 ? {} : _props$itemData,
|
|
16
|
+
_props$paginationType = props.paginationType,
|
|
17
|
+
clientPaginationType = _props$paginationType === void 0 ? "" : _props$paginationType,
|
|
18
|
+
_props$selectItem = props.selectItem,
|
|
19
|
+
clientSelectItem = _props$selectItem === void 0 ? function () {} : _props$selectItem,
|
|
20
|
+
_props$keysMap = props.keysMap,
|
|
21
|
+
clientKeysMap = _props$keysMap === void 0 ? {} : _props$keysMap,
|
|
22
|
+
_props$data = props.data,
|
|
23
|
+
data = _props$data === void 0 ? {} : _props$data,
|
|
24
|
+
_props$index = props.index,
|
|
25
|
+
index = _props$index === void 0 ? 0 : _props$index,
|
|
26
|
+
_props$style = props.style,
|
|
27
|
+
style = _props$style === void 0 ? {} : _props$style;
|
|
28
|
+
var _data$items = data.items,
|
|
29
|
+
items = _data$items === void 0 ? [] : _data$items,
|
|
30
|
+
_data$paginationType = data.paginationType,
|
|
31
|
+
serverPaginationType = _data$paginationType === void 0 ? "" : _data$paginationType,
|
|
32
|
+
_data$selectItem = data.selectItem,
|
|
33
|
+
serverSelectItem = _data$selectItem === void 0 ? function () {} : _data$selectItem,
|
|
34
|
+
_data$keysMap = data.keysMap,
|
|
35
|
+
serverKeysMap = _data$keysMap === void 0 ? {} : _data$keysMap;
|
|
36
|
+
|
|
37
|
+
// Determine the pagination type
|
|
38
|
+
var paginationType = clientPaginationType ? "CLIENT" : serverPaginationType;
|
|
39
|
+
|
|
40
|
+
// Update the item data and select item function based on the pagination type
|
|
41
|
+
var updatedItemData = paginationType !== 'SERVER' ? itemData : items[index] || {};
|
|
42
|
+
var updatedSelectItem = paginationType !== 'SERVER' ? clientSelectItem : serverSelectItem;
|
|
43
|
+
var updatedKeysMap = paginationType !== 'SERVER' ? clientKeysMap : serverKeysMap || {};
|
|
44
|
+
|
|
45
|
+
// Destructue the items value with its respective keys map provided in the props
|
|
46
|
+
var _updatedKeysMap$uniqu = updatedKeysMap.uniqueIdMap,
|
|
47
|
+
uniqueIdMap = _updatedKeysMap$uniqu === void 0 ? "uniqueId" : _updatedKeysMap$uniqu,
|
|
48
|
+
_updatedKeysMap$image = updatedKeysMap.imageUrlMap,
|
|
49
|
+
imageUrlMap = _updatedKeysMap$image === void 0 ? "imageUrl" : _updatedKeysMap$image,
|
|
50
|
+
_updatedKeysMap$title = updatedKeysMap.titleMap,
|
|
51
|
+
titleMap = _updatedKeysMap$title === void 0 ? "title" : _updatedKeysMap$title;
|
|
52
|
+
var title = updatedItemData[titleMap];
|
|
53
|
+
var imageUrl = Array.isArray(updatedItemData[imageUrlMap]) ? updatedItemData[imageUrlMap][0] : updatedItemData[imageUrlMap] ? updatedItemData[imageUrlMap] : DEFAULT_IMAGE;
|
|
54
|
+
var uniqueId = updatedItemData[uniqueIdMap];
|
|
55
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
56
|
+
className: "RCB-list-item RCB-pid-dd-item",
|
|
57
|
+
style: style,
|
|
58
|
+
onClick: function onClick() {
|
|
59
|
+
return updatedSelectItem(updatedItemData);
|
|
60
|
+
}
|
|
61
|
+
}, /*#__PURE__*/_react["default"].createElement(_lazyLoadImage["default"], {
|
|
62
|
+
id: uniqueId,
|
|
63
|
+
key: uniqueId,
|
|
64
|
+
className: "RCB-pid-product-image",
|
|
65
|
+
src: imageUrl
|
|
66
|
+
}), /*#__PURE__*/_react["default"].createElement("div", null, title && /*#__PURE__*/_react["default"].createElement("span", {
|
|
67
|
+
className: "RCB-title",
|
|
68
|
+
title: title
|
|
69
|
+
}, title), /*#__PURE__*/_react["default"].createElement("span", {
|
|
70
|
+
className: "RCB-pid-id show small-text text-transform-none clip-content"
|
|
71
|
+
}, " ID: ", uniqueId, " ")));
|
|
72
|
+
}
|