@bodynarf/react.components 1.13.8 → 1.14.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.
Files changed (132) hide show
  1. package/changelog.md +55 -0
  2. package/components/accordion/component/index.js +1 -1
  3. package/components/accordion/component/style.css +21 -0
  4. package/components/anchor/component/style.css +12 -0
  5. package/components/button/component/style.css +10 -0
  6. package/components/dropdown/component/style.css +101 -0
  7. package/components/dropdown/components/compact/index.d.ts.map +1 -1
  8. package/components/dropdown/components/compact/index.js +3 -3
  9. package/components/dropdown/components/label/components/empty/index.js +1 -1
  10. package/components/dropdown/components/label/components/withSearch/style.css +21 -0
  11. package/components/dropdown/types.d.ts +6 -6
  12. package/components/dropdown/types.d.ts.map +1 -1
  13. package/components/file/component/styles.css +74 -0
  14. package/components/icon/component/style.css +19 -0
  15. package/components/index.d.ts +14 -2
  16. package/components/index.d.ts.map +1 -1
  17. package/components/index.js +14 -2
  18. package/components/modal/component/index.d.ts +7 -0
  19. package/components/modal/component/index.d.ts.map +1 -0
  20. package/components/modal/component/index.js +42 -0
  21. package/components/modal/component/style.css +32 -0
  22. package/components/modal/component/style.scss +42 -0
  23. package/components/modal/index.d.ts +3 -0
  24. package/components/modal/index.d.ts.map +1 -0
  25. package/components/modal/index.js +2 -0
  26. package/components/modal/types.d.ts +44 -0
  27. package/components/modal/types.d.ts.map +1 -0
  28. package/components/modal/types.js +1 -0
  29. package/components/multiselect/component/style.css +20 -0
  30. package/components/multiselect/components/withoutLabel/index.d.ts.map +1 -1
  31. package/components/multiselect/components/withoutLabel/index.js +5 -5
  32. package/components/primitives/checkbox/component/style.css +19 -0
  33. package/components/primitives/color/component/style.css +15 -0
  34. package/components/primitives/date/component/style.css +9 -0
  35. package/components/primitives/index.d.ts +4 -0
  36. package/components/primitives/index.d.ts.map +1 -1
  37. package/components/primitives/index.js +4 -0
  38. package/components/primitives/internal/hint/style.css +4 -0
  39. package/components/primitives/number/components/withLabel/index.d.ts.map +1 -1
  40. package/components/primitives/number/components/withLabel/index.js +10 -2
  41. package/components/primitives/number/components/withoutLabel/index.d.ts.map +1 -1
  42. package/components/primitives/number/components/withoutLabel/index.js +12 -4
  43. package/components/primitives/number/types.d.ts +6 -0
  44. package/components/primitives/number/types.d.ts.map +1 -1
  45. package/components/primitives/password/component/style.css +10 -0
  46. package/components/primitives/radioGroup/component/index.d.ts +7 -0
  47. package/components/primitives/radioGroup/component/index.d.ts.map +1 -0
  48. package/components/primitives/radioGroup/component/index.js +42 -0
  49. package/components/primitives/radioGroup/component/style.css +382 -0
  50. package/components/primitives/radioGroup/component/style.scss +271 -0
  51. package/components/primitives/radioGroup/index.d.ts +3 -0
  52. package/components/primitives/radioGroup/index.d.ts.map +1 -0
  53. package/components/primitives/radioGroup/index.js +2 -0
  54. package/components/primitives/radioGroup/types.d.ts +61 -0
  55. package/components/primitives/radioGroup/types.d.ts.map +1 -0
  56. package/components/primitives/radioGroup/types.js +1 -0
  57. package/components/primitives/slider/component/index.d.ts +7 -0
  58. package/components/primitives/slider/component/index.d.ts.map +1 -0
  59. package/components/primitives/slider/component/index.js +47 -0
  60. package/components/primitives/slider/component/style.css +438 -0
  61. package/components/primitives/slider/component/style.scss +321 -0
  62. package/components/primitives/slider/index.d.ts +3 -0
  63. package/components/primitives/slider/index.d.ts.map +1 -0
  64. package/components/primitives/slider/index.js +2 -0
  65. package/components/primitives/slider/types.d.ts +51 -0
  66. package/components/primitives/slider/types.d.ts.map +1 -0
  67. package/components/primitives/slider/types.js +1 -0
  68. package/components/primitives/switch/component/index.d.ts +7 -0
  69. package/components/primitives/switch/component/index.d.ts.map +1 -0
  70. package/components/primitives/switch/component/index.js +39 -0
  71. package/components/primitives/switch/component/style.css +482 -0
  72. package/components/primitives/switch/component/style.scss +216 -0
  73. package/components/primitives/switch/index.d.ts +3 -0
  74. package/components/primitives/switch/index.d.ts.map +1 -0
  75. package/components/primitives/switch/index.js +2 -0
  76. package/components/primitives/switch/types.d.ts +23 -0
  77. package/components/primitives/switch/types.d.ts.map +1 -0
  78. package/components/primitives/switch/types.js +1 -0
  79. package/components/primitives/timePicker/component/index.d.ts +8 -0
  80. package/components/primitives/timePicker/component/index.d.ts.map +1 -0
  81. package/components/primitives/timePicker/component/index.js +65 -0
  82. package/components/primitives/timePicker/component/style.css +21 -0
  83. package/components/primitives/timePicker/component/style.scss +26 -0
  84. package/components/primitives/timePicker/index.d.ts +3 -0
  85. package/components/primitives/timePicker/index.d.ts.map +1 -0
  86. package/components/primitives/timePicker/index.js +2 -0
  87. package/components/primitives/timePicker/types.d.ts +33 -0
  88. package/components/primitives/timePicker/types.d.ts.map +1 -0
  89. package/components/primitives/timePicker/types.js +1 -0
  90. package/components/progress/component/style.css +167 -0
  91. package/components/search/component/index.d.ts.map +1 -1
  92. package/components/search/component/index.js +9 -3
  93. package/components/search/component/style.css +18 -0
  94. package/components/search/types.d.ts +5 -0
  95. package/components/search/types.d.ts.map +1 -1
  96. package/components/stepper/component/index.d.ts +7 -0
  97. package/components/stepper/component/index.d.ts.map +1 -0
  98. package/components/stepper/component/index.js +56 -0
  99. package/components/stepper/component/style.css +510 -0
  100. package/components/stepper/component/style.scss +432 -0
  101. package/components/stepper/index.d.ts +3 -0
  102. package/components/stepper/index.d.ts.map +1 -0
  103. package/components/stepper/index.js +2 -0
  104. package/components/stepper/types.d.ts +65 -0
  105. package/components/stepper/types.d.ts.map +1 -0
  106. package/components/stepper/types.js +1 -0
  107. package/components/table/component/style.css +14 -0
  108. package/components/tabs/component/style.css +6 -0
  109. package/components/tag/component/style.css +19 -0
  110. package/components/timeline/component/index.d.ts +7 -0
  111. package/components/timeline/component/index.d.ts.map +1 -0
  112. package/components/timeline/component/index.js +36 -0
  113. package/components/timeline/component/style.css +488 -0
  114. package/components/timeline/component/style.scss +397 -0
  115. package/components/timeline/index.d.ts +3 -0
  116. package/components/timeline/index.d.ts.map +1 -0
  117. package/components/timeline/index.js +2 -0
  118. package/components/timeline/types.d.ts +55 -0
  119. package/components/timeline/types.d.ts.map +1 -0
  120. package/components/timeline/types.js +1 -0
  121. package/components/tooltip/component/index.d.ts +6 -0
  122. package/components/tooltip/component/index.d.ts.map +1 -0
  123. package/components/tooltip/component/index.js +80 -0
  124. package/components/tooltip/index.d.ts +3 -0
  125. package/components/tooltip/index.d.ts.map +1 -0
  126. package/components/tooltip/index.js +2 -0
  127. package/components/tooltip/types.d.ts +31 -0
  128. package/components/tooltip/types.d.ts.map +1 -0
  129. package/components/tooltip/types.js +1 -0
  130. package/package.json +10 -3
  131. package/readme.md +18 -3
  132. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,432 @@
1
+ @import "bulma/sass/utilities/derived-variables";
2
+
3
+ $stepper-marker-size: 2.5rem !default;
4
+ $stepper-marker-size-small: 2rem !default;
5
+ $stepper-marker-size-medium: 3rem !default;
6
+ $stepper-marker-size-large: 3.5rem !default;
7
+
8
+ $stepper-connector-thickness: 2px !default;
9
+ $stepper-connector-color: $grey-lighter !default;
10
+ $stepper-connector-completed-color: $primary !default;
11
+
12
+ $stepper-marker-bg: $white !default;
13
+ $stepper-marker-border: 2px solid $grey-lighter !default;
14
+ $stepper-marker-color: $grey !default;
15
+
16
+ $stepper-marker-completed-bg: $primary !default;
17
+ $stepper-marker-completed-border: 2px solid $primary !default;
18
+ $stepper-marker-completed-color: $white !default;
19
+
20
+ $stepper-marker-current-bg: $white !default;
21
+ $stepper-marker-current-border: 2px solid $primary !default;
22
+ $stepper-marker-current-color: $primary !default;
23
+
24
+ $stepper-title-color: $grey-dark !default;
25
+ $stepper-title-completed-color: $grey-dark !default;
26
+ $stepper-title-current-color: $grey-darker !default;
27
+ $stepper-title-upcoming-color: $grey !default;
28
+
29
+ $stepper-description-color: $grey !default;
30
+
31
+ // Animation
32
+ @keyframes stepper-connector-fill {
33
+ from {
34
+ width: 0;
35
+ }
36
+ to {
37
+ width: 100%;
38
+ }
39
+ }
40
+
41
+ .bbr-stepper {
42
+ display: flex;
43
+ flex-direction: row;
44
+ align-items: flex-start;
45
+ width: 100%;
46
+
47
+ // Vertical mode
48
+ &.is-vertical {
49
+ flex-direction: column;
50
+
51
+ .bbr-stepper-step {
52
+ flex-direction: row;
53
+ align-items: flex-start;
54
+ width: 100%;
55
+ padding-bottom: 1.5rem;
56
+
57
+ &:last-child {
58
+ padding-bottom: 0;
59
+ }
60
+ }
61
+
62
+ .bbr-stepper-content {
63
+ margin-top: 0;
64
+ margin-left: 1rem;
65
+ text-align: left;
66
+ }
67
+
68
+ .bbr-stepper-connector {
69
+ position: absolute;
70
+ left: calc($stepper-marker-size / 2 - $stepper-connector-thickness / 2);
71
+ top: $stepper-marker-size;
72
+ width: $stepper-connector-thickness;
73
+ height: calc(100% - $stepper-marker-size + 0.5rem);
74
+ right: auto;
75
+
76
+ &.has-arrow {
77
+ height: calc(100% - $stepper-marker-size);
78
+
79
+ &::after {
80
+ right: auto;
81
+ left: 50%;
82
+ top: auto;
83
+ bottom: -6px;
84
+ transform: translateX(-50%);
85
+ border-top: 6px solid $stepper-connector-color;
86
+ border-bottom: none;
87
+ border-left: 5px solid transparent;
88
+ border-right: 5px solid transparent;
89
+ }
90
+
91
+ &.is-completed::after {
92
+ border-top-color: $stepper-connector-completed-color;
93
+ border-left-color: transparent;
94
+ }
95
+ }
96
+ }
97
+
98
+ &.is-small .bbr-stepper-connector {
99
+ left: calc($stepper-marker-size-small / 2 - $stepper-connector-thickness / 2);
100
+ top: $stepper-marker-size-small;
101
+ height: calc(100% - $stepper-marker-size-small + 0.5rem);
102
+ }
103
+
104
+ &.is-medium .bbr-stepper-connector {
105
+ left: calc($stepper-marker-size-medium / 2 - $stepper-connector-thickness / 2);
106
+ top: $stepper-marker-size-medium;
107
+ height: calc(100% - $stepper-marker-size-medium + 0.5rem);
108
+ }
109
+
110
+ &.is-large .bbr-stepper-connector {
111
+ left: calc($stepper-marker-size-large / 2 - $stepper-connector-thickness / 2);
112
+ top: $stepper-marker-size-large;
113
+ height: calc(100% - $stepper-marker-size-large + 0.5rem);
114
+ }
115
+ }
116
+
117
+ // Step item
118
+ .bbr-stepper-step {
119
+ position: relative;
120
+ display: flex;
121
+ flex-direction: column;
122
+ align-items: center;
123
+ flex: 1;
124
+ padding: 0 0.5rem;
125
+
126
+ &:first-child {
127
+ padding-left: 0;
128
+ }
129
+
130
+ &:last-child {
131
+ padding-right: 0;
132
+ }
133
+
134
+ // Clickable step
135
+ &.is-clickable {
136
+ cursor: pointer;
137
+
138
+ .bbr-stepper-marker {
139
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
140
+ }
141
+
142
+ &:hover .bbr-stepper-marker {
143
+ transform: scale(1.1);
144
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
145
+ }
146
+ }
147
+
148
+ // Completed step
149
+ &.is-completed {
150
+ .bbr-stepper-marker {
151
+ background: $stepper-marker-completed-bg;
152
+ border: $stepper-marker-completed-border;
153
+ color: $stepper-marker-completed-color;
154
+ }
155
+
156
+ .bbr-stepper-title {
157
+ color: $stepper-title-completed-color;
158
+ font-weight: 500;
159
+ }
160
+ }
161
+
162
+ // Current step
163
+ &.is-current {
164
+ .bbr-stepper-marker {
165
+ background: $stepper-marker-current-bg;
166
+ border: $stepper-marker-current-border;
167
+ color: $stepper-marker-current-color;
168
+ box-shadow: 0 0 0 4px rgba($primary, 0.2);
169
+ }
170
+
171
+ .bbr-stepper-title {
172
+ color: $stepper-title-current-color;
173
+ font-weight: 600;
174
+ }
175
+ }
176
+
177
+ // Upcoming step
178
+ &.is-upcoming {
179
+ .bbr-stepper-marker {
180
+ background: $stepper-marker-bg;
181
+ border: $stepper-marker-border;
182
+ color: $stepper-marker-color;
183
+ }
184
+
185
+ .bbr-stepper-title {
186
+ color: $stepper-title-upcoming-color;
187
+ }
188
+ }
189
+ }
190
+
191
+ // Marker (circle with number or icon)
192
+ .bbr-stepper-marker {
193
+ display: flex;
194
+ align-items: center;
195
+ justify-content: center;
196
+ width: $stepper-marker-size;
197
+ height: $stepper-marker-size;
198
+ border-radius: 50%;
199
+ font-weight: 600;
200
+ font-size: 1rem;
201
+ transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
202
+ z-index: 1;
203
+ flex-shrink: 0;
204
+ }
205
+
206
+ .bbr-stepper-number,
207
+ .bbr-stepper-icon {
208
+ display: flex;
209
+ align-items: center;
210
+ justify-content: center;
211
+ }
212
+
213
+ // Content (title + description)
214
+ .bbr-stepper-content {
215
+ margin-top: 0.75rem;
216
+ text-align: center;
217
+ }
218
+
219
+ .bbr-stepper-title {
220
+ font-size: 0.875rem;
221
+ line-height: 1.25;
222
+ transition: color 0.2s ease;
223
+ }
224
+
225
+ .bbr-stepper-description {
226
+ margin-top: 0.25rem;
227
+ font-size: 0.75rem;
228
+ color: $stepper-description-color;
229
+ line-height: 1.25;
230
+ }
231
+
232
+ // Connector line
233
+ .bbr-stepper-connector {
234
+ position: absolute;
235
+ top: calc($stepper-marker-size / 2 - $stepper-connector-thickness / 2);
236
+ left: calc(50% + $stepper-marker-size / 2 + 0.25rem);
237
+ right: calc(-50% + $stepper-marker-size / 2 + 0.25rem);
238
+ height: $stepper-connector-thickness;
239
+ background: $stepper-connector-color;
240
+ z-index: 0;
241
+
242
+ &.is-completed {
243
+ background: $stepper-connector-completed-color;
244
+ }
245
+
246
+ &.is-hidden {
247
+ display: none;
248
+ }
249
+
250
+ // Arrow connector (line with arrowhead via ::before)
251
+ &.has-arrow::before {
252
+ content: "";
253
+ position: absolute;
254
+ right: -6px;
255
+ top: 50%;
256
+ transform: translateY(-50%);
257
+ width: 0;
258
+ height: 0;
259
+ border-top: 5px solid transparent;
260
+ border-bottom: 5px solid transparent;
261
+ border-left: 6px solid $stepper-connector-color;
262
+ z-index: 2;
263
+ }
264
+
265
+ &.has-arrow.is-completed::before {
266
+ border-left-color: $stepper-connector-completed-color;
267
+ }
268
+ }
269
+
270
+ // Vertical mode arrow
271
+ &.is-vertical .bbr-stepper-connector.has-arrow::before {
272
+ right: auto;
273
+ top: auto;
274
+ left: 50%;
275
+ bottom: -6px;
276
+ transform: translateX(-50%);
277
+ border-left: 5px solid transparent;
278
+ border-right: 5px solid transparent;
279
+ border-top: 6px solid $stepper-connector-color;
280
+ border-bottom: none;
281
+ }
282
+
283
+ &.is-vertical .bbr-stepper-connector.has-arrow.is-completed::before {
284
+ border-top-color: $stepper-connector-completed-color;
285
+ border-left-color: transparent;
286
+ }
287
+
288
+ // Animated connectors
289
+ &.is-animated {
290
+ .bbr-stepper-connector.is-completed {
291
+ position: relative;
292
+ background: $stepper-connector-color;
293
+
294
+ &::after {
295
+ content: "";
296
+ position: absolute;
297
+ top: 0;
298
+ left: 0;
299
+ height: 100%;
300
+ background: $stepper-connector-completed-color;
301
+ animation: stepper-connector-fill 0.5s ease forwards;
302
+ }
303
+ }
304
+
305
+ &.is-vertical .bbr-stepper-connector.is-completed::after {
306
+ width: 100%;
307
+ height: 0;
308
+ animation: none;
309
+
310
+ @keyframes stepper-connector-fill-vertical {
311
+ from {
312
+ height: 0;
313
+ }
314
+ to {
315
+ height: 100%;
316
+ }
317
+ }
318
+
319
+ animation: stepper-connector-fill-vertical 0.5s ease forwards;
320
+ }
321
+ }
322
+
323
+ // Size variations
324
+ &.is-small {
325
+ .bbr-stepper-marker {
326
+ width: $stepper-marker-size-small;
327
+ height: $stepper-marker-size-small;
328
+ font-size: 0.875rem;
329
+ }
330
+
331
+ .bbr-stepper-title {
332
+ font-size: 0.75rem;
333
+ }
334
+
335
+ .bbr-stepper-description {
336
+ font-size: 0.625rem;
337
+ }
338
+
339
+ .bbr-stepper-connector {
340
+ top: calc($stepper-marker-size-small / 2 - $stepper-connector-thickness / 2);
341
+ left: calc(50% + $stepper-marker-size-small / 2 + 0.25rem);
342
+ right: calc(-50% + $stepper-marker-size-small / 2 + 0.25rem);
343
+ }
344
+ }
345
+
346
+ &.is-medium {
347
+ .bbr-stepper-marker {
348
+ width: $stepper-marker-size-medium;
349
+ height: $stepper-marker-size-medium;
350
+ font-size: 1.25rem;
351
+ }
352
+
353
+ .bbr-stepper-title {
354
+ font-size: 1rem;
355
+ }
356
+
357
+ .bbr-stepper-description {
358
+ font-size: 0.875rem;
359
+ }
360
+
361
+ .bbr-stepper-connector {
362
+ top: calc($stepper-marker-size-medium / 2 - $stepper-connector-thickness / 2);
363
+ left: calc(50% + $stepper-marker-size-medium / 2 + 0.25rem);
364
+ right: calc(-50% + $stepper-marker-size-medium / 2 + 0.25rem);
365
+ }
366
+ }
367
+
368
+ &.is-large {
369
+ .bbr-stepper-marker {
370
+ width: $stepper-marker-size-large;
371
+ height: $stepper-marker-size-large;
372
+ font-size: 1.5rem;
373
+ }
374
+
375
+ .bbr-stepper-title {
376
+ font-size: 1.125rem;
377
+ }
378
+
379
+ .bbr-stepper-description {
380
+ font-size: 1rem;
381
+ }
382
+
383
+ .bbr-stepper-connector {
384
+ top: calc($stepper-marker-size-large / 2 - $stepper-connector-thickness / 2);
385
+ left: calc(50% + $stepper-marker-size-large / 2 + 0.25rem);
386
+ right: calc(-50% + $stepper-marker-size-large / 2 + 0.25rem);
387
+ }
388
+ }
389
+
390
+ // Color variations
391
+ @each $name, $pair in $colors {
392
+ $color: nth($pair, 1);
393
+ $color-invert: nth($pair, 2);
394
+
395
+ &.is-#{$name} {
396
+ .bbr-stepper-step.is-completed {
397
+ .bbr-stepper-marker {
398
+ background: $color;
399
+ border-color: $color;
400
+ color: $color-invert;
401
+ }
402
+ }
403
+
404
+ .bbr-stepper-step.is-current {
405
+ .bbr-stepper-marker {
406
+ border-color: $color;
407
+ color: $color;
408
+ box-shadow: 0 0 0 4px rgba($color, 0.2);
409
+ }
410
+ }
411
+
412
+ .bbr-stepper-connector.is-completed {
413
+ background: $color;
414
+ }
415
+
416
+ // Arrow color for horizontal
417
+ .bbr-stepper-connector.has-arrow.is-completed::before {
418
+ border-left-color: $color;
419
+ }
420
+
421
+ &.is-animated .bbr-stepper-connector.is-completed::after {
422
+ background: $color;
423
+ }
424
+
425
+ // Arrow color for vertical
426
+ &.is-vertical .bbr-stepper-connector.has-arrow.is-completed::before {
427
+ border-top-color: $color;
428
+ border-left-color: transparent;
429
+ }
430
+ }
431
+ }
432
+ }
@@ -0,0 +1,3 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/stepper/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { default } from "./component";
2
+ export * from "./types";
@@ -0,0 +1,65 @@
1
+ import { BaseElementProps, ElementColor, ElementSize } from "../../types";
2
+ /** Single step item */
3
+ export interface StepItem {
4
+ /** Unique step identifier */
5
+ id: string;
6
+ /** Step title/label */
7
+ title: string;
8
+ /** Optional step description */
9
+ description?: string;
10
+ /** Optional icon class (e.g., "fa-check", "fa-user") */
11
+ icon?: string;
12
+ /** Is step clickable (can navigate to this step) */
13
+ clickable?: boolean;
14
+ }
15
+ /** Step status */
16
+ export type StepStatus = "completed" | "current" | "upcoming";
17
+ /** Stepper component props */
18
+ export type StepperProps = BaseElementProps & {
19
+ /** Array of steps to display */
20
+ steps: Array<StepItem>;
21
+ /** Currently active step id */
22
+ currentStep: string;
23
+ /** Component size */
24
+ size?: ElementSize;
25
+ /** Component color for completed/active steps */
26
+ color?: ElementColor;
27
+ /**
28
+ * Display stepper vertically.
29
+ * @default false
30
+ */
31
+ vertical?: boolean;
32
+ /**
33
+ * Show step numbers instead of icons.
34
+ * @default true
35
+ */
36
+ showNumbers?: boolean;
37
+ /**
38
+ * Allow clicking on completed steps to navigate back.
39
+ * @default false
40
+ */
41
+ clickable?: boolean;
42
+ /**
43
+ * Show connector lines between steps.
44
+ * @default true
45
+ */
46
+ showConnectors?: boolean;
47
+ /**
48
+ * Use animated connectors for completed steps.
49
+ * @default false
50
+ */
51
+ animated?: boolean;
52
+ /**
53
+ * Show arrow connectors (line with arrowhead) between steps.
54
+ * When enabled, replaces regular connectors with arrow-style connectors.
55
+ * @default false
56
+ */
57
+ showArrows?: boolean;
58
+ /**
59
+ * Handler when a step is clicked (only works with clickable=true).
60
+ * @param step The clicked step
61
+ * @param index Step index
62
+ */
63
+ onStepClick?: (step: StepItem, index: number) => void;
64
+ };
65
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/stepper/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzE,uBAAuB;AACvB,MAAM,WAAW,QAAQ;IACrB,6BAA6B;IAC7B,EAAE,EAAE,MAAM,CAAC;IAEX,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,oDAAoD;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,kBAAkB;AAClB,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9D,8BAA8B;AAC9B,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG;IAC1C,gCAAgC;IAChC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEvB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB;IACrB,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,iDAAiD;IACjD,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ table.bbr-table.has-sticky-header thead th {
2
+ position: sticky;
3
+ top: 0.125rem;
4
+ z-index: 1;
5
+ }
6
+ table.bbr-table.has-shadow-bordered-header thead th {
7
+ box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.25);
8
+ }
9
+ table.bbr-table.has-borderless-header thead th {
10
+ border: none !important;
11
+ }
12
+ table.bbr-table.has-borderless-header tbody tr:nth-child(1) td {
13
+ border-top: none !important;
14
+ }
@@ -0,0 +1,6 @@
1
+ .bbr-tabs__tab .bbr-icon:first-child {
2
+ margin-right: 0.5rem;
3
+ }
4
+ .bbr-tabs__tab .bbr-icon:last-child {
5
+ margin-left: 0.5rem;
6
+ }
@@ -0,0 +1,19 @@
1
+ .bbr-tag {
2
+ border: 1px solid transparent;
3
+ transition: border-color 0.15s ease-in-out;
4
+ }
5
+ .bbr-tag.is-clickable {
6
+ cursor: pointer;
7
+ }
8
+ .bbr-tag.is-clickable.is-light:hover {
9
+ border-color: rgba(0, 0, 0, 0.25);
10
+ }
11
+ .bbr-tag.is-clickable.is-light:focus, .bbr-tag.is-clickable.is-light:active {
12
+ border-color: rgba(0, 0, 0, 0.5);
13
+ }
14
+ .bbr-tag.is-clickable:not(.is-light):hover {
15
+ border-color: rgba(0, 0, 0, 0.35);
16
+ }
17
+ .bbr-tag.is-clickable:not(.is-light):focus, .bbr-tag.is-clickable:not(.is-light):active {
18
+ border-color: rgba(0, 0, 0, 0.75);
19
+ }
@@ -0,0 +1,7 @@
1
+ import { FC } from "react";
2
+ import "./style.scss";
3
+ import { TimelineProps } from "../types";
4
+ /** Timeline component for displaying chronological events */
5
+ declare const Timeline: FC<TimelineProps>;
6
+ export default Timeline;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/timeline/component/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAW,MAAM,OAAO,CAAC;AAOpC,OAAO,cAAc,CAAC;AAEtB,OAAO,EAAgB,aAAa,EAAE,MAAM,UAAU,CAAC;AAYvD,6DAA6D;AAC7D,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAsG/B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { getClassName } from "@bodynarf/utils";
4
+ import { ElementColor, ElementSize } from "../../../types";
5
+ import { getElementColorClassName, getSizeClassName, mapDataAttributes } from "../../../utils";
6
+ import "./style.scss";
7
+ /** Get color class for timeline item */
8
+ const getItemColorClass = (item, defaultColor) => {
9
+ const color = item.color ?? defaultColor;
10
+ return getElementColorClassName(color);
11
+ };
12
+ /** Timeline component for displaying chronological events */
13
+ const Timeline = ({ items, size = ElementSize.Normal, color = ElementColor.Primary, leftAligned = true, showConnectors = true, animated = false, showTimestampsSeparate = false, hollow = false, className, title, data, }) => {
14
+ const containerClassName = useMemo(() => getClassName([
15
+ "bbr-timeline",
16
+ className,
17
+ getSizeClassName(size, ElementSize.Normal),
18
+ getElementColorClassName(color),
19
+ leftAligned ? "is-left-aligned" : "is-centered",
20
+ showConnectors ? "has-connectors" : "",
21
+ animated ? "is-animated" : "",
22
+ showTimestampsSeparate && !leftAligned ? "has-separate-timestamps" : "",
23
+ hollow ? "is-hollow" : "",
24
+ ]), [className, size, color, leftAligned, showConnectors, animated, showTimestampsSeparate, hollow]);
25
+ const dataAttributes = mapDataAttributes(data);
26
+ return (_jsx("div", { title: title, ...dataAttributes, className: containerClassName, children: items.map((item, index) => {
27
+ const itemColorClass = getItemColorClass(item, color);
28
+ const itemClassName = getClassName([
29
+ "bbr-timeline-item",
30
+ itemColorClass,
31
+ animated ? `is-animated-${index % 2 === 0 ? "left" : "right"}` : "",
32
+ ]);
33
+ return (_jsxs("div", { className: itemClassName, children: [showTimestampsSeparate === true && leftAligned === false && item.timestamp !== undefined && (_jsx("div", { className: "bbr-timeline-timestamp is-left", children: item.timestamp })), _jsx("div", { className: "bbr-timeline-marker", children: item.icon !== undefined ? (_jsx("span", { className: "bbr-timeline-icon", children: _jsx("i", { className: `fas ${item.icon}` }) })) : item.marker !== undefined ? (_jsx("span", { className: "bbr-timeline-marker-content", children: item.marker })) : null }), _jsxs("div", { className: "bbr-timeline-content", children: [item.timestamp !== undefined && showTimestampsSeparate === false && (_jsx("div", { className: "bbr-timeline-timestamp", children: item.timestamp })), _jsx("div", { className: "bbr-timeline-title", children: item.title }), item.content !== undefined && item.content !== "" && (_jsx("div", { className: "bbr-timeline-text", children: item.content }))] }), showTimestampsSeparate === true && leftAligned === false && item.timestamp !== undefined && (_jsx("div", { className: "bbr-timeline-timestamp is-right", children: item.timestamp })), showConnectors === true && index < items.length - 1 && (_jsx("div", { className: "bbr-timeline-connector" }))] }, item.id));
34
+ }) }));
35
+ };
36
+ export default Timeline;