@nys-cui/cui-formpill 0.2.10 → 0.2.20

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 (41) hide show
  1. package/component-base/README.md +43 -0
  2. package/component-base/cui.jsonc +6 -0
  3. package/component-base/package.json +42 -0
  4. package/component-base/src/assets/scss/_button-menu.scss +270 -0
  5. package/component-base/src/assets/scss/_buttons.scss +200 -0
  6. package/component-base/src/assets/scss/_cui-asof.scss +86 -0
  7. package/component-base/src/assets/scss/_cui-formpill.scss +284 -0
  8. package/component-base/src/assets/scss/_cui-general.scss +19 -0
  9. package/component-base/src/assets/scss/_cui-message.scss +119 -0
  10. package/component-base/src/assets/scss/_cui-spinner.scss +27 -0
  11. package/component-base/src/assets/scss/_cui-tree.scss +136 -0
  12. package/component-base/src/assets/scss/_cui-widget.scss +128 -0
  13. package/component-base/src/assets/scss/_field-check-group.scss +296 -0
  14. package/component-base/src/assets/scss/_field-radio-group.scss +236 -0
  15. package/component-base/src/assets/scss/_fonts.scss +20 -0
  16. package/component-base/src/assets/scss/_globalNotes.scss +419 -0
  17. package/component-base/src/assets/scss/_grid.scss +489 -0
  18. package/component-base/src/assets/scss/_help.scss +46 -0
  19. package/component-base/src/assets/scss/_inputs.scss +1145 -0
  20. package/component-base/src/assets/scss/_modal.scss +56 -0
  21. package/component-base/src/assets/scss/_normalize.scss +3 -0
  22. package/component-base/src/assets/scss/_popovers.scss +119 -0
  23. package/component-base/src/assets/scss/_quick_lookup.scss +87 -0
  24. package/component-base/src/assets/scss/_sidebar-context.scss +896 -0
  25. package/component-base/src/assets/scss/_table.scss +702 -0
  26. package/component-base/src/assets/scss/_toast.scss +219 -0
  27. package/component-base/src/assets/scss/_utility.scss +64 -0
  28. package/component-base/src/assets/scss/_variables.scss +58 -0
  29. package/component-base/src/assets/scss/main.scss +451 -0
  30. package/component-base/src/assets/scss/normalize/_import-now.scss +11 -0
  31. package/component-base/src/assets/scss/normalize/_normalize-mixin.scss +570 -0
  32. package/component-base/src/assets/scss/normalize/_variables.scss +37 -0
  33. package/component-base/src/assets/scss/normalize/_vertical-rhythm.scss +63 -0
  34. package/component-base/src/assets/scss/readme.md +1 -0
  35. package/component-base/src/modules/dom.js +21 -0
  36. package/component-base/src/screens/index/cui.jsonc +3 -0
  37. package/component-base/src/screens/index/index.js +228 -0
  38. package/component-base/src/screens/index/index.tpl.html +32 -0
  39. package/component-base/src/spa.js +117 -0
  40. package/package.json +1 -1
  41. package/src/cui-formpill.js +452 -1000
@@ -0,0 +1,896 @@
1
+ // Remove the regular page footer in lue for the version that accepts the sidenav
2
+ // body #app-root .app-main-region #app-footer {
3
+ // display: none;
4
+ // }
5
+
6
+ div#app-screen-container > div[data-rc] {
7
+ height: 100%;
8
+ }
9
+
10
+ div#main-data > div[data-rc] {
11
+ height: 100%;
12
+
13
+ & > div {
14
+ height: 100%;
15
+ display: flex;
16
+ flex-direction: column;
17
+ }
18
+ }
19
+
20
+ div[data-rc="sidebar-context-lvc"],
21
+ div[data-rc="search-sidebar-context-lvc"],
22
+ div[data-rc="fileex-sidenav-lvc"] {
23
+ height: 100%;
24
+ }
25
+
26
+
27
+ #sideNavContextLayout {
28
+ display: flex;
29
+ flex-direction: column;
30
+ flex: 1;
31
+ height: 100%;
32
+
33
+ .side-nav {
34
+ background: #cfcfcf;
35
+
36
+ .side-nav-contents {
37
+ display: flex;
38
+ overflow-y: auto;
39
+ overflow-x: hidden;
40
+ flex-direction: column;
41
+
42
+ cui-tree {
43
+ width: 100%;
44
+
45
+ cui-tree-branch,
46
+ cui-tree-leaf {
47
+ min-height: 28px;
48
+
49
+ &::part(fullRow) {
50
+ min-height: 28px;
51
+ }
52
+
53
+ &:not(.currentScr)::part(infoRow):hover {
54
+ background: #e4ebef;
55
+ border-radius: 5px;
56
+ }
57
+
58
+ &.currentScr {
59
+ &::part(infoRow) {
60
+ background: #397dbb;
61
+ border-radius: 5px;
62
+ }
63
+
64
+
65
+ a {
66
+ color: #ffffff;
67
+ }
68
+
69
+ button {
70
+ color: #ffffff;
71
+ }
72
+
73
+ cui-icon svg path {
74
+ stroke: #ffffff;
75
+ }
76
+ }
77
+
78
+ }
79
+
80
+ cui-tree-leaf {
81
+ padding-left: 0.5em;
82
+
83
+ cui-link {
84
+ align-items: center;
85
+ display: flex;
86
+ margin-left: 0.75em;
87
+ min-height: 28px;
88
+
89
+ a {
90
+ color: #222;
91
+ display: inline-block;
92
+ text-decoration: none;
93
+ padding: 0 .25em 0 1em;
94
+ text-indent: -1em;
95
+ word-break: break-word;
96
+
97
+ &:hover {
98
+ text-decoration: underline;
99
+ }
100
+
101
+ }
102
+
103
+ &.create-new {
104
+ a {
105
+ font-style: italic;
106
+ }
107
+ }
108
+ }
109
+
110
+ &.back-link {
111
+ button {
112
+ padding-left: 30px;
113
+
114
+ &::before {
115
+ content: " ";
116
+ position: absolute;
117
+ border-right: 5px solid black;
118
+ border-top: 5px solid transparent;
119
+ border-bottom: 5px solid transparent;
120
+ margin-left: -12px;
121
+ margin-top: 2px;
122
+ }
123
+ }
124
+ }
125
+
126
+ &.fake-link {
127
+ button {
128
+ &:hover {
129
+ text-decoration: underline;
130
+ }
131
+ }
132
+ }
133
+
134
+ cui-button-menu {
135
+ align-items: center;
136
+ display: flex;
137
+ min-height: 28px;
138
+ margin-left: -5px;
139
+
140
+ button {
141
+ background: transparent;
142
+ border: 0;
143
+ margin-bottom: 0;
144
+ padding: 5px;
145
+
146
+ &:hover {
147
+ background: #efefef;
148
+ }
149
+
150
+ cui-icon {
151
+ margin: 0 !important;
152
+
153
+ svg {
154
+ circle {
155
+ fill: #787878;
156
+ }
157
+ }
158
+
159
+ &:hover {
160
+ svg {
161
+ circle {
162
+ fill: #333;
163
+ }
164
+ }
165
+ }
166
+ }
167
+ }
168
+
169
+ }
170
+
171
+ cui-button {
172
+ button {
173
+ background: none;
174
+ border: none;
175
+ margin-bottom: 0px;
176
+ text-align: left;
177
+ padding: 0 20px;
178
+ text-indent: -15px;
179
+ word-break: break-word;
180
+ }
181
+ }
182
+
183
+ &[divider] {
184
+ border-bottom: 1px solid #CCC;
185
+ padding-bottom: .25em;
186
+
187
+ &+cui-tree-branch,
188
+ &+cui-tree-leaf {
189
+ margin-top: 3px;
190
+ }
191
+
192
+ }
193
+
194
+ &::part(leafControls) {
195
+ display: flex;
196
+ flex-wrap: nowrap;
197
+ flex-direction: column;
198
+ min-width: 30px;
199
+ margin-right: 5px;
200
+ }
201
+
202
+ &::part(fullRow) {
203
+ margin-left: 0.5em;
204
+ width: 100%;
205
+ }
206
+
207
+ &::part(infoRow) {
208
+ width: 100%;
209
+ }
210
+
211
+ }
212
+
213
+ &>cui-tree-leaf {
214
+
215
+ &::part(fullRow) {
216
+ margin-left: 1em;
217
+ }
218
+
219
+ }
220
+
221
+ cui-tree-branch {
222
+ // padding-left: 0.5em;
223
+
224
+ &::part(branchControls) {
225
+ display: flex;
226
+ flex-wrap: nowrap;
227
+ flex-direction: column;
228
+ min-width: 30px;
229
+ margin-right: 5px;
230
+ }
231
+
232
+ &::part(infoRow) {
233
+ width: 100%;
234
+
235
+ &:before {
236
+ position: relative;
237
+ left: 1em;
238
+ }
239
+
240
+ }
241
+
242
+ button.expandBtn {
243
+ padding-left: 1.5em;
244
+ padding-right: 5px;
245
+ }
246
+
247
+ &> {
248
+ cui-tree-branch {
249
+ padding-left: .5em;
250
+ }
251
+
252
+ cui-tree-leaf {
253
+ padding-left: 1.5em;
254
+ }
255
+
256
+ }
257
+ }
258
+
259
+ }
260
+
261
+ //for download all button
262
+ cui-button {
263
+ justify-content: center;
264
+ display: flex;
265
+
266
+ &.downloadAll {
267
+ margin-top: auto;
268
+ }
269
+ }
270
+
271
+ }
272
+
273
+ &.hide-sidenav {
274
+ display: none;
275
+ }
276
+
277
+ }
278
+
279
+ .main-data {
280
+ display: flex;
281
+ flex-direction: column;
282
+ flex: 1;
283
+
284
+ .page-body {
285
+ display: flex;
286
+ flex-direction: column;
287
+ flex: 1;
288
+
289
+ .page-body-container {
290
+ flex: 1;
291
+ }
292
+ }
293
+ }
294
+ }
295
+
296
+ rpso-contextheader {
297
+
298
+ &.hide-header {
299
+ display: none;
300
+ }
301
+
302
+ .ref-table-header {
303
+ color: #767676;
304
+ font-size: 2em;
305
+ font-weight: 600;
306
+ padding: 0.5em 2em 0.25em 0.25em;
307
+ margin: 0 1em;
308
+ border-bottom: 1px solid #CCC;
309
+ }
310
+
311
+ .grid {
312
+ padding: 1em 1em 0;
313
+
314
+ .row {
315
+
316
+ &.hidden {
317
+ display: none;
318
+ }
319
+
320
+ cui-text::part(outer-wrapper) {
321
+ display: flex;
322
+ }
323
+
324
+ cui-text::part(data-wrapper) {
325
+ margin-left: 10px;
326
+ }
327
+
328
+ cui-text,
329
+ cui-radio-group {
330
+ margin-bottom: 0;
331
+ }
332
+
333
+ cui-listbox {
334
+ margin-bottom: 0;
335
+
336
+ // &::part(outer-wrapper) {
337
+ // // flex-direction: row;
338
+ // }
339
+
340
+ &[readonly]::part(listbox-value-container) {
341
+ background-color: rgb(237, 237, 237);
342
+ }
343
+
344
+ }
345
+
346
+ .col,
347
+ .col-full {
348
+ margin-bottom: 10px;
349
+ }
350
+
351
+ .col-full {
352
+ width: 100%;
353
+ }
354
+ }
355
+
356
+ }
357
+
358
+ .year-decorator,
359
+ .parcel-state-decorator,
360
+ .auv-decorator {
361
+ align-content: center;
362
+ align-items: center;
363
+ color: #444;
364
+ display: inline-flex;
365
+ font-weight: bold;
366
+ height: 100%;
367
+
368
+ span {
369
+ color: #FFF;
370
+ background-color: #AAA;
371
+ border-radius: 5px;
372
+ box-shadow: rgba(0, 0, 0, .2) 0 1px 2px;
373
+ font-size: 11px;
374
+ font-weight: 400;
375
+ padding: 0 7px 1px;
376
+ }
377
+
378
+ .year-deco,
379
+ .state-deco,
380
+ .auv-deco {
381
+ display: none;
382
+ }
383
+
384
+ .state-deco {
385
+ &.pending-state {
386
+ background: #ffeb95;
387
+ color: #333;
388
+ }
389
+ }
390
+
391
+ .show-deco {
392
+ display: inline;
393
+ }
394
+ }
395
+
396
+ .auv-decorator {
397
+ padding-left: 5px;
398
+ }
399
+
400
+ cui-button {
401
+ button {
402
+ margin-bottom: 0;
403
+ }
404
+ }
405
+
406
+ button.arrow {
407
+ padding: 5px 8px;
408
+ }
409
+
410
+ .print-key {
411
+ padding-left: 28px;
412
+
413
+ cui-text::part(label-wrapper) {
414
+ flex-basis: unset;
415
+ min-width: unset;
416
+ }
417
+ }
418
+
419
+ cui-text::part(data-contents) {
420
+ align-items: center;
421
+ }
422
+
423
+ div[slot="always-visible-content"] {
424
+ .grid {
425
+ padding-top: 10px;
426
+ padding-bottom: 0;
427
+ }
428
+ }
429
+
430
+ div[slot="collapsable-contents"] {
431
+ height: auto;
432
+
433
+ .grid {
434
+ padding-top: 0;
435
+ padding-bottom: 0;
436
+ }
437
+
438
+ &.collapsed {
439
+ height: 0;
440
+ overflow: hidden;
441
+ }
442
+
443
+ ::part(tabList) {
444
+ width: 100%;
445
+ text-wrap: nowrap;
446
+ margin-top: 20px;
447
+ flex-wrap: unset;
448
+ align-items: flex-end;
449
+ }
450
+
451
+ ::part(tabList)::after {
452
+ content: "";
453
+ left: 100%;
454
+ width: 100%;
455
+ height: 1px;
456
+ margin-top: -1px;
457
+ background: #ccc;
458
+
459
+ }
460
+
461
+ ::part(tabBar) {
462
+ background: none;
463
+ // border-bottom: 1px solid #ccc;
464
+ margin-left: 30px;
465
+ margin-right: 30px;
466
+ }
467
+
468
+ ::part(innerTabWrapper) {
469
+ border-top-left-radius: 5px;
470
+ border-top-right-radius: 5px;
471
+ border-top: 0.7px solid #767676;
472
+ border-right: 0.7px solid #767676;
473
+ border-left: 0.7px solid #767676;
474
+ flex: 0;
475
+ }
476
+
477
+ ::part(innerTabButton) {
478
+ border-top-left-radius: 5px;
479
+ border-top-right-radius: 5px;
480
+ cursor: pointer;
481
+ min-width: 50px;
482
+ padding: 2px 4px;
483
+
484
+ }
485
+
486
+ .tabContents {
487
+ background-color: transparent;
488
+ border: none;
489
+ padding: 0;
490
+ margin: 0;
491
+
492
+ .grid {
493
+ padding-right: 10px;
494
+ }
495
+ }
496
+
497
+ }
498
+
499
+ .parcel-state-decorator {
500
+ align-self: center;
501
+ margin-left: 7px;
502
+ }
503
+
504
+ div[slot="form-contents"] {
505
+ padding-top: 1em;
506
+ max-width: 1162px;
507
+
508
+ cui-listbox {
509
+
510
+ &::part(outer-wrapper) {
511
+ display: flex !important;
512
+ }
513
+
514
+ }
515
+
516
+ }
517
+
518
+ .parcel-context-header {
519
+
520
+ cui-listbox[componentkey="rollYear"] {
521
+
522
+ label {
523
+ margin-top: 0;
524
+ }
525
+
526
+ &::part(outer-wrapper) {
527
+ display: flex;
528
+ }
529
+
530
+ &::part(psuedo-input) {
531
+ min-height: auto;
532
+ }
533
+
534
+ &::part(data-wrapper) {
535
+ margin-left: 10px;
536
+ }
537
+
538
+ &::part(listbox-arrow) {
539
+ &:before {
540
+ top: -3px;
541
+ }
542
+ }
543
+ }
544
+
545
+ }
546
+
547
+ #ref-table-context-header,
548
+ #search-table-context-header {
549
+
550
+ cui-listbox::part(label-wrapper) {
551
+ align-items: center;
552
+ display: flex;
553
+ flex: 0 0 var(--cui-field-label-flex-width);
554
+ justify-content: flex-start;
555
+ }
556
+
557
+ cui-radio-group::part(label-wrapper) {
558
+ display: flex;
559
+ // justify-content: flex-end;
560
+ min-width: 150px;
561
+ }
562
+
563
+ cui-radio-group::part(outer-wrapper) {
564
+ display: flex;
565
+ }
566
+
567
+ cui-input-group::part(input-group-outer) {
568
+ flex-direction: column;
569
+ }
570
+
571
+ cui-input-group::part(legend-wrapper) {
572
+ align-items: center;
573
+ display: flex;
574
+ //justify-content: flex-end;
575
+ min-width: 150px;
576
+ }
577
+
578
+ cui-input-group::part(input-group-outer) {
579
+ display: flex;
580
+ }
581
+
582
+ // cui-input-group::part(data-wrapper) {
583
+ // margin-left: 0px;
584
+ // }
585
+
586
+ cui-listbox::part(data-wrapper) {
587
+ margin-left: 0px;
588
+ }
589
+
590
+ cui-formpill::part(label-wrapper) {
591
+ min-width: 0px;
592
+ flex-basis: 0px;
593
+ }
594
+
595
+ cui-formpill::part(outer-wrapper) {
596
+ flex-direction: column;
597
+ align-items: flex-start;
598
+ }
599
+ }
600
+
601
+ &.collapsed {
602
+
603
+ div[slot="collapsable-contents"] {
604
+ height: 0;
605
+ overflow: hidden;
606
+ }
607
+ }
608
+
609
+
610
+ }
611
+
612
+ rpso-offcanvas {
613
+ overflow: hidden;
614
+ z-index: 100;
615
+
616
+ .off-canvas-nav-slot {
617
+ position: absolute;
618
+ width: 100%;
619
+ z-index: 100;
620
+ pointer-events: none;
621
+ height: 100%;
622
+
623
+ overflow-y: auto;
624
+ display: inherit;
625
+
626
+ nav {
627
+ background: #FFF;
628
+ height: 100%;
629
+ position: absolute;
630
+ left: -250px;
631
+ transition: all 0.3 ease-out;
632
+ width: 250px;
633
+ height: calc(100% - 60px);
634
+
635
+ }
636
+
637
+ }
638
+
639
+ &.forced-open {
640
+ position: unset;
641
+ .off-canvas-nav-slot {
642
+ background: rgba(0, 0, 0, 0.5);
643
+ pointer-events: all;
644
+
645
+ nav {
646
+ left: 0;
647
+ z-index: 100;
648
+ padding: 5px 0px;
649
+ border-right: 1px solid #8c8c8c;
650
+ border-bottom: 1px solid #8c8c8c;
651
+ height: fit-content;
652
+ }
653
+ }
654
+ }
655
+ }
656
+
657
+ .context-spinner {
658
+ display: inline-block;
659
+ position: relative;
660
+ width: 80px;
661
+ height: 80px;
662
+
663
+ & div {
664
+ box-sizing: border-box;
665
+ display: block;
666
+ position: absolute;
667
+ width: 64px;
668
+ height: 64px;
669
+ margin: 8px;
670
+ border: 8px solid #fff;
671
+ border-radius: 50%;
672
+ animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
673
+ border-color: #fff transparent transparent transparent;
674
+
675
+ &:nth-child(1) {
676
+ animation-delay: -0.45s;
677
+ }
678
+
679
+ &:nth-child(2) {
680
+ animation-delay: -0.3s;
681
+ }
682
+
683
+ &:nth-child(3) {
684
+ animation-delay: -0.15s;
685
+ }
686
+
687
+ }
688
+
689
+ }
690
+
691
+ .button-menu.saved-option-menu {
692
+ .popover-contents {
693
+ border-radius: 5px;
694
+
695
+ .popover-body {
696
+ padding: 5px 0;
697
+
698
+ ul {
699
+
700
+ li {
701
+
702
+ &:last-child {
703
+
704
+ cui-button {
705
+ border-bottom: 0;
706
+ margin-bottom: 0;
707
+ }
708
+
709
+ }
710
+ }
711
+ }
712
+ }
713
+ }
714
+ }
715
+
716
+ @keyframes context-spinner {
717
+ 0% {
718
+ transform: rotate(0deg);
719
+ }
720
+
721
+ 100% {
722
+ transform: rotate(360deg);
723
+ }
724
+ }
725
+
726
+
727
+ @media screen and (min-width: 650px) {
728
+
729
+ rpso-contextheader {
730
+ .grid {
731
+
732
+ .row {
733
+ margin-bottom: 10px;
734
+
735
+ .col,
736
+ .col-full {
737
+ margin-bottom: 0;
738
+ }
739
+ }
740
+
741
+ &.button-row {
742
+ padding-right: 0;
743
+
744
+ .row {
745
+ margin-bottom: 0;
746
+ }
747
+ }
748
+
749
+ }
750
+
751
+ }
752
+
753
+ rpso-offcanvas {
754
+ &.forced-open {
755
+ position: unset;
756
+ }
757
+ }
758
+
759
+ }
760
+
761
+ @media screen and (min-width: 700px) {
762
+
763
+ #sideNavContextLayout {
764
+ flex-direction: row;
765
+
766
+
767
+ .side-nav {
768
+ background: var(--section-background-color);
769
+ border-right: 1px solid var(--context-header-border-color);
770
+ flex: 0 0 65px;
771
+ max-width: 65px;
772
+
773
+ }
774
+
775
+ .main-data {
776
+ width: 100%;
777
+ }
778
+ }
779
+
780
+ rpso-offcanvas {
781
+ position: absolute;
782
+ height: 100%;
783
+
784
+ .off-canvas-nav-slot {
785
+ height: calc(100% - 60px);
786
+ }
787
+
788
+
789
+
790
+ &.forced-open {
791
+ position: sticky;
792
+ border-right: 1px solid #8C8C8C;
793
+ width: 250px;
794
+
795
+ .off-canvas-nav-slot {
796
+ nav {
797
+ padding: unset;
798
+ border-bottom: unset;
799
+ }
800
+ }
801
+ }
802
+
803
+ }
804
+
805
+ }
806
+
807
+ @media screen and (min-width: 830px) {
808
+
809
+ rpso-contextheader {
810
+
811
+ #ref-table-context-header,
812
+ #search-table-context-header {
813
+ cui-listbox::part(label-wrapper) {
814
+ justify-content: flex-end;
815
+ }
816
+
817
+ cui-listbox::part(data-wrapper) {
818
+ margin-left: 10px;
819
+ }
820
+
821
+ cui-input-group::part(input-group-outer) {
822
+ flex-direction: row;
823
+ }
824
+
825
+ cui-formpill::part(label-wrapper) {
826
+ min-width: var(--cui-field-label-flex-width);
827
+ flex-basis: var(--cui-field-label-flex-width);
828
+ }
829
+
830
+ cui-formpill::part(outer-wrapper) {
831
+ flex-direction: row;
832
+ align-items: center;
833
+ }
834
+ }
835
+
836
+ &::part(collapsable-container) {
837
+ max-width: 1175px;
838
+ }
839
+ }
840
+
841
+
842
+ rpso-contextheader {
843
+
844
+ cui-listbox {
845
+
846
+ &::part(label-wrapper) {
847
+ flex: 0 0 150px;
848
+ }
849
+
850
+ }
851
+
852
+ }
853
+ }
854
+
855
+ @media screen and (min-width: 1175px) {
856
+ #sideNavContextLayout {
857
+ flex-direction: row;
858
+
859
+ .side-nav {
860
+ flex: 0 0 250px;
861
+ max-width: 250px;
862
+ }
863
+
864
+ .main-data {
865
+ width: 100%;
866
+ }
867
+ }
868
+
869
+ rpso-offcanvas {
870
+ position: relative;
871
+
872
+ &::part(mobile-control) {
873
+ display: none;
874
+ }
875
+
876
+ .off-canvas-nav-slot {
877
+ pointer-events: all;
878
+ position: relative;
879
+ height: 100%;
880
+
881
+ nav {
882
+ left: 0;
883
+ padding-top: 10px;
884
+ height: 100%;
885
+ }
886
+
887
+ }
888
+
889
+ &.forced-open .off-canvas-nav-slot nav {
890
+ left: 0;
891
+ padding-top: 10px;
892
+ height: 100%;
893
+ }
894
+
895
+ }
896
+ }