* develop:
Backport changes from 1.2 and ignore public directory in default .gitignore
Update custom_styles language from CSS to LESS (#377)
# Conflicts:
# config/app.php
Fixes issue where attempting to load a static theme without a database present would fail because the AssetMaker trait was attempting to get the system build information from the database even though the DB wasn't present.
* develop: (90 commits)
Define signature for "defineProperties" method
Add definition of "componentDetails" method
Update `system` french lang files (#366)
Update `backend` french lang file (#364)
Update `cms` french lang file (#365)
Fix clear color picker function, allow empty value
Trigger "change" event on color picker when value changes
Use better cursors for readonly color picker
Adjust "force" option for plugin:remove
Require explicit confirmations for CLI deletions
Add PHP 8.1 option, drop other details field
Add md_line Twig filter to expose Markdown::parseLine() (#370)
Don't use the Cache facade in the service provider registration process.
Fix return type hints for CMS Page and Controller (#362)
Fixes typo in list of available encodings for importing
Improved Ukrainian translation (#360)
Constrain PHP version >= 7.2.9 and 8.0.x (#361)
Improve Latvian translation (#358)
Docs UI Fix paths to screenshots of diagrams (#359)
Coerce Inspector set values to string
...
# Conflicts:
# composer.json
# modules/backend/composer.json
# modules/cms/composer.json
# modules/system/composer.json
When removing a plugin via CLI or rolling back all DB migrations, we will now require the user to type out the plugin name (or "DELETE" for "winter:down") as a confirmation in order to proceed. This ensures that the user is well aware of what they are doing.
The "plugin:remove" command has now been added a "--no-rollback" option. When used, the plugin files will be removed, but the DB will remain untouched, allowing people to remove a plugin without losing their data.
Refs: https://github.com/wintercms/wn-translate-plugin/issues/13#issuecomment-988364253
Fixes#350. Refs https://github.com/laravel/framework/pull/38724. Final solution in v1.2 will be to extend the base Laravel Cache serviceprovider and make it no longer a deferred provider as well as consolidating the MemoryCache implementations currently present in QueryBuilder, Halcyon Models, and the Halcyon ServiceProvider into the Winter Cache service provider.
These values have always traditionally been strings, but some custom implementations use integers (eg. for ID selections) which did not work previously.
This coerces both the selected items and available items to strings for comparison, which should allow integers to be used.
Fixes https://github.com/wintercms/winter/issues/351
To allow more flexibility of where we can put handler methods for dynamic properties in the Inspector, we should try and call the given class' constructor with whatever required parameters it needs. The current implementation assumes that one argument will be provided to any given property class (with the value given being null). Ideally, we should make these methods static and have a look at this more thoroughly later, but this is a useful compromise for now.