├── Classes
├── Backend
│ ├── EventListener
│ │ ├── FlexForm
│ │ │ ├── FlexformEvent.php
│ │ │ └── NewsFlexformEvent.php
│ │ └── TCA
│ │ │ └── TcaCompilation.php
│ └── FormDataProvider
│ │ └── FlexFormManipulation.php
├── Command
│ ├── CdnToLocal.php
│ ├── CommandBase.php
│ ├── CustomScss.php
│ ├── ImageToTextmedia.php
│ ├── TextToTextmedia.php
│ └── TextpicToTextmedia.php
├── Components
│ ├── Button.php
│ ├── Card.php
│ ├── Carousel.php
│ ├── Mediaobject.php
│ └── Toast.php
├── ContentElements
│ ├── Menu.php
│ └── Table.php
├── Controller
│ ├── AbstractController.php
│ └── ConfigController.php
├── DataProcessing
│ ├── BootstrapProcessor.php
│ ├── BsImageGalleryProcessor.php
│ ├── CommaSeparatedValueProcessor.php
│ ├── ConfigProcessor.php
│ ├── GalleryProcessor.php
│ └── LastModifiedProcessor.php
├── Domain
│ ├── Model
│ │ └── Config.php
│ └── Repository
│ │ └── ConfigRepository.php
├── EventListener
│ └── AssetRenderer
│ │ └── IsInline.php
├── ExpressionLanguage
│ ├── T3sbConditionFunctionsProvider.php
│ └── T3sbConditionProvider.php
├── Helper
│ ├── AssetHelper.php
│ ├── ClassHelper.php
│ ├── DefaultHelper.php
│ ├── FlexformHelper.php
│ ├── GalleryHelper.php
│ ├── MediaElementHelper.php
│ └── StyleHelper.php
├── Hooks
│ └── PageRenderer
│ │ └── PreProcessHook.php
├── Layouts
│ ├── FourColumns.php
│ ├── Grid.php
│ ├── Gutters.php
│ ├── RowColumns.php
│ ├── SixColumns.php
│ ├── ThreeColumns.php
│ └── TwoColumns.php
├── PageTitle
│ └── BreadcrumbProvider.php
├── Parser
│ ├── AbstractParser.php
│ ├── ParserInterface.php
│ └── ScssParser.php
├── Service
│ └── CompileService.php
├── Updates
│ ├── BackendlayoutUpgradeWizard.php
│ ├── IconpackBodytextUpgradeWizard.php
│ ├── IconpackHeaderUpgradeWizard.php
│ └── IconpackTitleUpgradeWizard.php
├── UserFunction
│ └── TcaMatcher.php
├── Utility
│ ├── BackgroundImageUtility.php
│ ├── ResponsiveImagesUtility.php
│ ├── TypoScriptUtility.php
│ └── YouTubeRenderer.php
├── ViewHelpers
│ ├── AlternativeViewHelper.php
│ ├── Backend
│ │ ├── InfoImageViewHelper.php
│ │ └── InfoViewHelper.php
│ ├── DummyImageViewHelper.php
│ ├── EmconfViewHelper.php
│ ├── FlexformViewHelper.php
│ ├── GetUsernameViewHelper.php
│ ├── IconViewHelper.php
│ └── MediaViewHelper.php
└── Wrapper
│ ├── BackgroundWrapper.php
│ ├── ButtonGroup.php
│ ├── CardWrapper.php
│ ├── CarouselContainer.php
│ ├── CollapsibleAccordion.php
│ ├── MasonryWrapper.php
│ ├── Modal.php
│ ├── ParallaxWrapper.php
│ ├── SwiperContainer.php
│ ├── TabsContainer.php
│ └── ToastContainer.php
├── Configuration
├── Backend
│ └── Modules.php
├── ExpressionLanguage.php
├── FlexForms
│ ├── AssetInline.xml
│ ├── Bootstrap.xml
│ ├── Button.xml
│ ├── CardContent.xml
│ ├── CardSetting.xml
│ ├── Carousel.xml
│ ├── Container
│ │ ├── AutoLayoutRow.xml
│ │ ├── BackgroundWrapper.xml
│ │ ├── Buttongroup.xml
│ │ ├── CardWrapper.xml
│ │ ├── CarouselContainer.xml
│ │ ├── Collapse.xml
│ │ ├── CollapseContainer.xml
│ │ ├── Container.xml
│ │ ├── FourColumns.xml
│ │ ├── FourColumnsMin.xml
│ │ ├── FourColumnsNoDefaults.xml
│ │ ├── MasonryWrapper.xml
│ │ ├── Modal.xml
│ │ ├── ParallaxWrapper.xml
│ │ ├── RowColumns.xml
│ │ ├── SixColumns.xml
│ │ ├── SixColumnsMin.xml
│ │ ├── SixColumnsNoDefaults.xml
│ │ ├── SwiperContainer.xml
│ │ ├── Tabs.xml
│ │ ├── TabsTab.xml
│ │ ├── ThreeColumns.xml
│ │ ├── ThreeColumnsMin.xml
│ │ ├── ThreeColumnsNoDefaults.xml
│ │ ├── ToastContainer.xml
│ │ ├── TwoColumns.xml
│ │ ├── TwoColumnsMin.xml
│ │ └── TwoColumnsNoDefaults.xml
│ ├── Mediaobject.xml
│ ├── Table.xml
│ └── ToastSetting.xml
├── Icons.php
├── RTE
│ └── Default.yaml
├── Services.yaml
├── Sets
│ └── T3sbootstrap
│ │ ├── config.yaml
│ │ ├── constants.typoscript
│ │ └── setup.typoscript
├── TCA
│ ├── Overrides
│ │ ├── pages.php
│ │ ├── sys_file_reference.php
│ │ ├── sys_template.php
│ │ ├── tt_content.php
│ │ ├── tt_content_container.php
│ │ └── tt_content_newCType.php
│ ├── tx_t3sbootstrap_domain_model_config.php
│ └── tx_t3sbootstrap_list_item_inline.php
├── TSConfig
│ ├── BackendLayouts
│ │ └── Default
│ │ │ ├── BootstrapCondition.tsconfig
│ │ │ ├── OneCol.tsconfig
│ │ │ ├── OneCol_Extra.tsconfig
│ │ │ ├── ThreeCol.tsconfig
│ │ │ ├── ThreeCol_Extra.tsconfig
│ │ │ ├── TwoCol_3-9.tsconfig
│ │ │ ├── TwoCol_3-9_Extra.tsconfig
│ │ │ ├── TwoCol_9-3.tsconfig
│ │ │ ├── TwoCol_9-3_Extra.tsconfig
│ │ │ └── _main.tsconfig
│ ├── CKEditor.tsconfig
│ ├── Content.tsconfig
│ ├── NewContentElements.tsconfig
│ ├── Page.tsconfig
│ ├── Registered
│ │ ├── Alerts.tsconfig
│ │ ├── Callouts.tsconfig
│ │ ├── Header.tsconfig
│ │ ├── Image.tsconfig
│ │ ├── Text.tsconfig
│ │ └── Textpic.tsconfig
│ └── SysFileReference.tsconfig
├── TypoScript
│ ├── Content
│ │ ├── Content.typoscript
│ │ └── _main.typoscript
│ ├── ContentElement
│ │ ├── Bootstrap.typoscript
│ │ ├── Container.typoscript
│ │ ├── Default.typoscript
│ │ └── _main.typoscript
│ ├── Lib
│ │ ├── ContentElement.typoscript
│ │ └── _main.typoscript
│ ├── Page
│ │ ├── BodyTag.typoscript
│ │ ├── Configuration.typoscript
│ │ ├── Fileadmin
│ │ │ ├── IncludeBootstrapCss.typoscript
│ │ │ ├── IncludeDefault.typoscript
│ │ │ ├── IncludeLocal.typoscript
│ │ │ └── _main.typoscript
│ │ ├── IncludeBootstrapCdnCss.typoscript
│ │ ├── IncludeBootstrapScss.typoscript
│ │ ├── IncludeCdn.typoscript
│ │ ├── Print.typoscript
│ │ ├── Register.typoscript
│ │ ├── Sitepackage
│ │ │ ├── IncludeBootstrapCss.typoscript
│ │ │ ├── IncludeDefault.typoscript
│ │ │ ├── IncludeLocal.typoscript
│ │ │ └── _main.typoscript
│ │ ├── Template.typoscript
│ │ └── _main.typoscript
│ ├── constants.typoscript
│ └── setup.typoscript
└── page.tsconfig
├── Contrib
├── .htaccess
└── scssphp
│ ├── LICENSE.md
│ ├── README.md
│ ├── bin
│ └── pscss
│ ├── composer.json
│ ├── scss.inc.php
│ └── src
│ ├── Base
│ └── Range.php
│ ├── Block.php
│ ├── Block
│ ├── AtRootBlock.php
│ ├── CallableBlock.php
│ ├── ContentBlock.php
│ ├── DirectiveBlock.php
│ ├── EachBlock.php
│ ├── ElseBlock.php
│ ├── ElseifBlock.php
│ ├── ForBlock.php
│ ├── IfBlock.php
│ ├── MediaBlock.php
│ ├── NestedPropertyBlock.php
│ └── WhileBlock.php
│ ├── Cache.php
│ ├── Colors.php
│ ├── CompilationResult.php
│ ├── Compiler.php
│ ├── Compiler
│ ├── CachedResult.php
│ └── Environment.php
│ ├── Exception
│ ├── CompilerException.php
│ ├── ParserException.php
│ ├── RangeException.php
│ ├── SassException.php
│ ├── SassScriptException.php
│ └── ServerException.php
│ ├── Formatter.php
│ ├── Formatter
│ ├── Compact.php
│ ├── Compressed.php
│ ├── Crunched.php
│ ├── Debug.php
│ ├── Expanded.php
│ ├── Nested.php
│ └── OutputBlock.php
│ ├── Logger
│ ├── LoggerInterface.php
│ ├── QuietLogger.php
│ └── StreamLogger.php
│ ├── Node.php
│ ├── Node
│ └── Number.php
│ ├── OutputStyle.php
│ ├── Parser.php
│ ├── SourceMap
│ ├── Base64.php
│ ├── Base64VLQ.php
│ └── SourceMapGenerator.php
│ ├── Type.php
│ ├── Util.php
│ ├── Util
│ └── Path.php
│ ├── ValueConverter.php
│ ├── Version.php
│ └── Warn.php
├── LICENSE.txt
├── Resources
├── Private
│ ├── .htaccess
│ ├── Backend
│ │ ├── ContainerPreview
│ │ │ └── backend
│ │ │ │ └── Resources
│ │ │ │ └── Private
│ │ │ │ └── Partials
│ │ │ │ └── PageLayout
│ │ │ │ └── Record
│ │ │ │ ├── ContainerPreview.html
│ │ │ │ ├── autoLayout_row
│ │ │ │ └── Preview.html
│ │ │ │ ├── background_wrapper
│ │ │ │ └── Preview.html
│ │ │ │ ├── button_group
│ │ │ │ └── Preview.html
│ │ │ │ ├── card_wrapper
│ │ │ │ └── Preview.html
│ │ │ │ ├── carousel_container
│ │ │ │ └── Preview.html
│ │ │ │ ├── collapsible_container
│ │ │ │ └── Preview.html
│ │ │ │ ├── container
│ │ │ │ └── Preview.html
│ │ │ │ ├── four_columns
│ │ │ │ └── Preview.html
│ │ │ │ ├── listGroup_wrapper
│ │ │ │ └── Preview.html
│ │ │ │ ├── masonry_wrapper
│ │ │ │ └── Preview.html
│ │ │ │ ├── modal
│ │ │ │ └── Preview.html
│ │ │ │ ├── parallax_wrapper
│ │ │ │ └── Preview.html
│ │ │ │ ├── row_columns
│ │ │ │ └── Preview.html
│ │ │ │ ├── six_columns
│ │ │ │ └── Preview.html
│ │ │ │ ├── swiper_container
│ │ │ │ └── Preview.html
│ │ │ │ ├── tabs_container
│ │ │ │ └── Preview.html
│ │ │ │ ├── three_columns
│ │ │ │ └── Preview.html
│ │ │ │ ├── toast_container
│ │ │ │ └── Preview.html
│ │ │ │ └── two_columns
│ │ │ │ └── Preview.html
│ │ ├── Layouts
│ │ │ └── Default.html
│ │ ├── Partials
│ │ │ ├── Config
│ │ │ │ ├── Accordion.html
│ │ │ │ ├── Check.html
│ │ │ │ ├── Input.html
│ │ │ │ └── Select.html
│ │ │ ├── FormErrors.html
│ │ │ └── NonAdmin
│ │ │ │ └── Accordion.html
│ │ ├── TemplateOverrides
│ │ │ └── typo3
│ │ │ │ └── cms-backend
│ │ │ │ └── Partials
│ │ │ │ └── PageLayout
│ │ │ │ └── RecordDefault
│ │ │ │ └── Footer.html
│ │ └── Templates
│ │ │ └── Config
│ │ │ ├── Constants.html
│ │ │ ├── Create.html
│ │ │ ├── Dashboard.html
│ │ │ ├── Edit.html
│ │ │ ├── List.html
│ │ │ └── New.html
│ ├── Extensions
│ │ ├── felogin
│ │ │ └── Resources
│ │ │ │ └── Private
│ │ │ │ └── Templates
│ │ │ │ └── Login
│ │ │ │ ├── Login.html
│ │ │ │ └── Logout.html
│ │ ├── indexed_search
│ │ │ ├── Configuration
│ │ │ │ └── TypoScript
│ │ │ │ │ └── setup.typoscript
│ │ │ └── Resources
│ │ │ │ └── Private
│ │ │ │ ├── Partials
│ │ │ │ ├── Form.html
│ │ │ │ ├── Pagination.html
│ │ │ │ ├── Rules.html
│ │ │ │ └── Searchresult.html
│ │ │ │ └── Templates
│ │ │ │ └── Search
│ │ │ │ └── Search.html
│ │ ├── ke_search
│ │ │ ├── Configuration
│ │ │ │ ├── TSconfig
│ │ │ │ │ └── templateLayouts.tsconfig
│ │ │ │ └── TypoScript
│ │ │ │ │ └── setup.typoscript
│ │ │ └── Resources
│ │ │ │ └── Private
│ │ │ │ ├── Layouts
│ │ │ │ └── General.html
│ │ │ │ ├── Partials
│ │ │ │ └── T3SB
│ │ │ │ │ ├── CalDate.html
│ │ │ │ │ ├── Filters.html
│ │ │ │ │ ├── Filters
│ │ │ │ │ ├── Checkbox.html
│ │ │ │ │ └── Select.html
│ │ │ │ │ ├── NoResults.html
│ │ │ │ │ ├── PageBrowser.html
│ │ │ │ │ ├── ResultRow.html
│ │ │ │ │ ├── ResultRows.html
│ │ │ │ │ └── Sorting.html
│ │ │ │ └── Templates
│ │ │ │ ├── ResultList.html
│ │ │ │ └── SearchForm.html
│ │ └── news
│ │ │ ├── Configuration
│ │ │ ├── FlexForms
│ │ │ │ └── News.xml
│ │ │ ├── TSconfig
│ │ │ │ ├── presets.tsconfig
│ │ │ │ └── templateLayouts.tsconfig
│ │ │ └── TypoScript
│ │ │ │ └── setup.typoscript
│ │ │ └── Resources
│ │ │ └── Private
│ │ │ ├── Layouts
│ │ │ ├── Detail.html
│ │ │ └── General.html
│ │ │ ├── Partials
│ │ │ ├── Detail
│ │ │ │ ├── Custom1.html
│ │ │ │ ├── Custom2.html
│ │ │ │ ├── Detail.html
│ │ │ │ ├── T3sMediaVideo.html
│ │ │ │ ├── T3sbMediaContainer.html
│ │ │ │ └── T3sbMediaImage.html
│ │ │ └── List
│ │ │ │ ├── Body
│ │ │ │ └── Item.html
│ │ │ │ ├── Card.html
│ │ │ │ ├── Columns.html
│ │ │ │ ├── Custom1.html
│ │ │ │ ├── Custom2.html
│ │ │ │ ├── Custom3.html
│ │ │ │ ├── Default.html
│ │ │ │ ├── FormerListGroup.html
│ │ │ │ ├── HorizontalCards.html
│ │ │ │ ├── ListGroup.html
│ │ │ │ ├── Media
│ │ │ │ ├── Dummy.html
│ │ │ │ ├── File.html
│ │ │ │ ├── Image.html
│ │ │ │ └── Video.html
│ │ │ │ └── Pagination.html
│ │ │ └── Templates
│ │ │ ├── Category
│ │ │ └── List.html
│ │ │ ├── News
│ │ │ ├── Detail.html
│ │ │ ├── List.html
│ │ │ ├── SearchForm.html
│ │ │ └── SearchResult.html
│ │ │ └── Tag
│ │ │ └── List.html
│ ├── Language
│ │ ├── locallang.xlf
│ │ ├── locallang_be.xlf
│ │ ├── locallang_db.xlf
│ │ └── locallang_m1.xlf
│ ├── Layouts
│ │ └── Content
│ │ │ ├── Button.html
│ │ │ ├── Default.html
│ │ │ ├── ListgroupWrapper.html
│ │ │ └── TilingCard.html
│ ├── Partials
│ │ ├── BackendLayouts
│ │ │ ├── 1.html
│ │ │ ├── OneCol.html
│ │ │ ├── OneCol_Extra.html
│ │ │ ├── ThreeCol.html
│ │ │ ├── ThreeCol_Extra.html
│ │ │ ├── TwoCol_3-9.html
│ │ │ ├── TwoCol_3-9_Extra.html
│ │ │ ├── TwoCol_9-3.html
│ │ │ ├── TwoCol_9-3_Extra.html
│ │ │ └── none.html
│ │ ├── Bullets
│ │ │ ├── Type-2.html
│ │ │ ├── Type-3.html
│ │ │ ├── Type-4.html
│ │ │ └── Type-5.html
│ │ ├── Content
│ │ │ ├── Card
│ │ │ │ ├── FlipCard.html
│ │ │ │ └── ProfileCard.html
│ │ │ ├── Header
│ │ │ │ ├── All.html
│ │ │ │ ├── Date.html
│ │ │ │ ├── Header.html
│ │ │ │ └── SubHeader.html
│ │ │ ├── Layouts
│ │ │ │ └── Assets.html
│ │ │ ├── Media
│ │ │ │ ├── Carousel.html
│ │ │ │ ├── Effects.html
│ │ │ │ ├── Gallery.html
│ │ │ │ ├── RawGallery.html
│ │ │ │ ├── Rendering
│ │ │ │ │ ├── Image.html
│ │ │ │ │ └── Video.html
│ │ │ │ ├── Type.html
│ │ │ │ └── Type
│ │ │ │ │ ├── Image.html
│ │ │ │ │ └── Video.html
│ │ │ ├── Swiper
│ │ │ │ ├── CustomOne.html
│ │ │ │ ├── CustomTwo.html
│ │ │ │ └── Default.html
│ │ │ ├── Table
│ │ │ │ └── Columns.html
│ │ │ ├── Text.html
│ │ │ └── TextWithImage.html
│ │ ├── FunctionAssets.html
│ │ ├── MainAssets.html
│ │ └── Page
│ │ │ ├── Assets.html
│ │ │ ├── Breadcrumb.html
│ │ │ ├── Chapter.html
│ │ │ ├── ColorModeToggler.html
│ │ │ ├── ExpandedContent
│ │ │ ├── Bottom.html
│ │ │ └── Top.html
│ │ │ ├── Footer.html
│ │ │ ├── Jumbotron.html
│ │ │ ├── Meta.html
│ │ │ ├── Navbar
│ │ │ ├── Assets.html
│ │ │ ├── DarkModeToggler.html
│ │ │ ├── Language.html
│ │ │ ├── MenuRight.html
│ │ │ ├── Navbar.html
│ │ │ ├── NavbarExtraRow.html
│ │ │ └── Plusicon.html
│ │ │ ├── Pagebrowser.html
│ │ │ ├── Searchbox.html
│ │ │ ├── Section.html
│ │ │ ├── Skiplinks.html
│ │ │ ├── Sub.html
│ │ │ ├── Title.html
│ │ │ ├── _main.html
│ │ │ └── _mainfullheight.html
│ └── Templates
│ │ ├── Config
│ │ └── List.html
│ │ ├── Container
│ │ ├── AutoLayoutRow.html
│ │ ├── BackgroundWrapper.html
│ │ ├── Buttongroup.html
│ │ ├── CardWrapper.html
│ │ ├── CarouselContainer.html
│ │ ├── Collapsible.html
│ │ ├── CollapsibleContainer.html
│ │ ├── Container.html
│ │ ├── Default.html
│ │ ├── FourColumns.html
│ │ ├── ListGroupWrapper.html
│ │ ├── MasonryWrapper.html
│ │ ├── Modal.html
│ │ ├── ParallaxWrapper.html
│ │ ├── RowColumns.html
│ │ ├── SixColumns.html
│ │ ├── SwiperContainer.html
│ │ ├── Tab.html
│ │ ├── TabContainer.html
│ │ ├── ThreeColumns.html
│ │ ├── ToastContainer.html
│ │ └── TwoColumns.html
│ │ ├── Content
│ │ ├── AssetsInline.html
│ │ ├── Button.html
│ │ ├── Card.html
│ │ ├── Carousel.html
│ │ ├── FluidTemplate.html
│ │ ├── Header.html
│ │ ├── Image.html
│ │ ├── ImageGallery.html
│ │ ├── Mediaobject.html
│ │ ├── MenuAbstract.html
│ │ ├── MenuCategorizedContent.html
│ │ ├── MenuCategorizedPages.html
│ │ ├── MenuPages.html
│ │ ├── MenuRecentlyUpdated.html
│ │ ├── MenuRelatedPages.html
│ │ ├── MenuSection.html
│ │ ├── MenuSectionPages.html
│ │ ├── MenuSitemap.html
│ │ ├── MenuSitemapPages.html
│ │ ├── MenuSubpages.html
│ │ ├── Shortcut.html
│ │ ├── Table.html
│ │ ├── Textmedia.html
│ │ ├── Textpic.html
│ │ ├── Toast.html
│ │ └── Uploads.html
│ │ ├── Main.html
│ │ ├── Preview
│ │ ├── AssetsInline.html
│ │ ├── Button.html
│ │ ├── Card.html
│ │ └── Carousel.html
│ │ └── Print
│ │ ├── Button.html
│ │ └── Page.html
└── Public
│ ├── Backend
│ └── Style
│ │ └── bestyles.css
│ ├── Icons
│ ├── Extension.svg
│ ├── Layouts
│ │ ├── _layout-1_col_extra.svg
│ │ ├── layout-1_col-carousel.svg
│ │ ├── layout-1_col-jumbotron.svg
│ │ ├── layout-1_col.svg
│ │ ├── layout-1_col_extra.gif
│ │ ├── layout-1_col_extra.svg
│ │ ├── layout-2_col-3-9.svg
│ │ ├── layout-2_col-3-9_extra.svg
│ │ ├── layout-2_col-9-3.svg
│ │ ├── layout-2_col-9-3_extra.gif
│ │ ├── layout-2_col-9-3_extra.svg
│ │ ├── layout-3_col-3-6-3.svg
│ │ ├── layout-3_col-3-6-3_extra.gif
│ │ ├── layout-3_col-3-6-3_extra.svg
│ │ └── layout-one_page.svg
│ ├── Register
│ │ ├── bars.svg
│ │ ├── bs-button.svg
│ │ ├── bs-card.svg
│ │ ├── bs-carousel.svg
│ │ ├── bs-fluidtemplate.svg
│ │ ├── bs-gallery.svg
│ │ ├── css-javascript.png
│ │ ├── ge-2_col.svg
│ │ ├── ge-3_col.svg
│ │ ├── ge-4_col.svg
│ │ ├── ge-accordion-container.svg
│ │ ├── ge-accordion-element.svg
│ │ ├── ge-background_wrapper.svg
│ │ ├── ge-card-container.svg
│ │ ├── ge-carousel-container.svg
│ │ ├── ge-modal.svg
│ │ ├── ge-parallax_wrapper.svg
│ │ ├── ge-tab-container.svg
│ │ └── ge-tab-element.svg
│ ├── favicon.ico
│ ├── relation.gif
│ ├── tx_t3sbootstrap_domain_model_config.gif
│ └── user_mod_m1.svg
│ ├── Images
│ ├── bootstrap-logo-white.svg
│ ├── bootstrap-logo.svg
│ ├── bootstrap-solid.svg
│ ├── loader.gif
│ └── raster.png
│ ├── Scripts
│ ├── bootstrap5-dropdown-ml-hack.js
│ └── bootstrap5-dropup-ml-hack.js
│ └── Styles
│ ├── SVG
│ ├── downloadLink.svg
│ ├── emailLink.svg
│ ├── externalLink.svg
│ ├── internalLink.svg
│ └── phoneLink.svg
│ ├── hoverEffects.css
│ ├── megaMenu.css
│ ├── raster.png
│ ├── t3sbootstrap.css
│ ├── t3sprint.css
│ └── webfonts
│ ├── fa-brands-400.ttf
│ ├── fa-brands-400.woff2
│ ├── fa-regular-400.ttf
│ ├── fa-regular-400.woff2
│ ├── fa-solid-900.ttf
│ └── fa-solid-900.woff2
├── composer.json
├── ext_conf_template.txt
├── ext_emconf.php
├── ext_localconf.php
├── ext_tables.sql
└── readMe.md
/Classes/Backend/EventListener/FlexForm/NewsFlexformEvent.php:
--------------------------------------------------------------------------------
1 | getDataStructure();
16 | $identifier = $event->getIdentifier();
17 |
18 | if ($identifier['type'] === 'tca' && $identifier['tableName'] === 'tt_content'
19 | && ($identifier['dataStructureKey'] === '*,news_pi1' || $identifier['dataStructureKey'] === '*,news_newsliststicky' || $identifier['dataStructureKey'] === '*,news_newsdetail')) {
20 | $file = GeneralUtility::getFileAbsFileName('EXT:t3sbootstrap/Resources/Private/Extensions/news/Configuration/FlexForms/News.xml');
21 | $content = file_get_contents($file);
22 |
23 | if ($content) {
24 | $extraDataStructure['sheets']['extraEntry'] = GeneralUtility::xml2array($content);
25 | ArrayUtility::mergeRecursiveWithOverrule($dataStructure, $extraDataStructure);
26 | }
27 | }
28 |
29 | $event->setDataStructure($dataStructure);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/Classes/Components/Mediaobject.php:
--------------------------------------------------------------------------------
1 | 1 ) {
26 | $tableclass = 'table';
27 | foreach ($tableClassArr as $tc) {
28 | if ( strlen($tc) > 5 ) {
29 | $tableclass .= substr($tc, 5);
30 | }
31 | }
32 | } else {
33 | $tableclass = $flexconf['tableClass'] ? ' '.$flexconf['tableClass']:'';
34 | }
35 | $tableclass .= $flexconf['tableInverse'] ? ' table-dark' : '';
36 | $tableclass .= $processedData['data']['tx_t3sbootstrap_extra_class'] ? ' '.$processedData['data']['tx_t3sbootstrap_extra_class'] : '';
37 | $processedData['tableclass'] = trim($tableclass);
38 | $processedData['theadclass'] = !empty($flexconf['theadClass']) ? $flexconf['theadClass'] : '';
39 | $processedData['tableResponsive'] = $flexconf['tableResponsive'] ? TRUE : FALSE;
40 | $processedData['tableResponsiveVariant'] = !empty($flexconf['tableResponsiveVariant']) ? TRUE : FALSE;
41 |
42 | return $processedData;
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/Classes/Domain/Repository/ConfigRepository.php:
--------------------------------------------------------------------------------
1 | setRespectStoragePage(false);
20 | $this->setDefaultQuerySettings($querySettings);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/Classes/ExpressionLanguage/T3sbConditionProvider.php:
--------------------------------------------------------------------------------
1 | expressionLanguageProviders = [
20 | T3sbConditionFunctionsProvider::class
21 | ];
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Classes/Layouts/FourColumns.php:
--------------------------------------------------------------------------------
1 | getGutters($processedData, $flexconf);
25 | $processedData = GeneralUtility::makeInstance(Grid::class)->getGrid($processedData, $flexconf);
26 | $processedData['equalHeight'] = !empty($flexconf['equalHeight']) ? ' d-flex align-items-stretch' : '';
27 |
28 | return $processedData;
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/Classes/Layouts/Gutters.php:
--------------------------------------------------------------------------------
1 | getGutters($processedData, $flexconf);
27 | $processedData = GeneralUtility::makeInstance(Grid::class)->getGrid($processedData, $flexconf);
28 |
29 | $rowClass = [];
30 | if ($flexconf['cols_extraClass'] ?? '') {
31 | foreach (explode(',',$flexconf['cols_extraClass']) as $key=>$cec ) {
32 | $colsClass[$key] = ' '.trim($cec);
33 | }
34 | $processedData['extraClassCols'] = $colsClass;
35 | }
36 | foreach (array_reverse($flexconf) as $key=>$grid) {
37 | if ( str_ends_with($key, 'rowclass') ) {
38 | $rowClass[$key] = $grid;
39 | }
40 | }
41 | $processedData['class'] .= ' '.trim(implode(' ',$rowClass));
42 |
43 | return $processedData;
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/Classes/Layouts/SixColumns.php:
--------------------------------------------------------------------------------
1 | getGutters($processedData, $flexconf);
25 | $processedData = GeneralUtility::makeInstance(Grid::class)->getGrid($processedData, $flexconf);
26 |
27 | $processedData['equalHeight'] = !empty($flexconf['equalHeight']) ? ' d-flex align-items-stretch' : '';
28 |
29 | return $processedData;
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/Classes/Layouts/ThreeColumns.php:
--------------------------------------------------------------------------------
1 | getGutters($processedData, $flexconf);
25 | $processedData = GeneralUtility::makeInstance(Grid::class)->getGrid($processedData, $flexconf);
26 |
27 | $processedData['equalHeight'] = !empty($flexconf['equalHeight']) ? ' d-flex align-items-stretch' : '';
28 |
29 | return $processedData;
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/Classes/PageTitle/BreadcrumbProvider.php:
--------------------------------------------------------------------------------
1 | getConfiguration(
34 | ConfigurationManagerInterface::CONFIGURATION_TYPE_SETTINGS,
35 | 't3sbootstrap',
36 | 'm1'
37 | );
38 |
39 | $this->title = '';
40 | $request = $GLOBALS['TYPO3_REQUEST'];
41 | $frontendController = $request->getAttribute('frontend.controller');
42 | $rootline = $frontendController->rootLine;
43 | foreach (array_reverse($rootline) as $key=>$titlePart) {
44 | if ($key !== 0) {
45 | $this->title .= $titlePart['title'];
46 | if ($key !== count($rootline)-1) {
47 | $this->title .= ' '.$settings['pageTitle']['separator'].' ';
48 | }
49 | }
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/Classes/Parser/ParserInterface.php:
--------------------------------------------------------------------------------
1 | getAttribute('frontend.typoscript')->getSetupArray();
17 | }
18 |
19 | public static function getConstants(ServerRequestInterface $request): array
20 | {
21 | return $request->getAttribute('frontend.typoscript')->getFlatSettings();
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/Classes/ViewHelpers/AlternativeViewHelper.php:
--------------------------------------------------------------------------------
1 | registerArgument('title', 'string', 'title', true);
22 | $this->registerArgument('name', 'string', 'name', true);
23 | }
24 |
25 | public function render()
26 | {
27 | if (!empty($this->arguments['title'])) {
28 | return $this->arguments['title'];
29 | }
30 |
31 | if (!empty($this->arguments['name'])) {
32 | $name = explode(".", $this->arguments['name']);
33 | return $name[0];
34 | }
35 |
36 | return '';
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Classes/ViewHelpers/Backend/InfoImageViewHelper.php:
--------------------------------------------------------------------------------
1 | registerArgument('uid', 'int', 'record uid', true);
24 | }
25 |
26 | public function render(): array
27 | {
28 | return GeneralUtility::makeInstance(FileRepository::class)->findByRelation('tt_content', 'assets', $this->arguments['uid']);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/Classes/ViewHelpers/DummyImageViewHelper.php:
--------------------------------------------------------------------------------
1 | registerArgument('uid', 'string', 'Uid of tt_content with custom dummy image for EXT:news', false);
22 | }
23 |
24 | public function render()
25 | {
26 | $fileRepository = GeneralUtility::makeInstance(FileRepository::class);
27 | $fileObjects = $fileRepository->findByRelation('tt_content', 'image', (int)$this->arguments['uid']);
28 | if (empty($fileObjects)) {
29 | $fileObjects = $fileRepository->findByRelation('tt_content', 'assets', (int)$this->arguments['uid']);
30 | }
31 | return !empty($fileObjects) ? $fileObjects[0] : '';
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/Classes/ViewHelpers/EmconfViewHelper.php:
--------------------------------------------------------------------------------
1 | get('t3sbootstrap');
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/Classes/ViewHelpers/FlexformViewHelper.php:
--------------------------------------------------------------------------------
1 | registerArgument('data', 'string', 'xml data', true);
28 | }
29 |
30 | public function render(): array
31 | {
32 | if (!empty($this->arguments['data'])) {
33 | return GeneralUtility::makeInstance(FlexFormService::class)->convertFlexFormContentToArray($this->arguments['data']);
34 | }
35 |
36 | return [];
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/Classes/ViewHelpers/GetUsernameViewHelper.php:
--------------------------------------------------------------------------------
1 | context->getPropertyFromAspect('frontend.user', 'username', '');
25 | return $frontendUserUsername;
26 | # return strval($GLOBALS['TSFE']->fe_user->user['username']);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/Classes/Wrapper/MasonryWrapper.php:
--------------------------------------------------------------------------------
1 | [
12 | 'parent' => 'web',
13 | 'position' => ['after' => 'web_list'],
14 | 'access' => 'user,group',
15 | 'workspaces' => 'live',
16 | 'path' => '/module/web/T3sbootstrap',
17 | 'labels' => 'LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_m1.xlf',
18 | 'extensionName' => 'T3sbootstrap',
19 | 'iconIdentifier' => 'bootstraplogo',
20 | 'controllerActions' => [
21 | ConfigController::class => [
22 | 'list', 'new', 'create', 'edit', 'update', 'delete', 'dashboard', 'constants',
23 | ],
24 | ],
25 | ],
26 | ];
27 |
--------------------------------------------------------------------------------
/Configuration/ExpressionLanguage.php:
--------------------------------------------------------------------------------
1 | [
16 | \T3SBS\T3sbootstrap\ExpressionLanguage\T3sbConditionProvider::class
17 | ]
18 | ];
19 |
--------------------------------------------------------------------------------
/Configuration/FlexForms/AssetInline.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Inline JavaScript Settings
6 | array
7 |
8 |
9 |
10 | Enable if you use jquery.
11 |
12 | check
13 |
14 |
15 |
16 |
17 | Define whether the JavaScript should be put in the <head> tag above-the-fold or somewhere in the body part.
18 |
19 | check
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Configuration/Icons.php:
--------------------------------------------------------------------------------
1 | [
9 | 'provider' => BitmapIconProvider::class,
10 | 'source' => 'EXT:t3sbootstrap/Resources/Public/Icons/Register/css-javascript.png',
11 | ],
12 |
13 | 'bootstraplogo' => [
14 | 'provider' => SvgIconProvider::class,
15 | 'source' => 'EXT:t3sbootstrap/Resources/Public/Icons/Extension.svg',
16 | ],
17 |
18 | ];
19 |
--------------------------------------------------------------------------------
/Configuration/Sets/T3sbootstrap/config.yaml:
--------------------------------------------------------------------------------
1 | name: t3sbs/t3sbootstrap
2 | label: T3S Bootstrap setting
3 |
--------------------------------------------------------------------------------
/Configuration/Sets/T3sbootstrap/constants.typoscript:
--------------------------------------------------------------------------------
1 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/constants.typoscript'
2 |
--------------------------------------------------------------------------------
/Configuration/Sets/T3sbootstrap/setup.typoscript:
--------------------------------------------------------------------------------
1 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/setup.typoscript'
--------------------------------------------------------------------------------
/Configuration/TCA/Overrides/sys_template.php:
--------------------------------------------------------------------------------
1 | [
5 | 'title' => 'List Item inline for Card List Group',
6 | 'label' => 'listitem',
7 | 'tstamp' => 'tstamp',
8 | 'crdate' => 'crdate',
9 | 'enablecolumns' => [],
10 | 'hideTable' => 1,
11 | 'searchFields' => '',
12 | 'iconfile' => 'EXT:t3sbootstrap/Resources/Public/Icons/tx_t3sbootstrap_domain_model_config.gif',
13 | 'security' => [
14 | 'ignorePageTypeRestriction' => true,
15 | ],
16 | 'transOrigPointerField' => 'l10n_parent',
17 | 'transOrigDiffSourceField' => 'l10n_diffsource',
18 | 'languageField' => 'sys_language_uid',
19 | 'translationSource' => 'l10n_source',
20 | ],
21 |
22 | 'columns' => [
23 | 'hidden' => [
24 | 'config' => [
25 | 'type' => 'check',
26 | 'items' => [
27 | ['label' => 'Disable',],
28 | ]
29 | ],
30 | ],
31 | 'sys_language_uid' => [
32 | 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.language',
33 | 'config' => [
34 | 'type' => 'language',
35 | ],
36 | ],
37 | 'parentid' => [
38 | 'config' => [
39 | 'type' => 'passthrough',
40 | ],
41 | ],
42 | 'parenttable' => [
43 | 'config' => [
44 | 'type' => 'passthrough',
45 | ],
46 | ],
47 | 'listitem' => [
48 | 'label' => 'List Item',
49 | 'config' => [
50 | 'type' => 'input',
51 | ],
52 | ],
53 | ],
54 |
55 | 'types' => [
56 | '0' => [
57 | 'showitem' => 'listitem',
58 | ],
59 | ],
60 |
61 | ];
--------------------------------------------------------------------------------
/Configuration/TSConfig/BackendLayouts/Default/OneCol.tsconfig:
--------------------------------------------------------------------------------
1 | mod {
2 | web_layout {
3 | BackendLayouts {
4 | OneCol {
5 | title = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.oneCol
6 | config {
7 | backend_layout {
8 | colCount = 1
9 | rowCount = 3
10 | rows {
11 | 1 {
12 | columns {
13 | 1 {
14 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.jumbotron
15 | colPos = 3
16 | }
17 | }
18 | }
19 | 2 {
20 | columns {
21 | 1 {
22 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.content
23 | colPos = 0
24 | }
25 | }
26 | }
27 | 3 {
28 | columns {
29 | 1 {
30 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.footer
31 | colPos = 4
32 | }
33 | }
34 | }
35 | }
36 | }
37 | }
38 | icon = EXT:t3sbootstrap/Resources/Public/Icons/Layouts/layout-1_col.svg
39 | }
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/BackendLayouts/Default/OneCol_Extra.tsconfig:
--------------------------------------------------------------------------------
1 | mod {
2 | web_layout {
3 | BackendLayouts {
4 | OneCol_Extra {
5 | title = 1 Column with extra rows (top and bottom)
6 | config {
7 | backend_layout {
8 | colCount = 1
9 | rowCount = 3
10 | rows {
11 | 1 {
12 | columns {
13 | 1 {
14 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.jumbotron
15 | colPos = 3
16 | }
17 | }
18 | }
19 | 2 {
20 | columns {
21 | 1 {
22 | name = Expanded Content Top
23 | colPos = 20
24 | }
25 | }
26 | }
27 | 3 {
28 | columns {
29 | 1 {
30 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.content
31 | colPos = 0
32 | }
33 | }
34 | }
35 | 4 {
36 | columns {
37 | 1 {
38 | name = Expanded Content Bottom
39 | colPos = 21
40 | }
41 | }
42 | }
43 | 5 {
44 | columns {
45 | 1 {
46 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.footer
47 | colPos = 4
48 | }
49 | }
50 | }
51 | }
52 | }
53 | }
54 | icon = EXT:t3sbootstrap/Resources/Public/Icons/Layouts/layout-1_col_extra.svg
55 | }
56 | }
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/BackendLayouts/Default/ThreeCol.tsconfig:
--------------------------------------------------------------------------------
1 | mod {
2 | web_layout {
3 | BackendLayouts {
4 | ThreeCol {
5 | title = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.threeCol
6 | config {
7 | backend_layout {
8 | colCount = 3
9 | rowCount = 3
10 | rows {
11 | 1 {
12 | columns {
13 | 1 {
14 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.jumbotron
15 | colspan = 3
16 | colPos = 3
17 | }
18 | }
19 | }
20 | 2 {
21 | columns {
22 | 1 {
23 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.sidebar-left
24 | colspan = 1
25 | colPos = 1
26 | }
27 | 2 {
28 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.content
29 | colspan = 1
30 | colPos = 0
31 | }
32 | 3 {
33 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.sidebar-right
34 | colspan = 1
35 | colPos = 2
36 | }
37 | }
38 | }
39 | 3 {
40 | columns {
41 | 1 {
42 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.footer
43 | colspan = 3
44 | colPos = 4
45 | }
46 | }
47 | }
48 | }
49 | }
50 | }
51 | icon = EXT:t3sbootstrap/Resources/Public/Icons/Layouts/layout-3_col-3-6-3.svg
52 | }
53 | }
54 | }
55 | }
56 |
57 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/BackendLayouts/Default/TwoCol_3-9.tsconfig:
--------------------------------------------------------------------------------
1 | mod {
2 | web_layout {
3 | BackendLayouts {
4 | TwoCol_3-9 {
5 | title = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.twoCol_3-9
6 | config {
7 | backend_layout {
8 | colCount = 3
9 | rowCount = 3
10 | rows {
11 | 1 {
12 | columns {
13 | 1 {
14 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.jumbotron
15 | colspan = 3
16 | colPos = 3
17 | }
18 | }
19 | }
20 | 2 {
21 | columns {
22 | 1 {
23 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.sidebar
24 | colspan = 1
25 | colPos = 1
26 | }
27 | 2 {
28 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.content
29 | colspan = 2
30 | colPos = 0
31 | }
32 | }
33 | }
34 | 3 {
35 | columns {
36 | 1 {
37 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.footer
38 | colspan = 3
39 | colPos = 4
40 | }
41 | }
42 | }
43 | }
44 | }
45 | }
46 | icon = EXT:t3sbootstrap/Resources/Public/Icons/Layouts/layout-2_col-3-9.svg
47 | }
48 | }
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/BackendLayouts/Default/TwoCol_9-3.tsconfig:
--------------------------------------------------------------------------------
1 | mod {
2 | web_layout {
3 | BackendLayouts {
4 | TwoCol_9-3 {
5 | title = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.twoCol_9-3
6 | config {
7 |
8 | backend_layout {
9 | colCount = 3
10 | rowCount = 3
11 | rows {
12 | 1 {
13 | columns {
14 | 1 {
15 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.jumbotron
16 | colspan = 3
17 | colPos = 3
18 | }
19 | }
20 | }
21 | 2 {
22 | columns {
23 | 1 {
24 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.content
25 | colspan = 2
26 | colPos = 0
27 | }
28 | 2 {
29 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.sidebar
30 | colspan = 1
31 | colPos = 2
32 | }
33 | }
34 | }
35 | 3 {
36 | columns {
37 | 1 {
38 | name = LLL:EXT:t3sbootstrap/Resources/Private/Language/locallang_be.xlf:backend_layout.footer
39 | colspan = 3
40 | colPos = 4
41 | }
42 | }
43 | }
44 | }
45 | }
46 | }
47 | icon = EXT:t3sbootstrap/Resources/Public/Icons/Layouts/layout-2_col-9-3.svg
48 | }
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/BackendLayouts/Default/_main.tsconfig:
--------------------------------------------------------------------------------
1 | @import 'EXT:t3sbootstrap/Configuration/TSConfig/BackendLayouts/Default/OneCol.tsconfig'
2 | @import 'EXT:t3sbootstrap/Configuration/TSConfig/BackendLayouts/Default/TwoCol_9-3.tsconfig'
3 | @import 'EXT:t3sbootstrap/Configuration/TSConfig/BackendLayouts/Default/TwoCol_3-9.tsconfig'
4 | @import 'EXT:t3sbootstrap/Configuration/TSConfig/BackendLayouts/Default/ThreeCol.tsconfig'
5 |
6 | @import 'EXT:t3sbootstrap/Configuration/TSConfig/BackendLayouts/Default/OneCol_Extra.tsconfig'
7 | @import 'EXT:t3sbootstrap/Configuration/TSConfig/BackendLayouts/Default/TwoCol_9-3_Extra.tsconfig'
8 | @import 'EXT:t3sbootstrap/Configuration/TSConfig/BackendLayouts/Default/TwoCol_3-9_Extra.tsconfig'
9 | @import 'EXT:t3sbootstrap/Configuration/TSConfig/BackendLayouts/Default/ThreeCol_Extra.tsconfig'
10 |
11 | @import 'EXT:t3sbootstrap/Configuration/TSConfig/BackendLayouts/Default/BootstrapCondition.tsconfig'
12 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/CKEditor.tsconfig:
--------------------------------------------------------------------------------
1 | ####################################################################
2 | #### Allen Editoren im BE wird der Stil t3sbootstrap zugewiesen ####
3 | ####################################################################
4 |
5 |
6 | RTE {
7 | default {
8 | preset = t3sbootstrap
9 |
10 | classesAnchor {
11 | page {
12 | class = internal-link
13 | type = page
14 | }
15 |
16 | file {
17 | class = download-link
18 | type = file
19 | }
20 |
21 | url {
22 | class = external-link
23 | type = url
24 | }
25 |
26 | telephone {
27 | class = phone-link
28 | type = telephone
29 | }
30 |
31 | email {
32 | class = email-link
33 | type = email
34 | }
35 |
36 | }
37 | buttons.link {
38 | properties.class.allowedClasses = phone-link, fax-link, external-link, internal-link, email-link, download-link, btn, btn btn-primary, btn btn-secondary, btn btn-success, btn btn-danger, btn btn-warning, btn btn-info, btn btn-light, btn btn-dark, js-scroll-trigger, text-primary, text-secondary, text-success, text-danger, text-warning, text-info,text-light, text-light bg-dark, text-dark, text-muted, text-white, text-white bg-dark, stretched-link, link-primary, link-secondary, link-success, link-primary, link-secondary, link-success, link-danger, link-warning, link-info, link-light, link-darklink, link-danger, link-warning, link-info, link-light, link-dark
39 |
40 | }
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/Page.tsconfig:
--------------------------------------------------------------------------------
1 | #-------------------------------------------------------------------------------
2 | # Pages
3 | #-------------------------------------------------------------------------------
4 | TCAdefaults.pages.tx_t3sbootstrap_container = container
5 |
6 | [tree.level in [2]]
7 | [else]
8 | TCEFORM.pages.tx_t3sbootstrap_dropdownRight.disabled = 1
9 | [global]
10 |
11 | [traverse(page, "doktype") == 198]
12 | TCEFORM.pages.subtitle.disabled = 1
13 | TCEFORM.pages.nav_title.disabled = 1
14 | TCEFORM.pages.crdate.disabled = 1
15 | [global]
16 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/Registered/Alerts.tsconfig:
--------------------------------------------------------------------------------
1 | TCEFORM.tt_content {
2 | layout {
3 | addItems {
4 | 94 = ------ T3SB ------
5 | 105 = Alert primary
6 | 106 = Alert info
7 | 107 = Alert success
8 | 108 = Alert warning
9 | 109 = Alert danger
10 | 110 = Alert secondary
11 | 111 = Alert light
12 | 112 = Alert dark
13 | }
14 | altLabels {
15 | 94 = ------ T3SB ------
16 | 105 = Alert primary
17 | 106 = Alert info
18 | 107 = Alert success
19 | 108 = Alert warning
20 | 109 = Alert danger
21 | 110 = Alert secondary
22 | 111 = Alert light
23 | 112 = Alert dark
24 | }
25 | classes {
26 | 94 =
27 | 105 = alert alert-primary
28 | 106 = alert alert-info
29 | 107 = alert alert-success
30 | 108 = alert alert-warning
31 | 109 = alert alert-danger
32 | 110 = alert alert-secondary
33 | 111 = alert alert-light
34 | 112 = alert alert-dark
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/Registered/Callouts.tsconfig:
--------------------------------------------------------------------------------
1 | TCEFORM.tt_content {
2 | layout {
3 | addItems {
4 | 94 = ------ T3SB ------
5 | 95 = Callout primary
6 | 96 = Callout info
7 | 97 = Callout success
8 | 98 = Callout warning
9 | 99 = Callout danger
10 | 100 = Callout secondary
11 | }
12 | altLabels {
13 | 94 = ------ T3SB ------
14 | 95 = Callout primary
15 | 96 = Callout info
16 | 97 = Callout success
17 | 98 = Callout warning
18 | 99 = Callout danger
19 | 100 = Callout secondary
20 | }
21 | classes {
22 | 94 =
23 | 95 = bs-callout bs-callout-primary
24 | 96 = bs-callout bs-callout-info
25 | 97 = bs-callout bs-callout-success
26 | 98 = bs-callout bs-callout-warning
27 | 99 = bs-callout bs-callout-danger
28 | 100 = bs-callout bs-callout-secondary
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/Configuration/TSConfig/Registered/Header.tsconfig:
--------------------------------------------------------------------------------
1 | TCEFORM.tt_content.CType.removeItems := addToList(header)
--------------------------------------------------------------------------------
/Configuration/TSConfig/Registered/Image.tsconfig:
--------------------------------------------------------------------------------
1 | TCEFORM.tt_content.CType.removeItems := addToList(image)
2 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/Registered/Text.tsconfig:
--------------------------------------------------------------------------------
1 | TCEFORM.tt_content.CType.removeItems := addToList(text)
2 |
--------------------------------------------------------------------------------
/Configuration/TSConfig/Registered/Textpic.tsconfig:
--------------------------------------------------------------------------------
1 | TCEFORM.tt_content.CType.removeItems := addToList(textpic)
2 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Content/_main.typoscript:
--------------------------------------------------------------------------------
1 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/Content/Content.typoscript'
2 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/ContentElement/_main.typoscript:
--------------------------------------------------------------------------------
1 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/ContentElement/Default.typoscript'
2 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/ContentElement/Bootstrap.typoscript'
3 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/ContentElement/Container.typoscript'
4 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/Configuration.typoscript:
--------------------------------------------------------------------------------
1 | # **********************************************************
2 | # General configuration of a page
3 | # **********************************************************
4 | page = PAGE
5 | page {
6 | meta {
7 | # Required meta tag for Bootstrap 5
8 | viewport = width=device-width, initial-scale=1
9 | }
10 |
11 | shortcutIcon = {$bootstrap.config.favicon}
12 | }
13 |
14 | config {
15 | disablePrefixComment = {$bootstrap.config.disablePrefixComment}
16 | removeDefaultJS = external
17 |
18 | compressJs = {$bootstrap.config.compress}
19 | compressCss = {$bootstrap.config.compress}
20 | concatenateJs = {$bootstrap.config.compress}
21 | concatenateCss = {$bootstrap.config.compress}
22 | }
23 |
24 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/Fileadmin/IncludeBootstrapCss.typoscript:
--------------------------------------------------------------------------------
1 | page {
2 |
3 | includeCSSLibs {
4 |
5 | ##########################################################################################################
6 | #
7 | # BOOTSTRAP CSS
8 | #
9 | ##########################################################################################################
10 |
11 | bootstrapCSS = /fileadmin/T3SB/Resources/Public/T3SB-CSS/bootstrap.min.css
12 |
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/Fileadmin/IncludeDefault.typoscript:
--------------------------------------------------------------------------------
1 | page {
2 | includeCSS {
3 |
4 | ##########################################################################################################
5 | #
6 | # GOOGLE FONTS
7 | #
8 | ##########################################################################################################
9 |
10 | googleFontCSS = /fileadmin/T3SB/Resources/Public/T3SB-CSS/googlefonts.css
11 | googleFontCSS.if.isTrue = {$bootstrap.cdn.googlefonts}
12 |
13 | }
14 | }
15 |
16 |
17 |
18 | # load jquery into the header
19 | [{$bootstrap.config.jqueryHeader} == 1 && {$bootstrap.cdn.enable} == 0]
20 | page.includeJSFooterlibs.jquery >
21 | page.includeJSLibs {
22 | jquery = /fileadmin/T3SB/Resources/Public/T3SB-JS/jquery.min.js
23 | jquery.forceOnTop = 1
24 | jquery.if.isFalse = {$bootstrap.disable.jquery}
25 | }
26 | [END]
27 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/Fileadmin/_main.typoscript:
--------------------------------------------------------------------------------
1 |
2 | [{$bootstrap.extconf.customScss} == 1 && {$bootstrap.cdn.enable} == 0]
3 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/Page/Fileadmin/IncludeLocal.typoscript'
4 | [END]
5 |
6 | [{$bootstrap.extconf.customScss} == 0 && {$bootstrap.cdn.enable} == 0]
7 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/Page/Fileadmin/IncludeBootstrapCss.typoscript'
8 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/Page/Fileadmin/IncludeLocal.typoscript'
9 | [END]
10 |
11 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/Page/Fileadmin/IncludeDefault.typoscript'
12 |
13 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/IncludeBootstrapCdnCss.typoscript:
--------------------------------------------------------------------------------
1 | page {
2 |
3 | includeCSS {
4 |
5 | ##########################################################################################################
6 | #
7 | # BOOTSTRAP CSS
8 | #
9 | ##########################################################################################################
10 |
11 | # CDN
12 | bootstrapCDN = https://cdn.jsdelivr.net/npm/bootstrap@{$bootstrap.cdn.bootstrap}/dist/css/bootstrap.min.css
13 | bootstrapCDN.external = 1
14 | bootstrapCDN.forceOnTop = 1
15 | bootstrapCDN.if {
16 | isFalse = {$bootstrap.cdn.bootswatch}
17 | }
18 |
19 | ##########################################################################################################
20 | #
21 | # BOOTSWATCH
22 | #
23 | ##########################################################################################################
24 |
25 | # CDN
26 | bootswatchCDN = https://cdn.jsdelivr.net/npm/bootswatch@{$bootstrap.cdn.bootstrap}/dist/{$bootstrap.cdn.bootswatch}/bootstrap.min.css
27 | bootswatchCDN.external = 1
28 | bootswatchCDN.forceOnTop = 1
29 | bootswatchCDN.if {
30 | isTrue = {$bootstrap.cdn.bootswatch}
31 | }
32 | }
33 | }
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/IncludeBootstrapScss.typoscript:
--------------------------------------------------------------------------------
1 | page {
2 | includeCSSLibs {
3 |
4 | ##########################################################################################################
5 | #
6 | # BOOTSTRAP SCSS
7 | #
8 | ##########################################################################################################
9 |
10 | bootstrapCustom = uploads/tx_t3sbootstrap/bootstrap.scss
11 | bootstrapCustom.forceOnTop = 1
12 | }
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/Register.typoscript:
--------------------------------------------------------------------------------
1 |
2 | [{$bootstrap.ext.news} == 1]
3 | page.1 = LOAD_REGISTER
4 | page.1.newsTitle.cObject = RECORDS
5 | page.1.newsTitle.cObject {
6 | source = {GP:tx_news_pi1|news}
7 | source.insertData = 1
8 | tables = tx_news_domain_model_news
9 | conf.tx_news_domain_model_news >
10 | conf.tx_news_domain_model_news = TEXT
11 | conf.tx_news_domain_model_news.field = title
12 | }
13 | [global]
14 |
15 |
16 |
17 | /*
18 | page.20 = COA
19 | page.20 {
20 | 10 = TEXT
21 | 10.data = debug:register
22 | # 20 = TEXT
23 | # 20.data = debug:page
24 | }
25 | */
26 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/Sitepackage/IncludeBootstrapCss.typoscript:
--------------------------------------------------------------------------------
1 | page {
2 |
3 | includeCSSLibs {
4 |
5 | ##########################################################################################################
6 | #
7 | # BOOTSTRAP CSS
8 | #
9 | ##########################################################################################################
10 |
11 | bootstrapCSS = EXT:t3sb_package/Resources/Public/T3SB-CSS/bootstrap.min.css
12 |
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/Sitepackage/IncludeDefault.typoscript:
--------------------------------------------------------------------------------
1 | page {
2 | includeCSS {
3 |
4 | ##########################################################################################################
5 | #
6 | # GOOGLE FONTS
7 | #
8 | ##########################################################################################################
9 |
10 | googleFontCSS = EXT:t3sb_package/Resources/Public/T3SB-CSS/googlefonts.css
11 | googleFontCSS.if.isTrue = {$bootstrap.cdn.googlefonts}
12 |
13 | }
14 | }
15 |
16 |
17 |
18 | # load jquery into the header
19 | [{$bootstrap.config.jqueryHeader} == 1 && {$bootstrap.cdn.enable} == 0]
20 | page.includeJSFooterlibs.jquery >
21 | page.includeJSLibs {
22 | jquery = EXT:t3sb_package/Resources/Public/T3SB-JS/jquery.min.js
23 | jquery.forceOnTop = 1
24 | jquery.if.isFalse = {$bootstrap.disable.jquery}
25 | }
26 | [END]
27 |
--------------------------------------------------------------------------------
/Configuration/TypoScript/Page/Sitepackage/_main.typoscript:
--------------------------------------------------------------------------------
1 |
2 | [{$bootstrap.extconf.customScss} == 1 && {$bootstrap.cdn.enable} == 0]
3 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/Page/Sitepackage/IncludeLocal.typoscript'
4 | [END]
5 |
6 | [{$bootstrap.extconf.customScss} == 0 && {$bootstrap.cdn.enable} == 0]
7 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/Page/Sitepackage/IncludeBootstrapCss.typoscript'
8 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/Page/Sitepackage/IncludeLocal.typoscript'
9 | [END]
10 |
11 | @import 'EXT:t3sbootstrap/Configuration/TypoScript/Page/Sitepackage/IncludeDefault.typoscript'
12 |
13 |
--------------------------------------------------------------------------------
/Contrib/.htaccess:
--------------------------------------------------------------------------------
1 | # This file restricts access to the fileadmin/_temp_ directory. It is
2 | # meant to protect temporary files which could contain sensible
3 | # information. Please do not touch.
4 |
5 | Order deny,allow
6 | Deny from all
7 |
--------------------------------------------------------------------------------
/Contrib/scssphp/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (c) 2015 Leaf Corcoran, http://scssphp.github.io/scssphp
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining
4 | a copy of this software and associated documentation files (the
5 | "Software"), to deal in the Software without restriction, including
6 | without limitation the rights to use, copy, modify, merge, publish,
7 | distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to
9 | the following conditions:
10 |
11 | The above copyright notice and this permission notice shall be
12 | included in all copies or substantial portions of the Software.
13 |
14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/Contrib/scssphp/scss.inc.php:
--------------------------------------------------------------------------------
1 |
19 | *
20 | * @internal
21 | */
22 | class Range
23 | {
24 | /**
25 | * @var float|int
26 | */
27 | public $first;
28 |
29 | /**
30 | * @var float|int
31 | */
32 | public $last;
33 |
34 | /**
35 | * Initialize range
36 | *
37 | * @param int|float $first
38 | * @param int|float $last
39 | */
40 | public function __construct($first, $last)
41 | {
42 | $this->first = $first;
43 | $this->last = $last;
44 | }
45 |
46 | /**
47 | * Test for inclusion in range
48 | *
49 | * @param int|float $value
50 | *
51 | * @return bool
52 | */
53 | public function includes($value)
54 | {
55 | return $value >= $this->first && $value <= $this->last;
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block.php:
--------------------------------------------------------------------------------
1 |
19 | *
20 | * @internal
21 | */
22 | class Block
23 | {
24 | /**
25 | * @var string|null
26 | */
27 | public $type;
28 |
29 | /**
30 | * @var Block|null
31 | */
32 | public $parent;
33 |
34 | /**
35 | * @var string
36 | */
37 | public $sourceName;
38 |
39 | /**
40 | * @var int
41 | */
42 | public $sourceIndex;
43 |
44 | /**
45 | * @var int
46 | */
47 | public $sourceLine;
48 |
49 | /**
50 | * @var int
51 | */
52 | public $sourceColumn;
53 |
54 | /**
55 | * @var array|null
56 | */
57 | public $selectors;
58 |
59 | /**
60 | * @var array
61 | */
62 | public $comments;
63 |
64 | /**
65 | * @var array
66 | */
67 | public $children;
68 |
69 | /**
70 | * @var Block|null
71 | */
72 | public $selfParent;
73 | }
74 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/AtRootBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_AT_ROOT;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/CallableBlock.php:
--------------------------------------------------------------------------------
1 | type = $type;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/ContentBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_INCLUDE;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/DirectiveBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_DIRECTIVE;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/EachBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_EACH;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/ElseBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_ELSE;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/ElseifBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_ELSEIF;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/ForBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_FOR;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/IfBlock.php:
--------------------------------------------------------------------------------
1 |
30 | */
31 | public $cases = [];
32 |
33 | public function __construct()
34 | {
35 | $this->type = Type::T_IF;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/MediaBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_MEDIA;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/NestedPropertyBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_NESTED_PROPERTY;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Block/WhileBlock.php:
--------------------------------------------------------------------------------
1 | type = Type::T_WHILE;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/CompilationResult.php:
--------------------------------------------------------------------------------
1 | css = $css;
40 | $this->sourceMap = $sourceMap;
41 | $this->includedFiles = $includedFiles;
42 | }
43 |
44 | /**
45 | * @return string
46 | */
47 | public function getCss()
48 | {
49 | return $this->css;
50 | }
51 |
52 | /**
53 | * @return string[]
54 | */
55 | public function getIncludedFiles()
56 | {
57 | return $this->includedFiles;
58 | }
59 |
60 | /**
61 | * The sourceMap content, if it was generated
62 | *
63 | * @return null|string
64 | */
65 | public function getSourceMap()
66 | {
67 | return $this->sourceMap;
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Compiler/Environment.php:
--------------------------------------------------------------------------------
1 |
19 | *
20 | * @internal
21 | */
22 | class Environment
23 | {
24 | /**
25 | * @var \ScssPhp\ScssPhp\Block|null
26 | */
27 | public $block;
28 |
29 | /**
30 | * @var \ScssPhp\ScssPhp\Compiler\Environment|null
31 | */
32 | public $parent;
33 |
34 | /**
35 | * @var Environment|null
36 | */
37 | public $declarationScopeParent;
38 |
39 | /**
40 | * @var Environment|null
41 | */
42 | public $parentStore;
43 |
44 | /**
45 | * @var array|null
46 | */
47 | public $selectors;
48 |
49 | /**
50 | * @var string|null
51 | */
52 | public $marker;
53 |
54 | /**
55 | * @var array
56 | */
57 | public $store;
58 |
59 | /**
60 | * @var array
61 | */
62 | public $storeUnreduced;
63 |
64 | /**
65 | * @var int
66 | */
67 | public $depth;
68 | }
69 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Exception/CompilerException.php:
--------------------------------------------------------------------------------
1 |
19 | *
20 | * @internal
21 | */
22 | class CompilerException extends \Exception implements SassException
23 | {
24 | }
25 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Exception/ParserException.php:
--------------------------------------------------------------------------------
1 |
19 | *
20 | * @internal
21 | */
22 | class ParserException extends \Exception implements SassException
23 | {
24 | /**
25 | * @var array|null
26 | * @phpstan-var array{string, int, int}|null
27 | */
28 | private $sourcePosition;
29 |
30 | /**
31 | * Get source position
32 | *
33 | * @api
34 | *
35 | * @return array|null
36 | * @phpstan-return array{string, int, int}|null
37 | */
38 | public function getSourcePosition()
39 | {
40 | return $this->sourcePosition;
41 | }
42 |
43 | /**
44 | * Set source position
45 | *
46 | * @api
47 | *
48 | * @param array $sourcePosition
49 | *
50 | * @return void
51 | *
52 | * @phpstan-param array{string, int, int} $sourcePosition
53 | */
54 | public function setSourcePosition($sourcePosition)
55 | {
56 | $this->sourcePosition = $sourcePosition;
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Exception/RangeException.php:
--------------------------------------------------------------------------------
1 |
19 | *
20 | * @internal
21 | */
22 | class RangeException extends \Exception implements SassException
23 | {
24 | }
25 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Exception/SassException.php:
--------------------------------------------------------------------------------
1 |
21 | *
22 | * @deprecated The Scssphp server should define its own exception instead.
23 | */
24 | class ServerException extends \Exception implements SassException
25 | {
26 | }
27 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Formatter/Compact.php:
--------------------------------------------------------------------------------
1 |
21 | *
22 | * @deprecated since 1.4.0. Use the Compressed formatter instead.
23 | *
24 | * @internal
25 | */
26 | class Compact extends Formatter
27 | {
28 | /**
29 | * {@inheritdoc}
30 | */
31 | public function __construct()
32 | {
33 | @trigger_error('The Compact formatter is deprecated since 1.4.0. Use the Compressed formatter instead.', E_USER_DEPRECATED);
34 |
35 | $this->indentLevel = 0;
36 | $this->indentChar = '';
37 | $this->break = '';
38 | $this->open = ' {';
39 | $this->close = "}\n\n";
40 | $this->tagSeparator = ',';
41 | $this->assignSeparator = ':';
42 | $this->keepSemicolons = true;
43 | }
44 |
45 | /**
46 | * {@inheritdoc}
47 | */
48 | public function indentStr()
49 | {
50 | return ' ';
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Formatter/OutputBlock.php:
--------------------------------------------------------------------------------
1 |
19 | *
20 | * @internal
21 | */
22 | class OutputBlock
23 | {
24 | /**
25 | * @var string|null
26 | */
27 | public $type;
28 |
29 | /**
30 | * @var int
31 | */
32 | public $depth;
33 |
34 | /**
35 | * @var array|null
36 | */
37 | public $selectors;
38 |
39 | /**
40 | * @var string[]
41 | */
42 | public $lines;
43 |
44 | /**
45 | * @var OutputBlock[]
46 | */
47 | public $children;
48 |
49 | /**
50 | * @var OutputBlock|null
51 | */
52 | public $parent;
53 |
54 | /**
55 | * @var string|null
56 | */
57 | public $sourceName;
58 |
59 | /**
60 | * @var int|null
61 | */
62 | public $sourceLine;
63 |
64 | /**
65 | * @var int|null
66 | */
67 | public $sourceColumn;
68 | }
69 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Logger/LoggerInterface.php:
--------------------------------------------------------------------------------
1 | stream = $stream;
32 | $this->closeOnDestruct = $closeOnDestruct;
33 | }
34 |
35 | /**
36 | * @internal
37 | */
38 | public function __destruct()
39 | {
40 | if ($this->closeOnDestruct) {
41 | fclose($this->stream);
42 | }
43 | }
44 |
45 | /**
46 | * @inheritDoc
47 | */
48 | public function warn($message, $deprecation = false)
49 | {
50 | $prefix = ($deprecation ? 'DEPRECATION ' : '') . 'WARNING: ';
51 |
52 | fwrite($this->stream, $prefix . $message . "\n\n");
53 | }
54 |
55 | /**
56 | * @inheritDoc
57 | */
58 | public function debug($message)
59 | {
60 | fwrite($this->stream, $message . "\n");
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Node.php:
--------------------------------------------------------------------------------
1 |
19 | *
20 | * @internal
21 | */
22 | abstract class Node
23 | {
24 | /**
25 | * @var string
26 | */
27 | public $type;
28 |
29 | /**
30 | * @var int
31 | */
32 | public $sourceIndex;
33 |
34 | /**
35 | * @var int|null
36 | */
37 | public $sourceLine;
38 |
39 | /**
40 | * @var int|null
41 | */
42 | public $sourceColumn;
43 | }
44 |
--------------------------------------------------------------------------------
/Contrib/scssphp/src/Version.php:
--------------------------------------------------------------------------------
1 |
19 | */
20 | class Version
21 | {
22 | const VERSION = '1.12.0';
23 | }
24 |
--------------------------------------------------------------------------------
/Resources/Private/.htaccess:
--------------------------------------------------------------------------------
1 | # Apache < 2.3
2 |
3 | Order allow,deny
4 | Deny from all
5 |
6 |
7 | # Apache >= 2.3
8 |
9 | Require all denied
10 |
11 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/ContainerPreview/backend/Resources/Private/Partials/PageLayout/Record/carousel_container/Preview.html:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/ContainerPreview/backend/Resources/Private/Partials/PageLayout/Record/listGroup_wrapper/Preview.html:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/ContainerPreview/backend/Resources/Private/Partials/PageLayout/Record/masonry_wrapper/Preview.html:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/ContainerPreview/backend/Resources/Private/Partials/PageLayout/Record/row_columns/Preview.html:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/Partials/Config/Check.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {field.label}
5 |
6 |
{compare.{field.property}}
7 |
8 |
9 |
({override.{field.property}})
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
21 |
22 | {field.info -> f:format.raw()}
23 |
24 |
bootstrap.config.{field.property}
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/Partials/Config/Input.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
14 |
19 |
20 | {field.info -> f:format.raw()}
21 |
22 | bootstrap.config.{field.property}
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/Partials/Config/Select.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
21 |
22 | {field.info -> f:format.raw()}
23 |
24 | bootstrap.config.{field.property}
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/Partials/FormErrors.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 | {propertyPath}:
7 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/Partials/NonAdmin/Accordion.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | SORRY, but here you have to outsource yourself the appropriate templates and customize according to your requirements!
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/TemplateOverrides/typo3/cms-backend/Partials/PageLayout/RecordDefault/Footer.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Resources/Private/Backend/Templates/Config/Create.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Private/Backend/Templates/Config/Create.html
--------------------------------------------------------------------------------
/Resources/Private/Backend/Templates/Config/New.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | New Config
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/felogin/Resources/Private/Templates/Login/Logout.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/indexed_search/Configuration/TypoScript/setup.typoscript:
--------------------------------------------------------------------------------
1 | plugin.tx_indexedsearch {
2 | view {
3 | templateRootPaths {
4 | 5 = EXT:t3sbootstrap/Resources/Private/Extensions/indexed_search/Resources/Private/Templates/
5 | }
6 | partialRootPaths {
7 | 5 = EXT:t3sbootstrap/Resources/Private/Extensions/indexed_search/Resources/Private/Partials/
8 | }
9 | }
10 | settings {
11 | # Set the target page UID for the extbase variant of the plugin.
12 | targetPid = {$plugin.tx_indexedsearch.settings.targetPid}
13 | # A list of integer which should be root-pages to search from.
14 | rootPidList = {$plugin.tx_indexedsearch.settings.rootPidList}
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/indexed_search/Resources/Private/Partials/Rules.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/ke_search/Configuration/TSconfig/templateLayouts.tsconfig:
--------------------------------------------------------------------------------
1 | # **********************************************************
2 | # EXT:ke_search
3 | # **********************************************************
4 |
5 | TCEFORM {
6 | tt_content {
7 | pi_flexform.ke_search_pi1.view.templateLayout.addItems {
8 | 20 = T3S Bootstrap Template
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/ke_search/Resources/Private/Partials/T3SB/Filters.html:
--------------------------------------------------------------------------------
1 |
2 | Filter
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | {filter.rawHtmlContent}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/ke_search/Resources/Private/Partials/T3SB/Filters/Checkbox.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/ke_search/Resources/Private/Partials/T3SB/Filters/Select.html:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/ke_search/Resources/Private/Partials/T3SB/NoResults.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {noResultsText}
4 |
5 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/ke_search/Resources/Private/Partials/T3SB/ResultRows.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | {queryTimeText}
23 |
24 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/ke_search/Resources/Private/Partials/T3SB/Sorting.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | - {f:translate(key: 'LLL:EXT:ke_search/Resources/Private/Language/locallang_searchbox.xlf:label_sort')}
7 |
8 | - {sortingLink.label}
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Configuration/TSconfig/presets.tsconfig:
--------------------------------------------------------------------------------
1 | // mandatory categories
2 | #$GLOBALS['TCA']['tx_news_domain_model_news']['columns']['categories']['config']['minitems'] = '1';
3 | // default showinpreview
4 | $GLOBALS['TCA']['sys_file_reference']['columns']['showinpreview']['config']['default'] = '1';
5 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Configuration/TSconfig/templateLayouts.tsconfig:
--------------------------------------------------------------------------------
1 | # **********************************************************
2 | # EXT:news
3 | # **********************************************************
4 |
5 | tx_news.templateLayouts {
6 | 71 = BS5: Horizontal Cards (list view)
7 | 72 = BS5: Grid Cards (list view)
8 | 73 = BS5: Card Groups (list view)
9 | 74 = BS5: Masonry (list view)
10 | 75 = BS5: 2 Columns (list view)
11 | 81 = BS5: Detail view
12 |
13 | // Custom List Templates
14 | 90 = Custom Template1 (list view)
15 | 91 = Custom Template2 (list view)
16 | 92 = Custom Template3 (list view)
17 |
18 | // Custom Detail Templates
19 | 95 = Custom Template1 (detail view)
20 | 96 = Custom Template2 (detail view)
21 | }
22 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Layouts/Detail.html:
--------------------------------------------------------------------------------
1 |
4 | f:format.raw()}>
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Layouts/General.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Partials/Detail/Custom1.html:
--------------------------------------------------------------------------------
1 |
2 |
BUILD YOUR OWN NEWS DETAIL-TEMPLATE
3 |
Folgendes Template auslagern und anpassen:
4 |
Resources/Private/Extensions/news/Resources/Private/Partials/Detail/Custom1.html
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Partials/Detail/Custom2.html:
--------------------------------------------------------------------------------
1 |
2 |
BUILD YOUR OWN NEWS DETAIL-TEMPLATE
3 |
Folgendes Template auslagern und anpassen:
4 |
Resources/Private/Extensions/news/Resources/Private/Partials/Detail/Custom1.html
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Partials/Detail/T3sMediaVideo.html:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Partials/List/Custom2.html:
--------------------------------------------------------------------------------
1 |
2 |
BUILD YOUR OWN NEWS LIST-TEMPLATE
3 |
Folgendes Template auslagern und anpassen:
4 |
Resources/Private/Extensions/news/Resources/Private/Partials/List/Custom2.html
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Partials/List/Custom3.html:
--------------------------------------------------------------------------------
1 |
2 |
BUILD YOUR OWN NEWS LIST-TEMPLATE
3 |
Folgendes Template auslagern und anpassen:
4 |
Resources/Private/Extensions/news/Resources/Private/Partials/List/Custom3.html
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Partials/List/HorizontalCards.html:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Partials/List/ListGroup.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Partials/List/Media/File.html:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Partials/List/Media/Video.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Templates/News/SearchForm.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
20 |
21 |
22 |
23 |
24 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Resources/Private/Extensions/news/Resources/Private/Templates/News/SearchResult.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Resources/Private/Language/locallang.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | mehr
9 |
10 |
11 | weiter lesen
12 |
13 |
14 |
15 | Config
16 |
17 |
18 |
19 | Zuletzt aktualisiert am:
20 |
21 |
22 |
23 | Suchen
24 |
25 |
26 | suchen
27 |
28 |
29 |
30 | Kontaktformular
31 |
32 |
33 | Kontaktformular
34 |
35 |
36 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/Resources/Private/Language/locallang_m1.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | T3SB Config
8 |
9 |
10 | Startup extension to use bootstrap 5 classes and components out of the box.
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Resources/Private/Layouts/Content/Button.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Button Group
4 |
5 | {containerPre -> f:format.raw()}
6 |
7 |
8 | Here is a container expected! ... you can disable this error message in the BE Modul!
9 |
10 |
11 |
12 |
13 | BUTTON
14 |
15 |
16 |
17 | BUTTON GROUP
18 |
19 |
20 |
21 |
22 |
23 | {containerPost -> f:format.raw()}
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Resources/Private/Layouts/Content/ListgroupWrapper.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {containerPre -> f:format.raw()}
5 |
6 |
7 | Here is a container expected! ... you can disable this error message in the BE Modul!
8 |
9 |
10 |
11 | {containerPost -> f:format.raw()}
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Resources/Private/Layouts/Content/TilingCard.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | {containerPre -> f:format.raw()}
12 |
13 |
14 |
15 |
16 | {data.chapter -> f:format.raw()}
17 | f:format.raw()}{styleAttr -> f:format.raw()}{dataAttr -> f:format.raw()}>
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 | {containerPost -> f:format.raw()}
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/BackendLayouts/1.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Template auslagern!
4 | Die Templates für eigene Backend-Layouts müssen ausgelagert werden. (uid.html hier 1.html).
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/BackendLayouts/OneCol.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {f:if(condition: settings.config.globalPaddingTop, then: ' {settings.config.globalPaddingTop}', else: '')}
4 |
5 |
6 | {f:if(condition: settings.config.mainExtraClass, then: ' {settings.config.mainExtraClass}', else: '')}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/BackendLayouts/none.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Private/Partials/BackendLayouts/none.html
--------------------------------------------------------------------------------
/Resources/Private/Partials/Bullets/Type-2.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | - {bullet -> f:format.raw()}
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Bullets/Type-3.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | - {bullet -> f:format.raw()}
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Bullets/Type-4.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | - {bullet -> f:format.raw()}
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Bullets/Type-5.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | - {termDescription}
9 |
10 |
11 | - {termDescription -> f:format.raw()}
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Content/Header/Date.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
9 |
10 |
11 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Content/Header/SubHeader.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
13 |
14 |
15 |
18 |
19 |
20 |
23 |
24 |
25 |
28 |
29 |
30 |
31 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Content/Media/RawGallery.html:
--------------------------------------------------------------------------------
1 |
3 | Gallery Template for Mediaobject, Carousel and/or Card
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Content/Media/Rendering/Video.html:
--------------------------------------------------------------------------------
1 |
3 | Poster for the video - only if PNG- or JPG-image with the name of the video is availabe in fileadmin/user_upload/
4 |
5 |
6 |
14 |
15 |
16 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Content/Media/Type.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Content/Media/Type/Video.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {addmedia.ratioCalcCss -> f:format.raw()}
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | {file.description}
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Content/Text.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {data.bodytext -> f:format.html()}
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Page/Pagebrowser.html:
--------------------------------------------------------------------------------
1 |
2 |
42 |
43 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Page/Searchbox.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
26 |
27 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Page/Section.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Page/Skiplinks.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Skip to main navigation
5 |
6 | Skip to main content
7 | Skip to page footer
8 |
9 |
10 | .skip-link {
11 | width: 100%;
12 | text-align: center;
13 | display: block;
14 | padding: 4rem !important;
15 | background-color: aliceblue;
16 | }
17 | .skip-link span {
18 | padding: .5rem;
19 | width: 100%;
20 | text-align: center;
21 | }
22 |
23 | a:focus-visible,
24 | .nav-link:focus-visible {
25 | outline: 2px solid crimson !important;
26 | border-radius: 3px !important;
27 | padding: 5px !important;
28 | }
29 | a.skip-link:focus-visible {
30 | outline: none !important;
31 | }
32 |
33 |
34 |
35 |
36 | function removehash(){
37 | setTimeout(function(){
38 | history.replaceState('', document.title, window.location.pathname);
39 | }, 1);
40 | }
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/Resources/Private/Partials/Page/Title.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | {data.title -> f:format.raw()}
23 |
24 |
25 |
26 | {data.subtitle -> f:format.raw()}
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Config/List.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
The static template "Bootstrap Components" must be included!
8 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Container/AutoLayoutRow.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Auto Layout Row (uid = {data.uid}) has no content!
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | f:format.raw()}{dataAnimate}{f:if(condition: animationSettings, then: '{animationSettings -> f:format.raw()}')}>
22 |
23 | {row.renderedContent -> f:format.raw()}
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Container/Buttongroup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | Button Group (uid = {data.uid}) has no content!
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | f:format.raw()}{styleAttr -> f:format.raw()} role="group" aria-label="btn-{data.uid}">
26 |
27 | {button.renderedContent -> f:format.raw()}
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Container/Container.html:
--------------------------------------------------------------------------------
1 |
2 | Container Template
3 |
4 |
5 |
6 |
7 |
8 |
9 | f:format.raw()}{styleAttr -> f:format.raw()}>
10 |
11 | {row.renderedContent -> f:format.raw()}
12 |
13 |
14 |
15 |
16 |
17 | {row.renderedContent -> f:format.raw()}
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | Container (uid = {data.uid}) has no content!
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Container/Default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | {_all}
--------------------------------------------------------------------------------
/Resources/Private/Templates/Container/ListGroupWrapper.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 | List Group Wrapper (uid = {data.uid}) has no content!
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | {child.renderedContent -> f:format.raw()}
26 |
27 |
28 |
29 | Missing: header_link and/or tx_t3sbootstrap_header_celink!
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Container/RowColumns.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | Row Columns (uid = {data.uid}) has no content!
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Container/Tab.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 | Tab (uid = {data.uid}) has no content!
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 | {row.renderedContent -> f:format.raw()}
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/AssetsInline.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | /* t3sbs_assets_{data.uid} */
6 | {data.tx_t3sbootstrap_bodytext -> f:format.raw()}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | {data.bodytext -> f:format.raw()}
15 |
16 |
17 |
18 |
19 | {data.bodytext -> f:format.raw()}
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/FluidTemplate.html:
--------------------------------------------------------------------------------
1 |
2 | A fluid template could not be found.
3 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/Header.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/Image.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/Mediaobject.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | No header for t3sbs_mediaobject
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | {data.bodytext -> f:format.html()}
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/MenuAbstract.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/MenuCategorizedContent.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/MenuCategorizedPages.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/MenuPages.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/MenuRelatedPages.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/MenuSitemap.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
22 |
23 |
24 |
25 |
26 |
27 |
44 |
45 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/MenuSitemapPages.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
22 |
23 |
24 |
25 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/MenuSubpages.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/Shortcut.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | f:format.raw()}{styleAttr -> f:format.raw()}>
6 | {shortcuts}
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/Textmedia.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | no header here
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Content/Textpic.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | no header here
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Preview/AssetsInline.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Contains custom CSS & JS
5 |
6 |
7 |
8 | Contains custom JS
9 |
10 |
11 | Contains custom CSS
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Preview/Button.html:
--------------------------------------------------------------------------------
1 |
2 |
3 | Predefined style: {flexForm.style}
4 | | Fixed position: {flexForm.fixedPosition}
5 | | Button size: {flexForm.btnsize}
6 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Preview/Card.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | Horizontal card: true
15 |
16 |
17 | Horizontal card: false
18 |
19 |
20 |
21 |
22 | | Card width == image width: true
23 |
24 |
25 | | Card width == image width: false
26 |
27 |
28 |
29 | | Card Hover Effect: zoom and border
30 |
31 |
32 |
33 | | Enable Profile Card: true
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Preview/Carousel.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Background color for caption: {flexForm.bgOverlay}
16 |
17 |
18 | Background color for caption: none
19 |
20 |
21 |
22 | | Caption vertical align: {flexForm.captionVAlign}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Print/Button.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Resources/Private/Templates/Print/Page.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
{data.title}
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Extension.svg:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/_layout-1_col_extra.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-1_col-carousel.svg:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-1_col-jumbotron.svg:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-1_col.svg:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-1_col_extra.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Icons/Layouts/layout-1_col_extra.gif
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-1_col_extra.svg:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-2_col-3-9.svg:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-2_col-3-9_extra.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-2_col-9-3.svg:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-2_col-9-3_extra.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Icons/Layouts/layout-2_col-9-3_extra.gif
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-2_col-9-3_extra.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-3_col-3-6-3.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-3_col-3-6-3_extra.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Icons/Layouts/layout-3_col-3-6-3_extra.gif
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-3_col-3-6-3_extra.svg:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Layouts/layout-one_page.svg:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/bars.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/bs-button.svg:
--------------------------------------------------------------------------------
1 |
2 |
41 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/bs-card.svg:
--------------------------------------------------------------------------------
1 |
2 |
23 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/bs-carousel.svg:
--------------------------------------------------------------------------------
1 |
2 |
18 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/bs-fluidtemplate.svg:
--------------------------------------------------------------------------------
1 |
2 |
14 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/bs-gallery.svg:
--------------------------------------------------------------------------------
1 |
2 |
25 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/css-javascript.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Icons/Register/css-javascript.png
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-2_col.svg:
--------------------------------------------------------------------------------
1 |
2 |
11 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-3_col.svg:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-4_col.svg:
--------------------------------------------------------------------------------
1 |
2 |
13 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-accordion-container.svg:
--------------------------------------------------------------------------------
1 |
2 |
20 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-accordion-element.svg:
--------------------------------------------------------------------------------
1 |
2 |
19 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-background_wrapper.svg:
--------------------------------------------------------------------------------
1 |
2 |
14 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-card-container.svg:
--------------------------------------------------------------------------------
1 |
2 |
25 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-carousel-container.svg:
--------------------------------------------------------------------------------
1 |
2 |
19 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-modal.svg:
--------------------------------------------------------------------------------
1 |
2 |
18 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-parallax_wrapper.svg:
--------------------------------------------------------------------------------
1 |
2 |
18 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-tab-container.svg:
--------------------------------------------------------------------------------
1 |
2 |
15 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/Register/ge-tab-element.svg:
--------------------------------------------------------------------------------
1 |
2 |
14 |
--------------------------------------------------------------------------------
/Resources/Public/Icons/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Icons/favicon.ico
--------------------------------------------------------------------------------
/Resources/Public/Icons/relation.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Icons/relation.gif
--------------------------------------------------------------------------------
/Resources/Public/Icons/tx_t3sbootstrap_domain_model_config.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Icons/tx_t3sbootstrap_domain_model_config.gif
--------------------------------------------------------------------------------
/Resources/Public/Icons/user_mod_m1.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/Resources/Public/Images/bootstrap-logo-white.svg:
--------------------------------------------------------------------------------
1 |
2 |
5 |
--------------------------------------------------------------------------------
/Resources/Public/Images/bootstrap-solid.svg:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/Resources/Public/Images/loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Images/loader.gif
--------------------------------------------------------------------------------
/Resources/Public/Images/raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Images/raster.png
--------------------------------------------------------------------------------
/Resources/Public/Styles/SVG/downloadLink.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Resources/Public/Styles/SVG/emailLink.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Resources/Public/Styles/SVG/externalLink.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Resources/Public/Styles/SVG/internalLink.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Resources/Public/Styles/SVG/phoneLink.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Resources/Public/Styles/megaMenu.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * megaMenu.css
3 | */
4 | #main-navbar .container,#main-navbar .container-fluid{position:relative}.mega-dropdown{position:static!important}.mega-dropdown-menu{padding:20px;width:100%;top:inherit}.nav-fill .mega-dropdown-menu .nav-item{text-align:left}.navbar-light .navbar-nav .mega-dropdown-menu .nav-link:focus,.navbar-light .navbar-nav .mega-dropdown-menu .nav-link:hover,.navbar-dark .navbar-nav .mega-dropdown-menu .nav-link:focus,.navbar-dark .navbar-nav .mega-dropdown-menu .nav-link:hover{color:#fff;text-decoration:none;background-color:var(--bs-primary)}.navbar-light .navbar-nav .mega-dropdown-menu .nav-link,.navbar-dark .navbar-nav .mega-dropdown-menu .nav-link{color:var(--bs-gray)}.navbar-light .navbar-nav .mega-dropdown-menu .nav-link.active,.navbar-dark .navbar-nav .mega-dropdown-menu .nav-link.active{color:#fff;background-color:var(--bs-primary)}#main-navbar .mega-dropdown-menu .nav-link{line-height:1.5}.mega-dropdown.dropdown-toggle::after{display: none}@media (min-width: 576px){.navbar-expand-sm .offcanvas{position:inherit}}@media (min-width: 768px){.navbar-expand-md .offcanvas{position:initial}}@media (min-width: 992px){.navbar-expand-lg .offcanvas{position:initial}}@media (min-width: 1200px){.navbar-expand-xl .offcanvas{position:inherit}}@media (min-width: 1400px){.navbar-expand-xxl .offcanvas{position:inherit}}
--------------------------------------------------------------------------------
/Resources/Public/Styles/raster.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Styles/raster.png
--------------------------------------------------------------------------------
/Resources/Public/Styles/t3sprint.css:
--------------------------------------------------------------------------------
1 | #print-page{border-radius:8px;border:1px solid #eaeaea;box-shadow:0 .5rem 1.2rem rgba(0,0,0,.2);padding:.75rem 1.25rem;margin:5% auto;width:21cm;min-height:29.7cm}@media print{@page{size:a4;margin:2cm 1cm}.page,body{width:100%!important;margin:0!important;padding:0!important}body{background-color:#fafafa;font-size:12pt;color:#000;line-height:1.4;word-spacing:1.1pt;letter-spacing:.2pt}*{box-sizing:border-box;-moz-box-sizing:border-box;font-family:Helvetica,Georgia,'Times New Roman',Times,serif;background-color:transparent}.page{border:none;background:0 0}#print-page{border-radius:0;border:none;box-shadow:none;padding:.75rem 1.25rem;margin:0;width:inherit;min-height:inherit}thead{display:table-header-group}tr{page-break-inside:avoid}figure.image{margin:15px}pre{white-space:pre-wrap!important}h2{padding:15px 0}p{text-align:justify}.menu,aside,form,iframe,nav{display:none!important}}.carousel .carousel-item:first-child{opacity:1;display:block}.carousel-control-next,.carousel-control-prev,.carousel-indicators,.nav-tabs{display:none}.tab-content>.tab-pane{display:block!important;opacity:1!important;visibility:visible!important}.tab-content{margin-top:4rem}.jumbotron{background-color:transparent!important}a,h1 a,h2 a,h3 a,h4 a,h5 a,p a{font-weight:700;color:#000}.display-1,h1{font-size:2.5rem}.display-2,h2{font-size:1.6rem}#footer,.display-3,.display-5,figcaption h2,figcaption h3,figcaption h4,figcaption h5,h3,h5{font-size:.8rem}.display-4,h4{font-size:1rem}picture img.lazy{opacity:1}.d-print-none,.zoom-overlay{display:none!important}.csc-textpic-imagewrap a[href]:after,a.mail[href]:after,table a[href]:after{content:" "}
--------------------------------------------------------------------------------
/Resources/Public/Styles/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Styles/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/Resources/Public/Styles/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Styles/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/Resources/Public/Styles/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Styles/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/Resources/Public/Styles/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Styles/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/Resources/Public/Styles/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Styles/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/Resources/Public/Styles/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/t3solution/t3sbootstrap/e789d6f78f8a6fc4e617a377ed55d989c4bb24a8/Resources/Public/Styles/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/composer.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "t3sbs/t3sbootstrap",
3 | "description": "Startup extension to use bootstrap 5 classes, components and more out of the box. Example and info: www.t3sbootstrap.de",
4 | "keywords": [
5 | "typo3",
6 | "typo3 cms",
7 | "bootstrap"
8 | ],
9 | "homepage": "https://t3sbootstrap.de",
10 | "authors": [
11 | {
12 | "name": "Helmut Hackbarth",
13 | "email": "info@t3solution.de"
14 | }
15 | ],
16 | "license": ["GPL-2.0-or-later"],
17 | "type": "typo3-cms-extension",
18 | "require": {
19 | "php": "^8.1 || ^8.2 || ^8.3",
20 | "typo3/cms-core": "^12.4 || ^13.4",
21 | "b13/container": "^3.1",
22 | "ichhabrecht/content-defender": "^3.5"
23 | },
24 | "autoload": {
25 | "psr-4": {
26 | "T3SBS\\T3sbootstrap\\": "Classes/"
27 | }
28 | },
29 | "extra": {
30 | "typo3/cms": {
31 | "extension-key": "t3sbootstrap"
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/ext_emconf.php:
--------------------------------------------------------------------------------
1 | 'Bootstrap Components',
15 | 'description' => 'Startup extension to use bootstrap 5 classes, components and more out of the box. Example and info: www.t3sbootstrap.de',
16 | 'category' => 'templates',
17 | 'version' => '5.3.24',
18 | 'state' => 'stable',
19 | 'author' => 'Helmut Hackbarth',
20 | 'author_email' => 'typo3@t3solution.de',
21 | 'author_company' => 't3solution',
22 | 'constraints' =>
23 | [
24 | 'depends' =>
25 | [
26 | 'php' => '8.2.0-8.3.99',
27 | 'typo3' => '12.4.2-13.9.99',
28 | 'container' => '3.1.10-3.99.99',
29 | 'content_defender' => '3.5.3-3.99.99'
30 | ],
31 | 'conflicts' =>
32 | [
33 | ],
34 | 'suggests' =>
35 | [
36 | ],
37 | ],
38 | ];
39 |
--------------------------------------------------------------------------------
/readMe.md:
--------------------------------------------------------------------------------
1 | # TYPO3 Extension ``t3sbootstrap``
2 |
3 | [](https://www.paypal.me/t3sbootstrap)
4 | [](https://packagist.org/packages/t3sbs/t3sbootstrap)
5 | [](https://packagist.org/packages/t3sbs/t3sbootstrap)
6 | [](https://packagist.org/packages/t3sbs/t3sbootstrap)
7 |
8 | > Startup extension to use bootstrap 5 classes, components and more out of the box.
9 |
10 | ## 1. Usage
11 |
12 |
13 | ### 1) Installation
14 |
15 | #### Installation using Composer
16 |
17 | The recommended way to install the extension is by using Composer. In your Composer based TYPO3 project root, just do
18 |
19 | composer require t3sbs/t3sbootstrap
20 |
21 | #### Installation as extension from TYPO3 Extension Repository (TER)
22 |
23 | Download and install the extension with the extension manager module.
24 | The following extensions must be installed before: container & content_defender.
25 |
26 | ### 2) Minimal setup
27 |
28 | 1) Include the static TypoScript of the extension.
29 | 2) Delete the default PAGE object from your Setup.
30 | 3) Create a configuration on the root page with the BE-Modul "T3SB Config"
31 |
32 | More infos & demos: https://www.t3sbootstrap.de/
33 |
--------------------------------------------------------------------------------