Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add table block to Insertion Block #147

Closed
aahani opened this issue Feb 28, 2017 · 36 comments
Closed

Add table block to Insertion Block #147

aahani opened this issue Feb 28, 2017 · 36 comments
Assignees
Labels
[Feature] Blocks Overall functionality of blocks [Type] Task Issues or PRs that have been broken down into an individual action to take
Milestone

Comments

@aahani
Copy link

aahani commented Feb 28, 2017

Adding Tabbed Interface to Insertion Block (#81 ) is a great idea. I thinks its better to consider adding a table block (https://wordpress.org/plugins/mce-table-buttons/) to it:

1. Insert table block:
gutenberg - insertion block table

2. Edit table block:
gutenberg - edit block table

@jasmussen
Copy link
Contributor

A table block is a good idea. See also #16

@androb
Copy link
Contributor

androb commented Mar 1, 2017

I would guess tables is a big reason why TinyMCE Advanced is popular.

Whether it is supported in core, or can be added back via a plugin the way TinyMCE Advanced does right now we definitely need to make it possible. There will be screams otherwise :)

@TheSpyder
Copy link

For editing tables, extra buttons on the contextual toolbar are much better than a menu. Play with tables on the tinymce.com front page demo; common operations are available immediately (the menu is still available for less frequently used operations).
screen shot 2017-03-07 at 4 52 35 pm

@jasmussen jasmussen added Framework Issues related to broader framework topics, especially as it relates to javascript [Type] Task Issues or PRs that have been broken down into an individual action to take TinyMCE and removed done:single labels Mar 29, 2017
@mapk
Copy link
Contributor

mapk commented Apr 10, 2017

Wow, the Table block is no joke! This is complex. I've created some UI thoughts around these to be inline with our current direction. The UI design might be off, but I'm hoping the interaction aspects are close.

Table block - Selected
This follows similarly to @iseulde's current prototype. Basically when selected, only high level table layout is shown.
selected ui

Table block - Dropdown to change block
Would the table be able to be converted into some other block? If so, I'm keeping this inline with our current block switcher.
hover ui - switcher

Table block - Edit Table
I'm surfacing the ability to add/delete rows/columns. It seems the common practice is to hide these abilities to a 'right-click' event, so I'm not entirely sure which direction we want to go. One problem with this version below is that, while it is surfaced visually, it also adds another dropdown to the menu.
hover ui - table edit

Table block - Edit Text
We have a way to edit the table, but we need to edit the text within the table cells. So when the user has highlighted text, this should remove the table editing menu items in place for text editing menu items. Does this sound right?
text edit ui

There's even more UI work that needs to be done like "border styling" for tables, etc. I'm sharing some early thoughts to get conversation going on how we want to approach this.

I love the ability to prompt the user to select the rows and columns right away like the current textbox.io and Google docs does. I'm trying to understand how that would fit in with the current "Block Creator" we've got going.
screen shot 2017-04-10 at 11 17 52 am

@annaephox Any thoughts around this?

@TheSpyder
Copy link

If you're going down the menu route I recommend the structure we use in textbox.io. It groups functions by target cell(s) instead of by insert/delete. We have found this to be a much more natural structure, and as an added bonus you don't need to repeat the word "row" or "column" in the submenu text.

These are screenshots of the context menu.
row menu
column menu
table menu

@jasmussen
Copy link
Contributor

Solid work @mapk! Thanks for tackling this. Overall it seems like you've been stellar in following the UI patterns we've laid out so far, that's heartening to see.

Some quick thoughts:

Table block - Dropdown to change block

They key for the switcher is that conversions have to be non-destructive, and allow plugins to register themselves as nondestructive conversions. In this case I can't think of any conversion that might make sense.

Incidentally that highlights a good question: should we simply not show the switcher, when it's not useful? Or should we show it as disabled? I'm leaning towards the former, even though in the audio block, I mocked up the latter:

screen shot 2017-04-11 at 09 57 48

Table block - Edit Table

Table block - Edit Text

For now — and this will require more exploration — the "Edit" button is intended to open either a modal, or an "inspector" in the sidebar. See mockups here: https://wpcoredesign.mystagingwebsite.com/gutenberg/#admin

This would prevent it from being a dropdown.

I think you are on to something, though, and combined with advice from @TheSpyder and inspiration from Textbox.io, I think we can find something that would work well in our universe where toolbars are highly contextual, which you so perfectly captured in the "Edit Text" portion.

Think of toolbars like this:

[Switcher] [Block level] [Inline Level] [More]

The above would be contextual to what you have selected, as you've captured already.

I'm wondering what the simplest possible implementation might be. Could it be enough that you simply type in, numbers-wise, how many columns and rows you have? I.e. there could be a "Configure Table" button that opens a modal to let you type in numbers.

Alternately it sort of feels like we have to go ultra contextual here. When a single cell is selected, you have insert row, insert column, delete row, delete column.

When you want to merge two cells, you have to drag across them to select, to surface a "merge cells" button.


The above may be overthinking it, though. I believe TinyMCE has a table block with some of these features already. @annaephox can you provide some screenshots or context? Perhaps we can simply use the TinyMCE block as-is, with just a little bit of UI refresh?

@jasmussen
Copy link
Contributor

Let's omit the caption option, btw, and keep this primarily for media items. If you want a caption you should be able to center text below it.

@mapk
Copy link
Contributor

mapk commented Apr 18, 2017

I made a few visual changes based on some of the above feedback.

Selected Table Block
I dropped the block-switcher and changed the 'edit table dropdown' icon.
selected table block

Edit Table
I'm still keeping all functions in one dropdown. While it does add more text options here, I feel more comfortable showing it all together with dividers rather than extending further sub-menus. I'm open to discussion here though! :)
edit table

Merge Cells
Surfacing the 'merge cells' option in the dropdown when it's relevant.
merge cells

Edit Text
Swapping out inline menu with relevant edit options.
edit text

@jasmussen
Copy link
Contributor

💖 Really love this.

The dropdown is growing on me. Though perhaps we can use a table icon instead of the cog. We are using Dashicons for the actual plugin, so you can use perhaps this icon from that set. The mockups/sketch file still use Gridicons, no reason to swap those out, we'll need them for Calypso down the road regardless.

The final question remains: if we are to leverage TinyMCE here, can we do the above, @annaephox?

@mapk
Copy link
Contributor

mapk commented Apr 18, 2017

Yeah, the dropdown worked better for me than these:

screen shot 2017-04-18 at 3 11 00 pm

I didn't quite understand what those ^ arrows did until I clicked them, then it added a column or row, but I didn't know how to remove it. So I don't think having individual buttons/icons for these actions works well.

The dropdown provides space for clear text instead of vague icons. My thoughts around the dropdown were thus:

  1. The dropdown should be accessed from a contextual menu item as I have it in the mockups instead of a right-click action. Maybe it could also appear on right-click, but that shouldn't be the only way.

  2. I like having all relevant options visible in one list. It's nice to get an overview of what my options are instead of hovering over items to get a third-level sub-nav to show me my options.

I'd love to hear other's thoughts!

@joyously
Copy link

I'm all for text instead of icons! My brain apparently works differently than most, and I have a hard time figuring what the icons mean.
But I don't know about the translations. There was a recent discussion on the media widget (I think it was) about how some languages have much longer words and they don't fit on the buttons -- or on the menu.

@jasmussen
Copy link
Contributor

jasmussen commented Apr 19, 2017

I'm not sure where you got that existing table block from. It looks like it could have been a screenshot from one of the prototypes, but I can't find it. In any case, you should not take any preceeding work as gospel for how this should look, as little to no design work has actually been put into a table block yet (except for the work TinyMCE has done, which is why it's good to sanity check with them). Absolutely run with what you feel works best here.

The dropdown feels good primarily because it:

a) can hold a lot of options
b) those options are likely "set it and forget it" somewhat advanced options you might not need all the time
c) it frees up valuable whitespace

This has less to do with icons vs. text, which is sort of a "settled debate". Icon plus label always reads better than icon or labels on their own. But we still need to be thoughtful here, because if an icon can stand on its own (and it seems Bold and Italic have proven that they can) it means we can fit more options in the same visual space.

I noticed something that might beg us to reconsider a bit. Compare this

and this

These two together make it feel like the dropdown works only when a table cell is selected (i.e. drag+release), and the formatting options only appear when the caret is placed inside a cell. Both should probably work. That is, place the caret inside a table cell and you can use both dropdown and "insert column to the right".

Edit: The difficulty I'm seeing is: how do you select just the table, vs. place the caret inside a cell? Do you click the block boundaries? (That might actually work fine). In any case this might be one of the things where just starting to build the block is the way to go.

@jasmussen jasmussen added this to the Alpha milestone Apr 20, 2017
@afercia
Copy link
Contributor

afercia commented Apr 29, 2017

Ideally, tables should be used to present tabular data. There's bit of ambiguity in the spec, it implicitly admits that tables can be used also as a layout aids.

Layout tables can be built in a way that doesn't introduce accessibility barriers. The spec itself suggests a few techniques, such as the use of role="presentation", to help user agents and assistive technologies understand the table is used for layout purposes. Also, any element or attributes that assistive technologies could use to identify a table as "data table" should be removed.

Instead, data tables should make full use of those elements and attributes.

If the editor is really going to allow users to use tables, then the two cases should be distinguished and should use different markup. Otherwise, I'm afraid there's the serious risk to encourage the production of non-accessible content.

@mtias mtias added [Feature] Blocks Overall functionality of blocks and removed Framework Issues related to broader framework topics, especially as it relates to javascript labels May 3, 2017
@ellatrix
Copy link
Member

I think I've tried to point this out several times, but adding tables does not mean that we should allow just anything to be put into them. We can just limit it to inline text. If people add stuff to them in the text editor, then sure it's probably more presentational, but they can do this today too. We can visualise it, but not allow anything more than text to be added, which is the case today too. The only difference is that we would allow people to add tables with text in the visual editor.

@ellatrix ellatrix self-assigned this May 17, 2017
@afercia
Copy link
Contributor

afercia commented May 17, 2017

Sure, that doesn't mean the Table block should produce invalid and not-accessible content though.

What users can paste in a "freeform" block can't be prevented. However, if the Editor is going to have a Table block, it should ensure it produces nice, semantic, accessible HTML.

Layout table:
should use role="presentation" and don't allow thead, tfoot, tbody, th, and the scope attribute. Should use just tr and td.

Data table:
should allow all the above semantic elements and ensure they're used properly.

@ellatrix
Copy link
Member

ellatrix commented May 17, 2017

For inserting columns and rows, I was thinking about something like this. Of course the question is where to put other buttons at the top.

       [+] [×] [+]
+-------+-------+-------+
|       |       |       |
+-------+-------+-------+ [+]
|       | Text| |       | [×]
+-------+-------+-------+ [+]
|       |       |       |
+-------+-------+-------+

cc @joen @mapk

@ellatrix
Copy link
Member

Ooor

+-------+-------+-------+
|      [+] [×] [+]      |
+-------+-------+[+]----+
|       | Text| |[×]    |
+-------+-------+[+]----+
|       |       |       |
+-------+-------+-------+

@jasmussen
Copy link
Contributor

I like that. We could use the "floating toolbar" chrome for the toolbars. Would be fun to see those as vertical toolbars on the right.

This material for the plus buttons:

screen shot 2017-05-17 at 18 21 57

@ellatrix
Copy link
Member

ellatrix commented May 17, 2017

Yeah I meant the toolbar design that we already have. Sorry for the plain text mockups, but I guess they're the ultimate lo-fi mockups. 😄

@BoardJames
Copy link

BoardJames commented May 19, 2017

The block.js (which is what I am currently using via registerBlock) seems to have the items ordered [switcher] [block controls] [alignment controls] [style controls]. To change the order I'd have to somehow override that - maybe by providing a different value to the <Fill name="Formatting.Toolbar">? Honestly I'm not certain how that works so it may not be possible.

@youknowriad
Copy link
Contributor

If we follow the path proposed here #830 each block would control the order of the controls itself.

@BoardJames
Copy link

I've had a chance to go back and update my vision of the table block now the list indenting is merged and I have a better idea of how to access the TinyMCE instance. I've put in a pull request (more a request for comment but it could be evolved into a worthy replacement for the current table block):
#850

@jasmussen jasmussen modified the milestones: May Week 3 (Alpha), Beta May 22, 2017
@BoardJames
Copy link

@jasmussen I changed my pull request to put the table functions in a menu. It's not like your concept yet but it is closer:

tabletoolbarmenu

@jasmussen
Copy link
Contributor

Looks great!

@jasmussen
Copy link
Contributor

Can we replace the menu icon with a table icon? Like https://developer.wordpress.org/resource/dashicons/#editor-table?

Also, do you need dashicon versions of the various insert/delete icons in the menu?

@jasmussen
Copy link
Contributor

@BoardJames
Copy link

Yes, I switched out the generic icon for the table icon that you suggested. I have now also added the block alignment modes from the existing table block.
tablewithalignmentmodes

@jasmussen
Copy link
Contributor

The pull request (#850) looks like it is on a great path. To limit discussion, and simplify the beta milestone (https://github.com/WordPress/gutenberg/milestone/7), I'm closing this one as fixed! 🎉

@StaggerLeee
Copy link

Best to make all cells draggable. If it is not much coding and would slow down whole project.

@BoardJames
Copy link

How would you envisage that working? Would you select some cells then dragging them somewhere would be like copying and pasting the content? Would you only allow dragging one cell/row/column at a time and then swap it with the one at the drop location?

@StaggerLeee
Copy link

Drag & Drop rows and columns. Cell separate cannot be dragged, it would not work. My mistake, wrong explained.
See how Tablepress plugin works, or Table addon for ACF field.

@jasmussen
Copy link
Contributor

jasmussen commented Jun 26, 2017

One of the key values for Gutenberg is to ensure that every important action that can be taken in the editor needs to be available as a clickable (or tab then space) action. Drag and drop is totally cool to explore once those basic actions are in place. For example we have moving blocks up and down using the arrows, so it's fine if someone wants to explore adding drag and drop to blocks on top of that.

In this case, I think the dropdown interface used for tables is pretty good.

@StaggerLeee
Copy link

StaggerLeee commented Jun 26, 2017

Do anything but not like old TinyMce table plugin. Anything is welcome. This old one was simply not usable. Not even for experienced editors.

ntwb added a commit that referenced this issue May 31, 2020
…ordpress` for ESLint configuration. (#147)

* refactor: Switch to shared `recommended` config from `eslint-plugin-wordpress` for ESLint configuration.

* chore: Use `git://` protocol

* chore: Include a commit hash
gziolo pushed a commit that referenced this issue Dec 18, 2020
* chore(package): update stylelint to version 7.0.0 (#83)

* fix: Deprecated `no-missing-eof-newline` rule. Use the new `no-missing-end-of-source-newline` rule instead. (#84)

* fix: Fixed font-family-name-quotes` test warning message in `values.js`. (#85)

* feat: Add `property-no-unknown` rule. (#86)

* Update install instructions to add `--save-dev`

* chore(package): update stylelint to version 7.2.0 (#87)

* chore(package): update AVA to version 0.16.0 (#88)

* chore(package): update eslint-config-stylelint to version 4.0.0 (#89)

* chore(package): update ESLint to version 3.0.0 (#90)

* feat: Add `at-rule-no-unknown` rule. (#91)

* feat: Add `selector-class-pattern` and `selector-id-pattern` rules. (#92)

* Prepare 9.0.0

* Merge branch 'master' of github.com:ntwb/stylelint-config-wordpress

* feat: Add SCSS preset config (#96)

* feat: Add SCSS preset config

* fix: Include README.md and scss.js in package.json files list

* test: Add initial SCSS tests

* Prepare 9.1.0

* Prepare 9.1.1

* refactor: Use ECMAScript 8/2017, use async/await instead of returning a promise and move css code out of tests to individual files

* feat: Use ECMAScript 8/2017

* refactor: Use async/await instead of returning a promise and move css code out of tests to individual files

* chore(package): update dependencies (#100)

https://greenkeeper.io/

* chore: Add NodeJS 7 to Travis & AppVeyor CI test matrix's (#102)

* chore(package): update stylelint to version 7.5.0 (#103)

* chore: Add NodeJS 7.x changelog note

* feat: Add `selector-no-empty` rule. (#104)

* chore(package): Update `eslint-plugin-ava` to version 4.0.0 (#105)

* fix: SCSS: Dissalow `@debug` at-rules.

* fix: SCSS: Add `scss/selector-no-redundant-nesting-selector` rule.

* Update ava to the latest version 🚀 (#109)

* chore(package): update ava to version 0.17.0
* refactor: Include path to test fixtures

https://greenkeeper.io/

* chore(package): update npm-run-all to version 4.0.0 (#111)

https://greenkeeper.io/

* Update eslint-config-stylelint to the latest version 🚀 (#110)

* chore(package): update eslint-config-stylelint to version 6.0.0
* refactor: Update tests per latest `eslint-config-stylelint`

* chore: bump minimum NodeJS requirement to 6.9.1 and drop NodeJS 4.x (#118)

* chore: Drop NodeJS from Travis CI

* chore: Drop NodeJS from AppVeyor

* chore: Bump minimum NodeJS requirement to 6.9.1

* chore: Update remark and remark plugin packages (#120)

* Update ava to the latest version 🚀 (#112)

* chore(package): update ava to version 0.18.0

https://greenkeeper.io/

* chore: update ava to version 0.19.1

* Updated and removed deprecated stylelint rules for 8.0 (#116)

* Updated and removed deprecated stylelint rules

* Removed deprecated unit test

* chore: Add require NodeJS 6.x LTS changelog note

* chore: Update changelog for changes made in #116

* refactor: Switch from AVA to Jest for tests. (#122)

* tests: Fix `media-query-list-comma-space-before` tests

* refactor: Switch from AVA to Jest for tests.

* chore(package): update stylelint to version 7.10.1 (#123)

* chore(package): update stylelint-scss to version 1.4.4 (#124)

* chore(package): update eslint to version 3.19.0 (#125)

* refactor: Switch from eslint-plugin-ava to eslint-plugin-jest. (#126)

* refactor: Switch from eslint-plugin-ava to eslint-plugin-jest.

* docs: Add changelog entry for switch from eslint-plugin-ava to eslint-plugin-jest

* Fixed: Added `stylelint-scss` plugin @if/@else placement rules. (#127)

* fix: Ignore proprietary `DXImageTransform.Microsoft` MS filters (#128)

* docs: Update CHANEGLOG

* Merge branch 'master' of github.com:ntwb/stylelint-config-wordpress

* feat: Prepare `10.0.0` release.

* fix: Remove stylelint v8 deprecated rule `rule-non-nested-empty-line-before` from SCSS config. (#130)

* feat: Prepare `10.0.1` release.

* fix: Add `@import` to `ignoreAtRules` option in `at-rule-empty-line-before` rule for SCSS config (#131)

* feat: Prepare `10.0.2` release.

* chore(package): update eslint-plugin-jest to version 20.0.0 (#134)

* chore(package): update jest to version 20.0.0 (#135)

* docs: Update docs to reflect the new repository home

* docs: Update docs to reflect the new repository home at https://github.com/WordPress-Coding-Standards

* chore: Update changelog noting repo location change

* fix: Add `declaration-property-unit-whitelist` rule to enforce unitless `line-height` values. (#133)

* fix: Include CSS config `at-rule-empty-line-before` options in SCSS config. (#139)

* Fix: Allow `px` units in `line-height` values for the `declaration-property-unit-whitelist` rule. (#140)

* feat: Prepare `11.0.0` release.

* Updated README section links (#141)

* chore: Add NodeJS v8 to Travis CI build matrix (#143)

* chore: Switch from Node.js "current v7.x branch to v8.x for AppVeyor CI (#145)

* chore: Drop Node.js v7.x branch from Travis CI (#146)

* refactor: Switch to shared `recommended` config from `eslint-plugin-wordpress` for ESLint configuration. (#147)

* refactor: Switch to shared `recommended` config from `eslint-plugin-wordpress` for ESLint configuration.

* chore: Use `git://` protocol

* chore: Include a commit hash

* chore: Update ESLint to version 4.1.0

* chore: Update ESLint to version 4.x

* refactor: Update indentation per updated ESLint version 4.x `indent` rule.

* chore: Add a `dry-release` npm task (#149)

* chore: Move ESLint config from `package.json` to `.eslintrc.json` file. (#152)

* chore: Use the latest npm for all Node.js Travis CI jobs

* chore: Add npm 5's `package-lock.json` file

* chore: Add Greenkeeper support for npm 5.x's `package-lock.json` file.

* tests: Add Jest snapshot tests

* tests: Update Jest snapshots

* chore(package): update stylelint to version 8.0.0

* fix: Add initial support for long comments in headers of WordPress theme `style.css` files. (#151)

This change allows for longer comments in themes header:
• URLs longer than 80 characters
• Descriptions longer than 80 characters
• Tags longer than 80 characters

Fixes #150.

* tests: Add some bbPress Jest snapshot tests.

* tests: Update Jest SCSS tests to use SCSS config

* tests: Update Jest SCSS test snapshots

* tests: Add some BuddyPress Jest snapshot tests.

* chore: Use the `runInBand` flag for Jest Travis CI jonbs

* tests: Update snapshots

* tests: Update tests to account for new rules introduced in `stylelint-config-recommended`.

* chore: Add `stylelint-config-recommended` extend base configuration from it.

* docs: Update CHANGELOG with `stylelint-config-recommended` changes

* docs: Remove the styleguide from the repo.

We should have one canonical source of truth and not try to maintain two instances.

https://make.wordpress.org/core/handbook/best-practices/coding-standards/css/

* refactor: Use `scss/at-rule-no-unknown` in `scss` shared config.

* feat: Prepare `12.0.0` release.

* chore(package): update remark-cli to version 4.0.0

* chore: Update `package-lock.json`

* chore(package): update remark-preset-lint-recommended to version 3.0.0

* chore: Update `package-lock.json`

* fix(package): update stylelint-scss to version 2.0.0

* chore: Update `package-lock.json`

* chore: Add `stylelint-find-rules`

* chore(package): update stylelint-find-rules to version 1.0.1

Closes #168

* chore: Update package-lock.json

* chore: Updated `stylelint` peer dependency version to `^8.0.0`.

* chore(package): update jest to version 21.0.0

* chore: Update `package-lock.json`

* chore(package): update eslint-plugin-jest to version 21.0.0

* chore: Update `package-lock.json`

* tests: Remove Jest snapshots (#176)

* docs: Update CHANGELOG

* Use toHaveLength() in tests

Not only does it check the length of something is exactly a certain integer, it also checks that the length property exists in the first place.

Addresses lint issues identified at https://www.bithound.io/github/WordPress-Coding-Standards/stylelint-config-wordpress/e2bbe0d9c867cc95da6de5b3bff2a73742135fb6/files#failing

* chore: Remove Greenkeeper lock file configuration from `.travis.yml`

* chore: Remove `package-lock.json`

* chore: Add `package-lock.json` to `.gitignore`

* chore: Add `.npmrc` file to prevent npm creating a `packake-lock.json` file.

* chore(package): update jest to version 22.0.0

* chore: update `.editorconfig` per upstream WordPress' `.eitorconfig`

See https://core.trac.wordpress.org/browser/trunk/.editorconfig

* chore: use tabs for indentaion in `package.json` per WordPress coding standards

* chore: use tabs for indentaion in `.eslintrc.json` per WordPress coding standards

* chore: use `* text=auto` in `.gitattributes`

* chore(package): update remark-cli to version 5.0.0

* chore: standardize Jest tests

* chore: add commitlint

* chore: bump minimum Nod.js required version to `8.9.3`

* test: improved `no-duplicate-selectors` tests

* feat: update `stylelint` to `9.1.3`

* chore: updated `stylelint-config-recommended` to `2.1.0`

* chore: updated: `stylelint-scss` to `2.1.0`

* feat: update `selector-pseudo-element-colon-notation` to use `double`

* feat: prepare `13.0.0` release

* fix(package): update stylelint-scss to version 3.0.0

* docs: update changelog

* test: add SCSS tests for _extends_ shared configs

This test ensures that the rules included in the _shared configs_ inherited by this SCSS _shared config_ via the `extends` option are in actual fact included.

The `stylelint-config-wordpress/scss` shared config _extends_ the `stylelint-config-wordpress` shared config, which in turn _extends_ the `stylelint-config-recommended` shared config.

* docs: update changelog

* test: standardize invalid tests warnings test name verbiage

* test: use Jest snapshots for invalid tests

This change simplifies the maintainence of the invalid CSS and SCSS tests

* feat: the `/scss` config now extends `stylelint-config-recommended-scss`

* feat: update `stylelint` to `9.2.0`

* docs: add basic _extends_ shared config references

* Update to node 10 in .travis.yml

* Drop Node.js v9.x

* Update appveyor.yml

* chore(package): update @commitlint/cli to version 7.0.0

* chore(package): update @commitlint/config-conventional to version 7.0.1 (#203)

Closes #201

* chore(package): update npmpub to version 4.0.1

Closes #204

* feat: update stylelint to `9.5.0`

* chore: update ESLint to `5.4.0`

* chore: update Jest to `23.5.0`

* chore: update `eslint-plugin-jest` to `21.21.0`

* chore: update `npmpub` to `4.1.0`

* chore: update `npm-run-all` to `4.1.3`

* chore: update `stylelint-find-rules` to `1.1.1`

* chore: update remark presets: • `remark-preset-lint-consistent` to `2.0.2` • `remark-preset-lint-recommended` to `3.0.2`

* feat: update `stylelint-scss` to `3.3.0`

* chore: add `npm-package-json-lint`

* chore: add `@wordpress/npm-package-json-lint-config`

* chore: update `package.json` property order

* feat: Prepare `13.1.0` release (#208)

* chore(package): update husky to version 1.1.2 (#210)

Closes #209

* chore(package): update remark-cli to version 6.0.0 (#211)

* chore(package): update eslint-plugin-jest to version 22.0.0 (#212)

* Update stylelint-find-rules to the latest version 🚀 (#213)

## The devDependency [stylelint-find-rules](https://github.com/alexilyaev/stylelint-find-rules) was updated from `1.1.1` to `2.0.0`.
This version is **not covered** by your **current version range**.

If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

* chore(package): update stylelint to version 10.0.1 (#215)

Closes #214

* chore: update @commitlint

* chore: update `stylelint-config-recommended` to v2.2.0

* chore: update `stylelint-scss` to v3.6.0

* chore: update devDependencies

* feat: prepare `14.0.0` release

* chore(package): update husky to version 2.2.0

Closes #219

* chore: update `husky.hooks` config in `package.json`

* chore(package): update @wordpress/npm-package-json-lint-config to version 2.0.0

* chore(package): update husky to version 3.0.1

Closes #227

* test: fix type in snapshot test

* chore(package): update @commitlint/cli to version 8.0.0

* chore(package): update @commitlint/config-conventional to version 8.0.0

* chore(package): update remark-cli to version 7.0.0

* chore(package): update packages to latest versions

* chore(package): restore peerDependencies stylelint versions

* chore(node): bump minimum Node.JS to LTS version 10.x

* ci: use `npm test` to include lint tasks in CI jobs

* docs: nocapital_S_dangit

* chore(package): update npmpub to version 5.0.0

* fix(package): update stylelint-config-recommended to version 3.0.0

* chore(package): update stylelint to version 11.0.0

* chore: update `peerDependencies` for stylelint 11.0.0

* docs: update changelog

* docs: fix stylelint removed compat version

* Update stylelint-config-recommended-scss to the latest version 🚀 (#238)

* Update eslint to the latest version 🚀 (#233)

* chore(package): update eslint to version 6.3.0

* chore: add `ecmaVersion: 2015,` to `parserOptions` ESLint config

* docs: update changelog

* chore: bump dependencies

* chore: add Node.js v12 to Travis CI test matrix, remove 8.x, min 10.x

chore: add Node.js v12 to Travis CI test matrix

* feat: prepare `15.0.0` release

* Merge pull request #241 from WordPress-Coding-Standards/update/find-rules

chore: update `stylelint-find-rules` to 2.2.0

* Update npm-package-json-lint to the latest version 🚀 (#242)

Update npm-package-json-lint to the latest version 🚀

* Use `@wordpress/scripts` (#231)

Use `@wordpress/scripts`

* chore: update `stylelint` to 12.0.0

* chore: update `stylelint-scss` to 3.13.0

* chore: update `stylelint-config-recommended-scss` to 4.1.0

* chore: update `husky` to 3.1.0

* chore: update `remark-cli` to 7.0.1

* chore: update `@wordpress/scripts` to 6.0.0

* Fixed: `selector-class-*` regex to account for numerals, case de… (#247)

Fixed: `selector-class-*` regex to account for numerals, case detection, and ensure kebab-case

* ci: add Windows to Travis CI (#248)

ci: add Windows to Travis CI

* chore: remove AppVeyor (#249)

chore: remove AppVeyor

* feat: prepare `16.0.0` release

* test: update comment fof scss-invalid test to eslint-jsdoc warnings

* feat: prepare `16.0.0` release

* fix: npm script temp workaround

* Merge pull request #251 from WordPress-Coding-Standards/greenkeeper/@wordpress/scripts-6.1.1

chore(package): update @wordpress/scripts to version 6.1.1

* Revert "fix: npm script temp workaround"

This reverts commit e409112e0e8f3965993e3f1b3a6ecc3c8ffdc8e0.

* Update husky to the latest version 🚀 (#252)

Update husky to the latest version 🚀

* Merge pull request #255 from WordPress-Coding-Standards/greenkeeper/stylelint-13.1.0

Update stylelint to the latest version 🚀

* Merge pull request #254 from WordPress-Coding-Standards/greenkeeper/@wordpress/scripts-7.0.0

Update @wordpress/scripts to the latest version 🚀

* chore(package): update @wordpress/scripts to version 7.1.2

* chore(package): update stylelint-scss to version 3.14.2

* chore(package): update stylelint-config-recommended-scss to version 4.2.0

* chore(package): update husky to version 4.2.3

* chore(package): update @commitlint/cli to version 8.3.5

* chore(package): update @commitlint/config-conventional to version 8.3.4

* Merge pull request #256 from WordPress-Coding-Standards/greenkeeper/remark-cli-8.0.0

Update remark-cli to the latest version 🚀

* Merge pull request #258 from WordPress-Coding-Standards/greenkeeper/remark-preset-lint-recommended-4.0.0

Update remark-preset-lint-recommended to the latest version 🚀

* Merge pull request #257 from WordPress-Coding-Standards/greenkeeper/remark-preset-lint-consistent-3.0.0

Update remark-preset-lint-consistent to the latest version 🚀

* Merge pull request #260 from WordPress-Coding-Standards/greenkeeper/@wordpress/scripts-8.0.1

* Merge pull request #264 from WordPress-Coding-Standards/greenkeeper/@wordpress/scripts-10.0.0

chore(package): update @wordpress/scripts to version 10.0.0

* chore: update `stylelint-scss` to 3.17.2

* feat: prepare `17.0.0` release

* refactor: rename `stylelint-config-wordpress` to `stylelint-config`

* refactor: rename `stylelint-config-wordpress` to `@wordpress/stylelint-config` in `package.json`

* refactor: remove `@commitlint` from `@wordpress/stylelint-config`

* refactor: remove `husky` from `@wordpress/stylelint-config`

* refactor: trim npm package keywords from `@wordpress/stylelint-config`

* refactor: remove `.editorconfig` from `@wordpress/stylelint-config`

* refactor: remove `npmpub` from `@wordpress/stylelint-config`

* refactor: remove `eslintConfig` from `@wordpress/stylelint-config`

* refactor: remove `remarkConfig` from `@wordpress/stylelint-config`

* refactor: remove `remark` from `@wordpress/stylelint-config`

* refactor: remove `engines` from `@wordpress/stylelint-config`

* refactor: remove `prettier.config.js` from `@wordpress/stylelint-config`

* refactor: remove `.gitattributes` from `@wordpress/stylelint-config`

* refactor: remove `.gitignore` from `@wordpress/stylelint-config`

* refactor: remove `.travis.yml` from `@wordpress/stylelint-config`

* tests: refactor tests in `@wordpress/stylelint-config`

* chore: add `.stylelintignore` for _invalid_ scss test fixtures in `@wordpress/stylelint-config`

* Revert "chore: add `.stylelintignore` for _invalid_ scss test fixtures in `@wordpress/stylelint-config`"

This reverts commit 05ab441.

* chore: add `.stylelintrc.json` for test fixtures in `@wordpress/stylelint-config`

* tests: update Jest snapshots in `@wordpress/stylelint-config`

* docs: update `docs/manifest.json` for `@wordpress/stylelint-config`

* chore: update `@wordpress/stylelint-config` package description

* chore: remove `devDependencies` from `@wordpress/stylelint-config`

* chore: remove package `scripts` from `@wordpress/stylelint-config`

* chore: remove superfluous `.stylelintignore` from `@wordpress/stylelint-config`

* chore: add Lerna `publishConfig` to `@wordpress/stylelint-config`

* Update Jest snapshots

* Backfill release dates in changelog

* Update package author

* Update readme

* Update comment to use renamed package name

* Rename tests to match other packages

* Remove stylelint `^10.1.0`, `^11.0.0`, and `^12.0.0` as peer dependency.

Co-authored-by: greenkeeper[bot] <greenkeeper[bot]@users.noreply.github.com>
Co-authored-by: Harley Oliver <harleyoliver@users.noreply.github.com>
Co-authored-by: Heather B <heatherbrokmeier@gmail.com>
Co-authored-by: Gary Jones <gary@gamajo.com>
Co-authored-by: greenkeeper[bot] <23040076+greenkeeper[bot]@users.noreply.github.com>
Co-authored-by: Dominik Schilling <dominikschilling+git@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] Blocks Overall functionality of blocks [Type] Task Issues or PRs that have been broken down into an individual action to take
Projects
None yet
Development

No branches or pull requests