@lessly/ui 4.1.0 → 4.1.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/README.md CHANGED
@@ -135,6 +135,14 @@ import '@lessly/ui/styles-federated.css';
135
135
  The shell keeps importing `@lessly/ui/styles.css`; it owns the fonts and the
136
136
  base layer.
137
137
 
138
+ The preset is not optional on this path either, and installing it is not the
139
+ same as reaching it: Tailwind v4 has no `presets:` key, so **both** entries —
140
+ federation and standalone — need `@config`, and one that lacks it compiles to
141
+ Tailwind's defaults with no error anywhere. What each sheet carries, why the
142
+ federated one declares its variables at zero specificity, and why
143
+ `theme(reference)` is not the fix are in
144
+ [`docs/federated-styles.md`](docs/federated-styles.md).
145
+
138
146
  ## Storybook
139
147
 
140
148
  ```bash
package/dist/index.js CHANGED
@@ -384,7 +384,7 @@ var Input = React5.forwardRef(
384
384
  {
385
385
  className: cn(
386
386
  FIELD_BOX,
387
- "items-center gap-1.5 focus-within:ring-2 focus-within:ring-border-focus has-[input:disabled]:cursor-not-allowed has-[input:disabled]:opacity-50",
387
+ "items-center gap-1.5 focus-within:ring-2 focus-within:ring-inset focus-within:ring-border-focus has-[input:disabled]:cursor-not-allowed has-[input:disabled]:opacity-50",
388
388
  className
389
389
  ),
390
390
  children: [
@@ -410,7 +410,7 @@ var Input = React5.forwardRef(
410
410
  style,
411
411
  className: cn(
412
412
  FIELD_BOX,
413
- "file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-text-tertiary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
413
+ "file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-text-tertiary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-border-focus disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
414
414
  className
415
415
  ),
416
416
  ref,
@@ -431,7 +431,7 @@ var InputGroup = React6.forwardRef(
431
431
  ref,
432
432
  className: cn(
433
433
  "flex h-10 w-full items-stretch overflow-hidden rounded-md border border-border-default bg-bg-primary text-sm text-text-primary",
434
- "focus-within:ring-2 focus-within:ring-border-focus",
434
+ "focus-within:ring-2 focus-within:ring-inset focus-within:ring-border-focus",
435
435
  "has-[input:disabled]:cursor-not-allowed has-[input:disabled]:opacity-50",
436
436
  className
437
437
  ),
@@ -611,7 +611,7 @@ function Select({
611
611
  "aria-labelledby": ariaLabelledby,
612
612
  disabled,
613
613
  className: cn(
614
- "flex items-center text-sm text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
614
+ "flex items-center text-sm text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-border-focus disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
615
615
  quiet ? (
616
616
  // No border at all, so there is no filled step to paint: what a row's control has to
617
617
  // say is its value, and the hover fill is what says it can be pressed.
@@ -823,7 +823,7 @@ var Textarea = React13.forwardRef(
823
823
  {
824
824
  ref,
825
825
  className: cn(
826
- "flex min-h-20 w-full rounded-md border border-field-border hover:border-field-border-hover bg-bg-primary px-3 py-2 text-sm text-text-primary placeholder:text-text-tertiary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
826
+ "flex min-h-20 w-full rounded-md border border-field-border hover:border-field-border-hover bg-bg-primary px-3 py-2 text-sm text-text-primary placeholder:text-text-tertiary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-border-focus disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
827
827
  className
828
828
  ),
829
829
  ...props
@@ -4685,7 +4685,7 @@ var triggerBox = "flex min-h-[40px] w-full items-center gap-2.5 rounded-xl px-1.
4685
4685
  var inlineTriggerBox = "flex items-center gap-1.5 rounded-lg px-2 py-1 text-sm font-semibold text-text-primary transition-colors duration-fast hover:bg-[var(--hov-bg)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus";
4686
4686
  var menuItem = "gap-2 rounded-md px-2 py-1.5 text-sm font-medium text-text-secondary focus:bg-[var(--menu-hov)] focus:text-text-primary";
4687
4687
  var sectionLabel = "px-2 pt-1.5 pb-1 text-xs font-medium text-text-tertiary";
4688
- var searchBox = "mx-1 mb-1 flex h-8 shrink-0 items-center gap-2 rounded-md border border-field-border bg-bg-primary px-2 focus-within:ring-2 focus-within:ring-border-focus";
4688
+ var searchBox = "mx-1 mb-1 flex h-8 shrink-0 items-center gap-2 rounded-md border border-field-border bg-bg-primary px-2 focus-within:ring-2 focus-within:ring-inset focus-within:ring-border-focus";
4689
4689
  var rowScroller = "flex max-h-[18rem] min-h-0 flex-col gap-px overflow-y-auto overscroll-contain";
4690
4690
  var NO_ORG_LABEL = "Select an organization\u2026";
4691
4691
  var nameOf = (item) => item?.name.trim() ? item.name : void 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lessly/ui",
3
- "version": "4.1.0",
3
+ "version": "4.1.1",
4
4
  "description": "Lessly design system — shared UI primitives, tokens, and theme",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.30.3",