@lindle/linoardo 1.0.15 → 1.0.17

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 (96) hide show
  1. package/dist/ExpansionPanelItem-Bd6ZWGkR.d.cts +58 -0
  2. package/dist/ExpansionPanelItem-DOjgDeB6.d.ts +58 -0
  3. package/dist/button.cjs +206 -0
  4. package/dist/button.cjs.map +1 -0
  5. package/dist/button.d.cts +19 -0
  6. package/dist/button.d.ts +19 -0
  7. package/dist/button.js +4 -0
  8. package/dist/button.js.map +1 -0
  9. package/dist/chip.cjs +247 -0
  10. package/dist/chip.cjs.map +1 -0
  11. package/dist/chip.d.cts +368 -0
  12. package/dist/chip.d.ts +368 -0
  13. package/dist/chip.js +4 -0
  14. package/dist/chip.js.map +1 -0
  15. package/dist/chunk-32KFNI6K.js +114 -0
  16. package/dist/chunk-32KFNI6K.js.map +1 -0
  17. package/dist/chunk-3EGIRBQ3.js +100 -0
  18. package/dist/chunk-3EGIRBQ3.js.map +1 -0
  19. package/dist/chunk-5GY2JCBO.js +92 -0
  20. package/dist/chunk-5GY2JCBO.js.map +1 -0
  21. package/dist/chunk-7LLAWEDF.js +179 -0
  22. package/dist/chunk-7LLAWEDF.js.map +1 -0
  23. package/dist/chunk-E32P5AHO.js +125 -0
  24. package/dist/chunk-E32P5AHO.js.map +1 -0
  25. package/dist/chunk-GA6HSRN6.js +235 -0
  26. package/dist/chunk-GA6HSRN6.js.map +1 -0
  27. package/dist/chunk-IEILIKS2.js +8 -0
  28. package/dist/chunk-IEILIKS2.js.map +1 -0
  29. package/dist/chunk-PWK6MLZT.js +239 -0
  30. package/dist/chunk-PWK6MLZT.js.map +1 -0
  31. package/dist/chunk-TTDFAKOL.js +98 -0
  32. package/dist/chunk-TTDFAKOL.js.map +1 -0
  33. package/dist/chunk-U6NAIIDI.js +99 -0
  34. package/dist/chunk-U6NAIIDI.js.map +1 -0
  35. package/dist/chunk-XFPBICJG.js +127 -0
  36. package/dist/chunk-XFPBICJG.js.map +1 -0
  37. package/dist/dialog.cjs +121 -0
  38. package/dist/dialog.cjs.map +1 -0
  39. package/dist/dialog.d.cts +17 -0
  40. package/dist/dialog.d.ts +17 -0
  41. package/dist/dialog.js +3 -0
  42. package/dist/dialog.js.map +1 -0
  43. package/dist/expansion-panel/item.cjs +195 -0
  44. package/dist/expansion-panel/item.cjs.map +1 -0
  45. package/dist/expansion-panel/item.d.cts +3 -0
  46. package/dist/expansion-panel/item.d.ts +3 -0
  47. package/dist/expansion-panel/item.js +3 -0
  48. package/dist/expansion-panel/item.js.map +1 -0
  49. package/dist/expansion-panel.cjs +356 -0
  50. package/dist/expansion-panel.cjs.map +1 -0
  51. package/dist/expansion-panel.d.cts +8 -0
  52. package/dist/expansion-panel.d.ts +8 -0
  53. package/dist/expansion-panel.js +4 -0
  54. package/dist/expansion-panel.js.map +1 -0
  55. package/dist/global.types-E2uVLemv.d.cts +7 -0
  56. package/dist/global.types-E2uVLemv.d.ts +7 -0
  57. package/dist/index-Md3BuoGM.d.cts +32 -0
  58. package/dist/index-d_JuI06O.d.ts +32 -0
  59. package/dist/index.cjs +148 -144
  60. package/dist/index.cjs.map +1 -1
  61. package/dist/index.d.cts +12 -549
  62. package/dist/index.d.ts +12 -549
  63. package/dist/index.js +11 -1330
  64. package/dist/index.js.map +1 -1
  65. package/dist/input.cjs +106 -0
  66. package/dist/input.cjs.map +1 -0
  67. package/dist/input.d.cts +22 -0
  68. package/dist/input.d.ts +22 -0
  69. package/dist/input.js +4 -0
  70. package/dist/input.js.map +1 -0
  71. package/dist/list/item.cjs +149 -0
  72. package/dist/list/item.cjs.map +1 -0
  73. package/dist/list/item.d.cts +3 -0
  74. package/dist/list/item.d.ts +3 -0
  75. package/dist/list/item.js +3 -0
  76. package/dist/list/item.js.map +1 -0
  77. package/dist/list.cjs +235 -0
  78. package/dist/list.cjs.map +1 -0
  79. package/dist/list.d.cts +17 -0
  80. package/dist/list.d.ts +17 -0
  81. package/dist/list.js +4 -0
  82. package/dist/list.js.map +1 -0
  83. package/dist/menu.cjs +122 -0
  84. package/dist/menu.cjs.map +1 -0
  85. package/dist/menu.d.cts +20 -0
  86. package/dist/menu.d.ts +20 -0
  87. package/dist/menu.js +3 -0
  88. package/dist/menu.js.map +1 -0
  89. package/dist/styles.css +0 -24
  90. package/dist/tooltip.cjs +136 -0
  91. package/dist/tooltip.cjs.map +1 -0
  92. package/dist/tooltip.d.cts +19 -0
  93. package/dist/tooltip.d.ts +19 -0
  94. package/dist/tooltip.js +3 -0
  95. package/dist/tooltip.js.map +1 -0
  96. package/package.json +52 -2
package/dist/chip.d.ts ADDED
@@ -0,0 +1,368 @@
1
+ import { G as GlobalVariant, P as Palette, b as PropIcon } from './global.types-E2uVLemv.js';
2
+ import * as react from 'react';
3
+
4
+ type ChipVariant = GlobalVariant;
5
+ type ChipSize = 'small' | 'medium' | 'large';
6
+ type NativeChipProps = Omit<react.HTMLAttributes<HTMLSpanElement>, 'color'>;
7
+ type ChipProps = NativeChipProps & {
8
+ /**
9
+ * Visual variant shared across Containment components.
10
+ * @default 'solid'
11
+ */
12
+ variant?: ChipVariant;
13
+ /**
14
+ * Palette token controlling background/border colors.
15
+ * @default 'primary'
16
+ */
17
+ color?: Palette;
18
+ /**
19
+ * Controls the compactness of the chip.
20
+ * @default 'medium'
21
+ */
22
+ size?: ChipSize;
23
+ /**
24
+ * Renders a fully rounded chip when true.
25
+ * @default true
26
+ */
27
+ pill?: boolean;
28
+ /**
29
+ * Toggles the selected state, useful for filter chips.
30
+ * @default false
31
+ */
32
+ selected?: boolean;
33
+ /**
34
+ * Enables the close affordance.
35
+ * @default false
36
+ */
37
+ closable?: boolean;
38
+ /**
39
+ * Icon used for the close button.
40
+ * @default 'mdi-close'
41
+ */
42
+ closeIcon?: PropIcon;
43
+ /**
44
+ * Callback invoked when the close icon is activated.
45
+ */
46
+ onClose?: (event: react.MouseEvent<HTMLButtonElement>) => void;
47
+ /**
48
+ * Shows the filter indicator circle/checkmark.
49
+ * @default false
50
+ */
51
+ filter?: boolean;
52
+ /**
53
+ * Icon used for the filter selected state.
54
+ * @default 'mdi-check-bold'
55
+ */
56
+ filterIcon?: PropIcon;
57
+ /**
58
+ * Icon rendered before the chip content.
59
+ */
60
+ prependIcon?: PropIcon;
61
+ /**
62
+ * Icon rendered after the chip content (before the close icon).
63
+ */
64
+ appendIcon?: PropIcon;
65
+ /**
66
+ * Disables interactions and applies muted styles.
67
+ * @default false
68
+ */
69
+ disabled?: boolean;
70
+ };
71
+
72
+ declare const Chip: react.ForwardRefExoticComponent<{
73
+ defaultChecked?: boolean | undefined | undefined;
74
+ defaultValue?: string | number | readonly string[] | undefined;
75
+ suppressContentEditableWarning?: boolean | undefined | undefined;
76
+ suppressHydrationWarning?: boolean | undefined | undefined;
77
+ accessKey?: string | undefined | undefined;
78
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
79
+ autoFocus?: boolean | undefined | undefined;
80
+ className?: string | undefined | undefined;
81
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
82
+ contextMenu?: string | undefined | undefined;
83
+ dir?: string | undefined | undefined;
84
+ draggable?: (boolean | "true" | "false") | undefined;
85
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
86
+ hidden?: boolean | undefined | undefined;
87
+ id?: string | undefined | undefined;
88
+ lang?: string | undefined | undefined;
89
+ nonce?: string | undefined | undefined;
90
+ slot?: string | undefined | undefined;
91
+ spellCheck?: (boolean | "true" | "false") | undefined;
92
+ style?: react.CSSProperties | undefined;
93
+ tabIndex?: number | undefined | undefined;
94
+ title?: string | undefined | undefined;
95
+ translate?: "yes" | "no" | undefined | undefined;
96
+ radioGroup?: string | undefined | undefined;
97
+ role?: react.AriaRole | undefined;
98
+ about?: string | undefined | undefined;
99
+ content?: string | undefined | undefined;
100
+ datatype?: string | undefined | undefined;
101
+ inlist?: any;
102
+ prefix?: string | undefined | undefined;
103
+ property?: string | undefined | undefined;
104
+ rel?: string | undefined | undefined;
105
+ resource?: string | undefined | undefined;
106
+ rev?: string | undefined | undefined;
107
+ typeof?: string | undefined | undefined;
108
+ vocab?: string | undefined | undefined;
109
+ autoCorrect?: string | undefined | undefined;
110
+ autoSave?: string | undefined | undefined;
111
+ itemProp?: string | undefined | undefined;
112
+ itemScope?: boolean | undefined | undefined;
113
+ itemType?: string | undefined | undefined;
114
+ itemID?: string | undefined | undefined;
115
+ itemRef?: string | undefined | undefined;
116
+ results?: number | undefined | undefined;
117
+ security?: string | undefined | undefined;
118
+ unselectable?: "on" | "off" | undefined | undefined;
119
+ popover?: "" | "auto" | "manual" | "hint" | undefined | undefined;
120
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined | undefined;
121
+ popoverTarget?: string | undefined | undefined;
122
+ inert?: boolean | undefined | undefined;
123
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
124
+ is?: string | undefined | undefined;
125
+ exportparts?: string | undefined | undefined;
126
+ part?: string | undefined | undefined;
127
+ "aria-activedescendant"?: string | undefined | undefined;
128
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
129
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
130
+ "aria-braillelabel"?: string | undefined | undefined;
131
+ "aria-brailleroledescription"?: string | undefined | undefined;
132
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
133
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
134
+ "aria-colcount"?: number | undefined | undefined;
135
+ "aria-colindex"?: number | undefined | undefined;
136
+ "aria-colindextext"?: string | undefined | undefined;
137
+ "aria-colspan"?: number | undefined | undefined;
138
+ "aria-controls"?: string | undefined | undefined;
139
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
140
+ "aria-describedby"?: string | undefined | undefined;
141
+ "aria-description"?: string | undefined | undefined;
142
+ "aria-details"?: string | undefined | undefined;
143
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
144
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
145
+ "aria-errormessage"?: string | undefined | undefined;
146
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
147
+ "aria-flowto"?: string | undefined | undefined;
148
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
149
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
150
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
151
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
152
+ "aria-keyshortcuts"?: string | undefined | undefined;
153
+ "aria-label"?: string | undefined | undefined;
154
+ "aria-labelledby"?: string | undefined | undefined;
155
+ "aria-level"?: number | undefined | undefined;
156
+ "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
157
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
158
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
159
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
160
+ "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
161
+ "aria-owns"?: string | undefined | undefined;
162
+ "aria-placeholder"?: string | undefined | undefined;
163
+ "aria-posinset"?: number | undefined | undefined;
164
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
165
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
166
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
167
+ "aria-required"?: (boolean | "true" | "false") | undefined;
168
+ "aria-roledescription"?: string | undefined | undefined;
169
+ "aria-rowcount"?: number | undefined | undefined;
170
+ "aria-rowindex"?: number | undefined | undefined;
171
+ "aria-rowindextext"?: string | undefined | undefined;
172
+ "aria-rowspan"?: number | undefined | undefined;
173
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
174
+ "aria-setsize"?: number | undefined | undefined;
175
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
176
+ "aria-valuemax"?: number | undefined | undefined;
177
+ "aria-valuemin"?: number | undefined | undefined;
178
+ "aria-valuenow"?: number | undefined | undefined;
179
+ "aria-valuetext"?: string | undefined | undefined;
180
+ children?: react.ReactNode;
181
+ dangerouslySetInnerHTML?: {
182
+ __html: string | TrustedHTML;
183
+ } | undefined | undefined;
184
+ onCopy?: react.ClipboardEventHandler<HTMLSpanElement> | undefined;
185
+ onCopyCapture?: react.ClipboardEventHandler<HTMLSpanElement> | undefined;
186
+ onCut?: react.ClipboardEventHandler<HTMLSpanElement> | undefined;
187
+ onCutCapture?: react.ClipboardEventHandler<HTMLSpanElement> | undefined;
188
+ onPaste?: react.ClipboardEventHandler<HTMLSpanElement> | undefined;
189
+ onPasteCapture?: react.ClipboardEventHandler<HTMLSpanElement> | undefined;
190
+ onCompositionEnd?: react.CompositionEventHandler<HTMLSpanElement> | undefined;
191
+ onCompositionEndCapture?: react.CompositionEventHandler<HTMLSpanElement> | undefined;
192
+ onCompositionStart?: react.CompositionEventHandler<HTMLSpanElement> | undefined;
193
+ onCompositionStartCapture?: react.CompositionEventHandler<HTMLSpanElement> | undefined;
194
+ onCompositionUpdate?: react.CompositionEventHandler<HTMLSpanElement> | undefined;
195
+ onCompositionUpdateCapture?: react.CompositionEventHandler<HTMLSpanElement> | undefined;
196
+ onFocus?: react.FocusEventHandler<HTMLSpanElement> | undefined;
197
+ onFocusCapture?: react.FocusEventHandler<HTMLSpanElement> | undefined;
198
+ onBlur?: react.FocusEventHandler<HTMLSpanElement> | undefined;
199
+ onBlurCapture?: react.FocusEventHandler<HTMLSpanElement> | undefined;
200
+ onChange?: react.FormEventHandler<HTMLSpanElement> | undefined;
201
+ onChangeCapture?: react.FormEventHandler<HTMLSpanElement> | undefined;
202
+ onBeforeInput?: react.InputEventHandler<HTMLSpanElement> | undefined;
203
+ onBeforeInputCapture?: react.FormEventHandler<HTMLSpanElement> | undefined;
204
+ onInput?: react.FormEventHandler<HTMLSpanElement> | undefined;
205
+ onInputCapture?: react.FormEventHandler<HTMLSpanElement> | undefined;
206
+ onReset?: react.FormEventHandler<HTMLSpanElement> | undefined;
207
+ onResetCapture?: react.FormEventHandler<HTMLSpanElement> | undefined;
208
+ onSubmit?: react.FormEventHandler<HTMLSpanElement> | undefined;
209
+ onSubmitCapture?: react.FormEventHandler<HTMLSpanElement> | undefined;
210
+ onInvalid?: react.FormEventHandler<HTMLSpanElement> | undefined;
211
+ onInvalidCapture?: react.FormEventHandler<HTMLSpanElement> | undefined;
212
+ onLoad?: react.ReactEventHandler<HTMLSpanElement> | undefined;
213
+ onLoadCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
214
+ onError?: react.ReactEventHandler<HTMLSpanElement> | undefined;
215
+ onErrorCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
216
+ onKeyDown?: react.KeyboardEventHandler<HTMLSpanElement> | undefined;
217
+ onKeyDownCapture?: react.KeyboardEventHandler<HTMLSpanElement> | undefined;
218
+ onKeyPress?: react.KeyboardEventHandler<HTMLSpanElement> | undefined;
219
+ onKeyPressCapture?: react.KeyboardEventHandler<HTMLSpanElement> | undefined;
220
+ onKeyUp?: react.KeyboardEventHandler<HTMLSpanElement> | undefined;
221
+ onKeyUpCapture?: react.KeyboardEventHandler<HTMLSpanElement> | undefined;
222
+ onAbort?: react.ReactEventHandler<HTMLSpanElement> | undefined;
223
+ onAbortCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
224
+ onCanPlay?: react.ReactEventHandler<HTMLSpanElement> | undefined;
225
+ onCanPlayCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
226
+ onCanPlayThrough?: react.ReactEventHandler<HTMLSpanElement> | undefined;
227
+ onCanPlayThroughCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
228
+ onDurationChange?: react.ReactEventHandler<HTMLSpanElement> | undefined;
229
+ onDurationChangeCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
230
+ onEmptied?: react.ReactEventHandler<HTMLSpanElement> | undefined;
231
+ onEmptiedCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
232
+ onEncrypted?: react.ReactEventHandler<HTMLSpanElement> | undefined;
233
+ onEncryptedCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
234
+ onEnded?: react.ReactEventHandler<HTMLSpanElement> | undefined;
235
+ onEndedCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
236
+ onLoadedData?: react.ReactEventHandler<HTMLSpanElement> | undefined;
237
+ onLoadedDataCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
238
+ onLoadedMetadata?: react.ReactEventHandler<HTMLSpanElement> | undefined;
239
+ onLoadedMetadataCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
240
+ onLoadStart?: react.ReactEventHandler<HTMLSpanElement> | undefined;
241
+ onLoadStartCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
242
+ onPause?: react.ReactEventHandler<HTMLSpanElement> | undefined;
243
+ onPauseCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
244
+ onPlay?: react.ReactEventHandler<HTMLSpanElement> | undefined;
245
+ onPlayCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
246
+ onPlaying?: react.ReactEventHandler<HTMLSpanElement> | undefined;
247
+ onPlayingCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
248
+ onProgress?: react.ReactEventHandler<HTMLSpanElement> | undefined;
249
+ onProgressCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
250
+ onRateChange?: react.ReactEventHandler<HTMLSpanElement> | undefined;
251
+ onRateChangeCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
252
+ onSeeked?: react.ReactEventHandler<HTMLSpanElement> | undefined;
253
+ onSeekedCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
254
+ onSeeking?: react.ReactEventHandler<HTMLSpanElement> | undefined;
255
+ onSeekingCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
256
+ onStalled?: react.ReactEventHandler<HTMLSpanElement> | undefined;
257
+ onStalledCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
258
+ onSuspend?: react.ReactEventHandler<HTMLSpanElement> | undefined;
259
+ onSuspendCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
260
+ onTimeUpdate?: react.ReactEventHandler<HTMLSpanElement> | undefined;
261
+ onTimeUpdateCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
262
+ onVolumeChange?: react.ReactEventHandler<HTMLSpanElement> | undefined;
263
+ onVolumeChangeCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
264
+ onWaiting?: react.ReactEventHandler<HTMLSpanElement> | undefined;
265
+ onWaitingCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
266
+ onAuxClick?: react.MouseEventHandler<HTMLSpanElement> | undefined;
267
+ onAuxClickCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
268
+ onClick?: react.MouseEventHandler<HTMLSpanElement> | undefined;
269
+ onClickCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
270
+ onContextMenu?: react.MouseEventHandler<HTMLSpanElement> | undefined;
271
+ onContextMenuCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
272
+ onDoubleClick?: react.MouseEventHandler<HTMLSpanElement> | undefined;
273
+ onDoubleClickCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
274
+ onDrag?: react.DragEventHandler<HTMLSpanElement> | undefined;
275
+ onDragCapture?: react.DragEventHandler<HTMLSpanElement> | undefined;
276
+ onDragEnd?: react.DragEventHandler<HTMLSpanElement> | undefined;
277
+ onDragEndCapture?: react.DragEventHandler<HTMLSpanElement> | undefined;
278
+ onDragEnter?: react.DragEventHandler<HTMLSpanElement> | undefined;
279
+ onDragEnterCapture?: react.DragEventHandler<HTMLSpanElement> | undefined;
280
+ onDragExit?: react.DragEventHandler<HTMLSpanElement> | undefined;
281
+ onDragExitCapture?: react.DragEventHandler<HTMLSpanElement> | undefined;
282
+ onDragLeave?: react.DragEventHandler<HTMLSpanElement> | undefined;
283
+ onDragLeaveCapture?: react.DragEventHandler<HTMLSpanElement> | undefined;
284
+ onDragOver?: react.DragEventHandler<HTMLSpanElement> | undefined;
285
+ onDragOverCapture?: react.DragEventHandler<HTMLSpanElement> | undefined;
286
+ onDragStart?: react.DragEventHandler<HTMLSpanElement> | undefined;
287
+ onDragStartCapture?: react.DragEventHandler<HTMLSpanElement> | undefined;
288
+ onDrop?: react.DragEventHandler<HTMLSpanElement> | undefined;
289
+ onDropCapture?: react.DragEventHandler<HTMLSpanElement> | undefined;
290
+ onMouseDown?: react.MouseEventHandler<HTMLSpanElement> | undefined;
291
+ onMouseDownCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
292
+ onMouseEnter?: react.MouseEventHandler<HTMLSpanElement> | undefined;
293
+ onMouseLeave?: react.MouseEventHandler<HTMLSpanElement> | undefined;
294
+ onMouseMove?: react.MouseEventHandler<HTMLSpanElement> | undefined;
295
+ onMouseMoveCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
296
+ onMouseOut?: react.MouseEventHandler<HTMLSpanElement> | undefined;
297
+ onMouseOutCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
298
+ onMouseOver?: react.MouseEventHandler<HTMLSpanElement> | undefined;
299
+ onMouseOverCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
300
+ onMouseUp?: react.MouseEventHandler<HTMLSpanElement> | undefined;
301
+ onMouseUpCapture?: react.MouseEventHandler<HTMLSpanElement> | undefined;
302
+ onSelect?: react.ReactEventHandler<HTMLSpanElement> | undefined;
303
+ onSelectCapture?: react.ReactEventHandler<HTMLSpanElement> | undefined;
304
+ onTouchCancel?: react.TouchEventHandler<HTMLSpanElement> | undefined;
305
+ onTouchCancelCapture?: react.TouchEventHandler<HTMLSpanElement> | undefined;
306
+ onTouchEnd?: react.TouchEventHandler<HTMLSpanElement> | undefined;
307
+ onTouchEndCapture?: react.TouchEventHandler<HTMLSpanElement> | undefined;
308
+ onTouchMove?: react.TouchEventHandler<HTMLSpanElement> | undefined;
309
+ onTouchMoveCapture?: react.TouchEventHandler<HTMLSpanElement> | undefined;
310
+ onTouchStart?: react.TouchEventHandler<HTMLSpanElement> | undefined;
311
+ onTouchStartCapture?: react.TouchEventHandler<HTMLSpanElement> | undefined;
312
+ onPointerDown?: react.PointerEventHandler<HTMLSpanElement> | undefined;
313
+ onPointerDownCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
314
+ onPointerMove?: react.PointerEventHandler<HTMLSpanElement> | undefined;
315
+ onPointerMoveCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
316
+ onPointerUp?: react.PointerEventHandler<HTMLSpanElement> | undefined;
317
+ onPointerUpCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
318
+ onPointerCancel?: react.PointerEventHandler<HTMLSpanElement> | undefined;
319
+ onPointerCancelCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
320
+ onPointerEnter?: react.PointerEventHandler<HTMLSpanElement> | undefined;
321
+ onPointerLeave?: react.PointerEventHandler<HTMLSpanElement> | undefined;
322
+ onPointerOver?: react.PointerEventHandler<HTMLSpanElement> | undefined;
323
+ onPointerOverCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
324
+ onPointerOut?: react.PointerEventHandler<HTMLSpanElement> | undefined;
325
+ onPointerOutCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
326
+ onGotPointerCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
327
+ onGotPointerCaptureCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
328
+ onLostPointerCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
329
+ onLostPointerCaptureCapture?: react.PointerEventHandler<HTMLSpanElement> | undefined;
330
+ onScroll?: react.UIEventHandler<HTMLSpanElement> | undefined;
331
+ onScrollCapture?: react.UIEventHandler<HTMLSpanElement> | undefined;
332
+ onScrollEnd?: react.UIEventHandler<HTMLSpanElement> | undefined;
333
+ onScrollEndCapture?: react.UIEventHandler<HTMLSpanElement> | undefined;
334
+ onWheel?: react.WheelEventHandler<HTMLSpanElement> | undefined;
335
+ onWheelCapture?: react.WheelEventHandler<HTMLSpanElement> | undefined;
336
+ onAnimationStart?: react.AnimationEventHandler<HTMLSpanElement> | undefined;
337
+ onAnimationStartCapture?: react.AnimationEventHandler<HTMLSpanElement> | undefined;
338
+ onAnimationEnd?: react.AnimationEventHandler<HTMLSpanElement> | undefined;
339
+ onAnimationEndCapture?: react.AnimationEventHandler<HTMLSpanElement> | undefined;
340
+ onAnimationIteration?: react.AnimationEventHandler<HTMLSpanElement> | undefined;
341
+ onAnimationIterationCapture?: react.AnimationEventHandler<HTMLSpanElement> | undefined;
342
+ onToggle?: react.ToggleEventHandler<HTMLSpanElement> | undefined;
343
+ onBeforeToggle?: react.ToggleEventHandler<HTMLSpanElement> | undefined;
344
+ onTransitionCancel?: react.TransitionEventHandler<HTMLSpanElement> | undefined;
345
+ onTransitionCancelCapture?: react.TransitionEventHandler<HTMLSpanElement> | undefined;
346
+ onTransitionEnd?: react.TransitionEventHandler<HTMLSpanElement> | undefined;
347
+ onTransitionEndCapture?: react.TransitionEventHandler<HTMLSpanElement> | undefined;
348
+ onTransitionRun?: react.TransitionEventHandler<HTMLSpanElement> | undefined;
349
+ onTransitionRunCapture?: react.TransitionEventHandler<HTMLSpanElement> | undefined;
350
+ onTransitionStart?: react.TransitionEventHandler<HTMLSpanElement> | undefined;
351
+ onTransitionStartCapture?: react.TransitionEventHandler<HTMLSpanElement> | undefined;
352
+ } & {
353
+ variant?: ChipVariant;
354
+ color?: Palette;
355
+ size?: ChipSize;
356
+ pill?: boolean;
357
+ selected?: boolean;
358
+ closable?: boolean;
359
+ closeIcon?: PropIcon;
360
+ onClose?: (event: React.MouseEvent<HTMLButtonElement>) => void;
361
+ filter?: boolean;
362
+ filterIcon?: PropIcon;
363
+ prependIcon?: PropIcon;
364
+ appendIcon?: PropIcon;
365
+ disabled?: boolean;
366
+ } & react.RefAttributes<HTMLSpanElement>>;
367
+
368
+ export { type ChipProps, type ChipSize, type ChipVariant, Chip as default };
package/dist/chip.js ADDED
@@ -0,0 +1,4 @@
1
+ export { Chip_default as default } from './chunk-PWK6MLZT.js';
2
+ import './chunk-IEILIKS2.js';
3
+ //# sourceMappingURL=chip.js.map
4
+ //# sourceMappingURL=chip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chip.js"}
@@ -0,0 +1,114 @@
1
+ import * as React from 'react';
2
+ import { twMerge } from 'tailwind-merge';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ // src/Containment/ToolTip/index.tsx
6
+ var tooltipBaseClasses = "absolute z-[60] max-w-xs rounded-lg border border-white/10 bg-gray-900 px-3 py-2 text-xs font-medium text-white shadow-lg shadow-black/30 ring-1 ring-black/40 transition-all duration-150";
7
+ var wrapperBaseClasses = "relative inline-flex max-w-full align-middle";
8
+ var arrowBaseClasses = "pointer-events-none absolute h-2 w-2 rotate-45 border border-white/10 bg-gray-900 shadow-lg shadow-black/20";
9
+ var resolveSizeValue = (value) => {
10
+ if (value === void 0) {
11
+ return void 0;
12
+ }
13
+ return typeof value === "number" ? `${value}px` : value;
14
+ };
15
+ var placementClasses = {
16
+ top: "bottom-full left-1/2 -translate-x-1/2 -translate-y-2 origin-bottom",
17
+ "top-start": "bottom-full left-0 -translate-y-2 origin-bottom-left",
18
+ "top-end": "bottom-full right-0 -translate-y-2 origin-bottom-right",
19
+ bottom: "top-full left-1/2 -translate-x-1/2 translate-y-2 origin-top",
20
+ "bottom-start": "top-full left-0 translate-y-2 origin-top-left",
21
+ "bottom-end": "top-full right-0 translate-y-2 origin-top-right",
22
+ left: "right-full top-1/2 -translate-y-1/2 -translate-x-2 origin-right",
23
+ "left-start": "right-full top-0 -translate-x-2 origin-top-right",
24
+ "left-end": "right-full bottom-0 -translate-x-2 origin-bottom-right",
25
+ right: "left-full top-1/2 -translate-y-1/2 translate-x-2 origin-left",
26
+ "right-start": "left-full top-0 translate-x-2 origin-top-left",
27
+ "right-end": "left-full bottom-0 translate-x-2 origin-bottom-left"
28
+ };
29
+ var arrowPlacementClasses = {
30
+ top: "left-1/2 top-full -translate-x-1/2 -translate-y-1/2",
31
+ "top-start": "left-4 top-full -translate-y-1/2",
32
+ "top-end": "right-4 top-full -translate-y-1/2",
33
+ bottom: "left-1/2 bottom-full -translate-x-1/2 translate-y-1/2",
34
+ "bottom-start": "left-4 bottom-full translate-y-1/2",
35
+ "bottom-end": "right-4 bottom-full translate-y-1/2",
36
+ left: "right-full top-1/2 -translate-y-1/2 translate-x-1/2",
37
+ "left-start": "right-full top-4 translate-x-1/2",
38
+ "left-end": "right-full bottom-4 translate-x-1/2",
39
+ right: "left-full top-1/2 -translate-y-1/2 -translate-x-1/2",
40
+ "right-start": "left-full top-4 -translate-x-1/2",
41
+ "right-end": "left-full bottom-4 -translate-x-1/2"
42
+ };
43
+ var ToolTip = React.forwardRef((props, forwardedRef) => {
44
+ const {
45
+ activator,
46
+ children,
47
+ placement = "top",
48
+ arrow = true,
49
+ disabled = false,
50
+ persistent = false,
51
+ showOnHover = true,
52
+ showOnFocus = true,
53
+ interactive = false,
54
+ keepMounted = false,
55
+ maxWidth = "18rem",
56
+ wrapperClassName,
57
+ className,
58
+ style,
59
+ id,
60
+ ...rest
61
+ } = props;
62
+ const hasRenderableContent = children !== void 0 && children !== null;
63
+ const shouldEnableTriggers = !disabled && (persistent || showOnHover || showOnFocus);
64
+ const shouldRenderTooltip = hasRenderableContent && (shouldEnableTriggers || keepMounted);
65
+ const resolvedStyle = { ...style };
66
+ if (resolvedStyle.maxWidth === void 0) {
67
+ resolvedStyle.maxWidth = resolveSizeValue(maxWidth);
68
+ }
69
+ const baseVisibility = persistent ? "opacity-100 scale-100" : "opacity-0 scale-95";
70
+ const hoverClasses = !persistent && showOnHover ? " group-hover/tooltip:opacity-100 group-hover/tooltip:scale-100" : "";
71
+ const focusClasses = !persistent && showOnFocus ? " group-focus-within/tooltip:opacity-100 group-focus-within/tooltip:scale-100" : "";
72
+ const visibilityClasses = `${baseVisibility}${hoverClasses}${focusClasses}`;
73
+ const pointerClasses = (() => {
74
+ if (persistent) {
75
+ return "pointer-events-auto";
76
+ }
77
+ if (!interactive) {
78
+ return "pointer-events-none";
79
+ }
80
+ const classes = ["pointer-events-none"];
81
+ if (showOnHover) {
82
+ classes.push("group-hover/tooltip:pointer-events-auto");
83
+ }
84
+ if (showOnFocus) {
85
+ classes.push("group-focus-within/tooltip:pointer-events-auto");
86
+ }
87
+ return classes.join(" ");
88
+ })();
89
+ return /* @__PURE__ */ jsxs("span", { className: twMerge(wrapperBaseClasses, "group/tooltip", wrapperClassName), "data-disabled": disabled || void 0, children: [
90
+ /* @__PURE__ */ jsx("span", { className: "inline-flex max-w-full", children: activator }),
91
+ shouldRenderTooltip ? /* @__PURE__ */ jsxs(
92
+ "div",
93
+ {
94
+ ...rest,
95
+ ref: forwardedRef,
96
+ role: "tooltip",
97
+ id,
98
+ "aria-hidden": persistent || disabled ? void 0 : true,
99
+ className: twMerge(tooltipBaseClasses, placementClasses[placement], visibilityClasses, pointerClasses, className),
100
+ style: resolvedStyle,
101
+ children: [
102
+ children,
103
+ arrow && /* @__PURE__ */ jsx("span", { className: twMerge(arrowBaseClasses, arrowPlacementClasses[placement]), "aria-hidden": true, "data-arrow": true })
104
+ ]
105
+ }
106
+ ) : null
107
+ ] });
108
+ });
109
+ ToolTip.displayName = "ToolTip";
110
+ var ToolTip_default = ToolTip;
111
+
112
+ export { ToolTip_default };
113
+ //# sourceMappingURL=chunk-32KFNI6K.js.map
114
+ //# sourceMappingURL=chunk-32KFNI6K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Containment/ToolTip/index.tsx"],"names":[],"mappings":"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","file":"chunk-32KFNI6K.js","sourcesContent":["import * as React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nconst tooltipBaseClasses =\n 'absolute z-[60] max-w-xs rounded-lg border border-white/10 bg-gray-900 px-3 py-2 text-xs font-medium text-white shadow-lg shadow-black/30 ring-1 ring-black/40 transition-all duration-150';\nconst wrapperBaseClasses = 'relative inline-flex max-w-full align-middle';\nconst arrowBaseClasses =\n 'pointer-events-none absolute h-2 w-2 rotate-45 border border-white/10 bg-gray-900 shadow-lg shadow-black/20';\n\nconst resolveSizeValue = (value?: string | number) => {\n if (value === undefined) {\n return undefined;\n }\n return typeof value === 'number' ? `${value}px` : value;\n};\n\nexport type ToolTipPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'right'\n | 'right-start'\n | 'right-end';\n\nconst placementClasses: Record<ToolTipPlacement, string> = {\n top: 'bottom-full left-1/2 -translate-x-1/2 -translate-y-2 origin-bottom',\n 'top-start': 'bottom-full left-0 -translate-y-2 origin-bottom-left',\n 'top-end': 'bottom-full right-0 -translate-y-2 origin-bottom-right',\n bottom: 'top-full left-1/2 -translate-x-1/2 translate-y-2 origin-top',\n 'bottom-start': 'top-full left-0 translate-y-2 origin-top-left',\n 'bottom-end': 'top-full right-0 translate-y-2 origin-top-right',\n left: 'right-full top-1/2 -translate-y-1/2 -translate-x-2 origin-right',\n 'left-start': 'right-full top-0 -translate-x-2 origin-top-right',\n 'left-end': 'right-full bottom-0 -translate-x-2 origin-bottom-right',\n right: 'left-full top-1/2 -translate-y-1/2 translate-x-2 origin-left',\n 'right-start': 'left-full top-0 translate-x-2 origin-top-left',\n 'right-end': 'left-full bottom-0 translate-x-2 origin-bottom-left'\n};\n\nconst arrowPlacementClasses: Record<ToolTipPlacement, string> = {\n top: 'left-1/2 top-full -translate-x-1/2 -translate-y-1/2',\n 'top-start': 'left-4 top-full -translate-y-1/2',\n 'top-end': 'right-4 top-full -translate-y-1/2',\n bottom: 'left-1/2 bottom-full -translate-x-1/2 translate-y-1/2',\n 'bottom-start': 'left-4 bottom-full translate-y-1/2',\n 'bottom-end': 'right-4 bottom-full translate-y-1/2',\n left: 'right-full top-1/2 -translate-y-1/2 translate-x-1/2',\n 'left-start': 'right-full top-4 translate-x-1/2',\n 'left-end': 'right-full bottom-4 translate-x-1/2',\n right: 'left-full top-1/2 -translate-y-1/2 -translate-x-1/2',\n 'right-start': 'left-full top-4 -translate-x-1/2',\n 'right-end': 'left-full bottom-4 -translate-x-1/2'\n};\n\nexport interface ToolTipProps extends React.HTMLAttributes<HTMLDivElement> {\n activator: React.ReactNode;\n placement?: ToolTipPlacement;\n arrow?: boolean;\n disabled?: boolean;\n persistent?: boolean;\n showOnHover?: boolean;\n showOnFocus?: boolean;\n interactive?: boolean;\n keepMounted?: boolean;\n maxWidth?: string | number;\n wrapperClassName?: string;\n}\n\nconst ToolTip = React.forwardRef<HTMLDivElement, ToolTipProps>((props, forwardedRef) => {\n const {\n activator,\n children,\n placement = 'top',\n arrow = true,\n disabled = false,\n persistent = false,\n showOnHover = true,\n showOnFocus = true,\n interactive = false,\n keepMounted = false,\n maxWidth = '18rem',\n wrapperClassName,\n className,\n style,\n id,\n ...rest\n } = props;\n\n const hasRenderableContent = children !== undefined && children !== null;\n const shouldEnableTriggers = !disabled && (persistent || showOnHover || showOnFocus);\n const shouldRenderTooltip = hasRenderableContent && (shouldEnableTriggers || keepMounted);\n\n const resolvedStyle: React.CSSProperties = { ...style };\n if (resolvedStyle.maxWidth === undefined) {\n resolvedStyle.maxWidth = resolveSizeValue(maxWidth);\n }\n\n const baseVisibility = persistent ? 'opacity-100 scale-100' : 'opacity-0 scale-95';\n const hoverClasses = !persistent && showOnHover ? ' group-hover/tooltip:opacity-100 group-hover/tooltip:scale-100' : '';\n const focusClasses = !persistent && showOnFocus ? ' group-focus-within/tooltip:opacity-100 group-focus-within/tooltip:scale-100' : '';\n const visibilityClasses = `${baseVisibility}${hoverClasses}${focusClasses}`;\n\n const pointerClasses = (() => {\n if (persistent) {\n return 'pointer-events-auto';\n }\n if (!interactive) {\n return 'pointer-events-none';\n }\n const classes = ['pointer-events-none'];\n if (showOnHover) {\n classes.push('group-hover/tooltip:pointer-events-auto');\n }\n if (showOnFocus) {\n classes.push('group-focus-within/tooltip:pointer-events-auto');\n }\n return classes.join(' ');\n })();\n\n return (\n <span className={twMerge(wrapperBaseClasses, 'group/tooltip', wrapperClassName)} data-disabled={disabled || undefined}>\n <span className='inline-flex max-w-full'>{activator}</span>\n {shouldRenderTooltip ? (\n <div\n {...rest}\n ref={forwardedRef}\n role='tooltip'\n id={id}\n aria-hidden={persistent || disabled ? undefined : true}\n className={twMerge(tooltipBaseClasses, placementClasses[placement], visibilityClasses, pointerClasses, className)}\n style={resolvedStyle}\n >\n {children}\n {arrow && (\n <span className={twMerge(arrowBaseClasses, arrowPlacementClasses[placement])} aria-hidden data-arrow />\n )}\n </div>\n ) : null}\n </span>\n );\n});\n\nToolTip.displayName = 'ToolTip';\n\nexport default ToolTip;\n"]}
@@ -0,0 +1,100 @@
1
+ import * as React from 'react';
2
+ import { twMerge } from 'tailwind-merge';
3
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
+
5
+ // src/Containment/Menu/index.tsx
6
+ var placementClasses = {
7
+ "bottom-start": "left-0 top-full origin-top-left",
8
+ bottom: "left-1/2 top-full -translate-x-1/2 origin-top",
9
+ "bottom-end": "right-0 top-full origin-top-right",
10
+ "top-start": "left-0 bottom-full origin-bottom-left",
11
+ top: "left-1/2 bottom-full -translate-x-1/2 origin-bottom",
12
+ "top-end": "right-0 bottom-full origin-bottom-right"
13
+ };
14
+ var offsetClasses = {
15
+ top: "mb-2",
16
+ bottom: "mt-2"
17
+ };
18
+ var menuBaseClasses = "absolute z-50 min-w-[10rem] rounded-xl border border-gray-200/80 bg-white/95 p-2 text-sm text-gray-700 shadow-lg shadow-gray-900/10 ring-1 ring-black/5 backdrop-blur-md transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2";
19
+ var overlayBaseClasses = "fixed inset-0 z-40 bg-gray-900/30 backdrop-blur-[1px]";
20
+ var Menu = React.forwardRef((props, ref) => {
21
+ const {
22
+ activator,
23
+ children,
24
+ placement = "bottom-start",
25
+ open,
26
+ openOnHover = true,
27
+ openOnFocus = true,
28
+ matchActivatorWidth = false,
29
+ keepMounted = false,
30
+ scrim = false,
31
+ contentClassName,
32
+ contentProps,
33
+ overlayClassName,
34
+ className,
35
+ ...rest
36
+ } = props;
37
+ const hasContent = children !== void 0 && children !== null;
38
+ const manual = typeof open === "boolean";
39
+ const visible = Boolean(open);
40
+ const shouldRenderContent = hasContent && (keepMounted || visible || !manual && (openOnHover || openOnFocus));
41
+ const verticalPlacement = placement.startsWith("top") ? "top" : "bottom";
42
+ const visibilityClasses = (() => {
43
+ if (manual) {
44
+ return visible ? "pointer-events-auto opacity-100 scale-100" : "pointer-events-none opacity-0 scale-95";
45
+ }
46
+ const base = "pointer-events-none opacity-0 scale-95";
47
+ const hover = openOnHover ? " group-hover/menu:pointer-events-auto group-hover/menu:opacity-100 group-hover/menu:scale-100" : "";
48
+ const focus = openOnFocus ? " group-focus-within/menu:pointer-events-auto group-focus-within/menu:opacity-100 group-focus-within/menu:scale-100" : "";
49
+ return `${base}${hover}${focus}`;
50
+ })();
51
+ const {
52
+ className: contentExtraClassName,
53
+ style: contentStyle,
54
+ role: contentRole,
55
+ tabIndex: contentTabIndex,
56
+ ...restContentProps
57
+ } = contentProps ?? {};
58
+ const overlayNode = scrim && visible ? /* @__PURE__ */ jsx("div", { className: twMerge(overlayBaseClasses, overlayClassName), "aria-hidden": true }) : null;
59
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
60
+ overlayNode,
61
+ /* @__PURE__ */ jsxs(
62
+ "div",
63
+ {
64
+ ...rest,
65
+ ref,
66
+ className: twMerge("relative inline-flex min-w-0 group/menu", className),
67
+ "data-open": visible || void 0,
68
+ children: [
69
+ /* @__PURE__ */ jsx("div", { className: "inline-flex w-full min-w-0", children: activator }),
70
+ shouldRenderContent ? /* @__PURE__ */ jsx(
71
+ "div",
72
+ {
73
+ ...restContentProps,
74
+ className: twMerge(
75
+ menuBaseClasses,
76
+ placementClasses[placement],
77
+ offsetClasses[verticalPlacement],
78
+ matchActivatorWidth ? "min-w-full" : void 0,
79
+ visibilityClasses,
80
+ contentClassName,
81
+ contentExtraClassName
82
+ ),
83
+ "data-state": visible ? "open" : "closed",
84
+ role: contentRole ?? "menu",
85
+ tabIndex: contentTabIndex ?? -1,
86
+ style: contentStyle,
87
+ children
88
+ }
89
+ ) : null
90
+ ]
91
+ }
92
+ )
93
+ ] });
94
+ });
95
+ Menu.displayName = "Menu";
96
+ var Menu_default = Menu;
97
+
98
+ export { Menu_default };
99
+ //# sourceMappingURL=chunk-3EGIRBQ3.js.map
100
+ //# sourceMappingURL=chunk-3EGIRBQ3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/Containment/Menu/index.tsx"],"names":[],"mappings":"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","file":"chunk-3EGIRBQ3.js","sourcesContent":["import * as React from 'react';\nimport { twMerge } from 'tailwind-merge';\n\nexport type MenuPlacement = 'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end';\n\nexport interface MenuProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {\n activator: React.ReactNode;\n children: React.ReactNode;\n placement?: MenuPlacement;\n open?: boolean;\n openOnHover?: boolean;\n openOnFocus?: boolean;\n matchActivatorWidth?: boolean;\n keepMounted?: boolean;\n scrim?: boolean;\n contentClassName?: string;\n contentProps?: React.HTMLAttributes<HTMLDivElement>;\n overlayClassName?: string;\n}\n\nconst placementClasses: Record<MenuPlacement, string> = {\n 'bottom-start': 'left-0 top-full origin-top-left',\n bottom: 'left-1/2 top-full -translate-x-1/2 origin-top',\n 'bottom-end': 'right-0 top-full origin-top-right',\n 'top-start': 'left-0 bottom-full origin-bottom-left',\n top: 'left-1/2 bottom-full -translate-x-1/2 origin-bottom',\n 'top-end': 'right-0 bottom-full origin-bottom-right'\n};\n\nconst offsetClasses: Record<'top' | 'bottom', string> = {\n top: 'mb-2',\n bottom: 'mt-2'\n};\n\nconst menuBaseClasses =\n 'absolute z-50 min-w-[10rem] rounded-xl border border-gray-200/80 bg-white/95 p-2 text-sm text-gray-700 shadow-lg shadow-gray-900/10 ring-1 ring-black/5 backdrop-blur-md transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40 focus-visible:ring-offset-2';\n\nconst overlayBaseClasses = 'fixed inset-0 z-40 bg-gray-900/30 backdrop-blur-[1px]';\n\nconst Menu = React.forwardRef<HTMLDivElement, MenuProps>((props, ref) => {\n const {\n activator,\n children,\n placement = 'bottom-start',\n open,\n openOnHover = true,\n openOnFocus = true,\n matchActivatorWidth = false,\n keepMounted = false,\n scrim = false,\n contentClassName,\n contentProps,\n overlayClassName,\n className,\n ...rest\n } = props;\n\n const hasContent = children !== undefined && children !== null;\n const manual = typeof open === 'boolean';\n const visible = Boolean(open);\n const shouldRenderContent = hasContent && (keepMounted || visible || (!manual && (openOnHover || openOnFocus)));\n const verticalPlacement = placement.startsWith('top') ? 'top' : 'bottom';\n\n const visibilityClasses = (() => {\n if (manual) {\n return visible ? 'pointer-events-auto opacity-100 scale-100' : 'pointer-events-none opacity-0 scale-95';\n }\n const base = 'pointer-events-none opacity-0 scale-95';\n const hover = openOnHover ? ' group-hover/menu:pointer-events-auto group-hover/menu:opacity-100 group-hover/menu:scale-100' : '';\n const focus = openOnFocus\n ? ' group-focus-within/menu:pointer-events-auto group-focus-within/menu:opacity-100 group-focus-within/menu:scale-100'\n : '';\n return `${base}${hover}${focus}`;\n })();\n\n const {\n className: contentExtraClassName,\n style: contentStyle,\n role: contentRole,\n tabIndex: contentTabIndex,\n ...restContentProps\n } = contentProps ?? {};\n\n const overlayNode = scrim && visible ? <div className={twMerge(overlayBaseClasses, overlayClassName)} aria-hidden /> : null;\n\n return (\n <>\n {overlayNode}\n <div\n {...rest}\n ref={ref}\n className={twMerge('relative inline-flex min-w-0 group/menu', className)}\n data-open={visible || undefined}\n >\n <div className='inline-flex w-full min-w-0'>{activator}</div>\n {shouldRenderContent ? (\n <div\n {...restContentProps}\n className={twMerge(\n menuBaseClasses,\n placementClasses[placement],\n offsetClasses[verticalPlacement],\n matchActivatorWidth ? 'min-w-full' : undefined,\n visibilityClasses,\n contentClassName,\n contentExtraClassName\n )}\n data-state={visible ? 'open' : 'closed'}\n role={contentRole ?? 'menu'}\n tabIndex={contentTabIndex ?? -1}\n style={contentStyle}\n >\n {children}\n </div>\n ) : null}\n </div>\n </>\n );\n});\n\nMenu.displayName = 'Menu';\n\nexport default Menu;\n"]}