@sigx/zero-daisyui 0.10.0 → 0.11.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.
@@ -79,7 +79,7 @@
79
79
  [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"] {
80
80
  opacity: 1;
81
81
  translate: var(--drawer-travel);
82
- transition: translate var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
82
+ transition: translate var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
83
83
  position: fixed;
84
84
  inset-block-start: 0;
85
85
  inset-block-end: 0;
@@ -91,7 +91,7 @@
91
91
 
92
92
  [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"][data-state="open"] {
93
93
  translate: none;
94
- transition: translate var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
94
+ transition: translate var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
95
95
  }
96
96
 
97
97
  [data-scope="drawer"][data-part="panel"][data-placement="start"][data-l-dock="sheet"] {
@@ -132,6 +132,23 @@
132
132
  border-start-end-radius: var(--radius-box);
133
133
  }
134
134
 
135
+ [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"][data-state] {
136
+ transform: translate(var(--swipe-x, 0px), var(--swipe-y, 0px));
137
+ }
138
+
139
+ [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"][data-state="open"][data-swiping] {
140
+ transition: none;
141
+ user-select: none;
142
+ }
143
+
144
+ [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"]:where([data-placement="start"], [data-placement="end"]) {
145
+ touch-action: pan-y;
146
+ }
147
+
148
+ [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"]:where([data-placement="top"], [data-placement="bottom"]) {
149
+ touch-action: pan-x;
150
+ }
151
+
135
152
  [data-scope="drawer"][data-part="panel"]::backdrop {
136
153
  background: oklch(0% 0 0 / 0.4);
137
154
  }
@@ -71,7 +71,7 @@
71
71
  transform: rotate(180deg);
72
72
  }
73
73
 
74
- [data-scope="select"][data-part="root"]:has(> [data-scope="select"][data-part="clear-trigger"]) [data-scope="select"][data-part="indicator"] {
74
+ [data-scope="select"][data-part="indicator"][data-clearable] {
75
75
  margin-inline-start: calc(var(--space-2xl) + var(--space-sm));
76
76
  }
77
77
 
@@ -75,13 +75,14 @@
75
75
  box-shadow: var(--shadow-lg);
76
76
  font-size: var(--text-sm);
77
77
  opacity: 0;
78
- transform: translateY(var(--toast-from));
78
+ transform: translate(var(--swipe-x, 0px), var(--swipe-y, 0px)) translateY(var(--toast-from));
79
79
  transition: opacity var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);
80
+ touch-action: none;
80
81
  }
81
82
 
82
83
  [data-scope="toast"][data-part="root"][data-state="open"] {
83
84
  opacity: 1;
84
- transform: none;
85
+ transform: translate(var(--swipe-x, 0px), var(--swipe-y, 0px));
85
86
  }
86
87
 
87
88
  [data-scope="toast"][data-part="root"][data-placement^="top"] {
@@ -92,6 +93,11 @@
92
93
  grid-template-columns: auto 1fr auto auto;
93
94
  }
94
95
 
96
+ [data-scope="toast"][data-part="root"][data-swiping] {
97
+ transition: none;
98
+ user-select: none;
99
+ }
100
+
95
101
  [data-scope="toast"][data-part="indicator"] {
96
102
  grid-column: 1;
97
103
  grid-row: 1 / span 2;
@@ -288,7 +294,7 @@
288
294
  }
289
295
 
290
296
  [data-scope="toast"][data-part="root"][data-state="open"] {
291
- transform: none;
297
+ transform: translate(var(--swipe-x, 0px), var(--swipe-y, 0px));
292
298
  }
293
299
 
294
300
  [data-scope="toast"][data-part="indicator"][data-state="loading"] {
@@ -4169,7 +4169,7 @@
4169
4169
  transform: rotate(180deg);
4170
4170
  }
4171
4171
 
4172
- [data-scope="select"][data-part="root"]:has(> [data-scope="select"][data-part="clear-trigger"]) [data-scope="select"][data-part="indicator"] {
4172
+ [data-scope="select"][data-part="indicator"][data-clearable] {
4173
4173
  margin-inline-start: calc(var(--space-2xl) + var(--space-sm));
4174
4174
  }
4175
4175
 
@@ -4989,13 +4989,14 @@
4989
4989
  box-shadow: var(--shadow-lg);
4990
4990
  font-size: var(--text-sm);
4991
4991
  opacity: 0;
4992
- transform: translateY(var(--toast-from));
4992
+ transform: translate(var(--swipe-x, 0px), var(--swipe-y, 0px)) translateY(var(--toast-from));
4993
4993
  transition: opacity var(--duration-normal) var(--ease-standard), transform var(--duration-normal) var(--ease-standard);
4994
+ touch-action: none;
4994
4995
  }
4995
4996
 
4996
4997
  [data-scope="toast"][data-part="root"][data-state="open"] {
4997
4998
  opacity: 1;
4998
- transform: none;
4999
+ transform: translate(var(--swipe-x, 0px), var(--swipe-y, 0px));
4999
5000
  }
5000
5001
 
5001
5002
  [data-scope="toast"][data-part="root"][data-placement^="top"] {
@@ -5006,6 +5007,11 @@
5006
5007
  grid-template-columns: auto 1fr auto auto;
5007
5008
  }
5008
5009
 
5010
+ [data-scope="toast"][data-part="root"][data-swiping] {
5011
+ transition: none;
5012
+ user-select: none;
5013
+ }
5014
+
5009
5015
  [data-scope="toast"][data-part="indicator"] {
5010
5016
  grid-column: 1;
5011
5017
  grid-row: 1 / span 2;
@@ -5202,7 +5208,7 @@
5202
5208
  }
5203
5209
 
5204
5210
  [data-scope="toast"][data-part="root"][data-state="open"] {
5205
- transform: none;
5211
+ transform: translate(var(--swipe-x, 0px), var(--swipe-y, 0px));
5206
5212
  }
5207
5213
 
5208
5214
  [data-scope="toast"][data-part="indicator"][data-state="loading"] {
@@ -10388,7 +10394,7 @@
10388
10394
  [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"] {
10389
10395
  opacity: 1;
10390
10396
  translate: var(--drawer-travel);
10391
- transition: translate var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
10397
+ transition: translate var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
10392
10398
  position: fixed;
10393
10399
  inset-block-start: 0;
10394
10400
  inset-block-end: 0;
@@ -10400,7 +10406,7 @@
10400
10406
 
10401
10407
  [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"][data-state="open"] {
10402
10408
  translate: none;
10403
- transition: translate var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
10409
+ transition: translate var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
10404
10410
  }
10405
10411
 
10406
10412
  [data-scope="drawer"][data-part="panel"][data-placement="start"][data-l-dock="sheet"] {
@@ -10441,6 +10447,23 @@
10441
10447
  border-start-end-radius: var(--radius-box);
10442
10448
  }
10443
10449
 
10450
+ [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"][data-state] {
10451
+ transform: translate(var(--swipe-x, 0px), var(--swipe-y, 0px));
10452
+ }
10453
+
10454
+ [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"][data-state="open"][data-swiping] {
10455
+ transition: none;
10456
+ user-select: none;
10457
+ }
10458
+
10459
+ [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"]:where([data-placement="start"], [data-placement="end"]) {
10460
+ touch-action: pan-y;
10461
+ }
10462
+
10463
+ [data-scope="drawer"][data-part="panel"][data-l-dock="sheet"]:where([data-placement="top"], [data-placement="bottom"]) {
10464
+ touch-action: pan-x;
10465
+ }
10466
+
10444
10467
  [data-scope="drawer"][data-part="panel"]::backdrop {
10445
10468
  background: oklch(0% 0 0 / 0.4);
10446
10469
  }
@@ -63,7 +63,7 @@
63
63
 
64
64
  .zx-drawer__panel.zx-l-dock-sheet {
65
65
  opacity: 1;
66
- transition: translate var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
66
+ transition: translate var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
67
67
  position: fixed;
68
68
  block-size: 100dvh;
69
69
  max-block-size: 100dvh;
@@ -72,7 +72,7 @@
72
72
  }
73
73
 
74
74
  .zx-drawer__panel.zx-l-dock-sheet.zx-s-open {
75
- transition: translate var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
75
+ transition: translate var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
76
76
  }
77
77
 
78
78
  .zx-drawer__panel.zx-p-top.zx-l-dock-sheet {
@@ -62,6 +62,14 @@
62
62
  background: var(--color-base-200);
63
63
  }
64
64
 
65
+ .zx-select__value {
66
+ flex-shrink: 1;
67
+ min-width: 0;
68
+ overflow: hidden;
69
+ white-space: nowrap;
70
+ text-overflow: ellipsis;
71
+ }
72
+
65
73
  .zx-root .zx-select__value.zx-f-placeholder {
66
74
  color: #18181b99;
67
75
  }
@@ -93,6 +101,10 @@
93
101
  transform: rotate(180deg);
94
102
  }
95
103
 
104
+ .zx-select__indicator.zx-f-clearable {
105
+ margin-left: calc(24px + var(--space-xs));
106
+ }
107
+
96
108
  .zx-select__clear-trigger {
97
109
  appearance: none;
98
110
  position: absolute;
@@ -5138,6 +5138,14 @@
5138
5138
  background: var(--color-base-200);
5139
5139
  }
5140
5140
 
5141
+ .zx-select__value {
5142
+ flex-shrink: 1;
5143
+ min-width: 0;
5144
+ overflow: hidden;
5145
+ white-space: nowrap;
5146
+ text-overflow: ellipsis;
5147
+ }
5148
+
5141
5149
  .zx-root .zx-select__value.zx-f-placeholder {
5142
5150
  color: #18181b99;
5143
5151
  }
@@ -5169,6 +5177,10 @@
5169
5177
  transform: rotate(180deg);
5170
5178
  }
5171
5179
 
5180
+ .zx-select__indicator.zx-f-clearable {
5181
+ margin-left: calc(24px + var(--space-xs));
5182
+ }
5183
+
5172
5184
  .zx-select__clear-trigger {
5173
5185
  appearance: none;
5174
5186
  position: absolute;
@@ -12397,7 +12409,7 @@
12397
12409
 
12398
12410
  .zx-drawer__panel.zx-l-dock-sheet {
12399
12411
  opacity: 1;
12400
- transition: translate var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
12412
+ transition: translate var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
12401
12413
  position: fixed;
12402
12414
  block-size: 100dvh;
12403
12415
  max-block-size: 100dvh;
@@ -12406,7 +12418,7 @@
12406
12418
  }
12407
12419
 
12408
12420
  .zx-drawer__panel.zx-l-dock-sheet.zx-s-open {
12409
- transition: translate var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
12421
+ transition: translate var(--duration-slow) var(--ease-standard), transform var(--duration-slow) var(--ease-standard), display var(--duration-slow) allow-discrete, overlay var(--duration-slow) allow-discrete;
12410
12422
  }
12411
12423
 
12412
12424
  .zx-drawer__panel.zx-p-top.zx-l-dock-sheet {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://signalxjs.github.io/zero/schemas/lynx-manifest.schema.json",
3
3
  "manifestVersion": 1,
4
- "zeroVersion": "0.10.0",
4
+ "zeroVersion": "0.11.0",
5
5
  "name": "daisyui",
6
6
  "themes": [
7
7
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://signalxjs.github.io/zero/schemas/ds-manifest.schema.json",
3
3
  "manifestVersion": 1,
4
- "zeroVersion": "0.10.0",
4
+ "zeroVersion": "0.11.0",
5
5
  "name": "daisyui",
6
6
  "themes": [
7
7
  {
@@ -1 +1 @@
1
- {"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../src/recipes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../src/recipes.ts"],"names":[],"mappings":"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"}
package/dist/recipes.js CHANGED
@@ -129,6 +129,13 @@ const ROLE_INK_KEEP = {
129
129
  const roleInk = (role) => `color-mix(in oklab, var(--color-${role}) `
130
130
  + `${ROLE_INK_KEEP[role] ?? 55}%, var(--color-base-content))`;
131
131
  // daisy "tabs-box" flavor: a rounded container, lifted active tab.
132
+ /**
133
+ * The swipe-to-dismiss offset (#293): `createSwipe` publishes the drag as
134
+ * `--swipe-x` / `--swipe-y` on a toast root or a drawer sheet, and this is
135
+ * the one place it is read — composed first into the part's `transform`, so
136
+ * an enter/exit offset or a slide rides on top of it. Unset, it is nothing.
137
+ */
138
+ const SWIPE = 'translate(var(--swipe-x, 0px), var(--swipe-y, 0px))';
132
139
  /**
133
140
  * Enter/exit presence for a top-layer popup.
134
141
  *
@@ -2846,11 +2853,6 @@ const fieldControl = {
2846
2853
  borderRadius: 'var(--radius-field)',
2847
2854
  boxShadow: 'var(--shadow-xs)',
2848
2855
  };
2849
- /**
2850
- * A select whose clear-trigger is rendered (#280) — anchored on the root, so
2851
- * a part inside the trigger can make room for the button laid over it.
2852
- */
2853
- const SELECT_CLEARABLE = '[data-scope="select"][data-part="root"]:has(> [data-scope="select"][data-part="clear-trigger"]) &';
2854
2856
  /**
2855
2857
  * The select trigger's lynx steps — `[inline padding in --size-field units,
2856
2858
  * font-size step]` — as the size variants set them (`lynxBtnPad` and the
@@ -2939,9 +2941,13 @@ export const select = {
2939
2941
  },
2940
2942
  indicator: {
2941
2943
  base: { opacity: '0.6', transition: 'transform var(--duration-normal) var(--ease-standard)' },
2942
- states: { open: { transform: 'rotate(180deg)' }, closed: {} },
2943
- // Room for the clear-trigger laid over the field (#280).
2944
- selectors: { [SELECT_CLEARABLE]: { marginInlineStart: 'calc(var(--space-2xl) + var(--space-sm))' } },
2944
+ states: {
2945
+ open: { transform: 'rotate(180deg)' },
2946
+ closed: {},
2947
+ // Room for the clear-trigger laid over the field (#280) — the
2948
+ // `clearable` flag the runtime stamps while it renders (#387).
2949
+ clearable: { marginInlineStart: 'calc(var(--space-2xl) + var(--space-sm))' },
2950
+ },
2945
2951
  },
2946
2952
  // Clears the selection (#280): daisy's ghost-btn over the field's
2947
2953
  // inline end, just before the chevron — muted like it, the base-200
@@ -3099,7 +3105,25 @@ export const select = {
3099
3105
  // focus ring was a tall pill. The ring is inset, so it hugs
3100
3106
  // the chip and can never reach the chevron, and no gap shadow
3101
3107
  // paints past the chip's rounded corners.
3102
- indicator: { base: { width: '1em', textAlign: 'right' } },
3108
+ indicator: {
3109
+ base: { width: '1em', textAlign: 'right' },
3110
+ // The web's room for the chip (`margin-inline-start`) is a
3111
+ // logical spelling Android never resolves, and it is
3112
+ // sized off the web's own offset. Here the chip is a
3113
+ // 1.5rem square one `--space-xs` short of the chevron
3114
+ // at every size, so the room is exactly that — and the
3115
+ // trigger's `gap` stays between the value and the chip.
3116
+ // Before the `clearable` flag the web reached this with
3117
+ // `:has()`, which lynx cannot express: at lg/xl the value
3118
+ // ran under the chip and its focus ring
3119
+ // (signalxjs/lynx#1191).
3120
+ states: { clearable: { marginLeft: 'calc(1.5rem + var(--space-xs))' } },
3121
+ },
3122
+ // The value gives way to the chip instead of running under
3123
+ // it: one line, clipped with an ellipsis — the web's
3124
+ // `nowrap` button text, with a flex item's `min-width: auto`
3125
+ // lifted so it can shrink below its content at all.
3126
+ value: { base: { flexShrink: '1', minWidth: '0', overflow: 'hidden', whiteSpace: 'nowrap', textOverflow: 'ellipsis' } },
3103
3127
  'clear-trigger': {
3104
3128
  base: { ...lynxSelectClear('md'), width: '1.5rem', height: '1.5rem', minWidth: '1.5rem', boxSizing: 'border-box' },
3105
3129
  states: lynxFocus({ inset: true }),
@@ -3725,6 +3749,8 @@ export const toast = {
3725
3749
  states: {
3726
3750
  open: { opacity: '1', transform: 'none' },
3727
3751
  closed: {},
3752
+ // Styled in `targets.web` — the swipe is web-only (#293).
3753
+ swiping: {},
3728
3754
  },
3729
3755
  at: {
3730
3756
  'reduced-motion': { base: { transition: 'none' }, states: { open: { transform: 'none' } } },
@@ -3850,6 +3876,22 @@ export const toast = {
3850
3876
  defaultVariants: { size: 'md' },
3851
3877
  keyframes: { 'zero-daisyui-toast-spin': 'to { transform: rotate(360deg); }' },
3852
3878
  targets: {
3879
+ // The swipe (#293) — web only, since the runtime's `--swipe-*` offset
3880
+ // is: composed ahead of the enter/exit offset, and no pan or pinch
3881
+ // starts on a toast, so a touch drag is the swipe's.
3882
+ web: {
3883
+ parts: {
3884
+ root: {
3885
+ base: { transform: `${SWIPE} translateY(var(--toast-from))`, touchAction: 'none' },
3886
+ states: { open: { transform: SWIPE } },
3887
+ selectors: {
3888
+ // Mid-swipe the toast tracks the pointer, not a transition.
3889
+ '&[data-swiping]': { transition: 'none', userSelect: 'none' },
3890
+ },
3891
+ at: { 'reduced-motion': { states: { open: { transform: SWIPE } } } },
3892
+ },
3893
+ },
3894
+ },
3853
3895
  lynx: {
3854
3896
  parts: {
3855
3897
  // The viewport is a full-width strip on lynx (the runtime pins
@@ -7249,7 +7291,8 @@ const sheetSlide = (enter, exit) => {
7249
7291
  const open = `${sheet}[data-state="open"]`;
7250
7292
  const travel = (tempo) => {
7251
7293
  const duration = tempo.split(' ')[0];
7252
- return `translate ${tempo}, display ${duration} allow-discrete, overlay ${duration} allow-discrete`;
7294
+ // `transform` rides along for the swipe's spring back (#293).
7295
+ return `translate ${tempo}, transform ${tempo}, display ${duration} allow-discrete, overlay ${duration} allow-discrete`;
7253
7296
  };
7254
7297
  return {
7255
7298
  base: { '--drawer-travel': '-100% 0' },
@@ -7383,8 +7426,27 @@ export const drawer = {
7383
7426
  // Trigger-carried axes — see `btnColors` for why the panel is out of
7384
7427
  // reach and the trigger is the whole story here.
7385
7428
  variants: { color: btnColors(), size: btnSizes },
7386
- // The btn paddings, restated physically — see `lynxBtnPad` (#1084).
7387
7429
  targets: {
7430
+ // Swipe to dismiss (#293) — web only, since the runtime's `--swipe-*`
7431
+ // offset is: the sheet wears the drag offset (`SWIPE`) in every
7432
+ // state — so a swiped sheet leaves from where it was let go — at a
7433
+ // weight above the presence's own open `transform`. Mid-swipe no
7434
+ // transition runs. A touch pan across the dismiss axis stays the
7435
+ // page's; along it is the gesture's, so content taller than a
7436
+ // block-edge sheet scrolls in a box of its own inside the panel.
7437
+ web: {
7438
+ parts: {
7439
+ panel: {
7440
+ selectors: {
7441
+ '&[data-l-dock="sheet"][data-state]': { transform: SWIPE },
7442
+ '&[data-l-dock="sheet"][data-state="open"][data-swiping]': { transition: 'none', userSelect: 'none' },
7443
+ '&[data-l-dock="sheet"]:where([data-placement="start"], [data-placement="end"])': { touchAction: 'pan-y' },
7444
+ '&[data-l-dock="sheet"]:where([data-placement="top"], [data-placement="bottom"])': { touchAction: 'pan-x' },
7445
+ },
7446
+ },
7447
+ },
7448
+ },
7449
+ // The btn paddings, restated physically — see `lynxBtnPad` (#1084).
7388
7450
  lynx: {
7389
7451
  parts: {
7390
7452
  trigger: { base: lynxBtnPad(4) },