@olenbetong/synergi-react 1.0.6 → 2.0.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 (58) hide show
  1. package/dist/esm/ob.react.css +216 -146
  2. package/dist/esm/ob.react.js +201 -102
  3. package/dist/esm/ob.react.min.css +1 -1
  4. package/dist/esm/ob.react.min.css.map +3 -3
  5. package/dist/esm/ob.react.min.js +1 -1
  6. package/dist/esm/ob.react.min.js.map +4 -4
  7. package/dist/iife/ob.react.css +216 -146
  8. package/dist/iife/ob.react.js +201 -102
  9. package/dist/iife/ob.react.min.css +1 -1
  10. package/dist/iife/ob.react.min.css.map +3 -3
  11. package/dist/iife/ob.react.min.js +1 -1
  12. package/dist/iife/ob.react.min.js.map +4 -4
  13. package/dist/styles/styles.css +1 -1
  14. package/dist/styles/styles.css.map +1 -1
  15. package/es/Checkbox/index.css +1 -1
  16. package/es/Checkbox/index.d.ts +11 -0
  17. package/es/Checkbox/index.js +7 -5
  18. package/es/ColorCard/index.d.ts +5 -2
  19. package/es/ColorCard/index.js +6 -0
  20. package/es/DateNavigator/index.css +1 -1
  21. package/es/DateNavigator/index.d.ts +3 -1
  22. package/es/DateNavigator/index.js +82 -28
  23. package/es/LinkedCardList/index.css +1 -1
  24. package/es/LinkedCardList/index.d.ts +2 -2
  25. package/es/LinkedCardList/index.js +2 -2
  26. package/es/ProgressBar/index.css +1 -1
  27. package/es/SplitContainer/index.d.ts +3 -1
  28. package/es/SplitContainer/index.js +45 -14
  29. package/es/ValueToggleGroup/index.d.ts +18 -0
  30. package/es/ValueToggleGroup/index.js +12 -0
  31. package/es/index.css +1 -1
  32. package/es/index.d.ts +8 -8
  33. package/es/index.js +3 -3
  34. package/package.json +88 -90
  35. package/src/Checkbox/index.scss +12 -5
  36. package/src/Checkbox/index.tsx +23 -6
  37. package/src/ColorCard/{index.scss → index.css} +50 -59
  38. package/src/ColorCard/index.tsx +21 -9
  39. package/src/DateNavigator/index.scss +66 -33
  40. package/src/DateNavigator/index.tsx +98 -33
  41. package/src/LinkedCardList/index.scss +8 -1
  42. package/src/LinkedCardList/index.tsx +2 -2
  43. package/src/ProgressBar/index.scss +2 -2
  44. package/src/Spinner/{index.scss → index.css} +13 -10
  45. package/src/Spinner/index.tsx +1 -1
  46. package/src/SplitContainer/index.tsx +71 -15
  47. package/src/ValueToggleGroup/index.css +79 -0
  48. package/src/ValueToggleGroup/index.tsx +52 -0
  49. package/src/index.scss +3 -2
  50. package/src/index.ts +12 -12
  51. package/LICENSE +0 -21
  52. package/es/ColorCard/index.css +0 -1
  53. package/es/Spinner/index.css +0 -1
  54. package/es/ValueToggle/index.css +0 -1
  55. package/es/ValueToggle/index.d.ts +0 -18
  56. package/es/ValueToggle/index.js +0 -38
  57. package/src/ValueToggle/index.scss +0 -50
  58. package/src/ValueToggle/index.tsx +0 -75
@@ -62,12 +62,17 @@
62
62
  .ObCheckbox-input:focus {
63
63
  outline: none;
64
64
  }
65
- .check_Label {
66
- margin-bottom: 0;
67
- flex-grow: 1;
65
+ .ObCheckbox-label {
66
+ display: flex;
67
+ gap: 0.5rem;
68
+ align-items: center;
69
+ overflow: visible;
68
70
  }
69
- .ObCheckbox-input:checked:not(:disabled) + .ObCheckbox-label {
70
- animation: animOn 800ms 1 forwards;
71
+ .ObCheckbox-root.Ob-reverse .ObCheckbox-label {
72
+ flex-direction: row-reverse;
73
+ }
74
+ .ObCheckbox-input:checked:not(:disabled) + .ObCheckbox-label .ObCheckbox-box {
75
+ animation: animOn 600ms 1 forwards;
71
76
  }
72
77
  .ObCheckbox-input:checked:not(:disabled) + .ObCheckbox-label .ObCheckbox-box {
73
78
  background: var(--bg-color-selected);
@@ -98,20 +103,19 @@
98
103
  }
99
104
  }
100
105
 
101
- /* src/ColorCard/index.scss */
106
+ /* src/ColorCard/index.css */
102
107
  .ObColorCard-root {
103
108
  --bg-color-border: black;
104
109
  --bg-color-main: white;
105
110
  --bg-size: 0.75rem;
106
111
  --card-color: rgb(0, 0, 0);
112
+ display: flex;
107
113
  align-items: stretch;
108
- background-image:
109
- linear-gradient(
110
- to right,
111
- hsl(186, 72%, 24%),
112
- hsl(186, 72%, 24%) 0.75rem,
113
- white 0.75rem,
114
- white);
114
+ min-height: 10rem;
115
+ overflow: hidden;
116
+ border-radius: 0.25rem;
117
+ box-shadow: 0 1px 12px rgba(0, 0, 0, 0.15), 0 1px 6px rgba(0, 0, 0, 0.25);
118
+ color: #666;
115
119
  background-image:
116
120
  linear-gradient(
117
121
  to right,
@@ -119,11 +123,6 @@
119
123
  var(--bg-color-border) var(--bg-size),
120
124
  var(--bg-color-main) var(--bg-size),
121
125
  var(--bg-color-main));
122
- border-radius: 0.25rem;
123
- box-shadow: 0 1px 12px rgba(0, 0, 0, 0.15), 0 1px 6px rgba(0, 0, 0, 0.25);
124
- color: #666;
125
- cursor: pointer;
126
- display: flex;
127
126
  font-family:
128
127
  "Variable Bahnschrift",
129
128
  "Bahnschrift",
@@ -139,34 +138,30 @@
139
138
  "Segoe UI Emoji",
140
139
  "Segoe UI Symbol";
141
140
  font-size: 1rem;
142
- min-height: 10rem;
143
- overflow: hidden;
144
141
  transition: all ease-in-out 300ms;
145
- }
146
- .ObColorCard-root:nth-of-type(5n+1) {
147
- --bg-color-border: rgb(178, 108, 190);
148
- }
149
- .ObColorCard-root:nth-of-type(5n+2) {
150
- --bg-color-border: rgb(79, 164, 61);
151
- }
152
- .ObColorCard-root:nth-of-type(5n+3) {
153
- --bg-color-border: rgb(246, 170, 23);
154
- }
155
- .ObColorCard-root:nth-of-type(5n+4) {
156
- --bg-color-border: rgb(218, 93, 83);
157
- }
158
- .ObColorCard-root:nth-of-type(5n+5) {
159
- --bg-color-border: rgb(23, 162, 184);
160
- }
161
- .ObColorCard-root:hover,
162
- .ObColorCard-root:focus {
163
- --bg-color-main: #f5f5f5;
164
- box-shadow: 0 3px 18px rgba(0, 0, 0, 0.15), 0 3px 12px rgba(0, 0, 0, 0.25);
165
- color: #666;
166
- text-decoration: none;
167
- }
168
- @media screen and (min-width: 48rem) {
169
- .ObColorCard-root {
142
+ cursor: pointer;
143
+ &:nth-of-type(5n+1) {
144
+ --bg-color-border: rgb(178, 108, 190);
145
+ }
146
+ &:nth-of-type(5n+2) {
147
+ --bg-color-border: rgb(79, 164, 61);
148
+ }
149
+ &:nth-of-type(5n+3) {
150
+ --bg-color-border: rgb(246, 170, 23);
151
+ }
152
+ &:nth-of-type(5n+4) {
153
+ --bg-color-border: rgb(218, 93, 83);
154
+ }
155
+ &:nth-of-type(5n+5) {
156
+ --bg-color-border: rgb(23, 162, 184);
157
+ }
158
+ &:hover,
159
+ &:focus {
160
+ --bg-color-main: #f5f5f5;
161
+ box-shadow: 0 3px 18px rgba(0, 0, 0, 0.15), 0 3px 12px rgba(0, 0, 0, 0.25);
162
+ text-decoration: none;
163
+ }
164
+ @media screen and (min-width: 48rem) {
170
165
  font-size: 1.2rem;
171
166
  }
172
167
  }
@@ -176,78 +171,78 @@
176
171
  flex-direction: column;
177
172
  justify-content: space-between;
178
173
  margin: 1rem 0;
179
- overflow: hidden;
180
174
  padding: 0.5rem 1.5rem 0.5rem 1rem;
175
+ overflow: hidden;
181
176
  text-overflow: ellipsis;
182
- }
183
- .ObColorCard-column:first-child {
184
- margin-left: 0.75rem;
185
- margin-left: var(--bg-size);
186
- }
187
- .ObColorCard-column.ObColorCard-minor {
188
- border-right: 1px solid #e3e3e3;
189
- flex: 0 0 4rem;
190
- transition: margin ease-in-out 300ms;
191
- }
192
- @media screen and (min-width: 48rem) {
193
- .ObColorCard-column.ObColorCard-minor {
194
- flex: 0 0 8rem;
177
+ &:first-child {
178
+ margin-left: var(--bg-size, 0.75rem);
179
+ }
180
+ &.ObColorCard-minor {
181
+ flex: 0 0 4rem;
182
+ border-right: 1px solid #e3e3e3;
183
+ transition: margin ease-in-out 300ms;
184
+ @media screen and (min-width: 48rem) {
185
+ flex: 0 0 8rem;
186
+ }
195
187
  }
196
188
  }
197
189
  .ObColorCard-detailLabel {
198
- color: #ccc;
190
+ color: #696969;
199
191
  font-size: 0.8rem;
200
192
  text-transform: uppercase;
201
193
  }
202
- .ObColorCard-detail:not(:last-child) {
203
- margin-right: 1.5rem;
204
- }
205
- .ObColorCard-detail.ObColorCard-primary,
206
- .ObColorCard-detail.ObColorCard-primary .ObColorCard-detailValue {
207
- font-size: 1.25rem;
208
- font-weight: 300;
209
- }
210
- .ObColorCard-detail.ObColorCard-primary .ObColorCard-detailValue {
211
- color: unset;
212
- }
213
- @media screen and (min-width: 48rem) {
214
- .ObColorCard-detail {
194
+ .ObColorCard-detail {
195
+ &:not(:last-child) {
196
+ margin-right: 1.5rem;
197
+ }
198
+ &.ObColorCard-primary,
199
+ &.ObColorCard-primary .ObColorCard-detailValue {
200
+ font-size: 1.25rem;
201
+ font-weight: 300;
202
+ }
203
+ &.ObColorCard-primary .ObColorCard-detailValue {
204
+ color: unset;
205
+ }
206
+ @media screen and (min-width: 48rem) {
215
207
  font-size: 1rem;
216
208
  }
217
209
  }
218
210
  .ObColorCard-detailValue {
219
- color: #999;
211
+ color: #555555;
220
212
  }
221
- .ObColorCard-label {
222
- position: relative;
223
- padding-left: 1.5rem;
213
+ .ObColorCard-stepList {
214
+ display: flex;
215
+ flex-direction: column;
216
+ gap: 1rem;
224
217
  }
225
- .ObColorCard-label:not(:last-child) {
226
- margin-bottom: 1rem;
218
+ .ObColorCard-step {
219
+ position: relative;
220
+ text-box-trim: trim-both;
221
+ display: flex;
222
+ align-items: flex-start;
223
+ gap: 0.5rem;
227
224
  }
228
- .ObColorCard-label:not(:last-child)::after {
225
+ .ObColorCard-step::before {
226
+ flex: 0.6em 0 0;
229
227
  content: "";
230
- position: absolute;
231
- width: 0.2rem;
232
- height: calc(100% + 1rem);
233
- border-left: 0.2rem dotted #666;
234
- left: 0.25rem;
235
- top: 0.5rem;
236
- z-index: 0;
237
- }
238
- .ObColorCard-label::before {
228
+ position: relative;
229
+ top: 0.25em;
230
+ width: 0.6em;
231
+ height: 0.6em;
239
232
  background: white;
240
- border: 0.2rem solid hsl(186, 72%, 24%);
241
- border: 0.2rem solid var(--bg-color-border);
233
+ border: 2px solid var(--bg-color-border, #999);
242
234
  border-radius: 50%;
235
+ box-sizing: border-box;
236
+ z-index: 1;
237
+ }
238
+ .ObColorCard-step:not(:last-child)::after {
243
239
  content: "";
244
- display: block;
245
- height: 0.75rem;
246
- left: 0;
247
240
  position: absolute;
248
- top: 0.3rem;
249
- width: 0.75rem;
250
- z-index: 1;
241
+ top: calc(0.25em + 0.6em + 0.15em);
242
+ left: calc(0.3em - 1px);
243
+ height: calc(100% - 0.95em + 1rem + 0.0625em);
244
+ border-left: 2px dotted #999;
245
+ z-index: 0;
251
246
  }
252
247
 
253
248
  /* src/DateNavigator/index.scss */
@@ -264,6 +259,11 @@
264
259
  background-color: var(--block-header-color-bg);
265
260
  display: flex;
266
261
  font-size: 1rem;
262
+ outline: none;
263
+ }
264
+ .ObDateNavigator-root:focus-visible {
265
+ outline: 2px solid var(--brand-dark, #336699);
266
+ outline-offset: 2px;
267
267
  }
268
268
  .ObDateNavigator-arrow {
269
269
  background: none;
@@ -310,8 +310,48 @@
310
310
  height: 3rem;
311
311
  text-align: center;
312
312
  }
313
+ .ObDateNavigator-today {
314
+ background: none;
315
+ border: 0;
316
+ color: inherit;
317
+ font: inherit;
318
+ line-height: normal;
319
+ overflow: visible;
320
+ padding: 0;
321
+ -webkit-appearance: button;
322
+ -webkit-user-select: none;
323
+ -moz-user-select: none;
324
+ -ms-user-select: none;
325
+ order: 4;
326
+ padding: 0 1rem;
327
+ height: 3rem;
328
+ display: flex;
329
+ align-items: center;
330
+ justify-content: center;
331
+ font-size: 0.875rem;
332
+ color: var(--brand-dark, #336699);
333
+ text-transform: uppercase;
334
+ cursor: pointer;
335
+ text-wrap: nowrap;
336
+ border-left: 1px solid #dddddd;
337
+ }
338
+ .ObDateNavigator-today::-moz-focus-inner {
339
+ border: 0;
340
+ padding: 0;
341
+ }
342
+ .ObDateNavigator-today:hover {
343
+ background-color: var(--block-header-button-hover);
344
+ }
345
+ .ObDateNavigator-today:focus-visible {
346
+ outline: 2px solid var(--brand-dark, #336699);
347
+ outline-offset: 2px;
348
+ }
313
349
 
314
350
  /* src/LinkedCardList/index.scss */
351
+ :root {
352
+ --ob-linked-list-bullet-size: 0.7em;
353
+ --ob-linked-list-line-width: 0.2em;
354
+ }
315
355
  .ObLinkedList-root {
316
356
  list-style-type: none;
317
357
  margin-left: 0;
@@ -348,9 +388,10 @@
348
388
  position: absolute;
349
389
  left: 0;
350
390
  top: 50%;
351
- transform: translate(-0.25em, -50%);
391
+ transform: translate(calc(-1 * var(--ob-linked-list-bullet-size) / 2 + var(--ob-linked-list-line-width) / 2), -50%);
352
392
  }
353
393
  .ObLinkedList-card {
394
+ display: block;
354
395
  background: white;
355
396
  border: 1px solid;
356
397
  border-color: #e5e6e9 #dfe0e4 #d0d1d5;
@@ -509,12 +550,12 @@
509
550
  rgba(0, 0, 0, 0.2)),
510
551
  linear-gradient(
511
552
  left,
512
- var(--brand-primary, hsl(186, 72%, 24%)),
513
- var(--brand-light, hsl(186, 72%, 37%)));
553
+ var(--brand-primary),
554
+ var(--brand-light));
514
555
  background-image:
515
556
  -webkit-linear-gradient(135deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),
516
557
  -webkit-linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),
517
- -webkit-linear-gradient(left, var(--brand-primary), hsl(186, 72%, 24%), var(--brand-light, hsl(186, 72%, 37%)));
558
+ -webkit-linear-gradient(left, var(--brand-primary), var(--brand-light));
518
559
  background-size:
519
560
  35px 20px,
520
561
  100% 100%,
@@ -606,7 +647,11 @@
606
647
  visibility: visible;
607
648
  }
608
649
 
609
- /* src/Spinner/index.scss */
650
+ /* src/Spinner/index.css */
651
+ .ObSpinner-wrapper,
652
+ .ObSpinner-fullPage {
653
+ --bullet-size: 0.5em;
654
+ }
610
655
  .ObSpinner-root {
611
656
  display: inline-block;
612
657
  }
@@ -619,34 +664,34 @@
619
664
  }
620
665
  .ObSpinner-spinner {
621
666
  display: inline-block;
622
- height: 0.75em;
667
+ height: calc(var(--bullet-size) * 1.5);
623
668
  position: relative;
624
- width: 2.5em;
669
+ width: calc(var(--bullet-size) * 5);
625
670
  }
626
671
  .ObSpinner-bullet {
627
672
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
628
673
  background: #666;
629
674
  border-radius: 50%;
630
- height: 0.5em;
675
+ height: var(--bullet-size);
631
676
  position: absolute;
632
677
  top: 0.2rem;
633
- width: 0.5em;
634
- }
635
- .ObSpinner-bullet:nth-child(1) {
636
- animation: scaleAnimation 0.6s infinite ease-in-out;
637
- left: 0.25em;
638
- }
639
- .ObSpinner-bullet:nth-child(2) {
640
- animation: translateAnimation 0.6s infinite ease-in-out;
641
- left: 0.25em;
642
- }
643
- .ObSpinner-bullet:nth-child(3) {
644
- animation: translateAnimation 0.6s infinite ease-in-out;
645
- left: 1.2em;
646
- }
647
- .ObSpinner-bullet:nth-child(4) {
648
- animation: scaleAnimation 0.6s infinite ease-in-out reverse;
649
- left: 2em;
678
+ width: var(--bullet-size);
679
+ &:nth-child(1) {
680
+ animation: scaleAnimation 0.6s infinite ease-in-out;
681
+ left: calc(var(--bullet-size) * 0.5);
682
+ }
683
+ &:nth-child(2) {
684
+ animation: translateAnimation 0.6s infinite ease-in-out;
685
+ left: calc(var(--bullet-size) * 0.5);
686
+ }
687
+ &:nth-child(3) {
688
+ animation: translateAnimation 0.6s infinite ease-in-out;
689
+ left: calc(var(--bullet-size) * 2.4);
690
+ }
691
+ &:nth-child(4) {
692
+ animation: scaleAnimation 0.6s infinite ease-in-out reverse;
693
+ left: calc(var(--bullet-size) * 4);
694
+ }
650
695
  }
651
696
  @keyframes scaleAnimation {
652
697
  from {
@@ -661,7 +706,7 @@
661
706
  transform: translate(0, 0);
662
707
  }
663
708
  to {
664
- transform: translate(0.825em, 0);
709
+ transform: translate(calc(var(--bullet-size) * 1.65), 0);
665
710
  }
666
711
  }
667
712
 
@@ -701,45 +746,70 @@
701
746
  pointer-events: none;
702
747
  }
703
748
 
704
- /* src/ValueToggle/index.scss */
705
- .ObValueToggle-root {
749
+ /* src/ValueToggleGroup/index.css */
750
+ .ObValueToggleGroup {
751
+ padding: 0.25rem;
752
+ border: 2px solid rgb(0 0 0 / 0.2);
753
+ border-radius: 4px;
754
+ display: flex;
755
+ gap: 0.25rem;
756
+ flex-wrap: wrap;
757
+ &.vertical {
758
+ flex-direction: column;
759
+ align-items: center;
760
+ & .ObValueToggleOption {
761
+ width: 100%;
762
+ & .ObValueToggleLabel {
763
+ width: 100%;
764
+ text-align: center;
765
+ }
766
+ }
767
+ }
768
+ &:focus-within {
769
+ border-color: rgb(0 0 0 / 0.8);
770
+ }
771
+ }
772
+ .ObValueToggleOption {
706
773
  display: flex;
707
774
  align-items: center;
775
+ margin: 0;
776
+ position: relative;
708
777
  }
709
- .ObValueToggle-option {
710
- margin-bottom: 0;
778
+ .ObValueToggleOption input {
779
+ position: absolute;
780
+ width: 1px;
781
+ height: 1px;
782
+ padding: 0;
783
+ margin: -1px;
784
+ overflow: hidden;
785
+ clip: rect(0, 0, 0, 0);
786
+ border: 0;
711
787
  }
712
- .ObValueToggle-label {
713
- cursor: pointer;
788
+ .ObValueToggleLabel {
714
789
  font-size: 0.8em;
715
790
  margin: 0 0.2em;
716
791
  padding: 0.3em 0.5em;
717
792
  text-transform: uppercase;
793
+ transition: background 0.2s ease, color 0.2s ease;
794
+ border-radius: 4px;
718
795
  }
719
- .ObValueToggle-label:hover {
796
+ .ObValueToggleOption:hover input:not(:disabled) + .ObValueToggleLabel {
797
+ cursor: pointer;
720
798
  background: #ccc;
721
799
  }
722
- .ObValueToggle-input:checked + .ObValueToggle-label {
800
+ .ObValueToggleOption input:checked + .ObValueToggleLabel {
723
801
  --color-bg: var(--brand-dark);
724
- background-color: #666;
725
802
  background-color: var(--color-bg);
726
- cursor: default;
727
803
  color: white;
804
+ cursor: default;
728
805
  }
729
- .ObValueToggle-input:checked:focus-within + .ObValueToggle-label {
806
+ .ObValueToggleOption input:disabled + .ObValueToggleLabel {
807
+ color: rgb(0 0 0 / 0.5);
808
+ }
809
+ .ObValueToggleOption input:checked:focus-visible + .ObValueToggleLabel {
730
810
  --color-bg: var(--brand-light);
811
+ outline: 2px solid var(--brand-light);
731
812
  }
732
- .ObValueToggle-input:checked:hover + .ObValueToggle-label {
733
- background-color: #666;
813
+ .ObValueToggleOption input:checked:hover + .ObValueToggleLabel {
734
814
  background-color: var(--color-bg);
735
815
  }
736
- .ObValueToggle-input {
737
- position: absolute;
738
- width: 1px;
739
- height: 1px;
740
- padding: 0;
741
- margin: -1px;
742
- overflow: hidden;
743
- clip: rect(0, 0, 0, 0);
744
- border: 0;
745
- }