@threadlabs/looma 0.26.17 → 0.26.19

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.
@@ -4041,39 +4041,39 @@ ul[data-v-516afff1] {
4041
4041
  display: none;
4042
4042
  }
4043
4043
 
4044
- [data-component~="ui-editor-table-overlay"][data-v-57feae5c] {
4044
+ [data-component~="ui-editor-table-overlay"][data-v-0e632fe0] {
4045
4045
  display: block;
4046
4046
  width: 100%;
4047
4047
  height: 100%;
4048
4048
  overflow: visible;
4049
4049
  pointer-events: none;
4050
4050
  }
4051
- [data-component~="ui-editor-table-overlay"][data-v-57feae5c] {
4051
+ [data-component~="ui-editor-table-overlay"][data-v-0e632fe0] {
4052
4052
  position: relative;
4053
4053
  width: 100%;
4054
4054
  height: 100%;
4055
4055
  overflow: visible;
4056
4056
  pointer-events: none;
4057
4057
  }
4058
- .rows[data-v-57feae5c],
4059
- .cols[data-v-57feae5c] {
4058
+ .rows[data-v-0e632fe0],
4059
+ .cols[data-v-0e632fe0] {
4060
4060
  pointer-events: none;
4061
4061
  position: absolute;
4062
4062
  }
4063
- .rows[data-v-57feae5c] {
4063
+ .rows[data-v-0e632fe0] {
4064
4064
  inset: 0;
4065
4065
  width: 100%;
4066
4066
  }
4067
- .cols[data-v-57feae5c] {
4067
+ .cols[data-v-0e632fe0] {
4068
4068
  inset: 0;
4069
4069
  height: 100%;
4070
4070
  }
4071
- .control[data-v-57feae5c] {
4071
+ .control[data-v-0e632fe0] {
4072
4072
  position: absolute;
4073
4073
  z-index: 1;
4074
4074
  pointer-events: none;
4075
4075
  }
4076
- .handle[data-v-57feae5c] {
4076
+ .handle[data-v-0e632fe0] {
4077
4077
  position: absolute;
4078
4078
  display: inline-flex;
4079
4079
  align-items: center;
@@ -4100,65 +4100,65 @@ ul[data-v-516afff1] {
4100
4100
  pointer-events: auto;
4101
4101
  cursor: pointer;
4102
4102
  }
4103
- .handle[data-v-57feae5c] {
4103
+ .handle[data-v-0e632fe0] {
4104
4104
  --_ui-default-icon-size: 14px;
4105
4105
  --_ui-default-icon-stroke-width: 2;
4106
4106
  }
4107
- .handle[data-ui-proximity="near"][data-v-57feae5c],
4108
- .control.active .handle[data-v-57feae5c],
4109
- .handle[data-v-57feae5c]:focus-visible {
4107
+ .handle[data-ui-proximity="near"][data-v-0e632fe0],
4108
+ .control.active .handle[data-v-0e632fe0],
4109
+ .handle[data-v-0e632fe0]:focus-visible {
4110
4110
  opacity: 1;
4111
4111
  scale: 1;
4112
4112
  }
4113
- .control.active .handle[data-v-57feae5c],
4114
- .handle[data-v-57feae5c]:focus-visible {
4113
+ .control.active .handle[data-v-0e632fe0],
4114
+ .handle[data-v-0e632fe0]:focus-visible {
4115
4115
  border-color: var(--ui-affordance-direct-color, var(--ui-accent-solid));
4116
4116
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
4117
4117
  color: var(--ui-text-on-accent);
4118
4118
  box-shadow: var(--ui-shadow-sm, 0 1px 3px rgb(0 0 0 / 0.1));
4119
4119
  }
4120
- .handle[data-v-57feae5c]:focus-visible,
4121
- .selector[data-v-57feae5c]:focus-visible,
4122
- .cell-menu[data-v-57feae5c]:focus-visible {
4120
+ .handle[data-v-0e632fe0]:focus-visible,
4121
+ .selector[data-v-0e632fe0]:focus-visible,
4122
+ .cell-menu[data-v-0e632fe0]:focus-visible {
4123
4123
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
4124
4124
  outline-offset: var(--ui-focus-width);
4125
4125
  }
4126
- .control.row[data-v-57feae5c] {
4126
+ .control.row[data-v-0e632fe0] {
4127
4127
  left: 0;
4128
4128
  width: 100%;
4129
4129
  height: 0;
4130
4130
  }
4131
- .control.row .handle[data-v-57feae5c] {
4131
+ .control.row .handle[data-v-0e632fe0] {
4132
4132
  top: -12px;
4133
4133
  left: -30px;
4134
4134
  }
4135
- .control.col[data-v-57feae5c] {
4135
+ .control.col[data-v-0e632fe0] {
4136
4136
  top: 0;
4137
4137
  width: 0;
4138
4138
  height: 100%;
4139
4139
  }
4140
- .control.col .handle[data-v-57feae5c] {
4140
+ .control.col .handle[data-v-0e632fe0] {
4141
4141
  top: -30px;
4142
4142
  left: -12px;
4143
4143
  }
4144
- .line[data-v-57feae5c] {
4144
+ .line[data-v-0e632fe0] {
4145
4145
  position: absolute;
4146
4146
  background: var(--ui-affordance-direct-color, var(--ui-accent-solid));
4147
4147
  opacity: 0;
4148
4148
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
4149
4149
  }
4150
- .control.row .line[data-v-57feae5c] {
4150
+ .control.row .line[data-v-0e632fe0] {
4151
4151
  inset: calc(-0.5 * var(--ui-accent-line-width)) 0 auto;
4152
4152
  height: var(--ui-accent-line-width);
4153
4153
  }
4154
- .control.col .line[data-v-57feae5c] {
4154
+ .control.col .line[data-v-0e632fe0] {
4155
4155
  inset: 0 auto 0 calc(-0.5 * var(--ui-accent-line-width));
4156
4156
  width: var(--ui-accent-line-width);
4157
4157
  }
4158
- .control.active .line[data-v-57feae5c] {
4158
+ .control.active .line[data-v-0e632fe0] {
4159
4159
  opacity: 0.8;
4160
4160
  }
4161
- .guide[data-v-57feae5c] {
4161
+ .guide[data-v-0e632fe0] {
4162
4162
  position: absolute;
4163
4163
  width: var(--ui-affordance-guide-size);
4164
4164
  height: var(--ui-affordance-guide-size);
@@ -4167,19 +4167,19 @@ ul[data-v-516afff1] {
4167
4167
  opacity: calc(var(--ui-affordance-guide-opacity) * var(--ui-affordance-scope-guide, 1));
4168
4168
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
4169
4169
  }
4170
- .control.row .guide[data-v-57feae5c] {
4170
+ .control.row .guide[data-v-0e632fe0] {
4171
4171
  left: -10px;
4172
4172
  top: -2px;
4173
4173
  }
4174
- .control.col .guide[data-v-57feae5c] {
4174
+ .control.col .guide[data-v-0e632fe0] {
4175
4175
  left: -2px;
4176
4176
  top: -10px;
4177
4177
  }
4178
- .control:has(.handle[data-ui-proximity="near"]) .guide[data-v-57feae5c],
4179
- .control.active .guide[data-v-57feae5c] {
4178
+ .control:has(.handle[data-ui-proximity="near"]) .guide[data-v-0e632fe0],
4179
+ .control.active .guide[data-v-0e632fe0] {
4180
4180
  opacity: 0;
4181
4181
  }
4182
- .tooltip[data-v-57feae5c] {
4182
+ .tooltip[data-v-0e632fe0] {
4183
4183
  position: absolute;
4184
4184
  z-index: 2;
4185
4185
  top: calc(100% + 6px);
@@ -4198,18 +4198,18 @@ ul[data-v-516afff1] {
4198
4198
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
4199
4199
  pointer-events: none;
4200
4200
  }
4201
- .control.row .tooltip[data-v-57feae5c] {
4201
+ .control.row .tooltip[data-v-0e632fe0] {
4202
4202
  top: 50%;
4203
4203
  left: auto;
4204
4204
  right: calc(100% + 8px);
4205
4205
  transform: translateY(-50%);
4206
4206
  }
4207
- .control.active .tooltip[data-v-57feae5c],
4208
- .handle:focus-visible .tooltip[data-v-57feae5c] {
4207
+ .control.active .tooltip[data-v-0e632fe0],
4208
+ .handle:focus-visible .tooltip[data-v-0e632fe0] {
4209
4209
  opacity: 1;
4210
4210
  }
4211
- .selector[data-v-57feae5c],
4212
- .cell-menu[data-v-57feae5c] {
4211
+ .selector[data-v-0e632fe0],
4212
+ .cell-menu[data-v-0e632fe0] {
4213
4213
  position: absolute;
4214
4214
  z-index: 2;
4215
4215
  display: inline-flex;
@@ -4228,21 +4228,21 @@ ul[data-v-516afff1] {
4228
4228
  border-color var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
4229
4229
  box-shadow var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
4230
4230
  }
4231
- .selector[data-v-57feae5c]:hover,
4232
- .cell-menu[data-v-57feae5c]:hover {
4231
+ .selector[data-v-0e632fe0]:hover,
4232
+ .cell-menu[data-v-0e632fe0]:hover {
4233
4233
  background: var(--ui-surface-muted);
4234
4234
  color: var(--ui-text-primary);
4235
4235
  box-shadow: var(--ui-shadow-xs, 0 1px 2px rgb(0 0 0 / 0.05));
4236
4236
  }
4237
- .selector[data-v-57feae5c] {
4237
+ .selector[data-v-0e632fe0] {
4238
4238
  border-radius: var(--ui-radius-round);
4239
4239
  touch-action: none;
4240
4240
  cursor: grab;
4241
4241
  }
4242
- .selector[data-v-57feae5c]:active {
4242
+ .selector[data-v-0e632fe0]:active {
4243
4243
  cursor: grabbing;
4244
4244
  }
4245
- .selector[data-v-57feae5c]::before {
4245
+ .selector[data-v-0e632fe0]::before {
4246
4246
  content: "";
4247
4247
  position: absolute;
4248
4248
  inset: 50% auto auto 50%;
@@ -4253,7 +4253,7 @@ ul[data-v-516afff1] {
4253
4253
  transition: opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
4254
4254
  pointer-events: none;
4255
4255
  }
4256
- .selector .glyph[data-v-57feae5c] {
4256
+ .selector .glyph[data-v-0e632fe0] {
4257
4257
  display: block;
4258
4258
  width: 14px;
4259
4259
  height: 14px;
@@ -4265,75 +4265,75 @@ ul[data-v-516afff1] {
4265
4265
  opacity var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease),
4266
4266
  transform var(--ui-affordance-motion, var(--ui-motion-fast)) var(--ui-motion-ease);
4267
4267
  }
4268
- .selector[data-v-57feae5c]:hover::before,
4269
- .selector[data-v-57feae5c]:focus-visible::before {
4268
+ .selector[data-v-0e632fe0]:hover::before,
4269
+ .selector[data-v-0e632fe0]:focus-visible::before {
4270
4270
  opacity: 0;
4271
4271
  }
4272
- .selector:hover .glyph[data-v-57feae5c],
4273
- .selector:focus-visible .glyph[data-v-57feae5c] {
4272
+ .selector:hover .glyph[data-v-0e632fe0],
4273
+ .selector:focus-visible .glyph[data-v-0e632fe0] {
4274
4274
  opacity: 1;
4275
4275
  transform: scale(1);
4276
4276
  }
4277
- .selector.row[data-v-57feae5c] {
4277
+ .selector.row[data-v-0e632fe0] {
4278
4278
  left: -9px;
4279
4279
  width: 18px;
4280
4280
  height: 32px;
4281
4281
  transform: translateY(-50%);
4282
4282
  }
4283
- .selector.row[data-v-57feae5c]::before {
4283
+ .selector.row[data-v-0e632fe0]::before {
4284
4284
  width: 2px;
4285
4285
  height: 16px;
4286
4286
  }
4287
- .selector.column[data-v-57feae5c] {
4287
+ .selector.column[data-v-0e632fe0] {
4288
4288
  top: -9px;
4289
4289
  width: 32px;
4290
4290
  height: 18px;
4291
4291
  transform: translateX(-50%);
4292
4292
  }
4293
- .selector.column[data-v-57feae5c]::before {
4293
+ .selector.column[data-v-0e632fe0]::before {
4294
4294
  width: 16px;
4295
4295
  height: 2px;
4296
4296
  }
4297
4297
  @media (hover: none), (pointer: coarse) {
4298
- .selector[data-v-57feae5c]::before {
4298
+ .selector[data-v-0e632fe0]::before {
4299
4299
  opacity: 0;
4300
4300
  }
4301
- .selector .glyph[data-v-57feae5c] {
4301
+ .selector .glyph[data-v-0e632fe0] {
4302
4302
  opacity: 1;
4303
4303
  transform: none;
4304
4304
  }
4305
4305
  }
4306
- .cell-menu[data-v-57feae5c] {
4306
+ .cell-menu[data-v-0e632fe0] {
4307
4307
  width: 24px;
4308
4308
  height: 24px;
4309
4309
  border-radius: var(--ui-radius-sm);
4310
4310
  background: color-mix(in srgb, var(--ui-surface-muted) 78%, transparent);
4311
4311
  }
4312
- .cell-menu[data-v-57feae5c] {
4312
+ .cell-menu[data-v-0e632fe0] {
4313
4313
  --_ui-default-icon-size: 15px;
4314
4314
  --_ui-default-icon-stroke-width: 2;
4315
4315
  }
4316
- .drop-indicator[data-v-57feae5c] {
4316
+ .drop-indicator[data-v-0e632fe0] {
4317
4317
  position: absolute;
4318
4318
  z-index: 3;
4319
4319
  background: var(--ui-accent-solid);
4320
4320
  box-shadow: 0 0 0 var(--ui-border-width) var(--ui-surface);
4321
4321
  pointer-events: none;
4322
4322
  }
4323
- .drop-indicator.row[data-v-57feae5c] {
4323
+ .drop-indicator.row[data-v-0e632fe0] {
4324
4324
  left: 0;
4325
4325
  width: 100%;
4326
4326
  height: var(--ui-accent-line-width);
4327
4327
  }
4328
- .drop-indicator.column[data-v-57feae5c] {
4328
+ .drop-indicator.column[data-v-0e632fe0] {
4329
4329
  top: 0;
4330
4330
  width: var(--ui-accent-line-width);
4331
4331
  height: 100%;
4332
4332
  }
4333
- .drop-indicator[hidden][data-v-57feae5c] {
4333
+ .drop-indicator[hidden][data-v-0e632fe0] {
4334
4334
  display: none;
4335
4335
  }
4336
- [data-component~="ui-editor-table-overlay"][hidden][data-v-57feae5c] {
4336
+ [data-component~="ui-editor-table-overlay"][hidden][data-v-0e632fe0] {
4337
4337
  display: none;
4338
4338
  }
4339
4339
 
@@ -6254,7 +6254,7 @@ svg[data-v-219fa683-s] {
6254
6254
 
6255
6255
  /* Compact sets its items' defaults, so nothing has to rescale a global; an item's own hooks
6256
6256
  still win. */
6257
- [data-component~="ui-menu"][data-ui-menu-state~="density=compact"][data-v-672d5adf] {
6257
+ [data-component~="ui-menu"][data-ui-menu-state~="density=compact"][data-v-b6bd5ab3] {
6258
6258
  --_ui-default-menu-item-padding-block: var(--ui-space-1);
6259
6259
  --_ui-default-menu-item-padding-inline: var(--ui-space-2);
6260
6260
  --_ui-default-menu-item-font-size: var(--ui-font-size-sm);
@@ -6264,7 +6264,7 @@ svg[data-v-219fa683-s] {
6264
6264
  }
6265
6265
 
6266
6266
  /* Small follows its trigger down: an item's own hooks still win. */
6267
- [data-component~="ui-menu"][data-ui-menu-state~="size=sm"][data-v-672d5adf] {
6267
+ [data-component~="ui-menu"][data-ui-menu-state~="size=sm"][data-v-b6bd5ab3] {
6268
6268
  --_ui-default-menu-item-padding-block: var(--ui-space-0-5);
6269
6269
  --_ui-default-menu-item-padding-inline: var(--ui-space-2);
6270
6270
  --_ui-default-menu-item-font-size: var(--ui-font-size-xs);
@@ -6275,7 +6275,10 @@ svg[data-v-219fa683-s] {
6275
6275
  padding: var(--ui-space-1);
6276
6276
  gap: 0;
6277
6277
  }
6278
- [data-component~="ui-menu"][data-v-672d5adf] {
6278
+ [data-component~="ui-menu"][data-ui-menu-state~="icons"][data-v-b6bd5ab3] {
6279
+ --_ui-default-menu-icon-display: inline-flex;
6280
+ }
6281
+ [data-component~="ui-menu"][data-v-b6bd5ab3] {
6279
6282
  --_ui-menu-surface: var(--ui-menu-surface);
6280
6283
  --_ui-menu-border: var(--ui-menu-border);
6281
6284
  --_ui-menu-radius: var(--ui-menu-radius);
@@ -6287,6 +6290,7 @@ svg[data-v-219fa683-s] {
6287
6290
  --_ui-default-menu-item-radius: initial;
6288
6291
  --_ui-default-menu-item-min-block-size: initial;
6289
6292
  --_ui-default-menu-indicator-size: initial;
6293
+ --_ui-default-menu-icon-display: none;
6290
6294
  display: flex;
6291
6295
  flex-direction: column;
6292
6296
  box-sizing: border-box;
@@ -6301,7 +6305,7 @@ svg[data-v-219fa683-s] {
6301
6305
  box-shadow: none;
6302
6306
  overflow: visible;
6303
6307
  }
6304
- .surface[data-v-672d5adf] {
6308
+ .surface[data-v-b6bd5ab3] {
6305
6309
  display: flex;
6306
6310
  flex-direction: column;
6307
6311
  box-sizing: border-box;
@@ -6318,17 +6322,17 @@ svg[data-v-219fa683-s] {
6318
6322
  max-block-size: inherit;
6319
6323
  overflow: auto;
6320
6324
  }
6321
- .surface hr[data-v-672d5adf] {
6325
+ .surface hr[data-v-b6bd5ab3] {
6322
6326
  align-self: stretch;
6323
6327
  block-size: 0;
6324
6328
  margin: var(--ui-space-1) 0;
6325
6329
  border: 0;
6326
6330
  border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
6327
6331
  }
6328
- [data-component~="ui-menu"][data-v-672d5adf]:not([data-component~="ui-menu"][data-ui-menu-state~="internalOpen"]):not([data-component~="ui-menu"][data-ui-menu-state~="inline"]) {
6332
+ [data-component~="ui-menu"][data-v-b6bd5ab3]:not([data-component~="ui-menu"][data-ui-menu-state~="internalOpen"]):not([data-component~="ui-menu"][data-ui-menu-state~="inline"]) {
6329
6333
  display: none;
6330
6334
  }
6331
- [data-component~="ui-menu"][popover][data-v-672d5adf] {
6335
+ [data-component~="ui-menu"][popover][data-v-b6bd5ab3] {
6332
6336
  position: fixed;
6333
6337
  inset: auto;
6334
6338
  margin: 0;
@@ -6342,21 +6346,21 @@ svg[data-v-219fa683-s] {
6342
6346
  display var(--ui-motion-fast) allow-discrete,
6343
6347
  overlay var(--ui-motion-fast) allow-discrete;
6344
6348
  }
6345
- [data-component~="ui-menu"][popover][data-v-672d5adf]:popover-open {
6349
+ [data-component~="ui-menu"][popover][data-v-b6bd5ab3]:popover-open {
6346
6350
  opacity: 1;
6347
6351
  transform: translateY(0) scale(1);
6348
6352
  }
6349
6353
  @starting-style {
6350
- [data-component~="ui-menu"][popover][data-v-672d5adf]:popover-open {
6354
+ [data-component~="ui-menu"][popover][data-v-b6bd5ab3]:popover-open {
6351
6355
  opacity: 0;
6352
6356
  transform: translateY(-4px) scale(0.99);
6353
6357
  }
6354
6358
  }
6355
- [data-component~="ui-menu"][hidden][data-v-672d5adf] {
6359
+ [data-component~="ui-menu"][hidden][data-v-b6bd5ab3] {
6356
6360
  display: none;
6357
6361
  }
6358
6362
  @media (prefers-reduced-motion: reduce) {
6359
- [data-component~="ui-menu"][popover][data-v-672d5adf] {
6363
+ [data-component~="ui-menu"][popover][data-v-b6bd5ab3] {
6360
6364
  transition: none;
6361
6365
  }
6362
6366
  }
@@ -6401,7 +6405,7 @@ svg[data-v-219fa683-s] {
6401
6405
  syntax: "*";
6402
6406
  inherits: false;
6403
6407
  }
6404
- [data-component~="ui-menu-item"][data-v-3aab9247] {
6408
+ [data-component~="ui-menu-item"][data-v-32e2a3e1] {
6405
6409
  display: flex;
6406
6410
  align-items: center;
6407
6411
  gap: var(--ui-space-2);
@@ -6433,14 +6437,34 @@ svg[data-v-219fa683-s] {
6433
6437
  background-color var(--ui-motion-fast) var(--ui-motion-ease),
6434
6438
  color var(--ui-motion-fast) var(--ui-motion-ease);
6435
6439
  }
6436
- .label[data-v-3aab9247] {
6440
+
6441
+ /* A named icon has a fixed column; an icon-enabled menu reserves it on every row. */
6442
+ .icon[data-v-32e2a3e1] {
6443
+ display: var(--_ui-default-menu-icon-display, none);
6444
+ align-items: center;
6445
+ justify-content: center;
6446
+ flex: none;
6447
+ inline-size: var(--ui-icon-size-sm);
6448
+ block-size: var(--ui-icon-size-sm);
6449
+ }
6450
+ .icon[data-v-32e2a3e1]:not(:empty) {
6451
+ display: inline-flex;
6452
+ }
6453
+ .icon svg[data-v-32e2a3e1-s] {
6454
+ inline-size: 100%;
6455
+ block-size: 100%;
6456
+ }
6457
+ [data-component~="ui-menu-item"][data-ui-menu-item-state~="tone=danger"][data-v-32e2a3e1] {
6458
+ color: var(--ui-danger);
6459
+ }
6460
+ .label[data-v-32e2a3e1] {
6437
6461
  display: flex;
6438
6462
  align-items: center;
6439
6463
  gap: var(--ui-space-2);
6440
6464
  flex: 1;
6441
6465
  min-inline-size: 0;
6442
6466
  }
6443
- .indicator[data-v-3aab9247] {
6467
+ .indicator[data-v-32e2a3e1] {
6444
6468
  display: inline-flex;
6445
6469
  align-items: center;
6446
6470
  justify-content: center;
@@ -6453,39 +6477,39 @@ svg[data-v-219fa683-s] {
6453
6477
  color: var(--ui-surface);
6454
6478
  --_ui-default-icon-size: 0.75rem;
6455
6479
  }
6456
- [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=action"] .indicator[data-v-3aab9247] {
6480
+ [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=action"] .indicator[data-v-32e2a3e1] {
6457
6481
  display: none;
6458
6482
  }
6459
6483
  [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=checkbox"][aria-checked="true"]
6460
- .indicator[data-v-3aab9247] {
6484
+ .indicator[data-v-32e2a3e1] {
6461
6485
  border-color: var(--ui-accent);
6462
6486
  background: var(--ui-accent);
6463
6487
  }
6464
6488
 
6465
6489
  /* A menu marks its chosen item with a check, as menus conventionally do; a radio circle reads
6466
6490
  as a form control. The empty slot keeps unchosen labels aligned with the chosen one. */
6467
- [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=radio"] .indicator[data-v-3aab9247] {
6491
+ [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=radio"] .indicator[data-v-32e2a3e1] {
6468
6492
  border-color: transparent;
6469
6493
  color: var(--ui-text-secondary);
6470
6494
  }
6471
- .shortcut[data-v-3aab9247] {
6495
+ .shortcut[data-v-32e2a3e1] {
6472
6496
  margin-inline-start: auto;
6473
6497
  color: var(--ui-text-secondary);
6474
6498
  font-size: var(--ui-font-size-sm);
6475
6499
  font-weight: var(--ui-font-normal);
6476
6500
  }
6477
- .shortcut[data-v-3aab9247]:empty {
6501
+ .shortcut[data-v-32e2a3e1]:empty {
6478
6502
  display: none;
6479
6503
  }
6480
6504
 
6481
6505
  /* A <kbd> takes the browser's monospace; the hint reads in the item's own type. */
6482
- .shortcut kbd[data-v-3aab9247-s] {
6506
+ .shortcut kbd[data-v-32e2a3e1-s] {
6483
6507
  font: inherit;
6484
6508
  }
6485
6509
 
6486
6510
  /* Keep the text row at the shared control height where cap trimming is available. */
6487
6511
  @supports (text-box-trim: trim-both) {
6488
- [data-component~="ui-menu-item"][data-v-3aab9247] {
6512
+ [data-component~="ui-menu-item"][data-v-32e2a3e1] {
6489
6513
  min-block-size: var(
6490
6514
  --ui-menu-item-min-block-size,
6491
6515
  var(--_ui-default-menu-item-min-block-size, var(--ui-control-size-md, 2.5rem))
@@ -6494,34 +6518,34 @@ svg[data-v-219fa683-s] {
6494
6518
  text-box-edge: cap alphabetic;
6495
6519
  }
6496
6520
  }
6497
- [data-component~="ui-menu-item"][data-v-3aab9247]:is(:hover, :focus-visible):not([aria-disabled="true"]) {
6521
+ [data-component~="ui-menu-item"][data-v-32e2a3e1]:is(:hover, :focus-visible):not([aria-disabled="true"]) {
6498
6522
  background: var(--ui-menu-item-hover-surface, var(--ui-surface-subtle));
6499
6523
  }
6500
- [data-component~="ui-menu-item"][data-v-3aab9247]:focus-visible {
6524
+ [data-component~="ui-menu-item"][data-v-32e2a3e1]:focus-visible {
6501
6525
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
6502
6526
  outline-offset: calc(-1 * var(--ui-focus-width));
6503
6527
  }
6504
- [data-component~="ui-menu-item"][aria-disabled="true"][data-v-3aab9247] {
6528
+ [data-component~="ui-menu-item"][aria-disabled="true"][data-v-32e2a3e1] {
6505
6529
  background: var(--ui-disabled-surface);
6506
6530
  color: var(--ui-disabled-text);
6507
6531
  cursor: not-allowed;
6508
6532
  }
6509
- [data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-3aab9247] {
6533
+ [data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-32e2a3e1] {
6510
6534
  border-color: var(--ui-disabled-border);
6511
6535
  background: transparent;
6512
6536
  color: var(--ui-disabled-text);
6513
6537
  }
6514
- [data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-3aab9247]::after {
6538
+ [data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-32e2a3e1]::after {
6515
6539
  background: var(--ui-disabled-text);
6516
6540
  }
6517
6541
  @media (forced-colors: active) {
6518
- [data-component~="ui-menu-item"][data-v-3aab9247]:focus-visible {
6542
+ [data-component~="ui-menu-item"][data-v-32e2a3e1]:focus-visible {
6519
6543
  outline-color: Highlight;
6520
6544
  }
6521
6545
  }
6522
6546
 
6523
6547
  /* A component that sets its display still honours the hidden attribute on its root. */
6524
- [data-component~="ui-menu-item"][hidden][data-v-3aab9247] {
6548
+ [data-component~="ui-menu-item"][hidden][data-v-32e2a3e1] {
6525
6549
  display: none;
6526
6550
  }
6527
6551
 
@@ -10058,6 +10082,21 @@ html[data-ui-input-modality="touch"]
10058
10082
 
10059
10083
  [data-component~="ui-editor-surface"][data-density="compact"] .ProseMirror > :first-child { margin-block-start: 0; }
10060
10084
  [data-component~="ui-editor-surface"][data-density="compact"] .ProseMirror > :last-child { margin-block-end: 0; }
10085
+
10086
+ /* List items own their small inter-item gap; paragraphs must not add another one. */
10087
+ .looma-editor .ProseMirror li > p:last-of-type,
10088
+ .looma-editor .ProseMirror li > div > p:last-of-type {
10089
+ margin-block-end: 0;
10090
+ }
10091
+
10092
+ /* A list ending a cell needs no document-level gap before the cell's padding. */
10093
+ .looma-editor .ProseMirror :is(th, td) > :is(ul, ol):not(:has(~ :not(.column-resize-handle))) {
10094
+ margin-block-end: 0;
10095
+ }
10096
+
10097
+ .looma-editor .ProseMirror li > :is(ul, ol) {
10098
+ margin-block: var(--ui-space-1) 0;
10099
+ }
10061
10100
  /**
10062
10101
  * Looma editor styles (tokens-based).
10063
10102
  * Tables, context menu, insert-table grid, slash menu. Use with ProseMirror/Tiptap content.
@@ -2658,7 +2658,8 @@ var LoomaEditor = defineComponent({
2658
2658
  const focusInTableUi = [
2659
2659
  tableToolbarShell.value,
2660
2660
  tableOverlayShell.value,
2661
- tableMenuShell.value
2661
+ tableMenuShell.value,
2662
+ mobileToolbarShell.value
2662
2663
  ].some((shell) => shell?.contains(document.activeElement));
2663
2664
  if (!instance || instance.isDestroyed || !props.editable || !instance.isFocused && !tableInteractionActive && !hoveredTableCell && !focusInTableUi) {
2664
2665
  closeTableUi();
@@ -2712,7 +2713,7 @@ var LoomaEditor = defineComponent({
2712
2713
  queueMicrotask(updateTableUi);
2713
2714
  updateCodeUi();
2714
2715
  setTimeout(() => {
2715
- if (!tableInteractionActive && !editor.value?.isFocused) editorFocused.value = false;
2716
+ if (!tableInteractionActive && !editor.value?.isFocused && !mobileToolbarShell.value?.contains(document.activeElement)) editorFocused.value = false;
2716
2717
  if (!editor.value?.isFocused && !formattingPickerOpen() && !formattingPopup?.popper.contains(document.activeElement)) heldFormattingSelection = null;
2717
2718
  }, 0);
2718
2719
  };