zenkit-css 1.3.0 → 1.4.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/dist/zenkit.css CHANGED
@@ -36706,6 +36706,914 @@ mark {
36706
36706
  left: 100%;
36707
36707
  }
36708
36708
 
36709
+ .absolute-center {
36710
+ position: absolute;
36711
+ top: 50%;
36712
+ left: 50%;
36713
+ transform: translate(-50%, -50%);
36714
+ }
36715
+ .absolute-center-horizontal {
36716
+ position: absolute;
36717
+ left: 50%;
36718
+ transform: translateX(-50%);
36719
+ }
36720
+ .absolute-center-vertical {
36721
+ position: absolute;
36722
+ top: 50%;
36723
+ transform: translateY(-50%);
36724
+ }
36725
+ .absolute-center-top {
36726
+ top: 0;
36727
+ transform: translateX(-50%);
36728
+ }
36729
+ .absolute-center-bottom {
36730
+ top: auto;
36731
+ bottom: 0;
36732
+ transform: translateX(-50%);
36733
+ }
36734
+ .absolute-center-left {
36735
+ left: 0;
36736
+ transform: translateY(-50%);
36737
+ }
36738
+ .absolute-center-right {
36739
+ left: auto;
36740
+ right: 0;
36741
+ transform: translateY(-50%);
36742
+ }
36743
+
36744
+ .pills-input {
36745
+ --zk-pills-input-min-height: 36px;
36746
+ --zk-pills-input-padding: 0.25rem 0.5rem;
36747
+ --zk-pills-input-gap: 0.375rem;
36748
+ display: flex;
36749
+ flex-wrap: wrap;
36750
+ align-items: center;
36751
+ gap: var(--zk-pills-input-gap);
36752
+ min-height: var(--zk-pills-input-min-height);
36753
+ padding: var(--zk-pills-input-padding);
36754
+ background: var(--zk-bg-primary);
36755
+ border: 1px solid var(--zk-border-color);
36756
+ border-radius: var(--zk-radius-md);
36757
+ cursor: text;
36758
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
36759
+ }
36760
+ .pills-input:hover:not(.pills-input-disabled) {
36761
+ border-color: var(--zk-border-hover);
36762
+ }
36763
+ .pills-input:focus-within {
36764
+ border-color: var(--zk-primary);
36765
+ box-shadow: 0 0 0 3px rgba(var(--zk-primary-rgb), 0.1);
36766
+ }
36767
+ .pills-input-field {
36768
+ flex: 1;
36769
+ min-width: 60px;
36770
+ padding: 0.25rem;
36771
+ border: none;
36772
+ background: transparent;
36773
+ font-size: 0.875rem;
36774
+ color: var(--zk-text-primary);
36775
+ outline: none;
36776
+ }
36777
+ .pills-input-field::placeholder {
36778
+ color: var(--zk-text-muted);
36779
+ }
36780
+ .pills-input-xs {
36781
+ --zk-pills-input-min-height: 28px;
36782
+ --zk-pills-input-padding: 0.125rem 0.375rem;
36783
+ --zk-pills-input-gap: 0.25rem;
36784
+ }
36785
+ .pills-input-xs .pills-input-field {
36786
+ font-size: 0.75rem;
36787
+ }
36788
+ .pills-input-sm {
36789
+ --zk-pills-input-min-height: 32px;
36790
+ --zk-pills-input-padding: 0.1875rem 0.4375rem;
36791
+ }
36792
+ .pills-input-sm .pills-input-field {
36793
+ font-size: 0.8125rem;
36794
+ }
36795
+ .pills-input-md {
36796
+ --zk-pills-input-min-height: 36px;
36797
+ }
36798
+ .pills-input-lg {
36799
+ --zk-pills-input-min-height: 42px;
36800
+ --zk-pills-input-padding: 0.375rem 0.625rem;
36801
+ --zk-pills-input-gap: 0.5rem;
36802
+ }
36803
+ .pills-input-lg .pills-input-field {
36804
+ font-size: 1rem;
36805
+ }
36806
+ .pills-input-xl {
36807
+ --zk-pills-input-min-height: 50px;
36808
+ --zk-pills-input-padding: 0.5rem 0.75rem;
36809
+ --zk-pills-input-gap: 0.5rem;
36810
+ }
36811
+ .pills-input-xl .pills-input-field {
36812
+ font-size: 1.125rem;
36813
+ }
36814
+ .pills-input-disabled {
36815
+ opacity: 0.5;
36816
+ cursor: not-allowed;
36817
+ pointer-events: none;
36818
+ background: var(--zk-bg-secondary);
36819
+ }
36820
+ .pills-input-error {
36821
+ border-color: var(--zk-danger);
36822
+ }
36823
+ .pills-input-error:focus-within {
36824
+ border-color: var(--zk-danger);
36825
+ box-shadow: 0 0 0 3px rgba(var(--zk-danger-rgb), 0.1);
36826
+ }
36827
+ .pills-input-readonly {
36828
+ background: var(--zk-bg-secondary);
36829
+ cursor: default;
36830
+ }
36831
+ .pills-input-filled {
36832
+ background: var(--zk-bg-secondary);
36833
+ border-color: transparent;
36834
+ }
36835
+ .pills-input-filled:hover:not(.pills-input-disabled) {
36836
+ background: var(--zk-bg-tertiary);
36837
+ }
36838
+ .pills-input-filled:focus-within {
36839
+ background: var(--zk-bg-primary);
36840
+ border-color: var(--zk-primary);
36841
+ }
36842
+ .pills-input-unstyled {
36843
+ background: transparent;
36844
+ border: none;
36845
+ padding: 0;
36846
+ min-height: auto;
36847
+ }
36848
+ .pills-input-unstyled:focus-within {
36849
+ box-shadow: none;
36850
+ }
36851
+
36852
+ .burger {
36853
+ --zk-burger-size: 24px;
36854
+ --zk-burger-color: var(--zk-text-primary);
36855
+ --zk-burger-line-size: 2px;
36856
+ --zk-burger-transition: 0.3s ease;
36857
+ display: inline-flex;
36858
+ align-items: center;
36859
+ justify-content: center;
36860
+ width: calc(var(--zk-burger-size) + 16px);
36861
+ height: calc(var(--zk-burger-size) + 16px);
36862
+ padding: 8px;
36863
+ background: transparent;
36864
+ border: none;
36865
+ border-radius: var(--zk-radius-sm);
36866
+ cursor: pointer;
36867
+ transition: background-color 0.15s ease;
36868
+ }
36869
+ .burger:hover {
36870
+ background: var(--zk-bg-secondary);
36871
+ }
36872
+ .burger:focus-visible {
36873
+ outline: 2px solid var(--zk-primary);
36874
+ outline-offset: 2px;
36875
+ }
36876
+ .burger-inner {
36877
+ position: relative;
36878
+ width: var(--zk-burger-size);
36879
+ height: var(--zk-burger-size);
36880
+ }
36881
+ .burger-line {
36882
+ position: absolute;
36883
+ left: 0;
36884
+ width: 100%;
36885
+ height: var(--zk-burger-line-size);
36886
+ background: var(--zk-burger-color);
36887
+ border-radius: var(--zk-burger-line-size);
36888
+ transition: transform var(--zk-burger-transition), opacity var(--zk-burger-transition);
36889
+ }
36890
+ .burger-line:nth-child(1) {
36891
+ top: 20%;
36892
+ }
36893
+ .burger-line:nth-child(2) {
36894
+ top: 50%;
36895
+ transform: translateY(-50%);
36896
+ }
36897
+ .burger-line:nth-child(3) {
36898
+ bottom: 20%;
36899
+ }
36900
+ .burger-opened .burger-line:nth-child(1) {
36901
+ top: 50%;
36902
+ transform: translateY(-50%) rotate(45deg);
36903
+ }
36904
+ .burger-opened .burger-line:nth-child(2) {
36905
+ opacity: 0;
36906
+ transform: translateY(-50%) scaleX(0);
36907
+ }
36908
+ .burger-opened .burger-line:nth-child(3) {
36909
+ bottom: 50%;
36910
+ transform: translateY(50%) rotate(-45deg);
36911
+ }
36912
+ .burger-xs {
36913
+ --zk-burger-size: 16px;
36914
+ --zk-burger-line-size: 1.5px;
36915
+ width: calc(var(--zk-burger-size) + 12px);
36916
+ height: calc(var(--zk-burger-size) + 12px);
36917
+ padding: 6px;
36918
+ }
36919
+ .burger-sm {
36920
+ --zk-burger-size: 20px;
36921
+ --zk-burger-line-size: 2px;
36922
+ width: calc(var(--zk-burger-size) + 14px);
36923
+ height: calc(var(--zk-burger-size) + 14px);
36924
+ padding: 7px;
36925
+ }
36926
+ .burger-md {
36927
+ --zk-burger-size: 24px;
36928
+ }
36929
+ .burger-lg {
36930
+ --zk-burger-size: 32px;
36931
+ --zk-burger-line-size: 3px;
36932
+ width: calc(var(--zk-burger-size) + 20px);
36933
+ height: calc(var(--zk-burger-size) + 20px);
36934
+ padding: 10px;
36935
+ }
36936
+ .burger-xl {
36937
+ --zk-burger-size: 40px;
36938
+ --zk-burger-line-size: 4px;
36939
+ width: calc(var(--zk-burger-size) + 24px);
36940
+ height: calc(var(--zk-burger-size) + 24px);
36941
+ padding: 12px;
36942
+ }
36943
+ .burger:disabled, .burger-disabled {
36944
+ opacity: 0.5;
36945
+ cursor: not-allowed;
36946
+ pointer-events: none;
36947
+ }
36948
+
36949
+ .listbox {
36950
+ --zk-listbox-bg: var(--zk-bg-primary);
36951
+ --zk-listbox-border: var(--zk-border-color);
36952
+ --zk-listbox-radius: var(--zk-radius-md);
36953
+ --zk-listbox-shadow: var(--zk-shadow-lg);
36954
+ --zk-listbox-max-height: 300px;
36955
+ display: flex;
36956
+ flex-direction: column;
36957
+ background: var(--zk-listbox-bg);
36958
+ border: 1px solid var(--zk-listbox-border);
36959
+ border-radius: var(--zk-listbox-radius);
36960
+ box-shadow: var(--zk-listbox-shadow);
36961
+ max-height: var(--zk-listbox-max-height);
36962
+ overflow-y: auto;
36963
+ outline: none;
36964
+ }
36965
+ .listbox-button {
36966
+ display: inline-flex;
36967
+ align-items: center;
36968
+ justify-content: space-between;
36969
+ gap: 0.5rem;
36970
+ width: 100%;
36971
+ padding: 0.5rem 0.75rem;
36972
+ background: var(--zk-bg-primary);
36973
+ border: 1px solid var(--zk-border-color);
36974
+ border-radius: var(--zk-radius-md);
36975
+ font-size: 0.875rem;
36976
+ color: var(--zk-text-primary);
36977
+ cursor: pointer;
36978
+ transition: border-color 0.15s ease;
36979
+ }
36980
+ .listbox-button:hover {
36981
+ border-color: var(--zk-border-hover);
36982
+ }
36983
+ .listbox-button:focus {
36984
+ outline: none;
36985
+ border-color: var(--zk-primary);
36986
+ box-shadow: 0 0 0 3px rgba(var(--zk-primary-rgb), 0.1);
36987
+ }
36988
+ .listbox-button-icon {
36989
+ flex-shrink: 0;
36990
+ width: 16px;
36991
+ height: 16px;
36992
+ color: var(--zk-text-muted);
36993
+ transition: transform 0.15s ease;
36994
+ }
36995
+ .listbox-button[aria-expanded=true] .listbox-button-icon {
36996
+ transform: rotate(180deg);
36997
+ }
36998
+ .listbox-options {
36999
+ padding: 0.25rem;
37000
+ list-style: none;
37001
+ margin: 0;
37002
+ }
37003
+ .listbox-option {
37004
+ display: flex;
37005
+ align-items: center;
37006
+ gap: 0.5rem;
37007
+ padding: 0.5rem 0.75rem;
37008
+ font-size: 0.875rem;
37009
+ color: var(--zk-text-primary);
37010
+ border-radius: var(--zk-radius-sm);
37011
+ cursor: pointer;
37012
+ transition: background-color 0.1s ease;
37013
+ user-select: none;
37014
+ }
37015
+ .listbox-option:hover, .listbox-option-active {
37016
+ background: var(--zk-bg-secondary);
37017
+ }
37018
+ .listbox-option-selected {
37019
+ background: rgba(var(--zk-primary-rgb), 0.1);
37020
+ color: var(--zk-primary);
37021
+ }
37022
+ .listbox-option-selected:hover {
37023
+ background: rgba(var(--zk-primary-rgb), 0.15);
37024
+ }
37025
+ .listbox-option-disabled {
37026
+ opacity: 0.5;
37027
+ cursor: not-allowed;
37028
+ pointer-events: none;
37029
+ }
37030
+ .listbox-option-check {
37031
+ flex-shrink: 0;
37032
+ width: 16px;
37033
+ height: 16px;
37034
+ color: var(--zk-primary);
37035
+ }
37036
+ .listbox-option-icon {
37037
+ flex-shrink: 0;
37038
+ width: 20px;
37039
+ height: 20px;
37040
+ }
37041
+ .listbox-option-content {
37042
+ flex: 1;
37043
+ min-width: 0;
37044
+ }
37045
+ .listbox-option-label {
37046
+ display: block;
37047
+ overflow: hidden;
37048
+ text-overflow: ellipsis;
37049
+ white-space: nowrap;
37050
+ }
37051
+ .listbox-option-description {
37052
+ display: block;
37053
+ font-size: 0.75rem;
37054
+ color: var(--zk-text-muted);
37055
+ overflow: hidden;
37056
+ text-overflow: ellipsis;
37057
+ white-space: nowrap;
37058
+ }
37059
+ .listbox-group-label {
37060
+ padding: 0.5rem 0.75rem 0.25rem;
37061
+ font-size: 0.6875rem;
37062
+ font-weight: 600;
37063
+ color: var(--zk-text-muted);
37064
+ text-transform: uppercase;
37065
+ letter-spacing: 0.05em;
37066
+ }
37067
+ .listbox-divider {
37068
+ height: 1px;
37069
+ margin: 0.25rem 0;
37070
+ background: var(--zk-border-color);
37071
+ }
37072
+ .listbox-empty {
37073
+ padding: 1rem;
37074
+ text-align: center;
37075
+ color: var(--zk-text-muted);
37076
+ font-size: 0.875rem;
37077
+ }
37078
+ .listbox-multiple .listbox-option-selected {
37079
+ background: transparent;
37080
+ }
37081
+ .listbox-multiple .listbox-option-selected:hover {
37082
+ background: var(--zk-bg-secondary);
37083
+ }
37084
+ .listbox-sm .listbox-option {
37085
+ padding: 0.375rem 0.5rem;
37086
+ font-size: 0.8125rem;
37087
+ }
37088
+ .listbox-lg .listbox-option {
37089
+ padding: 0.625rem 1rem;
37090
+ font-size: 1rem;
37091
+ }
37092
+
37093
+ .link-box {
37094
+ position: relative;
37095
+ }
37096
+ .link-box a:not(.link-overlay),
37097
+ .link-box button,
37098
+ .link-box [role=button],
37099
+ .link-box input,
37100
+ .link-box select,
37101
+ .link-box textarea,
37102
+ .link-box [tabindex]:not([tabindex="-1"]) {
37103
+ position: relative;
37104
+ z-index: 1;
37105
+ }
37106
+
37107
+ .link-overlay {
37108
+ position: static;
37109
+ }
37110
+ .link-overlay::before {
37111
+ content: "";
37112
+ position: absolute;
37113
+ inset: 0;
37114
+ z-index: 0;
37115
+ cursor: pointer;
37116
+ }
37117
+ .link-overlay:focus-visible {
37118
+ outline: none;
37119
+ }
37120
+ .link-overlay:focus-visible::before {
37121
+ outline: 2px solid var(--zk-primary);
37122
+ outline-offset: 2px;
37123
+ border-radius: inherit;
37124
+ }
37125
+ .link-overlay-unstyled {
37126
+ color: inherit;
37127
+ text-decoration: none;
37128
+ }
37129
+ .link-overlay-unstyled:hover {
37130
+ text-decoration: none;
37131
+ }
37132
+
37133
+ .card.link-box {
37134
+ transition: transform 0.15s ease, box-shadow 0.15s ease;
37135
+ }
37136
+ .card.link-box:hover {
37137
+ transform: translateY(-2px);
37138
+ box-shadow: var(--zk-shadow-md);
37139
+ }
37140
+ .card.link-box:has(.link-overlay:focus-visible) {
37141
+ outline: 2px solid var(--zk-primary);
37142
+ outline-offset: 2px;
37143
+ }
37144
+ .card.link-box:has(.link-overlay:focus-visible) .link-overlay:focus-visible::before {
37145
+ outline: none;
37146
+ }
37147
+
37148
+ .toggletip {
37149
+ position: relative;
37150
+ display: inline-flex;
37151
+ }
37152
+ .toggletip-trigger {
37153
+ display: inline-flex;
37154
+ align-items: center;
37155
+ justify-content: center;
37156
+ padding: 0;
37157
+ background: transparent;
37158
+ border: none;
37159
+ cursor: pointer;
37160
+ color: var(--zk-text-secondary);
37161
+ transition: color 0.15s ease;
37162
+ }
37163
+ .toggletip-trigger:hover {
37164
+ color: var(--zk-text-primary);
37165
+ }
37166
+ .toggletip-trigger:focus-visible {
37167
+ outline: 2px solid var(--zk-primary);
37168
+ outline-offset: 2px;
37169
+ border-radius: var(--zk-radius-sm);
37170
+ }
37171
+ .toggletip-trigger-icon {
37172
+ width: 16px;
37173
+ height: 16px;
37174
+ }
37175
+ .toggletip-content {
37176
+ --zk-toggletip-bg: var(--zk-bg-elevated);
37177
+ --zk-toggletip-color: var(--zk-text-primary);
37178
+ --zk-toggletip-shadow: var(--zk-shadow-lg);
37179
+ --zk-toggletip-radius: var(--zk-radius-md);
37180
+ --zk-toggletip-padding: 0.75rem 1rem;
37181
+ --zk-toggletip-max-width: 320px;
37182
+ position: absolute;
37183
+ z-index: 1000;
37184
+ padding: var(--zk-toggletip-padding);
37185
+ background: var(--zk-toggletip-bg);
37186
+ color: var(--zk-toggletip-color);
37187
+ border-radius: var(--zk-toggletip-radius);
37188
+ box-shadow: var(--zk-toggletip-shadow);
37189
+ max-width: var(--zk-toggletip-max-width);
37190
+ font-size: 0.875rem;
37191
+ line-height: 1.5;
37192
+ visibility: hidden;
37193
+ opacity: 0;
37194
+ transition: opacity 0.15s ease, visibility 0.15s ease;
37195
+ }
37196
+ .toggletip-content::before {
37197
+ content: "";
37198
+ position: absolute;
37199
+ width: 8px;
37200
+ height: 8px;
37201
+ background: inherit;
37202
+ transform: rotate(45deg);
37203
+ }
37204
+ .toggletip-open .toggletip-content {
37205
+ visibility: visible;
37206
+ opacity: 1;
37207
+ }
37208
+ .toggletip-top .toggletip-content {
37209
+ bottom: calc(100% + 8px);
37210
+ left: 50%;
37211
+ transform: translateX(-50%);
37212
+ }
37213
+ .toggletip-top .toggletip-content::before {
37214
+ bottom: -4px;
37215
+ left: 50%;
37216
+ margin-left: -4px;
37217
+ }
37218
+ .toggletip-bottom .toggletip-content {
37219
+ top: calc(100% + 8px);
37220
+ left: 50%;
37221
+ transform: translateX(-50%);
37222
+ }
37223
+ .toggletip-bottom .toggletip-content::before {
37224
+ top: -4px;
37225
+ left: 50%;
37226
+ margin-left: -4px;
37227
+ }
37228
+ .toggletip-left .toggletip-content {
37229
+ right: calc(100% + 8px);
37230
+ top: 50%;
37231
+ transform: translateY(-50%);
37232
+ }
37233
+ .toggletip-left .toggletip-content::before {
37234
+ right: -4px;
37235
+ top: 50%;
37236
+ margin-top: -4px;
37237
+ }
37238
+ .toggletip-right .toggletip-content {
37239
+ left: calc(100% + 8px);
37240
+ top: 50%;
37241
+ transform: translateY(-50%);
37242
+ }
37243
+ .toggletip-right .toggletip-content::before {
37244
+ left: -4px;
37245
+ top: 50%;
37246
+ margin-top: -4px;
37247
+ }
37248
+ .toggletip-close {
37249
+ position: absolute;
37250
+ top: 0.5rem;
37251
+ right: 0.5rem;
37252
+ display: flex;
37253
+ align-items: center;
37254
+ justify-content: center;
37255
+ width: 20px;
37256
+ height: 20px;
37257
+ padding: 0;
37258
+ background: transparent;
37259
+ border: none;
37260
+ border-radius: var(--zk-radius-sm);
37261
+ color: var(--zk-text-muted);
37262
+ cursor: pointer;
37263
+ transition: background-color 0.15s ease, color 0.15s ease;
37264
+ }
37265
+ .toggletip-close:hover {
37266
+ background: var(--zk-bg-secondary);
37267
+ color: var(--zk-text-primary);
37268
+ }
37269
+ .toggletip-with-close .toggletip-content {
37270
+ padding-right: 2.5rem;
37271
+ }
37272
+
37273
+ .disclosure {
37274
+ border: 1px solid var(--zk-border-color);
37275
+ border-radius: var(--zk-radius-md);
37276
+ overflow: hidden;
37277
+ }
37278
+ .disclosure-button {
37279
+ display: flex;
37280
+ align-items: center;
37281
+ justify-content: space-between;
37282
+ width: 100%;
37283
+ padding: 0.75rem 1rem;
37284
+ background: var(--zk-bg-primary);
37285
+ border: none;
37286
+ font-size: 0.9375rem;
37287
+ font-weight: 500;
37288
+ color: var(--zk-text-primary);
37289
+ text-align: left;
37290
+ cursor: pointer;
37291
+ transition: background-color 0.15s ease;
37292
+ }
37293
+ .disclosure-button:hover {
37294
+ background: var(--zk-bg-secondary);
37295
+ }
37296
+ .disclosure-button:focus-visible {
37297
+ outline: none;
37298
+ box-shadow: inset 0 0 0 2px var(--zk-primary);
37299
+ }
37300
+ .disclosure-button-icon {
37301
+ flex-shrink: 0;
37302
+ width: 20px;
37303
+ height: 20px;
37304
+ color: var(--zk-text-muted);
37305
+ transition: transform 0.2s ease;
37306
+ }
37307
+ .disclosure-panel {
37308
+ padding: 0 1rem 1rem;
37309
+ font-size: 0.875rem;
37310
+ color: var(--zk-text-secondary);
37311
+ line-height: 1.6;
37312
+ }
37313
+ .disclosure-panel-enter {
37314
+ overflow: hidden;
37315
+ max-height: 0;
37316
+ opacity: 0;
37317
+ }
37318
+ .disclosure-panel-enter-active {
37319
+ max-height: 500px;
37320
+ opacity: 1;
37321
+ transition: max-height 0.3s ease, opacity 0.2s ease;
37322
+ }
37323
+ .disclosure-panel-exit {
37324
+ overflow: hidden;
37325
+ max-height: 500px;
37326
+ opacity: 1;
37327
+ }
37328
+ .disclosure-panel-exit-active {
37329
+ max-height: 0;
37330
+ opacity: 0;
37331
+ transition: max-height 0.3s ease, opacity 0.2s ease;
37332
+ }
37333
+ .disclosure-open .disclosure-button-icon {
37334
+ transform: rotate(180deg);
37335
+ }
37336
+ .disclosure-flush {
37337
+ border: none;
37338
+ border-radius: 0;
37339
+ }
37340
+ .disclosure-flush .disclosure-button {
37341
+ padding-left: 0;
37342
+ padding-right: 0;
37343
+ background: transparent;
37344
+ }
37345
+ .disclosure-flush .disclosure-button:hover {
37346
+ background: transparent;
37347
+ color: var(--zk-primary);
37348
+ }
37349
+ .disclosure-flush .disclosure-panel {
37350
+ padding-left: 0;
37351
+ padding-right: 0;
37352
+ }
37353
+ .disclosure-card {
37354
+ background: var(--zk-bg-primary);
37355
+ box-shadow: var(--zk-shadow-sm);
37356
+ }
37357
+ .disclosure-card .disclosure-button {
37358
+ font-weight: 600;
37359
+ }
37360
+ .disclosure-group {
37361
+ display: flex;
37362
+ flex-direction: column;
37363
+ gap: 0;
37364
+ }
37365
+ .disclosure-group .disclosure {
37366
+ border-radius: 0;
37367
+ margin-top: -1px;
37368
+ }
37369
+ .disclosure-group .disclosure:first-child {
37370
+ border-top-left-radius: var(--zk-radius-md);
37371
+ border-top-right-radius: var(--zk-radius-md);
37372
+ margin-top: 0;
37373
+ }
37374
+ .disclosure-group .disclosure:last-child {
37375
+ border-bottom-left-radius: var(--zk-radius-md);
37376
+ border-bottom-right-radius: var(--zk-radius-md);
37377
+ }
37378
+ .disclosure-group-separated {
37379
+ display: flex;
37380
+ flex-direction: column;
37381
+ gap: 0.5rem;
37382
+ }
37383
+ .disclosure-group-separated .disclosure {
37384
+ border-radius: var(--zk-radius-md);
37385
+ margin-top: 0;
37386
+ }
37387
+ .disclosure-sm .disclosure-button {
37388
+ padding: 0.5rem 0.75rem;
37389
+ font-size: 0.8125rem;
37390
+ }
37391
+ .disclosure-sm .disclosure-panel {
37392
+ padding: 0 0.75rem 0.75rem;
37393
+ font-size: 0.8125rem;
37394
+ }
37395
+ .disclosure-lg .disclosure-button {
37396
+ padding: 1rem 1.25rem;
37397
+ font-size: 1rem;
37398
+ }
37399
+ .disclosure-lg .disclosure-panel {
37400
+ padding: 0 1.25rem 1.25rem;
37401
+ font-size: 0.9375rem;
37402
+ }
37403
+ .disclosure-disabled {
37404
+ opacity: 0.5;
37405
+ pointer-events: none;
37406
+ }
37407
+
37408
+ .range-calendar {
37409
+ --zk-rcal-bg: var(--zk-bg-primary);
37410
+ --zk-rcal-border: var(--zk-border-color);
37411
+ --zk-rcal-radius: var(--zk-radius-lg);
37412
+ --zk-rcal-cell-size: 36px;
37413
+ --zk-rcal-gap: 2px;
37414
+ display: inline-flex;
37415
+ flex-direction: column;
37416
+ background: var(--zk-rcal-bg);
37417
+ border: 1px solid var(--zk-rcal-border);
37418
+ border-radius: var(--zk-rcal-radius);
37419
+ padding: 1rem;
37420
+ user-select: none;
37421
+ }
37422
+ .range-calendar-header {
37423
+ display: flex;
37424
+ align-items: center;
37425
+ justify-content: space-between;
37426
+ margin-bottom: 1rem;
37427
+ }
37428
+ .range-calendar-title {
37429
+ font-size: 0.9375rem;
37430
+ font-weight: 600;
37431
+ color: var(--zk-text-primary);
37432
+ }
37433
+ .range-calendar-nav {
37434
+ display: flex;
37435
+ gap: 0.25rem;
37436
+ }
37437
+ .range-calendar-nav-btn {
37438
+ display: flex;
37439
+ align-items: center;
37440
+ justify-content: center;
37441
+ width: 28px;
37442
+ height: 28px;
37443
+ padding: 0;
37444
+ background: transparent;
37445
+ border: none;
37446
+ border-radius: var(--zk-radius-sm);
37447
+ color: var(--zk-text-secondary);
37448
+ cursor: pointer;
37449
+ transition: background-color 0.15s ease, color 0.15s ease;
37450
+ }
37451
+ .range-calendar-nav-btn:hover {
37452
+ background: var(--zk-bg-secondary);
37453
+ color: var(--zk-text-primary);
37454
+ }
37455
+ .range-calendar-nav-btn:disabled {
37456
+ opacity: 0.3;
37457
+ cursor: not-allowed;
37458
+ }
37459
+ .range-calendar-weekdays {
37460
+ display: grid;
37461
+ grid-template-columns: repeat(7, var(--zk-rcal-cell-size));
37462
+ gap: var(--zk-rcal-gap);
37463
+ margin-bottom: 0.5rem;
37464
+ }
37465
+ .range-calendar-weekday {
37466
+ display: flex;
37467
+ align-items: center;
37468
+ justify-content: center;
37469
+ height: var(--zk-rcal-cell-size);
37470
+ font-size: 0.75rem;
37471
+ font-weight: 500;
37472
+ color: var(--zk-text-muted);
37473
+ text-transform: uppercase;
37474
+ }
37475
+ .range-calendar-days {
37476
+ display: grid;
37477
+ grid-template-columns: repeat(7, var(--zk-rcal-cell-size));
37478
+ gap: var(--zk-rcal-gap);
37479
+ }
37480
+ .range-calendar-day {
37481
+ display: flex;
37482
+ align-items: center;
37483
+ justify-content: center;
37484
+ height: var(--zk-rcal-cell-size);
37485
+ font-size: 0.875rem;
37486
+ color: var(--zk-text-primary);
37487
+ background: transparent;
37488
+ border: none;
37489
+ border-radius: var(--zk-radius-sm);
37490
+ cursor: pointer;
37491
+ transition: background-color 0.1s ease, color 0.1s ease;
37492
+ position: relative;
37493
+ }
37494
+ .range-calendar-day:hover:not(.range-calendar-day-disabled):not(.range-calendar-day-outside) {
37495
+ background: var(--zk-bg-secondary);
37496
+ }
37497
+ .range-calendar-day-outside {
37498
+ color: var(--zk-text-disabled);
37499
+ }
37500
+ .range-calendar-day-today {
37501
+ font-weight: 600;
37502
+ }
37503
+ .range-calendar-day-today::after {
37504
+ content: "";
37505
+ position: absolute;
37506
+ bottom: 4px;
37507
+ left: 50%;
37508
+ transform: translateX(-50%);
37509
+ width: 4px;
37510
+ height: 4px;
37511
+ background: var(--zk-primary);
37512
+ border-radius: 50%;
37513
+ }
37514
+ .range-calendar-day-disabled {
37515
+ color: var(--zk-text-disabled);
37516
+ cursor: not-allowed;
37517
+ }
37518
+ .range-calendar-day-range-start {
37519
+ background: var(--zk-primary);
37520
+ color: #fff;
37521
+ border-radius: var(--zk-radius-sm) 0 0 var(--zk-radius-sm);
37522
+ }
37523
+ .range-calendar-day-range-start:hover {
37524
+ background: var(--zk-primary-dark);
37525
+ }
37526
+ .range-calendar-day-range-end {
37527
+ background: var(--zk-primary);
37528
+ color: #fff;
37529
+ border-radius: 0 var(--zk-radius-sm) var(--zk-radius-sm) 0;
37530
+ }
37531
+ .range-calendar-day-range-end:hover {
37532
+ background: var(--zk-primary-dark);
37533
+ }
37534
+ .range-calendar-day-in-range {
37535
+ background: rgba(var(--zk-primary-rgb), 0.1);
37536
+ color: var(--zk-primary);
37537
+ border-radius: 0;
37538
+ }
37539
+ .range-calendar-day-in-range:hover {
37540
+ background: rgba(var(--zk-primary-rgb), 0.2);
37541
+ }
37542
+ .range-calendar-day-range-start.range-calendar-day-range-end {
37543
+ border-radius: var(--zk-radius-sm);
37544
+ }
37545
+ .range-calendar-day-selection-preview {
37546
+ background: rgba(var(--zk-primary-rgb), 0.05);
37547
+ }
37548
+ .range-calendar-dual {
37549
+ flex-direction: row;
37550
+ gap: 1.5rem;
37551
+ }
37552
+ .range-calendar-dual .range-calendar-month {
37553
+ flex: 1;
37554
+ }
37555
+ .range-calendar-dual .range-calendar-divider {
37556
+ width: 1px;
37557
+ background: var(--zk-border-color);
37558
+ margin: 0 0.5rem;
37559
+ }
37560
+ .range-calendar-presets {
37561
+ display: flex;
37562
+ flex-direction: column;
37563
+ gap: 0.25rem;
37564
+ padding-right: 1rem;
37565
+ margin-right: 1rem;
37566
+ border-right: 1px solid var(--zk-border-color);
37567
+ min-width: 140px;
37568
+ }
37569
+ .range-calendar-preset {
37570
+ padding: 0.5rem 0.75rem;
37571
+ background: transparent;
37572
+ border: none;
37573
+ border-radius: var(--zk-radius-sm);
37574
+ font-size: 0.8125rem;
37575
+ color: var(--zk-text-secondary);
37576
+ text-align: left;
37577
+ cursor: pointer;
37578
+ transition: background-color 0.15s ease, color 0.15s ease;
37579
+ }
37580
+ .range-calendar-preset:hover {
37581
+ background: var(--zk-bg-secondary);
37582
+ color: var(--zk-text-primary);
37583
+ }
37584
+ .range-calendar-preset-active {
37585
+ background: rgba(var(--zk-primary-rgb), 0.1);
37586
+ color: var(--zk-primary);
37587
+ }
37588
+ .range-calendar-with-presets {
37589
+ flex-direction: row;
37590
+ }
37591
+ .range-calendar-footer {
37592
+ display: flex;
37593
+ align-items: center;
37594
+ justify-content: space-between;
37595
+ margin-top: 1rem;
37596
+ padding-top: 1rem;
37597
+ border-top: 1px solid var(--zk-border-color);
37598
+ }
37599
+ .range-calendar-selected-range {
37600
+ font-size: 0.8125rem;
37601
+ color: var(--zk-text-secondary);
37602
+ }
37603
+ .range-calendar-actions {
37604
+ display: flex;
37605
+ gap: 0.5rem;
37606
+ }
37607
+ .range-calendar-sm {
37608
+ --zk-rcal-cell-size: 28px;
37609
+ padding: 0.75rem;
37610
+ font-size: 0.8125rem;
37611
+ }
37612
+ .range-calendar-lg {
37613
+ --zk-rcal-cell-size: 44px;
37614
+ padding: 1.25rem;
37615
+ }
37616
+
36709
37617
  .accordion {
36710
37618
  --accordion-color: var(--text);
36711
37619
  --accordion-bg: transparent;