@jsenv/navi 0.29.129 → 0.29.130

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.
@@ -66926,8 +66926,15 @@ installImportMetaCssBuild(import.meta);const css$t = /* css */`
66926
66926
  /* The façade is transparent to the pointer — a press on what it draws
66927
66927
  means "open the picker". An own target is the exception, the same way
66928
66928
  the clear cross is one in the slot below: it says the press is aimed at
66929
- IT, so it has to be reachable at all. */
66929
+ IT, so it has to be reachable at all.
66930
+ Positioned as well as pointable: the input covering the box
66931
+ (see [navi-ui-custom] below) is absolute, so it paints over every
66932
+ static element of the façade whatever their pointer-events say — and
66933
+ the press then reaches the input, which is the picker. No offset, so
66934
+ nothing moves; this only puts the own target in the same paint layer
66935
+ as the things it has to be reachable through. */
66930
66936
  [data-own-target] {
66937
+ position: relative;
66931
66938
  pointer-events: auto;
66932
66939
  }
66933
66940
  }
@@ -67171,6 +67178,42 @@ installImportMetaCssBuild(import.meta);const css$t = /* css */`
67171
67178
  z-index: -1;
67172
67179
  }
67173
67180
  }
67181
+ /* bare: the caller's drawing IS the trigger. No frame, no control line, no
67182
+ slot beside it, no clamp on it — the picker takes the size of what the ui
67183
+ draws, to the pixel, and does nothing to it but catch the press. For a
67184
+ picker that is a whole piece of a layout (a column of a card, a tile)
67185
+ rather than a field: the same drawing can then sit alone somewhere else
67186
+ and be the same box in both places. */
67187
+ &[data-variant="bare"] {
67188
+ --picker-padding-x-default: 0;
67189
+ --picker-padding-y-default: 0;
67190
+ /* The box holds the drawing rather than placing it inside itself: a
67191
+ height the caller gave the picker belongs to the drawing too. */
67192
+ --picker-align-y-default: stretch;
67193
+ --picker-border-width: 0px; /* must carry a unit (px) — used in calc() to offset the custom input overlay */
67194
+ --picker-border-color: transparent;
67195
+ --picker-border-color-hover: var(--picker-border-color);
67196
+ --picker-border-color-readonly: var(--picker-border-color);
67197
+ --picker-border-color-disabled: var(--picker-border-color);
67198
+ --picker-background-color: transparent;
67199
+ --picker-background-color-hover: var(--picker-background-color);
67200
+ --picker-background-color-readonly: var(--picker-background-color);
67201
+ --picker-background-color-disabled: var(--picker-background-color);
67202
+ --x-picker-icon-color: currentColor;
67203
+
67204
+ /* The drawing is the caller's, so it is written on the page's line at
67205
+ the page's size — the control font and the control line belong to the
67206
+ field-like drawings, which this one is not. */
67207
+ font-size: inherit;
67208
+ font-family: inherit;
67209
+ line-height: inherit;
67210
+
67211
+ .navi_picker_box {
67212
+ /* A field is at least one line tall whatever it holds; this is not a
67213
+ field, so its height is the drawing's and nothing else. */
67214
+ min-height: 0;
67215
+ }
67216
+ }
67174
67217
  /* button: drawn as a Button is, from the same tokens (see button_ui.jsx
67175
67218
  and the --navi-button-* vars) — its surface, its padding, a centered
67176
67219
  label, its washed-out read-only and disabled — for a picker that IS a
@@ -67274,7 +67317,10 @@ const PickerButton = props => {
67274
67317
  // A word in a sentence is never truncated — and the clamp's overflow: hidden
67275
67318
  // would cut its dotted underline, which sits on the edge of the line box
67276
67319
  // (WebKit drops it or not depending on the subpixel position of the line).
67277
- const maxLines = variant === "text" ? undefined : maxLinesProp;
67320
+ // A bare picker is not truncated either: the drawing it shows is the
67321
+ // caller's own, and clamping it would be the picker deciding the shape of
67322
+ // something it does not draw.
67323
+ const maxLines = variant === "text" || variant === "bare" ? undefined : maxLinesProp;
67278
67324
  const isSingleLine = maxLines === 1;
67279
67325
  // Same rule as the root: phrasing content inside a sentence.
67280
67326
  const ContentTag = variant === "text" ? "span" : "div";
@@ -67495,7 +67541,7 @@ const PickerButton = props => {
67495
67541
  })
67496
67542
  })
67497
67543
  })
67498
- }), variant === "icon" || variant === "headless" || variant === "button" || variant === "text" || ui === "default" ? null : jsx("span", {
67544
+ }), variant === "icon" || variant === "headless" || variant === "button" || variant === "text" || variant === "bare" || ui === "default" ? null : jsx("span", {
67499
67545
  className: "navi_picker_right_slot",
67500
67546
  children: jsx(PickerOwnContent, {
67501
67547
  children: clearable && interactive && value !== undefined && value !== "" && clearConfirm !== undefined ?