@useblu/ocean-core 1.117.0 → 1.118.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.118.0](https://github.com/ocean-ds/ocean-web/compare/v1.117.0...v1.118.0) (2025-12-08)
7
+
8
+ ### Features
9
+
10
+ - card list expandable ([#1197](https://github.com/ocean-ds/ocean-web/issues/1197)) ([3016461](https://github.com/ocean-ds/ocean-web/commit/3016461f3a408dafb3645e53a00d2ce769e60691))
11
+
6
12
  # [1.117.0](https://github.com/ocean-ds/ocean-web/compare/v1.116.0...v1.117.0) (2025-12-08)
7
13
 
8
14
  ### Features
package/ocean.css CHANGED
@@ -2783,9 +2783,10 @@
2783
2783
  box-shadow: none;
2784
2784
  display: flex;
2785
2785
  flex-direction: row;
2786
- left: 0;
2786
+ left: auto;
2787
2787
  margin: 0;
2788
2788
  max-height: none;
2789
+ max-width: 100%;
2789
2790
  min-width: auto;
2790
2791
  overflow-x: auto;
2791
2792
  overflow-y: hidden;
@@ -2793,7 +2794,7 @@
2793
2794
  position: absolute;
2794
2795
  right: 0;
2795
2796
  top: 0;
2796
- width: 100%;
2797
+ width: auto;
2797
2798
  z-index: 102;
2798
2799
  /* stylelint-disable-next-line order/properties-alphabetical-order */
2799
2800
  -webkit-overflow-scrolling: touch;
@@ -2804,7 +2805,7 @@
2804
2805
  }
2805
2806
  .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu--bottom-left, .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu--bottom-right, .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu--top-left, .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu--top-right {
2806
2807
  bottom: 0;
2807
- left: 0;
2808
+ left: auto;
2808
2809
  right: 0;
2809
2810
  top: 0;
2810
2811
  }
@@ -2815,9 +2816,6 @@
2815
2816
  margin: 0;
2816
2817
  padding: 0;
2817
2818
  }
2818
- .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu li:first-of-type {
2819
- margin-left: auto;
2820
- }
2821
2819
  .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item {
2822
2820
  align-items: center;
2823
2821
  border-radius: 0;
@@ -2843,6 +2841,9 @@
2843
2841
  background: #2da94f;
2844
2842
  color: white;
2845
2843
  }
2844
+ .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--positive:hover:not(.ods-internal-list-actions__menu-item--disabled) {
2845
+ background: #7adc94;
2846
+ }
2846
2847
  .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--positive .ods-internal-list-actions__menu-item-icon {
2847
2848
  color: white;
2848
2849
  }
@@ -2850,6 +2851,9 @@
2850
2851
  background: #ff8a14;
2851
2852
  color: white;
2852
2853
  }
2854
+ .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--warning:hover:not(.ods-internal-list-actions__menu-item--disabled) {
2855
+ background: #ffbd7a;
2856
+ }
2853
2857
  .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--warning .ods-internal-list-actions__menu-item-icon {
2854
2858
  color: white;
2855
2859
  }
@@ -2857,6 +2861,9 @@
2857
2861
  background: #f5456e;
2858
2862
  color: white;
2859
2863
  }
2864
+ .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--negative:hover:not(.ods-internal-list-actions__menu-item--disabled) {
2865
+ background: #d31441;
2866
+ }
2860
2867
  .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--negative .ods-internal-list-actions__menu-item-icon {
2861
2868
  color: white;
2862
2869
  }
@@ -2864,6 +2871,9 @@
2864
2871
  background: #aaadc0;
2865
2872
  color: white;
2866
2873
  }
2874
+ .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--neutral:hover:not(.ods-internal-list-actions__menu-item--disabled) {
2875
+ background: #67697a;
2876
+ }
2867
2877
  .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--neutral .ods-internal-list-actions__menu-item-icon {
2868
2878
  color: white;
2869
2879
  }
@@ -2871,57 +2881,44 @@
2871
2881
  background: #f3f5fe;
2872
2882
  color: #393b47;
2873
2883
  }
2884
+ .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--default:hover:not(.ods-internal-list-actions__menu-item--disabled), .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item:not(.ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--positive):not(.ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--warning):not(.ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--negative):not(.ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--neutral):hover:not(.ods-internal-list-actions__menu-item--disabled) {
2885
+ background: #e0e2ee;
2886
+ }
2874
2887
  .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--default .ods-internal-list-actions__menu-item-icon, .ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item:not(.ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--positive):not(.ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--warning):not(.ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--negative):not(.ods-internal-list-actions--force-swipe .ods-internal-list-actions__menu-item--neutral).ods-internal-list-actions__menu-item-icon {
2875
2888
  color: #393b47;
2876
2889
  }
2877
2890
 
2878
2891
  @-webkit-keyframes slideInFromRight {
2879
2892
  from {
2880
- opacity: 0;
2881
- transform: scaleX(0);
2882
- transform-origin: right center;
2893
+ transform: translateX(100%);
2883
2894
  }
2884
2895
  to {
2885
- opacity: 1;
2886
- transform: scaleX(1);
2887
- transform-origin: right center;
2896
+ transform: translateX(0);
2888
2897
  }
2889
2898
  }
2890
2899
 
2891
2900
  @keyframes slideInFromRight {
2892
2901
  from {
2893
- opacity: 0;
2894
- transform: scaleX(0);
2895
- transform-origin: right center;
2902
+ transform: translateX(100%);
2896
2903
  }
2897
2904
  to {
2898
- opacity: 1;
2899
- transform: scaleX(1);
2900
- transform-origin: right center;
2905
+ transform: translateX(0);
2901
2906
  }
2902
2907
  }
2903
2908
  @-webkit-keyframes slideOutToRight {
2904
2909
  from {
2905
- opacity: 1;
2906
- transform: scaleX(1);
2907
- transform-origin: right center;
2910
+ transform: translateX(0);
2908
2911
  }
2909
2912
  to {
2910
- opacity: 0;
2911
- transform: scaleX(0);
2912
- transform-origin: right center;
2913
+ transform: translateX(100%);
2913
2914
  }
2914
2915
  }
2915
2916
  @keyframes slideOutToRight {
2916
2917
  from {
2917
- opacity: 1;
2918
- transform: scaleX(1);
2919
- transform-origin: right center;
2918
+ transform: translateX(0);
2920
2919
  }
2921
2920
  to {
2922
- opacity: 0;
2923
- transform: scaleX(0);
2924
- transform-origin: right center;
2921
+ transform: translateX(100%);
2925
2922
  }
2926
2923
  }
2927
2924
  .ods-link {
@@ -3016,6 +3013,13 @@
3016
3013
  .ods-list .ods-list-action__container:not(:last-of-type) > .ods-list-action--card {
3017
3014
  border-bottom: 1px solid #e0e2ee;
3018
3015
  }
3016
+ .ods-list .ods-list-expandable--card {
3017
+ border: 0;
3018
+ border-radius: 0;
3019
+ }
3020
+ .ods-list .ods-list-expandable--card:not(:last-of-type) {
3021
+ border-bottom: 1px solid #e0e2ee;
3022
+ }
3019
3023
  .ods-list .ods-list-selectable__root:last-of-type .ods-list-selectable__root--text--divider {
3020
3024
  display: none;
3021
3025
  }
@@ -5958,6 +5962,7 @@
5958
5962
  cursor: pointer;
5959
5963
  display: flex;
5960
5964
  gap: 12px;
5965
+ overflow: hidden;
5961
5966
  padding: 16px 8px 16px 16px;
5962
5967
  position: relative;
5963
5968
  text-align: left;
@@ -5967,6 +5972,14 @@
5967
5972
  .ods-list-action__container {
5968
5973
  width: 100%;
5969
5974
  }
5975
+ .ods-list-action__content {
5976
+ align-items: center;
5977
+ display: flex;
5978
+ flex: 1;
5979
+ gap: 12px;
5980
+ min-width: 0;
5981
+ transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
5982
+ }
5970
5983
  .ods-list-action--card {
5971
5984
  border-color: #ced1e1;
5972
5985
  }
@@ -5978,14 +5991,14 @@
5978
5991
  border-bottom: 1px solid #e0e2ee;
5979
5992
  margin: 0 16px;
5980
5993
  }
5981
- .ods-list-action:hover:not(.ods-list-action--disabled):not(.ods-list-action--loading) {
5994
+ .ods-list-action:hover:not(.ods-list-action--disabled):not(.ods-list-action--loading):not(.ods-list-action--swipe-open) {
5982
5995
  background-color: #f3f5fe;
5983
5996
  }
5984
5997
  .ods-list-action:focus-visible {
5985
5998
  outline: 2px solid #0025e0;
5986
5999
  outline-offset: 2px;
5987
6000
  }
5988
- .ods-list-action:active:not(.ods-list-action--disabled):not(.ods-list-action--loading) {
6001
+ .ods-list-action:active:not(.ods-list-action--disabled):not(.ods-list-action--loading):not(.ods-list-action--swipe-open) {
5989
6002
  background-color: #ced1e1;
5990
6003
  }
5991
6004
  .ods-list-action__icon {
@@ -6012,6 +6025,9 @@
6012
6025
  .ods-list-action__action svg {
6013
6026
  color: #aaadc0;
6014
6027
  }
6028
+ .ods-list-action__indicator {
6029
+ flex-shrink: 0;
6030
+ }
6015
6031
  .ods-list-action__skeleton {
6016
6032
  display: flex;
6017
6033
  flex-direction: column;
@@ -6031,10 +6047,116 @@
6031
6047
  opacity: 0.6;
6032
6048
  }
6033
6049
 
6050
+ .ods-list-action--swipe-mode .ods-list-action__content:not(:has(.ods-list-action__indicator)) {
6051
+ margin-right: 24px;
6052
+ }
6034
6053
  .ods-list-action--swipe-mode .ods-list-action__indicator {
6035
6054
  margin-right: 24px;
6036
6055
  }
6037
6056
 
6057
+ .ods-list-expandable {
6058
+ background-color: white;
6059
+ display: flex;
6060
+ flex-direction: column;
6061
+ min-width: 0;
6062
+ overflow: hidden;
6063
+ position: relative;
6064
+ width: 100%;
6065
+ }
6066
+ .ods-list-expandable--disabled {
6067
+ cursor: not-allowed;
6068
+ opacity: 0.6;
6069
+ }
6070
+ .ods-list-expandable__divider {
6071
+ border-bottom: 1px solid #e0e2ee;
6072
+ margin: 0 16px;
6073
+ }
6074
+ .ods-list-expandable--card {
6075
+ border: 1px solid #e0e2ee;
6076
+ border-radius: 8px;
6077
+ }
6078
+ .ods-list-expandable--text {
6079
+ border: 0;
6080
+ border-radius: 0;
6081
+ }
6082
+ .ods-list-expandable__main {
6083
+ align-items: center;
6084
+ background-color: transparent;
6085
+ border: 0;
6086
+ cursor: pointer;
6087
+ display: flex;
6088
+ gap: 12px;
6089
+ min-width: 0;
6090
+ padding: 16px 8px 16px 16px;
6091
+ text-align: left;
6092
+ transition: background-color 0.2s ease;
6093
+ width: 100%;
6094
+ }
6095
+ .ods-list-expandable__main:hover:not(.ods-card-list-expandable--loading .ods-list-expandable__main) {
6096
+ background-color: #f3f5fe;
6097
+ }
6098
+ .ods-list-expandable__main:focus-visible {
6099
+ outline: 2px solid #0025e0;
6100
+ outline-offset: -2px;
6101
+ }
6102
+ .ods-list-expandable__icon {
6103
+ align-items: center;
6104
+ color: #5872f5;
6105
+ display: flex;
6106
+ flex-shrink: 0;
6107
+ }
6108
+ .ods-list-expandable__icon--inactive svg {
6109
+ color: #ced1e1;
6110
+ }
6111
+ .ods-list-expandable__trailing {
6112
+ align-items: center;
6113
+ display: flex;
6114
+ flex-shrink: 0;
6115
+ gap: 8px;
6116
+ margin-left: auto;
6117
+ }
6118
+ .ods-list-expandable__indicator {
6119
+ align-items: center;
6120
+ display: flex;
6121
+ flex-shrink: 0;
6122
+ }
6123
+ .ods-list-expandable__action {
6124
+ align-items: center;
6125
+ display: flex;
6126
+ flex-shrink: 0;
6127
+ }
6128
+ .ods-list-expandable__action svg {
6129
+ color: #aaadc0;
6130
+ transition: transform 0.2s ease;
6131
+ }
6132
+ .ods-list-expandable__content {
6133
+ box-sizing: border-box;
6134
+ overflow: hidden;
6135
+ width: 100%;
6136
+ word-wrap: break-word;
6137
+ }
6138
+ .ods-list-expandable__skeleton {
6139
+ box-sizing: border-box;
6140
+ display: flex;
6141
+ flex-direction: column;
6142
+ gap: 8px;
6143
+ padding: 0;
6144
+ width: 100%;
6145
+ }
6146
+ .ods-list-expandable__skeleton .ods-skeleton-bar {
6147
+ max-width: 100%;
6148
+ width: 100%;
6149
+ }
6150
+ .ods-list-expandable--loading .ods-list-expandable__main {
6151
+ box-sizing: border-box;
6152
+ cursor: default;
6153
+ overflow: hidden;
6154
+ pointer-events: none;
6155
+ }
6156
+ .ods-list-expandable--expanded .ods-list-expandable__main:hover {
6157
+ background-color: #f3f5fe;
6158
+ }
6159
+
6038
6160
  .ods-list-selectable__indicator {
6039
6161
  margin-left: 12px;
6040
6162
  }