@mario_hahn/jumpy-ui 0.8.0 → 0.8.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
@@ -1,11 +1,21 @@
1
1
  # @mario_hahn/jumpy-ui
2
2
 
3
+ ## Field widths
4
+
5
+ Text fields, dropdowns, date pickers and time pickers fill their parent container.
6
+ Constrain the surrounding layout for compact controls, for example with a grid
7
+ column or a wrapper `maxWidth`. Calendar and time popups retain their own sizing;
8
+ they do not expand to match a wide field.
9
+
3
10
  ## Sticky tables and selection
4
11
 
5
12
  `JumpTable stickyHeader` fixes both the header and footer inside the scrollable
6
13
  container. They use `--jumpy-cmp-table-backdrop-color` for a continuous background
7
14
  behind the decorative cell surfaces. The default resolves to the opaque semantic
8
- floating surface in each preset. Keep any custom backdrop override opaque.
15
+ card surface in each preset. Normal cell decorations are transparent; selected
16
+ and hovered cells use their semantic interaction surfaces. The scroll container
17
+ and pinned cells share the same backdrop. Keep any custom backdrop override opaque.
18
+ Use `showHorizontalBorders` for explicit row separators in all columns.
9
19
 
10
20
  `JumpTableCell` and `JumpTableHeaderCell` support `pinned="left"` or `pinned="right"`;
11
21
  use `pinnedEdge` for the edge divider. Pinned cells use the same backdrop as the
@@ -75,7 +85,7 @@ Jumpy Components als ein gemeinsames UI-Paket.
75
85
  Starting with 0.5.0, Jumpy UI uses the public npmjs registry. No package token is required to install:
76
86
 
77
87
  ```bash
78
- npm install @mario_hahn/jumpy-ui@^0.8.0
88
+ npm install @mario_hahn/jumpy-ui@^0.8.1
79
89
  ```
80
90
 
81
91
  The public npm package uses the `@mario_hahn` scope. Older GitHub Packages releases
@@ -23744,7 +23744,7 @@ var providerStyles = `
23744
23744
  }
23745
23745
 
23746
23746
  [data-jumpy-theme='true'] [data-jumpy-slot='table-wrapper'] {
23747
- --jumpy-cmp-table-backdrop-color: var(--jumpy-non-interactive-background-default-floating);
23747
+ --jumpy-cmp-table-backdrop-color: var(--jumpy-color-surface-card);
23748
23748
  display: block;
23749
23749
  position: relative;
23750
23750
  width: 100%;
@@ -23756,6 +23756,7 @@ var providerStyles = `
23756
23756
  width: 100%;
23757
23757
  max-width: 100%;
23758
23758
  overflow: auto;
23759
+ background-color: var(--jumpy-cmp-table-backdrop-color);
23759
23760
  }
23760
23761
 
23761
23762
  [data-jumpy-theme='true'] [data-jumpy-slot='table-container'][data-sticky-header='true'] {
@@ -23775,18 +23776,6 @@ var providerStyles = `
23775
23776
  top: 0;
23776
23777
  }
23777
23778
 
23778
- /* Table section backgrounds can be clipped to rounded cell boxes by the table
23779
- painting algorithm. An independent layer also covers those outer corners. */
23780
- [data-jumpy-theme='true'] [data-jumpy-slot='table-container'][data-sticky-header='true'] thead::before,
23781
- [data-jumpy-theme='true'] [data-jumpy-slot='table-container'][data-sticky-header='true'] tfoot::before {
23782
- content: '';
23783
- position: absolute;
23784
- inset: 0;
23785
- z-index: -1;
23786
- pointer-events: none;
23787
- background-color: var(--jumpy-cmp-table-backdrop-color);
23788
- }
23789
-
23790
23779
  [data-jumpy-theme='true'] [data-jumpy-slot='table-container'][data-sticky-header='true'] :is(thead, tfoot) > [data-jumpy-component='table-row'] > :is([data-jumpy-component='table-cell'], [data-jumpy-component='table-header-cell']):is(:first-child, :last-child) {
23791
23780
  /* Only the decorative surface is rounded; sticky backdrops are rectangular. */
23792
23781
  border-radius: 0;
@@ -23840,7 +23829,7 @@ var providerStyles = `
23840
23829
 
23841
23830
  [data-jumpy-theme='true'] [data-jumpy-component='table-cell'],
23842
23831
  [data-jumpy-theme='true'] [data-jumpy-component='table-header-cell'] {
23843
- --jumpy-cmp-table-cell-surface-color: var(--jumpy-interactive-inactive-regular-default-surface, transparent);
23832
+ --jumpy-cmp-table-cell-surface-color: transparent;
23844
23833
  display: table-cell;
23845
23834
  position: relative;
23846
23835
  height: var(--jumpy-spacing-size-2xlarge);
@@ -23852,7 +23841,7 @@ var providerStyles = `
23852
23841
  }
23853
23842
 
23854
23843
  [data-jumpy-theme='true'] [data-jumpy-component='table-header-cell'] {
23855
- --jumpy-cmp-table-cell-surface-color: color-mix(in srgb, var(--jumpy-color-neutral-ultralight) calc(var(--jumpy-opacity-medium) * 100%), transparent);
23844
+ --jumpy-cmp-table-cell-surface-color: color-mix(in srgb, var(--jumpy-color-surface-field) calc(var(--jumpy-opacity-medium) * 100%), transparent);
23856
23845
  }
23857
23846
 
23858
23847
  [data-jumpy-theme='true'] [data-jumpy-component='table-cell'][data-align='start'],
@@ -23887,9 +23876,10 @@ var providerStyles = `
23887
23876
  [data-jumpy-theme='true'] [data-jumpy-component='table-cell']::before,
23888
23877
  [data-jumpy-theme='true'] [data-jumpy-component='table-header-cell']::before {
23889
23878
  position: absolute;
23879
+ z-index: 1;
23890
23880
  inset-inline: 0;
23891
23881
  bottom: 0;
23892
- background-color: var(--jumpy-color-neutral-ultralight, var(--jumpy-color-border-subtle));
23882
+ background-color: var(--jumpy-color-border-subtle);
23893
23883
  height: var(--jumpy-spacing-outline-small);
23894
23884
  content: '';
23895
23885
  }
@@ -24139,31 +24129,17 @@ var providerStyles = `
24139
24129
 
24140
24130
  [data-jumpy-theme='true'] [data-jumpy-component='table-footer'] {
24141
24131
  position: relative;
24142
- background-color: var(--jumpy-interactive-inactive-regular-default-surface);
24143
- }
24144
-
24145
- [data-jumpy-theme='true'] [data-jumpy-component='table-footer']::before,
24146
- [data-jumpy-theme='true'] [data-jumpy-component='table-footer']::after {
24147
- position: absolute;
24148
- right: 0;
24149
- left: 0;
24150
- z-index: 1;
24151
- background-color: var(--jumpy-interactive-inactive-regular-default-border);
24152
- height: var(--jumpy-spacing-outline-small);
24153
- content: '';
24154
- }
24155
-
24156
- [data-jumpy-theme='true'] [data-jumpy-component='table-footer']::before {
24157
- top: 0;
24132
+ background-color: var(--jumpy-cmp-table-backdrop-color);
24158
24133
  }
24159
24134
 
24160
- [data-jumpy-theme='true'] [data-jumpy-component='table-footer']::after {
24161
- display: none;
24162
- bottom: 0;
24135
+ /* Native cell borders paint consistently on either side of pinned boundaries.
24136
+ A section pseudo-element would be covered only by the sticky cells. */
24137
+ [data-jumpy-theme='true'] [data-jumpy-component='table-footer'] > [data-jumpy-component='table-row']:first-child > :is([data-jumpy-component='table-cell'], [data-jumpy-component='table-header-cell']) {
24138
+ border-top: var(--jumpy-spacing-outline-small) solid var(--jumpy-color-border-subtle);
24163
24139
  }
24164
24140
 
24165
- [data-jumpy-theme='true'] [data-jumpy-component='table'][data-horizontal-borders='true'] [data-jumpy-component='table-footer']::after {
24166
- display: block;
24141
+ [data-jumpy-theme='true'] [data-jumpy-component='table'][data-horizontal-borders='true'] > [data-jumpy-component='table-footer'] > [data-jumpy-component='table-row']:last-child > :is([data-jumpy-component='table-cell'], [data-jumpy-component='table-header-cell']) {
24142
+ border-bottom: var(--jumpy-spacing-outline-small) solid var(--jumpy-color-border-subtle);
24167
24143
  }
24168
24144
 
24169
24145
  [data-jumpy-theme='true'] [data-jumpy-component='table-footer'] [data-jumpy-component='table-cell']::before {
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ import {
28
28
  textStyleValue,
29
29
  themeToCSSVariables,
30
30
  useJumpyTheme
31
- } from "./chunk-HQ4NWZ65.js";
31
+ } from "./chunk-B7QIDGY7.js";
32
32
  import {
33
33
  cn
34
34
  } from "./chunk-3DBKYKP2.js";
@@ -2492,7 +2492,7 @@ function JumpDatePicker({ label = "Date", hint, value, defaultValue = null, onCh
2492
2492
  setOpen(false);
2493
2493
  }
2494
2494
  const trailing = readOnly ? void 0 : /* @__PURE__ */ jsx(PickerTrailingIcon, { type: "date", open: isOpen });
2495
- return /* @__PURE__ */ jsxs("div", { ref: refs.setReference, "data-jumpy-component": "date-picker", style: { position: "relative", width: 312, maxWidth: "100%" }, children: [
2495
+ return /* @__PURE__ */ jsxs("div", { ref: refs.setReference, "data-jumpy-component": "date-picker", style: { position: "relative", width: "100%", maxWidth: "100%" }, children: [
2496
2496
  /* @__PURE__ */ jsx(JumpField, { label, hint, status, error, hideClearIcon, onClear, className, trailing, children: /* @__PURE__ */ jsx(
2497
2497
  JumpInput,
2498
2498
  {
@@ -2614,7 +2614,7 @@ function JumpTimePicker({ label = "Time", hint, value, defaultValue = null, onCh
2614
2614
  onChange?.(output);
2615
2615
  }
2616
2616
  const trailing = readOnly ? void 0 : /* @__PURE__ */ jsx(PickerTrailingIcon, { type: "time", open: isOpen });
2617
- return /* @__PURE__ */ jsxs("div", { ref: refs.setReference, "data-jumpy-component": "time-picker", style: { position: "relative", width: 340, maxWidth: "100%" }, children: [
2617
+ return /* @__PURE__ */ jsxs("div", { ref: refs.setReference, "data-jumpy-component": "time-picker", style: { position: "relative", width: "100%", maxWidth: "100%" }, children: [
2618
2618
  /* @__PURE__ */ jsx(JumpField, { label, hint, status, error, hideClearIcon, onClear, className, trailing, children: /* @__PURE__ */ jsx(
2619
2619
  JumpInput,
2620
2620
  {
package/dist/theme.js CHANGED
@@ -28,7 +28,7 @@ import {
28
28
  textStyleValue,
29
29
  themeToCSSVariables,
30
30
  useJumpyTheme
31
- } from "./chunk-HQ4NWZ65.js";
31
+ } from "./chunk-B7QIDGY7.js";
32
32
  export {
33
33
  JumpyAnimation,
34
34
  JumpyAnimationDelay,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mario_hahn/jumpy-ui",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {