Skip to content

Commit 17b4092

Browse files
committed
Put LabelSelect Back
1 parent c76fbf9 commit 17b4092

File tree

3 files changed

+32
-9
lines changed

3 files changed

+32
-9
lines changed

monsterui/_modidx.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@
127127
'monsterui.franken.LabelInput': ('franken.html#labelinput', 'monsterui/franken.py'),
128128
'monsterui.franken.LabelRadio': ('franken.html#labelradio', 'monsterui/franken.py'),
129129
'monsterui.franken.LabelRange': ('franken.html#labelrange', 'monsterui/franken.py'),
130+
'monsterui.franken.LabelSelect': ('franken.html#labelselect', 'monsterui/franken.py'),
130131
'monsterui.franken.LabelSwitch': ('franken.html#labelswitch', 'monsterui/franken.py'),
131132
'monsterui.franken.LabelT': ('franken.html#labelt', 'monsterui/franken.py'),
132133
'monsterui.franken.LabelT._generate_next_value_': ( 'franken.html#labelt._generate_next_value_',

monsterui/franken.py

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@
88
'DividerT', 'Divider', 'DividerSplit', 'DividerLine', 'Article', 'ArticleTitle', 'ArticleMeta', 'SectionT',
99
'Section', 'Form', 'Fieldset', 'Legend', 'Input', 'Radio', 'CheckboxX', 'Range', 'TextArea', 'Switch',
1010
'Upload', 'UploadZone', 'FormLabel', 'LabelT', 'Label', 'UkFormSection', 'GenericLabelInput', 'LabelInput',
11-
'LabelTextArea', 'LabelSwitch', 'LabelRadio', 'LabelCheckboxX', 'Options', 'Select', 'LabelRange', 'AT',
12-
'ListT', 'ModalContainer', 'ModalDialog', 'ModalHeader', 'ModalBody', 'ModalFooter', 'ModalTitle',
13-
'ModalCloseButton', 'Modal', 'Placeholder', 'Progress', 'UkIcon', 'UkIconLink', 'DiceBearAvatar', 'Center',
14-
'FlexT', 'Grid', 'DivFullySpaced', 'DivCentered', 'DivLAligned', 'DivRAligned', 'DivVStacked', 'DivHStacked',
15-
'NavT', 'NavContainer', 'NavParentLi', 'NavDividerLi', 'NavHeaderLi', 'NavSubtitle', 'NavCloseLi',
16-
'ScrollspyT', 'NavBar', 'SliderContainer', 'SliderItems', 'SliderNav', 'Slider', 'DropDownNavContainer',
17-
'TabContainer', 'CardT', 'CardTitle', 'CardHeader', 'CardBody', 'CardFooter', 'CardContainer', 'Card',
18-
'TableT', 'Table', 'Td', 'Th', 'Tbody', 'TableFromLists', 'TableFromDicts', 'apply_classes', 'render_md',
19-
'get_franken_renderer', 'ThemePicker', 'LightboxContainer', 'LightboxItem']
11+
'LabelTextArea', 'LabelSwitch', 'LabelRadio', 'LabelCheckboxX', 'Options', 'Select', 'LabelSelect',
12+
'LabelRange', 'AT', 'ListT', 'ModalContainer', 'ModalDialog', 'ModalHeader', 'ModalBody', 'ModalFooter',
13+
'ModalTitle', 'ModalCloseButton', 'Modal', 'Placeholder', 'Progress', 'UkIcon', 'UkIconLink',
14+
'DiceBearAvatar', 'Center', 'FlexT', 'Grid', 'DivFullySpaced', 'DivCentered', 'DivLAligned', 'DivRAligned',
15+
'DivVStacked', 'DivHStacked', 'NavT', 'NavContainer', 'NavParentLi', 'NavDividerLi', 'NavHeaderLi',
16+
'NavSubtitle', 'NavCloseLi', 'ScrollspyT', 'NavBar', 'SliderContainer', 'SliderItems', 'SliderNav', 'Slider',
17+
'DropDownNavContainer', 'TabContainer', 'CardT', 'CardTitle', 'CardHeader', 'CardBody', 'CardFooter',
18+
'CardContainer', 'Card', 'TableT', 'Table', 'Td', 'Th', 'Tbody', 'TableFromLists', 'TableFromDicts',
19+
'apply_classes', 'render_md', 'get_franken_renderer', 'ThemePicker', 'LightboxContainer', 'LightboxItem']
2020

2121
# %% ../nbs/02_franken.ipynb
2222
import fasthtml.common as fh
@@ -807,6 +807,27 @@ def Select(*option, # Options for the select dropdown (can use `Optio
807807

808808
return Div(cls=cls)(uk_select)
809809

810+
# %% ../nbs/02_franken.ipynb
811+
def LabelSelect(*option, # Options for the select dropdown (can use `Options` helper function to create)
812+
label=(), # String or FT component for the label
813+
lbl_cls=(), # Additional classes for the label
814+
inp_cls=(), # Additional classes for the select input
815+
cls=('space-y-2',), # Classes for the outer div
816+
id="", # ID for the select input
817+
name="", # Name attribute for the select input
818+
placeholder="", # Placeholder text for the select input
819+
searchable=False, # Whether the select should be searchable
820+
select_kwargs=None, # Additional Arguments passed to Select
821+
**kwargs): # Additional arguments passed to Select
822+
"A FormLabel and Select pair that provides default spacing and links/names them based on id"
823+
lbl_cls, inp_cls, cls = map(stringify, (lbl_cls, inp_cls, cls))
824+
select_kwargs = ifnone(select_kwargs, {})
825+
if label:
826+
lbl = FormLabel(cls=f'{lbl_cls}', fr=id)(label)
827+
select = Select(*option, inp_cls=inp_cls, id=id, name=name if name else id,
828+
placeholder=placeholder, searchable=searchable, select_kwargs=select_kwargs, **kwargs)
829+
return Div(cls=cls)(lbl, select) if label else Div(cls=cls)(select)
830+
810831
# %% ../nbs/02_franken.ipynb
811832
@delegates(GenericLabelInput, but=['input_fn','cls'])
812833
def LabelRange(label:str|FT, # FormLabel content (often text)

nbs/02_franken.ipynb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1496,6 +1496,7 @@
14961496
"metadata": {},
14971497
"outputs": [],
14981498
"source": [
1499+
"#| export\n",
14991500
"def LabelSelect(*option, # Options for the select dropdown (can use `Options` helper function to create) \n",
15001501
" label=(), # String or FT component for the label\n",
15011502
" lbl_cls=(), # Additional classes for the label\n",

0 commit comments

Comments
 (0)