From b36fea8f83edf07246ea53cc0b2ce01098e2a726 Mon Sep 17 00:00:00 2001 From: Mohammadreza Amani Date: Mon, 28 Oct 2024 02:08:49 +0330 Subject: [PATCH 1/2] feat(bootstrap): add bootstrap5 support to project. --- inui/base.py | 23 +- inui/bootstrap/__init__.py | 5307 ++++++++++++++++++++++++++++++++++++ inui/bootstrap/utils.py | 20 + inui/conf.py | 10 + inui/config/replaces.py | 26 + inui/elements.py | 3 + main.py | 20 + 7 files changed, 5407 insertions(+), 2 deletions(-) create mode 100644 inui/bootstrap/__init__.py create mode 100644 inui/bootstrap/utils.py create mode 100644 inui/conf.py create mode 100644 main.py diff --git a/inui/base.py b/inui/base.py index 5fa9961..a004f1b 100644 --- a/inui/base.py +++ b/inui/base.py @@ -2,6 +2,8 @@ from typing import Any, Dict, List, NamedTuple, Tuple, Type, Union +from inui.config.replaces import replace + class Attributes: def __init__(self, **kwargs: Any) -> None: @@ -14,7 +16,7 @@ def __getattribute__(self, __name: str) -> Any: def __str__(self) -> str: return " ".join( - f'{name}="{value}"' + f'{replace(name)}="{value}"' for name, value in self.attrs.items() if value is not None ) @@ -154,13 +156,30 @@ def __len__(self): def __getitem__(self, item): return self.render()[item] + def _str(self, data): + try: + if isinstance(data, type): + if isinstance(data(), Base): + data = data() + except Exception as _: + pass + return str(data) + class BaseElement(Base): ... class BaseVoidElement(BaseElement): def render(self, prettify: bool = False): - return f"""<{self.start_tag}{' ' if len(self.attributes) > 0 else ''}{str(self.attributes)}>""" + return f"""<{self.start_tag}{' ' if len(self.attributes) > 0 else ''}{str(self.attributes)}> """ class BaseSvgElement(Base): ... + + +class Class(Base): + def __init__(self, *args) -> None: + self.args = args + + def render(self, prettify: bool = False) -> str: + return " ".join(list(map(self._str, self.args))) diff --git a/inui/bootstrap/__init__.py b/inui/bootstrap/__init__.py new file mode 100644 index 0000000..67362b3 --- /dev/null +++ b/inui/bootstrap/__init__.py @@ -0,0 +1,5307 @@ +from typing import Any + +from inui.base import BaseVoidElement +from inui.bootstrap.utils import class_to_lower +from inui.conf import BOOTSTRAP_CSS_URL, BOOTSTRAP_JS_URL +from inui.elements import Link, Script + + +class BootStrapCSS(BaseVoidElement): + + def __init__( + self, *data: Any, url: str = BOOTSTRAP_CSS_URL, **attributes: Any + ) -> None: + self.url = url + super().__init__(*data, **attributes) + + def render(self, prettify: bool = False): + return Link(href=self.url).render() + + +class BootStrapJS(BaseVoidElement): + + def __init__( + self, *data: Any, url: str = BOOTSTRAP_JS_URL, **attributes: Any + ) -> None: + self.url = url + super().__init__(*data, **attributes) + + def render(self, prettify: bool = False): + return Script(src=self.url).render() + + +class BaseBS(BaseVoidElement): + def __init__(self, *values) -> None: + self.values = values + + def render(self, prettify: bool = False) -> str: + values = "" + if self.values: + values += "-" + values += "-".join(list(map(str, self.values))) + return class_to_lower(self.__class__.__name__) + values + + +class AccordionBody(BaseBS): ... + + +class AccordionButton(BaseBS): ... + + +class AccordionCollapse(BaseBS): ... + + +class AccordionFlush(BaseBS): ... + + +class AccordionHeader(BaseBS): ... + + +class AccordionItem(BaseBS): ... + + +class Active(BaseBS): ... + + +class Alert(BaseBS): ... + + +class AlertDanger(BaseBS): ... + + +class AlertDark(BaseBS): ... + + +class AlertDismissible(BaseBS): ... + + +class AlertHeading(BaseBS): ... + + +class AlertInfo(BaseBS): ... + + +class AlertLight(BaseBS): ... + + +class AlertLink(BaseBS): ... + + +class AlertPrimary(BaseBS): ... + + +class AlertSecondary(BaseBS): ... + + +class AlertSuccess(BaseBS): ... + + +class AlertWarning(BaseBS): ... + + +class AlignBaseline(BaseBS): ... + + +class AlignBottom(BaseBS): ... + + +class AlignContentAround(BaseBS): ... + + +class AlignContentBetween(BaseBS): ... + + +class AlignContentCenter(BaseBS): ... + + +class AlignContentEnd(BaseBS): ... + + +class AlignContentLgAround(BaseBS): ... + + +class AlignContentLgBetween(BaseBS): ... + + +class AlignContentLgCenter(BaseBS): ... + + +class AlignContentLgEnd(BaseBS): ... + + +class AlignContentLgStart(BaseBS): ... + + +class AlignContentLgStretch(BaseBS): ... + + +class AlignContentMdAround(BaseBS): ... + + +class AlignContentMdBetween(BaseBS): ... + + +class AlignContentMdCenter(BaseBS): ... + + +class AlignContentMdEnd(BaseBS): ... + + +class AlignContentMdStart(BaseBS): ... + + +class AlignContentMdStretch(BaseBS): ... + + +class AlignContentSmAround(BaseBS): ... + + +class AlignContentSmBetween(BaseBS): ... + + +class AlignContentSmCenter(BaseBS): ... + + +class AlignContentSmEnd(BaseBS): ... + + +class AlignContentSmStart(BaseBS): ... + + +class AlignContentSmStretch(BaseBS): ... + + +class AlignContentStart(BaseBS): ... + + +class AlignContentStretch(BaseBS): ... + + +class AlignContentXlAround(BaseBS): ... + + +class AlignContentXlBetween(BaseBS): ... + + +class AlignContentXlCenter(BaseBS): ... + + +class AlignContentXlEnd(BaseBS): ... + + +class AlignContentXlStart(BaseBS): ... + + +class AlignContentXlStretch(BaseBS): ... + + +class AlignContentXxlAround(BaseBS): ... + + +class AlignContentXxlBetween(BaseBS): ... + + +class AlignContentXxlCenter(BaseBS): ... + + +class AlignContentXxlEnd(BaseBS): ... + + +class AlignContentXxlStart(BaseBS): ... + + +class AlignContentXxlStretch(BaseBS): ... + + +class AlignItemsBaseline(BaseBS): ... + + +class AlignItemsCenter(BaseBS): ... + + +class AlignItemsEnd(BaseBS): ... + + +class AlignItemsLgBaseline(BaseBS): ... + + +class AlignItemsLgCenter(BaseBS): ... + + +class AlignItemsLgEnd(BaseBS): ... + + +class AlignItemsLgStart(BaseBS): ... + + +class AlignItemsLgStretch(BaseBS): ... + + +class AlignItemsMdBaseline(BaseBS): ... + + +class AlignItemsMdCenter(BaseBS): ... + + +class AlignItemsMdEnd(BaseBS): ... + + +class AlignItemsMdStart(BaseBS): ... + + +class AlignItemsMdStretch(BaseBS): ... + + +class AlignItemsSmBaseline(BaseBS): ... + + +class AlignItemsSmCenter(BaseBS): ... + + +class AlignItemsSmEnd(BaseBS): ... + + +class AlignItemsSmStart(BaseBS): ... + + +class AlignItemsSmStretch(BaseBS): ... + + +class AlignItemsStart(BaseBS): ... + + +class AlignItemsStretch(BaseBS): ... + + +class AlignItemsXlBaseline(BaseBS): ... + + +class AlignItemsXlCenter(BaseBS): ... + + +class AlignItemsXlEnd(BaseBS): ... + + +class AlignItemsXlStart(BaseBS): ... + + +class AlignItemsXlStretch(BaseBS): ... + + +class AlignItemsXxlBaseline(BaseBS): ... + + +class AlignItemsXxlCenter(BaseBS): ... + + +class AlignItemsXxlEnd(BaseBS): ... + + +class AlignItemsXxlStart(BaseBS): ... + + +class AlignItemsXxlStretch(BaseBS): ... + + +class AlignMiddle(BaseBS): ... + + +class AlignSelfAuto(BaseBS): ... + + +class AlignSelfBaseline(BaseBS): ... + + +class AlignSelfCenter(BaseBS): ... + + +class AlignSelfEnd(BaseBS): ... + + +class AlignSelfLgAuto(BaseBS): ... + + +class AlignSelfLgBaseline(BaseBS): ... + + +class AlignSelfLgCenter(BaseBS): ... + + +class AlignSelfLgEnd(BaseBS): ... + + +class AlignSelfLgStart(BaseBS): ... + + +class AlignSelfLgStretch(BaseBS): ... + + +class AlignSelfMdAuto(BaseBS): ... + + +class AlignSelfMdBaseline(BaseBS): ... + + +class AlignSelfMdCenter(BaseBS): ... + + +class AlignSelfMdEnd(BaseBS): ... + + +class AlignSelfMdStart(BaseBS): ... + + +class AlignSelfMdStretch(BaseBS): ... + + +class AlignSelfSmAuto(BaseBS): ... + + +class AlignSelfSmBaseline(BaseBS): ... + + +class AlignSelfSmCenter(BaseBS): ... + + +class AlignSelfSmEnd(BaseBS): ... + + +class AlignSelfSmStart(BaseBS): ... + + +class AlignSelfSmStretch(BaseBS): ... + + +class AlignSelfStart(BaseBS): ... + + +class AlignSelfStretch(BaseBS): ... + + +class AlignSelfXlAuto(BaseBS): ... + + +class AlignSelfXlBaseline(BaseBS): ... + + +class AlignSelfXlCenter(BaseBS): ... + + +class AlignSelfXlEnd(BaseBS): ... + + +class AlignSelfXlStart(BaseBS): ... + + +class AlignSelfXlStretch(BaseBS): ... + + +class AlignSelfXxlAuto(BaseBS): ... + + +class AlignSelfXxlBaseline(BaseBS): ... + + +class AlignSelfXxlCenter(BaseBS): ... + + +class AlignSelfXxlEnd(BaseBS): ... + + +class AlignSelfXxlStart(BaseBS): ... + + +class AlignSelfXxlStretch(BaseBS): ... + + +class AlignTextBottom(BaseBS): ... + + +class AlignTextTop(BaseBS): ... + + +class AlignTop(BaseBS): ... + + +class Badge(BaseBS): ... + + +class BgBlack(BaseBS): ... + + +class BgBody(BaseBS): ... + + +class BgDanger(BaseBS): ... + + +class BgDark(BaseBS): ... + + +class BgGradient(BaseBS): ... + + +class BgInfo(BaseBS): ... + + +class BgLight(BaseBS): ... + + +class BgOpacity10(BaseBS): ... + + +class BgOpacity100(BaseBS): ... + + +class BgOpacity25(BaseBS): ... + + +class BgOpacity50(BaseBS): ... + + +class BgOpacity75(BaseBS): ... + + +class BgPrimary(BaseBS): ... + + +class BgSecondary(BaseBS): ... + + +class BgSuccess(BaseBS): ... + + +class BgTransparent(BaseBS): ... + + +class BgWarning(BaseBS): ... + + +class BgWhite(BaseBS): ... + + +class Blockquote(BaseBS): ... + + +class BlockquoteFooter(BaseBS): ... + + +class Border(BaseBS): ... + + +class Border0(BaseBS): ... + + +class Border1(BaseBS): ... + + +class Border2(BaseBS): ... + + +class Border3(BaseBS): ... + + +class Border4(BaseBS): ... + + +class Border5(BaseBS): ... + + +class BorderBottom(BaseBS): ... + + +class BorderBottom0(BaseBS): ... + + +class BorderDanger(BaseBS): ... + + +class BorderDark(BaseBS): ... + + +class BorderEnd(BaseBS): ... + + +class BorderEnd0(BaseBS): ... + + +class BorderInfo(BaseBS): ... + + +class BorderLight(BaseBS): ... + + +class BorderPrimary(BaseBS): ... + + +class BorderSecondary(BaseBS): ... + + +class BorderStart(BaseBS): ... + + +class BorderStart0(BaseBS): ... + + +class BorderSuccess(BaseBS): ... + + +class BorderTop(BaseBS): ... + + +class BorderTop0(BaseBS): ... + + +class BorderWarning(BaseBS): ... + + +class BorderWhite(BaseBS): ... + + +class Bottom0(BaseBS): ... + + +class Bottom100(BaseBS): ... + + +class Bottom50(BaseBS): ... + + +class Breadcrumb(BaseBS): ... + + +class BreadcrumbItem(BaseBS): ... + + +class BsPopoverAuto(BaseBS): ... + + +class BsPopoverBottom(BaseBS): ... + + +class BsPopoverEnd(BaseBS): ... + + +class BsPopoverStart(BaseBS): ... + + +class BsPopoverTop(BaseBS): ... + + +class BsTooltipAuto(BaseBS): ... + + +class BsTooltipBottom(BaseBS): ... + + +class BsTooltipEnd(BaseBS): ... + + +class BsTooltipStart(BaseBS): ... + + +class BsTooltipTop(BaseBS): ... + + +class Btn(BaseBS): ... + + +class BtnCheck(BaseBS): ... + + +class BtnClose(BaseBS): ... + + +class BtnCloseWhite(BaseBS): ... + + +class BtnDanger(BaseBS): ... + + +class BtnDark(BaseBS): ... + + +class BtnGroup(BaseBS): ... + + +class BtnGroupLg(BaseBS): ... + + +class BtnGroupSm(BaseBS): ... + + +class BtnGroupVertical(BaseBS): ... + + +class BtnInfo(BaseBS): ... + + +class BtnLg(BaseBS): ... + + +class BtnLight(BaseBS): ... + + +class BtnLink(BaseBS): ... + + +class BtnOutlineDanger(BaseBS): ... + + +class BtnOutlineDark(BaseBS): ... + + +class BtnOutlineInfo(BaseBS): ... + + +class BtnOutlineLight(BaseBS): ... + + +class BtnOutlinePrimary(BaseBS): ... + + +class BtnOutlineSecondary(BaseBS): ... + + +class BtnOutlineSuccess(BaseBS): ... + + +class BtnOutlineWarning(BaseBS): ... + + +class BtnPrimary(BaseBS): ... + + +class BtnSecondary(BaseBS): ... + + +class BtnSm(BaseBS): ... + + +class BtnSuccess(BaseBS): ... + + +class BtnToolbar(BaseBS): ... + + +class BtnWarning(BaseBS): ... + + +class CaptionTop(BaseBS): ... + + +class Card(BaseBS): ... + + +class CardBody(BaseBS): ... + + +class CardFooter(BaseBS): ... + + +class CardGroup(BaseBS): ... + + +class CardHeader(BaseBS): ... + + +class CardHeaderPills(BaseBS): ... + + +class CardHeaderTabs(BaseBS): ... + + +class CardImg(BaseBS): ... + + +class CardImgBottom(BaseBS): ... + + +class CardImgOverlay(BaseBS): ... + + +class CardImgTop(BaseBS): ... + + +class CardLink(BaseBS): ... + + +class CardSubtitle(BaseBS): ... + + +class CardText(BaseBS): ... + + +class CardTitle(BaseBS): ... + + +class Carousel(BaseBS): ... + + +class CarouselCaption(BaseBS): ... + + +class CarouselControlNext(BaseBS): ... + + +class CarouselControlNextIcon(BaseBS): ... + + +class CarouselControlPrev(BaseBS): ... + + +class CarouselControlPrevIcon(BaseBS): ... + + +class CarouselDark(BaseBS): ... + + +class CarouselFade(BaseBS): ... + + +class CarouselIndicators(BaseBS): ... + + +class CarouselInner(BaseBS): ... + + +class CarouselItem(BaseBS): ... + + +class CarouselItemEnd(BaseBS): ... + + +class CarouselItemNext(BaseBS): ... + + +class CarouselItemPrev(BaseBS): ... + + +class CarouselItemStart(BaseBS): ... + + +class Clearfix(BaseBS): ... + + +class Col(BaseBS): ... + + +class Col1(BaseBS): ... + + +class Col10(BaseBS): ... + + +class Col11(BaseBS): ... + + +class Col12(BaseBS): ... + + +class Col2(BaseBS): ... + + +class Col3(BaseBS): ... + + +class Col4(BaseBS): ... + + +class Col5(BaseBS): ... + + +class Col6(BaseBS): ... + + +class Col7(BaseBS): ... + + +class Col8(BaseBS): ... + + +class Col9(BaseBS): ... + + +class ColAuto(BaseBS): ... + + +class ColFormLabel(BaseBS): ... + + +class ColFormLabelLg(BaseBS): ... + + +class ColFormLabelSm(BaseBS): ... + + +class ColLg(BaseBS): ... + + +class ColLg1(BaseBS): ... + + +class ColLg10(BaseBS): ... + + +class ColLg11(BaseBS): ... + + +class ColLg12(BaseBS): ... + + +class ColLg2(BaseBS): ... + + +class ColLg3(BaseBS): ... + + +class ColLg4(BaseBS): ... + + +class ColLg5(BaseBS): ... + + +class ColLg6(BaseBS): ... + + +class ColLg7(BaseBS): ... + + +class ColLg8(BaseBS): ... + + +class ColLg9(BaseBS): ... + + +class ColLgAuto(BaseBS): ... + + +class ColMd(BaseBS): ... + + +class ColMd1(BaseBS): ... + + +class ColMd10(BaseBS): ... + + +class ColMd11(BaseBS): ... + + +class ColMd12(BaseBS): ... + + +class ColMd2(BaseBS): ... + + +class ColMd3(BaseBS): ... + + +class ColMd4(BaseBS): ... + + +class ColMd5(BaseBS): ... + + +class ColMd6(BaseBS): ... + + +class ColMd7(BaseBS): ... + + +class ColMd8(BaseBS): ... + + +class ColMd9(BaseBS): ... + + +class ColMdAuto(BaseBS): ... + + +class ColSm(BaseBS): ... + + +class ColSm1(BaseBS): ... + + +class ColSm10(BaseBS): ... + + +class ColSm11(BaseBS): ... + + +class ColSm12(BaseBS): ... + + +class ColSm2(BaseBS): ... + + +class ColSm3(BaseBS): ... + + +class ColSm4(BaseBS): ... + + +class ColSm5(BaseBS): ... + + +class ColSm6(BaseBS): ... + + +class ColSm7(BaseBS): ... + + +class ColSm8(BaseBS): ... + + +class ColSm9(BaseBS): ... + + +class ColSmAuto(BaseBS): ... + + +class ColXl(BaseBS): ... + + +class ColXl1(BaseBS): ... + + +class ColXl10(BaseBS): ... + + +class ColXl11(BaseBS): ... + + +class ColXl12(BaseBS): ... + + +class ColXl2(BaseBS): ... + + +class ColXl3(BaseBS): ... + + +class ColXl4(BaseBS): ... + + +class ColXl5(BaseBS): ... + + +class ColXl6(BaseBS): ... + + +class ColXl7(BaseBS): ... + + +class ColXl8(BaseBS): ... + + +class ColXl9(BaseBS): ... + + +class ColXlAuto(BaseBS): ... + + +class ColXxl(BaseBS): ... + + +class ColXxl1(BaseBS): ... + + +class ColXxl10(BaseBS): ... + + +class ColXxl11(BaseBS): ... + + +class ColXxl12(BaseBS): ... + + +class ColXxl2(BaseBS): ... + + +class ColXxl3(BaseBS): ... + + +class ColXxl4(BaseBS): ... + + +class ColXxl5(BaseBS): ... + + +class ColXxl6(BaseBS): ... + + +class ColXxl7(BaseBS): ... + + +class ColXxl8(BaseBS): ... + + +class ColXxl9(BaseBS): ... + + +class ColXxlAuto(BaseBS): ... + + +class Collapse(BaseBS): ... + + +class CollapseHorizontal(BaseBS): ... + + +class Collapsed(BaseBS): ... + + +class Collapsing(BaseBS): ... + + +class Container(BaseBS): ... + + +class ContainerFluid(BaseBS): ... + + +class ContainerLg(BaseBS): ... + + +class ContainerMd(BaseBS): ... + + +class ContainerSm(BaseBS): ... + + +class ContainerXl(BaseBS): ... + + +class ContainerXxl(BaseBS): ... + + +class DBlock(BaseBS): ... + + +class DFlex(BaseBS): ... + + +class DGrid(BaseBS): ... + + +class DInline(BaseBS): ... + + +class DInlineBlock(BaseBS): ... + + +class DInlineFlex(BaseBS): ... + + +class DLgBlock(BaseBS): ... + + +class DLgFlex(BaseBS): ... + + +class DLgGrid(BaseBS): ... + + +class DLgInline(BaseBS): ... + + +class DLgInlineBlock(BaseBS): ... + + +class DLgInlineFlex(BaseBS): ... + + +class DLgNone(BaseBS): ... + + +class DLgTable(BaseBS): ... + + +class DLgTableCell(BaseBS): ... + + +class DLgTableRow(BaseBS): ... + + +class DMdBlock(BaseBS): ... + + +class DMdFlex(BaseBS): ... + + +class DMdGrid(BaseBS): ... + + +class DMdInline(BaseBS): ... + + +class DMdInlineBlock(BaseBS): ... + + +class DMdInlineFlex(BaseBS): ... + + +class DMdNone(BaseBS): ... + + +class DMdTable(BaseBS): ... + + +class DMdTableCell(BaseBS): ... + + +class DMdTableRow(BaseBS): ... + + +class DNone(BaseBS): ... + + +class DPrintBlock(BaseBS): ... + + +class DPrintFlex(BaseBS): ... + + +class DPrintGrid(BaseBS): ... + + +class DPrintInline(BaseBS): ... + + +class DPrintInlineBlock(BaseBS): ... + + +class DPrintInlineFlex(BaseBS): ... + + +class DPrintNone(BaseBS): ... + + +class DPrintTable(BaseBS): ... + + +class DPrintTableCell(BaseBS): ... + + +class DPrintTableRow(BaseBS): ... + + +class DSmBlock(BaseBS): ... + + +class DSmFlex(BaseBS): ... + + +class DSmGrid(BaseBS): ... + + +class DSmInline(BaseBS): ... + + +class DSmInlineBlock(BaseBS): ... + + +class DSmInlineFlex(BaseBS): ... + + +class DSmNone(BaseBS): ... + + +class DSmTable(BaseBS): ... + + +class DSmTableCell(BaseBS): ... + + +class DSmTableRow(BaseBS): ... + + +class DTable(BaseBS): ... + + +class DTableCell(BaseBS): ... + + +class DTableRow(BaseBS): ... + + +class DXlBlock(BaseBS): ... + + +class DXlFlex(BaseBS): ... + + +class DXlGrid(BaseBS): ... + + +class DXlInline(BaseBS): ... + + +class DXlInlineBlock(BaseBS): ... + + +class DXlInlineFlex(BaseBS): ... + + +class DXlNone(BaseBS): ... + + +class DXlTable(BaseBS): ... + + +class DXlTableCell(BaseBS): ... + + +class DXlTableRow(BaseBS): ... + + +class DXxlBlock(BaseBS): ... + + +class DXxlFlex(BaseBS): ... + + +class DXxlGrid(BaseBS): ... + + +class DXxlInline(BaseBS): ... + + +class DXxlInlineBlock(BaseBS): ... + + +class DXxlInlineFlex(BaseBS): ... + + +class DXxlNone(BaseBS): ... + + +class DXxlTable(BaseBS): ... + + +class DXxlTableCell(BaseBS): ... + + +class DXxlTableRow(BaseBS): ... + + +class Disabled(BaseBS): ... + + +class Display1(BaseBS): ... + + +class Display2(BaseBS): ... + + +class Display3(BaseBS): ... + + +class Display4(BaseBS): ... + + +class Display5(BaseBS): ... + + +class Display6(BaseBS): ... + + +class Dropdown(BaseBS): ... + + +class DropdownDivider(BaseBS): ... + + +class DropdownHeader(BaseBS): ... + + +class DropdownItem(BaseBS): ... + + +class DropdownItemText(BaseBS): ... + + +class DropdownMenu(BaseBS): ... + + +class DropdownMenuDark(BaseBS): ... + + +class DropdownMenuEnd(BaseBS): ... + + +class DropdownMenuLgEnd(BaseBS): ... + + +class DropdownMenuLgStart(BaseBS): ... + + +class DropdownMenuMdEnd(BaseBS): ... + + +class DropdownMenuMdStart(BaseBS): ... + + +class DropdownMenuSmEnd(BaseBS): ... + + +class DropdownMenuSmStart(BaseBS): ... + + +class DropdownMenuStart(BaseBS): ... + + +class DropdownMenuXlEnd(BaseBS): ... + + +class DropdownMenuXlStart(BaseBS): ... + + +class DropdownMenuXxlEnd(BaseBS): ... + + +class DropdownMenuXxlStart(BaseBS): ... + + +class DropdownToggle(BaseBS): ... + + +class DropdownToggleSplit(BaseBS): ... + + +class Dropend(BaseBS): ... + + +class Dropstart(BaseBS): ... + + +class Dropup(BaseBS): ... + + +class End0(BaseBS): ... + + +class End100(BaseBS): ... + + +class End50(BaseBS): ... + + +class Fade(BaseBS): ... + + +class Figure(BaseBS): ... + + +class FigureCaption(BaseBS): ... + + +class FigureImg(BaseBS): ... + + +class FixedBottom(BaseBS): ... + + +class FixedTop(BaseBS): ... + + +class FlexColumn(BaseBS): ... + + +class FlexColumnReverse(BaseBS): ... + + +class FlexFill(BaseBS): ... + + +class FlexGrow0(BaseBS): ... + + +class FlexGrow1(BaseBS): ... + + +class FlexLgColumn(BaseBS): ... + + +class FlexLgColumnReverse(BaseBS): ... + + +class FlexLgFill(BaseBS): ... + + +class FlexLgGrow0(BaseBS): ... + + +class FlexLgGrow1(BaseBS): ... + + +class FlexLgNowrap(BaseBS): ... + + +class FlexLgRow(BaseBS): ... + + +class FlexLgRowReverse(BaseBS): ... + + +class FlexLgShrink0(BaseBS): ... + + +class FlexLgShrink1(BaseBS): ... + + +class FlexLgWrap(BaseBS): ... + + +class FlexLgWrapReverse(BaseBS): ... + + +class FlexMdColumn(BaseBS): ... + + +class FlexMdColumnReverse(BaseBS): ... + + +class FlexMdFill(BaseBS): ... + + +class FlexMdGrow0(BaseBS): ... + + +class FlexMdGrow1(BaseBS): ... + + +class FlexMdNowrap(BaseBS): ... + + +class FlexMdRow(BaseBS): ... + + +class FlexMdRowReverse(BaseBS): ... + + +class FlexMdShrink0(BaseBS): ... + + +class FlexMdShrink1(BaseBS): ... + + +class FlexMdWrap(BaseBS): ... + + +class FlexMdWrapReverse(BaseBS): ... + + +class FlexNowrap(BaseBS): ... + + +class FlexRow(BaseBS): ... + + +class FlexRowReverse(BaseBS): ... + + +class FlexShrink0(BaseBS): ... + + +class FlexShrink1(BaseBS): ... + + +class FlexSmColumn(BaseBS): ... + + +class FlexSmColumnReverse(BaseBS): ... + + +class FlexSmFill(BaseBS): ... + + +class FlexSmGrow0(BaseBS): ... + + +class FlexSmGrow1(BaseBS): ... + + +class FlexSmNowrap(BaseBS): ... + + +class FlexSmRow(BaseBS): ... + + +class FlexSmRowReverse(BaseBS): ... + + +class FlexSmShrink0(BaseBS): ... + + +class FlexSmShrink1(BaseBS): ... + + +class FlexSmWrap(BaseBS): ... + + +class FlexSmWrapReverse(BaseBS): ... + + +class FlexWrap(BaseBS): ... + + +class FlexWrapReverse(BaseBS): ... + + +class FlexXlColumn(BaseBS): ... + + +class FlexXlColumnReverse(BaseBS): ... + + +class FlexXlFill(BaseBS): ... + + +class FlexXlGrow0(BaseBS): ... + + +class FlexXlGrow1(BaseBS): ... + + +class FlexXlNowrap(BaseBS): ... + + +class FlexXlRow(BaseBS): ... + + +class FlexXlRowReverse(BaseBS): ... + + +class FlexXlShrink0(BaseBS): ... + + +class FlexXlShrink1(BaseBS): ... + + +class FlexXlWrap(BaseBS): ... + + +class FlexXlWrapReverse(BaseBS): ... + + +class FlexXxlColumn(BaseBS): ... + + +class FlexXxlColumnReverse(BaseBS): ... + + +class FlexXxlFill(BaseBS): ... + + +class FlexXxlGrow0(BaseBS): ... + + +class FlexXxlGrow1(BaseBS): ... + + +class FlexXxlNowrap(BaseBS): ... + + +class FlexXxlRow(BaseBS): ... + + +class FlexXxlRowReverse(BaseBS): ... + + +class FlexXxlShrink0(BaseBS): ... + + +class FlexXxlShrink1(BaseBS): ... + + +class FlexXxlWrap(BaseBS): ... + + +class FlexXxlWrapReverse(BaseBS): ... + + +class FloatEnd(BaseBS): ... + + +class FloatLgEnd(BaseBS): ... + + +class FloatLgNone(BaseBS): ... + + +class FloatLgStart(BaseBS): ... + + +class FloatMdEnd(BaseBS): ... + + +class FloatMdNone(BaseBS): ... + + +class FloatMdStart(BaseBS): ... + + +class FloatNone(BaseBS): ... + + +class FloatSmEnd(BaseBS): ... + + +class FloatSmNone(BaseBS): ... + + +class FloatSmStart(BaseBS): ... + + +class FloatStart(BaseBS): ... + + +class FloatXlEnd(BaseBS): ... + + +class FloatXlNone(BaseBS): ... + + +class FloatXlStart(BaseBS): ... + + +class FloatXxlEnd(BaseBS): ... + + +class FloatXxlNone(BaseBS): ... + + +class FloatXxlStart(BaseBS): ... + + +class FontMonospace(BaseBS): ... + + +class FormCheck(BaseBS): ... + + +class FormCheckInline(BaseBS): ... + + +class FormCheckInput(BaseBS): ... + + +class FormCheckLabel(BaseBS): ... + + +class FormControl(BaseBS): ... + + +class FormControlColor(BaseBS): ... + + +class FormControlLg(BaseBS): ... + + +class FormControlPlaintext(BaseBS): ... + + +class FormControlSm(BaseBS): ... + + +class FormFloating(BaseBS): ... + + +class FormLabel(BaseBS): ... + + +class FormRange(BaseBS): ... + + +class FormSelect(BaseBS): ... + + +class FormSelectLg(BaseBS): ... + + +class FormSelectSm(BaseBS): ... + + +class FormSwitch(BaseBS): ... + + +class FormText(BaseBS): ... + + +class Fs1(BaseBS): ... + + +class Fs2(BaseBS): ... + + +class Fs3(BaseBS): ... + + +class Fs4(BaseBS): ... + + +class Fs5(BaseBS): ... + + +class Fs6(BaseBS): ... + + +class FstItalic(BaseBS): ... + + +class FstNormal(BaseBS): ... + + +class FwBold(BaseBS): ... + + +class FwBolder(BaseBS): ... + + +class FwLight(BaseBS): ... + + +class FwLighter(BaseBS): ... + + +class FwNormal(BaseBS): ... + + +class G0(BaseBS): ... + + +class G1(BaseBS): ... + + +class G2(BaseBS): ... + + +class G3(BaseBS): ... + + +class G4(BaseBS): ... + + +class G5(BaseBS): ... + + +class GLg0(BaseBS): ... + + +class GLg1(BaseBS): ... + + +class GLg2(BaseBS): ... + + +class GLg3(BaseBS): ... + + +class GLg4(BaseBS): ... + + +class GLg5(BaseBS): ... + + +class GMd0(BaseBS): ... + + +class GMd1(BaseBS): ... + + +class GMd2(BaseBS): ... + + +class GMd3(BaseBS): ... + + +class GMd4(BaseBS): ... + + +class GMd5(BaseBS): ... + + +class GSm0(BaseBS): ... + + +class GSm1(BaseBS): ... + + +class GSm2(BaseBS): ... + + +class GSm3(BaseBS): ... + + +class GSm4(BaseBS): ... + + +class GSm5(BaseBS): ... + + +class GXl0(BaseBS): ... + + +class GXl1(BaseBS): ... + + +class GXl2(BaseBS): ... + + +class GXl3(BaseBS): ... + + +class GXl4(BaseBS): ... + + +class GXl5(BaseBS): ... + + +class GXxl0(BaseBS): ... + + +class GXxl1(BaseBS): ... + + +class GXxl2(BaseBS): ... + + +class GXxl3(BaseBS): ... + + +class GXxl4(BaseBS): ... + + +class GXxl5(BaseBS): ... + + +class Gap0(BaseBS): ... + + +class Gap1(BaseBS): ... + + +class Gap2(BaseBS): ... + + +class Gap3(BaseBS): ... + + +class Gap4(BaseBS): ... + + +class Gap5(BaseBS): ... + + +class GapLg0(BaseBS): ... + + +class GapLg1(BaseBS): ... + + +class GapLg2(BaseBS): ... + + +class GapLg3(BaseBS): ... + + +class GapLg4(BaseBS): ... + + +class GapLg5(BaseBS): ... + + +class GapMd0(BaseBS): ... + + +class GapMd1(BaseBS): ... + + +class GapMd2(BaseBS): ... + + +class GapMd3(BaseBS): ... + + +class GapMd4(BaseBS): ... + + +class GapMd5(BaseBS): ... + + +class GapSm0(BaseBS): ... + + +class GapSm1(BaseBS): ... + + +class GapSm2(BaseBS): ... + + +class GapSm3(BaseBS): ... + + +class GapSm4(BaseBS): ... + + +class GapSm5(BaseBS): ... + + +class GapXl0(BaseBS): ... + + +class GapXl1(BaseBS): ... + + +class GapXl2(BaseBS): ... + + +class GapXl3(BaseBS): ... + + +class GapXl4(BaseBS): ... + + +class GapXl5(BaseBS): ... + + +class GapXxl0(BaseBS): ... + + +class GapXxl1(BaseBS): ... + + +class GapXxl2(BaseBS): ... + + +class GapXxl3(BaseBS): ... + + +class GapXxl4(BaseBS): ... + + +class GapXxl5(BaseBS): ... + + +class Gx0(BaseBS): ... + + +class Gx1(BaseBS): ... + + +class Gx2(BaseBS): ... + + +class Gx3(BaseBS): ... + + +class Gx4(BaseBS): ... + + +class Gx5(BaseBS): ... + + +class GxLg0(BaseBS): ... + + +class GxLg1(BaseBS): ... + + +class GxLg2(BaseBS): ... + + +class GxLg3(BaseBS): ... + + +class GxLg4(BaseBS): ... + + +class GxLg5(BaseBS): ... + + +class GxMd0(BaseBS): ... + + +class GxMd1(BaseBS): ... + + +class GxMd2(BaseBS): ... + + +class GxMd3(BaseBS): ... + + +class GxMd4(BaseBS): ... + + +class GxMd5(BaseBS): ... + + +class GxSm0(BaseBS): ... + + +class GxSm1(BaseBS): ... + + +class GxSm2(BaseBS): ... + + +class GxSm3(BaseBS): ... + + +class GxSm4(BaseBS): ... + + +class GxSm5(BaseBS): ... + + +class GxXl0(BaseBS): ... + + +class GxXl1(BaseBS): ... + + +class GxXl2(BaseBS): ... + + +class GxXl3(BaseBS): ... + + +class GxXl4(BaseBS): ... + + +class GxXl5(BaseBS): ... + + +class GxXxl0(BaseBS): ... + + +class GxXxl1(BaseBS): ... + + +class GxXxl2(BaseBS): ... + + +class GxXxl3(BaseBS): ... + + +class GxXxl4(BaseBS): ... + + +class GxXxl5(BaseBS): ... + + +class Gy0(BaseBS): ... + + +class Gy1(BaseBS): ... + + +class Gy2(BaseBS): ... + + +class Gy3(BaseBS): ... + + +class Gy4(BaseBS): ... + + +class Gy5(BaseBS): ... + + +class GyLg0(BaseBS): ... + + +class GyLg1(BaseBS): ... + + +class GyLg2(BaseBS): ... + + +class GyLg3(BaseBS): ... + + +class GyLg4(BaseBS): ... + + +class GyLg5(BaseBS): ... + + +class GyMd0(BaseBS): ... + + +class GyMd1(BaseBS): ... + + +class GyMd2(BaseBS): ... + + +class GyMd3(BaseBS): ... + + +class GyMd4(BaseBS): ... + + +class GyMd5(BaseBS): ... + + +class GySm0(BaseBS): ... + + +class GySm1(BaseBS): ... + + +class GySm2(BaseBS): ... + + +class GySm3(BaseBS): ... + + +class GySm4(BaseBS): ... + + +class GySm5(BaseBS): ... + + +class GyXl0(BaseBS): ... + + +class GyXl1(BaseBS): ... + + +class GyXl2(BaseBS): ... + + +class GyXl3(BaseBS): ... + + +class GyXl4(BaseBS): ... + + +class GyXl5(BaseBS): ... + + +class GyXxl0(BaseBS): ... + + +class GyXxl1(BaseBS): ... + + +class GyXxl2(BaseBS): ... + + +class GyXxl3(BaseBS): ... + + +class GyXxl4(BaseBS): ... + + +class GyXxl5(BaseBS): ... + + +class H100(BaseBS): ... + + +class H25(BaseBS): ... + + +class H50(BaseBS): ... + + +class H75(BaseBS): ... + + +class HAuto(BaseBS): ... + + +class H1(BaseBS): ... + + +class H2(BaseBS): ... + + +class H3(BaseBS): ... + + +class H4(BaseBS): ... + + +class H5(BaseBS): ... + + +class H6(BaseBS): ... + + +class HasValidation(BaseBS): ... + + +class Hstack(BaseBS): ... + + +class ImgFluid(BaseBS): ... + + +class ImgThumbnail(BaseBS): ... + + +class Initialism(BaseBS): ... + + +class InputGroup(BaseBS): ... + + +class InputGroupLg(BaseBS): ... + + +class InputGroupSm(BaseBS): ... + + +class InputGroupText(BaseBS): ... + + +class InvalidFeedback(BaseBS): ... + + +class InvalidTooltip(BaseBS): ... + + +class Invisible(BaseBS): ... + + +class IsInvalid(BaseBS): ... + + +class IsValid(BaseBS): ... + + +class JustifyContentAround(BaseBS): ... + + +class JustifyContentBetween(BaseBS): ... + + +class JustifyContentCenter(BaseBS): ... + + +class JustifyContentEnd(BaseBS): ... + + +class JustifyContentEvenly(BaseBS): ... + + +class JustifyContentLgAround(BaseBS): ... + + +class JustifyContentLgBetween(BaseBS): ... + + +class JustifyContentLgCenter(BaseBS): ... + + +class JustifyContentLgEnd(BaseBS): ... + + +class JustifyContentLgEvenly(BaseBS): ... + + +class JustifyContentLgStart(BaseBS): ... + + +class JustifyContentMdAround(BaseBS): ... + + +class JustifyContentMdBetween(BaseBS): ... + + +class JustifyContentMdCenter(BaseBS): ... + + +class JustifyContentMdEnd(BaseBS): ... + + +class JustifyContentMdEvenly(BaseBS): ... + + +class JustifyContentMdStart(BaseBS): ... + + +class JustifyContentSmAround(BaseBS): ... + + +class JustifyContentSmBetween(BaseBS): ... + + +class JustifyContentSmCenter(BaseBS): ... + + +class JustifyContentSmEnd(BaseBS): ... + + +class JustifyContentSmEvenly(BaseBS): ... + + +class JustifyContentSmStart(BaseBS): ... + + +class JustifyContentStart(BaseBS): ... + + +class JustifyContentXlAround(BaseBS): ... + + +class JustifyContentXlBetween(BaseBS): ... + + +class JustifyContentXlCenter(BaseBS): ... + + +class JustifyContentXlEnd(BaseBS): ... + + +class JustifyContentXlEvenly(BaseBS): ... + + +class JustifyContentXlStart(BaseBS): ... + + +class JustifyContentXxlAround(BaseBS): ... + + +class JustifyContentXxlBetween(BaseBS): ... + + +class JustifyContentXxlCenter(BaseBS): ... + + +class JustifyContentXxlEnd(BaseBS): ... + + +class JustifyContentXxlEvenly(BaseBS): ... + + +class JustifyContentXxlStart(BaseBS): ... + + +class Lead(BaseBS): ... + + +class Lh1(BaseBS): ... + + +class LhBase(BaseBS): ... + + +class LhLg(BaseBS): ... + + +class LhSm(BaseBS): ... + + +class LinkDanger(BaseBS): ... + + +class LinkDark(BaseBS): ... + + +class LinkInfo(BaseBS): ... + + +class LinkLight(BaseBS): ... + + +class LinkPrimary(BaseBS): ... + + +class LinkSecondary(BaseBS): ... + + +class LinkSuccess(BaseBS): ... + + +class LinkWarning(BaseBS): ... + + +class ListGroup(BaseBS): ... + + +class ListGroupFlush(BaseBS): ... + + +class ListGroupHorizontal(BaseBS): ... + + +class ListGroupHorizontalLg(BaseBS): ... + + +class ListGroupHorizontalMd(BaseBS): ... + + +class ListGroupHorizontalSm(BaseBS): ... + + +class ListGroupHorizontalXl(BaseBS): ... + + +class ListGroupHorizontalXxl(BaseBS): ... + + +class ListGroupItem(BaseBS): ... + + +class ListGroupItemAction(BaseBS): ... + + +class ListGroupItemDanger(BaseBS): ... + + +class ListGroupItemDark(BaseBS): ... + + +class ListGroupItemInfo(BaseBS): ... + + +class ListGroupItemLight(BaseBS): ... + + +class ListGroupItemPrimary(BaseBS): ... + + +class ListGroupItemSecondary(BaseBS): ... + + +class ListGroupItemSuccess(BaseBS): ... + + +class ListGroupItemWarning(BaseBS): ... + + +class ListGroupNumbered(BaseBS): ... + + +class ListInline(BaseBS): ... + + +class ListInlineItem(BaseBS): ... + + +class ListUnstyled(BaseBS): ... + + +class M0(BaseBS): ... + + +class M1(BaseBS): ... + + +class M2(BaseBS): ... + + +class M3(BaseBS): ... + + +class M4(BaseBS): ... + + +class M5(BaseBS): ... + + +class MAuto(BaseBS): ... + + +class MLg0(BaseBS): ... + + +class MLg1(BaseBS): ... + + +class MLg2(BaseBS): ... + + +class MLg3(BaseBS): ... + + +class MLg4(BaseBS): ... + + +class MLg5(BaseBS): ... + + +class MLgAuto(BaseBS): ... + + +class MMd0(BaseBS): ... + + +class MMd1(BaseBS): ... + + +class MMd2(BaseBS): ... + + +class MMd3(BaseBS): ... + + +class MMd4(BaseBS): ... + + +class MMd5(BaseBS): ... + + +class MMdAuto(BaseBS): ... + + +class MSm0(BaseBS): ... + + +class MSm1(BaseBS): ... + + +class MSm2(BaseBS): ... + + +class MSm3(BaseBS): ... + + +class MSm4(BaseBS): ... + + +class MSm5(BaseBS): ... + + +class MSmAuto(BaseBS): ... + + +class MXl0(BaseBS): ... + + +class MXl1(BaseBS): ... + + +class MXl2(BaseBS): ... + + +class MXl3(BaseBS): ... + + +class MXl4(BaseBS): ... + + +class MXl5(BaseBS): ... + + +class MXlAuto(BaseBS): ... + + +class MXxl0(BaseBS): ... + + +class MXxl1(BaseBS): ... + + +class MXxl2(BaseBS): ... + + +class MXxl3(BaseBS): ... + + +class MXxl4(BaseBS): ... + + +class MXxl5(BaseBS): ... + + +class MXxlAuto(BaseBS): ... + + +class Mark(BaseBS): ... + + +class Mb0(BaseBS): ... + + +class Mb1(BaseBS): ... + + +class Mb2(BaseBS): ... + + +class Mb3(BaseBS): ... + + +class Mb4(BaseBS): ... + + +class Mb5(BaseBS): ... + + +class MbAuto(BaseBS): ... + + +class MbLg0(BaseBS): ... + + +class MbLg1(BaseBS): ... + + +class MbLg2(BaseBS): ... + + +class MbLg3(BaseBS): ... + + +class MbLg4(BaseBS): ... + + +class MbLg5(BaseBS): ... + + +class MbLgAuto(BaseBS): ... + + +class MbMd0(BaseBS): ... + + +class MbMd1(BaseBS): ... + + +class MbMd2(BaseBS): ... + + +class MbMd3(BaseBS): ... + + +class MbMd4(BaseBS): ... + + +class MbMd5(BaseBS): ... + + +class MbMdAuto(BaseBS): ... + + +class MbSm0(BaseBS): ... + + +class MbSm1(BaseBS): ... + + +class MbSm2(BaseBS): ... + + +class MbSm3(BaseBS): ... + + +class MbSm4(BaseBS): ... + + +class MbSm5(BaseBS): ... + + +class MbSmAuto(BaseBS): ... + + +class MbXl0(BaseBS): ... + + +class MbXl1(BaseBS): ... + + +class MbXl2(BaseBS): ... + + +class MbXl3(BaseBS): ... + + +class MbXl4(BaseBS): ... + + +class MbXl5(BaseBS): ... + + +class MbXlAuto(BaseBS): ... + + +class MbXxl0(BaseBS): ... + + +class MbXxl1(BaseBS): ... + + +class MbXxl2(BaseBS): ... + + +class MbXxl3(BaseBS): ... + + +class MbXxl4(BaseBS): ... + + +class MbXxl5(BaseBS): ... + + +class MbXxlAuto(BaseBS): ... + + +class Me0(BaseBS): ... + + +class Me1(BaseBS): ... + + +class Me2(BaseBS): ... + + +class Me3(BaseBS): ... + + +class Me4(BaseBS): ... + + +class Me5(BaseBS): ... + + +class MeAuto(BaseBS): ... + + +class MeLg0(BaseBS): ... + + +class MeLg1(BaseBS): ... + + +class MeLg2(BaseBS): ... + + +class MeLg3(BaseBS): ... + + +class MeLg4(BaseBS): ... + + +class MeLg5(BaseBS): ... + + +class MeLgAuto(BaseBS): ... + + +class MeMd0(BaseBS): ... + + +class MeMd1(BaseBS): ... + + +class MeMd2(BaseBS): ... + + +class MeMd3(BaseBS): ... + + +class MeMd4(BaseBS): ... + + +class MeMd5(BaseBS): ... + + +class MeMdAuto(BaseBS): ... + + +class MeSm0(BaseBS): ... + + +class MeSm1(BaseBS): ... + + +class MeSm2(BaseBS): ... + + +class MeSm3(BaseBS): ... + + +class MeSm4(BaseBS): ... + + +class MeSm5(BaseBS): ... + + +class MeSmAuto(BaseBS): ... + + +class MeXl0(BaseBS): ... + + +class MeXl1(BaseBS): ... + + +class MeXl2(BaseBS): ... + + +class MeXl3(BaseBS): ... + + +class MeXl4(BaseBS): ... + + +class MeXl5(BaseBS): ... + + +class MeXlAuto(BaseBS): ... + + +class MeXxl0(BaseBS): ... + + +class MeXxl1(BaseBS): ... + + +class MeXxl2(BaseBS): ... + + +class MeXxl3(BaseBS): ... + + +class MeXxl4(BaseBS): ... + + +class MeXxl5(BaseBS): ... + + +class MeXxlAuto(BaseBS): ... + + +class Mh100(BaseBS): ... + + +class MinVh100(BaseBS): ... + + +class MinVw100(BaseBS): ... + + +class Modal(BaseBS): ... + + +class ModalBackdrop(BaseBS): ... + + +class ModalBody(BaseBS): ... + + +class ModalContent(BaseBS): ... + + +class ModalDialog(BaseBS): ... + + +class ModalDialogCentered(BaseBS): ... + + +class ModalDialogScrollable(BaseBS): ... + + +class ModalFooter(BaseBS): ... + + +class ModalFullscreen(BaseBS): ... + + +class ModalFullscreenLgDown(BaseBS): ... + + +class ModalFullscreenMdDown(BaseBS): ... + + +class ModalFullscreenSmDown(BaseBS): ... + + +class ModalFullscreenXlDown(BaseBS): ... + + +class ModalFullscreenXxlDown(BaseBS): ... + + +class ModalHeader(BaseBS): ... + + +class ModalLg(BaseBS): ... + + +class ModalSm(BaseBS): ... + + +class ModalStatic(BaseBS): ... + + +class ModalTitle(BaseBS): ... + + +class ModalXl(BaseBS): ... + + +class Ms0(BaseBS): ... + + +class Ms1(BaseBS): ... + + +class Ms2(BaseBS): ... + + +class Ms3(BaseBS): ... + + +class Ms4(BaseBS): ... + + +class Ms5(BaseBS): ... + + +class MsAuto(BaseBS): ... + + +class MsLg0(BaseBS): ... + + +class MsLg1(BaseBS): ... + + +class MsLg2(BaseBS): ... + + +class MsLg3(BaseBS): ... + + +class MsLg4(BaseBS): ... + + +class MsLg5(BaseBS): ... + + +class MsLgAuto(BaseBS): ... + + +class MsMd0(BaseBS): ... + + +class MsMd1(BaseBS): ... + + +class MsMd2(BaseBS): ... + + +class MsMd3(BaseBS): ... + + +class MsMd4(BaseBS): ... + + +class MsMd5(BaseBS): ... + + +class MsMdAuto(BaseBS): ... + + +class MsSm0(BaseBS): ... + + +class MsSm1(BaseBS): ... + + +class MsSm2(BaseBS): ... + + +class MsSm3(BaseBS): ... + + +class MsSm4(BaseBS): ... + + +class MsSm5(BaseBS): ... + + +class MsSmAuto(BaseBS): ... + + +class MsXl0(BaseBS): ... + + +class MsXl1(BaseBS): ... + + +class MsXl2(BaseBS): ... + + +class MsXl3(BaseBS): ... + + +class MsXl4(BaseBS): ... + + +class MsXl5(BaseBS): ... + + +class MsXlAuto(BaseBS): ... + + +class MsXxl0(BaseBS): ... + + +class MsXxl1(BaseBS): ... + + +class MsXxl2(BaseBS): ... + + +class MsXxl3(BaseBS): ... + + +class MsXxl4(BaseBS): ... + + +class MsXxl5(BaseBS): ... + + +class MsXxlAuto(BaseBS): ... + + +class Mt0(BaseBS): ... + + +class Mt1(BaseBS): ... + + +class Mt2(BaseBS): ... + + +class Mt3(BaseBS): ... + + +class Mt4(BaseBS): ... + + +class Mt5(BaseBS): ... + + +class MtAuto(BaseBS): ... + + +class MtLg0(BaseBS): ... + + +class MtLg1(BaseBS): ... + + +class MtLg2(BaseBS): ... + + +class MtLg3(BaseBS): ... + + +class MtLg4(BaseBS): ... + + +class MtLg5(BaseBS): ... + + +class MtLgAuto(BaseBS): ... + + +class MtMd0(BaseBS): ... + + +class MtMd1(BaseBS): ... + + +class MtMd2(BaseBS): ... + + +class MtMd3(BaseBS): ... + + +class MtMd4(BaseBS): ... + + +class MtMd5(BaseBS): ... + + +class MtMdAuto(BaseBS): ... + + +class MtSm0(BaseBS): ... + + +class MtSm1(BaseBS): ... + + +class MtSm2(BaseBS): ... + + +class MtSm3(BaseBS): ... + + +class MtSm4(BaseBS): ... + + +class MtSm5(BaseBS): ... + + +class MtSmAuto(BaseBS): ... + + +class MtXl0(BaseBS): ... + + +class MtXl1(BaseBS): ... + + +class MtXl2(BaseBS): ... + + +class MtXl3(BaseBS): ... + + +class MtXl4(BaseBS): ... + + +class MtXl5(BaseBS): ... + + +class MtXlAuto(BaseBS): ... + + +class MtXxl0(BaseBS): ... + + +class MtXxl1(BaseBS): ... + + +class MtXxl2(BaseBS): ... + + +class MtXxl3(BaseBS): ... + + +class MtXxl4(BaseBS): ... + + +class MtXxl5(BaseBS): ... + + +class MtXxlAuto(BaseBS): ... + + +class Mw100(BaseBS): ... + + +class Mx0(BaseBS): ... + + +class Mx1(BaseBS): ... + + +class Mx2(BaseBS): ... + + +class Mx3(BaseBS): ... + + +class Mx4(BaseBS): ... + + +class Mx5(BaseBS): ... + + +class MxAuto(BaseBS): ... + + +class MxLg0(BaseBS): ... + + +class MxLg1(BaseBS): ... + + +class MxLg2(BaseBS): ... + + +class MxLg3(BaseBS): ... + + +class MxLg4(BaseBS): ... + + +class MxLg5(BaseBS): ... + + +class MxLgAuto(BaseBS): ... + + +class MxMd0(BaseBS): ... + + +class MxMd1(BaseBS): ... + + +class MxMd2(BaseBS): ... + + +class MxMd3(BaseBS): ... + + +class MxMd4(BaseBS): ... + + +class MxMd5(BaseBS): ... + + +class MxMdAuto(BaseBS): ... + + +class MxSm0(BaseBS): ... + + +class MxSm1(BaseBS): ... + + +class MxSm2(BaseBS): ... + + +class MxSm3(BaseBS): ... + + +class MxSm4(BaseBS): ... + + +class MxSm5(BaseBS): ... + + +class MxSmAuto(BaseBS): ... + + +class MxXl0(BaseBS): ... + + +class MxXl1(BaseBS): ... + + +class MxXl2(BaseBS): ... + + +class MxXl3(BaseBS): ... + + +class MxXl4(BaseBS): ... + + +class MxXl5(BaseBS): ... + + +class MxXlAuto(BaseBS): ... + + +class MxXxl0(BaseBS): ... + + +class MxXxl1(BaseBS): ... + + +class MxXxl2(BaseBS): ... + + +class MxXxl3(BaseBS): ... + + +class MxXxl4(BaseBS): ... + + +class MxXxl5(BaseBS): ... + + +class MxXxlAuto(BaseBS): ... + + +class My0(BaseBS): ... + + +class My1(BaseBS): ... + + +class My2(BaseBS): ... + + +class My3(BaseBS): ... + + +class My4(BaseBS): ... + + +class My5(BaseBS): ... + + +class MyAuto(BaseBS): ... + + +class MyLg0(BaseBS): ... + + +class MyLg1(BaseBS): ... + + +class MyLg2(BaseBS): ... + + +class MyLg3(BaseBS): ... + + +class MyLg4(BaseBS): ... + + +class MyLg5(BaseBS): ... + + +class MyLgAuto(BaseBS): ... + + +class MyMd0(BaseBS): ... + + +class MyMd1(BaseBS): ... + + +class MyMd2(BaseBS): ... + + +class MyMd3(BaseBS): ... + + +class MyMd4(BaseBS): ... + + +class MyMd5(BaseBS): ... + + +class MyMdAuto(BaseBS): ... + + +class MySm0(BaseBS): ... + + +class MySm1(BaseBS): ... + + +class MySm2(BaseBS): ... + + +class MySm3(BaseBS): ... + + +class MySm4(BaseBS): ... + + +class MySm5(BaseBS): ... + + +class MySmAuto(BaseBS): ... + + +class MyXl0(BaseBS): ... + + +class MyXl1(BaseBS): ... + + +class MyXl2(BaseBS): ... + + +class MyXl3(BaseBS): ... + + +class MyXl4(BaseBS): ... + + +class MyXl5(BaseBS): ... + + +class MyXlAuto(BaseBS): ... + + +class MyXxl0(BaseBS): ... + + +class MyXxl1(BaseBS): ... + + +class MyXxl2(BaseBS): ... + + +class MyXxl3(BaseBS): ... + + +class MyXxl4(BaseBS): ... + + +class MyXxl5(BaseBS): ... + + +class MyXxlAuto(BaseBS): ... + + +class Nav(BaseBS): ... + + +class NavFill(BaseBS): ... + + +class NavItem(BaseBS): ... + + +class NavJustified(BaseBS): ... + + +class NavLink(BaseBS): ... + + +class NavPills(BaseBS): ... + + +class NavTabs(BaseBS): ... + + +class Navbar(BaseBS): ... + + +class NavbarBrand(BaseBS): ... + + +class NavbarCollapse(BaseBS): ... + + +class NavbarDark(BaseBS): ... + + +class NavbarExpand(BaseBS): ... + + +class NavbarExpandLg(BaseBS): ... + + +class NavbarExpandMd(BaseBS): ... + + +class NavbarExpandSm(BaseBS): ... + + +class NavbarExpandXl(BaseBS): ... + + +class NavbarExpandXxl(BaseBS): ... + + +class NavbarLight(BaseBS): ... + + +class NavbarNav(BaseBS): ... + + +class NavbarNavScroll(BaseBS): ... + + +class NavbarText(BaseBS): ... + + +class NavbarToggler(BaseBS): ... + + +class NavbarTogglerIcon(BaseBS): ... + + +class Offcanvas(BaseBS): ... + + +class OffcanvasBackdrop(BaseBS): ... + + +class OffcanvasBody(BaseBS): ... + + +class OffcanvasBottom(BaseBS): ... + + +class OffcanvasEnd(BaseBS): ... + + +class OffcanvasHeader(BaseBS): ... + + +class OffcanvasStart(BaseBS): ... + + +class OffcanvasTitle(BaseBS): ... + + +class OffcanvasTop(BaseBS): ... + + +class Offset1(BaseBS): ... + + +class Offset10(BaseBS): ... + + +class Offset11(BaseBS): ... + + +class Offset2(BaseBS): ... + + +class Offset3(BaseBS): ... + + +class Offset4(BaseBS): ... + + +class Offset5(BaseBS): ... + + +class Offset6(BaseBS): ... + + +class Offset7(BaseBS): ... + + +class Offset8(BaseBS): ... + + +class Offset9(BaseBS): ... + + +class OffsetLg0(BaseBS): ... + + +class OffsetLg1(BaseBS): ... + + +class OffsetLg10(BaseBS): ... + + +class OffsetLg11(BaseBS): ... + + +class OffsetLg2(BaseBS): ... + + +class OffsetLg3(BaseBS): ... + + +class OffsetLg4(BaseBS): ... + + +class OffsetLg5(BaseBS): ... + + +class OffsetLg6(BaseBS): ... + + +class OffsetLg7(BaseBS): ... + + +class OffsetLg8(BaseBS): ... + + +class OffsetLg9(BaseBS): ... + + +class OffsetMd0(BaseBS): ... + + +class OffsetMd1(BaseBS): ... + + +class OffsetMd10(BaseBS): ... + + +class OffsetMd11(BaseBS): ... + + +class OffsetMd2(BaseBS): ... + + +class OffsetMd3(BaseBS): ... + + +class OffsetMd4(BaseBS): ... + + +class OffsetMd5(BaseBS): ... + + +class OffsetMd6(BaseBS): ... + + +class OffsetMd7(BaseBS): ... + + +class OffsetMd8(BaseBS): ... + + +class OffsetMd9(BaseBS): ... + + +class OffsetSm0(BaseBS): ... + + +class OffsetSm1(BaseBS): ... + + +class OffsetSm10(BaseBS): ... + + +class OffsetSm11(BaseBS): ... + + +class OffsetSm2(BaseBS): ... + + +class OffsetSm3(BaseBS): ... + + +class OffsetSm4(BaseBS): ... + + +class OffsetSm5(BaseBS): ... + + +class OffsetSm6(BaseBS): ... + + +class OffsetSm7(BaseBS): ... + + +class OffsetSm8(BaseBS): ... + + +class OffsetSm9(BaseBS): ... + + +class OffsetXl0(BaseBS): ... + + +class OffsetXl1(BaseBS): ... + + +class OffsetXl10(BaseBS): ... + + +class OffsetXl11(BaseBS): ... + + +class OffsetXl2(BaseBS): ... + + +class OffsetXl3(BaseBS): ... + + +class OffsetXl4(BaseBS): ... + + +class OffsetXl5(BaseBS): ... + + +class OffsetXl6(BaseBS): ... + + +class OffsetXl7(BaseBS): ... + + +class OffsetXl8(BaseBS): ... + + +class OffsetXl9(BaseBS): ... + + +class OffsetXxl0(BaseBS): ... + + +class OffsetXxl1(BaseBS): ... + + +class OffsetXxl10(BaseBS): ... + + +class OffsetXxl11(BaseBS): ... + + +class OffsetXxl2(BaseBS): ... + + +class OffsetXxl3(BaseBS): ... + + +class OffsetXxl4(BaseBS): ... + + +class OffsetXxl5(BaseBS): ... + + +class OffsetXxl6(BaseBS): ... + + +class OffsetXxl7(BaseBS): ... + + +class OffsetXxl8(BaseBS): ... + + +class OffsetXxl9(BaseBS): ... + + +class Opacity0(BaseBS): ... + + +class Opacity100(BaseBS): ... + + +class Opacity25(BaseBS): ... + + +class Opacity50(BaseBS): ... + + +class Opacity75(BaseBS): ... + + +class Order0(BaseBS): ... + + +class Order1(BaseBS): ... + + +class Order2(BaseBS): ... + + +class Order3(BaseBS): ... + + +class Order4(BaseBS): ... + + +class Order5(BaseBS): ... + + +class OrderFirst(BaseBS): ... + + +class OrderLast(BaseBS): ... + + +class OrderLg0(BaseBS): ... + + +class OrderLg1(BaseBS): ... + + +class OrderLg2(BaseBS): ... + + +class OrderLg3(BaseBS): ... + + +class OrderLg4(BaseBS): ... + + +class OrderLg5(BaseBS): ... + + +class OrderLgFirst(BaseBS): ... + + +class OrderLgLast(BaseBS): ... + + +class OrderMd0(BaseBS): ... + + +class OrderMd1(BaseBS): ... + + +class OrderMd2(BaseBS): ... + + +class OrderMd3(BaseBS): ... + + +class OrderMd4(BaseBS): ... + + +class OrderMd5(BaseBS): ... + + +class OrderMdFirst(BaseBS): ... + + +class OrderMdLast(BaseBS): ... + + +class OrderSm0(BaseBS): ... + + +class OrderSm1(BaseBS): ... + + +class OrderSm2(BaseBS): ... + + +class OrderSm3(BaseBS): ... + + +class OrderSm4(BaseBS): ... + + +class OrderSm5(BaseBS): ... + + +class OrderSmFirst(BaseBS): ... + + +class OrderSmLast(BaseBS): ... + + +class OrderXl0(BaseBS): ... + + +class OrderXl1(BaseBS): ... + + +class OrderXl2(BaseBS): ... + + +class OrderXl3(BaseBS): ... + + +class OrderXl4(BaseBS): ... + + +class OrderXl5(BaseBS): ... + + +class OrderXlFirst(BaseBS): ... + + +class OrderXlLast(BaseBS): ... + + +class OrderXxl0(BaseBS): ... + + +class OrderXxl1(BaseBS): ... + + +class OrderXxl2(BaseBS): ... + + +class OrderXxl3(BaseBS): ... + + +class OrderXxl4(BaseBS): ... + + +class OrderXxl5(BaseBS): ... + + +class OrderXxlFirst(BaseBS): ... + + +class OrderXxlLast(BaseBS): ... + + +class OverflowAuto(BaseBS): ... + + +class OverflowHidden(BaseBS): ... + + +class OverflowScroll(BaseBS): ... + + +class OverflowVisible(BaseBS): ... + + +class P0(BaseBS): ... + + +class P1(BaseBS): ... + + +class P2(BaseBS): ... + + +class P3(BaseBS): ... + + +class P4(BaseBS): ... + + +class P5(BaseBS): ... + + +class PLg0(BaseBS): ... + + +class PLg1(BaseBS): ... + + +class PLg2(BaseBS): ... + + +class PLg3(BaseBS): ... + + +class PLg4(BaseBS): ... + + +class PLg5(BaseBS): ... + + +class PMd0(BaseBS): ... + + +class PMd1(BaseBS): ... + + +class PMd2(BaseBS): ... + + +class PMd3(BaseBS): ... + + +class PMd4(BaseBS): ... + + +class PMd5(BaseBS): ... + + +class PSm0(BaseBS): ... + + +class PSm1(BaseBS): ... + + +class PSm2(BaseBS): ... + + +class PSm3(BaseBS): ... + + +class PSm4(BaseBS): ... + + +class PSm5(BaseBS): ... + + +class PXl0(BaseBS): ... + + +class PXl1(BaseBS): ... + + +class PXl2(BaseBS): ... + + +class PXl3(BaseBS): ... + + +class PXl4(BaseBS): ... + + +class PXl5(BaseBS): ... + + +class PXxl0(BaseBS): ... + + +class PXxl1(BaseBS): ... + + +class PXxl2(BaseBS): ... + + +class PXxl3(BaseBS): ... + + +class PXxl4(BaseBS): ... + + +class PXxl5(BaseBS): ... + + +class PageItem(BaseBS): ... + + +class PageLink(BaseBS): ... + + +class Pagination(BaseBS): ... + + +class PaginationLg(BaseBS): ... + + +class PaginationSm(BaseBS): ... + + +class Pb0(BaseBS): ... + + +class Pb1(BaseBS): ... + + +class Pb2(BaseBS): ... + + +class Pb3(BaseBS): ... + + +class Pb4(BaseBS): ... + + +class Pb5(BaseBS): ... + + +class PbLg0(BaseBS): ... + + +class PbLg1(BaseBS): ... + + +class PbLg2(BaseBS): ... + + +class PbLg3(BaseBS): ... + + +class PbLg4(BaseBS): ... + + +class PbLg5(BaseBS): ... + + +class PbMd0(BaseBS): ... + + +class PbMd1(BaseBS): ... + + +class PbMd2(BaseBS): ... + + +class PbMd3(BaseBS): ... + + +class PbMd4(BaseBS): ... + + +class PbMd5(BaseBS): ... + + +class PbSm0(BaseBS): ... + + +class PbSm1(BaseBS): ... + + +class PbSm2(BaseBS): ... + + +class PbSm3(BaseBS): ... + + +class PbSm4(BaseBS): ... + + +class PbSm5(BaseBS): ... + + +class PbXl0(BaseBS): ... + + +class PbXl1(BaseBS): ... + + +class PbXl2(BaseBS): ... + + +class PbXl3(BaseBS): ... + + +class PbXl4(BaseBS): ... + + +class PbXl5(BaseBS): ... + + +class PbXxl0(BaseBS): ... + + +class PbXxl1(BaseBS): ... + + +class PbXxl2(BaseBS): ... + + +class PbXxl3(BaseBS): ... + + +class PbXxl4(BaseBS): ... + + +class PbXxl5(BaseBS): ... + + +class Pe0(BaseBS): ... + + +class Pe1(BaseBS): ... + + +class Pe2(BaseBS): ... + + +class Pe3(BaseBS): ... + + +class Pe4(BaseBS): ... + + +class Pe5(BaseBS): ... + + +class PeAuto(BaseBS): ... + + +class PeLg0(BaseBS): ... + + +class PeLg1(BaseBS): ... + + +class PeLg2(BaseBS): ... + + +class PeLg3(BaseBS): ... + + +class PeLg4(BaseBS): ... + + +class PeLg5(BaseBS): ... + + +class PeMd0(BaseBS): ... + + +class PeMd1(BaseBS): ... + + +class PeMd2(BaseBS): ... + + +class PeMd3(BaseBS): ... + + +class PeMd4(BaseBS): ... + + +class PeMd5(BaseBS): ... + + +class PeNone(BaseBS): ... + + +class PeSm0(BaseBS): ... + + +class PeSm1(BaseBS): ... + + +class PeSm2(BaseBS): ... + + +class PeSm3(BaseBS): ... + + +class PeSm4(BaseBS): ... + + +class PeSm5(BaseBS): ... + + +class PeXl0(BaseBS): ... + + +class PeXl1(BaseBS): ... + + +class PeXl2(BaseBS): ... + + +class PeXl3(BaseBS): ... + + +class PeXl4(BaseBS): ... + + +class PeXl5(BaseBS): ... + + +class PeXxl0(BaseBS): ... + + +class PeXxl1(BaseBS): ... + + +class PeXxl2(BaseBS): ... + + +class PeXxl3(BaseBS): ... + + +class PeXxl4(BaseBS): ... + + +class PeXxl5(BaseBS): ... + + +class Placeholder(BaseBS): ... + + +class PlaceholderGlow(BaseBS): ... + + +class PlaceholderLg(BaseBS): ... + + +class PlaceholderSm(BaseBS): ... + + +class PlaceholderWave(BaseBS): ... + + +class PlaceholderXs(BaseBS): ... + + +class PointerEvent(BaseBS): ... + + +class Popover(BaseBS): ... + + +class PopoverArrow(BaseBS): ... + + +class PopoverBody(BaseBS): ... + + +class PopoverHeader(BaseBS): ... + + +class PositionAbsolute(BaseBS): ... + + +class PositionFixed(BaseBS): ... + + +class PositionRelative(BaseBS): ... + + +class PositionStatic(BaseBS): ... + + +class PositionSticky(BaseBS): ... + + +class Progress(BaseBS): ... + + +class ProgressBar(BaseBS): ... + + +class ProgressBarAnimated(BaseBS): ... + + +class ProgressBarStriped(BaseBS): ... + + +class Ps0(BaseBS): ... + + +class Ps1(BaseBS): ... + + +class Ps2(BaseBS): ... + + +class Ps3(BaseBS): ... + + +class Ps4(BaseBS): ... + + +class Ps5(BaseBS): ... + + +class PsLg0(BaseBS): ... + + +class PsLg1(BaseBS): ... + + +class PsLg2(BaseBS): ... + + +class PsLg3(BaseBS): ... + + +class PsLg4(BaseBS): ... + + +class PsLg5(BaseBS): ... + + +class PsMd0(BaseBS): ... + + +class PsMd1(BaseBS): ... + + +class PsMd2(BaseBS): ... + + +class PsMd3(BaseBS): ... + + +class PsMd4(BaseBS): ... + + +class PsMd5(BaseBS): ... + + +class PsSm0(BaseBS): ... + + +class PsSm1(BaseBS): ... + + +class PsSm2(BaseBS): ... + + +class PsSm3(BaseBS): ... + + +class PsSm4(BaseBS): ... + + +class PsSm5(BaseBS): ... + + +class PsXl0(BaseBS): ... + + +class PsXl1(BaseBS): ... + + +class PsXl2(BaseBS): ... + + +class PsXl3(BaseBS): ... + + +class PsXl4(BaseBS): ... + + +class PsXl5(BaseBS): ... + + +class PsXxl0(BaseBS): ... + + +class PsXxl1(BaseBS): ... + + +class PsXxl2(BaseBS): ... + + +class PsXxl3(BaseBS): ... + + +class PsXxl4(BaseBS): ... + + +class PsXxl5(BaseBS): ... + + +class Pt0(BaseBS): ... + + +class Pt1(BaseBS): ... + + +class Pt2(BaseBS): ... + + +class Pt3(BaseBS): ... + + +class Pt4(BaseBS): ... + + +class Pt5(BaseBS): ... + + +class PtLg0(BaseBS): ... + + +class PtLg1(BaseBS): ... + + +class PtLg2(BaseBS): ... + + +class PtLg3(BaseBS): ... + + +class PtLg4(BaseBS): ... + + +class PtLg5(BaseBS): ... + + +class PtMd0(BaseBS): ... + + +class PtMd1(BaseBS): ... + + +class PtMd2(BaseBS): ... + + +class PtMd3(BaseBS): ... + + +class PtMd4(BaseBS): ... + + +class PtMd5(BaseBS): ... + + +class PtSm0(BaseBS): ... + + +class PtSm1(BaseBS): ... + + +class PtSm2(BaseBS): ... + + +class PtSm3(BaseBS): ... + + +class PtSm4(BaseBS): ... + + +class PtSm5(BaseBS): ... + + +class PtXl0(BaseBS): ... + + +class PtXl1(BaseBS): ... + + +class PtXl2(BaseBS): ... + + +class PtXl3(BaseBS): ... + + +class PtXl4(BaseBS): ... + + +class PtXl5(BaseBS): ... + + +class PtXxl0(BaseBS): ... + + +class PtXxl1(BaseBS): ... + + +class PtXxl2(BaseBS): ... + + +class PtXxl3(BaseBS): ... + + +class PtXxl4(BaseBS): ... + + +class PtXxl5(BaseBS): ... + + +class Px0(BaseBS): ... + + +class Px1(BaseBS): ... + + +class Px2(BaseBS): ... + + +class Px3(BaseBS): ... + + +class Px4(BaseBS): ... + + +class Px5(BaseBS): ... + + +class PxLg0(BaseBS): ... + + +class PxLg1(BaseBS): ... + + +class PxLg2(BaseBS): ... + + +class PxLg3(BaseBS): ... + + +class PxLg4(BaseBS): ... + + +class PxLg5(BaseBS): ... + + +class PxMd0(BaseBS): ... + + +class PxMd1(BaseBS): ... + + +class PxMd2(BaseBS): ... + + +class PxMd3(BaseBS): ... + + +class PxMd4(BaseBS): ... + + +class PxMd5(BaseBS): ... + + +class PxSm0(BaseBS): ... + + +class PxSm1(BaseBS): ... + + +class PxSm2(BaseBS): ... + + +class PxSm3(BaseBS): ... + + +class PxSm4(BaseBS): ... + + +class PxSm5(BaseBS): ... + + +class PxXl0(BaseBS): ... + + +class PxXl1(BaseBS): ... + + +class PxXl2(BaseBS): ... + + +class PxXl3(BaseBS): ... + + +class PxXl4(BaseBS): ... + + +class PxXl5(BaseBS): ... + + +class PxXxl0(BaseBS): ... + + +class PxXxl1(BaseBS): ... + + +class PxXxl2(BaseBS): ... + + +class PxXxl3(BaseBS): ... + + +class PxXxl4(BaseBS): ... + + +class PxXxl5(BaseBS): ... + + +class Py0(BaseBS): ... + + +class Py1(BaseBS): ... + + +class Py2(BaseBS): ... + + +class Py3(BaseBS): ... + + +class Py4(BaseBS): ... + + +class Py5(BaseBS): ... + + +class PyLg0(BaseBS): ... + + +class PyLg1(BaseBS): ... + + +class PyLg2(BaseBS): ... + + +class PyLg3(BaseBS): ... + + +class PyLg4(BaseBS): ... + + +class PyLg5(BaseBS): ... + + +class PyMd0(BaseBS): ... + + +class PyMd1(BaseBS): ... + + +class PyMd2(BaseBS): ... + + +class PyMd3(BaseBS): ... + + +class PyMd4(BaseBS): ... + + +class PyMd5(BaseBS): ... + + +class PySm0(BaseBS): ... + + +class PySm1(BaseBS): ... + + +class PySm2(BaseBS): ... + + +class PySm3(BaseBS): ... + + +class PySm4(BaseBS): ... + + +class PySm5(BaseBS): ... + + +class PyXl0(BaseBS): ... + + +class PyXl1(BaseBS): ... + + +class PyXl2(BaseBS): ... + + +class PyXl3(BaseBS): ... + + +class PyXl4(BaseBS): ... + + +class PyXl5(BaseBS): ... + + +class PyXxl0(BaseBS): ... + + +class PyXxl1(BaseBS): ... + + +class PyXxl2(BaseBS): ... + + +class PyXxl3(BaseBS): ... + + +class PyXxl4(BaseBS): ... + + +class PyXxl5(BaseBS): ... + + +class Ratio(BaseBS): ... + + +class Ratio16X9(BaseBS): ... + + +class Ratio1X1(BaseBS): ... + + +class Ratio21X9(BaseBS): ... + + +class Ratio4X3(BaseBS): ... + + +class Rounded(BaseBS): ... + + +class Rounded0(BaseBS): ... + + +class Rounded1(BaseBS): ... + + +class Rounded2(BaseBS): ... + + +class Rounded3(BaseBS): ... + + +class RoundedBottom(BaseBS): ... + + +class RoundedCircle(BaseBS): ... + + +class RoundedEnd(BaseBS): ... + + +class RoundedPill(BaseBS): ... + + +class RoundedStart(BaseBS): ... + + +class RoundedTop(BaseBS): ... + + +class Row(BaseBS): ... + + +class RowCols1(BaseBS): ... + + +class RowCols2(BaseBS): ... + + +class RowCols3(BaseBS): ... + + +class RowCols4(BaseBS): ... + + +class RowCols5(BaseBS): ... + + +class RowCols6(BaseBS): ... + + +class RowColsAuto(BaseBS): ... + + +class RowColsLg1(BaseBS): ... + + +class RowColsLg2(BaseBS): ... + + +class RowColsLg3(BaseBS): ... + + +class RowColsLg4(BaseBS): ... + + +class RowColsLg5(BaseBS): ... + + +class RowColsLg6(BaseBS): ... + + +class RowColsLgAuto(BaseBS): ... + + +class RowColsMd1(BaseBS): ... + + +class RowColsMd2(BaseBS): ... + + +class RowColsMd3(BaseBS): ... + + +class RowColsMd4(BaseBS): ... + + +class RowColsMd5(BaseBS): ... + + +class RowColsMd6(BaseBS): ... + + +class RowColsMdAuto(BaseBS): ... + + +class RowColsSm1(BaseBS): ... + + +class RowColsSm2(BaseBS): ... + + +class RowColsSm3(BaseBS): ... + + +class RowColsSm4(BaseBS): ... + + +class RowColsSm5(BaseBS): ... + + +class RowColsSm6(BaseBS): ... + + +class RowColsSmAuto(BaseBS): ... + + +class RowColsXl1(BaseBS): ... + + +class RowColsXl2(BaseBS): ... + + +class RowColsXl3(BaseBS): ... + + +class RowColsXl4(BaseBS): ... + + +class RowColsXl5(BaseBS): ... + + +class RowColsXl6(BaseBS): ... + + +class RowColsXlAuto(BaseBS): ... + + +class RowColsXxl1(BaseBS): ... + + +class RowColsXxl2(BaseBS): ... + + +class RowColsXxl3(BaseBS): ... + + +class RowColsXxl4(BaseBS): ... + + +class RowColsXxl5(BaseBS): ... + + +class RowColsXxl6(BaseBS): ... + + +class RowColsXxlAuto(BaseBS): ... + + +class Shadow(BaseBS): ... + + +class ShadowLg(BaseBS): ... + + +class ShadowNone(BaseBS): ... + + +class ShadowSm(BaseBS): ... + + +class Show(BaseBS): ... + + +class Showing(BaseBS): ... + + +class Small(BaseBS): ... + + +class SpinnerBorder(BaseBS): ... + + +class SpinnerBorderSm(BaseBS): ... + + +class SpinnerGrow(BaseBS): ... + + +class SpinnerGrowSm(BaseBS): ... + + +class Start0(BaseBS): ... + + +class Start100(BaseBS): ... + + +class Start50(BaseBS): ... + + +class StickyLgTop(BaseBS): ... + + +class StickyMdTop(BaseBS): ... + + +class StickySmTop(BaseBS): ... + + +class StickyTop(BaseBS): ... + + +class StickyXlTop(BaseBS): ... + + +class StickyXxlTop(BaseBS): ... + + +class StretchedLink(BaseBS): ... + + +class TabContent(BaseBS): ... + + +class TabPane(BaseBS): ... + + +class Table(BaseBS): ... + + +class TableActive(BaseBS): ... + + +class TableBordered(BaseBS): ... + + +class TableBorderless(BaseBS): ... + + +class TableDanger(BaseBS): ... + + +class TableDark(BaseBS): ... + + +class TableHover(BaseBS): ... + + +class TableInfo(BaseBS): ... + + +class TableLight(BaseBS): ... + + +class TablePrimary(BaseBS): ... + + +class TableResponsive(BaseBS): ... + + +class TableResponsiveLg(BaseBS): ... + + +class TableResponsiveMd(BaseBS): ... + + +class TableResponsiveSm(BaseBS): ... + + +class TableResponsiveXl(BaseBS): ... + + +class TableResponsiveXxl(BaseBS): ... + + +class TableSecondary(BaseBS): ... + + +class TableSm(BaseBS): ... + + +class TableStriped(BaseBS): ... + + +class TableSuccess(BaseBS): ... + + +class TableWarning(BaseBS): ... + + +class TextBlack(BaseBS): ... + + +class TextBlack50(BaseBS): ... + + +class TextBody(BaseBS): ... + + +class TextBreak(BaseBS): ... + + +class TextCapitalize(BaseBS): ... + + +class TextCenter(BaseBS): ... + + +class TextDanger(BaseBS): ... + + +class TextDark(BaseBS): ... + + +class TextDecorationLineThrough(BaseBS): ... + + +class TextDecorationNone(BaseBS): ... + + +class TextDecorationUnderline(BaseBS): ... + + +class TextEnd(BaseBS): ... + + +class TextInfo(BaseBS): ... + + +class TextLgCenter(BaseBS): ... + + +class TextLgEnd(BaseBS): ... + + +class TextLgStart(BaseBS): ... + + +class TextLight(BaseBS): ... + + +class TextLowercase(BaseBS): ... + + +class TextMdCenter(BaseBS): ... + + +class TextMdEnd(BaseBS): ... + + +class TextMdStart(BaseBS): ... + + +class TextMuted(BaseBS): ... + + +class TextNowrap(BaseBS): ... + + +class TextOpacity100(BaseBS): ... + + +class TextOpacity25(BaseBS): ... + + +class TextOpacity50(BaseBS): ... + + +class TextOpacity75(BaseBS): ... + + +class TextPrimary(BaseBS): ... + + +class TextReset(BaseBS): ... + + +class TextSecondary(BaseBS): ... + + +class TextSmCenter(BaseBS): ... + + +class TextSmEnd(BaseBS): ... + + +class TextSmStart(BaseBS): ... + + +class TextStart(BaseBS): ... + + +class TextSuccess(BaseBS): ... + + +class TextTruncate(BaseBS): ... + + +class TextUppercase(BaseBS): ... + + +class TextWarning(BaseBS): ... + + +class TextWhite(BaseBS): ... + + +class TextWhite50(BaseBS): ... + + +class TextWrap(BaseBS): ... + + +class TextXlCenter(BaseBS): ... + + +class TextXlEnd(BaseBS): ... + + +class TextXlStart(BaseBS): ... + + +class TextXxlCenter(BaseBS): ... + + +class TextXxlEnd(BaseBS): ... + + +class TextXxlStart(BaseBS): ... + + +class Toast(BaseBS): ... + + +class ToastBody(BaseBS): ... + + +class ToastContainer(BaseBS): ... + + +class ToastHeader(BaseBS): ... + + +class Tooltip(BaseBS): ... + + +class TooltipArrow(BaseBS): ... + + +class TooltipInner(BaseBS): ... + + +class Top0(BaseBS): ... + + +class Top100(BaseBS): ... + + +class Top50(BaseBS): ... + + +class TranslateMiddle(BaseBS): ... + + +class TranslateMiddleX(BaseBS): ... + + +class TranslateMiddleY(BaseBS): ... + + +class UserSelectAll(BaseBS): ... + + +class UserSelectAuto(BaseBS): ... + + +class UserSelectNone(BaseBS): ... + + +class ValidFeedback(BaseBS): ... + + +class ValidTooltip(BaseBS): ... + + +class Vh100(BaseBS): ... + + +class Visible(BaseBS): ... + + +class VisuallyHidden(BaseBS): ... + + +class VisuallyHiddenFocusable(BaseBS): ... + + +class Vr(BaseBS): ... + + +class Vstack(BaseBS): ... + + +class Vw100(BaseBS): ... + + +class W100(BaseBS): ... + + +class W25(BaseBS): ... + + +class W50(BaseBS): ... + + +class W75(BaseBS): ... + + +class WAuto(BaseBS): ... + + +class WasValidated(BaseBS): ... diff --git a/inui/bootstrap/utils.py b/inui/bootstrap/utils.py new file mode 100644 index 0000000..8df294a --- /dev/null +++ b/inui/bootstrap/utils.py @@ -0,0 +1,20 @@ +def class_to_lower(name: str): + if len(name) < 2: + return name.lower() + + result = name[0].lower() + for i in name[1:]: + if i.isupper(): + result += "-" + i.lower() + else: + result += i + + return result + + +def lower_to_class(name: str): + name = name.replace(".", "") + name = name.replace("-", " ") + name = name.title() + name = name.replace(" ", "") + return name diff --git a/inui/conf.py b/inui/conf.py new file mode 100644 index 0000000..6d9f7ad --- /dev/null +++ b/inui/conf.py @@ -0,0 +1,10 @@ +BOOTSTRAP_VERSION = "5.3.3" + +BOOTSTRAP_CSS_URL = ( + "https://cdn.jsdelivr.net/npm/bootstrap@%s/dist/css/bootstrap.min.css" + % BOOTSTRAP_VERSION +) +BOOTSTRAP_JS_URL = ( + "https://cdn.jsdelivr.net/npm/bootstrap@%s/dist/js/bootstrap.bundle.min.js" + % BOOTSTRAP_VERSION +) diff --git a/inui/config/replaces.py b/inui/config/replaces.py index 2d2295c..698a32f 100644 --- a/inui/config/replaces.py +++ b/inui/config/replaces.py @@ -1,20 +1,35 @@ replaceDict = { "classs": "class", + "class_": "class", "forr": "for", + "for_": "for", "accessskey": "accesskey", + "access_key": "accesskey", "aria_lable": "aria-label", + "arialable": "aria-label", "aria_describedby": "aria-describedby", + "ariadescribedby": "aria-describedby", "iss": "is", + "is_": "is", "doctype": "!DOCTYPE HTML", "typee": "type", + "type_": "type", "aria_expanded": "aria-expanded", + "ariaexpanded": "aria-expanded", "asyncc": "async", + "async_": "async", "data_expandable": "data-expandable", + "dataexpandable": "data-expandable", "data_parent": "data-parent", + "dataparent": "data-parent", "data_child": "data-child", + "datachild": "data-child", "data_nl": "data-nl", + "datanl": "data-nl", "data_sm": "data-sm", + "datasm": "data-sm", "data_mode": "data-mode", + "datamode": "data-mode", "data_gfg_action": "data-gfg-action", "data_expanded": "data-expanded", "data_show": "data-show", @@ -24,8 +39,19 @@ "aria_hidden": "aria-hidden", "data_icon": "data-icon", "data_rating": "data-rating", + "datagfg_action": "data-gfg-action", + "dataexpanded": "data-expanded", + "datashow": "data-show", + "dataarticle_slider": "data-article-slider", + "databookmark_value": "data-bookmark-value", + "datatype": "data-type", + "ariahidden": "aria-hidden", + "dataicon": "data-icon", + "datarating": "data-rating", "fromm": "from", + "from_": "from", "inn": "in", + "in_": "in", } diff --git a/inui/elements.py b/inui/elements.py index b17a43e..a922809 100644 --- a/inui/elements.py +++ b/inui/elements.py @@ -220,6 +220,9 @@ class Legend(BaseElement): ... class Li(BaseElement): ... +class Link(BaseElement): ... + + class Main(BaseElement): ... diff --git a/main.py b/main.py new file mode 100644 index 0000000..6a10d9d --- /dev/null +++ b/main.py @@ -0,0 +1,20 @@ +from inui import bootstrap as bs +from inui.base import Class +from inui.elements import H1, Body, Header, Hr, Html, Title + +print( + Html( + Header( + Title("Mohammadreza"), + bs.BootStrapCSS, + ), + Body( + H1( + "salam Man Mohammadreza Hastam.", + class_=Class(bs.AccordionBody, bs.Active), + ), + Hr, + bs.BootStrapJS, + ), + ) +) From c4f5dedf6382a84ff081f6c3ea47f5cf72b48805 Mon Sep 17 00:00:00 2001 From: Mohammadreza Amani Date: Mon, 28 Oct 2024 02:09:41 +0330 Subject: [PATCH 2/2] feat(bootstrap): add bootstrap5 support to project. --- pyproject.toml | 2 +- setup.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 0af0522..36450ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" [project] name = "inui" -version = "0.9" +version = "0.9.1" description = "Powerful and Highly Customizable Python Library for UI" readme = "README.md" authors = [{ name = "Mohammadreza Amani", email = "more.amani@yahoo.com" }] diff --git a/setup.py b/setup.py index cf0e222..3be2342 100644 --- a/setup.py +++ b/setup.py @@ -8,7 +8,7 @@ long_description = "\n" + fh.read() -VERSION = "0.9" +VERSION = "0.9.1" PACKAGE_NAME = "inui" DESCRIPTION = ""