├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── demo ├── README.md ├── index.html ├── output.css └── style.css ├── dist ├── .gitignore └── .npmignore ├── examples ├── html │ ├── .gitignore │ ├── .prettierrc │ ├── README.md │ ├── package.json │ ├── postcss.config.js │ ├── src │ │ ├── index.html │ │ ├── output.css │ │ └── style.css │ ├── tailwind.config.js │ └── yarn.lock └── nextjs │ ├── .gitignore │ ├── README.md │ ├── next.config.js │ ├── package.json │ ├── pages │ ├── _app.js │ └── index.js │ ├── postcss.config.js │ ├── styles │ └── global.css │ ├── tailwind.config.js │ └── yarn.lock ├── package.json ├── scripts └── build.js ├── src └── index.js ├── tailwind.config.js ├── test └── index.test.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | demo 2 | examples -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Doğukan Çavuş 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # tailwindcss-container-query 2 | 3 | A plugin that provides CSS Container Queries. 4 | 5 | ## BEFORE STARTING 6 | 7 | This plugin relies on [container-query-polyfill](https://github.com/GoogleChromeLabs/container-query-polyfill). **You must add it to make this plugin work.** We have to rely on polyfills until all browsers have implemented them. [see the support table](https://caniuse.com/css-container-queries) 8 | 9 | ## Installation 10 | 11 | Install the plugin from npm: 12 | 13 | ```sh 14 | # Using npm 15 | npm install tailwindcss-container-query 16 | 17 | # Using Yarn 18 | yarn add tailwindcss-container-query 19 | ``` 20 | 21 | Then add the plugin to your `tailwind.config.js` file: 22 | 23 | ```js 24 | // tailwind.config.js 25 | module.exports = { 26 | theme: { 27 | // ... 28 | }, 29 | plugins: [ 30 | require('tailwindcss-container-query'), 31 | // ... 32 | ], 33 | } 34 | ``` 35 | 36 | ## Usage 37 | 38 | Container Queries up to 10 are generated by default: 39 | 40 | | Class | Query | 41 | | --- | --- | 42 | | `cq-w-4` | `@container (min-width: 64px)` | 43 | | `cq-w-6` | `@container (min-width: 96px)` | 44 | | `cq-w-9` | `@container (min-width: 144px)` | 45 | | `cq-w-16` | `@container (min-width: 256px)` | 46 | | `cq-w-22` | `@container (min-width: 352px)` | 47 | | `cq-h-4` | `@container (min-height: 64px)` | 48 | | `cq-h-6` | `@container (min-height: 96px)` | 49 | | `cq-h-9` | `@container (min-height: 144px)` | 50 | | `cq-h-16` | `@container (min-height: 256px)` | 51 | | `cq-h-22` | `@container (min-height: 352px)` | 52 | 53 | Utilities: 54 | 55 | | Class | Property | 56 | | --- | --- | 57 | | `container-type-size` | `container-type: size` | 58 | | `container-type-inline-size` | `container-type: inline-size` | 59 | | `container-type-block-size` | `container-type: block-size` | 60 | | `container-type-style` | `container-type: style` | 61 | | `container-type-state` | `container-type: state` | 62 | 63 | There are no any `container-name` utilities by default. You should define your own utilities in `tailwind.config.js`. 64 | 65 | ## Example Usage 66 | 67 | ```html 68 |
69 | ``` 70 | 71 | Output: 72 | 73 | ```css 74 | @container (min-width: 96px) { 75 | .cq-w-6\:bg-yellow-400 { 76 | --tw-bg-opacity: 1; 77 | background-color: rgb(96 165 250 / var(--tw-bg-opacity)); 78 | } 79 | } 80 | ``` 81 | 82 | #### You can use arbitrary variants too. (You should be using v3.1.0 or higher!) 83 | 84 | ```html 85 |
86 | ``` 87 | 88 | Output: 89 | 90 | ```css 91 | @container (min-width: 238px) { 92 | .cq-w-\[238px\]\:bg-yellow-400 { 93 | --tw-bg-opacity: 1; 94 | background-color: rgb(96 165 250 / var(--tw-bg-opacity)); 95 | } 96 | } 97 | ``` 98 | 99 | ## Using Container Names 100 | 101 | ```html 102 |
103 | ``` 104 | 105 | ```js 106 | // tailwind.config.js 107 | module.exports = { 108 | theme: { 109 | containerName: { 110 | sb: 'sidebar' 111 | }, 112 | // ... 113 | } 114 | } 115 | ``` 116 | 117 | Output: 118 | 119 | ```css 120 | @container sidebar (min-width: 96px) { 121 | .cq-w-sb-6\:bg-yellow-400 { 122 | --tw-bg-opacity: 1; 123 | background-color: rgb(96 165 250 / var(--tw-bg-opacity)); 124 | } 125 | } 126 | ``` 127 | 128 | ## Configuration 129 | 130 | You can configure which values and variants are generated by this plugin under the `containerQuery`, `containerType` and `containerName` keys in your `tailwind.config.js` file: 131 | 132 | ```js 133 | // tailwind.config.js 134 | module.exports = { 135 | theme: { 136 | // P.S. Container Query thresholds can only be specified using pixels because of the polyfill I recommended. 137 | containerQuery: { 138 | xs: '120px', 139 | sm: '240px', 140 | md: '360px', 141 | }, 142 | containerType: { 143 | size: 'size', 144 | } 145 | } 146 | } 147 | ``` 148 | 149 | ## [Demo Page](https://dgknca.github.io/tailwindcss-container-query/) -------------------------------------------------------------------------------- /demo/README.md: -------------------------------------------------------------------------------- 1 | For development purposes. -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Demo 9 | 10 | 11 |
12 |
13 |
14 |
Resize the container
15 | 16 |
17 |
18 |
19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /demo/output.css: -------------------------------------------------------------------------------- 1 | /* 2 | ! tailwindcss v3.1.4 | MIT License | https://tailwindcss.com 3 | */ 4 | 5 | /* 6 | 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) 7 | 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) 8 | */ 9 | 10 | *, 11 | ::before, 12 | ::after { 13 | box-sizing: border-box; 14 | /* 1 */ 15 | border-width: 0; 16 | /* 2 */ 17 | border-style: solid; 18 | /* 2 */ 19 | border-color: #e5e7eb; 20 | /* 2 */ 21 | } 22 | 23 | ::before, 24 | ::after { 25 | --tw-content: ''; 26 | } 27 | 28 | /* 29 | 1. Use a consistent sensible line-height in all browsers. 30 | 2. Prevent adjustments of font size after orientation changes in iOS. 31 | 3. Use a more readable tab size. 32 | 4. Use the user's configured `sans` font-family by default. 33 | */ 34 | 35 | html { 36 | line-height: 1.5; 37 | /* 1 */ 38 | -webkit-text-size-adjust: 100%; 39 | /* 2 */ 40 | -moz-tab-size: 4; 41 | /* 3 */ 42 | -o-tab-size: 4; 43 | tab-size: 4; 44 | /* 3 */ 45 | font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; 46 | /* 4 */ 47 | } 48 | 49 | /* 50 | 1. Remove the margin in all browsers. 51 | 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. 52 | */ 53 | 54 | body { 55 | margin: 0; 56 | /* 1 */ 57 | line-height: inherit; 58 | /* 2 */ 59 | } 60 | 61 | /* 62 | 1. Add the correct height in Firefox. 63 | 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) 64 | 3. Ensure horizontal rules are visible by default. 65 | */ 66 | 67 | hr { 68 | height: 0; 69 | /* 1 */ 70 | color: inherit; 71 | /* 2 */ 72 | border-top-width: 1px; 73 | /* 3 */ 74 | } 75 | 76 | /* 77 | Add the correct text decoration in Chrome, Edge, and Safari. 78 | */ 79 | 80 | abbr:where([title]) { 81 | -webkit-text-decoration: underline dotted; 82 | text-decoration: underline dotted; 83 | } 84 | 85 | /* 86 | Remove the default font size and weight for headings. 87 | */ 88 | 89 | h1, 90 | h2, 91 | h3, 92 | h4, 93 | h5, 94 | h6 { 95 | font-size: inherit; 96 | font-weight: inherit; 97 | } 98 | 99 | /* 100 | Reset links to optimize for opt-in styling instead of opt-out. 101 | */ 102 | 103 | a { 104 | color: inherit; 105 | text-decoration: inherit; 106 | } 107 | 108 | /* 109 | Add the correct font weight in Edge and Safari. 110 | */ 111 | 112 | b, 113 | strong { 114 | font-weight: bolder; 115 | } 116 | 117 | /* 118 | 1. Use the user's configured `mono` font family by default. 119 | 2. Correct the odd `em` font sizing in all browsers. 120 | */ 121 | 122 | code, 123 | kbd, 124 | samp, 125 | pre { 126 | font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; 127 | /* 1 */ 128 | font-size: 1em; 129 | /* 2 */ 130 | } 131 | 132 | /* 133 | Add the correct font size in all browsers. 134 | */ 135 | 136 | small { 137 | font-size: 80%; 138 | } 139 | 140 | /* 141 | Prevent `sub` and `sup` elements from affecting the line height in all browsers. 142 | */ 143 | 144 | sub, 145 | sup { 146 | font-size: 75%; 147 | line-height: 0; 148 | position: relative; 149 | vertical-align: baseline; 150 | } 151 | 152 | sub { 153 | bottom: -0.25em; 154 | } 155 | 156 | sup { 157 | top: -0.5em; 158 | } 159 | 160 | /* 161 | 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) 162 | 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) 163 | 3. Remove gaps between table borders by default. 164 | */ 165 | 166 | table { 167 | text-indent: 0; 168 | /* 1 */ 169 | border-color: inherit; 170 | /* 2 */ 171 | border-collapse: collapse; 172 | /* 3 */ 173 | } 174 | 175 | /* 176 | 1. Change the font styles in all browsers. 177 | 2. Remove the margin in Firefox and Safari. 178 | 3. Remove default padding in all browsers. 179 | */ 180 | 181 | button, 182 | input, 183 | optgroup, 184 | select, 185 | textarea { 186 | font-family: inherit; 187 | /* 1 */ 188 | font-size: 100%; 189 | /* 1 */ 190 | font-weight: inherit; 191 | /* 1 */ 192 | line-height: inherit; 193 | /* 1 */ 194 | color: inherit; 195 | /* 1 */ 196 | margin: 0; 197 | /* 2 */ 198 | padding: 0; 199 | /* 3 */ 200 | } 201 | 202 | /* 203 | Remove the inheritance of text transform in Edge and Firefox. 204 | */ 205 | 206 | button, 207 | select { 208 | text-transform: none; 209 | } 210 | 211 | /* 212 | 1. Correct the inability to style clickable types in iOS and Safari. 213 | 2. Remove default button styles. 214 | */ 215 | 216 | button, 217 | [type='button'], 218 | [type='reset'], 219 | [type='submit'] { 220 | -webkit-appearance: button; 221 | /* 1 */ 222 | background-color: transparent; 223 | /* 2 */ 224 | background-image: none; 225 | /* 2 */ 226 | } 227 | 228 | /* 229 | Use the modern Firefox focus style for all focusable elements. 230 | */ 231 | 232 | :-moz-focusring { 233 | outline: auto; 234 | } 235 | 236 | /* 237 | Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) 238 | */ 239 | 240 | :-moz-ui-invalid { 241 | box-shadow: none; 242 | } 243 | 244 | /* 245 | Add the correct vertical alignment in Chrome and Firefox. 246 | */ 247 | 248 | progress { 249 | vertical-align: baseline; 250 | } 251 | 252 | /* 253 | Correct the cursor style of increment and decrement buttons in Safari. 254 | */ 255 | 256 | ::-webkit-inner-spin-button, 257 | ::-webkit-outer-spin-button { 258 | height: auto; 259 | } 260 | 261 | /* 262 | 1. Correct the odd appearance in Chrome and Safari. 263 | 2. Correct the outline style in Safari. 264 | */ 265 | 266 | [type='search'] { 267 | -webkit-appearance: textfield; 268 | /* 1 */ 269 | outline-offset: -2px; 270 | /* 2 */ 271 | } 272 | 273 | /* 274 | Remove the inner padding in Chrome and Safari on macOS. 275 | */ 276 | 277 | ::-webkit-search-decoration { 278 | -webkit-appearance: none; 279 | } 280 | 281 | /* 282 | 1. Correct the inability to style clickable types in iOS and Safari. 283 | 2. Change font properties to `inherit` in Safari. 284 | */ 285 | 286 | ::-webkit-file-upload-button { 287 | -webkit-appearance: button; 288 | /* 1 */ 289 | font: inherit; 290 | /* 2 */ 291 | } 292 | 293 | /* 294 | Add the correct display in Chrome and Safari. 295 | */ 296 | 297 | summary { 298 | display: list-item; 299 | } 300 | 301 | /* 302 | Removes the default spacing and border for appropriate elements. 303 | */ 304 | 305 | blockquote, 306 | dl, 307 | dd, 308 | h1, 309 | h2, 310 | h3, 311 | h4, 312 | h5, 313 | h6, 314 | hr, 315 | figure, 316 | p, 317 | pre { 318 | margin: 0; 319 | } 320 | 321 | fieldset { 322 | margin: 0; 323 | padding: 0; 324 | } 325 | 326 | legend { 327 | padding: 0; 328 | } 329 | 330 | ol, 331 | ul, 332 | menu { 333 | list-style: none; 334 | margin: 0; 335 | padding: 0; 336 | } 337 | 338 | /* 339 | Prevent resizing textareas horizontally by default. 340 | */ 341 | 342 | textarea { 343 | resize: vertical; 344 | } 345 | 346 | /* 347 | 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) 348 | 2. Set the default placeholder color to the user's configured gray 400 color. 349 | */ 350 | 351 | input::-moz-placeholder, textarea::-moz-placeholder { 352 | opacity: 1; 353 | /* 1 */ 354 | color: #9ca3af; 355 | /* 2 */ 356 | } 357 | 358 | input::placeholder, 359 | textarea::placeholder { 360 | opacity: 1; 361 | /* 1 */ 362 | color: #9ca3af; 363 | /* 2 */ 364 | } 365 | 366 | /* 367 | Set the default cursor for buttons. 368 | */ 369 | 370 | button, 371 | [role="button"] { 372 | cursor: pointer; 373 | } 374 | 375 | /* 376 | Make sure disabled buttons don't get the pointer cursor. 377 | */ 378 | 379 | :disabled { 380 | cursor: default; 381 | } 382 | 383 | /* 384 | 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) 385 | 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) 386 | This can trigger a poorly considered lint error in some tools but is included by design. 387 | */ 388 | 389 | img, 390 | svg, 391 | video, 392 | canvas, 393 | audio, 394 | iframe, 395 | embed, 396 | object { 397 | display: block; 398 | /* 1 */ 399 | vertical-align: middle; 400 | /* 2 */ 401 | } 402 | 403 | /* 404 | Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) 405 | */ 406 | 407 | img, 408 | video { 409 | max-width: 100%; 410 | height: auto; 411 | } 412 | 413 | *, ::before, ::after { 414 | --tw-border-spacing-x: 0; 415 | --tw-border-spacing-y: 0; 416 | --tw-translate-x: 0; 417 | --tw-translate-y: 0; 418 | --tw-rotate: 0; 419 | --tw-skew-x: 0; 420 | --tw-skew-y: 0; 421 | --tw-scale-x: 1; 422 | --tw-scale-y: 1; 423 | --tw-pan-x: ; 424 | --tw-pan-y: ; 425 | --tw-pinch-zoom: ; 426 | --tw-scroll-snap-strictness: proximity; 427 | --tw-ordinal: ; 428 | --tw-slashed-zero: ; 429 | --tw-numeric-figure: ; 430 | --tw-numeric-spacing: ; 431 | --tw-numeric-fraction: ; 432 | --tw-ring-inset: ; 433 | --tw-ring-offset-width: 0px; 434 | --tw-ring-offset-color: #fff; 435 | --tw-ring-color: rgb(59 130 246 / 0.5); 436 | --tw-ring-offset-shadow: 0 0 #0000; 437 | --tw-ring-shadow: 0 0 #0000; 438 | --tw-shadow: 0 0 #0000; 439 | --tw-shadow-colored: 0 0 #0000; 440 | --tw-blur: ; 441 | --tw-brightness: ; 442 | --tw-contrast: ; 443 | --tw-grayscale: ; 444 | --tw-hue-rotate: ; 445 | --tw-invert: ; 446 | --tw-saturate: ; 447 | --tw-sepia: ; 448 | --tw-drop-shadow: ; 449 | --tw-backdrop-blur: ; 450 | --tw-backdrop-brightness: ; 451 | --tw-backdrop-contrast: ; 452 | --tw-backdrop-grayscale: ; 453 | --tw-backdrop-hue-rotate: ; 454 | --tw-backdrop-invert: ; 455 | --tw-backdrop-opacity: ; 456 | --tw-backdrop-saturate: ; 457 | --tw-backdrop-sepia: ; 458 | } 459 | 460 | ::-webkit-backdrop { 461 | --tw-border-spacing-x: 0; 462 | --tw-border-spacing-y: 0; 463 | --tw-translate-x: 0; 464 | --tw-translate-y: 0; 465 | --tw-rotate: 0; 466 | --tw-skew-x: 0; 467 | --tw-skew-y: 0; 468 | --tw-scale-x: 1; 469 | --tw-scale-y: 1; 470 | --tw-pan-x: ; 471 | --tw-pan-y: ; 472 | --tw-pinch-zoom: ; 473 | --tw-scroll-snap-strictness: proximity; 474 | --tw-ordinal: ; 475 | --tw-slashed-zero: ; 476 | --tw-numeric-figure: ; 477 | --tw-numeric-spacing: ; 478 | --tw-numeric-fraction: ; 479 | --tw-ring-inset: ; 480 | --tw-ring-offset-width: 0px; 481 | --tw-ring-offset-color: #fff; 482 | --tw-ring-color: rgb(59 130 246 / 0.5); 483 | --tw-ring-offset-shadow: 0 0 #0000; 484 | --tw-ring-shadow: 0 0 #0000; 485 | --tw-shadow: 0 0 #0000; 486 | --tw-shadow-colored: 0 0 #0000; 487 | --tw-blur: ; 488 | --tw-brightness: ; 489 | --tw-contrast: ; 490 | --tw-grayscale: ; 491 | --tw-hue-rotate: ; 492 | --tw-invert: ; 493 | --tw-saturate: ; 494 | --tw-sepia: ; 495 | --tw-drop-shadow: ; 496 | --tw-backdrop-blur: ; 497 | --tw-backdrop-brightness: ; 498 | --tw-backdrop-contrast: ; 499 | --tw-backdrop-grayscale: ; 500 | --tw-backdrop-hue-rotate: ; 501 | --tw-backdrop-invert: ; 502 | --tw-backdrop-opacity: ; 503 | --tw-backdrop-saturate: ; 504 | --tw-backdrop-sepia: ; 505 | } 506 | 507 | ::backdrop { 508 | --tw-border-spacing-x: 0; 509 | --tw-border-spacing-y: 0; 510 | --tw-translate-x: 0; 511 | --tw-translate-y: 0; 512 | --tw-rotate: 0; 513 | --tw-skew-x: 0; 514 | --tw-skew-y: 0; 515 | --tw-scale-x: 1; 516 | --tw-scale-y: 1; 517 | --tw-pan-x: ; 518 | --tw-pan-y: ; 519 | --tw-pinch-zoom: ; 520 | --tw-scroll-snap-strictness: proximity; 521 | --tw-ordinal: ; 522 | --tw-slashed-zero: ; 523 | --tw-numeric-figure: ; 524 | --tw-numeric-spacing: ; 525 | --tw-numeric-fraction: ; 526 | --tw-ring-inset: ; 527 | --tw-ring-offset-width: 0px; 528 | --tw-ring-offset-color: #fff; 529 | --tw-ring-color: rgb(59 130 246 / 0.5); 530 | --tw-ring-offset-shadow: 0 0 #0000; 531 | --tw-ring-shadow: 0 0 #0000; 532 | --tw-shadow: 0 0 #0000; 533 | --tw-shadow-colored: 0 0 #0000; 534 | --tw-blur: ; 535 | --tw-brightness: ; 536 | --tw-contrast: ; 537 | --tw-grayscale: ; 538 | --tw-hue-rotate: ; 539 | --tw-invert: ; 540 | --tw-saturate: ; 541 | --tw-sepia: ; 542 | --tw-drop-shadow: ; 543 | --tw-backdrop-blur: ; 544 | --tw-backdrop-brightness: ; 545 | --tw-backdrop-contrast: ; 546 | --tw-backdrop-grayscale: ; 547 | --tw-backdrop-hue-rotate: ; 548 | --tw-backdrop-invert: ; 549 | --tw-backdrop-opacity: ; 550 | --tw-backdrop-saturate: ; 551 | --tw-backdrop-sepia: ; 552 | } 553 | 554 | .container { 555 | width: 100%; 556 | } 557 | 558 | @media (min-width: 640px) { 559 | .container { 560 | max-width: 640px; 561 | } 562 | } 563 | 564 | @media (min-width: 768px) { 565 | .container { 566 | max-width: 768px; 567 | } 568 | } 569 | 570 | @media (min-width: 1024px) { 571 | .container { 572 | max-width: 1024px; 573 | } 574 | } 575 | 576 | @media (min-width: 1280px) { 577 | .container { 578 | max-width: 1280px; 579 | } 580 | } 581 | 582 | @media (min-width: 1536px) { 583 | .container { 584 | max-width: 1536px; 585 | } 586 | } 587 | 588 | .flex { 589 | display: flex; 590 | } 591 | 592 | .inline-flex { 593 | display: inline-flex; 594 | } 595 | 596 | .h-80 { 597 | height: 20rem; 598 | } 599 | 600 | .h-full { 601 | height: 100%; 602 | } 603 | 604 | .w-80 { 605 | width: 20rem; 606 | } 607 | 608 | .w-full { 609 | width: 100%; 610 | } 611 | 612 | .resize { 613 | resize: both; 614 | } 615 | 616 | .items-end { 617 | align-items: flex-end; 618 | } 619 | 620 | .justify-end { 621 | justify-content: flex-end; 622 | } 623 | 624 | .overflow-auto { 625 | overflow: auto; 626 | } 627 | 628 | .border-4 { 629 | border-width: 4px; 630 | } 631 | 632 | .border-gray-100 { 633 | --tw-border-opacity: 1; 634 | border-color: rgb(243 244 246 / var(--tw-border-opacity)); 635 | } 636 | 637 | .bg-yellow-100 { 638 | --tw-bg-opacity: 1; 639 | background-color: rgb(254 249 195 / var(--tw-bg-opacity)); 640 | } 641 | 642 | .pb-12 { 643 | padding-bottom: 3rem; 644 | } 645 | 646 | .container-type-size { 647 | container-type: size; 648 | } 649 | 650 | @container (min-height: 111px) { 651 | .cq-h-\[111px\]\:border-red-400 { 652 | --tw-border-opacity: 1; 653 | border-color: rgb(248 113 113 / var(--tw-border-opacity)); 654 | } 655 | } 656 | 657 | @container (min-width: 352px) { 658 | .cq-w-22\:bg-blue-200 { 659 | --tw-bg-opacity: 1; 660 | background-color: rgb(191 219 254 / var(--tw-bg-opacity)); 661 | } 662 | } -------------------------------------------------------------------------------- /demo/style.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /dist/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | !.npmignore 4 | -------------------------------------------------------------------------------- /dist/.npmignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dgknca/tailwindcss-container-query/0da79af5794cc74e1f62a3d5868d4f6d90b230c8/dist/.npmignore -------------------------------------------------------------------------------- /examples/html/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /examples/html/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "tabWidth": 2, 4 | "useTabs": false, 5 | "semi": false, 6 | "singleQuote": true, 7 | "trailingComma": "none", 8 | "bracketSpacing": true 9 | } -------------------------------------------------------------------------------- /examples/html/README.md: -------------------------------------------------------------------------------- 1 | # tailwindcss-container-query example With HTML 2 | 3 | ## Launch Project 4 | 5 | First, make sure you have [yarn](https://yarnpkg.com/getting-started/install) installed. Then run: 6 | 7 | - `yarn` to install dependencies 8 | - `yarn dev` to launch the project 9 | - Launch `index.html` with a server (e.g. [VSCode Live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) ) 10 | -------------------------------------------------------------------------------- /examples/html/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwind-html-starter", 3 | "version": "0.0.1", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "dev": "postcss ./src/style.css -o ./src/output.css --watch --verbose", 8 | "build": "postcss ./src/style.css -o ./src/output.css --verbose", 9 | "prettier-format": "prettier src/**/*.html --write" 10 | }, 11 | "keywords": [], 12 | "author": "", 13 | "license": "MIT", 14 | "devDependencies": { 15 | "autoprefixer": "^10.4.2", 16 | "postcss": "^8.4.6", 17 | "postcss-cli": "^9.1.0", 18 | "prettier": "^2.5.1", 19 | "prettier-plugin-tailwindcss": "^0.1.5", 20 | "tailwindcss": "^3.0.18", 21 | "tailwindcss-container-query": "^1.0.1" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/html/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | require('tailwindcss/nesting'), 4 | require('tailwindcss'), 5 | require('autoprefixer'), 6 | ] 7 | } -------------------------------------------------------------------------------- /examples/html/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | tailwindcss-container-query HTML Example 8 | 9 | 10 |
11 |
12 |
13 |
Resize the container
14 | 15 |
16 |
17 |
18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /examples/html/src/output.css: -------------------------------------------------------------------------------- 1 | /* 2 | ! tailwindcss v3.0.18 | MIT License | https://tailwindcss.com 3 | *//* 4 | 1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) 5 | 2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) 6 | */ 7 | 8 | *, 9 | ::before, 10 | ::after { 11 | box-sizing: border-box; /* 1 */ 12 | border-width: 0; /* 2 */ 13 | border-style: solid; /* 2 */ 14 | border-color: #e5e7eb; /* 2 */ 15 | } 16 | 17 | ::before, 18 | ::after { 19 | --tw-content: ''; 20 | } 21 | 22 | /* 23 | 1. Use a consistent sensible line-height in all browsers. 24 | 2. Prevent adjustments of font size after orientation changes in iOS. 25 | 3. Use a more readable tab size. 26 | 4. Use the user's configured `sans` font-family by default. 27 | */ 28 | 29 | html { 30 | line-height: 1.5; /* 1 */ 31 | -webkit-text-size-adjust: 100%; /* 2 */ 32 | -moz-tab-size: 4; /* 3 */ 33 | -o-tab-size: 4; 34 | tab-size: 4; /* 3 */ 35 | font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */ 36 | } 37 | 38 | /* 39 | 1. Remove the margin in all browsers. 40 | 2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. 41 | */ 42 | 43 | body { 44 | margin: 0; /* 1 */ 45 | line-height: inherit; /* 2 */ 46 | } 47 | 48 | /* 49 | 1. Add the correct height in Firefox. 50 | 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) 51 | 3. Ensure horizontal rules are visible by default. 52 | */ 53 | 54 | hr { 55 | height: 0; /* 1 */ 56 | color: inherit; /* 2 */ 57 | border-top-width: 1px; /* 3 */ 58 | } 59 | 60 | /* 61 | Add the correct text decoration in Chrome, Edge, and Safari. 62 | */ 63 | 64 | abbr:where([title]) { 65 | -webkit-text-decoration: underline dotted; 66 | text-decoration: underline dotted; 67 | } 68 | 69 | /* 70 | Remove the default font size and weight for headings. 71 | */ 72 | 73 | h1, 74 | h2, 75 | h3, 76 | h4, 77 | h5, 78 | h6 { 79 | font-size: inherit; 80 | font-weight: inherit; 81 | } 82 | 83 | /* 84 | Reset links to optimize for opt-in styling instead of opt-out. 85 | */ 86 | 87 | a { 88 | color: inherit; 89 | text-decoration: inherit; 90 | } 91 | 92 | /* 93 | Add the correct font weight in Edge and Safari. 94 | */ 95 | 96 | b, 97 | strong { 98 | font-weight: bolder; 99 | } 100 | 101 | /* 102 | 1. Use the user's configured `mono` font family by default. 103 | 2. Correct the odd `em` font sizing in all browsers. 104 | */ 105 | 106 | code, 107 | kbd, 108 | samp, 109 | pre { 110 | font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */ 111 | font-size: 1em; /* 2 */ 112 | } 113 | 114 | /* 115 | Add the correct font size in all browsers. 116 | */ 117 | 118 | small { 119 | font-size: 80%; 120 | } 121 | 122 | /* 123 | Prevent `sub` and `sup` elements from affecting the line height in all browsers. 124 | */ 125 | 126 | sub, 127 | sup { 128 | font-size: 75%; 129 | line-height: 0; 130 | position: relative; 131 | vertical-align: baseline; 132 | } 133 | 134 | sub { 135 | bottom: -0.25em; 136 | } 137 | 138 | sup { 139 | top: -0.5em; 140 | } 141 | 142 | /* 143 | 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) 144 | 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) 145 | 3. Remove gaps between table borders by default. 146 | */ 147 | 148 | table { 149 | text-indent: 0; /* 1 */ 150 | border-color: inherit; /* 2 */ 151 | border-collapse: collapse; /* 3 */ 152 | } 153 | 154 | /* 155 | 1. Change the font styles in all browsers. 156 | 2. Remove the margin in Firefox and Safari. 157 | 3. Remove default padding in all browsers. 158 | */ 159 | 160 | button, 161 | input, 162 | optgroup, 163 | select, 164 | textarea { 165 | font-family: inherit; /* 1 */ 166 | font-size: 100%; /* 1 */ 167 | line-height: inherit; /* 1 */ 168 | color: inherit; /* 1 */ 169 | margin: 0; /* 2 */ 170 | padding: 0; /* 3 */ 171 | } 172 | 173 | /* 174 | Remove the inheritance of text transform in Edge and Firefox. 175 | */ 176 | 177 | button, 178 | select { 179 | text-transform: none; 180 | } 181 | 182 | /* 183 | 1. Correct the inability to style clickable types in iOS and Safari. 184 | 2. Remove default button styles. 185 | */ 186 | 187 | button, 188 | [type='button'], 189 | [type='reset'], 190 | [type='submit'] { 191 | -webkit-appearance: button; /* 1 */ 192 | background-color: transparent; /* 2 */ 193 | background-image: none; /* 2 */ 194 | } 195 | 196 | /* 197 | Use the modern Firefox focus style for all focusable elements. 198 | */ 199 | 200 | :-moz-focusring { 201 | outline: auto; 202 | } 203 | 204 | /* 205 | Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) 206 | */ 207 | 208 | :-moz-ui-invalid { 209 | box-shadow: none; 210 | } 211 | 212 | /* 213 | Add the correct vertical alignment in Chrome and Firefox. 214 | */ 215 | 216 | progress { 217 | vertical-align: baseline; 218 | } 219 | 220 | /* 221 | Correct the cursor style of increment and decrement buttons in Safari. 222 | */ 223 | 224 | ::-webkit-inner-spin-button, 225 | ::-webkit-outer-spin-button { 226 | height: auto; 227 | } 228 | 229 | /* 230 | 1. Correct the odd appearance in Chrome and Safari. 231 | 2. Correct the outline style in Safari. 232 | */ 233 | 234 | [type='search'] { 235 | -webkit-appearance: textfield; /* 1 */ 236 | outline-offset: -2px; /* 2 */ 237 | } 238 | 239 | /* 240 | Remove the inner padding in Chrome and Safari on macOS. 241 | */ 242 | 243 | ::-webkit-search-decoration { 244 | -webkit-appearance: none; 245 | } 246 | 247 | /* 248 | 1. Correct the inability to style clickable types in iOS and Safari. 249 | 2. Change font properties to `inherit` in Safari. 250 | */ 251 | 252 | ::-webkit-file-upload-button { 253 | -webkit-appearance: button; /* 1 */ 254 | font: inherit; /* 2 */ 255 | } 256 | 257 | /* 258 | Add the correct display in Chrome and Safari. 259 | */ 260 | 261 | summary { 262 | display: list-item; 263 | } 264 | 265 | /* 266 | Removes the default spacing and border for appropriate elements. 267 | */ 268 | 269 | blockquote, 270 | dl, 271 | dd, 272 | h1, 273 | h2, 274 | h3, 275 | h4, 276 | h5, 277 | h6, 278 | hr, 279 | figure, 280 | p, 281 | pre { 282 | margin: 0; 283 | } 284 | 285 | fieldset { 286 | margin: 0; 287 | padding: 0; 288 | } 289 | 290 | legend { 291 | padding: 0; 292 | } 293 | 294 | ol, 295 | ul, 296 | menu { 297 | list-style: none; 298 | margin: 0; 299 | padding: 0; 300 | } 301 | 302 | /* 303 | Prevent resizing textareas horizontally by default. 304 | */ 305 | 306 | textarea { 307 | resize: vertical; 308 | } 309 | 310 | /* 311 | 1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) 312 | 2. Set the default placeholder color to the user's configured gray 400 color. 313 | */ 314 | 315 | input::-moz-placeholder, textarea::-moz-placeholder { 316 | opacity: 1; /* 1 */ 317 | color: #9ca3af; /* 2 */ 318 | } 319 | 320 | input:-ms-input-placeholder, textarea:-ms-input-placeholder { 321 | opacity: 1; /* 1 */ 322 | color: #9ca3af; /* 2 */ 323 | } 324 | 325 | input::placeholder, 326 | textarea::placeholder { 327 | opacity: 1; /* 1 */ 328 | color: #9ca3af; /* 2 */ 329 | } 330 | 331 | /* 332 | Set the default cursor for buttons. 333 | */ 334 | 335 | button, 336 | [role="button"] { 337 | cursor: pointer; 338 | } 339 | 340 | /* 341 | Make sure disabled buttons don't get the pointer cursor. 342 | */ 343 | :disabled { 344 | cursor: default; 345 | } 346 | 347 | /* 348 | 1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) 349 | 2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) 350 | This can trigger a poorly considered lint error in some tools but is included by design. 351 | */ 352 | 353 | img, 354 | svg, 355 | video, 356 | canvas, 357 | audio, 358 | iframe, 359 | embed, 360 | object { 361 | display: block; /* 1 */ 362 | vertical-align: middle; /* 2 */ 363 | } 364 | 365 | /* 366 | Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) 367 | */ 368 | 369 | img, 370 | video { 371 | max-width: 100%; 372 | height: auto; 373 | } 374 | 375 | /* 376 | Ensure the default browser behavior of the `hidden` attribute. 377 | */ 378 | 379 | [hidden] { 380 | display: none; 381 | } 382 | 383 | *, ::before, ::after { 384 | --tw-translate-x: 0; 385 | --tw-translate-y: 0; 386 | --tw-rotate: 0; 387 | --tw-skew-x: 0; 388 | --tw-skew-y: 0; 389 | --tw-scale-x: 1; 390 | --tw-scale-y: 1; 391 | --tw-pan-x: ; 392 | --tw-pan-y: ; 393 | --tw-pinch-zoom: ; 394 | --tw-scroll-snap-strictness: proximity; 395 | --tw-ordinal: ; 396 | --tw-slashed-zero: ; 397 | --tw-numeric-figure: ; 398 | --tw-numeric-spacing: ; 399 | --tw-numeric-fraction: ; 400 | --tw-ring-inset: ; 401 | --tw-ring-offset-width: 0px; 402 | --tw-ring-offset-color: #fff; 403 | --tw-ring-color: rgb(59 130 246 / 0.5); 404 | --tw-ring-offset-shadow: 0 0 #0000; 405 | --tw-ring-shadow: 0 0 #0000; 406 | --tw-shadow: 0 0 #0000; 407 | --tw-shadow-colored: 0 0 #0000; 408 | --tw-blur: ; 409 | --tw-brightness: ; 410 | --tw-contrast: ; 411 | --tw-grayscale: ; 412 | --tw-hue-rotate: ; 413 | --tw-invert: ; 414 | --tw-saturate: ; 415 | --tw-sepia: ; 416 | --tw-drop-shadow: ; 417 | --tw-backdrop-blur: ; 418 | --tw-backdrop-brightness: ; 419 | --tw-backdrop-contrast: ; 420 | --tw-backdrop-grayscale: ; 421 | --tw-backdrop-hue-rotate: ; 422 | --tw-backdrop-invert: ; 423 | --tw-backdrop-opacity: ; 424 | --tw-backdrop-saturate: ; 425 | --tw-backdrop-sepia: ; 426 | } 427 | .container { 428 | width: 100%; 429 | } 430 | @media (min-width: 640px) { 431 | 432 | .container { 433 | max-width: 640px; 434 | } 435 | } 436 | @media (min-width: 768px) { 437 | 438 | .container { 439 | max-width: 768px; 440 | } 441 | } 442 | @media (min-width: 1024px) { 443 | 444 | .container { 445 | max-width: 1024px; 446 | } 447 | } 448 | @media (min-width: 1280px) { 449 | 450 | .container { 451 | max-width: 1280px; 452 | } 453 | } 454 | @media (min-width: 1536px) { 455 | 456 | .container { 457 | max-width: 1536px; 458 | } 459 | } 460 | .flex { 461 | display: flex; 462 | } 463 | .inline-flex { 464 | display: inline-flex; 465 | } 466 | .h-80 { 467 | height: 20rem; 468 | } 469 | .h-full { 470 | height: 100%; 471 | } 472 | .w-80 { 473 | width: 20rem; 474 | } 475 | .w-full { 476 | width: 100%; 477 | } 478 | .resize { 479 | resize: both; 480 | } 481 | .items-end { 482 | align-items: flex-end; 483 | } 484 | .justify-end { 485 | justify-content: flex-end; 486 | } 487 | .overflow-auto { 488 | overflow: auto; 489 | } 490 | .border-4 { 491 | border-width: 4px; 492 | } 493 | .border-gray-100 { 494 | --tw-border-opacity: 1; 495 | border-color: rgb(243 244 246 / var(--tw-border-opacity)); 496 | } 497 | .bg-yellow-100 { 498 | --tw-bg-opacity: 1; 499 | background-color: rgb(254 249 195 / var(--tw-bg-opacity)); 500 | } 501 | .pb-12 { 502 | padding-bottom: 3rem; 503 | } 504 | .container-type-size { 505 | container-type: size; 506 | } 507 | @container (min-width: 352px) { 508 | 509 | .cq-w-22\:bg-blue-200 { 510 | --tw-bg-opacity: 1; 511 | background-color: rgb(191 219 254 / var(--tw-bg-opacity)); 512 | } 513 | } 514 | @container (min-height: 352px) { 515 | 516 | .cq-h-22\:border-red-400 { 517 | --tw-border-opacity: 1; 518 | border-color: rgb(248 113 113 / var(--tw-border-opacity)); 519 | } 520 | } 521 | -------------------------------------------------------------------------------- /examples/html/src/style.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /examples/html/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: ["./src/**/*.{html,js}"], 3 | plugins: [ 4 | require('tailwindcss-container-query'), 5 | ], 6 | } -------------------------------------------------------------------------------- /examples/html/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.16.7" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" 8 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== 9 | dependencies: 10 | "@babel/highlight" "^7.16.7" 11 | 12 | "@babel/helper-validator-identifier@^7.16.7": 13 | version "7.16.7" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" 15 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== 16 | 17 | "@babel/highlight@^7.16.7": 18 | version "7.16.10" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" 20 | integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.16.7" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@nodelib/fs.scandir@2.1.5": 27 | version "2.1.5" 28 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 29 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 30 | dependencies: 31 | "@nodelib/fs.stat" "2.0.5" 32 | run-parallel "^1.1.9" 33 | 34 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 35 | version "2.0.5" 36 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 37 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 38 | 39 | "@nodelib/fs.walk@^1.2.3": 40 | version "1.2.8" 41 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 42 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 43 | dependencies: 44 | "@nodelib/fs.scandir" "2.1.5" 45 | fastq "^1.6.0" 46 | 47 | "@types/parse-json@^4.0.0": 48 | version "4.0.0" 49 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 50 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 51 | 52 | acorn-node@^1.6.1: 53 | version "1.8.2" 54 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 55 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 56 | dependencies: 57 | acorn "^7.0.0" 58 | acorn-walk "^7.0.0" 59 | xtend "^4.0.2" 60 | 61 | acorn-walk@^7.0.0: 62 | version "7.2.0" 63 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 64 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 65 | 66 | acorn@^7.0.0: 67 | version "7.4.1" 68 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 69 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 70 | 71 | ansi-regex@^5.0.1: 72 | version "5.0.1" 73 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 74 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 75 | 76 | ansi-styles@^3.2.1: 77 | version "3.2.1" 78 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 79 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 80 | dependencies: 81 | color-convert "^1.9.0" 82 | 83 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 84 | version "4.3.0" 85 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 86 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 87 | dependencies: 88 | color-convert "^2.0.1" 89 | 90 | anymatch@~3.1.2: 91 | version "3.1.2" 92 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 93 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 94 | dependencies: 95 | normalize-path "^3.0.0" 96 | picomatch "^2.0.4" 97 | 98 | arg@^5.0.1: 99 | version "5.0.1" 100 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" 101 | integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== 102 | 103 | array-union@^3.0.1: 104 | version "3.0.1" 105 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-3.0.1.tgz#da52630d327f8b88cfbfb57728e2af5cd9b6b975" 106 | integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== 107 | 108 | autoprefixer@^10.4.2: 109 | version "10.4.2" 110 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" 111 | integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== 112 | dependencies: 113 | browserslist "^4.19.1" 114 | caniuse-lite "^1.0.30001297" 115 | fraction.js "^4.1.2" 116 | normalize-range "^0.1.2" 117 | picocolors "^1.0.0" 118 | postcss-value-parser "^4.2.0" 119 | 120 | binary-extensions@^2.0.0: 121 | version "2.2.0" 122 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 123 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 124 | 125 | braces@^3.0.1, braces@~3.0.2: 126 | version "3.0.2" 127 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 128 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 129 | dependencies: 130 | fill-range "^7.0.1" 131 | 132 | browserslist@^4.19.1: 133 | version "4.19.1" 134 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" 135 | integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== 136 | dependencies: 137 | caniuse-lite "^1.0.30001286" 138 | electron-to-chromium "^1.4.17" 139 | escalade "^3.1.1" 140 | node-releases "^2.0.1" 141 | picocolors "^1.0.0" 142 | 143 | callsites@^3.0.0: 144 | version "3.1.0" 145 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 146 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 147 | 148 | camelcase-css@^2.0.1: 149 | version "2.0.1" 150 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 151 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 152 | 153 | caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297: 154 | version "1.0.30001307" 155 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001307.tgz#27a67f13ebc4aa9c977e6b8256a11d5eafb30f27" 156 | integrity sha512-+MXEMczJ4FuxJAUp0jvAl6Df0NI/OfW1RWEE61eSmzS7hw6lz4IKutbhbXendwq8BljfFuHtu26VWsg4afQ7Ng== 157 | 158 | chalk@^2.0.0: 159 | version "2.4.2" 160 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 161 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 162 | dependencies: 163 | ansi-styles "^3.2.1" 164 | escape-string-regexp "^1.0.5" 165 | supports-color "^5.3.0" 166 | 167 | chalk@^4.1.2: 168 | version "4.1.2" 169 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 170 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 171 | dependencies: 172 | ansi-styles "^4.1.0" 173 | supports-color "^7.1.0" 174 | 175 | chokidar@^3.3.0, chokidar@^3.5.3: 176 | version "3.5.3" 177 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 178 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 179 | dependencies: 180 | anymatch "~3.1.2" 181 | braces "~3.0.2" 182 | glob-parent "~5.1.2" 183 | is-binary-path "~2.1.0" 184 | is-glob "~4.0.1" 185 | normalize-path "~3.0.0" 186 | readdirp "~3.6.0" 187 | optionalDependencies: 188 | fsevents "~2.3.2" 189 | 190 | cliui@^7.0.2: 191 | version "7.0.4" 192 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 193 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 194 | dependencies: 195 | string-width "^4.2.0" 196 | strip-ansi "^6.0.0" 197 | wrap-ansi "^7.0.0" 198 | 199 | color-convert@^1.9.0: 200 | version "1.9.3" 201 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 202 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 203 | dependencies: 204 | color-name "1.1.3" 205 | 206 | color-convert@^2.0.1: 207 | version "2.0.1" 208 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 209 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 210 | dependencies: 211 | color-name "~1.1.4" 212 | 213 | color-name@1.1.3: 214 | version "1.1.3" 215 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 216 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 217 | 218 | color-name@^1.1.4, color-name@~1.1.4: 219 | version "1.1.4" 220 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 221 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 222 | 223 | cosmiconfig@^7.0.1: 224 | version "7.0.1" 225 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" 226 | integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== 227 | dependencies: 228 | "@types/parse-json" "^4.0.0" 229 | import-fresh "^3.2.1" 230 | parse-json "^5.0.0" 231 | path-type "^4.0.0" 232 | yaml "^1.10.0" 233 | 234 | cssesc@^3.0.0: 235 | version "3.0.0" 236 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 237 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 238 | 239 | defined@^1.0.0: 240 | version "1.0.0" 241 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 242 | integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= 243 | 244 | dependency-graph@^0.11.0: 245 | version "0.11.0" 246 | resolved "https://registry.yarnpkg.com/dependency-graph/-/dependency-graph-0.11.0.tgz#ac0ce7ed68a54da22165a85e97a01d53f5eb2e27" 247 | integrity sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg== 248 | 249 | detective@^5.2.0: 250 | version "5.2.0" 251 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" 252 | integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== 253 | dependencies: 254 | acorn-node "^1.6.1" 255 | defined "^1.0.0" 256 | minimist "^1.1.1" 257 | 258 | didyoumean@^1.2.2: 259 | version "1.2.2" 260 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 261 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 262 | 263 | dir-glob@^3.0.1: 264 | version "3.0.1" 265 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 266 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 267 | dependencies: 268 | path-type "^4.0.0" 269 | 270 | dlv@^1.1.3: 271 | version "1.1.3" 272 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 273 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 274 | 275 | electron-to-chromium@^1.4.17: 276 | version "1.4.65" 277 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.65.tgz#c0820db06e268e0a2fd4dbce38fb5376d38ca449" 278 | integrity sha512-0/d8Skk8sW3FxXP0Dd6MnBlrwx7Qo9cqQec3BlIAlvKnrmS3pHsIbaroEi+nd0kZkGpQ6apMEre7xndzjlEnLw== 279 | 280 | emoji-regex@^8.0.0: 281 | version "8.0.0" 282 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 283 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 284 | 285 | error-ex@^1.3.1: 286 | version "1.3.2" 287 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 288 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 289 | dependencies: 290 | is-arrayish "^0.2.1" 291 | 292 | escalade@^3.1.1: 293 | version "3.1.1" 294 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 295 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 296 | 297 | escape-string-regexp@^1.0.5: 298 | version "1.0.5" 299 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 300 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 301 | 302 | fast-glob@^3.2.11, fast-glob@^3.2.7: 303 | version "3.2.11" 304 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 305 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 306 | dependencies: 307 | "@nodelib/fs.stat" "^2.0.2" 308 | "@nodelib/fs.walk" "^1.2.3" 309 | glob-parent "^5.1.2" 310 | merge2 "^1.3.0" 311 | micromatch "^4.0.4" 312 | 313 | fastq@^1.6.0: 314 | version "1.13.0" 315 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 316 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 317 | dependencies: 318 | reusify "^1.0.4" 319 | 320 | fill-range@^7.0.1: 321 | version "7.0.1" 322 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 323 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 324 | dependencies: 325 | to-regex-range "^5.0.1" 326 | 327 | fraction.js@^4.1.2: 328 | version "4.1.2" 329 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8" 330 | integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA== 331 | 332 | fs-extra@^10.0.0: 333 | version "10.0.0" 334 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" 335 | integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== 336 | dependencies: 337 | graceful-fs "^4.2.0" 338 | jsonfile "^6.0.1" 339 | universalify "^2.0.0" 340 | 341 | fsevents@~2.3.2: 342 | version "2.3.2" 343 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 344 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 345 | 346 | function-bind@^1.1.1: 347 | version "1.1.1" 348 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 349 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 350 | 351 | get-caller-file@^2.0.5: 352 | version "2.0.5" 353 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 354 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 355 | 356 | get-stdin@^9.0.0: 357 | version "9.0.0" 358 | resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-9.0.0.tgz#3983ff82e03d56f1b2ea0d3e60325f39d703a575" 359 | integrity sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA== 360 | 361 | glob-parent@^5.1.2, glob-parent@~5.1.2: 362 | version "5.1.2" 363 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 364 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 365 | dependencies: 366 | is-glob "^4.0.1" 367 | 368 | glob-parent@^6.0.2: 369 | version "6.0.2" 370 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 371 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 372 | dependencies: 373 | is-glob "^4.0.3" 374 | 375 | globby@^12.0.0: 376 | version "12.2.0" 377 | resolved "https://registry.yarnpkg.com/globby/-/globby-12.2.0.tgz#2ab8046b4fba4ff6eede835b29f678f90e3d3c22" 378 | integrity sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA== 379 | dependencies: 380 | array-union "^3.0.1" 381 | dir-glob "^3.0.1" 382 | fast-glob "^3.2.7" 383 | ignore "^5.1.9" 384 | merge2 "^1.4.1" 385 | slash "^4.0.0" 386 | 387 | graceful-fs@^4.1.6, graceful-fs@^4.2.0: 388 | version "4.2.9" 389 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" 390 | integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== 391 | 392 | has-flag@^3.0.0: 393 | version "3.0.0" 394 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 395 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 396 | 397 | has-flag@^4.0.0: 398 | version "4.0.0" 399 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 400 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 401 | 402 | has@^1.0.3: 403 | version "1.0.3" 404 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 405 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 406 | dependencies: 407 | function-bind "^1.1.1" 408 | 409 | ignore@^5.1.9: 410 | version "5.2.0" 411 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" 412 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 413 | 414 | import-fresh@^3.2.1: 415 | version "3.3.0" 416 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 417 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 418 | dependencies: 419 | parent-module "^1.0.0" 420 | resolve-from "^4.0.0" 421 | 422 | is-arrayish@^0.2.1: 423 | version "0.2.1" 424 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 425 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 426 | 427 | is-binary-path@~2.1.0: 428 | version "2.1.0" 429 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 430 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 431 | dependencies: 432 | binary-extensions "^2.0.0" 433 | 434 | is-core-module@^2.8.1: 435 | version "2.8.1" 436 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" 437 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== 438 | dependencies: 439 | has "^1.0.3" 440 | 441 | is-extglob@^2.1.1: 442 | version "2.1.1" 443 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 444 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 445 | 446 | is-fullwidth-code-point@^3.0.0: 447 | version "3.0.0" 448 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 449 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 450 | 451 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 452 | version "4.0.3" 453 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 454 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 455 | dependencies: 456 | is-extglob "^2.1.1" 457 | 458 | is-number@^7.0.0: 459 | version "7.0.0" 460 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 461 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 462 | 463 | js-tokens@^4.0.0: 464 | version "4.0.0" 465 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 466 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 467 | 468 | json-parse-even-better-errors@^2.3.0: 469 | version "2.3.1" 470 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 471 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 472 | 473 | jsonfile@^6.0.1: 474 | version "6.1.0" 475 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" 476 | integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== 477 | dependencies: 478 | universalify "^2.0.0" 479 | optionalDependencies: 480 | graceful-fs "^4.1.6" 481 | 482 | lilconfig@^2.0.4: 483 | version "2.0.4" 484 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" 485 | integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== 486 | 487 | lines-and-columns@^1.1.6: 488 | version "1.2.4" 489 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 490 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 491 | 492 | merge2@^1.3.0, merge2@^1.4.1: 493 | version "1.4.1" 494 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 495 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 496 | 497 | micromatch@^4.0.4: 498 | version "4.0.4" 499 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 500 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 501 | dependencies: 502 | braces "^3.0.1" 503 | picomatch "^2.2.3" 504 | 505 | minimist@^1.1.1: 506 | version "1.2.5" 507 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 508 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 509 | 510 | nanoid@^3.2.0: 511 | version "3.2.0" 512 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" 513 | integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== 514 | 515 | node-releases@^2.0.1: 516 | version "2.0.1" 517 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" 518 | integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== 519 | 520 | normalize-path@^3.0.0, normalize-path@~3.0.0: 521 | version "3.0.0" 522 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 523 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 524 | 525 | normalize-range@^0.1.2: 526 | version "0.1.2" 527 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 528 | integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= 529 | 530 | object-hash@^2.2.0: 531 | version "2.2.0" 532 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" 533 | integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== 534 | 535 | parent-module@^1.0.0: 536 | version "1.0.1" 537 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 538 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 539 | dependencies: 540 | callsites "^3.0.0" 541 | 542 | parse-json@^5.0.0: 543 | version "5.2.0" 544 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 545 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 546 | dependencies: 547 | "@babel/code-frame" "^7.0.0" 548 | error-ex "^1.3.1" 549 | json-parse-even-better-errors "^2.3.0" 550 | lines-and-columns "^1.1.6" 551 | 552 | path-parse@^1.0.7: 553 | version "1.0.7" 554 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 555 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 556 | 557 | path-type@^4.0.0: 558 | version "4.0.0" 559 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 560 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 561 | 562 | picocolors@^1.0.0: 563 | version "1.0.0" 564 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 565 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 566 | 567 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: 568 | version "2.3.1" 569 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 570 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 571 | 572 | pify@^2.3.0: 573 | version "2.3.0" 574 | resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" 575 | integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= 576 | 577 | postcss-cli@^9.1.0: 578 | version "9.1.0" 579 | resolved "https://registry.yarnpkg.com/postcss-cli/-/postcss-cli-9.1.0.tgz#1a86404cbe848e370127b4bdf5cd2be83bc45ebe" 580 | integrity sha512-zvDN2ADbWfza42sAnj+O2uUWyL0eRL1V+6giM2vi4SqTR3gTYy8XzcpfwccayF2szcUif0HMmXiEaDv9iEhcpw== 581 | dependencies: 582 | chokidar "^3.3.0" 583 | dependency-graph "^0.11.0" 584 | fs-extra "^10.0.0" 585 | get-stdin "^9.0.0" 586 | globby "^12.0.0" 587 | picocolors "^1.0.0" 588 | postcss-load-config "^3.0.0" 589 | postcss-reporter "^7.0.0" 590 | pretty-hrtime "^1.0.3" 591 | read-cache "^1.0.0" 592 | slash "^4.0.0" 593 | yargs "^17.0.0" 594 | 595 | postcss-js@^4.0.0: 596 | version "4.0.0" 597 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" 598 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 599 | dependencies: 600 | camelcase-css "^2.0.1" 601 | 602 | postcss-load-config@^3.0.0, postcss-load-config@^3.1.0: 603 | version "3.1.1" 604 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.1.tgz#2f53a17f2f543d9e63864460af42efdac0d41f87" 605 | integrity sha512-c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg== 606 | dependencies: 607 | lilconfig "^2.0.4" 608 | yaml "^1.10.2" 609 | 610 | postcss-nested@5.0.6: 611 | version "5.0.6" 612 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" 613 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== 614 | dependencies: 615 | postcss-selector-parser "^6.0.6" 616 | 617 | postcss-reporter@^7.0.0: 618 | version "7.0.5" 619 | resolved "https://registry.yarnpkg.com/postcss-reporter/-/postcss-reporter-7.0.5.tgz#e55bd0fdf8d17e4f25fb55e9143fcd79349a2ceb" 620 | integrity sha512-glWg7VZBilooZGOFPhN9msJ3FQs19Hie7l5a/eE6WglzYqVeH3ong3ShFcp9kDWJT1g2Y/wd59cocf9XxBtkWA== 621 | dependencies: 622 | picocolors "^1.0.0" 623 | thenby "^1.3.4" 624 | 625 | postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: 626 | version "6.0.9" 627 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" 628 | integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== 629 | dependencies: 630 | cssesc "^3.0.0" 631 | util-deprecate "^1.0.2" 632 | 633 | postcss-value-parser@^4.2.0: 634 | version "4.2.0" 635 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 636 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 637 | 638 | postcss@^8.4.6: 639 | version "8.4.6" 640 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" 641 | integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== 642 | dependencies: 643 | nanoid "^3.2.0" 644 | picocolors "^1.0.0" 645 | source-map-js "^1.0.2" 646 | 647 | prettier-plugin-tailwindcss@^0.1.5: 648 | version "0.1.5" 649 | resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.5.tgz#1709b4cea44873cbfefe9862f9f0827a51fe8cc3" 650 | integrity sha512-e+jTxwiHL4I3Ot8OjV1LAiiaAx0Zgy71xTL7xNmJtNmhpja7GKzFSAoulqBDS1D57B7lbZDCvDEKIWIQSBUmBQ== 651 | 652 | prettier@^2.5.1: 653 | version "2.5.1" 654 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" 655 | integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== 656 | 657 | pretty-hrtime@^1.0.3: 658 | version "1.0.3" 659 | resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" 660 | integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= 661 | 662 | queue-microtask@^1.2.2: 663 | version "1.2.3" 664 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 665 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 666 | 667 | quick-lru@^5.1.1: 668 | version "5.1.1" 669 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 670 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 671 | 672 | read-cache@^1.0.0: 673 | version "1.0.0" 674 | resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" 675 | integrity sha1-5mTvMRYRZsl1HNvo28+GtftY93Q= 676 | dependencies: 677 | pify "^2.3.0" 678 | 679 | readdirp@~3.6.0: 680 | version "3.6.0" 681 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 682 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 683 | dependencies: 684 | picomatch "^2.2.1" 685 | 686 | require-directory@^2.1.1: 687 | version "2.1.1" 688 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 689 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 690 | 691 | resolve-from@^4.0.0: 692 | version "4.0.0" 693 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 694 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 695 | 696 | resolve@^1.21.0: 697 | version "1.22.0" 698 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" 699 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== 700 | dependencies: 701 | is-core-module "^2.8.1" 702 | path-parse "^1.0.7" 703 | supports-preserve-symlinks-flag "^1.0.0" 704 | 705 | reusify@^1.0.4: 706 | version "1.0.4" 707 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 708 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 709 | 710 | run-parallel@^1.1.9: 711 | version "1.2.0" 712 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 713 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 714 | dependencies: 715 | queue-microtask "^1.2.2" 716 | 717 | slash@^4.0.0: 718 | version "4.0.0" 719 | resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" 720 | integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== 721 | 722 | source-map-js@^1.0.2: 723 | version "1.0.2" 724 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 725 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 726 | 727 | string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: 728 | version "4.2.3" 729 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 730 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 731 | dependencies: 732 | emoji-regex "^8.0.0" 733 | is-fullwidth-code-point "^3.0.0" 734 | strip-ansi "^6.0.1" 735 | 736 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 737 | version "6.0.1" 738 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 739 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 740 | dependencies: 741 | ansi-regex "^5.0.1" 742 | 743 | supports-color@^5.3.0: 744 | version "5.5.0" 745 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 746 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 747 | dependencies: 748 | has-flag "^3.0.0" 749 | 750 | supports-color@^7.1.0: 751 | version "7.2.0" 752 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 753 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 754 | dependencies: 755 | has-flag "^4.0.0" 756 | 757 | supports-preserve-symlinks-flag@^1.0.0: 758 | version "1.0.0" 759 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 760 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 761 | 762 | tailwindcss-container-query@^1.0.1: 763 | version "1.0.1" 764 | resolved "https://registry.yarnpkg.com/tailwindcss-container-query/-/tailwindcss-container-query-1.0.1.tgz#443225bd2546f8d9c3ac06e146577b7a0fa77511" 765 | integrity sha512-oDGiHaei22THwvlWIFcdDDSnxn26MFdQMMc3Nx0rDGj6j8nLussXEDOZPUS/qrigClGuAEXBdOgmjyN3bg69Hw== 766 | 767 | tailwindcss@^3.0.18: 768 | version "3.0.18" 769 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.18.tgz#ea4825e6496d77dc21877b6b61c7cc56cda3add5" 770 | integrity sha512-ihPTpEyA5ANgZbwKlgrbfnzOp9R5vDHFWmqxB1PT8NwOGCOFVVMl+Ps1cQQ369acaqqf1BEF77roCwK0lvNmTw== 771 | dependencies: 772 | arg "^5.0.1" 773 | chalk "^4.1.2" 774 | chokidar "^3.5.3" 775 | color-name "^1.1.4" 776 | cosmiconfig "^7.0.1" 777 | detective "^5.2.0" 778 | didyoumean "^1.2.2" 779 | dlv "^1.1.3" 780 | fast-glob "^3.2.11" 781 | glob-parent "^6.0.2" 782 | is-glob "^4.0.3" 783 | normalize-path "^3.0.0" 784 | object-hash "^2.2.0" 785 | postcss-js "^4.0.0" 786 | postcss-load-config "^3.1.0" 787 | postcss-nested "5.0.6" 788 | postcss-selector-parser "^6.0.9" 789 | postcss-value-parser "^4.2.0" 790 | quick-lru "^5.1.1" 791 | resolve "^1.21.0" 792 | 793 | thenby@^1.3.4: 794 | version "1.3.4" 795 | resolved "https://registry.yarnpkg.com/thenby/-/thenby-1.3.4.tgz#81581f6e1bb324c6dedeae9bfc28e59b1a2201cc" 796 | integrity sha512-89Gi5raiWA3QZ4b2ePcEwswC3me9JIg+ToSgtE0JWeCynLnLxNr/f9G+xfo9K+Oj4AFdom8YNJjibIARTJmapQ== 797 | 798 | to-regex-range@^5.0.1: 799 | version "5.0.1" 800 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 801 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 802 | dependencies: 803 | is-number "^7.0.0" 804 | 805 | universalify@^2.0.0: 806 | version "2.0.0" 807 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" 808 | integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== 809 | 810 | util-deprecate@^1.0.2: 811 | version "1.0.2" 812 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 813 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 814 | 815 | wrap-ansi@^7.0.0: 816 | version "7.0.0" 817 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 818 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 819 | dependencies: 820 | ansi-styles "^4.0.0" 821 | string-width "^4.1.0" 822 | strip-ansi "^6.0.0" 823 | 824 | xtend@^4.0.2: 825 | version "4.0.2" 826 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 827 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 828 | 829 | y18n@^5.0.5: 830 | version "5.0.8" 831 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 832 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 833 | 834 | yaml@^1.10.0, yaml@^1.10.2: 835 | version "1.10.2" 836 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 837 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 838 | 839 | yargs-parser@^21.0.0: 840 | version "21.0.0" 841 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" 842 | integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== 843 | 844 | yargs@^17.0.0: 845 | version "17.3.1" 846 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.1.tgz#da56b28f32e2fd45aefb402ed9c26f42be4c07b9" 847 | integrity sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== 848 | dependencies: 849 | cliui "^7.0.2" 850 | escalade "^3.1.1" 851 | get-caller-file "^2.0.5" 852 | require-directory "^2.1.1" 853 | string-width "^4.2.3" 854 | y18n "^5.0.5" 855 | yargs-parser "^21.0.0" 856 | -------------------------------------------------------------------------------- /examples/nextjs/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | .pnpm-debug.log* 27 | 28 | # local env files 29 | .env.local 30 | .env.development.local 31 | .env.test.local 32 | .env.production.local 33 | 34 | # vercel 35 | .vercel 36 | -------------------------------------------------------------------------------- /examples/nextjs/README.md: -------------------------------------------------------------------------------- 1 | # tailwindcss-container-query Example With NextJS 2 | 3 | ## Launch Project 4 | 5 | First, make sure you have [yarn](https://yarnpkg.com/getting-started/install) installed. Then run: 6 | 7 | - `yarn` to install dependencies 8 | - `yarn dev` to launch the project 9 | - Open `localhost:3000` 10 | -------------------------------------------------------------------------------- /examples/nextjs/next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | } 5 | 6 | module.exports = nextConfig 7 | -------------------------------------------------------------------------------- /examples/nextjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "container-query-next-example", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start", 9 | "lint": "next lint" 10 | }, 11 | "dependencies": { 12 | "container-query-polyfill": "^0.1.2", 13 | "next": "12.1.0", 14 | "react": "17.0.2", 15 | "react-dom": "17.0.2" 16 | }, 17 | "devDependencies": { 18 | "autoprefixer": "^10.4.2", 19 | "postcss": "^8.4.7", 20 | "tailwindcss": "^3.0.23", 21 | "tailwindcss-container-query": "^1.0.1" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /examples/nextjs/pages/_app.js: -------------------------------------------------------------------------------- 1 | import '../styles/global.css' 2 | 3 | if (typeof window !== 'undefined') { 4 | const supportsContainerQueries = "container" in document.documentElement.style; 5 | if (!supportsContainerQueries) { 6 | import("container-query-polyfill") 7 | } 8 | } 9 | 10 | function MyApp({ Component, pageProps }) { 11 | return 12 | } 13 | 14 | export default MyApp 15 | -------------------------------------------------------------------------------- /examples/nextjs/pages/index.js: -------------------------------------------------------------------------------- 1 | export default function Home() { 2 | return ( 3 |
4 |
5 |
6 |
Resize the container
7 | 8 |
9 |
10 |
11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /examples/nextjs/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | 'tailwindcss/nesting': {}, 4 | tailwindcss: {}, 5 | autoprefixer: {}, 6 | }, 7 | }; -------------------------------------------------------------------------------- /examples/nextjs/styles/global.css: -------------------------------------------------------------------------------- 1 | @import 'tailwindcss/base'; 2 | @import 'tailwindcss/components'; 3 | @import 'tailwindcss/utilities'; -------------------------------------------------------------------------------- /examples/nextjs/tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: [ 3 | "./pages/**/*.{js,ts,jsx,tsx}", 4 | "./components/**/*.{js,ts,jsx,tsx}", 5 | ], 6 | theme: { 7 | extend: {}, 8 | }, 9 | plugins: [ 10 | require('tailwindcss-container-query'), 11 | ], 12 | } -------------------------------------------------------------------------------- /examples/nextjs/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0": 6 | version "7.16.7" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" 8 | integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== 9 | dependencies: 10 | "@babel/highlight" "^7.16.7" 11 | 12 | "@babel/helper-validator-identifier@^7.16.7": 13 | version "7.16.7" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" 15 | integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== 16 | 17 | "@babel/highlight@^7.16.7": 18 | version "7.16.10" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" 20 | integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.16.7" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@next/env@12.1.0": 27 | version "12.1.0" 28 | resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.0.tgz#73713399399b34aa5a01771fb73272b55b22c314" 29 | integrity sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ== 30 | 31 | "@next/swc-android-arm64@12.1.0": 32 | version "12.1.0" 33 | resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.0.tgz#865ba3a9afc204ff2bdeea49dd64d58705007a39" 34 | integrity sha512-/280MLdZe0W03stA69iL+v6I+J1ascrQ6FrXBlXGCsGzrfMaGr7fskMa0T5AhQIVQD4nA/46QQWxG//DYuFBcA== 35 | 36 | "@next/swc-darwin-arm64@12.1.0": 37 | version "12.1.0" 38 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz#08e8b411b8accd095009ed12efbc2f1d4d547135" 39 | integrity sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg== 40 | 41 | "@next/swc-darwin-x64@12.1.0": 42 | version "12.1.0" 43 | resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.0.tgz#fcd684497a76e8feaca88db3c394480ff0b007cd" 44 | integrity sha512-ieAz0/J0PhmbZBB8+EA/JGdhRHBogF8BWaeqR7hwveb6SYEIJaDNQy0I+ZN8gF8hLj63bEDxJAs/cEhdnTq+ug== 45 | 46 | "@next/swc-linux-arm-gnueabihf@12.1.0": 47 | version "12.1.0" 48 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.0.tgz#9ec6380a27938a5799aaa6035c205b3c478468a7" 49 | integrity sha512-njUd9hpl6o6A5d08dC0cKAgXKCzm5fFtgGe6i0eko8IAdtAPbtHxtpre3VeSxdZvuGFh+hb0REySQP9T1ttkog== 50 | 51 | "@next/swc-linux-arm64-gnu@12.1.0": 52 | version "12.1.0" 53 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.0.tgz#7f4196dff1049cea479607c75b81033ae2dbd093" 54 | integrity sha512-OqangJLkRxVxMhDtcb7Qn1xjzFA3s50EIxY7mljbSCLybU+sByPaWAHY4px97ieOlr2y4S0xdPKkQ3BCAwyo6Q== 55 | 56 | "@next/swc-linux-arm64-musl@12.1.0": 57 | version "12.1.0" 58 | resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.0.tgz#b445f767569cdc2dddee785ca495e1a88c025566" 59 | integrity sha512-hB8cLSt4GdmOpcwRe2UzI5UWn6HHO/vLkr5OTuNvCJ5xGDwpPXelVkYW/0+C3g5axbDW2Tym4S+MQCkkH9QfWA== 60 | 61 | "@next/swc-linux-x64-gnu@12.1.0": 62 | version "12.1.0" 63 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.0.tgz#67610e9be4fbc987de7535f1bcb17e45fe12f90e" 64 | integrity sha512-OKO4R/digvrVuweSw/uBM4nSdyzsBV5EwkUeeG4KVpkIZEe64ZwRpnFB65bC6hGwxIBnTv5NMSnJ+0K/WmG78A== 65 | 66 | "@next/swc-linux-x64-musl@12.1.0": 67 | version "12.1.0" 68 | resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.0.tgz#ea19a23db08a9f2e34ac30401f774cf7d1669d31" 69 | integrity sha512-JohhgAHZvOD3rQY7tlp7NlmvtvYHBYgY0x5ZCecUT6eCCcl9lv6iV3nfu82ErkxNk1H893fqH0FUpznZ/H3pSw== 70 | 71 | "@next/swc-win32-arm64-msvc@12.1.0": 72 | version "12.1.0" 73 | resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.0.tgz#eadf054fc412085659b98e145435bbba200b5283" 74 | integrity sha512-T/3gIE6QEfKIJ4dmJk75v9hhNiYZhQYAoYm4iVo1TgcsuaKLFa+zMPh4056AHiG6n9tn2UQ1CFE8EoybEsqsSw== 75 | 76 | "@next/swc-win32-ia32-msvc@12.1.0": 77 | version "12.1.0" 78 | resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.0.tgz#68faeae10c89f698bf9d28759172b74c9c21bda1" 79 | integrity sha512-iwnKgHJdqhIW19H9PRPM9j55V6RdcOo6rX+5imx832BCWzkDbyomWnlzBfr6ByUYfhohb8QuH4hSGEikpPqI0Q== 80 | 81 | "@next/swc-win32-x64-msvc@12.1.0": 82 | version "12.1.0" 83 | resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.0.tgz#d27e7e76c87a460a4da99c5bfdb1618dcd6cd064" 84 | integrity sha512-aBvcbMwuanDH4EMrL2TthNJy+4nP59Bimn8egqv6GHMVj0a44cU6Au4PjOhLNqEh9l+IpRGBqMTzec94UdC5xg== 85 | 86 | "@nodelib/fs.scandir@2.1.5": 87 | version "2.1.5" 88 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 89 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 90 | dependencies: 91 | "@nodelib/fs.stat" "2.0.5" 92 | run-parallel "^1.1.9" 93 | 94 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 95 | version "2.0.5" 96 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 97 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 98 | 99 | "@nodelib/fs.walk@^1.2.3": 100 | version "1.2.8" 101 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 102 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 103 | dependencies: 104 | "@nodelib/fs.scandir" "2.1.5" 105 | fastq "^1.6.0" 106 | 107 | "@types/parse-json@^4.0.0": 108 | version "4.0.0" 109 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" 110 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 111 | 112 | acorn-node@^1.6.1: 113 | version "1.8.2" 114 | resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" 115 | integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== 116 | dependencies: 117 | acorn "^7.0.0" 118 | acorn-walk "^7.0.0" 119 | xtend "^4.0.2" 120 | 121 | acorn-walk@^7.0.0: 122 | version "7.2.0" 123 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 124 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 125 | 126 | acorn@^7.0.0: 127 | version "7.4.1" 128 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 129 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 130 | 131 | ansi-styles@^3.2.1: 132 | version "3.2.1" 133 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 134 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 135 | dependencies: 136 | color-convert "^1.9.0" 137 | 138 | ansi-styles@^4.1.0: 139 | version "4.3.0" 140 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 141 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 142 | dependencies: 143 | color-convert "^2.0.1" 144 | 145 | anymatch@~3.1.2: 146 | version "3.1.2" 147 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 148 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 149 | dependencies: 150 | normalize-path "^3.0.0" 151 | picomatch "^2.0.4" 152 | 153 | arg@^5.0.1: 154 | version "5.0.1" 155 | resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" 156 | integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== 157 | 158 | autoprefixer@^10.4.2: 159 | version "10.4.2" 160 | resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" 161 | integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== 162 | dependencies: 163 | browserslist "^4.19.1" 164 | caniuse-lite "^1.0.30001297" 165 | fraction.js "^4.1.2" 166 | normalize-range "^0.1.2" 167 | picocolors "^1.0.0" 168 | postcss-value-parser "^4.2.0" 169 | 170 | binary-extensions@^2.0.0: 171 | version "2.2.0" 172 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 173 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 174 | 175 | braces@^3.0.1, braces@~3.0.2: 176 | version "3.0.2" 177 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 178 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 179 | dependencies: 180 | fill-range "^7.0.1" 181 | 182 | browserslist@^4.19.1: 183 | version "4.19.3" 184 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.3.tgz#29b7caad327ecf2859485f696f9604214bedd383" 185 | integrity sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg== 186 | dependencies: 187 | caniuse-lite "^1.0.30001312" 188 | electron-to-chromium "^1.4.71" 189 | escalade "^3.1.1" 190 | node-releases "^2.0.2" 191 | picocolors "^1.0.0" 192 | 193 | callsites@^3.0.0: 194 | version "3.1.0" 195 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 196 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 197 | 198 | camelcase-css@^2.0.1: 199 | version "2.0.1" 200 | resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" 201 | integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== 202 | 203 | caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001297, caniuse-lite@^1.0.30001312: 204 | version "1.0.30001312" 205 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz#e11eba4b87e24d22697dae05455d5aea28550d5f" 206 | integrity sha512-Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ== 207 | 208 | chalk@^2.0.0: 209 | version "2.4.2" 210 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 211 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 212 | dependencies: 213 | ansi-styles "^3.2.1" 214 | escape-string-regexp "^1.0.5" 215 | supports-color "^5.3.0" 216 | 217 | chalk@^4.1.2: 218 | version "4.1.2" 219 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 220 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 221 | dependencies: 222 | ansi-styles "^4.1.0" 223 | supports-color "^7.1.0" 224 | 225 | chokidar@^3.5.3: 226 | version "3.5.3" 227 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 228 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 229 | dependencies: 230 | anymatch "~3.1.2" 231 | braces "~3.0.2" 232 | glob-parent "~5.1.2" 233 | is-binary-path "~2.1.0" 234 | is-glob "~4.0.1" 235 | normalize-path "~3.0.0" 236 | readdirp "~3.6.0" 237 | optionalDependencies: 238 | fsevents "~2.3.2" 239 | 240 | color-convert@^1.9.0: 241 | version "1.9.3" 242 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 243 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 244 | dependencies: 245 | color-name "1.1.3" 246 | 247 | color-convert@^2.0.1: 248 | version "2.0.1" 249 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 250 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 251 | dependencies: 252 | color-name "~1.1.4" 253 | 254 | color-name@1.1.3: 255 | version "1.1.3" 256 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 257 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 258 | 259 | color-name@^1.1.4, color-name@~1.1.4: 260 | version "1.1.4" 261 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 262 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 263 | 264 | container-query-polyfill@^0.1.2: 265 | version "0.1.2" 266 | resolved "https://registry.yarnpkg.com/container-query-polyfill/-/container-query-polyfill-0.1.2.tgz#14d15c0c996cbfaa2bb4c879ad4dfd428ba1ad9e" 267 | integrity sha512-ykkTgn/aIetWwjup4HVToXYU/c/VWtAJYw3Gp9jHWqCkCycpjZDv5FIBkad+9AmrASmj3awIwD9CfuvdPdfuPw== 268 | dependencies: 269 | esbuild "^0.13.13" 270 | 271 | cosmiconfig@^7.0.1: 272 | version "7.0.1" 273 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" 274 | integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== 275 | dependencies: 276 | "@types/parse-json" "^4.0.0" 277 | import-fresh "^3.2.1" 278 | parse-json "^5.0.0" 279 | path-type "^4.0.0" 280 | yaml "^1.10.0" 281 | 282 | cssesc@^3.0.0: 283 | version "3.0.0" 284 | resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" 285 | integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== 286 | 287 | defined@^1.0.0: 288 | version "1.0.0" 289 | resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" 290 | integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= 291 | 292 | detective@^5.2.0: 293 | version "5.2.0" 294 | resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" 295 | integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== 296 | dependencies: 297 | acorn-node "^1.6.1" 298 | defined "^1.0.0" 299 | minimist "^1.1.1" 300 | 301 | didyoumean@^1.2.2: 302 | version "1.2.2" 303 | resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" 304 | integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== 305 | 306 | dlv@^1.1.3: 307 | version "1.1.3" 308 | resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" 309 | integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== 310 | 311 | electron-to-chromium@^1.4.71: 312 | version "1.4.73" 313 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.73.tgz#422f6f514315bcace9615903e4a9b6b9fa283137" 314 | integrity sha512-RlCffXkE/LliqfA5m29+dVDPB2r72y2D2egMMfIy3Le8ODrxjuZNVo4NIC2yPL01N4xb4nZQLwzi6Z5tGIGLnA== 315 | 316 | error-ex@^1.3.1: 317 | version "1.3.2" 318 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 319 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 320 | dependencies: 321 | is-arrayish "^0.2.1" 322 | 323 | esbuild-android-arm64@0.13.15: 324 | version "0.13.15" 325 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz#3fc3ff0bab76fe35dd237476b5d2b32bb20a3d44" 326 | integrity sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg== 327 | 328 | esbuild-darwin-64@0.13.15: 329 | version "0.13.15" 330 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz#8e9169c16baf444eacec60d09b24d11b255a8e72" 331 | integrity sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ== 332 | 333 | esbuild-darwin-arm64@0.13.15: 334 | version "0.13.15" 335 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz#1b07f893b632114f805e188ddfca41b2b778229a" 336 | integrity sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ== 337 | 338 | esbuild-freebsd-64@0.13.15: 339 | version "0.13.15" 340 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz#0b8b7eca1690c8ec94c75680c38c07269c1f4a85" 341 | integrity sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA== 342 | 343 | esbuild-freebsd-arm64@0.13.15: 344 | version "0.13.15" 345 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz#2e1a6c696bfdcd20a99578b76350b41db1934e52" 346 | integrity sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ== 347 | 348 | esbuild-linux-32@0.13.15: 349 | version "0.13.15" 350 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz#6fd39f36fc66dd45b6b5f515728c7bbebc342a69" 351 | integrity sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g== 352 | 353 | esbuild-linux-64@0.13.15: 354 | version "0.13.15" 355 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz#9cb8e4bcd7574e67946e4ee5f1f1e12386bb6dd3" 356 | integrity sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA== 357 | 358 | esbuild-linux-arm64@0.13.15: 359 | version "0.13.15" 360 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz#3891aa3704ec579a1b92d2a586122e5b6a2bfba1" 361 | integrity sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA== 362 | 363 | esbuild-linux-arm@0.13.15: 364 | version "0.13.15" 365 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz#8a00e99e6a0c6c9a6b7f334841364d8a2b4aecfe" 366 | integrity sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA== 367 | 368 | esbuild-linux-mips64le@0.13.15: 369 | version "0.13.15" 370 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz#36b07cc47c3d21e48db3bb1f4d9ef8f46aead4f7" 371 | integrity sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg== 372 | 373 | esbuild-linux-ppc64le@0.13.15: 374 | version "0.13.15" 375 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz#f7e6bba40b9a11eb9dcae5b01550ea04670edad2" 376 | integrity sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ== 377 | 378 | esbuild-netbsd-64@0.13.15: 379 | version "0.13.15" 380 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz#a2fedc549c2b629d580a732d840712b08d440038" 381 | integrity sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w== 382 | 383 | esbuild-openbsd-64@0.13.15: 384 | version "0.13.15" 385 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz#b22c0e5806d3a1fbf0325872037f885306b05cd7" 386 | integrity sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g== 387 | 388 | esbuild-sunos-64@0.13.15: 389 | version "0.13.15" 390 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz#d0b6454a88375ee8d3964daeff55c85c91c7cef4" 391 | integrity sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw== 392 | 393 | esbuild-windows-32@0.13.15: 394 | version "0.13.15" 395 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz#c96d0b9bbb52f3303322582ef8e4847c5ad375a7" 396 | integrity sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw== 397 | 398 | esbuild-windows-64@0.13.15: 399 | version "0.13.15" 400 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz#1f79cb9b1e1bb02fb25cd414cb90d4ea2892c294" 401 | integrity sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ== 402 | 403 | esbuild-windows-arm64@0.13.15: 404 | version "0.13.15" 405 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz#482173070810df22a752c686509c370c3be3b3c3" 406 | integrity sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA== 407 | 408 | esbuild@^0.13.13: 409 | version "0.13.15" 410 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.15.tgz#db56a88166ee373f87dbb2d8798ff449e0450cdf" 411 | integrity sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw== 412 | optionalDependencies: 413 | esbuild-android-arm64 "0.13.15" 414 | esbuild-darwin-64 "0.13.15" 415 | esbuild-darwin-arm64 "0.13.15" 416 | esbuild-freebsd-64 "0.13.15" 417 | esbuild-freebsd-arm64 "0.13.15" 418 | esbuild-linux-32 "0.13.15" 419 | esbuild-linux-64 "0.13.15" 420 | esbuild-linux-arm "0.13.15" 421 | esbuild-linux-arm64 "0.13.15" 422 | esbuild-linux-mips64le "0.13.15" 423 | esbuild-linux-ppc64le "0.13.15" 424 | esbuild-netbsd-64 "0.13.15" 425 | esbuild-openbsd-64 "0.13.15" 426 | esbuild-sunos-64 "0.13.15" 427 | esbuild-windows-32 "0.13.15" 428 | esbuild-windows-64 "0.13.15" 429 | esbuild-windows-arm64 "0.13.15" 430 | 431 | escalade@^3.1.1: 432 | version "3.1.1" 433 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 434 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 435 | 436 | escape-string-regexp@^1.0.5: 437 | version "1.0.5" 438 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 439 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 440 | 441 | fast-glob@^3.2.11: 442 | version "3.2.11" 443 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 444 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 445 | dependencies: 446 | "@nodelib/fs.stat" "^2.0.2" 447 | "@nodelib/fs.walk" "^1.2.3" 448 | glob-parent "^5.1.2" 449 | merge2 "^1.3.0" 450 | micromatch "^4.0.4" 451 | 452 | fastq@^1.6.0: 453 | version "1.13.0" 454 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 455 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 456 | dependencies: 457 | reusify "^1.0.4" 458 | 459 | fill-range@^7.0.1: 460 | version "7.0.1" 461 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 462 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 463 | dependencies: 464 | to-regex-range "^5.0.1" 465 | 466 | fraction.js@^4.1.2: 467 | version "4.1.3" 468 | resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.3.tgz#be65b0f20762ef27e1e793860bc2dfb716e99e65" 469 | integrity sha512-pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg== 470 | 471 | fsevents@~2.3.2: 472 | version "2.3.2" 473 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 474 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 475 | 476 | function-bind@^1.1.1: 477 | version "1.1.1" 478 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 479 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 480 | 481 | glob-parent@^5.1.2, glob-parent@~5.1.2: 482 | version "5.1.2" 483 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 484 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 485 | dependencies: 486 | is-glob "^4.0.1" 487 | 488 | glob-parent@^6.0.2: 489 | version "6.0.2" 490 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 491 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 492 | dependencies: 493 | is-glob "^4.0.3" 494 | 495 | has-flag@^3.0.0: 496 | version "3.0.0" 497 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 498 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 499 | 500 | has-flag@^4.0.0: 501 | version "4.0.0" 502 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 503 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 504 | 505 | has@^1.0.3: 506 | version "1.0.3" 507 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 508 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 509 | dependencies: 510 | function-bind "^1.1.1" 511 | 512 | import-fresh@^3.2.1: 513 | version "3.3.0" 514 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 515 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 516 | dependencies: 517 | parent-module "^1.0.0" 518 | resolve-from "^4.0.0" 519 | 520 | is-arrayish@^0.2.1: 521 | version "0.2.1" 522 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 523 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 524 | 525 | is-binary-path@~2.1.0: 526 | version "2.1.0" 527 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 528 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 529 | dependencies: 530 | binary-extensions "^2.0.0" 531 | 532 | is-core-module@^2.8.1: 533 | version "2.8.1" 534 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" 535 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== 536 | dependencies: 537 | has "^1.0.3" 538 | 539 | is-extglob@^2.1.1: 540 | version "2.1.1" 541 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 542 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 543 | 544 | is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: 545 | version "4.0.3" 546 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 547 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 548 | dependencies: 549 | is-extglob "^2.1.1" 550 | 551 | is-number@^7.0.0: 552 | version "7.0.0" 553 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 554 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 555 | 556 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 557 | version "4.0.0" 558 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 559 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 560 | 561 | json-parse-even-better-errors@^2.3.0: 562 | version "2.3.1" 563 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 564 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 565 | 566 | lilconfig@^2.0.4: 567 | version "2.0.4" 568 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" 569 | integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== 570 | 571 | lines-and-columns@^1.1.6: 572 | version "1.2.4" 573 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 574 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 575 | 576 | loose-envify@^1.1.0: 577 | version "1.4.0" 578 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 579 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 580 | dependencies: 581 | js-tokens "^3.0.0 || ^4.0.0" 582 | 583 | merge2@^1.3.0: 584 | version "1.4.1" 585 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 586 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 587 | 588 | micromatch@^4.0.4: 589 | version "4.0.4" 590 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 591 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 592 | dependencies: 593 | braces "^3.0.1" 594 | picomatch "^2.2.3" 595 | 596 | minimist@^1.1.1: 597 | version "1.2.5" 598 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 599 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 600 | 601 | nanoid@^3.1.30, nanoid@^3.3.1: 602 | version "3.3.1" 603 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" 604 | integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== 605 | 606 | next@12.1.0: 607 | version "12.1.0" 608 | resolved "https://registry.yarnpkg.com/next/-/next-12.1.0.tgz#c33d753b644be92fc58e06e5a214f143da61dd5d" 609 | integrity sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q== 610 | dependencies: 611 | "@next/env" "12.1.0" 612 | caniuse-lite "^1.0.30001283" 613 | postcss "8.4.5" 614 | styled-jsx "5.0.0" 615 | use-subscription "1.5.1" 616 | optionalDependencies: 617 | "@next/swc-android-arm64" "12.1.0" 618 | "@next/swc-darwin-arm64" "12.1.0" 619 | "@next/swc-darwin-x64" "12.1.0" 620 | "@next/swc-linux-arm-gnueabihf" "12.1.0" 621 | "@next/swc-linux-arm64-gnu" "12.1.0" 622 | "@next/swc-linux-arm64-musl" "12.1.0" 623 | "@next/swc-linux-x64-gnu" "12.1.0" 624 | "@next/swc-linux-x64-musl" "12.1.0" 625 | "@next/swc-win32-arm64-msvc" "12.1.0" 626 | "@next/swc-win32-ia32-msvc" "12.1.0" 627 | "@next/swc-win32-x64-msvc" "12.1.0" 628 | 629 | node-releases@^2.0.2: 630 | version "2.0.2" 631 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01" 632 | integrity sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg== 633 | 634 | normalize-path@^3.0.0, normalize-path@~3.0.0: 635 | version "3.0.0" 636 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 637 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 638 | 639 | normalize-range@^0.1.2: 640 | version "0.1.2" 641 | resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" 642 | integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= 643 | 644 | object-assign@^4.1.1: 645 | version "4.1.1" 646 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 647 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 648 | 649 | object-hash@^2.2.0: 650 | version "2.2.0" 651 | resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" 652 | integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== 653 | 654 | parent-module@^1.0.0: 655 | version "1.0.1" 656 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 657 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 658 | dependencies: 659 | callsites "^3.0.0" 660 | 661 | parse-json@^5.0.0: 662 | version "5.2.0" 663 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 664 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 665 | dependencies: 666 | "@babel/code-frame" "^7.0.0" 667 | error-ex "^1.3.1" 668 | json-parse-even-better-errors "^2.3.0" 669 | lines-and-columns "^1.1.6" 670 | 671 | path-parse@^1.0.7: 672 | version "1.0.7" 673 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 674 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 675 | 676 | path-type@^4.0.0: 677 | version "4.0.0" 678 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 679 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 680 | 681 | picocolors@^1.0.0: 682 | version "1.0.0" 683 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 684 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 685 | 686 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: 687 | version "2.3.1" 688 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 689 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 690 | 691 | postcss-js@^4.0.0: 692 | version "4.0.0" 693 | resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" 694 | integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== 695 | dependencies: 696 | camelcase-css "^2.0.1" 697 | 698 | postcss-load-config@^3.1.0: 699 | version "3.1.3" 700 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.3.tgz#21935b2c43b9a86e6581a576ca7ee1bde2bd1d23" 701 | integrity sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw== 702 | dependencies: 703 | lilconfig "^2.0.4" 704 | yaml "^1.10.2" 705 | 706 | postcss-nested@5.0.6: 707 | version "5.0.6" 708 | resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" 709 | integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== 710 | dependencies: 711 | postcss-selector-parser "^6.0.6" 712 | 713 | postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: 714 | version "6.0.9" 715 | resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" 716 | integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== 717 | dependencies: 718 | cssesc "^3.0.0" 719 | util-deprecate "^1.0.2" 720 | 721 | postcss-value-parser@^4.2.0: 722 | version "4.2.0" 723 | resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" 724 | integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== 725 | 726 | postcss@8.4.5: 727 | version "8.4.5" 728 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" 729 | integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== 730 | dependencies: 731 | nanoid "^3.1.30" 732 | picocolors "^1.0.0" 733 | source-map-js "^1.0.1" 734 | 735 | postcss@^8.4.6, postcss@^8.4.7: 736 | version "8.4.7" 737 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" 738 | integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== 739 | dependencies: 740 | nanoid "^3.3.1" 741 | picocolors "^1.0.0" 742 | source-map-js "^1.0.2" 743 | 744 | queue-microtask@^1.2.2: 745 | version "1.2.3" 746 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 747 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 748 | 749 | quick-lru@^5.1.1: 750 | version "5.1.1" 751 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 752 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 753 | 754 | react-dom@17.0.2: 755 | version "17.0.2" 756 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" 757 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== 758 | dependencies: 759 | loose-envify "^1.1.0" 760 | object-assign "^4.1.1" 761 | scheduler "^0.20.2" 762 | 763 | react@17.0.2: 764 | version "17.0.2" 765 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 766 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 767 | dependencies: 768 | loose-envify "^1.1.0" 769 | object-assign "^4.1.1" 770 | 771 | readdirp@~3.6.0: 772 | version "3.6.0" 773 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 774 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 775 | dependencies: 776 | picomatch "^2.2.1" 777 | 778 | resolve-from@^4.0.0: 779 | version "4.0.0" 780 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 781 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 782 | 783 | resolve@^1.22.0: 784 | version "1.22.0" 785 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" 786 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== 787 | dependencies: 788 | is-core-module "^2.8.1" 789 | path-parse "^1.0.7" 790 | supports-preserve-symlinks-flag "^1.0.0" 791 | 792 | reusify@^1.0.4: 793 | version "1.0.4" 794 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 795 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 796 | 797 | run-parallel@^1.1.9: 798 | version "1.2.0" 799 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 800 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 801 | dependencies: 802 | queue-microtask "^1.2.2" 803 | 804 | scheduler@^0.20.2: 805 | version "0.20.2" 806 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 807 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== 808 | dependencies: 809 | loose-envify "^1.1.0" 810 | object-assign "^4.1.1" 811 | 812 | source-map-js@^1.0.1, source-map-js@^1.0.2: 813 | version "1.0.2" 814 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 815 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 816 | 817 | styled-jsx@5.0.0: 818 | version "5.0.0" 819 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77" 820 | integrity sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA== 821 | 822 | supports-color@^5.3.0: 823 | version "5.5.0" 824 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 825 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 826 | dependencies: 827 | has-flag "^3.0.0" 828 | 829 | supports-color@^7.1.0: 830 | version "7.2.0" 831 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 832 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 833 | dependencies: 834 | has-flag "^4.0.0" 835 | 836 | supports-preserve-symlinks-flag@^1.0.0: 837 | version "1.0.0" 838 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 839 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 840 | 841 | tailwindcss-container-query@^1.0.1: 842 | version "1.0.1" 843 | resolved "https://registry.yarnpkg.com/tailwindcss-container-query/-/tailwindcss-container-query-1.0.1.tgz#443225bd2546f8d9c3ac06e146577b7a0fa77511" 844 | integrity sha512-oDGiHaei22THwvlWIFcdDDSnxn26MFdQMMc3Nx0rDGj6j8nLussXEDOZPUS/qrigClGuAEXBdOgmjyN3bg69Hw== 845 | 846 | tailwindcss@^3.0.23: 847 | version "3.0.23" 848 | resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.23.tgz#c620521d53a289650872a66adfcb4129d2200d10" 849 | integrity sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA== 850 | dependencies: 851 | arg "^5.0.1" 852 | chalk "^4.1.2" 853 | chokidar "^3.5.3" 854 | color-name "^1.1.4" 855 | cosmiconfig "^7.0.1" 856 | detective "^5.2.0" 857 | didyoumean "^1.2.2" 858 | dlv "^1.1.3" 859 | fast-glob "^3.2.11" 860 | glob-parent "^6.0.2" 861 | is-glob "^4.0.3" 862 | normalize-path "^3.0.0" 863 | object-hash "^2.2.0" 864 | postcss "^8.4.6" 865 | postcss-js "^4.0.0" 866 | postcss-load-config "^3.1.0" 867 | postcss-nested "5.0.6" 868 | postcss-selector-parser "^6.0.9" 869 | postcss-value-parser "^4.2.0" 870 | quick-lru "^5.1.1" 871 | resolve "^1.22.0" 872 | 873 | to-regex-range@^5.0.1: 874 | version "5.0.1" 875 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 876 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 877 | dependencies: 878 | is-number "^7.0.0" 879 | 880 | use-subscription@1.5.1: 881 | version "1.5.1" 882 | resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" 883 | integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== 884 | dependencies: 885 | object-assign "^4.1.1" 886 | 887 | util-deprecate@^1.0.2: 888 | version "1.0.2" 889 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 890 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 891 | 892 | xtend@^4.0.2: 893 | version "4.0.2" 894 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 895 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 896 | 897 | yaml@^1.10.0, yaml@^1.10.2: 898 | version "1.10.2" 899 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 900 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 901 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwindcss-container-query", 3 | "version": "1.1.0", 4 | "description": "A plugin that provides CSS Container Queries.", 5 | "main": "src/index.js", 6 | "author": "Doğukan Çavuş ", 7 | "keywords": [ 8 | "tailwind", 9 | "tailwindcss", 10 | "tailwindcss-plugin", 11 | "tailwind-utility", 12 | "tailwind-variants", 13 | "container-query", 14 | "tailwidncss-container-query" 15 | ], 16 | "license": "MIT", 17 | "scripts": { 18 | "test": "jest", 19 | "demo:dev": "npx tailwindcss -i ./demo/style.css -o ./demo/output.css --watch", 20 | "demo:build": "npx tailwindcss -i ./demo/style.css -o ./demo/output.css", 21 | "demo:deploy": "rm -rf demo/output.css && yarn run demo:build && gh-pages -d demo", 22 | "prepublishOnly": "node scripts/build.js" 23 | }, 24 | "peerDependencies": { 25 | "tailwindcss": ">=3.1.0" 26 | }, 27 | "devDependencies": { 28 | "autoprefixer": "^10.4.7", 29 | "clean-css": "^5.3.0", 30 | "gh-pages": "^3.2.3", 31 | "jest": "^28.1.1", 32 | "jest-matcher-css": "^1.1.0", 33 | "postcss": "^8.4.14", 34 | "tailwindcss": "^3.1.4" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /scripts/build.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | const postcss = require('postcss') 3 | const tailwind = require('tailwindcss') 4 | const CleanCSS = require('clean-css') 5 | 6 | function buildDistFile(filename) { 7 | return postcss([ 8 | tailwind({ 9 | corePlugins: false, 10 | plugins: [require('../src/index.js')], 11 | }), 12 | require('autoprefixer'), 13 | ]) 14 | .process('@tailwind utilities', { 15 | from: null, 16 | to: `./dist/${filename}.css`, 17 | map: false, 18 | }) 19 | .then((result) => { 20 | fs.writeFileSync(`./dist/${filename}.css`, result.css) 21 | return result 22 | }) 23 | .then((result) => { 24 | const minified = new CleanCSS().minify(result.css) 25 | fs.writeFileSync(`./dist/${filename}.min.css`, minified.styles) 26 | }) 27 | .catch((error) => { 28 | console.log(error) 29 | }) 30 | } 31 | 32 | console.info('Building CSS...') 33 | 34 | Promise.all([buildDistFile('container-query')]).then(() => { 35 | console.log('Finished building CSS.') 36 | }) 37 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | const plugin = require('tailwindcss/plugin') 2 | 3 | const containerQuery = plugin( 4 | function ({ addUtilities, addVariant, matchVariant, theme, variants, e, postcss }) { 5 | const containerType = theme('containerType') 6 | const containerQuery = theme('containerQuery') 7 | const containerName = theme('containerName') 8 | 9 | addUtilities( 10 | [ 11 | Object.entries(containerType).map(([key, value]) => { 12 | return { 13 | [`.${e(`container-type-${key}`)}`]: { 14 | 'container-type': `${value}`, 15 | }, 16 | } 17 | }) 18 | ], 19 | variants('containerType') 20 | ) 21 | 22 | addUtilities( 23 | [ 24 | Object.entries(containerName).map(([key, value]) => { 25 | return { 26 | [`.${e(`container-name-${key}`)}`]: { 27 | 'container-name': `${value}`, 28 | }, 29 | } 30 | }) 31 | ], 32 | variants('containerName') 33 | ) 34 | 35 | matchVariant({ 36 | 'cq-h': (queryValue) => `@container (min-height: ${queryValue})`, 37 | }) 38 | matchVariant({ 39 | 'cq-w': (queryValue) => `@container (min-width: ${queryValue})`, 40 | }) 41 | 42 | Object.entries(containerQuery).map(([key, value]) => { 43 | return addVariant(`cq-w-${key}`, ({ container, separator }) => { 44 | const cqRule = postcss.atRule({ name: 'container', params: `(min-width: ${value})` }) 45 | cqRule.append(container.nodes) 46 | container.append(cqRule) 47 | cqRule.walkRules(rule => { 48 | rule.selector = `.${e(`cq-w-${key}${separator}`)}${rule.selector.slice(1)}` 49 | }) 50 | }) 51 | }) 52 | 53 | Object.entries(containerQuery).map(([queryName, queryValue]) => { 54 | return Object.entries(containerName).map(([nameKey, nameValue]) => { 55 | return addVariant(`cq-w-${nameKey}-${queryName}`, ({ container, separator }) => { 56 | const cqRule = postcss.atRule({ name: 'container', params: `${nameValue} (min-width: ${queryValue})` }) 57 | cqRule.append(container.nodes) 58 | container.append(cqRule) 59 | cqRule.walkRules(rule => { 60 | rule.selector = `.${e(`cq-w-${nameKey}-${queryName}${separator}`)}${rule.selector.slice(1)}` 61 | }) 62 | }) 63 | }) 64 | }) 65 | 66 | Object.entries(containerQuery).map(([key, value]) => { 67 | return addVariant(`cq-h-${key}`, ({ container, separator }) => { 68 | const cqRule = postcss.atRule({ name: 'container', params: `(min-height: ${value})` }) 69 | cqRule.append(container.nodes) 70 | container.append(cqRule) 71 | cqRule.walkRules(rule => { 72 | rule.selector = `.${e(`cq-h-${key}${separator}`)}${rule.selector.slice(1)}` 73 | }) 74 | }) 75 | }) 76 | 77 | Object.entries(containerQuery).map(([queryName, queryValue]) => { 78 | return Object.entries(containerName).map(([nameKey, nameValue]) => { 79 | return addVariant(`cq-h-${nameKey}-${queryName}`, ({ container, separator }) => { 80 | const cqRule = postcss.atRule({ name: 'container', params: `${nameValue} (min-height: ${queryValue})` }) 81 | cqRule.append(container.nodes) 82 | container.append(cqRule) 83 | cqRule.walkRules(rule => { 84 | rule.selector = `.${e(`cq-h-${nameKey}-${queryName}${separator}`)}${rule.selector.slice(1)}` 85 | }) 86 | }) 87 | }) 88 | }) 89 | }, 90 | { 91 | experimental: { matchVariant: true }, 92 | theme: { 93 | containerQuery: { 94 | 4: '64px', 95 | 6: '96px', 96 | 9: '144px', 97 | 16: '256px', 98 | 22: '352px', 99 | }, 100 | containerType: { 101 | size: 'size', 102 | 'inline-size': 'inline-size', 103 | 'block-size': 'block-size', 104 | style: 'style', 105 | state: 'state', 106 | }, 107 | containerName: {} 108 | }, 109 | } 110 | ) 111 | 112 | module.exports = containerQuery -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | content: ["./demo/**/*.{html,js}"], 3 | theme: { 4 | extend: {}, 5 | }, 6 | plugins: [require('./src/index')], 7 | } 8 | -------------------------------------------------------------------------------- /test/index.test.js: -------------------------------------------------------------------------------- 1 | const cssMatcher = require('jest-matcher-css') 2 | const postcss = require('postcss') 3 | const tailwindcss = require('tailwindcss') 4 | 5 | const defaultOptions = { 6 | corePlugins: { preflight: false }, 7 | plugins: [require('../src')], 8 | } 9 | 10 | function run(input, config, plugin = tailwindcss) { 11 | return postcss( 12 | plugin(config) 13 | ) 14 | .process(input, { 15 | from: undefined 16 | }) 17 | } 18 | 19 | expect.extend({ 20 | toMatchCss: cssMatcher 21 | }) 22 | 23 | it('should add the container query at-rule for `.cq-w-22` class and its contents', () => { 24 | const config = { 25 | ...defaultOptions, 26 | content: [{ raw: String.raw`
` }], 27 | } 28 | 29 | return run('@tailwind utilities;', config).then((result) => { 30 | expect(result.css).toMatchCss(String.raw` 31 | @container (min-width: 352px) { 32 | .cq-w-22\:bg-yellow-200 { 33 | --tw-bg-opacity: 1; 34 | background-color: rgb(254 240 138 / var(--tw-bg-opacity)); 35 | } 36 | } 37 | `) 38 | }) 39 | }) 40 | 41 | it('should add the container query at-rule for `.cq-h-22` class and its contents', () => { 42 | const config = { 43 | ...defaultOptions, 44 | content: [{ raw: String.raw`
` }], 45 | } 46 | 47 | return run('@tailwind utilities;', config).then((result) => { 48 | expect(result.css).toMatchCss(String.raw` 49 | @container (min-height: 352px) { 50 | .cq-h-22\:bg-yellow-200 { 51 | --tw-bg-opacity: 1; 52 | background-color: rgb(254 240 138 / var(--tw-bg-opacity)); 53 | } 54 | } 55 | `) 56 | }) 57 | }) 58 | 59 | it('should match the arbitrary values', () => { 60 | const config = { 61 | ...defaultOptions, 62 | content: [{ raw: String.raw`
` }], 63 | } 64 | 65 | return run('@tailwind utilities;', config).then((result) => { 66 | expect(result.css).toMatchCss(String.raw` 67 | @container (min-height: 450px) { 68 | .cq-h-\[450px\]\:bg-yellow-200 { 69 | --tw-bg-opacity: 1; 70 | background-color: rgb(254 240 138 / var(--tw-bg-opacity)); 71 | } 72 | } 73 | @container (min-width: 238px) { 74 | .cq-w-\[238px\]\:bg-yellow-200 { 75 | --tw-bg-opacity: 1; 76 | background-color: rgb(254 240 138 / var(--tw-bg-opacity)); 77 | } 78 | } 79 | `) 80 | }) 81 | }) 82 | 83 | it('should add the `container-type-size` class', () => { 84 | const config = { 85 | ...defaultOptions, 86 | content: [{ raw: String.raw`
` }], 87 | } 88 | 89 | return run('@tailwind utilities;', config).then((result) => { 90 | expect(result.css).toMatchCss(String.raw` 91 | .container-type-size { 92 | container-type: size; 93 | } 94 | `) 95 | }) 96 | }) 97 | 98 | it('should add the `container-type-inline-size` class', () => { 99 | const config = { 100 | ...defaultOptions, 101 | content: [{ raw: String.raw`
` }], 102 | } 103 | 104 | return run('@tailwind utilities;', config).then((result) => { 105 | expect(result.css).toMatchCss(String.raw` 106 | .container-type-inline-size { 107 | container-type: inline-size; 108 | } 109 | `) 110 | }) 111 | }) 112 | 113 | it('should add the `container-type-block-size` class', () => { 114 | const config = { 115 | ...defaultOptions, 116 | content: [{ raw: String.raw`
` }], 117 | } 118 | 119 | return run('@tailwind utilities;', config).then((result) => { 120 | expect(result.css).toMatchCss(String.raw` 121 | .container-type-block-size { 122 | container-type: block-size; 123 | } 124 | `) 125 | }) 126 | }) 127 | 128 | it('should add the `container-type-style` class', () => { 129 | const config = { 130 | ...defaultOptions, 131 | content: [{ raw: String.raw`
` }], 132 | } 133 | 134 | return run('@tailwind utilities;', config).then((result) => { 135 | expect(result.css).toMatchCss(String.raw` 136 | .container-type-style { 137 | container-type: style; 138 | } 139 | `) 140 | }) 141 | }) 142 | 143 | it('should add the `container-type-state` class', () => { 144 | const config = { 145 | ...defaultOptions, 146 | content: [{ raw: String.raw`
` }], 147 | } 148 | 149 | return run('@tailwind utilities;', config).then((result) => { 150 | expect(result.css).toMatchCss(String.raw` 151 | .container-type-state { 152 | container-type: state; 153 | } 154 | `) 155 | }) 156 | }) 157 | 158 | it('should create the `container-name-sidebar` class', () => { 159 | const config = { 160 | ...defaultOptions, 161 | content: [{ raw: String.raw`
` }], 162 | theme: { 163 | containerName: { 164 | sidebar: 'sidebar' 165 | } 166 | }, 167 | } 168 | 169 | return run('@tailwind utilities;', config).then((result) => { 170 | expect(result.css).toMatchCss(String.raw` 171 | .container-name-sidebar { 172 | container-name: sidebar; 173 | } 174 | `) 175 | }) 176 | }) 177 | 178 | it('should create a named container query at-rule', () => { 179 | const config = { 180 | ...defaultOptions, 181 | content: [{ raw: String.raw`
` }], 182 | theme: { 183 | containerName: { 184 | sd: 'sidebar' 185 | } 186 | }, 187 | } 188 | 189 | return run('@tailwind utilities;', config).then((result) => { 190 | expect(result.css).toMatchCss(String.raw` 191 | @container sidebar (min-width: 352px) { 192 | .cq-w-sd-22\:bg-yellow-200 { 193 | --tw-bg-opacity: 1; 194 | background-color: rgb(254 240 138 / var(--tw-bg-opacity)); 195 | } 196 | } 197 | `) 198 | }) 199 | }) --------------------------------------------------------------------------------