@nyaruka/temba-components 0.168.0 → 0.168.1

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@nyaruka/temba-components",
3
- "version": "0.168.0",
3
+ "version": "0.168.1",
4
4
  "description": "Web components to support rapidpro and related projects",
5
5
  "author": "Nyaruka <code@nyaruka.coim>",
6
6
  "main": "dist/index.js",
@@ -79,6 +79,8 @@ export class ContactList extends ContentList<Contact> {
79
79
  labelsEndpoint: '/api/v2/groups.json?manual_only=1',
80
80
  labelsKey: 'groups'
81
81
  },
82
+ // Archive trails the reversible actions; Delete, when offered,
83
+ // always goes last.
82
84
  { key: 'archive', label: 'Archive', icon: Icon.archive },
83
85
  { key: 'delete', label: 'Delete', icon: Icon.delete, destructive: true }
84
86
  ];
@@ -214,7 +214,9 @@ export class ContentList<T = any> extends RapidElement {
214
214
  the select-all checkbox — rather than replacing the page header.
215
215
  Positioned in the table-frame (not the scrolling table) so it
216
216
  stays put horizontally, with an opaque header-tint background to
217
- hide the labels underneath, above the sticky header (z 2/3). */
217
+ hide the labels underneath, above every header layer pinned
218
+ header cells reach z 5 (see tr.header th.pinned), so the bar
219
+ sits at 6 to cover them too. */
218
220
  .bulk-bar {
219
221
  position: absolute;
220
222
  top: 0;
@@ -225,7 +227,7 @@ export class ContentList<T = any> extends RapidElement {
225
227
  left: var(--cl-firstcol-left, 44px);
226
228
  right: var(--cl-scrollbar-w, 0px);
227
229
  height: var(--cl-header-height, 36px);
228
- z-index: 4;
230
+ z-index: 6;
229
231
  display: flex;
230
232
  align-items: center;
231
233
  gap: 4px;
@@ -567,8 +569,10 @@ export class ContentList<T = any> extends RapidElement {
567
569
 
568
570
  /* The header row sticks to the top of the scroll frame so the
569
571
  column labels stay put while the rows scroll under them.
570
- z-index 2 lifts it above the body; a pinned header cell
571
- needs 3 to also clear the body's pinned column (z-index 1). */
572
+ z-index 2 lifts it above the body; a pinned header cell needs
573
+ more to also clear the body's pinned column (z-index 1) and the
574
+ resize-handle layers (z 4) — but must stay under the bulk-action
575
+ bar (z 6), which overlays the whole header row on selection. */
572
576
  tr.header th {
573
577
  height: 36px;
574
578
  vertical-align: middle;
@@ -118,11 +118,13 @@ export class MsgList extends ContentList<Msg> {
118
118
  resizable: true
119
119
  },
120
120
  { key: 'text', label: 'Message', grow: true },
121
+ // Sent is deliberately not resizable: it's the last column, so its
122
+ // only possible handle would sit on the table's outer edge (Message
123
+ // is the grow column and owns the boundary between them).
121
124
  {
122
125
  key: 'created_on',
123
126
  label: 'Sent',
124
- align: 'right',
125
- resizable: true
127
+ align: 'right'
126
128
  }
127
129
  ];
128
130
  this.bulkActions = [
@@ -132,6 +134,8 @@ export class MsgList extends ContentList<Msg> {
132
134
  icon: Icon.label,
133
135
  labelsEndpoint: '/api/v2/labels.json'
134
136
  },
137
+ // Archive trails the reversible actions; Delete, when offered,
138
+ // always goes last.
135
139
  { key: 'archive', label: 'Archive', icon: Icon.archive },
136
140
  { key: 'delete', label: 'Delete', icon: Icon.delete, destructive: true }
137
141
  ];