@acms-subir/core 0.3.60 → 0.3.61

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/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @acms-subir/core
2
2
 
3
+ ## 0.3.61
4
+
5
+ ### Patch Changes
6
+
7
+ - c2f3b86: Round radio buttons and square checkboxes in the admin again.
8
+
9
+ - **Radio buttons in choice cards are round.** In Calendar settings (Booking approval, and Direction in Google's "Link a calendar" and edit-link dialogs) and in a booking link's Approval, the radio stretched to the card's height and looked like a tall oval. It's a 16 px circle next to the option's bold title now.
10
+ - **No ring after clicking a radio or checkbox.** Clicking one used to draw the pale focus ring that text fields get, around the control's whole box. Radios and checkboxes now show a thin accent outline only when you reach them with the keyboard. Text fields, dropdowns and text areas keep their ring.
11
+ - **Checkboxes stay square next to long labels.** A checkbox whose label wraps onto a second line, like "Show confirmed bookings on the public calendar…" on a room, or a long calendar name under Mobile app, was squeezed narrower. The room checkboxes under an event's "Hold rooms & people" were wider than tall. All are square now.
12
+
13
+ There's no migration, and nothing to change after updating.
14
+
3
15
  ## 0.3.60
4
16
 
5
17
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acms-subir/core",
3
- "version": "0.3.60",
3
+ "version": "0.3.61",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -742,7 +742,7 @@ const sections = [
742
742
  .cs-choices { display: flex; flex-direction: column; gap: 8px; }
743
743
  .cs-choice { display: grid; grid-template-columns: 18px 1fr; gap: 10px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); cursor: pointer; }
744
744
  .cs-choice:has(input:checked) { border-color: var(--accent-ring); background: var(--accent-soft); }
745
- .cs-choice input { accent-color: var(--accent); margin-top: 2px; }
745
+ .cs-choice input { width: 16px; height: 16px; margin: 2px 0 0; align-self: start; accent-color: var(--accent); }
746
746
  .cs-choice b { display: block; font-size: 13.5px; }
747
747
  .cs-choice small { color: var(--muted); font-size: 12px; }
748
748
  .cs-rules { border: 1px solid var(--line); border-radius: 10px; padding: 10px 13px 12px; margin: 0; display: flex; flex-direction: column; gap: 8px; }
@@ -380,7 +380,9 @@ input[type='search'] { -webkit-appearance: none; appearance: none; }
380
380
  input[type='search']::-webkit-search-cancel-button { -webkit-appearance: none; }
381
381
  textarea { resize: vertical; line-height: 1.6; }
382
382
  textarea.code { font-family: ui-monospace, 'SF Mono', monospace; font-size: 12.5px; }
383
- input:focus, textarea:focus, select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); }
383
+ input:where(:not([type='radio'], [type='checkbox'])):focus, textarea:focus, select:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); }
384
+ /* radios and checkboxes: a ring for keyboard focus only, not after a click */
385
+ :where(input[type='radio'], input[type='checkbox']):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
384
386
  label.field { display: block; margin-bottom: 12px; }
385
387
  label.field > span { display: block; font-size: 12px; color: var(--muted); margin-bottom: 5px; font-weight: 500; }
386
388
  .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@@ -1173,7 +1175,7 @@ a.mini-row:hover { background: var(--hover); }
1173
1175
  .scard-sub .hint, .scard .hint { margin: 0 0 8px; }
1174
1176
  .subpanel { margin: 10px 0 0 24px; padding: 12px 14px; background: var(--panel-2); border: 1px solid var(--line); border-radius: var(--r-md); }
1175
1177
  .check-row { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; cursor: pointer; }
1176
- .check-row input { accent-color: var(--accent); width: 15px; height: 15px; margin: 0; }
1178
+ .check-row input { accent-color: var(--accent); width: 15px; height: 15px; margin: 0; flex: none; }
1177
1179
  .field-row.three { grid-template-columns: repeat(3, 1fr); }
1178
1180
  .field.narrow { max-width: 320px; }
1179
1181
  label.field > small.hint { display: block; margin: 5px 0 0; }
@@ -1644,7 +1646,7 @@ a.bk-row:hover, .bk-row.is-sel { background: var(--hover); }
1644
1646
  .appr-choices { display: flex; flex-direction: column; gap: 8px; }
1645
1647
  .appr-choice { display: grid; grid-template-columns: 18px 1fr; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); cursor: pointer; }
1646
1648
  .appr-choice:has(input:checked) { border-color: var(--accent-ring); background: var(--accent-soft); }
1647
- .appr-choice input { accent-color: var(--accent); margin-top: 2px; }
1649
+ .appr-choice input { width: 16px; height: 16px; margin: 2px 0 0; align-self: start; accent-color: var(--accent); }
1648
1650
  .appr-choice b { display: block; font-size: 13.5px; }
1649
1651
  .appr-choice small { color: var(--muted); font-size: 12px; }
1650
1652
  .appr-rules { border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px 12px; margin: 10px 0 0; display: flex; flex-direction: column; gap: 8px; }
@@ -1115,7 +1115,7 @@
1115
1115
  border-radius: var(--r-md); padding: 0 10px; font: inherit; font-size: 13.5px;
1116
1116
  }
1117
1117
  .pe-evsec textarea { background: var(--panel); border-color: var(--line-strong); font-size: 13.5px; }
1118
- .pe-evsec input:focus, .pe-evsec select:focus, .pe-evsec textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); }
1118
+ .pe-evsec input:where(:not([type='radio'], [type='checkbox'])):focus, .pe-evsec select:focus, .pe-evsec textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring); }
1119
1119
  .pe-evsec input[type='date'] { min-width: 150px; }
1120
1120
  .pe-evsec input[type='time'] { min-width: 112px; }
1121
1121
  .pe-evsec input.mono { font-size: 12.5px; }
@@ -1242,7 +1242,7 @@ html.pe-evr-lock { overflow: hidden; }
1242
1242
  .rh-room + .rh-room { border-top: 1px solid var(--line); }
1243
1243
  .rh-room:hover { background: var(--hover); }
1244
1244
  .rh-room.on { background: var(--sel); }
1245
- .rh-room input { accent-color: var(--accent); margin: 0; }
1245
+ .rh-room input { width: 16px; height: 16px; accent-color: var(--accent); margin: 0; }
1246
1246
  .rh-name { display: flex; align-items: baseline; gap: 6px; min-width: 0; }
1247
1247
  .rh-name b { font-size: 13px; font-weight: 550; color: var(--text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1248
1248
  .rh-room.on .rh-name b { font-weight: 600; }
@@ -77,7 +77,7 @@
77
77
  .ma-rule .hint { margin: 8px 0 0; }
78
78
  .ma-choices { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 8px; }
79
79
  .ma-check { display: inline-flex; align-items: center; gap: 8px; min-height: 30px; font-size: 13px; color: var(--text-2); cursor: pointer; }
80
- .ma-check input { accent-color: var(--accent); width: 15px; height: 15px; margin: 0; }
80
+ .ma-check input { accent-color: var(--accent); width: 15px; height: 15px; margin: 0; flex: none; }
81
81
  .ma-check:has(input:disabled) { cursor: default; opacity: 0.6; }
82
82
  .ma-dot { display: inline-block; width: 8px; height: 8px; border-radius: 2px; margin-right: 6px; vertical-align: 1px; }
83
83
  .ma-lead { max-width: 240px; margin: 10px 0 0; }