├── README.md ├── node_modules ├── .bin │ ├── autoprefixer │ ├── autoprefixer.cmd │ ├── autoprefixer.ps1 │ ├── browserslist │ ├── browserslist.cmd │ ├── browserslist.ps1 │ ├── nanoid │ ├── nanoid.cmd │ ├── nanoid.ps1 │ ├── update-browserslist-db │ ├── update-browserslist-db.cmd │ └── update-browserslist-db.ps1 ├── .package-lock.json ├── autoprefixer │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── autoprefixer │ ├── data │ │ └── prefixes.js │ ├── lib │ │ ├── at-rule.js │ │ ├── autoprefixer.d.ts │ │ ├── autoprefixer.js │ │ ├── brackets.js │ │ ├── browsers.js │ │ ├── declaration.js │ │ ├── hacks │ │ │ ├── align-content.js │ │ │ ├── align-items.js │ │ │ ├── align-self.js │ │ │ ├── animation.js │ │ │ ├── appearance.js │ │ │ ├── autofill.js │ │ │ ├── backdrop-filter.js │ │ │ ├── background-clip.js │ │ │ ├── background-size.js │ │ │ ├── block-logical.js │ │ │ ├── border-image.js │ │ │ ├── border-radius.js │ │ │ ├── break-props.js │ │ │ ├── cross-fade.js │ │ │ ├── display-flex.js │ │ │ ├── display-grid.js │ │ │ ├── file-selector-button.js │ │ │ ├── filter-value.js │ │ │ ├── filter.js │ │ │ ├── flex-basis.js │ │ │ ├── flex-direction.js │ │ │ ├── flex-flow.js │ │ │ ├── flex-grow.js │ │ │ ├── flex-shrink.js │ │ │ ├── flex-spec.js │ │ │ ├── flex-wrap.js │ │ │ ├── flex.js │ │ │ ├── fullscreen.js │ │ │ ├── gradient.js │ │ │ ├── grid-area.js │ │ │ ├── grid-column-align.js │ │ │ ├── grid-end.js │ │ │ ├── grid-row-align.js │ │ │ ├── grid-row-column.js │ │ │ ├── grid-rows-columns.js │ │ │ ├── grid-start.js │ │ │ ├── grid-template-areas.js │ │ │ ├── grid-template.js │ │ │ ├── grid-utils.js │ │ │ ├── image-rendering.js │ │ │ ├── image-set.js │ │ │ ├── inline-logical.js │ │ │ ├── intrinsic.js │ │ │ ├── justify-content.js │ │ │ ├── mask-border.js │ │ │ ├── mask-composite.js │ │ │ ├── order.js │ │ │ ├── overscroll-behavior.js │ │ │ ├── pixelated.js │ │ │ ├── place-self.js │ │ │ ├── placeholder-shown.js │ │ │ ├── placeholder.js │ │ │ ├── print-color-adjust.js │ │ │ ├── text-decoration-skip-ink.js │ │ │ ├── text-decoration.js │ │ │ ├── text-emphasis-position.js │ │ │ ├── transform-decl.js │ │ │ ├── user-select.js │ │ │ └── writing-mode.js │ │ ├── info.js │ │ ├── old-selector.js │ │ ├── old-value.js │ │ ├── prefixer.js │ │ ├── prefixes.js │ │ ├── processor.js │ │ ├── resolution.js │ │ ├── selector.js │ │ ├── supports.js │ │ ├── transition.js │ │ ├── utils.js │ │ ├── value.js │ │ └── vendor.js │ └── package.json ├── browserslist │ ├── LICENSE │ ├── README.md │ ├── browser.js │ ├── cli.js │ ├── error.d.ts │ ├── error.js │ ├── index.d.ts │ ├── index.js │ ├── node.js │ ├── package.json │ └── parse.js ├── caniuse-lite │ ├── LICENSE │ ├── README.md │ ├── data │ │ ├── agents.js │ │ ├── browserVersions.js │ │ ├── browsers.js │ │ ├── features.js │ │ ├── features │ │ │ ├── aac.js │ │ │ ├── abortcontroller.js │ │ │ ├── ac3-ec3.js │ │ │ ├── accelerometer.js │ │ │ ├── addeventlistener.js │ │ │ ├── alternate-stylesheet.js │ │ │ ├── ambient-light.js │ │ │ ├── apng.js │ │ │ ├── array-find-index.js │ │ │ ├── array-find.js │ │ │ ├── array-flat.js │ │ │ ├── array-includes.js │ │ │ ├── arrow-functions.js │ │ │ ├── asmjs.js │ │ │ ├── async-clipboard.js │ │ │ ├── async-functions.js │ │ │ ├── atob-btoa.js │ │ │ ├── audio-api.js │ │ │ ├── audio.js │ │ │ ├── audiotracks.js │ │ │ ├── autofocus.js │ │ │ ├── auxclick.js │ │ │ ├── av1.js │ │ │ ├── avif.js │ │ │ ├── background-attachment.js │ │ │ ├── background-clip-text.js │ │ │ ├── background-img-opts.js │ │ │ ├── background-position-x-y.js │ │ │ ├── background-repeat-round-space.js │ │ │ ├── background-sync.js │ │ │ ├── battery-status.js │ │ │ ├── beacon.js │ │ │ ├── beforeafterprint.js │ │ │ ├── bigint.js │ │ │ ├── blobbuilder.js │ │ │ ├── bloburls.js │ │ │ ├── border-image.js │ │ │ ├── border-radius.js │ │ │ ├── broadcastchannel.js │ │ │ ├── brotli.js │ │ │ ├── calc.js │ │ │ ├── canvas-blending.js │ │ │ ├── canvas-text.js │ │ │ ├── canvas.js │ │ │ ├── ch-unit.js │ │ │ ├── chacha20-poly1305.js │ │ │ ├── channel-messaging.js │ │ │ ├── childnode-remove.js │ │ │ ├── classlist.js │ │ │ ├── client-hints-dpr-width-viewport.js │ │ │ ├── clipboard.js │ │ │ ├── colr-v1.js │ │ │ ├── colr.js │ │ │ ├── comparedocumentposition.js │ │ │ ├── console-basic.js │ │ │ ├── console-time.js │ │ │ ├── const.js │ │ │ ├── constraint-validation.js │ │ │ ├── contenteditable.js │ │ │ ├── contentsecuritypolicy.js │ │ │ ├── contentsecuritypolicy2.js │ │ │ ├── cookie-store-api.js │ │ │ ├── cors.js │ │ │ ├── createimagebitmap.js │ │ │ ├── credential-management.js │ │ │ ├── cryptography.js │ │ │ ├── css-all.js │ │ │ ├── css-anchor-positioning.js │ │ │ ├── css-animation.js │ │ │ ├── css-any-link.js │ │ │ ├── css-appearance.js │ │ │ ├── css-at-counter-style.js │ │ │ ├── css-autofill.js │ │ │ ├── css-backdrop-filter.js │ │ │ ├── css-background-offsets.js │ │ │ ├── css-backgroundblendmode.js │ │ │ ├── css-boxdecorationbreak.js │ │ │ ├── css-boxshadow.js │ │ │ ├── css-canvas.js │ │ │ ├── css-caret-color.js │ │ │ ├── css-cascade-layers.js │ │ │ ├── css-cascade-scope.js │ │ │ ├── css-case-insensitive.js │ │ │ ├── css-clip-path.js │ │ │ ├── css-color-adjust.js │ │ │ ├── css-color-function.js │ │ │ ├── css-conic-gradients.js │ │ │ ├── css-container-queries-style.js │ │ │ ├── css-container-queries.js │ │ │ ├── css-container-query-units.js │ │ │ ├── css-containment.js │ │ │ ├── css-content-visibility.js │ │ │ ├── css-counters.js │ │ │ ├── css-crisp-edges.js │ │ │ ├── css-cross-fade.js │ │ │ ├── css-default-pseudo.js │ │ │ ├── css-descendant-gtgt.js │ │ │ ├── css-deviceadaptation.js │ │ │ ├── css-dir-pseudo.js │ │ │ ├── css-display-contents.js │ │ │ ├── css-element-function.js │ │ │ ├── css-env-function.js │ │ │ ├── css-exclusions.js │ │ │ ├── css-featurequeries.js │ │ │ ├── css-file-selector-button.js │ │ │ ├── css-filter-function.js │ │ │ ├── css-filters.js │ │ │ ├── css-first-letter.js │ │ │ ├── css-first-line.js │ │ │ ├── css-fixed.js │ │ │ ├── css-focus-visible.js │ │ │ ├── css-focus-within.js │ │ │ ├── css-font-palette.js │ │ │ ├── css-font-rendering-controls.js │ │ │ ├── css-font-stretch.js │ │ │ ├── css-gencontent.js │ │ │ ├── css-gradients.js │ │ │ ├── css-grid-animation.js │ │ │ ├── css-grid.js │ │ │ ├── css-hanging-punctuation.js │ │ │ ├── css-has.js │ │ │ ├── css-hyphens.js │ │ │ ├── css-image-orientation.js │ │ │ ├── css-image-set.js │ │ │ ├── css-in-out-of-range.js │ │ │ ├── css-indeterminate-pseudo.js │ │ │ ├── css-initial-letter.js │ │ │ ├── css-initial-value.js │ │ │ ├── css-lch-lab.js │ │ │ ├── css-letter-spacing.js │ │ │ ├── css-line-clamp.js │ │ │ ├── css-logical-props.js │ │ │ ├── css-marker-pseudo.js │ │ │ ├── css-masks.js │ │ │ ├── css-matches-pseudo.js │ │ │ ├── css-math-functions.js │ │ │ ├── css-media-interaction.js │ │ │ ├── css-media-range-syntax.js │ │ │ ├── css-media-resolution.js │ │ │ ├── css-media-scripting.js │ │ │ ├── css-mediaqueries.js │ │ │ ├── css-mixblendmode.js │ │ │ ├── css-module-scripts.js │ │ │ ├── css-motion-paths.js │ │ │ ├── css-namespaces.js │ │ │ ├── css-nesting.js │ │ │ ├── css-not-sel-list.js │ │ │ ├── css-nth-child-of.js │ │ │ ├── css-opacity.js │ │ │ ├── css-optional-pseudo.js │ │ │ ├── css-overflow-anchor.js │ │ │ ├── css-overflow-overlay.js │ │ │ ├── css-overflow.js │ │ │ ├── css-overscroll-behavior.js │ │ │ ├── css-page-break.js │ │ │ ├── css-paged-media.js │ │ │ ├── css-paint-api.js │ │ │ ├── css-placeholder-shown.js │ │ │ ├── css-placeholder.js │ │ │ ├── css-print-color-adjust.js │ │ │ ├── css-read-only-write.js │ │ │ ├── css-rebeccapurple.js │ │ │ ├── css-reflections.js │ │ │ ├── css-regions.js │ │ │ ├── css-relative-colors.js │ │ │ ├── css-repeating-gradients.js │ │ │ ├── css-resize.js │ │ │ ├── css-revert-value.js │ │ │ ├── css-rrggbbaa.js │ │ │ ├── css-scroll-behavior.js │ │ │ ├── css-scrollbar.js │ │ │ ├── css-sel2.js │ │ │ ├── css-sel3.js │ │ │ ├── css-selection.js │ │ │ ├── css-shapes.js │ │ │ ├── css-snappoints.js │ │ │ ├── css-sticky.js │ │ │ ├── css-subgrid.js │ │ │ ├── css-supports-api.js │ │ │ ├── css-table.js │ │ │ ├── css-text-align-last.js │ │ │ ├── css-text-box-trim.js │ │ │ ├── css-text-indent.js │ │ │ ├── css-text-justify.js │ │ │ ├── css-text-orientation.js │ │ │ ├── css-text-spacing.js │ │ │ ├── css-text-wrap-balance.js │ │ │ ├── css-textshadow.js │ │ │ ├── css-touch-action.js │ │ │ ├── css-transitions.js │ │ │ ├── css-unicode-bidi.js │ │ │ ├── css-unset-value.js │ │ │ ├── css-variables.js │ │ │ ├── css-when-else.js │ │ │ ├── css-widows-orphans.js │ │ │ ├── css-width-stretch.js │ │ │ ├── css-writing-mode.js │ │ │ ├── css-zoom.js │ │ │ ├── css3-attr.js │ │ │ ├── css3-boxsizing.js │ │ │ ├── css3-colors.js │ │ │ ├── css3-cursors-grab.js │ │ │ ├── css3-cursors-newer.js │ │ │ ├── css3-cursors.js │ │ │ ├── css3-tabsize.js │ │ │ ├── currentcolor.js │ │ │ ├── custom-elements.js │ │ │ ├── custom-elementsv1.js │ │ │ ├── customevent.js │ │ │ ├── datalist.js │ │ │ ├── dataset.js │ │ │ ├── datauri.js │ │ │ ├── date-tolocaledatestring.js │ │ │ ├── declarative-shadow-dom.js │ │ │ ├── decorators.js │ │ │ ├── details.js │ │ │ ├── deviceorientation.js │ │ │ ├── devicepixelratio.js │ │ │ ├── dialog.js │ │ │ ├── dispatchevent.js │ │ │ ├── dnssec.js │ │ │ ├── do-not-track.js │ │ │ ├── document-currentscript.js │ │ │ ├── document-evaluate-xpath.js │ │ │ ├── document-execcommand.js │ │ │ ├── document-policy.js │ │ │ ├── document-scrollingelement.js │ │ │ ├── documenthead.js │ │ │ ├── dom-manip-convenience.js │ │ │ ├── dom-range.js │ │ │ ├── domcontentloaded.js │ │ │ ├── dommatrix.js │ │ │ ├── download.js │ │ │ ├── dragndrop.js │ │ │ ├── element-closest.js │ │ │ ├── element-from-point.js │ │ │ ├── element-scroll-methods.js │ │ │ ├── eme.js │ │ │ ├── eot.js │ │ │ ├── es5.js │ │ │ ├── es6-class.js │ │ │ ├── es6-generators.js │ │ │ ├── es6-module-dynamic-import.js │ │ │ ├── es6-module.js │ │ │ ├── es6-number.js │ │ │ ├── es6-string-includes.js │ │ │ ├── es6.js │ │ │ ├── eventsource.js │ │ │ ├── extended-system-fonts.js │ │ │ ├── feature-policy.js │ │ │ ├── fetch.js │ │ │ ├── fieldset-disabled.js │ │ │ ├── fileapi.js │ │ │ ├── filereader.js │ │ │ ├── filereadersync.js │ │ │ ├── filesystem.js │ │ │ ├── flac.js │ │ │ ├── flexbox-gap.js │ │ │ ├── flexbox.js │ │ │ ├── flow-root.js │ │ │ ├── focusin-focusout-events.js │ │ │ ├── font-family-system-ui.js │ │ │ ├── font-feature.js │ │ │ ├── font-kerning.js │ │ │ ├── font-loading.js │ │ │ ├── font-size-adjust.js │ │ │ ├── font-smooth.js │ │ │ ├── font-unicode-range.js │ │ │ ├── font-variant-alternates.js │ │ │ ├── font-variant-numeric.js │ │ │ ├── fontface.js │ │ │ ├── form-attribute.js │ │ │ ├── form-submit-attributes.js │ │ │ ├── form-validation.js │ │ │ ├── forms.js │ │ │ ├── fullscreen.js │ │ │ ├── gamepad.js │ │ │ ├── geolocation.js │ │ │ ├── getboundingclientrect.js │ │ │ ├── getcomputedstyle.js │ │ │ ├── getelementsbyclassname.js │ │ │ ├── getrandomvalues.js │ │ │ ├── gyroscope.js │ │ │ ├── hardwareconcurrency.js │ │ │ ├── hashchange.js │ │ │ ├── heif.js │ │ │ ├── hevc.js │ │ │ ├── hidden.js │ │ │ ├── high-resolution-time.js │ │ │ ├── history.js │ │ │ ├── html-media-capture.js │ │ │ ├── html5semantic.js │ │ │ ├── http-live-streaming.js │ │ │ ├── http2.js │ │ │ ├── http3.js │ │ │ ├── iframe-sandbox.js │ │ │ ├── iframe-seamless.js │ │ │ ├── iframe-srcdoc.js │ │ │ ├── imagecapture.js │ │ │ ├── ime.js │ │ │ ├── img-naturalwidth-naturalheight.js │ │ │ ├── import-maps.js │ │ │ ├── imports.js │ │ │ ├── indeterminate-checkbox.js │ │ │ ├── indexeddb.js │ │ │ ├── indexeddb2.js │ │ │ ├── inline-block.js │ │ │ ├── innertext.js │ │ │ ├── input-autocomplete-onoff.js │ │ │ ├── input-color.js │ │ │ ├── input-datetime.js │ │ │ ├── input-email-tel-url.js │ │ │ ├── input-event.js │ │ │ ├── input-file-accept.js │ │ │ ├── input-file-directory.js │ │ │ ├── input-file-multiple.js │ │ │ ├── input-inputmode.js │ │ │ ├── input-minlength.js │ │ │ ├── input-number.js │ │ │ ├── input-pattern.js │ │ │ ├── input-placeholder.js │ │ │ ├── input-range.js │ │ │ ├── input-search.js │ │ │ ├── input-selection.js │ │ │ ├── insert-adjacent.js │ │ │ ├── insertadjacenthtml.js │ │ │ ├── internationalization.js │ │ │ ├── intersectionobserver-v2.js │ │ │ ├── intersectionobserver.js │ │ │ ├── intl-pluralrules.js │ │ │ ├── intrinsic-width.js │ │ │ ├── jpeg2000.js │ │ │ ├── jpegxl.js │ │ │ ├── jpegxr.js │ │ │ ├── js-regexp-lookbehind.js │ │ │ ├── json.js │ │ │ ├── justify-content-space-evenly.js │ │ │ ├── kerning-pairs-ligatures.js │ │ │ ├── keyboardevent-charcode.js │ │ │ ├── keyboardevent-code.js │ │ │ ├── keyboardevent-getmodifierstate.js │ │ │ ├── keyboardevent-key.js │ │ │ ├── keyboardevent-location.js │ │ │ ├── keyboardevent-which.js │ │ │ ├── lazyload.js │ │ │ ├── let.js │ │ │ ├── link-icon-png.js │ │ │ ├── link-icon-svg.js │ │ │ ├── link-rel-dns-prefetch.js │ │ │ ├── link-rel-modulepreload.js │ │ │ ├── link-rel-preconnect.js │ │ │ ├── link-rel-prefetch.js │ │ │ ├── link-rel-preload.js │ │ │ ├── link-rel-prerender.js │ │ │ ├── loading-lazy-attr.js │ │ │ ├── localecompare.js │ │ │ ├── magnetometer.js │ │ │ ├── matchesselector.js │ │ │ ├── matchmedia.js │ │ │ ├── mathml.js │ │ │ ├── maxlength.js │ │ │ ├── mdn-css-backdrop-pseudo-element.js │ │ │ ├── mdn-css-unicode-bidi-isolate-override.js │ │ │ ├── mdn-css-unicode-bidi-isolate.js │ │ │ ├── mdn-css-unicode-bidi-plaintext.js │ │ │ ├── mdn-text-decoration-color.js │ │ │ ├── mdn-text-decoration-line.js │ │ │ ├── mdn-text-decoration-shorthand.js │ │ │ ├── mdn-text-decoration-style.js │ │ │ ├── media-fragments.js │ │ │ ├── mediacapture-fromelement.js │ │ │ ├── mediarecorder.js │ │ │ ├── mediasource.js │ │ │ ├── menu.js │ │ │ ├── meta-theme-color.js │ │ │ ├── meter.js │ │ │ ├── midi.js │ │ │ ├── minmaxwh.js │ │ │ ├── mp3.js │ │ │ ├── mpeg-dash.js │ │ │ ├── mpeg4.js │ │ │ ├── multibackgrounds.js │ │ │ ├── multicolumn.js │ │ │ ├── mutation-events.js │ │ │ ├── mutationobserver.js │ │ │ ├── namevalue-storage.js │ │ │ ├── native-filesystem-api.js │ │ │ ├── nav-timing.js │ │ │ ├── netinfo.js │ │ │ ├── notifications.js │ │ │ ├── object-entries.js │ │ │ ├── object-fit.js │ │ │ ├── object-observe.js │ │ │ ├── object-values.js │ │ │ ├── objectrtc.js │ │ │ ├── offline-apps.js │ │ │ ├── offscreencanvas.js │ │ │ ├── ogg-vorbis.js │ │ │ ├── ogv.js │ │ │ ├── ol-reversed.js │ │ │ ├── once-event-listener.js │ │ │ ├── online-status.js │ │ │ ├── opus.js │ │ │ ├── orientation-sensor.js │ │ │ ├── outline.js │ │ │ ├── pad-start-end.js │ │ │ ├── page-transition-events.js │ │ │ ├── pagevisibility.js │ │ │ ├── passive-event-listener.js │ │ │ ├── passkeys.js │ │ │ ├── passwordrules.js │ │ │ ├── path2d.js │ │ │ ├── payment-request.js │ │ │ ├── pdf-viewer.js │ │ │ ├── permissions-api.js │ │ │ ├── permissions-policy.js │ │ │ ├── picture-in-picture.js │ │ │ ├── picture.js │ │ │ ├── ping.js │ │ │ ├── png-alpha.js │ │ │ ├── pointer-events.js │ │ │ ├── pointer.js │ │ │ ├── pointerlock.js │ │ │ ├── portals.js │ │ │ ├── prefers-color-scheme.js │ │ │ ├── prefers-reduced-motion.js │ │ │ ├── progress.js │ │ │ ├── promise-finally.js │ │ │ ├── promises.js │ │ │ ├── proximity.js │ │ │ ├── proxy.js │ │ │ ├── publickeypinning.js │ │ │ ├── push-api.js │ │ │ ├── queryselector.js │ │ │ ├── readonly-attr.js │ │ │ ├── referrer-policy.js │ │ │ ├── registerprotocolhandler.js │ │ │ ├── rel-noopener.js │ │ │ ├── rel-noreferrer.js │ │ │ ├── rellist.js │ │ │ ├── rem.js │ │ │ ├── requestanimationframe.js │ │ │ ├── requestidlecallback.js │ │ │ ├── resizeobserver.js │ │ │ ├── resource-timing.js │ │ │ ├── rest-parameters.js │ │ │ ├── rtcpeerconnection.js │ │ │ ├── ruby.js │ │ │ ├── run-in.js │ │ │ ├── same-site-cookie-attribute.js │ │ │ ├── screen-orientation.js │ │ │ ├── script-async.js │ │ │ ├── script-defer.js │ │ │ ├── scrollintoview.js │ │ │ ├── scrollintoviewifneeded.js │ │ │ ├── sdch.js │ │ │ ├── selection-api.js │ │ │ ├── selectlist.js │ │ │ ├── server-timing.js │ │ │ ├── serviceworkers.js │ │ │ ├── setimmediate.js │ │ │ ├── shadowdom.js │ │ │ ├── shadowdomv1.js │ │ │ ├── sharedarraybuffer.js │ │ │ ├── sharedworkers.js │ │ │ ├── sni.js │ │ │ ├── spdy.js │ │ │ ├── speech-recognition.js │ │ │ ├── speech-synthesis.js │ │ │ ├── spellcheck-attribute.js │ │ │ ├── sql-storage.js │ │ │ ├── srcset.js │ │ │ ├── stream.js │ │ │ ├── streams.js │ │ │ ├── stricttransportsecurity.js │ │ │ ├── style-scoped.js │ │ │ ├── subresource-bundling.js │ │ │ ├── subresource-integrity.js │ │ │ ├── svg-css.js │ │ │ ├── svg-filters.js │ │ │ ├── svg-fonts.js │ │ │ ├── svg-fragment.js │ │ │ ├── svg-html.js │ │ │ ├── svg-html5.js │ │ │ ├── svg-img.js │ │ │ ├── svg-smil.js │ │ │ ├── svg.js │ │ │ ├── sxg.js │ │ │ ├── tabindex-attr.js │ │ │ ├── template-literals.js │ │ │ ├── template.js │ │ │ ├── temporal.js │ │ │ ├── testfeat.js │ │ │ ├── text-decoration.js │ │ │ ├── text-emphasis.js │ │ │ ├── text-overflow.js │ │ │ ├── text-size-adjust.js │ │ │ ├── text-stroke.js │ │ │ ├── textcontent.js │ │ │ ├── textencoder.js │ │ │ ├── tls1-1.js │ │ │ ├── tls1-2.js │ │ │ ├── tls1-3.js │ │ │ ├── touch.js │ │ │ ├── transforms2d.js │ │ │ ├── transforms3d.js │ │ │ ├── trusted-types.js │ │ │ ├── ttf.js │ │ │ ├── typedarrays.js │ │ │ ├── u2f.js │ │ │ ├── unhandledrejection.js │ │ │ ├── upgradeinsecurerequests.js │ │ │ ├── url-scroll-to-text-fragment.js │ │ │ ├── url.js │ │ │ ├── urlsearchparams.js │ │ │ ├── use-strict.js │ │ │ ├── user-select-none.js │ │ │ ├── user-timing.js │ │ │ ├── variable-fonts.js │ │ │ ├── vector-effect.js │ │ │ ├── vibration.js │ │ │ ├── video.js │ │ │ ├── videotracks.js │ │ │ ├── view-transitions.js │ │ │ ├── viewport-unit-variants.js │ │ │ ├── viewport-units.js │ │ │ ├── wai-aria.js │ │ │ ├── wake-lock.js │ │ │ ├── wasm-bigint.js │ │ │ ├── wasm-bulk-memory.js │ │ │ ├── wasm-extended-const.js │ │ │ ├── wasm-gc.js │ │ │ ├── wasm-multi-memory.js │ │ │ ├── wasm-multi-value.js │ │ │ ├── wasm-mutable-globals.js │ │ │ ├── wasm-nontrapping-fptoint.js │ │ │ ├── wasm-reference-types.js │ │ │ ├── wasm-relaxed-simd.js │ │ │ ├── wasm-signext.js │ │ │ ├── wasm-simd.js │ │ │ ├── wasm-tail-calls.js │ │ │ ├── wasm-threads.js │ │ │ ├── wasm.js │ │ │ ├── wav.js │ │ │ ├── wbr-element.js │ │ │ ├── web-animation.js │ │ │ ├── web-app-manifest.js │ │ │ ├── web-bluetooth.js │ │ │ ├── web-serial.js │ │ │ ├── web-share.js │ │ │ ├── webauthn.js │ │ │ ├── webcodecs.js │ │ │ ├── webgl.js │ │ │ ├── webgl2.js │ │ │ ├── webgpu.js │ │ │ ├── webhid.js │ │ │ ├── webkit-user-drag.js │ │ │ ├── webm.js │ │ │ ├── webnfc.js │ │ │ ├── webp.js │ │ │ ├── websockets.js │ │ │ ├── webtransport.js │ │ │ ├── webusb.js │ │ │ ├── webvr.js │ │ │ ├── webvtt.js │ │ │ ├── webworkers.js │ │ │ ├── webxr.js │ │ │ ├── will-change.js │ │ │ ├── woff.js │ │ │ ├── woff2.js │ │ │ ├── word-break.js │ │ │ ├── wordwrap.js │ │ │ ├── x-doc-messaging.js │ │ │ ├── x-frame-options.js │ │ │ ├── xhr2.js │ │ │ ├── xhtml.js │ │ │ ├── xhtmlsmil.js │ │ │ ├── xml-serializer.js │ │ │ └── zstd.js │ │ └── regions │ │ │ ├── AD.js │ │ │ ├── AE.js │ │ │ ├── AF.js │ │ │ ├── AG.js │ │ │ ├── AI.js │ │ │ ├── AL.js │ │ │ ├── AM.js │ │ │ ├── AO.js │ │ │ ├── AR.js │ │ │ ├── AS.js │ │ │ ├── AT.js │ │ │ ├── AU.js │ │ │ ├── AW.js │ │ │ ├── AX.js │ │ │ ├── AZ.js │ │ │ ├── BA.js │ │ │ ├── BB.js │ │ │ ├── BD.js │ │ │ ├── BE.js │ │ │ ├── BF.js │ │ │ ├── BG.js │ │ │ ├── BH.js │ │ │ ├── BI.js │ │ │ ├── BJ.js │ │ │ ├── BM.js │ │ │ ├── BN.js │ │ │ ├── BO.js │ │ │ ├── BR.js │ │ │ ├── BS.js │ │ │ ├── BT.js │ │ │ ├── BW.js │ │ │ ├── BY.js │ │ │ ├── BZ.js │ │ │ ├── CA.js │ │ │ ├── CD.js │ │ │ ├── CF.js │ │ │ ├── CG.js │ │ │ ├── CH.js │ │ │ ├── CI.js │ │ │ ├── CK.js │ │ │ ├── CL.js │ │ │ ├── CM.js │ │ │ ├── CN.js │ │ │ ├── CO.js │ │ │ ├── CR.js │ │ │ ├── CU.js │ │ │ ├── CV.js │ │ │ ├── CX.js │ │ │ ├── CY.js │ │ │ ├── CZ.js │ │ │ ├── DE.js │ │ │ ├── DJ.js │ │ │ ├── DK.js │ │ │ ├── DM.js │ │ │ ├── DO.js │ │ │ ├── DZ.js │ │ │ ├── EC.js │ │ │ ├── EE.js │ │ │ ├── EG.js │ │ │ ├── ER.js │ │ │ ├── ES.js │ │ │ ├── ET.js │ │ │ ├── FI.js │ │ │ ├── FJ.js │ │ │ ├── FK.js │ │ │ ├── FM.js │ │ │ ├── FO.js │ │ │ ├── FR.js │ │ │ ├── GA.js │ │ │ ├── GB.js │ │ │ ├── GD.js │ │ │ ├── GE.js │ │ │ ├── GF.js │ │ │ ├── GG.js │ │ │ ├── GH.js │ │ │ ├── GI.js │ │ │ ├── GL.js │ │ │ ├── GM.js │ │ │ ├── GN.js │ │ │ ├── GP.js │ │ │ ├── GQ.js │ │ │ ├── GR.js │ │ │ ├── GT.js │ │ │ ├── GU.js │ │ │ ├── GW.js │ │ │ ├── GY.js │ │ │ ├── HK.js │ │ │ ├── HN.js │ │ │ ├── HR.js │ │ │ ├── HT.js │ │ │ ├── HU.js │ │ │ ├── ID.js │ │ │ ├── IE.js │ │ │ ├── IL.js │ │ │ ├── IM.js │ │ │ ├── IN.js │ │ │ ├── IQ.js │ │ │ ├── IR.js │ │ │ ├── IS.js │ │ │ ├── IT.js │ │ │ ├── JE.js │ │ │ ├── JM.js │ │ │ ├── JO.js │ │ │ ├── JP.js │ │ │ ├── KE.js │ │ │ ├── KG.js │ │ │ ├── KH.js │ │ │ ├── KI.js │ │ │ ├── KM.js │ │ │ ├── KN.js │ │ │ ├── KP.js │ │ │ ├── KR.js │ │ │ ├── KW.js │ │ │ ├── KY.js │ │ │ ├── KZ.js │ │ │ ├── LA.js │ │ │ ├── LB.js │ │ │ ├── LC.js │ │ │ ├── LI.js │ │ │ ├── LK.js │ │ │ ├── LR.js │ │ │ ├── LS.js │ │ │ ├── LT.js │ │ │ ├── LU.js │ │ │ ├── LV.js │ │ │ ├── LY.js │ │ │ ├── MA.js │ │ │ ├── MC.js │ │ │ ├── MD.js │ │ │ ├── ME.js │ │ │ ├── MG.js │ │ │ ├── MH.js │ │ │ ├── MK.js │ │ │ ├── ML.js │ │ │ ├── MM.js │ │ │ ├── MN.js │ │ │ ├── MO.js │ │ │ ├── MP.js │ │ │ ├── MQ.js │ │ │ ├── MR.js │ │ │ ├── MS.js │ │ │ ├── MT.js │ │ │ ├── MU.js │ │ │ ├── MV.js │ │ │ ├── MW.js │ │ │ ├── MX.js │ │ │ ├── MY.js │ │ │ ├── MZ.js │ │ │ ├── NA.js │ │ │ ├── NC.js │ │ │ ├── NE.js │ │ │ ├── NF.js │ │ │ ├── NG.js │ │ │ ├── NI.js │ │ │ ├── NL.js │ │ │ ├── NO.js │ │ │ ├── NP.js │ │ │ ├── NR.js │ │ │ ├── NU.js │ │ │ ├── NZ.js │ │ │ ├── OM.js │ │ │ ├── PA.js │ │ │ ├── PE.js │ │ │ ├── PF.js │ │ │ ├── PG.js │ │ │ ├── PH.js │ │ │ ├── PK.js │ │ │ ├── PL.js │ │ │ ├── PM.js │ │ │ ├── PN.js │ │ │ ├── PR.js │ │ │ ├── PS.js │ │ │ ├── PT.js │ │ │ ├── PW.js │ │ │ ├── PY.js │ │ │ ├── QA.js │ │ │ ├── RE.js │ │ │ ├── RO.js │ │ │ ├── RS.js │ │ │ ├── RU.js │ │ │ ├── RW.js │ │ │ ├── SA.js │ │ │ ├── SB.js │ │ │ ├── SC.js │ │ │ ├── SD.js │ │ │ ├── SE.js │ │ │ ├── SG.js │ │ │ ├── SH.js │ │ │ ├── SI.js │ │ │ ├── SK.js │ │ │ ├── SL.js │ │ │ ├── SM.js │ │ │ ├── SN.js │ │ │ ├── SO.js │ │ │ ├── SR.js │ │ │ ├── ST.js │ │ │ ├── SV.js │ │ │ ├── SY.js │ │ │ ├── SZ.js │ │ │ ├── TC.js │ │ │ ├── TD.js │ │ │ ├── TG.js │ │ │ ├── TH.js │ │ │ ├── TJ.js │ │ │ ├── TL.js │ │ │ ├── TM.js │ │ │ ├── TN.js │ │ │ ├── TO.js │ │ │ ├── TR.js │ │ │ ├── TT.js │ │ │ ├── TV.js │ │ │ ├── TW.js │ │ │ ├── TZ.js │ │ │ ├── UA.js │ │ │ ├── UG.js │ │ │ ├── US.js │ │ │ ├── UY.js │ │ │ ├── UZ.js │ │ │ ├── VA.js │ │ │ ├── VC.js │ │ │ ├── VE.js │ │ │ ├── VG.js │ │ │ ├── VI.js │ │ │ ├── VN.js │ │ │ ├── VU.js │ │ │ ├── WF.js │ │ │ ├── WS.js │ │ │ ├── YE.js │ │ │ ├── YT.js │ │ │ ├── ZA.js │ │ │ ├── ZM.js │ │ │ ├── ZW.js │ │ │ ├── alt-af.js │ │ │ ├── alt-an.js │ │ │ ├── alt-as.js │ │ │ ├── alt-eu.js │ │ │ ├── alt-na.js │ │ │ ├── alt-oc.js │ │ │ ├── alt-sa.js │ │ │ └── alt-ww.js │ ├── dist │ │ ├── lib │ │ │ ├── statuses.js │ │ │ └── supported.js │ │ └── unpacker │ │ │ ├── agents.js │ │ │ ├── browserVersions.js │ │ │ ├── browsers.js │ │ │ ├── feature.js │ │ │ ├── features.js │ │ │ ├── index.js │ │ │ └── region.js │ └── package.json ├── electron-to-chromium │ ├── LICENSE │ ├── README.md │ ├── chromium-versions.js │ ├── chromium-versions.json │ ├── full-chromium-versions.js │ ├── full-chromium-versions.json │ ├── full-versions.js │ ├── full-versions.json │ ├── index.js │ ├── package.json │ ├── versions.js │ └── versions.json ├── escalade │ ├── dist │ │ ├── index.js │ │ └── index.mjs │ ├── index.d.mts │ ├── index.d.ts │ ├── license │ ├── package.json │ ├── readme.md │ └── sync │ │ ├── index.d.mts │ │ ├── index.d.ts │ │ ├── index.js │ │ └── index.mjs ├── fraction.js │ ├── LICENSE │ ├── README.md │ ├── bigfraction.js │ ├── fraction.cjs │ ├── fraction.d.ts │ ├── fraction.js │ ├── fraction.min.js │ └── package.json ├── nanoid │ ├── .devcontainer.json │ ├── LICENSE │ ├── README.md │ ├── async │ │ ├── index.browser.cjs │ │ ├── index.browser.js │ │ ├── index.cjs │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.native.js │ │ └── package.json │ ├── bin │ │ └── nanoid.cjs │ ├── index.browser.cjs │ ├── index.browser.js │ ├── index.cjs │ ├── index.d.cts │ ├── index.d.ts │ ├── index.js │ ├── nanoid.js │ ├── non-secure │ │ ├── index.cjs │ │ ├── index.d.ts │ │ ├── index.js │ │ └── package.json │ ├── package.json │ └── url-alphabet │ │ ├── index.cjs │ │ ├── index.js │ │ └── package.json ├── node-releases │ ├── LICENSE │ ├── README.md │ ├── data │ │ ├── processed │ │ │ └── envs.json │ │ └── release-schedule │ │ │ └── release-schedule.json │ └── package.json ├── normalize-range │ ├── index.js │ ├── license │ ├── package.json │ └── readme.md ├── picocolors │ ├── LICENSE │ ├── README.md │ ├── package.json │ ├── picocolors.browser.js │ ├── picocolors.d.ts │ ├── picocolors.js │ └── types.d.ts ├── postcss-value-parser │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── parse.js │ │ ├── stringify.js │ │ ├── unit.js │ │ └── walk.js │ └── package.json ├── postcss │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── at-rule.d.ts │ │ ├── at-rule.js │ │ ├── comment.d.ts │ │ ├── comment.js │ │ ├── container.d.ts │ │ ├── container.js │ │ ├── css-syntax-error.d.ts │ │ ├── css-syntax-error.js │ │ ├── declaration.d.ts │ │ ├── declaration.js │ │ ├── document.d.ts │ │ ├── document.js │ │ ├── fromJSON.d.ts │ │ ├── fromJSON.js │ │ ├── input.d.ts │ │ ├── input.js │ │ ├── lazy-result.d.ts │ │ ├── lazy-result.js │ │ ├── list.d.ts │ │ ├── list.js │ │ ├── map-generator.js │ │ ├── no-work-result.d.ts │ │ ├── no-work-result.js │ │ ├── node.d.ts │ │ ├── node.js │ │ ├── parse.d.ts │ │ ├── parse.js │ │ ├── parser.js │ │ ├── postcss.d.mts │ │ ├── postcss.d.ts │ │ ├── postcss.js │ │ ├── postcss.mjs │ │ ├── previous-map.d.ts │ │ ├── previous-map.js │ │ ├── processor.d.ts │ │ ├── processor.js │ │ ├── result.d.ts │ │ ├── result.js │ │ ├── root.d.ts │ │ ├── root.js │ │ ├── rule.d.ts │ │ ├── rule.js │ │ ├── stringifier.d.ts │ │ ├── stringifier.js │ │ ├── stringify.d.ts │ │ ├── stringify.js │ │ ├── symbols.js │ │ ├── terminal-highlight.js │ │ ├── tokenize.js │ │ ├── warn-once.js │ │ ├── warning.d.ts │ │ └── warning.js │ └── package.json ├── source-map-js │ ├── LICENSE │ ├── README.md │ ├── lib │ │ ├── array-set.js │ │ ├── base64-vlq.js │ │ ├── base64.js │ │ ├── binary-search.js │ │ ├── mapping-list.js │ │ ├── quick-sort.js │ │ ├── source-map-consumer.d.ts │ │ ├── source-map-consumer.js │ │ ├── source-map-generator.d.ts │ │ ├── source-map-generator.js │ │ ├── source-node.d.ts │ │ ├── source-node.js │ │ └── util.js │ ├── package.json │ ├── source-map.d.ts │ └── source-map.js ├── tailwindcss │ ├── LICENSE │ ├── README.md │ ├── dist │ │ ├── chunk-AZANAYY2.mjs │ │ ├── chunk-CH45MXZF.mjs │ │ ├── chunk-V2K3XTS4.mjs │ │ ├── colors-b_6i0Oi7.d.ts │ │ ├── colors.d.mts │ │ ├── colors.d.ts │ │ ├── colors.js │ │ ├── colors.mjs │ │ ├── default-theme.d.mts │ │ ├── default-theme.d.ts │ │ ├── default-theme.js │ │ ├── default-theme.mjs │ │ ├── flatten-color-palette.d.mts │ │ ├── flatten-color-palette.d.ts │ │ ├── flatten-color-palette.js │ │ ├── flatten-color-palette.mjs │ │ ├── lib.d.mts │ │ ├── lib.d.ts │ │ ├── lib.js │ │ ├── lib.mjs │ │ ├── plugin.d.mts │ │ ├── plugin.d.ts │ │ ├── plugin.js │ │ ├── plugin.mjs │ │ ├── resolve-config-BIFUA2FY.d.ts │ │ ├── resolve-config-QUZ9b-Gn.d.mts │ │ └── types-B254mqw1.d.mts │ ├── index.css │ ├── package.json │ ├── preflight.css │ ├── theme.css │ └── utilities.css └── update-browserslist-db │ ├── LICENSE │ ├── README.md │ ├── check-npm-version.js │ ├── cli.js │ ├── index.d.ts │ ├── index.js │ ├── package.json │ └── utils.js ├── package-lock.json ├── package.json ├── settings.json ├── src ├── input.css ├── main.html ├── main.js ├── output.css ├── planet.png ├── planet1.png ├── planet2.png ├── planet3.png ├── planet4.png ├── planet6.png └── ship1.png └── tailwind.config.js /README.md: -------------------------------------------------------------------------------- 1 | # CPPROG3-Final_Activity 2 | # This is just a simple final activity that i was tasked to accomplished by my professor 3 | -------------------------------------------------------------------------------- /node_modules/.bin/autoprefixer: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../autoprefixer/bin/autoprefixer" "$@" 14 | else 15 | exec node "$basedir/../autoprefixer/bin/autoprefixer" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /node_modules/.bin/autoprefixer.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | GOTO start 3 | :find_dp0 4 | SET dp0=%~dp0 5 | EXIT /b 6 | :start 7 | SETLOCAL 8 | CALL :find_dp0 9 | 10 | IF EXIST "%dp0%\node.exe" ( 11 | SET "_prog=%dp0%\node.exe" 12 | ) ELSE ( 13 | SET "_prog=node" 14 | SET PATHEXT=%PATHEXT:;.JS;=;% 15 | ) 16 | 17 | endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\autoprefixer\bin\autoprefixer" %* 18 | -------------------------------------------------------------------------------- /node_modules/.bin/autoprefixer.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 3 | 4 | $exe="" 5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 6 | # Fix case when both the Windows and Linux builds of Node 7 | # are installed in the same directory 8 | $exe=".exe" 9 | } 10 | $ret=0 11 | if (Test-Path "$basedir/node$exe") { 12 | # Support pipeline input 13 | if ($MyInvocation.ExpectingInput) { 14 | $input | & "$basedir/node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args 15 | } else { 16 | & "$basedir/node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args 17 | } 18 | $ret=$LASTEXITCODE 19 | } else { 20 | # Support pipeline input 21 | if ($MyInvocation.ExpectingInput) { 22 | $input | & "node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args 23 | } else { 24 | & "node$exe" "$basedir/../autoprefixer/bin/autoprefixer" $args 25 | } 26 | $ret=$LASTEXITCODE 27 | } 28 | exit $ret 29 | -------------------------------------------------------------------------------- /node_modules/.bin/browserslist: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../browserslist/cli.js" "$@" 14 | else 15 | exec node "$basedir/../browserslist/cli.js" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /node_modules/.bin/browserslist.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | GOTO start 3 | :find_dp0 4 | SET dp0=%~dp0 5 | EXIT /b 6 | :start 7 | SETLOCAL 8 | CALL :find_dp0 9 | 10 | IF EXIST "%dp0%\node.exe" ( 11 | SET "_prog=%dp0%\node.exe" 12 | ) ELSE ( 13 | SET "_prog=node" 14 | SET PATHEXT=%PATHEXT:;.JS;=;% 15 | ) 16 | 17 | endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\browserslist\cli.js" %* 18 | -------------------------------------------------------------------------------- /node_modules/.bin/browserslist.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 3 | 4 | $exe="" 5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 6 | # Fix case when both the Windows and Linux builds of Node 7 | # are installed in the same directory 8 | $exe=".exe" 9 | } 10 | $ret=0 11 | if (Test-Path "$basedir/node$exe") { 12 | # Support pipeline input 13 | if ($MyInvocation.ExpectingInput) { 14 | $input | & "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args 15 | } else { 16 | & "$basedir/node$exe" "$basedir/../browserslist/cli.js" $args 17 | } 18 | $ret=$LASTEXITCODE 19 | } else { 20 | # Support pipeline input 21 | if ($MyInvocation.ExpectingInput) { 22 | $input | & "node$exe" "$basedir/../browserslist/cli.js" $args 23 | } else { 24 | & "node$exe" "$basedir/../browserslist/cli.js" $args 25 | } 26 | $ret=$LASTEXITCODE 27 | } 28 | exit $ret 29 | -------------------------------------------------------------------------------- /node_modules/.bin/nanoid: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../nanoid/bin/nanoid.cjs" "$@" 14 | else 15 | exec node "$basedir/../nanoid/bin/nanoid.cjs" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /node_modules/.bin/nanoid.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | GOTO start 3 | :find_dp0 4 | SET dp0=%~dp0 5 | EXIT /b 6 | :start 7 | SETLOCAL 8 | CALL :find_dp0 9 | 10 | IF EXIST "%dp0%\node.exe" ( 11 | SET "_prog=%dp0%\node.exe" 12 | ) ELSE ( 13 | SET "_prog=node" 14 | SET PATHEXT=%PATHEXT:;.JS;=;% 15 | ) 16 | 17 | endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\nanoid\bin\nanoid.cjs" %* 18 | -------------------------------------------------------------------------------- /node_modules/.bin/nanoid.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 3 | 4 | $exe="" 5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 6 | # Fix case when both the Windows and Linux builds of Node 7 | # are installed in the same directory 8 | $exe=".exe" 9 | } 10 | $ret=0 11 | if (Test-Path "$basedir/node$exe") { 12 | # Support pipeline input 13 | if ($MyInvocation.ExpectingInput) { 14 | $input | & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args 15 | } else { 16 | & "$basedir/node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args 17 | } 18 | $ret=$LASTEXITCODE 19 | } else { 20 | # Support pipeline input 21 | if ($MyInvocation.ExpectingInput) { 22 | $input | & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args 23 | } else { 24 | & "node$exe" "$basedir/../nanoid/bin/nanoid.cjs" $args 25 | } 26 | $ret=$LASTEXITCODE 27 | } 28 | exit $ret 29 | -------------------------------------------------------------------------------- /node_modules/.bin/update-browserslist-db: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 3 | 4 | case `uname` in 5 | *CYGWIN*|*MINGW*|*MSYS*) 6 | if command -v cygpath > /dev/null 2>&1; then 7 | basedir=`cygpath -w "$basedir"` 8 | fi 9 | ;; 10 | esac 11 | 12 | if [ -x "$basedir/node" ]; then 13 | exec "$basedir/node" "$basedir/../update-browserslist-db/cli.js" "$@" 14 | else 15 | exec node "$basedir/../update-browserslist-db/cli.js" "$@" 16 | fi 17 | -------------------------------------------------------------------------------- /node_modules/.bin/update-browserslist-db.cmd: -------------------------------------------------------------------------------- 1 | @ECHO off 2 | GOTO start 3 | :find_dp0 4 | SET dp0=%~dp0 5 | EXIT /b 6 | :start 7 | SETLOCAL 8 | CALL :find_dp0 9 | 10 | IF EXIST "%dp0%\node.exe" ( 11 | SET "_prog=%dp0%\node.exe" 12 | ) ELSE ( 13 | SET "_prog=node" 14 | SET PATHEXT=%PATHEXT:;.JS;=;% 15 | ) 16 | 17 | endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\update-browserslist-db\cli.js" %* 18 | -------------------------------------------------------------------------------- /node_modules/.bin/update-browserslist-db.ps1: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env pwsh 2 | $basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent 3 | 4 | $exe="" 5 | if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { 6 | # Fix case when both the Windows and Linux builds of Node 7 | # are installed in the same directory 8 | $exe=".exe" 9 | } 10 | $ret=0 11 | if (Test-Path "$basedir/node$exe") { 12 | # Support pipeline input 13 | if ($MyInvocation.ExpectingInput) { 14 | $input | & "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args 15 | } else { 16 | & "$basedir/node$exe" "$basedir/../update-browserslist-db/cli.js" $args 17 | } 18 | $ret=$LASTEXITCODE 19 | } else { 20 | # Support pipeline input 21 | if ($MyInvocation.ExpectingInput) { 22 | $input | & "node$exe" "$basedir/../update-browserslist-db/cli.js" $args 23 | } else { 24 | & "node$exe" "$basedir/../update-browserslist-db/cli.js" $args 25 | } 26 | $ret=$LASTEXITCODE 27 | } 28 | exit $ret 29 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2013 Andrey Sitnik 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/bin/autoprefixer: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | let mode = process.argv[2] 4 | if (mode === '--info') { 5 | process.stdout.write(require('../')().info() + '\n') 6 | } else if (mode === '--version') { 7 | process.stdout.write( 8 | 'autoprefixer ' + require('../package.json').version + '\n' 9 | ) 10 | } else { 11 | process.stdout.write( 12 | 'autoprefix\n' + 13 | '\n' + 14 | 'Options:\n' + 15 | ' --info Show target browsers and used prefixes\n' + 16 | ' --version Show version number\n' + 17 | ' --help Show help\n' + 18 | '\n' + 19 | 'Usage:\n' + 20 | ' autoprefixer --info\n' 21 | ) 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/at-rule.js: -------------------------------------------------------------------------------- 1 | let Prefixer = require('./prefixer') 2 | 3 | class AtRule extends Prefixer { 4 | /** 5 | * Clone and add prefixes for at-rule 6 | */ 7 | add(rule, prefix) { 8 | let prefixed = prefix + rule.name 9 | 10 | let already = rule.parent.some( 11 | i => i.name === prefixed && i.params === rule.params 12 | ) 13 | if (already) { 14 | return undefined 15 | } 16 | 17 | let cloned = this.clone(rule, { name: prefixed }) 18 | return rule.parent.insertBefore(rule, cloned) 19 | } 20 | 21 | /** 22 | * Clone node with prefixes 23 | */ 24 | process(node) { 25 | let parent = this.parentPrefix(node) 26 | 27 | for (let prefix of this.prefixes) { 28 | if (!parent || parent === prefix) { 29 | this.add(node, prefix) 30 | } 31 | } 32 | } 33 | } 34 | 35 | module.exports = AtRule 36 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/brackets.js: -------------------------------------------------------------------------------- 1 | function last(array) { 2 | return array[array.length - 1] 3 | } 4 | 5 | let brackets = { 6 | /** 7 | * Parse string to nodes tree 8 | */ 9 | parse(str) { 10 | let current = [''] 11 | let stack = [current] 12 | 13 | for (let sym of str) { 14 | if (sym === '(') { 15 | current = [''] 16 | last(stack).push(current) 17 | stack.push(current) 18 | continue 19 | } 20 | 21 | if (sym === ')') { 22 | stack.pop() 23 | current = last(stack) 24 | current.push('') 25 | continue 26 | } 27 | 28 | current[current.length - 1] += sym 29 | } 30 | 31 | return stack[0] 32 | }, 33 | 34 | /** 35 | * Generate output string by nodes tree 36 | */ 37 | stringify(ast) { 38 | let result = '' 39 | for (let i of ast) { 40 | if (typeof i === 'object') { 41 | result += `(${brackets.stringify(i)})` 42 | continue 43 | } 44 | 45 | result += i 46 | } 47 | return result 48 | } 49 | } 50 | 51 | module.exports = brackets 52 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/align-content.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class AlignContent extends Declaration { 5 | /** 6 | * Return property name by final spec 7 | */ 8 | normalize() { 9 | return 'align-content' 10 | } 11 | 12 | /** 13 | * Change property name for 2012 spec 14 | */ 15 | prefixed(prop, prefix) { 16 | let spec 17 | ;[spec, prefix] = flexSpec(prefix) 18 | if (spec === 2012) { 19 | return prefix + 'flex-line-pack' 20 | } 21 | return super.prefixed(prop, prefix) 22 | } 23 | 24 | /** 25 | * Change value for 2012 spec and ignore prefix for 2009 26 | */ 27 | set(decl, prefix) { 28 | let spec = flexSpec(prefix)[0] 29 | if (spec === 2012) { 30 | decl.value = AlignContent.oldValues[decl.value] || decl.value 31 | return super.set(decl, prefix) 32 | } 33 | if (spec === 'final') { 34 | return super.set(decl, prefix) 35 | } 36 | return undefined 37 | } 38 | } 39 | 40 | AlignContent.names = ['align-content', 'flex-line-pack'] 41 | 42 | AlignContent.oldValues = { 43 | 'flex-end': 'end', 44 | 'flex-start': 'start', 45 | 'space-around': 'distribute', 46 | 'space-between': 'justify' 47 | } 48 | 49 | module.exports = AlignContent 50 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/align-items.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class AlignItems extends Declaration { 5 | /** 6 | * Return property name by final spec 7 | */ 8 | normalize() { 9 | return 'align-items' 10 | } 11 | 12 | /** 13 | * Change property name for 2009 and 2012 specs 14 | */ 15 | prefixed(prop, prefix) { 16 | let spec 17 | ;[spec, prefix] = flexSpec(prefix) 18 | if (spec === 2009) { 19 | return prefix + 'box-align' 20 | } 21 | if (spec === 2012) { 22 | return prefix + 'flex-align' 23 | } 24 | return super.prefixed(prop, prefix) 25 | } 26 | 27 | /** 28 | * Change value for 2009 and 2012 specs 29 | */ 30 | set(decl, prefix) { 31 | let spec = flexSpec(prefix)[0] 32 | if (spec === 2009 || spec === 2012) { 33 | decl.value = AlignItems.oldValues[decl.value] || decl.value 34 | } 35 | return super.set(decl, prefix) 36 | } 37 | } 38 | 39 | AlignItems.names = ['align-items', 'flex-align', 'box-align'] 40 | 41 | AlignItems.oldValues = { 42 | 'flex-end': 'end', 43 | 'flex-start': 'start' 44 | } 45 | 46 | module.exports = AlignItems 47 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/align-self.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class AlignSelf extends Declaration { 5 | check(decl) { 6 | return ( 7 | decl.parent && 8 | !decl.parent.some(i => { 9 | return i.prop && i.prop.startsWith('grid-') 10 | }) 11 | ) 12 | } 13 | 14 | /** 15 | * Return property name by final spec 16 | */ 17 | normalize() { 18 | return 'align-self' 19 | } 20 | 21 | /** 22 | * Change property name for 2012 specs 23 | */ 24 | prefixed(prop, prefix) { 25 | let spec 26 | ;[spec, prefix] = flexSpec(prefix) 27 | if (spec === 2012) { 28 | return prefix + 'flex-item-align' 29 | } 30 | return super.prefixed(prop, prefix) 31 | } 32 | 33 | /** 34 | * Change value for 2012 spec and ignore prefix for 2009 35 | */ 36 | set(decl, prefix) { 37 | let spec = flexSpec(prefix)[0] 38 | if (spec === 2012) { 39 | decl.value = AlignSelf.oldValues[decl.value] || decl.value 40 | return super.set(decl, prefix) 41 | } 42 | if (spec === 'final') { 43 | return super.set(decl, prefix) 44 | } 45 | return undefined 46 | } 47 | } 48 | 49 | AlignSelf.names = ['align-self', 'flex-item-align'] 50 | 51 | AlignSelf.oldValues = { 52 | 'flex-end': 'end', 53 | 'flex-start': 'start' 54 | } 55 | 56 | module.exports = AlignSelf 57 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/animation.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class Animation extends Declaration { 4 | /** 5 | * Don’t add prefixes for modern values. 6 | */ 7 | check(decl) { 8 | return !decl.value.split(/\s+/).some(i => { 9 | let lower = i.toLowerCase() 10 | return lower === 'reverse' || lower === 'alternate-reverse' 11 | }) 12 | } 13 | } 14 | 15 | Animation.names = ['animation', 'animation-direction'] 16 | 17 | module.exports = Animation 18 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/appearance.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | let utils = require('../utils') 3 | 4 | class Appearance extends Declaration { 5 | constructor(name, prefixes, all) { 6 | super(name, prefixes, all) 7 | 8 | if (this.prefixes) { 9 | this.prefixes = utils.uniq( 10 | this.prefixes.map(i => { 11 | if (i === '-ms-') { 12 | return '-webkit-' 13 | } 14 | return i 15 | }) 16 | ) 17 | } 18 | } 19 | } 20 | 21 | Appearance.names = ['appearance'] 22 | 23 | module.exports = Appearance 24 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/autofill.js: -------------------------------------------------------------------------------- 1 | let Selector = require('../selector') 2 | let utils = require('../utils') 3 | 4 | class Autofill extends Selector { 5 | constructor(name, prefixes, all) { 6 | super(name, prefixes, all) 7 | 8 | if (this.prefixes) { 9 | this.prefixes = utils.uniq(this.prefixes.map(() => '-webkit-')) 10 | } 11 | } 12 | 13 | /** 14 | * Return different selectors depend on prefix 15 | */ 16 | prefixed(prefix) { 17 | if (prefix === '-webkit-') { 18 | return ':-webkit-autofill' 19 | } 20 | return `:${prefix}autofill` 21 | } 22 | } 23 | 24 | Autofill.names = [':autofill'] 25 | 26 | module.exports = Autofill 27 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/backdrop-filter.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | let utils = require('../utils') 3 | 4 | class BackdropFilter extends Declaration { 5 | constructor(name, prefixes, all) { 6 | super(name, prefixes, all) 7 | 8 | if (this.prefixes) { 9 | this.prefixes = utils.uniq( 10 | this.prefixes.map(i => { 11 | return i === '-ms-' ? '-webkit-' : i 12 | }) 13 | ) 14 | } 15 | } 16 | } 17 | 18 | BackdropFilter.names = ['backdrop-filter'] 19 | 20 | module.exports = BackdropFilter 21 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/background-clip.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | let utils = require('../utils') 3 | 4 | class BackgroundClip extends Declaration { 5 | constructor(name, prefixes, all) { 6 | super(name, prefixes, all) 7 | 8 | if (this.prefixes) { 9 | this.prefixes = utils.uniq( 10 | this.prefixes.map(i => { 11 | return i === '-ms-' ? '-webkit-' : i 12 | }) 13 | ) 14 | } 15 | } 16 | 17 | check(decl) { 18 | return decl.value.toLowerCase() === 'text' 19 | } 20 | } 21 | 22 | BackgroundClip.names = ['background-clip'] 23 | 24 | module.exports = BackgroundClip 25 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/background-size.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class BackgroundSize extends Declaration { 4 | /** 5 | * Duplication parameter for -webkit- browsers 6 | */ 7 | set(decl, prefix) { 8 | let value = decl.value.toLowerCase() 9 | if ( 10 | prefix === '-webkit-' && 11 | !value.includes(' ') && 12 | value !== 'contain' && 13 | value !== 'cover' 14 | ) { 15 | decl.value = decl.value + ' ' + decl.value 16 | } 17 | return super.set(decl, prefix) 18 | } 19 | } 20 | 21 | BackgroundSize.names = ['background-size'] 22 | 23 | module.exports = BackgroundSize 24 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/block-logical.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class BlockLogical extends Declaration { 4 | /** 5 | * Return property name by spec 6 | */ 7 | normalize(prop) { 8 | if (prop.includes('-before')) { 9 | return prop.replace('-before', '-block-start') 10 | } 11 | return prop.replace('-after', '-block-end') 12 | } 13 | 14 | /** 15 | * Use old syntax for -moz- and -webkit- 16 | */ 17 | prefixed(prop, prefix) { 18 | if (prop.includes('-start')) { 19 | return prefix + prop.replace('-block-start', '-before') 20 | } 21 | return prefix + prop.replace('-block-end', '-after') 22 | } 23 | } 24 | 25 | BlockLogical.names = [ 26 | 'border-block-start', 27 | 'border-block-end', 28 | 'margin-block-start', 29 | 'margin-block-end', 30 | 'padding-block-start', 31 | 'padding-block-end', 32 | 'border-before', 33 | 'border-after', 34 | 'margin-before', 35 | 'margin-after', 36 | 'padding-before', 37 | 'padding-after' 38 | ] 39 | 40 | module.exports = BlockLogical 41 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/border-image.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class BorderImage extends Declaration { 4 | /** 5 | * Remove fill parameter for prefixed declarations 6 | */ 7 | set(decl, prefix) { 8 | decl.value = decl.value.replace(/\s+fill(\s)/, '$1') 9 | return super.set(decl, prefix) 10 | } 11 | } 12 | 13 | BorderImage.names = ['border-image'] 14 | 15 | module.exports = BorderImage 16 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/border-radius.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class BorderRadius extends Declaration { 4 | /** 5 | * Return unprefixed version of property 6 | */ 7 | normalize(prop) { 8 | return BorderRadius.toNormal[prop] || prop 9 | } 10 | 11 | /** 12 | * Change syntax, when add Mozilla prefix 13 | */ 14 | prefixed(prop, prefix) { 15 | if (prefix === '-moz-') { 16 | return prefix + (BorderRadius.toMozilla[prop] || prop) 17 | } 18 | return super.prefixed(prop, prefix) 19 | } 20 | } 21 | 22 | BorderRadius.names = ['border-radius'] 23 | 24 | BorderRadius.toMozilla = {} 25 | BorderRadius.toNormal = {} 26 | 27 | for (let ver of ['top', 'bottom']) { 28 | for (let hor of ['left', 'right']) { 29 | let normal = `border-${ver}-${hor}-radius` 30 | let mozilla = `border-radius-${ver}${hor}` 31 | 32 | BorderRadius.names.push(normal) 33 | BorderRadius.names.push(mozilla) 34 | 35 | BorderRadius.toMozilla[normal] = mozilla 36 | BorderRadius.toNormal[mozilla] = normal 37 | } 38 | } 39 | 40 | module.exports = BorderRadius 41 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/break-props.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class BreakProps extends Declaration { 4 | /** 5 | * Don’t prefix some values 6 | */ 7 | insert(decl, prefix, prefixes) { 8 | if (decl.prop !== 'break-inside') { 9 | return super.insert(decl, prefix, prefixes) 10 | } 11 | if (/region/i.test(decl.value) || /page/i.test(decl.value)) { 12 | return undefined 13 | } 14 | return super.insert(decl, prefix, prefixes) 15 | } 16 | 17 | /** 18 | * Return property name by final spec 19 | */ 20 | normalize(prop) { 21 | if (prop.includes('inside')) { 22 | return 'break-inside' 23 | } 24 | if (prop.includes('before')) { 25 | return 'break-before' 26 | } 27 | return 'break-after' 28 | } 29 | 30 | /** 31 | * Change name for -webkit- and -moz- prefix 32 | */ 33 | prefixed(prop, prefix) { 34 | return `${prefix}column-${prop}` 35 | } 36 | 37 | /** 38 | * Change prefixed value for avoid-column and avoid-page 39 | */ 40 | set(decl, prefix) { 41 | if ( 42 | (decl.prop === 'break-inside' && decl.value === 'avoid-column') || 43 | decl.value === 'avoid-page' 44 | ) { 45 | decl.value = 'avoid' 46 | } 47 | return super.set(decl, prefix) 48 | } 49 | } 50 | 51 | BreakProps.names = [ 52 | 'break-inside', 53 | 'page-break-inside', 54 | 'column-break-inside', 55 | 'break-before', 56 | 'page-break-before', 57 | 'column-break-before', 58 | 'break-after', 59 | 'page-break-after', 60 | 'column-break-after' 61 | ] 62 | 63 | module.exports = BreakProps 64 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/cross-fade.js: -------------------------------------------------------------------------------- 1 | let list = require('postcss').list 2 | 3 | let Value = require('../value') 4 | 5 | class CrossFade extends Value { 6 | replace(string, prefix) { 7 | return list 8 | .space(string) 9 | .map(value => { 10 | if (value.slice(0, +this.name.length + 1) !== this.name + '(') { 11 | return value 12 | } 13 | 14 | let close = value.lastIndexOf(')') 15 | let after = value.slice(close + 1) 16 | let args = value.slice(this.name.length + 1, close) 17 | 18 | if (prefix === '-webkit-') { 19 | let match = args.match(/\d*.?\d+%?/) 20 | if (match) { 21 | args = args.slice(match[0].length).trim() 22 | args += `, ${match[0]}` 23 | } else { 24 | args += ', 0.5' 25 | } 26 | } 27 | return prefix + this.name + '(' + args + ')' + after 28 | }) 29 | .join(' ') 30 | } 31 | } 32 | 33 | CrossFade.names = ['cross-fade'] 34 | 35 | module.exports = CrossFade 36 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/display-flex.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let OldValue = require('../old-value') 3 | let Value = require('../value') 4 | 5 | class DisplayFlex extends Value { 6 | constructor(name, prefixes) { 7 | super(name, prefixes) 8 | if (name === 'display-flex') { 9 | this.name = 'flex' 10 | } 11 | } 12 | 13 | /** 14 | * Faster check for flex value 15 | */ 16 | check(decl) { 17 | return decl.prop === 'display' && decl.value === this.name 18 | } 19 | 20 | /** 21 | * Change value for old specs 22 | */ 23 | old(prefix) { 24 | let prefixed = this.prefixed(prefix) 25 | if (!prefixed) return undefined 26 | return new OldValue(this.name, prefixed) 27 | } 28 | 29 | /** 30 | * Return value by spec 31 | */ 32 | prefixed(prefix) { 33 | let spec, value 34 | ;[spec, prefix] = flexSpec(prefix) 35 | 36 | if (spec === 2009) { 37 | if (this.name === 'flex') { 38 | value = 'box' 39 | } else { 40 | value = 'inline-box' 41 | } 42 | } else if (spec === 2012) { 43 | if (this.name === 'flex') { 44 | value = 'flexbox' 45 | } else { 46 | value = 'inline-flexbox' 47 | } 48 | } else if (spec === 'final') { 49 | value = this.name 50 | } 51 | 52 | return prefix + value 53 | } 54 | 55 | /** 56 | * Add prefix to value depend on flebox spec version 57 | */ 58 | replace(string, prefix) { 59 | return this.prefixed(prefix) 60 | } 61 | } 62 | 63 | DisplayFlex.names = ['display-flex', 'inline-flex'] 64 | 65 | module.exports = DisplayFlex 66 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/display-grid.js: -------------------------------------------------------------------------------- 1 | let Value = require('../value') 2 | 3 | class DisplayGrid extends Value { 4 | constructor(name, prefixes) { 5 | super(name, prefixes) 6 | if (name === 'display-grid') { 7 | this.name = 'grid' 8 | } 9 | } 10 | 11 | /** 12 | * Faster check for flex value 13 | */ 14 | check(decl) { 15 | return decl.prop === 'display' && decl.value === this.name 16 | } 17 | } 18 | 19 | DisplayGrid.names = ['display-grid', 'inline-grid'] 20 | 21 | module.exports = DisplayGrid 22 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/file-selector-button.js: -------------------------------------------------------------------------------- 1 | let Selector = require('../selector') 2 | let utils = require('../utils') 3 | 4 | class FileSelectorButton extends Selector { 5 | constructor(name, prefixes, all) { 6 | super(name, prefixes, all) 7 | 8 | if (this.prefixes) { 9 | this.prefixes = utils.uniq(this.prefixes.map(() => '-webkit-')) 10 | } 11 | } 12 | 13 | /** 14 | * Return different selectors depend on prefix 15 | */ 16 | prefixed(prefix) { 17 | if (prefix === '-webkit-') { 18 | return '::-webkit-file-upload-button' 19 | } 20 | return `::${prefix}file-selector-button` 21 | } 22 | } 23 | 24 | FileSelectorButton.names = ['::file-selector-button'] 25 | 26 | module.exports = FileSelectorButton 27 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/filter-value.js: -------------------------------------------------------------------------------- 1 | let Value = require('../value') 2 | 3 | class FilterValue extends Value { 4 | constructor(name, prefixes) { 5 | super(name, prefixes) 6 | if (name === 'filter-function') { 7 | this.name = 'filter' 8 | } 9 | } 10 | } 11 | 12 | FilterValue.names = ['filter', 'filter-function'] 13 | 14 | module.exports = FilterValue 15 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/filter.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class Filter extends Declaration { 4 | /** 5 | * Check is it Internet Explorer filter 6 | */ 7 | check(decl) { 8 | let v = decl.value 9 | return ( 10 | !v.toLowerCase().includes('alpha(') && 11 | !v.includes('DXImageTransform.Microsoft') && 12 | !v.includes('data:image/svg+xml') 13 | ) 14 | } 15 | } 16 | 17 | Filter.names = ['filter'] 18 | 19 | module.exports = Filter 20 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/flex-basis.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class FlexBasis extends Declaration { 5 | /** 6 | * Return property name by final spec 7 | */ 8 | normalize() { 9 | return 'flex-basis' 10 | } 11 | 12 | /** 13 | * Return flex property for 2012 spec 14 | */ 15 | prefixed(prop, prefix) { 16 | let spec 17 | ;[spec, prefix] = flexSpec(prefix) 18 | if (spec === 2012) { 19 | return prefix + 'flex-preferred-size' 20 | } 21 | return super.prefixed(prop, prefix) 22 | } 23 | 24 | /** 25 | * Ignore 2009 spec and use flex property for 2012 26 | */ 27 | set(decl, prefix) { 28 | let spec 29 | ;[spec, prefix] = flexSpec(prefix) 30 | if (spec === 2012 || spec === 'final') { 31 | return super.set(decl, prefix) 32 | } 33 | return undefined 34 | } 35 | } 36 | 37 | FlexBasis.names = ['flex-basis', 'flex-preferred-size'] 38 | 39 | module.exports = FlexBasis 40 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/flex-flow.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class FlexFlow extends Declaration { 5 | /** 6 | * Use two properties for 2009 spec 7 | */ 8 | insert(decl, prefix, prefixes) { 9 | let spec 10 | ;[spec, prefix] = flexSpec(prefix) 11 | if (spec !== 2009) { 12 | return super.insert(decl, prefix, prefixes) 13 | } 14 | let values = decl.value 15 | .split(/\s+/) 16 | .filter(i => i !== 'wrap' && i !== 'nowrap' && 'wrap-reverse') 17 | if (values.length === 0) { 18 | return undefined 19 | } 20 | 21 | let already = decl.parent.some( 22 | i => 23 | i.prop === prefix + 'box-orient' || i.prop === prefix + 'box-direction' 24 | ) 25 | if (already) { 26 | return undefined 27 | } 28 | 29 | let value = values[0] 30 | let orient = value.includes('row') ? 'horizontal' : 'vertical' 31 | let dir = value.includes('reverse') ? 'reverse' : 'normal' 32 | 33 | let cloned = this.clone(decl) 34 | cloned.prop = prefix + 'box-orient' 35 | cloned.value = orient 36 | if (this.needCascade(decl)) { 37 | cloned.raws.before = this.calcBefore(prefixes, decl, prefix) 38 | } 39 | decl.parent.insertBefore(decl, cloned) 40 | 41 | cloned = this.clone(decl) 42 | cloned.prop = prefix + 'box-direction' 43 | cloned.value = dir 44 | if (this.needCascade(decl)) { 45 | cloned.raws.before = this.calcBefore(prefixes, decl, prefix) 46 | } 47 | return decl.parent.insertBefore(decl, cloned) 48 | } 49 | } 50 | 51 | FlexFlow.names = ['flex-flow', 'box-direction', 'box-orient'] 52 | 53 | module.exports = FlexFlow 54 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/flex-grow.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class Flex extends Declaration { 5 | /** 6 | * Return property name by final spec 7 | */ 8 | normalize() { 9 | return 'flex' 10 | } 11 | 12 | /** 13 | * Return flex property for 2009 and 2012 specs 14 | */ 15 | prefixed(prop, prefix) { 16 | let spec 17 | ;[spec, prefix] = flexSpec(prefix) 18 | if (spec === 2009) { 19 | return prefix + 'box-flex' 20 | } 21 | if (spec === 2012) { 22 | return prefix + 'flex-positive' 23 | } 24 | return super.prefixed(prop, prefix) 25 | } 26 | } 27 | 28 | Flex.names = ['flex-grow', 'flex-positive'] 29 | 30 | module.exports = Flex 31 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/flex-shrink.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class FlexShrink extends Declaration { 5 | /** 6 | * Return property name by final spec 7 | */ 8 | normalize() { 9 | return 'flex-shrink' 10 | } 11 | 12 | /** 13 | * Return flex property for 2012 spec 14 | */ 15 | prefixed(prop, prefix) { 16 | let spec 17 | ;[spec, prefix] = flexSpec(prefix) 18 | if (spec === 2012) { 19 | return prefix + 'flex-negative' 20 | } 21 | return super.prefixed(prop, prefix) 22 | } 23 | 24 | /** 25 | * Ignore 2009 spec and use flex property for 2012 26 | */ 27 | set(decl, prefix) { 28 | let spec 29 | ;[spec, prefix] = flexSpec(prefix) 30 | if (spec === 2012 || spec === 'final') { 31 | return super.set(decl, prefix) 32 | } 33 | return undefined 34 | } 35 | } 36 | 37 | FlexShrink.names = ['flex-shrink', 'flex-negative'] 38 | 39 | module.exports = FlexShrink 40 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/flex-spec.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Return flexbox spec versions by prefix 3 | */ 4 | module.exports = function (prefix) { 5 | let spec 6 | if (prefix === '-webkit- 2009' || prefix === '-moz-') { 7 | spec = 2009 8 | } else if (prefix === '-ms-') { 9 | spec = 2012 10 | } else if (prefix === '-webkit-') { 11 | spec = 'final' 12 | } 13 | 14 | if (prefix === '-webkit- 2009') { 15 | prefix = '-webkit-' 16 | } 17 | 18 | return [spec, prefix] 19 | } 20 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/flex-wrap.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class FlexWrap extends Declaration { 5 | /** 6 | * Don't add prefix for 2009 spec 7 | */ 8 | set(decl, prefix) { 9 | let spec = flexSpec(prefix)[0] 10 | if (spec !== 2009) { 11 | return super.set(decl, prefix) 12 | } 13 | return undefined 14 | } 15 | } 16 | 17 | FlexWrap.names = ['flex-wrap'] 18 | 19 | module.exports = FlexWrap 20 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/flex.js: -------------------------------------------------------------------------------- 1 | let list = require('postcss').list 2 | 3 | let flexSpec = require('./flex-spec') 4 | let Declaration = require('../declaration') 5 | 6 | class Flex extends Declaration { 7 | /** 8 | * Return property name by final spec 9 | */ 10 | normalize() { 11 | return 'flex' 12 | } 13 | 14 | /** 15 | * Change property name for 2009 spec 16 | */ 17 | prefixed(prop, prefix) { 18 | let spec 19 | ;[spec, prefix] = flexSpec(prefix) 20 | if (spec === 2009) { 21 | return prefix + 'box-flex' 22 | } 23 | return super.prefixed(prop, prefix) 24 | } 25 | 26 | /** 27 | * Spec 2009 supports only first argument 28 | * Spec 2012 disallows unitless basis 29 | */ 30 | set(decl, prefix) { 31 | let spec = flexSpec(prefix)[0] 32 | if (spec === 2009) { 33 | decl.value = list.space(decl.value)[0] 34 | decl.value = Flex.oldValues[decl.value] || decl.value 35 | return super.set(decl, prefix) 36 | } 37 | if (spec === 2012) { 38 | let components = list.space(decl.value) 39 | if (components.length === 3 && components[2] === '0') { 40 | decl.value = components.slice(0, 2).concat('0px').join(' ') 41 | } 42 | } 43 | return super.set(decl, prefix) 44 | } 45 | } 46 | 47 | Flex.names = ['flex', 'box-flex'] 48 | 49 | Flex.oldValues = { 50 | auto: '1', 51 | none: '0' 52 | } 53 | 54 | module.exports = Flex 55 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/fullscreen.js: -------------------------------------------------------------------------------- 1 | let Selector = require('../selector') 2 | 3 | class Fullscreen extends Selector { 4 | /** 5 | * Return different selectors depend on prefix 6 | */ 7 | prefixed(prefix) { 8 | if (prefix === '-webkit-') { 9 | return ':-webkit-full-screen' 10 | } 11 | if (prefix === '-moz-') { 12 | return ':-moz-full-screen' 13 | } 14 | return `:${prefix}fullscreen` 15 | } 16 | } 17 | 18 | Fullscreen.names = [':fullscreen'] 19 | 20 | module.exports = Fullscreen 21 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/grid-area.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | let utils = require('./grid-utils') 3 | 4 | class GridArea extends Declaration { 5 | /** 6 | * Translate grid-area to separate -ms- prefixed properties 7 | */ 8 | insert(decl, prefix, prefixes, result) { 9 | if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) 10 | 11 | let values = utils.parse(decl) 12 | 13 | let [rowStart, rowSpan] = utils.translate(values, 0, 2) 14 | let [columnStart, columnSpan] = utils.translate(values, 1, 3) 15 | 16 | ;[ 17 | ['grid-row', rowStart], 18 | ['grid-row-span', rowSpan], 19 | ['grid-column', columnStart], 20 | ['grid-column-span', columnSpan] 21 | ].forEach(([prop, value]) => { 22 | utils.insertDecl(decl, prop, value) 23 | }) 24 | 25 | utils.warnTemplateSelectorNotFound(decl, result) 26 | utils.warnIfGridRowColumnExists(decl, result) 27 | 28 | return undefined 29 | } 30 | } 31 | 32 | GridArea.names = ['grid-area'] 33 | 34 | module.exports = GridArea 35 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/grid-column-align.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class GridColumnAlign extends Declaration { 4 | /** 5 | * Do not prefix flexbox values 6 | */ 7 | check(decl) { 8 | return !decl.value.includes('flex-') && decl.value !== 'baseline' 9 | } 10 | 11 | /** 12 | * Change IE property back 13 | */ 14 | normalize() { 15 | return 'justify-self' 16 | } 17 | 18 | /** 19 | * Change property name for IE 20 | */ 21 | prefixed(prop, prefix) { 22 | return prefix + 'grid-column-align' 23 | } 24 | } 25 | 26 | GridColumnAlign.names = ['grid-column-align'] 27 | 28 | module.exports = GridColumnAlign 29 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/grid-end.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | let { isPureNumber } = require('../utils') 3 | 4 | class GridEnd extends Declaration { 5 | /** 6 | * Change repeating syntax for IE 7 | */ 8 | insert(decl, prefix, prefixes, result) { 9 | if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) 10 | 11 | let clonedDecl = this.clone(decl) 12 | 13 | let startProp = decl.prop.replace(/end$/, 'start') 14 | let spanProp = prefix + decl.prop.replace(/end$/, 'span') 15 | 16 | if (decl.parent.some(i => i.prop === spanProp)) { 17 | return undefined 18 | } 19 | 20 | clonedDecl.prop = spanProp 21 | 22 | if (decl.value.includes('span')) { 23 | clonedDecl.value = decl.value.replace(/span\s/i, '') 24 | } else { 25 | let startDecl 26 | decl.parent.walkDecls(startProp, d => { 27 | startDecl = d 28 | }) 29 | if (startDecl) { 30 | if (isPureNumber(startDecl.value)) { 31 | let value = Number(decl.value) - Number(startDecl.value) + '' 32 | clonedDecl.value = value 33 | } else { 34 | return undefined 35 | } 36 | } else { 37 | decl.warn( 38 | result, 39 | `Can not prefix ${decl.prop} (${startProp} is not found)` 40 | ) 41 | } 42 | } 43 | 44 | decl.cloneBefore(clonedDecl) 45 | 46 | return undefined 47 | } 48 | } 49 | 50 | GridEnd.names = ['grid-row-end', 'grid-column-end'] 51 | 52 | module.exports = GridEnd 53 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/grid-row-align.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class GridRowAlign extends Declaration { 4 | /** 5 | * Do not prefix flexbox values 6 | */ 7 | check(decl) { 8 | return !decl.value.includes('flex-') && decl.value !== 'baseline' 9 | } 10 | 11 | /** 12 | * Change IE property back 13 | */ 14 | normalize() { 15 | return 'align-self' 16 | } 17 | 18 | /** 19 | * Change property name for IE 20 | */ 21 | prefixed(prop, prefix) { 22 | return prefix + 'grid-row-align' 23 | } 24 | } 25 | 26 | GridRowAlign.names = ['grid-row-align'] 27 | 28 | module.exports = GridRowAlign 29 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/grid-row-column.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | let utils = require('./grid-utils') 3 | 4 | class GridRowColumn extends Declaration { 5 | /** 6 | * Translate grid-row / grid-column to separate -ms- prefixed properties 7 | */ 8 | insert(decl, prefix, prefixes) { 9 | if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) 10 | 11 | let values = utils.parse(decl) 12 | let [start, span] = utils.translate(values, 0, 1) 13 | 14 | let hasStartValueSpan = values[0] && values[0].includes('span') 15 | 16 | if (hasStartValueSpan) { 17 | span = values[0].join('').replace(/\D/g, '') 18 | } 19 | 20 | ;[ 21 | [decl.prop, start], 22 | [`${decl.prop}-span`, span] 23 | ].forEach(([prop, value]) => { 24 | utils.insertDecl(decl, prop, value) 25 | }) 26 | 27 | return undefined 28 | } 29 | } 30 | 31 | GridRowColumn.names = ['grid-row', 'grid-column'] 32 | 33 | module.exports = GridRowColumn 34 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/grid-start.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class GridStart extends Declaration { 4 | /** 5 | * Do not add prefix for unsupported value in IE 6 | */ 7 | check(decl) { 8 | let value = decl.value 9 | return !value.includes('/') && !value.includes('span') 10 | } 11 | 12 | /** 13 | * Return a final spec property 14 | */ 15 | normalize(prop) { 16 | return prop.replace('-start', '') 17 | } 18 | 19 | /** 20 | * Change property name for IE 21 | */ 22 | prefixed(prop, prefix) { 23 | let result = super.prefixed(prop, prefix) 24 | if (prefix === '-ms-') { 25 | result = result.replace('-start', '') 26 | } 27 | return result 28 | } 29 | } 30 | 31 | GridStart.names = ['grid-row-start', 'grid-column-start'] 32 | 33 | module.exports = GridStart 34 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/grid-template.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | let { 3 | getGridGap, 4 | inheritGridGap, 5 | parseTemplate, 6 | warnGridGap, 7 | warnMissedAreas 8 | } = require('./grid-utils') 9 | 10 | class GridTemplate extends Declaration { 11 | /** 12 | * Translate grid-template to separate -ms- prefixed properties 13 | */ 14 | insert(decl, prefix, prefixes, result) { 15 | if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) 16 | 17 | if (decl.parent.some(i => i.prop === '-ms-grid-rows')) { 18 | return undefined 19 | } 20 | 21 | let gap = getGridGap(decl) 22 | 23 | /** 24 | * we must insert inherited gap values in some cases: 25 | * if we are inside media query && if we have no grid-gap value 26 | */ 27 | let inheritedGap = inheritGridGap(decl, gap) 28 | 29 | let { areas, columns, rows } = parseTemplate({ 30 | decl, 31 | gap: inheritedGap || gap 32 | }) 33 | 34 | let hasAreas = Object.keys(areas).length > 0 35 | let hasRows = Boolean(rows) 36 | let hasColumns = Boolean(columns) 37 | 38 | warnGridGap({ 39 | decl, 40 | gap, 41 | hasColumns, 42 | result 43 | }) 44 | 45 | warnMissedAreas(areas, decl, result) 46 | 47 | if ((hasRows && hasColumns) || hasAreas) { 48 | decl.cloneBefore({ 49 | prop: '-ms-grid-rows', 50 | raws: {}, 51 | value: rows 52 | }) 53 | } 54 | 55 | if (hasColumns) { 56 | decl.cloneBefore({ 57 | prop: '-ms-grid-columns', 58 | raws: {}, 59 | value: columns 60 | }) 61 | } 62 | 63 | return decl 64 | } 65 | } 66 | 67 | GridTemplate.names = ['grid-template'] 68 | 69 | module.exports = GridTemplate 70 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/image-rendering.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class ImageRendering extends Declaration { 4 | /** 5 | * Add hack only for crisp-edges 6 | */ 7 | check(decl) { 8 | return decl.value === 'pixelated' 9 | } 10 | 11 | /** 12 | * Return property name by spec 13 | */ 14 | normalize() { 15 | return 'image-rendering' 16 | } 17 | 18 | /** 19 | * Change property name for IE 20 | */ 21 | prefixed(prop, prefix) { 22 | if (prefix === '-ms-') { 23 | return '-ms-interpolation-mode' 24 | } 25 | return super.prefixed(prop, prefix) 26 | } 27 | 28 | /** 29 | * Warn on old value 30 | */ 31 | process(node, result) { 32 | return super.process(node, result) 33 | } 34 | 35 | /** 36 | * Change property and value for IE 37 | */ 38 | set(decl, prefix) { 39 | if (prefix !== '-ms-') return super.set(decl, prefix) 40 | decl.prop = '-ms-interpolation-mode' 41 | decl.value = 'nearest-neighbor' 42 | return decl 43 | } 44 | } 45 | 46 | ImageRendering.names = ['image-rendering', 'interpolation-mode'] 47 | 48 | module.exports = ImageRendering 49 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/image-set.js: -------------------------------------------------------------------------------- 1 | let Value = require('../value') 2 | 3 | class ImageSet extends Value { 4 | /** 5 | * Use non-standard name for WebKit and Firefox 6 | */ 7 | replace(string, prefix) { 8 | let fixed = super.replace(string, prefix) 9 | if (prefix === '-webkit-') { 10 | fixed = fixed.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi, 'url($1)$2') 11 | } 12 | return fixed 13 | } 14 | } 15 | 16 | ImageSet.names = ['image-set'] 17 | 18 | module.exports = ImageSet 19 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/inline-logical.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class InlineLogical extends Declaration { 4 | /** 5 | * Return property name by spec 6 | */ 7 | normalize(prop) { 8 | return prop.replace(/(margin|padding|border)-(start|end)/, '$1-inline-$2') 9 | } 10 | 11 | /** 12 | * Use old syntax for -moz- and -webkit- 13 | */ 14 | prefixed(prop, prefix) { 15 | return prefix + prop.replace('-inline', '') 16 | } 17 | } 18 | 19 | InlineLogical.names = [ 20 | 'border-inline-start', 21 | 'border-inline-end', 22 | 'margin-inline-start', 23 | 'margin-inline-end', 24 | 'padding-inline-start', 25 | 'padding-inline-end', 26 | 'border-start', 27 | 'border-end', 28 | 'margin-start', 29 | 'margin-end', 30 | 'padding-start', 31 | 'padding-end' 32 | ] 33 | 34 | module.exports = InlineLogical 35 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/intrinsic.js: -------------------------------------------------------------------------------- 1 | let OldValue = require('../old-value') 2 | let Value = require('../value') 3 | 4 | function regexp(name) { 5 | return new RegExp(`(^|[\\s,(])(${name}($|[\\s),]))`, 'gi') 6 | } 7 | 8 | class Intrinsic extends Value { 9 | add(decl, prefix) { 10 | if (decl.prop.includes('grid') && prefix !== '-webkit-') { 11 | return undefined 12 | } 13 | return super.add(decl, prefix) 14 | } 15 | 16 | isStretch() { 17 | return ( 18 | this.name === 'stretch' || 19 | this.name === 'fill' || 20 | this.name === 'fill-available' 21 | ) 22 | } 23 | 24 | old(prefix) { 25 | let prefixed = prefix + this.name 26 | if (this.isStretch()) { 27 | if (prefix === '-moz-') { 28 | prefixed = '-moz-available' 29 | } else if (prefix === '-webkit-') { 30 | prefixed = '-webkit-fill-available' 31 | } 32 | } 33 | return new OldValue(this.name, prefixed, prefixed, regexp(prefixed)) 34 | } 35 | 36 | regexp() { 37 | if (!this.regexpCache) this.regexpCache = regexp(this.name) 38 | return this.regexpCache 39 | } 40 | 41 | replace(string, prefix) { 42 | if (prefix === '-moz-' && this.isStretch()) { 43 | return string.replace(this.regexp(), '$1-moz-available$3') 44 | } 45 | if (prefix === '-webkit-' && this.isStretch()) { 46 | return string.replace(this.regexp(), '$1-webkit-fill-available$3') 47 | } 48 | return super.replace(string, prefix) 49 | } 50 | } 51 | 52 | Intrinsic.names = [ 53 | 'max-content', 54 | 'min-content', 55 | 'fit-content', 56 | 'fill', 57 | 'fill-available', 58 | 'stretch' 59 | ] 60 | 61 | module.exports = Intrinsic 62 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/justify-content.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class JustifyContent extends Declaration { 5 | /** 6 | * Return property name by final spec 7 | */ 8 | normalize() { 9 | return 'justify-content' 10 | } 11 | 12 | /** 13 | * Change property name for 2009 and 2012 specs 14 | */ 15 | prefixed(prop, prefix) { 16 | let spec 17 | ;[spec, prefix] = flexSpec(prefix) 18 | if (spec === 2009) { 19 | return prefix + 'box-pack' 20 | } 21 | if (spec === 2012) { 22 | return prefix + 'flex-pack' 23 | } 24 | return super.prefixed(prop, prefix) 25 | } 26 | 27 | /** 28 | * Change value for 2009 and 2012 specs 29 | */ 30 | set(decl, prefix) { 31 | let spec = flexSpec(prefix)[0] 32 | if (spec === 2009 || spec === 2012) { 33 | let value = JustifyContent.oldValues[decl.value] || decl.value 34 | decl.value = value 35 | if (spec !== 2009 || value !== 'distribute') { 36 | return super.set(decl, prefix) 37 | } 38 | } else if (spec === 'final') { 39 | return super.set(decl, prefix) 40 | } 41 | return undefined 42 | } 43 | } 44 | 45 | JustifyContent.names = ['justify-content', 'flex-pack', 'box-pack'] 46 | 47 | JustifyContent.oldValues = { 48 | 'flex-end': 'end', 49 | 'flex-start': 'start', 50 | 'space-around': 'distribute', 51 | 'space-between': 'justify' 52 | } 53 | 54 | module.exports = JustifyContent 55 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/mask-border.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class MaskBorder extends Declaration { 4 | /** 5 | * Return property name by final spec 6 | */ 7 | normalize() { 8 | return this.name.replace('box-image', 'border') 9 | } 10 | 11 | /** 12 | * Return flex property for 2012 spec 13 | */ 14 | prefixed(prop, prefix) { 15 | let result = super.prefixed(prop, prefix) 16 | if (prefix === '-webkit-') { 17 | result = result.replace('border', 'box-image') 18 | } 19 | return result 20 | } 21 | } 22 | 23 | MaskBorder.names = [ 24 | 'mask-border', 25 | 'mask-border-source', 26 | 'mask-border-slice', 27 | 'mask-border-width', 28 | 'mask-border-outset', 29 | 'mask-border-repeat', 30 | 'mask-box-image', 31 | 'mask-box-image-source', 32 | 'mask-box-image-slice', 33 | 'mask-box-image-width', 34 | 'mask-box-image-outset', 35 | 'mask-box-image-repeat' 36 | ] 37 | 38 | module.exports = MaskBorder 39 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/order.js: -------------------------------------------------------------------------------- 1 | let flexSpec = require('./flex-spec') 2 | let Declaration = require('../declaration') 3 | 4 | class Order extends Declaration { 5 | /** 6 | * Return property name by final spec 7 | */ 8 | normalize() { 9 | return 'order' 10 | } 11 | 12 | /** 13 | * Change property name for 2009 and 2012 specs 14 | */ 15 | prefixed(prop, prefix) { 16 | let spec 17 | ;[spec, prefix] = flexSpec(prefix) 18 | if (spec === 2009) { 19 | return prefix + 'box-ordinal-group' 20 | } 21 | if (spec === 2012) { 22 | return prefix + 'flex-order' 23 | } 24 | return super.prefixed(prop, prefix) 25 | } 26 | 27 | /** 28 | * Fix value for 2009 spec 29 | */ 30 | set(decl, prefix) { 31 | let spec = flexSpec(prefix)[0] 32 | if (spec === 2009 && /\d/.test(decl.value)) { 33 | decl.value = (parseInt(decl.value) + 1).toString() 34 | return super.set(decl, prefix) 35 | } 36 | return super.set(decl, prefix) 37 | } 38 | } 39 | 40 | Order.names = ['order', 'flex-order', 'box-ordinal-group'] 41 | 42 | module.exports = Order 43 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/overscroll-behavior.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class OverscrollBehavior extends Declaration { 4 | /** 5 | * Return property name by spec 6 | */ 7 | normalize() { 8 | return 'overscroll-behavior' 9 | } 10 | 11 | /** 12 | * Change property name for IE 13 | */ 14 | prefixed(prop, prefix) { 15 | return prefix + 'scroll-chaining' 16 | } 17 | 18 | /** 19 | * Change value for IE 20 | */ 21 | set(decl, prefix) { 22 | if (decl.value === 'auto') { 23 | decl.value = 'chained' 24 | } else if (decl.value === 'none' || decl.value === 'contain') { 25 | decl.value = 'none' 26 | } 27 | return super.set(decl, prefix) 28 | } 29 | } 30 | 31 | OverscrollBehavior.names = ['overscroll-behavior', 'scroll-chaining'] 32 | 33 | module.exports = OverscrollBehavior 34 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/pixelated.js: -------------------------------------------------------------------------------- 1 | let OldValue = require('../old-value') 2 | let Value = require('../value') 3 | 4 | class Pixelated extends Value { 5 | /** 6 | * Different name for WebKit and Firefox 7 | */ 8 | old(prefix) { 9 | if (prefix === '-webkit-') { 10 | return new OldValue(this.name, '-webkit-optimize-contrast') 11 | } 12 | if (prefix === '-moz-') { 13 | return new OldValue(this.name, '-moz-crisp-edges') 14 | } 15 | return super.old(prefix) 16 | } 17 | 18 | /** 19 | * Use non-standard name for WebKit and Firefox 20 | */ 21 | replace(string, prefix) { 22 | if (prefix === '-webkit-') { 23 | return string.replace(this.regexp(), '$1-webkit-optimize-contrast') 24 | } 25 | if (prefix === '-moz-') { 26 | return string.replace(this.regexp(), '$1-moz-crisp-edges') 27 | } 28 | return super.replace(string, prefix) 29 | } 30 | } 31 | 32 | Pixelated.names = ['pixelated'] 33 | 34 | module.exports = Pixelated 35 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/place-self.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | let utils = require('./grid-utils') 3 | 4 | class PlaceSelf extends Declaration { 5 | /** 6 | * Translate place-self to separate -ms- prefixed properties 7 | */ 8 | insert(decl, prefix, prefixes) { 9 | if (prefix !== '-ms-') return super.insert(decl, prefix, prefixes) 10 | 11 | // prevent doubling of prefixes 12 | if (decl.parent.some(i => i.prop === '-ms-grid-row-align')) { 13 | return undefined 14 | } 15 | 16 | let [[first, second]] = utils.parse(decl) 17 | 18 | if (second) { 19 | utils.insertDecl(decl, 'grid-row-align', first) 20 | utils.insertDecl(decl, 'grid-column-align', second) 21 | } else { 22 | utils.insertDecl(decl, 'grid-row-align', first) 23 | utils.insertDecl(decl, 'grid-column-align', first) 24 | } 25 | 26 | return undefined 27 | } 28 | } 29 | 30 | PlaceSelf.names = ['place-self'] 31 | 32 | module.exports = PlaceSelf 33 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/placeholder-shown.js: -------------------------------------------------------------------------------- 1 | let Selector = require('../selector') 2 | 3 | class PlaceholderShown extends Selector { 4 | /** 5 | * Return different selectors depend on prefix 6 | */ 7 | prefixed(prefix) { 8 | if (prefix === '-ms-') { 9 | return ':-ms-input-placeholder' 10 | } 11 | return `:${prefix}placeholder-shown` 12 | } 13 | } 14 | 15 | PlaceholderShown.names = [':placeholder-shown'] 16 | 17 | module.exports = PlaceholderShown 18 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/placeholder.js: -------------------------------------------------------------------------------- 1 | let Selector = require('../selector') 2 | 3 | class Placeholder extends Selector { 4 | /** 5 | * Add old mozilla to possible prefixes 6 | */ 7 | possible() { 8 | return super.possible().concat(['-moz- old', '-ms- old']) 9 | } 10 | 11 | /** 12 | * Return different selectors depend on prefix 13 | */ 14 | prefixed(prefix) { 15 | if (prefix === '-webkit-') { 16 | return '::-webkit-input-placeholder' 17 | } 18 | if (prefix === '-ms-') { 19 | return '::-ms-input-placeholder' 20 | } 21 | if (prefix === '-ms- old') { 22 | return ':-ms-input-placeholder' 23 | } 24 | if (prefix === '-moz- old') { 25 | return ':-moz-placeholder' 26 | } 27 | return `::${prefix}placeholder` 28 | } 29 | } 30 | 31 | Placeholder.names = ['::placeholder'] 32 | 33 | module.exports = Placeholder 34 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/print-color-adjust.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class PrintColorAdjust extends Declaration { 4 | /** 5 | * Return property name by spec 6 | */ 7 | normalize() { 8 | return 'print-color-adjust' 9 | } 10 | 11 | /** 12 | * Change property name for WebKit-based browsers 13 | */ 14 | prefixed(prop, prefix) { 15 | if (prefix === '-moz-') { 16 | return 'color-adjust' 17 | } else { 18 | return prefix + 'print-color-adjust' 19 | } 20 | } 21 | } 22 | 23 | PrintColorAdjust.names = ['print-color-adjust', 'color-adjust'] 24 | 25 | module.exports = PrintColorAdjust 26 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/text-decoration-skip-ink.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class TextDecorationSkipInk extends Declaration { 4 | /** 5 | * Change prefix for ink value 6 | */ 7 | set(decl, prefix) { 8 | if (decl.prop === 'text-decoration-skip-ink' && decl.value === 'auto') { 9 | decl.prop = prefix + 'text-decoration-skip' 10 | decl.value = 'ink' 11 | return decl 12 | } else { 13 | return super.set(decl, prefix) 14 | } 15 | } 16 | } 17 | 18 | TextDecorationSkipInk.names = [ 19 | 'text-decoration-skip-ink', 20 | 'text-decoration-skip' 21 | ] 22 | 23 | module.exports = TextDecorationSkipInk 24 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/text-decoration.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | const BASIC = [ 4 | 'none', 5 | 'underline', 6 | 'overline', 7 | 'line-through', 8 | 'blink', 9 | 'inherit', 10 | 'initial', 11 | 'unset' 12 | ] 13 | 14 | class TextDecoration extends Declaration { 15 | /** 16 | * Do not add prefixes for basic values. 17 | */ 18 | check(decl) { 19 | return decl.value.split(/\s+/).some(i => !BASIC.includes(i)) 20 | } 21 | } 22 | 23 | TextDecoration.names = ['text-decoration'] 24 | 25 | module.exports = TextDecoration 26 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/text-emphasis-position.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class TextEmphasisPosition extends Declaration { 4 | set(decl, prefix) { 5 | if (prefix === '-webkit-') { 6 | decl.value = decl.value.replace(/\s*(right|left)\s*/i, '') 7 | } 8 | return super.set(decl, prefix) 9 | } 10 | } 11 | 12 | TextEmphasisPosition.names = ['text-emphasis-position'] 13 | 14 | module.exports = TextEmphasisPosition 15 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/user-select.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class UserSelect extends Declaration { 4 | /** 5 | * Avoid prefixing all in IE 6 | */ 7 | insert(decl, prefix, prefixes) { 8 | if (decl.value === 'all' && prefix === '-ms-') { 9 | return undefined 10 | } else if ( 11 | decl.value === 'contain' && 12 | (prefix === '-moz-' || prefix === '-webkit-') 13 | ) { 14 | return undefined 15 | } else { 16 | return super.insert(decl, prefix, prefixes) 17 | } 18 | } 19 | 20 | /** 21 | * Change prefixed value for IE 22 | */ 23 | set(decl, prefix) { 24 | if (prefix === '-ms-' && decl.value === 'contain') { 25 | decl.value = 'element' 26 | } 27 | return super.set(decl, prefix) 28 | } 29 | } 30 | 31 | UserSelect.names = ['user-select'] 32 | 33 | module.exports = UserSelect 34 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/hacks/writing-mode.js: -------------------------------------------------------------------------------- 1 | let Declaration = require('../declaration') 2 | 3 | class WritingMode extends Declaration { 4 | insert(decl, prefix, prefixes) { 5 | if (prefix === '-ms-') { 6 | let cloned = this.set(this.clone(decl), prefix) 7 | 8 | if (this.needCascade(decl)) { 9 | cloned.raws.before = this.calcBefore(prefixes, decl, prefix) 10 | } 11 | let direction = 'ltr' 12 | 13 | decl.parent.nodes.forEach(i => { 14 | if (i.prop === 'direction') { 15 | if (i.value === 'rtl' || i.value === 'ltr') direction = i.value 16 | } 17 | }) 18 | 19 | cloned.value = WritingMode.msValues[direction][decl.value] || decl.value 20 | return decl.parent.insertBefore(decl, cloned) 21 | } 22 | 23 | return super.insert(decl, prefix, prefixes) 24 | } 25 | } 26 | 27 | WritingMode.names = ['writing-mode'] 28 | 29 | WritingMode.msValues = { 30 | ltr: { 31 | 'horizontal-tb': 'lr-tb', 32 | 'vertical-lr': 'tb-lr', 33 | 'vertical-rl': 'tb-rl' 34 | }, 35 | rtl: { 36 | 'horizontal-tb': 'rl-tb', 37 | 'vertical-lr': 'bt-lr', 38 | 'vertical-rl': 'bt-rl' 39 | } 40 | } 41 | 42 | module.exports = WritingMode 43 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/old-selector.js: -------------------------------------------------------------------------------- 1 | class OldSelector { 2 | constructor(selector, prefix) { 3 | this.prefix = prefix 4 | this.prefixed = selector.prefixed(this.prefix) 5 | this.regexp = selector.regexp(this.prefix) 6 | 7 | this.prefixeds = selector 8 | .possible() 9 | .map(x => [selector.prefixed(x), selector.regexp(x)]) 10 | 11 | this.unprefixed = selector.name 12 | this.nameRegexp = selector.regexp() 13 | } 14 | 15 | /** 16 | * Does rule contain an unnecessary prefixed selector 17 | */ 18 | check(rule) { 19 | if (!rule.selector.includes(this.prefixed)) { 20 | return false 21 | } 22 | if (!rule.selector.match(this.regexp)) { 23 | return false 24 | } 25 | if (this.isHack(rule)) { 26 | return false 27 | } 28 | return true 29 | } 30 | 31 | /** 32 | * Is rule a hack without unprefixed version bottom 33 | */ 34 | isHack(rule) { 35 | let index = rule.parent.index(rule) + 1 36 | let rules = rule.parent.nodes 37 | 38 | while (index < rules.length) { 39 | let before = rules[index].selector 40 | if (!before) { 41 | return true 42 | } 43 | 44 | if (before.includes(this.unprefixed) && before.match(this.nameRegexp)) { 45 | return false 46 | } 47 | 48 | let some = false 49 | for (let [string, regexp] of this.prefixeds) { 50 | if (before.includes(string) && before.match(regexp)) { 51 | some = true 52 | break 53 | } 54 | } 55 | 56 | if (!some) { 57 | return true 58 | } 59 | 60 | index += 1 61 | } 62 | 63 | return true 64 | } 65 | } 66 | 67 | module.exports = OldSelector 68 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/old-value.js: -------------------------------------------------------------------------------- 1 | let utils = require('./utils') 2 | 3 | class OldValue { 4 | constructor(unprefixed, prefixed, string, regexp) { 5 | this.unprefixed = unprefixed 6 | this.prefixed = prefixed 7 | this.string = string || prefixed 8 | this.regexp = regexp || utils.regexp(prefixed) 9 | } 10 | 11 | /** 12 | * Check, that value contain old value 13 | */ 14 | check(value) { 15 | if (value.includes(this.string)) { 16 | return !!value.match(this.regexp) 17 | } 18 | return false 19 | } 20 | } 21 | 22 | module.exports = OldValue 23 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/lib/vendor.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | prefix(prop) { 3 | let match = prop.match(/^(-\w+-)/) 4 | if (match) { 5 | return match[0] 6 | } 7 | 8 | return '' 9 | }, 10 | 11 | unprefixed(prop) { 12 | return prop.replace(/^-\w+-/, '') 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /node_modules/autoprefixer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "autoprefixer", 3 | "version": "10.4.20", 4 | "description": "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website", 5 | "engines": { 6 | "node": "^10 || ^12 || >=14" 7 | }, 8 | "keywords": [ 9 | "autoprefixer", 10 | "css", 11 | "prefix", 12 | "postcss", 13 | "postcss-plugin" 14 | ], 15 | "main": "lib/autoprefixer.js", 16 | "bin": "bin/autoprefixer", 17 | "types": "lib/autoprefixer.d.ts", 18 | "funding": [ 19 | { 20 | "type": "opencollective", 21 | "url": "https://opencollective.com/postcss/" 22 | }, 23 | { 24 | "type": "tidelift", 25 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 26 | }, 27 | { 28 | "type": "github", 29 | "url": "https://github.com/sponsors/ai" 30 | } 31 | ], 32 | "author": "Andrey Sitnik ", 33 | "license": "MIT", 34 | "repository": "postcss/autoprefixer", 35 | "bugs": { 36 | "url": "https://github.com/postcss/autoprefixer/issues" 37 | }, 38 | "peerDependencies": { 39 | "postcss": "^8.1.0" 40 | }, 41 | "dependencies": { 42 | "browserslist": "^4.23.3", 43 | "caniuse-lite": "^1.0.30001646", 44 | "fraction.js": "^4.3.7", 45 | "normalize-range": "^0.1.2", 46 | "picocolors": "^1.0.1", 47 | "postcss-value-parser": "^4.2.0" 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /node_modules/browserslist/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2014 Andrey Sitnik and other contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/browserslist/browser.js: -------------------------------------------------------------------------------- 1 | var BrowserslistError = require('./error') 2 | 3 | function noop() {} 4 | 5 | module.exports = { 6 | loadQueries: function loadQueries() { 7 | throw new BrowserslistError( 8 | 'Sharable configs are not supported in client-side build of Browserslist' 9 | ) 10 | }, 11 | 12 | getStat: function getStat(opts) { 13 | return opts.stats 14 | }, 15 | 16 | loadConfig: function loadConfig(opts) { 17 | if (opts.config) { 18 | throw new BrowserslistError( 19 | 'Browserslist config are not supported in client-side build' 20 | ) 21 | } 22 | }, 23 | 24 | loadCountry: function loadCountry() { 25 | throw new BrowserslistError( 26 | 'Country statistics are not supported ' + 27 | 'in client-side build of Browserslist' 28 | ) 29 | }, 30 | 31 | loadFeature: function loadFeature() { 32 | throw new BrowserslistError( 33 | 'Supports queries are not available in client-side build of Browserslist' 34 | ) 35 | }, 36 | 37 | currentNode: function currentNode(resolve, context) { 38 | return resolve(['maintained node versions'], context)[0] 39 | }, 40 | 41 | parseConfig: noop, 42 | 43 | readConfig: noop, 44 | 45 | findConfig: noop, 46 | 47 | findConfigFile: noop, 48 | 49 | clearCaches: noop, 50 | 51 | oldDataWarning: noop, 52 | 53 | env: {} 54 | } 55 | -------------------------------------------------------------------------------- /node_modules/browserslist/error.d.ts: -------------------------------------------------------------------------------- 1 | declare class BrowserslistError extends Error { 2 | constructor(message: any) 3 | name: 'BrowserslistError' 4 | browserslist: true 5 | } 6 | 7 | export = BrowserslistError 8 | -------------------------------------------------------------------------------- /node_modules/browserslist/error.js: -------------------------------------------------------------------------------- 1 | function BrowserslistError(message) { 2 | this.name = 'BrowserslistError' 3 | this.message = message 4 | this.browserslist = true 5 | if (Error.captureStackTrace) { 6 | Error.captureStackTrace(this, BrowserslistError) 7 | } 8 | } 9 | 10 | BrowserslistError.prototype = Error.prototype 11 | 12 | module.exports = BrowserslistError 13 | -------------------------------------------------------------------------------- /node_modules/browserslist/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "browserslist", 3 | "version": "4.24.4", 4 | "description": "Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-env-preset", 5 | "keywords": [ 6 | "caniuse", 7 | "browsers", 8 | "target" 9 | ], 10 | "funding": [ 11 | { 12 | "type": "opencollective", 13 | "url": "https://opencollective.com/browserslist" 14 | }, 15 | { 16 | "type": "tidelift", 17 | "url": "https://tidelift.com/funding/github/npm/browserslist" 18 | }, 19 | { 20 | "type": "github", 21 | "url": "https://github.com/sponsors/ai" 22 | } 23 | ], 24 | "author": "Andrey Sitnik ", 25 | "license": "MIT", 26 | "repository": "browserslist/browserslist", 27 | "dependencies": { 28 | "caniuse-lite": "^1.0.30001688", 29 | "electron-to-chromium": "^1.5.73", 30 | "node-releases": "^2.0.19", 31 | "update-browserslist-db": "^1.1.1" 32 | }, 33 | "engines": { 34 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 35 | }, 36 | "bin": { 37 | "browserslist": "cli.js" 38 | }, 39 | "types": "./index.d.ts", 40 | "browser": { 41 | "./node.js": "./browser.js", 42 | "path": false 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/README.md: -------------------------------------------------------------------------------- 1 | # caniuse-lite 2 | 3 | A smaller version of caniuse-db, with only the essentials! 4 | 5 | ## Docs 6 | Read full docs **[here](https://github.com/browserslist/caniuse-lite#readme)**. 7 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/browsers.js: -------------------------------------------------------------------------------- 1 | module.exports={A:"ie",B:"edge",C:"firefox",D:"chrome",E:"safari",F:"opera",G:"ios_saf",H:"op_mini",I:"android",J:"bb",K:"op_mob",L:"and_chr",M:"and_ff",N:"ie_mob",O:"and_uc",P:"samsung",Q:"and_qq",R:"baidu",S:"kaios"}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-autofill.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{D:{"1":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC","33":"0 1 2 3 4 5 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s"},L:{"1":"D"},B:{"1":"6 7 8 9 t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D","2":"C L M H N O P","33":"Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s"},C:{"1":"6 7 8 9 V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC","2":"0 1 2 3 4 5 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U oC pC"},M:{"1":"D"},A:{"2":"K E F G A B kC"},F:{"1":"f g h i j k l m n o p q r s t u v w x","2":"G B C 2C 3C 4C 5C CC iC 6C DC","33":"0 1 2 3 4 5 H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e"},K:{"1":"I","2":"A B C CC iC DC"},E:{"1":"H xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC","2":"1C","33":"J NB K E F G A B C L M qC QC rC sC tC uC RC CC DC vC wC"},G:{"1":"QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC","33":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD"},P:{"1":"0 1 2 3 4 5 z","33":"J y bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},I:{"1":"D","2":"IC J VD WD XD YD jC","33":"ZD aD"}},B:6,C:":autofill CSS pseudo-class",D:undefined}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-counters.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"F G A B","2":"K E kC"},B:{"1":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"1":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"1":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"1":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"1":"UD"},I:{"1":"IC J D VD WD XD YD jC ZD aD"},J:{"1":"E A"},K:{"1":"A B C I CC iC DC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"1":"mD"},R:{"1":"nD"},S:{"1":"oD pD"}},B:2,C:"CSS Counters",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-exclusions.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"2":"K E F G kC","33":"A B"},B:{"2":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D","33":"C L M H N O P"},C:{"2":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"2":"UD"},I:{"2":"IC J D VD WD XD YD jC ZD aD"},J:{"2":"E A"},K:{"2":"A B C I CC iC DC"},L:{"2":"D"},M:{"2":"D"},N:{"33":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"2":"mD"},R:{"2":"nD"},S:{"2":"oD pD"}},B:5,C:"CSS Exclusions Level 1",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-first-line.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"G A B","132":"K E F kC"},B:{"1":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"1":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"1":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"1":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"1":"UD"},I:{"1":"IC J D VD WD XD YD jC ZD aD"},J:{"1":"E A"},K:{"1":"A B C I CC iC DC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"1":"mD"},R:{"1":"nD"},S:{"1":"oD pD"}},B:2,C:"CSS first-line pseudo-element",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-namespaces.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"G A B","2":"K E F kC"},B:{"1":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"1":"J NB K E F G A B C L M H rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C","16":"qC QC"},F:{"1":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"1":"F jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC","16":"QC 7C"},H:{"1":"UD"},I:{"1":"IC J D VD WD XD YD jC ZD aD"},J:{"1":"E A"},K:{"1":"A B C I CC iC DC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"1":"mD"},R:{"1":"nD"},S:{"1":"oD pD"}},B:2,C:"CSS namespaces",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-opacity.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"G A B","4":"K E F kC"},B:{"1":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"1":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"1":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"1":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"1":"UD"},I:{"1":"IC J D VD WD XD YD jC ZD aD"},J:{"1":"E A"},K:{"1":"A B C I CC iC DC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"1":"mD"},R:{"1":"nD"},S:{"1":"oD pD"}},B:2,C:"CSS3 Opacity",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-print-color-adjust.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{D:{"2":"J NB K E F G A B C L M H N","33":"0 1 2 3 4 5 6 7 8 9 O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},L:{"33":"D"},B:{"2":"C L M H N O P","33":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"6 7 8 9 g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC","2":"0 1 2 3 4 5 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB oC pC","33":"jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f"},M:{"1":"D"},A:{"2":"K E F G A B kC"},F:{"2":"G B C 2C 3C 4C 5C CC iC 6C DC","33":"0 1 2 3 4 5 H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},K:{"2":"A B C CC iC DC","33":"I"},E:{"1":"TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC","2":"J NB qC QC rC 1C","33":"K E F G A B C L M H sC tC uC RC CC DC vC wC xC SC"},G:{"1":"TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC","2":"QC 7C jC 8C","33":"F 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC"},P:{"33":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},I:{"2":"IC J VD WD XD YD jC","33":"D ZD aD"}},B:6,C:"print-color-adjust property",D:undefined}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-sel2.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"E F G A B","2":"kC","8":"K"},B:{"1":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"1":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"1":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"1":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"1":"UD"},I:{"1":"IC J D VD WD XD YD jC ZD aD"},J:{"1":"E A"},K:{"1":"A B C I CC iC DC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"1":"mD"},R:{"1":"nD"},S:{"1":"oD pD"}},B:2,C:"CSS 2.1 selectors",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-table.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"F G A B","2":"K E kC"},B:{"1":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC","132":"lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"1":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"1":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"1":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"1":"UD"},I:{"1":"IC J D VD WD XD YD jC ZD aD"},J:{"1":"E A"},K:{"1":"A B C I CC iC DC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"1":"mD"},R:{"1":"nD"},S:{"1":"oD pD"}},B:2,C:"CSS Table display",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-when-else.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"2":"K E F G A B kC"},B:{"2":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"2":"UD"},I:{"2":"IC J D VD WD XD YD jC ZD aD"},J:{"2":"E A"},K:{"2":"A B C I CC iC DC"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"2":"mD"},R:{"2":"nD"},S:{"2":"oD pD"}},B:5,C:"CSS @when / @else conditional rules",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css-width-stretch.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{D:{"2":"J NB K E F G A B C L M H N O P OB y z","33":"0 1 2 3 4 5 6 7 8 9 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},L:{"33":"D"},B:{"2":"C L M H N O P","33":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"2":"lC","33":"0 1 2 3 4 5 6 7 8 9 IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},M:{"33":"D"},A:{"2":"K E F G A B kC"},F:{"2":"G B C 2C 3C 4C 5C CC iC 6C DC","33":"0 1 2 3 4 5 H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x"},K:{"2":"A B C CC iC DC","33":"I"},E:{"2":"J NB K qC QC rC sC 1C","33":"E F G A B C L M H tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC"},G:{"2":"QC 7C jC 8C 9C","33":"F AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},P:{"2":"J","33":"0 1 2 3 4 5 y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},I:{"2":"IC J VD WD XD YD jC","33":"D ZD aD"}},B:6,C:"width: stretch property",D:undefined}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/css3-colors.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"G A B","2":"K E F kC"},B:{"1":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC","4":"lC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"1":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"1":"0 1 2 3 4 5 B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 3C 4C 5C CC iC 6C DC","2":"G","4":"2C"},G:{"1":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"1":"UD"},I:{"1":"IC J D VD WD XD YD jC ZD aD"},J:{"1":"E A"},K:{"1":"A B C I CC iC DC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"1":"mD"},R:{"1":"nD"},S:{"1":"oD pD"}},B:2,C:"CSS3 Colors",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/decorators.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"2":"K E F G A B kC"},B:{"2":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"2":"UD"},I:{"2":"IC J D VD WD XD YD jC ZD aD"},J:{"2":"E A"},K:{"2":"A B C I CC iC DC"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"2":"mD"},R:{"2":"nD"},S:{"2":"oD pD"}},B:7,C:"Decorators",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/domcontentloaded.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"G A B","2":"K E F kC"},B:{"1":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"1":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"1":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"1":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"1":"UD"},I:{"1":"IC J D VD WD XD YD jC ZD aD"},J:{"1":"E A"},K:{"1":"A B C I CC iC DC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"1":"mD"},R:{"1":"nD"},S:{"1":"oD pD"}},B:1,C:"DOMContentLoaded",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/eot.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"K E F G A B","2":"kC"},B:{"2":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"2":"UD"},I:{"2":"IC J D VD WD XD YD jC ZD aD"},J:{"2":"E A"},K:{"2":"A B C I CC iC DC"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"2":"mD"},R:{"2":"nD"},S:{"2":"oD pD"}},B:7,C:"EOT - Embedded OpenType fonts",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/jpegxr.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"G A B","2":"K E F kC"},B:{"1":"C L M H N O P","2":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"2":"UD"},I:{"2":"IC J D VD WD XD YD jC ZD aD"},J:{"2":"E A"},K:{"2":"A B C I CC iC DC"},L:{"2":"D"},M:{"2":"D"},N:{"1":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"2":"mD"},R:{"2":"nD"},S:{"2":"oD pD"}},B:6,C:"JPEG XR image format",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/magnetometer.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"2":"K E F G A B kC"},B:{"2":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"2":"0 1 2 3 4 5 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB","194":"6 7 8 9 tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"2":"UD"},I:{"2":"IC J D VD WD XD YD jC ZD aD"},J:{"2":"E A"},K:{"2":"A B C I CC iC DC"},L:{"194":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"2":"mD"},R:{"2":"nD"},S:{"2":"oD pD"}},B:4,C:"Magnetometer",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{D:{"1":"6 7 8 9 YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC","2":"0 1 2 3 4 5 J NB K E F G A B C L M H N O P OB y z PB QB RB SB","33":"TB UB VB WB XB"},L:{"1":"D"},B:{"1":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D","33":"C L M H N O P"},C:{"1":"6 7 8 9 iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC","2":"0 1 2 3 4 5 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB oC pC"},M:{"1":"D"},A:{"2":"K E F G A kC","33":"B"},F:{"1":"2 3 4 5 PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"G B C H N O P 2C 3C 4C 5C CC iC 6C DC","33":"0 1 OB y z"},K:{"1":"I","2":"A B C CC iC DC"},E:{"1":"TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC","2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC 1C"},G:{"1":"TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC","2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},I:{"1":"D","2":"IC J VD WD XD YD jC","33":"ZD aD"}},B:6,C:"CSS ::backdrop pseudo-element",D:undefined}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{D:{"1":"6 7 8 9 jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC","2":"0 1 2 3 4 5 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB"},L:{"1":"D"},B:{"1":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D","2":"C L M H N O P"},C:{"1":"6 7 8 9 lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC","2":"lC IC J NB K E F G oC pC","33":"0 1 2 3 4 5 A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB"},M:{"1":"D"},A:{"2":"K E F G A B kC"},F:{"1":"WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB 2C 3C 4C 5C CC iC 6C DC"},K:{"1":"I","2":"A B C CC iC DC"},E:{"1":"B C L M H CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC","2":"J NB qC QC rC 1C","33":"K E F G A sC tC uC RC"},G:{"1":"GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC","2":"QC 7C jC 8C","33":"F 9C AD BD CD DD ED FD"},P:{"1":"0 1 2 3 4 5 y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD","2":"J"},I:{"1":"D","2":"IC J VD WD XD YD jC ZD aD"}},B:6,C:"plaintext from unicode-bidi",D:undefined}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{D:{"1":"6 7 8 9 sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC","2":"0 1 2 3 4 5 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB"},L:{"1":"D"},B:{"1":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D","2":"C L M H N O P"},C:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC","2":"lC IC J NB oC pC","33":"0 1 2 3 4 5 K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB"},M:{"1":"D"},A:{"2":"K E F G A B kC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB 2C 3C 4C 5C CC iC 6C DC"},K:{"1":"I","2":"A B C CC iC DC"},E:{"1":"L M H DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC","2":"J NB K E qC QC rC sC tC 1C","33":"F G A B C uC RC CC"},G:{"1":"JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC","2":"QC 7C jC 8C 9C AD","33":"F BD CD DD ED FD GD HD ID"},P:{"1":"0 1 2 3 4 5 y z dD eD fD RC gD hD iD jD kD FC GC HC lD","2":"J bD cD"},I:{"1":"D","2":"IC J VD WD XD YD jC ZD aD"}},B:6,C:"text-decoration-color property",D:undefined}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{D:{"1":"6 7 8 9 sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC","2":"0 1 2 3 4 5 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB"},L:{"1":"D"},B:{"1":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D","2":"C L M H N O P"},C:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC","2":"lC IC J NB oC pC","33":"0 1 2 3 4 5 K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB"},M:{"1":"D"},A:{"2":"K E F G A B kC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB 2C 3C 4C 5C CC iC 6C DC"},K:{"1":"I","2":"A B C CC iC DC"},E:{"1":"L M H DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC","2":"J NB K E qC QC rC sC tC 1C","33":"F G A B C uC RC CC"},G:{"1":"JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC","2":"QC 7C jC 8C 9C AD","33":"F BD CD DD ED FD GD HD ID"},P:{"1":"0 1 2 3 4 5 y z dD eD fD RC gD hD iD jD kD FC GC HC lD","2":"J bD cD"},I:{"1":"D","2":"IC J VD WD XD YD jC ZD aD"}},B:6,C:"text-decoration-line property",D:undefined}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{D:{"1":"6 7 8 9 sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC","2":"0 1 2 3 4 5 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB"},L:{"1":"D"},B:{"1":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D","2":"C L M H N O P"},C:{"1":"0 1 2 3 4 5 6 7 8 9 K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC","2":"lC IC J NB oC pC"},M:{"1":"D"},A:{"2":"K E F G A B kC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB 2C 3C 4C 5C CC iC 6C DC"},K:{"1":"I","2":"A B C CC iC DC"},E:{"2":"J NB K E qC QC rC sC tC 1C","33":"F G A B C L M H uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC"},G:{"2":"QC 7C jC 8C 9C AD","33":"F BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},P:{"1":"0 1 2 3 4 5 y z dD eD fD RC gD hD iD jD kD FC GC HC lD","2":"J bD cD"},I:{"1":"D","2":"IC J VD WD XD YD jC ZD aD"}},B:6,C:"text-decoration shorthand property",D:undefined}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{D:{"1":"6 7 8 9 sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC","2":"0 1 2 3 4 5 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB"},L:{"1":"D"},B:{"1":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D","2":"C L M H N O P"},C:{"1":"6 7 8 9 XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC","2":"lC IC J NB oC pC","33":"0 1 2 3 4 5 K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB"},M:{"1":"D"},A:{"2":"K E F G A B kC"},F:{"1":"fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x","2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB 2C 3C 4C 5C CC iC 6C DC"},K:{"1":"I","2":"A B C CC iC DC"},E:{"1":"L M H DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC","2":"J NB K E qC QC rC sC tC 1C","33":"F G A B C uC RC CC"},G:{"1":"JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC","2":"QC 7C jC 8C 9C AD","33":"F BD CD DD ED FD GD HD ID"},P:{"1":"0 1 2 3 4 5 y z dD eD fD RC gD hD iD jD kD FC GC HC lD","2":"J bD cD"},I:{"1":"D","2":"IC J VD WD XD YD jC ZD aD"}},B:6,C:"text-decoration-style property",D:undefined}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/png-alpha.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"1":"E F G A B","2":"kC","8":"K"},B:{"1":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"1":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"1":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"1":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"1":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"1":"UD"},I:{"1":"IC J D VD WD XD YD jC ZD aD"},J:{"1":"E A"},K:{"1":"A B C I CC iC DC"},L:{"1":"D"},M:{"1":"D"},N:{"1":"A B"},O:{"1":"EC"},P:{"1":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"1":"mD"},R:{"1":"nD"},S:{"1":"oD pD"}},B:2,C:"PNG alpha transparency",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/proximity.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"2":"K E F G A B kC"},B:{"2":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"1":"0 1 2 3 4 5 6 7 8 9 H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC","2":"lC IC J NB K E F G A B C L M oC pC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"2":"UD"},I:{"2":"IC J D VD WD XD YD jC ZD aD"},J:{"2":"E A"},K:{"2":"A B C I CC iC DC"},L:{"2":"D"},M:{"1":"D"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"2":"mD"},R:{"2":"nD"},S:{"1":"oD pD"}},B:4,C:"Proximity API",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/temporal.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"2":"K E F G A B kC"},B:{"2":"6 7 8 9 C L M H N O P Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"2":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC oC pC","194":"OC PC mC nC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"2":"UD"},I:{"2":"IC J D VD WD XD YD jC ZD aD"},J:{"2":"E A"},K:{"2":"A B C I CC iC DC"},L:{"2":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"2":"mD"},R:{"2":"nD"},S:{"2":"oD pD"}},B:6,C:"Temporal",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/webnfc.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"2":"K E F G A B kC"},B:{"2":"6 7 8 9 C L M H N O P Q Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D","450":"I R S T U V W X"},C:{"2":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"2":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC","450":"I R S T U V W X"},E:{"2":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"2":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC","450":"0B 1B 2B 3B 4B 5B 6B 7B 8B"},G:{"2":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"2":"UD"},I:{"2":"IC J D VD WD XD YD jC ZD aD"},J:{"2":"E A"},K:{"2":"A B C I CC iC DC"},L:{"257":"D"},M:{"2":"D"},N:{"2":"A B"},O:{"2":"EC"},P:{"2":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"2":"mD"},R:{"1":"nD"},S:{"2":"oD pD"}},B:7,C:"Web NFC",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/data/features/xhtmlsmil.js: -------------------------------------------------------------------------------- 1 | module.exports={A:{A:{"2":"G A B kC","4":"K E F"},B:{"2":"C L M H N O P","8":"6 7 8 9 Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D"},C:{"8":"0 1 2 3 4 5 6 7 8 9 lC IC J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC mC nC oC pC"},D:{"8":"0 1 2 3 4 5 6 7 8 9 J NB K E F G A B C L M H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB JC uB KC vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x AB BB CB DB EB FB GB HB IB JB KB LB MB D MC NC OC PC"},E:{"8":"J NB K E F G A B C L M H qC QC rC sC tC uC RC CC DC vC wC xC SC TC EC yC FC UC VC WC XC YC zC GC ZC aC bC cC dC 0C HC eC fC gC hC 1C"},F:{"8":"0 1 2 3 4 5 G B C H N O P OB y z PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB pB qB rB sB tB uB vB wB xB yB zB 0B 1B 2B 3B 4B 5B 6B 7B 8B 9B AC BC Q I R LC S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x 2C 3C 4C 5C CC iC 6C DC"},G:{"8":"F QC 7C jC 8C 9C AD BD CD DD ED FD GD HD ID JD KD LD MD ND OD PD QD SC TC EC RD FC UC VC WC XC YC SD GC ZC aC bC cC dC TD HC eC fC gC hC"},H:{"8":"UD"},I:{"8":"IC J D VD WD XD YD jC ZD aD"},J:{"8":"E A"},K:{"8":"A B C I CC iC DC"},L:{"8":"D"},M:{"8":"D"},N:{"2":"A B"},O:{"8":"EC"},P:{"8":"0 1 2 3 4 5 J y z bD cD dD eD fD RC gD hD iD jD kD FC GC HC lD"},Q:{"8":"mD"},R:{"8":"nD"},S:{"8":"oD pD"}},B:7,C:"XHTML+SMIL animation",D:true}; 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/dist/lib/statuses.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 1: 'ls', // WHATWG Living Standard 3 | 2: 'rec', // W3C Recommendation 4 | 3: 'pr', // W3C Proposed Recommendation 5 | 4: 'cr', // W3C Candidate Recommendation 6 | 5: 'wd', // W3C Working Draft 7 | 6: 'other', // Non-W3C, but reputable 8 | 7: 'unoff' // Unofficial, Editor's Draft or W3C "Note" 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/dist/lib/supported.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | y: 1 << 0, 3 | n: 1 << 1, 4 | a: 1 << 2, 5 | p: 1 << 3, 6 | u: 1 << 4, 7 | x: 1 << 5, 8 | d: 1 << 6 9 | } 10 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/dist/unpacker/agents.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const browsers = require('./browsers').browsers 4 | const versions = require('./browserVersions').browserVersions 5 | const agentsData = require('../../data/agents') 6 | 7 | function unpackBrowserVersions(versionsData) { 8 | return Object.keys(versionsData).reduce((usage, version) => { 9 | usage[versions[version]] = versionsData[version] 10 | return usage 11 | }, {}) 12 | } 13 | 14 | module.exports.agents = Object.keys(agentsData).reduce((map, key) => { 15 | let versionsData = agentsData[key] 16 | map[browsers[key]] = Object.keys(versionsData).reduce((data, entry) => { 17 | if (entry === 'A') { 18 | data.usage_global = unpackBrowserVersions(versionsData[entry]) 19 | } else if (entry === 'C') { 20 | data.versions = versionsData[entry].reduce((list, version) => { 21 | if (version === '') { 22 | list.push(null) 23 | } else { 24 | list.push(versions[version]) 25 | } 26 | return list 27 | }, []) 28 | } else if (entry === 'D') { 29 | data.prefix_exceptions = unpackBrowserVersions(versionsData[entry]) 30 | } else if (entry === 'E') { 31 | data.browser = versionsData[entry] 32 | } else if (entry === 'F') { 33 | data.release_date = Object.keys(versionsData[entry]).reduce( 34 | (map2, key2) => { 35 | map2[versions[key2]] = versionsData[entry][key2] 36 | return map2 37 | }, 38 | {} 39 | ) 40 | } else { 41 | // entry is B 42 | data.prefix = versionsData[entry] 43 | } 44 | return data 45 | }, {}) 46 | return map 47 | }, {}) 48 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/dist/unpacker/browserVersions.js: -------------------------------------------------------------------------------- 1 | module.exports.browserVersions = require('../../data/browserVersions') 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/dist/unpacker/browsers.js: -------------------------------------------------------------------------------- 1 | module.exports.browsers = require('../../data/browsers') 2 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/dist/unpacker/feature.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const statuses = require('../lib/statuses') 4 | const supported = require('../lib/supported') 5 | const browsers = require('./browsers').browsers 6 | const versions = require('./browserVersions').browserVersions 7 | 8 | const MATH2LOG = Math.log(2) 9 | 10 | function unpackSupport(cipher) { 11 | // bit flags 12 | let stats = Object.keys(supported).reduce((list, support) => { 13 | if (cipher & supported[support]) list.push(support) 14 | return list 15 | }, []) 16 | 17 | // notes 18 | let notes = cipher >> 7 19 | let notesArray = [] 20 | while (notes) { 21 | let note = Math.floor(Math.log(notes) / MATH2LOG) + 1 22 | notesArray.unshift(`#${note}`) 23 | notes -= Math.pow(2, note - 1) 24 | } 25 | 26 | return stats.concat(notesArray).join(' ') 27 | } 28 | 29 | function unpackFeature(packed) { 30 | let unpacked = { 31 | status: statuses[packed.B], 32 | title: packed.C, 33 | shown: packed.D 34 | } 35 | unpacked.stats = Object.keys(packed.A).reduce((browserStats, key) => { 36 | let browser = packed.A[key] 37 | browserStats[browsers[key]] = Object.keys(browser).reduce( 38 | (stats, support) => { 39 | let packedVersions = browser[support].split(' ') 40 | let unpacked2 = unpackSupport(support) 41 | packedVersions.forEach(v => (stats[versions[v]] = unpacked2)) 42 | return stats 43 | }, 44 | {} 45 | ) 46 | return browserStats 47 | }, {}) 48 | return unpacked 49 | } 50 | 51 | module.exports = unpackFeature 52 | module.exports.default = unpackFeature 53 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/dist/unpacker/features.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Load this dynamically so that it 3 | * doesn't appear in the rollup bundle. 4 | */ 5 | 6 | module.exports.features = require('../../data/features') 7 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/dist/unpacker/index.js: -------------------------------------------------------------------------------- 1 | module.exports.agents = require('./agents').agents 2 | module.exports.feature = require('./feature') 3 | module.exports.features = require('./features').features 4 | module.exports.region = require('./region') 5 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/dist/unpacker/region.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | const browsers = require('./browsers').browsers 4 | 5 | function unpackRegion(packed) { 6 | return Object.keys(packed).reduce((list, browser) => { 7 | let data = packed[browser] 8 | list[browsers[browser]] = Object.keys(data).reduce((memo, key) => { 9 | let stats = data[key] 10 | if (key === '_') { 11 | stats.split(' ').forEach(version => (memo[version] = null)) 12 | } else { 13 | memo[key] = stats 14 | } 15 | return memo 16 | }, {}) 17 | return list 18 | }, {}) 19 | } 20 | 21 | module.exports = unpackRegion 22 | module.exports.default = unpackRegion 23 | -------------------------------------------------------------------------------- /node_modules/caniuse-lite/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "caniuse-lite", 3 | "version": "1.0.30001700", 4 | "description": "A smaller version of caniuse-db, with only the essentials!", 5 | "main": "dist/unpacker/index.js", 6 | "files": [ 7 | "data", 8 | "dist" 9 | ], 10 | "keywords": [ 11 | "support" 12 | ], 13 | "author": { 14 | "name": "Ben Briggs", 15 | "email": "beneb.info@gmail.com", 16 | "url": "http://beneb.info" 17 | }, 18 | "repository": "browserslist/caniuse-lite", 19 | "funding": [ 20 | { 21 | "type": "opencollective", 22 | "url": "https://opencollective.com/browserslist" 23 | }, 24 | { 25 | "type": "tidelift", 26 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 27 | }, 28 | { 29 | "type": "github", 30 | "url": "https://github.com/sponsors/ai" 31 | } 32 | ], 33 | "license": "CC-BY-4.0" 34 | } 35 | -------------------------------------------------------------------------------- /node_modules/electron-to-chromium/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2018 Kilian Valkhof 2 | 3 | Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. 4 | 5 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 6 | -------------------------------------------------------------------------------- /node_modules/electron-to-chromium/chromium-versions.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "39": "0.20", 3 | "40": "0.21", 4 | "41": "0.21", 5 | "42": "0.25", 6 | "43": "0.27", 7 | "44": "0.30", 8 | "45": "0.31", 9 | "47": "0.36", 10 | "49": "0.37", 11 | "50": "1.1", 12 | "51": "1.2", 13 | "52": "1.3", 14 | "53": "1.4", 15 | "54": "1.4", 16 | "56": "1.6", 17 | "58": "1.7", 18 | "59": "1.8", 19 | "61": "2.0", 20 | "66": "3.0", 21 | "69": "4.0", 22 | "72": "5.0", 23 | "73": "5.0", 24 | "76": "6.0", 25 | "78": "7.0", 26 | "79": "8.0", 27 | "80": "8.0", 28 | "82": "9.0", 29 | "83": "9.0", 30 | "84": "10.0", 31 | "85": "10.0", 32 | "86": "11.0", 33 | "87": "11.0", 34 | "89": "12.0", 35 | "90": "13.0", 36 | "91": "13.0", 37 | "92": "14.0", 38 | "93": "14.0", 39 | "94": "15.0", 40 | "95": "16.0", 41 | "96": "16.0", 42 | "98": "17.0", 43 | "99": "18.0", 44 | "100": "18.0", 45 | "102": "19.0", 46 | "103": "20.0", 47 | "104": "20.0", 48 | "105": "21.0", 49 | "106": "21.0", 50 | "107": "22.0", 51 | "108": "22.0", 52 | "110": "23.0", 53 | "111": "24.0", 54 | "112": "24.0", 55 | "114": "25.0", 56 | "116": "26.0", 57 | "118": "27.0", 58 | "119": "28.0", 59 | "120": "28.0", 60 | "121": "29.0", 61 | "122": "29.0", 62 | "123": "30.0", 63 | "124": "30.0", 64 | "125": "31.0", 65 | "126": "31.0", 66 | "127": "32.0", 67 | "128": "32.0", 68 | "129": "33.0", 69 | "130": "33.0", 70 | "131": "34.0", 71 | "132": "34.0", 72 | "133": "35.0", 73 | "134": "35.0" 74 | }; -------------------------------------------------------------------------------- /node_modules/electron-to-chromium/chromium-versions.json: -------------------------------------------------------------------------------- 1 | {"39":"0.20","40":"0.21","41":"0.21","42":"0.25","43":"0.27","44":"0.30","45":"0.31","47":"0.36","49":"0.37","50":"1.1","51":"1.2","52":"1.3","53":"1.4","54":"1.4","56":"1.6","58":"1.7","59":"1.8","61":"2.0","66":"3.0","69":"4.0","72":"5.0","73":"5.0","76":"6.0","78":"7.0","79":"8.0","80":"8.0","82":"9.0","83":"9.0","84":"10.0","85":"10.0","86":"11.0","87":"11.0","89":"12.0","90":"13.0","91":"13.0","92":"14.0","93":"14.0","94":"15.0","95":"16.0","96":"16.0","98":"17.0","99":"18.0","100":"18.0","102":"19.0","103":"20.0","104":"20.0","105":"21.0","106":"21.0","107":"22.0","108":"22.0","110":"23.0","111":"24.0","112":"24.0","114":"25.0","116":"26.0","118":"27.0","119":"28.0","120":"28.0","121":"29.0","122":"29.0","123":"30.0","124":"30.0","125":"31.0","126":"31.0","127":"32.0","128":"32.0","129":"33.0","130":"33.0","131":"34.0","132":"34.0","133":"35.0","134":"35.0"} -------------------------------------------------------------------------------- /node_modules/electron-to-chromium/index.js: -------------------------------------------------------------------------------- 1 | var versions = require('./versions'); 2 | var fullVersions = require('./full-versions'); 3 | var chromiumVersions = require('./chromium-versions'); 4 | var fullChromiumVersions = require('./full-chromium-versions'); 5 | 6 | var electronToChromium = function (query) { 7 | var number = getQueryString(query); 8 | return number.split('.').length > 2 ? fullVersions[number] : versions[number] || undefined; 9 | }; 10 | 11 | var chromiumToElectron = function (query) { 12 | var number = getQueryString(query); 13 | return number.split('.').length > 2 ? fullChromiumVersions[number] : chromiumVersions[number] || undefined; 14 | }; 15 | 16 | var electronToBrowserList = function (query) { 17 | var number = getQueryString(query); 18 | return versions[number] ? "Chrome >= " + versions[number] : undefined; 19 | }; 20 | 21 | var getQueryString = function (query) { 22 | var number = query; 23 | if (query === 1) { number = "1.0" } 24 | if (typeof query === 'number') { number += ''; } 25 | return number; 26 | }; 27 | 28 | module.exports = { 29 | versions: versions, 30 | fullVersions: fullVersions, 31 | chromiumVersions: chromiumVersions, 32 | fullChromiumVersions: fullChromiumVersions, 33 | electronToChromium: electronToChromium, 34 | electronToBrowserList: electronToBrowserList, 35 | chromiumToElectron: chromiumToElectron 36 | }; 37 | -------------------------------------------------------------------------------- /node_modules/electron-to-chromium/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "electron-to-chromium", 3 | "version": "1.5.102", 4 | "description": "Provides a list of electron-to-chromium version mappings", 5 | "main": "index.js", 6 | "files": [ 7 | "versions.js", 8 | "full-versions.js", 9 | "chromium-versions.js", 10 | "full-chromium-versions.js", 11 | "versions.json", 12 | "full-versions.json", 13 | "chromium-versions.json", 14 | "full-chromium-versions.json", 15 | "LICENSE" 16 | ], 17 | "scripts": { 18 | "build": "node build.mjs", 19 | "update": "node automated-update.js", 20 | "test": "nyc ava --verbose", 21 | "report": "nyc report --reporter=text-lcov > coverage.lcov && codecov" 22 | }, 23 | "repository": { 24 | "type": "git", 25 | "url": "https://github.com/kilian/electron-to-chromium/" 26 | }, 27 | "keywords": [ 28 | "electron", 29 | "chrome", 30 | "chromium", 31 | "browserslist", 32 | "browserlist" 33 | ], 34 | "author": "Kilian Valkhof", 35 | "license": "ISC", 36 | "devDependencies": { 37 | "ava": "^5.1.1", 38 | "codecov": "^3.8.2", 39 | "compare-versions": "^6.0.0-rc.1", 40 | "node-fetch": "^3.3.0", 41 | "nyc": "^15.1.0", 42 | "shelljs": "^0.8.5" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /node_modules/escalade/dist/index.js: -------------------------------------------------------------------------------- 1 | const { dirname, resolve } = require('path'); 2 | const { readdir, stat } = require('fs'); 3 | const { promisify } = require('util'); 4 | 5 | const toStats = promisify(stat); 6 | const toRead = promisify(readdir); 7 | 8 | module.exports = async function (start, callback) { 9 | let dir = resolve('.', start); 10 | let tmp, stats = await toStats(dir); 11 | 12 | if (!stats.isDirectory()) { 13 | dir = dirname(dir); 14 | } 15 | 16 | while (true) { 17 | tmp = await callback(dir, await toRead(dir)); 18 | if (tmp) return resolve(dir, tmp); 19 | dir = dirname(tmp = dir); 20 | if (tmp === dir) break; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/escalade/dist/index.mjs: -------------------------------------------------------------------------------- 1 | import { dirname, resolve } from 'path'; 2 | import { readdir, stat } from 'fs'; 3 | import { promisify } from 'util'; 4 | 5 | const toStats = promisify(stat); 6 | const toRead = promisify(readdir); 7 | 8 | export default async function (start, callback) { 9 | let dir = resolve('.', start); 10 | let tmp, stats = await toStats(dir); 11 | 12 | if (!stats.isDirectory()) { 13 | dir = dirname(dir); 14 | } 15 | 16 | while (true) { 17 | tmp = await callback(dir, await toRead(dir)); 18 | if (tmp) return resolve(dir, tmp); 19 | dir = dirname(tmp = dir); 20 | if (tmp === dir) break; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/escalade/index.d.mts: -------------------------------------------------------------------------------- 1 | type Promisable = T | Promise; 2 | 3 | export type Callback = ( 4 | directory: string, 5 | files: string[], 6 | ) => Promisable; 7 | 8 | export default function ( 9 | directory: string, 10 | callback: Callback, 11 | ): Promise; 12 | -------------------------------------------------------------------------------- /node_modules/escalade/index.d.ts: -------------------------------------------------------------------------------- 1 | type Promisable = T | Promise; 2 | 3 | declare namespace escalade { 4 | export type Callback = ( 5 | directory: string, 6 | files: string[], 7 | ) => Promisable; 8 | } 9 | 10 | declare function escalade( 11 | directory: string, 12 | callback: escalade.Callback, 13 | ): Promise; 14 | 15 | export = escalade; 16 | -------------------------------------------------------------------------------- /node_modules/escalade/license: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Luke Edwards (lukeed.com) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /node_modules/escalade/sync/index.d.mts: -------------------------------------------------------------------------------- 1 | export type Callback = ( 2 | directory: string, 3 | files: string[], 4 | ) => string | false | void; 5 | 6 | export default function ( 7 | directory: string, 8 | callback: Callback, 9 | ): string | void; 10 | -------------------------------------------------------------------------------- /node_modules/escalade/sync/index.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace escalade { 2 | export type Callback = ( 3 | directory: string, 4 | files: string[], 5 | ) => string | false | void; 6 | } 7 | 8 | declare function escalade( 9 | directory: string, 10 | callback: escalade.Callback, 11 | ): string | void; 12 | 13 | export = escalade; 14 | -------------------------------------------------------------------------------- /node_modules/escalade/sync/index.js: -------------------------------------------------------------------------------- 1 | const { dirname, resolve } = require('path'); 2 | const { readdirSync, statSync } = require('fs'); 3 | 4 | module.exports = function (start, callback) { 5 | let dir = resolve('.', start); 6 | let tmp, stats = statSync(dir); 7 | 8 | if (!stats.isDirectory()) { 9 | dir = dirname(dir); 10 | } 11 | 12 | while (true) { 13 | tmp = callback(dir, readdirSync(dir)); 14 | if (tmp) return resolve(dir, tmp); 15 | dir = dirname(tmp = dir); 16 | if (tmp === dir) break; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /node_modules/escalade/sync/index.mjs: -------------------------------------------------------------------------------- 1 | import { dirname, resolve } from 'path'; 2 | import { readdirSync, statSync } from 'fs'; 3 | 4 | export default function (start, callback) { 5 | let dir = resolve('.', start); 6 | let tmp, stats = statSync(dir); 7 | 8 | if (!stats.isDirectory()) { 9 | dir = dirname(dir); 10 | } 11 | 12 | while (true) { 13 | tmp = callback(dir, readdirSync(dir)); 14 | if (tmp) return resolve(dir, tmp); 15 | dir = dirname(tmp = dir); 16 | if (tmp === dir) break; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /node_modules/fraction.js/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Robert Eisele 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 | -------------------------------------------------------------------------------- /node_modules/fraction.js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "fraction.js", 3 | "title": "fraction.js", 4 | "version": "4.3.7", 5 | "homepage": "https://www.xarg.org/2014/03/rational-numbers-in-javascript/", 6 | "bugs": "https://github.com/rawify/Fraction.js/issues", 7 | "description": "A rational number library", 8 | "keywords": [ 9 | "math", 10 | "fraction", 11 | "rational", 12 | "rationals", 13 | "number", 14 | "parser", 15 | "rational numbers" 16 | ], 17 | "author": { 18 | "name": "Robert Eisele", 19 | "email": "robert@raw.org", 20 | "url": "https://raw.org/" 21 | }, 22 | "type": "module", 23 | "main": "fraction.cjs", 24 | "exports": { 25 | ".": { 26 | "import": "./fraction.js", 27 | "require": "./fraction.cjs", 28 | "types": "./fraction.d.ts" 29 | } 30 | }, 31 | "types": "./fraction.d.ts", 32 | "private": false, 33 | "readmeFilename": "README.md", 34 | "directories": { 35 | "example": "examples" 36 | }, 37 | "license": "MIT", 38 | "repository": { 39 | "type": "git", 40 | "url": "git://github.com/rawify/Fraction.js.git" 41 | }, 42 | "funding": { 43 | "type": "patreon", 44 | "url": "https://github.com/sponsors/rawify" 45 | }, 46 | "engines": { 47 | "node": "*" 48 | }, 49 | "scripts": { 50 | "test": "mocha tests/*.js" 51 | }, 52 | "devDependencies": { 53 | "mocha": "*" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /node_modules/nanoid/.devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "image": "localhost/ai-opensource:latest", 3 | "forwardPorts": [], 4 | "mounts": [ 5 | { 6 | "source": "pnpm-store", 7 | "target": "/home/ai/.local/share/pnpm/store", 8 | "type": "volume" 9 | }, 10 | { 11 | "source": "shell-history", 12 | "target": "/home/ai/.local/share/history/", 13 | "type": "volume" 14 | } 15 | ], 16 | "workspaceMount": "", 17 | "runArgs": [ 18 | "--userns=keep-id:uid=1000,gid=1000", 19 | "--volume=${localWorkspaceFolder}:/workspaces/${localWorkspaceFolderBasename}:Z", 20 | "--network=host", 21 | "--ulimit=host" 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /node_modules/nanoid/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2017 Andrey Sitnik 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/nanoid/async/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generate secure URL-friendly unique ID. The non-blocking version. 3 | * 4 | * By default, the ID will have 21 symbols to have a collision probability 5 | * similar to UUID v4. 6 | * 7 | * ```js 8 | * import { nanoid } from 'nanoid/async' 9 | * nanoid().then(id => { 10 | * model.id = id 11 | * }) 12 | * ``` 13 | * 14 | * @param size Size of the ID. The default size is 21. 15 | * @returns A promise with a random string. 16 | */ 17 | export function nanoid(size?: number): Promise 18 | 19 | /** 20 | * A low-level function. 21 | * Generate secure unique ID with custom alphabet. The non-blocking version. 22 | * 23 | * Alphabet must contain 256 symbols or less. Otherwise, the generator 24 | * will not be secure. 25 | * 26 | * @param alphabet Alphabet used to generate the ID. 27 | * @param defaultSize Size of the ID. The default size is 21. 28 | * @returns A function that returns a promise with a random string. 29 | * 30 | * ```js 31 | * import { customAlphabet } from 'nanoid/async' 32 | * const nanoid = customAlphabet('0123456789абвгдеё', 5) 33 | * nanoid().then(id => { 34 | * model.id = id //=> "8ё56а" 35 | * }) 36 | * ``` 37 | */ 38 | export function customAlphabet( 39 | alphabet: string, 40 | defaultSize?: number 41 | ): (size?: number) => Promise 42 | 43 | /** 44 | * Generate an array of random bytes collected from hardware noise. 45 | * 46 | * ```js 47 | * import { random } from 'nanoid/async' 48 | * random(5).then(bytes => { 49 | * bytes //=> [10, 67, 212, 67, 89] 50 | * }) 51 | * ``` 52 | * 53 | * @param bytes Size of the array. 54 | * @returns A promise with a random bytes array. 55 | */ 56 | export function random(bytes: number): Promise 57 | -------------------------------------------------------------------------------- /node_modules/nanoid/async/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "main": "index.cjs", 4 | "module": "index.js", 5 | "react-native": { 6 | "./index.js": "./index.native.js" 7 | }, 8 | "browser": { 9 | "./index.js": "./index.browser.js", 10 | "./index.cjs": "./index.browser.cjs" 11 | } 12 | } -------------------------------------------------------------------------------- /node_modules/nanoid/bin/nanoid.cjs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | let { nanoid, customAlphabet } = require('..') 4 | 5 | function print(msg) { 6 | process.stdout.write(msg + '\n') 7 | } 8 | 9 | function error(msg) { 10 | process.stderr.write(msg + '\n') 11 | process.exit(1) 12 | } 13 | 14 | if (process.argv.includes('--help') || process.argv.includes('-h')) { 15 | print(` 16 | Usage 17 | $ nanoid [options] 18 | 19 | Options 20 | -s, --size Generated ID size 21 | -a, --alphabet Alphabet to use 22 | -h, --help Show this help 23 | 24 | Examples 25 | $ nanoid --s 15 26 | S9sBF77U6sDB8Yg 27 | 28 | $ nanoid --size 10 --alphabet abc 29 | bcabababca`) 30 | process.exit() 31 | } 32 | 33 | let alphabet, size 34 | for (let i = 2; i < process.argv.length; i++) { 35 | let arg = process.argv[i] 36 | if (arg === '--size' || arg === '-s') { 37 | size = Number(process.argv[i + 1]) 38 | i += 1 39 | if (Number.isNaN(size) || size <= 0) { 40 | error('Size must be positive integer') 41 | } 42 | } else if (arg === '--alphabet' || arg === '-a') { 43 | alphabet = process.argv[i + 1] 44 | i += 1 45 | } else { 46 | error('Unknown argument ' + arg) 47 | } 48 | } 49 | 50 | if (alphabet) { 51 | let customNanoid = customAlphabet(alphabet, size) 52 | print(customNanoid()) 53 | } else { 54 | print(nanoid(size)) 55 | } 56 | -------------------------------------------------------------------------------- /node_modules/nanoid/nanoid.js: -------------------------------------------------------------------------------- 1 | export let nanoid=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce(((t,e)=>t+=(e&=63)<36?e.toString(36):e<62?(e-26).toString(36).toUpperCase():e<63?"_":"-"),""); -------------------------------------------------------------------------------- /node_modules/nanoid/non-secure/index.cjs: -------------------------------------------------------------------------------- 1 | // This alphabet uses `A-Za-z0-9_-` symbols. 2 | // The order of characters is optimized for better gzip and brotli compression. 3 | // References to the same file (works both for gzip and brotli): 4 | // `'use`, `andom`, and `rict'` 5 | // References to the brotli default dictionary: 6 | // `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf` 7 | let urlAlphabet = 8 | 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict' 9 | 10 | let customAlphabet = (alphabet, defaultSize = 21) => { 11 | return (size = defaultSize) => { 12 | let id = '' 13 | // A compact alternative for `for (var i = 0; i < step; i++)`. 14 | let i = size | 0 15 | while (i--) { 16 | // `| 0` is more compact and faster than `Math.floor()`. 17 | id += alphabet[(Math.random() * alphabet.length) | 0] 18 | } 19 | return id 20 | } 21 | } 22 | 23 | let nanoid = (size = 21) => { 24 | let id = '' 25 | // A compact alternative for `for (var i = 0; i < step; i++)`. 26 | let i = size | 0 27 | while (i--) { 28 | // `| 0` is more compact and faster than `Math.floor()`. 29 | id += urlAlphabet[(Math.random() * 64) | 0] 30 | } 31 | return id 32 | } 33 | 34 | module.exports = { nanoid, customAlphabet } 35 | -------------------------------------------------------------------------------- /node_modules/nanoid/non-secure/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Generate URL-friendly unique ID. This method uses the non-secure 3 | * predictable random generator with bigger collision probability. 4 | * 5 | * ```js 6 | * import { nanoid } from 'nanoid/non-secure' 7 | * model.id = nanoid() //=> "Uakgb_J5m9g-0JDMbcJqL" 8 | * ``` 9 | * 10 | * @param size Size of the ID. The default size is 21. 11 | * @returns A random string. 12 | */ 13 | export function nanoid(size?: number): string 14 | 15 | /** 16 | * Generate a unique ID based on a custom alphabet. 17 | * This method uses the non-secure predictable random generator 18 | * with bigger collision probability. 19 | * 20 | * @param alphabet Alphabet used to generate the ID. 21 | * @param defaultSize Size of the ID. The default size is 21. 22 | * @returns A random string generator. 23 | * 24 | * ```js 25 | * import { customAlphabet } from 'nanoid/non-secure' 26 | * const nanoid = customAlphabet('0123456789абвгдеё', 5) 27 | * model.id = //=> "8ё56а" 28 | * ``` 29 | */ 30 | export function customAlphabet( 31 | alphabet: string, 32 | defaultSize?: number 33 | ): (size?: number) => string 34 | -------------------------------------------------------------------------------- /node_modules/nanoid/non-secure/index.js: -------------------------------------------------------------------------------- 1 | // This alphabet uses `A-Za-z0-9_-` symbols. 2 | // The order of characters is optimized for better gzip and brotli compression. 3 | // References to the same file (works both for gzip and brotli): 4 | // `'use`, `andom`, and `rict'` 5 | // References to the brotli default dictionary: 6 | // `-26T`, `1983`, `40px`, `75px`, `bush`, `jack`, `mind`, `very`, and `wolf` 7 | let urlAlphabet = 8 | 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict' 9 | 10 | let customAlphabet = (alphabet, defaultSize = 21) => { 11 | return (size = defaultSize) => { 12 | let id = '' 13 | // A compact alternative for `for (var i = 0; i < step; i++)`. 14 | let i = size | 0 15 | while (i--) { 16 | // `| 0` is more compact and faster than `Math.floor()`. 17 | id += alphabet[(Math.random() * alphabet.length) | 0] 18 | } 19 | return id 20 | } 21 | } 22 | 23 | let nanoid = (size = 21) => { 24 | let id = '' 25 | // A compact alternative for `for (var i = 0; i < step; i++)`. 26 | let i = size | 0 27 | while (i--) { 28 | // `| 0` is more compact and faster than `Math.floor()`. 29 | id += urlAlphabet[(Math.random() * 64) | 0] 30 | } 31 | return id 32 | } 33 | 34 | export { nanoid, customAlphabet } 35 | -------------------------------------------------------------------------------- /node_modules/nanoid/non-secure/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "main": "index.cjs", 4 | "module": "index.js", 5 | "react-native": "index.js" 6 | } -------------------------------------------------------------------------------- /node_modules/nanoid/url-alphabet/index.cjs: -------------------------------------------------------------------------------- 1 | // This alphabet uses `A-Za-z0-9_-` symbols. 2 | // The order of characters is optimized for better gzip and brotli compression. 3 | // Same as in non-secure/index.js 4 | let urlAlphabet = 5 | 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict' 6 | 7 | module.exports = { urlAlphabet } 8 | -------------------------------------------------------------------------------- /node_modules/nanoid/url-alphabet/index.js: -------------------------------------------------------------------------------- 1 | // This alphabet uses `A-Za-z0-9_-` symbols. 2 | // The order of characters is optimized for better gzip and brotli compression. 3 | // Same as in non-secure/index.js 4 | let urlAlphabet = 5 | 'useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict' 6 | 7 | export { urlAlphabet } 8 | -------------------------------------------------------------------------------- /node_modules/nanoid/url-alphabet/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "main": "index.cjs", 4 | "module": "index.js", 5 | "react-native": "index.js" 6 | } -------------------------------------------------------------------------------- /node_modules/node-releases/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2017 Sergey Rubanov (https://github.com/chicoxyzzy) 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/node-releases/README.md: -------------------------------------------------------------------------------- 1 | # Node.js releases data 2 | 3 | All data is located in `data` directory. 4 | 5 | `data/processed` contains `envs.json` with node.js releases data preprocessed to be used by [Browserslist](https://github.com/ai/browserslist) and other projects. Each version in this file contains only necessary info: version, release date, LTS flag/name, and security flag. 6 | 7 | `data/release-schedule` contains `release-schedule.json` with node.js releases date and end of life date. 8 | 9 | ## Installation 10 | ```bash 11 | npm install node-releases 12 | ``` 13 | -------------------------------------------------------------------------------- /node_modules/node-releases/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-releases", 3 | "version": "2.0.19", 4 | "description": "Node.js releases data", 5 | "type": "module", 6 | "scripts": { 7 | "build": "node scripts/build.js" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/chicoxyzzy/node-releases.git" 12 | }, 13 | "keywords": [ 14 | "nodejs", 15 | "releases" 16 | ], 17 | "author": "Sergey Rubanov ", 18 | "license": "MIT", 19 | "devDependencies": { 20 | "semver": "^7.3.5" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /node_modules/normalize-range/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = { 3 | wrap: wrapRange, 4 | limit: limitRange, 5 | validate: validateRange, 6 | test: testRange, 7 | curry: curry, 8 | name: name 9 | }; 10 | 11 | function wrapRange(min, max, value) { 12 | var maxLessMin = max - min; 13 | return ((value - min) % maxLessMin + maxLessMin) % maxLessMin + min; 14 | } 15 | 16 | function limitRange(min, max, value) { 17 | return Math.max(min, Math.min(max, value)); 18 | } 19 | 20 | function validateRange(min, max, value, minExclusive, maxExclusive) { 21 | if (!testRange(min, max, value, minExclusive, maxExclusive)) { 22 | throw new Error(value + ' is outside of range [' + min + ',' + max + ')'); 23 | } 24 | return value; 25 | } 26 | 27 | function testRange(min, max, value, minExclusive, maxExclusive) { 28 | return !( 29 | value < min || 30 | value > max || 31 | (maxExclusive && (value === max)) || 32 | (minExclusive && (value === min)) 33 | ); 34 | } 35 | 36 | function name(min, max, minExcl, maxExcl) { 37 | return (minExcl ? '(' : '[') + min + ',' + max + (maxExcl ? ')' : ']'); 38 | } 39 | 40 | function curry(min, max, minExclusive, maxExclusive) { 41 | var boundNameFn = name.bind(null, min, max, minExclusive, maxExclusive); 42 | return { 43 | wrap: wrapRange.bind(null, min, max), 44 | limit: limitRange.bind(null, min, max), 45 | validate: function(value) { 46 | return validateRange(min, max, value, minExclusive, maxExclusive); 47 | }, 48 | test: function(value) { 49 | return testRange(min, max, value, minExclusive, maxExclusive); 50 | }, 51 | toString: boundNameFn, 52 | name: boundNameFn 53 | }; 54 | } 55 | -------------------------------------------------------------------------------- /node_modules/normalize-range/license: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) James Talmage (github.com/jamestalmage) 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 13 | all 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 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /node_modules/normalize-range/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "normalize-range", 3 | "version": "0.1.2", 4 | "description": "Utility for normalizing a numeric range, with a wrapping function useful for polar coordinates", 5 | "license": "MIT", 6 | "repository": "jamestalmage/normalize-range", 7 | "author": { 8 | "name": "James Talmage", 9 | "email": "james@talmage.io", 10 | "url": "github.com/jamestalmage" 11 | }, 12 | "engines": { 13 | "node": ">=0.10.0" 14 | }, 15 | "scripts": { 16 | "test": "npm run cover && npm run lint && npm run style", 17 | "cover": "istanbul cover ./node_modules/.bin/_mocha", 18 | "lint": "jshint --reporter=node_modules/jshint-stylish *.js test/*.js", 19 | "debug": "mocha", 20 | "watch": "mocha -w", 21 | "style": "jscs *.js ./**/*.js && jscs ./test/** --config=./test/.jscsrc" 22 | }, 23 | "files": [ 24 | "index.js" 25 | ], 26 | "keywords": [ 27 | "range", 28 | "normalize", 29 | "utility", 30 | "angle", 31 | "degrees", 32 | "polar" 33 | ], 34 | "dependencies": {}, 35 | "devDependencies": { 36 | "almost-equal": "^1.0.0", 37 | "codeclimate-test-reporter": "^0.1.0", 38 | "coveralls": "^2.11.2", 39 | "istanbul": "^0.3.17", 40 | "jscs": "^2.1.1", 41 | "jshint": "^2.8.0", 42 | "jshint-stylish": "^2.0.1", 43 | "mocha": "^2.2.5", 44 | "stringify-pi": "0.0.3" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /node_modules/picocolors/LICENSE: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2021-2024 Oleksii Raspopov, Kostiantyn Denysov, Anton Verinov 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /node_modules/picocolors/README.md: -------------------------------------------------------------------------------- 1 | # picocolors 2 | 3 | The tiniest and the fastest library for terminal output formatting with ANSI colors. 4 | 5 | ```javascript 6 | import pc from "picocolors" 7 | 8 | console.log( 9 | pc.green(`How are ${pc.italic(`you`)} doing?`) 10 | ) 11 | ``` 12 | 13 | - **No dependencies.** 14 | - **14 times** smaller and **2 times** faster than chalk. 15 | - Used by popular tools like PostCSS, SVGO, Stylelint, and Browserslist. 16 | - Node.js v6+ & browsers support. Support for both CJS and ESM projects. 17 | - TypeScript type declarations included. 18 | - [`NO_COLOR`](https://no-color.org/) friendly. 19 | 20 | ## Docs 21 | Read **[full docs](https://github.com/alexeyraspopov/picocolors#readme)** on GitHub. 22 | -------------------------------------------------------------------------------- /node_modules/picocolors/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "picocolors", 3 | "version": "1.1.1", 4 | "main": "./picocolors.js", 5 | "types": "./picocolors.d.ts", 6 | "browser": { 7 | "./picocolors.js": "./picocolors.browser.js" 8 | }, 9 | "sideEffects": false, 10 | "description": "The tiniest and the fastest library for terminal output formatting with ANSI colors", 11 | "files": [ 12 | "picocolors.*", 13 | "types.d.ts" 14 | ], 15 | "keywords": [ 16 | "terminal", 17 | "colors", 18 | "formatting", 19 | "cli", 20 | "console" 21 | ], 22 | "author": "Alexey Raspopov", 23 | "repository": "alexeyraspopov/picocolors", 24 | "license": "ISC" 25 | } 26 | -------------------------------------------------------------------------------- /node_modules/picocolors/picocolors.browser.js: -------------------------------------------------------------------------------- 1 | var x=String; 2 | var create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x,blackBright:x,redBright:x,greenBright:x,yellowBright:x,blueBright:x,magentaBright:x,cyanBright:x,whiteBright:x,bgBlackBright:x,bgRedBright:x,bgGreenBright:x,bgYellowBright:x,bgBlueBright:x,bgMagentaBright:x,bgCyanBright:x,bgWhiteBright:x}}; 3 | module.exports=create(); 4 | module.exports.createColors = create; 5 | -------------------------------------------------------------------------------- /node_modules/picocolors/picocolors.d.ts: -------------------------------------------------------------------------------- 1 | import { Colors } from "./types" 2 | 3 | declare const picocolors: Colors & { createColors: (enabled?: boolean) => Colors } 4 | 5 | export = picocolors 6 | -------------------------------------------------------------------------------- /node_modules/picocolors/types.d.ts: -------------------------------------------------------------------------------- 1 | export type Formatter = (input: string | number | null | undefined) => string 2 | 3 | export interface Colors { 4 | isColorSupported: boolean 5 | 6 | reset: Formatter 7 | bold: Formatter 8 | dim: Formatter 9 | italic: Formatter 10 | underline: Formatter 11 | inverse: Formatter 12 | hidden: Formatter 13 | strikethrough: Formatter 14 | 15 | black: Formatter 16 | red: Formatter 17 | green: Formatter 18 | yellow: Formatter 19 | blue: Formatter 20 | magenta: Formatter 21 | cyan: Formatter 22 | white: Formatter 23 | gray: Formatter 24 | 25 | bgBlack: Formatter 26 | bgRed: Formatter 27 | bgGreen: Formatter 28 | bgYellow: Formatter 29 | bgBlue: Formatter 30 | bgMagenta: Formatter 31 | bgCyan: Formatter 32 | bgWhite: Formatter 33 | 34 | blackBright: Formatter 35 | redBright: Formatter 36 | greenBright: Formatter 37 | yellowBright: Formatter 38 | blueBright: Formatter 39 | magentaBright: Formatter 40 | cyanBright: Formatter 41 | whiteBright: Formatter 42 | 43 | bgBlackBright: Formatter 44 | bgRedBright: Formatter 45 | bgGreenBright: Formatter 46 | bgYellowBright: Formatter 47 | bgBlueBright: Formatter 48 | bgMagentaBright: Formatter 49 | bgCyanBright: Formatter 50 | bgWhiteBright: Formatter 51 | } 52 | -------------------------------------------------------------------------------- /node_modules/postcss-value-parser/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) Bogdan Chadkin 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /node_modules/postcss-value-parser/lib/index.js: -------------------------------------------------------------------------------- 1 | var parse = require("./parse"); 2 | var walk = require("./walk"); 3 | var stringify = require("./stringify"); 4 | 5 | function ValueParser(value) { 6 | if (this instanceof ValueParser) { 7 | this.nodes = parse(value); 8 | return this; 9 | } 10 | return new ValueParser(value); 11 | } 12 | 13 | ValueParser.prototype.toString = function() { 14 | return Array.isArray(this.nodes) ? stringify(this.nodes) : ""; 15 | }; 16 | 17 | ValueParser.prototype.walk = function(cb, bubble) { 18 | walk(this.nodes, cb, bubble); 19 | return this; 20 | }; 21 | 22 | ValueParser.unit = require("./unit"); 23 | 24 | ValueParser.walk = walk; 25 | 26 | ValueParser.stringify = stringify; 27 | 28 | module.exports = ValueParser; 29 | -------------------------------------------------------------------------------- /node_modules/postcss-value-parser/lib/stringify.js: -------------------------------------------------------------------------------- 1 | function stringifyNode(node, custom) { 2 | var type = node.type; 3 | var value = node.value; 4 | var buf; 5 | var customResult; 6 | 7 | if (custom && (customResult = custom(node)) !== undefined) { 8 | return customResult; 9 | } else if (type === "word" || type === "space") { 10 | return value; 11 | } else if (type === "string") { 12 | buf = node.quote || ""; 13 | return buf + value + (node.unclosed ? "" : buf); 14 | } else if (type === "comment") { 15 | return "/*" + value + (node.unclosed ? "" : "*/"); 16 | } else if (type === "div") { 17 | return (node.before || "") + value + (node.after || ""); 18 | } else if (Array.isArray(node.nodes)) { 19 | buf = stringify(node.nodes, custom); 20 | if (type !== "function") { 21 | return buf; 22 | } 23 | return ( 24 | value + 25 | "(" + 26 | (node.before || "") + 27 | buf + 28 | (node.after || "") + 29 | (node.unclosed ? "" : ")") 30 | ); 31 | } 32 | return value; 33 | } 34 | 35 | function stringify(nodes, custom) { 36 | var result, i; 37 | 38 | if (Array.isArray(nodes)) { 39 | result = ""; 40 | for (i = nodes.length - 1; ~i; i -= 1) { 41 | result = stringifyNode(nodes[i], custom) + result; 42 | } 43 | return result; 44 | } 45 | return stringifyNode(nodes, custom); 46 | } 47 | 48 | module.exports = stringify; 49 | -------------------------------------------------------------------------------- /node_modules/postcss-value-parser/lib/walk.js: -------------------------------------------------------------------------------- 1 | module.exports = function walk(nodes, cb, bubble) { 2 | var i, max, node, result; 3 | 4 | for (i = 0, max = nodes.length; i < max; i += 1) { 5 | node = nodes[i]; 6 | if (!bubble) { 7 | result = cb(node, i, nodes); 8 | } 9 | 10 | if ( 11 | result !== false && 12 | node.type === "function" && 13 | Array.isArray(node.nodes) 14 | ) { 15 | walk(node.nodes, cb, bubble); 16 | } 17 | 18 | if (bubble) { 19 | cb(node, i, nodes); 20 | } 21 | } 22 | }; 23 | -------------------------------------------------------------------------------- /node_modules/postcss-value-parser/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "postcss-value-parser", 3 | "version": "4.2.0", 4 | "description": "Transforms css values and at-rule params into the tree", 5 | "main": "lib/index.js", 6 | "files": [ 7 | "lib" 8 | ], 9 | "devDependencies": { 10 | "eslint": "^5.16.0", 11 | "husky": "^2.3.0", 12 | "lint-staged": "^8.1.7", 13 | "prettier": "^1.17.1", 14 | "tap-spec": "^5.0.0", 15 | "tape": "^4.10.2" 16 | }, 17 | "scripts": { 18 | "lint:prettier": "prettier \"**/*.js\" \"**/*.ts\" --list-different", 19 | "lint:js": "eslint . --cache", 20 | "lint": "yarn lint:js && yarn lint:prettier", 21 | "pretest": "yarn lint", 22 | "test": "tape test/*.js | tap-spec" 23 | }, 24 | "eslintConfig": { 25 | "env": { 26 | "es6": true, 27 | "node": true 28 | }, 29 | "extends": "eslint:recommended" 30 | }, 31 | "lint-staged": { 32 | "*.js": [ 33 | "eslint", 34 | "prettier --write", 35 | "git add" 36 | ] 37 | }, 38 | "husky": { 39 | "hooks": { 40 | "pre-commit": "lint-staged" 41 | } 42 | }, 43 | "author": "Bogdan Chadkin ", 44 | "license": "MIT", 45 | "homepage": "https://github.com/TrySound/postcss-value-parser", 46 | "repository": { 47 | "type": "git", 48 | "url": "https://github.com/TrySound/postcss-value-parser.git" 49 | }, 50 | "keywords": [ 51 | "postcss", 52 | "value", 53 | "parser" 54 | ], 55 | "bugs": { 56 | "url": "https://github.com/TrySound/postcss-value-parser/issues" 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /node_modules/postcss/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2013 Andrey Sitnik 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/postcss/README.md: -------------------------------------------------------------------------------- 1 | # PostCSS 2 | 3 | Philosopher’s stone, logo of PostCSS 6 | 7 | PostCSS is a tool for transforming styles with JS plugins. 8 | These plugins can lint your CSS, support variables and mixins, 9 | transpile future CSS syntax, inline images, and more. 10 | 11 | PostCSS is used by industry leaders including Wikipedia, Twitter, Alibaba, 12 | and JetBrains. The [Autoprefixer] and [Stylelint] PostCSS plugins is one of the most popular CSS tools. 13 | 14 | --- 15 | 16 |   Made at Evil Martians, product consulting for developer tools. 17 | 18 | --- 19 | 20 | [Abstract Syntax Tree]: https://en.wikipedia.org/wiki/Abstract_syntax_tree 21 | [Evil Martians]: https://evilmartians.com/?utm_source=postcss 22 | [Autoprefixer]: https://github.com/postcss/autoprefixer 23 | [Stylelint]: https://stylelint.io/ 24 | [plugins]: https://github.com/postcss/postcss#plugins 25 | 26 | 27 | ## Docs 28 | Read full docs **[here](https://postcss.org/)**. 29 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/at-rule.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let Container = require('./container') 4 | 5 | class AtRule extends Container { 6 | constructor(defaults) { 7 | super(defaults) 8 | this.type = 'atrule' 9 | } 10 | 11 | append(...children) { 12 | if (!this.proxyOf.nodes) this.nodes = [] 13 | return super.append(...children) 14 | } 15 | 16 | prepend(...children) { 17 | if (!this.proxyOf.nodes) this.nodes = [] 18 | return super.prepend(...children) 19 | } 20 | } 21 | 22 | module.exports = AtRule 23 | AtRule.default = AtRule 24 | 25 | Container.registerAtRule(AtRule) 26 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/comment.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let Node = require('./node') 4 | 5 | class Comment extends Node { 6 | constructor(defaults) { 7 | super(defaults) 8 | this.type = 'comment' 9 | } 10 | } 11 | 12 | module.exports = Comment 13 | Comment.default = Comment 14 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/declaration.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let Node = require('./node') 4 | 5 | class Declaration extends Node { 6 | get variable() { 7 | return this.prop.startsWith('--') || this.prop[0] === '$' 8 | } 9 | 10 | constructor(defaults) { 11 | if ( 12 | defaults && 13 | typeof defaults.value !== 'undefined' && 14 | typeof defaults.value !== 'string' 15 | ) { 16 | defaults = { ...defaults, value: String(defaults.value) } 17 | } 18 | super(defaults) 19 | this.type = 'decl' 20 | } 21 | } 22 | 23 | module.exports = Declaration 24 | Declaration.default = Declaration 25 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/document.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let Container = require('./container') 4 | 5 | let LazyResult, Processor 6 | 7 | class Document extends Container { 8 | constructor(defaults) { 9 | // type needs to be passed to super, otherwise child roots won't be normalized correctly 10 | super({ type: 'document', ...defaults }) 11 | 12 | if (!this.nodes) { 13 | this.nodes = [] 14 | } 15 | } 16 | 17 | toResult(opts = {}) { 18 | let lazy = new LazyResult(new Processor(), this, opts) 19 | 20 | return lazy.stringify() 21 | } 22 | } 23 | 24 | Document.registerLazyResult = dependant => { 25 | LazyResult = dependant 26 | } 27 | 28 | Document.registerProcessor = dependant => { 29 | Processor = dependant 30 | } 31 | 32 | module.exports = Document 33 | Document.default = Document 34 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/fromJSON.d.ts: -------------------------------------------------------------------------------- 1 | import { JSONHydrator } from './postcss.js' 2 | 3 | interface FromJSON extends JSONHydrator { 4 | default: FromJSON 5 | } 6 | 7 | declare const fromJSON: FromJSON 8 | 9 | export = fromJSON 10 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/fromJSON.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let AtRule = require('./at-rule') 4 | let Comment = require('./comment') 5 | let Declaration = require('./declaration') 6 | let Input = require('./input') 7 | let PreviousMap = require('./previous-map') 8 | let Root = require('./root') 9 | let Rule = require('./rule') 10 | 11 | function fromJSON(json, inputs) { 12 | if (Array.isArray(json)) return json.map(n => fromJSON(n)) 13 | 14 | let { inputs: ownInputs, ...defaults } = json 15 | if (ownInputs) { 16 | inputs = [] 17 | for (let input of ownInputs) { 18 | let inputHydrated = { ...input, __proto__: Input.prototype } 19 | if (inputHydrated.map) { 20 | inputHydrated.map = { 21 | ...inputHydrated.map, 22 | __proto__: PreviousMap.prototype 23 | } 24 | } 25 | inputs.push(inputHydrated) 26 | } 27 | } 28 | if (defaults.nodes) { 29 | defaults.nodes = json.nodes.map(n => fromJSON(n, inputs)) 30 | } 31 | if (defaults.source) { 32 | let { inputId, ...source } = defaults.source 33 | defaults.source = source 34 | if (inputId != null) { 35 | defaults.source.input = inputs[inputId] 36 | } 37 | } 38 | if (defaults.type === 'root') { 39 | return new Root(defaults) 40 | } else if (defaults.type === 'decl') { 41 | return new Declaration(defaults) 42 | } else if (defaults.type === 'rule') { 43 | return new Rule(defaults) 44 | } else if (defaults.type === 'comment') { 45 | return new Comment(defaults) 46 | } else if (defaults.type === 'atrule') { 47 | return new AtRule(defaults) 48 | } else { 49 | throw new Error('Unknown node type: ' + json.type) 50 | } 51 | } 52 | 53 | module.exports = fromJSON 54 | fromJSON.default = fromJSON 55 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/list.d.ts: -------------------------------------------------------------------------------- 1 | declare namespace list { 2 | type List = { 3 | /** 4 | * Safely splits comma-separated values (such as those for `transition-*` 5 | * and `background` properties). 6 | * 7 | * ```js 8 | * Once (root, { list }) { 9 | * list.comma('black, linear-gradient(white, black)') 10 | * //=> ['black', 'linear-gradient(white, black)'] 11 | * } 12 | * ``` 13 | * 14 | * @param str Comma-separated values. 15 | * @return Split values. 16 | */ 17 | comma(str: string): string[] 18 | 19 | default: List 20 | 21 | /** 22 | * Safely splits space-separated values (such as those for `background`, 23 | * `border-radius`, and other shorthand properties). 24 | * 25 | * ```js 26 | * Once (root, { list }) { 27 | * list.space('1px calc(10% + 1px)') //=> ['1px', 'calc(10% + 1px)'] 28 | * } 29 | * ``` 30 | * 31 | * @param str Space-separated values. 32 | * @return Split values. 33 | */ 34 | space(str: string): string[] 35 | 36 | /** 37 | * Safely splits values. 38 | * 39 | * ```js 40 | * Once (root, { list }) { 41 | * list.split('1px calc(10% + 1px)', [' ', '\n', '\t']) //=> ['1px', 'calc(10% + 1px)'] 42 | * } 43 | * ``` 44 | * 45 | * @param string separated values. 46 | * @param separators array of separators. 47 | * @param last boolean indicator. 48 | * @return Split values. 49 | */ 50 | split( 51 | string: string, 52 | separators: readonly string[], 53 | last: boolean 54 | ): string[] 55 | } 56 | } 57 | 58 | declare const list: list.List 59 | 60 | export = list 61 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/list.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let list = { 4 | comma(string) { 5 | return list.split(string, [','], true) 6 | }, 7 | 8 | space(string) { 9 | let spaces = [' ', '\n', '\t'] 10 | return list.split(string, spaces) 11 | }, 12 | 13 | split(string, separators, last) { 14 | let array = [] 15 | let current = '' 16 | let split = false 17 | 18 | let func = 0 19 | let inQuote = false 20 | let prevQuote = '' 21 | let escape = false 22 | 23 | for (let letter of string) { 24 | if (escape) { 25 | escape = false 26 | } else if (letter === '\\') { 27 | escape = true 28 | } else if (inQuote) { 29 | if (letter === prevQuote) { 30 | inQuote = false 31 | } 32 | } else if (letter === '"' || letter === "'") { 33 | inQuote = true 34 | prevQuote = letter 35 | } else if (letter === '(') { 36 | func += 1 37 | } else if (letter === ')') { 38 | if (func > 0) func -= 1 39 | } else if (func === 0) { 40 | if (separators.includes(letter)) split = true 41 | } 42 | 43 | if (split) { 44 | if (current !== '') array.push(current.trim()) 45 | current = '' 46 | split = false 47 | } else { 48 | current += letter 49 | } 50 | } 51 | 52 | if (last || current !== '') array.push(current.trim()) 53 | return array 54 | } 55 | } 56 | 57 | module.exports = list 58 | list.default = list 59 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/parse.d.ts: -------------------------------------------------------------------------------- 1 | import { Parser } from './postcss.js' 2 | 3 | interface Parse extends Parser { 4 | default: Parse 5 | } 6 | 7 | declare const parse: Parse 8 | 9 | export = parse 10 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/parse.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let Container = require('./container') 4 | let Input = require('./input') 5 | let Parser = require('./parser') 6 | 7 | function parse(css, opts) { 8 | let input = new Input(css, opts) 9 | let parser = new Parser(input) 10 | try { 11 | parser.parse() 12 | } catch (e) { 13 | if (process.env.NODE_ENV !== 'production') { 14 | if (e.name === 'CssSyntaxError' && opts && opts.from) { 15 | if (/\.scss$/i.test(opts.from)) { 16 | e.message += 17 | '\nYou tried to parse SCSS with ' + 18 | 'the standard CSS parser; ' + 19 | 'try again with the postcss-scss parser' 20 | } else if (/\.sass/i.test(opts.from)) { 21 | e.message += 22 | '\nYou tried to parse Sass with ' + 23 | 'the standard CSS parser; ' + 24 | 'try again with the postcss-sass parser' 25 | } else if (/\.less$/i.test(opts.from)) { 26 | e.message += 27 | '\nYou tried to parse Less with ' + 28 | 'the standard CSS parser; ' + 29 | 'try again with the postcss-less parser' 30 | } 31 | } 32 | } 33 | throw e 34 | } 35 | 36 | return parser.root 37 | } 38 | 39 | module.exports = parse 40 | parse.default = parse 41 | 42 | Container.registerParse(parse) 43 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/postcss.d.mts: -------------------------------------------------------------------------------- 1 | export { 2 | // Type-only exports 3 | AcceptedPlugin, 4 | 5 | AnyNode, 6 | atRule, 7 | AtRule, 8 | AtRuleProps, 9 | Builder, 10 | ChildNode, 11 | ChildProps, 12 | comment, 13 | Comment, 14 | CommentProps, 15 | Container, 16 | ContainerProps, 17 | CssSyntaxError, 18 | decl, 19 | Declaration, 20 | DeclarationProps, 21 | // postcss function / namespace 22 | default, 23 | document, 24 | Document, 25 | DocumentProps, 26 | FilePosition, 27 | fromJSON, 28 | Helpers, 29 | Input, 30 | 31 | JSONHydrator, 32 | // This is a class, but it’s not re-exported. That’s why it’s exported as type-only here. 33 | type LazyResult, 34 | list, 35 | Message, 36 | Node, 37 | NodeErrorOptions, 38 | NodeProps, 39 | OldPlugin, 40 | parse, 41 | Parser, 42 | // @ts-expect-error This value exists, but it’s untyped. 43 | plugin, 44 | Plugin, 45 | PluginCreator, 46 | Position, 47 | Postcss, 48 | ProcessOptions, 49 | Processor, 50 | Result, 51 | root, 52 | Root, 53 | RootProps, 54 | rule, 55 | Rule, 56 | RuleProps, 57 | Source, 58 | SourceMap, 59 | SourceMapOptions, 60 | Stringifier, 61 | // Value exports from postcss.mjs 62 | stringify, 63 | Syntax, 64 | TransformCallback, 65 | Transformer, 66 | Warning, 67 | 68 | WarningOptions 69 | } from './postcss.js' 70 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/postcss.mjs: -------------------------------------------------------------------------------- 1 | import postcss from './postcss.js' 2 | 3 | export default postcss 4 | 5 | export const stringify = postcss.stringify 6 | export const fromJSON = postcss.fromJSON 7 | export const plugin = postcss.plugin 8 | export const parse = postcss.parse 9 | export const list = postcss.list 10 | 11 | export const document = postcss.document 12 | export const comment = postcss.comment 13 | export const atRule = postcss.atRule 14 | export const rule = postcss.rule 15 | export const decl = postcss.decl 16 | export const root = postcss.root 17 | 18 | export const CssSyntaxError = postcss.CssSyntaxError 19 | export const Declaration = postcss.Declaration 20 | export const Container = postcss.Container 21 | export const Processor = postcss.Processor 22 | export const Document = postcss.Document 23 | export const Comment = postcss.Comment 24 | export const Warning = postcss.Warning 25 | export const AtRule = postcss.AtRule 26 | export const Result = postcss.Result 27 | export const Input = postcss.Input 28 | export const Rule = postcss.Rule 29 | export const Root = postcss.Root 30 | export const Node = postcss.Node 31 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/result.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let Warning = require('./warning') 4 | 5 | class Result { 6 | get content() { 7 | return this.css 8 | } 9 | 10 | constructor(processor, root, opts) { 11 | this.processor = processor 12 | this.messages = [] 13 | this.root = root 14 | this.opts = opts 15 | this.css = undefined 16 | this.map = undefined 17 | } 18 | 19 | toString() { 20 | return this.css 21 | } 22 | 23 | warn(text, opts = {}) { 24 | if (!opts.plugin) { 25 | if (this.lastPlugin && this.lastPlugin.postcssPlugin) { 26 | opts.plugin = this.lastPlugin.postcssPlugin 27 | } 28 | } 29 | 30 | let warning = new Warning(text, opts) 31 | this.messages.push(warning) 32 | 33 | return warning 34 | } 35 | 36 | warnings() { 37 | return this.messages.filter(i => i.type === 'warning') 38 | } 39 | } 40 | 41 | module.exports = Result 42 | Result.default = Result 43 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/root.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let Container = require('./container') 4 | 5 | let LazyResult, Processor 6 | 7 | class Root extends Container { 8 | constructor(defaults) { 9 | super(defaults) 10 | this.type = 'root' 11 | if (!this.nodes) this.nodes = [] 12 | } 13 | 14 | normalize(child, sample, type) { 15 | let nodes = super.normalize(child) 16 | 17 | if (sample) { 18 | if (type === 'prepend') { 19 | if (this.nodes.length > 1) { 20 | sample.raws.before = this.nodes[1].raws.before 21 | } else { 22 | delete sample.raws.before 23 | } 24 | } else if (this.first !== sample) { 25 | for (let node of nodes) { 26 | node.raws.before = sample.raws.before 27 | } 28 | } 29 | } 30 | 31 | return nodes 32 | } 33 | 34 | removeChild(child, ignore) { 35 | let index = this.index(child) 36 | 37 | if (!ignore && index === 0 && this.nodes.length > 1) { 38 | this.nodes[1].raws.before = this.nodes[index].raws.before 39 | } 40 | 41 | return super.removeChild(child) 42 | } 43 | 44 | toResult(opts = {}) { 45 | let lazy = new LazyResult(new Processor(), this, opts) 46 | return lazy.stringify() 47 | } 48 | } 49 | 50 | Root.registerLazyResult = dependant => { 51 | LazyResult = dependant 52 | } 53 | 54 | Root.registerProcessor = dependant => { 55 | Processor = dependant 56 | } 57 | 58 | module.exports = Root 59 | Root.default = Root 60 | 61 | Container.registerRoot(Root) 62 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/rule.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let Container = require('./container') 4 | let list = require('./list') 5 | 6 | class Rule extends Container { 7 | get selectors() { 8 | return list.comma(this.selector) 9 | } 10 | 11 | set selectors(values) { 12 | let match = this.selector ? this.selector.match(/,\s*/) : null 13 | let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen') 14 | this.selector = values.join(sep) 15 | } 16 | 17 | constructor(defaults) { 18 | super(defaults) 19 | this.type = 'rule' 20 | if (!this.nodes) this.nodes = [] 21 | } 22 | } 23 | 24 | module.exports = Rule 25 | Rule.default = Rule 26 | 27 | Container.registerRule(Rule) 28 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/stringifier.d.ts: -------------------------------------------------------------------------------- 1 | import { 2 | AnyNode, 3 | AtRule, 4 | Builder, 5 | Comment, 6 | Container, 7 | Declaration, 8 | Document, 9 | Root, 10 | Rule 11 | } from './postcss.js' 12 | 13 | declare namespace Stringifier { 14 | // eslint-disable-next-line @typescript-eslint/no-use-before-define 15 | export { Stringifier_ as default } 16 | } 17 | 18 | declare class Stringifier_ { 19 | builder: Builder 20 | constructor(builder: Builder) 21 | atrule(node: AtRule, semicolon?: boolean): void 22 | beforeAfter(node: AnyNode, detect: 'after' | 'before'): string 23 | block(node: AnyNode, start: string): void 24 | body(node: Container): void 25 | comment(node: Comment): void 26 | decl(node: Declaration, semicolon?: boolean): void 27 | document(node: Document): void 28 | raw(node: AnyNode, own: null | string, detect?: string): string 29 | rawBeforeClose(root: Root): string | undefined 30 | rawBeforeComment(root: Root, node: Comment): string | undefined 31 | rawBeforeDecl(root: Root, node: Declaration): string | undefined 32 | rawBeforeOpen(root: Root): string | undefined 33 | rawBeforeRule(root: Root): string | undefined 34 | rawColon(root: Root): string | undefined 35 | rawEmptyBody(root: Root): string | undefined 36 | rawIndent(root: Root): string | undefined 37 | rawSemicolon(root: Root): boolean | undefined 38 | rawValue(node: AnyNode, prop: string): string 39 | root(node: Root): void 40 | rule(node: Rule): void 41 | stringify(node: AnyNode, semicolon?: boolean): void 42 | } 43 | 44 | declare class Stringifier extends Stringifier_ {} 45 | 46 | export = Stringifier 47 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/stringify.d.ts: -------------------------------------------------------------------------------- 1 | import { Stringifier } from './postcss.js' 2 | 3 | interface Stringify extends Stringifier { 4 | default: Stringify 5 | } 6 | 7 | declare const stringify: Stringify 8 | 9 | export = stringify 10 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/stringify.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let Stringifier = require('./stringifier') 4 | 5 | function stringify(node, builder) { 6 | let str = new Stringifier(builder) 7 | str.stringify(node) 8 | } 9 | 10 | module.exports = stringify 11 | stringify.default = stringify 12 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/symbols.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports.isClean = Symbol('isClean') 4 | 5 | module.exports.my = Symbol('my') 6 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/terminal-highlight.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | let pico = require('picocolors') 4 | 5 | let tokenizer = require('./tokenize') 6 | 7 | let Input 8 | 9 | function registerInput(dependant) { 10 | Input = dependant 11 | } 12 | 13 | const HIGHLIGHT_THEME = { 14 | ';': pico.yellow, 15 | ':': pico.yellow, 16 | '(': pico.cyan, 17 | ')': pico.cyan, 18 | '[': pico.yellow, 19 | ']': pico.yellow, 20 | '{': pico.yellow, 21 | '}': pico.yellow, 22 | 'at-word': pico.cyan, 23 | 'brackets': pico.cyan, 24 | 'call': pico.cyan, 25 | 'class': pico.yellow, 26 | 'comment': pico.gray, 27 | 'hash': pico.magenta, 28 | 'string': pico.green 29 | } 30 | 31 | function getTokenType([type, value], processor) { 32 | if (type === 'word') { 33 | if (value[0] === '.') { 34 | return 'class' 35 | } 36 | if (value[0] === '#') { 37 | return 'hash' 38 | } 39 | } 40 | 41 | if (!processor.endOfFile()) { 42 | let next = processor.nextToken() 43 | processor.back(next) 44 | if (next[0] === 'brackets' || next[0] === '(') return 'call' 45 | } 46 | 47 | return type 48 | } 49 | 50 | function terminalHighlight(css) { 51 | let processor = tokenizer(new Input(css), { ignoreErrors: true }) 52 | let result = '' 53 | while (!processor.endOfFile()) { 54 | let token = processor.nextToken() 55 | let color = HIGHLIGHT_THEME[getTokenType(token, processor)] 56 | if (color) { 57 | result += token[1] 58 | .split(/\r?\n/) 59 | .map(i => color(i)) 60 | .join('\n') 61 | } else { 62 | result += token[1] 63 | } 64 | } 65 | return result 66 | } 67 | 68 | terminalHighlight.registerInput = registerInput 69 | 70 | module.exports = terminalHighlight 71 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/warn-once.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | 'use strict' 3 | 4 | let printed = {} 5 | 6 | module.exports = function warnOnce(message) { 7 | if (printed[message]) return 8 | printed[message] = true 9 | 10 | if (typeof console !== 'undefined' && console.warn) { 11 | console.warn(message) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /node_modules/postcss/lib/warning.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | class Warning { 4 | constructor(text, opts = {}) { 5 | this.type = 'warning' 6 | this.text = text 7 | 8 | if (opts.node && opts.node.source) { 9 | let range = opts.node.rangeBy(opts) 10 | this.line = range.start.line 11 | this.column = range.start.column 12 | this.endLine = range.end.line 13 | this.endColumn = range.end.column 14 | } 15 | 16 | for (let opt in opts) this[opt] = opts[opt] 17 | } 18 | 19 | toString() { 20 | if (this.node) { 21 | return this.node.error(this.text, { 22 | index: this.index, 23 | plugin: this.plugin, 24 | word: this.word 25 | }).message 26 | } 27 | 28 | if (this.plugin) { 29 | return this.plugin + ': ' + this.text 30 | } 31 | 32 | return this.text 33 | } 34 | } 35 | 36 | module.exports = Warning 37 | Warning.default = Warning 38 | -------------------------------------------------------------------------------- /node_modules/source-map-js/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) 2009-2011, Mozilla Foundation and contributors 3 | All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | * Redistributions of source code must retain the above copyright notice, this 9 | list of conditions and the following disclaimer. 10 | 11 | * Redistributions in binary form must reproduce the above copyright notice, 12 | this list of conditions and the following disclaimer in the documentation 13 | and/or other materials provided with the distribution. 14 | 15 | * Neither the names of the Mozilla Foundation nor the names of project 16 | contributors may be used to endorse or promote products derived from this 17 | software without specific prior written permission. 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 20 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 21 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 22 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 23 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 24 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 27 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 | -------------------------------------------------------------------------------- /node_modules/source-map-js/lib/source-map-consumer.d.ts: -------------------------------------------------------------------------------- 1 | export { SourceMapConsumer } from '..'; 2 | -------------------------------------------------------------------------------- /node_modules/source-map-js/lib/source-map-generator.d.ts: -------------------------------------------------------------------------------- 1 | export { SourceMapGenerator } from '..'; 2 | -------------------------------------------------------------------------------- /node_modules/source-map-js/lib/source-node.d.ts: -------------------------------------------------------------------------------- 1 | export { SourceNode } from '..'; 2 | -------------------------------------------------------------------------------- /node_modules/source-map-js/source-map.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2009-2011 Mozilla Foundation and contributors 3 | * Licensed under the New BSD license. See LICENSE.txt or: 4 | * http://opensource.org/licenses/BSD-3-Clause 5 | */ 6 | exports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator; 7 | exports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer; 8 | exports.SourceNode = require('./lib/source-node').SourceNode; 9 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Tailwind Labs, Inc. 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 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/colors.d.ts: -------------------------------------------------------------------------------- 1 | import { _ as _default } from './colors-b_6i0Oi7.js'; 2 | 3 | 4 | 5 | export { _default as default }; 6 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/colors.mjs: -------------------------------------------------------------------------------- 1 | import{a}from"./chunk-AZANAYY2.mjs";export{a as default}; 2 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/default-theme.mjs: -------------------------------------------------------------------------------- 1 | import{h as a}from"./chunk-V2K3XTS4.mjs";import"./chunk-AZANAYY2.mjs";export{a as default}; 2 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/flatten-color-palette.d.mts: -------------------------------------------------------------------------------- 1 | type Colors = { 2 | [key: string | number]: string | Colors; 3 | }; 4 | declare function flattenColorPalette(colors: Colors): Record; 5 | 6 | export { flattenColorPalette as default }; 7 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/flatten-color-palette.d.ts: -------------------------------------------------------------------------------- 1 | type Colors = { 2 | [key: string | number]: string | Colors; 3 | }; 4 | declare function flattenColorPalette(colors: Colors): Record; 5 | 6 | export { flattenColorPalette as default }; 7 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/flatten-color-palette.js: -------------------------------------------------------------------------------- 1 | "use strict";function s(r){let n={};for(let[e,t]of Object.entries(r??{}))if(e!=="__CSS_VALUES__")if(typeof t=="object"&&t!==null)for(let[i,l]of Object.entries(s(t)))n[`${e}${i==="DEFAULT"?"":`-${i}`}`]=l;else n[e]=t;if("__CSS_VALUES__"in r)for(let[e,t]of Object.entries(r.__CSS_VALUES__))Number(t)&4||(n[e]=r[e]);return n}module.exports=s; 2 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/flatten-color-palette.mjs: -------------------------------------------------------------------------------- 1 | import"./chunk-CH45MXZF.mjs";function i(r){let n={};for(let[e,t]of Object.entries(r??{}))if(e!=="__CSS_VALUES__")if(typeof t=="object"&&t!==null)for(let[o,f]of Object.entries(i(t)))n[`${e}${o==="DEFAULT"?"":`-${o}`}`]=f;else n[e]=t;if("__CSS_VALUES__"in r)for(let[e,t]of Object.entries(r.__CSS_VALUES__))Number(t)&4||(n[e]=r[e]);return n}export{i as default}; 2 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/lib.d.ts: -------------------------------------------------------------------------------- 1 | declare function postcssPluginWarning(): void; 2 | 3 | export { postcssPluginWarning as default }; 4 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/plugin.d.mts: -------------------------------------------------------------------------------- 1 | import { a as PluginFn, C as Config, b as PluginWithConfig, c as PluginWithOptions } from './types-B254mqw1.mjs'; 2 | export { d as PluginAPI, P as PluginsConfig, T as ThemeConfig } from './types-B254mqw1.mjs'; 3 | import './resolve-config-QUZ9b-Gn.mjs'; 4 | import './colors.mjs'; 5 | 6 | declare function createPlugin(handler: PluginFn, config?: Partial): PluginWithConfig; 7 | declare namespace createPlugin { 8 | var withOptions: (pluginFunction: (options?: T) => PluginFn, configFunction?: (options?: T) => Partial) => PluginWithOptions; 9 | } 10 | 11 | export { Config, PluginFn as PluginCreator, createPlugin as default }; 12 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/plugin.js: -------------------------------------------------------------------------------- 1 | "use strict";function g(i,n){return{handler:i,config:n}}g.withOptions=function(i,n=()=>({})){function t(o){return{handler:i(o),config:n(o)}}return t.__isOptionsFunction=!0,t};var u=g;module.exports=u; 2 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/plugin.mjs: -------------------------------------------------------------------------------- 1 | function g(n,i){return{handler:n,config:i}}g.withOptions=function(n,i=()=>({})){function t(o){return{handler:n(o),config:i(o)}}return t.__isOptionsFunction=!0,t};var u=g;export{u as default}; 2 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/dist/resolve-config-BIFUA2FY.d.ts: -------------------------------------------------------------------------------- 1 | import { _ as _default } from './colors-b_6i0Oi7.js'; 2 | 3 | type NamedUtilityValue = { 4 | kind: 'named'; 5 | /** 6 | * ``` 7 | * bg-red-500 8 | * ^^^^^^^ 9 | * 10 | * w-1/2 11 | * ^ 12 | * ``` 13 | */ 14 | value: string; 15 | /** 16 | * ``` 17 | * w-1/2 18 | * ^^^ 19 | * ``` 20 | */ 21 | fraction: string | null; 22 | }; 23 | 24 | type PluginUtils = { 25 | theme: (keypath: string, defaultValue?: any) => any; 26 | colors: typeof _default; 27 | }; 28 | 29 | export type { NamedUtilityValue as N, PluginUtils as P }; 30 | -------------------------------------------------------------------------------- /node_modules/tailwindcss/utilities.css: -------------------------------------------------------------------------------- 1 | @tailwind utilities; 2 | -------------------------------------------------------------------------------- /node_modules/update-browserslist-db/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2022 Andrey Sitnik and other contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | 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, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /node_modules/update-browserslist-db/README.md: -------------------------------------------------------------------------------- 1 | # Update Browserslist DB 2 | 3 | Browserslist logo by Anton Popov 5 | 6 | CLI tool to update `caniuse-lite` with browsers DB 7 | from [Browserslist](https://github.com/browserslist/browserslist/) config. 8 | 9 | Some queries like `last 2 versions` or `>1%` depend on actual data 10 | from `caniuse-lite`. 11 | 12 | ```sh 13 | npx update-browserslist-db@latest 14 | ``` 15 | 16 | 17 | Sponsored by Evil Martians 19 | 20 | 21 | ## Docs 22 | Read full docs **[here](https://github.com/browserslist/update-db#readme)**. 23 | -------------------------------------------------------------------------------- /node_modules/update-browserslist-db/check-npm-version.js: -------------------------------------------------------------------------------- 1 | let { execSync } = require('child_process') 2 | let pico = require('picocolors') 3 | 4 | try { 5 | let version = parseInt(execSync('npm -v')) 6 | if (version <= 6) { 7 | process.stderr.write( 8 | pico.red( 9 | 'Update npm or call ' + 10 | pico.yellow('npx browserslist@latest --update-db') + 11 | '\n' 12 | ) 13 | ) 14 | process.exit(1) 15 | } 16 | // eslint-disable-next-line no-unused-vars 17 | } catch (e) {} 18 | -------------------------------------------------------------------------------- /node_modules/update-browserslist-db/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | let { readFileSync } = require('fs') 4 | let { join } = require('path') 5 | 6 | require('./check-npm-version') 7 | let updateDb = require('./') 8 | 9 | const ROOT = __dirname 10 | 11 | function getPackage() { 12 | return JSON.parse(readFileSync(join(ROOT, 'package.json'))) 13 | } 14 | 15 | let args = process.argv.slice(2) 16 | 17 | let USAGE = 'Usage:\n npx update-browserslist-db\n' 18 | 19 | function isArg(arg) { 20 | return args.some(i => i === arg) 21 | } 22 | 23 | function error(msg) { 24 | process.stderr.write('update-browserslist-db: ' + msg + '\n') 25 | process.exit(1) 26 | } 27 | 28 | if (isArg('--help') || isArg('-h')) { 29 | process.stdout.write(getPackage().description + '.\n\n' + USAGE + '\n') 30 | } else if (isArg('--version') || isArg('-v')) { 31 | process.stdout.write('browserslist-lint ' + getPackage().version + '\n') 32 | } else { 33 | try { 34 | updateDb() 35 | } catch (e) { 36 | if (e.name === 'BrowserslistUpdateError') { 37 | error(e.message) 38 | } else { 39 | throw e 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /node_modules/update-browserslist-db/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Run update and print output to terminal. 3 | */ 4 | declare function updateDb(print?: (str: string) => void): void 5 | 6 | export = updateDb 7 | -------------------------------------------------------------------------------- /node_modules/update-browserslist-db/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "update-browserslist-db", 3 | "version": "1.1.2", 4 | "description": "CLI tool to update caniuse-lite to refresh target browsers from Browserslist config", 5 | "keywords": [ 6 | "caniuse", 7 | "browsers", 8 | "target" 9 | ], 10 | "funding": [ 11 | { 12 | "type": "opencollective", 13 | "url": "https://opencollective.com/browserslist" 14 | }, 15 | { 16 | "type": "tidelift", 17 | "url": "https://tidelift.com/funding/github/npm/browserslist" 18 | }, 19 | { 20 | "type": "github", 21 | "url": "https://github.com/sponsors/ai" 22 | } 23 | ], 24 | "author": "Andrey Sitnik ", 25 | "license": "MIT", 26 | "repository": "browserslist/update-db", 27 | "types": "./index.d.ts", 28 | "exports": { 29 | ".": "./index.js", 30 | "./package.json": "./package.json" 31 | }, 32 | "dependencies": { 33 | "escalade": "^3.2.0", 34 | "picocolors": "^1.1.1" 35 | }, 36 | "peerDependencies": { 37 | "browserslist": ">= 4.21.0" 38 | }, 39 | "bin": "cli.js" 40 | } 41 | -------------------------------------------------------------------------------- /node_modules/update-browserslist-db/utils.js: -------------------------------------------------------------------------------- 1 | const { EOL } = require('os') 2 | 3 | const getFirstRegexpMatchOrDefault = (text, regexp, defaultValue) => { 4 | regexp.lastIndex = 0 // https://stackoverflow.com/a/11477448/4536543 5 | let match = regexp.exec(text) 6 | if (match !== null) { 7 | return match[1] 8 | } else { 9 | return defaultValue 10 | } 11 | } 12 | 13 | const DEFAULT_INDENT = ' ' 14 | const INDENT_REGEXP = /^([ \t]+)[^\s]/m 15 | 16 | module.exports.detectIndent = text => 17 | getFirstRegexpMatchOrDefault(text, INDENT_REGEXP, DEFAULT_INDENT) 18 | module.exports.DEFAULT_INDENT = DEFAULT_INDENT 19 | 20 | const DEFAULT_EOL = EOL 21 | const EOL_REGEXP = /(\r\n|\n|\r)/g 22 | 23 | module.exports.detectEOL = text => 24 | getFirstRegexpMatchOrDefault(text, EOL_REGEXP, DEFAULT_EOL) 25 | module.exports.DEFAULT_EOL = DEFAULT_EOL 26 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "autoprefixer": "^10.4.20", 4 | "postcss": "^8.5.3", 5 | "tailwindcss": "^4.0.7" 6 | } 7 | } 8 | 9 | -------------------------------------------------------------------------------- /settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "tailwindCSS.emmetCompletions": true, 3 | "editor.quickSuggestions": { 4 | "other": true, 5 | "comments": false, 6 | "strings": true 7 | }, 8 | "tailwindCSS.includeLanguages": { 9 | "plaintext": "html", 10 | "html": "html" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/input.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /src/planet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoeyCollado/CPPROG3-Final_Activity/afc7e01c6571f34d50677f7c97601c1040ecd63d/src/planet.png -------------------------------------------------------------------------------- /src/planet1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoeyCollado/CPPROG3-Final_Activity/afc7e01c6571f34d50677f7c97601c1040ecd63d/src/planet1.png -------------------------------------------------------------------------------- /src/planet2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoeyCollado/CPPROG3-Final_Activity/afc7e01c6571f34d50677f7c97601c1040ecd63d/src/planet2.png -------------------------------------------------------------------------------- /src/planet3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoeyCollado/CPPROG3-Final_Activity/afc7e01c6571f34d50677f7c97601c1040ecd63d/src/planet3.png -------------------------------------------------------------------------------- /src/planet4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoeyCollado/CPPROG3-Final_Activity/afc7e01c6571f34d50677f7c97601c1040ecd63d/src/planet4.png -------------------------------------------------------------------------------- /src/planet6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoeyCollado/CPPROG3-Final_Activity/afc7e01c6571f34d50677f7c97601c1040ecd63d/src/planet6.png -------------------------------------------------------------------------------- /src/ship1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JoeyCollado/CPPROG3-Final_Activity/afc7e01c6571f34d50677f7c97601c1040ecd63d/src/ship1.png -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ["./src/**/*.{html,js}"], 4 | theme: { 5 | extend: {}, 6 | }, 7 | plugins: [], 8 | } --------------------------------------------------------------------------------