diff --git a/.vscode/settings.json b/.vscode/settings.json index e4ea8aee..ac8e05f6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,7 +5,7 @@ "editor.defaultFormatter": "esbenp.prettier-vscode", "files.eol": "\r\n", "editor.formatOnSave": true, - "tailwindCSS.experimental.configFile": "libs/flowbite-angular/styles/flowbite-angular.css", + "tailwindCSS.experimental.configFile": "apps/docs/public/css/styles.css", "tailwindCSS.classAttributes": ["class", "className", "ngClass", "customStyle"], "tailwindCSS.classFunctions": ["twMerge", "createTheme"], "typescript.tsdk": "node_modules/typescript/lib", diff --git a/apps/docs/docs/components/accordion/index.md b/apps/docs/docs/components/accordion/index.md index f9be3bec..060cec05 100644 --- a/apps/docs/docs/components/accordion/index.md +++ b/apps/docs/docs/components/accordion/index.md @@ -61,3 +61,6 @@ keyword: AccordionPage ```angular-ts file="./_icon.component.ts" group="icon" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/accordion/ng-doc.page.ts b/apps/docs/docs/components/accordion/ng-doc.page.ts index b3459cb7..afc4f701 100644 --- a/apps/docs/docs/components/accordion/ng-doc.page.ts +++ b/apps/docs/docs/components/accordion/ng-doc.page.ts @@ -1,3 +1,5 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteAlwaysOpenComponent } from './_always-open.component'; import { FlowbiteColorComponent } from './_color.component'; @@ -5,6 +7,13 @@ import { FlowbiteDefaultComponent } from './_default.component'; import { FlowbiteFlushComponent } from './_flush.component'; import { FlowbiteIconComponent } from './_icon.component'; +import { + flowbiteAccordionContentTheme, + flowbiteAccordionItemTheme, + flowbiteAccordionTheme, + flowbiteAccordionTitleTheme, +} from 'flowbite-angular/accordion'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -21,6 +30,14 @@ const Accordion: NgDocPage = { flowbiteFlushComponent: FlowbiteFlushComponent, flowbiteIconComponent: FlowbiteIconComponent, }, + data: { + themes: [ + { title: 'Accordion theme', content: toIndentedJson(flowbiteAccordionTheme) }, + { title: 'Accordion item content', content: toIndentedJson(flowbiteAccordionItemTheme) }, + { title: 'Accordion title theme', content: toIndentedJson(flowbiteAccordionTitleTheme) }, + { title: 'Accordion content', content: toIndentedJson(flowbiteAccordionContentTheme) }, + ] satisfies DocThemes, + }, }; export default Accordion; diff --git a/apps/docs/docs/components/alert/index.md b/apps/docs/docs/components/alert/index.md index 47090b7d..d8d49c21 100644 --- a/apps/docs/docs/components/alert/index.md +++ b/apps/docs/docs/components/alert/index.md @@ -61,3 +61,6 @@ keyword: AlertPage ```angular-ts file="./_border-accent.component.ts" group="borderAccent" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/alert/ng-doc.page.ts b/apps/docs/docs/components/alert/ng-doc.page.ts index 87bd4fee..34f8436b 100644 --- a/apps/docs/docs/components/alert/ng-doc.page.ts +++ b/apps/docs/docs/components/alert/ng-doc.page.ts @@ -1,3 +1,5 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteBorderAccentComponent } from './_border-accent.component'; import { FlowbiteBorderComponent } from './_border.component'; @@ -5,6 +7,12 @@ import { FlowbiteDefaultComponent } from './_default.component'; import { FlowbiteDismissableComponent } from './_dismissable.component'; import { FlowbiteIconComponent } from './_icon.component'; +import { + flowbiteAlertButtonTheme, + flowbiteAlertContentTheme, + flowbiteAlertTheme, +} from 'flowbite-angular/alert'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -21,6 +29,13 @@ const Alert: NgDocPage = { flowbiteBorderAccentComponent: FlowbiteBorderAccentComponent, flowbiteDismissableComponent: FlowbiteDismissableComponent, }, + data: { + themes: [ + { title: 'Alert theme', content: toIndentedJson(flowbiteAlertTheme) }, + { title: 'Alert content theme', content: toIndentedJson(flowbiteAlertContentTheme) }, + { title: 'Alert button theme', content: toIndentedJson(flowbiteAlertButtonTheme) }, + ] satisfies DocThemes, + }, }; export default Alert; diff --git a/apps/docs/docs/components/badge/index.md b/apps/docs/docs/components/badge/index.md index 6e832b34..507590c2 100644 --- a/apps/docs/docs/components/badge/index.md +++ b/apps/docs/docs/components/badge/index.md @@ -61,3 +61,6 @@ keyword: BadgePage ```angular-ts file="./_dismiss.component.ts" group="dismiss" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/badge/ng-doc.page.ts b/apps/docs/docs/components/badge/ng-doc.page.ts index a0f5a6a3..5d1e3829 100644 --- a/apps/docs/docs/components/badge/ng-doc.page.ts +++ b/apps/docs/docs/components/badge/ng-doc.page.ts @@ -1,3 +1,5 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteBorderComponent } from './_border.component'; import { FlowbiteDefaultComponent } from './_default.component'; @@ -5,6 +7,12 @@ import { FlowbiteDismissComponent } from './_dismiss.component'; import { FlowbiteIconComponent } from './_icon.component'; import { FlowbiteLinkComponent } from './_link.component'; +import { + flowbiteBadgeButtonTheme, + flowbiteBadgeLinkTheme, + flowbiteBadgeTheme, +} from 'flowbite-angular/badge'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -21,6 +29,13 @@ const Badge: NgDocPage = { flowbiteIconComponent: FlowbiteIconComponent, flowbiteDismissComponent: FlowbiteDismissComponent, }, + data: { + themes: [ + { title: 'Badge', content: toIndentedJson(flowbiteBadgeTheme) }, + { title: 'Badge link', content: toIndentedJson(flowbiteBadgeLinkTheme) }, + { title: 'Badge button', content: toIndentedJson(flowbiteBadgeButtonTheme) }, + ] satisfies DocThemes, + }, }; export default Badge; diff --git a/apps/docs/docs/components/breadcrumb/index.md b/apps/docs/docs/components/breadcrumb/index.md index 215dfa6a..8503986f 100644 --- a/apps/docs/docs/components/breadcrumb/index.md +++ b/apps/docs/docs/components/breadcrumb/index.md @@ -13,3 +13,6 @@ keyword: BreadcrumbPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/breadcrumb/ng-doc.page.ts b/apps/docs/docs/components/breadcrumb/ng-doc.page.ts index b7456cf4..ce2e1285 100644 --- a/apps/docs/docs/components/breadcrumb/ng-doc.page.ts +++ b/apps/docs/docs/components/breadcrumb/ng-doc.page.ts @@ -1,6 +1,14 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { + flowbiteBreadcrumbContentTheme, + flowbiteBreadcrumbItemTheme, + flowbiteBreadcrumbTheme, +} from 'flowbite-angular/breadcrumb'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +21,13 @@ const Breadcrumb: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Breadcrumb', content: toIndentedJson(flowbiteBreadcrumbTheme) }, + { title: 'Breadcrumb content', content: toIndentedJson(flowbiteBreadcrumbContentTheme) }, + { title: 'Breadcrumb item', content: toIndentedJson(flowbiteBreadcrumbItemTheme) }, + ] satisfies DocThemes, + }, }; export default Breadcrumb; diff --git a/apps/docs/docs/components/button/index.md b/apps/docs/docs/components/button/index.md index 2c0c1d73..88270748 100644 --- a/apps/docs/docs/components/button/index.md +++ b/apps/docs/docs/components/button/index.md @@ -85,3 +85,6 @@ keyword: ButtonPage ```angular-ts file="./_group.component.ts" group="group" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/button/ng-doc.page.ts b/apps/docs/docs/components/button/ng-doc.page.ts index 288a4d69..692f19cf 100644 --- a/apps/docs/docs/components/button/ng-doc.page.ts +++ b/apps/docs/docs/components/button/ng-doc.page.ts @@ -1,3 +1,5 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; import { FlowbiteDisabledComponent } from './_disabled.component'; @@ -7,6 +9,8 @@ import { FlowbiteOutlineComponent } from './_outline.component'; import { FlowbitePillComponent } from './_pill.component'; import { FlowbiteSizeComponent } from './_size.component'; +import { flowbiteButtonTheme } from 'flowbite-angular/button'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -25,6 +29,9 @@ const Button: NgDocPage = { flowbiteDisabledComponent: FlowbiteDisabledComponent, flowbiteGroupComponent: FlowbiteGroupComponent, }, + data: { + themes: [{ title: 'Button', content: toIndentedJson(flowbiteButtonTheme) }] satisfies DocThemes, + }, }; export default Button; diff --git a/apps/docs/docs/components/card/index.md b/apps/docs/docs/components/card/index.md index abf175a7..4909cfd1 100644 --- a/apps/docs/docs/components/card/index.md +++ b/apps/docs/docs/components/card/index.md @@ -13,3 +13,6 @@ keyword: CardPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/card/ng-doc.page.ts b/apps/docs/docs/components/card/ng-doc.page.ts index ed236931..39b58878 100644 --- a/apps/docs/docs/components/card/ng-doc.page.ts +++ b/apps/docs/docs/components/card/ng-doc.page.ts @@ -1,6 +1,14 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { + flowbiteCardContentTheme, + flowbiteCardHeaderTheme, + flowbiteCardTheme, +} from 'flowbite-angular/card'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +21,13 @@ const Card: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Card content', content: toIndentedJson(flowbiteCardContentTheme) }, + { title: 'Card header', content: toIndentedJson(flowbiteCardHeaderTheme) }, + { title: 'Card', content: toIndentedJson(flowbiteCardTheme) }, + ] satisfies DocThemes, + }, }; export default Card; diff --git a/apps/docs/docs/components/clipboard/index.md b/apps/docs/docs/components/clipboard/index.md index badfa253..51143a15 100644 --- a/apps/docs/docs/components/clipboard/index.md +++ b/apps/docs/docs/components/clipboard/index.md @@ -13,3 +13,6 @@ keyword: ClipboardPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/clipboard/ng-doc.page.ts b/apps/docs/docs/components/clipboard/ng-doc.page.ts index 1a5004da..79b9514d 100644 --- a/apps/docs/docs/components/clipboard/ng-doc.page.ts +++ b/apps/docs/docs/components/clipboard/ng-doc.page.ts @@ -1,6 +1,10 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { flowbiteClipboardTheme } from 'flowbite-angular/clipboard'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +17,11 @@ const Clipboard: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Clipboard', content: toIndentedJson(flowbiteClipboardTheme) }, + ] satisfies DocThemes, + }, }; export default Clipboard; diff --git a/apps/docs/docs/components/dropdown/index.md b/apps/docs/docs/components/dropdown/index.md index 94b12103..68777ded 100644 --- a/apps/docs/docs/components/dropdown/index.md +++ b/apps/docs/docs/components/dropdown/index.md @@ -13,3 +13,6 @@ keyword: DropdownPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/dropdown/ng-doc.page.ts b/apps/docs/docs/components/dropdown/ng-doc.page.ts index 6db14845..3754f163 100644 --- a/apps/docs/docs/components/dropdown/ng-doc.page.ts +++ b/apps/docs/docs/components/dropdown/ng-doc.page.ts @@ -1,6 +1,14 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { + flowbiteDropdownContentTheme, + flowbiteDropdownItemTheme, + flowbiteDropdownTheme, +} from 'flowbite-angular/dropdown'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +21,13 @@ const Dropdown: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Dropdown content', content: toIndentedJson(flowbiteDropdownContentTheme) }, + { title: 'Dropdown item', content: toIndentedJson(flowbiteDropdownItemTheme) }, + { title: 'Dropdown', content: toIndentedJson(flowbiteDropdownTheme) }, + ] satisfies DocThemes, + }, }; export default Dropdown; diff --git a/apps/docs/docs/components/icon/index.md b/apps/docs/docs/components/icon/index.md index 60e733d1..0ca1bddb 100644 --- a/apps/docs/docs/components/icon/index.md +++ b/apps/docs/docs/components/icon/index.md @@ -13,3 +13,6 @@ keyword: IconPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/icon/ng-doc.page.ts b/apps/docs/docs/components/icon/ng-doc.page.ts index 16c561e4..7f9d3f94 100644 --- a/apps/docs/docs/components/icon/ng-doc.page.ts +++ b/apps/docs/docs/components/icon/ng-doc.page.ts @@ -1,6 +1,10 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { flowbiteIconTheme } from 'flowbite-angular/icon'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +17,9 @@ const Icon: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [{ title: 'Icon', content: toIndentedJson(flowbiteIconTheme) }] satisfies DocThemes, + }, }; export default Icon; diff --git a/apps/docs/docs/components/indicator/index.md b/apps/docs/docs/components/indicator/index.md index e588075f..7d31966b 100644 --- a/apps/docs/docs/components/indicator/index.md +++ b/apps/docs/docs/components/indicator/index.md @@ -13,3 +13,6 @@ keyword: IndicatorPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/indicator/ng-doc.page.ts b/apps/docs/docs/components/indicator/ng-doc.page.ts index f661017a..a0fb9735 100644 --- a/apps/docs/docs/components/indicator/ng-doc.page.ts +++ b/apps/docs/docs/components/indicator/ng-doc.page.ts @@ -1,6 +1,10 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { flowbiteIndicatorTheme } from 'flowbite-angular/indicator'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +17,11 @@ const Indicator: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Indicator', content: toIndentedJson(flowbiteIndicatorTheme) }, + ] satisfies DocThemes, + }, }; export default Indicator; diff --git a/apps/docs/docs/components/input/index.md b/apps/docs/docs/components/input/index.md index c3fcdae3..8534d8bb 100644 --- a/apps/docs/docs/components/input/index.md +++ b/apps/docs/docs/components/input/index.md @@ -13,3 +13,6 @@ keyword: InputFieldPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/input/ng-doc.page.ts b/apps/docs/docs/components/input/ng-doc.page.ts index f6fad599..1e1e2d6f 100644 --- a/apps/docs/docs/components/input/ng-doc.page.ts +++ b/apps/docs/docs/components/input/ng-doc.page.ts @@ -1,6 +1,15 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { + flowbiteFormControlTheme, + flowbiteFormFieldTheme, + flowbiteHelperTheme, + flowbiteLabelTheme, +} from 'flowbite-angular/form'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +22,14 @@ const Input: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Form control', content: toIndentedJson(flowbiteFormControlTheme) }, + { title: 'Form field', content: toIndentedJson(flowbiteFormFieldTheme) }, + { title: 'Helper', content: toIndentedJson(flowbiteHelperTheme) }, + { title: 'Label', content: toIndentedJson(flowbiteLabelTheme) }, + ] satisfies DocThemes, + }, }; export default Input; diff --git a/apps/docs/docs/components/modal/index.md b/apps/docs/docs/components/modal/index.md index 947e4e3b..cccdfe66 100644 --- a/apps/docs/docs/components/modal/index.md +++ b/apps/docs/docs/components/modal/index.md @@ -37,3 +37,6 @@ keyword: ModalPage ```angular-ts file="./_position.component.ts" group="position" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/modal/ng-doc.page.ts b/apps/docs/docs/components/modal/ng-doc.page.ts index a158b57d..da6b4f24 100644 --- a/apps/docs/docs/components/modal/ng-doc.page.ts +++ b/apps/docs/docs/components/modal/ng-doc.page.ts @@ -1,8 +1,18 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; import { FlowbiteOpenprogramaticallyComponent } from './_open-programatically.component'; import { FlowbitePositionComponent } from './_position.component'; +import { + flowbiteModalContentTheme, + flowbiteModalFooterTheme, + flowbiteModalHeaderTheme, + flowbiteModalOverlayTheme, + flowbiteModalTheme, +} from 'flowbite-angular/modal'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -17,6 +27,15 @@ const Modal: NgDocPage = { flowbiteOpenprogramaticallyComponent: FlowbiteOpenprogramaticallyComponent, flowbitePositionComponent: FlowbitePositionComponent, }, + data: { + themes: [ + { title: 'Modal content', content: toIndentedJson(flowbiteModalContentTheme) }, + { title: 'Modal footer', content: toIndentedJson(flowbiteModalFooterTheme) }, + { title: 'Modal header', content: toIndentedJson(flowbiteModalHeaderTheme) }, + { title: 'Modal overlay', content: toIndentedJson(flowbiteModalOverlayTheme) }, + { title: 'Modal', content: toIndentedJson(flowbiteModalTheme) }, + ] satisfies DocThemes, + }, }; export default Modal; diff --git a/apps/docs/docs/components/navbar/index.md b/apps/docs/docs/components/navbar/index.md index ab272d74..113adea5 100644 --- a/apps/docs/docs/components/navbar/index.md +++ b/apps/docs/docs/components/navbar/index.md @@ -13,3 +13,6 @@ keyword: NavbarPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/navbar/ng-doc.page.ts b/apps/docs/docs/components/navbar/ng-doc.page.ts index 1672b4df..8c10608f 100644 --- a/apps/docs/docs/components/navbar/ng-doc.page.ts +++ b/apps/docs/docs/components/navbar/ng-doc.page.ts @@ -1,6 +1,17 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { + flowbiteNavbarBrandTheme, + flowbiteNavbarContentTheme, + flowbiteNavbarIconItemTheme, + flowbiteNavbarItemTheme, + flowbiteNavbarTheme, + flowbiteNavbarToggleTheme, +} from 'flowbite-angular/navbar'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +24,16 @@ const Navbar: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Navbar brand', content: toIndentedJson(flowbiteNavbarBrandTheme) }, + { title: 'Navbar content', content: toIndentedJson(flowbiteNavbarContentTheme) }, + { title: 'Navbar icon item', content: toIndentedJson(flowbiteNavbarIconItemTheme) }, + { title: 'Navbar item', content: toIndentedJson(flowbiteNavbarItemTheme) }, + { title: 'Navbar', content: toIndentedJson(flowbiteNavbarTheme) }, + { title: 'Navbar toggle', content: toIndentedJson(flowbiteNavbarToggleTheme) }, + ] satisfies DocThemes, + }, }; export default Navbar; diff --git a/apps/docs/docs/components/pagination/index.md b/apps/docs/docs/components/pagination/index.md index 06fa8c95..394bb1f2 100644 --- a/apps/docs/docs/components/pagination/index.md +++ b/apps/docs/docs/components/pagination/index.md @@ -13,3 +13,6 @@ keyword: PaginationPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/pagination/ng-doc.page.ts b/apps/docs/docs/components/pagination/ng-doc.page.ts index 4b9a8bd4..a1c9c353 100644 --- a/apps/docs/docs/components/pagination/ng-doc.page.ts +++ b/apps/docs/docs/components/pagination/ng-doc.page.ts @@ -1,6 +1,17 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { + flowbitePaginationButtonTheme, + flowbitePaginationFirstTheme, + flowbitePaginationLastTheme, + flowbitePaginationNextTheme, + flowbitePaginationPreviousTheme, + flowbitePaginationTheme, +} from 'flowbite-angular/pagination'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +24,16 @@ const Pagination: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Pagination button', content: toIndentedJson(flowbitePaginationButtonTheme) }, + { title: 'Pagination first', content: toIndentedJson(flowbitePaginationFirstTheme) }, + { title: 'Pagination last', content: toIndentedJson(flowbitePaginationLastTheme) }, + { title: 'Pagination next', content: toIndentedJson(flowbitePaginationNextTheme) }, + { title: 'Pagination previous', content: toIndentedJson(flowbitePaginationPreviousTheme) }, + { title: 'Pagination', content: toIndentedJson(flowbitePaginationTheme) }, + ] satisfies DocThemes, + }, }; export default Pagination; diff --git a/apps/docs/docs/components/sidebar/index.md b/apps/docs/docs/components/sidebar/index.md index 8f8d5995..0c4cd733 100644 --- a/apps/docs/docs/components/sidebar/index.md +++ b/apps/docs/docs/components/sidebar/index.md @@ -13,3 +13,6 @@ keyword: SidebarPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/sidebar/ng-doc.page.ts b/apps/docs/docs/components/sidebar/ng-doc.page.ts index 4fc29ef4..b132eab4 100644 --- a/apps/docs/docs/components/sidebar/ng-doc.page.ts +++ b/apps/docs/docs/components/sidebar/ng-doc.page.ts @@ -1,6 +1,15 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { + flowbiteSidebarContentTheme, + flowbiteSidebarItemTheme, + flowbiteSidebarTheme, + flowbiteSidebarToggleTheme, +} from 'flowbite-angular/sidebar'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +22,14 @@ const Sidebar: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Sidebar content', content: toIndentedJson(flowbiteSidebarContentTheme) }, + { title: 'Sidebar item', content: toIndentedJson(flowbiteSidebarItemTheme) }, + { title: 'Sidebar', content: toIndentedJson(flowbiteSidebarTheme) }, + { title: 'Sidebar toggle', content: toIndentedJson(flowbiteSidebarToggleTheme) }, + ] satisfies DocThemes, + }, }; export default Sidebar; diff --git a/apps/docs/docs/components/tab/index.md b/apps/docs/docs/components/tab/index.md index 05f57589..839e6245 100644 --- a/apps/docs/docs/components/tab/index.md +++ b/apps/docs/docs/components/tab/index.md @@ -13,3 +13,6 @@ keyword: TabPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/tab/ng-doc.page.ts b/apps/docs/docs/components/tab/ng-doc.page.ts index 47b823a2..398ab9b1 100644 --- a/apps/docs/docs/components/tab/ng-doc.page.ts +++ b/apps/docs/docs/components/tab/ng-doc.page.ts @@ -1,6 +1,15 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { + flowbiteTabButtonTheme, + flowbiteTabContentTheme, + flowbiteTabListTheme, + flowbiteTabTheme, +} from 'flowbite-angular/tab'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +22,14 @@ const Tab: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Tab button', content: toIndentedJson(flowbiteTabButtonTheme) }, + { title: 'Tab content', content: toIndentedJson(flowbiteTabContentTheme) }, + { title: 'Tab list', content: toIndentedJson(flowbiteTabListTheme) }, + { title: 'Tab', content: toIndentedJson(flowbiteTabTheme) }, + ] satisfies DocThemes, + }, }; export default Tab; diff --git a/apps/docs/docs/components/table/_default.component.html b/apps/docs/docs/components/table/_default.component.html new file mode 100644 index 00000000..d0662fc7 --- /dev/null +++ b/apps/docs/docs/components/table/_default.component.html @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + +
+ Product name + + Qty + + Price +
+ {{ data.name }} + + {{ data.qty }} + + {{ data.price }} +
+ Total + 1030
diff --git a/apps/docs/docs/components/table/_default.component.ts b/apps/docs/docs/components/table/_default.component.ts new file mode 100644 index 00000000..87261cfe --- /dev/null +++ b/apps/docs/docs/components/table/_default.component.ts @@ -0,0 +1,18 @@ +import { Table, TableBody, TableFoot, TableHead } from 'flowbite-angular/table'; + +import { Component } from '@angular/core'; + +@Component({ + imports: [Table, TableBody, TableFoot, TableHead], + templateUrl: './_default.component.html', + host: { + class: 'flex flex-wrap flex-row gap-3 p-6', + }, +}) +export class FlowbiteDefaultComponent { + readonly data = Array.from({ length: 5 }, (_, i) => i++).map((x) => ({ + name: `Product ${x}`, + qty: x, + price: x * x, + })); +} diff --git a/apps/docs/docs/components/table/index.md b/apps/docs/docs/components/table/index.md new file mode 100644 index 00000000..8fbead47 --- /dev/null +++ b/apps/docs/docs/components/table/index.md @@ -0,0 +1,18 @@ +--- +keyword: TablePage +--- + +## Default Table + +{{ NgDocActions.demo('flowbiteDefaultComponent', {container: false}) }} + +```angular-html file="./_default.component.html" group="default" name="html" + +``` + +```angular-ts file="./_default.component.ts" group="default" name="typescript" + +``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/table/ng-doc.page.ts b/apps/docs/docs/components/table/ng-doc.page.ts new file mode 100644 index 00000000..44feb99e --- /dev/null +++ b/apps/docs/docs/components/table/ng-doc.page.ts @@ -0,0 +1,35 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; +import ComponentCategory from '../ng-doc.category'; +import { FlowbiteDefaultComponent } from './_default.component'; + +import { + flowbiteTableBodyTheme, + flowbiteTableFootTheme, + flowbiteTableHeadTheme, + flowbiteTableTheme, +} from 'flowbite-angular/table'; + +import type { NgDocPage } from '@ng-doc/core'; + +/** + * + */ +const Table: NgDocPage = { + title: 'Table', + mdFile: './index.md', + category: ComponentCategory, + demos: { + flowbiteDefaultComponent: FlowbiteDefaultComponent, + }, + data: { + themes: [ + { title: 'Table', content: toIndentedJson(flowbiteTableTheme) }, + { title: 'Table Head', content: toIndentedJson(flowbiteTableHeadTheme) }, + { title: 'Table Body', content: toIndentedJson(flowbiteTableBodyTheme) }, + { title: 'Table Foot', content: toIndentedJson(flowbiteTableFootTheme) }, + ] satisfies DocThemes, + }, +}; + +export default Table; diff --git a/apps/docs/docs/components/tooltip/index.md b/apps/docs/docs/components/tooltip/index.md index e27d8f95..e8f1f27e 100644 --- a/apps/docs/docs/components/tooltip/index.md +++ b/apps/docs/docs/components/tooltip/index.md @@ -13,3 +13,6 @@ keyword: TooltipPage ```angular-ts file="./_default.component.ts" group="default" name="typescript" ``` + +{% import "../../shared/theme-macro.md" as themeMacro %} +{{ themeMacro.display(NgDocPage.data.themes) }} diff --git a/apps/docs/docs/components/tooltip/ng-doc.page.ts b/apps/docs/docs/components/tooltip/ng-doc.page.ts index 3dfe2465..d00cfc57 100644 --- a/apps/docs/docs/components/tooltip/ng-doc.page.ts +++ b/apps/docs/docs/components/tooltip/ng-doc.page.ts @@ -1,6 +1,10 @@ +import type { DocThemes } from '../../doc-theme.model'; +import { toIndentedJson } from '../../doc-theme.model'; import ComponentCategory from '../ng-doc.category'; import { FlowbiteDefaultComponent } from './_default.component'; +import { flowbiteTooltipTheme } from 'flowbite-angular/tooltip'; + import type { NgDocPage } from '@ng-doc/core'; /** @@ -13,6 +17,11 @@ const Tooltip: NgDocPage = { demos: { flowbiteDefaultComponent: FlowbiteDefaultComponent, }, + data: { + themes: [ + { title: 'Tooltip', content: toIndentedJson(flowbiteTooltipTheme) }, + ] satisfies DocThemes, + }, }; export default Tooltip; diff --git a/apps/docs/docs/customize/dark-mode/index.md b/apps/docs/docs/customize/dark-mode/index.md index a222da21..bb390337 100644 --- a/apps/docs/docs/customize/dark-mode/index.md +++ b/apps/docs/docs/customize/dark-mode/index.md @@ -20,9 +20,9 @@ export class AppComponent { } ``` -The configuration needed for tailwind will depend on the type value of FlowbiteThemeDirective. In -the FlowbiteThemeDirective, you are able to change its behavior. Here is an example of configuration -to make it use data-attributes : +The Tailwind configuration depends on the `type` of `Theme`. In `Theme`, you can change its +behavior. +Here is an example configuration to make it rely on data attributes: ```angular-ts provideFlowbiteThemeConfig({ @@ -36,5 +36,5 @@ provideFlowbiteThemeConfig({ ## Get or set theme manually -In order to access or to update the application theme manually, you simply have to inject -`FlowbiteThemeDirective` into your component and call one of the provided functions. +To access or update the application theme manually, inject `Theme` into your component and call one +of its helper functions. diff --git a/apps/docs/docs/customize/override-base-style/index.md b/apps/docs/docs/customize/override-base-style/index.md index 66a0ba89..87dee004 100644 --- a/apps/docs/docs/customize/override-base-style/index.md +++ b/apps/docs/docs/customize/override-base-style/index.md @@ -7,14 +7,14 @@ keyword: OverrideBaseStylePage Each component provide its own configuration method. Configuration methods are named as follow : -