kb-ui-vue 0.2.0 → 0.3.0

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.
@@ -420,6 +420,16 @@
420
420
  cursor: pointer;
421
421
  }
422
422
 
423
+ .kb-calendar__day--in-range {
424
+ border-radius: 0;
425
+ background: color-mix(in srgb, var(--kb-color-primary) 14%, transparent);
426
+ }
427
+
428
+ .kb-calendar__day--range-end {
429
+ background: var(--kb-color-primary);
430
+ color: var(--kb-color-bg);
431
+ }
432
+
423
433
  .kb-calendar__day:hover:not(.kb-calendar__day--active) {
424
434
  background: var(--kb-color-bg-elevated);
425
435
  }
@@ -638,6 +648,52 @@
638
648
  .kb-cascader__more {
639
649
  color: var(--kb-color-text-3);
640
650
  }
651
+
652
+ .kb-cascader__suffix {
653
+ display: inline-flex;
654
+ align-items: center;
655
+ gap: var(--kb-space-1);
656
+ }
657
+
658
+ .kb-cascader__clear {
659
+ color: var(--kb-color-text-3);
660
+ font-size: 12px;
661
+ line-height: 1;
662
+ }
663
+
664
+ .kb-cascader__clear:hover {
665
+ color: var(--kb-color-text-1);
666
+ }
667
+
668
+ .kb-cascader__option--disabled {
669
+ color: var(--kb-color-text-3);
670
+ cursor: not-allowed;
671
+ }
672
+
673
+ .kb-cascader__leaf-tag {
674
+ padding: 0 var(--kb-space-1);
675
+ border: 1px solid var(--kb-color-border);
676
+ border-radius: var(--kb-radius-sm);
677
+ color: var(--kb-color-text-3);
678
+ font-size: var(--kb-font-size-sm);
679
+ }
680
+
681
+ .kb-cascader__loading {
682
+ padding: var(--kb-space-2) var(--kb-space-3);
683
+ color: var(--kb-color-text-3);
684
+ font-size: var(--kb-font-size-md);
685
+ white-space: nowrap;
686
+ }
687
+
688
+ .kb-cascader--disabled {
689
+ cursor: not-allowed;
690
+ opacity: 0.6;
691
+ }
692
+
693
+ .kb-cascader--disabled .kb-cascader__trigger {
694
+ cursor: not-allowed;
695
+ background: var(--kb-color-bg-elevated);
696
+ }
641
697
 
642
698
  .kb-checkbox {
643
699
  display: inline-flex;
@@ -698,6 +754,21 @@
698
754
  transform: rotate(45deg) scale(1);
699
755
  }
700
756
 
757
+ .kb-checkbox--indeterminate .kb-checkbox__inner {
758
+ border-color: var(--kb-color-primary);
759
+ background: var(--kb-color-primary);
760
+ }
761
+
762
+ .kb-checkbox--indeterminate .kb-checkbox__inner::after {
763
+ top: 6px;
764
+ left: 3px;
765
+ width: 8px;
766
+ height: 0;
767
+ border-width: 2px 0 0;
768
+ border-color: var(--kb-color-bg);
769
+ transform: none;
770
+ }
771
+
701
772
  .kb-checkbox__label {
702
773
  line-height: 1;
703
774
  }
@@ -813,10 +884,40 @@
813
884
  transition: border-color var(--kb-transition-duration) var(--kb-transition-timing);
814
885
  }
815
886
 
887
+ .kb-datepicker__input--wide {
888
+ width: 280px;
889
+ }
890
+
891
+ .kb-datepicker__input--disabled {
892
+ cursor: not-allowed;
893
+ opacity: 0.6;
894
+ }
895
+
896
+ .kb-datepicker__clear {
897
+ position: absolute;
898
+ top: 50%;
899
+ right: var(--kb-space-2);
900
+ width: 18px;
901
+ height: 18px;
902
+ padding: 0;
903
+ border: none;
904
+ border-radius: var(--kb-radius-round);
905
+ transform: translateY(-50%);
906
+ background: var(--kb-color-bg-elevated);
907
+ color: var(--kb-color-text-3);
908
+ font-size: 14px;
909
+ line-height: 1;
910
+ cursor: pointer;
911
+ }
912
+
816
913
  .kb-datepicker__input:focus {
817
914
  border-color: var(--kb-color-primary);
818
915
  }
819
916
 
917
+ .kb-datepicker__clear:hover {
918
+ color: var(--kb-color-text-1);
919
+ }
920
+
820
921
  .kb-datepicker__panel {
821
922
  position: absolute;
822
923
  top: calc(100% + 4px);
@@ -2442,6 +2543,59 @@
2442
2543
  font-size: var(--kb-font-size-md);
2443
2544
  }
2444
2545
 
2546
+ .kb-table__wrapper {
2547
+ width: 100%;
2548
+ }
2549
+
2550
+ .kb-table__wrapper--scroll {
2551
+ overflow-x: auto;
2552
+ }
2553
+
2554
+ .kb-table--fixed-cols {
2555
+ table-layout: fixed;
2556
+ }
2557
+
2558
+ .kb-table__th--sortable {
2559
+ cursor: pointer;
2560
+ user-select: none;
2561
+ }
2562
+
2563
+ .kb-table__cell--selection {
2564
+ width: 44px;
2565
+ text-align: center;
2566
+ }
2567
+
2568
+ .kb-table__empty {
2569
+ padding: var(--kb-space-6);
2570
+ color: var(--kb-color-text-3);
2571
+ text-align: center;
2572
+ }
2573
+
2574
+ .kb-table__cell--fixed-left,
2575
+ .kb-table__cell--fixed-right {
2576
+ position: sticky;
2577
+ z-index: 1;
2578
+ background: var(--kb-color-bg);
2579
+ }
2580
+
2581
+ .kb-table__cell--fixed-left-last {
2582
+ box-shadow: 6px 0 8px -6px rgb(0 0 0 / 12%);
2583
+ }
2584
+
2585
+ .kb-table__cell--fixed-right-first {
2586
+ box-shadow: -6px 0 8px -6px rgb(0 0 0 / 12%);
2587
+ }
2588
+
2589
+ .kb-table__pagination {
2590
+ display: flex;
2591
+ justify-content: flex-end;
2592
+ padding: var(--kb-space-3) 0;
2593
+ }
2594
+
2595
+ .kb-table--border {
2596
+ border: 1px solid var(--kb-color-border);
2597
+ }
2598
+
2445
2599
  .kb-table th {
2446
2600
  padding: var(--kb-space-2) var(--kb-space-3);
2447
2601
  border-bottom: 1px solid var(--kb-color-border);
@@ -2457,6 +2611,41 @@
2457
2611
  color: var(--kb-color-text-1);
2458
2612
  }
2459
2613
 
2614
+ .kb-table--border th,
2615
+ .kb-table--border td {
2616
+ border-right: 1px solid var(--kb-color-border);
2617
+ }
2618
+
2619
+ .kb-table--small th,
2620
+ .kb-table--small td {
2621
+ padding: var(--kb-space-1) var(--kb-space-2);
2622
+ }
2623
+
2624
+ .kb-table--large th,
2625
+ .kb-table--large td {
2626
+ padding: var(--kb-space-3) var(--kb-space-4);
2627
+ }
2628
+
2629
+ .kb-table__cell--selection .kb-checkbox {
2630
+ display: flex;
2631
+ justify-content: center;
2632
+ }
2633
+
2634
+ .kb-table th.kb-table__cell--fixed-left,
2635
+ .kb-table th.kb-table__cell--fixed-right {
2636
+ z-index: 2;
2637
+ background: var(--kb-color-bg-elevated);
2638
+ }
2639
+
2640
+ .kb-table__row--selected td {
2641
+ background: color-mix(in srgb, var(--kb-color-primary) 8%, transparent);
2642
+ }
2643
+
2644
+ .kb-table--border th:last-child,
2645
+ .kb-table--border td:last-child {
2646
+ border-right: none;
2647
+ }
2648
+
2460
2649
  .kb-table tbody tr:hover {
2461
2650
  background: color-mix(in srgb, var(--kb-color-primary) 4%, transparent);
2462
2651
  }
@@ -2465,18 +2654,19 @@
2465
2654
  background: var(--kb-color-bg-elevated);
2466
2655
  }
2467
2656
 
2468
- .kb-table--border {
2469
- border: 1px solid var(--kb-color-border);
2657
+ .kb-table--stripe tbody tr:nth-child(even) .kb-table__cell--fixed-left,
2658
+ .kb-table--stripe tbody tr:nth-child(even) .kb-table__cell--fixed-right {
2659
+ background: var(--kb-color-bg-elevated);
2470
2660
  }
2471
2661
 
2472
- .kb-table--border th,
2473
- .kb-table--border td {
2474
- border-right: 1px solid var(--kb-color-border);
2662
+ .kb-table tbody tr:hover td.kb-table__cell--fixed-left,
2663
+ .kb-table tbody tr:hover td.kb-table__cell--fixed-right {
2664
+ background: color-mix(in srgb, var(--kb-color-primary) 4%, var(--kb-color-bg));
2475
2665
  }
2476
2666
 
2477
- .kb-table--border th:last-child,
2478
- .kb-table--border td:last-child {
2479
- border-right: none;
2667
+ .kb-table tbody tr.kb-table__row--selected td.kb-table__cell--fixed-left,
2668
+ .kb-table tbody tr.kb-table__row--selected td.kb-table__cell--fixed-right {
2669
+ background: color-mix(in srgb, var(--kb-color-primary) 8%, var(--kb-color-bg));
2480
2670
  }
2481
2671
 
2482
2672
  .kb-tabs {
@@ -2753,26 +2943,55 @@
2753
2943
 
2754
2944
  .kb-transfer {
2755
2945
  display: flex;
2756
- align-items: center;
2946
+ align-items: stretch;
2757
2947
  gap: var(--kb-space-2);
2758
2948
  }
2759
2949
 
2760
- .kb-transfer__box {
2950
+ .kb-transfer__side {
2951
+ display: flex;
2952
+ flex-direction: column;
2761
2953
  width: 180px;
2762
- height: 220px;
2763
- overflow-y: auto;
2764
- border: 1px solid var(--kb-color-border);
2765
- border-radius: var(--kb-radius-md);
2766
- background: var(--kb-color-bg);
2954
+ }
2955
+
2956
+ .kb-transfer__header {
2957
+ display: flex;
2958
+ align-items: center;
2959
+ padding: var(--kb-space-1) var(--kb-space-2);
2767
2960
  }
2768
2961
 
2769
2962
  .kb-transfer__title {
2770
- padding: var(--kb-space-2) var(--kb-space-3);
2771
- border-bottom: 1px solid var(--kb-color-border);
2772
2963
  color: var(--kb-color-text-3);
2773
2964
  font-size: var(--kb-font-size-sm);
2774
2965
  }
2775
2966
 
2967
+ .kb-transfer__filter {
2968
+ padding: 0 var(--kb-space-2) var(--kb-space-1);
2969
+ }
2970
+
2971
+ .kb-transfer__input {
2972
+ width: 100%;
2973
+ box-sizing: border-box;
2974
+ padding: var(--kb-space-1) var(--kb-space-2);
2975
+ border: 1px solid var(--kb-color-border);
2976
+ border-radius: var(--kb-radius-sm);
2977
+ background: var(--kb-color-bg);
2978
+ color: var(--kb-color-text-1);
2979
+ font-size: var(--kb-font-size-sm);
2980
+ }
2981
+
2982
+ .kb-transfer__input:disabled {
2983
+ background: var(--kb-color-bg-elevated);
2984
+ cursor: not-allowed;
2985
+ }
2986
+
2987
+ .kb-transfer__box {
2988
+ height: 180px;
2989
+ overflow-y: auto;
2990
+ border: 1px solid var(--kb-color-border);
2991
+ border-radius: var(--kb-radius-md);
2992
+ background: var(--kb-color-bg);
2993
+ }
2994
+
2776
2995
  .kb-transfer__item {
2777
2996
  padding: var(--kb-space-2) var(--kb-space-3);
2778
2997
  color: var(--kb-color-text-1);
@@ -2789,9 +3008,50 @@
2789
3008
  color: var(--kb-color-primary);
2790
3009
  }
2791
3010
 
3011
+ .kb-transfer__item--disabled {
3012
+ color: var(--kb-color-text-3);
3013
+ cursor: not-allowed;
3014
+ }
3015
+
3016
+ .kb-transfer__empty {
3017
+ padding: var(--kb-space-4) 0;
3018
+ color: var(--kb-color-text-3);
3019
+ font-size: var(--kb-font-size-sm);
3020
+ text-align: center;
3021
+ }
3022
+
3023
+ .kb-transfer__pager {
3024
+ display: flex;
3025
+ align-items: center;
3026
+ justify-content: center;
3027
+ gap: var(--kb-space-2);
3028
+ padding-top: var(--kb-space-1);
3029
+ }
3030
+
3031
+ .kb-transfer__page {
3032
+ width: 24px;
3033
+ height: 24px;
3034
+ border: 1px solid var(--kb-color-border);
3035
+ border-radius: var(--kb-radius-sm);
3036
+ background: var(--kb-color-bg);
3037
+ color: var(--kb-color-text-2);
3038
+ cursor: pointer;
3039
+ }
3040
+
3041
+ .kb-transfer__page:disabled {
3042
+ cursor: not-allowed;
3043
+ opacity: 0.5;
3044
+ }
3045
+
3046
+ .kb-transfer__page-info {
3047
+ color: var(--kb-color-text-3);
3048
+ font-size: var(--kb-font-size-sm);
3049
+ }
3050
+
2792
3051
  .kb-transfer__actions {
2793
3052
  display: flex;
2794
3053
  flex-direction: column;
3054
+ justify-content: center;
2795
3055
  gap: var(--kb-space-2);
2796
3056
  }
2797
3057
 
@@ -2815,21 +3075,40 @@
2815
3075
  border-color: var(--kb-color-primary);
2816
3076
  color: var(--kb-color-primary);
2817
3077
  }
3078
+
3079
+ .kb-transfer--disabled {
3080
+ cursor: not-allowed;
3081
+ }
3082
+
3083
+ .kb-transfer--disabled .kb-transfer__item {
3084
+ cursor: not-allowed;
3085
+ }
2818
3086
 
2819
3087
  .kb-tree {
2820
3088
  font-size: var(--kb-font-size-md);
2821
3089
  color: var(--kb-color-text-1);
2822
3090
  }
2823
3091
 
3092
+ .kb-tree__scroll {
3093
+ overflow: auto;
3094
+ }
3095
+
3096
+ .kb-tree__inner {
3097
+ position: relative;
3098
+ }
3099
+
2824
3100
  .kb-tree__row {
2825
3101
  display: flex;
2826
3102
  align-items: center;
2827
3103
  padding: 4px 0;
2828
3104
  border-radius: var(--kb-radius-sm);
3105
+ cursor: default;
3106
+ box-sizing: border-box;
2829
3107
  }
2830
3108
 
2831
- .kb-tree__row:hover {
2832
- background: var(--kb-color-bg-elevated);
3109
+ .kb-tree__indent {
3110
+ flex-shrink: 0;
3111
+ height: 100%;
2833
3112
  }
2834
3113
 
2835
3114
  .kb-tree__toggle {
@@ -2863,8 +3142,36 @@
2863
3142
  color: var(--kb-color-primary);
2864
3143
  }
2865
3144
 
2866
- .kb-tree__children {
2867
- margin-left: var(--kb-space-4);
3145
+ .kb-tree__row--selected {
3146
+ background: color-mix(in srgb, var(--kb-color-primary) 8%, transparent);
3147
+ }
3148
+
3149
+ .kb-tree__row--disabled,
3150
+ .kb-tree__row--disabled .kb-tree__label {
3151
+ color: var(--kb-color-text-3);
3152
+ cursor: not-allowed;
3153
+ }
3154
+
3155
+ .kb-tree__row--dragover {
3156
+ outline: 1px dashed color-mix(in srgb, var(--kb-color-primary) 50%, transparent);
3157
+ outline-offset: -1px;
3158
+ }
3159
+
3160
+ .kb-tree__row:hover {
3161
+ background: var(--kb-color-bg-elevated);
3162
+ }
3163
+
3164
+ .kb-tree__row--dragover.kb-tree__row--drop-before {
3165
+ box-shadow: inset 0 2px 0 0 var(--kb-color-primary);
3166
+ }
3167
+
3168
+ .kb-tree__row--dragover.kb-tree__row--drop-after {
3169
+ box-shadow: inset 0 -2px 0 0 var(--kb-color-primary);
3170
+ }
3171
+
3172
+ .kb-tree__row--dragover.kb-tree__row--drop-inner {
3173
+ background: color-mix(in srgb, var(--kb-color-primary) 16%, transparent);
3174
+ box-shadow: none;
2868
3175
  }
2869
3176
 
2870
3177
  .kb-upload {
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "kb-ui-vue",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
+ "license": "MIT",
4
5
  "type": "module",
5
6
  "files": [
6
7
  "dist"