@@ -96,6 +96,12 @@ class SelectRoot(SelectBaseComponent):
9696 # Whether the user must choose a value before submitting a form
9797 required : Var [bool ] = Var .create (False )
9898
99+ @classmethod
100+ def create (cls , * children , ** props ) -> Component :
101+ """Create the select root component."""
102+ props ["data-slot" ] = "select"
103+ return super ().create (* children , ** props )
104+
99105
100106class SelectTrigger (SelectBaseComponent ):
101107 """A button that opens the select menu."""
@@ -111,6 +117,7 @@ class SelectTrigger(SelectBaseComponent):
111117 @classmethod
112118 def create (cls , * children , ** props ) -> Component :
113119 """Create the select trigger component."""
120+ props ["data-slot" ] = "select-trigger"
114121 cls .set_class_name (ClassNames .TRIGGER , props )
115122 return super ().create (* children , ** props )
116123
@@ -126,6 +133,7 @@ class SelectValue(SelectBaseComponent):
126133 @classmethod
127134 def create (cls , * children , ** props ) -> Component :
128135 """Create the dialog trigger component."""
136+ props ["data-slot" ] = "select-value"
129137 cls .set_class_name (ClassNames .VALUE , props )
130138 return super ().create (* children , ** props )
131139
@@ -195,6 +203,7 @@ class SelectPositioner(SelectBaseComponent):
195203 @classmethod
196204 def create (cls , * children , ** props ) -> Component :
197205 """Create the dialog trigger component."""
206+ props ["data-slot" ] = "select-positioner"
198207 cls .set_class_name (ClassNames .POSITIONER , props )
199208 return super ().create (* children , ** props )
200209
@@ -210,6 +219,7 @@ class SelectPopup(SelectBaseComponent):
210219 @classmethod
211220 def create (cls , * children , ** props ) -> Component :
212221 """Create the dialog trigger component."""
222+ props ["data-slot" ] = "select-popup"
213223 cls .set_class_name (ClassNames .POPUP , props )
214224 return super ().create (* children , ** props )
215225
@@ -234,6 +244,7 @@ class SelectItem(SelectBaseComponent):
234244 @classmethod
235245 def create (cls , * children , ** props ) -> Component :
236246 """Create the dialog trigger component."""
247+ props ["data-slot" ] = "select-item"
237248 cls .set_class_name (ClassNames .ITEM , props )
238249 return super ().create (* children , ** props )
239250
@@ -249,6 +260,7 @@ class SelectItemText(SelectBaseComponent):
249260 @classmethod
250261 def create (cls , * children , ** props ) -> Component :
251262 """Create the dialog trigger component."""
263+ props ["data-slot" ] = "select-item-text"
252264 cls .set_class_name (ClassNames .ITEM_TEXT , props )
253265 return super ().create (* children , ** props )
254266
@@ -267,6 +279,7 @@ class SelectItemIndicator(SelectBaseComponent):
267279 @classmethod
268280 def create (cls , * children , ** props ) -> Component :
269281 """Create the dialog trigger component."""
282+ props ["data-slot" ] = "select-item-indicator"
270283 cls .set_class_name (ClassNames .ITEM_INDICATOR , props )
271284 return super ().create (* children , ** props )
272285
@@ -282,6 +295,7 @@ class SelectGroup(SelectBaseComponent):
282295 @classmethod
283296 def create (cls , * children , ** props ) -> Component :
284297 """Create the dialog trigger component."""
298+ props ["data-slot" ] = "select-group"
285299 cls .set_class_name (ClassNames .GROUP , props )
286300 return super ().create (* children , ** props )
287301
@@ -297,6 +311,7 @@ class SelectGroupLabel(SelectBaseComponent):
297311 @classmethod
298312 def create (cls , * children , ** props ) -> Component :
299313 """Create the dialog trigger component."""
314+ props ["data-slot" ] = "select-group-label"
300315 cls .set_class_name (ClassNames .GROUP_LABEL , props )
301316 return super ().create (* children , ** props )
302317
@@ -315,6 +330,7 @@ class SelectSeparator(SelectBaseComponent):
315330 @classmethod
316331 def create (cls , * children , ** props ) -> Component :
317332 """Create the dialog trigger component."""
333+ props ["data-slot" ] = "select-separator"
318334 cls .set_class_name (ClassNames .SEPARATOR , props )
319335 return super ().create (* children , ** props )
320336
@@ -330,6 +346,7 @@ class SelectIcon(SelectBaseComponent):
330346 @classmethod
331347 def create (cls , * children , ** props ) -> Component :
332348 """Create the dialog trigger component."""
349+ props ["data-slot" ] = "select-icon"
333350 cls .set_class_name (ClassNames .ICON , props )
334351 return super ().create (* children , ** props )
335352
@@ -345,6 +362,7 @@ class SelectArrow(SelectBaseComponent):
345362 @classmethod
346363 def create (cls , * children , ** props ) -> Component :
347364 """Create the dialog trigger component."""
365+ props ["data-slot" ] = "select-arrow"
348366 cls .set_class_name (ClassNames .ARROW , props )
349367 return super ().create (* children , ** props )
350368
@@ -363,6 +381,7 @@ class SelectScrollUpArrow(SelectBaseComponent):
363381 @classmethod
364382 def create (cls , * children , ** props ) -> Component :
365383 """Create the dialog trigger component."""
384+ props ["data-slot" ] = "select-scroll-up-arrow"
366385 cls .set_class_name (ClassNames .SCROLL_ARROW_UP , props )
367386 return super ().create (* children , ** props )
368387
@@ -381,6 +400,7 @@ class SelectScrollDownArrow(SelectBaseComponent):
381400 @classmethod
382401 def create (cls , * children , ** props ) -> Component :
383402 """Create the dialog trigger component."""
403+ props ["data-slot" ] = "select-scroll-down-arrow"
384404 cls .set_class_name (ClassNames .SCROLL_ARROW_DOWN , props )
385405 return super ().create (* children , ** props )
386406
0 commit comments