@ixfx/components 0.10.1 → 0.10.3

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 (100) hide show
  1. package/bundle/index.d.ts +186 -20
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +1925 -127
  4. package/bundle/index.js.map +1 -1
  5. package/dist/ac-text.js +1 -1
  6. package/dist/ac-token.js +2 -2
  7. package/dist/{colour-picker-R73i0QTP.js → colour-picker-WDrPuqoO.js} +2 -2
  8. package/dist/{colour-picker-R73i0QTP.js.map → colour-picker-WDrPuqoO.js.map} +1 -1
  9. package/dist/colour-picker.js +1 -1
  10. package/dist/crumbs.js +2 -2
  11. package/dist/{data-grid-BT1d_nlu.d.ts → data-grid-f9W2uzaR.d.ts} +3 -2
  12. package/dist/data-grid-f9W2uzaR.d.ts.map +1 -0
  13. package/dist/data-grid.d.ts +1 -1
  14. package/dist/data-grid.js +27 -9
  15. package/dist/data-grid.js.map +1 -1
  16. package/dist/defaults-kVl1t2tT.js +59 -0
  17. package/dist/defaults-kVl1t2tT.js.map +1 -0
  18. package/dist/{detail-list-BCaIN7nx.d.ts → detail-list-C3tozzBT.d.ts} +3 -3
  19. package/dist/{detail-list-BCaIN7nx.d.ts.map → detail-list-C3tozzBT.d.ts.map} +1 -1
  20. package/dist/detail-list.d.ts +2 -2
  21. package/dist/detail-list.js +3 -3
  22. package/dist/{grid-list-CiwlNE4c.d.ts → grid-list-CM1XhTaW.d.ts} +15 -2
  23. package/dist/{grid-list-CiwlNE4c.d.ts.map → grid-list-CM1XhTaW.d.ts.map} +1 -1
  24. package/dist/{grid-list-DLfw5HI4.js → grid-list-WE92nfX5.js} +103 -7
  25. package/dist/grid-list-WE92nfX5.js.map +1 -0
  26. package/dist/grid-list.d.ts +1 -1
  27. package/dist/grid-list.js +1 -1
  28. package/dist/handle-DAXs7kbJ.js +656 -0
  29. package/dist/handle-DAXs7kbJ.js.map +1 -0
  30. package/dist/{icon-BCJJYEpm.js → icon-1gpwtPx8.js} +10 -1
  31. package/dist/icon-1gpwtPx8.js.map +1 -0
  32. package/dist/icon-DR_3rSyZ.d.ts.map +1 -1
  33. package/dist/icons.d.ts +1 -1
  34. package/dist/icons.js +2 -2
  35. package/dist/{incr-search-C05WjbZh.js → incr-search-D91M4Ozq.js} +5 -4
  36. package/dist/incr-search-D91M4Ozq.js.map +1 -0
  37. package/dist/incr-search.d.ts +1 -1
  38. package/dist/incr-search.js +1 -1
  39. package/dist/{index-DPFrRhKL.d.ts → index-BXafRK-_.d.ts} +2 -1
  40. package/dist/index-BXafRK-_.d.ts.map +1 -0
  41. package/dist/index-C59-JEPl.d.ts.map +1 -1
  42. package/dist/index-garxxqgV.d.ts +38 -0
  43. package/dist/index-garxxqgV.d.ts.map +1 -0
  44. package/dist/index.d.ts +158 -8
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +1053 -18
  47. package/dist/index.js.map +1 -1
  48. package/dist/{menu-C8a-84S5.js → menu-B2Qv3Oiz.js} +6 -5
  49. package/dist/menu-B2Qv3Oiz.js.map +1 -0
  50. package/dist/{menu-item-DzizkMH-.js → menu-item-Woc8jJc1.js} +4 -4
  51. package/dist/menu-item-Woc8jJc1.js.map +1 -0
  52. package/dist/menu.js +2 -2
  53. package/dist/miller.d.ts +1 -1
  54. package/dist/miller.js +1 -1
  55. package/dist/narrowed-text.js +1 -1
  56. package/dist/{scroll-fade-CAs1EabA.js → scroll-fade-BrNUIYnm.js} +16 -3
  57. package/dist/scroll-fade-BrNUIYnm.js.map +1 -0
  58. package/dist/select-horiz.js +1 -1
  59. package/dist/{split-layout-3yBOEVZW.js → split-layout-BJEU1W0d.js} +2 -2
  60. package/dist/{split-layout-3yBOEVZW.js.map → split-layout-BJEU1W0d.js.map} +1 -1
  61. package/dist/split-layout.js +1 -1
  62. package/dist/tabs.js +1 -1
  63. package/dist/{timeline-CFlBFFGZ.js → timeline-BP1Ux2EV.js} +2 -2
  64. package/dist/{timeline-CFlBFFGZ.js.map → timeline-BP1Ux2EV.js.map} +1 -1
  65. package/dist/timeline.js +1 -1
  66. package/dist/titlebar.js +1 -1
  67. package/dist/{tree-BuzWn18_.js → tree-Bm2TzTfe.js} +233 -14
  68. package/dist/tree-Bm2TzTfe.js.map +1 -0
  69. package/dist/tree.d.ts +13 -1
  70. package/dist/tree.d.ts.map +1 -1
  71. package/dist/tree.js +1 -1
  72. package/dist/{vertical-list-BLvJ4-Zf.d.ts → vertical-list-DdaYcvHQ.d.ts} +2 -2
  73. package/dist/{vertical-list-BLvJ4-Zf.d.ts.map → vertical-list-DdaYcvHQ.d.ts.map} +1 -1
  74. package/dist/vertical-list.d.ts +1 -1
  75. package/dist/vertical-list.js +1 -1
  76. package/docs-user/README.md +1 -0
  77. package/docs-user/grid-list.md +15 -0
  78. package/docs-user/icons.md +24 -10
  79. package/docs-user/index.json +8 -3
  80. package/docs-user/llms.txt +2 -1
  81. package/docs-user/multicol-list.md +128 -0
  82. package/docs-user/tree.md +12 -0
  83. package/docs-user/vertical-list.md +65 -9
  84. package/llms.txt +2 -1
  85. package/package.json +1 -1
  86. package/dist/data-grid-BT1d_nlu.d.ts.map +0 -1
  87. package/dist/defaults-BJwDsMH4.js +0 -86
  88. package/dist/defaults-BJwDsMH4.js.map +0 -1
  89. package/dist/grid-list-DLfw5HI4.js.map +0 -1
  90. package/dist/handle-BPOxBOKf.js +0 -219
  91. package/dist/handle-BPOxBOKf.js.map +0 -1
  92. package/dist/icon-BCJJYEpm.js.map +0 -1
  93. package/dist/incr-search-C05WjbZh.js.map +0 -1
  94. package/dist/index-DPFrRhKL.d.ts.map +0 -1
  95. package/dist/index-DsjpDksO.d.ts +0 -47
  96. package/dist/index-DsjpDksO.d.ts.map +0 -1
  97. package/dist/menu-C8a-84S5.js.map +0 -1
  98. package/dist/menu-item-DzizkMH-.js.map +0 -1
  99. package/dist/scroll-fade-CAs1EabA.js.map +0 -1
  100. package/dist/tree-BuzWn18_.js.map +0 -1
@@ -0,0 +1,656 @@
1
+ import { css } from "lit";
2
+ //#region src/styles/handle.ts
3
+ /**
4
+ * Shared drag / resize **handle** styling.
5
+ *
6
+ * A handle is the grab affordance for moving or resizing an object. Apply the
7
+ * `.ixfx-handle` class to a small decorative element inside your drag / resize
8
+ * hit-zone and choose a look with two independent attributes:
9
+ *
10
+ * - `data-handle` — texture: `flat` (default) · `dotted` · `dimpled` · `grated`
11
+ * - `data-shape` — topology: `horizontal` (default) · `vertical` · `spot`
12
+ *
13
+ * - **flat** — a solid rounded capsule (bar) or dot (`spot`), filled with
14
+ * `--ixfx-handle-color`.
15
+ * - **dotted** — marks in the [Lucide *grip*](https://lucide.dev/icons/grip)
16
+ * arrangement: one or more marks along the long axis (`horizontal`: a row,
17
+ * `vertical`: a column), repeated in one or more rows/columns across the
18
+ * bar's cross axis (or a 3×3 block for `spot`, unaffected by the row/column
19
+ * / mark-count behaviour below). Tinted by `--ixfx-handle-color`. Each
20
+ * mark's corner rounding is `--ixfx-handle-radius` (→ the theme
21
+ * `--radius-l`), so a flat, squared-off theme renders them as **squares**
22
+ * instead of circles. For `horizontal` / `vertical`, `--ixfx-handle-length`
23
+ * decides how many marks (1-7) fit along the long axis — spaced by
24
+ * `--ixfx-handle-dot-gap` — the same way `--ixfx-handle-thickness` decides
25
+ * how many rows (or columns) of marks (1-7) fit across the cross axis —
26
+ * spaced by `--ixfx-handle-dot-pitch`. Both the bar's rendered length and
27
+ * its thickness snap to the nearest whole multiple of the relevant spacing
28
+ * so marks never clip at the edges.
29
+ * - **dimpled** — that same layout, but each mark is pressed in: a lighter
30
+ * copy peeking out above-left and a darker copy below-right of the base mark.
31
+ * - **grated** — fine 45° knurling: each ridge is a lit edge, the base colour,
32
+ * then a shaded edge. `spot` is the same hatch on a square crop.
33
+ *
34
+ * `dotted` / `dimpled` / `grated` are texture only — no plate, box or border; the
35
+ * gaps are transparent so the surface behind shows through. The base colour is
36
+ * `--ixfx-handle-color` (a theme token); the deboss edges default to that colour
37
+ * lightened / darkened.
38
+ *
39
+ * The handle is `pointer-events: none` — bind pointer handlers to the surrounding
40
+ * hit-zone. It reaches its "active" look (`--ixfx-handle-opacity-active`, and for
41
+ * `flat` / `dotted` the `--ixfx-handle-color-active` tint) when its immediate
42
+ * parent (the hit-zone) is `:hover` / `:focus-visible` / `[data-active]`, or when
43
+ * the handle itself is. Set `[data-active]` on the hit-zone yourself while a drag
44
+ * is live so the handle stays lit after the pointer leaves it.
45
+ *
46
+ * ```ts
47
+ * import { handleStyles } from '../styles/handle.js';
48
+ *
49
+ * static styles = [themeFallbacks, handleStyles, css`...`];
50
+ * ```
51
+ * ```html
52
+ * <div class="hit-zone" @pointerdown=${this.#onDown}>
53
+ * <span class="ixfx-handle" data-handle="dotted" data-shape="spot" part="handle"></span>
54
+ * </div>
55
+ * ```
56
+ *
57
+ * ## CSS variables (defaults shown; override on the element or any ancestor)
58
+ * - `--ixfx-handle-color` `var(--surface-muted-text)` — `flat` / `dotted` fill
59
+ * - `--ixfx-handle-color-active` `var(--accent)` — `flat` / `dotted` hover / focus
60
+ * - `--ixfx-handle-thickness` `6px` — cross-axis size of a bar (dotted /
61
+ * dimpled `horizontal` / `vertical` bars snap this to the nearest whole multiple
62
+ * of `--ixfx-handle-dot-pitch` so their mark rows / columns fit exactly)
63
+ * - `--ixfx-handle-length` `44px` — long-axis size of a bar (`100%` to
64
+ * fill). For dotted / dimpled `horizontal` / `vertical` bars this also decides
65
+ * how many marks (1-7) fit along the long axis — spaced by
66
+ * `--ixfx-handle-dot-gap` — the same way `--ixfx-handle-thickness` decides row /
67
+ * column count across the cross axis, and the bar's rendered length likewise
68
+ * snaps to the nearest whole multiple of `--ixfx-handle-dot-gap` so marks
69
+ * never clip at the edges.
70
+ * - `--ixfx-handle-spot-size` `14px` — width = height of a `spot`
71
+ * - `--ixfx-handle-radius` `var(--radius-l)` — `flat` capsule / dotted & dimpled mark rounding
72
+ * - `--ixfx-handle-opacity` `0.55` — rest opacity
73
+ * - `--ixfx-handle-opacity-active` `1`
74
+ * - `--ixfx-handle-dot-size` `3px` — mark size (dotted / dimpled)
75
+ * - `--ixfx-handle-dot-gap` `length/4` (bar) · `spot/3` — mark centre-to-centre
76
+ * step along the long axis (dotted / dimpled `horizontal` / `vertical` bars fit up
77
+ * to 7 marks, driven by `--ixfx-handle-length`; `spot` is a fixed 3×3 block)
78
+ * - `--ixfx-handle-dot-pitch` `dot-size * 2` — row/column centre-to-centre step across
79
+ * the cross axis (dotted / dimpled `horizontal` / `vertical` only; up to 7 rows/columns)
80
+ * - `--ixfx-handle-tile` `5px` — knurl period (grated)
81
+ * - `--ixfx-handle-highlight` `color-mix(currentColor 35%, #fff)` — lit deboss edge
82
+ * - `--ixfx-handle-shadow` `color-mix(currentColor 60%, #000)` — shaded deboss edge
83
+ */
84
+ const handleStyles = css`
85
+ .ixfx-handle {
86
+ /* Bridge: public --ixfx-handle-* (element or ancestor) → internal alias → fallback. */
87
+ --_handle-color: var(--ixfx-handle-color, var(--surface-3-text));
88
+ --_handle-color-active: var(--ixfx-handle-color-active, var(--surface-3-text));
89
+ --_handle-thickness: var(--ixfx-handle-thickness, 6px);
90
+ --_handle-length: var(--ixfx-handle-length, 44px);
91
+ --_handle-spot: var(--ixfx-handle-spot-size, 14px);
92
+ --_handle-radius: var(--ixfx-handle-radius, var(--radius-l));
93
+ --_handle-opacity: var(--ixfx-handle-opacity, 0.55);
94
+ --_handle-opacity-active: var(--ixfx-handle-opacity-active, 1);
95
+ --_handle-dot: var(--ixfx-handle-dot-size, 3px);
96
+ --_handle-tile: var(--ixfx-handle-tile, 5px);
97
+ /* Centre-to-centre step of the dotted / dimpled marks (a length). Defaults to
98
+ a share of the long axis; a bar shows ~3 marks. */
99
+ --_handle-gap: var(--ixfx-handle-dot-gap, calc(var(--_handle-length) / 4));
100
+ /* Centre-to-centre step between rows (horizontal) / columns (vertical) of
101
+ marks across the bar's cross axis. */
102
+ --_handle-pitch: var(--ixfx-handle-dot-pitch, calc(var(--_handle-dot) * 2));
103
+ /* How many whole pitch-steps fit across the thickness, rounded to the
104
+ nearest step and clamped to 1-7 rows/columns. */
105
+ --_handle-rows: clamp(1, round(nearest, calc(var(--_handle-thickness) / var(--_handle-pitch)), 1), 7);
106
+ /* An even row/column count has no centre step, so the whole grid (the
107
+ ::before mark and its box-shadow copies, spaced at whole --_handle-pitch
108
+ steps from it) is nudged by half a pitch to stay centred and symmetric. */
109
+ --_handle-row-shift: calc((1 - mod(var(--_handle-rows), 2)) * var(--_handle-pitch) / 2);
110
+ /* The bar's cross-axis size snapped to exactly --_handle-rows steps of
111
+ --_handle-pitch, so mark rows/columns fit without clipping. */
112
+ --_handle-thickness-snapped: calc(var(--_handle-rows) * var(--_handle-pitch));
113
+ /* How many whole gap-steps fit across the long axis, rounded to the
114
+ nearest step and clamped to 1-7 marks. */
115
+ --_handle-cols: clamp(1, round(nearest, calc(var(--_handle-length) / var(--_handle-gap)), 1), 7);
116
+ /* An even mark count has no centre step, so the whole grid is nudged by
117
+ half a gap along the long axis to stay centred and symmetric. */
118
+ --_handle-col-shift: calc((1 - mod(var(--_handle-cols), 2)) * var(--_handle-gap) / 2);
119
+ /* The bar's long-axis size snapped to exactly --_handle-cols steps of
120
+ --_handle-gap, so marks fit without clipping. */
121
+ --_handle-length-snapped: calc(var(--_handle-cols) * var(--_handle-gap));
122
+ /* How far a dimpled mark's highlight / shadow copy is offset. */
123
+ --_dimple-off: calc(var(--_handle-dot) * 0.15);
124
+ /* The mark colour lightened / darkened for the two deboss edges. */
125
+ --_handle-hi: var(--ixfx-handle-highlight, color-mix(in oklch, var(--surface-4) 50%, var(--_handle-color)));
126
+ --_handle-lo: var(--ixfx-handle-shadow, color-mix(in oklch, var(--surface-2) 40%, var(--_handle-color)));
127
+
128
+ box-sizing: border-box;
129
+ display: inline-block;
130
+ flex: none;
131
+ width: var(--_handle-length);
132
+ height: var(--_handle-thickness);
133
+ color: var(--_handle-color);
134
+ opacity: var(--_handle-opacity);
135
+ pointer-events: none;
136
+ transition:
137
+ color var(--transition, 0.15s ease-out),
138
+ opacity var(--transition, 0.15s ease-out);
139
+ }
140
+
141
+ .ixfx-handle[data-shape='vertical'] {
142
+ width: var(--_handle-thickness);
143
+ height: var(--_handle-length);
144
+ }
145
+
146
+ .ixfx-handle[data-shape='spot'] {
147
+ width: var(--_handle-spot);
148
+ height: var(--_handle-spot);
149
+ --_handle-gap: var(--ixfx-handle-dot-gap, calc(var(--_handle-spot) / 3));
150
+ }
151
+
152
+ .ixfx-handle:hover,
153
+ .ixfx-handle:focus-visible,
154
+ .ixfx-handle[data-active],
155
+ :hover > .ixfx-handle,
156
+ :focus-visible > .ixfx-handle,
157
+ [data-active] > .ixfx-handle {
158
+ color: var(--_handle-color-active);
159
+ opacity: var(--_handle-opacity-active);
160
+ }
161
+
162
+ /* ── flat: solid capsule / dot ────────────────────────────────────────── */
163
+ .ixfx-handle[data-handle='flat'] {
164
+ background: currentColor;
165
+ border-radius: var(--_handle-radius);
166
+ }
167
+ .ixfx-handle[data-handle='flat'][data-shape='spot'] {
168
+ border-radius: 50%;
169
+ }
170
+
171
+ /* ── dotted / dimpled: 3 marks in a row / column (or 3×3 for spot), repeated
172
+ in --_handle-rows rows/columns across the cross axis for horizontal /
173
+ vertical, drawn as one ::before mark whose border-radius follows the
174
+ theme — round normally, square in a flat / squared-off theme
175
+ (--radius-l: 0). box-shadow paints the rest of the marks. The extra
176
+ rows/columns beyond --_handle-rows are still emitted (a fixed 7-row
177
+ grid, CSS can't loop) but land outside the snapped, overflow: hidden
178
+ bar, so they're clipped cleanly rather than shown or partially cut. ── */
179
+ .ixfx-handle[data-handle='dotted'],
180
+ .ixfx-handle[data-handle='dimpled'] {
181
+ position: relative;
182
+ }
183
+ .ixfx-handle[data-handle='dotted']:not([data-shape='spot']),
184
+ .ixfx-handle[data-handle='dimpled']:not([data-shape='spot']) {
185
+ overflow: hidden;
186
+ }
187
+ .ixfx-handle[data-handle='dotted']:not([data-shape='vertical']):not([data-shape='spot']),
188
+ .ixfx-handle[data-handle='dimpled']:not([data-shape='vertical']):not([data-shape='spot']) {
189
+ width: var(--_handle-length-snapped);
190
+ height: var(--_handle-thickness-snapped);
191
+ }
192
+ .ixfx-handle[data-handle='dotted'][data-shape='vertical'],
193
+ .ixfx-handle[data-handle='dimpled'][data-shape='vertical'] {
194
+ width: var(--_handle-thickness-snapped);
195
+ height: var(--_handle-length-snapped);
196
+ }
197
+ .ixfx-handle[data-handle='dotted']::before,
198
+ .ixfx-handle[data-handle='dimpled']::before {
199
+ content: '';
200
+ position: absolute;
201
+ top: 50%;
202
+ left: 50%;
203
+ width: var(--_handle-dot);
204
+ height: var(--_handle-dot);
205
+ transform: translate(-50%, -50%);
206
+ border-radius: var(--_handle-radius);
207
+ background: currentColor;
208
+ }
209
+
210
+ /* dotted — the other marks are plain copies: 2 more along the long axis,
211
+ repeated across up to 7 rows/columns on the cross axis (clipped to
212
+ --_handle-rows by the snapped, overflow: hidden bar — see above). */
213
+ .ixfx-handle[data-handle='dotted']:not([data-shape='vertical']):not([data-shape='spot'])::before {
214
+ transform: translate(calc(-50% + var(--_handle-col-shift)), calc(-50% + var(--_handle-row-shift)));
215
+ box-shadow:
216
+ calc(-3 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
217
+ calc(-2 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
218
+ calc(-1 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
219
+ 0 calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
220
+ calc(var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
221
+ calc(2 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
222
+ calc(3 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
223
+ calc(-3 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
224
+ calc(-2 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
225
+ calc(-1 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
226
+ 0 calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
227
+ calc(var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
228
+ calc(2 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
229
+ calc(3 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
230
+ calc(-3 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
231
+ calc(-2 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
232
+ calc(-1 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
233
+ 0 calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
234
+ calc(var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
235
+ calc(2 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
236
+ calc(3 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
237
+ calc(-3 * var(--_handle-gap)) 0 0 0 currentColor,
238
+ calc(-2 * var(--_handle-gap)) 0 0 0 currentColor,
239
+ calc(-1 * var(--_handle-gap)) 0 0 0 currentColor,
240
+ calc(var(--_handle-gap)) 0 0 0 currentColor,
241
+ calc(2 * var(--_handle-gap)) 0 0 0 currentColor,
242
+ calc(3 * var(--_handle-gap)) 0 0 0 currentColor,
243
+ calc(-3 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
244
+ calc(-2 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
245
+ calc(-1 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
246
+ 0 calc(var(--_handle-pitch)) 0 0 currentColor,
247
+ calc(var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
248
+ calc(2 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
249
+ calc(3 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
250
+ calc(-3 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
251
+ calc(-2 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
252
+ calc(-1 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
253
+ 0 calc(2 * var(--_handle-pitch)) 0 0 currentColor,
254
+ calc(var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
255
+ calc(2 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
256
+ calc(3 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
257
+ calc(-3 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
258
+ calc(-2 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
259
+ calc(-1 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
260
+ 0 calc(3 * var(--_handle-pitch)) 0 0 currentColor,
261
+ calc(var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
262
+ calc(2 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
263
+ calc(3 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor;
264
+ }
265
+ .ixfx-handle[data-handle='dotted'][data-shape='vertical']::before {
266
+ transform: translate(calc(-50% + var(--_handle-row-shift)), calc(-50% + var(--_handle-col-shift)));
267
+ box-shadow:
268
+ calc(-3 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
269
+ calc(-3 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
270
+ calc(-3 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
271
+ calc(-3 * var(--_handle-pitch)) 0 0 0 currentColor,
272
+ calc(-3 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
273
+ calc(-3 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
274
+ calc(-3 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
275
+ calc(-2 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
276
+ calc(-2 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
277
+ calc(-2 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
278
+ calc(-2 * var(--_handle-pitch)) 0 0 0 currentColor,
279
+ calc(-2 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
280
+ calc(-2 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
281
+ calc(-2 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
282
+ calc(-1 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
283
+ calc(-1 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
284
+ calc(-1 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
285
+ calc(-1 * var(--_handle-pitch)) 0 0 0 currentColor,
286
+ calc(-1 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
287
+ calc(-1 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
288
+ calc(-1 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
289
+ 0 calc(-3 * var(--_handle-gap)) 0 0 currentColor,
290
+ 0 calc(-2 * var(--_handle-gap)) 0 0 currentColor,
291
+ 0 calc(-1 * var(--_handle-gap)) 0 0 currentColor,
292
+ 0 calc(var(--_handle-gap)) 0 0 currentColor,
293
+ 0 calc(2 * var(--_handle-gap)) 0 0 currentColor,
294
+ 0 calc(3 * var(--_handle-gap)) 0 0 currentColor,
295
+ calc(var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
296
+ calc(var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
297
+ calc(var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
298
+ calc(var(--_handle-pitch)) 0 0 0 currentColor,
299
+ calc(var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
300
+ calc(var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
301
+ calc(var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
302
+ calc(2 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
303
+ calc(2 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
304
+ calc(2 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
305
+ calc(2 * var(--_handle-pitch)) 0 0 0 currentColor,
306
+ calc(2 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
307
+ calc(2 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
308
+ calc(2 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
309
+ calc(3 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
310
+ calc(3 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
311
+ calc(3 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
312
+ calc(3 * var(--_handle-pitch)) 0 0 0 currentColor,
313
+ calc(3 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
314
+ calc(3 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
315
+ calc(3 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor;
316
+ }
317
+ .ixfx-handle[data-handle='dotted'][data-shape='spot']::before,
318
+ .ixfx-handle[data-handle='dimpled'][data-shape='spot']::before {
319
+ box-shadow:
320
+ calc(-1 * var(--_handle-gap)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
321
+ 0 calc(-1 * var(--_handle-gap)) 0 0 currentColor,
322
+ var(--_handle-gap) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
323
+ calc(-1 * var(--_handle-gap)) 0 0 0 currentColor,
324
+ var(--_handle-gap) 0 0 0 currentColor,
325
+ calc(-1 * var(--_handle-gap)) var(--_handle-gap) 0 0 currentColor,
326
+ 0 var(--_handle-gap) 0 0 currentColor,
327
+ var(--_handle-gap) var(--_handle-gap) 0 0 currentColor;
328
+ }
329
+
330
+ /* dimpled — each mark also gets a lighter copy up-left and a darker copy
331
+ down-right, repeated across up to 7 rows/columns on the cross axis
332
+ (clipped to --_handle-rows — see above). Spot stays plain — the 3D is
333
+ imperceptible at that size. */
334
+ .ixfx-handle[data-handle='dimpled']:not([data-shape='vertical']):not([data-shape='spot'])::before {
335
+ transform: translate(calc(-50% + var(--_handle-col-shift)), calc(-50% + var(--_handle-row-shift)));
336
+ box-shadow:
337
+ calc(-1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
338
+ var(--_dimple-off) var(--_dimple-off) 0 0 var(--_handle-lo),
339
+ calc(-3 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
340
+ calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
341
+ calc(-3 * var(--_handle-gap) + var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
342
+ calc(-2 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
343
+ calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
344
+ calc(-2 * var(--_handle-gap) + var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
345
+ calc(-1 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
346
+ calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
347
+ calc(-1 * var(--_handle-gap) + var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
348
+ 0 calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
349
+ calc(-1 * var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
350
+ var(--_dimple-off) calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
351
+ calc(var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
352
+ calc(var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
353
+ calc(var(--_handle-gap) + var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
354
+ calc(2 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
355
+ calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
356
+ calc(2 * var(--_handle-gap) + var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
357
+ calc(3 * var(--_handle-gap)) calc(-3 * var(--_handle-pitch)) 0 0 currentColor,
358
+ calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
359
+ calc(3 * var(--_handle-gap) + var(--_dimple-off)) calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
360
+ calc(-3 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
361
+ calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
362
+ calc(-3 * var(--_handle-gap) + var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
363
+ calc(-2 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
364
+ calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
365
+ calc(-2 * var(--_handle-gap) + var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
366
+ calc(-1 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
367
+ calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
368
+ calc(-1 * var(--_handle-gap) + var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
369
+ 0 calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
370
+ calc(-1 * var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
371
+ var(--_dimple-off) calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
372
+ calc(var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
373
+ calc(var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
374
+ calc(var(--_handle-gap) + var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
375
+ calc(2 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
376
+ calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
377
+ calc(2 * var(--_handle-gap) + var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
378
+ calc(3 * var(--_handle-gap)) calc(-2 * var(--_handle-pitch)) 0 0 currentColor,
379
+ calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
380
+ calc(3 * var(--_handle-gap) + var(--_dimple-off)) calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
381
+ calc(-3 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
382
+ calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
383
+ calc(-3 * var(--_handle-gap) + var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
384
+ calc(-2 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
385
+ calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
386
+ calc(-2 * var(--_handle-gap) + var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
387
+ calc(-1 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
388
+ calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
389
+ calc(-1 * var(--_handle-gap) + var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
390
+ 0 calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
391
+ calc(-1 * var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
392
+ var(--_dimple-off) calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
393
+ calc(var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
394
+ calc(var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
395
+ calc(var(--_handle-gap) + var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
396
+ calc(2 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
397
+ calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
398
+ calc(2 * var(--_handle-gap) + var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
399
+ calc(3 * var(--_handle-gap)) calc(-1 * var(--_handle-pitch)) 0 0 currentColor,
400
+ calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
401
+ calc(3 * var(--_handle-gap) + var(--_dimple-off)) calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
402
+ calc(-3 * var(--_handle-gap)) 0 0 0 currentColor,
403
+ calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
404
+ calc(-3 * var(--_handle-gap) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
405
+ calc(-2 * var(--_handle-gap)) 0 0 0 currentColor,
406
+ calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
407
+ calc(-2 * var(--_handle-gap) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
408
+ calc(-1 * var(--_handle-gap)) 0 0 0 currentColor,
409
+ calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
410
+ calc(-1 * var(--_handle-gap) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
411
+ calc(var(--_handle-gap)) 0 0 0 currentColor,
412
+ calc(var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
413
+ calc(var(--_handle-gap) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
414
+ calc(2 * var(--_handle-gap)) 0 0 0 currentColor,
415
+ calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
416
+ calc(2 * var(--_handle-gap) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
417
+ calc(3 * var(--_handle-gap)) 0 0 0 currentColor,
418
+ calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
419
+ calc(3 * var(--_handle-gap) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
420
+ calc(-3 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
421
+ calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
422
+ calc(-3 * var(--_handle-gap) + var(--_dimple-off)) calc(var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
423
+ calc(-2 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
424
+ calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
425
+ calc(-2 * var(--_handle-gap) + var(--_dimple-off)) calc(var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
426
+ calc(-1 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
427
+ calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
428
+ calc(-1 * var(--_handle-gap) + var(--_dimple-off)) calc(var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
429
+ 0 calc(var(--_handle-pitch)) 0 0 currentColor,
430
+ calc(-1 * var(--_dimple-off)) calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
431
+ var(--_dimple-off) calc(var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
432
+ calc(var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
433
+ calc(var(--_handle-gap) + -1 * var(--_dimple-off)) calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
434
+ calc(var(--_handle-gap) + var(--_dimple-off)) calc(var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
435
+ calc(2 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
436
+ calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
437
+ calc(2 * var(--_handle-gap) + var(--_dimple-off)) calc(var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
438
+ calc(3 * var(--_handle-gap)) calc(var(--_handle-pitch)) 0 0 currentColor,
439
+ calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
440
+ calc(3 * var(--_handle-gap) + var(--_dimple-off)) calc(var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
441
+ calc(-3 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
442
+ calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
443
+ calc(-3 * var(--_handle-gap) + var(--_dimple-off)) calc(2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
444
+ calc(-2 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
445
+ calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
446
+ calc(-2 * var(--_handle-gap) + var(--_dimple-off)) calc(2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
447
+ calc(-1 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
448
+ calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
449
+ calc(-1 * var(--_handle-gap) + var(--_dimple-off)) calc(2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
450
+ 0 calc(2 * var(--_handle-pitch)) 0 0 currentColor,
451
+ calc(-1 * var(--_dimple-off)) calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
452
+ var(--_dimple-off) calc(2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
453
+ calc(var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
454
+ calc(var(--_handle-gap) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
455
+ calc(var(--_handle-gap) + var(--_dimple-off)) calc(2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
456
+ calc(2 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
457
+ calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
458
+ calc(2 * var(--_handle-gap) + var(--_dimple-off)) calc(2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
459
+ calc(3 * var(--_handle-gap)) calc(2 * var(--_handle-pitch)) 0 0 currentColor,
460
+ calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
461
+ calc(3 * var(--_handle-gap) + var(--_dimple-off)) calc(2 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
462
+ calc(-3 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
463
+ calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
464
+ calc(-3 * var(--_handle-gap) + var(--_dimple-off)) calc(3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
465
+ calc(-2 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
466
+ calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
467
+ calc(-2 * var(--_handle-gap) + var(--_dimple-off)) calc(3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
468
+ calc(-1 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
469
+ calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
470
+ calc(-1 * var(--_handle-gap) + var(--_dimple-off)) calc(3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
471
+ 0 calc(3 * var(--_handle-pitch)) 0 0 currentColor,
472
+ calc(-1 * var(--_dimple-off)) calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
473
+ var(--_dimple-off) calc(3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
474
+ calc(var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
475
+ calc(var(--_handle-gap) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
476
+ calc(var(--_handle-gap) + var(--_dimple-off)) calc(3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
477
+ calc(2 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
478
+ calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
479
+ calc(2 * var(--_handle-gap) + var(--_dimple-off)) calc(3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo),
480
+ calc(3 * var(--_handle-gap)) calc(3 * var(--_handle-pitch)) 0 0 currentColor,
481
+ calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
482
+ calc(3 * var(--_handle-gap) + var(--_dimple-off)) calc(3 * var(--_handle-pitch) + var(--_dimple-off)) 0 0 var(--_handle-lo);
483
+ }
484
+ .ixfx-handle[data-handle='dimpled'][data-shape='vertical']::before {
485
+ transform: translate(calc(-50% + var(--_handle-row-shift)), calc(-50% + var(--_handle-col-shift)));
486
+ box-shadow:
487
+ calc(-1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
488
+ var(--_dimple-off) var(--_dimple-off) 0 0 var(--_handle-lo),
489
+ calc(-3 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
490
+ calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
491
+ calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) calc(-3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
492
+ calc(-3 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
493
+ calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
494
+ calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) calc(-2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
495
+ calc(-3 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
496
+ calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
497
+ calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) calc(-1 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
498
+ calc(-3 * var(--_handle-pitch)) 0 0 0 currentColor,
499
+ calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
500
+ calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
501
+ calc(-3 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
502
+ calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
503
+ calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) calc(var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
504
+ calc(-3 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
505
+ calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
506
+ calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) calc(2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
507
+ calc(-3 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
508
+ calc(-3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
509
+ calc(-3 * var(--_handle-pitch) + var(--_dimple-off)) calc(3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
510
+ calc(-2 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
511
+ calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
512
+ calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) calc(-3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
513
+ calc(-2 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
514
+ calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
515
+ calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) calc(-2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
516
+ calc(-2 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
517
+ calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
518
+ calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) calc(-1 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
519
+ calc(-2 * var(--_handle-pitch)) 0 0 0 currentColor,
520
+ calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
521
+ calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
522
+ calc(-2 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
523
+ calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
524
+ calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) calc(var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
525
+ calc(-2 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
526
+ calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
527
+ calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) calc(2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
528
+ calc(-2 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
529
+ calc(-2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
530
+ calc(-2 * var(--_handle-pitch) + var(--_dimple-off)) calc(3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
531
+ calc(-1 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
532
+ calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
533
+ calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) calc(-3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
534
+ calc(-1 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
535
+ calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
536
+ calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) calc(-2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
537
+ calc(-1 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
538
+ calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
539
+ calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) calc(-1 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
540
+ calc(-1 * var(--_handle-pitch)) 0 0 0 currentColor,
541
+ calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
542
+ calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
543
+ calc(-1 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
544
+ calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
545
+ calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) calc(var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
546
+ calc(-1 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
547
+ calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
548
+ calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) calc(2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
549
+ calc(-1 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
550
+ calc(-1 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
551
+ calc(-1 * var(--_handle-pitch) + var(--_dimple-off)) calc(3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
552
+ 0 calc(-3 * var(--_handle-gap)) 0 0 currentColor,
553
+ calc(-1 * var(--_dimple-off)) calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
554
+ var(--_dimple-off) calc(-3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
555
+ 0 calc(-2 * var(--_handle-gap)) 0 0 currentColor,
556
+ calc(-1 * var(--_dimple-off)) calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
557
+ var(--_dimple-off) calc(-2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
558
+ 0 calc(-1 * var(--_handle-gap)) 0 0 currentColor,
559
+ calc(-1 * var(--_dimple-off)) calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
560
+ var(--_dimple-off) calc(-1 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
561
+ 0 calc(var(--_handle-gap)) 0 0 currentColor,
562
+ calc(-1 * var(--_dimple-off)) calc(var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
563
+ var(--_dimple-off) calc(var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
564
+ 0 calc(2 * var(--_handle-gap)) 0 0 currentColor,
565
+ calc(-1 * var(--_dimple-off)) calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
566
+ var(--_dimple-off) calc(2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
567
+ 0 calc(3 * var(--_handle-gap)) 0 0 currentColor,
568
+ calc(-1 * var(--_dimple-off)) calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
569
+ var(--_dimple-off) calc(3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
570
+ calc(var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
571
+ calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
572
+ calc(var(--_handle-pitch) + var(--_dimple-off)) calc(-3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
573
+ calc(var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
574
+ calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
575
+ calc(var(--_handle-pitch) + var(--_dimple-off)) calc(-2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
576
+ calc(var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
577
+ calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
578
+ calc(var(--_handle-pitch) + var(--_dimple-off)) calc(-1 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
579
+ calc(var(--_handle-pitch)) 0 0 0 currentColor,
580
+ calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
581
+ calc(var(--_handle-pitch) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
582
+ calc(var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
583
+ calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
584
+ calc(var(--_handle-pitch) + var(--_dimple-off)) calc(var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
585
+ calc(var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
586
+ calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
587
+ calc(var(--_handle-pitch) + var(--_dimple-off)) calc(2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
588
+ calc(var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
589
+ calc(var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
590
+ calc(var(--_handle-pitch) + var(--_dimple-off)) calc(3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
591
+ calc(2 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
592
+ calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
593
+ calc(2 * var(--_handle-pitch) + var(--_dimple-off)) calc(-3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
594
+ calc(2 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
595
+ calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
596
+ calc(2 * var(--_handle-pitch) + var(--_dimple-off)) calc(-2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
597
+ calc(2 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
598
+ calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
599
+ calc(2 * var(--_handle-pitch) + var(--_dimple-off)) calc(-1 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
600
+ calc(2 * var(--_handle-pitch)) 0 0 0 currentColor,
601
+ calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
602
+ calc(2 * var(--_handle-pitch) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
603
+ calc(2 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
604
+ calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
605
+ calc(2 * var(--_handle-pitch) + var(--_dimple-off)) calc(var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
606
+ calc(2 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
607
+ calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
608
+ calc(2 * var(--_handle-pitch) + var(--_dimple-off)) calc(2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
609
+ calc(2 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
610
+ calc(2 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
611
+ calc(2 * var(--_handle-pitch) + var(--_dimple-off)) calc(3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
612
+ calc(3 * var(--_handle-pitch)) calc(-3 * var(--_handle-gap)) 0 0 currentColor,
613
+ calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
614
+ calc(3 * var(--_handle-pitch) + var(--_dimple-off)) calc(-3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
615
+ calc(3 * var(--_handle-pitch)) calc(-2 * var(--_handle-gap)) 0 0 currentColor,
616
+ calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
617
+ calc(3 * var(--_handle-pitch) + var(--_dimple-off)) calc(-2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
618
+ calc(3 * var(--_handle-pitch)) calc(-1 * var(--_handle-gap)) 0 0 currentColor,
619
+ calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
620
+ calc(3 * var(--_handle-pitch) + var(--_dimple-off)) calc(-1 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
621
+ calc(3 * var(--_handle-pitch)) 0 0 0 currentColor,
622
+ calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(-1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
623
+ calc(3 * var(--_handle-pitch) + var(--_dimple-off)) var(--_dimple-off) 0 0 var(--_handle-lo),
624
+ calc(3 * var(--_handle-pitch)) calc(var(--_handle-gap)) 0 0 currentColor,
625
+ calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
626
+ calc(3 * var(--_handle-pitch) + var(--_dimple-off)) calc(var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
627
+ calc(3 * var(--_handle-pitch)) calc(2 * var(--_handle-gap)) 0 0 currentColor,
628
+ calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(2 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
629
+ calc(3 * var(--_handle-pitch) + var(--_dimple-off)) calc(2 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo),
630
+ calc(3 * var(--_handle-pitch)) calc(3 * var(--_handle-gap)) 0 0 currentColor,
631
+ calc(3 * var(--_handle-pitch) + -1 * var(--_dimple-off)) calc(3 * var(--_handle-gap) + -1 * var(--_dimple-off)) 0 0 var(--_handle-hi),
632
+ calc(3 * var(--_handle-pitch) + var(--_dimple-off)) calc(3 * var(--_handle-gap) + var(--_dimple-off)) 0 0 var(--_handle-lo);
633
+ }
634
+
635
+ /* ── grated: fine 45° knurling — each ridge is a lit edge, the base colour,
636
+ then a shaded edge. Same hatch at every shape (spot is a square crop). ── */
637
+ .ixfx-handle[data-handle='grated'] {
638
+ background-image: repeating-linear-gradient(
639
+ 45deg,
640
+ var(--_handle-hi) 0 0.9px,
641
+ currentColor 0.9px 1.6px,
642
+ var(--_handle-lo) 1.6px 2.5px,
643
+ transparent 2.5px var(--_handle-tile)
644
+ );
645
+ }
646
+
647
+ @media (prefers-reduced-motion: reduce) {
648
+ .ixfx-handle {
649
+ transition: none;
650
+ }
651
+ }
652
+ `;
653
+ //#endregion
654
+ export { handleStyles as t };
655
+
656
+ //# sourceMappingURL=handle-DAXs7kbJ.js.map