@bagelink/vue 1.2.20 → 1.2.22
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/components/Spreadsheet/Index.vue.d.ts.map +1 -1
- package/dist/components/Spreadsheet/SpreadsheetTable.vue.d.ts +1 -0
- package/dist/components/Spreadsheet/SpreadsheetTable.vue.d.ts.map +1 -1
- package/dist/components/form/BglMultiStepForm.vue.d.ts.map +1 -1
- package/dist/index.cjs +80 -77
- package/dist/index.mjs +80 -77
- package/dist/style.css +92 -59
- package/package.json +1 -1
- package/src/components/Spreadsheet/Index.vue +13 -8
- package/src/components/Spreadsheet/SpreadsheetTable.vue +19 -3
- package/src/components/form/BglMultiStepForm.vue +1 -0
- package/src/components/form/inputs/TextInput.vue +1 -1
- package/src/styles/layout.css +13 -1
- package/src/styles/mobilLayout.css +11 -0
package/dist/style.css
CHANGED
|
@@ -1108,10 +1108,11 @@ fieldset[data-v-f7e758e5] {
|
|
|
1108
1108
|
.fi[data-v-f99f1900]:before{ content:" "
|
|
1109
1109
|
}
|
|
1110
1110
|
|
|
1111
|
-
.bgl-multi-step-form[data-v-
|
|
1111
|
+
.bgl-multi-step-form[data-v-06c34cf2] {
|
|
1112
1112
|
display: flex;
|
|
1113
1113
|
flex-direction: column;
|
|
1114
1114
|
gap: 1rem;
|
|
1115
|
+
width: 100%;
|
|
1115
1116
|
/* Default transition duration */
|
|
1116
1117
|
--transition-duration: 200ms;
|
|
1117
1118
|
--move-distance: 35%;
|
|
@@ -1120,19 +1121,19 @@ fieldset[data-v-f7e758e5] {
|
|
|
1120
1121
|
/* --ease-in: cubic-bezier(0.42, 0, 0.58, 1); */
|
|
1121
1122
|
/* --ease-out: cubic-bezier(0.5, 0, 0.75, 0); */
|
|
1122
1123
|
}
|
|
1123
|
-
.bgl-steps-indicator[data-v-
|
|
1124
|
+
.bgl-steps-indicator[data-v-06c34cf2] {
|
|
1124
1125
|
display: flex;
|
|
1125
1126
|
justify-content: space-between;
|
|
1126
1127
|
align-items: center;
|
|
1127
1128
|
margin-bottom: 1rem;
|
|
1128
1129
|
}
|
|
1129
|
-
.bgl-step-indicator[data-v-
|
|
1130
|
+
.bgl-step-indicator[data-v-06c34cf2] {
|
|
1130
1131
|
display: flex;
|
|
1131
1132
|
flex-direction: column;
|
|
1132
1133
|
align-items: center;
|
|
1133
1134
|
position: relative;
|
|
1134
1135
|
}
|
|
1135
|
-
.bgl-step-indicator[data-v-
|
|
1136
|
+
.bgl-step-indicator[data-v-06c34cf2]::before {
|
|
1136
1137
|
content: '';
|
|
1137
1138
|
position: absolute;
|
|
1138
1139
|
top: 50%;
|
|
@@ -1142,10 +1143,10 @@ fieldset[data-v-f7e758e5] {
|
|
|
1142
1143
|
background: #e0e0e0;
|
|
1143
1144
|
z-index: -1;
|
|
1144
1145
|
}
|
|
1145
|
-
.bgl-step-indicator[data-v-
|
|
1146
|
+
.bgl-step-indicator[data-v-06c34cf2]:first-child::before {
|
|
1146
1147
|
display: none;
|
|
1147
1148
|
}
|
|
1148
|
-
.bgl-step-indicator > span[data-v-
|
|
1149
|
+
.bgl-step-indicator > span[data-v-06c34cf2]:first-child {
|
|
1149
1150
|
width: 30px;
|
|
1150
1151
|
height: 30px;
|
|
1151
1152
|
border-radius: 50%;
|
|
@@ -1156,23 +1157,23 @@ fieldset[data-v-f7e758e5] {
|
|
|
1156
1157
|
justify-content: center;
|
|
1157
1158
|
margin-bottom: 0.5rem;
|
|
1158
1159
|
}
|
|
1159
|
-
.bgl-step-indicator.active > span[data-v-
|
|
1160
|
+
.bgl-step-indicator.active > span[data-v-06c34cf2]:first-child {
|
|
1160
1161
|
background: var(--primary-color, #4CAF50);
|
|
1161
1162
|
color: white;
|
|
1162
1163
|
}
|
|
1163
|
-
.bgl-step-indicator.completed > span[data-v-
|
|
1164
|
+
.bgl-step-indicator.completed > span[data-v-06c34cf2]:first-child {
|
|
1164
1165
|
background: var(--success-color, #8BC34A);
|
|
1165
1166
|
color: white;
|
|
1166
1167
|
}
|
|
1167
|
-
.bgl-step-indicator.clickable[data-v-
|
|
1168
|
+
.bgl-step-indicator.clickable[data-v-06c34cf2] {
|
|
1168
1169
|
cursor: pointer;
|
|
1169
1170
|
}
|
|
1170
|
-
.bgl-step-label[data-v-
|
|
1171
|
+
.bgl-step-label[data-v-06c34cf2] {
|
|
1171
1172
|
font-size: 0.8rem;
|
|
1172
1173
|
max-width: 100px;
|
|
1173
1174
|
text-align: center;
|
|
1174
1175
|
}
|
|
1175
|
-
.bgl-form-wrapper[data-v-
|
|
1176
|
+
.bgl-form-wrapper[data-v-06c34cf2] {
|
|
1176
1177
|
display: grid;
|
|
1177
1178
|
overflow: clip;
|
|
1178
1179
|
height: auto;
|
|
@@ -1180,15 +1181,15 @@ fieldset[data-v-f7e758e5] {
|
|
|
1180
1181
|
transition: height var(--transition-duration) ease;
|
|
1181
1182
|
interpolate-size: allow-keywords;
|
|
1182
1183
|
}
|
|
1183
|
-
.bgl-form-wrapper > div[data-v-
|
|
1184
|
+
.bgl-form-wrapper > div[data-v-06c34cf2] {
|
|
1184
1185
|
grid-area: 1 / 1;
|
|
1185
1186
|
}
|
|
1186
|
-
.bgl-form-container[data-v-
|
|
1187
|
+
.bgl-form-container[data-v-06c34cf2] {
|
|
1187
1188
|
width: 100%;
|
|
1188
1189
|
display: flex;
|
|
1189
1190
|
flex-direction: column;
|
|
1190
1191
|
}
|
|
1191
|
-
.bgl-step-controls[data-v-
|
|
1192
|
+
.bgl-step-controls[data-v-06c34cf2] {
|
|
1192
1193
|
display: flex;
|
|
1193
1194
|
justify-content: center;
|
|
1194
1195
|
gap: 1rem;
|
|
@@ -1196,34 +1197,34 @@ fieldset[data-v-f7e758e5] {
|
|
|
1196
1197
|
}
|
|
1197
1198
|
|
|
1198
1199
|
/* Slide Left Animation (going forward) */
|
|
1199
|
-
.slide-left-enter-active[data-v-
|
|
1200
|
+
.slide-left-enter-active[data-v-06c34cf2] {
|
|
1200
1201
|
transition: opacity, transform calc(var(--transition-duration) * 1.2) var(--ease-in);
|
|
1201
1202
|
}
|
|
1202
|
-
.slide-left-leave-active[data-v-
|
|
1203
|
+
.slide-left-leave-active[data-v-06c34cf2] {
|
|
1203
1204
|
transition: opacity, transform var(--transition-duration) var(--ease-out);
|
|
1204
1205
|
}
|
|
1205
|
-
.slide-left-enter-from[data-v-
|
|
1206
|
+
.slide-left-enter-from[data-v-06c34cf2] {
|
|
1206
1207
|
opacity: 0;
|
|
1207
1208
|
transform: translateX(var(--move-distance));
|
|
1208
1209
|
}
|
|
1209
|
-
.slide-left-leave-to[data-v-
|
|
1210
|
+
.slide-left-leave-to[data-v-06c34cf2] {
|
|
1210
1211
|
opacity: 0;
|
|
1211
1212
|
transform: translateX(-30%);
|
|
1212
1213
|
}
|
|
1213
1214
|
|
|
1214
1215
|
/* Slide Right Animation (going back) */
|
|
1215
|
-
.slide-right-enter-active[data-v-
|
|
1216
|
+
.slide-right-enter-active[data-v-06c34cf2] {
|
|
1216
1217
|
transition: all calc(var(--transition-duration) * 1.2) var(--ease-in);
|
|
1217
1218
|
}
|
|
1218
|
-
.slide-right-leave-active[data-v-
|
|
1219
|
+
.slide-right-leave-active[data-v-06c34cf2] {
|
|
1219
1220
|
transition: all var(--transition-duration) var(--ease-out);
|
|
1220
1221
|
transition-property: opacity, transform;
|
|
1221
1222
|
}
|
|
1222
|
-
.slide-right-enter-from[data-v-
|
|
1223
|
+
.slide-right-enter-from[data-v-06c34cf2] {
|
|
1223
1224
|
opacity: 0;
|
|
1224
1225
|
transform: translateX(-30%);
|
|
1225
1226
|
}
|
|
1226
|
-
.slide-right-leave-to[data-v-
|
|
1227
|
+
.slide-right-leave-to[data-v-06c34cf2] {
|
|
1227
1228
|
opacity: 0;
|
|
1228
1229
|
transform: translateX(var(--move-distance));
|
|
1229
1230
|
}
|
|
@@ -2280,58 +2281,58 @@ input[type="range"][data-v-46e22f3e]:active::-webkit-slider-thumb {
|
|
|
2280
2281
|
font-size: var(--label-font-size);
|
|
2281
2282
|
}
|
|
2282
2283
|
|
|
2283
|
-
.bagel-input textarea[data-v-
|
|
2284
|
+
.bagel-input textarea[data-v-da1189c6] {
|
|
2284
2285
|
min-height: unset;
|
|
2285
2286
|
font-size: var(--input-font-size);
|
|
2286
2287
|
}
|
|
2287
|
-
.bagel-input.text-input textarea[data-v-
|
|
2288
|
+
.bagel-input.text-input textarea[data-v-da1189c6] {
|
|
2288
2289
|
resize: none;
|
|
2289
2290
|
}
|
|
2290
|
-
.code textarea[data-v-
|
|
2291
|
+
.code textarea[data-v-da1189c6] {
|
|
2291
2292
|
font-family: 'Inconsolata', monospace;
|
|
2292
2293
|
background: var(--bgl-code-bg) !important;
|
|
2293
2294
|
color: var(--bgl-light-text) !important;
|
|
2294
2295
|
}
|
|
2295
|
-
.code textarea[data-v-
|
|
2296
|
+
.code textarea[data-v-da1189c6]::placeholder {
|
|
2296
2297
|
color: var(--bgl-light-text) !important;
|
|
2297
2298
|
opacity: 0.3;
|
|
2298
2299
|
}
|
|
2299
|
-
.bagel-input.small[data-v-
|
|
2300
|
+
.bagel-input.small[data-v-da1189c6] {
|
|
2300
2301
|
margin-bottom: 0;
|
|
2301
2302
|
height: 30px;
|
|
2302
2303
|
}
|
|
2303
|
-
.bagel-input.dense label[data-v-
|
|
2304
|
+
.bagel-input.dense label[data-v-da1189c6] {
|
|
2304
2305
|
display: flex;
|
|
2305
2306
|
align-items: center;
|
|
2306
2307
|
gap: 0.5rem;
|
|
2307
2308
|
}
|
|
2308
|
-
.bagel-input input[data-v-
|
|
2309
|
+
.bagel-input input[data-v-da1189c6]:disabled {
|
|
2309
2310
|
background: #f5f5f5;
|
|
2310
2311
|
}
|
|
2311
|
-
.bagel-input label[data-v-
|
|
2312
|
+
.bagel-input label[data-v-da1189c6] {
|
|
2312
2313
|
font-size: var(--label-font-size);
|
|
2313
2314
|
}
|
|
2314
|
-
.textInputIconWrap .bgl_icon-font[data-v-
|
|
2315
|
+
.textInputIconWrap .bgl_icon-font[data-v-da1189c6] {
|
|
2315
2316
|
color: var(--input-color);
|
|
2316
2317
|
position: absolute;
|
|
2317
2318
|
inset-inline-end:calc(var(--input-height) / 3 - 0.25rem);
|
|
2318
2319
|
margin-top: calc(var(--input-height) / 2 + 0.1rem);
|
|
2319
2320
|
line-height: 0;
|
|
2320
2321
|
}
|
|
2321
|
-
.textInputIconWrap input[data-v-
|
|
2322
|
+
.textInputIconWrap input[data-v-da1189c6]{
|
|
2322
2323
|
padding-inline-end: calc(var(--input-height) / 3 + 1.5rem);
|
|
2323
2324
|
}
|
|
2324
|
-
.txtInputIconStart .iconStart[data-v-
|
|
2325
|
+
.txtInputIconStart .iconStart[data-v-da1189c6] {
|
|
2325
2326
|
color: var(--input-color);
|
|
2326
2327
|
position: absolute;
|
|
2327
2328
|
inset-inline-start:calc(var(--input-height) / 3 - 0.25rem);
|
|
2328
2329
|
margin-top: calc(var(--input-height) / 2 );
|
|
2329
2330
|
line-height: 0;
|
|
2330
2331
|
}
|
|
2331
|
-
.txtInputIconStart input[data-v-
|
|
2332
|
+
.txtInputIconStart input[data-v-da1189c6], .txtInputIconStart textarea[data-v-da1189c6]{
|
|
2332
2333
|
padding-inline-start: calc(var(--input-height) / 3 + 1.5rem);
|
|
2333
2334
|
}
|
|
2334
|
-
.bagel-input.small textarea[data-v-
|
|
2335
|
+
.bagel-input.small textarea[data-v-da1189c6] {
|
|
2335
2336
|
height: 30px;
|
|
2336
2337
|
}
|
|
2337
2338
|
|
|
@@ -4284,20 +4285,25 @@ body:has(.bg-dark.is-active) {
|
|
|
4284
4285
|
background: transparent;
|
|
4285
4286
|
}
|
|
4286
4287
|
|
|
4287
|
-
.
|
|
4288
|
+
.stickyTop[data-v-857ccb8b]{
|
|
4289
|
+
position: sticky;
|
|
4290
|
+
top: -0.125rem;
|
|
4291
|
+
z-index: 1;
|
|
4292
|
+
}
|
|
4293
|
+
.fixed-columns[data-v-857ccb8b] {
|
|
4288
4294
|
border-right: 2px solid var(--border-color);
|
|
4289
4295
|
}
|
|
4290
|
-
table[data-v-
|
|
4296
|
+
table[data-v-857ccb8b] {
|
|
4291
4297
|
border-collapse: collapse;
|
|
4292
4298
|
}
|
|
4293
|
-
th[data-v-
|
|
4299
|
+
th[data-v-857ccb8b], td[data-v-857ccb8b] {
|
|
4294
4300
|
border: 1px solid var(--border-color);
|
|
4295
4301
|
padding: 0.1rem 0.5rem;
|
|
4296
4302
|
min-width: 80px;
|
|
4297
4303
|
background: var(--bgl-white);
|
|
4298
4304
|
user-select: none;
|
|
4299
4305
|
}
|
|
4300
|
-
th[data-v-
|
|
4306
|
+
th[data-v-857ccb8b] {
|
|
4301
4307
|
background: var(--input-bg);
|
|
4302
4308
|
white-space: nowrap;
|
|
4303
4309
|
position: relative;
|
|
@@ -4305,27 +4311,27 @@ th[data-v-ad70b6cd] {
|
|
|
4305
4311
|
font-weight: 500;
|
|
4306
4312
|
text-align: start;
|
|
4307
4313
|
}
|
|
4308
|
-
th .bgl_icon-font[data-v-
|
|
4314
|
+
th .bgl_icon-font[data-v-857ccb8b]{
|
|
4309
4315
|
vertical-align: middle;
|
|
4310
4316
|
}
|
|
4311
|
-
td.selected[data-v-
|
|
4317
|
+
td.selected[data-v-857ccb8b] {
|
|
4312
4318
|
background: var(--bgl-primary-light);
|
|
4313
4319
|
}
|
|
4314
|
-
td.locked[data-v-
|
|
4320
|
+
td.locked[data-v-857ccb8b] {
|
|
4315
4321
|
background: var(--bgl-gray-light);
|
|
4316
4322
|
cursor: default;
|
|
4317
4323
|
}
|
|
4318
|
-
td.locked.selected[data-v-
|
|
4324
|
+
td.locked.selected[data-v-857ccb8b] {
|
|
4319
4325
|
background: var(--bgl-primary-light);
|
|
4320
4326
|
}
|
|
4321
|
-
td[data-v-
|
|
4327
|
+
td[data-v-857ccb8b] {
|
|
4322
4328
|
height: 40px;
|
|
4323
4329
|
vertical-align: middle;
|
|
4324
4330
|
}
|
|
4325
|
-
td[data-v-
|
|
4331
|
+
td[data-v-857ccb8b]:has(img){
|
|
4326
4332
|
padding: 0;
|
|
4327
4333
|
}
|
|
4328
|
-
td span[data-v-
|
|
4334
|
+
td span[data-v-857ccb8b]{
|
|
4329
4335
|
display: block;
|
|
4330
4336
|
display: -webkit-box;
|
|
4331
4337
|
max-width: 100%;
|
|
@@ -4335,7 +4341,16 @@ td span[data-v-ad70b6cd]{
|
|
|
4335
4341
|
-webkit-line-clamp: 1;
|
|
4336
4342
|
word-break: break-all;
|
|
4337
4343
|
}
|
|
4338
|
-
|
|
4344
|
+
td.wrap-text[data-v-857ccb8b] {
|
|
4345
|
+
height: auto;
|
|
4346
|
+
min-height: 40px;
|
|
4347
|
+
}
|
|
4348
|
+
td.wrap-text span[data-v-857ccb8b] {
|
|
4349
|
+
white-space: normal;
|
|
4350
|
+
-webkit-line-clamp: unset;
|
|
4351
|
+
word-break: break-word;
|
|
4352
|
+
}
|
|
4353
|
+
input[data-v-857ccb8b] {
|
|
4339
4354
|
width: 100%;
|
|
4340
4355
|
border: none;
|
|
4341
4356
|
background: transparent;
|
|
@@ -4344,45 +4359,45 @@ input[data-v-ad70b6cd] {
|
|
|
4344
4359
|
min-height: 0;
|
|
4345
4360
|
min-width: 0;
|
|
4346
4361
|
}
|
|
4347
|
-
input[data-v-
|
|
4362
|
+
input[data-v-857ccb8b]:focus {
|
|
4348
4363
|
outline: 2px solid var(--bgl-primary);
|
|
4349
4364
|
outline-offset: 6px;
|
|
4350
4365
|
}
|
|
4351
|
-
th.sortable[data-v-
|
|
4366
|
+
th.sortable[data-v-857ccb8b] {
|
|
4352
4367
|
cursor: pointer;
|
|
4353
4368
|
}
|
|
4354
|
-
.row-number-header[data-v-
|
|
4369
|
+
.row-number-header[data-v-857ccb8b], .row-number[data-v-857ccb8b] {
|
|
4355
4370
|
width: fit-content;
|
|
4356
4371
|
min-width: fit-content !important;
|
|
4357
4372
|
padding: 0.1rem 0.7rem !important;
|
|
4358
4373
|
}
|
|
4359
|
-
td .bgl-checkbox[data-v-
|
|
4374
|
+
td .bgl-checkbox[data-v-857ccb8b]{
|
|
4360
4375
|
margin: 0;
|
|
4361
4376
|
text-align: center;
|
|
4362
4377
|
justify-content: center;
|
|
4363
4378
|
}
|
|
4364
|
-
td[data-v-
|
|
4379
|
+
td[data-v-857ccb8b]:has(.bgl-checkbox){
|
|
4365
4380
|
text-align: center;
|
|
4366
4381
|
background: var(--input-bg);
|
|
4367
4382
|
}
|
|
4368
|
-
td[data-v-
|
|
4383
|
+
td[data-v-857ccb8b]:has(:checked){
|
|
4369
4384
|
background: var(--bgl-primary-light);
|
|
4370
4385
|
}
|
|
4371
|
-
.spreadsheetCellPlaceHolder[data-v-
|
|
4386
|
+
.spreadsheetCellPlaceHolder[data-v-857ccb8b]{
|
|
4372
4387
|
height: 0px;
|
|
4373
4388
|
overflow: hidden;
|
|
4374
4389
|
opacity: 0;
|
|
4375
4390
|
pointer-events: none;
|
|
4376
4391
|
user-select: none;
|
|
4377
4392
|
}
|
|
4378
|
-
.th-content[data-v-
|
|
4393
|
+
.th-content[data-v-857ccb8b] {
|
|
4379
4394
|
position: relative;
|
|
4380
4395
|
display: flex;
|
|
4381
4396
|
align-items: center;
|
|
4382
4397
|
width: 100%;
|
|
4383
4398
|
height: 100%;
|
|
4384
4399
|
}
|
|
4385
|
-
.resize-handle[data-v-
|
|
4400
|
+
.resize-handle[data-v-857ccb8b] {
|
|
4386
4401
|
position: absolute;
|
|
4387
4402
|
right: -8px;
|
|
4388
4403
|
top: 0;
|
|
@@ -4393,12 +4408,12 @@ td[data-v-ad70b6cd]:has(:checked){
|
|
|
4393
4408
|
background: transparent;
|
|
4394
4409
|
transition: background 0.2s;
|
|
4395
4410
|
}
|
|
4396
|
-
.resize-handle[data-v-
|
|
4411
|
+
.resize-handle[data-v-857ccb8b]:hover {
|
|
4397
4412
|
background: var(--bgl-primary);
|
|
4398
4413
|
}
|
|
4399
4414
|
|
|
4400
4415
|
/* Spreadsheet container styles */
|
|
4401
|
-
.spreadsheet[data-v-
|
|
4416
|
+
.spreadsheet[data-v-a7d01d6e] {
|
|
4402
4417
|
user-select: none;
|
|
4403
4418
|
}
|
|
4404
4419
|
|
|
@@ -4513,6 +4528,8 @@ to {
|
|
|
4513
4528
|
border-radius: var(--btn-border-radius) !important;
|
|
4514
4529
|
}.rounded-thin {
|
|
4515
4530
|
border-radius: calc(var(--btn-border-radius) / 1.5) !important;
|
|
4531
|
+
}.radius-025 {
|
|
4532
|
+
border-radius: calc(var(--btn-border-radius) / 4) !important;
|
|
4516
4533
|
}.radius-05 {
|
|
4517
4534
|
border-radius: calc(var(--btn-border-radius) / 2) !important;
|
|
4518
4535
|
}.radius-2 {
|
|
@@ -4571,6 +4588,10 @@ to {
|
|
|
4571
4588
|
}.fit-content {
|
|
4572
4589
|
width: fit-content;
|
|
4573
4590
|
height: fit-content;
|
|
4591
|
+
}.w-fit-content,
|
|
4592
|
+
.w-fit,
|
|
4593
|
+
.wfit {
|
|
4594
|
+
width: fit-content;
|
|
4574
4595
|
}.auto-flow-columns {
|
|
4575
4596
|
grid-auto-flow: column;
|
|
4576
4597
|
}.grid-2-col {
|
|
@@ -6921,7 +6942,8 @@ to {
|
|
|
6921
6942
|
}.flex-grow,
|
|
6922
6943
|
.flex-grow-1 {
|
|
6923
6944
|
flex-grow: 1;
|
|
6924
|
-
}.flex-shrink,
|
|
6945
|
+
}.flex-shrink,
|
|
6946
|
+
.flex-shrink-1 {
|
|
6925
6947
|
flex-shrink: 1;
|
|
6926
6948
|
}.flex-no-grow,
|
|
6927
6949
|
.flex-grow-0 {
|
|
@@ -8542,6 +8564,10 @@ to {
|
|
|
8542
8564
|
border-radius: calc(var(--btn-border-radius) / 1.5) !important;
|
|
8543
8565
|
}
|
|
8544
8566
|
|
|
8567
|
+
.m_radius-025 {
|
|
8568
|
+
border-radius: calc(var(--btn-border-radius) / 4) !important;
|
|
8569
|
+
}
|
|
8570
|
+
|
|
8545
8571
|
.m_radius-05 {
|
|
8546
8572
|
border-radius: calc(var(--btn-border-radius) / 2) !important;
|
|
8547
8573
|
}
|
|
@@ -8649,6 +8675,13 @@ to {
|
|
|
8649
8675
|
height: fit-content;
|
|
8650
8676
|
}
|
|
8651
8677
|
|
|
8678
|
+
.m_w-fit-content,
|
|
8679
|
+
.m_w-fit,
|
|
8680
|
+
.m_wfit {
|
|
8681
|
+
width: fit-content;
|
|
8682
|
+
}
|
|
8683
|
+
|
|
8684
|
+
|
|
8652
8685
|
.m_auto-flow-columns {
|
|
8653
8686
|
grid-auto-flow: column;
|
|
8654
8687
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
|
-
import { Btn, CheckInput, TextInput } from '@bagelink/vue'
|
|
2
|
+
import { Btn, CheckInput, TextInput, ToggleInput, localRef, ListItem, Dropdown } from '@bagelink/vue'
|
|
3
3
|
import { computed, ref, watch, nextTick, onUnmounted } from 'vue'
|
|
4
|
-
import Dropdown from '../Dropdown.vue'
|
|
5
4
|
import SpreadsheetTable from './SpreadsheetTable.vue'
|
|
6
5
|
|
|
7
6
|
// Define column configuration types
|
|
@@ -227,6 +226,7 @@ interface CellPosition {
|
|
|
227
226
|
const isSelecting = ref(false)
|
|
228
227
|
const selectionStart = ref<CellPosition | null>(null)
|
|
229
228
|
const selectionEnd = ref<CellPosition | null>(null)
|
|
229
|
+
const wrapText = localRef('wrapText', false)
|
|
230
230
|
|
|
231
231
|
// Reactive variable to track the currently editing cell
|
|
232
232
|
const editingCell = ref<CellPosition | null>(null)
|
|
@@ -688,7 +688,7 @@ const columnOptions = computed(() => {
|
|
|
688
688
|
</script>
|
|
689
689
|
|
|
690
690
|
<template>
|
|
691
|
-
<div class="w-100p
|
|
691
|
+
<div class="w-100p" tabindex="-1" @keydown="handleSpreadsheetKeyDown">
|
|
692
692
|
<div class="flex gap-05 py-05 justify-content-end m_flex-wrap">
|
|
693
693
|
<label v-if="label" class="label me-auto">{{ label }}</label>
|
|
694
694
|
<div class="flex gap-075">
|
|
@@ -709,10 +709,13 @@ const columnOptions = computed(() => {
|
|
|
709
709
|
</div>
|
|
710
710
|
</Dropdown>
|
|
711
711
|
<TextInput ref="searchInputRef" v-model="search" icon="search" placeholder="Search" class="m-0 max-w200px" />
|
|
712
|
-
<
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
712
|
+
<Dropdown flat thin icon="more_vert">
|
|
713
|
+
<ListItem title="Paste" icon="paste" @click="pasteSelection" />
|
|
714
|
+
<ListItem title="copy" icon="copy" @click="copySelection" />
|
|
715
|
+
<ListItem title="Undo" icon="undo" :disabled="!canUndo" @click="undo" />
|
|
716
|
+
<ListItem title="Redo" icon="redo" :disabled="!canRedo" @click="redo" />
|
|
717
|
+
<ToggleInput v-model="wrapText" label="Wrap Text" />
|
|
718
|
+
</Dropdown>
|
|
716
719
|
</div>
|
|
717
720
|
</div>
|
|
718
721
|
<div class="spreadsheet" @mouseup="handleMouseUp">
|
|
@@ -731,6 +734,7 @@ const columnOptions = computed(() => {
|
|
|
731
734
|
:selection-end="selectionEnd"
|
|
732
735
|
:editing-cell="editingCell"
|
|
733
736
|
:base-column-index="0"
|
|
737
|
+
:wrap-text="wrapText"
|
|
734
738
|
class="sticky z-2 start-0 bg-white"
|
|
735
739
|
@sortColumn="sortByColumn"
|
|
736
740
|
@resizeStart="handleResizeStart"
|
|
@@ -745,7 +749,7 @@ const columnOptions = computed(() => {
|
|
|
745
749
|
/>
|
|
746
750
|
|
|
747
751
|
<!-- Scrollable Columns -->
|
|
748
|
-
<div class="flex-shrink flex-grow
|
|
752
|
+
<div class="flex-shrink flex-grow">
|
|
749
753
|
<SpreadsheetTable
|
|
750
754
|
:columns="scrollableColumns"
|
|
751
755
|
:rows="filteredRows"
|
|
@@ -758,6 +762,7 @@ const columnOptions = computed(() => {
|
|
|
758
762
|
:selection-end="selectionEnd"
|
|
759
763
|
:editing-cell="editingCell"
|
|
760
764
|
:base-column-index="fixedColumns.length"
|
|
765
|
+
:wrap-text="wrapText"
|
|
761
766
|
@sortColumn="sortByColumn"
|
|
762
767
|
@resizeStart="handleResizeStart"
|
|
763
768
|
@selectRow="selectEntireRow"
|
|
@@ -31,6 +31,7 @@ interface Props {
|
|
|
31
31
|
selectionEnd: CellPosition | null
|
|
32
32
|
editingCell: CellPosition | null
|
|
33
33
|
baseColumnIndex: number
|
|
34
|
+
wrapText?: boolean
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
const props = defineProps<Props>()
|
|
@@ -108,7 +109,7 @@ function formatCellValue(value: any, format?: ColumnConfig['format']): string {
|
|
|
108
109
|
|
|
109
110
|
<template>
|
|
110
111
|
<table :class="{ 'fixed-columns': isFixed, 'w-100p': !isFixed }">
|
|
111
|
-
<thead>
|
|
112
|
+
<thead class=" stickyTop">
|
|
112
113
|
<tr>
|
|
113
114
|
<th v-if="showRowNumbers" class="row-number-header bg-white" />
|
|
114
115
|
<th
|
|
@@ -147,8 +148,9 @@ function formatCellValue(value: any, format?: ColumnConfig['format']): string {
|
|
|
147
148
|
v-for="(col, colIndex) in columns"
|
|
148
149
|
:key="col.key"
|
|
149
150
|
:class="{
|
|
150
|
-
selected: isCellSelected(rowIndex, colIndex),
|
|
151
|
-
locked: !isCellEditable(col.key),
|
|
151
|
+
'selected': isCellSelected(rowIndex, colIndex),
|
|
152
|
+
'locked': !isCellEditable(col.key),
|
|
153
|
+
'wrap-text': wrapText,
|
|
152
154
|
}"
|
|
153
155
|
:style="{ width: columnWidths.get(col.key) ? `${columnWidths.get(col.key)}px` : col.width }"
|
|
154
156
|
:tabindex="col.hidden ? undefined : 0"
|
|
@@ -197,6 +199,11 @@ function formatCellValue(value: any, format?: ColumnConfig['format']): string {
|
|
|
197
199
|
</template>
|
|
198
200
|
|
|
199
201
|
<style scoped>
|
|
202
|
+
.stickyTop{
|
|
203
|
+
position: sticky;
|
|
204
|
+
top: -0.125rem;
|
|
205
|
+
z-index: 1;
|
|
206
|
+
}
|
|
200
207
|
.fixed-columns {
|
|
201
208
|
border-right: 2px solid var(--border-color);
|
|
202
209
|
}
|
|
@@ -248,6 +255,15 @@ td span{
|
|
|
248
255
|
-webkit-line-clamp: 1;
|
|
249
256
|
word-break: break-all;
|
|
250
257
|
}
|
|
258
|
+
td.wrap-text {
|
|
259
|
+
height: auto;
|
|
260
|
+
min-height: 40px;
|
|
261
|
+
}
|
|
262
|
+
td.wrap-text span {
|
|
263
|
+
white-space: normal;
|
|
264
|
+
-webkit-line-clamp: unset;
|
|
265
|
+
word-break: break-word;
|
|
266
|
+
}
|
|
251
267
|
input {
|
|
252
268
|
width: 100%;
|
|
253
269
|
border: none;
|
package/src/styles/layout.css
CHANGED
|
@@ -26,6 +26,10 @@
|
|
|
26
26
|
border-radius: calc(var(--btn-border-radius) / 1.5) !important;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
.radius-025 {
|
|
30
|
+
border-radius: calc(var(--btn-border-radius) / 4) !important;
|
|
31
|
+
}
|
|
32
|
+
|
|
29
33
|
.radius-05 {
|
|
30
34
|
border-radius: calc(var(--btn-border-radius) / 2) !important;
|
|
31
35
|
}
|
|
@@ -134,6 +138,13 @@
|
|
|
134
138
|
height: fit-content;
|
|
135
139
|
}
|
|
136
140
|
|
|
141
|
+
.w-fit-content,
|
|
142
|
+
.w-fit,
|
|
143
|
+
.wfit {
|
|
144
|
+
width: fit-content;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
|
|
137
148
|
.auto-flow-columns {
|
|
138
149
|
grid-auto-flow: column;
|
|
139
150
|
}
|
|
@@ -3657,7 +3668,8 @@
|
|
|
3657
3668
|
flex-grow: 1;
|
|
3658
3669
|
}
|
|
3659
3670
|
|
|
3660
|
-
.flex-shrink,
|
|
3671
|
+
.flex-shrink,
|
|
3672
|
+
.flex-shrink-1 {
|
|
3661
3673
|
flex-shrink: 1;
|
|
3662
3674
|
}
|
|
3663
3675
|
|
|
@@ -56,6 +56,10 @@
|
|
|
56
56
|
border-radius: calc(var(--btn-border-radius) / 1.5) !important;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
.m_radius-025 {
|
|
60
|
+
border-radius: calc(var(--btn-border-radius) / 4) !important;
|
|
61
|
+
}
|
|
62
|
+
|
|
59
63
|
.m_radius-05 {
|
|
60
64
|
border-radius: calc(var(--btn-border-radius) / 2) !important;
|
|
61
65
|
}
|
|
@@ -163,6 +167,13 @@
|
|
|
163
167
|
height: fit-content;
|
|
164
168
|
}
|
|
165
169
|
|
|
170
|
+
.m_w-fit-content,
|
|
171
|
+
.m_w-fit,
|
|
172
|
+
.m_wfit {
|
|
173
|
+
width: fit-content;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
|
|
166
177
|
.m_auto-flow-columns {
|
|
167
178
|
grid-auto-flow: column;
|
|
168
179
|
}
|