contain-css-svelte 1.2.3 → 1.4.0

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.
Files changed (50) hide show
  1. package/dist/Card.svelte +216 -288
  2. package/dist/controls/Button.svelte +39 -1
  3. package/dist/controls/ButtonLink.svelte +39 -1
  4. package/dist/controls/Checkbox.svelte +38 -0
  5. package/dist/controls/CircleButton.svelte +39 -1
  6. package/dist/controls/Input.svelte +39 -1
  7. package/dist/controls/RadioButton.svelte +38 -0
  8. package/dist/controls/Select.svelte +38 -0
  9. package/dist/controls/Slider.svelte +39 -1
  10. package/dist/controls/TabItem.svelte +39 -1
  11. package/dist/controls/Toggle.svelte +39 -1
  12. package/dist/dropdowns/DropdownMenu.svelte +39 -1
  13. package/dist/index.d.ts +2 -1
  14. package/dist/index.js +2 -1
  15. package/dist/layout/Accordion.svelte +39 -1
  16. package/dist/layout/Bar.svelte +49 -1
  17. package/dist/layout/ColumnContainer.svelte +39 -1
  18. package/dist/layout/Columns.svelte +39 -1
  19. package/dist/layout/Container.svelte +217 -292
  20. package/dist/layout/DataList.svelte +39 -1
  21. package/dist/layout/DataListItem.svelte +217 -292
  22. package/dist/layout/Fieldset.svelte +39 -1
  23. package/dist/layout/Form.svelte +217 -292
  24. package/dist/layout/FormItem.svelte +39 -1
  25. package/dist/layout/GridLayout.svelte +38 -0
  26. package/dist/layout/Hero.svelte +217 -292
  27. package/dist/layout/Inline.svelte +45 -1
  28. package/dist/layout/MenuList.svelte +39 -1
  29. package/dist/layout/Page.svelte +44 -2
  30. package/dist/layout/RowContainer.svelte +39 -1
  31. package/dist/layout/Sidebar.svelte +757 -65
  32. package/dist/layout/Sidebar.svelte.d.ts +58 -1
  33. package/dist/layout/SidebarContainer.svelte +198 -0
  34. package/dist/layout/SidebarContainer.svelte.d.ts +20 -0
  35. package/dist/layout/SplitPane.svelte +39 -1
  36. package/dist/layout/Stack.svelte +45 -1
  37. package/dist/layout/TabBar.svelte +39 -1
  38. package/dist/layout/Table.svelte +469 -443
  39. package/dist/layout/Tile.svelte +216 -291
  40. package/dist/misc/CodeInner.svelte +39 -1
  41. package/dist/misc/Progress.svelte +217 -292
  42. package/dist/misc/Tag.svelte +39 -1
  43. package/dist/overlays/Dialog.svelte +217 -292
  44. package/dist/overlays/Tooltip.svelte +267 -349
  45. package/dist/sass/_responsive.scss +15 -0
  46. package/dist/sass/_typography.scss +203 -191
  47. package/dist/typography/TextLayout.svelte +494 -292
  48. package/dist/vars/defaults.css +258 -0
  49. package/dist/vars/typography-context.css +271 -0
  50. package/package.json +1 -1
@@ -30,7 +30,33 @@ const el = $derived(elementProps(restProps, "tag", TAG_VARS));
30
30
  >{/if}
31
31
  </span>
32
32
 
33
- <style>/* Logical, not top/bottom/left/right: margin-block/margin-inline already take
33
+ <style>/* Per-level heading (h1-h6) box/typography properties, resolved to PRIVATE,
34
+ inheriting custom properties (--_h1-color, --_h2-font-size, etc) rather than
35
+ assigned directly to a matched h1-h6 selector. Nothing in this file matches
36
+ an actual heading element anymore -- see typography-context.css (vars/), which
37
+ is the single, global, :where()-scoped rule that actually reads these vars
38
+ and applies them to real elements. That split is what lets a component
39
+ nested arbitrarily deep (through <article>, <Tile>, whatever) still get the
40
+ nearest ancestor's heading styling: these are ordinary inherited custom
41
+ properties, so DOM proximity decides which component's values apply, not
42
+ selector specificity or stylesheet order. See AGENTS-INTERNAL.md. */
43
+ /* All six heading levels' context vars in one call -- what every
44
+ "typography container" component (Container, Card, Tile, TextLayout, ...)
45
+ includes on itself once, alongside the shared --_heading-* vars below. */
46
+ /* Shared prose-measure group: p, blockquote, dl, ul, ol. li/dt/dd don't get
47
+ their own vars -- they're never wider than their ul/ol/dl parent's own
48
+ max-width box, so they're already bounded for free by ordinary block
49
+ layout, not by anything selector-based reaching them individually. */
50
+ /* p specifically also gets the fuller typography-props-bare treatment
51
+ (paragraph-prefixed), which -- same as in the original selector-based
52
+ version -- is declared/consumed AFTER the shared prose vars above, so it
53
+ wins for whichever properties both groups set. */
54
+ /* The first paragraph in a typography context (p:first-of-type, or a p right
55
+ after a heading) gets its own, slightly different treatment -- larger lede
56
+ text, no top margin. Structural matching (:first-of-type, `h1 + p`) still
57
+ has to happen where the real element is, in the global consumer rule; only
58
+ the VALUES move to context vars here. */
59
+ /* Logical, not top/bottom/left/right: margin-block/margin-inline already take
34
60
  one value (both sides equal) or two (start end), so there is no separate
35
61
  "which side" prop to remember and no 4-value shorthand order to get wrong.
36
62
  Defaults to 0 on purpose -- unlike padding-props above, a margin that
@@ -38,6 +64,18 @@ const el = $derived(elementProps(restProps, "tag", TAG_VARS));
38
64
  day this mixin got added to a new component. Callers opt in with an actual
39
65
  value. (Container does not use this mixin: it wants --gap/auto as its
40
66
  defaults, which do not fit the "0 unless asked" contract here.) */
67
+ /* The width at or below which a Sidebar swaps its grab-bar rail for the sheet
68
+ affordance -- a floating button that opens a panel over the content.
69
+
70
+ Page has to agree with Sidebar about this, because Page is what floats the
71
+ aside out of flow and reserves the strip of padding the sheet button sits
72
+ in. They used to disagree: Sidebar switched at 512px and Page at 600px,
73
+ which left a band between 513 and 600 where Page had already lifted the
74
+ aside out of the layout while the Sidebar inside it was still showing a
75
+ rail -- a grab bar floating on top of the content, which is the affordance
76
+ we deliberately avoid everywhere else.
77
+
78
+ One definition, used by both, so they cannot drift again. */
41
79
  /* Warning: because we define a fallback
42
80
  media query, the media query can override the container
43
81
  if we stack a bunch of these in a row and aren't thoughtful about the order.