From 1b497307168544980ae2e80d9b1acba52df4a9b0 Mon Sep 17 00:00:00 2001 From: Zuko Date: Sat, 19 Oct 2024 16:57:48 +0700 Subject: [PATCH] Add aliases, Add API documents --- composer.json | 4 + composer.lock | 649 +++++ ...lex2Cell-Contracts-FormatterInterface.html | 390 +++ .../classes/Zuko-Flex2Cell-ExcelExporter.html | 2250 +++++++++++++++++ ...ko-Flex2Cell-Flex2CellServiceProvider.html | 449 ++++ ...Zuko-Flex2Cell-Traits-ExcelExportable.html | 2141 ++++++++++++++++ ...-Flex2Cell-Traits-HasExportAttributes.html | 518 ++++ ...uko-Flex2Cell-Traits-HasExportMerging.html | 718 ++++++ docs/api/css/base.css | 1236 +++++++++ docs/api/css/normalize.css | 427 ++++ docs/api/css/template.css | 275 ++ docs/api/files/src-aliases.html | 327 +++ .../src-contracts-formatterinterface.html | 335 +++ docs/api/files/src-excelexporter.html | 280 ++ .../files/src-flex2cellserviceprovider.html | 335 +++ .../api/files/src-traits-excelexportable.html | 335 +++ .../files/src-traits-hasexportattributes.html | 335 +++ .../files/src-traits-hasexportmerging.html | 335 +++ docs/api/graphs/classes.html | 122 + docs/api/index.html | 165 ++ docs/api/indices/files.html | 146 ++ docs/api/js/search.js | 173 ++ docs/api/js/searchIndex.js | 294 +++ docs/api/js/template.js | 17 + docs/api/namespaces/default.html | 270 ++ .../namespaces/zuko-flex2cell-contracts.html | 272 ++ .../api/namespaces/zuko-flex2cell-traits.html | 272 ++ docs/api/namespaces/zuko-flex2cell.html | 280 ++ docs/api/namespaces/zuko.html | 270 ++ docs/api/packages/Flex2Cell.html | 266 ++ .../packages/Zuko-Flex2Cell-Contracts.html | 272 ++ docs/api/packages/Zuko-Flex2Cell-Traits.html | 272 ++ docs/api/packages/Zuko-Flex2Cell.html | 280 ++ docs/api/packages/Zuko.html | 270 ++ docs/api/packages/default.html | 270 ++ docs/api/reports/deprecated.html | 138 + docs/api/reports/errors.html | 137 + docs/api/reports/markers.html | 160 ++ src/ExcelExporter.php | 5 +- src/Flex2CellServiceProvider.php | 15 +- src/Traits/ExcelExportable.php | 12 +- src/Traits/HasExportAttributes.php | 4 +- src/Traits/HasExportMerging.php | 59 +- src/aliases.php | 22 +- 44 files changed, 15786 insertions(+), 16 deletions(-) create mode 100644 composer.lock create mode 100644 docs/api/classes/Zuko-Flex2Cell-Contracts-FormatterInterface.html create mode 100644 docs/api/classes/Zuko-Flex2Cell-ExcelExporter.html create mode 100644 docs/api/classes/Zuko-Flex2Cell-Flex2CellServiceProvider.html create mode 100644 docs/api/classes/Zuko-Flex2Cell-Traits-ExcelExportable.html create mode 100644 docs/api/classes/Zuko-Flex2Cell-Traits-HasExportAttributes.html create mode 100644 docs/api/classes/Zuko-Flex2Cell-Traits-HasExportMerging.html create mode 100644 docs/api/css/base.css create mode 100644 docs/api/css/normalize.css create mode 100644 docs/api/css/template.css create mode 100644 docs/api/files/src-aliases.html create mode 100644 docs/api/files/src-contracts-formatterinterface.html create mode 100644 docs/api/files/src-excelexporter.html create mode 100644 docs/api/files/src-flex2cellserviceprovider.html create mode 100644 docs/api/files/src-traits-excelexportable.html create mode 100644 docs/api/files/src-traits-hasexportattributes.html create mode 100644 docs/api/files/src-traits-hasexportmerging.html create mode 100644 docs/api/graphs/classes.html create mode 100644 docs/api/index.html create mode 100644 docs/api/indices/files.html create mode 100644 docs/api/js/search.js create mode 100644 docs/api/js/searchIndex.js create mode 100644 docs/api/js/template.js create mode 100644 docs/api/namespaces/default.html create mode 100644 docs/api/namespaces/zuko-flex2cell-contracts.html create mode 100644 docs/api/namespaces/zuko-flex2cell-traits.html create mode 100644 docs/api/namespaces/zuko-flex2cell.html create mode 100644 docs/api/namespaces/zuko.html create mode 100644 docs/api/packages/Flex2Cell.html create mode 100644 docs/api/packages/Zuko-Flex2Cell-Contracts.html create mode 100644 docs/api/packages/Zuko-Flex2Cell-Traits.html create mode 100644 docs/api/packages/Zuko-Flex2Cell.html create mode 100644 docs/api/packages/Zuko.html create mode 100644 docs/api/packages/default.html create mode 100644 docs/api/reports/deprecated.html create mode 100644 docs/api/reports/errors.html create mode 100644 docs/api/reports/markers.html diff --git a/composer.json b/composer.json index 374499e..4141b8c 100644 --- a/composer.json +++ b/composer.json @@ -3,6 +3,10 @@ "description" : "A flexible and efficient library for exporting data to Excel (XLS, XLSX) with support for mappings, formatters, and handling large datasets. Working with less dependencies, avoid future breaks & conclusions.", "type" : "library", "license" : "MIT", + "replace": { + "zuko/excel-exporter": "self.version", + "zuko/laravel-excel-export": "self.version" + }, "autoload" : { "psr-4" : { "Zuko\\Flex2Cell\\" : "src/" diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..f2b716b --- /dev/null +++ b/composer.lock @@ -0,0 +1,649 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "1474d89f51518cf4e545ad0f8f41c7d6", + "packages": [ + { + "name": "ezyang/htmlpurifier", + "version": "v4.17.0", + "source": { + "type": "git", + "url": "https://github.com/ezyang/htmlpurifier.git", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "shasum": "" + }, + "require": { + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" + }, + "require-dev": { + "cerdic/css-tidy": "^1.7 || ^2.0", + "simpletest/simpletest": "dev-master" + }, + "suggest": { + "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", + "ext-bcmath": "Used for unit conversion and imagecrash protection", + "ext-iconv": "Converts text to and from non-UTF-8 encodings", + "ext-tidy": "Used for pretty-printing HTML" + }, + "type": "library", + "autoload": { + "files": [ + "library/HTMLPurifier.composer.php" + ], + "psr-0": { + "HTMLPurifier": "library/" + }, + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ], + "support": { + "issues": "https://github.com/ezyang/htmlpurifier/issues", + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" + }, + "time": "2023-11-17T15:01:25+00:00" + }, + { + "name": "maennchen/zipstream-php", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/maennchen/ZipStream-PHP.git", + "reference": "6187e9cc4493da94b9b63eb2315821552015fca9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/6187e9cc4493da94b9b63eb2315821552015fca9", + "reference": "6187e9cc4493da94b9b63eb2315821552015fca9", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-zlib": "*", + "php-64bit": "^8.1" + }, + "require-dev": { + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.16", + "guzzlehttp/guzzle": "^7.5", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.5", + "phpunit/phpunit": "^10.0", + "vimeo/psalm": "^5.0" + }, + "suggest": { + "guzzlehttp/psr7": "^2.4", + "psr/http-message": "^2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "ZipStream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paul Duncan", + "email": "pabs@pablotron.org" + }, + { + "name": "Jonatan Männchen", + "email": "jonatan@maennchen.ch" + }, + { + "name": "Jesse Donat", + "email": "donatj@gmail.com" + }, + { + "name": "András Kolesár", + "email": "kolesar@kolesar.hu" + } + ], + "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", + "keywords": [ + "stream", + "zip" + ], + "support": { + "issues": "https://github.com/maennchen/ZipStream-PHP/issues", + "source": "https://github.com/maennchen/ZipStream-PHP/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/maennchen", + "type": "github" + } + ], + "time": "2024-10-10T12:33:01+00:00" + }, + { + "name": "markbaker/complex", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPComplex.git", + "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/95c56caa1cf5c766ad6d65b6344b807c1e8405b9", + "reference": "95c56caa1cf5c766ad6d65b6344b807c1e8405b9", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-master", + "phpcompatibility/php-compatibility": "^9.3", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Complex\\": "classes/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@lange.demon.co.uk" + } + ], + "description": "PHP Class for working with complex numbers", + "homepage": "https://github.com/MarkBaker/PHPComplex", + "keywords": [ + "complex", + "mathematics" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPComplex/issues", + "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.2" + }, + "time": "2022-12-06T16:21:08+00:00" + }, + { + "name": "markbaker/matrix", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPMatrix.git", + "reference": "728434227fe21be27ff6d86621a1b13107a2562c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/728434227fe21be27ff6d86621a1b13107a2562c", + "reference": "728434227fe21be27ff6d86621a1b13107a2562c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-master", + "phpcompatibility/php-compatibility": "^9.3", + "phpdocumentor/phpdocumentor": "2.*", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "2.*", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "sebastian/phpcpd": "^4.0", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "Matrix\\": "classes/src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@demon-angel.eu" + } + ], + "description": "PHP Class for working with matrices", + "homepage": "https://github.com/MarkBaker/PHPMatrix", + "keywords": [ + "mathematics", + "matrix", + "vector" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPMatrix/issues", + "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.1" + }, + "time": "2022-12-02T22:17:43+00:00" + }, + { + "name": "phpoffice/phpspreadsheet", + "version": "1.29.2", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", + "reference": "3a5a818d7d3e4b5bd2e56fb9de44dbded6eae07f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/3a5a818d7d3e4b5bd2e56fb9de44dbded6eae07f", + "reference": "3a5a818d7d3e4b5bd2e56fb9de44dbded6eae07f", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-dom": "*", + "ext-fileinfo": "*", + "ext-gd": "*", + "ext-iconv": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-xml": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "ext-zip": "*", + "ext-zlib": "*", + "ezyang/htmlpurifier": "^4.15", + "maennchen/zipstream-php": "^2.1 || ^3.0", + "markbaker/complex": "^3.0", + "markbaker/matrix": "^3.0", + "php": "^7.4 || ^8.0", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", + "psr/simple-cache": "^1.0 || ^2.0 || ^3.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "dev-main", + "dompdf/dompdf": "^1.0 || ^2.0", + "friendsofphp/php-cs-fixer": "^3.2", + "mitoteam/jpgraph": "^10.3", + "mpdf/mpdf": "^8.1.1", + "phpcompatibility/php-compatibility": "^9.3", + "phpstan/phpstan": "^1.1", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^8.5 || ^9.0", + "squizlabs/php_codesniffer": "^3.7", + "tecnickcom/tcpdf": "^6.5" + }, + "suggest": { + "dompdf/dompdf": "Option for rendering PDF with PDF Writer", + "ext-intl": "PHP Internationalization Functions", + "mitoteam/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", + "mpdf/mpdf": "Option for rendering PDF with PDF Writer", + "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer" + }, + "type": "library", + "autoload": { + "psr-4": { + "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maarten Balliauw", + "homepage": "https://blog.maartenballiauw.be" + }, + { + "name": "Mark Baker", + "homepage": "https://markbakeruk.net" + }, + { + "name": "Franck Lefevre", + "homepage": "https://rootslabs.net" + }, + { + "name": "Erik Tilt" + }, + { + "name": "Adrien Crivelli" + } + ], + "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", + "keywords": [ + "OpenXML", + "excel", + "gnumeric", + "ods", + "php", + "spreadsheet", + "xls", + "xlsx" + ], + "support": { + "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.29.2" + }, + "time": "2024-09-29T07:04:47+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + } + ], + "packages-dev": [ + { + "name": "laravel/pint", + "version": "v1.18.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/35c00c05ec43e6b46d295efc0f4386ceb30d50d9", + "reference": "35c00c05ec43e6b46d295efc0f4386ceb30d50d9", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.64.0", + "illuminate/view": "^10.48.20", + "larastan/larastan": "^2.9.8", + "laravel-zero/framework": "^10.4.0", + "mockery/mockery": "^1.6.12", + "nunomaduro/termwind": "^1.15.1", + "pestphp/pest": "^2.35.1" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2024-09-24T17:22:50+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^7.0 || ^8.0" + }, + "platform-dev": [], + "plugin-api-version": "2.6.0" +} diff --git a/docs/api/classes/Zuko-Flex2Cell-Contracts-FormatterInterface.html b/docs/api/classes/Zuko-Flex2Cell-Contracts-FormatterInterface.html new file mode 100644 index 0000000..6dfe318 --- /dev/null +++ b/docs/api/classes/Zuko-Flex2Cell-Contracts-FormatterInterface.html @@ -0,0 +1,390 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
+

Flex2Cell API Document

+ + + + + +
+ +
+
+ + + + +
+
+ + +
+

+ FormatterInterface +
+ in + +
+

+ + + +

Class FormatterInterface

+ + + + + + + + + +

+ Table of Contents + + +

+ + + + + + + + + + +

+ Methods + + +

+
+
+ formatValue() + +  : mixed +
+
Format a value for export.
+ +
+ + + + + + +
+

+ Methods + + +

+
+

+ formatValue() + + +

+ + +

Format a value for export.

+ + + public + formatValue(mixed $value, string $mappingKey) : mixed + +
+
+ +

This method is called once for each cell value that is exported. +The default implementation simply returns the value as is, +but you can override this method in your class to change the +behavior.

+
+ +
Parameters
+
+
+ $value + : mixed +
+
+

The value that is being exported.

+
+ +
+
+ $mappingKey + : string +
+
+

The key of the mapped column that is being exported.

+
+ +
+
+ + + + + +
+
Return values
+ mixed + — +

The formatted value.

+
+ +
+ +
+
+ +
+
+
+
+

+        
+ +
+
+ + + +
+
+
+ +
+ On this page + + +
+ +
+
+
+
+
+

Search results

+ +
+
+
    +
    +
    +
    +
    + + +
    + + + + + + + + diff --git a/docs/api/classes/Zuko-Flex2Cell-ExcelExporter.html b/docs/api/classes/Zuko-Flex2Cell-ExcelExporter.html new file mode 100644 index 0000000..b51833e --- /dev/null +++ b/docs/api/classes/Zuko-Flex2Cell-ExcelExporter.html @@ -0,0 +1,2250 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
    +

    Flex2Cell API Document

    + + + + + +
    + +
    +
    + + + + +
    +
    + + +
    +

    + ExcelExporter + + +
    + in package + +
    + + + + uses + ExcelExportable +

    + +
    + + +
    + + + +

    Class ExcelExporter

    + + + + +
    + Tags + + +
    +
    +
    + alias +
    +
    + +

    \Zuko\Flex2Cell\ExcelExporter \Zuko\FlexExcel\ExcelExporter

    +
    + +
    +
    + alias +
    +
    + +

    \Zuko\Flex2Cell\ExcelExporter \Zuko\FlexToExcel\ExcelExporter

    +
    + +
    +
    + alias +
    +
    + +

    \Zuko\Flex2Cell\ExcelExporter \Zuko\FlexibleExcelExport\ExcelExporter

    +
    + +
    +
    + alias +
    +
    + +

    \Zuko\Flex2Cell\ExcelExporter \Zuko\LaravelExcelExport\ExcelExporter

    +
    + +
    +
    + + + + + +

    + Table of Contents + + +

    + + + + + + + + + +

    + Properties + + +

    +
    +
    + $appendMode + +  : mixed +
    + +
    + $chunkSize + +  : mixed +
    + +
    + $columnLetters + +  : array<string|int, mixed> +
    + +
    + $data + +  : mixed +
    + +
    + $headers + +  : mixed +
    + +
    + $hiddens + +  : mixed +
    + +
    + $mapping + +  : mixed +
    + +
    + $metaSettings + +  : mixed +
    + +
    + $skipHeader + +  : bool +
    + +
    + $subHeaders + +  : mixed +
    + +
    + +

    + Methods + + +

    +
    +
    + export() + +  : bool +
    + +
    + make() + +  : mixed +
    + +
    + setAppendMode() + +  : static +
    +
    Set whether the export should append to an existing file or replace the file.
    + +
    + setChunkSize() + +  : static +
    +
    Set the number of data rows to be processed in each chunk.
    + +
    + setData() + +  : static +
    + +
    + setHeaders() + +  : static +
    +
    Set the headers to be displayed on the first row of the export.
    + +
    + setHiddens() + +  : static +
    +
    Set the fields which should not appear in the export.
    + +
    + setMapping() + +  : static +
    +
    Set the mapping of header => field names.
    + +
    + setMetaSettings() + +  : static +
    +
    Set the meta settings of the export.
    + +
    + setSkipHeader() + +  : static +
    +
    Set whether the export should write the header row or not.
    + +
    + setSubHeaders() + +  : static +
    +
    Set the sub headers to be displayed on the second row of the export.
    + +
    + applyMetaSettings() + +  : void +
    +
    Apply the meta settings to the spreadsheet.
    + +
    + formatValue() + +  : mixed +
    +
    Format a value for export.
    + +
    + getColumnLetter() + +  : string +
    +
    Get the column letter for a mapping key.
    + +
    + getHeader() + +  : string +
    +
    Get a header value from the headers array.
    + +
    + getHeaderFromMappingKey() + +  : string|null +
    +
    Get a header from a mapping key.
    + +
    + getMappingKeyFromHeader() + +  : string|null +
    +
    Get the mapping key from a header.
    + +
    + getSubHeader() + +  : string +
    +
    Get a sub-header value from the sub headers array.
    + +
    + getValue() + +  : mixed +
    +
    Get a value from the data row for export.
    + +
    + writeHeaders() + +  : void +
    +
    Write the headers to the Excel sheet.
    + +
    + writeRow() + +  : void +
    +
    Write a single row of data to the spreadsheet.
    + +
    + dataGet() + +  : mixed +
    +
    Get an item from an array or object using "dot" notation.
    + +
    + first() + +  : mixed +
    + +
    + + + + + + +
    +

    + Properties + + +

    +
    +

    + $appendMode + + + + +

    + + + + + + protected + mixed + $appendMode + = false + + + + + + + +
    +
    +

    + $chunkSize + + + + +

    + + + + + + protected + mixed + $chunkSize + = 1000 + + + + + + + +
    +
    +

    + $columnLetters + + + + +

    + + + + + + protected + array<string|int, mixed> + $columnLetters + = [] + + + + + + + +
    +
    +

    + $data + + + + +

    + + + + + + protected + mixed + $data + + + + + + + + +
    +
    +

    + $headers + + + + +

    + + + + + + protected + mixed + $headers + = [] + + + + + + + +
    +
    +

    + $hiddens + + + + +

    + + + + + + protected + mixed + $hiddens + = [] + + + + + + + +
    +
    +

    + $mapping + + + + +

    + + + + + + protected + mixed + $mapping + = [] + + + + + + + +
    +
    +

    + $metaSettings + + + + +

    + + + + + + protected + mixed + $metaSettings + = [] + + + + + + + +
    +
    +

    + $skipHeader + + + + +

    + + + + + + protected + bool + $skipHeader + = false + + + + + + + +
    +
    +

    + $subHeaders + + + + +

    + + + + + + protected + mixed + $subHeaders + = [] + + + + + + + +
    +
    + +
    +

    + Methods + + +

    +
    +

    + export() + + +

    + + + + + public + static export(array<string|int, mixed>|Collection|Collection $data, string $filename[, array<string|int, mixed> $options = [] ]) : bool + +
    +
    + + +
    Parameters
    +
    +
    + $data + : array<string|int, mixed>|Collection|Collection +
    +
    + +
    +
    + $filename + : string +
    +
    + +
    +
    + $options + : array<string|int, mixed> + = []
    +
    + +
    +
    + + + + + +
    +
    Return values
    + bool +
    + +
    +
    +

    + make() + + +

    + + + + + public + static make() : mixed + +
    +
    + + + + + + + + +
    +
    +

    + setAppendMode() + + +

    + + +

    Set whether the export should append to an existing file or replace the file.

    + + + public + setAppendMode(bool $appendMode) : static + +
    +
    + + +
    Parameters
    +
    +
    + $appendMode + : bool +
    +
    +

    If true, the export will append to an existing file. +If false, the export will replace the file.

    +
    + +
    +
    + + + + + +
    +
    Return values
    + static +
    + +
    +
    +

    + setChunkSize() + + +

    + + +

    Set the number of data rows to be processed in each chunk.

    + + + public + setChunkSize(int $chunkSize) : static + +
    +
    + +

    When exporting large datasets, processing the data in chunks can help +reduce the memory footprint of the export process. The chunk size is +the number of data rows that are processed at a time.

    +
    + +
    Parameters
    +
    +
    + $chunkSize + : int +
    +
    +

    The number of data rows to be processed in each chunk.

    +
    + +
    +
    + + + + + +
    +
    Return values
    + static +
    + +
    +
    +

    + setData() + + +

    + + + + + public + setData(mixed $data) : static + +
    +
    + + +
    Parameters
    +
    +
    + $data + : mixed +
    +
    + +
    +
    + + + + + +
    +
    Return values
    + static +
    + +
    +
    +

    + setHeaders() + + +

    + + +

    Set the headers to be displayed on the first row of the export.

    + + + public + setHeaders(array<string|int, mixed> $headers) : static + +
    +
    + + +
    Parameters
    +
    +
    + $headers + : array<string|int, mixed> +
    +
    + +
    +
    + + + + + +
    +
    Return values
    + static +
    + +
    +
    +

    + setHiddens() + + +

    + + +

    Set the fields which should not appear in the export.

    + + + public + setHiddens(array<string|int, mixed> $hiddens) : static + +
    +
    + + +
    Parameters
    +
    +
    + $hiddens + : array<string|int, mixed> +
    +
    + +
    +
    + + + + + +
    +
    Return values
    + static +
    + +
    +
    +

    + setMapping() + + +

    + + +

    Set the mapping of header => field names.

    + + + public + setMapping(array<string|int, mixed> $mapping) : static + +
    +
    + + +
    Parameters
    +
    +
    + $mapping + : array<string|int, mixed> +
    +
    + +
    +
    + + + + + +
    +
    Return values
    + static +
    + +
    +
    +

    + setMetaSettings() + + +

    + + +

    Set the meta settings of the export.

    + + + public + setMetaSettings(array<string|int, mixed> $metaSettings) : static + +
    +
    + +

    The meta settings are written to the spreadsheet properties.

    +

    Supported keys:

    +
      +
    • +author +
    • +
    • +title +
    • +
    +
    + +
    Parameters
    +
    +
    + $metaSettings + : array<string|int, mixed> +
    +
    + +
    +
    + + + + + +
    +
    Return values
    + static +
    + +
    +
    +

    + setSkipHeader() + + +

    + + +

    Set whether the export should write the header row or not.

    + + + public + setSkipHeader(bool $skipHeader) : static + +
    +
    + +

    The header row is the first row of the spreadsheet and is used to +label the columns. If this is set to true, the export will skip +writing the header row.

    +
    + +
    Parameters
    +
    +
    + $skipHeader + : bool +
    +
    +

    If true, the export will skip writing the header row.

    +
    + +
    +
    + + + + + +
    +
    Return values
    + static +
    + +
    +
    +

    + setSubHeaders() + + +

    + + +

    Set the sub headers to be displayed on the second row of the export.

    + + + public + setSubHeaders(array<string|int, mixed> $subHeaders) : static + +
    +
    + + +
    Parameters
    +
    +
    + $subHeaders + : array<string|int, mixed> +
    +
    + +
    +
    + + + + + +
    +
    Return values
    + static +
    + +
    +
    +

    + applyMetaSettings() + + +

    + + +

    Apply the meta settings to the spreadsheet.

    + + + protected + applyMetaSettings(Spreadsheet $spreadsheet) : void + +
    +
    + +

    The meta settings are applied to the spreadsheet properties. The +supported meta settings are:

    +
      +
    • +author: The author of the spreadsheet.
    • +
    • +title: The title of the spreadsheet.
    • +
    +
    + +
    Parameters
    +
    +
    + $spreadsheet + : Spreadsheet +
    +
    +

    The spreadsheet to apply the meta +settings to.

    +
    + +
    +
    + + + + + + +
    +
    +

    + formatValue() + + +

    + + +

    Format a value for export.

    + + + protected + formatValue(string $mappingKey, mixed $value[, mixed $rowItem = null ]) : mixed + +
    +
    + +

    This method is called once for each value that is exported. +The default implementation simply returns the value as is, +but you can override this method in your class to change the +behavior.

    +
    + +
    Parameters
    +
    +
    + $mappingKey + : string +
    +
    +

    The key of the mapped column that is being exported.

    +
    + +
    +
    + $value + : mixed +
    +
    +

    The value that is being exported.

    +
    + +
    +
    + $rowItem + : mixed + = null
    +
    +

    The current processing row item

    +
    + +
    +
    + + + + + +
    +
    Return values
    + mixed + — +

    The formatted value.

    +
    + +
    + +
    +
    +

    + getColumnLetter() + + +

    + + +

    Get the column letter for a mapping key.

    + + + protected + getColumnLetter(string $mappingKey) : string + +
    +
    + + +
    Parameters
    +
    +
    + $mappingKey + : string +
    +
    + +
    +
    + + + + + +
    +
    Return values
    + string +
    + +
    +
    +

    + getHeader() + + +

    + + +

    Get a header value from the headers array.

    + + + protected + getHeader(string $header) : string + +
    +
    + +

    If the header does not exist, the value passed as an argument is returned.

    +
    + +
    Parameters
    +
    +
    + $header + : string +
    +
    +

    The header for which to get the value

    +
    + +
    +
    + + + + + +
    +
    Return values
    + string + — +

    The header value

    +
    + +
    + +
    +
    +

    + getHeaderFromMappingKey() + + +

    + + +

    Get a header from a mapping key.

    + + + protected + getHeaderFromMappingKey(string $mappingKey) : string|null + +
    +
    + + +
    Parameters
    +
    +
    + $mappingKey + : string +
    +
    +

    The mapping key

    +
    + +
    +
    + + + + + +
    +
    Return values
    + string|null + — +

    The header if found, null otherwise

    +
    + +
    + +
    +
    +

    + getMappingKeyFromHeader() + + +

    + + +

    Get the mapping key from a header.

    + + + protected + getMappingKeyFromHeader(string $header) : string|null + +
    +
    + + +
    Parameters
    +
    +
    + $header + : string +
    +
    +

    The header

    +
    + +
    +
    + + + + + +
    +
    Return values
    + string|null + — +

    The mapping key if found, null otherwise

    +
    + +
    + +
    +
    +

    + getSubHeader() + + +

    + + +

    Get a sub-header value from the sub headers array.

    + + + protected + getSubHeader(string $header) : string + +
    +
    + +

    If the sub-header does not exist, an empty string is returned.

    +
    + +
    Parameters
    +
    +
    + $header + : string +
    +
    +

    The header for which to get the sub-header value

    +
    + +
    +
    + + + + + +
    +
    Return values
    + string + — +

    The sub-header value

    +
    + +
    + +
    +
    +

    + getValue() + + +

    + + +

    Get a value from the data row for export.

    + + + protected + getValue(array<string|int, mixed> $row[, string $key = null ]) : mixed + +
    +
    + +

    This method is called once for each value that is exported.

    +
    + +
    Parameters
    +
    +
    + $row + : array<string|int, mixed> +
    +
    + +
    +
    + $key + : string + = null
    +
    + +
    +
    + + + + + + +
    +
    +

    + writeHeaders() + + +

    + + +

    Write the headers to the Excel sheet.

    + + + protected + writeHeaders(Worksheet $sheet) : void + +
    +
    + + +
    Parameters
    +
    +
    + $sheet + : Worksheet +
    +
    +

    The worksheet to write the headers to.

    +
    + +
    +
    + + + + + + +
    +
    +

    + writeRow() + + +

    + + +

    Write a single row of data to the spreadsheet.

    + + + protected + writeRow(Worksheet $sheet, array<string|int, mixed> $row, int $rowIndex) : void + +
    +
    + + +
    Parameters
    +
    +
    + $sheet + : Worksheet +
    +
    +

    The worksheet to write the row to.

    +
    + +
    +
    + $row + : array<string|int, mixed> +
    +
    +

    The row of data to write.

    +
    + +
    +
    + $rowIndex + : int +
    +
    +

    The index of the row to write.

    +
    + +
    +
    + + + + + + +
    +
    +

    + dataGet() + + +

    + + +

    Get an item from an array or object using "dot" notation.

    + + + private + static dataGet(mixed $target, string|array<string|int, mixed>|int|null $key[, mixed $default = null ]) : mixed + +
    +
    + + +
    Parameters
    +
    +
    + $target + : mixed +
    +
    + +
    +
    + $key + : string|array<string|int, mixed>|int|null +
    +
    + +
    +
    + $default + : mixed + = null
    +
    + +
    +
    + + + + + + +
    +
    +

    + first() + + +

    + + + + + private + static first(array<string|int, mixed> $array[, mixed $callback = null ][, mixed $default = null ]) : mixed + +
    +
    + + +
    Parameters
    +
    +
    + $array + : array<string|int, mixed> +
    +
    + +
    +
    + $callback + : mixed + = null
    +
    + +
    +
    + $default + : mixed + = null
    +
    + +
    +
    + + + + + + +
    +
    + +
    +
    +
    +
    +
    
    +        
    + +
    +
    + + + +
    +
    +
    + +
    + On this page + + +
    + +
    +
    +
    +
    +
    +

    Search results

    + +
    +
    +
      +
      +
      +
      +
      + + +
      + + + + + + + + diff --git a/docs/api/classes/Zuko-Flex2Cell-Flex2CellServiceProvider.html b/docs/api/classes/Zuko-Flex2Cell-Flex2CellServiceProvider.html new file mode 100644 index 0000000..88929b0 --- /dev/null +++ b/docs/api/classes/Zuko-Flex2Cell-Flex2CellServiceProvider.html @@ -0,0 +1,449 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
      +

      Flex2Cell API Document

      + + + + + +
      + +
      +
      + + + + +
      +
      + + +
      +

      + Flex2CellServiceProvider + + + extends ServiceProvider + + +
      + in package + +
      + + +

      + +
      + + +
      + + + +

      Class Flex2CellServiceProvider

      + + + + +
      + Tags + + +
      +
      +
      + alias +
      +
      + +

      \Zuko\Flex2Cell\Flex2CellServiceProvider \Zuko\FlexExcel\Flex2CellServiceProvider

      +
      + +
      +
      + alias +
      +
      + +

      \Zuko\Flex2Cell\Flex2CellServiceProvider \Zuko\FlexToExcel\Flex2CellServiceProvider

      +
      + +
      +
      + alias +
      +
      + +

      \Zuko\Flex2Cell\Flex2CellServiceProvider \Zuko\FlexibleExcelExport\Flex2CellServiceProvider

      +
      + +
      +
      + alias +
      +
      + +

      \Zuko\Flex2Cell\Flex2CellServiceProvider \Zuko\LaravelExcelExport\Flex2CellServiceProvider

      +
      + +
      +
      + + + + + +

      + Table of Contents + + +

      + + + + + + + + + + +

      + Methods + + +

      +
      +
      + boot() + +  : mixed +
      + +
      + register() + +  : mixed +
      + +
      + + + + + + + +
      +

      + Methods + + +

      + + +
      + +
      +
      +
      +
      +
      
      +        
      + +
      +
      + + + +
      +
      +
      + +
      + On this page + + +
      + +
      +
      +
      +
      +
      +

      Search results

      + +
      +
      +
        +
        +
        +
        +
        + + +
        + + + + + + + + diff --git a/docs/api/classes/Zuko-Flex2Cell-Traits-ExcelExportable.html b/docs/api/classes/Zuko-Flex2Cell-Traits-ExcelExportable.html new file mode 100644 index 0000000..180244b --- /dev/null +++ b/docs/api/classes/Zuko-Flex2Cell-Traits-ExcelExportable.html @@ -0,0 +1,2141 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
        +

        Flex2Cell API Document

        + + + + + +
        + +
        +
        + + + + +
        +
        + + +
        +

        + ExcelExportable +

        + + + +

        Class ExcelExportable

        + + + + + + + + + +

        + Table of Contents + + +

        + + + + + + + + + +

        + Properties + + +

        +
        +
        + $appendMode + +  : mixed +
        + +
        + $chunkSize + +  : mixed +
        + +
        + $columnLetters + +  : array<string|int, mixed> +
        + +
        + $data + +  : mixed +
        + +
        + $headers + +  : mixed +
        + +
        + $hiddens + +  : mixed +
        + +
        + $mapping + +  : mixed +
        + +
        + $metaSettings + +  : mixed +
        + +
        + $skipHeader + +  : bool +
        + +
        + $subHeaders + +  : mixed +
        + +
        + +

        + Methods + + +

        +
        +
        + export() + +  : bool +
        +
        Export the data to an Excel file.
        + +
        + setAppendMode() + +  : static +
        +
        Set whether the export should append to an existing file or replace the file.
        + +
        + setChunkSize() + +  : static +
        +
        Set the number of data rows to be processed in each chunk.
        + +
        + setData() + +  : static +
        + +
        + setHeaders() + +  : static +
        +
        Set the headers to be displayed on the first row of the export.
        + +
        + setHiddens() + +  : static +
        +
        Set the fields which should not appear in the export.
        + +
        + setMapping() + +  : static +
        +
        Set the mapping of header => field names.
        + +
        + setMetaSettings() + +  : static +
        +
        Set the meta settings of the export.
        + +
        + setSkipHeader() + +  : static +
        +
        Set whether the export should write the header row or not.
        + +
        + setSubHeaders() + +  : static +
        +
        Set the sub headers to be displayed on the second row of the export.
        + +
        + applyMetaSettings() + +  : void +
        +
        Apply the meta settings to the spreadsheet.
        + +
        + formatValue() + +  : mixed +
        +
        Format a value for export.
        + +
        + getColumnLetter() + +  : string +
        +
        Get the column letter for a mapping key.
        + +
        + getHeader() + +  : string +
        +
        Get a header value from the headers array.
        + +
        + getHeaderFromMappingKey() + +  : string|null +
        +
        Get a header from a mapping key.
        + +
        + getMappingKeyFromHeader() + +  : string|null +
        +
        Get the mapping key from a header.
        + +
        + getSubHeader() + +  : string +
        +
        Get a sub-header value from the sub headers array.
        + +
        + getValue() + +  : mixed +
        +
        Get a value from the data row for export.
        + +
        + writeHeaders() + +  : void +
        +
        Write the headers to the Excel sheet.
        + +
        + writeRow() + +  : void +
        +
        Write a single row of data to the spreadsheet.
        + +
        + dataGet() + +  : mixed +
        +
        Get an item from an array or object using "dot" notation.
        + +
        + first() + +  : mixed +
        + +
        + + + + + + + +
        +

        + Properties + + +

        +
        +

        + $appendMode + + + + +

        + + + + + + protected + mixed + $appendMode + = false + + + + + + + +
        +
        +

        + $chunkSize + + + + +

        + + + + + + protected + mixed + $chunkSize + = 1000 + + + + + + + +
        +
        +

        + $columnLetters + + + + +

        + + + + + + protected + array<string|int, mixed> + $columnLetters + = [] + + + + + + + +
        +
        +

        + $data + + + + +

        + + + + + + protected + mixed + $data + + + + + + + + +
        +
        +

        + $headers + + + + +

        + + + + + + protected + mixed + $headers + = [] + + + + + + + +
        +
        +

        + $hiddens + + + + +

        + + + + + + protected + mixed + $hiddens + = [] + + + + + + + +
        +
        +

        + $mapping + + + + +

        + + + + + + protected + mixed + $mapping + = [] + + + + + + + +
        +
        +

        + $metaSettings + + + + +

        + + + + + + protected + mixed + $metaSettings + = [] + + + + + + + +
        +
        +

        + $skipHeader + + + + +

        + + + + + + protected + bool + $skipHeader + = false + + + + + + + +
        +
        +

        + $subHeaders + + + + +

        + + + + + + protected + mixed + $subHeaders + = [] + + + + + + + +
        +
        + +
        +

        + Methods + + +

        +
        +

        + export() + + +

        + + +

        Export the data to an Excel file.

        + + + public + export(string $filename) : bool + +
        +
        + + +
        Parameters
        +
        +
        + $filename + : string +
        +
        +

        The file name to export to.

        +
        + +
        +
        + + + + + +
        +
        Return values
        + bool + — +

        status of export based PHP Office reader load() result

        +
        + +
        + +
        +
        +

        + setAppendMode() + + +

        + + +

        Set whether the export should append to an existing file or replace the file.

        + + + public + setAppendMode(bool $appendMode) : static + +
        +
        + + +
        Parameters
        +
        +
        + $appendMode + : bool +
        +
        +

        If true, the export will append to an existing file. +If false, the export will replace the file.

        +
        + +
        +
        + + + + + +
        +
        Return values
        + static +
        + +
        +
        +

        + setChunkSize() + + +

        + + +

        Set the number of data rows to be processed in each chunk.

        + + + public + setChunkSize(int $chunkSize) : static + +
        +
        + +

        When exporting large datasets, processing the data in chunks can help +reduce the memory footprint of the export process. The chunk size is +the number of data rows that are processed at a time.

        +
        + +
        Parameters
        +
        +
        + $chunkSize + : int +
        +
        +

        The number of data rows to be processed in each chunk.

        +
        + +
        +
        + + + + + +
        +
        Return values
        + static +
        + +
        +
        +

        + setData() + + +

        + + + + + public + setData(mixed $data) : static + +
        +
        + + +
        Parameters
        +
        +
        + $data + : mixed +
        +
        + +
        +
        + + + + + +
        +
        Return values
        + static +
        + +
        +
        +

        + setHeaders() + + +

        + + +

        Set the headers to be displayed on the first row of the export.

        + + + public + setHeaders(array<string|int, mixed> $headers) : static + +
        +
        + + +
        Parameters
        +
        +
        + $headers + : array<string|int, mixed> +
        +
        + +
        +
        + + + + + +
        +
        Return values
        + static +
        + +
        +
        +

        + setHiddens() + + +

        + + +

        Set the fields which should not appear in the export.

        + + + public + setHiddens(array<string|int, mixed> $hiddens) : static + +
        +
        + + +
        Parameters
        +
        +
        + $hiddens + : array<string|int, mixed> +
        +
        + +
        +
        + + + + + +
        +
        Return values
        + static +
        + +
        +
        +

        + setMapping() + + +

        + + +

        Set the mapping of header => field names.

        + + + public + setMapping(array<string|int, mixed> $mapping) : static + +
        +
        + + +
        Parameters
        +
        +
        + $mapping + : array<string|int, mixed> +
        +
        + +
        +
        + + + + + +
        +
        Return values
        + static +
        + +
        +
        +

        + setMetaSettings() + + +

        + + +

        Set the meta settings of the export.

        + + + public + setMetaSettings(array<string|int, mixed> $metaSettings) : static + +
        +
        + +

        The meta settings are written to the spreadsheet properties.

        +

        Supported keys:

        +
          +
        • +author +
        • +
        • +title +
        • +
        +
        + +
        Parameters
        +
        +
        + $metaSettings + : array<string|int, mixed> +
        +
        + +
        +
        + + + + + +
        +
        Return values
        + static +
        + +
        +
        +

        + setSkipHeader() + + +

        + + +

        Set whether the export should write the header row or not.

        + + + public + setSkipHeader(bool $skipHeader) : static + +
        +
        + +

        The header row is the first row of the spreadsheet and is used to +label the columns. If this is set to true, the export will skip +writing the header row.

        +
        + +
        Parameters
        +
        +
        + $skipHeader + : bool +
        +
        +

        If true, the export will skip writing the header row.

        +
        + +
        +
        + + + + + +
        +
        Return values
        + static +
        + +
        +
        +

        + setSubHeaders() + + +

        + + +

        Set the sub headers to be displayed on the second row of the export.

        + + + public + setSubHeaders(array<string|int, mixed> $subHeaders) : static + +
        +
        + + +
        Parameters
        +
        +
        + $subHeaders + : array<string|int, mixed> +
        +
        + +
        +
        + + + + + +
        +
        Return values
        + static +
        + +
        +
        +

        + applyMetaSettings() + + +

        + + +

        Apply the meta settings to the spreadsheet.

        + + + protected + applyMetaSettings(Spreadsheet $spreadsheet) : void + +
        +
        + +

        The meta settings are applied to the spreadsheet properties. The +supported meta settings are:

        +
          +
        • +author: The author of the spreadsheet.
        • +
        • +title: The title of the spreadsheet.
        • +
        +
        + +
        Parameters
        +
        +
        + $spreadsheet + : Spreadsheet +
        +
        +

        The spreadsheet to apply the meta +settings to.

        +
        + +
        +
        + + + + + + +
        +
        +

        + formatValue() + + +

        + + +

        Format a value for export.

        + + + protected + formatValue(string $mappingKey, mixed $value[, mixed $rowItem = null ]) : mixed + +
        +
        + +

        This method is called once for each value that is exported. +The default implementation simply returns the value as is, +but you can override this method in your class to change the +behavior.

        +
        + +
        Parameters
        +
        +
        + $mappingKey + : string +
        +
        +

        The key of the mapped column that is being exported.

        +
        + +
        +
        + $value + : mixed +
        +
        +

        The value that is being exported.

        +
        + +
        +
        + $rowItem + : mixed + = null
        +
        +

        The current processing row item

        +
        + +
        +
        + + + + + +
        +
        Return values
        + mixed + — +

        The formatted value.

        +
        + +
        + +
        +
        +

        + getColumnLetter() + + +

        + + +

        Get the column letter for a mapping key.

        + + + protected + getColumnLetter(string $mappingKey) : string + +
        +
        + + +
        Parameters
        +
        +
        + $mappingKey + : string +
        +
        + +
        +
        + + + + + +
        +
        Return values
        + string +
        + +
        +
        +

        + getHeader() + + +

        + + +

        Get a header value from the headers array.

        + + + protected + getHeader(string $header) : string + +
        +
        + +

        If the header does not exist, the value passed as an argument is returned.

        +
        + +
        Parameters
        +
        +
        + $header + : string +
        +
        +

        The header for which to get the value

        +
        + +
        +
        + + + + + +
        +
        Return values
        + string + — +

        The header value

        +
        + +
        + +
        +
        +

        + getHeaderFromMappingKey() + + +

        + + +

        Get a header from a mapping key.

        + + + protected + getHeaderFromMappingKey(string $mappingKey) : string|null + +
        +
        + + +
        Parameters
        +
        +
        + $mappingKey + : string +
        +
        +

        The mapping key

        +
        + +
        +
        + + + + + +
        +
        Return values
        + string|null + — +

        The header if found, null otherwise

        +
        + +
        + +
        +
        +

        + getMappingKeyFromHeader() + + +

        + + +

        Get the mapping key from a header.

        + + + protected + getMappingKeyFromHeader(string $header) : string|null + +
        +
        + + +
        Parameters
        +
        +
        + $header + : string +
        +
        +

        The header

        +
        + +
        +
        + + + + + +
        +
        Return values
        + string|null + — +

        The mapping key if found, null otherwise

        +
        + +
        + +
        +
        +

        + getSubHeader() + + +

        + + +

        Get a sub-header value from the sub headers array.

        + + + protected + getSubHeader(string $header) : string + +
        +
        + +

        If the sub-header does not exist, an empty string is returned.

        +
        + +
        Parameters
        +
        +
        + $header + : string +
        +
        +

        The header for which to get the sub-header value

        +
        + +
        +
        + + + + + +
        +
        Return values
        + string + — +

        The sub-header value

        +
        + +
        + +
        +
        +

        + getValue() + + +

        + + +

        Get a value from the data row for export.

        + + + protected + getValue(array<string|int, mixed> $row[, string $key = null ]) : mixed + +
        +
        + +

        This method is called once for each value that is exported.

        +
        + +
        Parameters
        +
        +
        + $row + : array<string|int, mixed> +
        +
        + +
        +
        + $key + : string + = null
        +
        + +
        +
        + + + + + + +
        +
        +

        + writeHeaders() + + +

        + + +

        Write the headers to the Excel sheet.

        + + + protected + writeHeaders(Worksheet $sheet) : void + +
        +
        + + +
        Parameters
        +
        +
        + $sheet + : Worksheet +
        +
        +

        The worksheet to write the headers to.

        +
        + +
        +
        + + + + + + +
        +
        +

        + writeRow() + + +

        + + +

        Write a single row of data to the spreadsheet.

        + + + protected + writeRow(Worksheet $sheet, array<string|int, mixed> $row, int $rowIndex) : void + +
        +
        + + +
        Parameters
        +
        +
        + $sheet + : Worksheet +
        +
        +

        The worksheet to write the row to.

        +
        + +
        +
        + $row + : array<string|int, mixed> +
        +
        +

        The row of data to write.

        +
        + +
        +
        + $rowIndex + : int +
        +
        +

        The index of the row to write.

        +
        + +
        +
        + + + + + + +
        +
        +

        + dataGet() + + +

        + + +

        Get an item from an array or object using "dot" notation.

        + + + private + static dataGet(mixed $target, string|array<string|int, mixed>|int|null $key[, mixed $default = null ]) : mixed + +
        +
        + + +
        Parameters
        +
        +
        + $target + : mixed +
        +
        + +
        +
        + $key + : string|array<string|int, mixed>|int|null +
        +
        + +
        +
        + $default + : mixed + = null
        +
        + +
        +
        + + + + + + +
        +
        +

        + first() + + +

        + + + + + private + static first(array<string|int, mixed> $array[, mixed $callback = null ][, mixed $default = null ]) : mixed + +
        +
        + + +
        Parameters
        +
        +
        + $array + : array<string|int, mixed> +
        +
        + +
        +
        + $callback + : mixed + = null
        +
        + +
        +
        + $default + : mixed + = null
        +
        + +
        +
        + + + + + + +
        +
        + +
        +
        +
        +
        +
        
        +        
        + +
        +
        + + + +
        +
        +
        + +
        + On this page + + +
        + +
        +
        +
        +
        +
        +

        Search results

        + +
        +
        +
          +
          +
          +
          +
          + + +
          + + + + + + + + diff --git a/docs/api/classes/Zuko-Flex2Cell-Traits-HasExportAttributes.html b/docs/api/classes/Zuko-Flex2Cell-Traits-HasExportAttributes.html new file mode 100644 index 0000000..6a18c57 --- /dev/null +++ b/docs/api/classes/Zuko-Flex2Cell-Traits-HasExportAttributes.html @@ -0,0 +1,518 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
          +

          Flex2Cell API Document

          + + + + + +
          + +
          +
          + + + + +
          +
          + + +
          +

          + HasExportAttributes +

          + + + +

          Class HasExportAttributes

          + + + + + + + + + +

          + Table of Contents + + +

          + + + + + + + + + +

          + Properties + + +

          +
          +
          + $formatters + +  : mixed +
          + +
          + +

          + Methods + + +

          +
          +
          + setFormatters() + +  : static +
          +
          Set the formatters to be used for formatting values when exporting.
          + +
          + formatValue() + +  : mixed +
          +
          Format a value for export.
          + +
          + + + + + + + +
          +

          + Properties + + +

          +
          +

          + $formatters + + + + +

          + + + + + + protected + mixed + $formatters + = [] + + + + + + + +
          +
          + +
          +

          + Methods + + +

          +
          +

          + setFormatters() + + +

          + + +

          Set the formatters to be used for formatting values when exporting.

          + + + public + setFormatters(array<string|int, mixed>|array<string|int, callable>|array<string|int, FormatterInterface$formatters) : static + +
          +
          + +

          $formatters is an associative array, where the keys are the column names +and the values are either a callable or an object that implements +FormatterInterface. If the value is a string, it will be treated as a class +name and an instance of that class will be created.

          +
          + +
          Parameters
          +
          +
          + $formatters + : array<string|int, mixed>|array<string|int, callable>|array<string|int, FormatterInterface> +
          +
          +

          An associative array of formatters.

          +
          + +
          +
          + + + + + +
          +
          Return values
          + static +
          + +
          +
          +

          + formatValue() + + +

          + + +

          Format a value for export.

          + + + protected + formatValue(string $mappingKey, mixed $value[, Model|mixed $rowItem = null ]) : mixed + +
          +
          + +

          This method is called once for each value that is exported. +The default implementation simply returns the value as is, +but you can override this method in your class to change the +behavior.

          +
          + +
          Parameters
          +
          +
          + $mappingKey + : string +
          +
          +

          The key of the mapped column that is being exported.

          +
          + +
          +
          + $value + : mixed +
          +
          +

          The value that is being exported.

          +
          + +
          +
          + $rowItem + : Model|mixed + = null
          +
          +

          The current processing row item

          +
          + +
          +
          + + + + + +
          +
          Return values
          + mixed + — +

          The formatted value.

          +
          + +
          + +
          +
          + +
          +
          +
          +
          +
          
          +        
          + +
          +
          + + + +
          +
          +
          + +
          + On this page + + +
          + +
          +
          +
          +
          +
          +

          Search results

          + +
          +
          +
            +
            +
            +
            +
            + + +
            + + + + + + + + diff --git a/docs/api/classes/Zuko-Flex2Cell-Traits-HasExportMerging.html b/docs/api/classes/Zuko-Flex2Cell-Traits-HasExportMerging.html new file mode 100644 index 0000000..3411443 --- /dev/null +++ b/docs/api/classes/Zuko-Flex2Cell-Traits-HasExportMerging.html @@ -0,0 +1,718 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
            +

            Flex2Cell API Document

            + + + + + +
            + +
            +
            + + + + +
            +
            + + +
            +

            + HasExportMerging +

            + + + +

            Class HasExportMerging

            + + + + + + + + + +

            + Table of Contents + + +

            + + + + + + + + + +

            + Properties + + +

            +
            +
            + $columnMergeRules + +  : mixed +
            + +
            + $rowMergeRules + +  : mixed +
            + +
            + +

            + Methods + + +

            +
            +
            + setColumnMergeRules() + +  : static +
            +
            Sets the column merge rules for the export.
            + +
            + setRowMergeRules() + +  : static +
            +
            Sets the row merge rules for the export.
            + +
            + applyColumnMerging() + +  : void +
            +
            Applies column merging rules to the given sheet.
            + +
            + applyMerging() + +  : void +
            +
            Applies both column and row merging rules to the given sheet.
            + +
            + applyRowMerging() + +  : void +
            +
            Applies row merging to the given sheet according to the row merge rules.
            + +
            + + + + + + + +
            +

            + Properties + + +

            +
            +

            + $columnMergeRules + + + + +

            + + + + + + protected + mixed + $columnMergeRules + = [] + + + + + + + +
            +
            +

            + $rowMergeRules + + + + +

            + + + + + + protected + mixed + $rowMergeRules + = [] + + + + + + + +
            +
            + +
            +

            + Methods + + +

            +
            +

            + setColumnMergeRules() + + +

            + + +

            Sets the column merge rules for the export.

            + + + public + setColumnMergeRules(array<string|int, mixed> $rules) : static + +
            +
            + +

            The $rules parameter must be an associative array of column merge rules. +Each rule is an associative array with the following keys:

            +
              +
            • +start: The starting column letter or index of the merge range.
            • +
            • +end: The ending column letter or index of the merge range.
            • +
            • +shiftDown: An optional boolean indicating if the merge should be shifted down to the row below the header row.
            • +
            +

            If the start or end values are provided as integers, they will be converted to column letters.

            +
            + +
            Parameters
            +
            +
            + $rules + : array<string|int, mixed> +
            +
            +

            The column merge rules.

            +
            + +
            +
            + + + + + +
            +
            Return values
            + static +
            + +
            +
            +

            + setRowMergeRules() + + +

            + + +

            Sets the row merge rules for the export.

            + + + public + setRowMergeRules(array<string|int, mixed> $rules) : static + +
            +
            + +

            The $rules parameter can be either an associative array of column letters mapped to their respective field names, +or a numeric array of field names. If the latter, the column letters will be automatically determined by the export.

            +
            + +
            Parameters
            +
            +
            + $rules + : array<string|int, mixed> +
            +
            +

            An associative array of column letters mapped to their respective field names, or a numeric array of field names.

            +
            + +
            +
            + + + + + +
            +
            Return values
            + static +
            + +
            +
            +

            + applyColumnMerging() + + +

            + + +

            Applies column merging rules to the given sheet.

            + + + protected + applyColumnMerging(Worksheet $sheet) : void + +
            +
            + +

            The rules are applied by either inserting a new row above the current header row +and setting the merged header value, or by merging the cells at the current header row.

            +
            + +
            Parameters
            +
            +
            + $sheet + : Worksheet +
            +
            +

            The sheet to apply column merging rules to.

            +
            + +
            +
            + + + + + + +
            +
            +

            + applyMerging() + + +

            + + +

            Applies both column and row merging rules to the given sheet.

            + + + protected + applyMerging(Worksheet $sheet) : void + +
            +
            + + +
            Parameters
            +
            +
            + $sheet + : Worksheet +
            +
            +

            The sheet to apply merging rules to.

            +
            + +
            +
            + + + + + + +
            +
            +

            + applyRowMerging() + + +

            + + +

            Applies row merging to the given sheet according to the row merge rules.

            + + + protected + applyRowMerging(Worksheet $sheet) : void + +
            +
            + +

            This method iterates over the rows of the sheet, and for each row, it +checks if the value in the given column matches the previous row's value. +If it does, it merges the cells in the given column from the start row +to the current row. If it doesn't, it resets the start row to the current +row and continues.

            +
            + +
            Parameters
            +
            +
            + $sheet + : Worksheet +
            +
            +

            The sheet to apply row merging to.

            +
            + +
            +
            + + + + + + +
            +
            + +
            +
            +
            +
            +
            
            +        
            + +
            +
            + + + +
            +
            +
            + +
            + On this page + + +
            + +
            +
            +
            +
            +
            +

            Search results

            + +
            +
            +
              +
              +
              +
              +
              + + +
              + + + + + + + + diff --git a/docs/api/css/base.css b/docs/api/css/base.css new file mode 100644 index 0000000..030ba07 --- /dev/null +++ b/docs/api/css/base.css @@ -0,0 +1,1236 @@ + + +:root { + /* Typography */ + --font-primary: 'Open Sans', Helvetica, Arial, sans-serif; + --font-secondary: 'Open Sans', Helvetica, Arial, sans-serif; + --font-monospace: 'Source Code Pro', monospace; + --line-height--primary: 1.6; + --letter-spacing--primary: .05rem; + --text-base-size: 1em; + --text-scale-ratio: 1.2; + + --text-xxs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio) / var(--text-scale-ratio)); + --text-xs: calc(var(--text-base-size) / var(--text-scale-ratio) / var(--text-scale-ratio)); + --text-sm: calc(var(--text-base-size) / var(--text-scale-ratio)); + --text-md: var(--text-base-size); + --text-lg: calc(var(--text-base-size) * var(--text-scale-ratio)); + --text-xl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + --text-xxxxxl: calc(var(--text-base-size) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio) * var(--text-scale-ratio)); + + --color-hue-red: 4; + --color-hue-pink: 340; + --color-hue-purple: 291; + --color-hue-deep-purple: 262; + --color-hue-indigo: 231; + --color-hue-blue: 207; + --color-hue-light-blue: 199; + --color-hue-cyan: 187; + --color-hue-teal: 174; + --color-hue-green: 122; + --color-hue-phpdocumentor-green: 96; + --color-hue-light-green: 88; + --color-hue-lime: 66; + --color-hue-yellow: 54; + --color-hue-amber: 45; + --color-hue-orange: 36; + --color-hue-deep-orange: 14; + --color-hue-brown: 16; + + /* Colors */ + --primary-color-hue: var(--color-hue-phpdocumentor-green, --color-hue-phpdocumentor-green); + --primary-color-saturation: 57%; + --primary-color: hsl(var(--primary-color-hue), var(--primary-color-saturation), 60%); + --primary-color-darken: hsl(var(--primary-color-hue), var(--primary-color-saturation), 40%); + --primary-color-darker: hsl(var(--primary-color-hue), var(--primary-color-saturation), 25%); + --primary-color-darkest: hsl(var(--primary-color-hue), var(--primary-color-saturation), 10%); + --primary-color-lighten: hsl(var(--primary-color-hue), calc(var(--primary-color-saturation) - 20%), 85%); + --primary-color-lighter: hsl(var(--primary-color-hue), calc(var(--primary-color-saturation) - 45%), 97.5%); + --dark-gray: #d1d1d1; + --light-gray: #f0f0f0; + + --text-color: var(--primary-color-darkest); + + --header-height: var(--spacing-xxxxl); + --header-bg-color: var(--primary-color); + --code-background-color: var(--primary-color-lighter); + --code-border-color: --primary-color-lighten; + --button-border-color: var(--primary-color-darken); + --button-color: transparent; + --button-color-primary: var(--primary-color); + --button-text-color: #555; + --button-text-color-primary: white; + --popover-background-color: rgba(255, 255, 255, 0.75); + --link-color-primary: var(--primary-color-darker); + --link-hover-color-primary: var(--primary-color-darkest); + --form-field-border-color: var(--dark-gray); + --form-field-color: #fff; + --admonition-success-color: var(--primary-color); + --admonition-border-color: silver; + --table-separator-color: var(--primary-color-lighten); + --title-text-color: var(--primary-color); + + --sidebar-border-color: var(--primary-color-lighten); + + /* Grid */ + --container-width: 1400px; + + /* Spacing */ + --spacing-base-size: 1rem; + --spacing-scale-ratio: 1.5; + + --spacing-xxxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-xxs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-xs: calc(var(--spacing-base-size) / var(--spacing-scale-ratio) / var(--spacing-scale-ratio)); + --spacing-sm: calc(var(--spacing-base-size) / var(--spacing-scale-ratio)); + --spacing-md: var(--spacing-base-size); + --spacing-lg: calc(var(--spacing-base-size) * var(--spacing-scale-ratio)); + --spacing-xl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + --spacing-xxxxl: calc(var(--spacing-base-size) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio) * var(--spacing-scale-ratio)); + + --border-radius-base-size: 3px; +} + +/* Base Styles +-------------------------------------------------- */ +body { + background-color: #fff; + color: var(--text-color); + font-family: var(--font-primary); + font-size: var(--text-md); + letter-spacing: var(--letter-spacing--primary); + line-height: var(--line-height--primary); + width: 100%; +} + +.phpdocumentor h1, +.phpdocumentor h2, +.phpdocumentor h3, +.phpdocumentor h4, +.phpdocumentor h5, +.phpdocumentor h6 { + margin-bottom: var(--spacing-lg); + margin-top: var(--spacing-lg); + font-weight: 600; +} + +.phpdocumentor h1 { + font-size: var(--text-xxxxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.2; + margin-top: 0; +} + +.phpdocumentor h2 { + font-size: var(--text-xxxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.25; +} + +.phpdocumentor h3 { + font-size: var(--text-xxl); + letter-spacing: var(--letter-spacing--primary); + line-height: 1.3; +} + +.phpdocumentor h4 { + font-size: var(--text-xl); + letter-spacing: calc(var(--letter-spacing--primary) / 2); + line-height: 1.35; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor h5 { + font-size: var(--text-lg); + letter-spacing: calc(var(--letter-spacing--primary) / 4); + line-height: 1.5; + margin-bottom: var(--spacing-md); + margin-top: var(--spacing-md); +} + +.phpdocumentor h6 { + font-size: var(--text-md); + letter-spacing: 0; + line-height: var(--line-height--primary); + margin-bottom: var(--spacing-md); + margin-top: var(--spacing-md); +} +.phpdocumentor h1 .headerlink, +.phpdocumentor h2 .headerlink, +.phpdocumentor h3 .headerlink, +.phpdocumentor h4 .headerlink, +.phpdocumentor h5 .headerlink, +.phpdocumentor h6 .headerlink +{ + display: none; +} + +@media (min-width: 550px) { + .phpdocumentor h1 .headerlink, + .phpdocumentor h2 .headerlink, + .phpdocumentor h3 .headerlink, + .phpdocumentor h4 .headerlink, + .phpdocumentor h5 .headerlink, + .phpdocumentor h6 .headerlink { + display: inline; + transition: all .3s ease-in-out; + opacity: 0; + text-decoration: none; + color: silver; + font-size: 80%; + } + + .phpdocumentor h1:hover .headerlink, + .phpdocumentor h2:hover .headerlink, + .phpdocumentor h3:hover .headerlink, + .phpdocumentor h4:hover .headerlink, + .phpdocumentor h5:hover .headerlink, + .phpdocumentor h6:hover .headerlink { + opacity: 1; + } +} +.phpdocumentor p { + margin-top: 0; + margin-bottom: var(--spacing-md); +} +.phpdocumentor figure { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor figcaption { + text-align: center; + font-style: italic; + font-size: 80%; +} + +.phpdocumentor-uml-diagram svg { + max-width: 100%; + height: auto !important; +} +.phpdocumentor-line { + border-top: 1px solid #E1E1E1; + border-width: 0; + margin-bottom: var(--spacing-xxl); + margin-top: var(--spacing-xxl); +} +.phpdocumentor-section { + box-sizing: border-box; + margin: 0 auto; + max-width: var(--container-width); + padding: 0 var(--spacing-sm); + position: relative; + width: 100%; +} + +@media (min-width: 550px) { + .phpdocumentor-section { + padding: 0 var(--spacing-lg); + } +} + +@media (min-width: 1200px) { + .phpdocumentor-section { + padding: 0; + width: 95%; + } +} +.phpdocumentor-column { + box-sizing: border-box; + float: left; + width: 100%; +} + +@media (min-width: 550px) { + .phpdocumentor-column { + margin-left: 4%; + } + + .phpdocumentor-column:first-child { + margin-left: 0; + } + + .-one.phpdocumentor-column { + width: 4.66666666667%; + } + + .-two.phpdocumentor-column { + width: 13.3333333333%; + } + + .-three.phpdocumentor-column { + width: 22%; + } + + .-four.phpdocumentor-column { + width: 30.6666666667%; + } + + .-five.phpdocumentor-column { + width: 39.3333333333%; + } + + .-six.phpdocumentor-column { + width: 48%; + } + + .-seven.phpdocumentor-column { + width: 56.6666666667%; + } + + .-eight.phpdocumentor-column { + width: 65.3333333333%; + } + + .-nine.phpdocumentor-column { + width: 74.0%; + } + + .-ten.phpdocumentor-column { + width: 82.6666666667%; + } + + .-eleven.phpdocumentor-column { + width: 91.3333333333%; + } + + .-twelve.phpdocumentor-column { + margin-left: 0; + width: 100%; + } + + .-one-third.phpdocumentor-column { + width: 30.6666666667%; + } + + .-two-thirds.phpdocumentor-column { + width: 65.3333333333%; + } + + .-one-half.phpdocumentor-column { + width: 48%; + } + + /* Offsets */ + .-offset-by-one.phpdocumentor-column { + margin-left: 8.66666666667%; + } + + .-offset-by-two.phpdocumentor-column { + margin-left: 17.3333333333%; + } + + .-offset-by-three.phpdocumentor-column { + margin-left: 26%; + } + + .-offset-by-four.phpdocumentor-column { + margin-left: 34.6666666667%; + } + + .-offset-by-five.phpdocumentor-column { + margin-left: 43.3333333333%; + } + + .-offset-by-six.phpdocumentor-column { + margin-left: 52%; + } + + .-offset-by-seven.phpdocumentor-column { + margin-left: 60.6666666667%; + } + + .-offset-by-eight.phpdocumentor-column { + margin-left: 69.3333333333%; + } + + .-offset-by-nine.phpdocumentor-column { + margin-left: 78.0%; + } + + .-offset-by-ten.phpdocumentor-column { + margin-left: 86.6666666667%; + } + + .-offset-by-eleven.phpdocumentor-column { + margin-left: 95.3333333333%; + } + + .-offset-by-one-third.phpdocumentor-column { + margin-left: 34.6666666667%; + } + + .-offset-by-two-thirds.phpdocumentor-column { + margin-left: 69.3333333333%; + } + + .-offset-by-one-half.phpdocumentor-column { + margin-left: 52%; + } +} +.phpdocumentor a { + color: var(--link-color-primary); +} + +.phpdocumentor a:hover { + color: var(--link-hover-color-primary); +} +.phpdocumentor-button { + background-color: var(--button-color); + border: 1px solid var(--button-border-color); + border-radius: var(--border-radius-base-size); + box-sizing: border-box; + color: var(--button-text-color); + cursor: pointer; + display: inline-block; + font-size: var(--text-sm); + font-weight: 600; + height: 38px; + letter-spacing: .1rem; + line-height: 38px; + padding: 0 var(--spacing-xxl); + text-align: center; + text-decoration: none; + text-transform: uppercase; + white-space: nowrap; + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-button .-wide { + width: 100%; +} + +.phpdocumentor-button:hover, +.phpdocumentor-button:focus { + border-color: #888; + color: #333; + outline: 0; +} + +.phpdocumentor-button.-primary { + background-color: var(--button-color-primary); + border-color: var(--button-color-primary); + color: var(--button-text-color-primary); +} + +.phpdocumentor-button.-primary:hover, +.phpdocumentor-button.-primary:focus { + background-color: var(--link-color-primary); + border-color: var(--link-color-primary); + color: var(--button-text-color-primary); +} +.phpdocumentor form { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-field { + background-color: var(--form-field-color); + border: 1px solid var(--form-field-border-color); + border-radius: var(--border-radius-base-size); + box-shadow: none; + box-sizing: border-box; + height: 38px; + padding: var(--spacing-xxxs) var(--spacing-xxs); /* The 6px vertically centers text on FF, ignored by Webkit */ + margin-bottom: var(--spacing-md); +} + +/* Removes awkward default styles on some inputs for iOS */ +input[type="email"], +input[type="number"], +input[type="search"], +input[type="text"], +input[type="tel"], +input[type="url"], +input[type="password"], +textarea { + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; +} + +.phpdocumentor-textarea { + min-height: 65px; + padding-bottom: var(--spacing-xxxs); + padding-top: var(--spacing-xxxs); +} + +.phpdocumentor-field:focus { + border: 1px solid var(--button-color-primary); + outline: 0; +} + +label.phpdocumentor-label { + display: block; + margin-bottom: var(--spacing-xs); +} + +.phpdocumentor-fieldset { + border-width: 0; + padding: 0; +} + +input[type="checkbox"].phpdocumentor-field, +input[type="radio"].phpdocumentor-field { + display: inline; +} +.phpdocumentor-column ul, +div.phpdocumentor-list > ul, +ul.phpdocumentor-list { + list-style: circle; +} + +.phpdocumentor-column ol, +div.phpdocumentor-list > ol, +ol.phpdocumentor-list { + list-style: decimal; +} + + +.phpdocumentor-column ul, +div.phpdocumentor-list > ul, +ol.phpdocumentor-list, +ul.phpdocumentor-list { + margin-top: 0; + padding-left: var(--spacing-lg); + margin-bottom: var(--spacing-sm); +} + +.phpdocumentor-column ul.-clean, +div.phpdocumentor-list > ul.-clean, +ul.phpdocumentor-list.-clean { + list-style: none; + padding-left: 0; +} + +dl { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-column ul ul, +div.phpdocumentor-list > ul ul, +ul.phpdocumentor-list ul.phpdocumentor-list, +ul.phpdocumentor-list ol.phpdocumentor-list, +ol.phpdocumentor-list ol.phpdocumentor-list, +ol.phpdocumentor-list ul.phpdocumentor-list { + font-size: var(--text-sm); + margin: 0 0 0 calc(var(--spacing-xs) * 2); +} + +.phpdocumentor-column ul li, +.phpdocumentor-list li { + padding-bottom: var(--spacing-xs); +} + +.phpdocumentor dl dt { + margin-bottom: var(--spacing-xs); +} + +.phpdocumentor dl dd { + margin-bottom: var(--spacing-md); +} +.phpdocumentor pre { + margin-bottom: var(--spacing-md); +} + +.phpdocumentor-code { + font-family: var(--font-monospace); + background: var(--code-background-color); + border: 1px solid var(--code-border-color); + border-radius: var(--border-radius-base-size); + font-size: var(--text-sm); + padding: var(--spacing-sm) var(--spacing-md); + width: 100%; + box-sizing: border-box; +} + +.phpdocumentor-code.-dark { + background: var(--primary-color-darkest); + color: var(--light-gray); + box-shadow: 0 2px 3px var(--dark-gray); +} + +pre > .phpdocumentor-code { + display: block; + white-space: pre; +} +.phpdocumentor blockquote { + border-left: 4px solid var(--primary-color-darken); + margin: var(--spacing-md) 0; + padding: var(--spacing-xs) var(--spacing-sm); + color: var(--primary-color-darker); + font-style: italic; +} + +.phpdocumentor blockquote p:last-of-type { + margin-bottom: 0; +} +.phpdocumentor table { + margin-bottom: var(--spacing-md); +} + +th.phpdocumentor-heading, +td.phpdocumentor-cell { + border-bottom: 1px solid var(--table-separator-color); + padding: var(--spacing-sm) var(--spacing-md); + text-align: left; +} + +th.phpdocumentor-heading:first-child, +td.phpdocumentor-cell:first-child { + padding-left: 0; +} + +th.phpdocumentor-heading:last-child, +td.phpdocumentor-cell:last-child { + padding-right: 0; +} +.phpdocumentor-label-line { + display: flex; + flex-direction: row; + gap: 1rem +} + +.phpdocumentor-label { + background: #f6f6f6; + border-radius: .25rem; + font-size: 80%; + display: inline-block; + overflow: hidden +} + +/* +It would be better if the phpdocumentor-element class were to become a flex element with a gap, but for #3337 that +is too big a fix and needs to be done in a new design iteration. +*/ +.phpdocumentor-signature + .phpdocumentor-label-line .phpdocumentor-label { + margin-top: var(--spacing-sm); +} + +.phpdocumentor-label span { + display: inline-block; + padding: .125rem .5rem; +} + +.phpdocumentor-label--success span:last-of-type { + background: #abe1ab; +} + +.phpdocumentor-header { + display: flex; + flex-direction: row; + align-items: stretch; + flex-wrap: wrap; + justify-content: space-between; + height: auto; + padding: var(--spacing-md) var(--spacing-md); +} + +.phpdocumentor-header__menu-button { + position: absolute; + top: -100%; + left: -100%; +} + +.phpdocumentor-header__menu-icon { + font-size: 2rem; + color: var(--primary-color); +} + +.phpdocumentor-header__menu-button:checked ~ .phpdocumentor-topnav { + max-height: 250px; + padding-top: var(--spacing-md); +} + +@media (min-width: 1000px) { + .phpdocumentor-header { + flex-direction: row; + padding: var(--spacing-lg) var(--spacing-lg); + min-height: var(--header-height); + } + + .phpdocumentor-header__menu-icon { + display: none; + } +} + +@media (min-width: 1000px) { + .phpdocumentor-header { + padding-top: 0; + padding-bottom: 0; + } +} +@media (min-width: 1200px) { + .phpdocumentor-header { + padding: 0; + } +} +.phpdocumentor-title { + box-sizing: border-box; + color: var(--title-text-color); + font-size: var(--text-xxl); + letter-spacing: .05rem; + font-weight: normal; + width: auto; + margin: 0; + display: flex; + align-items: center; +} + +.phpdocumentor-title.-without-divider { + border: none; +} + +.phpdocumentor-title__link { + transition: all .3s ease-out; + display: flex; + color: var(--title-text-color); + text-decoration: none; + font-weight: normal; + white-space: nowrap; + transform: scale(.75); + transform-origin: left; +} + +.phpdocumentor-title__link:hover { + transform: perspective(15rem) translateX(.5rem); + font-weight: 600; +} + +@media (min-width: 1000px) { + .phpdocumentor-title { + width: 22%; + border-right: var(--sidebar-border-color) solid 1px; + } + + .phpdocumentor-title__link { + transform-origin: left; + } +} + +@media (min-width: 1000px) { + .phpdocumentor-title__link { + transform: scale(.85); + } +} + +@media (min-width: 1200px) { + .phpdocumentor-title__link { + transform: scale(1); + } +} +.phpdocumentor-topnav { + display: flex; + align-items: center; + margin: 0; + max-height: 0; + overflow: hidden; + transition: max-height 0.2s ease-out; + flex-basis: 100%; +} + +.phpdocumentor-topnav__menu { + text-align: right; + list-style: none; + margin: 0; + padding: 0; + flex: 1; + display: flex; + flex-flow: row wrap; + justify-content: center; +} + +.phpdocumentor-topnav__menu-item { + margin: 0; + width: 100%; + display: inline-block; + text-align: center; + padding: var(--spacing-sm) 0 +} + +.phpdocumentor-topnav__menu-item.-social { + width: auto; + padding: var(--spacing-sm) +} + +.phpdocumentor-topnav__menu-item a { + display: inline-block; + color: var(--text-color); + text-decoration: none; + font-size: var(--text-lg); + transition: all .3s ease-out; + border-bottom: 1px dotted transparent; + line-height: 1; +} + +.phpdocumentor-topnav__menu-item a:hover { + transform: perspective(15rem) translateY(.1rem); + border-bottom: 1px dotted var(--text-color); +} + +@media (min-width: 1000px) { + .phpdocumentor-topnav { + max-height: none; + overflow: visible; + flex-basis: auto; + } + + .phpdocumentor-topnav__menu { + display: flex; + flex-flow: row wrap; + justify-content: flex-end; + } + + .phpdocumentor-topnav__menu-item, + .phpdocumentor-topnav__menu-item.-social { + width: auto; + display: inline; + text-align: right; + padding: 0 0 0 var(--spacing-md) + } +} +.phpdocumentor-sidebar { + margin: 0; + overflow: hidden; + max-height: 0; +} + +.phpdocumentor .phpdocumentor-sidebar .phpdocumentor-list { + padding: var(--spacing-xs) var(--spacing-md); + list-style: none; + margin: 0; +} + +.phpdocumentor .phpdocumentor-sidebar li { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + padding: 0 0 var(--spacing-xxxs) var(--spacing-md); +} + +.phpdocumentor .phpdocumentor-sidebar abbr, +.phpdocumentor .phpdocumentor-sidebar a { + text-decoration: none; + border-bottom: none; + color: var(--text-color); + font-size: var(--text-md); + padding-left: 0; + transition: padding-left .4s ease-out; +} + +.phpdocumentor .phpdocumentor-sidebar a:hover, +.phpdocumentor .phpdocumentor-sidebar a.-active { + padding-left: 5px; + font-weight: 600; +} + +.phpdocumentor .phpdocumentor-sidebar__category > * { + border-left: 1px solid var(--primary-color-lighten); +} + +.phpdocumentor .phpdocumentor-sidebar__category { + margin-bottom: var(--spacing-lg); +} + +.phpdocumentor .phpdocumentor-sidebar__category-header { + font-size: var(--text-md); + margin-top: 0; + margin-bottom: var(--spacing-xs); + color: var(--link-color-primary); + font-weight: 600; + border-left: 0; +} + +.phpdocumentor .phpdocumentor-sidebar__root-package, +.phpdocumentor .phpdocumentor-sidebar__root-namespace { + font-size: var(--text-md); + margin: 0; + padding-top: var(--spacing-xs); + padding-left: var(--spacing-md); + color: var(--text-color); + font-weight: normal; +} + +@media (min-width: 550px) { + .phpdocumentor-sidebar { + border-right: var(--sidebar-border-color) solid 1px; + } +} + +.phpdocumentor-sidebar__menu-button { + position: absolute; + top: -100%; + left: -100%; +} + +.phpdocumentor-sidebar__menu-icon { + font-size: var(--text-md); + font-weight: 600; + background: var(--primary-color); + color: white; + margin: 0 0 var(--spacing-lg); + display: block; + padding: var(--spacing-sm); + text-align: center; + border-radius: 3px; + text-transform: uppercase; + letter-spacing: .15rem; +} + +.phpdocumentor-sidebar__menu-button:checked ~ .phpdocumentor-sidebar { + max-height: 100%; + padding-top: var(--spacing-md); +} + +@media (min-width: 550px) { + .phpdocumentor-sidebar { + overflow: visible; + max-height: 100%; + } + + .phpdocumentor-sidebar__menu-icon { + display: none; + } +} +.phpdocumentor-admonition { + border: 1px solid var(--admonition-border-color); + border-radius: var(--border-radius-base-size); + border-color: var(--primary-color-lighten); + background-color: var(--primary-color-lighter); + padding: var(--spacing-lg); + margin: var(--spacing-lg) 0; + display: flex; + flex-direction: row; + align-items: flex-start; +} + +.phpdocumentor-admonition p:last-of-type { + margin-bottom: 0; +} + +.phpdocumentor-admonition--success, +.phpdocumentor-admonition.-success { + border-color: var(--admonition-success-color); +} + +.phpdocumentor-admonition__icon { + margin-right: var(--spacing-md); + color: var(--primary-color); + max-width: 3rem; +} +.phpdocumentor ul.phpdocumentor-breadcrumbs { + font-size: var(--text-md); + list-style: none; + margin: 0; + padding: 0; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs a { + color: var(--text-color); + text-decoration: none; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs > li { + display: inline-block; + margin: 0; +} + +.phpdocumentor ul.phpdocumentor-breadcrumbs > li + li:before { + color: var(--dark-gray); + content: "\\\A0"; + padding: 0; +} +.phpdocumentor .phpdocumentor-back-to-top { + position: fixed; + bottom: 2rem; + font-size: 2.5rem; + opacity: .25; + transition: all .3s ease-in-out; + right: 2rem; +} + +.phpdocumentor .phpdocumentor-back-to-top:hover { + color: var(--link-color-primary); + opacity: 1; +} +.phpdocumentor-search { + position: relative; + display: none; /** disable by default for non-js flow */ + opacity: .3; /** white-out default for loading indication */ + transition: opacity .3s, background .3s; + margin: var(--spacing-sm) 0; + flex: 1; + min-width: 100%; +} + +.phpdocumentor-search label { + display: flex; + align-items: center; + flex: 1; +} + +.phpdocumentor-search__icon { + color: var(--primary-color); + margin-right: var(--spacing-sm); + width: 1rem; + height: 1rem; +} + +.phpdocumentor-search--enabled { + display: flex; +} + +.phpdocumentor-search--active { + opacity: 1; +} + +.phpdocumentor-search input:disabled { + background-color: lightgray; +} + +.phpdocumentor-search__field:focus, +.phpdocumentor-search__field { + margin-bottom: 0; + border: 0; + border-bottom: 2px solid var(--primary-color); + padding: 0; + border-radius: 0; + flex: 1; +} + +@media (min-width: 1000px) { + .phpdocumentor-search { + min-width: auto; + max-width: 20rem; + margin: 0 0 0 auto; + } +} +.phpdocumentor-search-results { + backdrop-filter: blur(5px); + background: var(--popover-background-color); + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + padding: 0; + opacity: 1; + pointer-events: all; + + transition: opacity .3s, background .3s; +} + +.phpdocumentor-search-results--hidden { + background: transparent; + backdrop-filter: blur(0); + opacity: 0; + pointer-events: none; +} + +.phpdocumentor-search-results__dialog { + width: 100%; + background: white; + max-height: 100%; + display: flex; + flex-direction: column; +} + +.phpdocumentor-search-results__body { + overflow: auto; +} + +.phpdocumentor-search-results__header { + padding: var(--spacing-lg); + display: flex; + justify-content: space-between; + background: var(--primary-color-darken); + color: white; + align-items: center; +} + +.phpdocumentor-search-results__close { + font-size: var(--text-xl); + background: none; + border: none; + padding: 0; + margin: 0; +} + +.phpdocumentor .phpdocumentor-search-results__title { + font-size: var(--text-xl); + margin-bottom: 0; +} + +.phpdocumentor-search-results__entries { + list-style: none; + padding: 0 var(--spacing-lg); + margin: 0; +} + +.phpdocumentor-search-results__entry { + border-bottom: 1px solid var(--table-separator-color); + padding: var(--spacing-sm) 0; + text-align: left; +} + +.phpdocumentor-search-results__entry a { + display: block; +} + +.phpdocumentor-search-results__entry small { + margin-top: var(--spacing-xs); + margin-bottom: var(--spacing-md); + color: var(--primary-color-darker); + display: block; + word-break: break-word; +} + +.phpdocumentor-search-results__entry h3 { + font-size: var(--text-lg); + margin: 0; +} + +@media (min-width: 550px) { + .phpdocumentor-search-results { + padding: 0 var(--spacing-lg); + } + + .phpdocumentor-search-results__entry h3 { + font-size: var(--text-xxl); + } + + .phpdocumentor-search-results__dialog { + margin: var(--spacing-xl) auto; + max-width: 40rem; + background: white; + border: 1px solid silver; + box-shadow: 0 2px 5px silver; + max-height: 40rem; + border-radius: 3px; + } +} +.phpdocumentor-modal { + position: fixed; + width: 100vw; + height: 100vh; + opacity: 0; + visibility: hidden; + transition: all 0.3s ease; + top: 0; + left: 0; + display: flex; + align-items: center; + justify-content: center; + z-index: 1; +} + +.phpdocumentor-modal__open { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} + +.phpdocumentor-modal-bg { + position: absolute; + background: gray; + opacity: 50%; + width: 100%; + height: 100%; +} + +.phpdocumentor-modal-container { + border-radius: 1em; + background: #fff; + position: relative; + padding: 2em; + box-sizing: border-box; + max-width:100vw; +} + +.phpdocumentor-modal__close { + position: absolute; + right: 0.75em; + top: 0.75em; + outline: none; + appearance: none; + color: var(--primary-color); + background: none; + border: 0px; + font-weight: bold; + cursor: pointer; +} +.phpdocumentor-on-this-page__sidebar { + display: none; +} + +.phpdocumentor-on-this-page__title { + display: block; + font-weight: bold; + margin-bottom: var(--spacing-sm); + color: var(--link-color-primary); +} + +@media (min-width: 1000px) { + .phpdocumentor-on-this-page__sidebar { + display: block; + position: relative; + } + + .phpdocumentor-on-this-page__content::-webkit-scrollbar, + [scrollbars]::-webkit-scrollbar { + height: 8px; + width: 8px; + } + + .phpdocumentor-on-this-page__content::-webkit-scrollbar-corner, + [scrollbars]::-webkit-scrollbar-corner { + background: 0; + } + + .phpdocumentor-on-this-page__content::-webkit-scrollbar-thumb, + [scrollbars]::-webkit-scrollbar-thumb { + background: rgba(128,134,139,0.26); + border-radius: 8px; + } + + .phpdocumentor-on-this-page__content { + position: sticky; + height: calc(100vh - var(--header-height)); + overflow-y: auto; + border-left: 1px solid var(--sidebar-border-color); + padding-left: var(--spacing-lg); + font-size: 90%; + top: -1px; /* Needed for the javascript to make the .-stuck trick work */ + flex: 0 1 auto; + width: 15vw; + } + + .phpdocumentor-on-this-page__content.-stuck { + height: 100vh; + } + + .phpdocumentor-on-this-page__content li { + word-break: break-all; + line-height: normal; + } + + .phpdocumentor-on-this-page__content li.-deprecated { + text-decoration: line-through; + } +} + +/* Used for screen readers and such */ +.visually-hidden { + display: none; +} + +.float-right { + float: right; +} + +.float-left { + float: left; +} diff --git a/docs/api/css/normalize.css b/docs/api/css/normalize.css new file mode 100644 index 0000000..653dc00 --- /dev/null +++ b/docs/api/css/normalize.css @@ -0,0 +1,427 @@ +/*! normalize.css v3.0.2 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 + * and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none !important; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: var(--font-monospace); + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/docs/api/css/template.css b/docs/api/css/template.css new file mode 100644 index 0000000..875ebaf --- /dev/null +++ b/docs/api/css/template.css @@ -0,0 +1,275 @@ + +.phpdocumentor-content { + position: relative; + display: flex; + gap: var(--spacing-md); +} + +.phpdocumentor-content > section:first-of-type { + width: 75%; + flex: 1 1 auto; +} + +@media (min-width: 1900px) { + .phpdocumentor-content > section:first-of-type { + width: 100%; + flex: 1 1 auto; + } +} + +.phpdocumentor .phpdocumentor-content__title { + margin-top: 0; +} +.phpdocumentor-summary { + font-style: italic; +} +.phpdocumentor-description { + margin-bottom: var(--spacing-md); +} +.phpdocumentor-element { + position: relative; +} + +.phpdocumentor-element .phpdocumentor-element { + border: 1px solid var(--primary-color-lighten); + margin-bottom: var(--spacing-md); + padding: var(--spacing-xs); + border-radius: 5px; +} + +.phpdocumentor-element.-deprecated .phpdocumentor-element__name { + text-decoration: line-through; +} + +@media (min-width: 550px) { + .phpdocumentor-element .phpdocumentor-element { + margin-bottom: var(--spacing-lg); + padding: var(--spacing-md); + } +} + +.phpdocumentor-element__modifier { + font-size: var(--text-xxs); + padding: calc(var(--spacing-base-size) / 4) calc(var(--spacing-base-size) / 2); + color: var(--text-color); + background-color: var(--light-gray); + border-radius: 3px; + text-transform: uppercase; +} + +.phpdocumentor .phpdocumentor-elements__header { + margin-top: var(--spacing-xxl); + margin-bottom: var(--spacing-lg); +} + +.phpdocumentor .phpdocumentor-element__name { + line-height: 1; + margin-top: 0; + font-weight: 300; + font-size: var(--text-lg); + word-break: break-all; + margin-bottom: var(--spacing-sm); +} + +@media (min-width: 550px) { + .phpdocumentor .phpdocumentor-element__name { + font-size: var(--text-xl); + margin-bottom: var(--spacing-xs); + } +} + +@media (min-width: 1200px) { + .phpdocumentor .phpdocumentor-element__name { + margin-bottom: var(--spacing-md); + } +} + +.phpdocumentor-element__package, +.phpdocumentor-element__extends, +.phpdocumentor-element__implements { + display: block; + font-size: var(--text-xxs); + font-weight: normal; + opacity: .7; +} + +.phpdocumentor-element__package .phpdocumentor-breadcrumbs { + display: inline; +} +.phpdocumentor .phpdocumentor-signature { + display: block; + font-size: var(--text-sm); + border: 1px solid #f0f0f0; +} + +.phpdocumentor .phpdocumentor-signature.-deprecated .phpdocumentor-signature__name { + text-decoration: line-through; +} + +@media (min-width: 550px) { + .phpdocumentor .phpdocumentor-signature { + margin-left: calc(var(--spacing-xl) * -1); + width: calc(100% + var(--spacing-xl)); + } +} + +.phpdocumentor-table-of-contents { +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry { + margin-bottom: var(--spacing-xxs); + margin-left: 2rem; + display: flex; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > a { + flex: 0 1 auto; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > a.-deprecated { + text-decoration: line-through; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry > span { + flex: 1; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:after { + content: ''; + height: 12px; + width: 12px; + left: 16px; + position: absolute; +} +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-private:after { + background: url('data:image/svg+xml;utf8,') no-repeat; +} +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-protected:after { + left: 13px; + background: url('data:image/svg+xml;utf8,') no-repeat; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry:before { + width: 1.25rem; + height: 1.25rem; + line-height: 1.25rem; + background: transparent url('data:image/svg+xml;utf8,') no-repeat center center; + content: ''; + position: absolute; + left: 0; + border-radius: 50%; + font-weight: 600; + color: white; + text-align: center; + font-size: .75rem; + margin-top: .2rem; +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-method:before { + content: 'M'; + color: ''; + background-image: url('data:image/svg+xml;utf8,'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-function:before { + content: 'M'; + color: ' 96'; + background-image: url('data:image/svg+xml;utf8,'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-property:before { + content: 'P' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-constant:before { + content: 'C'; + background-color: transparent; + background-image: url('data:image/svg+xml;utf8,'); +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-class:before { + content: 'C' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-interface:before { + content: 'I' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-trait:before { + content: 'T' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-namespace:before { + content: 'N' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-package:before { + content: 'P' +} + +.phpdocumentor-table-of-contents .phpdocumentor-table-of-contents__entry.-enum:before { + content: 'E' +} + +.phpdocumentor-table-of-contents dd { + font-style: italic; + margin-left: 2rem; +} +.phpdocumentor-element-found-in { + display: none; +} + +@media (min-width: 550px) { + .phpdocumentor-element-found-in { + display: block; + font-size: var(--text-sm); + color: gray; + margin-bottom: 1rem; + } +} + +@media (min-width: 1200px) { + .phpdocumentor-element-found-in { + position: absolute; + top: var(--spacing-sm); + right: var(--spacing-sm); + font-size: var(--text-sm); + margin-bottom: 0; + } +} + +.phpdocumentor-element-found-in .phpdocumentor-element-found-in__source { + flex: 0 1 auto; + display: inline-flex; +} + +.phpdocumentor-element-found-in .phpdocumentor-element-found-in__source:after { + width: 1.25rem; + height: 1.25rem; + line-height: 1.25rem; + background: transparent url('data:image/svg+xml;utf8,') no-repeat center center; + content: ''; + left: 0; + border-radius: 50%; + font-weight: 600; + text-align: center; + font-size: .75rem; + margin-top: .2rem; +} +.phpdocumentor-class-graph { + width: 100%; height: 600px; border:1px solid black; overflow: hidden +} + +.phpdocumentor-class-graph__graph { + width: 100%; +} +.phpdocumentor-tag-list__definition { + display: flex; +} + +.phpdocumentor-tag-link { + margin-right: var(--spacing-sm); +} diff --git a/docs/api/files/src-aliases.html b/docs/api/files/src-aliases.html new file mode 100644 index 0000000..d204c55 --- /dev/null +++ b/docs/api/files/src-aliases.html @@ -0,0 +1,327 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
              +

              Flex2Cell API Document

              + + + + + +
              + +
              +
              + + + + +
              +
              +
                +
              + +
              +

              aliases.php

              + +

              --------------------------------------------------------------------------

              + + +

              +
              + + +
              + Tags + + +
              +
              +
              + PROJECT +
              +
              + +

              : Flex2Cell | Zuko®

              +
              + +
              +
              + AUTHOR +
              +
              + +

              : Zuko https://github.com/tansautn

              +
              + +
              +
              + LINK +
              +
              + +

              : https://www.zuko.pro/

              +
              + +
              +
              + FILE +
              +
              + +

              : aliases.php

              +
              + +
              +
              + CREATED +
              +
              + +

              : 14:08 , 13/Oct/2024

              +
              + +
              +
              + + + + + +

              + Table of Contents + + +

              + + + + + + + + + + + + + + + + + +
              +
              +
              +
              +
              
              +        
              + +
              +
              + + + +
              +
              +
              + +
              + On this page + +
                +
              • Table Of Contents
              • +
              • +
                  +
                +
              • + + +
              +
              + +
              +
              +
              +
              +
              +

              Search results

              + +
              +
              +
                +
                +
                +
                +
                + + +
                + + + + + + + + diff --git a/docs/api/files/src-contracts-formatterinterface.html b/docs/api/files/src-contracts-formatterinterface.html new file mode 100644 index 0000000..16a7d3a --- /dev/null +++ b/docs/api/files/src-contracts-formatterinterface.html @@ -0,0 +1,335 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                +

                Flex2Cell API Document

                + + + + + +
                + +
                +
                + + + + +
                +
                +
                  +
                + +
                +

                FormatterInterface.php

                + +

                --------------------------------------------------------------------------

                + + +

                +
                + + +
                + Tags + + +
                +
                +
                + PROJECT +
                +
                + +

                : Flex2Cell | Zuko®

                +
                + +
                +
                + AUTHOR +
                +
                + +

                : Zuko https://github.com/tansautn

                +
                + +
                +
                + LINK +
                +
                + +

                : https://www.zuko.pro/

                +
                + +
                +
                + FILE +
                +
                + +

                : FormatterInterface.php

                +
                + +
                +
                + CREATED +
                +
                + +

                : 19:57 , 13/Oct/2024

                +
                + +
                +
                + + + + + +

                + Table of Contents + + +

                + + + +

                + Interfaces + + +

                +
                +
                FormatterInterface
                Class FormatterInterface
                + + + + + + + + + + + + + + +
                +
                +
                +
                +
                
                +        
                + +
                +
                + + + +
                +
                +
                + +
                + On this page + + +
                + +
                +
                +
                +
                +
                +

                Search results

                + +
                +
                +
                  +
                  +
                  +
                  +
                  + + +
                  + + + + + + + + diff --git a/docs/api/files/src-excelexporter.html b/docs/api/files/src-excelexporter.html new file mode 100644 index 0000000..ce543ae --- /dev/null +++ b/docs/api/files/src-excelexporter.html @@ -0,0 +1,280 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                  +

                  Flex2Cell API Document

                  + + + + + +
                  + +
                  +
                  + + + + +
                  +
                  +
                    +
                  + +
                  +

                  ExcelExporter.php

                  + + + + + + + + + + +

                  + Table of Contents + + +

                  + + + + +

                  + Classes + + +

                  +
                  +
                  ExcelExporter
                  Class ExcelExporter
                  + + + + + + + + + + + + + +
                  +
                  +
                  +
                  +
                  
                  +        
                  + +
                  +
                  + + + +
                  +
                  +
                  + +
                  + On this page + +
                    +
                  • Table Of Contents
                  • +
                  • + +
                  • + + +
                  +
                  + +
                  +
                  +
                  +
                  +
                  +

                  Search results

                  + +
                  +
                  +
                    +
                    +
                    +
                    +
                    + + +
                    + + + + + + + + diff --git a/docs/api/files/src-flex2cellserviceprovider.html b/docs/api/files/src-flex2cellserviceprovider.html new file mode 100644 index 0000000..e9a8cec --- /dev/null +++ b/docs/api/files/src-flex2cellserviceprovider.html @@ -0,0 +1,335 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                    +

                    Flex2Cell API Document

                    + + + + + +
                    + +
                    +
                    + + + + +
                    +
                    +
                      +
                    + +
                    +

                    Flex2CellServiceProvider.php

                    + +

                    --------------------------------------------------------------------------

                    + + +

                    +
                    + + +
                    + Tags + + +
                    +
                    +
                    + PROJECT +
                    +
                    + +

                    : Flex2Cell | Zuko®

                    +
                    + +
                    +
                    + AUTHOR +
                    +
                    + +

                    : Zuko https://github.com/tansautn

                    +
                    + +
                    +
                    + LINK +
                    +
                    + +

                    : https://www.zuko.pro/

                    +
                    + +
                    +
                    + FILE +
                    +
                    + +

                    : Flex2CellServiceProvider.php

                    +
                    + +
                    +
                    + CREATED +
                    +
                    + +

                    : 14:41 , 13/Oct/2024

                    +
                    + +
                    +
                    + + + + + +

                    + Table of Contents + + +

                    + + + + +

                    + Classes + + +

                    +
                    +
                    Flex2CellServiceProvider
                    Class Flex2CellServiceProvider
                    + + + + + + + + + + + + + +
                    +
                    +
                    +
                    +
                    
                    +        
                    + +
                    +
                    + + + +
                    +
                    +
                    + +
                    + On this page + +
                      +
                    • Table Of Contents
                    • +
                    • + +
                    • + + +
                    +
                    + +
                    +
                    +
                    +
                    +
                    +

                    Search results

                    + +
                    +
                    +
                      +
                      +
                      +
                      +
                      + + +
                      + + + + + + + + diff --git a/docs/api/files/src-traits-excelexportable.html b/docs/api/files/src-traits-excelexportable.html new file mode 100644 index 0000000..4972823 --- /dev/null +++ b/docs/api/files/src-traits-excelexportable.html @@ -0,0 +1,335 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                      +

                      Flex2Cell API Document

                      + + + + + +
                      + +
                      +
                      + + + + +
                      +
                      +
                        +
                      + +
                      +

                      ExcelExportable.php

                      + +

                      --------------------------------------------------------------------------

                      + + +

                      +
                      + + +
                      + Tags + + +
                      +
                      +
                      + PROJECT +
                      +
                      + +

                      : Flex2Cell | Zuko®

                      +
                      + +
                      +
                      + AUTHOR +
                      +
                      + +

                      : Zuko https://github.com/tansautn

                      +
                      + +
                      +
                      + LINK +
                      +
                      + +

                      : https://www.zuko.pro/

                      +
                      + +
                      +
                      + FILE +
                      +
                      + +

                      : ExcelExportable.php

                      +
                      + +
                      +
                      + CREATED +
                      +
                      + +

                      : 12:51 , 13/Oct/2024

                      +
                      + +
                      +
                      + + + + + +

                      + Table of Contents + + +

                      + + + + + +

                      + Traits + + +

                      +
                      +
                      ExcelExportable
                      Class ExcelExportable
                      + + + + + + + + + + + + +
                      +
                      +
                      +
                      +
                      
                      +        
                      + +
                      +
                      + + + +
                      +
                      +
                      + +
                      + On this page + +
                        +
                      • Table Of Contents
                      • +
                      • + +
                      • + + +
                      +
                      + +
                      +
                      +
                      +
                      +
                      +

                      Search results

                      + +
                      +
                      +
                        +
                        +
                        +
                        +
                        + + +
                        + + + + + + + + diff --git a/docs/api/files/src-traits-hasexportattributes.html b/docs/api/files/src-traits-hasexportattributes.html new file mode 100644 index 0000000..e1ff04f --- /dev/null +++ b/docs/api/files/src-traits-hasexportattributes.html @@ -0,0 +1,335 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                        +

                        Flex2Cell API Document

                        + + + + + +
                        + +
                        +
                        + + + + +
                        +
                        +
                          +
                        + +
                        +

                        HasExportAttributes.php

                        + +

                        --------------------------------------------------------------------------

                        + + +

                        +
                        + + +
                        + Tags + + +
                        +
                        +
                        + PROJECT +
                        +
                        + +

                        : Flex2Cell | Zuko®

                        +
                        + +
                        +
                        + AUTHOR +
                        +
                        + +

                        : Zuko https://github.com/tansautn

                        +
                        + +
                        +
                        + LINK +
                        +
                        + +

                        : https://www.zuko.pro/

                        +
                        + +
                        +
                        + FILE +
                        +
                        + +

                        : HasExportAttributes.php

                        +
                        + +
                        +
                        + CREATED +
                        +
                        + +

                        : 12:51 , 13/Oct/2024

                        +
                        + +
                        +
                        + + + + + +

                        + Table of Contents + + +

                        + + + + + +

                        + Traits + + +

                        +
                        +
                        HasExportAttributes
                        Class HasExportAttributes
                        + + + + + + + + + + + + +
                        +
                        +
                        +
                        +
                        
                        +        
                        + +
                        +
                        + + + +
                        +
                        +
                        + +
                        + On this page + +
                          +
                        • Table Of Contents
                        • +
                        • + +
                        • + + +
                        +
                        + +
                        +
                        +
                        +
                        +
                        +

                        Search results

                        + +
                        +
                        +
                          +
                          +
                          +
                          +
                          + + +
                          + + + + + + + + diff --git a/docs/api/files/src-traits-hasexportmerging.html b/docs/api/files/src-traits-hasexportmerging.html new file mode 100644 index 0000000..61907cb --- /dev/null +++ b/docs/api/files/src-traits-hasexportmerging.html @@ -0,0 +1,335 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                          +

                          Flex2Cell API Document

                          + + + + + +
                          + +
                          +
                          + + + + +
                          +
                          +
                            +
                          + +
                          +

                          HasExportMerging.php

                          + +

                          --------------------------------------------------------------------------

                          + + +

                          +
                          + + +
                          + Tags + + +
                          +
                          +
                          + PROJECT +
                          +
                          + +

                          : Flex2Cell | Zuko®

                          +
                          + +
                          +
                          + AUTHOR +
                          +
                          + +

                          : Zuko https://github.com/tansautn

                          +
                          + +
                          +
                          + LINK +
                          +
                          + +

                          : https://www.zuko.pro/

                          +
                          + +
                          +
                          + FILE +
                          +
                          + +

                          : HasExportMerging.php

                          +
                          + +
                          +
                          + CREATED +
                          +
                          + +

                          : 12:52 , 13/Oct/2024

                          +
                          + +
                          +
                          + + + + + +

                          + Table of Contents + + +

                          + + + + + +

                          + Traits + + +

                          +
                          +
                          HasExportMerging
                          Class HasExportMerging
                          + + + + + + + + + + + + +
                          +
                          +
                          +
                          +
                          
                          +        
                          + +
                          +
                          + + + +
                          +
                          +
                          + +
                          + On this page + +
                            +
                          • Table Of Contents
                          • +
                          • + +
                          • + + +
                          +
                          + +
                          +
                          +
                          +
                          +
                          +

                          Search results

                          + +
                          +
                          +
                            +
                            +
                            +
                            +
                            + + +
                            + + + + + + + + diff --git a/docs/api/graphs/classes.html b/docs/api/graphs/classes.html new file mode 100644 index 0000000..f0e4560 --- /dev/null +++ b/docs/api/graphs/classes.html @@ -0,0 +1,122 @@ + + + + + Flex2Cell API Document + + + + + + + + + +
                            +

                            Flex2Cell API Document

                            + + + + + +
                            + +
                            +
                            + + + + +
                            +
                            + +
                            + +
                            +
                            +
                            +
                            +

                            Search results

                            + +
                            +
                            +
                              +
                              +
                              +
                              +
                              + + +
                              + + + + + + + + diff --git a/docs/api/index.html b/docs/api/index.html new file mode 100644 index 0000000..73320bb --- /dev/null +++ b/docs/api/index.html @@ -0,0 +1,165 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                              +

                              Flex2Cell API Document

                              + + + + + +
                              + +
                              +
                              + + + + +
                              +
                              +

                              Documentation

                              + + + +

                              + Table of Contents + + +

                              + +

                              + Packages + + +

                              +
                              +
                              Zuko
                              +
                              + +

                              + Namespaces + + +

                              +
                              +
                              Zuko
                              +
                              + + + + + + + + + + + + + +
                              +
                              +
                              +
                              +
                              +

                              Search results

                              + +
                              +
                              +
                                +
                                +
                                +
                                +
                                + + +
                                + + + + + + + + diff --git a/docs/api/indices/files.html b/docs/api/indices/files.html new file mode 100644 index 0000000..f6925ff --- /dev/null +++ b/docs/api/indices/files.html @@ -0,0 +1,146 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                +

                                Flex2Cell API Document

                                + + + + + +
                                + +
                                +
                                + + + + + +
                                +
                                +
                                +

                                Search results

                                + +
                                +
                                +
                                  +
                                  +
                                  +
                                  +
                                  + + +
                                  + + + + + + + + diff --git a/docs/api/js/search.js b/docs/api/js/search.js new file mode 100644 index 0000000..093d6d0 --- /dev/null +++ b/docs/api/js/search.js @@ -0,0 +1,173 @@ +// Search module for phpDocumentor +// +// This module is a wrapper around fuse.js that will use a given index and attach itself to a +// search form and to a search results pane identified by the following data attributes: +// +// 1. data-search-form +// 2. data-search-results +// +// The data-search-form is expected to have a single input element of type 'search' that will trigger searching for +// a series of results, were the data-search-results pane is expected to have a direct UL child that will be populated +// with rendered results. +// +// The search has various stages, upon loading this stage the data-search-form receives the CSS class +// 'phpdocumentor-search--enabled'; this indicates that JS is allowed and indices are being loaded. It is recommended +// to hide the form by default and show it when it receives this class to achieve progressive enhancement for this +// feature. +// +// After loading this module, it is expected to load a search index asynchronously, for example: +// +// +// +// In this script the generated index should attach itself to the search module using the `appendIndex` function. By +// doing it like this the page will continue loading, unhindered by the loading of the search. +// +// After the page has fully loaded, and all these deferred indexes loaded, the initialization of the search module will +// be called and the form will receive the class 'phpdocumentor-search--active', indicating search is ready. At this +// point, the input field will also have it's 'disabled' attribute removed. +var Search = (function () { + var fuse; + var index = []; + var options = { + shouldSort: true, + threshold: 0.6, + location: 0, + distance: 100, + maxPatternLength: 32, + minMatchCharLength: 1, + keys: [ + "fqsen", + "name", + "summary", + "url" + ] + }; + + // Credit David Walsh (https://davidwalsh.name/javascript-debounce-function) + // Returns a function, that, as long as it continues to be invoked, will not + // be triggered. The function will be called after it stops being called for + // N milliseconds. If `immediate` is passed, trigger the function on the + // leading edge, instead of the trailing. + function debounce(func, wait, immediate) { + var timeout; + + return function executedFunction() { + var context = this; + var args = arguments; + + var later = function () { + timeout = null; + if (!immediate) func.apply(context, args); + }; + + var callNow = immediate && !timeout; + clearTimeout(timeout); + timeout = setTimeout(later, wait); + if (callNow) func.apply(context, args); + }; + } + + function close() { + // Start scroll prevention: https://css-tricks.com/prevent-page-scrolling-when-a-modal-is-open/ + const scrollY = document.body.style.top; + document.body.style.position = ''; + document.body.style.top = ''; + window.scrollTo(0, parseInt(scrollY || '0') * -1); + // End scroll prevention + + var form = document.querySelector('[data-search-form]'); + var searchResults = document.querySelector('[data-search-results]'); + + form.classList.toggle('phpdocumentor-search--has-results', false); + searchResults.classList.add('phpdocumentor-search-results--hidden'); + var searchField = document.querySelector('[data-search-form] input[type="search"]'); + searchField.blur(); + } + + function search(event) { + // Start scroll prevention: https://css-tricks.com/prevent-page-scrolling-when-a-modal-is-open/ + document.body.style.position = 'fixed'; + document.body.style.top = `-${window.scrollY}px`; + // End scroll prevention + + // prevent enter's from autosubmitting + event.stopPropagation(); + + var form = document.querySelector('[data-search-form]'); + var searchResults = document.querySelector('[data-search-results]'); + var searchResultEntries = document.querySelector('[data-search-results] .phpdocumentor-search-results__entries'); + + searchResultEntries.innerHTML = ''; + + if (!event.target.value) { + close(); + return; + } + + form.classList.toggle('phpdocumentor-search--has-results', true); + searchResults.classList.remove('phpdocumentor-search-results--hidden'); + var results = fuse.search(event.target.value, {limit: 25}); + + results.forEach(function (result) { + var entry = document.createElement("li"); + entry.classList.add("phpdocumentor-search-results__entry"); + entry.innerHTML += '

                                  ' + result.name + "

                                  \n"; + entry.innerHTML += '' + result.fqsen + "\n"; + entry.innerHTML += '
                                  ' + result.summary + '
                                  '; + searchResultEntries.appendChild(entry) + }); + } + + function appendIndex(added) { + index = index.concat(added); + + // re-initialize search engine when appending an index after initialisation + if (typeof fuse !== 'undefined') { + fuse = new Fuse(index, options); + } + } + + function init() { + fuse = new Fuse(index, options); + + var form = document.querySelector('[data-search-form]'); + var searchField = document.querySelector('[data-search-form] input[type="search"]'); + + var closeButton = document.querySelector('.phpdocumentor-search-results__close'); + closeButton.addEventListener('click', function() { close() }.bind(this)); + + var searchResults = document.querySelector('[data-search-results]'); + searchResults.addEventListener('click', function() { close() }.bind(this)); + + form.classList.add('phpdocumentor-search--active'); + + searchField.setAttribute('placeholder', 'Search (Press "/" to focus)'); + searchField.removeAttribute('disabled'); + searchField.addEventListener('keyup', debounce(search, 300)); + + window.addEventListener('keyup', function (event) { + if (event.key === '/') { + searchField.focus(); + } + if (event.code === 'Escape') { + close(); + } + }.bind(this)); + } + + return { + appendIndex, + init + } +})(); + +window.addEventListener('DOMContentLoaded', function () { + var form = document.querySelector('[data-search-form]'); + + // When JS is supported; show search box. Must be before including the search for it to take effect immediately + form.classList.add('phpdocumentor-search--enabled'); +}); + +window.addEventListener('load', function () { + Search.init(); +}); diff --git a/docs/api/js/searchIndex.js b/docs/api/js/searchIndex.js new file mode 100644 index 0000000..90244a8 --- /dev/null +++ b/docs/api/js/searchIndex.js @@ -0,0 +1,294 @@ +Search.appendIndex( + [ + { + "fqsen": "\\Zuko\\Flex2Cell\\Contracts\\FormatterInterface", + "name": "FormatterInterface", + "summary": "Class\u0020FormatterInterface", + "url": "classes/Zuko-Flex2Cell-Contracts-FormatterInterface.html" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Contracts\\FormatterInterface\u003A\u003AformatValue\u0028\u0029", + "name": "formatValue", + "summary": "Format\u0020a\u0020value\u0020for\u0020export.", + "url": "classes/Zuko-Flex2Cell-Contracts-FormatterInterface.html#method_formatValue" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\ExcelExporter", + "name": "ExcelExporter", + "summary": "Class\u0020ExcelExporter", + "url": "classes/Zuko-Flex2Cell-ExcelExporter.html" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\ExcelExporter\u003A\u003Aexport\u0028\u0029", + "name": "export", + "summary": "", + "url": "classes/Zuko-Flex2Cell-ExcelExporter.html#method_export" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\ExcelExporter\u003A\u003Amake\u0028\u0029", + "name": "make", + "summary": "", + "url": "classes/Zuko-Flex2Cell-ExcelExporter.html#method_make" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Flex2CellServiceProvider", + "name": "Flex2CellServiceProvider", + "summary": "Class\u0020Flex2CellServiceProvider", + "url": "classes/Zuko-Flex2Cell-Flex2CellServiceProvider.html" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Flex2CellServiceProvider\u003A\u003Aregister\u0028\u0029", + "name": "register", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Flex2CellServiceProvider.html#method_register" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Flex2CellServiceProvider\u003A\u003Aboot\u0028\u0029", + "name": "boot", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Flex2CellServiceProvider.html#method_boot" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable", + "name": "ExcelExportable", + "summary": "Class\u0020ExcelExportable", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AsetData\u0028\u0029", + "name": "setData", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_setData" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AsetHeaders\u0028\u0029", + "name": "setHeaders", + "summary": "Set\u0020the\u0020headers\u0020to\u0020be\u0020displayed\u0020on\u0020the\u0020first\u0020row\u0020of\u0020the\u0020export.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_setHeaders" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AsetSubHeaders\u0028\u0029", + "name": "setSubHeaders", + "summary": "Set\u0020the\u0020sub\u0020headers\u0020to\u0020be\u0020displayed\u0020on\u0020the\u0020second\u0020row\u0020of\u0020the\u0020export.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_setSubHeaders" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AsetMapping\u0028\u0029", + "name": "setMapping", + "summary": "Set\u0020the\u0020mapping\u0020of\u0020header\u0020\u003D\u003E\u0020field\u0020names.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_setMapping" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AsetHiddens\u0028\u0029", + "name": "setHiddens", + "summary": "Set\u0020the\u0020fields\u0020which\u0020should\u0020not\u0020appear\u0020in\u0020the\u0020export.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_setHiddens" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AsetMetaSettings\u0028\u0029", + "name": "setMetaSettings", + "summary": "Set\u0020the\u0020meta\u0020settings\u0020of\u0020the\u0020export.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_setMetaSettings" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AsetChunkSize\u0028\u0029", + "name": "setChunkSize", + "summary": "Set\u0020the\u0020number\u0020of\u0020data\u0020rows\u0020to\u0020be\u0020processed\u0020in\u0020each\u0020chunk.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_setChunkSize" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AsetAppendMode\u0028\u0029", + "name": "setAppendMode", + "summary": "Set\u0020whether\u0020the\u0020export\u0020should\u0020append\u0020to\u0020an\u0020existing\u0020file\u0020or\u0020replace\u0020the\u0020file.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_setAppendMode" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AsetSkipHeader\u0028\u0029", + "name": "setSkipHeader", + "summary": "Set\u0020whether\u0020the\u0020export\u0020should\u0020write\u0020the\u0020header\u0020row\u0020or\u0020not.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_setSkipHeader" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003Aexport\u0028\u0029", + "name": "export", + "summary": "Export\u0020the\u0020data\u0020to\u0020an\u0020Excel\u0020file.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_export" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AwriteHeaders\u0028\u0029", + "name": "writeHeaders", + "summary": "Write\u0020the\u0020headers\u0020to\u0020the\u0020Excel\u0020sheet.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_writeHeaders" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AgetHeader\u0028\u0029", + "name": "getHeader", + "summary": "Get\u0020a\u0020header\u0020value\u0020from\u0020the\u0020headers\u0020array.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_getHeader" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AgetSubHeader\u0028\u0029", + "name": "getSubHeader", + "summary": "Get\u0020a\u0020sub\u002Dheader\u0020value\u0020from\u0020the\u0020sub\u0020headers\u0020array.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_getSubHeader" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AwriteRow\u0028\u0029", + "name": "writeRow", + "summary": "Write\u0020a\u0020single\u0020row\u0020of\u0020data\u0020to\u0020the\u0020spreadsheet.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_writeRow" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AgetValue\u0028\u0029", + "name": "getValue", + "summary": "Get\u0020a\u0020value\u0020from\u0020the\u0020data\u0020row\u0020for\u0020export.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_getValue" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AdataGet\u0028\u0029", + "name": "dataGet", + "summary": "Get\u0020an\u0020item\u0020from\u0020an\u0020array\u0020or\u0020object\u0020using\u0020\u0022dot\u0022\u0020notation.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_dataGet" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AformatValue\u0028\u0029", + "name": "formatValue", + "summary": "Format\u0020a\u0020value\u0020for\u0020export.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_formatValue" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AapplyMetaSettings\u0028\u0029", + "name": "applyMetaSettings", + "summary": "Apply\u0020the\u0020meta\u0020settings\u0020to\u0020the\u0020spreadsheet.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_applyMetaSettings" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AgetColumnLetter\u0028\u0029", + "name": "getColumnLetter", + "summary": "Get\u0020the\u0020column\u0020letter\u0020for\u0020a\u0020mapping\u0020key.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_getColumnLetter" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AgetMappingKeyFromHeader\u0028\u0029", + "name": "getMappingKeyFromHeader", + "summary": "Get\u0020the\u0020mapping\u0020key\u0020from\u0020a\u0020header.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_getMappingKeyFromHeader" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003AgetHeaderFromMappingKey\u0028\u0029", + "name": "getHeaderFromMappingKey", + "summary": "Get\u0020a\u0020header\u0020from\u0020a\u0020mapping\u0020key.", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_getHeaderFromMappingKey" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003Afirst\u0028\u0029", + "name": "first", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#method_first" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024data", + "name": "data", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_data" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024headers", + "name": "headers", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_headers" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024subHeaders", + "name": "subHeaders", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_subHeaders" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024mapping", + "name": "mapping", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_mapping" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024hiddens", + "name": "hiddens", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_hiddens" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024metaSettings", + "name": "metaSettings", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_metaSettings" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024chunkSize", + "name": "chunkSize", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_chunkSize" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024appendMode", + "name": "appendMode", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_appendMode" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024skipHeader", + "name": "skipHeader", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_skipHeader" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\ExcelExportable\u003A\u003A\u0024columnLetters", + "name": "columnLetters", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-ExcelExportable.html#property_columnLetters" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportAttributes", + "name": "HasExportAttributes", + "summary": "Class\u0020HasExportAttributes", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportAttributes.html" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportAttributes\u003A\u003AsetFormatters\u0028\u0029", + "name": "setFormatters", + "summary": "Set\u0020the\u0020formatters\u0020to\u0020be\u0020used\u0020for\u0020formatting\u0020values\u0020when\u0020exporting.", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportAttributes.html#method_setFormatters" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportAttributes\u003A\u003AformatValue\u0028\u0029", + "name": "formatValue", + "summary": "Format\u0020a\u0020value\u0020for\u0020export.", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportAttributes.html#method_formatValue" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportAttributes\u003A\u003A\u0024formatters", + "name": "formatters", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportAttributes.html#property_formatters" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportMerging", + "name": "HasExportMerging", + "summary": "Class\u0020HasExportMerging", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportMerging.html" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportMerging\u003A\u003AsetColumnMergeRules\u0028\u0029", + "name": "setColumnMergeRules", + "summary": "Sets\u0020the\u0020column\u0020merge\u0020rules\u0020for\u0020the\u0020export.", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportMerging.html#method_setColumnMergeRules" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportMerging\u003A\u003AsetRowMergeRules\u0028\u0029", + "name": "setRowMergeRules", + "summary": "Sets\u0020the\u0020row\u0020merge\u0020rules\u0020for\u0020the\u0020export.", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportMerging.html#method_setRowMergeRules" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportMerging\u003A\u003AapplyMerging\u0028\u0029", + "name": "applyMerging", + "summary": "Applies\u0020both\u0020column\u0020and\u0020row\u0020merging\u0020rules\u0020to\u0020the\u0020given\u0020sheet.", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportMerging.html#method_applyMerging" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportMerging\u003A\u003AapplyColumnMerging\u0028\u0029", + "name": "applyColumnMerging", + "summary": "Applies\u0020column\u0020merging\u0020rules\u0020to\u0020the\u0020given\u0020sheet.", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportMerging.html#method_applyColumnMerging" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportMerging\u003A\u003AapplyRowMerging\u0028\u0029", + "name": "applyRowMerging", + "summary": "Applies\u0020row\u0020merging\u0020to\u0020the\u0020given\u0020sheet\u0020according\u0020to\u0020the\u0020row\u0020merge\u0020rules.", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportMerging.html#method_applyRowMerging" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportMerging\u003A\u003A\u0024columnMergeRules", + "name": "columnMergeRules", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportMerging.html#property_columnMergeRules" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits\\HasExportMerging\u003A\u003A\u0024rowMergeRules", + "name": "rowMergeRules", + "summary": "", + "url": "classes/Zuko-Flex2Cell-Traits-HasExportMerging.html#property_rowMergeRules" + }, { + "fqsen": "\\", + "name": "\\", + "summary": "", + "url": "namespaces/default.html" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Contracts", + "name": "Contracts", + "summary": "", + "url": "namespaces/zuko-flex2cell-contracts.html" + }, { + "fqsen": "\\Zuko\\Flex2Cell", + "name": "Flex2Cell", + "summary": "", + "url": "namespaces/zuko-flex2cell.html" + }, { + "fqsen": "\\Zuko", + "name": "Zuko", + "summary": "", + "url": "namespaces/zuko.html" + }, { + "fqsen": "\\Zuko\\Flex2Cell\\Traits", + "name": "Traits", + "summary": "", + "url": "namespaces/zuko-flex2cell-traits.html" + } ] +); diff --git a/docs/api/js/template.js b/docs/api/js/template.js new file mode 100644 index 0000000..4938329 --- /dev/null +++ b/docs/api/js/template.js @@ -0,0 +1,17 @@ +(function(){ + window.addEventListener('load', () => { + const el = document.querySelector('.phpdocumentor-on-this-page__content') + if (!el) { + return; + } + + const observer = new IntersectionObserver( + ([e]) => { + e.target.classList.toggle("-stuck", e.intersectionRatio < 1); + }, + {threshold: [1]} + ); + + observer.observe(el); + }) +})(); diff --git a/docs/api/namespaces/default.html b/docs/api/namespaces/default.html new file mode 100644 index 0000000..927b13a --- /dev/null +++ b/docs/api/namespaces/default.html @@ -0,0 +1,270 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                  +

                                  Flex2Cell API Document

                                  + + + + + +
                                  + +
                                  +
                                  + + + + +
                                  +
                                  +
                                    +
                                  + +
                                  +

                                  API Documentation

                                  + + +

                                  + Table of Contents + + +

                                  + + +

                                  + Namespaces + + +

                                  +
                                  +
                                  Zuko
                                  +
                                  + + + + + + + + + + + + + +
                                  +
                                  +
                                  +
                                  +
                                  
                                  +        
                                  + +
                                  +
                                  + + + +
                                  +
                                  +
                                  + +
                                  + On this page + +
                                    +
                                  • Table Of Contents
                                  • +
                                  • +
                                      +
                                    +
                                  • + + +
                                  +
                                  + +
                                  +
                                  +
                                  +
                                  +
                                  +

                                  Search results

                                  + +
                                  +
                                  +
                                    +
                                    +
                                    +
                                    +
                                    + + +
                                    + + + + + + + + diff --git a/docs/api/namespaces/zuko-flex2cell-contracts.html b/docs/api/namespaces/zuko-flex2cell-contracts.html new file mode 100644 index 0000000..a47bf8f --- /dev/null +++ b/docs/api/namespaces/zuko-flex2cell-contracts.html @@ -0,0 +1,272 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                    +

                                    Flex2Cell API Document

                                    + + + + + +
                                    + +
                                    +
                                    + + + + +
                                    +
                                    + + +
                                    +

                                    Contracts

                                    + + +

                                    + Table of Contents + + +

                                    + + + +

                                    + Interfaces + + +

                                    +
                                    +
                                    FormatterInterface
                                    Class FormatterInterface
                                    + + + + + + + + + + + + +
                                    +
                                    +
                                    +
                                    +
                                    
                                    +        
                                    + +
                                    +
                                    + + + +
                                    +
                                    +
                                    + +
                                    + On this page + + +
                                    + +
                                    +
                                    +
                                    +
                                    +
                                    +

                                    Search results

                                    + +
                                    +
                                    +
                                      +
                                      +
                                      +
                                      +
                                      + + +
                                      + + + + + + + + diff --git a/docs/api/namespaces/zuko-flex2cell-traits.html b/docs/api/namespaces/zuko-flex2cell-traits.html new file mode 100644 index 0000000..5ea5c37 --- /dev/null +++ b/docs/api/namespaces/zuko-flex2cell-traits.html @@ -0,0 +1,272 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                      +

                                      Flex2Cell API Document

                                      + + + + + +
                                      + +
                                      +
                                      + + + + +
                                      +
                                      + + +
                                      +

                                      Traits

                                      + + +

                                      + Table of Contents + + +

                                      + + + + + +

                                      + Traits + + +

                                      +
                                      +
                                      ExcelExportable
                                      Class ExcelExportable
                                      HasExportAttributes
                                      Class HasExportAttributes
                                      HasExportMerging
                                      Class HasExportMerging
                                      + + + + + + + + + + +
                                      +
                                      +
                                      +
                                      +
                                      
                                      +        
                                      + +
                                      +
                                      + + + +
                                      +
                                      +
                                      + +
                                      + On this page + +
                                        +
                                      • Table Of Contents
                                      • +
                                      • + +
                                      • + + +
                                      +
                                      + +
                                      +
                                      +
                                      +
                                      +
                                      +

                                      Search results

                                      + +
                                      +
                                      +
                                        +
                                        +
                                        +
                                        +
                                        + + +
                                        + + + + + + + + diff --git a/docs/api/namespaces/zuko-flex2cell.html b/docs/api/namespaces/zuko-flex2cell.html new file mode 100644 index 0000000..0afe16a --- /dev/null +++ b/docs/api/namespaces/zuko-flex2cell.html @@ -0,0 +1,280 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                        +

                                        Flex2Cell API Document

                                        + + + + + +
                                        + +
                                        +
                                        + + + + +
                                        +
                                        + + +
                                        +

                                        Flex2Cell

                                        + + +

                                        + Table of Contents + + +

                                        + + +

                                        + Namespaces + + +

                                        +
                                        +
                                        Contracts
                                        +
                                        Traits
                                        +
                                        + + +

                                        + Classes + + +

                                        +
                                        +
                                        ExcelExporter
                                        Class ExcelExporter
                                        Flex2CellServiceProvider
                                        Class Flex2CellServiceProvider
                                        + + + + + + + + + + + +
                                        +
                                        +
                                        +
                                        +
                                        
                                        +        
                                        + +
                                        +
                                        + + + +
                                        +
                                        +
                                        + +
                                        + On this page + +
                                          +
                                        • Table Of Contents
                                        • +
                                        • + +
                                        • + + +
                                        +
                                        + +
                                        +
                                        +
                                        +
                                        +
                                        +

                                        Search results

                                        + +
                                        +
                                        +
                                          +
                                          +
                                          +
                                          +
                                          + + +
                                          + + + + + + + + diff --git a/docs/api/namespaces/zuko.html b/docs/api/namespaces/zuko.html new file mode 100644 index 0000000..47ac8a0 --- /dev/null +++ b/docs/api/namespaces/zuko.html @@ -0,0 +1,270 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                          +

                                          Flex2Cell API Document

                                          + + + + + +
                                          + +
                                          +
                                          + + + + +
                                          +
                                          +
                                            +
                                          + +
                                          +

                                          Zuko

                                          + + +

                                          + Table of Contents + + +

                                          + + +

                                          + Namespaces + + +

                                          +
                                          +
                                          Flex2Cell
                                          +
                                          + + + + + + + + + + + + + +
                                          +
                                          +
                                          +
                                          +
                                          
                                          +        
                                          + +
                                          +
                                          + + + +
                                          +
                                          +
                                          + +
                                          + On this page + +
                                            +
                                          • Table Of Contents
                                          • +
                                          • +
                                              +
                                            +
                                          • + + +
                                          +
                                          + +
                                          +
                                          +
                                          +
                                          +
                                          +

                                          Search results

                                          + +
                                          +
                                          +
                                            +
                                            +
                                            +
                                            +
                                            + + +
                                            + + + + + + + + diff --git a/docs/api/packages/Flex2Cell.html b/docs/api/packages/Flex2Cell.html new file mode 100644 index 0000000..6e2dabe --- /dev/null +++ b/docs/api/packages/Flex2Cell.html @@ -0,0 +1,266 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                            +

                                            Flex2Cell API Document

                                            + + + + + +
                                            + +
                                            +
                                            + + + + +
                                            +
                                            +
                                              +
                                            + +
                                            +

                                            Flex2Cell

                                            + + +

                                            + Table of Contents + + +

                                            + + + + + + + + + + + + + + + +
                                            +
                                            +
                                            +
                                            +
                                            
                                            +        
                                            + +
                                            +
                                            + + + +
                                            +
                                            +
                                            + +
                                            + On this page + +
                                              +
                                            • Table Of Contents
                                            • +
                                            • +
                                                +
                                              +
                                            • + + +
                                            +
                                            + +
                                            +
                                            +
                                            +
                                            +
                                            +

                                            Search results

                                            + +
                                            +
                                            +
                                              +
                                              +
                                              +
                                              +
                                              + + +
                                              + + + + + + + + diff --git a/docs/api/packages/Zuko-Flex2Cell-Contracts.html b/docs/api/packages/Zuko-Flex2Cell-Contracts.html new file mode 100644 index 0000000..afc707c --- /dev/null +++ b/docs/api/packages/Zuko-Flex2Cell-Contracts.html @@ -0,0 +1,272 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                              +

                                              Flex2Cell API Document

                                              + + + + + +
                                              + +
                                              +
                                              + + + + +
                                              +
                                              + + +
                                              +

                                              Contracts

                                              + + +

                                              + Table of Contents + + +

                                              + + + +

                                              + Interfaces + + +

                                              +
                                              +
                                              FormatterInterface
                                              Class FormatterInterface
                                              + + + + + + + + + + + + +
                                              +
                                              +
                                              +
                                              +
                                              
                                              +        
                                              + +
                                              +
                                              + + + +
                                              +
                                              +
                                              + +
                                              + On this page + + +
                                              + +
                                              +
                                              +
                                              +
                                              +
                                              +

                                              Search results

                                              + +
                                              +
                                              +
                                                +
                                                +
                                                +
                                                +
                                                + + +
                                                + + + + + + + + diff --git a/docs/api/packages/Zuko-Flex2Cell-Traits.html b/docs/api/packages/Zuko-Flex2Cell-Traits.html new file mode 100644 index 0000000..f743c0d --- /dev/null +++ b/docs/api/packages/Zuko-Flex2Cell-Traits.html @@ -0,0 +1,272 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                                +

                                                Flex2Cell API Document

                                                + + + + + +
                                                + +
                                                +
                                                + + + + +
                                                +
                                                + + +
                                                +

                                                Traits

                                                + + +

                                                + Table of Contents + + +

                                                + + + + + +

                                                + Traits + + +

                                                +
                                                +
                                                ExcelExportable
                                                Class ExcelExportable
                                                HasExportAttributes
                                                Class HasExportAttributes
                                                HasExportMerging
                                                Class HasExportMerging
                                                + + + + + + + + + + +
                                                +
                                                +
                                                +
                                                +
                                                
                                                +        
                                                + +
                                                +
                                                + + + +
                                                +
                                                +
                                                + +
                                                + On this page + +
                                                  +
                                                • Table Of Contents
                                                • +
                                                • + +
                                                • + + +
                                                +
                                                + +
                                                +
                                                +
                                                +
                                                +
                                                +

                                                Search results

                                                + +
                                                +
                                                +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  + + +
                                                  + + + + + + + + diff --git a/docs/api/packages/Zuko-Flex2Cell.html b/docs/api/packages/Zuko-Flex2Cell.html new file mode 100644 index 0000000..d7d5443 --- /dev/null +++ b/docs/api/packages/Zuko-Flex2Cell.html @@ -0,0 +1,280 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                                  +

                                                  Flex2Cell API Document

                                                  + + + + + +
                                                  + +
                                                  +
                                                  + + + + +
                                                  +
                                                  + + +
                                                  +

                                                  Flex2Cell

                                                  + + +

                                                  + Table of Contents + + +

                                                  + +

                                                  + Packages + + +

                                                  +
                                                  +
                                                  Contracts
                                                  +
                                                  Traits
                                                  +
                                                  + + + +

                                                  + Classes + + +

                                                  +
                                                  +
                                                  ExcelExporter
                                                  Class ExcelExporter
                                                  Flex2CellServiceProvider
                                                  Class Flex2CellServiceProvider
                                                  + + + + + + + + + + + +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  
                                                  +        
                                                  + +
                                                  +
                                                  + + + +
                                                  +
                                                  +
                                                  + +
                                                  + On this page + +
                                                    +
                                                  • Table Of Contents
                                                  • +
                                                  • + +
                                                  • + + +
                                                  +
                                                  + +
                                                  +
                                                  +
                                                  +
                                                  +
                                                  +

                                                  Search results

                                                  + +
                                                  +
                                                  +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    + + +
                                                    + + + + + + + + diff --git a/docs/api/packages/Zuko.html b/docs/api/packages/Zuko.html new file mode 100644 index 0000000..ce9379a --- /dev/null +++ b/docs/api/packages/Zuko.html @@ -0,0 +1,270 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                                    +

                                                    Flex2Cell API Document

                                                    + + + + + +
                                                    + +
                                                    +
                                                    + + + + +
                                                    +
                                                    +
                                                      +
                                                    + +
                                                    +

                                                    Zuko

                                                    + + +

                                                    + Table of Contents + + +

                                                    + +

                                                    + Packages + + +

                                                    +
                                                    +
                                                    Flex2Cell
                                                    +
                                                    + + + + + + + + + + + + + + +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    
                                                    +        
                                                    + +
                                                    +
                                                    + + + +
                                                    +
                                                    +
                                                    + +
                                                    + On this page + +
                                                      +
                                                    • Table Of Contents
                                                    • +
                                                    • +
                                                        +
                                                      +
                                                    • + + +
                                                    +
                                                    + +
                                                    +
                                                    +
                                                    +
                                                    +
                                                    +

                                                    Search results

                                                    + +
                                                    +
                                                    +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      + + +
                                                      + + + + + + + + diff --git a/docs/api/packages/default.html b/docs/api/packages/default.html new file mode 100644 index 0000000..fb715af --- /dev/null +++ b/docs/api/packages/default.html @@ -0,0 +1,270 @@ + + + + + Flex2Cell API Document + + + + + + + + + + + + + + + + + + + + + +
                                                      +

                                                      Flex2Cell API Document

                                                      + + + + + +
                                                      + +
                                                      +
                                                      + + + + +
                                                      +
                                                      +
                                                        +
                                                      + +
                                                      +

                                                      API Documentation

                                                      + + +

                                                      + Table of Contents + + +

                                                      + +

                                                      + Packages + + +

                                                      +
                                                      +
                                                      Zuko
                                                      +
                                                      + + + + + + + + + + + + + + +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      
                                                      +        
                                                      + +
                                                      +
                                                      + + + +
                                                      +
                                                      +
                                                      + +
                                                      + On this page + +
                                                        +
                                                      • Table Of Contents
                                                      • +
                                                      • +
                                                          +
                                                        +
                                                      • + + +
                                                      +
                                                      + +
                                                      +
                                                      +
                                                      +
                                                      +
                                                      +

                                                      Search results

                                                      + +
                                                      +
                                                      +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        + + +
                                                        + + + + + + + + diff --git a/docs/api/reports/deprecated.html b/docs/api/reports/deprecated.html new file mode 100644 index 0000000..65ae44b --- /dev/null +++ b/docs/api/reports/deprecated.html @@ -0,0 +1,138 @@ + + + + + Flex2Cell API Document » Deprecated elements + + + + + + + + + + + + + + + + + + + + + + +
                                                        +

                                                        Flex2Cell API Document

                                                        + + + + + +
                                                        + +
                                                        +
                                                        + + + + +
                                                        +
                                                        + + +
                                                        +

                                                        Deprecated

                                                        + + +
                                                        + No deprecated elements have been found in this project. +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +
                                                        +

                                                        Search results

                                                        + +
                                                        +
                                                        +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          + + +
                                                          + + + + + + + + diff --git a/docs/api/reports/errors.html b/docs/api/reports/errors.html new file mode 100644 index 0000000..4441b32 --- /dev/null +++ b/docs/api/reports/errors.html @@ -0,0 +1,137 @@ + + + + + Flex2Cell API Document » Compilation errors + + + + + + + + + + + + + + + + + + + + + + +
                                                          +

                                                          Flex2Cell API Document

                                                          + + + + + +
                                                          + +
                                                          +
                                                          + + + + +
                                                          +
                                                          + + +
                                                          +

                                                          Errors

                                                          + + +
                                                          No errors have been found in this project.
                                                          + +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +
                                                          +

                                                          Search results

                                                          + +
                                                          +
                                                          +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            + + +
                                                            + + + + + + + + diff --git a/docs/api/reports/markers.html b/docs/api/reports/markers.html new file mode 100644 index 0000000..68de227 --- /dev/null +++ b/docs/api/reports/markers.html @@ -0,0 +1,160 @@ + + + + + Flex2Cell API Document » Markers + + + + + + + + + + + + + + + + + + + + + + +
                                                            +

                                                            Flex2Cell API Document

                                                            + + + + + +
                                                            + +
                                                            +
                                                            + + + + +
                                                            +
                                                            + + +
                                                            +

                                                            Markers

                                                            + +

                                                            Table of Contents

                                                            + + + + + +
                                                            src/Traits/HasExportAttributes.php1
                                                            + + +

                                                            HasExportAttributes.php

                                                            + + + + + + + + + + + + + + + +
                                                            TypeLineDescription
                                                            TODO87: support for wildcard keys
                                                            +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            +
                                                            +

                                                            Search results

                                                            + +
                                                            +
                                                            +
                                                              +
                                                              +
                                                              +
                                                              +
                                                              + + +
                                                              + + + + + + + + diff --git a/src/ExcelExporter.php b/src/ExcelExporter.php index 562876d..fe51d80 100644 --- a/src/ExcelExporter.php +++ b/src/ExcelExporter.php @@ -22,7 +22,10 @@ /** * Class ExcelExporter - * + * @alias \Zuko\Flex2Cell\ExcelExporter \Zuko\FlexExcel\ExcelExporter + * @alias \Zuko\Flex2Cell\ExcelExporter \Zuko\FlexToExcel\ExcelExporter + * @alias \Zuko\Flex2Cell\ExcelExporter \Zuko\FlexibleExcelExport\ExcelExporter + * @alias \Zuko\Flex2Cell\ExcelExporter \Zuko\LaravelExcelExport\ExcelExporter * @package Zuko\Flex2Cell */ class ExcelExporter diff --git a/src/Flex2CellServiceProvider.php b/src/Flex2CellServiceProvider.php index 08257c6..a15d845 100644 --- a/src/Flex2CellServiceProvider.php +++ b/src/Flex2CellServiceProvider.php @@ -32,15 +32,22 @@ /** * Class Flex2CellServiceProvider * + * @alias \Zuko\Flex2Cell\Flex2CellServiceProvider \Zuko\FlexExcel\Flex2CellServiceProvider + * @alias \Zuko\Flex2Cell\Flex2CellServiceProvider \Zuko\FlexToExcel\Flex2CellServiceProvider + * @alias \Zuko\Flex2Cell\Flex2CellServiceProvider \Zuko\FlexibleExcelExport\Flex2CellServiceProvider + * @alias \Zuko\Flex2Cell\Flex2CellServiceProvider \Zuko\LaravelExcelExport\Flex2CellServiceProvider * @package Zuko\Flex2Cell */ -class Flex2CellServiceProvider +class Flex2CellServiceProvider extends \Illuminate\Support\ServiceProvider { public function register() { - $this->app->bind('Flex2Cell', function ($app) { - return new ExcelExporter(); - }); + $names = ['LaravelExcelExport', 'Flex2Cell']; + foreach ($names as $name) { + $this->app->bind($name, function ($app) { + return new ExcelExporter(); + }); + } } public function boot() {} diff --git a/src/Traits/ExcelExportable.php b/src/Traits/ExcelExportable.php index d68a4dd..ccba36d 100644 --- a/src/Traits/ExcelExportable.php +++ b/src/Traits/ExcelExportable.php @@ -35,7 +35,7 @@ use PhpOffice\PhpSpreadsheet\Writer\Xlsx; /** - * Class ExcelExportable + * Trait ExcelExportable * * @package Zuko\Flex2Cell\Traits */ @@ -261,6 +261,7 @@ protected function writeHeaders($sheet) { $this->headerRowIndex = 1; // Start with assuming headers are in the first row $columnIndex = 1; + // Loop through each header foreach ($this->headers as $header) { if (!in_array($header, $this->hiddens, true)) { $displayHeader = $this->getHeader($header); @@ -269,9 +270,18 @@ protected function writeHeaders($sheet) $sheet->setCellValue([$columnIndex, $this->headerRowIndex + 1], $this->getSubHeader($header)); $this->headerRowIndex = 2; // If we have subheaders, main headers are now in row 2 } + // Apply bold styling to the headers + $sheet->getStyle([$columnIndex, 1])->getFont()->setBold(true); + if ($this->headerRowIndex === 2) { + // Apply bold styling to the subheaders + $sheet->getStyle($columnIndex, 2)->getFont()->setBold(true); + } $columnIndex++; } } + // Freeze the top header row(s) to make them sticky when scrolling + $freezePaneRow = $this->headerRowIndex + 1; // If subheaders exist, freeze after row 2, else row 1 + $sheet->freezePane([1, $freezePaneRow]); } /** diff --git a/src/Traits/HasExportAttributes.php b/src/Traits/HasExportAttributes.php index f630bab..153008d 100644 --- a/src/Traits/HasExportAttributes.php +++ b/src/Traits/HasExportAttributes.php @@ -32,7 +32,7 @@ use Zuko\Flex2Cell\Contracts\FormatterInterface; /** - * Class HasExportAttributes + * Trait HasExportAttributes * * @package Zuko\Flex2Cell\Traits */ @@ -78,7 +78,7 @@ public function setFormatters(array $formatters) * * @param string $mappingKey The key of the mapped column that is being exported. * @param mixed $value The value that is being exported. - * @param mixed $rowItem The current processing row item + * @param \Illuminate\Database\Eloquent\Model|mixed $rowItem The current processing row item * * @return mixed The formatted value. */ diff --git a/src/Traits/HasExportMerging.php b/src/Traits/HasExportMerging.php index 01a0547..0b20cc6 100644 --- a/src/Traits/HasExportMerging.php +++ b/src/Traits/HasExportMerging.php @@ -32,7 +32,7 @@ use PhpOffice\PhpSpreadsheet\Cell\Coordinate; /** - * Class HasExportMerging + * Trait HasExportMerging * * @package Zuko\Flex2Cell\Traits */ @@ -41,6 +41,22 @@ trait HasExportMerging protected $columnMergeRules = []; protected $rowMergeRules = []; + /** + * Sets the column merge rules for the export. + * + * The `$rules` parameter must be an associative array of column merge rules. + * Each rule is an associative array with the following keys: + * + * - `start`: The starting column letter or index of the merge range. + * - `end`: The ending column letter or index of the merge range. + * - `shiftDown`: An optional boolean indicating if the merge should be shifted down to the row below the header row. + * + * If the `start` or `end` values are provided as integers, they will be converted to column letters. + * + * @param array $rules The column merge rules. + * + * @return static + */ public function setColumnMergeRules(array $rules) { foreach ($rules as &$rule) { @@ -57,6 +73,16 @@ public function setColumnMergeRules(array $rules) return $this; } + /** + * Sets the row merge rules for the export. + * + * The `$rules` parameter can be either an associative array of column letters mapped to their respective field names, + * or a numeric array of field names. If the latter, the column letters will be automatically determined by the export. + * + * @param array $rules An associative array of column letters mapped to their respective field names, or a numeric array of field names. + * + * @return static + */ public function setRowMergeRules(array $rules) { foreach ($rules as $key => $rule) { @@ -69,11 +95,29 @@ public function setRowMergeRules(array $rules) return $this; } + + /** + * Applies both column and row merging rules to the given sheet. + * + * @param \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $sheet The sheet to apply merging rules to. + * + * @return void + */ protected function applyMerging($sheet) { $this->applyColumnMerging($sheet); $this->applyRowMerging($sheet); } + /** + * Applies column merging rules to the given sheet. + * + * The rules are applied by either inserting a new row above the current header row + * and setting the merged header value, or by merging the cells at the current header row. + * + * @param \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $sheet The sheet to apply column merging rules to. + * + * @return void + */ protected function applyColumnMerging($sheet) { $mergedRanges = []; @@ -116,6 +160,19 @@ protected function applyColumnMerging($sheet) } } + /** + * Applies row merging to the given sheet according to the row merge rules. + * + * This method iterates over the rows of the sheet, and for each row, it + * checks if the value in the given column matches the previous row's value. + * If it does, it merges the cells in the given column from the start row + * to the current row. If it doesn't, it resets the start row to the current + * row and continues. + * + * @param \PhpOffice\PhpSpreadsheet\Worksheet\Worksheet $sheet The sheet to apply row merging to. + * + * @return void + */ protected function applyRowMerging($sheet) { $lastRow = $sheet->getHighestRow(); diff --git a/src/aliases.php b/src/aliases.php index 01b6655..9ce9d83 100644 --- a/src/aliases.php +++ b/src/aliases.php @@ -25,17 +25,25 @@ * @CREATED : 14:08 , 13/Oct/2024 */ (static function () { - $classes = []; + $classes = [ + \Zuko\Flex2Cell\ExcelExporter::class, + \Zuko\Flex2Cell\Flex2CellServiceProvider::class, + ]; $namespaces = [ - 'Flex2cell', 'FlexExcel', 'FlexToExcel', - 'ExcelFlexible', + 'FlexibleExcelExport', + 'LaravelExcelExport', ]; - foreach ($classes as $c) { - foreach ($namespaces as $n) { - $a = str_replace('Flex2Cell', $n, $c); - class_alias($c, $a); + + foreach ($classes as $originalClass) { + foreach ($namespaces as $namespace) { + $aliasClass = str_replace('Flex2Cell', $namespace, $originalClass); + class_alias($originalClass, $aliasClass); + + /** + * @alias $aliasClass + */ } } })();