@bagelink/vue 1.15.174 → 1.15.178

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bagelink/vue",
3
3
  "type": "module",
4
- "version": "1.15.174",
4
+ "version": "1.15.178",
5
5
  "description": "Bagel core sdk packages",
6
6
  "author": {
7
7
  "name": "Bagel Studio",
@@ -112,20 +112,20 @@ function cardBadges(item: T) {
112
112
  </script>
113
113
 
114
114
  <template>
115
- <div class="bgl-kanban">
115
+ <div class="bgl-kanban m_pt-075 gap-1 display-flex overflow-x min-h-0 min-w-0">
116
116
  <div
117
117
  v-for="col in resolvedColumns" :key="col.id"
118
- class="bgl-kanban-col"
118
+ class="bgl-kanban-col column display-flex"
119
119
  :class="{ 'is-dragover': dragOverCol === col.id }"
120
120
  @dragover.prevent="draggable && (dragOverCol = col.id)"
121
121
  @dragleave="dragOverCol === col.id && (dragOverCol = null)"
122
122
  @drop="onDrop(col)"
123
123
  >
124
124
  <!-- header -->
125
- <div class="bgl-kanban-head">
125
+ <div class="bgl-kanban-head gap-05 px-025 flex">
126
126
  <slot name="column-header" :column="col" :count="col.items.length">
127
127
  <Badge v-if="col.color" dot :color="col.color" :value="col.title" flat sm />
128
- <span v-else class="bgl-kanban-title">
128
+ <span v-else class="bgl-kanban-title txt13 semi">
129
129
  <Badge v-if="col.icon" :icon="col.icon" flat sm :value="col.title" />
130
130
  <template v-else>{{ col.title }}</template>
131
131
  </span>
@@ -134,7 +134,7 @@ function cardBadges(item: T) {
134
134
  </div>
135
135
 
136
136
  <!-- cards -->
137
- <div class="bgl-kanban-list">
137
+ <div class="bgl-kanban-list column display-flex">
138
138
  <div
139
139
  v-for="(item, i) in col.items" :key="keyOf(item)"
140
140
  class="bgl-kanban-card-wrap"
@@ -146,46 +146,40 @@ function cardBadges(item: T) {
146
146
  >
147
147
  <slot name="card" :item="item" :column="col">
148
148
  <!-- default schema card -->
149
- <div class="bgl-kanban-card">
150
- <div v-if="cardTitle(item)" class="bgl-kanban-card-title">{{ cardTitle(item) }}</div>
151
- <div v-if="cardSubtitle(item)" class="bgl-kanban-card-sub">{{ cardSubtitle(item) }}</div>
152
- <div v-if="cardBadges(item).length" class="bgl-kanban-card-badges">
149
+ <div class="bgl-kanban-card display-flex column gap-05 border bg-box">
150
+ <div v-if="cardTitle(item)" class="bgl-kanban-card-title txt13 semi line-height-13">{{ cardTitle(item) }}</div>
151
+ <div v-if="cardSubtitle(item)" class="bgl-kanban-card-sub txt12 opacity-7">{{ cardSubtitle(item) }}</div>
152
+ <div v-if="cardBadges(item).length" class="bgl-kanban-card-badges gap-025 display-flex flex-wrap">
153
153
  <Badge v-for="(b, bi) in cardBadges(item)" :key="bi" sm soft :color="b.color || 'gray'" :value="b.label" />
154
154
  </div>
155
- <div v-if="cardId(item)" class="bgl-kanban-card-foot">{{ cardId(item) }}</div>
155
+ <div v-if="cardId(item)" class="bgl-kanban-card-foot1 bg-red txt11 opacity-5 monospace">{{ cardId(item) }}</div>
156
156
  </div>
157
157
  </slot>
158
158
  </div>
159
159
 
160
- <EmptyState v-if="!col.items.length && !col.loading" compact icon="inbox" :title="emptyText" class="bgl-kanban-empty" />
161
- <Loading v-if="col.loading" class="bgl-kanban-loading" />
160
+ <EmptyState v-if="!col.items.length && !col.loading" compact icon="inbox" :title="emptyText" class="bgl-kanban-empty py-075 opacity-5" />
161
+ <Loading v-if="col.loading" class="bgl-kanban-loading p-1 display-flex justify-content-center" />
162
+ <!-- footer / load more -->
163
+ <div v-if="canLoadMore(col) || slots['column-footer']" class="bgl-kanban-foot">
164
+ <slot name="column-footer" :column="col">
165
+ <Btn
166
+ v-if="canLoadMore(col)" flat thin sm full-width icon="expand_more"
167
+ :value="`Load more`" :disabled="col.loading" @click="onLoadMore(col)"
168
+ />
169
+ </slot>
170
+ </div>
162
171
  </div>
163
172
 
164
- <!-- footer / load more -->
165
- <div v-if="canLoadMore(col) || slots['column-footer']" class="bgl-kanban-foot">
166
- <slot name="column-footer" :column="col">
167
- <Btn
168
- v-if="canLoadMore(col)" flat thin sm full-width icon="expand_more"
169
- :value="`Load more`" :disabled="col.loading" @click="onLoadMore(col)"
170
- />
171
- </slot>
172
- </div>
173
173
  </div>
174
174
  </div>
175
175
  </template>
176
176
 
177
177
  <style scoped>
178
178
  .bgl-kanban {
179
- display: flex;
180
179
  align-items: stretch;
181
- gap: 1rem;
182
180
  overflow-x: auto;
183
- min-height: 0;
184
- min-width: 0;
185
181
  }
186
182
  .bgl-kanban-col {
187
- display: flex;
188
- flex-direction: column;
189
183
  gap: .6rem;
190
184
  width: 280px;
191
185
  min-width: 280px;
@@ -198,34 +192,15 @@ function cardBadges(item: T) {
198
192
  outline: 1px dashed color-mix(in srgb, var(--bgl-primary) 40%, transparent);
199
193
  outline-offset: 2px;
200
194
  }
201
- .bgl-kanban-head {
202
- display: flex;
203
- align-items: center;
204
- gap: .5rem;
205
- padding: 0 .25rem;
206
- }
207
- .bgl-kanban-title { font-size: 13px; font-weight: 600; }
208
- /* flex:1 → list fills the column so empty columns stay full-height drop targets */
209
- .bgl-kanban-list { display: flex; flex-direction: column; gap: .6rem; flex: 1; min-height: 8px; }
195
+ .bgl-kanban-list { gap: .6rem; flex: 1; min-height: 8px; }
210
196
  .bgl-kanban-card-wrap { cursor: pointer; }
211
197
  .bgl-kanban-card-wrap[draggable='true'] { cursor: grab; }
212
198
  .bgl-kanban-card-wrap[draggable='true']:active { cursor: grabbing; }
213
199
  .bgl-kanban-card {
214
- display: flex;
215
- flex-direction: column;
216
- gap: .5rem;
217
200
  padding: .75rem .85rem;
218
- background: var(--bgl-box-bg);
219
- border: 1px solid var(--bgl-border-color);
220
201
  border-radius: var(--bgl-radius, 12px);
221
202
  transition: border-color .12s, box-shadow .12s;
222
203
  }
223
204
  .bgl-kanban-card:hover { border-color: color-mix(in srgb, var(--bgl-primary) 50%, var(--bgl-border-color)); }
224
- .bgl-kanban-card-title { font-size: 13px; font-weight: 600; line-height: 1.3; }
225
- .bgl-kanban-card-sub { font-size: 12px; opacity: .7; }
226
- .bgl-kanban-card-badges { display: flex; gap: .25rem; flex-wrap: wrap; }
227
- .bgl-kanban-card-foot { font-size: 11px; font-family: ui-monospace, monospace; opacity: .5; }
228
- .bgl-kanban-empty { padding: .75rem 0; opacity: .5; }
229
- .bgl-kanban-loading { padding: 1rem; display: flex; justify-content: center; }
230
205
  .bgl-kanban-foot { padding-top: .1rem; }
231
206
  </style>